
- •Л.В. Маркова, е.А. Корчевская,
- •С о д е р ж а н и е
- •П р е д и с л о в и е
- •Глава 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.
Лабораторная работа № 14
Цель: изучить итерационный степенной метод нахождения наибольшего по модулю собственного значения и соответствующего собственного вектора.
Задание
1. Разработайте класс «Частичная проблема нахождения собственных значений» («PartialProblem»), который наследуется от класса «Итерационные методы нахождения собственных значений» («IterationMethodsE»). В данном классе реализуйте итерационный метод («iterationMethod») нахождения наибольшего по модулю собственного значения и соответствующего собственного вектора.
Для реализации метода используйте объекты матричных классов «SquareMatrix» и «Vector». Доступ к элементам осуществляйте с помощью методов getElement и setElement, реализованных в данных классах. Для операции умножения матрицы на вектор используйте метод, реализованный в классе «SquareMatrix».
2. Методом итераций
определите наибольшее по модулю
собственное значение и соответствующий
ему собственный вектор матрицы ()
в соответствии с вариантом.
3. Решите ту же задачу, используя пакет для математических вычислений.
4. Сравните результат выполнения п. 2 с решением, полученным в п. 3.
Варианты заданий
№ 1 |
№ 2 |
№ 3 |
№ 4 |
№ 5 |
№ 6 |
№ 7 |
№ 8 |
№ 9 |
№ 10 |
№ 11 |
№ 12 |
№ 13 |
№ 14 |
№ 15 |
№ 16 |
П 4.3 qr-алгоритм для нахождения собственных значений матрицы
При решении полной проблемы собственных значений для несимметричных матриц эффективным является подход, основанный на приведении матриц к подобным, имеющим треугольный или квазитреугольный вид. Одним из наиболее распространенных методов этого класса является QR-алгоритм, позволяющий находить как вещественные, так и комплексные собственные значения.
Основная
идея QR-алгоритма
состоит в разложении матрицы А
в произведение ортогональной и верхней
треугольной матрицы. Предполагаем, что
все собственные значения
матрицы А
различны по абсолютной величине и
.
Процедура QR-разложения, рассмотренная в П 2.2, многократно используется в R-алгоритме вычисления собственных значений.
Осуществляя поочередно факторизацию и перестановку сомножителей, получаем последовательность матриц [20]
,
,
,
(1)
где
ортогональная матрица,
верхняя треугольная матрица,
.
Таким образом,
каждая итерация реализуется в два этапа.
На первом этапе осуществляется разложение
матрицы
в произведение ортогональной
и верхней треугольной
матриц,
а на втором – полученные матрицы
перемножаются в обратном порядке.
Из
равенства (1) получаем,
отсюда
.
Получаем, что все матрицы
подобны
между собой и подобны исходной матрице
А.
При отсутствии у
матрицы кратных собственных значений
последовательность
сходится к верхней треугольной матрице
(в случае, когда все собственные значения
вещественны) или к верхней квазитреугольной
матрице (если имеются комплексно-сопряженные
пары собственных значений).
Таким образом, каждому вещественному собственному значению будет соответствовать столбец со стремящимися к нулю поддиагональными элементами и в качестве критерия сходимости итерационного процесса для таких собственных значений можно использовать следующее равенство:
При этом соответствующее собственное значение принимается равным диагональному элементу данного столбца.
Каждой комплексно-сопряженной паре соответствует диагональный блок размерностью 2х2. Принципиально то, что элементы этих блоков изменяются от итерации к итерации без видимой закономерности, в то время как комплексно-сопряженные собственные значения, определяемые каждым блоком, имеют тенденцию к сходимости. Это обстоятельство необходимо учитывать при формировании критерия выхода из итерационного процесса. Если в ходе итераций прослеживается комплексно-сопряженная пара собственных значений, соответствующая блоку, образуемому элементами j-го и j+1-го столбцов, то, несмотря на значительное изменение в ходе итераций самих этих элементов, собственные значения, соответствующие данному блоку и определяемые из решения квадратного уравнения
,
начиная с некоторого k отличаются незначительно.
Для практического QR-алгоритма нет завершенной теории сходимости. На практике алгоритм работает всегда или почти всегда [5].
Пример 1.
Используя QR-алгоритм,
найти собственные значения матрицы
с точностью
.
Решение:
Выберем вектор
согласно формуле (5), рассмотренной
в
П 2.2:
,
где,
.
Тогда .
Построим матрицу
согласно формуле (6), рассмотренной
в
П 2.2:
,
.
Выберем вектор
:
,
где
,
.
Тогда .
Построим матрицу
по формуле (6) из П 2.2:
,
.
Построим матрицу Q согласно формуле (8), описанной в П 2.2:
,
.
Убедимся, что матрица Q – ортогональна.
.
Построим верхнюю треугольную матрицу R по формуле (7) из П 2.2:
,
.
После первой
итерации матрица А
вычисляется по формуле
и имеет вид:
.
Первая итерация завершена. Поддиагональные элементы матрицы достаточно велики, поэтому итерационный процесс необходимо продолжать.
Продолжая итерационный процесс, получим соответственно на 6-й и 7-й итерациях следующие матрицы:
,
.
Видно, что
поддиагональные элементы первого
столбца становятся достаточно малыми,
и, следовательно, диагональный элемент
может быть принят
в качестве собственного значения. В то
же время отчетливо прослеживается
комплексно-сопряженная пара собственных
значений, соответствующая блоку,
образуемому элементами второго и
третьего столбцов. Собственные значения,
соответствующие данному блоку,
определяются из решения квадратного
уравнения
.
Таким образом,
окончательное решение задачи можно
записать в виде: ,
,
.