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

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

Алгоритм Как и в обратном степенном методе, мы задаём некоторое начальное приближение к собственному значению матрицы и начальный вектор , который может быть либо случайным, либо известным приближением к собственному вектору. Далее итеративно вычисляем новые приближения к собственному вектору по формуле

, где единичная матрица.

В завершение итерации вычисляем следующее приближение к собственному значению с помощью отношения Рэлея:

Пример программной реализации Ниже приведен пример реализации на языке GNU Octave. function x = rayleigh(A, epsilon, mu, x) x = x / norm(x); % the backslash operator in Octave solves a linear system y = (A - mu * eye(rows(A))) \ x; lambda = y' * x; mu = mu + 1 / lambda err = norm(y - lambda * x) / norm(y)

while err > epsilon x = y / norm(y); y = (A - mu * eye(rows(A))) \ x; lambda = y' * x; mu = mu + 1 / lambda err = norm(y - lambda * x) / norm(y) end

end

Ссылки Lloyd N. Trefethen and David Bau, III, Numerical Linear Algebra, Society for Industrial and Applied Mathematics, 1997. . Rainer Kress, «Numerical Analysis», Springer, 1991.

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