Линейная алгебра

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

Найти базис, в котором отображение — это просто растяжение по осям

Шаг 18 из 117 · ~32 мин

Направления, которые отображение не сбивает

Почти каждый вектор под действием AA меняет и длину, и направление. Но есть особые направления, которые только растягиваются:

Av=λv,v0\htmlData{k=A}{A}\htmlData{k=v}{\mathbf{v}} = \htmlData{k=lam}{\lambda}\htmlData{k=v}{\mathbf{v}}, \qquad \mathbf{v} \ne \mathbf{0}

остаётся на своей прямой, а говорит, во сколько раз он растянулся. Условие v0\mathbf{v} \ne \mathbf{0} обязательно — иначе равенство выполнялось бы при любом λ\lambda и не значило бы ничего.

Включите переключатель собственных векторов и переберите заготовки. Обратите внимание, что у поворота собственных направлений нет вовсе:

e₁e₂
определитель
3
ранг
2

Как их находят

Перепишем определение: Avλv=0A\mathbf{v} - \lambda\mathbf{v} = \mathbf{0}, то есть (AλI)v=0(A - \lambda I)\mathbf{v} = \mathbf{0}. Ненулевое решение существует ровно тогда, когда AλIA - \lambda I необратима, — а это, по прошлому уроку, значит

det(AλI)=0\det(A - \lambda I) = 0

Это характеристическое уравнение. Для 2×22 \times 2 оно раскрывается в

λ2tr(A)λ+det(A)=0\lambda^2 - \operatorname{tr}(A)\,\lambda + \det(A) = 0

откуда сразу два полезных факта: сумма собственных значений равна следу, а произведение — определителю. Проверять вычисления этим стоит всегда.

Для матриц больше 3×33 \times 3 характеристический полином не используют: искать корни полинома численно неустойчиво. Настоящие алгоритмы (QR-итерации) работают иначе. Полином — инструмент понимания, а не вычисления.

Диагонализация

Пусть у AA есть nn линейно независимых собственных векторов. Соберём их в столбцы PP, а собственные значения — в диагональную DD. Тогда AP=PDAP = PD, то есть

A=PDP1,D=P1APA = PDP^{-1}, \qquad D = P^{-1}AP

Сравните со сменой базиса из предыдущего урока: это в точности она. Диагонализация — переход в базис из собственных векторов, где отображение превращается в независимые растяжения по осям.

Практическое следствие — степени матрицы:

Ak=PDkP1A^k = PD^kP^{-1}

Возведение диагональной матрицы в степень поэлементно, поэтому A100A^{100} считается мгновенно. Так же анализируют устойчивость итераций: если все λi<1|\lambda_i| < 1, процесс сходится к нулю; если хоть одно больше единицы — расходится. Ровно этот аргумент объясняет затухающие и взрывающиеся градиенты в рекуррентных сетях.

Диагонализуема не всякая матрица: сдвиг из заготовок выше — контрпример. Но для одного важного класса гарантия есть.

Спектральная теорема

Если AA симметрична (A=AA = A^\top), то все её собственные значения действительны, а собственные векторы можно выбрать ортонормированными.

Тогда PP ортогональна, и разложение принимает особенно приятный вид:

A=QΛQA = Q\Lambda Q^\top

Это едва ли не самое используемое утверждение блока. Симметричные матрицы возникают повсюду: ковариационные матрицы, гессианы, матрицы Грама XXX^\top X, лапласианы графов. Все они раскладываются в «поворот, растяжение по осям, поворот обратно».

Положительная определённость

Симметричная AA называется положительно определённой, если xAx>0\mathbf{x}^\top A \mathbf{x} > 0 для всех x0\mathbf{x} \ne \mathbf{0}. Равносильные условия:

  • все собственные значения строго положительны;
  • A=BBA = B^\top B для некоторой BB полного ранга;
  • все ведущие главные миноры положительны (критерий Сильвестра).

Если допускается ноль — говорят «неотрицательно определённая». Зачем это нужно:

  • ковариационная матрица всегда неотрицательно определена (дисперсия не бывает отрицательной);
  • гессиан в точке минимума неотрицательно определён — это условие второго порядка;
  • определённость Σ\Sigma — то, что делает многомерную гауссиану корректно определённой;
  • в оптимизации именно собственные значения гессиана задают число обусловленности, а с ним и скорость обучения.

Частая путаница

Собственные значения — свойство отображения, а не таблицы: у подобных матриц они одинаковы. Но сингулярные значения (следующий урок) — не то же самое, что собственные. Совпадают они только для симметричных неотрицательно определённых матриц. У поворота нет действительных собственных значений, а сингулярные значения равны единице — и это ровно то различие, ради которого SVD и существует.

Источники

Проверки

0 из 2
  1. Собственные значения через след и определитель

    У матрицы 2×22 \times 2 известно: tr(A)=7\operatorname{tr}(A) = 7 и det(A)=10\det(A) = 10. Оба собственных значения действительны.

    Чему равно большее из них?

    Подсказка: сумма равна следу, произведение — определителю. Подбор здесь быстрее, чем формула.

  2. Собственные значения матрицы 2×2

    Реализуйте eigenvalues2(m) для матрицы 2×22 \times 2, заданной списком строк.

    Используйте характеристическое уравнение λ2tr(A)λ+det(A)=0\lambda^2 - \operatorname{tr}(A)\lambda + \det(A) = 0.

    Требования:

    • если дискриминант отрицательный, действительных собственных значений нет — верните null (в Python None);
    • иначе верните список из двух значений по убыванию;
    • кратное собственное значение возвращается дважды.
    функция eigenvalues2

    Загрузка редактора…

    Ctrl/⌘ + Enter