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

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

Алгоритм предложен в 1929 году Рихардом фон Мизесом и Хильдой ГейрингерRichard von Mises and H. Pollaczek-Geiringer, Praktische Verfahren der Gleichungsauflösung, ZAMM — Zeitschrift für Angewandte Mathematik und Mechanik 9, 152—164 (1929)..

Алгоритм В начале алгоритма генерируется случайный вектор В некоторых случаях есть возможность использовать уже имеющееся приближение доминирующего собственного вектора.. Далее проводятся последовательные вычисления по итеративной формуле:

Деление (нормировка) в этой формуле нужно, чтобы исключить обнуление или переполнение координат вектора и при ориентировочно известных собственных значениях его не обязательно делать на каждом шаге.

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

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

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

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

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

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

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

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

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

.

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

Приложения Метод применяется в первую очередь для разреженных матриц. Например, Гугл использует его для расчёта рангов страниц в Интернете, а Twitter использует его для рекомендаций «за кем следовать»Pankaj Gupta, Ashish Goel, Jimmy Lin, Aneesh Sharma, Dong Wang, and Reza Bosagh Zadeh WTF: The who-to-follow system at Twitter , Proceedings of the 22nd international conference on World Wide Web.

Примечания

Категория:Численные методы линейной алгебры