Смекни!
smekni.com

Собственные значения. (стр. 2 из 4)

Определение наименьшего собственного значения методом итераций

В некоторых случаях целесообразно искать наименьшее, а не наибольшее собственное значение. Это можно сделать, предварительно умножив исходную систему на матрицу, обратную A:

А-1АX=lА-1X.

Если обе части этого соотношения умножим на 1/l, то получим

1/lХ = A-1X.

Ясно, что это уже иная задача на собственное значение, для которой оно равно 1/l, а рассматриваемой матрицей является A-1. Максимум 1/l, достигается при наименьшем l. Таким образом, описанная выше итерационная процедура может быть использована для определения наименьшего собственного значения новой системы.

Определение промежуточных собственных значений методом итераций

Найдя наибольшее собственное значение, можно определить следующее за ним по величине, заменив исходную матрицу матрицей, содержащей лишь оставшиеся собственные значения. Используем для этого метод, называемый методом исчерпывания. Для исходной симметричной матрицы A с известным наибольшим собственным значением l1 и собственным вектором X1 можно воспользоваться принципом ортогональности собственных векторов, т. е. записать

ХiT Хj =0 при i<>j и ХiT Хj =1 при i=j.

Если образовать новую матрицу A* в соответствии с формулой

A* =A-l1Х1 Х1T,

то ее собственные значения и собственные векторы будут связаны соотношением

А*Xi =liXi.

Из приведенного выше выражения для матрицы A* следует, что

A* Хi = AХi -lХ1 Х1TXi.

Здесь при i = 1 свойство ортогональности позволяет привести правую часть к виду

A Х1 - l1 Х1.

Но по определению собственных значений матрицы A это выражение должно равняться нулю. Следовательно, собственное значение l1 матрицы A* равно нулю, а все другие ее собственные значения совпадают с собственными значениями матрицы A. Таким образом, матрица A* имеет собственные значения 0, l2, l3,. . ., ln и соответствующие собственные векторы Х1, Х2, Хз,. . . .... Хn. В результате выполненных преобразований наибольшее собственное значение l1 было изъято, и теперь, чтобы найти следующее наибольшее собственное значение l2, можно применить к матрице A* обычный итерационный метод. Определив l2 и Х2, повторим весь процесс, используя новую матрицу A**, полученную с помощью A*, l2 и Х2. Хотя на первый взгляд кажется, что этот процесс должен быстро привести к цели, он имеет существенные недостатки. При выполнении каждого шага погрешности в определении собственных векторов будут сказываться на точности определения следующего собственного вектора и вызывать накопление ошибок. Поэтому описанный метод вряд ли применим для нахождения более чем трех собственных значений, начиная с наибольшего или наименьшего. Если требуется получить большее число собственных значений, следует пользоваться методами преобразования подобия.

4. ОПРЕДЕЛЕНИЕ СОБСТВЕННЫХ ЗНАЧЕНИЙ МЕТОДАМИ ПРЕОБРАЗОВАНИЙ ПОДОБИЯ

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

Метод Якоби

Метод Якоби позволяет привести матрицу к диагональному виду, последовательно, исключая все элементы, стоящие вне главной диагонали. К сожалению, приведение к строго диагональному виду требует бесконечно большого числа шагов, так как образование нового нулевого элемента на месте одного из элементов матрицы часто ведет к появлению ненулевого элемента там, где ранее был нуль. На практике метод Якоби рассматривают, как итерационную процедуру, которая в принципе позволяет достаточно близко подойти к диагональной форме, чтобы это преобразование можно было считать законченным. В случае симметричной матрицы A действительных чисел преобразование выполняется с помощью ортогональных матриц, полученных в результате вращении в действительной плоскости. Вычисления осуществляются следующим образом. Из исходной матрицы А образуют матрицу A1 == Р1АР1T. При этом ортогональная матрица Р1 выбирается так, чтобы в матрице А1 появился нулевой элемент, стоящий вне главной диагонали. Затем из А1 с помощью второй преобразующей матрицы Р2, образуют новую матрицу A2. При этом Р2, выбирают так, чтобы в A2 появился еще один нулевой внедиагональный элемент. Эту процедуру продолжают, стремясь, чтобы на каждом шаге в нуль обращался наибольший внедиагональный элемент. Преобразующая матрица для осуществления указанной операции на каждом шаге конструируется следующим образом. Если элемент аkl матрицы Ат-1 имеет максимальную величину, то Рт соответствует

