Курсовая работа: Итерационный метод вращений Якоби

Целью данной работы является изучение метода вращений, применение данного метода для вычисления собственных значений и собственных векторов симметричной матрицы и реализация этого метода на ЭВМ.


Дата добавления на сайт: 14 февраля 2025
Реферат

Целью данной работы является изучение метода вращений, применение данного метода для вычисления собственных значений и собственных векторов симметричной матрицы и реализация этого метода на ЭВМ.
Пояснительная записка к курсовому проекту состоит из двух основных частей: теоретической и практической. В первой части рассматривается сущность метода Данилевского. Практическая часть содержит разработку программного кода для вычисления собственных значений и собственных векторов матрицы на языке программирования С Sharp.
При написании пояснительной записки было использовано 7 литературных источников.
Перечень ключевых слов: собственные значения, собственные вектора, вращение Якоби, симметричная матрица.

Содержание


Введение
. Теоретическая часть
.1 Собственные значения и собственные вектора матрицы
.2 Итерационный метод вращений Якоби решения симметричной полной проблемы собственных значений
.3 Метод вращений Якоби
.4 Решение обобщенной проблемы собственных значений
. Практическая часть
.1 Пример решения
.2 Реализация на ЭВМ
Заключение
Список литературы
Приложение 1. Листинг программы
Приложение 2. Пример результата работы программы

Введение

Целый ряд инженерных задач сводится к рассмотрению систем уравнений, имеющих единственное решение лишь в том случае, если известно значение некоторого входящего в них параметра. Этот особый параметр называется характеристическим, или собственным значением системы. С задачами на собственные значения инженер сталкивается в различных ситуациях. Так, для тензоров напряжений собственные значения определяют главные нормальные напряжения, а собственными векторами задаются направления, связанные с этими значениями. При динамическом анализе механических систем собственные значения соответствуют собственным частотам колебаний, а собственные вектора характеризуют моды этих колебаний. При расчете конструкций собственные значения позволяют определять критические нагрузки, превышение которых приводит к потере устойчивости. Выбор наиболее эффективного метода определения собственных значений или собственных векторов для данной инженерной задачи зависит от ряда факторов, таких, как тип уравнений, число искомых собственных значений и их характер. Алгоритмы решения задач на собственные значения делятся на две группы. Итерационные методы очень удобны и хорошо приспособлены для определения наименьшего и наибольшего собственных значений. Методы преобразований подобия несколько сложней, зато позволяют определить все собственные значения и собственные векторы. В данной работе будет рассмотрен метод вращений Якоби. Однако сначала приведем некоторые основные сведения из теории матричного и векторного исчислений, на которых базируются методы определения собственных значений.

1. Теоретическая часть


.1 Собственные значения и собственные вектора матрицы


Рассмотрим квадратную матрицу n-ого порядка:

Итерационный метод вращений Якоби (рис. 1)

Собственные значения li Итерационный метод вращений Якоби (рис. 2) квадратной матрицы A есть действительные или комплексные числа, удовлетворяющие условию:

Итерационный метод вращений Якоби (рис. 3),

E - единичная матрица, Итерационный метод вращений Якоби (рис. 4) - собственный вектор матрицы A, соответствующий некоторому собственному значению l.
Матрица Итерационный метод вращений Якоби (рис. 5) называется характеристической матрицей матрицы A. Т.к. в матрице Итерационный метод вращений Якоби (рис. 6) по главной диагонали стоят l, а все остальные элементы равны нулю, то характеристическая матрица имеет вид:

Итерационный метод вращений Якоби (рис. 7)

Определитель этой матрицы называется характеристическим или вековым определителем и равен:
Итерационный метод вращений Якоби (рис. 8)

В развернутом виде он является многочленом n-ой степени относительно l, т.к. при вычислении этого определителя произведение элементов главной диагонали дает многочлен со старшим членом Итерационный метод вращений Якоби (рис. 9), т.е.

Итерационный метод вращений Якоби (рис. 10)

