Участник:F-morozov/Нахождение собственных чисел квадратной матрицы методом QR разложения (4): различия между версиями
Nataliya (обсуждение | вклад) |
F-morozov (обсуждение | вклад) |
||
Строка 13: | Строка 13: | ||
Известно, что произвольная квадратная матрица может быть представлена в виде произведения унитарной (ортогональной в вещественном случае) и верхней треугольной матриц. Такое разложение называется QR-разложением. | Известно, что произвольная квадратная матрица может быть представлена в виде произведения унитарной (ортогональной в вещественном случае) и верхней треугольной матриц. Такое разложение называется QR-разложением. | ||
− | QR-алгоритм: | + | '''QR-алгоритм:'''<br> |
− | + | Пусть <math>A_0 = A</math> — исходная матрица.<br> | |
− | :<math>A_{n-1} = Q_nR_n</math> ( | + | Для <math>n = 1, 2, ...</math>: |
+ | :<math>A_{n-1} = Q_nR_n</math>, где <math>Q_n</math> — унитарная (ортогональная) матрица, <math>R_n</math> — верхняя треугольная матрица; | ||
+ | :<math>A_n = R_nQ_n</math>. | ||
− | <math>A_n = | + | Заметим, что <math>A_n = R_nQ_n = Q_n^{-1}A_{n-1}Q_n</math>, то есть матрицы <math>A_n</math> и <math>A_{n-1}</math> подобны для любого <math>n</math>. |
+ | Таким образом, матрицы <math>A_1, A_2, ...</math> подобны исходной матрице <math>A</math> и имеют те же собственные значения. | ||
+ | При выполнении некоторых условий последовательность <math>\{A_n\}</math> сходится к верхней треугольной матрице <math>\hat{A}</math>, на диагонали которой расположены искомые собственные значения. | ||
== Вычислительное ядро алгоритма == | == Вычислительное ядро алгоритма == |
Версия 01:01, 13 октября 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 Общее описание алгоритма
Для решения ряда задач механики, физики, химии требуется получение всех собственных значений (собственных чисел), а иногда и всех собственных векторов некоторых матриц. Эту задачу называют полной проблемой собственных значений[1]. Если рассматриваются матрицы общего вида, порядок которых не больше тысячи (нескольких тысяч), то для вычисления всех собственных значений (и собственных векторов) можно рекомендовать QR-алгоритм. Он был разработан в начале 1960-х годов независимо В. Н. Кублановской (Россия) и Дж. Фрэнсисом (Великобритания)[2].
Нахождение собственных чисел матрицы [math]A[/math] методом QR-разложения заключается в построении последовательности матриц, сходящейся по форме к клеточному правому треугольному виду. Матрицы [math]A_n[/math] данной последовательности строятся с использованием QR-разложения таким образом, что они подобны между собой и подобны исходной матрице [math]A[/math], поэтому их собственные значения равны. Характеристический многочлен клеточной правой треугольной матрицы равен произведению характеристических многочленов ее диагональных клеток[1]. Его корни — собственные значения матрицы, которые согласно вышесказанному и являются искомыми.
1.2 Математическое описание алгоритма
Известно, что произвольная квадратная матрица может быть представлена в виде произведения унитарной (ортогональной в вещественном случае) и верхней треугольной матриц. Такое разложение называется QR-разложением.
QR-алгоритм:
Пусть [math]A_0 = A[/math] — исходная матрица.
Для [math]n = 1, 2, ...[/math]:
- [math]A_{n-1} = Q_nR_n[/math], где [math]Q_n[/math] — унитарная (ортогональная) матрица, [math]R_n[/math] — верхняя треугольная матрица;
- [math]A_n = R_nQ_n[/math].
Заметим, что [math]A_n = R_nQ_n = Q_n^{-1}A_{n-1}Q_n[/math], то есть матрицы [math]A_n[/math] и [math]A_{n-1}[/math] подобны для любого [math]n[/math]. Таким образом, матрицы [math]A_1, A_2, ...[/math] подобны исходной матрице [math]A[/math] и имеют те же собственные значения. При выполнении некоторых условий последовательность [math]\{A_n\}[/math] сходится к верхней треугольной матрице [math]\hat{A}[/math], на диагонали которой расположены искомые собственные значения.