Русская Википедия:Обратный степенной метод

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

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

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

Метод

Пусть имеется квадратная матрица <math>A</math> и её приближённое собственное значение <math>\mu</math> Начальный вектор <math>b_0</math> может быть случайным или известным приближением собственного вектора. Метод сводится к последовательному вычислению векторов по формуле

<math> b_{k+1} = \frac{(A - \mu I)^{-1}b_k}{C_k}, </math>

где <math>C_k</math> — нормирующие константы. Обычно на каждом шаге просто нормируют вектор <math> b_{k+1} </math> к единичной длине. Последовательность векторов не обязательно сходится, но начиная с некоторого шага любой вектор последовательности является собственным с точностью до ошибок округления при умножении на матрицу. Ему соответствует ближайшее к <math> \mu </math> собственное значение. После того как найден собственный вектор <math> b</math>, можно точно вычислить это собственное значение по формуле:

<math>\mu_b = \frac{b^{T}Ab}{b^{T}b}= \frac{(b,Ab)}{(b,b)}</math>

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

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

Обратный степенной метод отличается от степенного метода только используемой для умножения матрицей. Поэтому он позволяет найти собственный вектор, соответствующий максимальному по модулю собственному значению матрицы <math>(A - \mu I)^{-1}</math>. Собственные значения этой матрицы — <math>(\lambda_1 - \mu)^{-1},...,(\lambda_n - \mu)^{-1}, </math> где <math> \lambda_i </math> — собственные значения матрицы <math>A</math>. Наибольшее по модулю собственное значение соответствует наименьшему по модулю значению <math>(\lambda_1 - \mu),...,(\lambda_n - \mu). </math>

Собственные вектора <math>A</math> и <math>(A - \mu I)^{-1}</math> совпадают, поскольку:

<math>

Av=\lambda v \Leftrightarrow (A-\mu I)v = \lambda v - \mu v \Leftrightarrow (\lambda - \mu)^{-1} v = (A-\mu I)^{-1} v </math>

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

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

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

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

<math>\left \| A \right \| \ge |\lambda|, </math> для любого собственного значения <math>\lambda</math>.

Если собственные значения матрицы достаточно хорошо разделены, то, выбирая на отрезке <math>[-\left \| A \right \|,\left \| A \right \|]</math> начальные значения <math>\mu</math> с достаточно малым шагом, можно найти все собственные значения и вектора матрицы. Однако в этом случае более эффективным может оказаться метод итераций Рэлея.

Примечания

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

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