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

Більшість алгоритмів розв’язання симетричної проблеми власних значень, за винятком метода Якобі, RQ-ітерації і SP-алгоритму припускають, що матриця була попередньо приведена до тридіагональної форми. Обчислювальна вартість цього початкового етапу складає величину

4

n3

O n2 арифметичних операцій або

8

n3

O n2 , якщо також потріб-

3

3

 

 

 

 

ні власні вектори.

Си нг ул яр ни й р о зк ла д м а тр и ц ь (sin g u la r va lu e d eco mp o s i - tio n , S VD - р о зк ла д ) на практиці часто зустрічається під час розв’язання лінійних задач найменших квадратів та тісно пов’язаний зі спектральним розкладом симетричних матриць. Тому існують спеціальні модифікації алгоритмів розв’язання симетричної проблеми власних значень для пошуку сингулярного розкладу довільної матриці.

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

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

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

1.1.Метод Якобі

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

маючи трудомісткість O Cn3 , де С – достатньо велика константа. Однак

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

4

Метод Якобі не вимагає попереднього приведення матриці до тридіагональної форми, а працює з вихідною щільною матрицею.

Головна ідея метода суттєво спирається на матричне п е р етво р ен ня

п о діб но с ті . По ді бни ми називаються матриці А і B C 1AC , де С

довільна невироджена матриця.

Відомо, що перетворення подібності зберігає незмінним спектр довільної матриці. Тобто якщо i , xi – власна пара матриці B C 1AC , тоді власна пара матриці А буде i ,Cxi . Крім того, якщо А – квадратна мат-

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

ц ею п р о сто ї с тр у к тур и , а матриці diag 1, 2 , , n

і

X x1, x2 , , xn утворені з її власних значень і власних векторів, відпо-

відно, тоді

 

X 1AX .

(1)

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

властивістю ортогональних матриць X 1 X T , тому (1) можна записати у вигляді

X T AX .

(2)

Отже, для будь-якої симетричної матриці А знайдеться діагональна матриця Λ, їй ортогональна подібна. Теоретично отримати цю матрицю можна застосовуавши нескінченну послідовність однотипних ортогональних перетворень. Близькість матриці до діагонального виду можна контролювати за величиною

off A

n

n

 

aij2 ,

(3)

 

i 1

j 1,

 

 

 

j i

 

тобто за но р мо ю Фр о б е ніу са ,

що

обчислена для

позадіагональних

елементів матриці.

Будемо для перетворення використовувати ма тр и ц і п ло ски х п о -

во р о т ів

5

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

s

 

 

 

 

 

 

 

 

 

 

 

 

 

Tij

 

0

 

0

 

,

 

 

s

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

де c2 s2 1 . Тобто існує такий кут , що c cos , s sin .

Матриці поворотів відрізняються від одиничної матриці лише чотирма елементами, що перебувають на перетині двох рядків і двох стовпців з номерами і та j, причому i j . Ці чотири елементи становлять матрицю

с

s

cos

sin

 

 

 

 

 

 

 

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

 

s

 

 

sin

 

 

 

c

 

cos

 

тових координат на площині при повороті осей на кут . Цей факт повністю пояснює назву матриці.

Матриця Tij ортогональна за довільних і та j, тому матриця

 

B T T AT

(4)

ij ij

 

побідна до матриці А, тобто має однаковий з нею спектр.

Кла си чни й і тер а ц ій ни й мето д п о во р о т ів Я ко бі передбачає побудову послідовності ортогонально подібних матриць A A 0 , A 1 , A 2 , , A k , за допомогою перетворень типу (2)

A k TijT A k 1 Tij ,

таких, що на k-у кроці занулюється максимальний за модулем елемент матриці A k 1 попереднього кроку, а отже й симетричний до нього

елемент. Матриця A k буде співпадати з матрицею A k 1 , за винятком рядків та стовпців з номерами i та j.

Нехай θ – кут обертання. Він вибирається так, щоб елементи i, j йj,i в матриці A k стали нульовими. Щоб знайти θ, хоча фактично будемо шукати c cos і s sin , запишемо двомірні підматриці, визначені фіксуванням позиції i, j деякого елемента aij матриці А:

6

aiika jik

1

0

a

k

 

cos

sin T a

k 1

 

ij

 

 

 

 

 

ii

 

k

 

 

 

 

 

k 1

a jj

 

 

sin

cos

a ji

 

0

 

 

 

 

 

 

 

 

,

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

a

k 1

 

sin

 

ij

cos

 

 

 

 

 

 

 

 

 

 

 

k 1

sin

 

 

a jj

 

cos

 

 

 

 

 

 

(5)

 

 

 

 

 

де ,

 

 

a

k 1

a

k 1

 

– власні значення підматриці

ii

ij

.

1

2

 

a

k 1

a

k 1

 

 

 

 

ji

 

jj

 

Норма Фробеніуса зберігається при ортогональних перетвореннях, тому з урахуванням симетрії матриці можна знайти, що

