Смысл собственных значений и векторов
Собственный вектор преобразования — это особое направление, которое матрица только растягивает или сжимает, но не сбивает в сторону.
Собственный вектор $\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$ — числа на диагонали.
- В базисе собственных векторов преобразование становится простым масштабированием.