и называется характеристическим многочленом. Корни Итерационный метод вращений Якоби (рис. 11) этого многочлена - собственные значения или характеристические числа матрицы A. Числа Итерационный метод вращений Якоби (рис. 12) называются коэффициентами характеристического многочлена.
Ненулевой вектор Итерационный метод вращений Якоби (рис. 13) называется собственным вектором матрицы A, если эта матрица переводит вектор X в вектор

Итерационный метод вращений Якоби (рис. 14),

т.е. произведение матрицы A на вектор X и произведение характеристического числа l на вектор X есть один и тот же вектор. Каждому собственному значению Итерационный метод вращений Якоби (рис. 15) матрицы соответствует свой собственный вектор Итерационный метод вращений Якоби (рис. 16).
Для определения координат собственного вектора составляется характеристическое уравнение: Итерационный метод вращений Якоби (рис. 17). Переписав его в векторном виде и выполнив умножение, получим систему линейных однородных уравнений:

Итерационный метод вращений Якоби (рис. 18)

Определитель этой системы равен нулю, т.к. из этого условия были определены собственные значения матрицы A. Следовательно, система имеет бесконечное множество решений. Ее можно решить с точностью до постоянного множителя (как систему однородных уравнений). Решив эту систему, мы найдем все координаты собственного вектора X. Подставляя в систему однородных уравнений поочередно Итерационный метод вращений Якоби (рис. 19), получаем n собственных векторов.

.2 Итерационный метод вращений Якоби решения симметричной полной проблемы собственных значений

матрица вектор эрмитовый итерационный
Метод вращений применим к эрмитовым матрицам с комплексными элементами. Для простоты рассмотрим частный случай эрмитовых матриц - действительных симметричных.
Известно, что всякая симметричная действительная матрица Итерационный метод вращений Якоби (рис. 20) может быть приведена к диагональному виду преобразованием

Итерационный метод вращений Якоби (рис. 21), (1)

где Итерационный метод вращений Якоби (рис. 22) - некоторая ортогональная матрица; Итерационный метод вращений Якоби (рис. 23)- диагональная матрица, элементами которой являются собственные числа Итерационный метод вращений Якоби (рис. 24) матрицы Итерационный метод вращений Якоби (рис. 25).
Так как для ортогональной матрицы обратная матрица совпадает с транспонированной матрицей: Итерационный метод вращений Якоби (рис. 26), то равенство (1) равносильно следующему

Итерационный метод вращений Якоби (рис. 27). (2)

На основе этого равенства можно построить ряд методов, отличающихся способом вычисления матрицы Итерационный метод вращений Якоби (рис. 28). Все методы базируются на следующем равенстве:

Итерационный метод вращений Якоби (рис. 29), (3)

где Итерационный метод вращений Якоби (рис. 30) - некоторая ортогональная матрица, которая несложно вычисляется; Итерационный метод вращений Якоби (рис. 31) - квадратная матрица с близкими к нулю недиагональными элементами, так как найти Итерационный метод вращений Якоби (рис. 32) в общем случае трудоемко:

Итерационный метод вращений Якоби (рис. 33). (4)

Естественно предполагать, что коэффициенты Итерационный метод вращений Якоби (рис. 34), Итерационный метод вращений Якоби (рис. 35), будут близки к собственным числам матрицы Итерационный метод вращений Якоби (рис. 36).
Введем обозначение для суммы квадратов модулей недиагональных элементов по строкам:

Итерационный метод вращений Якоби (рис. 37)Итерационный метод вращений Якоби (рис. 38). (5)

За меру близости матрицы Итерационный метод вращений Якоби (рис. 39) к диагональному виду примем число:
Итерационный метод вращений Якоби (рис. 40). (6)

Пусть с помощью преобразования подобия с ортогональными матрицами построена последовательность матриц: Итерационный метод вращений Якоби (рис. 41). Процесс построения этих матриц называется монотонным, если Итерационный метод вращений Якоби (рис. 42).
Таких процессов может быть построено большое число. Рассмотрим метод вращений. Он достаточно прост по вычислительной схеме и обладает быстрой сходимостью.

