![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Цель работы: используя метод вращения Якоби, найти все собственные значения матрицы A и соответствующие им собственные вектора с точностью до e= 10 -3.
Рекомендация к выполнению задания
Программирование метода производится в среде разработки на выбор студента (Delphi, Borland C++, Turbo Pascal и т.д.).
Входные параметры программы:
n ´ n – размер исходной матрицы A;
проверка условия симметричности матрицы;
e – погрешность.
Примечание – в качестве входного параметра ввести возможность выбора остановки итерационного процесса.
Выходные параметры программы:
t – число итераций;
{ l1, X1 } – первая собственная пара,
........
{ ln, Xn } – n -ая собственная пара.
Отчет по самостоятельной работе должен содержать:
постановку задачи;
исходную матрицу согласно своему варианту (таблица 1);
блок-схему реализации вычисления собственных значений и соответствующих собственных векторов на ЭВМ;
программу решения задачи.
Алгоритм метода Якоби
(одна итерация)
Шаг 1.
Определятся аij – ключевой элемент преобразуемой матрицы А.
Вычисляется p = 2 аij, q = аii - аjj, .
Шаг 2.
Если , тогда
– проводится нормировка,
– вычисляется косинус угла поворота (cosa),
– вычисляется синус угла поворота (sina).
Замечание: если |p|<<|q|, то лучше использовать s = | p | sign (pq).
Если q = 0, тогда c = s = – угол поворота a = 45°.
Шаг 3.
Вычисляются новые диагональные элементы матрицы :
bii = c 2 aii+ 2 csaij+s 2 ajj,
bjj = s 2 aii- 2 csaij+c 2 ajj,
Т. к. bij = bji=0, то для контроля вычисляются
bij = bji=(c2-s2)aji – cs(aii - ajj).
Вычисляются изменяющиеся недиагональные элементы матрицы:
при m = 1, 2, …, n, m ¹ i, m ¹ j
bim = bmi=cami + samj
bjm = bmj=camj - sami.
Для всех остальных индексов m, l
bml = aml.
Дата публикования: 2015-03-29; Прочитано: 1260 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!