Математика / Численное решение линейных систем
Степенной метод: приближение доминирующего собственного значения
Степенной метод многократно умножает стартовый вектор на матрицу, поэтому компоненту по простому собственному вектору с наибольшим модулем усиливает быстрее остальных. Нормировка сохраняет направление и предотвращает переполнение.
Формула
В целых k показаны оценки для вектора Aᵏx₀; линия между ними служит ориентиром.
Обозначения
- $A$
- квадратная матрица, зависит от модели
- $x_k$
- ненулевое приближение собственного вектора после k-й итерации, обычно нормировано
- $lambda_k$
- частное Рэлея x_k^T A x_k/(x_k^T x_k) для вещественной симметричной A, единицы A
Условия применения
Для обычной сходимости требуется простое собственное значение lambda_1 с |lambda_1|>|lambda_2| и старт x_0 с ненулевой компонентой по его собственному вектору. Норму в записи надо выбрать и использовать одинаково. Частное Рэлея как надёжная спектральная оценка здесь рассматривают для вещественной симметричной (или комплексной эрмитовой) матрицы; для общей несимметричной A не следует переносить это утверждение без оговорок. Для приведённого разложения по собственным векторам предполагается диагонализуемость A; при комплексной эрмитовой A в частном Рэлея используют сопряжённое транспонирование xᴴ.
Ограничения
При равных по модулю ведущих собственных значениях направление может не сойтись или колебаться. Старт, ортогональный ведущему левому собственному направлению, не содержит нужной компоненты. Метод находит наибольший модуль, а не обязательно наибольшее действительное значение; отрицательное lambda_1 меняет знак итераций. Малой разности последовательных lambda_k недостаточно без проверки невязки.
Подробное объяснение
Разложим стартовый вектор по собственным направлениям. После k умножений коэффициент у направления v_i умножается на lambda_i^k; при строгом превосходстве |lambda_1| отношение остальных коэффициентов к ведущему убывает как |lambda_i/lambda_1|^k. Нормировка убирает общий масштаб, но не это отношение.
Поэтому скорость определяется спектральным зазором. Если |lambda_2/lambda_1| близко к единице, даже правильный старт даёт медленное сближение. Если ведущая компонента старта равна нулю, умножения не создадут её из ниоткуда — это видно в диагональном примере со стартом на второй оси.
Для симметричной A частное Рэлея соединяет текущий вектор и его образ в одну скалярную оценку. Оно полезно, но не является доказательством сходимости: вычисляют r_k=Ax_k−lambda_k x_k и контролируют его норму.
Метод особенно удобен для разреженных матриц, поскольку в каждой итерации требуется произведение A x, а не разложение всей A. Для близких собственных чисел, внутреннего спектра или плохого старта обычно выбирают сдвиг, обратную итерацию либо метод Крылова.
Как пользоваться формулой
- Убедитесь, что задача требует собственного значения наибольшего модуля и выберите ненулевой старт.
- Вычислите z=A x_k и остановитесь, если z нулевой или численно вырожденный.
- Положите x_(k+1)=z/||z|| в явно выбранной норме и сохраните коэффициент нормировки для проверки.
- Для симметричной A вычислите частное Рэлея и невязку A x_(k+1)−lambda x_(k+1).
- Продолжайте до заданной нормы невязки, а не только до стабилизации координат.
Историческая справка
Степенная итерация выросла из ранней практики матричных вычислений: повторное применение преобразования выделяет спектральное направление с наибольшим ростом. В XX веке она стала базовым методом численной линейной алгебры и отправной точкой для обратной итерации и методов Крылова. Частное Рэлея связано с работами Дж. У. Стретта, лорда Рэлея, по колебаниям XIX века; современная вычислительная процедура — более поздняя учебная и программная форма. Историческое развитие шло от задач колебаний и устойчивости к большим разреженным матрицам физики и инженерии. В таких задачах произведение A x значительно дешевле полного разложения матрицы, что и сохраняет значение метода. Его ограничения — медленная сходимость при малом спектральном зазоре и невозможность выбрать внутреннее собственное значение без преобразования — стимулировали развитие сдвигов и методов подпространств.
Историческая линия формулы
У степенного метода нет общепринятого единственного автора. Название Рэлея относится к частному, а не ко всей итерации; безопаснее связывать современный алгоритм с развитием численной линейной алгебры XX века и с последующей практикой вычислительных спектральных методов.
Пример
Для A=diag(5,2), x_0=(1;1) первая ненормированная итерация равна (5;2), её норма √29≈5,385165. Частное Рэлея для x_0 равно 7/2=3,5, а для (5;2) равно (125+8)/29=133/29≈4,586207, ближе к 5. После первой итерации нормированный вектор равен (5/√29;2/√29)≈(0,928477;0,371391). Его первая координата уже существенно больше второй; следующая итерация усилит это различие в отношении 5/2. Невязка для точного вектора (1;0) при λ=5 равна нулю. После умножения Ax компонента по собственному вектору с наибольшим |λ| умножается сильнее остальных. Нормировка не меняет направление, но не даёт компонентам переполниться или исчезнуть в машинной арифметике.
Частая ошибка
Не называйте частное Рэлея общим правилом для любой несимметричной матрицы. Не обещайте сходимость без простого ведущего модуля и компоненты старта. Не путайте наибольший модуль с наибольшим значением. Не принимайте нормированный вектор за собственный без невязки.
Практика
Задачи с решением
Частное Рэлея на собственном векторе
Условие. Для A=diag(5,2) и x=(1;0) найдите частное Рэлея.
Решение. xᵀAx=5, xᵀx=1, поэтому λ=5; Ax=5x.
Ответ. λ=5; это собственный вектор.
Старт без ведущей компоненты
Условие. Проверьте старт x=(0;1).
Решение. xᵀAx=2, xᵀx=1, λ=2. У вектора нет компоненты первого собственного направления, поэтому итерации остаются на второй оси.
Ответ. λ=2; доминирующее направление не появится.
Дополнительные источники
- https://tobydriscoll.net/fnc-julia/krylov/power.html
- https://cs357.cs.illinois.edu/textbook/notes/eigen.html
Связанные формулы
Математика
Круги Гершгорина: локализация собственных значений матрицы
Теорема Гершгорина заключает все собственные значения квадратной комплексной матрицы в объединение дисков: центр каждого диска — диагональный элемент строки, радиус — сумма модулей остальных элементов этой строки.
Математика
Пятиточечный шаблон Лапласа на квадратной сетке
Пятиточечный шаблон приближает оператор Лапласа в внутреннем узле равномерной квадратной сетки. Он складывает центральные разности по двум направлениям и имеет погрешность порядка O(h²) для гладкой функции.
Математика
Оценка ошибки пары Дормана—Принса 5(4)
Встроенная пара Дормана—Принса 5(4) из общих стадий даёт два приближения решения ОДУ. Норма их разности оценивает локальную ошибку и позволяет принять шаг или повторить расчёт с меньшим h.
Математика
Квадратичный штраф за нарушение равенства
Квадратичный штраф заменяет равенство h(x)=0 добавкой mu h(x)^2/2 к цели. При конечном mu минимум штрафовой функции обычно остаётся немного недопустимым, поэтому метод использует последовательность растущих параметров.