.3 Метод вращений Якоби


В методе вращений последовательность матриц строится с помощью ортогональной матрицы вращения:

Итерационный метод вращений Якоби (рис. 43) (7)
Матрица вращений Итерационный метод вращений Якоби (рис. 44) получается из единичной матрицы заменой ее элементов на пересечениях Итерационный метод вращений Якоби (рис. 45)- х и Итерационный метод вращений Якоби (рис. 46)- х строк и столбцов записанными элементами.
Предположим, что преобразования доведены до шага номера Итерационный метод вращений Якоби (рис. 47) и построена матрица Итерационный метод вращений Якоби (рис. 48). Найдем в ней наибольший по модулю недиагональный элемент Итерационный метод вращений Якоби (рис. 49). Если таких элементов несколько, то рассматриваем любой из них. По индексам Итерационный метод вращений Якоби (рис. 50), Итерационный метод вращений Якоби (рис. 51) найденного наибольшего по модулю недиагонального элемента строим матрицу вращения Итерационный метод вращений Якоби (рис. 52), в которой угол Итерационный метод вращений Якоби (рис. 53) пока не определен. Далее образуем матрицу

Итерационный метод вращений Якоби (рис. 54). (8)

Введем обозначения:

Итерационный метод вращений Якоби (рис. 55).

Ввиду особой структуры матрицы Итерационный метод вращений Якоби (рис. 56) (7) все столбцы матрицы Итерационный метод вращений Якоби (рис. 57), кроме Итерационный метод вращений Якоби (рис. 58)- го и Итерационный метод вращений Якоби (рис. 59)- го, будут такими же, как и в матрице Итерационный метод вращений Якоби (рис. 60). Элементы столбцов номеров Итерационный метод вращений Якоби (рис. 61) и Итерационный метод вращений Якоби (рис. 62) будут вычисляться по формулам:

Итерационный метод вращений Якоби (рис. 63);
Итерационный метод вращений Якоби (рис. 64). (9)

Аналогично строки матрицы Итерационный метод вращений Якоби (рис. 65), кроме Итерационный метод вращений Якоби (рис. 66)- й и Итерационный метод вращений Якоби (рис. 67)- й, будут такими же, как в матрице Итерационный метод вращений Якоби (рис. 68), а элементы ее строк Итерационный метод вращений Якоби (рис. 69)- й и Итерационный метод вращений Якоби (рис. 70)- й вычисляется по формулам:

Итерационный метод вращений Якоби (рис. 71);
Итерационный метод вращений Якоби (рис. 72). (10)

Равенства (9) и (10) позволяют несложно вычислить коэффициенты

Итерационный метод вращений Якоби (рис. 73)
Итерационный метод вращений Якоби (рис. 74),

которые в силу равенства Итерационный метод вращений Якоби (рис. 75) преобразуются к следующему виду:

Итерационный метод вращений Якоби (рис. 76). (11)

Сейчас назначим в выражении (11) такое значение угла Итерационный метод вращений Якоби (рис. 77), чтобы рассматриваемый элемент Итерационный метод вращений Якоби (рис. 78) обратился в нуль. Из этого условия получаем выражение:

Итерационный метод вращений Якоби (рис. 79),

из которого находим значение угла

Итерационный метод вращений Якоби (рис. 80) (12)
Убедимся, что полученная таким образом матрица Итерационный метод вращений Якоби (рис. 81) ближе к диагональному виду, чем предшествующая Итерационный метод вращений Якоби (рис. 82). Для этого вычислим Итерационный метод вращений Якоби (рис. 83)- меру близости матрицы Итерационный метод вращений Якоби (рис. 84) к диагональному виду. Пусть матрица Итерационный метод вращений Якоби (рис. 85) имеет меру ее близости к диагональному виду Итерационный метод вращений Якоби (рис. 86). Матрица Итерационный метод вращений Якоби (рис. 87) симметрична и на основании выражений (9) - (11) можно показать, что

