Skip to content

Матрицы и линейные преобразования

Матрица

Определение. Матрица \(A\) размера \(m \times n\) над полем \(\mathbb{R}\) — прямоугольная таблица из \(m \cdot n\) элементов, расположенных в \(m\) строках и \(n\) столбцах:

\[A = \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mn} \end{bmatrix} \in \mathbb{R}^{m \times n}\]

Матрицу можно рассматривать как:

  • набор из \(n\) столбцов-векторов из \(\mathbb{R}^m\)
  • набор из \(m\) строк-векторов из \(\mathbb{R}^n\)
  • линейное отображение \(A: \mathbb{R}^n \to \mathbb{R}^m\)

Именно третья интерпретация — ключевая для понимания линейной алгебры. Матрица задаёт преобразование пространства: растяжение, поворот, отражение, проекцию.

Матрица \(M\) преобразует базисные векторы: \(\vec{e}_1 \to (2,1)\), \(\vec{e}_2 \to (1,2)\)

Умножение матрицы на вектор

Произведение матрицы \(A \in \mathbb{R}^{m \times n}\) на вектор \(\vec{x} \in \mathbb{R}^n\):

\[A\vec{x} = \begin{bmatrix} a_{11} & \dots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \dots & a_{mn} \end{bmatrix} \begin{bmatrix} x_1 \\ \vdots \\ x_n \end{bmatrix} = \begin{bmatrix} \sum_{j=1}^{n} a_{1j} x_j \\ \vdots \\ \sum_{j=1}^{n} a_{mj} x_j \end{bmatrix} = x_1 \vec{a}_1 + x_2 \vec{a}_2 + \ldots + x_n \vec{a}_n\]

где \(\vec{a}_1, \ldots, \vec{a}_n\) — столбцы матрицы \(A\). Результат — линейная комбинация столбцов \(A\) с коэффициентами из \(\vec{x}\).

Матрица перехода

Если векторы \(\vec{b}_1, \ldots, \vec{b}_n\) выражаются через базис \(\vec{a}_1, \ldots, \vec{a}_n\):

\[\vec{b}_j = \sum_{i=1}^{n} \alpha_{ij} \vec{a}_i, \quad j = 1, \ldots, n\]

то матрица перехода от базиса \((\vec{a}_i)\) к базису \((\vec{b}_j)\):

\[M = \begin{bmatrix} \alpha_{11} & \dots & \alpha_{1n} \\ \vdots & \ddots & \vdots \\ \alpha_{n1} & \dots & \alpha_{nn} \end{bmatrix}\]

Пример. Стандартный базис \(\vec{e}_1 = (1,0), \vec{e}_2 = (0,1)\). Преобразование \(\vec{e}_1 \to (1,-2), \vec{e}_2 \to (3,0)\) задаётся матрицей:

\[M = \begin{bmatrix} 1 & 3 \\ -2 & 0 \end{bmatrix}\]

Вектор \(\vec{a} = (-1, 2)\) переходит в \(M\vec{a} = (-1)\begin{bmatrix}1\\-2\end{bmatrix} + 2\begin{bmatrix}3\\0\end{bmatrix} = \begin{bmatrix}5\\2\end{bmatrix}\).

Примеры преобразований в \(\mathbb{R}^2\)

Масштабирование вдоль осей с коэффициентами \(s_x, s_y\):

\[S = \begin{bmatrix} s_x & 0 \\ 0 & s_y \end{bmatrix}\]

Поворот на угол \(\varphi\) против часовой стрелки:

\[R_\varphi = \begin{bmatrix} \cos\varphi & -\sin\varphi \\ \sin\varphi & \cos\varphi \end{bmatrix}\]

Произведение матриц

Определение. Для \(A \in \mathbb{R}^{m \times k}\) и \(B \in \mathbb{R}^{k \times n}\) произведение \(C = AB \in \mathbb{R}^{m \times n}\):

