- •Вступ
- •1. Теоретичний матеріал
- •1.1. Основна ідея ітераційних методів знаходження власних значень і векторів
- •1.3. Приведення матриці до майже трикутного вигляду
- •1.4. Розклад матриці на добуток ортогональної та трикутної
- •1.8. Методи розв’язання часткової проблеми власних значень
- •1.8.1. Загальна характеристика чисельних методів розв’язання часткової проблеми власних значень
- •1.8.2. Степеневий метод
- •1.8.4. Метод зворотних ітерацій
- •1.8.5. Зворотні ітерації зі зсувом
- •2. Постановка завдання
- •3. Контрольні запитання
- •Список літератури
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