Итерационный метод вращений Якоби (рис. 88), (13)

так как Итерационный метод вращений Якоби (рис. 89) есть наибольший по модулю недиагональный элемент, отличный от нуля, который исключен при получении матрицы Итерационный метод вращений Якоби (рис. 90).
Тогда на основании выражения (13) верно неравенство:

Итерационный метод вращений Якоби (рис. 91).

Следовательно, мера Итерационный метод вращений Якоби (рис. 92) уменьшиться при преобразовании (8).
Оценим скорость стремления к нулю величины Итерационный метод вращений Якоби (рис. 93) при преобразованиях исходной матрицы согласно выражению (8).
По выбору элемента Итерационный метод вращений Якоби (рис. 94) как наибольшего по модулю справедливо неравенство

Итерационный метод вращений Якоби (рис. 95)

и, следовательно,
Итерационный метод вращений Якоби (рис. 96). (14)

С помощью этого неравенства из выражения (13) получается

Итерационный метод вращений Якоби (рис. 97), (15)

где

Итерационный метод вращений Якоби (рис. 98).

Пусть значение Итерационный метод вращений Якоби (рис. 99). Тогда величина Итерационный метод вращений Якоби (рис. 100) и из неравенства (15) вытекает цепочка неравенств

Итерационный метод вращений Якоби (рис. 101).

Так как Итерационный метод вращений Якоби (рис. 102), то для меры близости матрицы Итерационный метод вращений Якоби (рис. 103) к диагональному виду Итерационный метод вращений Якоби (рис. 104) будем иметь оценку

Итерационный метод вращений Якоби (рис. 105)

Отсюда следует, что Итерационный метод вращений Якоби (рис. 106) со скоростью не меньшей, чем скорость сходимости геометрической прогрессии со знаменателем Итерационный метод вращений Якоби (рис. 107).
Рассмотренный метод преобразования подобия с ортогональной матрицей требует выбора среди недиагональных элементов преобразуемой матрицы наибольшего по модулю. Для этого необходимо выполнить приблизительно Итерационный метод вращений Якоби (рис. 108) операций.
Существуют и другие методы выбора наибольшего по модулю элемента, предназначенного для исключения. Например, можно выбрать наибольшую из сумм (5). Если это есть Итерационный метод вращений Якоби (рис. 109), то в качестве элемента Итерационный метод вращений Якоби (рис. 110) можно выбрать наибольший по модулю элемент из найденной строки Итерационный метод вращений Якоби (рис. 111). При таком правиле выбора элемента Итерационный метод вращений Якоби (рис. 112) необходимо выполнить примерно Итерационный метод вращений Якоби (рис. 113) операций. Отметим, что оценка (16) для такого метода выбора наибольшего по модулю элемента, предназначенного для исключения, сохраняется.

.4 Решение обобщенной проблемы собственных значений


Определение 1. Пусть Итерационный метод вращений Якоби (рис. 114) и Итерационный метод вращений Якоби (рис. 115) некоторые квадратные матрицы. Тогда задача нахождения чисел Итерационный метод вращений Якоби (рис. 116) и ненулевых векторов Итерационный метод вращений Якоби (рис. 117), в общем случае комплексных, являющихся решениями уравнения Итерационный метод вращений Якоби (рис. 118), называется обобщенной проблемой собственных значений. Искомые числа Итерационный метод вращений Якоби (рис. 119) называются собственными числами проблемы, а ненулевые векторы Итерационный метод вращений Якоби (рис. 120) - собственными векторами, соответствующими этим собственными числам Итерационный метод вращений Якоби (рис. 121).
Определение 2. Матрица Итерационный метод вращений Якоби (рис. 122) называется матричным пучком и обозначается Итерационный метод вращений Якоби (рис. 123).
Если матрица Итерационный метод вращений Якоби (рис. 124) невырожденная, то обобщенная проблема собственных значений эквивалентна стандартной проблеме собственных значений Итерационный метод вращений Якоби (рис. 125) с матрицей Итерационный метод вращений Якоби (рис. 126).
Решение ряда задач сводится к обобщенной проблеме собственных значений с симметричными действительными положительно определенными матрицами Итерационный метод вращений Якоби (рис. 127), Итерационный метод вращений Якоби (рис. 128):

