книги / Численные методы. Ч. 1
.pdf0.7071067811
0.707106781)'
Y, _ _ l _ i -5 j _ 10.9284766911 _ V29 | 2J ” 10.371390676) '
Перемножим скалярно собственные векторы обеих матриц:
<х ' -''■)■ ^ Ц } 4
= -•0 = 0,
2
то есть имеет место ортогональность собственных векторов матриц А и Ат :
(Х’’ Y') = ^ 9 |
(2,5> f |
{!} = Ш |
= °'9' 914503 • |
|||||
(Х2. У > |
^ { |
- и |
) - ^ { |
" ' } 4 |
^ = 0.919,4503. |
|||
Подсчитаем коэффициенты перекоса: |
|
|
|
|
||||
С, = м |
- и . |
11 |
|
2 |
29 |
|
||
7 J |
T |
= - . — = 1.087967587, |
||||||
Кх ' .Y')l |
- 7 U |
|
|
|||||
|
|
|
2 V29 |
|
|
|
|
|
|х:1МИ |
11 |
|
2 |
29 |
|
|||
С. = |
|
|
|
|
= - . — = 1.087967587. |
|||
Кхг.У!Г - 7 - Д |
" 7 » 2 |
|
||||||
|
|
|
2 V29 |
|
|
|
|
|
Пример 5.3. Оценить влияние погрешности на результаты вычисления |
||||||||
собственных значений матрицы |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
о |
о |
|
|
|
А = |
0 |
2 |
1 |
0 |
|
|
|
|
0 |
0 |
3 |
1 |
|
||
|
|
|
|
|
||||
|
|
|
|
Б |
0 |
0 |
4 |
|
где е - малое возмущение (погрешность).
Решение характеристического уравнения
det(A - ХЕ) = (1 - ХХ2ХХЗ- ХХ4 - X) - е = 0.
дает корни (собственные значения):
X, = 2.5 ^5 14л/Г+е
Х2 =15
V5- 4л/Г+Ё
X, =Z5 + V5 + 4Vl+T
В табл. 5.1 приведены собственные значения исходной матрицы при различных
величинах е.
Таблица 5.1
Определение собственных значений матрицы при заданных величинах погрешности
Собственные значения |
со II о |
о II со |
Б = 0 ,01 |
б = 0 .0 0 1 |
X, |
1.0 |
0,983817673 |
0.9983384 |
0.999833384 |
х 2 |
2,0 |
2,051456633 |
2.005012689 |
2.00050(1125 |
Хз |
3,0 |
2,948543367 |
2,994987311 |
2.999499875 |
Х4 |
4,0 |
4,016182327 |
4,0016616 |
4,000166616 |
Определение собственных значений и векторов
Метод интерполяции
Пусть задана матрица А размером п хп . Очевидно, что характеристический многочлен в этом случае имеет порядок п (полином степени п). и задача заключается в определении корней этого полинома.
Алгоритм вычисления собственных значений матрицы А следующий:
1.Строится функция f(X) = det(A - XE):
-на числовой оси выбирается (п+1) значений Хк, к = 0,п;
подсчитываются значения функции f(Xk), k = 0,n, например, с помощью
процедуры метода Гаусса решения систем линейных алгебраических уравнений;
- по найденным значениям fk, k = 0,n строится интерполяционный полином Рп(х) Ньютона (Лагранжа); ранее отмечалось, что для рассматриваемого случая многочлен степени п определяется единственным образом; в силу этого построенный полином как
раз и будет характеристическим.
2. Каким-либо из известных методов решения нелинейных уравнений
отыскиваются корни построенного полинома Рп(х), которые представляют собой собственные значения исходной матрицы.
Трехдиагональные матрицы
В практике инженерных расчетов часто встречаются трехдиагональные матрицы, у которых отличны от нуля лишь коэффициенты, расположенные на главной диагонали,
а также над и под нею. Пусть такая матрица имеет вид
а п |
а 12 |
0 |
0 |
0 |
0 |
|
|
|
|
||
а 21 |
а 22 |
а 23 |
0 |
0 |
0 |
|
|
|
|||
0 |
а 32 |
а зз |
0 |
0 |
0 |
|
|
|
|
||
0 |
0 |
0 |
а п-2п-2 |
а п-2п-1 |
0 |
0 |
0 |
0 |
а п-1п-2 |
а п-1п-1 |
а п-1п |
0 |
0 |
0 |
0 |
а пп-1 |
а ПП |
Для определения собственных значений требуется подсчитать определитель
матрицы: |
|
|
|
|
|
а,,-Х |
а12 |
|
0 |
0 |
0 |
а2! |
а22- ^ |
|
0 |
0 |
0 |
О |
а32 |
|
0 |
0 |
0 |
А -ХЕ = |
|
|
|
|
|
О |
О |
О |
-2п-2 ” ^ |
а п-2п-1 |
0 |
О |
О |
О |
1п-1п-2 |
а п-1п-1 “ * |
а п-1п |
О |
О |
О |
0 |
®пп-1 |
а п п - ; |
^2 ~ ( a 22 —X)D|(X) —a2lal2D0(X) —(a,, -X)(a22 - X ) - a 2laI2,
итак далее.
Поиск собственных векторов
При численных расчетах, как правило, отыскиваются лишь приближенные величины собственных значений Хк, к = 1,п. В этом случае
det(A-XkE)*0
и система уравнений |
|
(а - хье)х 1 =0 |
|
позволяет отыскать лишь тривиальное решение Хк = 0. к = 1,п. |
|
Пусть F eR n - произвольный вектор. Рассмотрим систему уравнений |
|
(A -X jEjz1'4 = F . |
(5.5) |
Пусть Х \ j = l,n - собственные линейно-независимые векторы, соответствующие различным собственным значениям1; эти векторы в Rn можно взять в качестве базиса.
Разложим векторы Z(0), F по этому базису:
Zm = X1. F = £ P jX J
иJ=>
Подставим эти выражения в систему уравнений (5.5):
(а -Х ,е) Х < 'Х '- Х Р )Х1=0.
4 |
‘ 3-1 |
г г |
t [ < i A - |
- PJX’] = t[< '(A X > - Х,Х‘) - Р,Х>] = |
Coiaacno [7], собственные векторы, соответствующие попарно различным собственным
(качениям, лин Тшо независимы.
-3L.X»)-piX *]= i;[«‘0'(x J - X .) - P fJx^ =0.
В силу линейной независимости векторов Х \ j = I.n получаем
|
|
|
|
|
< ' =г т г |
j= r " ' |
При условии, |
что |
Xj * |
, |
коэффициент |
а (,0> становится большим. |
|
а <0) » |
а (к°‘. к * i , вследствие чего |
|
|
|
||
|
|
|
Zm = 2 > 5 WxJ* a !0,xi. |
|
||
|
|
|
|
j=i |
|
|
то есть |
вектор Z ({)) |
будет |
близок |
по |
направлению |
к собственному вектору X1 |
Повторим решение системы уравнений (5.5) с новой правой частью:
(A - X ^ Z '1' = Z m
Вновь представим решение в виде разложения
z (,) = £ a j )xj j=i
и повторим предыдущие рассуждения, что приведет к выражению
Очевидно, что поскольку величина а |‘м значительно преобладает над остальными
коэффициентами a','". j * i . новый коэффициент а -0 будет еще больше, чем |
а '" |
есть вектор Z lu будет еще ближе по направлению к собственному вектору X' |
Иными |
словами возможно построение итерационного процесса вида |
|
(A -X ,E)z,k" =Z lk\ |
(5.6) |
причем Z"” - произвольный начальный вектор.
Следует отметить, что если собственное значение вычислено достаточно точно, то
det^A- Xjе ) «0, что может привести к аварийной остановке вычислительного процесса.
В этом случае для повышения устойчивости расчетов в матрицу А-Х,Е вносится некоторая погрешность, например, за счет искажения собственного значения X,.
Пример 5.4. Определить собственные векторы для матрицы А = 1 |
^ . |
[_5 |
4 |
При выполнении примера 5.1 получены собственные значения X, = 6, Х2 = -1. Для определения собственных векторов, соответствующих первому собственному значению,
зададим погрешностье: X, =Х ,+ б = 6+б . |
|
|
|||
Система уравнений (5.6) для первого вектора |
принимает вид |
||||
|
-(5 + е)х;+2Х ; = 1, |
||||
|
5Х| -(2 + e)Xj = 1. |
||||
Это система уравнений имеет следующее решение: |
|||||
У 1 |
4 +е |
у 1 _ |
ю+е |
||
1 |
е(7 + е)’ |
2 |
б(7+б) |
||
Для погрешности е=0,001 получаем |
|
|
|||
X1, = -571,4897872, |
= -1428,510213, |
||||
|
||х'|= 1538,584416. |
||||
После нормирования компоненты собственного вектора единичной длины |
|||||
X; = -0,371438695, |
Xj = -0,928457482. |
||||
Первый собственный вектор, определенный ранее для этой же матрицы. |
|||||
X' |
1 |
[2 |
0,3713906761 |
||
>/29 [5 |
0.928476691] ’ |
||||
|
Выполним такую же процедуру для второго собственного значения:
Х2= Х2+ б = е - 1;
(2-e)Xj +2X5 = 1, |5Х?+(5- б)х ; =1;
ф -д -) ^ 5 !2 П * р .« , . с .
j-» "XJ
|х ‘к)Г +1 ® - А Х « > » = 0 ,
»Ж ,
где AXf> = \ f * ' ) - X f >.
Учитывая конкретный вид уравнений (5.7) и (5.8), получаем
£ ааАХ5к)-ДХ(к> Х<к)-Х(к, ДХ1к>= ^ а йХ«к»-Х,1)х:к). i= U:
j»l |
j-l |
(5.9)
2 £ х < к>ДХ<к> = 1 -£ (х < к') 2
к-1 pl
В результате такого итерационного процесса будет найдено какое-то собственное значение и соответствующий ему собственный вектор, в зависимости от начального приближения.
Пример 5.5. Определить методом линеаризации собственные векторы матрицы
А = Г' 21.
L5 4
Согласно формулам (5.9) получаем итерационную процедуру для вычисления собственных значений и векторов:
1 • AX',"’ +2- AXjk| - Х',к| • AX’11 - X'kl • AX|kl = XIU • X',11 -1 • X',k' -2- X.k':
• 5-AX',kl +4 AXjkl -X jkl • AX<kl -X,kl ■AX';kl = X,k’ X',k' -S-X ,1’ -4 -X .1':
2XlklAX‘,k’ + 2X;k,AX;kl = 1—(xjk’)" *(X.1,)!: |
|
(l - X kl). AXikl +2-AX1,1’ - X |kl • AXlkl = X'1' • XJk! |
X;k -2 X.1’; |
■5 AXl,k’+(4-X(kl) AXlkl- X l k' AXk’ = X<k’ X';k' - 5 . X|k’- 4 - X'.k'
2XjklAX',kl +2X;k'AX;kl = 1-(X',l '): -(X'.k,):
На каждом этапе расчетов очередное приближение решения определяется по
формулам
|
X |
j t -И) = х |к) +дх[к\ х (2к+|) =х^к) +дх(2к), х<к+|) = х<к) +дх(к). |
|||||
|
Результаты расчетов сведены в табл. 5.2. |
|
|||||
|
|
|
|
|
|
|
Таблица 5.2 |
|
|
Расчет собственного значения и вектора методом линеаризации |
|||||
|
|
Номер |
xjkl |
x<k> |
X |
||
|
|
итерации |
|
|
1,0 |
1,0 |
|
|
|
0 |
|
1,0 |
|
||
|
|
1 |
|
-0,375 |
|
1,875 |
4,75 |
|
|
2 |
|
0,45741931 |
1,082795321 |
6,26862705 |
|
|
|
3 |
|
0,376979184 |
0,946529203 |
6,038835844 |
|
|
|
4 |
|
0,371426686 |
0,928555837 |
6,000515885 |
|
|
|
5 |
|
0,371390677 |
0.928476699 |
6,000000051 |
|
|
|
6 |
|
0,371390676 |
0,928476691 |
6.000000000 |
|
|
Очевидно, |
что |
решение |
сошлось |
к найденным ранее |
собственному вектору |
|
. |
1 |
(2] |
[0,371390676] |
_ |
Л , |
|
|
X |
=—!=< > = < |
>и собственному значению X, =6. |
|
||||
|
V29[5J |
10,928476691] |
|
|
|
Степенной метод
Степенной метод предназначен для определения наибольшего (по модулю) собственного значения.
Пусть все собственные числа упорядочены следующим образом:
|Х ||>|Х,|>...>|Х „|.
Рассмотрим итерационный процесс вида
Z(k+,) = A Z tk)
Разложим начальное приближение Z {{)) по базису из собственных векторов
Xj, j= 1,п матрицы А:
z(0) = XajXj
J=I
Тогда очевидно, что