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

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

Алгоритм предложен в 1929 году Рихардом фон Мизесом и Хильдой Гейрингер[1].

Алгоритм править

В начале алгоритма генерируется случайный вектор  [2]. Далее проводятся последовательные вычисления по итеративной формуле:

 [3]

Если исходный вектор не ортогонален собственному подпространству с наибольшим по модулю собственным значением, то расстояние от элементов данной последовательности до такого подпространства стремится к нулю[4]. Последовательность векторов не всегда сходится, поскольку вектор на каждом шаге может менять знак или в комплексном случае вращаться, но это не мешает выбрать один из векторов в качестве собственного, когда получено достаточно точное собственное значение.

Последовательность

 

при указанном выше условии сходится к максимальному по модулю собственному значению. Но следует помнить, что не у всех действительных матриц есть действительные собственные значения.

Для нормальных операторов править

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

Пусть   — нормированный собственный вектор с максимальным по модулю собственным значением матрицы   нормального оператора. Тогда матрица

 

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

Доказательство сходимости править

Упорядочим собственные значения по невозрастанию абсолютной величины и допустим, что  [5]. Тогда начальный вектор можно представить как

 ,

где   — собственные векторы, вектор   обнуляется при первом умножении на матрицу, а   по предположению.

Рассмотрим результат   умножений матрицы на начальный вектор:

 .

Поделив левую и правую часть на  , получим

 

Приложения править

Метод применяется в первую очередь для разреженных матриц. Например, Гугл использует его для расчёта рангов страниц в Интернете[6], а Twitter использует его для рекомендаций «за кем следовать»[7].

Примечания править

  1. Richard von Mises and H. Pollaczek-Geiringer, Praktische Verfahren der Gleichungsauflösung, ZAMM — Zeitschrift für Angewandte Mathematik und Mechanik 9, 152—164 (1929).
  2. В некоторых случаях есть возможность использовать уже имеющееся приближение доминирующего собственного вектора.
  3. Деление (нормировка) в этой формуле нужно, чтобы исключить обнуление или переполнение координат вектора и при ориентировочно известных собственных значениях его не обязательно делать на каждом шаге.
  4. В случае, когда наибольшее по модулю собственное значение — положительное вещественное число, данная последовательность векторов также сходится к некоторому собственному вектору.
  5. Допущение сделано для сокращения выкладок. В случае нескольких совпадающих собственных значений максимальных по модулю доказательство аналогично.
  6. Ipsen, Ilse, and Rebecca M. Wills (5–8 May 2005). "7th IMACS International Symposium on Iterative Methods in Scientific Computing" (PDF). Fields Institute, Toronto, Canada. Архивировано (PDF) из оригинала 21 сентября 2018. Дата обращения: 10 июля 2019.{{cite news}}: Википедия:Обслуживание CS1 (множественные имена: authors list) (ссылка)
  7. Pankaj Gupta, Ashish Goel, Jimmy Lin, Aneesh Sharma, Dong Wang, and Reza Bosagh Zadeh WTF: The who-to-follow system at Twitter Архивная копия от 12 июля 2019 на Wayback Machine, Proceedings of the 22nd international conference on World Wide Web