QR-алгоритм — это численный метод в линейной алгебре, предназначенный для решения полной проблемы собственных значений, то есть отыскания всех собственных чисел и собственных векторов матрицы. Был разработан в конце 1950-х годов независимо В. Н. Кублановской и Дж. Фрэнсисом.
Пусть A — вещественная матрица, для которой мы хотим найти собственные числа и векторы. Положим A0=A. На k-ом шаге (начиная с k = 0) вычислим QR-разложение Ak=QkRk, где Qk — ортогональная матрица (то есть QkT = Qk−1), а Rk — верхняя треугольная матрица. Затем мы определяем Ak+1 = RkQk.
Заметим, что
то есть все матрицы Ak являются подобными, то есть их собственные значения равны.
Пусть все диагональные миноры матрицы A не вырождены. Тогда последовательность матриц Ak при k→∞ сходится по форме к клеточному правому треугольному виду, соответствующему клеткам с одинаковыми по модулю собственными значениями. [1]
Для того, чтобы получить собственные векторы матрицы, нужно перемножить все матрицы Qk.
Аглоритм считается вычислительно устойчивым, т.к. производится ортогональными преобразованиями подобия.
Будем считать, что собственные числа положительно-определённой матрицы A упорядочены по убыванию:
Пусть
а S — матрица, составленная из собственных векторов матрицы A. Тогда, матрица A может быть записана в виде спектрального разложения
Найдём выражение для степеней исходной матрицы через матрицы Qk и Rk. С одной стороны, по определению QR-алгоритма:
Применяя это соотношение рекурсивно, получим:
Введя следующие обозначения:
получим
С другой стороны:
Приравнивая правые части последних двух формул, получим:
Предположим, что существует LU-разложение матрицы ST:
тогда
Умножим справа на обратную к U матрицу, а затем — на обратную к Λk:
Можно показать, что
при без ограничения общности можно считать, что на диагонали матрицы L стоят единицы, поэтому
Обозначим
причём матрица Pk является верхнетреугольной, как произведение верхнетреугольных и диагональных матриц.
Таким образом, мы доказали, что
Из единственности QR-разложения следует, что если произведение ортогональной и треугольной матрицы сходится к ортогональной матрице, то треугольная матрица сходится к единичной матрице. Из сказанного следует, что
То есть матрицы Sk сходятся к матрице собственных векторов матрицы A.
Так как
то
Переходя к пределу, получим:
Итак, мы доказали, что QR-алгоритм позволяет решить полную проблему собственных значений для симметричной положительно-определённой матрицы.
При определенных условиях, последовательность матриц сходится к треугольной матрице, разложению Шура матрицы . В этом случае собственные числа треугольной матрицы располагаются на ее диагонали, и задача нахождения собственных чисел считается решенной. В тестах на сходимость не практично требовать точных нулей в нулевой части матрицы, но можно воспользоваться теоремой Гершгорина о кругах[en] задающей пределы ошибок.
В исходном состоянии матрицы (без дополнительных преобразований) стоимость итераций относительно высока. Стоимость алгоритма можно уменьшить сначала приведя матрицу к форме верхней матрицы Хессенберга (стоимость получения которой оценивается как арифметических операций используя метод основанный на преобразовании Хаусхолдера), и используюя конечную последовательность ортогональных преобразований подобия. Данный алгоритм чем-то похож на двухсторонюю QR декомпозицию. (В обычной QR декомпозиции, матрица отражений Хаусхолдера перемножается только слева, когда в случае использования формы Хессенберга матрица отражений перемножается и слева и справа.) Нахождение QR декомпозиции верхенй матрицы Хессенберга оценивается как арифметических операций. Из за того что, форма матрицы Хессенберга почти верхне-треугольная (у неё только один под-диагональный элемент не равен нулю), удается сразу снизить число итераций требуемых для схождения QR алгоритма.
В случае если исходная матрица симметричная, верхняя матрица Хессенберга так-же симметричная и поэтому является трех-диагональной. Этим же свойством обладает вся последовательность матриц . В этом случае стоимость процедуры оценивается как арифметических операций с использованием метода основанного на преобразовании Хаусхолдера. Нахождение QR декомпозиции симметричной трехдиагональной матрицы оценивается как операций.
Скорость сходимости зависит от степени разделения собственных чисел, и в практической реализации будут использоваться "сдвиги", в явном или неявном виде, для усиления разделения собственных чисел и для ускорения сходимости. В типичном виде для симметричных матриц QR алгоритм точно находит одно собственное число (уменьшая размерность матрицы) за одну или две итерации, делая этот подход как эффективным так и надежным.
В современной вычислительной практике QR алгоритм проводится используя его неявную версию, что делает проще добавление множественных "сдвигов". Исходно матрица приводится к форме верхней матрицы Хессенберга так же как и в явной версии. Затем, на каждом шаге, первая колонка преобразуется через мало-размерное преобразование подобия Хаусхолдера к первой колонке (или ), где , это полином степени , который определяет стратегию "сдвигов" (обычно , где и это два собственных числа остаточной подматрицы размера 2 x 2, это так называемый неявный двойной сдвиг). Затем последовательные преобразования Хаусхолдера размерности производятся с целью вернуть рабочую матрицу к форме верхней матрицы Хессенберга.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .