Отметим, что для достижения требуемой точности потребовалось 14 итераций.

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

В некоторых случаях целесообразно искать наименьшее, а не наибольшее собственное значение. Это можно сделать, предвари­тельно умножив исходную систему на матрицу, обратную 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

 
)