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

Жорданова нормальная форма: когда диагонализация невозможна

Большинство матриц диагонализируемы. Но именно там, где диагонализация ломается - при кратных собственных значениях - и возникают самые интересные явления: vanishing gradients в RNN, резонанс в ОДУ, медленный переходный процесс в control systems.

  • **RNN и vanishing gradients:** если весовая матрица рекуррентного слоя имеет жорданов блок с |λ| < 1, градиент через t шагов убывает как t·λ^t - медленнее чистого λ^t, но всё равно к нулю. LSTM/GRU - прямое следствие жордановой теории
  • **Ортогональная инициализация (Saxe et al. 2013):** инициализировать веса RNN ортогональной матрицей означает гарантировать отсутствие нильпотентной части - все жордановы блоки вырождаются в 1×1
  • **Control theory:** устойчивость системы x' = Ax определяется Re(λ) < 0 для всех λ. Жорданов блок при Re(λ) = 0 даёт полиномиальный рост вместо ограниченности - критическая нестабильность
  • **Резонанс в ОДУ:** кратный корень характеристического уравнения порождает решение вида t·e^(λt) - это и есть жорданова структура в непрерывном времени

Предварительные знания

  • Диагонализация: условия диагонализируемости, базис из собственных векторов
  • Собственные значения: характеристический многочлен, алгебраическая и геометрическая кратность
  • Нильпотентные матрицы: N^k = 0 для некоторого k
  • Форма Шура: числовая замена жордановой формы для прикладных задач
  • Диагонализация
  • Холецкий и форма Шура

Дефектные матрицы и жордановы блоки

**Диагонализация ломается на самом интересном месте.** Матрица 4x4 с четырьмя совпадающими собственными значениями - и всего один собственный вектор. Базис построить нельзя, разложение A = PDP⁻¹ рассыпается. Жорданова форма - это то, что приходит на замену: почти диагональная матрица, в которой над диагональю стоят единицы именно там, где пространству не хватало размерности.

**О чём этот урок на самом деле**: не про академический курьёз, а про то, что происходит, когда матрица обучаемого слоя RNN попадает в режим с кратными собственными значениями. Жорданова структура определяет, будет ли градиент затухать полиномиально или экспоненциально - это напрямую влияет на обучение.

Дефектные матрицы: когда собственных векторов не хватает

Матрица называется **дефектной**, если у неё меньше линейно независимых собственных векторов, чем размерность. Это случается при **кратных собственных значениях**, когда ~алгебраическая кратность~{сколько раз корень входит в характеристический многочлен} превышает ~геометрическую~{размерность собственного подпространства, т.е. количество независимых собственных векторов}.

A = [ 3 1 ] характеристический многочлен: (λ - 3)² = 0 [ 0 3 ] единственное собственное значение λ = 3 (кратность 2) (A - 3I) = [ 0 1 ] ядро этой матрицы: только e₁ = (1, 0) [ 0 0 ] Алгебраическая кратность λ=3 равна 2. Геометрическая кратность λ=3 равна 1. Собственных векторов не хватает для базиса - матрица дефектна.

**Тест на дефектность**: если det(A - λI) = 0 и rank(A - λI) > 0, матрица дефектна. В numpy: `len(np.linalg.eig(A)[1].T)` vs `np.linalg.matrix_rank(np.eye(n)*lam - A)`.

Жорданов блок: почти диагональ

Жорданов блок размера k для собственного значения λ - это матрица с λ на диагонали и **единицами над ней**. Единицы фиксируют именно то место, где пространству не хватило измерения:

[ λ 1 0 0 ] [ 0 λ 1 0 ] J_4(λ)= [ 0 0 λ 1 ] [ 0 0 0 λ ] Чем больше блок - тем сильнее "зацепленность" пространства. J_1(λ) - просто [λ], это обычный диагональный элемент. Вся жорданова матрица - блочно-диагональная из таких блоков: [ J_{k1}(λ1) 0 ... 0 ] J = [ 0 J_{k2}(λ2) ... 0 ] [ ... ... ... ... ] [ 0 0 ... J_{km}(λm)] Для диагонализируемой матрицы все блоки имеют размер 1 - это обычная диагональная форма.

