Смысл собственных значений и векторов

Собственный вектор преобразования — это особое направление, которое матрица только растягивает или сжимает, но не сбивает в сторону.

Собственный вектор $\vec{v}$ матрицы $A$ — ненулевой вектор, для которого $A\vec{v} = \lambda \vec{v}$; число $\lambda$ — соответствующее собственное значение.

Большинство векторов под действием матрицы и поворачиваются, и меняют длину. Но у многих преобразований есть выделенные направления, которые остаются на своей прямой — лишь удлиняются или укорачиваются. Это и есть собственные векторы, а коэффициент растяжения — собственное значение. Они раскрывают «характер» преобразования.

Определение в картинке

Равенство $A\vec{v} = \lambda\vec{v}$ читается так: применили матрицу к $\vec{v}$ — и получили тот же $\vec{v}$, просто умноженный на число $\lambda$. Вектор не свернул с прямой, на которой лежит. Если $\lambda \gt 1$ — направление растягивается, $0 \lt \lambda \lt 1$ — сжимается, $\lambda \lt 0$ — разворачивается, $\lambda = 1$ — остаётся неподвижным.

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]]
# для диагональной матрицы оси — собственные векторы
for v, name in [([1, 0], "e1"), ([0, 1], "e2"), ([1, 1], "диагональ")]:
    print(name, "->", matvec(A, v))

Вывод:

e1 -> [2, 0]
e2 -> [0, 3]
диагональ -> [2, 3]

Где собственные, а где нет

Для $A = \text{diag}(2, 3)$ ось $\vec{e}_1$ перешла в $(2, 0) = 2 \cdot (1, 0)$ — осталась на своей прямой, растянувшись вдвое: это собственный вектор с $\lambda = 2$. Ось $\vec{e}_2$ — собственный вектор с $\lambda = 3$. А вот диагональный $(1, 1)$ перешёл в $(2, 3)$ — это не кратное $(1, 1)$, значит он свернул с прямой и собственным не является.

Как работает под капотом

Собственные векторы важны потому, что в их «системе координат» преобразование выглядит максимально просто — как чистое масштабирование осей. Если у матрицы $n$ независимых собственных векторов, в этом базисе она становится диагональной (это называется диагонализацией). Тогда даже сложные операции, например возведение матрицы в большую степень, сводятся к возведению в степень чисел $\lambda$ — отсюда применение в анализе устойчивости, динамических системах и PageRank. У поворота на произвольный угол вещественных собственных векторов нет: он поворачивает каждое направление, ни одно не остаётся на месте.

Частые ошибки

  • Считать нулевой вектор собственным. По определению собственный вектор обязан быть ненулевым (иначе равенство выполнялось бы для любого $\lambda$).
  • Думать, что собственный вектор определён однозначно. Любое ненулевое кратное собственного вектора — тоже собственный вектор с тем же $\lambda$.
  • Ожидать собственные векторы у любого преобразования над вещественными числами. У поворота их (вещественных) нет.

Итог

  • Собственный вектор не меняет направления под действием $A$, только масштабируется: $A\vec{v} = \lambda\vec{v}$.
  • Собственное значение $\lambda$ — коэффициент этого растяжения (или сжатия/разворота).
  • У диагональной матрицы собственные векторы — это оси, а $\lambda$ — числа на диагонали.
  • В базисе собственных векторов преобразование становится простым масштабированием.
Проверьте себя
1. Что такое собственный вектор матрицы A?
Aвектор наибольшей длины
Bненулевой вектор v, для которого Av = λv (направление сохраняется)
Cпервый столбец A
Dвектор с нулевой длиной
2. Для матрицы diag(2, 3) вектор (0, 1) является собственным с собственным значением:
A2
B3
C0
Dне является собственным
3. Почему у поворота плоскости на 30° нет вещественных собственных векторов?
Aпотому что определитель равен нулю
Bпотому что поворот меняет направление каждого вектора, ни один не остаётся на своей прямой
Cпотому что матрица не квадратная
Dу него есть собственные векторы