Неподвижное направление
Матрица A = [[2, 1], [0, 3]]. Примените её к вектору v = (1, 0):
A · (1, 0) = (2·1 + 1·0, 0·1 + 3·0) = (2, 0).
Задача: вектор (1, 0) превратился в (2, 0). Что произошло с его направлением? А с длиной?
Матрица — преобразование. Она поворачивает, растягивает, сжимает, отражает. Большинство векторов после умножения на матрицу меняют и длину, и направление. Но некоторые — только длину. Направление остаётся прежним.
Эти особенные векторы называются собственными. Они показывают «оси» преобразования — направления, вдоль которых матрица действует просто как масштабирование. Формально: вектор v — собственный для матрицы A, если
A · v = λ · v
Левая часть — матрица умножает вектор (сложное преобразование). Правая — вектор просто умножается на число λ (масштабирование). Результаты совпадают: матрица на этом направлении работает как обычное число.
Число λ — собственное значение. Оно говорит: «во сколько раз матрица растянула этот вектор». Если λ = 2 — удвоила. Если λ = −1 — развернула на 180° (длина та же, направление противоположное). Если λ = 0 — уничтожила (вектор стал нулевым).
Как найти собственные значения? Перепишем уравнение:
A·v = λ·v
A·v − λ·v = 0
(A − λI)·v = 0
Это однородная система. Она имеет ненулевое решение v только если матрица (A − λI) вырождена — то есть её определитель равен нулю:
det(A − λI) = 0
Это и есть характеристическое уравнение. Решаем его — находим λ. Подставляем λ обратно — находим v.
Разберём на примере. A = [[2, 1], [0, 3]]:
A − λI = [[2−λ, 1 ],
[0, 3−λ]]
det(A − λI) = (2−λ)(3−λ) − 1·0 = (2−λ)(3−λ)
Приравниваем к нулю: (2−λ)(3−λ) = 0. Два решения: λ₁ = 2 и λ₂ = 3.
Теперь находим собственные векторы для каждого λ.
Для λ₁ = 2: решаем (A − 2I)·v = 0:
A − 2I = [[0, 1],
[0, 1]]
Система: v₂ = 0. v₁ — любое.
Собственный вектор: v₁ = (1, 0) (или любой кратный).
Для λ₂ = 3: решаем (A − 3I)·v = 0:
A − 3I = [[−1, 1],
[ 0, 0]]
Система: −v₁ + v₂ = 0, то есть v₂ = v₁.
Собственный вектор: v₂ = (1, 1) (или любой кратный).
Проверка: A·(1, 1) = (2·1 + 1·1, 0·1 + 3·1) = (3, 3) = 3·(1, 1) ✓
Характеристическое уравнение для матрицы 2×2 — квадратное. Для 3×3 — кубическое. Для n×n — степени n. Корни этого уравнения — собственные значения.
У квадратного уравнения может быть 2 корня, 1 (кратный) или 0 вещественных (комплексные). Поэтому у матрицы 2×2 может быть два разных собственных значения, одно кратное или ни одного вещественного.
Пример без вещественных собственных значений — матрица поворота на 90°:
R = [[ 0, −1],
[ 1, 0]]
det(R − λI) = λ² + 1 = 0 → λ = ±i
Корни мнимые. Это логично: поворот на 90° не оставляет ни одно направление неподвижным — каждый вектор поворачивается. Зачем это всё? Собственные значения — один из самых практичных инструментов линейной алгебры.
В физике: собственные частоты колебаний моста, здания, музыкального инструмента — это собственные значения матрицы жёсткости. Когда внешняя вибрация совпадает с собственной частотой — резонанс. Мост может разрушиться.
В анализе данных: метод главных компонент (PCA) находит собственные векторы ковариационной матрицы. Собственный вектор с наибольшим собственным значением — это направление максимального разброса данных. Второй по величине — направление следующего разброса, перпендикулярное первому. Так PCA находит «главные оси» данных.
В Google PageRank: рейтинг страниц — это собственный вектор матрицы ссылок. Каждый раз, когда вы ищете что-то в Google, на заднем плане работает именно это вычисление. Если у матрицы n×n нашлось n линейно независимых собственных векторов, её можно диагонализовать. Это значит: представить в виде A = P·D·P⁻¹, где D — диагональная матрица из собственных значений, а P — матрица из собственных векторов (в столбцах).
Для нашей матрицы A = [[2, 1], [0, 3]] с собственными парами (2, (1,0)) и (3, (1,1)):
P = [[1, 1], D = [[2, 0], P⁻¹ = [[ 1, −1],
[0, 1]] [0, 3]] [ 0, 1]]
A = P · D · P⁻¹
Зачем это нужно? Потому что степень диагональной матрицы считается тривиально — каждый элемент на диагонали возводится в степень:
D¹⁰⁰ = [[2¹⁰⁰, 0 ],
[0, 3¹⁰⁰]]
А значит:
A¹⁰⁰ = P · D¹⁰⁰ · P⁻¹
Сотая степень матрицы — за три умножения вместо ста. Для марковских цепей, динамических систем и рекуррентных соотношений это принципиально: нужно узнать состояние системы через 1000 шагов — а диагонализация даёт ответ мгновенно.
Пример: последовательность Фибоначчи. Пара (Fₙ, Fₙ₊₁) связана с предыдущей через матрицу [[0, 1], [1, 1]]. Диагонализуем её — и получим явную формулу для n-го числа Фибоначчи через золотое сечение φ = (1+√5)/2. Без диагонализации этот трюк не работает.
Подведём итог: собственные значения и векторы — это «рентген» матрицы. Они показывают её внутреннюю структуру: вдоль каких направлений она растягивает, сжимает или отражает, и с какой силой.
Определитель — произведение всех собственных значений. След — их сумма. Обратимость — все ли они ненулевые. Устойчивость динамической системы — все ли они по модулю меньше единицы. Одно понятие — и из него следует почти всё остальное.
Собственный вектор: A·v = λ·v. Направление, которое матрица не поворачивает — только масштабирует.
Собственное значение λ: коэффициент масштабирования. Находится из det(A − λI) = 0.
Характеристическое уравнение для n×n — полином степени n. Корни — собственные значения.
Связь: сумма λ = след, произведение λ = определитель.