Итерационный метод вращений Якоби (рис. 129). (1)

Тогда все собственные числа обобщенной проблемы положительны (неотрицательны).
Сведение обобщенной проблемы собственных значений с симметричными матрицами к стандартной проблеме собственных значений Итерационный метод вращений Якоби (рис. 130) невыгодно, так как в ней матрица Итерационный метод вращений Якоби (рис. 131) несимметричная. Как известно, симметричные матрицы имеют ряд полезных свойств, которые позволяют построить эффективные методы различных вычислений. Поэтому сознательно терять полезные свойства исходной проблемы невыгодно. В связи с этим для решения обобщенной проблемы собственных значений с симметричными матрицами разработаны специальные методы, которые, по сравнению с общими методами, позволяют решать проблему более эффективно.
Отметим, что обобщенная проблема собственных значений с симметричными действительными положительно определенными матрицами возникает, например, при определении собственных частот линейных колебательных систем с распределенными параметрами вариационными методами математической физики, в том числе методом конечных элементов. При анализе частот собственных колебаний конструкции необходимо решать уравнение (1), в котором искомая величина Итерационный метод вращений Якоби (рис. 132) явно выражена через частоту собственных колебаний конструкции; Итерационный метод вращений Якоби (рис. 133) - общая матрица жесткости конструкции; Итерационный метод вращений Якоби (рис. 134) - матрица масс; Итерационный метод вращений Якоби (рис. 135) - форма собственных колебаний.
Среди методов решения обобщенной проблемы собственных значений с симметричными матрицами одно семейство методов состоит в сведении проблемы к стандартной проблеме собственных значений с симметричной матрицей. Рассмотрим два метода этого семейства, в которых применяются теоретические результаты вычислительной математики, изложенные ранее.
Рассмотрим первый метод. С помощью преобразования подобия представим в уравнении (1) матрицу Итерационный метод вращений Якоби (рис. 136) в виде разложения на множители:

Итерационный метод вращений Якоби (рис. 137), (3)
где Итерационный метод вращений Якоби (рис. 138) - ортогональная матрица; Итерационный метод вращений Якоби (рис. 139) - диагональная матрица, ненулевые элементы которой равны: Итерационный метод вращений Якоби (рис. 140), Итерационный метод вращений Якоби (рис. 141); Итерационный метод вращений Якоби (рис. 142), Итерационный метод вращений Якоби (рис. 143) - собственные числа матрицы Итерационный метод вращений Якоби (рис. 144), при этом Итерационный метод вращений Якоби (рис. 145), Итерационный метод вращений Якоби (рис. 146); Итерационный метод вращений Якоби (рис. 147); Итерационный метод вращений Якоби (рис. 148) - диагональная матрица, ненулевые элементы которой равны: Итерационный метод вращений Якоби (рис. 149), Итерационный метод вращений Якоби (рис. 150).
Единственное и решающее использование этого свойства в рассматриваемом методе - свойство положительной определенности матрицы Итерационный метод вращений Якоби (рис. 151), состоящее в том, что все ее собственные числа положительные. Следовательно, можно получить вещественную матрицу Итерационный метод вращений Якоби (рис. 152).
Матрицы Итерационный метод вращений Якоби (рис. 153) и Итерационный метод вращений Якоби (рис. 154) могут быть найдены, например, с помощью процедуры метода вращений, изложенной ранее.
Согласно формуле (3) подставим матрицу Итерационный метод вращений Якоби (рис. 155) в уравнение (1), получим

Итерационный метод вращений Якоби (рис. 156).

Умножая полученное равенство слева на матрицу Итерационный метод вращений Якоби (рис. 157), получим:

Итерационный метод вращений Якоби (рис. 158). (4)

Представим

Итерационный метод вращений Якоби (рис. 159) (5)

