Зачем разработчику линейная алгебра?
Линейная алгебра — это язык трехмерной графики, компьютерного зрения, физических движков и машинного обучения. Когда вы вращаете камеру в видеоигре или обучаете нейросеть, под капотом выполняются миллионы операций с векторами и матрицами.
Векторы как геометрические направления
В программировании вектор — это просто массив чисел
[x, y, z]. Но в математике вектор имеет геометрический смысл: это стрелка, обладающая
направлением** и **длиной.
Скалярное произведение векторов
A \cdot B = |A||B| \cos(\theta) позволяет мгновенно узнать:
- Смотрят ли объекты в одну сторону (положительное значение).
- Перпендикулярны ли они (A \cdot B = 0).
- Смотрят ли они в противоположные стороны (отрицательное значение).
Матрицы как операторы пространства
Матрица
N \times M — это не просто двумерный массив. Это
преобразование пространства.
Умножая вектор на матрицу
A v, мы переносим вектор в новую систему координат: вращаем, масштабируем или сдвигаем его. Композиция матриц позволяет объединить вращение, перемещение и масштабирование в одну единую матрицу
4 \times 4!
Собственные значения и собственные векторы (A v = \lambda v)
Собственный вектор матрицы — это вектор, направление которого не меняется при умножении на эту матрицу, а лишь масштабируется в
\lambda раз.
Собственные значения используют в алгоритме
PageRank от Google для ранжирования веб-страниц, а также в методе главных компонент (PCA) для сжатия размерности данных в IT.