Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы методичка 3.pdf
Скачиваний:
63
Добавлен:
02.02.2015
Размер:
755 Кб
Скачать
☆

1. ТЕОРЕТИЧНИЙ МАТЕРІАЛ

1.1. Основна ідея ітераційних методів знаходження власних значень і векторів

Більшість ітераційних методів визначення власних значень і векторів матриці А ґрунтуються на приведенні матриці А за допомогою невиродже-

них перетворень до такої матриці A* , для якої проблема власних значень є простою. Наприклад, якщо А – дійсна матриця з різними дійсними власними значеннями 1, , n , то матриця перетворення Т, що переводить А

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

a*

 

 

 

 

11

*

0

 

 

 

 

A*

0

a22

T 1AT .

 

 

 

 

 

 

 

*

 

 

 

 

ann

Стовпці матриці Т утворюють повну систему власних векторів А, а

діагональні елементи матриці A* є власними значеннями А.

Але щоб визначити власні значення матриці (за тими же припущеннями відносно i ), не обов’язково приводити її до діагонального виду.

Достатньо привести матрицю до трикутного вигляду, тому що на діагоналі трикутної матриці будуть розташовані власні значення А:

a*

a*

a*

 

 

11

12

 

1n

 

 

 

a*

a*

T 1 AT .

A*

0

22

 

2n

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

ann

 

Дійсно, характеристичне рівняння для A*

det A* E 0

представляється у формі

5

 

a1*1 a22* ann*

0

 

 

 

звідки випливає,

що власні значення A*

– це A* a*

, a*

, , a*

.

 

 

11

22

nn

 

Залишилося показати, що A A* . Це випливає з рівностей

 

 

det A* E det T 1 AT E det T 1 A E T

 

 

det

T 1 det A E det T det A E .

 

 

 

Визначення власних векторів ei* трикутної матриці A* є простою за-

дачею, тому що вона еквівалентна розв’язанню системи лінійних однорідних рівнянь

A*e a* e , i 1, n ,

ii

ii i

із трикутною матрицею і будь-якою додатковою умовою, що однозначно виділяє власні вектори, наприклад,

e*

 

 

 

 

1,

i 1, n .

ii

 

 

 

 

Знаючи власні вектори матриці A* , можна одержати власні вектори А за допомогою матриці перетворення Т

ei Tei* ,

оскільки з рівності

T 1ATei* aii*ei*

випливає співвідношення

A Tei* aii* Tei* .

Найпростішим з алгоритмів обчислення власних значень, що ґрунтується на приведенні матриці до трикутного вигляду, є метод, який використовує ідею LU-розкладу матриці.

За ува ж ен ня . Якщо дійсна матриця має комплексні власні значен-

ня, вона не може бути приведена до трикутної матриці A* за допомогою дійсного перетворення. Матрицею, до якої можна привести будь-яку матрицю А за допомогою дійсного й навіть ортогонального перетворення, є

ма й ж е тр и ку тна ма тр и ц я A* (вер хня фо р ма Хе с сен бер га ):

6

 

a*

a*

 

a*

 

 

 

 

11

12

 

1n

 

 

*

a21*

a22*

a2*n

 

(1)

A

 

0

 

 

 

.

 

 

 

 

 

 

 

 

 

*

*

 

 

 

 

 

 

an n 1

ann

 

Таким чином, у задачі визначення власних значень і векторів першим кроком є приведення матриці А до форми (1). Цю процедуру звичайно виконують, щоб подальші обчислення проводити з ненульовими елементами

A* , яких при великих n майже вдвічі менше, ніж у вихідної матриці А. Для симетричних матриць форма (1) приймає тридіагональний вигляд:

 

a*

a*

 

 

 

 

 

 

11

12

 

0

 

 

*

a21*

a22*

a23*

 

(2)

A

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

a*

a*

 

 

 

 

 

 

n n 1

nn

 

1.2.LU-алгоритм пошуку власних значень матриці

В несиметричному випадку для пошуку власних значень матриці часто використовують ідею перетворення заданих матриць до подібних матриць трикутного вигляду. Найпростішим з таких алгоритмів є алгоритм, що ґрунтується на ідеї LU-розкладу матриці.

Нехай задано невироджену матрицю А порядку n, яку можна представити у вигляді

 

 

A LU ,

(3)

де L і U – відповідно нижня і верхня трикутні матриці.

 

Позначимо A 1 UL ,

тоді U A 1 L 1 . Підставимо вираз для матриці

U в (3) і отримаємо новий запис для вихідної матриці А:

 

 

 

A LA 1 L 1 ,

(4)

що відображає подібність

матриць А і A 1 , тобто рівність їх власних

значень.

 

 

 

Якщо тепер матриця

A 1

може бути представлена у вигляді добутку

нижньої L1 і верхньої U 1

трикутних матриць, тобто

A 1 L1 U 1 , то

7

прийнявши

A 2 U 1 L1

 

1

, аналогічно

і виразивши звідси U 1 A 2 L1

до попереднього, отримаємо

 

 

 

 

1

.

(5)

 

 

