Реферат: Собственные значения
--PAGE_BREAK--Определение наименьшего собственного значения методом итерацийВ некоторых случаях целесообразно искать наименьшее, а не наибольшее собственное значение. Это можно сделать, предварительно умножив исходную систему на матрицу, обратную 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заключены в интервале
p p
— —<= q<= —.
4 4
продолжение
--PAGE_BREAK--Пример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)
100FORMAT(1Х,'ТНЕ EIGENVALUES ARE'')
101FORMAT(1X,E15.8)
STOP
END
Результат работы программы получаем в виде:
Собственные значения равны
0.33709179E 08
0.19149061E08
0.71417603E07
Метод Гивенса для симметричных матриц
Метод Гивенса основан на преобразовании подобия, аналогичном применяемому в методе Якоби. Однако в этом случае алгоритм построен таким образом, что вновь образованные нулевые элементы при всех последующих преобразованиях сохраняются. Поэтому метод Гивенса требует выполнения конечного числа преобразований и по сравнению с методом Якоби связан с меньшими затратами машинного времени. Его единственный недостаток состоит в том, что симметричная матрица приводится не к диагональному, а к трехдиагональному виду. Ниже будет показано, что такая форма матрицы может быть весьма полезной и оправдывает усилия, затраченные на ее получение.
В случае матрицы размерности п х п метод Гивенса требует п— 2 основных шагов, на каждом из которых выполняется ряд преобразований, число которых зависит от числа нулей, которое хотят получить в данном столбце или строке. На k-м шаге обращают в нули элементы, стоящие вне трех диагоналей k-й строки и k -го столбца, сохраняя в то же время нулевые элементы, полученные на предыдущих шагах. Таким образом, перед началом k -го шага преобразованная матрица является трехдиагональной, если ограничиться рассмотрением ее первых k— 1 строк и столбцов. По мере преобразований симметричная матрица размерности5х5 приобретает следующие формы:
*
*
*
*
*
*
*
*
*
*
A0=
*
*
*
*
*
исходная матрица,
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
A1=
*
*
*
*
после первого основного шага,
*
*
*
*
состоящего из трех преобразований,
*
*
*
*
*
*
*
*
*
A2=
*
*
*
*
после второго основного шага,
*
*
*
состоящего из двух преобразований,
*
*
*
*
*
*
*
*
после третьего основного шага,
A3=
*
*
*
состоящего из одного преобразования.
*
*
*
Теперь матрица имеет трехдиагональный вид.
*
*
На каждом основном шаге изменяются лишь те элементы матрицы аij
,которые расположены в ее правой нижней (заштрихованной) части. Таким образом на k-м шаге преобразуется только матрица порядка (п— k+ 1), занимающая правый нижний угол исходной матрицы. Ясно, что на каждой следующей стадии выполняется меньшее число преобразований, чем на предыдущей. Всего для приведения матрицы к трехдиагональному виду требуется выполнить (n2— Зп+ 2)/2 преобразований.
Наш опыт применения метода Гивенса показывает, что можно при выполнении одного шага преобразований обратить в нуль сразу все элементы целой строки и столбца, стоящие вне трех диагоналей матрицы. Метод, позволяющий выполнить такое преобразование, предложил Хаусхолдер .
Метод Хаусхолдера для симметричных матриц
Метод Хаусхолдера позволяет привести матрицу к трехдиагональному виду, выполнив почти вдвое меньше вычислений по сравнению с другими методами. Это обусловлено тем, что при его применении становятся нулевыми сразу все элементы строк и столбцов, стоящие вне трех диагоналей матрицы. Метод Хаусхолдера позволяет получить требуемый результат быстрее, чем метод Гивенса, так как связан с выполнением меньшего числа, хотя и более сложных преобразований. Это его свойство особенно ярко проявляется применительно к большим матрицам. Хотя в методе Хаусхолдера вместо плоских вращении используются эрмитовыортогональные преобразования матриц, трехдиагональная форма матрицы, которую получают этим методом, имеет те же собственные значения, что и трехдиагональная матрица, получаемая методом Гивенса. При использовании метода Хаусхолдера на п—2 основных шагах выполняются следующие преобразования:
Аk= РkAk-1Рk, k=1,2, ...,п-2,
где Aо== А.
Каждая преобразующая матрица имеет вид
uk ukT
Pk = E — — ,
2Kk2
где
ui,k= 0 при i = 1, 2, …, k,
ui,k= ak,iпри i = k+2, …, n,
uk+1,k= ak,k+1 ±Sk.
Здесь
<img width=«2» height=«79» src=«ref-1_746326556-157.coolpic» v:shapes="_x0000_s1065"><img width=«2» height=«79» src=«ref-1_746326713-157.coolpic» v:shapes="_x0000_s1066"> n 1/2
Sk = S a2k,i
i=k+1
2K2k= S2k ±ak, k+1 Sk.
В этих уравнениях берется знак, соответствующий элементу ak,k+1. Это позволяет сделать значение и
k+1,
k максимальным. Отметим, что методами Гивенса и Хаусхолдера можно пользоваться и в случае несимметричных матриц, приводя их, правда, не к трехдиагональному, а другому частному виду треугольной матрицы известной как матрица Гессенберга:
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
5.
ОПРЕДЕЛЕНИЕ СОБСТВЕННЫХ ЗНАЧЕНИЙ
СИММЕТРИЧНОЙ ТРЕХДИАГОНАЛЬНОЙ МАТРИЦЫ
Приведя симметричную матрицу к трехдиагональному виду методом Гивенса или Хаусхолдера, необходимо найти ее собственные значения. Чтобы ясней были достоинства трехдиагональной формы, сформулируем задачу о собственных значениях в виде
dеt(А—
l
E) = 0,
где А— симметричная трехдиагональная матрица. Раcкрыв выражение в скобках, получим
a1 — l
b2
b1
a2
—
l
= 0
bn
bn
an — l
Произвольный определитель порядка п можно выразить через п миноров порядка п—1, каждый из которых в свою очередь выражается через п—1 миноров порядка п—2. Удобство трехдиагональной формы в том, что на каждом шаге все миноры, кроме двух, оказываются равными нулю. В результате исходный определитель представляется последовательностью полиномов
fm(l) = (am - l) fm-1 (l) – b2mfm-2(l).
Приняв
f0 (l) = 1 и f1 (l) = a1— l при r = 2,… п,
получим совокупность полиномов, известную как последовательность Штурма и обладающую тем свойством, что корни полинома fj (l) располагаются между корнями полинома fj+1(l). Поэтому для f1 (l)= a1— lможно утверждать, что значение lК= а1заключено между корнями полиномаf2 (l)== (a2 — l) (a1— l)—b22. Это облегчает итерационное определение корней полинома, так как если известны границы интервалов, в которых лежат значения корней полинома, то их можно найти методом половинного деления. Так последовательно находят корни всех полиномов, и последний из них fn (l) дает все искомые п собственные значения. Эту процедуру можно проиллюстрировать графически (см. рис. 3).
Последовательность Штурма обладает еще и таким свойством: для любого значения b, при котором fn (b)<>0,число собственных значений матрицы A, больших b, равно числу изменений знака последовательности
1, f1 (b), f2 (b), …, (1)n fn (b).
Если целое число, равное числу изменений знака, обозначить через V(b), то число собственных значений в интервале действительных чисел [b, с] будет равно V(b)—V(c).
<img width=«464» height=«173» src=«ref-1_746326870-4262.coolpic» v:shapes="_x0000_s1069 _x0000_s1074 _x0000_s1080 _x0000_s1068 _x0000_s1072 _x0000_s1078 _x0000_s1077 _x0000_s1073 _x0000_s1070 _x0000_s1075 _x0000_s1076">
………………………………………………………………………………………………………..
<img width=«464» height=«103» src=«ref-1_746331132-5542.coolpic» v:shapes="_x0000_s1090 _x0000_s1106 _x0000_s1089 _x0000_s1105 _x0000_s1104 _x0000_s1096 _x0000_s1088 _x0000_s1103 _x0000_s1087 _x0000_s1095 _x0000_s1102 _x0000_s1086 _x0000_s1101 _x0000_s1094 _x0000_s1085 _x0000_s1100 _x0000_s1093 _x0000_s1092 _x0000_s1084 _x0000_s1099 _x0000_s1083 _x0000_s1082 _x0000_s1091 _x0000_s1098">
Рис. 3. Итерационное определение корней полинома
продолжение
--PAGE_BREAK--6.
ДРУГИЕ МЕТОДЫ ВЫЧИСЛЕНИЯ СОБСТВЕННЫХ ЗНАЧЕНИЙ
В этом разделе мы рассмотрим два метода определения собственных значений, имеющие большое практическое значение. Оба разработаны в последние20 лет и наиболее эффективны в тех случаях, когда требуется найти все собственные значения произвольной матрицы действительных или комплексных чисел. В обоих используются преобразования, позволяющие получить последовательность подобных матриц, сходящуюся к матрице блочной треугольной формы:
X1
*
…
…
*
*
*
x2
*
…
…
*
*
*
x3
…
…
*
*
*
…
…
*
*
*
…
*
*
*
…
*
*
…
*
*
где блоки Хm, представляют собой матрицы размерности2 х 2, расположенные на главной диагонали. Собственные значения блоков Хm, являются в то же время собственными значениями исходной матрицы размерности п
x п.Такая форма удобна, так как детерминант второго порядка блоков Хm позволяет определять комплексные собственные значения, не вводя комплексных элементов в окончательную матрицу. Если все собственные значения исходной матрицы действительные, то в окончательном виде она будет треугольной, причем собственные значения будут расположены на диагонали.
Метод
LR
Этот метод первоначально был разработан Рутисхаузером в 1958 г. Метод основан на представлении матрицы A в виде произведения
А=
LR
,
где L—левая треугольная матрица с единичными диагональными элементами, а R—правая треугольная. Применяя преобразование подобияL-1 A R
,видим, что,
A2 = L-1 A R = L-1 (RL)L = R L
.
Следовательно,
Am-1= Lm-1 Rm-1,
Am= Rm-1 Lm-1.
Этот процесс повторяется до тех пор, пока Ls не превратится в единичную матрицу Е, а Rsне приобретет квазидиагональную форму. Хотя этот метод очень удобен, он не всегда устойчив. Поэтому предпочтение часто отдают другому методу.
Метод QR
Метод QR. предложен Фрэнсисом в1961 г. Соответствующий ему алгоритм определяется соотношением
Am= Qm Rm.
где Qm —ортогональная матрица, а Rm—верхняя треугольная матрица. При использовании метода последовательно получаем
Am+1= QmTAm Qm = QmTQmRmQm = RmQm.
В пределе последовательность матриц А стремится к квазидиагональной форме. Этот метод сложнее предыдущего и требует больших затрат машинного времени. Однако его устойчивость, обусловленная использованием ортогональных преобразующих матриц, обеспечила ему прочную репутацию лучшего метода решения задач самой общей формы.
Пример3
Пусть требуется найти все собственные значения произвольной матрицы размерности 6 x6
2,3
4,3
5,6
3,2
1,4
2,2
1,4
2,4
5,7
8,4
3,4
5,2
2,5
6,5
4,2
7,1
4,7
9,3
3,8
5,7
2,9
1,6
2,5
7,9
2,4
5,4
3,7
6,2
3,9
1,8
1,8
1,7
3,9
4,6
5,7
5,9
Сделаем это в два приема, приведя сначала матрицу с помощью преобразования подобия к виду Гсссенберга, затем с помощью разновидности методаQRнайдем собственные значения. В приведенной ниже программе использованы две подпрограммы из пакета программ для научных исследований фирмы IВМ. Подпрограмма НSВС преобразует матрицу размерности6 x 6 к форме Гессенберга, а подпрограмма АТЕIG позволяет найти собственные значения.
{**********************************************************************}
Программа определение всех собственных значений произвольной матрицы размерности 6х5. Используются подпрограммы НSВСи АТЕIGиз пакета программ для научных исследований фирмы IBM
{**********************************************************************}
DIMENSION A(6,6),RR(6),RI(6),IANA(6)
READ(5,100)((A(I,J),J=1,6),I=1,6)
WRITE(6,104)
104 FORMAT(///lX,’THE ORIGINAL MATRIX IS AS FOLLOWS’)
WRITE(6,103)
103 FORMAT(1X,65(-'--'))
WRITE(6,101)((A(I,J),J=1,6),I=1,6)
WRITE(6,103)
101 FORMAT(6(1X,F10.5))
100 FORMAT(6F10.5)
CALL HSBG(6,A,6)
WRITE(6,105)
105 FORMAT(///1X,'THE MATRIX W HESSENBUR5 FORM IS') WRITE(6,103)
WRITE(6,101)((A(I,J),J=1,6),I=1,6)
WRITE(6,103)
CALL ATEIG(6,A,RR,RI,IANA,6)
WRITE(6,106)
106 FORHAT(///1X,'THE EIGENVALUES ARE AS FOLLOUS')
WRITE(6,107)
107 FORMAT (1X, 23(‘-‘),/,4X,’REAL',12X,’IMAG’,/,23(‘-‘))
WRITE(6,102)(RR(I),PKI),I=1,6)
WRITE(6,108)
108 FORMAT(1X,23(‘-‘))
FORMAT<2(2X,F10.5)”
STOP
END
Результат получаем в виде
Исходная матрица имеет вид
2.30000
4.30000
5.60000
3.20000
1,40000
2.20000
1.40000
2.40000
5.70000
8.40000
3.40000
5.20000
2.50000
6.50000
4.20000
7.10000
4.70000
9.30000
3.80000
5.70000
2.90000
1.60000
2.50000
7.90000
2.40000
5.40000
3.70000
6.20000
3.90000
1.80000
1.80000
1.70000
3.90000
4.60000
5.70000
5.90000
Матрицав форме Гессенберга.
-1.13162
3.20402 -0,
-0.05631
3.88246
1.40000
2.20000
-0.75823
0.07468 0,
0.48742
6.97388
5.37А35
10.36283
0.
1.13783 -2,
-2.63803
10.18618
7.15297
17.06242
0.
0.
3.35891
7. 50550
7.09754
13.92154
0.
0.
0.
13.36279
10.58947
16.78421
0.
0.
0.
0.
5.70000
5.90000
Собственные значения
-----------------------------------
Действит. Миним.
-----------------------------------
25.52757
0.
-5.63130
0.
0.88433
3.44455
0.88433
-3.44455
-0.68247
1.56596
-0.68247
-1.56596
продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по математике
Реферат по математике
Решение дифференциального уравнения первого порядка
2 Сентября 2013
Реферат по математике
Методы решения уравнений в странах древнего мира
2 Сентября 2013
Реферат по математике
Математическая модель формообразования
2 Сентября 2013
Реферат по математике
Имитационная модель СТО с использованием программы С
2 Сентября 2013