aiik 1 2 a jjk 1 2 2 aijk 1 2 aiik 2 a jjk 2 2 aijk 2 aiik 2 a jjk 2 ,

і, отже,

off A k 2

 

A k

 

2

n

aiik 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A k 1

 

 

 

2

n

a

k 1 2

 

a k 1 2

a k 1 2

a k 2

a

k 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ii

 

 

ii

jj

ii

 

jj

 

 

 

 

 

 

 

 

 

 

F

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

off A k 1 2 2 a

k 1 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

 

 

 

 

 

Таким чином, у сенсі зменшення величини off A матриця А стає ближче

до діагональної форми на кожному кроці методу Якобі.

Опускаючи для простоти індекс номера ітерації та виконуючи множення матриць у (5) в позначеннях c cos і s sin , з урахуванням симетрії отримаємо

10

0

 

a

c2 a

jj

 

 

 

 

ii

 

 

 

2

 

sc a

jj

a

 

 

 

 

 

ii

 

s

2

2scaij

 

 

sc a jj aii aij c

2

s

2

 

 

 

 

 

aij c

2

 

2

 

 

2

 

2

 

 

 

.

s

aii s

a jjc

2scaij

 

 

 

 

 

 

Прирівнюючи позадіагональний елемент до нуля, маємо

a jj

aii

 

c2 s2

cos 2

 

 

 

 

 

 

 

 

ctg2 .

(6)

 

 

 

sin 2

2a

 

2sc

 

 

 

ij

 

 

 

 

 

 

7

Якщо в формулі (6) елемент

aij

0 ,

тоді

 

c 1 і s 0 . В протилежному

випадку позначимо t

s

tg . Тоді отримаємо квадратне рівняння

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t2 2t 1 0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

розв’язуючи яке та обираючи найменший з коренів, щоб кут

 

 

,

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

що забезпечує систематичне зменшення величини off A , будемо мати:

 

 

 

 

 

t

 

 

 

 

 

sign

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

1

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s t c.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким чином, можна сформулювати а л г о р и т м

д ля

о бчи сл ен ня

п а р и c, s , для якої виконується умова, якщо B T T AT , то b b

ji

0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

ij

ij

 

 

 

 

 

 

, де ε – погрішність обчислення,

 

Алгоритм 1. Якщо

aij

обчис-

лити:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a jj

aii

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2aij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

sign

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

1

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 t 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sc t ,

упротилежному випадку покласти c 1 і s 0 .

Позначимо матрицю поворотів Tij через R i, j, , що повністю відо-

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

8

Алгоритм 2. Для заданої симетричної матриці А порядку n і погрішності tol 0 :

1.Обчислити точність розрахунку tol A F .

2.Якщо потрібні власні вектори, покласти V E .

3. Вибрати пару індексів i, j

 

 

 

 

 

таку, що 1 i j n і

aij

max

akl

,

 

 

 

k l

 

 

k1, n , l 1, n .

4.Обчислити пару c, s за алгоритмом 1.

5.Застосувати поворот A R i, j, T A R i, j, .

6.Якщо потрібні власні вектори, обчислити V V R i, j, .

7.Якщо норма позадіагональної частини матриці А off A , то

збіжність досягнуто; в протилежному випадку перейти до кроку 3.

В результаті роботи алгоритму в матриці А буде записана матриця

V T AV , де V – ортогональна матриця, і

off V T AV tol

 

 

 

A

 

 

 

F

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вартість застосування

оновлення

матриці A R i, j, T A R i, j,

або матриці V V R i, j,

при використанні симетрії становить 6n опе-

рацій.

 

 

 

 

 

 

 

 

 

 

 

Якщо

N

n n 1

– число наддіагональних елементів матриці А і

 

 

2

 

aij – максимальний за модулем позадіагональний елемент, то off A 2 N aij2 a2ji ,

звідки з формули (5) можна тримати оцінку

2

 

 

 

 

1

2

off A k

1

 

 

 

 

off A k 1 .

 

 

 

 

 

 

 

N

 

Отже,

 

 

 

 

 

 

 

 

2

 

 

 

 

1 k

2

off A k

1

 

 

 

 

 

off A 0 .

 

 

 

 

 

 

 

 

N

 

Таким чином, класичний алгоритм Якобі збігається л і н і й н о , щонайменше, зі швидкістю геометричної прогресії, знаменник якої не перевер-

9

шує величини 1 N1 . Але асимптотична збіжність методу значно вища –

доведено, що за достатньо великої кількості ітерацій k існує константа с така, що

off A k N c off A k 2 ,

тобто асимптотична збіжність методу є к в а д р а т и ч н о ю .

Звичайно називають N оновлень Якобі ч и с т к о ю . Таким чином, після деякого числа операцій квадратична збіжність спостерігається, якщо перевіряти off A після кожної чистки.

Приклад 1. Застосуємо класичний алгоритм Якобі для пошуку вла-

 

 