A 1 L1 A 2 L1

Отже, матриця A 1 подібна до матриці A 2 , тому їх власні значення співпадають. Підстановка (5) в (4) дає вираз вихідної матриці А через A 2 :

A LL1 A 2 L1 1 L 1 LL1 A 2 LL1 1 ,

звідки випливає рівність власних значень матриць А і A 2 .

Такий процес побудови послідовності подібних матриць A k є основою LU-алгоритму пошуку власних значень матриці, що був запропо-

нований Г. Рутисхаузером у 1958 р.

 

Таким чином,

к о ж н и й кр о к LU - а л го р и т му складається в пере-

ході від матриці A k до матриці A k 1 , k 0, 1, , де

A 0 A за наступ-

ним п р а ви ло м .

 

 

1.

Матриця

A k розкладається на добуток верхньої і нижньої три-

кутних матриць за схемою (3):

 

 

 

A k L k U k .

(6)

2.

Матриця

A k 1 визначається перестановкою співмножників у

(6):

 

 

 

A k 1 U k L k , k 0,1, 2, .

Сформулюємо тв ер д же н ня п р о зб і жн іс ть LU - а л го р и т му .

Нехай матриця А – невироджена, має різні власні значення i , i 1, n , модулі яких, за винятком комплексно-спряжених, також різні й упорядковані в порядку незростання, тобто 1 2 n . Тоді при нескін-

ченної кількості ітерацій, тобто при k , отримана послідовність матриць збігається до трикутної матриці U k вигляду

8

 

 

*

*

 

*

 

 

1

2

 

 

 

 

 

0

*

*

 

U k

 

 

 

,

 

 

 

 

 

 

 

 

 

 

0

0

0

 

 

 

 

 

n

 

де на діагоналі

 

 

будуть знаходитись власні значення матриці А, зі

 

 

 

i

 

 

k

 

 

 

 

 

 

 

 

швидкістю O

 

 

 

 

 

.

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Одним з чинників, що обмежує сферу застосування LU-алгоритму для пошуку власних значень, є його недостатньо добра чисельна стійкість. Поліпшення цього параметра здійснюється шляхом перестановок рядків і стовпців, що суттєво позначається на економічності методу. Прискорення збіжності процесу досягають шляхом відповідних зсувів матриць і перестановок їхніх елементів.

Приклад 1. Розглянемо застосування LU-алгоритму для пошуку

власних значень матриці

3

1

 

A

 

.

 

 

 

5

 

 

 

3

 

 

Ро з в ' я за н ня . Власними

значеннями матриці є числа 1 6 і

2

2 . Виконаємо LU-розклад матриці за формулами

 

 

i 1

 

 

 

 

uij aij likukj ,

i j;

 

1

k 1

 

 

 

 

 

 

j 1

 

 

lij

 

aij

lik ukj

,

i

 

 

 

 

 

 

 

 

 

u jj

k 1

 

 

 

В результаті отримаємо:

 

 

 

 

 

 

A 0 A L 0 U

0

1

0 3

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1

0

Для побудови матриці A 1 перемножимо матриці порядку:

A 1 U

0 L 0

4

1

 

 

 

 

.

 

 

 

4

4

 

 

 

 

 

j.

.

L 0 і U 0 у зворотному

9

Факторизуємо цю матрицю аналогічно до попереднього:

A 1 L1 U

1

0

4

1

1

 

 

 

.

 

 

1

 

0

 

 

1

 

3

Звідси

A 2 U

5

1

1 L1

 

.

 

 

3

 

 

 

3

Наступний крок дає:

 

A 2 L 2 U 2

 

1

0

5

1

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,6

1

 

0

 

 

 

 

 

 

 

 

 

2,4

 

 

 

 

A 3 U 2 L 2

5,6

 

1

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

2,4

 

 

 

 

 

 

 

 

1,44

 

 

 

 

 

Продовжуючи цей процес, отримаємо:

 

 

 

 

 

 

 

 

 

1

0 5,6

 

1

 

;

 

A 3 L 3 U 3

 

 

 

 

 

 

 

 

 

 

0,257

 

0

 

 

 

 

 

 

 

1

2,143

 

 

 

A 4 U 3 L 3

5,857

 

1

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,551

 

2,143

 

 

 

A 4

 

1

 

0 5,951

 

1

 

;

L 4 U 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

2,049

 

 

 

0,094

1

 

 

 

 

 

A 5 U 4 L 4

5,951

 

1

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

2,049

 

 

 

 

 

 

 

0,193

 

 

 

 

 

Таким чином, діагональні елементи матриці

A 4

відрізняються від

точних власних значень матриці А приблизно на 0,143, а матриці A 4 – на 0,049. Проте швидкість спадання до нуля модулів піддіагональних елементів матриці не дуже висока.

З точністю до 10 3

ітераційний процес завершиться за десять кроків.

На останньому кроці вигляд матриць буде наступним:

 

 

A 9

U

 

5,999

 

1

 

 

8 L 8

 

3

 

 

;

 

 

 

2,43810

2,049

 

 

 

 

 

 

 

 

10