ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.09.2025
Просмотров: 1203
Скачиваний: 0
СОДЕРЖАНИЕ
Л.В. Маркова, е.А. Корчевская,
Глава 1 Элементы теории погрешностей п 1.1 Источники погрешностей
П 1.2 Вычисление абсолютной и относительной погрешностей
П 1.4 Вычисление погрешностей арифметических операций
П 1.5 Оценка погрешности по способу границ
Глава 2 объектно-ориентированный подход к программированию методов линейной алгебры
П 2.1 Создание матричной иерархии классов
П 2.2 Создание иерархии классов вычислительных методов алгебры
Глава 3 решение систем линейных алгебраических уравнений
П 3.1 Метод Гаусса решения систем линейных алгебраических уравнений
П 3.2 Метод Гаусса с выбором главного элемента для решения систем линейных алгебраических уравнений
П 3.3 Решение системы линейных алгебраических уравнений методом Жордана-Гаусса
П 3.4 Метод квадратного корня для решения систем линейных алгебраических уравнений
П 3.5 Вычисления определителя и нахождения обратной матрицы
П 3.6 Решение системы линейных алгебраических уравнений методом прогонки
П 3.7 Метод простых итераций решения систем линейных алгебраических уравнений
П 3.8 Метод Зейделя решения систем линейных алгебраических уравнений
П 3.9 Итерационные методы вариационного типа решения систем линейных алгебраических уравнений
Глава 4 вычисление собственных значений и собственных векторов матриц
П 4.1 Метод Данилевского для нахождения собственных значений и собственных векторов
П 4.3 qr-алгоритм для нахождения собственных значений матрицы
П 4.4 Метод Якоби для нахождения собственных значений и собственных векторов
П р и л о ж е н и я Приложение 1 Основные сведения о матрицах
Корни этого уравнения являются собственными значениями матрицы Ф, а следовательно матрицы А. Решаем уравнение, получаем
.
Найдем собственные векторы матрицы А.
Собственные векторы матриц Ф и А, принадлежащие одним и тем же собственным значениям, будут различны, но между ними существует связь [10].
Если Х
– собственный вектор матрицы А,
принадлежащий собственному значению
,
а вектор Y
– собственный вектор матрицы Фробениуса
,
принадлежащий тому же собственному
значениюλ,
то вектор SY
также будет собственным вектором матрицы
А,
соответствующим собственному значению
,
т.е. X
= SY.
Действительно,
так как ФY
= Y
и
,
то следовательно
.
Умножая это
равенство слева на матрицу S,
получаем
,учитывая, что
,
имеем
X = SY. (6)
Итак, собственные векторы матрицы А легко определить по соответствующим собственным векторам матрицы Ф.
Найдем собственные векторы матрицы Ф. Имеем ФY=Y
.
Отсюда получаем систему
. (7)
Так как собственный
вектор матрицы определен с точностью
до постоянного множителя, то полагаем
.
Тогда из предыдущих равенств системы можно последовательно найти остальные координаты вектора Y
. (8)
Равенство
можно использовать для контроля
вычислений
.
Собственный вектор
,
соответствующий числу
,
определяется равенством:
,
(9)
где
собственный вектор матрицы Фробениуса,
соответствующий собственному значению
i.
Отдельные координаты
вектора
находим из равенства (9), в предположении,
что
.
Пример 2. Найти собственные векторы матрицы из предыдущего примера.
Решение:
Матрица Фробениуса построена
.
Собственные значения найдены
.
Найдем собственные вектора матрицы А.
Матрица подобия имеет вид
.
Собственные векторы матрицы Фробениуса:
,
,
,
.
Собственные векторы матрицы А
,
,
,
.
Пример 3. В рамках метода Данилевского реализовать операцию перемножения матриц.
Данный метод описан в матричном классе «SquareMatrix».
Реализация на языке программирования С++ может иметь следующий вид:
SquareMatrix SquareMatrix :: operator *(SquareMatrix B){
int n = this->size;
int m = B.getColCount();
/* Объявление результирующей матрицы*/
double **C = new double*[n];
for (int i=0; i < n; i++){
C[i] = new double[m];
}
/* Вычисление произведения матриц*/
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
for (int k = 0; k < n; k++){
C[i][j]+=this->elements[i][k]*B.elements[k][j];
}
}
}
/* Создание матрицы*/
return SquareMatrix(n, C);
};
Лабораторная работа № 13
Цель: изучить метод Данилевского для нахождения собственных значений и собственных векторов.
Задание
1. В классе «FrobeniusMatrix» («Матрица Фробениуса»), который наследуется от класса «SquareMatrix» («Квадратная матрица»), сформируйте матрицу Фробениуса.
2. В классе «DirectMethodsE» («Прямые методы нахождения собственных значений») реализуйте метод Данилевского («danilevskyMethod») для нахождения собственных значений и собственных векторов матрицы.
Для реализации метода используйте объекты матричных классов «FrobeniusMatrix», «SquareMatrix» и «Vector». Для выполнения основных матричных операций (перемножение матриц, умножение матрицы на вектор) используйте методы, реализованные в матричном классе «SquareMatrix».
3. Методом Данилевского найдите собственные значения и собственные векторы матрицы в соответствии с вариантом.
4. Решите ту же задачу, используя пакет для математических вычислений.
5. Сравните результат выполнения п. 3 с решением, полученным в п. 4.
Варианты заданий
|
№ 1 |
№ 2 |
|
№ 3 |
№ 4 |
|
№ 5 |
№ 6 |
|
№ 7 |
№ 8 |
|
№ 9 |
№ 10 |
|
№ 11 |
№ 12 |
|
№ 13 |
№ 14 |
|
№ 15 |
№ 16
|
П 4.2 Итерационный степенной метод нахождения наибольшего по модулю собственного значения и соответствующего собственного вектора
Рассмотрим степенной метод нахождения наибольшего по модулю собственного значения и соответствующего собственного вектора [10].
Рассмотрим вещественную квадратную матрицу
.
Пусть
–
ее собственные значения, а
– собственные вектора, соответствующие
этим собственным значениям, т.е.
.
Будем считать, что
матрица А
обладает полной системой линейно-независимых
собственных векторов, т.е. все
предполагаем линейно-независимыми.
Это будет иметь
место, например, если матрица А
симметрична (
)
или если все ее собственные значения
различны.
Тогда систему
собственных векторов
можно считать базисомn-мерного
векторного пространства.
Выберем некоторый
вектор
в качестве начального итерационного
приближения и рассмотрим следующую
последовательность векторов:
.(1)
Выразим вектор
на k-ой
итерации через вектор начального
приближения.
Разложим вектор
начального приближения
по базису
![]()
,
(2)