и, подставляя это выражение в уравнение (4), приведем его сначала к виду

Итерационный метод вращений Якоби (рис. 160),
а затем запишем так

Итерационный метод вращений Якоби (рис. 161). (6)

Уравнение (6) можно представить в стандартном виде

Итерационный метод вращений Якоби (рис. 162), (7)

где Итерационный метод вращений Якоби (рис. 163) - симметричная матрица.

Итерационный метод вращений Якоби (рис. 164)

Так как в уравнении (7) матрица Итерационный метод вращений Якоби (рис. 165) симметричная, то для нахождения ее собственных чисел и собственных векторов можно второй раз применить метод вращений. В результате применения метода вращений получаются множители разложения для матрицы Итерационный метод вращений Якоби (рис. 166) в виде:

Итерационный метод вращений Якоби (рис. 167) (8)

где Итерационный метод вращений Якоби (рис. 168) - ортогональная матрица; Итерационный метод вращений Якоби (рис. 169) - диагональная матрица.
На основании выражений (7), (8) запишем равенство

Итерационный метод вращений Якоби (рис. 170),

из которого следует

Итерационный метод вращений Якоби (рис. 171), (9)

где Итерационный метод вращений Якоби (рис. 172) - ортогональная матрица, равная произведению обратимых матриц.

Итерационный метод вращений Якоби (рис. 173)

Результат двойного применения метода вращений можно представить в виде преобразования подобия пары исходных матриц Итерационный метод вращений Якоби (рис. 174), Итерационный метод вращений Якоби (рис. 175) (пучка матриц Итерационный метод вращений Якоби (рис. 176)) с помощью ортогональной матрицы Итерационный метод вращений Якоби (рис. 177), которое дает Итерационный метод вращений Якоби (рис. 178) - матрицу собственных чисел исходной проблемы (1).
Собственные векторы проблемы (7) связаны с векторами исходной проблемы (1) соотношением (5).
Рассмотрим второй метод. Представим матрицу Итерационный метод вращений Якоби (рис. 179) в виде произведения двух треугольных матриц, полученных по схеме метода квадратных корней

Итерационный метод вращений Якоби (рис. 180), (10)

где Итерационный метод вращений Якоби (рис. 181) - правая треугольная матрица разложения по схеме метода квадратных корней (разложение Холецкого, см. формулы (11) подраздела).
Подставляя выражение (10) для матрицы Итерационный метод вращений Якоби (рис. 182) в уравнение (1) и умножая его слева на матрицу Итерационный метод вращений Якоби (рис. 183), получим

Итерационный метод вращений Якоби (рис. 184).

Затем, подставляя в это уравнение Итерационный метод вращений Якоби (рис. 185), получим

Итерационный метод вращений Якоби (рис. 186), (11)

где Итерационный метод вращений Якоби (рис. 187) - симметричная матрица.
Так как в уравнении (11) матрица Итерационный метод вращений Якоби (рис. 188) симметричная, то для решения получившейся стандартной проблемы собственных значений Итерационный метод вращений Якоби (рис. 189) можно применить метод вращений.
Замечания. 1. Если собственные числа или собственные векторы матрицы найдены недостаточно точно, то их можно уточнить существующими методиками уточнения отдельного собственного значения и соответствующего собственного вектора.
. Разработаны методы уточнения приближенного решения полной проблемы собственных значений.
. Разработаны методики ускорения сходимости при решении проблем собственных значений как частичных, так и полной.

2. Практическая часть


.1 Пример решения


Найти собственные значения и собственные вектора для матрицы

. Положим .
. Выделим максимальный по модулю элемент в над диагональной части: . Так как , то процесс продолжается.
3. Находим угол поворота:

Итерационный метод вращений Якоби (рис. 190)

. Сформируем матрицу вращения:
Итерационный метод вращений Якоби (рис. 191)
. Выполним первую итерацию:

Итерационный метод вращений Якоби (рис. 192)