\[c_{ij} = \sum_{l=1}^{k} a_{il} b_{lj}\]

Геометрический смысл: произведение \(AB\)последовательное применение преобразований: сначала \(B\), потом \(A\) (справа налево!). Для вектора \(\vec{x}\): \((AB)\vec{x} = A(B\vec{x})\).

Умножение матриц не коммутативно: \(AB \neq BA\) в общем случае.

Типы матриц

Единичная матрица \(E\) (или \(I\)) — на диагонали единицы, в остальных позициях нули:

\[E = \begin{bmatrix} 1 & 0 & \dots & 0 \\ 0 & 1 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & 1 \end{bmatrix}, \qquad AE = EA = A\]

Транспонированная матрица \(A^T\) — строки и столбцы меняются местами: \((A^T)_{ij} = A_{ji}\).

Обратная матрица \(A^{-1}\) для квадратной матрицы \(A\) существует тогда и только тогда, когда \(\det A \neq 0\):

\[AA^{-1} = A^{-1}A = E\]

Ортогональная матрица \(Q \in \mathbb{R}^{n \times n}\): \(QQ^T = Q^TQ = E\), то есть \(Q^{-1} = Q^T\). (Для комплексных матриц аналог называется унитарной: \(U^*U = E\).)

Столбцы ортогональной матрицы образуют ортонормированный базис. Преобразование ортогональной матрицей сохраняет длины векторов и углы между ними (изометрия).

Определитель

Определение. Определитель (детерминант) квадратной матрицы \(A \in \mathbb{R}^{n \times n}\) — число \(\det A \in \mathbb{R}\), определяемое рекурсивно через разложение по \(i\)-й строке:

\[\det A = \sum_{j=1}^{n} (-1)^{i+j} a_{ij} \det M_{ij}\]

где \(M_{ij}\) — подматрица, полученная вычёркиванием \(i\)-й строки и \(j\)-го столбца.

Для \(2 \times 2\):

\[\det \begin{bmatrix} a & b \\ c & d \end{bmatrix} = ad - bc\]

Геометрический смысл. \(|\det A|\) — коэффициент изменения объёма при преобразовании \(A\):

  • В \(\mathbb{R}^2\): площадь параллелограмма, натянутого на образы базисных векторов
  • В \(\mathbb{R}^3\): объём параллелепипеда
  • \(\det A > 0\) — ориентация сохраняется
  • \(\det A < 0\) — ориентация меняется (отражение)
  • \(\det A = 0\) — пространство «схлопывается» (потеря размерности)

Определитель — площадь параллелограмма: \(|\det M| = 5\) (слева), \(\det M = 0\) при коллинеарных столбцах (справа)

Свойства определителя

  • \(\det(AB) = \det A \cdot \det B\)
  • \(\det(A^T) = \det A\)
  • \(\det(\alpha A) = \alpha^n \det A\) для \(A \in \mathbb{R}^{n \times n}\)
  • Если \(\det A = 0\), матрица вырождена (необратима)
  • Если \(\det A \neq 0\), матрица обратима

Ранг матрицы

Определение. Ранг матрицы \(\text{rank}(A)\) — максимальное число линейно независимых столбцов (или строк).

Эквивалентно: \(\text{rank}(A)\) — размерность образа линейного отображения \(A\), то есть размерность пространства \(\text{Im}(A) = \{A\vec{x} \mid \vec{x} \in \mathbb{R}^n\}\).

Для \(A \in \mathbb{R}^{m \times n}\): \(\text{rank}(A) \leq \min(m, n)\).

Теорема о ранге: \(\text{rank}(A) + \dim\ker(A) = n\), где \(\ker(A) = \{\vec{x} \mid A\vec{x} = \vec{0}\}\) — ядро отображения. Ранг говорит, сколько измерений «выживает» после преобразования, а размерность ядра — сколько «схлопывается» в ноль.

Собственные векторы и собственные значения

