Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Численные методы. Ч. 1

.pdf
Скачиваний:
1
Добавлен:
20.11.2023
Размер:
5.3 Mб
Скачать

0.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

Тогда очевидно, что