Участник:F-morozov/Нахождение собственных чисел квадратной матрицы методом QR разложения (4)

Материал из Алговики
Перейти к навигации Перейти к поиску

Основные авторы описания: Ф. В. Морозов, Н. Ф. Пащенко

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], на диагонали которой расположены искомые собственные значения.

1.3 Вычислительное ядро алгоритма

1.4 Макроструктура алгоритма

1.5 Схема реализации последовательного алгоритма

1.6 Последовательная сложность алгоритма

1.7 Информационный граф

1.8 Ресурс параллелизма алгоритма

1.9 Входные и выходные данные алгоритма

1.10 Свойства алгоритма

2 Программная реализация алгоритма

2.1 Масштабируемость алгоритма и его реализации

2.2 Существующие реализации алгоритма

3 Литература

  1. 1,0 1,1 Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы. — 6-е изд. — М.: БИНОМ. Лаборатория знаний, 2008. — 636 с.
  2. Тыртышников Е. Е. Методы численного анализа. — М.: Академия, 2007. — 320 c.