Определение. Ненулевой вектор \(\vec{v} \neq \vec{0}\) называется собственным вектором матрицы \(A\), если:

\[A\vec{v} = \lambda\vec{v}\]

Число \(\lambda \in \mathbb{R}\) (или \(\mathbb{C}\)) — собственное значение, соответствующее \(\vec{v}\).

Собственный вектор не меняет направление при преобразовании — только масштабируется в \(\lambda\) раз. Все векторы, коллинеарные собственному, тоже являются собственными.

Собственный вектор (красный) не меняет направление при сдвиге

Нахождение собственных значений

Из определения:

\[A\vec{v} = \lambda\vec{v} \implies (A - \lambda E)\vec{v} = \vec{0}\]

Нетривиальное решение (\(\vec{v} \neq \vec{0}\)) существует тогда и только тогда, когда:

\[\det(A - \lambda E) = 0\]

Это характеристическое уравнение. Его корни \(\lambda_1, \ldots, \lambda_n\) — собственные значения.

Свойства собственных значений

  1. Сумма собственных значений (с учётом кратности) равна следу матрицы: \(\sum_i \lambda_i = \text{tr}(A) = \sum_i a_{ii}\)
  2. Произведение собственных значений равно определителю: \(\prod_i \lambda_i = \det A\)
  3. У треугольных матриц собственные значения — диагональные элементы

Спектральное разложение

Если матрица \(A\) имеет \(n\) линейно независимых собственных векторов \(\vec{v}_1, \ldots, \vec{v}_n\), то:

\[A = V \Lambda V^{-1}\]

где \(V = [\vec{v}_1 \mid \ldots \mid \vec{v}_n]\) — матрица из собственных векторов-столбцов, \(\Lambda = \text{diag}(\lambda_1, \ldots, \lambda_n)\) — диагональная матрица собственных значений.

Геометрически: переход в базис собственных векторов (\(V^{-1}\)), масштабирование вдоль каждого (\(\Lambda\)), возврат в исходный базис (\(V\)).

Не все матрицы диагонализуемы (например, \(\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}\)). Но для симметричных матриц (\(A = A^T\)) разложение всегда существует, причём \(V\) ортогональна: \(A = Q\Lambda Q^T\).

Нормы

Норма вектора

Определение. Норма — функция \(\|\cdot\|: V \to \mathbb{R}_{\geq 0}\), удовлетворяющая аксиомам:

  1. \(\|\vec{x}\| \geq 0\), причём \(\|\vec{x}\| = 0 \iff \vec{x} = \vec{0}\) (положительная определённость)
  2. \(\|\alpha\vec{x}\| = |\alpha| \cdot \|\vec{x}\|\) (однородность)
  3. \(\|\vec{x} + \vec{y}\| \leq \|\vec{x}\| + \|\vec{y}\|\) (неравенство треугольника)

Норма обобщает понятие длины вектора и расстояния.

\(L_p\)-нормы:

\[\|\vec{x}\|_p = \left(\sum_{i=1}^{n} |x_i|^p\right)^{1/p}\]

Три классические нормы:

Норма Формула Геометрия (единичная окружность)
\(L_1\) (манхэттенская) $|x|_1 = \sum_i x_i
\(L_2\) (евклидова) \(\|x\|_2 = \sqrt{\sum_i x_i^2}\) Окружность
\(L_\infty\) (максимальная) \(\|x\|_\infty = \max_i \|x_i\|\) Квадрат

Единичные окружности для норм \(L_1\), \(L_2\), \(L_\infty\)

Манхэттенская норма \(L_1\): расстояние «по улицам» — сумма абсолютных значений координат. Для таксиста в городе с прямоугольной сеткой улиц путь от \(A\) до \(B\):

\[\|AB\|_1 = |x_2 - x_1| + |y_2 - y_1|\]

\(L_1\)-норма важна в машинном обучении: она различает точно нулевые и почти нулевые элементы вектора, что полезно для разреженных моделей (LASSO-регуляризация).