Положим и перейдем к пункту 2.
(1). Максимальный по модулю над диагональный элемент
Так как , процесс продолжается.
(1). Найдем угол поворота:
Итерационный метод вращений Якоби (рис. 193)

(1). Сформируем матрицу вращения:
Итерационный метод вращений Якоби (рис. 194)
(1). Выполним вторую итерацию:

Итерационный метод вращений Якоби (рис. 195)

Положим и перейдем к пункту 2.
(2) Максимальный по модулю над диагональный элемент
.
(2). Найдем угол поворота:

Итерационный метод вращений Якоби (рис. 196)

(2). Сформируем матрицу вращения
Итерационный метод вращений Якоби (рис. 197)
(2). Выполним третью итерацию и положим и перейдем к пункту 2:

Итерационный метод вращений Якоби (рис. 198)
(3). Максимальный по модулю над диагональный элемент
(3). Найдем угол поворота:

Итерационный метод вращений Якоби (рис. 199)

(3). Сформируем матрицу вращения:
Итерационный метод вращений Якоби (рис. 200)
(3). Выполним четвертую итерацию и положим и перейдем к пункту 2:

Итерационный метод вращений Якоби (рис. 201)

(4). Так как , процесс повторяется
(4). Найдем угол поворота

Итерационный метод вращений Якоби (рис. 202)

(4). Сформируем матрицу вращения:
Итерационный метод вращений Якоби (рис. 203)
(4). Выполним пятую итерацию и положим и перейдем к пункту 2:

Итерационный метод вращений Якоби (рис. 204)

(5). Так как наибольший по модулю над диагональный элемент удовлетворяет условию , процесс завершается.
Собственные значения: Итерационный метод вращений Якоби (рис. 205)
Для нахождения собственных векторов вычислим

Итерационный метод вращений Якоби (рис. 206)

отсюда
Итерационный метод вращений Якоби (рис. 207)
или после нормировки
Итерационный метод вращений Якоби (рис. 208)

.2 Реализация на ЭВМ


Алгоритм метода вращений
1) Положить и задать .
) Выделить в верхней треугольной над диагональной части матрицы максимальный по модулю элемент .
Если для всех , процесс завершить. Собственные значения определяются по формуле

.

Собственные векторы находятся как i-e столбцы матрицы, получающейся в результате перемножения:

Итерационный метод вращений Якоби (рис. 209)Итерационный метод вращений Якоби (рис. 210)

Если , процесс продолжается.
) Найти угол поворота по формуле.
) Составить матрицу вращения .
) Вычислить очередное приближение

Положить и перейти к пункту 2.
Замечания:
Используя обозначение

,

можно в пункте 3 алгоритма вычислять элементы матрицы вращения по формулам

Итерационный метод вращений Якоби (рис. 211),
Итерационный метод вращений Якоби (рис. 212)

Контроль правильности выполнения действий по каждому повороту осуществляется путем проверки сохранения следа преобразуемой матрицы.

Заключение

При выполнении данной курсовой работы был изучен метод вращения Якоби решения симметрически полной проблемы собственных значений.
Этот метод при небольших размерах матриц дает неплохие результаты, и позволяет с большой точностью вычислять собственные пары. При больших размерах матриц реализация метода наталкивается на существенные потери машинных ресурсов (из-за необходимости поиска максимального элемента матрицы, и перемножения матриц большой размерности). Так же резко сужает возможность применить данный метод на практике то, что он может быть применен только к симметрическим, вещественным матрицам. Ввиду вышесказанного, этот метод на практике применяется редко, чаще применяется циклический метод Якоби с барьерами. Скорость сходимости которого так же асимптотически квадратичная.

Список литературы


