Участник:Odbaev/Нахождение собственных чисел квадратной матрицы методом QR разложения (2): различия между версиями
Odbaev (обсуждение | вклад) |
Odbaev (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
= Свойства и структура алгоритма = | = Свойства и структура алгоритма = | ||
+ | |||
== Общее описание алгоритма == | == Общее описание алгоритма == | ||
+ | QR-алгоритм — это численный метод в линейной алгебре, предназначенный для решения полной проблемы собственных значений, то есть отыскания всех собственных чисел и собственных векторов матрицы. Был разработан в конце 1950-х годов независимо В.Н. Кублановской и Дж. Фрэнсисом. | ||
+ | |||
== Математическое описание алгоритма == | == Математическое описание алгоритма == | ||
+ | Пусть ''A'' — вещественная матрица, для которой мы хотим найти собственные числа и векторы. Положим ''A''<sub>0</sub>=''A''. На ''k''-ом шаге (начиная с ''k'' = 0) вычислим QR-разложение ''A''<sub>''k''</sub>=''Q''<sub>''k''</sub>''R''<sub>''k''</sub>, где ''Q''<sub>''k''</sub> — ортогональная матрица (то есть ''Q''<sub>''k''</sub><sup>''T''</sup> = ''Q''<sub>''k''</sub><sup>−1</sup>), а ''R''<sub>''k''</sub> — верхняя треугольная матрица. Затем мы определяем ''A''<sub>''k''+1</sub> = ''R''<sub>''k''</sub>''Q''<sub>''k''</sub>. | ||
+ | |||
+ | Заметим, что | ||
+ | : <math> A_{k+1} = R_k Q_k = Q_k^{-1} Q_k R_k Q_k = Q_k^{-1} A_k Q_k = Q_k^{T} A_k Q_k, </math> | ||
+ | то есть все матрицы ''A''<sub>''k''</sub> являются подобными, то есть их собственные значения равны. | ||
+ | |||
+ | Пусть все диагональные миноры матрицы ''A'' не вырождены. Тогда последовательность матриц ''A''<sub>''k''</sub> при ''k''→∞ сходится по форме к клеточному правому треугольному виду, соответствующему клеткам с одинаковыми по модулю собственными значениями. | ||
+ | |||
+ | Для того, чтобы получить собственные векторы матрицы, нужно перемножить все матрицы ''Q''<sub>''k''</sub>. | ||
+ | |||
== Вычислительное ядро алгоритма == | == Вычислительное ядро алгоритма == | ||
== Макроструктура алгоритма == | == Макроструктура алгоритма == | ||
Строка 18: | Строка 31: | ||
= Литература = | = Литература = | ||
+ | [https://ru.wikipedia.org/wiki/QR-алгоритм QR-алгоритм] |
Версия 11:46, 4 октября 2016
Основные авторы описания: О.Д.Баев, А.С.Шевелев
Содержание
- 1 Свойства и структура алгоритма
- 1.1 Общее описание алгоритма
- 1.2 Математическое описание алгоритма
- 1.3 Вычислительное ядро алгоритма
- 1.4 Макроструктура алгоритма
- 1.5 Схема реализации последовательного алгоритма
- 1.6 Последовательная сложность алгоритма
- 1.7 Информационный граф
- 1.8 Ресурс параллелизма алгоритма
- 1.9 Входные и выходные данные алгоритма
- 1.10 Свойства алгоритма
- 2 Программная реализация алгоритма
- 3 Литература
1 Свойства и структура алгоритма
1.1 Общее описание алгоритма
QR-алгоритм — это численный метод в линейной алгебре, предназначенный для решения полной проблемы собственных значений, то есть отыскания всех собственных чисел и собственных векторов матрицы. Был разработан в конце 1950-х годов независимо В.Н. Кублановской и Дж. Фрэнсисом.
1.2 Математическое описание алгоритма
Пусть A — вещественная матрица, для которой мы хотим найти собственные числа и векторы. Положим A0=A. На k-ом шаге (начиная с k = 0) вычислим QR-разложение Ak=QkRk, где Qk — ортогональная матрица (то есть QkT = Qk−1), а Rk — верхняя треугольная матрица. Затем мы определяем Ak+1 = RkQk.
Заметим, что
- [math] A_{k+1} = R_k Q_k = Q_k^{-1} Q_k R_k Q_k = Q_k^{-1} A_k Q_k = Q_k^{T} A_k Q_k, [/math]
то есть все матрицы Ak являются подобными, то есть их собственные значения равны.
Пусть все диагональные миноры матрицы A не вырождены. Тогда последовательность матриц Ak при k→∞ сходится по форме к клеточному правому треугольному виду, соответствующему клеткам с одинаковыми по модулю собственными значениями.
Для того, чтобы получить собственные векторы матрицы, нужно перемножить все матрицы Qk.