3. ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ.

Пожалуй, наиболее очевидным способом решения задачи на собственные значения является их определение из системы урав­нений

(A - lE) Х == 0,

которая имеет ненулевое решение лишь в случае, если det(A - lE)=0. Раскрыв определитель, получим многочлен п-й степени относительно l, корни которого и будут собственными значениями матрицы. Для определения корней можно восполь­зоваться любым из методов, описанных в гл. 2. К сожалению, в задачах на собственные значения часто встречаются кратные корни. Так как итерационные методы, в этих случаях не гарантируют получение решения, то для определения собственных значений следует пользоваться другими итерацион­ными методами.

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

На рис. 1 показана блок-схема простейшего итерационного метода отыскания наибольшего собственного значения системы

AХ = lХ.

Процедура начинается с пробного нормированного вектора X(0). Этот вектор умножается слева на матрицу A, и результат приравнивается произведению постоянной (собственное значение) и нормированному вектору X(0).. Если вектор X(0) совпадает с вектором X(0), то счет прекращается. В противном случае новый нормированный вектор используется в качестве исходного и вся процедура повторяется. Если процесс сходится, то постоянный множитель соответствует истинному наибольшему собст­венному значению, а нормированный вектор — соответствующему собственному вектору. Быстрота сходимости этого итерационного процесса зависит от того насколько удачно выбран начальный вектор. Если он близок к истинному собственному вектору, то итерации сходятся очень быстро. На быстроту сходимости влияет также и отношение величин двух наибольших собственных значений. Если это отношение близко к единице, то сходимость оказывается медленной.


Рис. 1. Блок-схема алгоритма иитерационного метода решения задач на собственные значения.

Пример 1

Исследуем трехосное напряженное состояние элемента тела, представленного на рисунке 2. Матрица напряжений для него имеет вид

10 5 6
5 20 4

 * 106 Н/м2

Подпись: 30*106 Па6

4 30


Рисунок 2.Трехосное напряженное состояние элемента тела.

Если исходить из того, что разрушение произойдет при максимальном напряжении, то необходимо знать величину наибольшего главного напряжения, которое соответствует наибольшему собственному значению матрицы напряжений. Для нахождения этого напряжения воспользуемся методом итерации Ниже приведена программа для ЭВМ, с помощью которой итерационная процедура осуществляется до тех пор, пока разность между собственными значениями, вычисленными в последовательных итерациях, не станет менее 0,01%. В программе использованы две подпрограммы — GMPRD из пакета программ для научных исследований фирмы IВМ, служащая для перемножения матриц и NORML, нормирующая собственные векторы по наибольшему элементу.

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

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

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

DIMENSION S(3,3),X(3),R(3)

S(1,1) = 10.E06

S(1,2) = 5.ЕО6

S(2,1) = S(1,2)

S(1,3) = 6.E06

S(3,1) = S(1,3)

S(2,2) = 20.E06

S(2,3) = 4.E06

S(3,2) = S(2,3)

S(3,3) = З0.Е06

X(1) = 1.

Х(2) = 0.0

Х(3) = 0.0

XOLD = 0.0

I = 0

WRITE(6 100)

WRITE(6 101)

WRITE(6 102)

WRITE(6 100)

WRITE(6 104) I,X(1),X(2),X(3)

DO 1 1=1,50

CALL GMPRD (S, X, R, 3, 3, 1)

DO 2 J=1,3

2 X(J) = R(J)

CALL NORML(XLAM,X)

WRITE(6,103) I,XLAM,X(1),X(2),X(3)

IF(ABS((XOLD-XLAM)/XLAM).LE.0.0001) GO TO 3

1   XOLD = XLAM

3 WRITE(6,100)