Евклидова норма \(L_2\) — обычная длина по теореме Пифагора. Можно записать через скалярное произведение: \(\|\vec{x}\|_2 = \sqrt{\vec{x} \cdot \vec{x}}\).

Норма матрицы

Операторная (спектральная) норма показывает, насколько матрица максимально растягивает вектор (по \(L_2\)):

\[\|A\|_2 = \max_{\|\vec{x}\|_2 = 1} \|A\vec{x}\|_2 = \sigma_1(A)\]

то есть равна наибольшему сингулярному значению.

Норма Фробениуса — аналог евклидовой нормы для матриц:

\[\|A\|_F = \sqrt{\sum_{i,j} |a_{ij}|^2} = \sqrt{\text{tr}(A^T A)}\]

Метод главных компонент (PCA)

Задача: дано облако точек в \(\mathbb{R}^n\). Найти подпространство меньшей размерности, проекция на которое сохраняет максимальный разброс данных.

Алгоритм PCA

  1. Центрирование данных (перенос начала координат в центр облака)
  2. Первая главная компонента (PC1): направление максимальной дисперсии
  3. Вторая главная компонента (PC2): перпендикулярна PC1, максимизирует оставшуюся дисперсию
  4. И так далее — каждая следующая компонента ортогональна предыдущим

Проекция данных на главную компоненту (красная линия) минимизирует расстояния от точек до прямой

Если \(X\) — центрированная матрица данных (\(n\) наблюдений по строкам), то ковариационная матрица \(C = \frac{1}{n-1}X^TX\). Главные компоненты — собственные векторы \(C\), что непосредственно связано с SVD-разложением матрицы \(X\).

Сингулярное разложение (SVD)

Определение. Для любой матрицы \(A \in \mathbb{R}^{m \times n}\) существует разложение:

\[A = U \Sigma V^T\]

где:

  • \(U \in \mathbb{R}^{m \times m}\) — ортогональная матрица левых сингулярных векторов
  • \(\Sigma \in \mathbb{R}^{m \times n}\) — диагональная матрица сингулярных значений \(\sigma_1 \geq \sigma_2 \geq \ldots \geq 0\)
  • \(V \in \mathbb{R}^{n \times n}\) — ортогональная матрица правых сингулярных векторов

Геометрический смысл: любое линейное преобразование = поворот (\(V^T\)) + масштабирование (\(\Sigma\)) + поворот (\(U\)).

Алгоритм SVD

  1. Составить \(A^T A\) и найти её собственные значения \(\lambda_1 \geq \ldots \geq \lambda_n\)
  2. Сингулярные значения: \(\sigma_i = \sqrt{\lambda_i}\), составить \(\Sigma\)
  3. Собственные векторы \(A^T A\) (нормированные) — столбцы \(V\)
  4. Левые сингулярные векторы: \(\vec{u}_i = \frac{A\vec{v}_i}{\sigma_i}\), дополнить до ортонормированного базиса — столбцы \(U\)

Связь с PCA

Правый сингулярный вектор \(\vec{v}_1\) (соответствующий наибольшему \(\sigma_1\)) — направление максимальной дисперсии. Максимизация:

\[\vec{v}_1 = \arg\max_{\|\vec{v}\| = 1} \|A\vec{v}\|\]

Значение \(\sigma_1^2\) пропорционально дисперсии данных вдоль этого направления.

Усечённое SVD и сжатие

Оставив только \(k\) наибольших сингулярных значений, получаем наилучшее приближение ранга \(k\):

\[A \approx A_k = \sum_{i=1}^{k} \sigma_i \vec{u}_i \vec{v}_i^T\]

Каждое слагаемое \(\sigma_i \vec{u}_i \vec{v}_i^T\) — матрица ранга 1 (внешнее произведение). Это даёт оптимальное сжатие: для хранения вместо \(m \times n\) чисел достаточно \(k(m + n + 1)\), что при малом \(k\) значительно меньше.