Зміни |
знаків |
у |
послідовності нема, |
тобто n 1,563 0 , |
|
n 1,563 3 3 , всі |
власні значення лежать на |
осі праворуч від точ- |
|||
ки 1,563. Отже, власне значення 3 1,563, 1,875 . Покладемо |
a5 c4 та |
||||
перевіримо |
виконання |
умови збіжності |
ітераційного |
процесу |
b5 a5 0,313 . Тобто умову збіжності виконано, тому приймемо приблизно, що
|
3 |
|
a5 b5 |
|
1,563 1,875 |
1,719 . |
|
|
|||||
|
2 |
2 |
|
|||
|
|
|
Отже, як і в попередніх прикладах отримана величина 3 1,719 відрізняється від точного власного значення 3 1,586 менше, ніж на задану точність 0,5 .
1.6.Метод «поділяй та пануй»
Метод «поділяй та пануй», запропонований Каппененом у 1981 р. – це найшвидший метод обчислення всіх власних значень і власних векторів симетричної тридіагональної матриці порядку n 25 . В найгіршому ви-
падку він вимагає O n3 арифметичних операцій; на великій виборці ви-
падкових тестових матриць у середньому затрачається тільки O n2.3 опе-
рацій, а для деяких спеціальних розподілів власних значень – O n2 опе-
рацій. Крім того, метод зручний для паралельного обчислення в багатопроцесорних системах.
В методі «поділяй та пануй» використовується розклад Шура для симетричної тридіагональної матриці Т вигляду (12):
QTTQ diag , |
, , |
, |
(15) |
1 2 |
n |
|
|
де Q – ортогональна матриця.
Ідея метода полягає в обчисленні розкладу Шура шляхом «склеювання» разом розкладів Шура двох спеціальних тридіагональних проблем вдвічі меншого розміру. Кожна з цих проблем може бути визначена, в свою чергу, двома розкладами Шура для матриць вчетверо меншого розміру і так далі.
35
Розглянемо принцип розділення вихідної матриці А вигляду (12) на дві матриці вдвічі меншого розміру. Для простоти будимо вважати, що n 2m . Визначимо вектор v розміру n
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
0 |
|
|
|
|
|
|
|
|
e m |
||
v |
|
1 |
|
|
||
|
|
|
|
m |
. |
|
|
|
e m |
||||
|
|
|
|
|
1 |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
0 |
|
|
|
|
|
|
|
|
|
|
~ |
T vvT співпадають |
При цьому за будь-яких R елементи матриці T |
з елементами матриці Т, крім чотирьох середніх елементів, що стоять у |
||||||
позиціях m, m , m 1, m , |
m, m 1 , |
m 1, m 1 . Позначимо матрицю, |
||||
|
~ |
|
|
|
|
|
складену з цих елементів, через Tm |
: |
|
|
|
||
~ |
am |
|
bm |
|
||
T |
|
|
|
. |
||
m |
b |
a |
2 |
|||
|
m |
|
|
|
m 1 |
|
Якщо покласти bm , тоді |
|
|
|
|
|
|
|
T |
0 |
|
vvT , |
||
|
T |
1 |
|
|
||
|
|
0 |
T2 |
|
|
|
|
|
|
|
|
де |
|
|
|
|
|
|
|
|
|
a |
b |
|
|
0 |
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
b1 |
a2 |
|
|
|
|||
T |
|
|
|
|
|
|
, |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bm 1 |
|
|
|
|
0 |
bm 1 |
~ |
|
|
||
|
|
am |
|
|
36
|
|
|
|
~ |
b |
|
|
||
|
|
|
a |
|
|||||
|
|
|
|
|
m 1 |
|
m 1 |
|
|
|
|
|
bm 1 |
am 2 |
|
||||
|
T2 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
bn 1 |
|
|
|
|
|
|
|
||||
~ |
~ |
|
|
|
|
2 |
. |
|
|
а am am та am 1 |
am 1 |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
, |
|
|
|
b |
|
|
n 1 |
|
|
an |
|
|
Нехай є ортогональні матриці |
Q1 |
та Q2 розміру m m такі, що кожна з |
||||||||||
матриць QTT Q D |
і QTT Q |
D |
|
– діагональна. Якщо покласти |
||||||||
1 |
1 |
1 |
1 |
2 |
2 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
Q |
0 |
|
, |
||
|
|
|
|
|
|
U |
1 |
|
|
|||
|
|
|
|
|
|
|
|
0 |
Q2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
то
T T T1
U TU U 0
де матриця
0
T2
|
|
U D zzT , |
(16) |
|
vv T |
||
|
|
|
|
|
|
|
|
D |
0 |
|
|
D |
1 |
|
|
|
0 |
|
|
|
D2 |
|
|
є діагональною та |
|
|
|
|
|
QTe |
|
z U Tv |
1 m |
. |
|
|
|
QTe |
|
|
|
2 1 |
|
Порівнюючи (15) та (16), бачимо, що для ефективного синтезу цих двох розкладів Шура вдвічі меншого розміру потрібний швидкий та стійкий розрахунок ортогональної матриці V такої, що
V T (D z zT ) V diag(1, , n ) .
Після того як матриця V обчислена, покладемо Q UV , щоб
отримати (15).
Метод знаходження ортогональної матриці V базується на наступних теоретичних положеннях.
37
Л е м а . Нехай |
матриця D diag d , , d |
n |
Rn n |
має |
властивість |
|||||||||||
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
||
d |
d |
n |
. Припустимо, що 0 і вектор |
z Rn |
не має ну- |
|||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
льових компонент. Якщо |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
(D z zT )v v, |
v 0 , |
|
|
|
|
|||||||
то zTv 0 |
і матриця D E невироджена. |
|
|
|||||||||||||
Т е о р е м а . Нехай матриця D diag d , , d |
n |
Rn n і її діагональні |
||||||||||||||
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
елементи задовольняють умові |
d1 dn . Припустимо, що |
|||||||||||||||
0 і |
вектор z Rn не має |
нульових |
компонент. Якщо |
|||||||||||||
V Rn n |
– ортогональна матриця, така, що |
|
|
|||||||||||||
|
V T (D z zT ) V diag( , , |
n |
) , |
|
|
|||||||||||
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
де 1 n і V v1, , vn , то |
|
|
|
|
|
|
|
|
|
|||||||
1. |
Величини i є n нулями функції |
|
|
|
|
|
|
|||||||||
|
|
|
|
f 1 z |
T |
|
1 |
z . |
|
|
|
|
(17) |
|||
|
|
|
|
|
D E |
|
|
|
|
|
2.Якщо 0 , то 1 d1 2 n dn . Якщо 0 , то d1 1 d2 dn n .
3.Власний вектор vi має однаковий напрямок з вектором
D i E 1 z .
Таким чином, для обчислення ортогональної матриці V треба знайти корені рівняння (17). Для цього можна застосувати метод Ньютона. Функція f на кожному з інтервалів di 1, di буде монотонною та гладкою. Тому метод Ньютона забезпечує швидку збіжність до кожного з коренів рівняння, якщо початкова точка взята з інтервалу di 1, di . При цьому на практиці метод збігається до кожного власного значення за обмежену кількість кроків. Для обчислення функції f і її похідної f , що використовуються в методі Ньютона, необхідно O n арифметичних операцій. Тобто для обчислення одного власного значення достатньо O n арифме-
38
тичних операцій, а для |
знаходження всіх власних значень |
матриці |
|||
D zzT – O n2 |
. |
|
|
|
|
Після цієї процедури обчислюють стовпці матриці V шляхом норма- |
|||||
|
1 |
|
|
|
D i E |
|
z для всіх i 1, n . Оскільки матриця |
||||
лізації векторів |
D i E |
діагональна, то для обчислення одного такого вектора достатньо O n арифметичних операцій. При цьому обчислення всіх власних векторів обійдеться в O n2 операцій.
Отже, можна сформулювати р екур си в ни й а л го р и т м обчислення всіх власних значень і власних векторів симетричної тридіагональної матриці за допомогою стратегії «поділяй та пануй».
Алгоритм 7. Процедура dc _ eig T, Q, – за вихідною матрицею Т обчислюються матриці Q і Λ, такі, що T Q QT .
Якщо Т – матриця розміру 11, то присвоїти результуючим параметрам Q 1 і T , інакше:
T |
0 |
|
vvT . |
|
1. Представити матрицю Т у вигляді T |
1 |
|
|
|
|
0 |
T2 |
|
|
|
|
|
2.Рекурсивно визвати процедуру dc _ eig T1, Q1, 1 .
3.Рекурсивно визвати процедуру dc _ eig T2 , Q2 , 2 .
4. Побудувати за матрицями 1, 2 , Q1, Q2 матрицю D zzT .
5.Найти матрицю власних значень Λ і матрицю власних векторів Q для матриці D zzT .
6.Побудувати матрицю власних векторів Q матриці T:
Q |
0 |
|
Q . |
|
Q |
1 |
|
|
|
|
0 |
Q2 |
|
|
|
|
|
|
7. Присвоїти результуючим параметрам значення Q і Λ. |
t n |
Проаналізуємо ск ла дн іс т ь р о зг ля ну то го а л го р и тму . Нехай |
– кількість арифметичних операцій для обробки матриці розміру |
|
n n |
за допомогою процедури алгоритму 7. Тоді два рекурсивних звер- |
тання до процедури dc _ eig Ti , Qi , i потребують 2t n / 2 арифметичних
39