Обратный степенной метод

Материал из testwiki
Перейти к навигации Перейти к поиску

Обратный степенной метод, или метод обратных итераций, — итеративный алгоритм вычисления собственных векторов и значений. Позволяет искать собственные вектора и собственные значения произвольной матрицы. Обычно используется для вычисления собственных векторов, если для собственных значений известны достаточно хорошие приближения.

В вычислительном отношении метод похож на степенной метод. Вероятно, первоначально он был разработан для вычисления резонансных частот в механике[1].

Метод

Пусть имеется квадратная матрица A и её приближённое собственное значение μ Начальный вектор b0 может быть случайным или известным приближением собственного вектора. Метод сводится к последовательному вычислению векторов по формуле

bk+1=(AμI)1bkCk,

где Ck — нормирующие константы. Обычно на каждом шаге просто нормируют вектор bk+1 к единичной длине. Последовательность векторов не обязательно сходится, но начиная с некоторого шага любой вектор последовательности является собственным с точностью до ошибок округления при умножении на матрицу. Ему соответствует ближайшее к μ собственное значение. После того как найден собственный вектор b, можно точно вычислить это собственное значение по формуле:

μb=bTAbbTb=(b,Ab)(b,b)

Чем ближе μ к собственному значению, тем быстрее сходимость. Когда известны хорошие приближения собственных значений, может потребоваться всего 2 — 3 итерации.

Обоснование и сходимость

Обратный степенной метод отличается от степенного метода только используемой для умножения матрицей. Поэтому он позволяет найти собственный вектор, соответствующий максимальному по модулю собственному значению матрицы (AμI)1. Собственные значения этой матрицы — (λ1μ)1,...,(λnμ)1, где λi — собственные значения матрицы A. Наибольшее по модулю собственное значение соответствует наименьшему по модулю значению (λ1μ),...,(λnμ).

Собственные вектора A и (AμI)1 совпадают, поскольку:

Av=λv(AμI)v=λvμv(λμ)1v=(AμI)1v

В частности, если задать μ=0, а матрица A имеет обратную, мы найдём собственный вектор с минимальным по модулю собственным значением.

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

Если неизвестны приближения собственных значений

Пределы для собственных значений матрицы можно найти с помощью векторно подчинённой нормы матрицы. А именно

A|λ|, для любого собственного значения λ.

Если собственные значения матрицы достаточно хорошо разделены, то, выбирая на отрезке [A,A] начальные значения μ с достаточно малым шагом, можно найти все собственные значения и вектора матрицы. Однако в этом случае более эффективным может оказаться метод итераций Рэлея.

Примечания

Шаблон:Примечания

  1. Ernst Pohlhausen, Berechnung der Eigenschwingungen statisch-bestimmter Fachwerke, ZAMM — Zeitschrift für Angewandte Mathematik und Mechanik 1, 28-42 (1921).