Какое условие делает матрицу дефектной (не диагонализуемой)?

Алгебраическая кратность - число повторений λ в характеристическом многочлене. Геометрическая - размерность собственного подпространства. Если геометрическая меньше алгебраической, не хватает собственных векторов для базиса, и матрица недиагонализуема. Пример: [[2,1],[0,2]] - λ=2 дважды, но только один собственный вектор.

Обобщённые собственные векторы

Обобщённые собственные векторы: достраивание базиса

Раз обычных собственных векторов не хватает, добавляют **обобщённые**: векторы из ядра степеней матрицы (A - λI). Каждый следующий вектор цепочки получается применением (A - λI) к предыдущему:

Для λ и жорданова блока размера k строится цепочка v1, v2, ..., vk: (A - λI) vk = vk-1 обобщённый вектор ранга k (A - λI) vk-1 = vk-2 ... (A - λI) v2 = v1 (A - λI) v1 = 0 v1 - обычный собственный вектор Пример (A из 2x2 блока выше): v1 = (1, 0) (A - 3I)v1 = 0 v2 - такой, что (A - 3I)v2 = v1 (A - 3I) = [0 1; 0 0] [0 1; 0 0] v2 = [1; 0] v2 = (0, 1) подходит: [0*0+1*1; 0*0+0*1] = [1; 0] ✓ P = [v1 | v2] = [1 0; 0 1] = I, J = A (и правда была жорданова форма).

Нильпотентная часть и ML

Каждый жорданов блок распадается на два: J_k(λ) = λI + N, где N - **нильпотентная матрица** (N^k = 0). Именно N отвечает за "паразитные" эффекты - полиномиальный рост вместо экспоненциального. В нейросетях это имеет прямое следствие.

J_2(λ)^n = [λ^n n·λ^(n-1)] [0 λ^n ] J_3(λ)^n = [λ^n n·λ^(n-1) C(n,2)·λ^(n-2)] [0 λ^n n·λ^(n-1) ] [0 0 λ^n ] Ключ: если |λ| < 1, то λ^n → 0, но n·λ^(n-1) убывает медленнее. Если |λ| = 1 (критическая точка), то λ^n ограничено, но n·λ^(n-1) → ∞. Это полиномиальный рост против экспоненциального затухания.

**Связь с RNN и vanishing gradients**: если матрица весов рекуррентного слоя имеет жорданов блок с |λ| < 1, градиент через t шагов пропорционален t · λ^t. При λ = 0.9 и t = 100 это дает 100 · 0.9^100 ≈ 0.00003 - почти ноль. Именно поэтому LSTM и GRU используют специальные гейты: они препятствуют образованию "плохих" жордановых блоков.

Что такое обобщённый собственный вектор уровня k?

Обобщённые собственные векторы достраивают базис, когда обычных собственных векторов не хватает. Цепочка v_1, v_2, ..., v_k связана соотношением (A - λI)v_{i+1} = v_i, где v_1 - обычный собственный вектор. Эта цепочка образует жорданов блок размера k.

Матричная экспонента и применения

Матричная экспонента: решения систем ОДУ

Система дифференциальных уравнений x'(t) = A·x(t) имеет решение x(t) = e^(At)·x(0). Жорданова форма делает вычисление матричной экспоненты явным.

e^(J_k(λ)·t) = e^(λt) · [ 1 t t²/2! ... t^(k-1)/(k-1)! ] [ 0 1 t ... t^(k-2)/(k-2)! ] [ 0 0 1 ... ] [ 0 0 0 ... 1 ] Для J_2(λ): e^(Jt) = e^(λt) · [ 1 t ] [ 0 1 ] Резонанс: при кратном корне λ появляются члены вида t·e^(λt), t²·e^(λt)... Это означает, что даже при Re(λ) < 0 (устойчивая система) переходные процессы могут быть значительно длиннее, чем предсказывает одно только λ.

Применение: Jordan в control theory и RNN

Жорданова форма появляется в двух прикладных областях, где важна динамика линейных систем во времени.