Бахвалов Н.С. Численные методы. М.: Наука, 1987. 600 с.
Бусленко H. П., Голенко Д.И., Соболь И.М., Срагович В.Г., Шрейдер Ю.А.. Метод статистических испытаний (метод Монте-Карло). М.: Физматгиз, 1962. 332 с.
Бусленко Н.П., Шрейдер Ю.А. Метод статистических испытаний (Монте-Карло) и его реализация на цифровых вычислительных машинах. М.: Государственное издательство физико-математической литературы, 1961. 226 с.
Демидович Б.П., Марон И.А. Основы вычислительной математики. М.: Наука, 1966. 664 с.
Ермаков С.М. Метод Монте-Карло и смежные вопросы. М.: Наука, 1975. 294 с.
Калиткин Н.Н. Численные методы. М.: Наука, 1978. 512 с.
Копчёнова Н.В., Марон И.А. Вычислительная математика в примерах и задачах. М.: Наука, 1972. 368 с.

Приложение 1. Листинг программы


using System;System.Collections.Generic;System.Linq;System.Text;Числаки
{RotationMethod
{static double Max(double[,] matrix, out int index_i, out int index_j)
{_i = 0;_j = 1;max = Math.Abs(matrix[1,0]);(int i = 0; i max)
{= Math.Abs(matrix[i, j]);_i = i;_j = j;
}max;
}static double[,] CreateRotationMatrix(int rows, int columns, int i, int j, double cos_phi, double sin_phi)
{[,] matrix_h = new double[rows, columns];_h[i,i] = cos_phi;_h[j,j] = cos_phi;_h[i,j] = - sin_phi;_h[j,i] = sin_phi;(int k = 0; k eps)
{++;= Max(matrix_a, out i, out j);.WriteLine("Max={0:0.###},\ti={1:0.###},\tj={2:0.###}", max, i, j);_phi = Math.Sqrt(0.5 * (1 + 1 / Math.Sqrt(1 + (2 * matrix_a[i, j] / (matrix_a[i, i] - matrix_a[j, j])) * (2 * matrix_a[i, j] / (matrix_a[i, i] - matrix_a[j, j])))));_phi = Math.Sqrt(0.5 * (1 - 1 / Math.Sqrt(1 + (2 * matrix_a[i, j] / (matrix_a[i, i] - matrix_a[j, j])) * (2 * matrix_a[i, j] / (matrix_a[i, i] - matrix_a[j, j])))));.WriteLine("Cos_phi={0}\tSin_phi={1}", cos_phi, sin_phi);_h = "Матрица H_" + count + ":";_h = CreateRotationMatrix(matrix_a.GetLength(0), matrix_a.GetLength(1), i, j, cos_phi, sin_phi);(title_h, matrix_h);_a = "Матрица A_" + count + ":";_a = Multiply(Multiply(Transpose(matrix_h), matrix_a), matrix_h);(title_a, matrix_a);_vector = Multiply(matrix_vector, matrix_h);
}(int l = 0; l < vector_eigenvals.GetLength(0); l++)_eigenvals[l] = matrix_a[l, l];vector_eigenvals;
}void PrintMatrix(string header, Array matrix)
{i = 0;.WriteLine();.WriteLine(header);(object x in matrix)
{(i == matrix.GetLength(1))
{.WriteLine();= 0;
}++;.Write("{0,11:0.#######}", x);
}.WriteLine();.WriteLine();
}void PrintVector(string header, string index, Array vector)
{i = 1;.WriteLine();.WriteLine(header);(object x in vector)
{.WriteLine("{0,6}[{1}]={2}", index, i, x);++;
}
}void Main()
{
{[,] matrix = { { 5, 1, 2 }, { 1, 4, 1 }, { 2, 1, 3 } };eps = 1e-3;[,] matrix_vector = new double[matrix.GetLength(0), matrix.GetLength(1)];[] vector_eigenvals = new double[matrix.GetLength(0)];("Исходная матрица:", matrix);_eigenvals = Rotation(matrix, eps, out matrix_vector);("Собственные значения", "lambda", vector_eigenvals);("Собственные вектора:", matrix_vector);
Console.ReadLine();
}(Exception e)
{.WriteLine(e.Message);.ReadLine();
}
}
}
}

Приложение 2. Пример результата работы программы




Комментарии:

Вы не можете оставлять комментарии. Пожалуйста, зарегистрируйтесь.