Pkk = Pll = cos q,

Pkl = - Plk = sin q,

Pii = 1 при i <> k, l, Pij = 0 при i <> j.

Матрица Ат будет отличаться от матрицы Am-1 только строками и столбцами с номерами k и l. Чтобы элемент аkl(m) был равен нулю, значение q выбирается так, чтобы

2 akl(m-1)

tg 2 q = ------------------------- .

akk(m-1) – all(m-1)

k l
1
1
1
1
1
Cos q . . . . . . sin q k
1
1
Pm = 1
1
1
1
- sin q Cos q l
1
1
1
1

Значения q заключены в интервале

pp

- — <= q <= —.

4 4

Пример 2

Пусть требуется найти значения всех главных напряжений для напряженного состояния, показанного на рисунке примера 1. Для этого необходимо найти все собственные значения матрицы напряжений. Такая потребность возникает, если конструктор вместо теории разрушения при максимальном нормальном напряжении намерен пользоваться какой-либо другой теорией разрушения. Чтобы найти все собственные значения, обратимся к методу преобразований Якоби, для реализации которого воспользуемся подпрограммой Е1GЕМ из пакета программ для научных исследований фирмы IВМ, предназначенной для симметричных матриц. Так как матрица симметрична, то она содержит лишь шесть различных элементов. Для экономии памяти подпрограмма ЕIGЕМ использует матрицу 3Х3 в компактной форме, при которой требуется только шесть ячеек памяти. Программа для решения данной задачи имеет вид:

{**********************************************************************}

Программа определение всех главных напряжении трехосной матрицы напряжений.

В программе использовано подпрограмма ЕIGЕМ из пакета программ для научных исследований фирмы IВМ

{**********************************************************************}

DIMENSION S<6),R(?) С

# Задание матрицы в компактной форме

S(1) = 10 Е06

S(2) = 5 Е06

S(3) = 20 Е06

S(4) = 6 Е06

S(5) = 4 Е06

S(6) = 30 Е06

# Определение всех собственных значений методом Якоби

CALL EIGEN(S,R,3,0)

# Печать собственные значении

WRITE(6,100)

WRITE(6,101) S(1),S(3),3(6)

100 FORMAT(1Х,'ТНЕ EIGENVALUES ARE'')

101 FORMAT(1X,E15.8)

STOP

END

Результат работы программы получаем в виде:

Собственные значения равны

0.33709179E 08

0.19149061E 08

0.71417603E 07

Метод Гивенса для симметричных матриц

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

В случае матрицы размерности п х п метод Гивенса требует п — 2 основных шагов, на каждом из которых выполняется ряд преобразований, число которых зависит от числа нулей, которое хотят получить в данном столбце или строке. На k -м шаге обращают в нули элементы, стоящие вне трех диагоналей k-й строки и k -го столбца, сохраняя в то же время нулевые элементы, полученные на предыдущих шагах. Таким образом, перед началом k -го шага преобразованная матрица является трехдиагональной, если ограничиться рассмотрением ее первых k — 1 строк и столбцов. По мере преобразований симметричная матрица размерности 5х5 приобретает следующие формы:

* * * * *
* * * * *
A0= * * * * * исходная матрица,
* * * * *
* * * * *
* * 0 0 0
* * * * *
A1= 0 * * * * после первого основного шага,
0 * * * * состоящего из трех преобразований,
0 * * * *
* * 0 0 0
* * * 0 0
A2= 0 * * * * после второго основного шага,
0 0 * * * состоящего из двух преобразований,
0 0 * * *
* * 0 0 0
* * * 0 0 после третьего основного шага,
A3= 0 * * * 0 состоящего из одного преобразования.
0 0 * * * Теперь матрица имеет трехдиагональный вид.
0 0 0 * *

На каждом основном шаге изменяются лишь те элементы матрицы аij, которые расположены в ее правой нижней (заштрихованной) части. Таким образом на k-м шаге преобразуется только матрица порядка (п — k + 1), занимающая правый нижний угол исходной матрицы. Ясно, что на каждой следующей стадии выполняется меньшее число преобразований, чем на предыдущей. Всего для приведения матрицы к трехдиагональному виду требуется выполнить (n2 — Зп + 2)/2 преобразований.