100 FORMAT (1X 54C'-''))

101   FORMAT (2X ‘ITERATION’, ЗХ ‘ITERATION’, 11X,‘EIGENVECTOR')

102   FORMAT (3X 'NUMBER", 6X ,'(N/M**2)’, 5X, ‘X(1)’,

 6X,'X(2)',6X,’X(3)’)

103 FORMAT (1X,I5,7X,E12.5,3F10.5)

104 FORMAT (1X,I5,19X,3F10.5)

STOP

END

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

SUBROUTINE NORML(XL,X)

DIMENSION X(3)

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

Подпрограмма norml.

Эта подпрограмма находит наибольший из трех элементов собственного вектора и нормирует собственный вектор по этому наибольшему элементу.

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

# FIND THE LARGEST ELEMENT

XBIG = X(1)

IF(X(2).GT.XBIG)XBIG=X(2)

IF(X(3).GT.XBIG)XBIG=X(3)

# Нормирование по XBIG

X(l) = X(1)/XBIG

X(2) = X(2)/XBIG

X(3) = X(3)/XBIG

XL = XBIG

RETURN

END

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

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

Номер

Итерации

Собственное

Значение

( N / M ** 2 )

Собственный вектор
X (1) X (2) X (3)
0.

1.00000

0.

0.

1.   

0.10000 Е 08

1,00000

0.50000

0.60000

2.   

0.26000Е 08

0.61923

0.66923

1.00000

3.   

0.36392Е 08

0.42697

0.56278

1.00000

4.   

0.34813Е 08

0.37583

0.49954

1.00000

5.   

0.34253Е 08

0.35781

0.46331

1.00000

6.   

0.34000Е 08

0.34984

0.44280

1.00000

7.   

0.33870Е 08

0.34580

0.43121

1.00000

8.   

0.33800Е 08

0.34362

0.42466

1.00000

9.   

0.33760Е 08

0,34240

0.42094

1.00000

10. 

0.33738Е 08

0.34171

0.41884

1.00000

11. 

0.33726Е 08

0.34132

0.41765

1.00000

12. 

0.33719Е 08

0,34110

0.41697

1.00000

13. 

0.33714Е 08

0.34093

0.41658

1.00000

14. 

0.33712Е 08

0.34091

0.41636

1.00000

Отметим, что для достижения требуемой точности потребовалось 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. Хотя на первый взгляд кажется, что этот процесс должен быстро привести к цели, он имеет сущест­венные недостатки. При выполнении каждого шага погрешности в определении собственных векторов будут сказываться на точ­ности определения следующего собственного вектора и вызы­вать накопление ошибок. Поэтому описанный метод вряд ли применим для нахождения более чем трех собственных значений, начиная с наибольшего или наименьшего. Если требуется полу­чить большее число собственных значений, следует пользоваться методами преобразования подобия.

 


Информация о работе «Алгебраическая проблема собственных значений»
Раздел: Математика
Количество знаков с пробелами: 30010
Количество таблиц: 20
Количество изображений: 3

Похожие работы

Скачать
9495
0
11

... 0135 0.7866 -0.5989 График значений собственного числа заданной матрицы за время итерационного процесса/ График значений собственного вектора, соответствующего собственному числу Рассмотрим другие примеры: Исходные данные: yn=[1,1,1]; L1= 0.01 edop=0.00001; a=[1 1 1; 2 3 4; 0 4 0]; Найдем собственные значения исходной матрицы, используя функцию eig. Получим L1= 6.2085 ...

Скачать
43593
0
0

... решения от численных методов расчёта. Для определения корней уравнения не требуется знания теорий групп Абеля, Галуа, Ли и пр. и применения специальной математической терминологии: колец, полей, идеалов, изоморфизмов и т.д. Для решения алгебраического уравнения n - ой степени нужно только умение решать квадратные уравнения и извлекать корни из комплексного числа. Корни могут быть определены с ...

Скачать
37874
0
13

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

Скачать
12467
0
16

... собственных значений сводится к проблеме раскрытия определителя  по степеням  и последующему решению алгебраического уравнения m- й степени. Определитель  называется характеристическим (или вековым ) определителем, а уравнение (2) называется характеристическим (или вековым ) уравнением. Различают полную проблему собственных значений, когда необходимо отыскать все собственные значения ...

0 комментариев


Наверх