
chisl_meth / Лаб 6 QR-алгоритм, метод итераций / QR-алгоритм
.docQR-разложение
Для нахождения собственных значений
матрицы, используя QR-алгоритм, необходимо
предварительно использовать QR-разложение,
которое представляет собой разложение
матрицы в виде
,
где Q – ортогональная матрица; R
– верхнетреугольная матрица. Существует
ряд методов для реализации QR-разложения:
процесс Грама – Шмидта; преобразование
Хаусхолдера; вращение Гивенса.
Процесс Грама – Шмидта
Рассмотрим процесс Грама – Шмидта для
некоторой матрицы
.
Определим проекцию
,
тогда
Матрицы Q и R будем формировать следующим образом:
Матрицу R можно найти и другим путем.
Преобразуем выражение
следующим образом:
.
Произведение
есть единичная матрица. Отсюда следует,
что зная матрицу Q, мы можем определить
матрицу R
.
Преобразование Хаусхолдера
Идея преобразования Хаусхолдера – осуществить ряд преобразований, которые позволят сделать нулевыми элементы столбцов ниже главной диагонали. Пусть имеется матрица:
.
Возьмем первый столбец
и вычислим с его помощью вектор
,
который мы используем для построения матрицы Хаусхолдера:
.
Если умножить матрицу
на исходную
,
то в первом столбце полученной матрицы
ниже главной диагонали будут нули.
Запишем минор
матрицы
:
и проделаем для этой матрицы операции
записанные выше, т. е.
,
тогда
,
,
и т. д.
Матрицы разложения могут быть получены как
,
.
Пример
.
Запишем первый столбец матрицы
,
тогда
,
Матрица
будет иметь вид
Используя второй столбец минора
,
строим вектор
и
,
Произведение матрицы
на
дает матрицу
,
у которой элементы ниже главной диагонали
будут равны нулю. Это и есть искомая
матрица R:
,
а матрица Q примет вид
.
QR-алгоритм
Теперь мы можем осуществить QR-разложение
матрицы одним из приведенных способов.
Тогда для последовательности матриц
и
запишем процесс, который представляет
собой QR-алгоритм.
1. Задаем
и
.
2. Вычисляем
,
затем находим QR-разложение
как
.
3. Определяем
и представляем в виде
и т. д.
…
m. Находим
,
после чего записываем
На некотором шаге m матрица
становится треугольной или почти
треугольной, поэтому ее собственные
числа будут находиться на главной
диагонали. Чем больше m, тем ближе
собственные числа матрицы
к собственным числам матрицы A.
Пример. Используя QR-алгоритм, вычислить собственные числа матрицы
.
Шаг 1.
Шаг 2.
Шаг 3.
…
Шаг 12.
Приближенные значения собственных
чисел находятся на главной диагонали
и равны