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

Таким чином, за дванадцять ітерацій з точністю 0,01 знайдено

мінімальне за модулем власне значення 3

 

12

 

 

 

1,002 і відповідний

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 12

 

 

0,707

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

йому нормований власний вектор x

 

 

 

12

 

 

 

 

 

 

4,603 10 4 .

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

0,707

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

1.8.5. Зворотні ітерації зі зсувом

Ме то д зво р о тни х іт е р а ц ій зі зс уво м , запропонований у

1944 р. Х. Віландтом, використовується у випадках, коли відомо наближення до власного значення і потрібно з великою точністю обчислити це власне значення та відповідний власний вектор. У цьому випадку пряме розв’язання однорідної системи лінійних рівнянь

A E x 0

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

Нехай для власного значення j матриці простої структури А відоме його наближення s таке, що

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j s

 

i

s

 

, для всіх i j .

(25)

Утворимо, починаючи з вектора

x 0

такого, що

 

 

 

x 0

 

 

 

1, послідовність

 

 

 

 

нормованих векторів x k за формулами

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A sE y k x k 1 ;

(26)

 

x k

 

y k

 

, k 1,2,3....

(27)

 

 

 

 

 

 

 

 

 

y

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Розглянемо поведінку цієї послідовності, для чого запишемо розклад векторів y k і x k 1 за базисом з власних векторів x1, x2 , , xn з деякими коефіцієнтами ci k і bi k 1 , відповідно:

43

y

k c k x c k x c k x ;

 

 

1 1

2

2

 

n n

(28)

 

 

 

 

 

 

x k 1 b k 1 x b k 1 x b k 1 x .

 

1

1

2

2

n

n

Підставимо (28) в (26) і враховуємо, що власні вектори за означенням

Axi i xi , i 1, n ,

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

1 s c1k x1 2 s c2k x2 n s cnk xn

b1k 1 x1 b2k 1 x2 bnk 1 xn.

Узв’язку з єдиністю розкладу вектора за базисом з власних векторів з останній рівності випливає

 

 

s c k

b k 1

 

 

 

 

 

 

i

, i 1, n.

 

 

 

i

i

 

 

 

 

 

 

 

Отже,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c k

 

bi k 1

 

 

 

 

 

 

 

 

,

i 1, n.

(29)

 

 

 

 

 

i

 

i s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

З аналізу коефіцієнтів (29) розкладу вектора y k

за базисом з влас-

них векторів бачимо, що внаслідок малості модуля знаменника j s по-

рівняно з іншими знаменниками i s (див. нерівність (25)) можна розра-

ховувати на переважне зростання коефіцієнтів c jk саме при власному векторі x j зі збільшенням кількості ітерацій k. Тому чим більшою є нері-

вність у (29), тим більше домінуватиме складова власного вектора x j у

виразі для y k (див. (28)), а отже, і вектора x k , отримуваного з y k но-

рмуванням (27). Крім того, швидке домінування c jk серед решти коефіці-

єнтів ci k при будь-якому ненульовому початковому векторі x 0 відбува-

ється ще й завдяки чисельникам дробів (29).

Метод зворотних ітерацій зі зсувом дозволяє не тільки знайти власний вектор x j , а й уточнити відповідне власне значення j s . Це виті-

кає з формул (26) і (27), які визначають метод зворотних ітерацій для найменшого за модулем власного значення матриці A sE . Якщо величина

44

зсуву s суттєво ближче до j , ніж до будь-якого іншого власного значен-

ня i

матриці А, то згідно властивості власних пар матриць А і

A sE ,

значення,

що уточнюють j ,

можна отримати при

k 1, 2, за форму-

лою

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

1

 

m

xi k 1

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

s

 

 

 

 

 

, для всіх

yi

0 ,

(30)

 

 

 

 

 

 

 

 

 

 

 

 

m

y k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

де x k 1 і

 

 

 

 

k

 

 

 

 

 

 

x k 1 і

y k , відповідно, i

 

; m

y

– координати векторів

1, n

 

i

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кількість ненульових компонентів вектора

y k .

 

 

 

 

 

 

 

 

 

Таким чином, за га ль ни й

а л го р и т м

м ето ду

зво р о тни х і т е -

р а ц ій зі зс уво м , наступний:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для

заданої матриці

А,

початкового

вектора

x 0 , такого, що

 

x 0

 

 

 

2

1 , величини зсуву s і точності ε покласти k 1 і виконати:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Розв’язати систему лінійних рівнянь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A sE y k

x k 1 .

 

 

 

 

 

2.

Обчислити наближений власний вектор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x k

 

 

y

k

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y k

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

Визначити наближене власне значення,

враховуючи всі m нену-

льових компонентів вектора

y k , m n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

1

 

m

xi k 1

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

s

 

 

 

 

 

 

 

, для всіх

yi

0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

y k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

4.

Якщо

для

векторів

x k

 

і

 

x k 1

виконується

умова

 

x k x k 1

 

 

 

, то збіжність досягнута;

в протилежному випадку пок-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ласти k k 1 і перейти до кроку 1.

Порівняно зі звичайним степеневим методом процес зворотних ітерацій зі зсувом має велику швидкість. Крім того, на відміну від степенево-

45

го методу метод зворотної ітерації не має обмежень збіжності при наявності близьких власних значень.

Ще більшу швидкість збіжності можна отримати введенням зм ін ни х зсу ві в , які визначені послідовністю чисел s0 , s1, s2 , , збіжною до шуканого власного значення. Як такі числа доцільно використовувати наближення kj до власного значення j , отримувані за формулою (30).

 

 

 

 

 

 

Отже, за га ль ни й а л го р и тм ме то д у з во р о т ни х

іт ер а ц ій

з і

зм і нни ми зсу в а ми , наступний:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для

заданої матриці А, початкового

вектора x 0

, такого,

що

 

x

0

 

 

 

 

1

 

 

 

 

 

0

 

і точності ε покласти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, приблизного значення власного числа j

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1 і виконати:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Розв’язати систему лінійних рівнянь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

E y

k

x

k 1

.

 

 

 

 

 

 

 

 

 

 

 

 

A j

 

 

 

 

 

 

2. Обчислити наближений власний вектор

 

 

 

 

 

 

 

 

 

 

 

x k

 

 

y

k

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y k

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

Визначити наближене власне значення, враховуючи всі m нену-

льових компонентів вектора

 

y k , m n

 

 

 

 

 

 

 

 

 

 

 

 

 

k

k 1

 

1

m

xi k 1

 

 

 

k

 

 

 

 

 

 

 

 

j

j

 

 

 

 

 

 

 

 

, для всіх

yi

 

0 .

 

 

 

 

 

 

 

 

m

y k

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

4.

Якщо

для

векторів

 

x k

 

і

x k 1

 

виконується умова

 

x k x k 1

 

 

 

 

, то збіжність досягнута;

в протилежному випадку пок-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ласти k k 1 і перейти до кроку 1.

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

46