Итерация фактора Рэлея - Rayleigh quotient iteration
Итерация фактора Рэлея является алгоритм собственных значений что расширяет идею обратная итерация используя Фактор Рэлея для получения более точных собственное значение оценки.
Итерация фактора Рэлея - это итерационный метод, то есть доставляет последовательность приближенных решений, которые сходится к истинному решению в пределе. Гарантируется очень быстрая сходимость, и на практике требуется не более нескольких итераций для получения разумного приближения. Алгоритм итерации фактора Рэлея сходится кубически для эрмитовых или симметричных матриц при заданном начальном векторе, достаточно близком к собственный вектор из матрица это анализируется.
Алгоритм
Алгоритм очень похож на обратную итерацию, но заменяет оценочное собственное значение в конце каждой итерации на коэффициент Рэлея. Начните с выбора значения как начальное предположение собственного значения для эрмитовой матрицы . Начальный вектор также должно быть указано в качестве начального предположения о собственном векторе.
Вычислить следующее приближение собственного вектора к
куда является единичной матрицей, и устанавливает следующее приближение собственного значения к коэффициенту Рэлея текущей итерации, равному
Чтобы вычислить более одного собственного значения, алгоритм можно комбинировать с методом дефляции.
Обратите внимание, что для очень мелких проблем полезно заменить матрица обратная с сопоставлять, что приведет к той же итерации, потому что оно равно обратному до нерелевантного масштаба (в частности, обратного определителя). Сопоставление легче вычислить явно, чем обратное (хотя обратное легче применить к вектору для задач, которые не малы), и оно более корректно с точки зрения численности, потому что оно остается хорошо определенным, когда собственное значение сходится.
Пример
Рассмотрим матрицу
для которого точные собственные значения , и , с соответствующими собственными векторами
- , и .
(куда это золотое сечение).
Наибольшее собственное значение и соответствует любому собственному вектору, пропорциональному
Начнем с предположения о начальном собственном значении
- .
Тогда первая итерация дает
вторая итерация,
и третий,
откуда очевидна кубическая сходимость.
Реализация октавы
Ниже приводится простая реализация алгоритма в Октава.
функцияИкс =Рэйли(А, эпсилон, мю, х)Икс = Икс / норма(Икс); % оператор обратной косой черты в Octave решает линейную систему у = (А - му * глаз(ряды(А))) \ Икс; лямбда = у' * Икс; му = му + 1 / лямбда ошибаться = норма(у - лямбда * Икс) / норма(у) пока эрр> эпсилон Икс = у / норма(у); у = (А - му * глаз(ряды(А))) \ Икс; лямбда = у' * Икс; му = му + 1 / лямбда ошибаться = норма(у - лямбда * Икс) / норма(у) конецконец