Матрица как линейное преобразование
Матрица — это правило, которое каждому вектору сопоставляет новый вектор, не ломая сетку пространства.
Линейное преобразование — отображение, которое переводит прямые в прямые, начало координат оставляет на месте и сохраняет операции сложения и умножения на число. Каждое такое преобразование задаётся матрицей.
Главная идея этого раздела: матрица — это глагол, действие. Умножая матрицу на вектор, мы преобразуем вектор. А чтобы понять, что именно делает матрица, достаточно посмотреть, куда она отправляет базисные векторы — и это её столбцы.
Умножение матрицы на вектор
Для матрицы $2 \times 2$ и вектора $(x, y)$:
$$\begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} a x + b y \\ c x + d y \end{bmatrix}$$
Результат — снова вектор. Можно прочитать это иначе: ответ есть $x$ умножить на первый столбец плюс $y$ умножить на второй столбец. То есть выход — это линейная комбинация столбцов матрицы с коэффициентами из вектора.
Столбцы — это образы осей
Подставим $(1, 0)$: получим первый столбец. Подставим $(0, 1)$: получим второй столбец. Значит, столбцы матрицы — это то, во что превращаются базисные стрелки $\vec{e}_1$ и $\vec{e}_2$. Зная, куда поехали оси, мы знаем преобразование целиком, потому что любой вектор — комбинация осей.
def matvec(A, v):
return [sum(A[i][j] * v[j] for j in range(len(v)))
for i in range(len(A))]
A = [[2, 0],
[0, 3]] # растяжение: x в 2 раза, y в 3 раза
print("e1 ->", matvec(A, [1, 0])) # первый столбец
print("e2 ->", matvec(A, [0, 1])) # второй столбец
print("v ->", matvec(A, [1, 1]))Вывод:
e1 -> [2, 0] e2 -> [0, 3] v -> [2, 3]
Прочитали матрицу как действие
Матрица $\begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix}$ растягивает по $x$ вдвое, по $y$ втрое. Базисный $\vec{e}_1 = (1, 0)$ уехал в $(2, 0)$, $\vec{e}_2 = (0, 1)$ — в $(0, 3)$, и точка $(1, 1)$ — в $(2, 3)$. Диагональная матрица всегда означает «независимое масштабирование осей».
Как работает под капотом
Функция matvec для каждой строки матрицы считает скалярное произведение этой строки на вектор. Поэтому $i$-я координата ответа — это «строка $i$, умноженная на вход». Свойство линейности $A(\vec{u} + \vec{v}) = A\vec{u} + A\vec{v}$ и $A(k\vec{v}) = k\,A\vec{v}$ — прямое следствие того, что внутри стоят суммы и произведения. Именно линейность гарантирует, что сетка пространства остаётся равномерной: параллельные прямые остаются параллельными, а начало координат не двигается.
Частые ошибки
- Считать матрицу просто таблицей. В линейной алгебре матрица — это действие над пространством, а её столбцы — образы базисных векторов.
- Путать порядок: $A\vec{v}$ (матрица на вектор-столбец) — это не то же самое, что $\vec{v}A$. Размерности должны согласоваться.
- Забывать, что линейное преобразование оставляет начало координат на месте. Сдвиг всей плоскости на постоянный вектор линейным не является.
Итог
- Матрица задаёт линейное преобразование: вектор на входе — вектор на выходе.
- $A\vec{v}$ — это линейная комбинация столбцов $A$ с коэффициентами из $\vec{v}$.
- Столбцы матрицы — образы базисных векторов; они полностью описывают преобразование.
- Линейность сохраняет сетку: прямые остаются прямыми, ноль — на месте.