
Лаб8_отчёт
.doc
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ИС
отчет
по лабораторной работе №8
по дисциплине «Конструирование программ»
Тема: Вычисление собственных значений (чисел) и векторов матриц.
Студент гр. 9373 |
|
Заболотников М.Е. |
Преподаватель |
|
Копыльцов А.В. |
Санкт-Петербург
2021
Цель работы.
Найти
максимальное по модулю собственное
число и соответствующий ему собственный
вектор матрицы
.
Основные теоретические положения.
Пусть
необходимо вычислить максимальное по
модулю собственное число
,
матрицы
,
причем
В степенном методе используется следующая
последовательность формул. Выбирается
произвольный начальный вектор
и строится последовательность векторов
и приближений к собственному числу
таким образом:
(5.13.1)
Правая
часть формулы для
в (5.13.1) - это отношение Релея при
Так как
то
Теорема
5.11. Пусть
в разложении
по базису
из собственных векторов произвольной
матрицы
,
собственные числа которой удовлетворяют
условию
и
Тогда
при
и справедлива следующая оценка
погрешности:
(5.13.2)
При
практических вычислениях вектор
нормируют, чтобы не было переполнения
или исчезновений порядка. Формулы
(5.13.1) тогда приобретают вид
(5.13.3)
В общем случае при решении проблемы собственных значений не существует эффективных апостериорных оценок погрешностей. Для симметрических матриц можно использовать следующий результат.
Теорема
5.12. Пусть
- произвольное число, а
- произвольный ненулевой вектор. Тогда
для любой симметрической матрицы
существует собственное число
такое, что справедлива оценка
(5.13.4)
В
частности для степенного метода, если
- приближенно вычисленный собственный
вектор, а
-
приближенное значение собственного
числа, то
(5.13.5)
Пример.
Для матрицы из предыдущего примера
вычислить
и
,
взяв в качестве начального приближения
Вычисления
будем производить по формулам (5.13.3):
Результаты
вычислений шестнадцати итераций
приведены в следующей таблице:
Номер
итерации
|
|
|
|
|
0 |
- |
1.0000000 |
0.000000 |
0.000000 |
1 |
1 |
0.107833 |
0.970945 |
0.215666 |
2 |
2.401193 |
0.670351 |
0.707602 |
-0.223450 |
3 |
5.560346 |
0.282393 |
0.954482 |
0.096011 |
4 |
4.128699 |
0.524958 |
0.846417 |
-0.089436 |
5 |
5.375470 |
0.320293 |
0.811308 |
-0.051321 |
6 |
4.703964 |
0.461342 |
0.886644 |
-0.032067 |
7 |
5.425668 |
0.404845 |
0.914362 |
0.006624 |
8 |
5.085983 |
0.439969 |
0.897778 |
-0.020557 |
9 |
5.298928 |
0.417814 |
0.908526 |
-0.002034 |
10 |
5.171134 |
0.431704 |
0.901906 |
-0.014094 |
11 |
5.251758 |
0.422957 |
0.906120 |
-0.007328 |
12 |
5.226316 |
0.426272 |
0.904522 |
-0.011520 |
13 |
5.216012 |
0.426340 |
0.904508 |
-0.009965 |
14 |
5.220049 |
0.426316 |
0.904519 |
-0.009929 |
15 |
5.219940 |
0.426331 |
0.904513 |
-0.009940 |
16 |
5.220039 |
0.426322 |
0.904517 |
-0.009933 |
Видно,
что при вычислении по формуле Кардано
не достигнута даже точность
,
так как
,
а не 5.242, как в предыдущем примере. Главный
недостаток этого метода - медленная
сходимость, пропорциональная
.
Для
вычисления следующего собственного
числа можно использовать сдвиг на
.
После сдвига рассматривается матрица
,
собственными числами которой являются
числа
.
В этом случае число
будет минимальным по модулю, следовательно,
степенной метод даст другое число,
например,
,
сдвиг которого максимален.
Экспериментальные результаты.
Экспериментальные результаты были взяты из методических указаний и представлены в виде матрице на рисунке 1:
Рис. 1. Матрица А.
Обработка результатов эксперимента.
Для обработки экспериментальных данных была создана программа, которая находит максимальное по модулю собственное число и соответствующий ему собственный вектор матрицы . Результат программа представлен на рисунке 2:
Рис. 2. Иллюстрация результата работы программы.
Выводы.
В ходе работы была написана программа, которая находит максимальное по модулю собственное число и соответствующий ему собственный вектор матрицы .