
- •Проблема собственных значений Введение
- •1. Необходимые сведения из линейной алгебры
- •1.1 Обозначения
- •1.2 Основные определения
- •1.2.1 Матричные операции
- •1.2.2 Преобразование подобия
- •1.2.3 Матрицы со специальными свойствами
- •1.3 Проблема собственных значений
- •1.3.1 Собственные значения и векторы
- •1.3.2 Характеристическое уравнение
- •1.3.3 Собственные значения и собственные векторы диагональных матриц
- •1.3.4 Связь между собственными значениями и векторами подобных матриц
- •1.3.5 Матрицы простой структуры
- •2. Численные методы решения проблемы собственных значений
- •2.1 Классификация задач
- •2.2 Методы решения полной проблемы собственных значений
- •2.2.1 Метод Якоби
- •2.2.3 Приведение симметричной матрицы к трехдиагональной форме с помощью преобразований Хаусхолдера.
- •2.3 Методы решения частичной проблемы собственных значений
- •2.3.1 Прямые итерации
- •2.3.2 Обратные итерации
- •2.3.3 Последовательность Штурма и метод бисекции
2.2 Методы решения полной проблемы собственных значений
Большинство методов
решения полной проблемы
основано на применении
преобразований подобия
(5), чтобы перейти от исходной
матрицы A
к подобной ей диагональной
матрице
,
для которой решение является
тривиальным. Поэтому
нахождение собственных
значений часто называют
диагонализацией
матрицы.
Особенно удобны преобразования
с помощью унитарных или
ортогональных матриц,
поскольку в этом случае можно
обойтись без вычисления
обратной матрицы (
или
).
2.2.1 Метод Якоби
Метод Якоби (называемый также методом вращений) заключается в диагонализации симметричной матрицы путем последовательных преобразований подобия с помощью матриц элементарных поворотов (9). Вероятно, это самый простой, но далеко не самый быстрый метод решения полной проблемы собственных значений.
Нетрудно убедиться, что преобразование
(19)
изменяет только значения элементов, находящихся в двух строках и двух столбцах с номерами i и j. При этом для сумм квадратов недиагональных элементов выполняется соотношение
, (20)
где
.
Выбирая угол поворота
надлежащим образом, можно
сделать недиагональные
элементы преобразованной
матрицы
и
нулевыми. Для этого достаточно
определить
из условия
(21)
Преобразование подобия (19) с углом поворота, определяемым по уравнению (21), называется якобиевым вращением.
Заметим, что при практической реализации метода Якоби не нужно явным образом определять значение и вычислять тригонометрические функции. Вводя обозначения
и пользуясь тригонометрическим
тождеством, связывающим
и
,
получаем:
.
Таким образом, t является корнем квадратного уравнения
,
причем из условия
следует, что это наименьший
по абсолютной величине
из двух корней (другому корню
отвечает угол поворота
).
Поэтому
,
а элементы матрицы поворота вычисляются по формулам:
.
Ограничение угла наименьшим возможным значением связано с условием сходимости метода.
Из соотношения (20) следует,
что после якобиева
вращения с индексами
(i,
j)
сумма квадратов недиагональных
элементов уменьшается на
величину
,
где aij
– величина недиагонального
элемента до преобразования.
Выбирая для каждого
следующего преобразования
пару индексов (i,
j),
которым отвечает наибольший
по абсолютной величине
недиагональный элемент,
добьемся максимально
быстрого убывания суммы
квадратов недиагональных
элементов. Поскольку величина
суммы квадратов неотрицательна
и монотонно уменьшается
на каждом шаге алгоритма
Якоби, ее можно сделать сколь
угодно малой, т. е. практически
превратить матрицу в
диагональную с любой
желаемой степенью
точности. При этом собственные
векторы исходной матрицы,
согласно (18), получаются
как произведение матриц
всех выполненных элементарных
поворотов. Так как матрицы
Гивенса (9) являются
ортогональными, то их
произведение также будет
ортогональной матрицей.
Тем самым гарантируется
ортонормированность
собственных векторов,
найденных с помощью метода
Якоби, независимо от
вырождения собственных
значений.
Проведенное выше рассмотрение показывает, что последовательность якобиевых вращений гарантирует сходимость симметричной матрицы к диагональной форме. Однако остается открытым вопрос, будут ли диагональные элементы сходиться к определенным собственным значениям, или же они будут постоянно меняться местами, поскольку каждое вращение преобразует не только внедиагональные, но и диагональные элементы? Оказывается, выбор большего из двух возможных углов поворота ведет к изменению относительного порядка диагональных элементов, тогда как меньший угол обеспечивает сохранение их упорядоченности. Именно этим объясняется ограничение в уравнении (21) для угла якобиева вращения.
Заметим, что недиагональные элементы, сделанные однажды нулевыми, могут на последующих шагах алгоритма снова стать отличными от нуля. Соотношения (20) и (21) обеспечивают общую сходимость процесса, однако нельзя заранее сказать, сколько шагов потребуется для того, чтобы все недиагональные элементы не превышали заданного порога малости. Скорее всего, для каждой пары индексов (i, j) элементарные преобразования подобия придется выполнить несколько раз. Более детальный анализ метода показывает, что требуется 3-4 предварительных прохода по всем недиагональным элементам, после чего возникают условия для быстрой (асимптотически квадратичной) сходимости к диагональной матрице.
На практике не всегда очередное преобразование проводят для максимального недиагонального элемента. Дело в том, что выбор наибольшего значения требует на каждом шаге сравнения N(N1)/2 элементов, что приводит к существенным затратам времени. Чаще просто циклически перебирают все возможные пары (i, j), пропуская те из них, для которых |aij| оказывается меньше некоторого граничного значения. Однако, скорость сходимости при этом будет меньше максимально возможной.
2.2.2 QR- и QL-алгоритмы
Эти алгоритмы основаны на представлении произвольной матрицы A в виде произведения унитарной (в случае вещественных элементов – ортогональной) матрицы Q и правой или левой треугольной матрицы.
Пусть, например, найдено разложение
A=QR, (22)
где матрица Q – унитарная, а R – правая (или верхняя) треугольная. Перемножив их в обратном порядке, получим новую матрицу A1:
A1=RQ. (23)
Матрицы A и A1 являются подобными. Действительно, умножая равенство (22) слева на Q*, имеем: Q*A=R. Подставив это соотношение в правую часть (23), получим:
A1=Q*AQ, (24)
т. е. A1 получается из A в результате преобразования подобия с помощью матрицы Q.
Продолжая процесс, построим разложение
A1=Q1R1
и найдем новую подобную матрицу
A2=R1Q1,
и т. д. Построение последовательности унитарно подобных матриц Ak, основанной на представлении Ak=QkRk, называется QR-алгоритмом.
Совершенно аналогично строится QL-алгоритм
Ak=QkLk,
Ak+1=LkQk,
где Lk – левая (или нижняя) треугольная матрица. Разумеется, для одной и той же исходной матрицы A последовательности Ak и преобразующие матрицы Qk в случае QR- и QL-алгоритмов различаются. Однако с точки зрения общих свойств между двумя алгоритмами нет принципиальных различий.
QR- и QL-алгоритмы обладают следующими важными свойствами:
1. Преобразования сохраняют структуру матрицы. Симметричная матрица остается симметричной. Ленточная матрица остается ленточной, причем ширина ленты не увеличивается.
2. Наддиагональный элемент (Ak)ij (i<j) матрицы Ak на k-м шаге QL-алгоритма асимптотически ведет себя как ij(i/j)k, где ij – постоянная величина, а i и j – собственные значения, расположенные в порядке возрастания их модулей, так что |i||j|. Аналогичное поведение имеет место для поддиагональных элементов в случае QR-алгоритма.
Из свойства (2) следует, что если все собственные значения матрицы A различны, то QR-алгоритм приведет ее к правому (верхнему), а QL-алгоритм – к левому (нижнему) треугольному виду. Если вдобавок A является симметричной, то результат преобразований в обоих случаях будет стремиться к диагональной матрице, поскольку убывание поддиагональных (наддиагональных) элементов в силу сохранения симметрии должно сопровождаться аналогичными изменениями с другой стороны от диагонали.
Если среди собственных значений есть одинаковые (вырожденные), то симметричная матрица приведется не к диагональному, а к блочно-диагональному виду. Собственному значению i кратности p будет соответствовать диагональный блок порядка p.
Скорость сходимости QR- или QL-алгоритма определяется отношениями i/j и при наличии близких собственных значений будет не слишком высокой. Сходимость можно улучшить, если на каждом шаге вместо Ak использовать матрицу AkkE. Параметр k называют сдвигом. Например, в случае QL-алгоритма со сдвигом проводят вычисления по схеме:
AkkE=QkLk, (25а)
Ak+1=LkQk+kE. (25б)
Нетрудно убедиться, что матрицы Ak и Ak+1 попрежнему связаны преобразованием подобия с помощью матрицы Qk. Однако теперь асимптотическое поведение элемента (Ak)ij определяется отношением (ik)/(jk), а не i/j, как прежде. Если величину сдвига выбрать близкой к 1, внедиагональные элементы первой строки будут очень быстро стремиться к нулю. Когда ими можно пренебречь, диагональный элемент (Ak)11 берут в качестве собственного значения 1, а вычисления продолжают с подматрицей порядка N1, полученной из Ak вычеркиванием первой строки и первого столбца.
В простейшем случае в качестве сдвига можно взять величину диагонального элемента, которая стремится к собственному значению: k=(Ak)11. Анализ показывает, что при этом почти всегда будет обеспечена асимптотически кубическая сходимость. Существует много других способов определения сдвига, каждый из которых обладает своими достоинствами и недостатками. Подробное обсуждение этого вопроса можно найти в книге [Error: Reference source not found].
Если элементы матрицы Ak изменяются в широких пределах, то при непосредственном использовании уравнения (25а) вычитание k из диагональных элементов может привести к значительной потере точности во время вычисления малых по абсолютной величине собственных значений. Существует математически эквивалентная схема построения той же самой матрицы преобразования Qk, не использующая операцию вычитания сдвига. Она называется QL-алгоритмом с неявным сдвигом. Если бы все арифметические операции выполнялись абсолютно точно, то алгоритмы с явным и неявным сдвигами дали бы совершенно одинаковые результаты. В реальных условиях приближенных вычислений алгоритм с неявным сдвигом обладает большей устойчивостью и обеспечивает лучшую точность определения малых собственных значений.
Хотя QR- и QL-алгоритмы применимы к матрицам самого общего вида, разложение на унитарный и треугольный множители обходится довольно дорого в смысле объема необходимых вычислений. Поэтому, несмотря на высокую скорость сходимости, суммарные затраты оказываются высокими. Ситуация меняется, когда эти алгоритмы используют для диагонализации матриц специальной структуры, например, ленточных и симметричных. Наличие большого количества нулевых элементов вместе со свойством сохранения ширины ленты в процессе вычислений позволяют добиться большого выигрыша.
Алгоритм становится особенно простым, когда применяется к симметричным трехдиагональным матрицам (т. е. матрицам, у которых отличны от нуля лишь элементы, непосредственно примыкающие к главной диагонали: aii=di (i=1, , N); ai+1,i=ai,i+1=ei (i=1, , N1)). В этом случае ортогональная матрица Qk на k-м шаге получается как произведение N1 матриц Гивенса (9):
(26)
Lk отдельно не вычисляется; вместо этого сразу находятся элементы преобразованной матрицы Ak+1. Если нужны не только собственные значения, но и собственные векторы, накапливается произведение матриц преобразований:
. (27)
Более подробное описание схемы вычислений можно найти в [Error: Reference source not found] или [Error: Reference source not found].
Если трехдиагональная матрица имеет собственное значение кратности p, то, по крайней мере, p1 внедиагональных элементов должны быть равны нулю, т. е. матрица расщепляется на прямую сумму трехдиагональных матриц меньшего порядка, для каждой из которых собственные значения можно найти независимо. Диагональные блоки, которые необходимо выделять при анализе кратных собственных значений у матриц общего вида, здесь не появляются. Таким образом, при наличии вырожденных собственных значений обеспечивается дополнительная экономия вычислений.