![](/user_photo/2706_HbeT2.jpg)
- •Л.В. Маркова, е.А. Корчевская,
- •С о д е р ж а н и е
- •П р е д и с л о в и е
- •Глава 1 Элементы теории погрешностей п 1.1 Источники погрешностей
- •П 1.2 Вычисление абсолютной и относительной погрешностей
- •П 1.3 Округление чисел
- •П 1.4 Вычисление погрешностей арифметических операций
- •П 1.5 Оценка погрешности по способу границ
- •Лабораторная работа № 1
- •Задание
- •Глава 2 объектно-ориентированный подход к программированию методов линейной алгебры
- •П 2.1 Создание матричной иерархии классов
- •Лабораторная работа № 2
- •Задание
- •П 2.2 Создание иерархии классов вычислительных методов алгебры
- •Лабораторная работа № 3
- •Задание
- •Глава 3 решение систем линейных алгебраических уравнений
- •П 3.1 Метод Гаусса решения систем линейных алгебраических уравнений
- •Лабораторная работа № 4
- •Задание
- •П 3.2 Метод Гаусса с выбором главного элемента для решения систем линейных алгебраических уравнений
- •Лабораторная работа № 5
- •Задание
- •П 3.3 Решение системы линейных алгебраических уравнений методом Жордана-Гаусса
- •Лабораторная работа № 6
- •Задание
- •П 3.4 Метод квадратного корня для решения систем линейных алгебраических уравнений
- •Лабораторная работа № 7
- •Задание
- •П 3.5 Вычисления определителя и нахождения обратной матрицы
- •Лабораторная работа № 8
- •Задание
- •П 3.6 Решение системы линейных алгебраических уравнений методом прогонки
- •Лабораторная работа № 9
- •Задание
- •П 3.7 Метод простых итераций решения систем линейных алгебраических уравнений
- •Лабораторная работа № 10
- •Задание
- •П 3.8 Метод Зейделя решения систем линейных алгебраических уравнений
- •Лабораторная работа № 11
- •Задание
- •П 3.9 Итерационные методы вариационного типа решения систем линейных алгебраических уравнений
- •Лабораторная работа № 12
- •Задание
- •Глава 4 вычисление собственных значений и собственных векторов матриц
- •П 4.1 Метод Данилевского для нахождения собственных значений и собственных векторов
- •Лабораторная работа № 13
- •Задание
- •П 4.2 Итерационный степенной метод нахождения наибольшего по модулю собственного значения и соответствующего собственного вектора
- •Лабораторная работа № 14
- •Задание
- •П 4.3 qr-алгоритм для нахождения собственных значений матрицы
- •Лабораторная работа № 15
- •Задание
- •П 4.4 Метод Якоби для нахождения собственных значений и собственных векторов
- •Лабораторная работа № 16
- •Задание
- •П р и л о ж е н и я Приложение 1 Основные сведения о матрицах
- •Функции MathCad
- •Л и т е р а т у р а
- •Красоткина вычислительные методы алгебры. Практикум
- •2 10038, Г. Витебск, Московский проспект, 33.
Лабораторная работа № 15
Цель: изучить QR-алгоритм для нахождения собственных значений матрицы.
Задание
1. Разработайте класс «Полная проблема нахождения собственных значений» («CompleteProblem»), который наследуется от класса «Итерационные методы нахождения собственных значений» («IterationMethodsE»). В данном классе реализуйте QR-алгоритм («qrMethod») для нахождения собственных значений матрицы, используя метод для QR-разложения (QR_decomposition), описанный в классе «Алгоритмы факторизации» («FactorizationAlgorithms»).
Для реализации метода используйте объекты и методы матричных классов «SquareMatrix», «EMatrix», «Vector». Для выполнения основных матричных операций (перемножение матриц, вычитание матриц) используйте методы, реализованные в данных матричных классах.
2. Используя QR-алгоритм, найдите собственные значения матрицы в соответствии с вариантом.
3. Решите ту же задачу, используя пакет для математических вычислений.
4. Сравните результат выполнения п. 2 с решением, полученным в п. 3.
Варианты заданий
№ 1 |
№ 2 |
№ 3 |
№ 4 |
№ 5 |
№ 6 |
№ 7 |
№ 8 |
№ 9 |
№ 10 |
№ 11 |
№ 12
|
№ 13 |
№ 14 |
№ 15 |
№ 16 |
П 4.4 Метод Якоби для нахождения собственных значений и собственных векторов
Итерационный метод вращения (метод Якоби) решает полную проблему нахождения собственных значений и собственных векторов вещественной симметрической матрицы без использования характеристического уравнения.
Вычисление всех
собственных значений и собственных
векторов можно свести к отысканию такой
ортогональной матрицы Т,
для которой произведение
представляет диагональную матрицу,
причем столбцы матрицыТ
будут являться соответствующими
собственными векторами матрицы А.
Матрица Т
находится как предел бесконечного
произведения элементарных матриц
вращений, каждая из которых имеет вид
[20]:
Если необходимо обратить в нуль элемент aik матрицы А, то cosφ и sinφ нужно выбрать по формулам
(1)
где
Тогда получим
матрицу
с
измененнымиi-м
и k-м
столбцами и строками:
(2)
Отметим, что
выполняется соотношение
=
,
т.е. сумма квадратов диагональных
элементов увеличивается. Элементы,
которые однажды обратились в нуль, при
последующих шагах снова могут стать
ненулевыми. Если на каждом шаге данного
преобразования подобия брать максимальный
по модулю наддиагональный элемент
преобразуемой матрицы, то в пределе
получится диагональная матрица.
Исследование сходимости является
сложным вопросом и в данном пункте не
рассматривается.
Заметим, что по
мере того, как Аm
при m→∞
превращается в диагональную матрицу,
на диагонали которой стоят собственные
значения в некоторой последовательности,
зависящей от выбранных вначале пар i,
k,
в столбцах матрицы
появляются стоящие
в соответствующей
последовательности нормированные
собственные векторы.
В качестве критерия окончания итерационного процесса используется условие малости суммы квадратов внедиагональных элементов [10].
Пример 1.
Используя метод Якоби, найти собственные
значения и векторы матрицы с точностью
.
Решение:
Выберем максимальный по модулю наддиагональный элемент матрицы А.
Пусть (i,
k)
= (1, 4),
.
По формулам (1) вычислимc
и s:
c =
0,7245; s
=
0,6892. Тогда
матрица вращения
будет иметь вид:
.
Матрица
,
вычисленная, согласно
,
будет иметь вид:
.
Первая итерация завершена.
Выберем максимальный
по модулю наддиагональный элемент
матрицы
.
Пусть (i,
k)
=
(2, 3),
.
Проверим условие окончания итерационного
процесса
,
следовательно,
процесс необходимо продолжить. По
формулам (1) вычислим c
и
s:
c
= 0,7733;
s
=
0,643. Тогда матрица вращения
будет иметь вид:
.
Матрица
,
вычисленная, согласно
,
будет иметь вид:
.
Вторая итерация завершена.
Выберем
максимальный по модулю наддиагональный
элемент матрицы
.
Пусть(i,
k)
=
(1, 2),
.
Условие окончания итерационного процесса
не выполняется, переходим к следующей
итерации. По формулам (1) вычислимc
и s:
c
= 0,7989; s
= 0,6015. Тогда
матрица вращения
будет иметь вид:
.
Матрица
,
вычисленная, согласно
,
будет иметь вид:
.
Продолжаем итерационный процесс до тех пор, пока не будет достигнута заданная точность наддиагональных элементов.
На двенадцатой итерации имеем:
.
Так как сумма
квадратов наддиагональных элементов
меньше
,
то процесс завершается.
На главной диагонали
матрицы
находятся собственные значения матрицыА:
Столбцы матрицы
являются собственными векторами матрицыА
.
,
.