1

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

1

2

3

 

4

з точністю

10 7

та просте-

 

 

 

 

 

 

 

 

 

 

 

1

3

7

 

9

 

 

 

 

 

 

 

1

4

9

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

жимо зміну величини off A після кожної чистки.

 

 

Р о з в ' я з а н н я .

Норма Фробеніуса позадіагональної частини мат-

риці складає величину

off

A

14,765 .

 

Обчислимо кількість ітерацій на

одну чистку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

n n 1

 

 

4 3

6 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

 

Максимальний за модулем позадіагональний елемент матриці А – це елемент a34 9 . Обчислимо параметри c і s за алгоритмом 1:

 

 

 

 

a jj

aii

 

 

a a

 

 

 

11 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

44 33

 

 

 

 

 

0,222

;

 

 

2a

 

2 a

 

2

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

 

 

34

 

 

 

 

 

 

 

 

 

 

 

t

 

 

sign

 

 

 

 

 

 

 

1

 

 

 

 

 

 

0,802 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

0,222

 

1 0,2222

 

 

 

 

 

c

1

 

 

 

 

 

 

1

 

 

 

 

0,78 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 t 2

 

 

1 0,8022

 

 

 

 

s c t 0,802 0,78 0,626 .

Побудуємо матрицю поворотів Якобі

10

 

1

0

0

0

 

 

 

 

 

 

 

 

 

 

R 3,4,

0

1

0

0

 

.

 

0

0

0,78

0,626

 

 

 

 

 

 

 

 

 

0

0

0,626

0,78

 

 

 

 

 

 

Виконаємо оновлення матриці

 

 

 

 

 

 

 

1

1

0,154

1,406

 

 

 

 

 

0,163

 

 

T

 

1

2

4,997

 

A R i, j,

A R i, j,

0,154

0,163

0,22

0

.

 

 

 

 

 

 

 

 

 

 

 

4,997

0

18,22

 

 

1,406

 

Таким чином, в оновленій матриці елементи a34 a43 0 . Норма позадіагональної частини оновленої матриці становить величину off A 7,483 .

Продовжуючи ітераційний процес, отримаємо таку зміну норми позадіагональної частини матриці після кожної чистки (див. табл. 1.1).

 

Таблиця 1.1 – Зміна норми позадіагональної частини матриці

 

 

 

 

Чистка

 

off A

 

 

 

 

 

0

 

14,765

 

 

 

 

 

1

 

0,091

 

 

 

 

 

2

 

2,227 10 4

 

3

 

1,07410 8

 

Отже, після третьої чистки задану точність досягнуто. Матриця А після останньої ітерації має вигляд:

 

1,315

 

9,632 10 10

0

 

8,94310 15

 

 

9,632 10 10

 

6,889 10 15

 

 

 

0,235

0

 

A

0

 

6,889 10 15

0,327

7,53510 9

.

 

 

 

 

8,94310

15

4,997

7,53510

9

19,776

 

 

 

 

 

Таким чином, власні значення матриці А такі: 1 19,776 , 2 1,315 ,3 0,327 , 4 0,235 . Як видно з табл.1.1, ітераційний процес має квадратичну збіжність.

11

Класичний алгоритм Якобі не використовується в практичних обчисленнях, тому що пошук найбільшого елемента сповільнює процес: потріб-

но провести пошук серед n n 1 елементів перш, ніж застосувати пово-

2

рот, що обійдеться тільки 6n операцій. Це означає, що при великих n тривалість пошуку переважає в загальному часі роботи алгоритму. Тому замість класичного правила вибору пари індексів i, j використовують р я -

д ко в и й ц и к ліч ни й м ето д Я ко бі – порядковий циклічний обхід позадиагональных елементів матриці А:

Алгоритм 3. Для заданої симетричної матриці А порядку n і погрішності tol 0 :

1.Обчислити точність розрахунку tol A F .

2.Якщо потрібні власні вектори, покласти V E .

3.Поки норма позадіагональної частини матриці А off A :

Вциклі по i від1 до n 1

В циклі по j від до n

Обчислити пару i, j за алгоритмом 1; виконати поворот A R i, j, T A R i, j, ; якщопотрібні власні вектори,

обчислити V V R i, j, .

Якщо протягом усього внутрішнього циклу процедура повороту дає тільки значення c 1, s 0 , то матриця А вже більше не зміниться. Циклічний алгоритм Якобі також асимптотично збігається квадратично.

Під час виконання циклічного алгоритму Якобі часто пропускають занулення елемента aij , якщо його модуль менший за деякого малого па-

раметра τ, тому що фактичне зменшення величини off A не виправдовує

обчислювальних затрат. Такий алгоритм називають ц и клі чни м ме т о - до м Я ко б і з ба р ’ єр а ми . Величина бар’єру τ може бути як фіксованою, так і змінюватися за кожного повороту. Фіксований бар’єр звичайно змінюють, якщо всі позадіагональні елементи стали меншими за нього.

12