Мы уже рассматривали разные виды матриц в качестве неких функций. Функция в общем смысле может рассматриваться как отображение неких входных параметров на выходные значения, то есть некий алгоритм который при получении на вход x всегда в качестве результата вернёт y. Стоит понимать, что не все функции такие "правильные", но сейчас нас интересуют только такие чистые функции. Все допустимые значения параметров функции объеденяются множеством определения функции. Все выходные значения функции объединяются множеством значений функции...
Я не знаю, как обстоят дела в образовании сейчас, но 10-15 лет назад ни в школе, ни в университете никто всерьёз не объяснял, что программирование имеет свои типы, каждый из которых требует особого типа мышления. Не то чтобы это покалечило чьи-то судьбы, но изучение программных дисциплин могло бы проходить гораздо быстрее, если на стадии закладки фундамента мы представили многообразие языков и подходов, а не зомбически учили C++ в его консольных проявления. Многие, сталкиваясь с необходимостью...