ОбластьКак используетсяЧто даёт жорданова форма
Control theoryАнализ устойчивости x' = AxУсловие устойчивости: Re(λ) < 0 для всех собственных значений
RNN / LSTMДинамика градиентов при backprop through timeЖорданов блок с |λ| > 1 - взрыв, |λ| < 1 - затухание
Signal processingСистемы с кратными полюсами (резонанс)Члены t·e^(λt) - резонансные решения
Численная алгебраАнализ сходимости итерационных методовSpectral radius ρ(A) = max|λ| определяет скорость

**Жорданова форма численно неустойчива**: маленькое возмущение матрицы может слить два разных собственных значения в одно кратное, или наоборот разделить. На практике для численного анализа используют **форму Шура** (A = QTQ*, T - верхнетреугольная), которая столь же информативна, но стабильна при ошибках округления.

**Теория работает там, где важна точная динамика линейной системы** - **RNN / LSTM / GRU**: Анализ vanishing/exploding gradients. Spectral radius весовой матрицы; инициализация Identity + ортогональные матрицы - **Control systems (autopilot, robotics)**: Проверка устойчивости: все Re(λ) < 0. MATLAB Control Toolbox, Python control, scipy.signal - **Signal processing**: Фильтры с кратными полюсами. IIR-фильтры, анализ резонансов, scipy.signal.lti - **Численные методы**: Сходимость итераций (power method, PageRank). Спектральный радиус определяет скорость сходимости

Практика: степени жордановых блоков

**Q:** Матрица 3x3 имеет собственное значение λ = 2 с алгебраической кратностью 3 и геометрической кратностью 1. Какова возможная жорданова форма? - Один блок J_3(2) размера 3 - единственная возможность при гео. кратности 1 - Если бы гео. кратность была 2: J_2(2) + J_1(2) - Число блоков = размерность ядра (A - λI) **Q:** Почему при обучении RNN рекомендуют инициализировать весовую матрицу ортогональной? - Ортогональная матрица: все |λ| = 1 - нет ни затухания, ни взрыва - Жордановы блоки вырождаются в диагональные (нет нильпотентной части) - Градиент сохраняет норму при backprop через t шагов - проблема vanishing исчезает - Это инициализация из статьи Saxe et al. 2013 (orthogonal init) **Q:** Чем форма Шура лучше жордановой для численных вычислений? - Жорданова форма разрывно зависит от матрицы: ε-возмущение может изменить структуру блоков - Форма Шура A = QTQ* непрерывна - собственные значения на диагонали T - Для анализа устойчивости достаточно диагонали T, не нужна полная жорданова структура - scipy.linalg.schur - надежнее, чем jordan_form для численных задач

Что унести из урока

  • **Дефектная матрица** = алгебраическая кратность > геометрической; диагонализация невозможна
  • **Жорданов блок J_k(λ)**: λ на диагонали, единицы над ней - каждая единица = нехватка одного измерения
  • **J_k(λ)^n** содержит члены n·λ^(n-1), C(n,2)·λ^(n-2) - полиномиальный рост при |λ| = 1
  • **RNN**: жорданова структура весовой матрицы определяет режим vanishing/exploding gradient
  • **Матричная экспонента** e^(Jt): члены t·e^(λt) - резонанс при кратных корнях ОДУ
  • **На практике**: форма Шура вместо жордановой - устойчива к ошибкам округления
  • **Инициализация ортогональными матрицами** в RNN - прямое следствие жордановой теории

Куда дальше

Жорданова форма - предельный случай спектральной теории. Следующие темы обобщают её на нессиметричный и прямоугольный случаи.

  • Диагонализация — Жорданова форма - обобщение диагонализации на дефектные матрицы
  • SVD — Универсальное разложение для прямоугольных матриц, избегает дефектности
  • Тензоры — Обобщение матриц на несколько индексов - следующий уровень

Связанные уроки

  • de-01
Жорданова нормальная форма: когда диагонализация невозможна

0

1

Войти

Какую информацию даёт жорданова форма для матричной экспоненты exp(At)?

Для жорданова блока J = λI + N экспонента exp(Jt) = e^(λt) * sum_{k=0..size-1} (Nt)^k/k!. Получается e^(λt), умноженная на полином от t степени (size-1). Это объясняет, почему решения линейных ОДУ при дефектных матрицах содержат члены вида t·e^(λt), а не только e^(λt).