Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коршунов лабораторные / ЛинАлгбр алгол-пргр.rtf
Скачиваний:
19
Добавлен:
26.04.2015
Размер:
392.72 Кб
Скачать

7. Примеры использования процедур и результаты их проверки

вычисленные значения помечены тильдой, a m (А) обозначает величину max | at-f/(.

137

Алгоритм 11.1 Метод Якоби для действительных симметрических матриц

1. Теоретические предпосылки

Известно [95], что существует итерационная процедура, которая приводит исходную симметрическую матрицу к диагональному виду с помощью последовательности элементарных ортогональных преобразований (называемых вращениями Якоби, или плоскими вращениями). Процедура построена таким образом, что на k + 1-ом шаге осуществляется преобразование вида

А*-* А*+1 = UjA4U4, (1)

где U# = Uk (р, q, <р) — ортогональная матрица, отличающаяся от единичной только элементами

Upp = Uqq = COS ф И UpqUqp5Ш ф. (2)

Исходную матрицу А в соответствии с соотношением (1) обозначают через А0. В целом, метод Якоби позволяет выполнить с определенной точностью преобразование исходной матрицы к виду

А -> D = VTAV, (3)

где D — диагональная, а V — ортогональная матрица. Матрица D является пределом, к которому стремится последовательность матриц Аk при k ~> оо, а V — произведение всех промежуточных матриц плоских вращений, используемых для диагонализации исходной матрицы, т. е.

Основное достоинство метода Якоби в том, что при выполнении каждого плоского вращения уменьшается сумма квадратов внедиагональных элементов; сходимость этой суммы к нулю по мере увеличения числа шагов гарантирует сходимость процесса диагонализации. Существует множество численных схем, связанных с реализацией этого метода.

В основополагающей статье [41], относящейся к 1846 г., Якоби предложил выбирать в матрице А^ максимальный по модулю внедиагональный элемент apq* и затем осуществлять плоское вращение на такой угол ф, чтобы в матрице &k+i элемент apq стал равным нулю. Когда в 1952 г. этот метод был открыт заново [32] в связи с развитием автоматических вычислений на ЦВМ, он был видоизменен так, что выбор максимального элемента стал проводиться по строкам только для наддиагональных элементов матрицы, а угол вращения ф выбирался по-прежнему так, чтобы аннулировать максимальный по модулю элемент apq в матрице А*+1. Позднее в работе [67] была предложена стратегия, исключающая неэффективные промежуточные вращения, которая позволяла проводить диагонализацию с меньшими затратами машинного времени.

Доказательство, а также оценка сходимости метода Якоби были даны в работах [35], [79], [90]. Как показано в этих работах, оба метода — исходный и вычислительно-ориентированный [32, 67] обладают квадратичной сходимостью. Именно этот факт и объясняет тот интерес, который уделяется методу Якоби.

* Поскольку исходная матрица симметрическая, то следует проверять только наддиагональные или поддиагональные элементы.

182

, ПО МО-

, А л го-

2. Применение алгоритма

Предлагаемый алгоритм реализует построчный поиск максимального по модулю элемента в правом верхнем углу исходной симметрической матрицы, алгоритм пригоден для любых действительных симметрических матриц. Он построен таким образом, что обеспечивает точность, сравнимую с точностью ЭВМ, на которой реализован алгоритм *. Обычно для этого требуется примерно 6-—10 циклов, или приблизительно Зп2-т-5п2 вращений Якоби.

Отметим, что, хотя метод Якоби достаточно компактен и изящен, и вычисление с его помощью собственных векторов не представляет затруднений, он требует большего времени для вычислений, чем сочетание процедуры преобразования к трехдиагональной форме с последующим вычислением собственных значений трехдиагональной матрицы (например, последовательное применение процедур trea 2 и tql 2 (imtgl 2) либо процедур tred, tristurm и trbak 1.

Поэтому при больших порядках исходных матриц предпочтительнее использовать эти процедуры вместо процедуры Якоби. Более того, метод Якоби не использует преимуществ симметрических ленточных матриц, ширина которых мала по сравнению с их порядком п. Для матриц такого типа лучше применять L^-алгоритм (алгоритмы 11.15, 11.16) [72].

Соседние файлы в папке Коршунов лабораторные