Главная > Математика > Численные методы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

2. Прямой метод вращений.

Этот метод немного уступает по скорости методу отражений, однако формулы расчета в нем несколько проще. Он также устойчив и позволяет привести преобразованием подобия неэрмитову матрицу к почти треугольной форме, а эрмитову — к трехдиагональной.

Метод основан на специально подобранном вращении координатной системы. Поэтому исследуем свойства вращений. Любое вращение можно свести к последовательности элементарных (плоских) вращений — поворотов в двумерной плоскости, проходящей через оси координат; остальные оси координат при этом неподвижны. Для комплексных векторов матрица элементарного вращения имеет следующий вид:

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

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

Построим формулы для преобразования матрицы А при элементарном вращении. Матрица отличается от матрицы А элементами столбцов; остальные элементы у них совпадают:

Аналогично, матрица отличается от матрицы В только элементами строк:

Следовательно, матрица отличается от матрицы А лишь двумя строками и двумя столбцами. Формулы для вычисления элементов этих строк и столбцов написать нетрудно, но в этом нет необходимости; удобнее программировать на ЭВМ непосредственно формулы (43)-(44). Заметим, что если матрица А эрмитова, то матрица С также будет эрмитова; тогда в изменившихся столбцах и строках достаточно вычислить только половину элементов и тем самым вдвое уменьшить объем расчетов.

Рис. 33.

Найдем такую последовательность элементарных вращений, которая приводит произвольную (неэрмитову) матрицу А к верхней почти треугольной форме.

Можно так подобрать угол поворота в матрице чтобы уничтожить элемент расположенный непосредственно перед левым нижним углом подматрицы плоского поворота (рис. 33, а). Из формул (43) и (44) видно, что для этого надо положить

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

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

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

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

Для полученной трехдиагональной (или почти треугольной) матрицы можно вычислять собственные значения и собственные векторы способами, изложенными в § 1. Найденные собственные значения будут одновременно собственными значениями исходной матрицы. А собственные векторы исходной матрицы связаны с собственными векторами трехдиагональной матрицы соотношением

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

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

На приведение эрмитовой матрицы к трехдиагональной форме и нахождение всех собственных значений в методе вращений требуется около арифметических действий и ячеек оперативной памяти. Для нахождения каждого собственного вектора надо затратить еще действий. Собственные значения и собственные векторы в этом методе определяются устойчиво (если унитарность не нарушена ошибками округления).

<< Предыдущий параграф Следующий параграф >>
Оглавление