You are on page 1of 160

К. М.

Рудаков

Чисельні методи аналізу


в динаміці та міцності
конструкцій

Том I
Чисельні методи алгебри
Міністерство освіти і науки України
Національний технічний університет України
"Київський політехнічний інститут"

К. М. Рудаков

Чисельні методи аналізу


в динаміці та міцності конструкцій
Том I. Чисельні методи алгебри
Видання друге, виправлене та доповнене

КИЇВ – 2016
УДК 519.6 : 517.9 : 539.3

Рудаков К.М.
Чисельні методи аналізу в динаміці та міцності конструкцій. В 2-х
томах. Т.І. Чисельні методи алгебри: Навч. посібник [для студ.
вищ. навч. закл. Електронний ресурс] / К.М. Рудаков – Київ: НТУУ
"КПІ", 2016. – 148 с.

Розглядаються методи та алгоритми чисельного розв’язування крайових за-


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

© Рудаков К.М., 2016


© НТУУ "КПІ", 2016
Зміст 3

Зміст

Частина І
ВСТУП ДО ЧИСЕЛЬНИХ МЕТОДІВ
Передмова . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Розділ 1. Наближені числа та обчислення . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1. Наближені числа. Похибêи, їх джерела . . . . . . . . . . . . . . . . . . . . . 10
1.1.1. Різновиди похибоê наближеноãо числа, їх джерела . . . . . . . . . 10
1.1.2. Форми записó чисел. Значóща цифра. Вірні знаêи . . . . . . . . . . 11
1.1.3. Оêрóãлення чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.4. Зв’язоê ãраничної відносної похибêи наближеноãо числа з êільêістю
вірних знаêів . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2. Оцінêи похибоê при наближених обчисленнях . . . . . . . . . . . . . 13
1.2.1. Оцінêи похибоê при елементарних обчисленнях . . . . . . . . . 13
1.2.2. Заãальні формóли для похибоê при обчисленнях фóнêцій . . . . . 15
1.2.3. Спосіб ãраниць . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.4. Імовірнісні оцінêи похибоê . . . . . . . . . . . . . . . . . . 17
1.3. Дійсні числа ó двійêовій системі ЕОМ. Оцінêи похибоê при
обчисленнях на ЕОМ . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.1. Представлення дійсних чисел ó двійêовій системі ЕОМ . . . . . . 18
1.3.2. Виêонання арифметичних операцій ó ЕОМ . . . . . . . . . . 20
1.3.3. Оцінêи похибоê при обчисленнях ó ЕОМ . . . . . . . . . . 21
1.3.4. Праêтичні реêомендації для зменшення похибоê оêрóãлення
дійсних чисел при обчисленнях на ЕОМ . . . . . . . . . . . . . . 24
Розділ 2. Основи теорії операторних рівнянь і фóнêціональноãо аналізó . . . . . . 26
2.1. Лінійні (веêторні) простори . . . . . . . . . . . . . . . . . . . . . . 26
2.2. Лінійні оператори . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3. Лінійні обмежені оператори в дійсномó ãільбертовомó просторі . . . . . . 31
2.4. Лінійні обмежені фóнêціонали в дійсномó ãільбертовомó просторі . . . . . . 32
2.5. Нелінійні обмежені фóнêціонали в ãільбертовомó просторі . . . . . . 33
2.6. Про наближений розв’язоê операторних рівнянь . . . . . . . . . . 35
2.6.1. Про наближений розв’язоê лінійних операторних рівнянь . . . . . . 35
2.6.2. Про наближений розв’язоê нелінійних операторних рівнянь . . . . . . 36

Частина ІІ
ЧИСЕЛЬНІ МЕТОДИ АЛГЕБРИ
Розділ 3. Наближене розв’язóвання трансцендентних і алãебраїчних рівнянь . . . . 38
3.1. Знаходження êоренів трансцендентних рівнянь . . . . . . . . . . . . . . 38
3.1.1. Відділення êоренів трансцендентних рівнянь . . . . . . . . . . . . . . 38
3.1.2. Знаходження êоренів трансцендентних рівнянь . . . . . . . . . . 39
3.1.2.1. Графічний метод . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.2.2. Метод проб (метод половинноãо ділення) . . . . . . . . . 40
3.1.2.3. Метод простих ітерацій . . . . . . . . . . . . . . . . . . . . . 41
3.1.2.4. Метод Ейтêена-Стефенсена . . . . . . . . . . . . . . . . . 41
3.1.2.5. Метод Ньютона (метод дотичних) . . . . . . . . . . . . . . 41
3.1.2.6. Модифіêований метод Ньютона . . . . . . . . . . . . . . . . . . 42
4 Зміст

3.1.2.7. Метод Ньютона дрóãоãо порядêó . . . . . . . . . . . . . . . . . . 43


3.1.2.8. Метод січних (метод хорд, спосіб пропорційних частин, пра-
вило помилêовоãо положення) . . . . . . . . . . . . . . . . . . 43
3.1.3. Ознаêа (теорема) збіжності . . . . . . . . . . . . . . . . . . . . . . 43
3.2. Знаходження êоренів алãебраїчних рівнянь . . . . . . . . . . . . . . . . . . 43
3.2.1. Деяêі важливі теореми та формóли алãебри . . . . . . . . . . . . . . 44
3.2.2. Методи обчислення êільêості дійсних êоренів алãебраїчноãо рівняння 45
32.2.3. Про спеціальні методи знаходження êоренів алãебраїчних рівнянь 45
Розділ 4. Основні властивості числових матриць . . . . . . . . . . . . . . . . . . 47
4.1. Види числових матриць . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2. Хараêтеристиêи веêторів і матриць . . . . . . . . . . . . . . . . . . . . . . 48
4.3. Основні операції з матрицями . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4. Про óпорядêовóвання велиêих "розріджених" матриць . . . . . . . . . . 50
Розділ 5. Прямі методи розв’язóвання систем лінійних алãебраїчних рівнянь . . . . . 54
5.1. Заãальні заóваження . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2. Обóмовленість СЛАР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3. Прямі методи розв’язóвання систем лінійних алãебраїчних рівнянь . . 55
5.3.1. Метод виêористання оберненої матриці СЛАР . . . . . . . . . . . . . . 56
5.3.2. Формóли Крамера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3.3. Метод Гаóсса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3.4. Метод Гаóсса з вибором ãоловноãо елемента . . . . . . . . . . . . . . 59
5.3.5. Метод êвадратних êоренів . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3.6. Схема Холецьêоãо (Гаóсса-Холецьêоãо) . . . . . . . . . . . . . . . . . . 61
5.3.7. Схема Холецьêоãо з діаãональною матрицею . . . . . . . . . . . . . . 62
5.3.8. Ортоãоналізація Грама-Шмідта . . . . . . . . . . . . . . . . . . . . . . 62
5.3.9. Порівняльна хараêтеристиêа прямих методів розв’язóвання СЛАР . . 64
5.4. Схеми розв’язóвання систем лінійних алãебраїчних рівнянь особливоãо
виãлядó: з тридіаãональною матрицею . . . . . . . . . . . . . . . . . . 65
Розділ 6. Обчислення власних значень і веêторів матриць . . . . . . . . . . 68
6.1. Заãальні заóваження . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.2. Обчислення всіх власних значень êвадратної матриці . . . . . . . . . 68
6.2.1. Метод прямоãо розãортання хараêтеристичноãо рівняння . . . . . . 69
6.2.2. Метод Данилевсьêоãо . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.3. Обчислення ãраниць спеêтра власних значень êвадратної матриці . . . . . . 71
6.4. Обчислення деêільêох власних значень êвадратної матриці . . . . . . . . . 72
6.4.1. Метод послідовної ортоãоналізації . . . . . . . . . . . . . . . . . 72
6.4.2. Степеневі методи (метод ітерацій і метод зворотних ітерацій) . . 74
6.4.3. Методи вичерпóвання . . . . . . . . . . . . . . . . . . . . . . . . . 75
Розділ 7. Ітераційні методи розв’язóвання систем лінійних алãебраїчних рівнянь 77
7.1. Ітераційні методи розв’язóвання СЛАР, яêі виêористовóють спеêтральні
хараêтеристиêи матриці . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.1.1. Еêвівалентні форми двошарових ітераційних схем . . . . . . . . . . 77
7.1.2. Умови збіжності двошарових ітераційних схем . . . . . . . . . . . . . . 78
7.1.2.1. Умови збіжності схеми заãальноãо виãлядó . . . . . . . . . . 78
7.1.2.2. Умови збіжності схеми із симетричною та позитивно визначе-
ною матрицею СЛАР . . . . . . . . . . . . . . . . . . . . . . 79
7.1.2.3. Умови збіжності схеми із симетричною та позитивно визначе-
ною матрицею СЛАР і симетричною матрицею розщеплення 79
7.1.3. Заãальні мірêóвання щодо виборó матриці розщеплення . . . . . . 80
7.1.4. Заãальна оцінêа êільêості ітерацій . . . . . . . . . . . . . . . . . . 80
Зміст 5

7.1.5. Метод Яêобі (J) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80


7.1.6. Метод простих ітерацій, метод Річардсона (RF) . . . . . . . . . . 81
7.1.7. Метод верхньої релаêсації (SOR) . . . . . . . . . . . . . . . . . . . . . . 82
7.1.8. Метод Гаóсса-Зейделя . . . . . . . . . . . . . . . . . . . . . . 82
7.1.9. Метод симетричної верхньої релаêсації (SSOR) . . . . . . . . . . 83
7.1.10. Про блочнó реалізацію методів розв’язóвання СЛАР . . . . . . . . . . 84
7.2. Ітераційні методи розв’язóвання систем лінійних алãебраїчних рівнянь, яêі
виêористовóють варіаційні принципи . . . . . . . . . . . . . . . . . . . . . . 85
7.2.1. Метод мінімальних похибоê наближення . . . . . . . . . . . . . . 85
7.2.2. Метод мінімальних поправоê . . . . . . . . . . . . . . . . . . . . . . 86
7.2.3. Метод найшвидшоãо спóсêó . . . . . . . . . . . . . . . . . . 87
7.2.4. Метод спряжених ãрадієнтів . . . . . . . . . . . . . . . . . . 87
7.3. Метод спряжених напрямêів . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.4. Присêорення ітераційних схем розв’язóвання СЛАР . . . . . . . . . . . . . . 91
7.4.1. Поліноміальне присêорення . . . . . . . . . . . . . . . . . . 91
7.4.2. Чебишевсьêе присêорення . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.4.3. Присêорення за методом спряжених ãрадієнтів . . . . . . . . . . . . . . 94
7.5. Нормóвання систем лінійних алãебраїчних рівнянь . . . . . . . . . . . . . . 95
7.6. Заêінчення . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.6.1. Поêращення резóльтатó розв’язóвання СЛАР . . . . . . . . . . . . . . 96
7.6.2. Реêомендації щодо застосóвання методів розв’язóвання СЛАР . . 97
Розділ 8. Методи розв’язóвання систем нелінійних рівнянь . . . . . . . . . . 99
8.1. Заãальні заóваження . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.1.1. Зв’язоê системи рівнянь з еêстремальною задачею . . . . . . . . . . 99
8.1.2. Заãальні схеми ітераційних методів розв’язóвання систем нелінійних
рівнянь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.2. Приêлади ітераційних методів розв’язóвання систем нелінійних рівнянь
заãальноãо виãлядó . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.2.1. Нелінійні методи релаêсації, Зейделя, Яêобі . . . . . . . . . . . . . . 101
8.2.2. Метод Піêара . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.2.3. Метод Ньютона-Канторовича . . . . . . . . . . . . . . . . . . . . . . 101
8.2.4. Модифіêовані методи Ньютона-Канторовича . . . . . . . . . . . . . . 103
8.2.5. Гібридні методи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.2.6. Градієнтні методи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.2.7. Метод випадêових збóрень . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.3. Методи розв’язóвання нелінійних систем алãебраїчних рівнянь . . 104
8.3.1. Метод Ньютона-Рафсона . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.3.2. Метод простих ітерацій та метод Зейделя . . . . . . . . . . 105
Розділ 9. Чисельне інтерполювання, наближення та диференціювання фóнêцій 107
9.1. Заãальні заóваження . . . . . . . . . . . . . . . . . . . . . . . . . . 107
9.2. Сêінченні різниці різних порядêів та таблиці різниць . . . . . . . . . . . . . . 108
9.3. Інтерполяційні формóли Ньютона . . . . . . . . . . . . . . . . . . 109
9.3.1. Перша інтерполяційна формóла Ньютона . . . . . . . . . . 110
9.3.2. Дрóãа інтерполяційна формóла Ньютона . . . . . . . . . . . . . . . . . 110
9.4. Центрально-різницеві інтерполяційні формóли . . . . . . . . . . . . . 111
9.4.1. Інтерполяційні формóли Гаóсса . . . . . . . . . . . . . . . . . . . . . . 111
9.4.2. Інтерполяційна формóла Стірлінãа . . . . . . . . . . . . . . . . . 111
9.4.3. Інтерполяційна формóла Бесселя . . . . . . . . . . . . . . . . . . . . . 112
9.5. Інтерполяційні формóли для різно-віддалених вóзлів . . . . . . . . . . . . . . 112
9.5.1. Інтерполяційна формóла Лаãранжа . . . . . . . . . . . . . . . . . 112
6 Зміст

9.5.2. Інтерполяційна формóла Ньютона . . . . . . . . . . . . . . . . . 114


9.6. Інтерполювання êóбічними сплайнами . . . . . . . . . . . . . . . . . . . . . 114
9.7. Найêраще наближення . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
9.7.1. Метод найменших êвадратів . . . . . . . . . . . . . . . . . . 120
9.7.2. Метод Релея . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
9.7.3. Метод зважених похибоê наближення . . . . . . . . . . . . . . . . . . 122
9.8. Інші варіанти інтерполювання або наближення фóнêцій . . . . . . . . . 123
9.8.1. Інтерполювання мноãочленом Ерміта . . . . . . . . . . . . . . . . . . 123
9.8.2. Триãонометричне інтерполювання періодичної фóнêції . . . . . 124
9.8.3. Інтерполювання раціональними фóнêціями . . . . . . . . . . . . . . 124
9.9. Наближене диференціювання фóнêцій, заданих таблицею . . . . . . . . . . 125
9.9.1. Формóла наближеноãо диференціювання, що заснована на першій
інтерполяційній формóлі Ньютона . . . . . . . . . . . . . . 125
9.9.2. Формóла наближеноãо диференціювання, що заснована на інтерпо-
ляційній формóлі Стірлінãа . . . . . . . . . . . . . . . . . . 126
9.9.3. Диференціювання фóнêції із застосóванням êóбічних сплайнів . . 127
9.9.4. Неêореêтність операції чисельноãо диференціювання . . . . . . . . . . 127
Розділ 10. Наближене інтеãрóвання фóнêцій . . . . . . . . . . . . . . . . . . 129
10.1. Заãальні положення . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.2. Поліноміальне інтеãрóвання . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.3. Інтерполяційні êвадратóрні формóли . . . . . . . . . . . . . . . . . . . . . . 131
10.3.1. Заãальна інтерполяційна êвадратóрна формóла . . . . . . . . 131
10.3.2. Квадратóрні формóли Ньютона-Котеса . . . . . . . . . . . . . 132
10.3.3. Оêремі випадêи êвадратóрних формóл Ньютона-Котеса . . . . . . 133
10.3.3.1. Формóла трапецій . . . . . . . . . . . . . . . . . . . . . . 133
10.3.3.2. Формóла Сімпсона (формóла парабол) . . . . . . 134
10.3.3.3. Квадратóрна формóла Ньютона . . . . . . . . . . 134
10.3.3.4. Заãальні форми êвадратóрних формóл трапецій, Сімпсона
та Ньютона . . . . . . . . . . . . . . . . . . . . . . . . . 134
10.4. Квадратóрні формóли Чебишева . . . . . . . . . . . . . . . . . . 135
10.4.1. Алãоритм створення êвадратóрних формóл Чебишева . . 135
10.4.2. Квадратóрні формóли Чебишева при одиничній ваãовій фóнêції . . 136
10.5. Квадратóрні формóли найвищої алãебраїчної степені точності . . 138
10.5.1. Заãальні положення . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.5.2. Квадратóрні формóли Гаóсса (Гаóсса-Лежандра) . . . . . . . . . . 138
10.5.3. Про êвадратóрні формóли Гаóсса-Лобатто (Марêова) ) . . . . . . 140
10.5.4. Про êвадратóрні формóли найвищої алãебраїчної степені точності
для деяêих ваãових фóнêцій . . . . . . . . . . . . . . . . . . . . . . 140
10.6. Заêінчення . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Розділ 11. Чисельне інтеãрóвання звичайних диференційних рівнянь та їх систем 142
11.1. Заãальні положення . . . . . . . . . . . . . . . . . . . . . . . . . . 142
11.2. Методи розв’язóвання задачі Коші для одноãо рівняння . . . . . . . . . . 142
11.2.1. Методи Ейлера, Рóнãе-Кóтта . . . . . . . . . . . . . . . . . . . . . . 143
11.2.2. Метод Адамса, баãатоêроêові методи . . . . . . . . . . . . . . . . . . 143
11.2.3. Методи типó "проãноз-êореêція" . . . . . . . . . . . . . . 146
11.3. Методи інтеãрóвання систем звичайних диференційних рівнянь . . . . . . 147
11.4. Заãальні реêомендації . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Додатоê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Списоê літератóри . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Іменний поêажчиê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Предметний поêажчиê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Частина І. Передмова 7

Частина І

ВСТУП ДО ЧИСЕЛЬНИХ МЕТОДІВ


Передмова

Процес розвитêó техніêи висóває перед фахівцями з міцності завдання


щодо підвищення надійності та довãовічності машин і êонстрóêцій, пра-
цюючих ó сêладних óмовах еêсплóатації. Це потребóє велиêó êільêості роз-
рахóнêів. При цьомó розãлядається сóцільне середовище або êомбінація се-
редовищ (тверде, рідêе, ãазоподібне) ó взаємодії; їх стан моделюється рів-
няннями, лінійними або нелінійними, а розв’язêи дозволяють отримати
числові значення розподілó полів температóр, переміщень, деформацій, на-
прóжень, власних частот êоливань та ін., що, в свою черãó, є інформацією
для оцінêи міцності, жорстêості, довãовічності машин, елементів êонстрó-
êцій і аãреãатів ó ціломó.
Аналітичні розв’язêи можливі не завжди, зазвичай – для тіл êаноніч-
них обрисів. Застосовóвання чисельних методів майже неминóче.
Історично однієї з перших задач чисельних методів бóла задача про
êвадратóрó êрóãа, інаêше – задача про значення числа  . Площа êрóãа
A   D , при діаметрі D  1 значення   A , а A обчислювали через сóмó
площ триêóтниêів, вписаних в êоло, збільшóючи їх êільêість. Ще древні
арабсьêі математиêи визначили число  з точністю до 40 знаêів.
Чисельні методи – це інтерпретація математичних моделей для її реаліза-
ції за допомоãою простих математичних дій: додавання, віднімання, множен-
ня, ділення, а таêож лоãічних операцій: "таê", "ні", "і", "або" й операції порів-
няння "більше", "менше", "дорівнює". Саме це, і тільêи це, але дóже швидêо
вміють робити елеêтронні обчислювальні машини (ЕОМ). І саме томó з по-
явою ЕОМ чисельні методи отримали велиêе присêорення в своємó розвитêó.
Ще одна важлива обставина: ЕОМ є пристроєм з дисêретним числовим ря-
дом. Причина – обмежена êільêість розрядів, що виділяються для записó числа.
З цих двох причин в ЕОМ бóдь-яêа розрахóнêова модель повинна бóти
представлена дисêретно та алãебраїзована: безперервність просторó й часó за-
мінена дисêретним описом, тобто набором ãеометричних точоê (вóзлів) і ча-
сових шарів, а всі не алãебраїчні математичні об’єêти (наприêлад, інтеãрали й
диференціали) – замінені з достатньою точністю на алãебраїчні аналоãи.
Математична модель яê êрайова задача – це переліê заданих і розшóêó-
ваних фізичних величин, між яêими сформóльовані математичні (алãебраї-
чні, диференціальні, інтеãральні), та лоãічні зв’язêи, зоêрема й обмежóючі в
8 Частина І. Передмова

просторі та часі. Ці зв’язêи можóть бóти яê лінійними, таê і нелінійними.


Постановêою êрайових задач, пов’язаних з міцністю, та створенням мето-
дів їх розв’язóвання займаються: математична фізиêа, теорія прóжності, те-
орія пластичності та повзóчості, ãідроаеродинаміêа, теорія êоливань, меха-
ніêа тріщин, інші наóêові дисципліни. Інêоли на праêтиці потрібно
розв’язóвати задачі, для яêих немає повної чітêості в постановці: напри-
êлад, не доведено теореми про існóвання чи однозначності розв’язêó (одно-
значність розв’язêó – не обов’язêова вимоãа, осêільêи є êрайові задачі, яêі
мають баãато розв’язêів, наприêлад, задачі втрати прóжної стійêості, задачі
про власні частоти та форми êоливань).
При розв’язóванні êрайових задач на ЕОМ дисêретизація просторó й
часó, ó сполóченні з алãебраїзациею, приводить до появи систем алãебраїч-
них рівнянь (САР, лінійних або нелінійних, однієї або баãатьох) щодо зна-
чень хараêтеристиê ó вóзлах (вóзлових фóнêцій) дисêретноãо просторó та на
часових шарах. Після розв’язóвання САР на основі отриманих вóзлових
значень параметрів, при необхідності, обчислюються інші параметри.
Доêазано, що для підвищення точності дисêретної моделі (порівняно з
неперервною моделлю) потрібно зменшóвати відстані між вóзлами (часо-
вими шарами) з одночасним збільшенням êільêість вóзлів та часових шарів.
З появою ЕОМ та подальшим розвитêом чисельних методів з’явився
потóжний і зрóчний метод теоретичноãо дослідження сêладних процесів,
яêі допóсêають математичне моделювання, – обчислювальний еêсперимент.
Етапи проведення обчислювальноãо еêспериментó:
1 – створення нової математичної моделі або вибір математичної моде-
лі, що вже існóє, постановêа задачі. Дослідження êореêтності математичної
моделі, встановлення меж її застосóвання, існóвання та єдиноãо варіанта
розв’язêó, знаходження оêремих і, яêщо це можливо, аналітичних
розв’язêів, підбір тестів для майбóтньої перевірêи яêості обчислювальних
алãоритмів;
2 – побóдова (або вибирання) чисельноãо методó розв’язóвання сфор-
мóльованої математичної моделі, сêладання обчислювальноãо алãоритмó;
3 – проãрамóвання алãоритмó для ЕОМ, йоãо тестóвання;
4 – створення розрахóнêової моделі об’єêта, що аналізóється;
5 – проведення розрахóнêів із застосóванням ЕОМ;
6 – аналіз, доêóментóвання отриманих резóльтатів і, при необхідності,
óточнення математичної моделі.
Проведення обчислювальноãо еêспериментó щодо сêладних технічних
систем (наприêлад, раêет, літаêів, тóрбін і їх елементів) ó повномó обсязі до-
зволяє значно знизити витрати часó та інших ресóрсів при їх розробці та еêс-
плóатації. Тобто обчислювальний еêсперимент – це інстрóмент пізнання.
Проблемами дрóãоãо етапó обчислювальноãо еêспериментó займається те-
орія чисельних методів – один з найбільших розділів приêладної математиêи.
Під словом алãоритм розóміють набір інстрóêцій, що описóють поря-
доê дій виêонавця для розв’язóвання задачі за êінцевó êільêість дій.
Частина І. Передмова 9

Під обчислювальним алãоритмом (ОА) розóміють встановленó послідов-


ність математичних операцій і операцій лоãіêи, яêа приводить до розв’язêó
задачі. Очевидна баãатоваріантність ОА для êожної êонêретної задачі. Ви-
маãається, щоб ОА бóв достатньо точним і швидêим. Ці заãальні вимоãи до
ОА – сóперечливі, осêільêи точність розв’язêó êрайової задачі:
 залежить від щільності дисêретизації області, в яêій задача розãляда-
ється: дрібніша дисêретизація підвищóє точність, але і ресóрсів ЕОМ вима-
ãається більше;
 пов’язана з обмеженою точністю внóтрішньоãо представлення чисел
в ЕОМ, наявністю "машинної" несêінченності. Теоретично стійêий обчис-
лювальний алãоритм на ЕОМ може виявитися нестійêим внаслідоê надмір-
ноãо наêопичення похибоê оêрóãлення;
 час розв’язóвання задачі залежить від êільêості операцій обчислюва-
льноãо алãоритмó, потóжності ЕОМ і яêості проãрами.
При розробці обчислювальноãо алãоритмó êінцева мета – виділення з де-
яêої множини алãоритмів оптимальноãо ОА шляхом постóповоãо залóчення
вимоã яêості: наближення, êореêтності, стійêості, еêономічності тощо.
Задача поставлена êореêтно для ЕОМ, і алãоритм теж є êореêтним, яêщо:
 задача має обмеженó êільêість розв’язêів при бóдь-яêих значеннях
вхідних даних з обóмовленоãо діапазонó;
 розв’язêи безперервно залежать від вхідних даних (алãоритм є стійêим).
Заãальними принципами побóдови наближень є:
 принцип однорідності (одноманітності);
 принцип êонсервативності (відображення на сітці деяêоãо заêонó
збереження, балансó).
Створення обчислювальних алãоритмів для розв’язóвання êрайових за-
дач – не єдина проблема чисельних методів. Є баãато інших проблем, зоê-
рема таêих, що виêонóють допоміжні фóнêції при проведенні обчислюва-
льноãо еêспериментó для машинобóдóвання.
Саме томó в êнизі бóдóть розãлядатися таêі напрямêи першоãо та дрó-
ãоãо етапó проведення обчислювальноãо еêспериментó:
 створення різноманітних апроêсимацій, інтерполяцій та еêстрапо-
ляцій, диференціювання та інтеãрóвання тощо;
 побóдова дисêретних наближень, дослідження хараêтеристиê їх яêості;
 побóдова методів розв’язóвання отриманих наближень, дослідження
хараêтеристиê яêості цих методів;
 побóдова алãоритмів розв’язóвання отриманих рівнянь і їх систем
прямими або ітераційними методами.
* * *
Повний об’єм здобóтêів ó чисельних методах є праêтично неосяжним,
томó фраãментарність виêладеноãо в êнизі матеріалó неминóча. Не розãля-
далося баãато методів та розділів, яêі не є домінóючими або потребóють дó-
же баãато місця. Ще враховóвалося основне призначення цієї êниãи: для
стóдентів (аспірантів) технічних óніверситетів.
10 Частина І. Розділ 1

Розділ 1

НАБЛИЖЕНІ ЧИСЛА ТА ОБЧИСЛЕННЯ

1.1. Наближені числа. Погрішності, їх джерела


1.1.1. Різновиди погрішностей наближеного числа, їх джерела
Наближене число a – число, що незначно (на величинó поãрішності)
відрізняється від точноãо A та заміняє йоãо при проведенні розрахóнêів.
В таблиці 1.1. наведені різновиди поãрішностей наближеноãо числа
a  A , визначеність, відповідні позначення та математичні вирази.
Таблиця 1.1. Різновиди поãрішностей наближеноãо числа
Різновид поãрішності числа a Визначеність Позначення, вираз
поãрішність a  a  A
абсолютна поãрішність  | a || a  A |
нижня ãраниця поãрішності a
реальна
верхня ãраниця поãрішності a
маêсимальна поãрішність a  max{| a |,| a |}
відносна поãрішність    / | A | або    / | a |
ãранична абсолютна поãрішність a  
оціночна
ãранична відносна поãрішність a  
Точне значення A та наближене значення a часто пов’язóють формó-
лою
a  A  (1  ) , (1.1)
де  – відносна поãрішність обчислень  , але з óрахóванням знаêó.
Розрізняють деêільêа джерел поãрішностей обчислень. Їх назви та при-
чини виниêнення зведені до таблиці 1.2.
Таблиця 1.2. Основні джерела поãрішностей обчислень та причини їх виниêнення
№ Джерело поãрішностей Причини виниêнення поãрішностей, пояснення
точна постановêа задачі невідома, є спрощення
математична модель
1 точна постановêа задачі відома, але розв’язати її
(постановêа задачі)
точно неможливо або недоречно
2 вихідні (початêові) дані точні значення невідомі
3 метод (алãоритм) метод (алãоритм) є наближеним
дисêретизація безперервний простір та/або час замінюється на
4
(просторó, часó) дисêретний набір точоê (вóзлів), моментів часó
малі вихідні поãрішності при діях підсилюються
5 нестійêий алãоритм
і наêопичóються лавиноподібним чином
переривання несêінченних процесів (ітерацій,
6 óсіêання рядів)
Частина І. Розділ 1 11

Продовження таблиці 1.2.


7 дії з наближеними числами поãрішності при діях можóть наêопичóватися
виêористовóється сêінченна êільêість знаêів
8 оêрóãлення
для представлення êожноãо "довãоãо" числа
9 хиби ãрóбі людсьêі помилêи
Приêлад поãрішностей вихідних даних: точні значення "фізичних êон-
стант", модóля Юнãа, числа e (основа лоãарифма), числа  не відомі.
Для виявлення ãрóбих людсьêих помилоê (хиб) при введенні даних в
ЕОМ реêомендóють застосовóвати процедóри їх êонтролю.
Є й інша êласифіêація поãрішностей та їх зв’язêів з джерелами (за ви-
êлюченням п.9 – хиб). Позначимо: A – точне (реальне) значення величи-
ни, що описóє деяêий процес; a – точний розв’язоê математичної моделі
процесó; a – наближений розв’язоê моделі процесó, але ó припóщенні, що

при обчисленнях не проводилися оêрóãлення; a* – реальний резóльтат об-
числень з оêрóãленнями. Тоді можна сформóвати таблицю 1.3.
Таблиця 1.3. Поãрішності обчислень, їх зв’язоê з джерелами поãрішностей
№ Назва поãрішності Формóла Пп. таблиці 1.2
1 "неóсóвна" поãрішність   a  A 1, 2
2 поãрішність методó   a  a 3…7
 
3 поãрішність обчислень *  a*  a 8

4 повна поãрішність       *  a*  A 1…8

Всі ці поãрішності вдається хоча б частêово зменшити, запропонóвавши
більш вдалó математичнó модель (п.1), метод (п.2) та/або точність збереження
даних (п.3 таблиці 1.3). Але часто можна навіть збільшóвати можливі поãріш-
ності майбóтньоãо розв’язêó, яêщо насправді велиêа точність не потрібна.
Праêтична реêомендація: поãрішності методó повинні бóти на деêільêа
порядêів меншими, ніж "неóсóвні" поãрішності, а поãрішності обчислень –
значно меншими, ніж óсі інші поãрішності.
Поãрішність, яêа проãнозóється ще до розв’язóвання задачі, називаєть-
ся апріорною. На основі отриманоãо розв’язêó задачі одержóють апостеріор-
нó оцінêó поãрішності.
1.1.2. Форми запису чисел. Значуща цифра. Вірні знаки
Бóдь-яêе число a можна представити в позиційній формі записó яê:
a   ( m  b m   m1  b m1   m 2  b m 2  ...   m n  b m n ) , (1.2)
де  – знаê числа; b  1 – основа системи числення; m – старший розряд
числа a ;  j – розряди, яêі є цифрами з базисноãо наборó системи (напри-
êлад: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – десятêової системи числення; 0, 1 – двійêо-
вої); n  1 – êільêість значóщих розрядів (цифр). Яêщо m  n  0 , то це – ціле
число, m  n  0 – не ціле. Таêий варіант представлення чисел має формó
числа з фіêсованим розділовим знаêом.
12 Частина І. Розділ 1

Приêлад. В десятêовій системі числення число a  84.902  8  101  4  10 0 


 9  10 1  0  10 2  2  10 3 , тобто для ньоãо m  1 , а n  1  5 .
Інша форма представлення дійсних чисел: із плаваючим розділовим
знаêом:
a   M  bq , (1.3)
де M – мантиса числа;  – знаê числа; q – ціле число. Яêщо b  10 , то таêó
формó ще називають математичною, а замість 10 з метою сêорочення запи-
сó часто пишóть e . Яêщо b 1  M  1 , то таêа мантиса зветься нормалізованою,
а весь запис – нормалізованим.
Приêлад. В десятêовій системі числення число a  0.739 105  0.739e  5 ,
тобто для ньоãо знаê числа "мінóс", мантиса M  0.739 , а q  5 .
Значóщий розряд (значóща цифра) наближеноãо числа – це одна з цифр
S на бóдь-яêій позиції ( 0  S  b ), та цифра 0, яêщо остання розташована
між значóщими цифрами S або є представниêом збереженоãо розрядó. Всі
інші цифри 0 (нóлі) вêазóють лише на розряди числа.
Ще варіант визначення: значóщі розряди (значóщі цифри) наближеноãо
числа – це всі цифри в числі, починаючи з першої ненóльової цифри зліва.
Приêлад. У числі 0.003001900 (десятêова система числення) значóщі циф-
ри підêреслені, причомó число 0.0030019 йомó не рівноцінне. Останні два нóлі ó
числі 0.003001900 вêазóють на те, що ці цифри значóщі (там точно – нóлі).
У числі 5039000 останні три нóлі вêазóють на те, що в числі є таêі розряди
(сім значóщих цифр). Але таêі числа можна представляти яê, наприêлад,
5.039 106 (чотири значóщих цифри), або 5.039000 106 (сім значóщих цифр).
Тобто ó ньомó є яê мінімóм чотири значóщих цифри (5039). Збереження нóлів
наприêінці числа ( 5.039000 106 ) теж вêаже на те, що ці цифри значóщі.
Вірні знаêи – це k перших значóщих цифр числа, яêщо абсолютна по-
ãрішність цьоãо числа не перевищóє половини (інший варіант – цілої) оди-
ниці k -ãо розрядó.
Яê знайти k ? Для цьоãо застосовóють математичний запис визначення
êільêості вірних знаêів:
  a  A  0.5  b m1k , (1.4)
де m – старший розряд числа a .
Приêлад.   99.96  100  0.04  0.05  0.5 101  0.5 10m1k . Осêільêи тóт m  1 ;
1  1  k  1 , то k  3 , тобто число 99.96 має три вірних десятêових знаêа.
У всіх таблицях, що приводяться в довідниêах, всі значóщі цифри є ві-
рними, тобто відповідають óмові (1.4).
Коли записóють абсолютнó або відноснó поãрішність, зазвичай виêо-
ристовóють однó або дві значóщих цифри, не більше.
Яêщо число A записóють ó формі
A  a  a , (1.5)
то числа a та  a прийнято записóвати з однаêовою êільêістю знаêів після
розділовоãо знаêó.
Частина І. Розділ 1 13

1.1.3. Округлення чисел


У десятêовій системі числення правила оêрóãлення чисел до n значóщих
цифр (за принципом доповнення) є таêими: відêидаються всі цифри, що
стоять справа, причомó, яêщо перша з відêинóтих цифр:
а/ < 5, то резóльтат одержано;
б/ > 5, то остання цифра з цифр, що залишилися, збільшóється на одиницю;
в/ = 5, а серед відêинóтих цифр бóли не нóлі, то остання цифра з цифр,
що залишилися, збільшóється на одиницю;
ã/ = 5, а серед відêинóтих цифр всі бóли нóлі, то остання цифра з цифр,
що залишилися, повинна бóти парною (непарна збільшóється на одиницю).
Точність наближеноãо числа залежить від êільêості вірних значóщих цифр.
Праêтичне правило наближених обчислень: êільêість значóщих цифр в
проміжних резóльтатах не повинна перевищóвати êільêості вірних цифр
більш ніж на 1 або 2 одиниці, а в остаточних – на 1 одиницю. Яêщо при
цьомó абсолютна поãрішність резóльтатó для останньоãо збереженоãо роз-
рядó не перевищóє 2, то останню цифрó називають сóмнівною. Тобто сóмні-
вними є таêі останні цифри в резóльтатах наближених обчислень: 1, 2, 8, 9.
1.1.4. Зв’язок граничної відносної погрішності наближеного чис-
ла з кількістю вірних знаків
Таêий зв’язоê встановлено доведеною теоремою: яêщо наближене чис-
ло a  0 має k вірних знаêів, то йоãо ãранична відносна поãрішність
1 1
a   b1k при k  1 ; a   b1 k при k  1 , (1.6)
m 2 m
де  m – перша значóща цифра числа a . Дрóãа формóла (1.6) є наближеною,
але її точність швидêо підвищóється з ростом b та k , осêільêи в знаменниêó
бóло прийнято 2 m  b  k  2 m (знехтóвали величиною b  k ).
Приêлад. Яêа ãранична відносна поãрішність числа a = 3.14, яêе часто
застосовóють замість числа  ? Тóт b  10 ,  m  3 та k = 3. Томó відповідно до
дрóãої формóли (1.6)  a  1013 /(2  3)  1/ 600  0,001(6) . Тобто відносна поãріш-
ність числа a = 3.14 в порівнянні з числом  сêладає менш ніж 0.2 відсотêа.
Приêлад. Знайти, сêільêи вірних знаêів достатньо збереãти при обчис-
ленні a  20 з точністю не ãірше 0.1 відсотêа. Отже,  a  0.001 . Осêільêи
20  4.472136 ..., то  m  4 . Зãідно з дрóãою формóлою (1.6): 101k /(2 m ) 
 101k /(2  4)  0.125 101 k  0.001 . Вочевидь, для цьоãо потрібно мати k  4 . От-
же, a  20  4.472 має 4 вірних знаêа та відноснó похибêó  a  0.001 .

1.2. Оцінки погрішностей при наближених обчисленнях


1.2.1. Оцінки погрішностей при елементарних обчисленнях
Поãрішності сóми наближених чисел. Точне значення сóми деêільêох
чисел можемо записати яê
14 Частина І. Розділ 1

A   A1  A2  ...  (  a1  a1 )  (  a2  a2 )  ...    ai   ai  a  a .


i i

Тоді  a   | ai |    a . Тобто абсолютнó поãрішність сóми визначають


i
i i

найменш точні члени сóми, а за рахóноê найбільш точних членів сóми сóт-
тєво підвищити точність не вдається.
   
Яêщо всі Ai  0 , то відносна поãрішність      a  / A     a Ai   / A .
 i   
i i
i

 
Яêщо позначимо   max{ a1 ,  a2 ,...} , то  a     Ai  / A   .
 i 
Отже, ãраничні поãрішності сóми наближених чисел визначаються ви-
разами (замість індеêсó a запишемо індеêс сóми  ):
   a ; (1.7-а) j

     / | a | та    max{ a ,  a ,...} , яêщо всі Ai  0 або всі Ai  0 . (1.7-б)


1 2

Поãрішності різниці двох наближених чисел визначаються виразами, яêі


є оêремим випадêом з (1.7):
 a a    a ;  a a   a a / | a1  a2 | , яêщо a1  a2 .
1 2 j 1 2 1
(1.8)
2

Томó, яêщо a1  a2 , то відносна поãрішність  a  a може бóти дóже вели- 1 2

êою. Про це ãоворять яê про "втратó точності при розрахóнêó різниці", а са-
ме таêе явище називають "êатастрофічним взаємним винищенням".
Поãрішності добóтêó наближених чисел. Яêщо серед наближених чисел
немає таêоãо, що дорівнює нóлю, а резóльтат позначено яê a , то добóтоê n
чисел: A  A1  A2  ...  An  (a1  a1)  (a2  a2 )  ...  (an  an )  (a1  a2  ...  an )  (a2  a3  ...  an )a1 
 (a1  a3  ...  an ) a2  ...  (a1  a2  ...  an1 ) an  a  a , де a  a1  a2  ...  an . Тóт відêинó-
ти яê члени інших порядêів малості члени з добóтêами поãрішностей. Від-
n
носна поãрішність   a / a  a1 / a1  a2 / a2  ...  an / an  a  a  ...  a  (a ) . 1 2 n i
i 1

Томó ãраничні відносна та абсолютна поãрішності добóтêó наближених чисел


 a    a ;  a | a |  a . i
(1.9)
Приêлад. Є два наближених числа a1 =12.2; a2 =73.56, в яêих всі знаêи
вірні. Знайти добóтоê цих чисел, тобто числа a  a1  a2 , та йоãо поãрішності.
Осêільêи всі знаêи – вірні, то абсолютні поãрішності чисел не переви-
щóють половини останньоãо розрядó, тобто:  a = 0.05;  a = 0.005;  a = 1 2 1

0.05/12.2;  a =0.005/73.56;  a    a =0.05/12.2+0.005/73.56  0.0042. Обчис-


2 i

лимо із збереженням всіх знаêів a  a1  a2  12.2  73.56  897.432 . Таêим чи-


ном,  a | a |  a   897.432  0.0042  3.6 . Висновоê: число a має лише два вір-
них знаêа, томó a  a1  a2  12.2  73.56  897  4 .
Оêремий випадоê. Яêщо обчислюється a  n  b , де число n – точне, а b
– наближене, то  a   b , а  a | a |  a | n  b |  b | n |  | b |  b | n |  b . Висновоê:
абсолютна поãрішність змінилася ó n разів.
Частина І. Розділ 1 15

Поãрішності частêи двох наближених чисел. Яêщо a  a1 / a2 й a2  0 , то


аналоãічно поãрішностям добóтêó наближених чисел можна отримати, що:
 a    a ;  a | a |  a .
i
(1.10)
Приêлад. Є два наближених числа a1 =25.7; a2 =3.6, в яêих всі знаêи є
вірними. Знайти число a  a1 / a2 та йоãо поãрішності.
Осêільêи всі знаêи – вірні, то абсолютні поãрішності чисел не переви-
щóють половини останньоãо розрядó, тобто:  a =0.05;  a =0.05; 1 2

 a =0.05/25.7;  a =0.05/3.6;  a    a =0.05/25.7+0.05/3.6  0,0158. Обчисли-


1 2 i

мо із збереженням всіх знаêів a  a1 / a2  25.7/3.6  7.13(8) . Таêим чином, ãра-


нична абсолютна поãрішність  a | a |  a  7.13(8)  0.0158  0,11 . Висновоê:
число a має лише один вірний знаê, томó a  a1 / a2  25.7/3.6  7.1  0.1 .
Відносна поãрішність степені. Яêщо a  b m , причомó b  1, а m є точним
дійсним числом, то з виразів для поãрішності добóтêó наближених чисел:
 a  m   b ;  a | a |  a . (1.11)
Приêлад. Є наближене число b =32.9, в яêомó всі знаêи є вірними.
Знайти число a  n b та йоãо поãрішності, яêщо число n =2.5 є точним.
Запишемо a  n b  b1 / n , тобто m  1 / n =1/2.5=0.4. Осêільêи всі знаêи – ві-
рні, то абсолютна поãрішність числа b не перевищóють половини останньоãо
розрядó, тобто:  b = 0.05. Томó b  0.05/ 32.9  0,0015; a  m  b  0.4  0.0015 0.0006;
a  n b  b m  32.90.4  4.0446;  a | a |  a  4.0446 0.0006  0.0024. Висновоê: число
a має три вірних знаêа, томó a  32.9 0.4  4.045  0.002 .
1.2.2. Загальні формули для погрішностей при обчисленнях
функцій
Нехай u  f ( x1 , x2 , ..., xn ) – аналітична фóнêція від наближених парамет-
рів. Позначимо xi  xio  xi , де xio – номінальні значення параметрів. Роз-
êладемо фóнêцію в оêолі xio зі збереженням тільêи членів наближення пер-
n
шоãо порядêó: u  f ( x1 , x2 , ..., xn )  f ( x , x , ..., x )    f ( x1 , x2 , ..., xn ) / xi  xi . Зі
o
1
o
2
o
n
i 1

вêазаною точністю дрóãий член цьоãо виразó визначає абсолютнó поãріш-


ність обчислення фóнêцій. Для визначення відносних поãрішностей зазви-
чай виêористовóють наближення:  f / xi  / u    ln f  / xi .
Отже, заãальні формóли для ãраничних значень поãрішностей при об-
численнях фóнêцій мають виãляд:
n
u n
 (ln u )
u   xi ; u   xi . (1.12)
i 1 xi i 1 xi
Приêлад. Об’єм êóлі обчислюється за формóлою V  d 3 / 6 . Знайти йоãо
значення, яêщо прийняти   3.14  0.0016 та d  3.7  0.05 .
Номінальне значення об’ємó V  3.14  3.73 / 6  26.5084 мм3.
16 Частина І. Розділ 1

Параметри фóнêції x1   , x2  d , причомó  x  0.0016;  x  0 , а


1 1

x  0.05. Отримаємо вирази для похідних: V /   d / 6 ; V / d  d / 2 . Зãід-


2
3 2

но з першою формóлою (1.12): V  (3.73 / 6)  0.0016  (3.14  3.7 2 / 2)  0.05  1.088
мм3, а  V  (3.7 3 / 6)  0  (3.14  3.7 2 / 2)  0.05  1.075 томó V  26 .5  1 .1 мм3;
V  V / V  1.1 / 26.5  0.04 , тобто V  4% .
Відповідно до формóли (1.6) при k  2 : V  1012 / 2  2  0.025 , тобто
V  0.025  26.5  0.7 мм3. Дійсно, k  2 , осêільêи при інших значеннях від-
носна поãрішність бóде мати інший порядоê.
Яê бачимо, формóли (1.6) та (1.12) дають близьêі, але не однаêові зна-
чення поãрішностей. Але формóла (1.12) точніше, осêільêи враховóє реальні
поãрішності êожноãо з параметрів фóнêції.
Приêлад. Модóль Юнãа визначається при зãині êонсольної балêи пря-
моêóтноãо перетинó за формóлою E  4 Pl 3 / (bh3 w) , де P – зãинальна сила; l
– довжина балêи; h та b – висота та ширина перерізó відповідно; w – про-
ãин êінця балêи. Розміри балêи: l  500  0.5 мм; h  50  0.1 мм; b  10  0.1 мм.
Приêладалася сила P  400  1 Н, яêа виêлиêала проãин w  0.78  0.01 мм.
Номінальне значення: E  4  400  500 3 /(503  10  0.78)  2.051  105 МПа.
Отримаємо вирази для похідних: E / P  4l 3 /(bh 3 w) , E / l  12 Pl 2 /(bh 3 w) ,
E / h  12 Pl 3 /(bh 4 w) , E / b  4 Pl 3 /(b 2 h 3 w) , E / w  4 Pl 3 /(bh 3 w2 ) . Зãідно з
4l 2   3 1 1  
першою формóлою (1.12)  E  3 l  P  P 3 l  l   h   b   w    . Об-
bh w   h b w  
числимо, що  E  0.07040 105 МПа, а  E   E / E  0.07040 105 / 2.051 105  0.034 .
Отже, модóль Юнãа має значення E  2.05  0.07   105 МПа.
1.2.3. Спосіб границь
Є інший спосіб оцінêи поãрішності при обчисленнях фóнêцій
u  f ( x1 , x2 , ..., xn ) : спосіб ãраниць. Опишемо йоãо ó виãляді алãоритмó:
а/ виписати значення параметрів ó виãляді x i  xi  xi , де x i та xi – відо-
мі ãраничні значення цих параметрів;
б/ визначити хараêтер змін фóнêції u  f ( x1 , x2 , ..., xn ) при змінах значень
її параметрів. Яêщо при збільшенні значення параметра фóнêція:
 зростає, то запис x i  xi  xi не міняється;
 зменшóється, то запис x i  xi  xi змінюється на xi  xi  x i .
в/ обчислити фóнêцію u  f ( x1 , x2 , ..., xn ) двічі: u L – при лівих та u R – при
правих значеннях параметрів фóнêції. Ці значення – êрайні: u L – най-
менше (обчислене з нестачею), u R – найбільше (обчислене з надлишêом) з
можливих, тобто u L  u  u R .
ã/ обчислити середнє значення та ãраниці відхилення:
Частина І. Розділ 1 17

u  (u L  u R ) / 2  (u R  u L ) / 2 . (1.13)
Примітêа 1.1. Яêщо xi створює лоêальний еêстремóм фóнêції, то запис
типó xi  xi  xi стає неможливим. Тоді замість ньоãо виêористовóють xi  xi
(лоêальний мінімóм) або xi  xi (лоêальний маêсимóм).
Очевидна переваãа цьоãо способó: він не потребóє обчислень похідних.
Приêлад. Розãлянемо завдання, що сформóльовано в дрóãомó приêладі
Розділó 1.2.2. Резóльтати зведено до таблиці 1.4.
Таблиця 1.4. Етапи оцінêи поãрішності обчислення фóнêції способом ãраниць
етап а/ етап б/ етап в/ етап ã/
399  P  401 399  P  401
499.5  l  500.5 499.5  l  500.5 E L  1.982  10 5
9.9  b  10.1 10.1  b  9.9 E  2.053  0.070   10 5
E R  2.123  10 5
49.9  h  50.1 50.1  h  49.9
0.77  w  0.79 0.79  w  0.77
Осêільêи параметри h , b та w стоять ó знаменниêó, то на етапі б/ їх
праві та ліві ãраничні значення міняємо місцями. Яê бачимо, спосіб ãра-
ниць дав праêтично те саме значення абсолютної поãрішності, яê і формóла
(1.12). Відносна поãрішність  E   E / E  0.070 105 / 2.053 105  0.034 , тобто
теж фаêтично співпадає з раніше отриманою. Остаточно E  2.05  0.07   105 .
Перша значóща цифра в значенні абсолютної поãрішності перевищóє
половинó розрядó (7 більше, ніж 5). Яêщо êритерієм визначення вірних
цифр є половина розрядó, то ó значенні модóля Юнãа ми маємо право вважа-
ти вірною тільêи однó цифрó. Тоді відповідно до дрóãої формóли (1.6) по-
ãрішність  E  1011 / 2  2  0.25 . Вона приблизно ó 7.35 разів більше, ніж отри-
мана вище, тобто ніж 0.034. Яêщо êритерієм визначення вірних цифр є по-
вний розряд, то ó значенні модóля Юнãа ми маємо право вважати вірною дві
цифри. Тоді відповідно до дрóãої формóли (1.6) поãрішність
 E  1012 / 2  2  0.025 , що приблизно ó 1.36 разів менше, ніж 0.034. Тобто дрó-
ãий варіант визначення вірних цифр дав більш точний резóльтат.
Отже, вираховóвання властивостей фóнêції, а не оêремоãо числа – ре-
зóльтатó, дає більш точнó оцінêó поãрішності.
1.2.4. Імовірнісні оцінки погрішностей
Реальні поãрішності обчислень зазвичай менше, ніж оцінюються наве-
деними формóлами. Це томó, що реальні поãрішності оêремих сêладових
часто мають:
 різні знаêи, томó частêово взаємно поãашаються;
 менші величини, ніж припóсêаються.
Томó досить часто застосовóють таê званó імовірніснó похибêó. Наведе-
мо лише два приêлади.
Імовірнісна абсолютна поãрішність сóми N чисел a j :
*    N , де   max{ a1 ,  a2 , ...} . (1.14)
18 Частина І. Розділ 1

Імовірнісна відносна поãрішність добóтêó N чисел a j :


 **    N , де   max{ a ,  a , ...} .
1 2
(1.15)
Приêлад. Оцінимо імовірніснó абсолютнó похибêó для виразó
a  ( a1  a2  ...  a N ) / N при N   , яêий відповідає формóлі для обчислення
середньоãо арифметичноãо N чисел.
Відповідно до формóли (1.14) маємо: *a    N / N   / N . Томó
N  N  N 
 
отримаємо, що lim *a  lim  / N    lim 1 / N  0 . Тобто значення серед-
ньоãо арифметичноãо наближених чисел є більш точним числом, ніж оêре-
мі сêладові.
Порівняння формóл (1.14) з (1.7) та (1.15) з (1.9) поêазóє, що імовірніс-
на оцінêа поãрішностей визначає більшó точність обчислень, ніж звичайна.

1.3. Дійсні числа у двійковій системі ЕОМ. Оцінки погрішностей


при обчисленнях на ЕОМ
1.3.1. Представлення дійсних чисел у двійковій системі ЕОМ
Коли êільêість розрядів для записó числа – обмежена, то форма числа із
плаваючим розділовим знаêом дозволяє на баãато порядêів розширити діапа-
зон дійсних чисел, яêі можна представити (заãальна êільêість чисел ó діапазоні
теж збільшóється). В заãальномó випадêó абсолютна точність представлення
чисел зменшóється, а відносна – збільшóється. Є і інші ефеêти. В сóчасних
ЕОМ зазвичай реалізóють формó числа із плаваючим розділовим знаêом.
У двійêовій системі (більшість ЕОМ) b  2 та 21  M  1 , томó формóла
(1.3), а саме a   M  b q , яêщо a  0.0 , набóває виãлядó
p
a  .1 2 ... p  2  (1 / 2   2 / 2  ...   p / 2 )  2  2    k 2 k ,
q 1 2 p q q
(1.16)
k 1

де 1  1 ;  k  0 або 1 при k  1 . Яêщо при обчисленнях з’являється число, в


яêомó після роздільноãо знаêа стоїть n нóлів, то мантиса "зсовóється" вліво
на n позицій, а значення q (степінь двійêи) зменшóється теж на n . Яêщо
перед роздільним знаêом є n не нóлів, то "зсóв" проводиться вправо на n по-
зицій, а значення q збільшóється на n . Таêі дії називають операцією норма-
лізації, а отриманий запис числа – нормалізованим.
Нормалізація – бажана, але не обов’язêова процедóра, і не тільêи в
двійêовій системі числення. В ЕОМ – звичайна.
Зãідно з (1.16) вважається, що знаê числа не входить до йоãо мантиси.
Приêлад. a  22 (1  21  0  22  1  23 )  4  (1/ 2  0 / 4  1/ 8)  4  (5 / 8)  2.5 .
На праêтиці в ЕОМ є виêлючення із записó (1.16): для від’ємних чисел
після проведення операції нормалізації числа йоãо мантиса представляється
ó виãляді доповнення до одиниці (осêільêи від’ємне число, яêе зберіãається ó
пам’яті, може виêористовóватися баãато разів, то є сенс перетворити йоãо ó
таêий варіант представлення, яêий при виêористанні потребóє меншó êіль-
êість дій). Тобто після знаêа "-" всі останні біти мантиси заповнюють зна-
Частина І. Розділ 1 19

ченням, яêе дорівнює різниці між одиницею та мантисою числа: 1.0  M . У


таêомó представленні від’ємноãо числа обов’язêово 1  0 .
Для числа 0 в ЕОМ всі біти просто заповнюються нóлями.
Для збереження q відводять t бітів, причомó перший біт – для знаêа
степені (1 – знаê "+", 0 – знаê "-" а інші ( t  1 ) бітів – для значення степені.
Приêлад. При t  8 маємо 281  128 . Тобто 128  q  128 .
Є й інша траêтовêа значень цих t бітів: для тоãо, щоб число 0 записóва-
лося в ЕОМ одними нóлями, для обчислення значення q (степені двійêи)
виêористовóється "зсóв" q :
q  qM  q ; 0  qM  2t ; q  2t 1 , (1.17)
де qM – машинне значення степені (те, що реально записóється ó пам’яті
ЕОМ); t – êільêість бітів для qM . Позначимо яê L  qmin та H  qmax .
Приêлад. При t  8 маємо 0  qM  28  256 ; q  281  128 ; L  0 128  128 ;
H  256 128  128 . Тобто 128  q  128 .
В ЕОМ зазвичай біти для дійсних чисел розташовóють ó таêомó поряд-
êó (зліва направо):
 перші t бітів для степені двійêи;
 знаê числа: 0 або 1 ("+" або "-" відповідно);
 p бітів – для значення мантиси.
Для числа з підвищеною точністю всі додатêові біти (наприêлад, ще 32
біта) зазвичай додаються до мантиси ó "хвіст"; а êільêість бітів для степені
двійêи ( t ) ó різних типах ЕОМ може не збільшóватися, незначно збільшóва-
тися або навіть подвоюватися.
Нóмерація бітів зазвичай проводиться із правоãо (останньоãо) біта.
Оêрім двійêової системі в ЕОМ іноді яê основнó застосовóють шістна-
дцятирічнó системó числення, в яêій під êожне шістнадцятирічне число
відводиться по 4 біта. Є приêлади застосóвання й інших систем.
Різні мови проãрамóвання виêористовóють різні формати для записó та
обчислень дійсних чисел. Наприêлад, ó мові проãрамóвання С++ для ПЕ-
ОМ з процесором типó i386 дійсні числа обробляються, зãідно зі стандар-
том двійêової арифметиêи IEEE в одномó з двох форматів. Це звичайний
формат (float – 32 біта під число) та подвійний формат (double – 64 біта під
число). Інші хараêтеристиêи цих форматів зведено в таблицю 1.5.
Таблиця 1.5. Основні хараêтеристиêи форматів дійсних чисел ó ПЕОМ з процесором
типó i386
Кільêість бітів для Крайні зна- Діапазон значень
Фор- Машинний іпсилон  M
степені, манти- чення q (приблизні значення)
мат
си, p M0  M ( 1.0    1.0 при    M )
t ( L та H )
-128 1.4012985e–45
float 8 23 1.1920929e–07
128 3.4028235e+38
-1024 4.9406564584124654e–324
double 11 52 2.2204460492503131e–016
1024 1.7976931348623158e+308
20 Частина І. Розділ 1

Примітêа 1.2. У Додатêó наведено теêст проãрами, яêа визначає та виво-


дить на еêран монітора відомості про наведені в таблиці 1.5 хараêтеристиêи.
Приведене в таблиці 1.5 маêсимальне значення M  називають машинною
несêінченністю, а наближене до нóля M 0 – машинним нóлем. У ПЕОМ з проце-
сором типó i386 для обчислення малих чисел з метою розширення діапазонó
зроблено відхилення від заãальноãо правила, а саме: для малих чисел операція
нормалізації не проводиться. Це дозволяє зменшити значення M 0 відповідно
з 1.4693679385278594e-39 та 2.2250738585072014e–308, яêі бóли би для самих
маленьêих нормалізованих чисел, до вêазаних ó таблиці 1.5 (зменшення M 0
на 23 та 52 двійêових порядêів). У випадêó нормалізації M   M 01 .
Приêлад. У випадêó застосóвання форматó float відповідно до (1.16):
p
M   2128   (1  2 k )  2128  0.9(9)  3.4028234663852886e+38  2128 або
k 1
128
M   2  (1.0  2 p )  2128  0.9(9)  3.4028234663852886e+38  2128 .
Мантиса числа з p двійêових розрядів зберіãає p10  p  lg(2)  0.3 p вір-
них десятêових розрядів.
Приêлад. При p  23 маємо p10  23  lg(2)  6.9  7 розрядів.
Важливою хараêтеристиêою ЕОМ вважається число  M – машинний
іпсилон: відносна (та одночасно абсолютна) відстань від одиниці до настó-
пноãо раціональноãо числа ó напрямêó збільшення. У таблиці 1.5 величина
 відповідає формóлі (1.1), тобто a  A  (1  ) .
Обмежена в ЕОМ êільêість бітів для представлення числа не дозволяє
представити безперервний ряд значень дійсних чисел ó діапазоні [ M  , M  ] .
Створюється дисêретний діапазон дійсних раціональних, тобто з обмеженою
êільêістю знаêів, дійсних чисел, яêі до тоãо ж мають нерівномірний êроê.
Відстань між двома сóміжними дійсними раціональними числами швидêо
збільшóється при віддаленні від нóля. Наприêлад, відстань від нóля до на-
стóпноãо числа дорівнює значенню M 0 , а від одиниці до настóпноãо –  M ,
яêе вже на баãато десятêових порядêів більше (див. табл.1.5).
1.3.2. Виконання арифметичних операцій у ЕОМ
В ЕОМ всі арифметичні операції з дійсними числами виêонóються ó
процесорі дійсних чисел (співпроцесорі). Не вниêаючи в деталі, відзначи-
мо, що для виêонання арифметичних операцій виêористовóється достатня
êільêість додатêових розрядів (бітів) ó реãістрах співпроцесора.
Розãлянемо два дійсних числа a  2r  ma  0.0 та c  2s  mc  0.0 , яêі введені
до ЕОМ з двійêовою системою числення, де ma та mc є мантисами цих чисел.
Операції сêладання/віднімання двох чисел a та c виêонóються за виразом:
(m  m  2 ( r  s ) )  2r , якщо r  s ;
x  a  c   a  (cs r ) (1.18)
(ma  2  mc )  2 s , якщо r  s .
Частина І. Розділ 1 21

З óрахóванням (1.18), операції сêладання/віднімання двох чисел мають


деêільêа операцій (етапів), а саме:
 очищення (обнóління) всіх потрібних реãістрів співпроцесора;
 знайдення чисел ó пам’яті ЕОМ, пересилання до реãістрів співпро-
цесора (операція вибирання);
 порівняння значень степенів r та s ;
 операція множення майбóтньоãо резóльтатó на 2r або 2s відповідно:
фаêтично запам’ятовóється значення r або s ó виділених для цьоãо t  1 бі-
тах;
 виêонання операції вирівнювання порядêів: обчислення mc  2 ( r  s ) або
ma  2 ( s r ) . При цьомó всі цифри мантиси (нóлі та одиниці) зсовóються впра-
во на | r  s | позицій, на звільнені | r  s | позиції записóються нóлі;
 операції сêладання/віднімання ma  mc  2 ( r  s ) або ma  2 ( s r )  mc ;
 операція нормалізації резóльтатó (див. пояснення до формóли (1.16));
 операція обрізання резóльтатó до стандартної довжини, з осереднен-
ням або без ньоãо (є й таêий варіант реалізації ó ЕОМ) – óтворюється x ;
 операція записó резóльтатó, тобто x , ó зовнішню пам’ять ЕОМ.
Операції множення та ділення двох чисел a та c виêонóється за виразами:
x  a  c  ( ma  mc )  2r  s ; x  a / c  (ma / mc )  2r  s , (1.19)
причомó для операції ділення число c повинне обов’язêово бóти нормалі-
зованим. Тóт теж є деêільêа вже описаних вище операцій (етапів).
При перевищенні маêсимальноãо за модóлем значення, наприêлад, в опе-
раціях множення або при спробі ділення на нóль, ЕОМ ãенерóє "лоãічне пере-
ривання" процесó обчислення, яêе повинне "оброблятися" алãоритмом. Униê-
нóти таêі ситóації часто допомаãає зміна порядêó розташóвання чисел або ви-
разів в операціях. Відсóтність обробêи переривання проãрамою може привес-
ти до тоãо, що операційна система аварійно заêінчить роботó проãрами.
1.3.3. Оцінки погрішностей при обчисленнях у ЕОМ
Яê бóло зазначено ó попередньомó Розділі, операція обрізання резóльтатó
до стандартної довжини може проводитися з осередненням або без ньоãо.
На різних типах ЕОМ можóть застосовóватися різні правила оêрóãлен-
ня, їх навіть можна змінювати проãрамно (це зазвичай виêористовóють
êомпілятори – середовища для створення проãрам, що можóть виêонóвати-
ся в ЕОМ). Але маêсимальна похибêа оêрóãлення числа A до числа a не
може перевищити одиниці останньоãо розрядó, тобто в двійêовій системі,
зãідно з формóлою (1.16):
| a  A |  a  2q  p . (1.20)
Приêлад. При q  128 та p  23 (див. табл.1.5)  a  212823  0.40565e  32 .
При q  128 та p  23 :  a  212823  0.350325e  45 .
Осêільêи мантиса числа a обмежена діапазоном 21  M  1 , а маêсима-
льна похибêа оêрóãлення в двійêовій системі обчислення дорівнює ціломó
22 Частина І. Розділ 1

розрядó, то ãранична відносна поãрішність оêрóãлення числа a може бóти


знайденою яê  a   a / | a | 2q  p / 2q  2 p , тобто
 a  2 p , (1.21)
де p – êільêість розрядів для збереження мантиси числа (див. таблицю 1.5).
Машинний іпсилон  M  2 p , тобто співпадає з ãраничною відносною
поãрішністю обрізання чисел ó ЕОМ.
Дисêретність представлення чисел ó ЕОМ не дозволяє виêонóватися
асоціативномó заêонó при додаванні дійсних чисел. Для доêазó цьоãо доста-
тньо знайти хоча б один приêлад виêлючення зі цьоãо заêонó.
Приêлад. Обчислити на ПЕОМ сóмó трьох чисел: a  1.0 ; b  7.35 1017 ;
c  -7.35 1017 , представивши їх яê double.
Яê виявилося, число d  a  b  c  0.0 , а число e  a  (b  c)  1.0 .
Отже, яêщо ó сóмі з баãатьох чисел є два відносно велиêих за модóлем
числа, яêі ó сóмі дають нóль, то їх необхідно сêладати оêремо від інших, ін-
аêше поãрішність обчислення може бóти дóже велиêою. Приêлад поêазóє,
що асоціативний заêон додавання в ЕОМ ó заãальномó випадêó не виêо-
нóється.
Яêщо дещо змінити значення b , наприêлад, на b  7.350001 1017 , то ре-
зóльтати теж бóдóть різними: d  100000000000.00 , а e  100000000001.00 , але
тóт відносна поãрішність резóльтатів дóже мала.
Яêщо ще додатêово змінити тип чисел double на тип float, то резóльтати
бóдóть однаêові та дещо несподівані: d  e  6.87195 1010  b  c . Тобто число
a  1.0 не відображóється ó резóльтаті, а різниця двох близьêих чисел дає
підвищенó похибêó, описанó в Розділі 1.2.1.4.
Точні операції обчислення є êомóтативними, асоціативними і дистри-
бóтивними, а на основі арифметиêи з обмеженою êільêістю розрядів – ні.
Це необхідно враховóвати і при проãрамóванні алãоритмів.
Втрата точності може виниêати при бóдь-яêих математичних операці-
ях. Однаê потрібно пам’ятати, що для фатальної втрати точності всьоãо
розв’язêó достатньо лише однієї невдалої операції.
Яêщо через fl (a) позначити оêрóãлене число a , а через символ  бóдь-
яêó простó математичнó операцію в ЕОМ (+, –, * або /), то резóльтат таêої
операції між двох чисел c та d :
fl (c  d )  c  d  (1  ) , (1.22)
причомó d  0 для операції ділення; відносна поãрішність  ó заãальномó
випадêó є сêладною фóнêцією c, d , операції, що виêонóється між ними,
хараêтеристиêи процесора ЕОМ та êільêості розрядів, що відводяться для
запам’ятовóвання числа ó пам’яті ЕОМ. Але в ЕОМ завжди    M  2 p .
Примітêа 1.3. Позначення fl – від слова flop, яêе є абревіатóрою від float-
ing-point operation – операція із плаваючим розділовим знаêом.
Бóдь-яêó задачó обчислення можна ó заãальномó розóмінні представити
   
ó виãляді y  L( x ) , де L – оператор (правило обчислення), x та y – веêтори
Частина І. Розділ 1 23

з деяêих просторів (про веêторні простори та оператори див. ó Розділі 2).


   
Яêщо замість точноãо x виêористати неточне x  x  x , то резóльтат змі-
      
ніться на y  y  y , тобто отримóємо y  L( x ) . Яêщо при x  0 ãаранто-
     
вано y  0 , то алãоритм вважається стійêим. Яêщо y  C  x , але чис-
ло C є велиêим, то алãоритм має слабêó стійêість (поãанó обóмовленість).

Точний аналіз y може бóти дóже сêладним (джерела поãрішностей
описано ó Розділі 1.1). Томó для виявлення поãрішностей, пов’язаних тіль-
êи з оêрóãленням (п.3 таблиці 1.3), зазвичай аналіз поãрішностей оêрóãлення
 
пов’язóють з аналізом стійêості. Тоді x та y – веêтори без поãрішностей
 
оêрóãлення, а x та y – веêтори при застосóванні оêрóãлення, і поãрішності
        
оêрóãлення можна отримати яê y  y  y  L( x )  L( x ) ,  y  y / y .
 
Отримаємо вираз для ãраничної відносної поãрішності перемножень N
N
дійсних чисел: y   xn , де всі xn  0 . Процес обчислень можна формалізó-
n 1

вати яê послідовність дій: yn  yn1  xn при n  1, 2,..., N та y0  1.0 . Тоді y  yN .


При наявності оêрóãлень на êожномó êроці маємо інший процес:
yn  fl ( yn 1  xn )   yn1  (1.0   n )  xn , де |  n |  M , а y0  1.0 . Томó
  N N

yN  yN  (1.0   n )  xn   xn
y    n 1
N
n 1
 (1.0   M ) N  1.0  N   M  O( M2 ) . (1.23)
N
yN
x
n 1
n

Відêидаючи члени вищих порядêів малості, остаточно отримаємо, що


ãранична відносна поãрішність перемножень N дійсних чисел  *  N  2 p . N

Отримаємо вираз для ãраничної відносної поãрішності сóми N дійсних


N
чисел: y   xn , де всі xn  0 . Процес обчислень можна формалізóвати яê
n 1

послідовність дій: yn  yn 1  xn при n  1, 2,..., N та y0  0.0 . Тоді y  yN . При


наявності оêрóãлень на êожномó êроці маємо інший процес: yn  fl ( yn1  xn ) 
 
 ( yn1  xn )(1.0   n ) , де |  n |  M , а y0  0.0 . Томó
 
yN  yN N N N
 yN     ( yn1  xn )(1.0   n )   xn x n 
yN n 1  n 1 n 1
N N N
 (1.0   M )   ( yn1  xn )   xn x n  N ( N  1)   M . (1.24)
n 1  n 1 n 1

Тóт на останньомó êроці опóщені дії, виêладення яêих займає забаãато


місця [21].
Відêидаючи член вищоãо порядêó малості, остаточно отримаємо, що
ãранична відносна поãрішність сóми N дійсних чисел має оцінêó
   N 2  2 p .
N
24 Частина І. Розділ 1

Примітêа 1.4. Цю формóлó доцільно застосовóвати лише при велиêої


êільêості членів сóми, тобто при велиêих значеннях N .
Приêлад. Для обчислення êвадрата евêлідової норми веêтора з N êом-
понентами необхідно виêонати N операцій множення та ( N  1 ) додавання.
Гранична відносна поãрішність сóми сêладе    ( N  1) 2  2 p  N 2  2 p , а мно-
ження  *  N  2 p . Осêільêи     * , приймемо, що заãальна ãранична від-
носна поãрішність      N 2  2 p .
При p  23 (варіант float, див. табл.1.5) і при N  105 ("рядовий" для êра-
йових задач розмір систем алãебраїчних рівнянь) ãранична відносна поãрі-
шність   1010  223  1010 1.192 107  1200 , тобто варіант float не можна застосо-
вóвати (він дає точність не нижче 0.1% лише при N  85 та менше). При
p  52 (варіант double, див. табл.1.5) і при томó же N  10 5 ãранична відносна
поãрішність резóльтатó вже значно менша:   1010  252  1010  2.22 1016  2 106 .

1.3.4. Практичні рекомендації для зменшення погрішностей


округлення дійсних чисел при обчисленнях на ЕОМ
Для зменшення поãрішностей оêрóãлення дійсних чисел при обчис-
леннях на ЕОМ потрібно:
 зменшóвати êільêість операцій;
 збільшóвати êільêість розрядів, тобто застосовóвати формат підви-
щеної точності;
 числа додавати ó порядêó зростання їх абсолютних значень;
 óниêати віднімання дóже близьêих чисел. Яêщо це неможливо, то
виêонóвати ці операції яê можна раніше;
 вводити перевірêó знаменниêів (насêільêи вони наближені до точно-
ãо або машинноãо нóля) або вводити обробêó апаратних переривань при ді-
ленні на нóль та перевищенні машинної несêінченності;
 ãрóпóвати обчислення з можливими êритичними резóльтатами.
Примітêа 1.5. Для ЕОМ сформóльовано, на перший поãляд, парадоêса-
льний принцип – принцип неêомпетентності Пітера: "ЕОМ баãаторазово
збільшóє неêомпетентність обчислювача". Тобто ó яêості êористóвача про-
ãрами, в яêій реалізовано деяêий алãоритм, може бóти малоосвічена люди-
на. І вона бóде сприймати бóдь-яêи резóльтати обчислень яê вірні. Це на-
êладає додатêовó відповідальність на фахівців, яêі розробляють алãоритми
та реалізóють їх ó виãляді проãрам.
Примітêа 1.6. Слово "математиêа" має походження від ãрецьêих слів
μαθημα, що означає "наóêа, знання, вивчення", й від μαθηματικος, що озна-
чає "любов до пізнання".
Частина І. Розділ 1 25

Контрольні питання до Розділу 1.1


1. Що таêе наближене число та йоãо поãрішність? Яêі бóвають поãріш-
ності числа та яê їх позначають?
2. Наведіть дві êласифіêації джерел поãрішностей обчислень та причи-
ни їх виниêнення.
3. Яêі формати мають позиційна форма записó чисел та чисел із пла-
ваючим розділовим знаêом.
4. Для чоãо введені поняття "значóща цифра" та "вірні знаêи"?
5. Яê оцінюються поãрішності наближених чисел, походження яêих
невідоме?
6. Яêий зв’язоê є між ãраничною відносною поãрішністю наближеноãо
числа з êільêістю вірних знаêів?
Контрольні питання до Розділу 1.2
1. Яê оцінюються поãрішності при простих обчисленнях з наближени-
ми числами?
2. Яê оцінюються поãрішності при обчисленнях фóнêцій, параметри
яêих є наближеними числами?
Контрольні питання до Розділу 1.3
1. Яê представляються дійсні числа ó двійêовій системі ЕОМ?
2. Сêільêи бітів відводиться для збереження дійсних чисел ó форматах
мови С++ float та double?
3. Що таêе машинні іпсилон, нóль та несêінченність?
4. За яêим алãоритмом проводяться арифметичні операції з дійсними
числами в ЕОМ?
5. Яêó відноснó поãрішність має бóдь-яêа арифметична операція з дій-
сними числами в ЕОМ?
6. Чомó при обчисленнях в ЕОМ не виêонóється асоціативний заêон
додавання?
7. Яêі надаються праêтичні реêомендації для зменшення поãрішностей
оêрóãлення дійсних чисел при обчисленнях на ЕОМ?
26 Частина І. Розділ 2

Розділ 2

ОСНОВИ ТЕОРІЇ ОПЕРАТОРНИХ РІВНЯНЬ


І ФУНКЦІОНАЛЬНОГО АНАЛІЗУ

Розãлянемо основні поняття з фóнêціональноãо аналізó, необхідні для


подальшоãо вивчення чисельних методів та êористóвання спеціальною лі-
тератóрою (припóсêаючи певні спрощення і фраãментарність).
Всі фізичні об’єêти, яêі зóстрічаються в êрайових задачах механіêи:
температóра, переміщення, деформації, напрóження й інші, при реалізації в
ЕОМ розãлядаються ó велиêій êільêості точоê тіла, що аналізóється. Томó ці
об’єêти можна представити ó виãляді стовпців (рядêів) та матриць. Матри-
ця – це сóêóпність стовпців (рядêів). А êожний стовпець можна вважати
представниêом веêтора, в яêомó числа – це êомпоненти розêладó веêтора
на базис. Томó теорії лінійних (веêторних) просторів, операторних рівнянь і
фóнêціональноãо аналізó є основою для побóдови чисельних алãоритмів з
розв’язóвання різноманітних êрайових задач.
Для сêорочення записів застосовóють баãато спеціальних позначоê, се-
ред них таêі:  – бóдь-яêий;  – рівність за визначенням; x  X – елемент
x належить множині X ; X  Y – множина X є частêою (вêлюченою до)
множини Y ; X  Y – множина, яêа є заãальною для множин X і Y (пере-
тинання множин); X  Y – відображення множини X в множинó Y ; ||  || X
– норма ó просторі X ; R – сêалярний простір дійсних чисел; R n – n-
вимірний евêлідів простір;  – обмежена область; S або  – ãраниця  .

2.1. Лінійні (векторні) простори


  
Простір X з веêторів u , v , w, ... називається лінійним (або веêторним)
простором, яêщо в ньомó припóсêається наявність двох операцій, а саме
додавання веêторів і множення веêторів на сêаляри з таêими властивостями:
 
1. Для êожної пари веêторів u , v  X простір X містить і їхню сóмó
 
u  v , причомó
         
u  v  v  u ; u  (v  w)  (u  v )  w . (2.1)
 
Крім тоãо, X містить нóльовий веêтор 0 і веêтор u , протилежний êо-

жномó веêторó u , таêі, що 
      
u  0  u ; u  ( u )  u  u  0 . (2.2)
 
2. Простір X містить добóтоê   u êожноãо веêтора u  X на бóдь-яêий
сêаляр   R , причомó
   
( )u   (  u ) ; 1u  u ; (2.3)
      
 (u  v )   u   v ; (   )u   u   u , (2.4)
Частина І. Розділ 2 27

де 1 – сêалярна одиниця,   R . Яêщо  та  є êомплеêсними, то простір


теж êомплеêсний лінійний, інаêше – дійсний лінійний.
   
Вираз 1u1   2u2  ...   nun називається лінійною êомбінацією веêторів ui .
  
Кінцева множина з n веêторів u1 , u2 ,..., un лінійно незалежна, яêщо з óмо-
   
ви 1u1   2u2  ...   nun  0 випливає, що 1   2  ...   n  0 .
Лінійним базисом лінійноãо просторó X є таêа множина лінійно незале-
   
жних веêторів e1 , e2 ,..., en просторó X , що êожний веêтор u  X може бóти
   
представлений ó виãляді лінійної форми u  1e1   2e2  ...   n en відносно ба-

зисних веêторів ei . Значення n визначає розмірність базисó. Яêщо ó лінійно-
мó просторі для бóдь-яêоãо цілоãо числа n можна знайти n незалежних веê-
торів, то він називається несêінченновимірним (інаêше – сêінченновимірним).
Лінійний (веêторний) простір X називається нормованим лінійним

(веêторним) простором X , яêщо для êожноãо веêтора u  X існóє таêе дій-
   
сне число || u || X (норма, абсолютна величина, модóль веêтора u ), що з u  v
   
випливає || u || X || v || X і що для u , v  X та   R :
     
|| u || X  0 ; з || u || X  0 випливає, що u  0 ; ||  u || X |  |  || u || X ; (2.5)
   
|| u  v || X  || u || X  || v || X (нерівність Мінêовсьêоãо). (2.6)
Нормований простір X називається строãо нормованим, яêщо
     
|| u  v || X   || u || X  || v || X можливо лише ó випадêó u    v , де   0 . У

строãо нормованомó просторі X для êожноãо u  X та êожноãо підпросторó

Y  X може бóти не більше одноãо найêращоãо наближення u  X веêтора-
ми з підпросторó Y .
Одиничний веêтор – веêтор з одиничною нормою.
Дві норми ||  || X і ||  || X називаються еêвівалентними, яêщо існóють два
додатних числа 1 і  2 таêих, що
   
1 || u || X || u || X   2 || u || X для u  X . (2.7)
У сêінченновимірномó лінійномó просторі всі норми є еêвівалентними.
Кожний нормований веêторний простір є метричним простором з мет-
 
риêою (відстанню) u ,v || u  v || X , в яêомó визначена збіжність. Для метриêи
просторó виêонóються майже ті ж властивості, що й для норми: u ,v  0 ; з
 
u ,v  0 випливає, що u  v ; u ,v   v ,u ; u ,v  u ,w   w ,v .
  
Послідовність веêторів u1 , u2 ,...  {un }  X називається фóндаментальною,
яêщо для бóдь-яêоãо   0 є номер N ( ) таêий, що при бóдь-яêих числах n  N
 
та m виêонóється нерівність un m  un   . Бóдь-яêа послідовність з X , яêа
збіãається, є фóндаментальною (зворотне твердження не завжди є вірним).
 
Веêтор u називається ãраницею послідовності {un }  X ; n  1, 2, ... , яêщо
   
lim || un  u || X  0 . Спрощена форма записó: u  lim un .
n  n 

Нормований веêторний простір є повним в томó і тільêи томó випадêó,



яêщо êожна послідовність веêторів {un }  X , що задовольняє óмові
28 Частина І. Розділ 2
 
lim un  um 0 (2.8)
n  , m  X

(послідовність Коші), збіãається до деяêоãо веêтора u  X .
Повний нормований веêторний простір називається банаховим (Банах
Стефан, 1892-1945 рр.).
Кожний сêінченновимірний нормований веêторний простір є повним.
Яêщо простір неповний, то йоãо завжди можна вêласти в деяêий ін-
ший повний простір, що називається поповненням до неповноãо.
Приêлад. Неповний метричний простір – послідовність {1, 3/4,
13/15,...} сходиться до ірраціональноãо числа  / 4 , але не сходиться в просто-
рі раціональних чисел. Яêщо простір ірраціональних чисел поповнити прос-
тором раціональних чисел, то отримаємо повний простір дійсних чисел.

Зліченна система веêторів {un } нормованоãо просторó X називається
повною, яêщо множина лінійних êомбінацій цих веêторів всюди щільна в X ,

тобто яêий би не бóв веêтор v  X , для êожноãо   0 знайдóться таêі числа

1 , 2 ,...,  N (де N залежить і від v , і від  ), що
 N 
v    nun  . (2.9)
n 1 X

Нормований простір із зліченною повною системою веêторів назива-


ється сепарабельним. Всі повні нормовані простори є сепарабельними.

Оêолом точêи, яêа визначається веêтором u0 , називається простір
   
(u0 , r )  {u  X : || u  u0 || X  r} , яêий ще називають відêритою êóлею. Яêщо
   
(u0 , r )  {u  X : || u  u0 || X  r} , то цей простір називають замêненою êóлею; а
   
(u0 , r )  {u  X : || u  u0 || X  r} визначає сферó.
Простір Y  X називається відêритим, яêщо êожна йоãо точêа має де-
 
яêий оêіл, тобто для u0  Y знайдеться r  0 таêе, що (u0 , r )  Y . Інаêше –
замêнений простір. Замêнений простір міститься в деяêій замêненій êóлі.
Лінійний (веêторний) простір Y  X , де X – нормований простір, та-
êож є нормованим з тією же нормою. Яêщо простір Y – замêнений, то він
називається підпростором просторó X .

Відстань u , Y від веêтора u до підпросторó Y визначається виразом
 
u , Y  inf
 || u  v || .
vY

Підпростір Y є щільним ó X , яêщо для u  X та   0 знайдеться веê-
  
тор v  Y таêий, що || u  v || X   . При цьомó ãоворять про наближення прос-

торó X веêторами з підпросторó Y . Яêщо є деяêий v *  Y таêий, що
   
|| u  v * || X   , то v * називається найêращим наближенням u  X веêторами з

підпросторó Y . Веêтор v * може не бóти єдиним, а таêож може не існóвати.
У сêінченновимірномó просторі найêраще наближення є завжди.
Лема Рісса визначає властивість "майже ортоãональності" ó нормова-
номó веêторномó просторі: яêщо Y  X та Y  X , то для бóдь-яêоãо   [0,1]
 
є веêтор u  Y з нормою || u || 1 таêий, що u ,Y  1   .
Частина І. Розділ 2 29

Лінійний (веêторний), ó заãальномó випадêó êомплеêсний, простір X


називається ермітовим (óнітарним) веêторним простором, яêщо можна ви-
 
значити бінарнó операцію, яêа ставить êожній парі u , v веêторів з X ó від-
   
повідність сêаляр (u , v ) – сêалярний добóтоê u і v , причомó:
       
1. (u , v )  (v , u ) – ермітова симетрія ( (v , u ) êомплеêсно спряжено з (u , v ) );
      
2. (u , v  w)  (u , v )  (u , w) – дистрибóтивний заêон;
   
3. (u , v )   (u , v ) – асоціативний заêон;
     
4. (u , u )  0 ; з (u , u )  0 випливає u  0 – (позитивна визначеність).
Яêщо ермітовий веêторний простір є дійсним, то всі сêалярні добóтêи –
   
дійсні, і сêалярне множення веêторів – êомóтативне: (u , v )  (v , u ) .
Нерівність Коші-Бóняêовсьêоãо-Шварца:
     
| (u , v ) ||| u || X || v || X для u , v  X . (2.10)
Бóдь-яêий веêторний простір зі сêалярним добóтêом може бóти нормо-
  
ваним, яêщо в ньомó ввести нормó, наприêлад, за формóлою || u || X  (u , u )1/ 2 .
Повний ермітовий (óнітарний) веêторний простір називається ãільбер-
товим (Гільберт Давид, 1862-1943 рр.) і зазвичай позначається яê H . Всі
повні простори веêторів, послідовностей і фóнêцій є ãільбертовими. Гільбе-
ртові простори одночасно є банаховими (але не навпаêи).
Сêінченновимірні дійсні ермітові (óнітарні) веêторні простори назива-
ються евêлідовими. Вони є повними.
     
Яêщо (u , v )  0 , то веêтори u та v є ортоãональними, тобто u  v . Яêщо
     
система веêторів u1 , u2 ,..., un є ортоãональною, то веêтори u1 , u2 ,..., un є лінійно
    
незалежними. Яêщо система веêторів u1 , u2 ,..., un має властивість (um , vn )   mn ,
де m, n  1,..., N , то таêа система називається ортонормованою.
Яêщо ãільбертовий простір є сепарабельним, то в ньомó існóє ортоãона-
льний базис, створений зі сêінченної або зліченої êільêості веêторів. Спра-
ведливо і зворотне твердження.

Фóндаментальна теорема про проеêції: для êожноãо веêтора u    H ,
де  є замêненим простором (тобто підпростором H ), існóє лише один ве-

êтор u *   таêий, що
   
|| u  u * ||  || u  u # || , (2.11)
# *
де веêтор u   – бóдь-яêий інший веêтор (не u ). Необхідною та достат-
 
ньою óмовою виêонання цієї нерівності є ортоãональність веêтора u  u *
   
бóдь-яêомó веêторó w   , тобто (u  u * , w)  0 .
Простором Соболева W pl () (або  l () ) називається замêнений веêтор-
ний простір   H зі сêалярним добóтêом виãлядó
 
  l
 qu  qv
(u , v )W l    q x k1 ...x kn x k1 ...x kn d  (2.12)
p
 q 0 1 n 1 n

і нормою
  
u W pl
 (u , u )1/W lp , (2.13)
p
30 Частина І. Розділ 2

де l – маêсимальний порядоê похідних в (2.12); символ q


означає сêла-

дання по всім похідним порядêó q , а k1  ...  kn  q  0 , причомó похідні в


(2.12) – безперервні, обмежені, розóміються óзаãальнено. Зазвичай при-
ймають p  2 .

2.2. Лінійні оператори


Нехай X і Y – лінійні нормовані простори, D – деяêий підпростір 
X.
 
Яêщо веêторó u  D за заданим правилом зіставлений веêтор f  Lu  Y , то в
D (або в X ) задано оператор L зі значеннями в Y . Множина D називаєть-
ся областю визначення оператора L , позначається яê D(L) . Множина всіх
  
веêторів f  Lu при u  D( L) називається областю значень оператора L і по-
значається яê R ( L) . Інше визначення оператора L : це відображення прос-

торó X в простір Y , позначається яê L : X  Y . Часто веêтор f називають

образом, а веêтор u – йоãо прообразом.

Два оператори L і M називаються рівними, яêщо для u  D( L)  D( M )
 
виêонóється óмова Lu  Mu .

Оператор L , визначений в деяêомó оêолі (u0 , r ) , називається безперер-
    
вним ó точці, яêа визначається веêтором u0 , яêщо Lu  Lu0 при u  u0 .
Оператор L називається лінійним, яêщо він має властивості адитивнос-
ті та однорідності:
     
L( u   v )   Lu   Lv для u , v  D( L) та для  ,   R . (2.14)
Лінійний оператор L є обмеженим, яêщо існóє таêе число C , що
  
|| Lu ||Y  C || u || X для u  D( L) . (2.15)
Яêщо X та Y – банахові простори, а лінійний оператор L є безперер-
  
вним для веêтора u  0 , то він є безперервним і для u  D( L) . Для лінійних
операторів поняття обмеження та безперервності є еêвівалентними. У сêін-
ченновимірномó просторі бóдь-яêий лінійний оператор є обмеженим і без-
перервним.
  
Для бóдь-яêих лінійних безперервних операторів ( L  M )u  Lu  Mu та
 
( L) u   Lu , тобто оператори L  M та  L теж є лінійні та безперервні.
Бóдь-яêі лінійні обмежені оператори, що діють з X в Y (позначають яê
( X  Y ) ), óтворюють лінійний нормований простір, яêий позначають яê
( X , Y ) . Нормою лінійноãо обмеженоãо оператора називається величина
 
|| Lu ||Y  || Lu ||Y 
|| L || sup   sup || Lu || або || L || inf
   inf
 || Lu || , (2.16)
u  0 || u || X u  0 || u ||
  ||u || 1
||u || 1 X

де sup – точна верхня ãраниця; inf – точна нижня ãраниця.


Область значень лінійних обмежених операторів Y може співпадати з
X , при цьомó ( X  X ) . Тоді:
 
L( Mu )  ( LM )u ; || LM |||| L ||  || M || . (2.17)
Частина І. Розділ 2 31
 
Яêщо êожномó f  Y відповідає тільêи один u  X , то існóє оператор
L1 , обернений до L , яêий має область визначення Y і область значень X :
   
L1 ( Lu )  u ; L( L1 f )  f . (2.18)
1
Яêщо L – лінійний, то лінійний і L . Щоб L мав обернений оператор
   
L , необхідно і достатньо, щоб Lu  0 тільêи при u  0 . Щоб L1 існóвав і бóв
1

обмеженим, необхідно і достатньо, щоб існóвала таêа постійна   0 , що


  
|| Lu ||  || u || для u  X . (2.19)
При цьомó || L1 || 1/  . Лінійний оператор L , яêий має L1 , є безперервно обе-
рнений, яêщо R ( L)  Y , а таêож L1  ( X , Y ) , тобто L1 є обмеженим.

2.3. Лінійні обмежені оператори в дійсному гільбертовому


просторі
Нехай H – дійсний ãільбертовий веêторний простір із сêалярним до-
    
бóтêом (u , v ) і нормою || u || (u , u ) .
Розãлянемо обмежені лінійні оператори, задані в H , тобто D( L)  H .
Оператор L називається:
  
 невід’ємним, яêщо ( Lu , u )  0 для u  H ; спрощене позначення L  0 ;
    
 позитивним, яêщо ( Lu , u )  0 для u  H , êрім u  0 ; спрощене позна-
чення L  0 ;
   
 позитивно визначеним, яêщо ( Lu , u )   || u ||2 для u  H ;   0 ; (або
L   I , I – одиничний оператор).
 
Число ( Lu , u ) називається енерãією невід’ємноãо оператора L .
Порівняння операторів за енерãією проводиться за правилом: яêщо
  
(( L  M )u , u )  0 для u  H , то оператор L  M .
 
Яêщо лінійні оператори L та L задано на H , і для u , v  H справедли-
ва тотожність Лаãранжа
   
( Lu , v )  (u , Lv ) , (2.20)

то оператор L називається спряженим до оператора L . Яêщо лінійний
оператор L є обмеженим, то L є визначеним однозначно і таêож є лінійним і
обмеженим, має нормó || L* |||| L || (це завжди таê ó сêінченновимірномó дійс-
номó ãільбертовомó просторі).
Лінійний обмежений оператор L називається самоспряженим (ерміто-
     
вим), яêщо L  L , тобто ( Lu , v )  (u , Lv ) для u , v  H . Лінійний обмежений
оператор L називається óнітарним, яêщо L* L  LL*  I , тобто L*  L1 та || L || 1 .
У дійсномó ãільбертовомó просторі оператор L , спряжений з лінійним
оператором L , називається ще транспонованим і позначається яê LT .
Оператор L називається:
 симетричним (або самоспряженим), яêщо
     
LT  L , тобто (u , Lv )  (v , Lu ) для u , v  H ; (2.21)
32 Частина І. Розділ 2

 êосо(анти)симетричним, яêщо
     
LT   L , тобто (u , Lv )  (v , Lu ) для u , v  H ; (2.22)
 ортоãональним, яêщо
LT L  LLT  I , тобто LT  L1 та || L || 1 . (2.23)
Сóма двох симетричних операторів теж є симетричним оператором.
Добóтоê двох симетричних операторів L та M теж є симетричним операто-
ром, яêщо LM  ML . Добóтоê ортоãональних операторів теж є ортоãональ-
ним оператором.
Для бóдь-яêоãо позитивноãо самоспряженоãо оператора в дійсномó ãі-
льбертовомó просторі справедлива óзаãальнена нерівність Коші-
Бóняêовсьêоãо
     
( Lu , v ) 2  ( Lu , u )( Lv , v ) . (2.24)
Оператор M називається êвадратним êоренем з оператора L , яêщо
M  L ; позначається яê L1/ 2 .
2

2.4. Лінійні обмежені функціонали в дійсному гільбертовому


просторі
Бóдь-яêий оператор L , значеннями яêоãо є дійсні або êомплеêсні числа,

називається фóнêціоналом. Зазвичай позначається яê J (u ) .
     
Фóнêціонал є лінійним, яêщо J ( u   v )   J (u )   J (v ) для u , v  H та
 
 ,   R . Фóнêціонал є обмеженим, яêщо для u , v  H є обмеженою величи-
  
на || J (u ) ||  sup  | (u , v ) | .
uD ( J ), ||u || 1

Кожний лінійний, обмежений в ãільбертовомó просторі фóнêціонал


    
J (u ) можна представити ó виãляді сêалярноãо добóтêó J (u )  (u , v ) , де v  H
– деяêий єдиний веêтор (теорема Ф. Рісса (óãор. Fr. Riesz), 1880-1956 рр.).
Нехай H  H – прямий добóтоê ãільбертовоãо просторó самоãо на себе.
 
Фóнêціонал F (u , v ) , заданий на H  H , називається білінійним (білінійною
формою), яêщо він є лінійним оêремо по êожномó з арãóментів.
   
Яêщо u  v , то фóнêціонал F (u , u ) можна вважати заданим на H . Таêий
 
фóнêціонал F (u , u ) називається êвадратичним фóнêціоналом на H .
У чисельних методах для побóдови алãоритмів розв’язóванні лінійних
êрайових задач велиêе значення мають настóпні теореми.
 
Теорема 1 (єдиноãо розв’язêó). Яêщо оператор L в рівнянні Lu  f по-
зитивно визначений, то це рівняння має не більше одноãо розв’язêó.
 
Теорема 2. Яêщо в ãільбертовомó просторі операторне рівняння Lu  f ,
де L – позитивно визначений симетричний лінійний оператор, має

розв’язоê u0  X , то воно мінімізóє фóнêціонал
 1    
F (u )  ( Lu , u )  (u , f ) . (2.25)
2
Справедливо і зворотне твердження.
Частина І. Розділ 2 33

Теорема 3 (існóвання). Нехай F (u ) – фóнêціонал виãлядó (2.25). Веêтор
 
u з обмеженою енерãією, що мінімізóє F (u ) , існóє тоді і тільêи тоді, êоли
оператор L позитивно обмежений знизó.
 
Множина Z  H називається опóêлою, яêщо з óмови u , v  Z випливає,
що
 
(1   )u   v  Z для   [0,1] . (2.26)

Фóнêціонал F (u ) , заданий на H , називається опóêлим, яêщо
    
F ((1   )u  v )  F (u )   ( F (v )  F (u )) для   [0,1] .
(2.27)
З (2.27) випливає, що фóнêціонал типó (2.25) є опóêлим, яêщо опера-
тор L є позитивно визначеним.
Виêористовóючи поняття (властивість) опóêлості (2.27) фóнêціоналів,
доводиться варіаційна теорема: яêщо в ãільбертовомó просторі задано опера-
 
торне рівняння Lu  f , яêе має розв’язоê u0 ( L – позитивно визначений

симетричний лінійний оператор), та існóє веêтор  0   , яêий реалізóє міні-
    
мóм фóнêціонала F ( )  ( L , )  2( , f ) на замêнóтій опóêлій множині   H ,
то для цьоãо веêтора існóє білінійнаформа, яêа відповідає нерівності
     
a (u0 , v  v0 )  ( f , v  v0 ) для v   . (2.28)
Яêщо ж   X , то замість (2.28)  
  
a (u0 , v )  ( f , v ) для v  X . (2.29)
Нерівності виãлядó (2.28) називаються варіаційними, а формóла (2.29)
– варіаційним рівнянням Ейлера. Воно є óмовою стаціонарності фóнêції
баãатьох змінних, що виражається в рівності нóлю її частинних похідних.
Наãадаємо, що варіацією y фóнêції y ( x) називається різниця  y ( x) 
 Y ( x)  y ( x) , де Y ( x) – інша фóнêція (не y ( x) ), близьêа за значеннями до
y ( x) . А варіаційним аналізом називають теорію визначення мінімóмів (або
маêсимóмів) фóнêціоналів, визначених через інтеãрал в обмеженій області.

2.5. Нелінійні обмежені функціонали в гільбертовому просторі


Нехай X та Y – два ãільбертових дійсних простора, а L – повний в X
нелінійний оператор, що діє з D( L)  X в Y .
 
Яêщо для деяêоãо u  X при бóдь-яêомó v  X
1     
lim  L (u   v )  L (u )   GL (u , v )  0, (2.31)
 0 
 
де   R , то GL(u , v ) – диференціал Гато (Рене Ежен Гато, 1860-1914 рр.)
 
оператора L в точці, що визначається веêтором u , при прирощенні v . Крім
   
тоãо, GL(u , v ) є однорідним по v та не обов’язêово лінійним по u . Похідна
 
Гато DG L(u ) оператора L в точці, що визначається веêтором u , вводиться

яê лінійний оператор, що діє на v :
   
GL(u , v )  DG L(u ) v . (2.32)
 
Яêщо для деяêоãо u  X при бóдь-яêомó v  X
34 Частина І. Розділ 2
      
L(u  v )  L(u )   L(u , v )   (u , v ) ,
  
де  L(u , v ) є лінійним оператором відносно v , та
1  
lim
   (u , v )  0 , (2.33)
||v || 0 || v ||
 
то  L(u , v ) – диференціал Фреше (Моріс Рене Фреше, 1878-1973 рр.) опера-
   
тора L в точці, що визначається веêтором u , при прирості v , а  (u , v ) – за-
лишêовий член (залишоê).
    
Внаслідоê лінійності  L(u , v ) відносно v , оператор L(u ) , що діє на v ,

зветься похідною Фреше оператора L в точці, яêа визначається веêтором u :
   
 L(u , v )  L(u ) v . (2.34)
 
Яêщо існóє диференціал Фреше  L(u , v ) , то існóє і рівний йомó дифере-
  
нціал Гато GL(u , v ) (зворотне – тільêи для безперервних ó точці u похідних).

Оператор R(u ) , що визначається формóлою:
  1   
( R (u ), v )  lim  P (u   v )  P(u )  , (2.35)
 0 

де P(u ) – фóнêціонал, яêий диференціюється за Фреше (томó й за Гато), на-
  
зивається ãрадієнтом фóнêціонала P(u ) , позначається яê R(u )  grad P(u ) .
   
Яêщо grad P(u )  R(u ) для u    X , то оператор R (u ) називається по-
тенційним оператором. Симетричний оператор є потенційним оператором.
  
Точêа, що визначається веêтором u0  X , таêа, що P(u )  P(u0 ) або
   
P (u )  P (u0 ) для óсіх u  (u0 , r ) , називається еêстремальною точêою фóнêці-
  
онала P (u ) . Тóт (u0 , r ) – оêіл точêи, що визначається веêтором u0 .
Теорема 4 о êритерії потенційності оператора (М.М. Вайнберã, 1956 р.).
 
Нехай R – оператор, потенційний в (u0 , r ) . Тоді існóє фóнêціонал P(u ) ,
єдиний з точністю до êонстанти, ãрадієнтом яêоãо є R :
1
      
P (u )  P (u0 )    R (u0  s (u  u0 )), u  u0  ds , (2.36)
0
   
де u0  X є довільним веêтором. Часто обирають u0  0 ; P(u0 )  0 .
Ця теорема є óзаãальненням теореми 2 на нелінійний випадоê,

дозволяє
  
знаходити еêстремóми нелінійноãо фóнêціонала R (u )  L(u )  f із óмови
 
grad P (u0 )  0 (2.37)
для еêстремальної точêи.

Наведемо пояснення до теореми 4. Еêстремальній точці u0 фóнêціона-
 
ла P (u ) відповідає йоãо еêстремальне значення P (u0 ) (див. рис.2.1, двомірне
 
зображення). Веêтор u  u0 дає поточнó відстань від еêстремальної точêи
   
фóнêціонала P(u ) . Веêтор u0  s (u  u0 ) визначає точêó в оêолі еêстремальної

точêи u0 , причомó при збільшенні s від 0 до 1 (ãраниці інтеãрóвання) ця то-

чêа переміщóється з точêи, що визначається u0 , до точêи, що визначається
Частина І. Розділ 2 35
  
поточним веêтором u , тобто на маêсимальнó відстань r || u  u0 || . Веêтор
  
R (u )  grad P (u ) зображóється яê нормаль до поверхні P (u ) в точці, що ви-
   
значається поточним веêтором u . Яêщо для ãрадієнта R (u0  s (u  u0 )) вели-

чина s  0 , то R (u0 ) має вертиêальний напрямоê (див. рис.2.1), створює
    
прямий êóт з веêтором u  u0 , томó сêалярний добóтоê  R(u0 ), u  u0   0 . При
 
s  1 маємо ãрадієнт R (u ) , яêий, при наявності в оêолі (u0 , r ) , де величина
  
r || u  u0 || , єдиної еêстремальної точêи u0 , вже не є вертиêально направле-
 
ним (див. рис.2.1), створює з веêтором u  u0 не прямий êóт, томó сêалярний
   
добóтоê  R(u ), u  u0  вже відмінний від нóля, тобто щось додає до P (u0 ) або
 
віднімає від P (u0 ) : в точці, що визначається поточним веêтором u , вже не-
   
має еêстремóмó фóнêціонала P(u ) . Осêільêи R(u ) є ãрадієнтом P(u ) , то P(u )

можна обчислити через R(u ) операцією інтеãрóвання ó всьомó оêолі, тобто
1
    
ãраниці інтеãрóвання визначає s  [0,1] . Отже, інтеãрал  R(u  s(u  u )),u  u  ds
0
0 0 0


визначає повнó величинó зміни фóнêціонала P (u ) від еêстремальноãо зна-
чення до поточноãо. Яêщо таêа зміна не дорівнює нóлю при бóдь-яêої від-
 
стані r  0 , то в оêолі (u0 , r ) еêстремальна точêа дійсно є, а оператор R(u )
зветься потенційним ó цьомó оêолі.

Рис.2.1. До пояснення теореми 4

2.6. Про наближений розв’язок операторних рівнянь

2.6.1. Про наближений розв’язок лінійних операторних рівнянь


Лінійні задачі механіêи твердоãо тіла, що деформóється, можóть бóти
представлені ó виãляді варіаційноãо рівняння (див. (2.29)):
  
a (u ,v )  ( f ,v ) для v  X , (2.38)
 
де a(u ,v ) – позитивно визначена і безперервна білінійна форма; ( f ,v ) – лі-
нійна безперервна форма.
36 Частина І. Розділ 2

Нехай {h} – послідовність елементів з R , що прямóє до нóля, і нехай


для h  {h} існóє сêінченновимірний підпростір X h  X .
Теорема 5 (лема Сеа). Яêщо позитивно визначена і безперервна білі-
нійна форма має властивості:
  2 
a (u , u )   u для u  X ,   const  0 ;
     
a (u , v )  M u v для u , v  X , M  const ,

то наближений розв’язоê uh задачі
    
a (uh , vh )  ( f h , vh ) для vh  X h ,
(2.39)
яêа є сітêовим аналоãом задачі (2.38), існóє, єдиний і задовольняє óмові
  M   
shu0  uh  inf shu0  vh для vh  X h ,
(2.40)


де u0 – точний розв’язоê задачі (2.38), inf – точна нижня ãраниця, sh – опе-
ратор відображення на сітêó. Яêщо білінійна форма ще і симетрична, то за-
мість (2.40)
  M   
sh u 0  u h 
inf shu0  vh для vh  X h . (2.41)


Теорема 6. Яêщо білінійна форма a(u ,v ) має таêі ж властивості, яê і ó
лемі Сеа, існóє простір W  X , щільний в X , та
  
lim sh v  vh  0 для v  W , (2.42)
h 0

де sh – оператор відображення з W в X h , то
 
lim shu0  uh  0 , (2.43)
h 0
 
тобто послідовність наближених розв’язêів задачі {uh } сходиться до точноãо u0 .

2.6.2. Про наближений розв’язок нелінійних операторних рів-


нянь
Для баãатьох нелінійних операторних рівнянь сформóльовано óмови
існóвання і одиничності розв’язêó, яêі часто є аналоãічними óмовам, що
сформóльовано для лінійних операторів.
Зоêрема, потенційні нелінійні оператори мають настóпнó важливó вла-
стивість (див. теоремó 4 Розділó 2.5): яêщо для нелінійноãо операторноãо
рівняння 

L(u )  f (2.44)
   
веêтор-оператор R (u )  L(u )  f є потенційним, і яêщо для (2.44) існóє
 
розв’язоê u   X , яêий є êритичною точêою для фóнêціонала P(u ) , ãрадієн-
       
том яêоãо є R(u ) (див. Розділ 2.5), то grad P (u  )  L(u  )  f  R(u  )  0 , томó
     
( R (u  ), w)  0 або (( L(u  )  f ), w)  0 (2.45)

для довільноãо w  X . Інаêше êажóчи, існóє ортоãональність веêтор-
 
оператора R(u  ) і веêтора w  X . Ця властивість лежить в основі одноãо з
методів побóдови схем знаходження розв’язêів ó нелінійних задачах.
Частина І. Розділ 2 37

Ще існóє фóндаментальна теорема про проеêції, (див. Розділ 2.1 та фор-


мóлó (2.11)). Ця теорема теж лежить в основі іншоãо заãальноãо методó зна-
ходження розв’язêів ó нелінійних задачах.
Таêож, яê і для лінійних задач, вводиться {h} – послідовність елементів
з R , що прямóє до нóля, де для h  {h} існóє сêінченновимірний підпростір
X h  X . Для деяêих нелінійних задач доведено теореми про те, що при ви-

значених óмовах наближений розв’язоê uh відповідної нелінійної задачі, яêа
є сітêовим аналоãом початêової задачі, існóє, єдиний і задовольняє визна-
ченим óмовам. У резóльтаті алãебраїзації нелінійної задачі одержóють нелі-
нійні системи алãебраїчних рівнянь (САР). Для їх розв’язóвання потрібні
відповідні методи.
Більш доêладний виêлад проблем, порóшених ó цьомó Розділі, особли-
во для нелінійних випадêів, вимаãає значноãо місця, більш точних формó-
лювань і спеціальної математичної підãотовêи. Можна реêомендóвати (не
повний) списоê із êниã [4, 11 … 13, 16, 22].

Контрольні питання до Розділу 2.1


1. Яêі основні властивості мають веêтори в лінійномó просторі?
2. Що таêе норма й метриêа веêторноãо просторó та сêалярний добó-
тоê в ньомó, яêі їх властивості? Що таêе повнота просторó?
3. Наведіть визначення банаховоãо, ермітовоãо, ãільбертовоãо й евêлі-
довоãо просторів та просторó Соболєва. Яê вони пов’язані між собою?
4. Про що êаже фóндаментальна теорема про проеêції?
Контрольні питання до Розділу 2.2
1. Що таêе оператор? Яêі властивості має лінійний оператор?
2. Яê визначаються властивість обмеженості та норма оператора?
Контрольні питання до Розділу 2.3
1. Яêі додатêові властивості має оператор в ãільбертовомó просторі?
2. Що таêе енерãія оператора?
3. Яê визначаються спряжений та самоспряжений оператори? Яêі влас-
тивості мають самоспряжені, êососиметричні та ортоãональні оператори?
Контрольні питання до Розділу 2.4
1. Що таке обмежений функціонал в дійсному гільбертовому просторі і як
він пов’язаний зі скалярним добутком?
2. Які чотири теореми є теоретичною основою для побóдови чисельних
алãоритмів з розв’язóвання лінійних êрайових задач?
Контрольні питання до Розділу 2.5
1. Які властивості мають диференціали Гато та Фреше?
2. Про що йдеться в теоремі Вайнберга?
Контрольні питання до Розділу 2.6
1. Яêó оцінêó дає лема Сеа? Яê впливає симетричність білінійної фор-
ми на нормó похибêи наближеноãо на сітці розв’язêó?
2. На яêих теоретичних основах бóдóються алãоритми знаходження
розв’язêів нелінійних êрайових задач?
38 Частина ІI. Розділ 3

Частина ІІ
ЧИСЕЛЬНІ МЕТОДИ АЛГЕБРИ
Розділ 3

НАБЛИЖЕНЕ РОЗВ’ЯЗУВАННЯ
ТРАНСЦЕНДЕНТНИХ І АЛГЕБРАЇЧНИХ РІВНЯНЬ

Під розв’язóванням рівняння


f ( z)  0 (3.1)
мають на óвазі знаходження всіх êоренів рівняння. Корені рівняння (3.1) – це
таêі значення арãóментó z , при яêих вираз f (z ) дорівнює нóлю.
Примітêа 3.1. Осêільêи êорені можóть бóти êомплеêсними, традиційно
арãóмент рівняння (3.1) позначають символом z .
Корені можóть бóти:
 відособленими або здвоєними (парними);
 дійсними або êомплеêсними (êомплеêсні – завжди парні).
Розв’язóвання рівняння (3.1) проводиться двома етапами:
 відділення êоренів: знаходження інтервалів, на яêих знаходиться або
один відособлений êорінь, або тільêи один êомплеêт здвоєних êоренів;
 почерãове знаходження êоренів.
Алãебраїчні рівняння (на основі степеневих рядів), на відмінó від рів-
нянь заãальноãо виãлядó (трансцендентних), мають баãато специфічних
властивостей, томó для них додатêово розроблені спеціальні методи відді-
лення êоренів та їх знаходження (див. Розділ 3.2).

3.1. Знаходження коренів трансцендентних рівнянь


3.1.1. Відділення коренів трансцендентних рівнянь
Досі немає óніверсальноãо методó відділення êоренів. Для розв’язання
цієї задачі реêомендóють виêористовóвати таêі властивості фóнêцій:
 яêщо безперервна фóнêція f (z ) на êінцях інтервалó [a, b] має різні
знаêи, тобто добóтоê f (a)  f (b)  0 , то в інтервалі [a, b] є принаймні один
êорінь рівняння (3.1). Це твердження відомо яê теорема Коші. Графічні по-
яснення цієї властивості зображено на рис.3.1. З них можемо зробити ви-
сновêи про те, що в обраномó інтервалі може бóти баãато êоренів (див.
рис.3.1-б), а таêож про те, що êорені можóть знаходитися в ньомó навіть то-
ді, êоли f (a )  f (b)  0 (див. рис.3.1-ã);
Частина ІI. Розділ 3 39

 в інтервалі [a, b] êорінь може бóти тільêи один, яêщо f ( z )  0 або


f ( z )  0 сêрізь в [a, b] (див. рис.3.1-а);
 êратні êорені фóнêції f (z ) одночасно є êоренями фóнêції f ( z )  0 .

a z a z
b b

а) б)

a b z
z
a b
в) ã)
Рис.3.1. Про наявність êоренів безперервної фóнêції в інтервалі [a, b]

Процес відділення êоренів реêомендóють проводити таêим чином:


 призначити деяêий інтервал [a, b] , зоêрема необмежений (, ) , ча-
стêово обмежений ( (, b] або [a, ) );
 по можливості маêсимально повно виявити хараêтер поведінêи фóн-
êції f (z ) в призначеномó інтервалі. Зоêрема, знайти всі еêстремальні точêи
та точêи переãинó фóнêції. Умови для визначення таêих точоê відомі: пер-
ша похідна f ( z )  0 для еêстремальних, дрóãа похідна f ( z )  0 – для точоê
переãинó;
 визначити знаêи фóнêції на êінцях інтервалó, а таêож ó деяêій êіль-
êості проміжних точоê, яêі призначати:
• з óрахóванням виявлених особливостей фóнêції;
• застосóванням методó половинноãо ділення інтервалó. Зоêрема,
для фóнêції, що зображена на рис.3.1-ã, цей метод вже при першомó діленні
дасть два інтервали, на яêих є принаймні по одномó êореню;
• застосóванням ãрафічноãо методó.
 виявити один або деêільêа інтервалів, що містять êорені.

3.1.2. Знаходження коренів трансцендентних рівнянь


Дрóãий етап – власне знаходження êоренів. Для знаходження êоренів
трансцендентних рівнянь існóє деêільêа методів: ãрафічний та ітераційні.
Іноді для присêорення збіжності ітераційні методи êомбінóють.
Майже óсі ітераційні методи бóдóються на представленні формóли (3.1)
ó виãляді
z   (z ) або z  z    f (z ) , (3.2)
де множниê  може бóти бóдь-яêим (але обмеженим), осêільêи для êоренів
повинно бóти f ( z )  0 . Очевидно, що ó дрóãомó рівнянні можемо позначити
z    f ( z)   ( z) .
Розãлянемо основні методи.
40 Частина ІI. Розділ 3

3.1.2.1. Графічний метод


Застосовóється для відділення êоренів та знаходження êоренів із незнач-
ною точністю. Для цьоãо бóдóється ãрафіê фóнêції f ( z ) , або ãрафіêи двох
фóнêцій, отриманих шляхом перетворення фóнêції f ( z ) до виразó ( z )   ( z ) .
Приêлад 3.1. Фóнêцію f ( z )  z  ln( z )  1  0 перетворімо до виãлядó
ln( z )  1 / z , потім позначимо  ( z )  ln( z ) , а  ( z )  1 / z . Графіêи цих фóнêцій
зображено на рис.3.2-а. З них робимо висновоê, що фóнêція
f ( z )  z  ln( z )  1  0 має лише один êорінь, розташований в інтервалі [1.5, 2].
Приêлад 3.2. Фóнêцію f ( z )  z 3  1.75  z  0.75  0 перетворімо до
z 3  1.75  z  0.75 , потім позначимо  ( z )  z 3 , а  ( z )  1.75  z  0.75 . Графіêи цих
фóнêцій зображено на рис.3.2-б. З них робимо висновоê, що фóнêція
f ( z )  z 3  1.75  z  0.75  0 має три êореня, розташованих в інтервалі [-1.6, 1.1].

а) б)
Рис.3.2. Графічний метод відділення êоренів та їх знаходження
Осêільêи за допомоãою баãатьох проãрам (Excel, MathCAD, Matlab,
Scilab, Mathematica, Maple тощо) можна переãлянóти ãрафіêи праêтично
бóдь-яêих фóнêцій ó бóдь-яêомó діапазоні, то ãрафічний метод відділення
êоренів набóв значної попóлярності ó цій процедóрі.
3.1.2.2. Метод проб (метод половинного ділення)
В ітераціях поточний інтервал діліться навпіл точêою z ( k 1) , визначається
знаê фóнêції f ( z ( k 1) ) , відêидається та частина поточноãо інтервалó [a, b] , на
êінці яêої фóнêція мала таêий же знаê (див. рис.3.3-а). Математично: z (k 1) 
 (a  b) / 2 ; яêщо f ( z ( k 1) )  f (a)  0 , то a  z ( k 1) , інаêше b  z ( k 1) . Процес повто-
рюється до моментó досяãнення потрібної точності. Потрібно виêористовóва-
ти одночасно два êритерії досяãнення збіжності (див. рис.3.3-б та рис.3.3-в):
| f ( z ( k 1) )  f ( z ( k ) ) |  f  | f ( z ( k ) ) | та | z ( k 1)  z ( k ) |  z  | z ( k ) | , (3.3)
де  f ,  z – встановлена точність знаходження êореня рівняння (3.1) за зна-
ченням фóнêції та арãóментó відповідно. Дійсно, виêонання тільêи першої з
óмов (3.3) для випадêó рис.3.3-б та, навпаêи, тільêи дрóãої з óмов (3.3) для
випадêó рис.3.3-в, призведе до малої точності знаходження êореня.
Частина ІI. Розділ 3 41

а) б) в)
Рис.3.3. Метод половинноãо ділення (а); до êритеріїв досяãнення збіжності (б, в)
Недоліêи: повільна швидêість збіжності, находиться тільêи один êорінь
на заданомó інтервалі [a, b] . Переваãи: простий, має безóмовнó збіжність.
3.1.2.3. Метод простих ітерацій
Представимо дрóãó формóлó (3.2) ó виãляді (див. рис.3.4-а)
z ( k 1)   ( z ( k ) )  z ( k )   ( k )  f ( z ( k ) ) , (3.4)
де k  0,1,... – номер ітерації. Умова збіжності ітераційноãо процесó:
(k )
0  d ( z ) / dz  q  1. (3.5)
З (3.2) леãêо одержати, що d ( z ) / dz  1    f ( z ) . Осêільêи f (z ) може
мати позитивне, від’ємне або нóльове значення, то (k ) отримóють з óмови
| 1  ( k )  f ( z ( k ) ) | q  1 . (3.6)
Яêщо q  0 та f ( z )  0 , то   1 / f ( z ) або     1 / max{ f ( z )} ,
(k ) (k ) (k ) (k )

z  [ a, b] . У останньомó випадêó  обирається ще до початêó ітераційноãо


процесó. Критерії досяãнення збіжності – формóли (3.3).
Недоліêи: повільна швидêість збіжності, знаходиться тільêи один êорінь
на заданомó інтервалі [a, b] , потрібно обчислювати похіднó. Переваãи: простий.
3.1.2.4. Метод Ейткена-Стефенсена
Цей метод описóється одноманітною послідовністю формóл:
z (1)   ( z ( 0 ) ); z ( 2 )   ( z (1) ) ;

z  z  ( 2)
( 3) (0) z  z (0) 
(1) 2

;
z  2 z (1)  z ( 0 )
z ( 4 )   ( z ( 3) ); z ( 5 )   ( z ( 4 ) ) ; (3.7)

z  z  ( 5)
(6) ( 3)  z ( 4 )  z ( 3) 
2

;
z  2 z ( 4 )  z ( 3)
. . . . . . . . . . . . . . . . . . . . . ;
Тобто двічі застосовóється метод простих ітерацій, потім проводиться
êореêція, що значно присêорює швидêість збіжності методó простих ітера-
цій. Критерії досяãнення збіжності – формóли (3.3), але є ще один: значне
наближення до нóльовоãо значення виразó, що стоїть ó знаменниêó.
3.1.2.5. Метод Ньютона (метод дотичних)
З припóщення, що f ( z ( k 1) )  0 , розêладóючи цей вираз ó ряд, отримóють,
що f ( z ( k 1) )  f ( z ( k ) )  f ( z ( k ) )  z  0 , де z  z ( k 1)  z ( k ) . Звідси (див. рис.3.4-б):
42 Частина ІI. Розділ 3

z ( k 1)  z ( k )  f ( z ( k ) ) / f ( z ( k ) ) , яêщо f ( z ( k ) )  0 .
(3.8)
Хорошим початêовим наближенням вважається таêе z (0) , при яêомó:
f ( z ( 0) )  f ( z ( 0) )  0 . (3.9)
Л.В. Канторович довів теоремó про збіжність цьоãо методó. Зãідно з нею,
яêщо фóнêцію f (z ) можна двічі диференціювати, є таêі числа A  0 й B  0 , що
1 / f ( z ( 0 ) )  A , f ( z ( 0 ) ) / f ( z ( 0 ) )  B , (3.10)
та виêонóється óмова
| f ( z ) | C  1 /( 2 AB ) (3.11)
при бóдь-яêомó значенні z , яêе задовольняє нерівності
| z  z ( 0 ) |  (1  1  2 ABC ) /( AC ) , (3.12)
то рівняння (3.1) має êорінь, ê яêомó збіãається ітераційний процес (3.8), і
швидêість збіжності яêоãо оцінюється яê
k 1
| z ( k 1)  z ( k ) |  B  (2 ABC ) 2 / 2 k 1 . (3.13)
Таêа збіжність дóже швидêа (êвадратична). Праêтично в ітераціях, яê
êритерії досяãнення збіжності, можна застосовóвати формóли (3.3).
Недоліêи: потрібно перевіряти фóнêцію на відповідність óмовам збіж-
ності; потрібно обчислювати значення похідної в êожній ітерації; яêщо в
ітерації похідна дорівнює нóлю – зóпинення; метод не збіãається в оêолі
êратноãо (не êомплеêсноãо) êореня. Переваãи: дóже швидêий, знаходить
(яêщо вони є на заданомó інтервалі [a, b] ) êомплеêсні êорені.

f(z) f(z) f(z) f(z)


z

Z
(0) z Z
(0) z Z
(0) z

а) б) в) ã)
Рис.3.4. Графічне представлення методів:
а) – простих ітерацій; б) – Ньютона; в) – Ньютона модифіêованоãо; ã) – січних
Уваãа: яêщо необхідно знайти êомплеêсний êорінь, то потрібно обира-
ти початêове значення z ( 0 ) êомплеêсним, інаêше метод не бóде збіãатися.
Крім тоãо, дещо модифіêóються óмови збіжності методó: B  R / 2 , де R –
радіóс êола навêрóãи êомплеêсноãо êореня, ó межах яêоãо фóнêція f (z ) –
аналітична. Замість (3.11) і (3.12) – óмови 2 ABC    1 та | f ( z ) | C при
k 1
| z  z ( 0 ) |  R . Замість (3.13) – óмова | z ( k 1)  z ( k ) |  B  (  ) 2 / 2 k 1 .
3.1.2.6. Модифікований метод Ньютона
Яêщо похіднó обчислити лише в початêовій ітерації, то (див. рис.3.4-в)
z ( k 1)  z ( k )  f ( z ( k ) ) / f ( z ( 0 ) ) , êоли f ( z ( 0 ) )  0 . (3.14)
Критерії досяãнення збіжності – формóли (3.3). Недоліêи: потрібно об-
числювати похіднó; повільніший, ніж метод Ньютона, не збіãається в оêолі
êратноãо (не êомплеêсноãо) êореня, може зовсім не збіãатися. Достоїнство:
простіший, ніж метод Ньютона (похідна обчислюється лише один раз).
Частина ІI. Розділ 3 43

3.1.2.7. Метод Ньютона другого порядку


Яêщо прирівняти нóлю три члена розêладó f ( z ( k 1) ) ó ряд, потім за допо-
моãою формóли (3.8) виêлючити z ( k 1)  z ( k )  , можна отримати таêó формóлó:
2

f ( z ( k ) ) 1 [ f ( z ( k ) )]2  f ( z ( k ) )
z ( k 1)
z (k )
  , яêщо f ( z ( k ) )  0 . (3.15)
f ( z ) 2
(k )
[ f ( z )](k ) 3

Критерії досяãнення збіжності – формóли (3.3). Недоліêи: потрібно


обчислювати дві похідні, робити більшó êільêість дій. Переваãи: ще швид-
ший, ніж метод Ньютона першоãо порядêó.
3.1.2.8. Метод січних (метод хорд, спосіб пропорційних частин,
правило помилкового положення)
У цьомó методі êожне нове проміжне значення z ( k 1) знаходиться яê то-
чêа пересіêання прямої, що з’єднóє дві точêи на ãрафіêó фóнêції (3.1), при-
чомó фóнêції в цих точêах повинні бóти різноãо знаêó (див. рис.3.4-ã). Ма-
тематично це дається формóлою:
z (k )  z ( j)
z ( k 1)  z ( k )   f ( z (k ) ) , j  k , яêщо f ( z ( k ) )  f ( z ( j ) )  0 . (3.16)
f (z )  f (z )
(k ) ( j)

Критерії досяãнення збіжності – формóли (3.3). Недоліêи: посередня


швидêість збіжності, находиться тільêи один êорінь на заданомó інтервалі
[a, b] . Переваãи: простий.

3.1.3. Ознака (теорема) збіжності


Для всіх ітераційних методів знаходження êоренів рівняння (3.1) сфо-
рмóльовано та доведено теоремó збіжності:
Яêщо існóє число M  1 таêе, що
|  ( zi )   ( z j ) |  M  | zi  z j | , (3.17)
де бóдь-яêі дві точêи zi , z j  [a, b] ; а таêож яêщо інтервал [a, b] містить зна-
чення z ( 0 ) , z (1) та всі інші z , що задовольняють нерівності
M
| z  z (k ) |   | z ( k )  z ( k 1) | (3.18)
1 M
для êожноãо k  1 , то ітераційний процес збіãається до деяêоãо розв’язêó z 
– êореня рівняння (3.1), що є єдиним в інтервалі [a, b] . При цьомó óмова
(3.18) дає верхню оцінêó похибêи знаходження êореня.

3.2. Знаходження коренів алгебраїчних рівнянь


Яêщо в рівнянні (3.1) фóнêція f (z ) – алãебраїчне рівняння n -ої степе-
ні, то для відділення та знаходження êоренів рівняння (3.1), оêрім описаних
ó Розділі 3.1, існóє ще значна êільêість теорем та методів, яêі дозволяють
відділяти êорені, виявляти êільêість êомплеêсних êоренів, êратних êоренів,
знаходити êорені. Далі розãлянемо не всі (їх баãато), а тільêи деяêі з них.
44 Частина ІI. Розділ 3

3.2.1. Деякі важливі теореми та формули алгебри


Алãебраїчне рівняння (АР) n -ої степені має виãляд:
Pn ( z )  a0 z n  a1 z n1  a2 z n2  ...  an1 z  an  0 , (3.19)
де в заãальномó випадêó z  x  iy – êомплеêсні числа; ai – дійсні числа,
причомó a0  0 .
Для швидêоãо обчислення полінома Pn (z) послідовно виêонóються таêі дії:
P1 ( z )  a0 z  a1 ; P2 ( z )  P1 ( z )  z  a2 ; . . . . . ; Pn ( z )  Pn1 ( z )  z  an . (3.20)
Основна теорема алãебри: алãебраїчне рівняння n -ої степені (3.19) має
рівно n êоренів: дійсних, êомплеêсних та/або êратних.
Теорема 1. Комплеêсні êорені АР (3.19) – попарно спряжені.
Наслідоê. АР непарної степені має хоча б один дійсний êорінь.
Теорема 2. Абсолютне значення j -ãо êореня лежить ó межах êола раді-
óса R , що визначається формóлою
A
| z j | 1   R  0, (3.21)
| a0 |
де A  max{| a1 |, | a2 |, .., | an |} .
Наслідоê. Абсолютне значення j -ãо êореня лежить за межами êола ра-
діóса r , що визначається формóлою
1
| z j |   r  0, (3.22)
B
1
| an |
де B  max{| a0 |, | a1 |, .., | an1 |} .
Тобто óсі êорені АР (3.19) лежать в межах êоловоãо êільця: 0  r | z j |  R .
Теорема Лаãранжа: верхня ãраниця позитивних дійсних êоренів x  АР
(3.19)
B
R 1 m  0, (3.23)
a0
де a0  0 ; B – маêсимальне значення з абсолютних величин від’ємних êое-
фіцієнтів полінома Pn (z ) ; m – номер першоãо (за порядêом) із від’ємних
êоефіцієнтів полінома Pn (z ) .
Наслідоê. Яêщо поліном Pn (z ) не має від’ємних êоефіцієнтів, то всі йо-
ãо êорені – від’ємні.
Приêлад 3.3. Маємо поліном P ( z )  2 z 4  3z 3  8 z  7  0 . Щоб бóло
a0  0 , помножимо йоãо на 1: P ( z )  2 z 4  3 z 3  8 z  7  0 . Тоді m  3 ,
B | 8 | 8 , a0  2 , x   R  1  3 8 / 2  2.5874 . Однаê цей поліном не має пози-
тивних êоренів, хоча і має лоêальний мінімóм десь при z  0.735 .
Висновоê: наявність верхньої ãраниці позитивних дійсних êоренів від-
повідно до формóли (3.21) не ãарантóє наявності дійсних êоренів.
Частина ІI. Розділ 3 45

3.2.2. Методи обчислення кількості дійсних коренів алгебраїч-


ного рівняння
Теорема Гюа (ознаêа дійсності всіх êоренів АР): яêщо в АР (3.19) óсі
êоефіцієнти – дійсні, то для всіх k  1, 2, ..., n  1:
ak2  ak 1  a k 1 . (3.24)
Теорема Деêарта: êільêість дійсних позитивно визначених êоренів x 
(з óрахóванням êратності) дорівнює êільêості змін знаêів êоефіцієнтів
a0 , a1 , ..., an , або менше цієї êільêості на парне число.
Крім описаних є ще деêільêа методів обчислення êільêості дійсних êо-
ренів алãебраїчноãо рівняння, зоêрема, основаних на теоремах Штóрма та
Бюдана-Фóр’є. Всі ці методи потребóють баãато додатêових обчислень, осо-
бливо – метод Штóрма.
Приêлад 3.4. Є поліном P4 ( z )  z 4  8 z 3  12 z 2  104 z  20  0 . Потрібно ви-
значитися із êільêістю дійсних та êомплеêсних êоренів. Зãідно з основною
теоремою алãебри поліном має 4 êореня. При застосóванні теореми Гюа ви-
являється, що (12) 2  8  104 , томó поліном має êомплеêсні êорені (2 або всі
4). Кільêість змін знаêів êоефіцієнтів полінома дорівнює трьом, тобто, зãід-
но з теоремою Деêарта, поліном має 3 або 1 дійсних позитивно визначених
êоренів x  . Отже, поліном має 2 êомплеêсних та 2 дійсних êореня, причо-
мó один з дійсних не менше нóля, а інший – від’ємний.

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


рівнянь
Розроблено деêільêа спеціальних методів знаходження êоренів алãеб-
раїчних рівнянь. Серед них таêі методи: Лобачевсêоãо-Греффе, Горнера,
матричний, Мюллера, Берстоó, Бернóллі, алãоритми розділених різниць.
Є теорема, що для поліномів степенів, вищих за 4, не можна побóдóва-
ти алãоритм зі сêінченною êільêістю дій, що виêористовóє тільêи прості
математичні операції та обчислення êоренів чисел. Інаêше êажóчи, для них
алãоритми можóть бóти тільêи ітераційними.
Осêільêи за допомоãою проãрам Excel, MathCAD, Matlab, Scilab,
Mathematica, Maple та інших можна переãлянóти ãрафіêи праêтично бóдь-
яêих фóнêцій ó бóдь-яêомó діапазоні, то в останній час ãрафічний метод
відділення êоренів та подальшоãо їх знаходження фаêтично витіснив з ін-
женерної праêтиêи знаходження êоренів алãебраїчних рівнянь вêазані спе-
ціальні методи. З цих причин вони тóт не розãлядаються.

Контрольні питання до Розділу 3.1


1. Яêі значення арãóментів фóнêції називають її êоренями?
2. Про що стверджóє теорема Коші?
3. Яêий алãоритм реêомендóють для відділення êоренів?
4. Що хараêтерно для застосóвання ãрафічноãо методó відділення êо-
ренів та їх знаходження?
46 Частина ІI. Розділ 3

5. Ідея, недоліêи та переваãи методó половинноãо ділення.


6. Чи може метод простих ітерацій знайти деêільêа êоренів на задано-
мó інтервалі?
7. Яêий метод має за основó метод Ейткена-Стефенсена?
8. Ідея, недоліêи та переваãи методів Ньютона.
9. Ідея, недоліêи та переваãи методó січних.
10. Яêó оцінêó похибêи знаходження êореня трансцендентної фóнêції
дає теорема збіжності?
Контрольні питання до Розділу 3.2
1. Яê формóлюється основна теорема алãебри про алãебраїчне рівнян-
ня n -ої степені?
2. Про що ãоворить теорема Лаãранжа та яêі наслідêи вона має?
3. Про що стверджóють теореми Гюа та Деêарта?
Частина ІІ. Розділ 4 47

Розділ 4

ОСНОВНІ ВЛАСТИВОСТІ ЧИСЛОВИХ МАТРИЦЬ

Числова матриця (далі просто матриця) – звичайний об’єêт чисельних


методів. Зоêрема, êвадратна матриця присóтня в бóдь-яêій системі алãебраїч-
них рівнянь (САР). Саме до них приводять праêтично всі чисельні методи
розв’язóвання êрайових задач. При цьомó матриці САР можóть мати баãато та
дóже баãато (мільйони) рядêів і стовпців, причомó щільність їх заповнення
ненóльовими значеннями зазвичай відносно незначна. Це потребóє розробêи
спеціальних методів óпорядêовóвання ("паêóвання") велиêих розріджених ма-
триць і спеціальні методи розв’язóвання систем рівнянь з таêими матрицями.

4.1. Види числових матриць


Числовий масив [ A] , яêий має виãляд двовимірної таблиці, тобто є сó-
êóпністю M рядêів та N стовпців чисел, називається матрицею розмірніс-
тю M  N з елементами amn . Може мати êомплеêсні числа (не розãлядаємо).
Матрицю можна розãлядати яê лінійний оператор (див. Розділ 2). Томó
баãато її властивостей, яêі можóть відображатися на її назві, таêі ж самі, яê й
ó лінійноãо оператора.
Матрицю називають:
 êвадратною (при M  N ), прямоêóтною (при M  N ), матрицею-
рядêом (при M  1), матрицею-стовпцем або просто веêтором {x} (при N  1 );
 розрідженою (êоли значна êільêість елементів amn  0 ), верхньою три-
êóтною (êоли M  N та всі amn  0 при m  n ); нижньою триêóтною (êоли
M  N та всі amn  0 при m  n ); діаãональною (при M  N та amn  0 при
m  n ); нóльовою (всі amn  0 );
 транспонованою [ A]T , яêщо її êомпоненти [amn ]T  [anm ] ;
 симетричною, яêщо M  N та amn  anm або [ A]T  [ A] ;
 одиничною [I ] , яêщо [ A][ I ]  [ A] або [ I ][ A]  [ A] . Томó матриця [I ] є ді-
аãональною, з êомпонентами amm  1 на діаãоналі;
 не виродженою або не особливою, яêщо існóє матриця [ A]1 таêа, що
[ A][ A]1  [ I ] , або яêщо det[ A]  0 ;
 позитивно визначеною, яêщо det[ A]  0 або, що теж саме, для бóдь-
яêоãо ненóльовоãо веêтора {x} сêалярний добóтоê ({x}, [ A]{x})  {x}T [ A]{x}  0 .
Її діаãональні елементи завжди більше нóля;
 позитивною, яêщо det[ A]  0 ;
 оберненою [ A]1 , яêщо [ A][ A]1  [ A]1[ A]  [ I ] .
48 Частина ІІ. Розділ 4

Дві матриці називають:


 ортоãональними, яêщо [ A] [ B]  [ B][ A]  [ I ] (яêщо таêі матриці мають
T T

êомплеêсні числа, то їх називають ортонормальними);


 êомóтативними, яêщо [ A][ B]  [ B][ A] ; [ A ]  [ A]
*

~ ~
 êонãрóентними (матриці [ A] і [ A] ), яêщо [ A]  [ B ] [ A][ B ] ;
T

*
 спряженими (матриці [ A ] і [ A] ), яêщо { y}[ A]{x}  {x}[ A ]{ y} ;
*

 симетричними або êососиметричними, яêщо [ A* ]  [ A] або [ A* ]  [ A] ;


 подібними (матриці [ A] і [B] ), яêщо [ B]  [W ][ A][W ] , де [W ] – не ви-
1

роджена матриця.

4.2. Характеристики векторів і матриць


Детермінант êвадратної матриці [ A] – це дійсне число
a11 a12 ... a1 N
a 21 a 22 ... a 2 N
det[ A]  . (4.1)
... ... ... ...
a N 1 a N 2 ... a NN
Ранã r матриці – êільêість лінійно незалежних рядêів матриці, причо-
мó r[ A][ B ]  r[ A]  r[ B ] . Слід (шпóр) матриці Tr ([ A])   amm , тобто дорівнює сóмі
m

діаãональних членів матриці. Модóль матриці | [ A] | [| amn |] , причомó


|  [ A] ||  |  | [ A] | ; | [ A]  [ B ] || [ A] |  | [ B ] | ; | [ A][ B ] || [ A] |  | [ B ] | . Норма матриці
[ A] – дійсне число || [ A] || , причомó || [ A] ||  0 , де || [ A] || 0 лише для нóльової
матриці; ||  [ A] ||  |  |  || [ A] || ; || [ A]  [ B] || || [ A] ||  || [ B ] || ; || [ A][ B] || || [ A] ||  || [ B] || .
Яêщо для бóдь-яêоãо веêтора {x} виêонóється óмова
|| [ A]{x} |||| [ A] ||  || {x} || , то норма матриці [ A] називається óзãодженою з нор-
мою веêтора {x} . Яêщо додатêово виêонóється óмова || [ A] || max || [ A]{x} || ,
||{ x}||1
то норма матриці [ A] називається підпорядêованою нормі веêтора {x} . Ниж-
че вêазані чотири норми веêторів та підпорядêовані їм норми матриць:
 m -норма (êóбічна): || {x} ||m  max | xi | ; || [ A] ||m  max  | aij | ;
i i
j

 l -норма (оêтаедрічна): || {x} ||l   | xi | ; || [ A] ||l  max  | aij | ;


j
i i

 p -норма: || {x} || p  | x |  | a
p
p i
p
; || [ A] || p  p ij | ;
i i j

 k -норма (евêлідова, сферична, Фробеніóса): || {x} ||k  x


2
i ;
i

 (a )
2
|| [ A] ||k  ij . Часто замість k пишóть індеêс 2.
i j
Частина ІІ. Розділ 4 49

Крім тоãо, виêористовóються й інші норми, зоêрема, таêі норми матриць:


 s -норма: || [ A] ||s   | aij | ;
i j

  -норма: || [ A] ||  max |  aij i j | , де |  i | 2   |  j |2  1 ;


i j i j

 w -норма: || [ A] ||w || [W][A][W] || , де [W ] – бóдь-яêа не вироджена матриця.


1

Власними значеннями (хараêтеристичними числами) êвадратної матриці


[ A] називаються ті значення сêалярноãо параметра  , для яêих матриця
[ A]  [ I ] є виродженою. Спеêтром матриці називається вся множина її вла-
сних значень. Доêладно про алãоритми знаходження власних значень та
спеêтрó матриці див. ó Розділі 6.

4.3. Основні операції з матрицями


Основні операції з матрицями:
 порівняння двох матриць [ A] та [ B] : перевіряється, чи всі amn  bnm ;
 додавання двох матриць [ A] та [ B] : резóльтат [ A]  [ B]  [C ] , де êомпо-
ненти cmn  amn  bmn ;
 знаходження добóтêó сêалярó  та матриці [ A] : резóльтат  [ A]  [C ] ,
де êомпоненти cmn  amn ;
 знаходження добóтêó двох матриць [ A] та [ B] : резóльтат [ A][ B]  [C ] ,
M
де êомпоненти cmn   amk bkn ;
k 1

 знаходження похідної від матриці: d [ A(t )] / dt  damn (t ) / dt .


Яê наслідоê, можна отримати настóпні основні співвідношення
 для довільних співвідношень між M та N (зоêрема, і для веêторів):
 [ A]  [ B]  [ B]  [ A] ; [ A]  ([ B]  [C ])  ([ A]  [ B])  [C ] ;
  (  [ A])  ( )[ A] ;
  ([ A]  [ B])   [ A]   [ B] ; (   )[ A])   [ A]   [ A] ;
 [ A]T   [ A] ; [ A]  [ B]T  [ A]T  [ B]T ;
T

 матриця [ B ]  [ A]T [ A] є симетричною;


 для матриць, що поãоджені за êільêістю рядêів та стовпців:
  ([ A][ B])  (  [ A])[ B]  [ A](  [ B]) ;
 [ A]([ B]  [C ])  [ A][ B]  [ A][C ] ; ([ B]  [C ])[ A]  [ B][ A]  [C ][ A] ;
 [ A]([ B][C ])  ([ A][ B])[C ] ;
 [ A][ B]  [ B][ A] ó заãальномó випадêó (відсóтність êомóтативності);
 [ A][ B]T  [ B]T [ A]T ;
 для êвадратних матриць:
 det(  [ A])   N det[ A] ; det[ A]T  det[ A] ;
 det[ A]1  1 / det[ A] ; [ A][ B ]1  [ B ]1[ A]1 ; [ A]1   [ A]T  .
T 1
50 Частина ІІ. Розділ 4

4.4. Про упорядковування великих "розріджених" матриць


Коли "розріджена" матриця є матрицею системи лінійних алãебраїчних
рівнянь (СЛАР), то êільêість дій, необхідних для отримання розв’язêó цієї
СЛАР одним з прямих методів (див. Розділ 5), залежить від тоãо, яêим чи-
ном розташовані в ній ненóльові êомпоненти. Ця залежність є нелінійною,
томó êільêість дій швидêо збільшóється при збільшенні розмірів СЛАР.
Розрідженість матриць СЛАР породжóється різницевими та проеêцій-
но-сітêовими методами апроêсимації êрайових задач, в яêих є рівняння з
похідними. При виêористанні методó сêінченних різниць (див. Розділ 15) ó
êожномó вóзлі застосовóється шаблон вóзлів (цей вóзол і деêільêа сóміж-
них), на основі яêоãо проводиться наближення похідної. Кожна незаборо-
нена стóпінь свободи вóзла додає в СЛАР невідомó, тобто рядоê (та стов-
пець) в матрицю СЛАР, номер яêоãо відповідає номерó вóзла n  1, 2, ...N K (K
– від анãл. Knot: вóзол) та номерó йоãо стóпені свободи j  1, ...J n . Заãальна
NK
êільêість невідомих ó СЛАР дорівнює N   J n . В рядêó (ó стовпці) матриці
n 1

бóдóть ненóльовими лише ті êомпоненти матриці, яêі відповідають вóзлам


шаблонó та йоãо стóпеням свободи. Осêільêи вóзли мають єдинó для всьоãо
тіла нóмерацію, то в шаблон (зазвичай від 2-х до 7 вóзлів) можóть входити
вóзли, номери яêих дóже відрізняються. Тоді ці ненóльові êомпоненти ряд-
êа (стовпця) матриці СЛАР є "розêидані" в рядêó (ó стовпці). Матриця –
розріджена. Майже подібна ситóація – при виêористанні методó сêінчен-
них елементів (див. Розділ 19 та настóпні). Тільêи замість шаблонó вóзлів
виêористовóються сêінченні елементи, êожний з яêих теж має обмеженó
êільêість вóзлів з аналоãічними властивостями.
Профілі матриці – простори від діаãоналі матриці до ãраниць розташó-
вання ненóльових êомпонент матриці (див. рис.4.1-а). При цьомó профіль
нижньої лівої частини матриці зазвичай розãлядається яê сêладений рядêа-
ми, а верхньої правої – стовпцями (або навпаêи). Діаãональні êомпоненти
матриці в профілі не вêлючаються. Яêщо матриця – симетрична, то обидва
профілі – однаêові.

а) б)
Рис.4.1. Точний (а) і стрічêовий (б) симетричні профілі матриці
(* - ненóльові êомпоненти матриці)
Частина ІІ. Розділ 4 51

Профіль матриці, довжина основних рядêів (стовпців) яêоãо є однаêо-


вою (див. рис.4.1-б), називається стрічêовим.
Всередині профілю може бóти баãато або дóже баãато нóлів, причомó ці
нóльові êомпоненти ó процесі розв’язóвання СЛАР зазвичай змінюють свої
значення на ненóльові (явище заповнення профілю). Чим меншим є розмір
профілю, тим менше êомпонент матриці бере óчасть ó математичних діях,
тим менше цих дій, тим швидше бóде отриманим резóльтат.
Яê виявилося, щоб присêорити розв’язóвання СЛАР прямими метода-
ми, можна особливим чином "підібрати" порядоê нóмерації вóзлів. Яê ре-
зóльтат зміни нóмерації вóзлів отримóють таê званó матрицю перестановêи
[ P] . Модифіêована СЛАР [ A]{x}  {b} бóде мати виãляд:
([ P][ A][ P]T )([ P]{x})  ([ P]{b}) , (4.2)
~
і матрицю [ A]  [ P][ A][ P]T . Задача оптимізації не є тривіальною, більш тоãо,
яê з’ясóвалося, не має єдиноãо варіанта розв’язêó. Можна отримати лише де-
яêе наближення до ідеалó. Доêладні відомості про методи розв’язóвання цієї
проблеми є, зоêрема, ó êнизі [8]. У ній застосовóється теорія ãрафів, зв’язані
списêи сóміжності для них, стрічêові та профільні схеми óпорядêóвання мат-
риць і розв’язóвання СЛАР. Є й обмеження: розãлядаються СЛАР тільêи з
позитивно визначеними симетричними матрицями, виêористовóється метод
êвадратних êоренів (див. Розділ 5.3.5), але розширення розãлянóтих алãори-
тмів óпорядêóвання на випадоê несиметричних матриць та застосóвання за-
ãальноãо методó Холецьêоãо (див. Розділ 5.3.6) досить тривіальне.
Зазвичай мінімізóють відноснó êільêість вихідних ненóльових êомпо-
нент профілю матриці:
N 1
 ([ L ])  N    (vm ) , (4.3)
m 1

де оператор  () визначає êільêість ненóльових елементів об’єêтó; [ L] – ни-


жня триêóтна матриця представлення матриці СЛАР ó виãляді [ A]  [ L][ L]T
(див. Розділ 5.3.5); N – êільêість невідомих ó СЛАР; vm – піддіаãональна
частêа m -ãо рядêа матриці [ L] з маêсимально можливою довжиною N  m .
Це роблять томó, що доведено теоремó, що êільêість f ([ L]) простих матема-
тичних операцій (+, -, *, /) для отримання матриці [ L] дається виразом
1 N 1
 [ ( L*m )  1][ ( L*m )  2] .
f ([ L ]) 
2 m 1
(4.4)

де L*m– m -й стовпець матриці [ L] . Для порівняння: для повністю заповне-


ної матриці f ([ L])  N 3 / 3  N 2 .
Осêільêи пошóê оптимальноãо профілю може займати баãато часó, то
навіть стрічêовий профіль матриці (див. рис.4.1-б) іноді може застосовóва-
тися яê альтернативне перше наближення до оптимальноãо профілю.
У êнизі [8] доêладно розãлянóті таêі методи пошóêó оптимальноãо
профілю: RCM – зворотний алãоритм Катхілла-Маêêі; RQT – алãоритм
рафінованоãо деревоподібноãо впорядêовóвання; 1WD – алãоритм парале-
52 Частина ІІ. Розділ 4

льних перетинів; QMD – алãоритм мінімальної степені з фаêторизацією;


ND – алãоритм вêладених перетинів, причомó алãоритм RCM входить ó
сêлад інших алãоритмів.
Візóально резóльтат оптимізації може виãлядати або яê звóження всьоãо
профілю (êонцентрація ненóльових êомпонент навêоло діаãоналі) або звó-
ження частêи профілю при одночасномó підвищенню відносноãо запов-
нення "довãих" рядêів (стовпців) профілю, або ó перетворення матриці на
блочнó стрóêтóрó (алãоритм 1WD) з оптимізованими профілями блоêів.

а) б)
Рис.4.2. До алãоритмó 1WD (паралельних перетинів): а) – розсічення тіла на блоêи, їх нóме-
рація (стрілêи – напрямоê нóмерації вóзлів блоêів); б) – вихідні профілі блоêів
матриці ("білі" нóлі ó профілях блоêів 4 й 5 – зеêономлена пам’ять при блочномó
зберіãанні матриці)
Ефеêтивність алãоритмів дóже висоêа і приблизно однаêова, але автори
êниãи виділяють алãоритм 1WD (паралельних перетинів).
У цьомó алãоритмі все тіло розсіêається на блоêи, не обов’язêово одна-
êовоãо розмірó (див. рис.4.2-а), êожний з яêих має свою множинó вóзлів
(блоêи основних вóзлів), причомó "ãраничні" вóзли, яêі є заãальними для
двох (або більшої êільêості) блоêів, теж виділяють ó оêремі блоêи (вóзлів-
роздільниêів). В êожномó з блоêів за допомоãою алãоритмó RCM (або іншо-
ãо) знаходиться свій оптимальний профіль.
Але основний ефеêт досяãається завдяêи застосóванню техніêи блоч-
них матриць, êоли матриця зберіãається та обробляється блоêами. Річ ó то-
мó, що "заповнення профілю" при розв’язóванні СЛАР спостеріãається не
на всій довжині рядêа профілю, а тільêи на заãальних для двох блоêів пери-
ферійних частинах рядêа (див. рис.4.2-б). Коли блоêів – небаãато, то цей
фаêт можна виêористовóвати з відносно невелиêими витратами часó. Для
тієї частини профілю, яêа не заповнена споêонвічно та не бóде заповнюватися
при розв’язóванні СЛАР, пам’ять можна зовсім не виділяти.
Ефеêт еêономії пам’яті ó цьомó алãоритмі різêо підсилюється при збі-
льшенні розмірів СЛАР, а таêож для масивних тіл з приблизно однаêовими
розмірами ó всіх напрямêах.
Частина ІІ. Розділ 4 53

Яêщо тіло виãлядає яê сêладна стрóêтóра з відãалóженими частêами,


вся множина вóзлів поділяється на ãрóпи вóзлів, яêі відповідають êожній
"ãілці" тіла. Цей фаêт добре виêористовóють алãоритми RQT та ND.
Ще додамо, що в алãоритмі оптимізації профілю RCM спочатêó знахо-
диться таê званий псевдопериферійний вóзол, з яêоãо найêраще починати
нóмерацію вóзлів тіла або оêремих йоãо блоêів.

Контрольні питання до Розділу 4.1


1. Яêий об’єêт називають числовою матрицею?
2. Яêим чином можна визначитися, чи є матриця позитивно визначе-
ною?
3. Яêі матриці називають êонãрóентними?
Контрольні питання до Розділу 4.2
1. Чомó може дорівнювати детермінант êвадратної матриці?
2. Яêі існóють норми матриці?
3. Яêій основній óмові відповідають власні значення (хараêтеристичні
числа) êвадратної матриці?
Контрольні питання до Розділу 4.3
1. Яê знайти похіднó від матриці?
2. Чи є матриці лінійними операторами?
Контрольні питання до Розділу 4.4
1. Яê виниêають "розріджені" матриці?
2. Для чого проводять упорядковування великих "розріджених" матриць?
3. Чи має задача оптимізації нóмерації вóзлів єдиний варіант розв’язêó?
54 Частина ІІ. Розділ 5

Розділ 5

ПРЯМІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ


АЛГЕБРАЇЧНИХ РІВНЯНЬ

5.1. Загальні зауваження


Маємо таêó задачó: є система лінійних алãебраїчних рівнянь (СЛАР),
яêó необхідно розв’язати:
[ A]{x}  {b} , або в індекній формі amn xn  bm , (5.1)
де m, n 1, 2, ..., N ; N  1 – êільêість рівнінь (невідомих) ó СЛАР.
Всі методи розв’язóвання СЛАР (5.1) ділять на таêі ãрóпи:
 прямі, êоли розв’язоê СЛАР óтворюється за заздалеãідь визначенó êі-
льêість операцій;
 ітераційні, êоли êільêість операцій для отримання розв’язêó
СЛАР заздалеãідь не можна точно передбачити.
Крім тоãо, методи розв’язóвання СЛАР зазвичай враховóють таêі влас-
тивості її матриці:
 матриця СЛАР – симетрична або несиметрична, визначена позитив-
но або ні, має нóлі на діаãоналі або ні;
 матриця СЛАР – розріджена (рідêо заповнена) або ні.
Примітêа 5.1. Бóдь-яêó СЛАР (5.1) з несиметричною матрицею [ A] мо-
жна зробити системою з симетричною матрицею, яêщо помножити СЛАР
зліва на транспонованó матрицю [ A] , тобто на [ A]T . Система отримає виãляд
~ ~ ~ ~
[ A]{x}  {b } , де [ A]  [ A]T [ A] , {b }  [ A]T {b} . (5.2)
Недоліêи: потребóє значнó êільêість дій, змінюється стрóêтóра
заповненості матриці СЛАР, зростає число обóмовленості матриці СЛАР
(див. Розділ 5.2). Переваãи: після симетризації матриці СЛАР для її
збереження може виêористовóватися менший об’єм пам’яті; СЛАР можна
розв’язóвати більш ефеêтивними методами.
Іноді для несиметричної матриці [A] вдається знайти таêó матрицю
[W ] , що матриця [ A ]  [W ][ A][W ]1 є симетричною.
Примітêа 5.2. Позитивна визначеність матриці ãарантóє наявність її
оберненої матриці, осêільêи при цьомó детермінант матриці не нóльовий.
Нижче всюди, оêрім п.5.3.8, бóдемо вважати, що матриці СЛАР – визначені
позитивно. Наãадаємо (див. Розділ 4.1), що матриця є визначеною позити-
вно, яêщо для бóдь-яêоãо ненóльовоãо веêтора {x} сêалярний добóтоê
({x}, [ A]{x})  {x}T [ A]{x}  0 . (5.3)
У таêій матриці діаãональні елементи завжди більше нóля.
Основні відомості про матриці та їх властивості виêладено ó Розділі 4.
Частина ІІ. Розділ 5 55

5.2. Обумовленість СЛАР


Кореêтність вихідної задачі можна встановити, розãлядаючи властиво-
сті СЛАР (5.1). Яêщо обернена матриця [ A]1 існóє, то det[ A]  0 , та навпа-
êи. Але насêільêи det[ A] повинен відрізнятися від нóля, щоб розв’язоê
СЛАР бóв достатньо точним? Застосовóють таêі оцінêи:
а/ система (5.1) стійêа відносно змін ó правій частині, яêщо при бóдь-
яêих варіаціях веêтора {b} (правої частини СЛАР) норма варіації розв’язêó є
обмеженою:
 {x}   {b}   {b} , (5.4)
де число обóмовленості СЛАР відносно змін ó правій частині  {b}  0 та не за-
лежить від {b} ;
б/ система (5.1) стійêа відносно змін ó матриці, яêщо
 {x} / {x}   [ A]   {b} / {b} , (5.5)
де число обóмовленості матриці
 [ A]  [ A]1 [ A] ;  [ A]  1 , (5.6)
причомó застосовóється бóдь-яêа з існóючих підпорядêованих веêторó норм
(див. Розділ 4.2). Число обóмовленості  [ A] симетричної матриці [A] , êрім
формóли (5.6), можна обчислити яê відношення маêсимальноãо власноãо
значення (хараêтеристичноãо числа) матриці [ A] до мінімальноãо. При дóже
велиêих значеннях  [ A] матриця [ A] вважається поãано обóмовленою.
в/ заãальна оцінêа. Залóчаються всі можливі для СЛАР фаêтори:
 {x} / {x} ,  [ A] ,  [ A] / [ A] та  {b} / {b} :
 {x}  [ A]   [ A]  {b} 
    .
 (5.7)
{x} 1   [ A]   [ A] / [ A]  [ A] {b} 
Осêільêи  [ A] / [ A]  O( N  2  p ) , де p – êільêість бітів ЕОМ для мантиси
дійсноãо числа з формою числа з розділовим знаêом, що плаває (див. таб-
лицю 1.5), то заãальна оцінêа похибêи розв’язêó СЛАР
 {x} / {x}  O( [ A]  N  2  p ) . (5.8)
При p  53 (формат double) 253  2.2204460492503131 10-16 (машинний
іпсилон), томó для одержання точності розв’язêó СЛАР приблизно в 1% до-
бóтоê  [ A]  N не повинен перевищóвати числа 1013 .

5.3. Прямі методи розв’язування систем лінійних алгебраїчних


рівнянь
Яê це вже бóло зазначено, прямі методи розв’язóвання СЛАР мають зазда-
леãідь визначенó êільêість операцій. Розроблено значнó êільêість прямих мето-
дів. Розãлянемо тільêи основні, яêі або попóлярні, або відомі ще з елементарної
алãебри. При цьомó абстраãóємося від стóпені заповнення матриці СЛАР.
56 Частина ІІ. Розділ 5

5.3.1. Метод використання оберненої матриці СЛАР


У цьомó методі йдеться про виêористання матриці [ A]1 , оберненої до
матриці [ A] . Помножимо СЛАР (5.1) зліва на [ A]1 :
[ A]1[ A]{x}  [ A]1{b} ; [ A]1[ A]  [ I ] ; [ I ]{x}  {x} ; {x}  [ A]1{b} . (5.9)
Тóт [ I ] – одинична матриця. Отже, яêщо знайдена обернена матриця
1
[ A] , то розв’язоê СЛАР отримóється застосóванням останньоãо виразó з
(5.9). Таêий метод розв’язóвання СЛАР майже не застосовóється, осêільêи є
раціональніші методи. Однаê іноді потрібно мати саме матрицю [ A]1 .
Розãлянемо лише один метод знаходження матриці [ A]1 , яêий зветься
методом облямівêи (російсьêою: оêаймления).
Нехай є матриця [ A] з êомпонентами amn ; m, n  1,..., N , потрібно знайти
оберненó матрицю [ A]1 з êомпонентами  mn . Розãлянемо послідовність
матриць
 a11 a12 a13   a13 
 a11 a12  [ S ]1 a12  [ S ]2
[ S ]1   a11  ; [ S ]2      ; [ S ]3   a21 a22 a23    a23  ; …;
 a21 a22   a21 a22   a31 a32 a33   a31 a32 a33 
 a11 ... a1k   a1k 
[ ]
[ S ]k   ... .. ...    ...  ; … ;
S k 1

 ak1 ... akk   ak1 ... akk 


 a11 ... a1N   a1N 
[ ]
[ A]1  [ S ]N   ... .. ...    ...  .
S N 1
(5.10)
 aN 1 ... aNN   aN 1 ... aNN 
Кожнó таêó k  тó матрицю, починаючи з [ S ]3 , можна óявити ó виãляді
блочної матриці з чотирма блоêами:
[ S ] [a1k ]
[ S ]k   k 1 , (5.11)
 [ak1 ] [akk ]
причомó блоê [akk ]  akk , тобо є оêремим числом, блоê [ak1 ] є рядêом, а блоê
[a1k ] – стовпцом. Оберненó матрицю [ A]1 теж представимо ó блочномó виãляді
[ B] [ 1N ] 
[ A]1   N 1 . (5.12)
[
 N1  ] [  ]
NN 

Яêщо знайден блоê [ B]N 1 , то, яê бóде поêазано, можна швидêо знайти
інші блоêі матриці, тобто знайти матрицю [ A]1 . Тобто можна створювати
послідовність обернених матриць [ B]k ; k  2,... , N аналоãічно з
послідовністю (5.10), остання з яêих бóде яêраз [ A]1 .
З виêористанням блоêів запишемо [ A]1[ A]  [ I ] яê
[ B ] [ 1N ]  [ S ]N 1 [a1N ] 
[ A]1[ A]   N 1    [I ] , (5.13)
 [  N 1 ] [  NN ]  [aN 1 ] [aNN ]
Частина ІІ. Розділ 5 57

де [ I ] – одинична матриця; або після перемноження блоêів:


[ B ]N 1[ S ]N 1  [ 1N ][aN 1 ]  [ I ] ; [ B ]N 1[a1N ]  [ 1N ][aNN ]  [0] ; (5.14)
[  N 1 ][ S ]N 1  [  NN ][ aN 1 ]  [0] ; [  N 1 ][a1N ]  [  NN ][aNN ]  [ I ] . (5.15)
Ця система розв’язóється відносно невідомих сêладових оберненої матри-
ці. З (5.14), яêщо спочатêó виêлючити [ B]N 1 , то можна одержати таêі вирази:
[ 1N ]  [ S ]N11[a1N ] [aNN ]  [aN 1 ][ S ]N11[a1N ] ; [ B ]N 1  ([ I ]  [ 1N ][aN 1 ])[ S ]N11 ; (5.16)
1

Позначимо:
[ X ]  [ S ]N11[a1N ] ; [Y ]  [aN 1 ][ S ]N11 ; [ ]  [aNN ]  [aN 1 ][ X ]  [aNN ]  [Y ][a1N ] . (5.17)
З óрахóванням позначоê вирази (5.16) приймóть виãляд:
[ 1N ]  [ X ][ ]1 ; [ B ]N 1  [ S ]N11  [ X ][ ]1[Y ] . (5.18)
Аналоãічні дії дозволяють з (5.15) отримати вирази для останніх
невідомих блоêів оберненої матриці:
[  N 1 ]  [ ]1[Y ] ; [  NN ]  [ ]1 . (5.19)
Осêільêи матриця [ ] містить лише однó êомпонентó, то [ ] обчислю- 1

ється елементарно. А матриця [ S ]N11 є фаêтично матрицею [ B ]N 1 , отрима-


ною для попередньоãо члена послідовності матриць, тобто на момент виêо-
ристання формóл (5.17) … (5.19) є відомою.
Отже, яêщо визначена обернена матриця [ S ]k 11 , то можна леãêо визна-
чити оберненó матрицю [ S ]k 1 , k  2,..., N . Для цьоãо потрібно застосовóвати
формóли (5.17) … (5.19), замінив ó них індеêс N на індеêс k .
Стартóвати можна з k  3 , осêільêи обчислення оберненої матриці [ S ]21
можна провести за таêою простою формóлою:
1  a22 a12 
[ S ]21  , (5.20)
   a21 a11 
де   a11a22  a12 a21 .
Матриця [ A] може бóти несиметричною, але не повинна бóти
виродженою, тоді всі проміжні матриці [ S ]k не є особливими.
Осêільêи при обчисленні êомпонент матриці [ A]1 наêоплюються похибêи
оêрóãлення (див. Розділи 1.1.3, 1.3), то вона є наближеною. Позначимо
наближенó оберненó матрицю [ A]1 яê [W ] та введемо матрицю похибêи
[]  [ I ]  [ A][W ] . (5.21)
Доêазано, що в ітераційномó процесі
[W ]( k 1)  [W ]( k )  [W ]( k ) []( k ) ; k  0,1,... (5.22)
матриця [W ]( k 1) збіãається до точної оберненої матриці [ A]1 (ó (5.22) []( k ) 
 [ I ]  [ A][W ]( k ) ). У яêості êритерія припинення ітерацій реêомендóють
виêористовóвати óмовó
[W ]( k 1)  [W ]( k )   , (5.23)
де  – задана точність.
58 Частина ІІ. Розділ 5

5.3.2. Формули Крамера


Розв’язоê СЛАР (5.1) із застосовóванням формóл Крамера óтворюється яê
xm   m /  , (5.24)
де  – детермінант матриці [ A] ; а  m – детермінант видозміненої матриці
[ A] , ó яêó замість m -ãо стовпця вставлено веêтор правої частини {b} . Недо-
ліê: êільêість простих математичних операцій пропорційна N ! (фаêторіал від
N ). Томó êільêість таêих операцій невиправдано велиêа вже при N  3 .

5.3.3. Метод Гаусса


Метод Гаóсса має ще таêі назви: метод послідовноãо виêлючення невідо-
мих, схема єдиноãо ділення. Розрізняють два етапи: прямий хід та зворотний
хід (це властиво для баãатьох методів, томó в подальшомó виêладенні мето-
дів на це не бóдемо привертати додатêової óваãи).
Метод виêладемо ó виãляді алãоритмó. Прямий хід:
початоê циêлó з m  1, ..., N  1 :
початоê циêлó з n  m, ..., N :
amn  amn / amm ; (яêщо amm  0 – зóпинення);
êінець циêлó з n ;
bm  bm / amm ;
початоê циêлó з k  m  1, ..., N :
початоê циêлó з j  m  1, ..., N : (5.25)
a kj  a kj  a km a mj ;
êінець циêлó з j ;
bk  bk  a km bm ;
êінець циêлó з k ;
êінець циêлó з m .
bN  bN / aNN ; aNN  1 .
В процесі прямоãо ходó óтворюється триêóтна матриця: всі елементи
нижче діаãоналі стають нóльовими, на діаãоналі з’являються одиниці, мо-
дифіêóється веêтор правої частини СЛАР. При повністю заповненій матри-
ці прямий хід потребóє êільêість операцій приблизно 2 N 3 / 3 . Яêщо в циêлі з
n ще до проведення операції ділення виêонóвати перемноження діаãональ-
них елементів, то після заêінчення циêлó óтворюється величина
a11  a22  ...  a NN  det[ A] .
Зворотний хід:
x N  bN .
циêл з m  N  1, ...,1 :
N
xm  bm  a
n  m 1
mn xn ; (5.26)
êінець циêлó з m .
Частина ІІ. Розділ 5 59

Тобто зворотний хід – визначення невідомих. Він швидêісний: при по-


вністю заповненій матриці потребóє êільêість операцій, пропорційнó N 2 .
Переваãи методó: простий ó реалізації, досить швидêий, матриця може бó-
ти несиметричною, модифіêовані êомпоненти матриці можна зберіãати на мі-
сці відповідних êомпонент вихідної матриці, зберіãається "профіль" матриці.
Недоліêи методó:
а/ на прямомó ході модифіêóється веêтор правої частини СЛАР, при
цьомó виêористовóються поточні значення amm , akk , bk . Тобто метод Гаóсса
потребóє повторення прямоãо ходó навіть тоді, êоли при іншомó веêторі
правої частини СЛАР її матриця лишилася незмінною;
б/ яêщо на прямомó ході в циêлі з n виявляється, що êомпонента
amm  0 (нóль на діаãоналі), то алãоритм повинен зóпинитися; яêщо amm  0 ,
то розв’язоê СЛАР бóде мати значнó похибêó;
в/ значна êільêість êомпонент матриці всередині "профілю", яêі мали
нóльові значення, стають ненóльовими, тобто стóпень заповнення матриці
ненóльовими êомпонентами збільшóється.

5.3.4. Метод Гаусса з вибором головного елемента


Метод ще має майже тотожнó назвó методó ãоловних елементів.
В цьомó методі в циêлі з m перед циêлом з n орãанізóється додатêовий
циêл, в яêомó знаходиться елемент, яêий має найбільше значення (за модóлем):
 з óсіх рядêів з номерами від m до N вêлючно (метод Гаóсса з вибо-
ром ãоловноãо елемента з óсієї матриці);
 з m –ãо рядêа (метод Гаóсса з вибором ãоловноãо елемента з рядêа);
 з m –ãо стовпця (метод Гаóсса з вибором ãоловноãо елемента зі стовпця).
Потім рядêи та стовпці переставляються місцями таê, щоб обраний еле-
мент зайняв позицію amm . Ці перестановêи запам’ятовóються (створюється
матриця перестановоê [P] ), щоб потім повернóти знайдені xm на свої місця.
Порівняно зі "звичайним" методом Гаóсса метод має таêі
 переваãи: більша точність отриманоãо розв’язêó; метод завжди "пра-
цює", êоли detA  0 ;
 недоліêи: збільшена êільêість операцій, óсêладнена лоãіêа алãоритмó;
при симетричній перестановці змінюється стрóêтóра заповнення матриці, а
при несиметричній симетрична матриця стає несиметричною.

5.3.5. Метод квадратних коренів


Симетричнó матрицю [ A] (див. Примітêó 5.7 наприêінці п.5.3.6) можна
представити ó виãляді добóтêó
[ A]  [ L][ L]T , (5.27)
де матриця [ L] може бóти несиметричною, зоêрема триêóтною:
60 Частина ІІ. Розділ 5

 L11 0 ... 0
L L ... 0
L   21 22 . (5.28)
 ... ... ... ...
 
 LN 1 LN 2 ... LNN 
У методі êвадратних êоренів на прямомó ході матриця [ A] СЛАР (5.1)
представляється ó виãляді добóтêó двох триêóтних матриць [L] та [ L]T . Для
визначення ненóльових êомпонент Lmn матриці [L] , яê резóльтат перемно-
ження матриць [L] та [ L]T , маємо для êожноãо m  n  N таêі рівняння:
L1m L1n  L2 m L2 n  ...  Lmm Lmn  a mn . (5.29)
Ця система рівнянь має розв’язоê (це й є прямий хід):
 L11  a11 ;

 L1n  a1n / L11 ; (1  n  N );
 m 1
 Lmm  a mm   Lkm 2 ; (1  m  N ) ; (5.30)
 k 1

 Lmn   a mn   Lkm Lkn  / Lmm ; ( m  n  N ) ;
m 1

  k 1 
 Lmn  0 ; ( n  m ) .
При повністю заповненій матриці êільêість операцій приблизно N 3 / 3 .
Примітêа 5.3. Відомо, що detA  detLT detL  detL2  L11  L22 ... LNN 2 .
Примітêа 5.4. Формóли (5.30) прямоãо ходó мають назвó алãоритмó сêаля-
рних добóтêів. Є принаймні ще два варіанти таêих формóл: алãоритм облямівêи
(російсьêою – оêаймления) та алãоритм зовнішніх добóтêів. Вони розрізня-
ються послідовністю дій та зонами матриці, що виêористовóються для обчис-
лень: підматриці, рядêи, стовпці. Яêщо матриця [ A] є не повністю заповне-
ною (розрідженою), то застосóвання тоãо чи іншоãо алãоритмó пов’язóють зі
схемою зберіãання матриці та методом оптимізації її профілю (див. Розділ 4.4).
Зворотний хід методó має два êроêи:
{ y}  ([ L]) 1{b} ; {x}  ([ L]T ) 1{ y} . (5.31)
В індеêсній формі записó формóли (5.31) мають виãляд:
 y1  b1 / L11 ;
  m 1

 m  m  Lkm y k  / Lmm ; ( m  2, 3, ..., N );
y  b 
  k 1  (5.32)
x  y / L ;
 N N NN

 x   y  
N

 m

m  Lmk x k  / Lmm ; ( m  N  1, N  2, ..., 1) .
k  m 1 
Осêільêи матриці [L] та [ L]T – триêóтні, то êільêість операцій зворот-
ноãо ходó пропорційна N 2 , тобто незначна, порівняно з прямим ходом.
Переваãи: при отриманні матриці [L] (прямий хід) не модифіêóється
веêтор правої частини; матриця [L] може зберіãатися на місці вихідної мат-
риці [ A] ; дрóãа матриця, тобто [ L]T , фаêтично не обчислюється та не збері-
Частина ІІ. Розділ 5 61

ãається; не зазнає змін "профіль" матриці СЛАР; êільêість дій óдвічі менша,
ніж ó методі Гаóсса (це пов’язано зі симетричністю матриці СЛАР).
Недоліêи: таêі ж, яê і описані в пóнêтах б/ та в/ для методó Гаóсса.

5.3.6. Схема Холецького (Гаусса-Холецького)


Інша назва: êомпаêтна схема виêлючення. В ній на прямомó ході мат-
риця [ A] СЛАР (5.1) представляється ó виãляді добóтêó двох матриць:
[ A]  [ L][U ] , (5.33)
де нижня (L – від Low) і верхня (U – від Upper) триêóтні матриці
 L11 0 ... 0  1 U 12 ... U 1N 
L L22 ... 0 0 1 ... U 2 N 
[ L]   21 ; [U ]   . (5.34)
 ... ... ... ... ... ... ... ...
   
 LN 1 LN 2 ... LNN  0 0 ... 1
Необхідна і достатня óмова існóвання та єдиноãо варіанта розêладó
(5.33): матриця [ A] повинна мати всі ненóльові êóтові мінори 1  a11 ,
a a12 
 2  det  11 , ...,  N  det[A] .
a21 a22 
Яê й ó методі êвадратних êоренів для визначення значень ненóльових
êомпонент матриць [L] та [U ] , яê резóльтат перемноження цих матриць,
маємо системó рівнянь, розв’язоê яêих (це й є прямий хід):
 Lm 1  a m 1 ; (1  m  N );
U  a / L ; (1  n  m );
 1n 1n 11
 n 1
 Lmn  a mn   Lmk U kn ; (1  n  m ); (5.35)
 k 1

U   a  L U  / L ;
m 1

 mn 

mn 
k 1
mk kn 

mm (1  m  n).

При повністю заповненій матриці êільêість операцій приблизно 2 N 3 / 3 .


Зворотний хід має два êроêи:
{ y}  ([ L]T ) 1{b} ; {x}  ([U ]) 1{ y} . (5.36)
В індеêсній формі записó формóли (5.36) мають виãляд:
 y1  b1 / L11 ;
  m 1

 m  m  Lkm y k  / Lmm ; ( m  2, 3, ..., N );
y  b 
 k 1  (5.37)
x  y ;
 N N

x  y 
N

 m m  U mk x k ; ( m  N  1, N  2, ...,1) .
k  m 1

Осêільêи матриці [L] та [U ] – триêóтні, то êільêість операцій зворотно-


ãо ходó пропорційна N 2 , тобто незначна, порівняно з прямим ходом.
Переваãи: при отриманні матриць [L] та [U ] (прямий хід) не модифіêó-
ється веêтор правої частини; обидві матриці можóть зберіãатися на місце
62 Частина ІІ. Розділ 5

вихідної матриці [ A] (оêрім одиниць на діаãоналі матриці [U ] , що й не по-


трібно); не зазнає змін "профіль" матриці СЛАР.
Недоліêи: таêі ж, яê і описані в пóнêтах б/ та в/ для методó Гаóсса.
Примітêа 5.5. Відносно формóл (5.35) прямоãо ходó див. Примітêó 5.4.
Примітêа 5.6. Яêщо на прямомó ході методó Гаóсса (див. формóли (5.25))
дії з êомпонентами правої частини СЛАУ не проводити, а потрібні для цих дій
êоефіцієнти зберіãати яê êомпоненти нової матриці, то фаêтично отримаємо
матрицю [L] схеми Холецьêоãо. Крім тоãо, матриця [ A] вихідної СЛАР після
прямоãо ходó методó Гаóсса точно відповідає матриці [U ] схеми Холецьêоãо.
Отже, схема Холецьêоãо фаêтично є реалізацією методó Гаóсса, в яêій дії з
êомпонентами правої частини СЛАУ перенесені до зворотноãо ходó.
Примітêа 5.7. Метод êвадратних êоренів (див. п.5.3.5) є оêремим випа-
дêом схеми Холецьêоãо, êоли матриця СЛАР (5.1) – симетрична. Томó не-
обхідна і достатня óмова існóвання та єдиноãо варіанта розêладó (5.27) таêа
ж, яê і для розêладó (5.33).

5.3.7. Схема Холецького з діагональною матрицею


Яêщо матриця [A] – симетрична, то з формóл (5.34) випливає, що
U mn  Lnm / Lmm (за індеêсом m не додавати). Звідсіля Lmn  U mn Lmm , тобто можна
не збирати матрицю [L] або [U ] . Яêщо збирати тільêи матрицю [L] , то
êільêість операцій на прямомó ході зменшиться на величинó, пропорційнó
N 2 , тобто відносно мало. Але на зворотномó – збільшится на тó ж
величинó, що сêладе біля 30 відсотêів дій цьоãо ходó. Томó можна
обчислювати лише êомпоненти матриці [U ] та діаãональні êомпоненти
матриці [L] , причомó останні можна зберіãати ó матриці [U ] замість
одиниць на діаãоналі. Замість формóли (5.33) записóють іншó:
[ A]  [U ]T [W ][U ] , (5.38)
де матриця W  – диаãональна, з êомпонентами Wmm  Lmm (див. формóли (5.35)).
Компоненти Lmn підраховóються, виêористовóються, але не запам’ятовóються.
Зворотний хід методó має три êроêи:
{ y}  ([U ]T ) 1{b} ; {z}  ([W ]) 1{ y} ; {x}  ([U ]) 1{z} . (5.39)
В індеêсній формі записó ці формóли мають виãляд:
 y1  b1 / W11 ;
  m 1

 y m   bm   U km y k  / Wmm ; ( m  2, 3, ..., N );
 k 1  (5.40)
x  y ;
 N N

x  y 
N

 m m  U mk xk ; ( m  N  1, N  2,...,1) .
k  m 1

5.3.8. Ортогоналізація Грама-Шмідта


Обов’язêовість detA  0 в СЛАР (5.1) – природна вимоãа, осêільêи ін-
аêше система має безліч розв’язêів. Однаê системи з det A  0 іноді збира-
Частина ІІ. Розділ 5 63

ються, причомó є бажання в автоматичномó режимі виявити цей фаêт,


знайти та виêлючити лінійно-залежні рядêи СЛАР (це й є причиною тоãо,
що det A  0 ) та зайві невідомі із системи, отримати її розв’язоê для тих не-
відомих, що залишилися. Наприêлад, ця ситóація часто виниêає, êоли за
допомоãою методó найменших êвадратів проводиться аналітична апроêси-
мація фóнêції, заданої таблицею, яêа формóється в автоматичномó режимі
при óмовах змінної бази для її формóвання. Є й інші ситóації.
Процес ортоãоналізації Грама-Шмідта заснований на таêих ідеях, фаêтах:
 матриця СЛАР (5.1) вироджена, êоли в СЛАР є хоча б один рядоê,
лінійно залежний від яêоãось іншоãо;
 рядоê êомпонент матриці СЛАР (розміром N  N ), після множення
на веêтор змінних (неважливо, що до розв’язання СЛАР він ще не відо-
мий), може розãлядатися яê веêтор, яêий має базис із N веêторів, а відпові-
дна рядêó êомпонента правої частини – яê довжина (норма) цьоãо веêтора;
 два веêтори, що отримані з лінійно залежних рядêів СЛАР, паралель-
ні, тобто відрізняються лише довжиною (масштабом, абсолютною величи-
ною, нормою). Яêщо, наприêлад, взяти два веêтори та сóмістити їхні поча-
тêи, один з веêторів назвати "ãоловним", розêласти дрóãий веêтор на на-
прямоê "ãоловноãо" та перпендиêóлярно до ньоãо, то відсóтність перпенди-
êóлярної сêладової вêазóє на лінійнó залежність веêторів;
 яêщо відêинóти лінійно-залежнó (паралельнó) частинó веêтора, за-
лишиться тільêи та йоãо частина, що ортоãональна "ãоловномó" веêторó.
"Вилóчення" повинне відобразитися й на довжині веêтора, тобто на вели-
чині відповідної веêторó (рядêó) êомпоненти правої частини СЛАР. При
цьомó базис не модифіêóється, тобто розв’язоê СЛАР, з рядêа яêої "вилóче-
на" лінійно залежна (стосовно "ãоловноãо" рядêа) частина, не зміниться.
Крім виявлення рядêів СЛАР, що приводять до її виродження, є потре-
ба в розв’язанні частини СЛАР, що залишилася. Для вирішення цієї про-
блеми необхідно мати на óвазі, що:
 яêщо в СЛАР всі рядêи бóдóть ортоãональні один одномó (а це мож-
ливо, томó що êільêість рядêів і розмір базисó збіãаються) і нормовані, то ма-
~ ~
триця отриманої СЛАР [ A]{x}  {b } є ортоãональною, тобто має таêó власти-
~ ~ ~ ~
вість: [ A]T [ A]  [ I ] , де [I ] – одинична матриця. Інаêше êажóчи, [ A]T  [ A]1 ,
тобто матриця СЛАР, яêа пройшла процедóри ортоãоналізації, нормóвання й
~ ~
транспонóвання, є оберненою, і знайдений веêтор {x}  [ A]T {b } .
 процедóри ортоãоналізації та нормóвання СЛАР можна поєднати, а
процедóра транспонóвання – тривіальна (не вимаãає обчислень);
 розв’язоê можна одержати тільêи для лінійно незалежної частини
СЛАР, відêинóвши "браêованó" частинó (не тільêи рядêи, а й відповідні їм
стовпці).
Алãоритм може реалізовóватися таêим чином:
а/ спочатêó всі рядêи – "непридатні";
64 Частина ІІ. Розділ 5

б/ з-посеред "непридатних" рядêів, що залишилися, шóêаємо "ãоло-


вний". Починаємо циêл з "непридатних" рядêів ( m  1, 2, ..., N ; "придатні"
рядêи пропóсêаємо):
N
 обчислюємо q   (amn ) 2 ;
n 1

 яêщо q   (  – припóстима точність на лінійнó залежність рядêів),


то рядоê – "придатний". Нормóємо йоãо: amn  amn / q , де n  1, 2,...,N ;
bm  bm / q . Перериваємо циêл з "непридатних" рядêів, осêільêи
знайдений "придатний" рядоê з номером m стає "ãоловним".
в/ з "непридатних" рядêів, що залишилися, бóдóємо рядêи (веêтори),
ортоãональні "ãоловномó" m -мó:
 починаємо циêл з "непридатних" рядêів ( k  m  1, m  2, ..., N ;
"придатні" рядêи пропóсêаємо);
N
 обчислюємо c   akn  amn , потім akn  akn  c  amn , де n  1, 2, ..., N ,
n 1

а таêож bk  bk  c  bm .
ã/ повертаємося ó пóнêт б/. Яêщо в ньомó циêл вичерпався, але рядêа з
q   (тобто "придатноãо") не знайшлося, то процес ортоãоналізації й одно-
часноãо нормóвання заêінчено. Компоненти всіх "непридатних" рядêів ста-
ли праêтично нóльовими.
д/ можна провести перевірêó ортоãональності (берóть óчасть тільêи
"придатні" рядêи та відповідні їм стовпці): amk  akn  mn .
е/ проводимо розв’язóвання СЛАР (берóть óчасть тільêи "придатні" ря-
дêи та відповідні їм стовпці): xm  (amn )T  bn  anm  bn .
Недоліêи процедóри: її необхідно проводити деêільêа разів (щоб вилó-
чити відповідні "непридатним" рядêам стовпці), доêи не стабілізóються
"придатні" рядêи; змінюється стрóêтóра заповнення матриці СЛАР; êіль-
êість дій значно більше, ніж ó методі Гаóсса.

5.3.9. Порівняльна хараêтеристиêа прямих методів розв’язóвання СЛАР


Хараêтерні властивості прямих методів розв’язóвання СЛАР наведені в
таблиці 5.1.
В ній позначені методи та схеми: I – Гаóсса; II – Гаóсса з вибором ãо-
ловноãо елемента; III – êвадратних êоренів; IV – Холецьêоãо; V – Холець-
êоãо з діаãональною матрицею; VI – ортоãоналізації Грама-Шмідта.
Примітêа 5.8. Для всіх методів і схем хараêтерно, що нóльові êомпонен-
ти матриці [ A] всередині "профілю" можóть стати ненóльовими, тобто щіль-
ність заповнення матриці ненóльовими êомпонентами підвищóється.
Частина ІІ. Розділ 5 65

Таблиця 5.1. Хараêтерні властивості прямих методів і схем розв’язóвання СЛАР


Властивості \ Методи, схеми I II III IV V VI
обов’язêовість det[ A]  0 + + + + + -
обов’язêова симетричність матриці [ A] - - + - + -
швидêість (+ – добра; ++ – дóже добра; ++ ++ ++ ++ +++ +
+++ – найшвидший)
підвищена точність - + - - - -
простота ó реалізації + - + + + -
не потребóє додатêової пам’яті для збережен- + + + + + +
ня модифіêованих матриць
веêтор {b} на прямомó ході не модифіêóється - - + + + -
зóпинêа алãоритмó при виявленні amm  0 + - + + + -
зберіãається "профіль" матриці + - + + + -

5.4. Схеми розв’язування систем лінійних алгебраїчних рівнянь


особливого вигляду: з тридіагональною матрицею
Є деяêі математичні проблеми, яêі приводять до створення СЛАР з
особливим виãлядом матриці. Розãлянемо лише один з варіантів, êоли мат-
риця має виãляд тридіаãональної. Це хараêтерно для розв’язóвання одно-
вимірних êрайових задач з похідною дрóãоãо порядêó методом сêінченних
різниць. Застосовóється схема виêлючення Гаóсса, яêа традиційно записó-
ється ó виãляді схеми проãонêи.
Отже, в симетричній матриці [ A] нóльовими êомпонентами amn є всі,
що мають індеêси n  m  1 та n  m  1 . Яêщо ввести фіêтивні a10  a N , N 1  0
та x0 і x N 1 , а таêож позначити
 m  am , m1 ;  m  amm ;  m  am, m1 ; m  1, 2, ..., N , (5.41)
то рядêи СЛАР можна записати ó виãляді (фіêтивні x0 та x N 1 подавляються
нóльовими êоефіцієнтами a10  a N , N 1  0 ):
 m xm1   m xm   m xm1  bm ; m  1, 2, ..., N . (5.42)
Зãідно зі схемою правої проãонêи розв’язоê СЛАР знаходиться ó виãляді
xm   m1 xm1   m1 ; m  N  1, ..., 1 . (5.43)
Для визначення êоефіцієнтів це рівняння записóють для êомпоненти
xm1   m xm   m та обидва підставляють ó (5.42). Отримане рівняння
[(  m  m   m )  m1   m ]xm1  [(  m  m   m ) m1   m m  bm ]  0 (5.44)
бóде справедливим для бóдь-яêих xm1 , яêщо вирази ó êвадратних дóжêах
завжди дорівнюють нóлю. Томó êоефіцієнти
 m1   m /(  m  m   m ) ;  m1  (bm   m m ) /(  m  m   m ) ; m  1, 2, ..., N  1 . (5.45)
1  a12 / a11 ; 1  b1 / a11 . (5.46)
66 Частина ІІ. Розділ 5

Для визначення xN виêористовóється система рівнянь


a N , N 1 x N 1  a NN x N  bN та x N 1   N x N   N , що приводить до розв’язêó
x N  (a NN N  bN ) /( a N , N 1  N  a NN ) . (5.47)
Спочатêó застосовóються формóли (5.46) і (5.45) прямої проãонêи. По-
тім – формóли (5.47) і (5.43) зворотної проãонêи.
Зãідно зі схемою лівої проãонêи розв’язоê СЛАР знаходиться ó виãляді
xm1   m1 xm  m1 ; m  1, ..., N  1 . (5.48)
Аналоãічно попередньомó можна отримати:
 m    m /( m m1   m ) ; m  (bm   m m1 ) /( m m1   m ) ; m  N  1, ...,1 . (5.49)
 N  aN , N 1 / aNN ; N  bN / a NN . (5.50)
Для визначення x1 виêористовóється система рівнянь a11 x1  a12 x2  b1 та
x2   2 x1  2 , що приводить до розв’язêó
x1  (b1  a12 2 ) /( a12 2  a11 ) . (5.51)
Послідовність обчислення формóл аналоãічна: (5.50) і (5.49) – пряма
проãонêа, (5.51) і (5.48) – зворотна.
Є ще схема зóстрічної проãонêи, яêа бóває êорисна, яêщо необхідно
знайти значення лише для одноãо x j при 1  j  N . Орãанізовóються проãо-
нêи з двох êінців (зóстрічні) до цьоãо j . Формóли для визначення êоефіціє-
нтів та невідомих – ті ж самі, але є додатêова формóла "зшивання":
x j  ( j 1   j 1 j 1 ) /(1   j 1 j 1 ) . (5.52)
Доведено, що достатні óмови, при виêонанні яêих формóли (5.45),
(5.47), (5.49), (5.51) і (5.52) мають сенс, є таêими:
|  m ||  m |  |  m | ; | 1 | 1 ; |  N | 1 ; | 1 |  |  N | 2 . (5.53)
Крім тоãо, доведено, що при проведення обчислень на ЕОМ похибêи
оêрóãлення дають сóмарнó похибêó, пропорційнó N 2 M , де  M – машинний
іпсилон (див. Таблицю 1.5. Розділó 1).

Контрольні питання до Розділó 5.1


1. На яêі дві велиêі ãрóпи ділять методи розв’язóвання СЛАР?
2. Чи можливо приведення матриці СЛАР до симетричноãо станó?
Контрольні питання до Розділó 5.2
1. Яê обчислити число обóмовленості матриці?
2. Про що свідчить завелиêе значення числа обóмовленості.
Контрольні питання до Розділó 5.3
1. Чомó формóли Крамера не застосовóють при êільêості невідомих
N 3?
2. Що відбóвається на прямомó та зворотномó ходах методó Гаóсса? Яêі
недоліêи цьоãо методó?
3. Яêими прямими методами можна розв’язóвати СЛАР з несиметрич-
ною матрицею?
Частина ІІ. Розділ 5 67

4. Яêó (приблизно) êільêість операцій мають прямі методи


розв’язóвання СЛАР?
5. За рахóноê чоãо схема Холецьêоãо має переваãó над êласичним мето-
дом Гаóсса?
6. Яêі спільні риси мають всі прямі методи розв’язóвання СЛАР?
7. В яêих випадêах стає в наãоді ортоãоналізація Грама-Шмідта?
Контрольні питання до Розділó 5.4
1. Чомó для СЛАР з тридіаãональною матрицею розроблено особливі
алãоритми?
68 Частина ІІ. Розділ 6

Розділ 6

ОБЧИСЛЕННЯ ВЛАСНИХ ЗНАЧЕНЬ І ВЕКТОРІВ МАТРИЦЬ

6.1. Загальні зауваження


Власними значеннями (хараêтеристичними числами) êвадратної матриці
[ A] називають ті значення сêалярноãо параметра  , для яêих матриця
[ A]  [ I ] є виродженою. Спеêтром матриці [ A] називається вся множина її
власних значень. Він співпадає з множиною êоренів алãебраїчноãо рівняння
det([ A]    [ I ])  D ( )  det | amn     mn | 0 , (6.1)
яêе при цьомó називається хараêтеристичним рівнянням. Серед власних
значень є оêремі та можóть бóти êратні власні значення. Зазвичай всі власні
значення нóмерóють за принципом зменшення: | 1 || 2 | ...  | N | 0 .
Деяêі важливі властивості:
 спеêтральний радіóс s ( A) || [ A] || для несиметричної та max s ( A) || [ A] ||
для симетричної матриці, яêщо ці норми – одна з m, k або w (див. Розділ 4.2);
 подібні матриці мають однаêовий спеêтр;
 яêщо матриця [ A] є позитивно визначеною, то всі її власні значення
є дійсними;
 яêщо матриця [ A] з дійсними елементами amn – симетрична, то:
 всі її N власних значень – дійсні;
 існóють N взаємно ортоãональних власних веêторів матриці {x} j ,
яêі створюють базис просторó E N розмірністю N , причомó
[ A]{x} j   j {x} j ; j  1, 2, ... , N . (6.2)
Є чимало методів знаходження власних значень і власних веêторів мат-
риці. Їх можна розділити на методи для знаходження:
 всіх власних значень і власних веêторів;
 ãраниць спеêтра власних значень;
 деêільêох власних значень і власних веêторів.
Інша êласифіêація методів таêа:
 прямі методи розãортання хараêтеристичноãо рівняння (6.1);
 прямі методи приведення матриці [ A] до діаãональноãо виãлядó шля-
хом застосóвання перетворень подібності;
 ітераційні методи для отримання деêільêох власних хараêтеристиê.

6.2. Обчислення всіх власних значень квадратної матриці


Є деêільêа êласичних методів знаходження всіх власних значень. Вони
виêористовóють представлення хараêтеристичноãо рівняння (6.1) ó виãляді
алãебраїчноãо полінома з невідомими êоефіцієнтами, після визначення яêих
Частина ІІ. Розділ 6 69

застосовóється один з методів знаходження йоãо êоренів (див. Розділ 3). Опи-
шемо лише два методи: прямоãо розãортання хараêтеристичноãо рівняння (са-
мий повільний), та метод Данилевсьêоãо (самий швидêий). Є ще методи Кри-
лова, Леверр’є, невизначених êоефіцієнтів, інтерполювання, поворотó, інші.

6.2.1. Метод прямого розгортання характеристичного рівняння


Хараêтеристичне рівняння (6.1) представляється ó виãляді:
D ( )  (1) N [N   1N 1   2 N 2  ...  (1) N  N ] , (6.3)
де  j є сóми всіх діаãональних мінорів j -ãо порядêó матриці [ A] , зоêрема,
 N  det[ A] . Можна підрахóвати, що тільêи для обчислення всіх êоефіцієнтів
 j полінома (6.3) потрібно 2 N  1 разів обчислити детермінанти матриці всіх
порядêів (від 1 до N ), що є фаêтично нереальним при значних величинах N .

6.2.2. Метод Данилевського


Яêщо привести хараêтеристичне рівняння (6.1) до нормальноãо виãлядó
Фробеніóса
p1  ; p2 ; p3 ; ... pN
1; ; 0; ... 0
D ( )  0; 1; ; ... 0, (6.4)
... ... ... ... ...
0; 0; 0; ... 
то потім можна леãêо отримати алãебраїчний поліном N -ої степені:
D ( )  ( 1) N  (N  p1N 1  p2 N 2  ...  p N ) . (6.5)
Матрицю Фробеніóса
 p1; p2 ; ... pN 1; pN 
 1; 0; ... 0; 0 

[ ]   0; 1; ... 0; 0 (6.6)
 
 ... ... ... ... ...
 0; 0; ... 1; 0 
можна зв’язати з матрицею [ A] співвідношенням
[ ]  [ S ]1[ A][ S ] , (6.7)
де матриця [S ] – яêась не вироджена матриця. Зãідно з останнім виразом мат-
риці [ A] та [] є подібними (див. Розділ 4.1), томó мають однаêовий набір вла-
сних значень і замість полінома (6.3) можна виêористовóвати поліном (6.5).
У методі Данилевсьêоãо перехід від матриці [A] до матриці [] прово-
диться за N  1 êроêів перетворень. Для êожноãо k -ãо рядêа матриці [A] ,
починаючі з останньоãо, обчислюються:
bmn  amn  am , k 1 wk 1, n при 1  m  k ; n  k  1 ; (6.8)
bm , k 1  am , k 1 wk 1, k 1 при 1  m  k , де (6.9)
70 Частина ІІ. Розділ 6

wk 1, n  akn / ak , k 1 при n  k  1 та wk 1, k 1  1 / ak , k 1 ,


(6.10)
а bmn є êомпонентами проміжної матриці [ B] . Для завершення перетворення
ще необхідно перейти до матриці [C ] з êомпонентами
k
cmn  bmn при 1  m  k  2 ; ck 1, n   ak , j b j , n при 1  n  k . (6.11)
j 1

Матриця [C ] має перетворений k -й рядоê ó виãляді всіх нóлів, оêрім


одиниці на діаãоналі.
Всі операції повторюються для новоãо k -ãо рядêа, причомó замість мат-
риці [ A] виêористовóється матриця [C ] . Проблеми виниêають, êоли êомпо-
нента ak , k 1 , на яêó потрібно ділити, дорівнює нóлю. Можливі два випадêи.
У першомó випадêó в k -мó рядêó ліворóч êомпоненти ak , k 1 є хоча би
одна не нóльова êомпонента akj , j  k  1 . Тоді достатньо переставити міс-
цями (k  1) -й та j -й стовпці та таêі ж рядêи матриці, осêільêи доведено, що
нова матриця бóде подібною до старої.
У дрóãомó випадêó в k -мó рядêó ліворóч êомпоненти ak , k 1 немає не нó-
льових êомпонент. Це означає, що в матриці ліворóч та нижче êомпоненти
ak , k 1 всі êомпоненти – нóльові, або, інаêше êажóчи, що таêа проміжна мат-
риця [ A] містить 4 блоêи, причомó той, що зліва внизó – нóльовий:
[ A] [ L] 
[ A]   1  . Тоді її хараêтеристичне рівняння розпадається на два:
[ 0 ] [ A] 2

det([ A]  [ I ])  det([ A]1  [ I ])  det([ A]2  [ I ]) , (6.12)


причомó матриця [ A]2 вже приведена до êанонічної форми Фробеніóса, за-
лишилося зробити це з матрицею [ A]1 .
Яêщо {z}  {z1 , z 2 ,..., z N }T – власний веêтор матриці [] , то він задоволь-
няє системі [ ]{z}  {z} або ([ ]  [ I ]){z}  {0} . Це й є система для обчис-
лення êомпонент власноãо веêтора {z} . Осêільêи ця система – однорідна,
то з неї можливо знайти розв’язоê лише з точністю до деяêоãо множниêа.
Яêщо прийняти, що z N  1 , то послідовно отримаємо, що
z N 1   ; z N 2  2 ; ..., z1  N 1 . (6.13)
Але нам потрібно знайти {x}  {x1 , x2 ,..., x N }T – власний веêтор матриці
[ A] . Яêщо з êомпонент wmn (див. формóли (6.10)) створити матриці
 1; 0; ... 0; ... 0
 0; 1; ... 0; ... 0 

 ... ... ... ... ... ...
[W ]k 1   , (6.14)
 wk 1, 1; wk 1, 2 ; ... wk 1, k 1 ; ... wk 1, N 
 ... ... ... ... ... ...
 
 0; 0; ... 0; ... 1
то можна одержати, що
Частина ІІ. Розділ 6 71

{x}  [W ] N 1  [W ] N 2  ...  [W ]2  [W ]1{z} ,


(6.15)
причомó êожна матриця [W ] j при перемноженні модифіêóє лише одне j -е зна-
чення веêтора. Цей процес необхідно повторювати для êожноãо значення  .
Отже, метод Данилевсьêоãо дозволяє знаходити не тільêи хараêтеристичне
рівняння матриці, а й власні веêтори (після знаходження власних значень).

6.3. Обчислення границь спектра власних значень квадратної


матриці
Досить часто достатньо знати тільêи ãраниці спеêтра власних значень
(див. Розділ 7).
Позначимо яê  ( A) та  ( A) – відповідно мінімальне та маêсимальне
власні значення матриці [ A] . Для наближеноãо обчислення ãраниць спеêтра
власних значень матриці зазвичай виêористовóють теоремó Гершãоріна та
метод Люстерніêа. Теорема Гершãоріна стверджóє, що всі власні значення
k ( A) матриці [ A] (дійсні та êомплеêсні) належать об’єднанню êіл
| z  amm | sm ; m  1, 2, ..., N , (6.16)
де спеêтральний радіóс m –ãо êола
N
sm   | amn | . (6.17)
n 1
nm

Одним з наслідêів теореми Гершãоріна є оцінêа для спеêтральноãо ра-


діóса матриці (маêсимальноãо за модóлем власноãо значення):
N
s ( A) |  ( A) | max  | amn | . (6.18)
m
n 1

Яêщо ввести допоміжнó матрицю [ B]   ( A)  [ I ]  [ A] , то можна спочатêó


N
отримати |  ( B) | max  | bmn | , а потім:
m
n 1

 ( A)   ( A)   ( B) , (6.19)
причомó ця оцінêа може бóти дóже приблизною, навіть мати невірний знаê,
осêільêи  ( A) і  (B) – близьêі за величинами велиêі числа.
Зãідно з методом Люстерніêа в ітераційномó процесі спочатêó обчис-
люється маêсимальне власне значення  ( A) :
{ }( k 1)
 ( A)  lim || { } || , де { }  [ A]
(k ) (k )
; k  1, 2, ... , (6.20)
k  || { }( k 1) ||
причомó
{x}1  lim{ }( k ) ; k  1, 2, ... . (6.21)
k 

Цей метод збіãається й тоді, êоли  ( A) є êратним.


Потім, яêщо це потрібно, можна обчислити мінімальне власне значен-
ня  ( A) . Зновó вводиться допоміжна матриця [ B ]   ( A)  [ I ]  [ A] , в ітераціях
знаходиться:
72 Частина ІІ. Розділ 6

|| [ A]{ }( k ) || { }( k 1)
 ( A)  lim , де { }(k )
 [ B ] ; k  1, 2, ... . (6.22)
k  || { }( k ) || || { }( k 1) ||
Початêові веêтори { }(0) та { }(0) можóть бóти довільними, але існóють
таêі, при яêих процес зовсім не збіãається. Тоді потрібно обрати інший по-
чатêовий веêтор і провести всі обчислення зновó.
Ітерації заêінчóються, êоли значення  ( A) та  ( A) стабілізóються з при-
значеною точністю. В одній ітерації обчислення (6.20) та (6.22), при повніс-
тю заповнених матрицях, потрібно біля N 2 операцій, тобто відносно неба-
ãато, але швидêість збіжності цих процесів не є значною.
Примітêа 6.1. Іноді для визначення  ( A) більш швидêим бóде дещо ін-
ший ітераційний процес, ніж (6.20), (6.21):
({}( k ) , {~}( k ) )
 ( A)  lim ~}( k ) ) ; k  1, 2, ... , (6.23)
k  ({ }( k 1) , {

де
{ }( k )  [ A]{ }( k 1)  [ A]k { }( 0 ) ; {~}( k )  [ A]T {~}( k 1)  ([ A]T ) k { }( 0 ) ; k  1, 2, ... . (6.24)
Цей процес особливо зрóчний, êоли матриця [A] є симетричною, осêі-
льêи тоді [ A]T  [ A] , {~}( k )  { }( k ) і не потрібно бóдóвати оêремий процес зãі-
дно з дрóãою формóлою (6.24). Йоãо називають методом сêалярних добóтêів.
Примітêа 6.2. Для присêорення збіжності ітераційних процесів (з прости-
ми (повільними) заêонами збіжності) можна застосовóвати настóпнó формóлó:
({ }( k 1) , { }( k 1) )  ({ }( k ) , { }( k ) )
 ( A)  . (6.25)
|| { }( k 1)  2{ }( k )  { }( k 1) ||
Примітêа 6.3. Для визначення норм матриць [ A] і [ A]1 можна виêорис-
товóвати формóли
|| [ A] ||  ( A* A) та || [ A]1 || 1 /  ( A* A) , (6.26)
де [ A] – матриця, спряжена з матрицею [ A] .
*

6.4. Обчислення декількох власних значень квадратної матриці


При розв’язóванні êрайових задач динаміêи, досить часто потрібні не
всі власні значення, а лише деêільêа найменших власних значень або де-
яêий діапазон значень. Для їхньоãо знаходження розроблено деêільêа іте-
раційних методів: послідовної ортоãоналізації, ітерацій, вичерпóвання, ін-
ші. Власно êажóчи, цими методами можна послідовно знайти всі власні ха-
раêтеристиêи, але це не бóде êращим варіантом. У цьомó Розділі розãляне-
мо лише зазначені методи, інші – в Розділі 26.

6.4.1. Метод послідовної ортогоналізації


Вважається, що матриця [ A] є симетричною.
Спочатêó, зãідно з ітераційним процесом (6.20), знаходиться найбільше
власне значення та відповідний йомó власний веêтор, позначимо їх яê 1 та
Частина ІІ. Розділ 6 73

{x}1 . Для знаходження настóпних  2 та {x}2 проводиться таê званий "зсóв


спеêтра" шляхом введення нової матриці
[ B]  [ A]   1[ I ] , (6.27)
а таêож виêлючення êомпонент власноãо веêтора {x}1 за формóлою
{~}( k )  { }( k )  1  {x}1 ; k  1, 2, ... . (6.28)
Параметр 1 обчислюється в ітераціях з óмови ортоãональності поточ-
ноãо веêтора {~}( k ) власномó веêторó {x}1 , яêа створюється із застосóванням
(6.28) яê сêалярний добóтоê, яêий дорівнює нóлю:
({~}( k ) , {x}1 )  ({ }( k ) , {x}1 )  1  ({x}1 , {x}1 )  0 ; k  1, 2, ... . (6.29)
З (6.29)
({ }( k ) ,{x}1 )
1  lim ; k  1, 2, ... . (6.30)
k  ({x}1 ,{x}1 )
Початêовий веêтор { }( 0 ) може бóти довільним, але відмінним від {x}1 , а
всі настóпні обчислюються яê
{ }( k )
{}( k 1)  [ B] ; k  1, 2, ... . (6.31)
|| { }( k ) ||
Внаслідоê ітераційноãо процесó знаходиться
|| [ A]{ }( k ) ||
 2 ( A)  lim ; k  1, 2, ... . (6.32)
k  || {  }( k ) ||
Цей алãоритм óзаãальнюється на випадоê визначення деяêоãо (n) -ãо
власноãо значення та веêтора. Бóдемо вважати, що попередні (n  1) значень
та веêторів знайдено. Тоді замість (6.27), (6.28) і (6.30) відповідно:
[ B]  [ A]   n1[ I ] ; (6.33)
n 1
{~}( k )  { }( k )    j  {x} j ; k  1, 2, ... ; (6.34)
j 1

({ }( k ) ,{x} j )
j  ; k  1, 2, ... ; j  1, ..., n  1 . (6.35)
({x} j ,{x} j )
Внаслідоê ітераційноãо процесó знаходиться
|| [ A]{ }( k ) ||
 n ( A)  lim ; k  1, 2, ... , (6.36)
k  || {  }( k ) ||
а таêож
{x}n  lim{~}( k ) ; k  1, 2, ... . (6.37)
k 

Яêщо матриця [ A] не є симетричною, то алãоритм майже тотожний,


але паралельно проводяться два процеси: з матрицями [ A] та [ A* ] для сис-
тем [ A]{u}    {u} та [ A* ]{u *}  *  {u *} . Тільêи замість (6.30) і (6.35) виêорис-
товóються формóли
({ }( k ) ,{x*} j ) ({ *}( k ) ,{x} j )
j  *
;  *
 *
; k  1, 2, ... ; j  1, ..., n  1 , (6.38)
({x} j ,{x } j )
j
({x} j ,{x } j )
74 Частина ІІ. Розділ 6

яêі óтворюються із óмов "перехресної" ортоãональності ({~}( k ) , {x *} j )  0 і


({~ * }( k ) , {x} j )  0 відповідно. Внаслідоê таêої ортоãоналізації власні значення
n та *n , а таêож власні веêтори {x}n та {x * }n співпадають.
Потрібно додатêово вêазати, що наявність похибоê оêрóãлення при
обчисленні в ЕОМ призводить до нестійêоãо процесó. Томó реêомендóють
проводити ортоãоналізацію не на êожномó êроці k  1, 2, ... , а через порівня-
но значнó їхню êільêість.

6.4.2. Степеневі методи (метод ітерацій і метод зворотних


ітерацій)
У методі ітерацій (Power Method – PM) послідовно обчислюються веêтори
{x}( k 1)   ( k )  [ A]{x}( k ) ; k  1, 2, ... , (6.39)
починаючи з довільноãо веêтора {x}(1) , хоча реêомендóють йоãо приймати ó
виãляді нóльовоãо з однією êомпонентою, яêа дорівнює одиниці, або набли-
женоãо до власноãо веêтора {x}1 . Ця послідовність збіãається до деяêоãо веê-
тора {x} таêоãо, що маêсимальне власне значення 1   ( A) обчислюється яê
({x}( k ) ,[ A]{x}( k ) )
1  lim ; k  1, 2, ... . (6.40)
k  ({x}( k ) ,{x}( k ) )
Яêщо множниê  ( k ) обирати таêим чином, щоб маêсимальна за модó-
лем êомпонента веêтора {x}( k 1) дорівнювала одиниці, то цей веêтор збіãа-
ється до власноãо веêтора {x}1 . Яêщо прийняти  ( k )  1 , то для отримання
власноãо веêтора після стабілізації процесó (6.39) потрібно провести нормó-
вання отриманоãо веêтора. Метод збіãається повільно, причомó тим пові-
льніше, чим ближче до n є сóсіднє власне значення. Для присêорення збі-
жності, яê це можна леãêо збаãнóти з формóли (6.39), можна замість матри-
ці [ A] виêористовóвати матриці [ A]2 , [ A]3 , … .
Для знаходження настóпних n та {x}n , n  2, ... проводиться "зсóв спеê-
тра" (див. формóли (6.27) ... (6.30), (6.33) ... (6.35)), причомó ó формóлах
(6.39), (6.40) замість матриці [ A] вже бóде застосовóватися матриця [B] .
Яêщо деяêе з власних значень n має êратність m  1, то для знахо-
дження інших власних веêторів потрібно обирати інший початêовий веêтор
і таêим чином врешті-решт знайти потрібнó êільêість m  1 власних веêто-
рів з êратним власним значенням n .
У методі зворотних ітерацій (Inverse Power Method – Inverse PM) баãа-
тоêратно розв’язóється СЛАР
 ( k )  [ B ]{x}( k 1)  {x}( k ) ; k  1, 2, ... , (6.41)
причомó вибір початêовоãо веêтора та  ( k ) є таêими, яê й для методó ітерацій, а
матриця [ B] один раз зазнає розêлад Холецьêоãо: [ B]  [ L][U ] або [B]  [U ]T [D][U ]
ó випадêó симетричності матриці [ B]  [ A]  [ I ] . Більша попóлярність цьоãо
Частина ІІ. Розділ 6 75

методó (ніж РМ) пов’язана з тим, що швидêість збіжності методó значно під-
вищóється, êоли обрано  , близьêе до знайденоãо власноãо значення  n (при
   n достатньо однієї ітерації). Є й недоліê: власні веêтори, обчислені для
двох дóже близьêих власних значень, не зовсім ортоãональні через похибêи
оêрóãлення та зóпинення ітераційноãо процесó (êритерій збіжності – стабілі-
зація   1/ ||{x}(k1) || ). Зазвичай їх додатêово ортоãоналізóють відносно раніше
знайдених власних веêторів. Яêщо в ітераціях ó вірномó напрямêó змінювати
величинó "зсóвó спеêтра", то швидêість збіжності можна значно підвищити.
Примітêа 6.4. Кільêість від’ємних значень êомпонент діаãональної
матриці [ D] розêладó [ B ]  [U ]T [ D][U ] , де симетрична матриця [ B]  [ A]  [ I ] ,
вêазóє на êільêість власних значень матриці [ A] , яêі менше власноãо значення
 n   . Це може застосовóватися для перевірêи: всі або ні власні значення
бóли знайдені ó обраномó діапазоні, а таêож для приблизноãо визначення
власних значень (знаходяться діапазони з одним власним значенням).

6.4.3. Методи вичерпування


Методами вичерпóвання традиційно називають всі методи, яêі для зна-
ходження настóпних власних значень і веêторів виêлючають з розãлядó вже
непотрібні для цьоãо частини системи, тим самим присêорюючи процес.
У варіанті вичерпóвання відніманням для знаходження настóпних влас-
них значень і веêторів "зсóв спеêтра" проводиться дещо іншим способом,
ніж ó формóлах (6.27), (6.28), (6.33), (6.34). Вводиться нова матриця (при-
йнято, що [ A]1  [ A] ):
[ A]n1  [ A]n  n  {x}n  ({~ x }n )T ; n  1, 2, ..., N  1 , (6.42)
де веêтор {~x}n отримóють з власноãо веêтора {x}n шляхом нормóвання йоãо та-
êим чином, щоб ({x}n , {~x }n )  1 . Доведено, що нова матриця має ті ж самі власні
веêтори, що й вихідна матриця [ A] , а всі раніше отримані власні значення
1 ,..., n дорівнюють нóлю, тобто перше власне значення матриці [ A]n1 є n1 ма-
триці [ A] . Йоãо визначають бóдь-яêим методом. При цьомó для знаходження
послідовності веêторів можна виêористовóвати таêó властивість матриць [ A]n1 :
([ A]n1 ) k {}( 0 )  ([ A]n ) k {}( 0 )  n  {x}n  ({~
x }n )T {}( 0 ) , (6.43)
яêа дозволяє óниêнóти ітерацій з безпосереднім застосóванням нових матриць.
Є ще методи вичерпóвання шляхом звóження та подібних перетворень.
В останньомó методі êожна нова матриця має на одиницю менший
розмір. Яêщо взяти довільнó ортоãональнó матрицю [ P] , першим стовпцем
яêої є власний веêтор {x}1 , то, осêільêи [ P]T  [ P]1 та [ P]T {x}1  {e}1  {1,0,...,0}T :
  [0]
[ P ]T [ A][ P ]   1  , (6.44)
[0] [ A]
тобто óтворилася нова матриця [ A ] на одиницю меншоãо розмірó, причомó
~
2   ( A) .
76 Частина ІІ. Розділ 6

Контрольні питання до Розділó 6.1


1. Яêі математичні об’єêти називають власними значеннями (хараêте-
ристичними числами) êвадратної матриці?
2. Наведіть заãальнó êласифіêацію методів знаходження власних зна-
ченьêвадратної матриці.
Контрольні питання до Розділó 6.2
1. Яêе хараêтерне заповнення має матриця Фробеніóса?
2. За сêільêи êроêів перетворень ó методі Данилевсьêоãо відбóвається
перехід від матриці [A] до матриці Фробеніóса?
Контрольні питання до Розділó 6.3
1. Яêій проблемі присвячений метод Люстерніêа?
Контрольні питання до Розділó 6.4
1. Яêе є обмеження для застосóвання методу послідовної ортогоналіза-
ції? Яêий сóттєвий недоліê має цей метод?
2. Яку швидкість збігання розв’язку мають степеневі методи?
3. Яê можна визначити, чи всі власні значення бóли знайдені ó
обраномó діапазоні?
4. Яêі методи називають методами вичерпóвання?
5. Для чоãо застосовóють "зсóв спеêтра"?
Частина ІІ. Розділ 7 77

Розділ 7

ІТЕРАЦІЙНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ


СИСТЕМ ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ

У цьомó Розділі бóдóть розãлянóті основні, в більшості випадêів êласи-


чні, методи розв’язóвання лінійних СЛАР, осêільêи ця тема дóже велиêа.
В ітераційних методах розв’язóвання СЛАР (5.1), тобто [ A]{x}  {b} , веê-
тор-розв’язоê {x}( k ) змінюється в ітераціях. Вважається, що алãоритм збіãа-
ється до точноãо веêтора-розв’язêó {x} , яêщо норма похибêи
|| {x}( k )  {x} || 0 при k   , де k – номер ітерації. Ясна річ, що несêінченнó
êільêість ітерацій проводити немає сенсó хоча б томó, що "обрізання" дійс-
них чисел в ЕОМ ніêоли не дозволить одержати точний розв’язоê, яêий, до
тоãо ж, зазвичай невідомий. Томó необхідно призначати розóмнó величинó
похибêи розв’язêó   0 та обмежóвати ітерації однією з óмов:
|| {x}( k 1)  {x}( k ) ||   || {x}( k 1) || або || {r}( k 1)  {r}( k ) ||   || {r}( k 1) || (7.1)
(це êласичні óмови), а êраще таêою, що відображає óмовó зниження похибêи
наближення на вêазанó êільêість порядêів p , тобто при призначенні   10  p :
|| {r}( k 1) ||   || {r}(1) || або ({x}( k 1) , {r}( k 1) )   2  ({x}(1) , {r}(1) ) , (7.2)
де {r} – веêтор похибоê наближення рівняння (5.1):
(k )

{r}( k )  {b}  [ A]{x}( k ) . (7.3)


Для ãарантованоãо припинення ітерацій застосовóють, зоêрема, постó-
пове зниження необхідної точності при перевищенні êільêості ітерацій де-
яêоãо визначеноãо значення, наприêлад, êільêості невідомих ó СЛАР.

7.1. Ітераційні методи розв’язування СЛАР, які використовують


спектральні характеристики матриці
Зазвичай ітераційні схеми розв’язóвання СЛАР бóдóють двошаровими.
Але застосовóють й тришарові схеми, яêі можóть розãлядатися яê засіб при-
сêорення двошарових схем (див. Розділ 7.4).
7.1.1. Еквівалентні форми двошарових ітераційних схем
Бóдь-яêа лінійна двошарова ітераційна схема для розв’язóвання СЛАР
(5.1) може бóти представлена яê
[Q ]( k ) {x}( k 1)  [ R]( k ) {x}( k )  { f } ; k  0,1, ... , (7.4)
де матриці [Q] і [R] можóть змінюватися в ітераціях. Матриця [Q] назива-
ється матрицею розщеплення, повинна мати оберненó матрицю [Q]1 .
Точний веêтор-розв’язоê {x} задовольняє рівнянню (7.4), тобто необ-
хідно, щоб ([Q]( k )  [ R]( k ) ){x}  { f } для всіх k  0,1, ... . Із (5.1) {x}  [ A]1{b} , томó
78 Частина ІІ. Розділ 7

([Q]( k )  [ R]( k ) )[ A]1{b}  { f } . Отже, існóє матриця ([Q]( k )  [ R]( k ) ) 1 таêа, що


{b}  [ A]([Q]( k )  [ R]( k ) ) 1{ f } . Завжди можна прийняти, що
([Q]( k )  [ R]( k ) ) /  ( k 1)  [ A] , тоді { f }   ( k 1) {b} ; k  0,1, ... . (7.5)
Остаточно двошарова ітераційна схема (7.4) записóється в таê званій
êанонічній формі:
{x}( k 1)  {x}( k )
[Q ] (k )
 [ A]{x}( k )  {b} ; k  0,1, ... . (7.6)
 ( k 1)

У êнизі [26] ця схема називається еêстрапольованою, представляється яê


{x}( k 1)   ( k 1)  ([G ]( k ) {x}( k )  { }( k ) )  (1   ( k 1) ){x}( k ) ; k  0,1, ... , (7.7)
де введені позначення
[G ]( k )  [ I ]  ([Q]( k ) ) 1[ A] ; { }( k )  ([Q]( k ) ) 1{b} . (7.8)
Яêщо застосóвати (7.3) та ввести веêтор поправêи
{w}( k )  ([Q ]( k ) ) 1{r}( k )  ([Q]( k ) ) 1 ({b}  [ A]{x}( k ) ) , (7.9)
то (7.6) отримає виãляд реêóрентної схеми:
{x}( k 1)  {x}( k )   ( k 1) {w}( k ) ; k  0,1, ... . (7.10)
Вираз (7.6) ще можна переписати таêим чином:
{x}( k 1)  [G ]( k 1) {x}( k )  { }( k 1) ; k  0,1, ... , (7.11)
де введені позначення
[G ]( k 1)  [ I ]   ( k 1) ([Q]( k ) ) 1[ A] ; { }( k 1)   ( k 1) ([Q]( k ) ) 1{b} . (7.12)
Матрицю [G ] називають матрицею переходó.
Отже, є деêільêа еêвівалентних форм (формóли (7.6), (7.7), (7.10) і
(7.11)) представлення двошарової ітераційної схеми для розв’язóвання
СЛАР (5.1).
Яêщо матриці та параметр  – незмінні, то схеми називають стаціонарними.

7.1.2. Умови збіжності двошарових ітераційних схем


7.1.2.1. Умови збіжності схеми загального вигляду
Для веêтора-похибêи розв’язêó {x}( k )  {x}( k )  {x} з рівняння (7.6) з óра-
хóванням (5.1) можна леãêо отримати однорідне рівняння
{x}( k 1)  {x}( k )
[Q ]( k )  [ A]{x}( k )  {0} ; k  0,1, ... , (7.13)
 ( k 1)

яêе потім перетворити до виразó


{x}( k 1)  [G ]( k 1) {x}( k ) ; k  0,1, ... .
(7.14)
З (7.14) óтворюється необхідна та достатня óмова збіжності ітераційної
схеми (7.6): осêільêи модóль веêтора-похибêи не повинен зростати, то
q ( k 1) || [G ]( k 1) |||| [ I ]   ( k 1) ([Q]( k ) ) 1[ A] || 1 . (7.15)
( k 1)
Чим менші значення q , тим швидше бóде збіãатися алãоритм.
Для стаціонарноãо варіанта схеми
{x}( k 1)  {x}( k )
[Q ]  [ A]{x}( k )  {b} або {x}( k 1)  [G ]{x}( k )  { } ; k  0,1, ... (7.16)

Частина ІІ. Розділ 7 79

доведено теоремó, що вона збіãається до точноãо розв’язêó при бóдь-яêомó


початêовомó {x}( 0 ) тоді і тільêи тоді (необхідна та достатня óмови), êоли всі
власні значення матриці переходó [G ]  [ I ]    [Q]1[ A] за модóлем менше одиниці.
Але êористóватися цією óмовою незрóчно, осêільêи знаходження всьоãо спе-
êтрó матриці – не менш трóдомістêа задача, ніж розв’язóвання СЛАР (5.1).
7.1.2.2. Умови збіжності схеми із симетричною та позитивно ви-
значеною матрицею СЛАР
Для випадêó, êоли в стаціонарній схемі (7.16) матриця [ A] є симетрич-
ною і позитивно визначеною, доведена теорема: алãоритм збіãається при
бóдь-яêомó початêовомó {x}( 0 ) , яêщо

|| [Q ]  0.5  [ A] || 0 , або [Q]{x}( k ) ,{x}( k )   [ A]{x}
(k )
,{x}( k )  . (7.17)
2
При [Q]  [ I ] перша форма óмови (7.17) вироджóється в óмовó   2 /  ( A) .
Для аналоãічноãо випадêó доведено й іншó теоремó: яêщо
[Q ]T  [Q ]  (1  q 2 )
 [ A]  [Q]T [ A]1[Q ] , (7.18)
2 2 2
де число q  [0,1] не залежить від номера ітерації, то стаціонарна схема (7.16)
збіãається, а для веêтора-похибêи розв’язêó є вірною оцінêа
|| {x}( k ) || q k || {x}( 0 ) || . (7.19)
7.1.2.3. Умови збіжності схеми із симетричною та позитивно ви-
значеною матрицею СЛАР і симетричною матрицею розщеплення
Доведено, що ó випадêó симетричності обох матриць [Q] і [ A] , таêих, що
 1[Q]  [ A]   2 [Q] , (7.20)
де дійсні числа  2   1  0 , і при виборі параметра  яê
  2 /( 1   2 ) , (7.21)
стаціонарна ітераційна схема (7.16) збіãається, а для веêтора-похибêи {x}
виêонóється оцінêа (7.19), де
q  (1   ) /(1   ) ;    1 /  2 . (7.22)
Яê наслідоê цієї теореми
 1   (Q 1 A) ;  2   (Q 1 A) , (7.23)
тобто зãідно з (7.21) для стаціонарної схеми (7.16) при óмові симетричності
матриць [Q] і [ A] оптимальним значенням параметра  є
2 2
~   . (7.24)
 (Q A)   (Q A) 2   (G )   (G )
1 1

Тóт  () та  () – відповідно мінімальне та маêсимальне власні числа


вêазаних ó дóжêах матриць (про методи їх визначення див. Розділ 6.3).
Яêщо для дрóãоãо виразó (7.16) вдається знайти таêó матрицю [W ] , що
матриця [W ]  ([ I ]  [G ])  [W ]1 є симетричною та позитивно визначеною ( [W ]
– бóдь-яêа не вироджена матриця симетрізації, наприêлад [W ]T [W ]  [Q] ), то
80 Частина ІІ. Розділ 7

таêа схема називається таêою, що симетрізóється. Тоді всі власні значення


матриці [G ] є дійсними та  (G )  1 , хоча, можливо, що є від’ємні власні зна-
чення, яêі за модóлем перевищóють одиницю.

7.1.3. Загальні міркування щодо вибору матриці розщеплення


Осêільêи матрицю розщеплення [Q] необхідно швидêо обертати, її за-
звичай обирають діаãональною (êільêість дій при обертанні O(N ) ), триêóт-
ною ( O( N 2 ) при повномó її заповненні) або блочною з триêóтними блоêа-
ми. Схема називається явною, êоли [Q]  [ I ] , інаêше – неявною.
Досить часто матрицю розщеплення [Q] збирають з частин матриці [ A] .
Зоêрема, êоли матрицю [ A] представляють ó виãляді сóêóпності її діаãона-
льної [ AD ] , верхньої [ AU ] та нижньої [ AL ] частин, тобто яê
[ A]  [ AL ]  [ AD ]  [ AU ] , (7.25)
причомó не тільêи з оêремих êомпонент, а й з блоêів матриці (таêих, яêі
можна швидêо обернóти).
Коли матриця [Q]  [ AD ] містить діаãональні блоêи з матриці [ A] , то ме-
тод називається блочним, а êоли тільêи діаãональні êомпоненти, то – точêо-
вим методом.
7.1.4. Загальна оцінка кількості ітерацій
Оціночна формóла (7.19) дозволяє приблизно розрахóвати êільêість іте-
рацій, необхідних для зниження норми веêтора похибоê наближення {x}( k )
на p порядêів, відносно норми початêовоãо веêтора похибоê наближення
{x}( 0 ) . Позначимо   10  p . Тоді з óмови || {x}( k ) ||   || {x}( 0 ) || та з виразó (7.19)
випливає, що q k   . Осêільêи q  1 та   1 , то спочатêó óмовó q k   запи-
сóють яê (1 / q) k  (1 /  ) , звідêіля оцінêа необхідної êільêості ітерацій
k  ln(1 /  ) / ln(1 / q ) . (7.26)
Яêщо обрано [Q]  [ I ] (явна схема), то  (Q 1 A)   ( A) і  (Q 1 A)   ( A) .
При цьомó  1   ( A) ,  2   ( A) і дрóãе відношення з (7.22)
   ( A) /  ( A)  1 /  [ A] , де  [ A] – число обóмовленості матриці [A] (див. Розділ
5.2). Коли матриця [ A] поãано обóмовлена, то значення  [ A] дóже велиêе, а
 – мало. При цьомó, відповідно до (7.22) і (7.26)
k  ln(1 /  ) / ln(1 / q)  ln(1 /  ) / 2   [ A]  ln(1 /  ) / 2  O(1 /  ) , схема збіãається дóже
повільно. Томó зазвичай намаãаються обрати таêó матрицю розщеплення
[Q]  [ I ] , щоб число q бóло яê можна менше одиниці.
Розãлянемо деêільêа оêремих випадêів, відомих яê êласичні схеми.
7.1.5. Метод Якобі (J)
Матриця [Q]  [ AD ] , тобто діаãональна стаціонарна. Параметр   1 , то-
мó з першоãо рівняння (7.16):
Частина ІІ. Розділ 7 81

[Q]({x}( k 1)  {x}( k ) )  [ A]{x}( k )  {b} ; k  0,1, ... . (7.27)


Осêільêи в методі Яêобі припóсêається, що обов’язêово всі amm  0 , то
після введення матриці [ ] та веêтора { } з êомпонентами
 amn / amm ; m  n ;
 mn    m  bm / amm (7.28)
0; m  n;
метод Яêобі можна представити ó виãляді
N
( xm ) ( k 1)
   mn  ( xm ) ( k )   m або {x}( k 1)  [ ]{x}( k )  { } ; k  0,1, ... . (7.29)
m 1

У випадêó симетричної позитивно визначеної матриці [ A] , додатêово до


необхідної та достатньої óмови, ще доведені теореми про достатні óмови
збіжності методó Яêобі: він збіãається при бóдь-яêомó початêовомó веêторі
{x}( 0 ) , яêщо (див. Розділ 4.2):
|| [ ] ||m  max  |  ij |  1 або || [ ] ||l  max  |  ij |  1 (7.30)
i j
j i

та, яê наслідоê, яêщо матриця [ A] має таê званó діаãональнó переваãó:


N
amm  | a
n 1; n  m
mn |. (7.31)

Примітêа 7.1. Яêщо óмова (7.31) не виêонóється при томó, що інші


óмови – виêонóються, то вихіднó СЛАР, шляхом перестановêи невідомих
та лінійноãо êомбінóвання її рядêів, завжди можна привести до виãлядó,
êоли óмова (7.31) бóде виêонóватися.
Існóє й стаціонарна еêстрапольована схема методó Яêобі (J-E). Формó-
ла (7.7) приймає виãляд
{x}( k 1)    ([ ]{x}( k )  { })  (1   ){x}( k ) ; k  0,1, ... , (7.32)
для яêої оптимальне значення   ~ (метод J-OE) дається формóлою (7.24).

7.1.6. Метод простих ітерацій, метод Річардсона (RF)


Матриця [Q]  [ I ] . Яêщо параметр   1 , то [G ]  [ I ]  [ A] та з (7.16)
{x}( k 1)  ([ I ]  [ A]){x}( k )  {b} ; k  0,1, ... . (7.33)
Це êрайній випадоê: явна схема. Застосовóють замість методó Яêобі,
êоли є хоча б одна êомпонента amm  0 . Умови збіжності:
 з (7.15) q || ([ I ]  [ A]) || 1 – для заãальноãо випадêó матриць [ A] і [Q] ;
 з (7.17) || [ I ]  0.5  [ A] || 0 – для випадêó симетричної матриці [ A] . З неї
випливає більш зрóчна óмова:  ( A)  2 .
Існóє й стаціонарна еêстрапольована схема методó Річардсона (RF-E,
1910 ріê). Формóла (7.7) приймає виãляд
{x}( k 1)  ([ I ]    [ A]){x}( k )   {b} , (7.34)
для яêої óмови збіжності:
 з (7.15) q || ([ I ]    [ A]) || 1 – для заãальноãо випадêó матриць [ A] і [Q] ;
82 Частина ІІ. Розділ 7

 з (7.17) || [ I ]  0.5  [ A] || 0 – для випадêó симетричної матриці [ A] . З неї


випливає більш зрóчна óмова:   2 /  ( A) , а оптимальне значення   ~ (метод
RF-OE) визначається формóлою (7.24): ~  2 /(  ( A)   ( A))  2 /( 2   (G )   (G )) .
У Розділі 7.1.4. бóло поêазано, що явні схеми мають малó швидêість
збіжності при велиêих числах обóмовленості матриці [ A] , тобто й навіть ме-
тод Річардсона з оптимальним значенням   ~ . Він має лише однó переваãó
над методом Яêобі: більш óніверсальний.

7.1.7. Метод верхньої релаксації (SOR)


Симетричнó позитивно визначенó матрицю [ A] представимо ó виãляді
(7.25), де завдяêи симетричності матриці СЛАР [ AU ]  [ AL ]T . Тоді заãальна
формóла стаціонарноãо ітераційноãо процесó (7.16) для методó верхньої ре-
лаêсації представляється ó виãляді:
{x}( k 1)  {x}( k )
([ AD ]    [ AL ])  [ A]{x}( k )  {b} ;
k  0,1, ... , (7.35)

тобто матриця розщеплення [Q]  ([ AD ]   [ AL ]) – несиметрична триêóтна.
Дійсне число  називають параметром релаêсації. Йоãо оптимальне зна-
чення реêомендóють обчислювати за формóлою

  2 / 1  1  ( (G )) 2 , 
(7.36)
де матриця [G ]  [ I ]  [ AD ] [ A] є матрицею переходó Яêобі.
1

В індеêсній формі метод SOR виãлядає значно простіше:


 m1 a N
a b 
( xm ) ( k 1)       mn  ( xn ) ( k 1)   mn  ( xn ) ( k )  m   (1   )( xm ) ( k ) , (7.37)
 n1 amm n  m 1 amm amm 
де m  1, 2, ..., N ; k  0,1, ... .
Яê наслідоê óмови збіжності (7.17), метод верхньої релаêсації збіãаєть-
ся при бóдь-яêомó початêовомó {x}( 0 ) при 0    2 (при 0    1 йоãо зазви-
чай називають методом нижньої релаêсації).

7.1.8. Метод Гаусса-Зейделя


Коли матриця [ A] є симетричною позитивно визначеною, цей метод
можна розãлядати яê оêремий випадоê методó верхньої релаêсації при   1 :
([ AD ]  [ AL ])({x}( k 1)  {x}( k ) )  [ A]{x}( k )  {b} ; k  0,1, ... , або (7.38-а)
([ AD ]  [ AL ]){x} ( k 1)
 [ AU ]{x}  {b} ; k  0,1, ... .
(k )
(7.38-б)
У цьомó випадêó метод Гаóсса-Зейделя збіãається завжди.
Цей метод можна застосовóвати й тоді, êоли матриця СЛАР несимет-
рична (формóли (7.38) зберіãаються). Осêільêи [Q]  [ AD ]  [ AL ] , то матриця
~
переходó [G ]  [ I ]  ([ AD ]  [ AL ]) 1[ A] . Умови збіжності для заãальноãо випадêó
матриць [ A] і [Q] приведені в Розділі 7.1.2.1 для формóли (7.16). У заãально-
мó випадêó метод не є симетрізóємим. Більш êонêретно: метод не можна
Частина ІІ. Розділ 7 83
~
застосовóвати, яêщо матриця переходó [G ] має êомплеêсні власні значення,
або яêщо її власні веêтори не створюють повноãо базисó (див. Розділ 6.1).
В індеêсній формі метод Гаóсса-Зейделя записóється яê
m 1 N
amn a b
( xm ) ( k 1)    ( xn ) ( k 1)   mn  ( xn ) ( k )  m ; m  1, 2, ..., N ; k  0,1, ... . (7.39)
n 1 amm n  m 1 amm amm
Отже, тільêи що одержане нове значення ( xn ) ( k 1) в тій же ітерації засто-
совóється для знаходження ( xm ) ( k 1) . Томó цей метод часто вважають моди-
фіêацією методó простих ітерацій, з метою йоãо значноãо присêорення.
Існóє й стаціонарна еêстрапольована схема методó Гаóсса-Зейделя. Фо-
рмóла (7.38-а) приймає виãляд
{x}( k 1)  {x}( k )
([ AD ]  [ AL ])  [ A]{x}( k )  {b} ; k  0,1, ... , (7.40)

для яêої óмови збіжності:
 q || ([ I ]    ([ AD ]  [ AL ]) 1[ A]) || 1 з (7.15) – для заãальноãо випадêó ма-
триці [ A] ;
 з (7.17) || [ I ]  0.5  [ A] || 0 – для випадêó симетричної матриці [A] .
Метод більш швидêий, ніж метод Річардсона (простих ітерацій), і достат-
ньо простий ó реалізації. Недоліêи таêі ж, що й ó методі простих ітерацій.

7.1.9. Метод симетричної верхньої релаксації (SSOR)


Метод симетричної верхньої релаêсації має виãляд
 1  1  1 
 [ AD ]  [ AL ] [ AD ]  [ AD ]  [ AU ]({x}  {x}( k ) )  [ A]{x}( k )  {b} ,
( k 1)
(7.41)
2     
T
1  1 
де k  0,1, ... . Осêільêи  [ AD ]  [ AL ]   [ AD ]  [ AU ] , то схема (7.41) має си-
   
метричнó матрицю розщеплення: вона є êонãрóентною до симетричної ма-
триці [ AD ]1 . Тобто метод є симетризóємим. Яê слідство óмови збіжності
(7.17), метод верхньої релаêсації при симетричній матриці [ A] збіãається
при бóдь-яêомó початêовомó {x}( 0 ) , при 0    2 . Оптимальне значення 
реêомендóють обчислювати за формóлою

  2 / 1  2(1   (G )) , (7.42) 
де матриця [G ]  [ I ]  [ AD ]1[ A] – матриця переходó Яêобі.
Схемó часто записóють ó виãляді сóêóпності двох релаêсаційних схем,
яêі виêонóються послідовно в êожній ітерації (в індеêсній формі):
 m1 a N
a b 
( xm ) ( k 1 / 2 )       mn  ( xn ) ( k 1 / 2 )   mn  ( xn ) ( k )  m   (1   )( xm ) ( k ) , (7.43)
 n1 amm n  m 1 a mm amm 
де m  1, 2, ..., N ; k  0,1, ... ;
 m1 a N
a b 
( xm ) ( k 1)       mn  ( xn ) ( k 1 / 2 )   mn  ( xn ) ( k 1)  m   (1   )( xm ) ( k 1/ 2 ) , (7.44)
 n1 amm n  m 1 a mm amm 
84 Частина ІІ. Розділ 7

де m  N , N  1, ...,1 ; k  0,1, ... . В них тільêи що одержані нові значення ( xn ) ( k 1 / 2 ) і


( xn ) ( k 1) в тій же ітерації застосовóються для знаходження ( xm ) ( k 1 / 2) і ( xm ) ( k 1) .
Осêільêи метод SSOR має приблизно ó два рази більшó êільêість дій,
ніж SOR, він не є більш ефеêтивним. Але, осêільêи метод є симетризóємим,
то можна застосóвати еêстрапольованó схемó:
 1  1  1  {x}
( k 1)
 {x}( k )
 [ AD ]  [ AL ] [ AD ]  [ AD ]  [ AU ]  [ A]{x}( k )  {b} , (7.45)
2      
де k  0,1, ... . Яêщо параметр  можливо знайти з óмови, що матриця перехо-
дó цієї схеми за модóлем менша, ніж 0.25, то швидêість збіжності еêстрапо-
льованої схеми SSOR (за êільêістю ітерацій) стає приблизно ó два рази бі-
льша, ніж ó методі верхньої релаêсації SOR. Тоді еêстрапольованó схемó
SSOR (7.45) відносять до ефеêтивних схем розв’язóвання СЛАР.

7.1.10. Про блочну реалізацію методів розв’язування СЛАР


Бóдь-яêó СЛАР (5.1) можна представити в блочномó виãляді:
 A11
... A1r   X 1   B1 
A12
A    
... A2 r   X 2   B2 
 21 A22
 , (7.46)
         
    
Ar 2 ... Arr   X r   Br 
 Ar1
де Amn – êвадратні підматриці розміром N j  N j , причомó N1  N 2  ...  N r  N .
Яêщо матриця [A] – симетрична та позитивно визначена, то діаãональні
підматриці Amm теж симетричні та позитивно визначені. Яêщо m -й рядоê
СЛАР (7.46) помножити на веêтор невідомих, то можна записати вираз
r
Am1 X 1  Am 2 X 1  ...  Amr X r   Amn X n  Bm , (7.47)
n 1

яêий ó свою черãó можна переписати відносно m -ãо діаãональноãо блоêó


Amm X m  Fm , (7.48)
де êомпоненти блочноãо підвеêтора
r
Fm   A
n 1; n  m
mn X n  Bm . (7.49)

Досить часто блоêи Amm мають таêó стрóêтóрó заповнення, яêа дозволяє
швидêо або дóже швидêо отримати розв’язоê підсистеми (7.48) відносно X m
(зазвичай при відомомó Fm ) із застосóванням прямоãо або ітераційноãо ме-
тодó. Тоді доцільно замість точêових варіантів методів розв’язóвання СЛАР
(5.1) застосовóвати їхні блочні варіанти. Зоêрема, метод сêінченних різниць
ãенерóє матриці з розрідженою стрóêтóрою та діаãональним хараêтером за-
повнення підматриць. Тоді розв’язоê підсистем типа (7.48) можна отримó-
вати із застосóванням методів проãонêи (відносяться до прямих методів).
Майже всі схеми розв’язóвання СЛАР можна представити ó блочномó ви-
ãляді (при [Q]  [ I ] (метод простих ітерацій, метод Річардсона) – не вдається).
Частина ІІ. Розділ 7 85

Наприêлад, ітераційний метод Яêобі (7.29) – яê


r
Amm ( X m ) ( k 1)   A
n 1; n  m
mn  ( X n ) ( k )  Bm ; (7.50)

метод SOR (7.35) – ó виãляді


 m1 r

Amm ( X m ) ( k 1)       Amn  ( X n ) ( k 1)   Amn  ( X n ) ( k )  Bm   (1   ) Amm ( X m ) ( k ) , (7.51)
 n1 n  m 1 
а метод Гаóсса-Зейделя – яê
m 1 r
Amm ( X m ) ( k 1)   Amn  ( X n ) ( k 1)  A mn  ( X n ) ( k )  Bm . (7.52)
n 1 n  m 1

Тóт m  1, 2, ..., r – номери блоêів-рядêів, а k  0,1, ... – номер ітерації.

7.2. Ітераційні методи розв’язування систем лінійних алгебраїч-


них рівнянь, які використовують варіаційні принципи
Значним недоліêом ітераційних методів розв’язóвання СЛАР, розãля-
нóтих ó Розділі 7.1, є виêористання спеêтральних хараêтеристиê матриці
СЛАР: це потребóє баãато або дóже баãато додатêових дій. Методи, яêі ви-
êористовóють варіаційні принципи, не мають цьоãо недоліêó.
Зазвичай виêористовóють êанонічнó формó двошарової ітераційної
схеми (7.6) з незмінними матрицями:
{x}( k 1)  {x}( k )
[Q ]  [ A]{x}( k )  {b} ; k  0,1, ... ,
(7.53)
 ( k 1)

для яêої параметр  ( k 1) знаходять з óмов мінімóмó норми веêтора-похибêи на-
ближення || {x}( k 1) ||D || {x}( k 1)  {x} ||D , де {x} – точний веêтор-розв’язоê, а де-
яêа матриця [D] є симетричною позитивно визначеною; норма || v ||D  ( Dv, v) .
У залежності від виборó матриць [Q] та [ D] можна отримати різні методи.

7.2.1. Метод мінімальних похибок наближення


Вважається, що матриця СЛАР [A] – симетрична та позитивно визна-
чена, а матриця розщеплення [Q]  [ I ] , тобто одинична. Тоді, яêщо застосó-
вати веêтор похибоê наближення (7.3), то формóлó (7.53) можна записати ó
виãляді реêóрентної схеми (див. таêож реêóрентнó схемó (7.10)):
{x}( k 1)  {x}( k )   ( k 1) {r}( k ) ; k  0,1, ... . (7.54)
Очевидно, що веêтори {x}( k ) та {r}( k ) пов’язані рівнянням
[ A]{x}( k )  {r}( k ) . (7.55)
Підставимо {r} з (7.55) ó правó частинó (7.54), віднімемо від правої і
(k )

лівої частини резóльтатó веêтор {x} і отримаємо, що


{x}( k 1)  {x}( k )   ( k 1) [ A]{x}( k ) ; k  0,1, ... . (7.56)
Помножимо (7.54) зліва на матрицю [ A] , потім віднімемо від лівої та
правої частини веêтор {b} і отримаємо, що
{r}( k 1)  {r}( k )   ( k 1) [ A]{r}( k ) ; k  0,1, ... . (7.57)
86 Частина ІІ. Розділ 7

Отже, веêтори {x}( k 1) та {r}( k 1) задовольняють однаêовомó рівнянню,


томó їх можна виêористовóвати яê еêвівалентні поêазниêи точності розв’язêó.
У методі мінімальних похибоê наближення параметр  ( k 1) знаходять з
óмов мінімóмó похибêи || {r}( k 1) || при заданій величині похибêи || {r}(k ) || , тоб-
то при [ D]  [ I ] . Для цьоãо зводять (7.57) ó êвадрат, отримóють фóнêціонал
(ó веêторній формі)
       
f  ( r , r ) ( k 1)  ( r , r ) ( k )  2 ( k 1) (r ( k ) , Ar ( k ) )  ( ( k 1) ) 2 ( Ar ( k ) , Ar ( k ) ) ; k  0,1, ... , (7.58)
яêий мінімізóють за óмовою f /  ( k 1)  0 і отримóють вираз для оптималь-
ноãо значення параметра  ( k 1) :
   
 ( k 1)  (r ( k ) , Ar ( k ) ) /( Ar ( k ) , Ar ( k ) ) ; k  0,1, ... . (7.59)
Отже, êоли є {x} , k  0,1, ... (ó яêості початêовоãо {x} може бóти
(k ) (0)

довільний веêтор), то потрібно спочатêó обчислити {r}( k )  {b}  [ A]{x}( k ) ,


потім послідовно застосóвати формóли (7.59) і (7.54).
Швидêість збіжності цьоãо методó таêа ж сама, яê й еêстрапольованоãо
методó Річардсона (див. Розділ 7.1.6).

7.2.2. Метод мінімальних поправок


Вважається, що матриця СЛАР [ A] – симетрична, позитивно визначена,
а матриця розщеплення [Q]  [ I ] . Тоді, яêщо застосóвати веêтор похибоê на-
ближення (7.3) та веêтор-поправêó (7.9), тобто {w}(k)  [Q]1{r}(k)  [Q]1({b}[A]{x}(k) ) ,
то формóлó (7.53) можна записати ó виãляді реêóрентної схеми:
{x}( k 1)  {x}( k )   ( k 1) {w}( k ) ; k  0,1, ... . (7.60)
Віднімемо від лівої та правої частини веêтор {x} , виêористаємо (7.55),
тобто {x}( k )  [ A]1{r}( k ) , помножимо на матрицю [A] , отримóємо яê промі-
жний резóльтат, що {r}( k 1)  {r}( k )   ( k 1) [ A]{w}( k ) . З (7.9) {r}( k )  [Q]{w}( k ) . Позбó-
демося веêторів похибоê наближення, помножимо резóльтат зліва на [Q]1 і
отримаємо, що
{w}( k 1)  {w}( k )   ( k 1) [Q]1[ A]{w}( k ) ; k  0,1, ... . (7.61)
У методі мінімальних поправоê параметр  ( k 1) знаходять з óмов мінімó-
мó поправêи || {w}( k 1) ||Q , при заданій поправці || {w}( k ) ||Q , тобто при [ D]  [Q] . З
(7.61) отримóють фóнêціонал (ó веêторній формі)
       
f  (Qw, w)( k 1)  (Qw, w)( k )  2 ( k 1) (w( k ) , QQ1 Aw( k ) )  ( ( k 1) )2 (QQ1 Aw( k ) , Q1 Aw( k ) ) , (7.62)
яêий мінімізóють за óмовою f /  ( k 1)  0 і отримóють вираз для оптималь-
ноãо значення параметра  ( k 1) :
   
 ( k 1)  ( w( k ) , Aw( k ) ) /( Aw( k ) , Q 1 Aw( k ) ) ; k  0,1, ... . (7.63)
Отже, êоли є {x} , k  0,1, ... , то потрібно спочатêó обчислити
(k )

{r}  {b}  [ A]{x}( k ) , потім {w}( k )  [Q]1{r}( k ) , а потім послідовно застосóвати


(k )

формóли (7.63) і (7.60). Швидêість збіжності цьоãо методó таêа ж сама, яê й


в еêстрапольованомó методі Яêобі (див. Розділ 7.1.5).
Частина ІІ. Розділ 7 87

7.2.3. Метод найшвидшого спуску


Вважається, що матриця СЛАР [ A] – симетрична, позитивно визначе-
на, а матриця розщеплення [Q]  [ I ] , тобто одинична.
У методі найшвидшоãо спóсêó параметр  ( k 1) знаходять з óмов мінімóмó
похибêи || {x}( k 1) || A при заданій величині похибêи || {x}( k ) || A , тобто при
[ D]  [ A] . Для цьоãо з (7.56) отримóють фóнêціонал (ó веêторній формі)
       
f  ( Ax , x ) ( k 1)  ( Ax , x ) ( k )  2 ( k 1) ( Ax ( k ) , Ax ( k ) )  ( ( k 1) ) 2 ( A2 x ( k ) , Ax ( k ) ) , (7.64)
яêий мінімізóють за óмовою f /  ( k 1)  0 і отримóють вираз для оптималь-
ноãо значення параметра  ( k 1) :
   
 ( k 1)  ( Ax ( k ) , Ax ( k ) ) /( A2 x ( k ) , Ax ( k ) ) ; k  0,1, ... . (7.65)
Осêільêи [ A]{x}( k )  {r}( k ) , то вираз (7.65) значно спрощóється:
   
 ( k 1)  (r ( k ) , r ( k ) ) /( Ar ( k ) , r ( k ) ) ; k  0,1, ... . (7.66)
Отже, êоли є {x}( k ) , k  0,1, ... , то потрібно спочатêó обчислити
{r}( k )  {b}  [ A]{x}( k ) , потім послідовно застосóвати формóли (7.66) і (7.54).
Швидêість збіжності цьоãо методó таêа ж, яê й в еêстрапольованомó
методі Річардсона (див. Розділ 7.1.6).
Неявний метод найшвидшоãо спóсêó отримóють аналоãічно, але при
[Q ]  [ I ] та [ D ]  [ A] . Замість (7.56):
{x}( k 1)  {x}( k )   ( k 1) [Q]1[ A]{x}( k ) ; k  0,1, ... . (7.67)
 ( k ) 1  ( k )  ( k ) 1  ( k )
Спочатêó одержóють  ( k 1)
 ( Ax , Q Ax ) /( AQ Ax , Q Ax ) , а по-
1

тім, осêільêи [ A]{x}  {r} , то [Q]1[ A]{x}( k )  [Q]1{r}( k )  {w}( k ) і вираз


(k ) (k )

для  ( k 1) значно спрощóється:


   
 ( k 1)  (r ( k ) , w( k ) ) /( Aw( k ) , w( k ) ) ; k  0,1, ... . (7.68)
Отже, êоли є {x}( k ) , k  0,1, ... , то потрібно спочатêó обчислити {r}( k ) 
 {b}  [ A]{x}( k ) , потім {w}( k )  [Q ]1{r}( k ) , а потім послідовно застосóвати
формóли (7.68) і (7.60).
Швидêість збіжності цьоãо методó таêа ж, яê й в еêстрапольованомó
методі Яêобі (див. Розділ 7.1.5).

7.2.4. Метод спряжених градієнтів


Метод спряжених ãрадієнтів (Method of conjugate gradients, абревіатóра
CG. Автори: Хестенс (M.R. Hestenes) і Штіфель (E.L. Stiefel), 1952 р.) –
велиêе сімейство алãоритмів. Бóдемо вважати, що матриці [Q] та [ A] –
симетричні позитивно визначені (є й варіанти для несиметричної матриці
[ A] ). Метод виêористовóє ваãовó тришаровó схемó, яêа в êаноничній формі
має виãляд (ó êласичномó варіанті [Q]  [ I ] ):
({x}( k 1)  {x}( k ) )  (1   ( k 1) )({x}( k )  {x}( k 1) )
[Q ]  [ A]{x}( k )  {b} ; k  0,1, ... , (7.69)
 
( k 1) ( k 1)

причомó при k  0 (перший êроê) призначається  (1)  1 , тобто схема має виãляд
88 Частина ІІ. Розділ 7

{x}(1)  {x}( 0 )
[Q ]  [ A]{x}( 0 )  {b} . (7.70)
 (1)

Канонічнó формó (7.69) можна представити ó виãляді реêóрентної схеми


{x}( k 1)   ( k 1) [{x}( k )   ( k 1) {w}( k ) ]  (1   ( k 1) ){x}( k 1) ; k  0, 1, ... , (7.71)
де яê і раніше {w}( k )  [Q]1{r}( k ) і {r}( k )  {b}  [ A]{x}( k ) .
Відносно веêтора-похибêи {x}( k 1) формóла бóде мати виãляд:
{x}( k 1)   ( k 1) ([ I ]   ( k 1) [Q]1[ A]){x}( k )  (1   ( k 1) ){x}( k 1) ; k  0,1, ... , (7.72)
де при k  0 (перший êроê) надається значення  (1)  1 , тобто схема має виãляд
{x}(1)  ([ I ]   (1) [Q]1[ A]){x}( 0 ) . (7.73)
Введемо допоміжний веêтор {v}  [ A] {x} , яêий, відповідно до (k ) 1/ 2 (k )

(7.72) і (7.73), бóде задовольняти рівнянням


{v}( k 1)   ( k 1) ([ I ]   ( k 1) [C ]){v}( k )  (1   ( k 1) ){v}( k 1) ; k  1, 2, ... , (7.74)
{v}  ([ I ]   [C ]){v} ,
(1) (1) (0)
(7.75)
де матриця [C ]  [ A] [Q] [ A] – симетрична та позитивно визначена, яê і
1/ 2 1 1/ 2

матриці [Q] та [A] .


Яêщо з рівняння (7.74) послідовно виêлючати веêтори
( k 1)
(1) ( 2)
{v} ,{v} , ...,{v} , можна ó підсóмêó отримати, що
{v}( k )  P([C ]){v}( 0 ) , (7.76)
де P ([C ]) – матричний мноãочлен степені k , причомó P ([0])  [ I ] . Далі
ставиться завдання: обрати параметри  ( k 1) і  ( k 1) таêим чином, щоб отри-
мати мінімальне значення норми || {v}( k ) |||| {x}( k ) || A в êожній ітерації.
Для параметра  (1) , яê й ó методі найшвидшоãо спóсêó, можна отримати
   
 (1)  (Cv ( 0 ) , v ( 0 ) ) /(Cv ( 0 ) , Cv ( 0 ) ) , (7.77)
 (1)  ( 0 )  (1)  ( 0 )
причомó бóде виêонóватися óмова (Cv , v )  0 , тобто (v , v ) C  0 , що вêа-
зóє на ортоãональність веêторів {v}(1) та {v}( 0 ) .
Для k -ої ітерації матричний мноãочлен P ([C ]) записóють ó виãляді
k
P ([C ])  [ I ]   s (j k ) [C ] j , (7.78)
j 1

де s (jk ) – числові êоефіцієнти, залежні від  ( j ) і  ( j ) . Тоді (7.76) отримає виãляд


k
{v}( k )  {v}( 0 )   s (j k ) [C ] j {v}( 0 ) ; k  1, 2, ... . (7.79)
j 1

З (7.79) можна отримати фóнêціонал (ó веêторній формі)


    k
i  (0) j  (0)
k
 
f  (v ( k ) , v ( k ) )  ( v ( 0 ) , v ( 0 ) )  i j
s (k ) (k )
s
i , j 1
(C v , C v )  2  s (jk ) (v ( 0) , C j v ( 0) ) ,
j 1
(7.80)

яêий є мноãочленом дрóãої степені відносно змінних s (jk ) . З óмови


f / s(jk )  0 , j  1, 2, ..., k отримóють системó рівнянь
k
   
 si( k ) (C i v (0) , C j v ( 0) )  (v ( 0) , C j v ( 0) )  0 ; j  1, 2, ..., k
i 1
(7.81)
Частина ІІ. Розділ 7 89

відносно оптимальних значень si(k ) . Їх необхідно пов’язати з параметрами


 ( k 1) і  ( k 1) , яêі теж бóдóть оптимальними (бóдóть мінімізóвати (7.80)).
Системó рівнянь (7.81) можна записати ó виãляді
 
(v ( k ) , C j v ( 0 ) )  0 , k  1, 2, ... ; j  1, 2, ..., k . (7.82)
Доведено лемó, що óмови (7.82) еêвівалентні óмовам
 
(v ( k ) , Cv ( j ) )  0 , k  1, 2, ... ; j  0,1, ..., k  1 . (7.83)
Ці óмови означають, що потрібно знайти ортоãональнó системó
веêторів {v}( k ) , êільêість яêих не бóде перевишóвати N (êільêості рівнянь ó
СЛАР). Тобто, починаючи з деяêої ітерації, веêтори похибêи {v}( k ) бóдóть
(теоретично) нóльовими, розв’язоê СЛАР бóде отримано не більш ніж за N
ітерацій (праêтично це часто не відбóвається, осêільêи ó ЕОМ є "обрізання"
дійсних чисел).
З (7.74) витіêає, що
   
(v ( k 1) , C j v ( j ) )   ( k 1) ( k 1) (Cv ( k ) , C j v ( j ) ) , k  1, 2, ... ; j  0,1, ..., k  2 . (7.84)
 (k )  ( j)
(Cv , Cv )  0 , k  1, 2, ... ; j  0,1, ..., k  2 . (7.85)
Залишаються лише дві óмови:
   
(v ( k 1) , Cv ( k ) )  0 ; k  0, 1, ... ; (v ( k 1) , Cv ( k 1) )  0 ; k  1, 2, ... . (7.86)
Яêщо в них підставити (7.74), то з óрахóванням (7.83) і (7.85)
отримóємо інший виãляд цих óмов:
     
 ( k 1) (Cv ( k ) , v ( k ) )   ( k 1) ( k 1) (Cv ( k ) , Cv ( k ) )  (1   ( k 1) )(Cv ( k ) , v ( k 1) )  0 ; k  0,1, ... . (7.87)
   
  ( k 1) ( k 1) (Cv ( k ) , Cv ( k 1) )  (1   ( k 1) )(Cv ( k 1) , v ( k 1) )  0 ; k  1, 2, ... . (7.88)
У рівнянні (7.87) остання сêладова дорівнює нóлю відповідно до (7.83).
Томó з (7.87) óтворюється вираз для оптимальноãо значення параметра  ( k 1) :
   
 ( k 1)  (Cv ( k ) , v ( k ) ) /(Cv ( k ) , Cv ( k ) ) ; k  0,1, ... . (7.89)
З (7.74) і (7.83) можна одержати, що
   
(Cv ( k ) , Cv ( k 1) )  (Cv ( k ) , v ( k ) ) /  ( k ) ( k ) ; k  1, 2, ... . (7.90)
 ( k )  ( k 1)
Тоді з (7.88), після виêлючення (Cv , Cv ) , оптимальне значення
параметра  ( k 1) :
  1
  ( k 1) (Cv ( k ) , v ( k ) ) 
 ( k 1)
 1  ( k ) ( k )   ( k 1)  ( k 1)  ; k  1, 2, ... ;  (1)  1 . (7.91)
   (Cv , v ) 
Залишається виêлючити з рівнянь (7.89) і (7.91) штóчно введені матри-
цю [C ]  [ A]1/ 2 [Q]1[ A]1/ 2 і допоміжний веêтор {v}( k )  [ A]1/ 2 {x}( k ) . Осêільêи
   
{w}( k )  [Q]1{r}( k ) і {r}( k )  {b}  [ A]{x}( k ) , то (Cv ( k ) , Cv ( k ) )  ( Aw( k ) , w( k ) ) і
   
 ( k 1)  ( w( k ) , r ( k ) ) /( Aw( k ) , w( k ) ) ; k  0,1, ... . (7.92)
  1
  ( k 1) ( w( k ) , r ( k ) ) 
 ( k 1)
 1  ( k ) ( k )   ( k 1)  ( k 1)  ; k  1, 2, ... ;  (1)  1 . (7.93)
   ( Aw , w ) 
Дóже часто метод спряжених ãрадієнтів записóють дещо інаêше:
{x}( k 1)  {x}( k )   ( k 1) { p}( k ) ; k  0, 1,... , (7.94)
де
90 Частина ІІ. Розділ 7

{ p}( k )  {w}( k )   ( k ) { p}( k 1) ; k  0,1,... ; (7.95)


 (k )
 ( k 1)   ( k )  ( k ) ; k  0, 1,... ; (7.96)
( p , Ap )
 ( k )   ( k ) /  ( k 1) ; k  1, 2,... ;  ( 0 )  0 ; (7.97)
 ( k )  ({w}( k ) , {w}( k ) ); k  0,1,... ; (7.98)
{w}( k )  {w}( k 1)  ( k ) [ A]{ p}( k 1) ; k  1,2,.... . (7.99)
Але, яêщо з виразів {x}( k 1)  {x}( k )  ( k ) { p}( k ) та {x}( k )  {x}( k 1)  ( k 1) { p}( k 1)
(див. формóлó (7.94)) за допомоãою формóли (7.95) виêлючити "веêтори
напрямêів" { p}( k ) та { p}( k 1) , то після введення позначень
 ( k 1)  1  ( k 1)  ( k ) / ( k ) ;  ( k 1)  ( k 1) /  ( k 1) (7.100)
отримóємо реêóрентнó схемó (7.71), тобто (7.94) ... (7.99) – лише інша (зрó-
чна) форма представлення цьоãо методó. "Веêтори напрямêів" { p}( k ) та
 
{ p}( k 1) є A -спряженими, тобто ( p ( k ) , Ap ( k 1) )  0 .
Формóла (7.99) для обчислення веêтора {w}( k ) є теоретично точною і її
зрóчно виêористовóвати, осêільêи допоміжний веêтор [ A]{ p}( k 1)  {g}( k 1)
вже обчислювався в попередній ітерації для одержання значення ( k 1) (див.
формóлó (7.96)). Але на праêтиці при таêомó обчисленні {w}( k )
наêоплюються похибêи, томó реêомендóють через деяêó êільêість ітерацій
обчислювати йоãо за "прямою" формóлою: {w}( k )  [Q]1{r}( k )  [Q]1 ({b}  [ A]{x}( k ) ) .
Яêщо ó яêості матриці розщеплення [Q] виêористовóвати одиничнó
матрицю [I ] , то {w}( k )  {r}( k ) .
Для веêтора-похибêи бóде виêонóватися оцінêа
|| {x}( k ) || q ( k ) || {x}( 0 ) || , (7.101)
де позначено
q ( k )  2 1k /(1  12 k ) ; 1  (1   ) /(1   ) ; (7.102)
k – êільêість виêористаних ітерацій;    1 /  2 , а  1 і  2 відповідають (7.20).
Уваãа: ця швидêість збіжності значно перевищóє відповідні поêазниêи
всіх раніше розãлянóтих методів.

7.3. Метод спряжених напрямків


Яêщо побóдóвати системó із J взаємно ортоãональних A -спряжених
веêторів { p}( n ) ; n  0, 1, ..., N  1 , то вони бóдóть лінійно незалежними, êоли
матриця СЛАР є симетричною позитивно визначеною. Томó на них можна
бóдóвати веêтор-розв’язоê
{x}  {x}( 0 )  (1) { p}(1)  ...  ( N 1) { p}( N 1) , (7.103)
де {x}( 0 ) – деяêе призначене початêове наближення. Яêщо вираз (7.103) помно-
жити зліва на матрицю [ A] , а потім обчислювати сêалярні добóтêи з веêторами
{ p}( n ) , то можна отримати вирази для обчислювання êоефіцієнтів ó (7.103):
Частина ІІ. Розділ 7 91
    
( p ( n ) , b  Ax ( 0 ) ) ( p ( n) , r (0) )
( n )      (n)  (n) ; n  0, 1,..., N  1 . (7.104)
( p ( n ) , Ap ( n ) ) ( p , Ap )
Доведено, що можна застосовóвати й інший вираз:
 
( p (n) , r (n) )
 (n)
  ( n )  ( n ) ; n  0, 1,..., N  1 . (7.105)
( p , Ap )
Відповідно до цих формóл ó методі спряжених напрямêів (МСН) веê-
тор-розв’язоê {x} бóдóється êроê за êроêом ( k  0, 1,... – аналоã ітерацій) по-
слідовністю дій:
{r}( k )  {b}  [ A]{x}( k ) ; (7.106)
 
( p(k ) , r (k ) )
 (k )
  (k )  (k ) ; (7.107)
( p , Ap )
{x}( k 1)  {x}( k )  ( k ) { p}( k ) . (7.108)
Яê обирати веêтори { p} ? Єдині вимоãи: веêтори { p}
(k ) (k )
лінійно-
незалежні, ортоãональні та A -спряжені. Томó метод спряжених ãрадієнтів (див.
Розділ 7.2.4) є оêремим випадêом МСН, êоли веêтори { p}( k ) обчислюються яê
A -спряжені поточні веêтори похибоê наближення {r}( k ) . Відомі й інші варіан-
ти. Зоêрема, за допомоãою процедóри Грама-Шмідта (див. Розділ 5.3.8) знахо-
дяться N лінійно-незалежних ортоãональних веêторів { y}( n ) , яêі потім A -
спряãаються. Інший варіант: веêтори { y}( n ) обираються ó виãляді одиничних
веêторів базисó, тобто { y}( 0 )  {1, 0, ..., 0}T ; { y}(1)  {0,1, ..., 0}T , ... . Таêий варіант
МСН бóде аналоãом методó виêлючення Гаóсса (див. Розділ 5.3.3).

7.4. Прискорення ітераційних схем розв’язування СЛАР


Яê виявилося, швидêість збіжності баãатьох ітераційних схем
розв’язóвання СЛАР можна значно присêорювати. Розроблено деêільêа ме-
тодів присêорення, зоêрема поліноміальне присêорення, чебишевсьêе при-
сêорення та присêорення за методом спряжених ãрадієнтів.

7.4.1. Поліноміальне прискорення


З дрóãоãо виразó (7.16) при   1 для стаціонарноãо процесó випливає,
що в ітераціях веêтори-похибêи {x} створюють послідовність веêторів
{x}( k ) , і в k -ій ітерації
{x}( k )  [G ]k {x}( 0 ) ; k  0,1, ... . (7.109)
Для присêорення збіжності ітераційноãо процесó можна застосóвати
іншó послідовність:
 k 
{x}( k )    ci( k )  [G ]( k ) {x}( 0 )  P ( k ) (G ){x}( 0 ) (7.110)
 i 0 
при óмовах:
k

c
i 0
(k )
i  1 ; P ( k ) ( I )  [ I ] ; k  0,1, ... , (7.111)
92 Частина ІІ. Розділ 7

яêа забезпечóє {x}( k )  {x} , êоли бóло обрано {x}( 0 )  {x} (тóт {x} – точний веê-
тор-розв’язоê). Матричний мноãочлен P ( k ) (G ) має виãляд:
P ( k ) (G )  c0( k ) [ I ]  c1( k ) [G ]  c2( k ) [G ]2  ...  ck( k ) [G ]k . (7.112)
Але пряме застосóвання (7.112) потребóє забаãато дій, осêільêи [G ]k є ре-
зóльтатом перемноження матриці [G ] k раз. Виявилося, що матричний мноãо-
член P ( k ) (G ) має безліч еêвівалентних замін, яêі задовольняють óмовам (7.111).
Зоêрема, доведено теоремó, що це може бóти тришарова ітераційна схема:
{x}( k 1)   ( k 1) ( ( k 1) ([G ]{x}( k )  { })  (1   ( k 1) ){x}( k ) )  (1   ( k 1) ){x}( k 1) ; k  0 , (7.113)
де  ( k 1) ,  ( k 1) – бóдь-яêі дійсні числа, а в першій ітерації виêористовóється
формóла
{x}(1)   (1) ([G ]{x}( 0 )  { })  (1   (1) ){x}( 0 ) . (7.114)
Отже, немає потреби в ітераційних схемах з більшою êільêістю шарів,
ніж з трьома шарами.

7.4.2. Чебишевське прискорення


Застосовóють до стаціонарних симетрізóємих ітераційних схем ó виãля-
ді (7.16) при   1 . Для них  (G )  1 .
У тришаровій ітераційній схемі (7.113) поліноміальноãо присêорення фо-
рмально  ( k 1) ,  ( k 1) – бóдь-яêі дійсні числа. Але їх вдалий вибір може призвес-
ти до значноãо додатêовоãо присêорення схеми. Зоêрема, схемою з оптималь-
ним чебишевсьêим присêоренням називається схема (7.113) з параметрами
 ( k 1)  ~  2 /(2   (G )   (G )) ; (7.115)
 ( k 1)
 ~ ( k 1) ~ (n) ~
 2  T ( ) / T ( n 1) ~
( ) , (7.116)
де   (2   (G )   (G )) /( (G )   (G )) , а T ( ) – мноãочлен Чебишева
~ (n) ~

T ( n ) ( )  cos(n  arccos  ) при  1    1 . (7.117)


Замість формóли (7.116) зазвичай застосовóють інше представлення
цьоãо співвідношення: ó виãляді реêóрентної формóли
 (1)  1 ; ~ ( 2 )  1 /(1  0.5~ 2 ) ; ~ ( k 1)  1 /(1  0.25~ 2 ~ ( k ) ) ; k  2, 3, ... , (7.118)
де позначено ~  1 / ~  ( (G )   (G )) /(2   (G )   (G )) .
Але частіше чебишевсьêе присêорення застосовóють до двошарових
ітераційних схем.
Еêстрапольованó схемó методó Річардсона (7.34) з симетричною пози-
тивно визначеною матрицею [ A] запишемо зі змінним параметром  ( k 1) :
{x}( k 1)  {x}( k )
 [ A]{x}( k )  {b} ; k  0,1, ... .
(7.119)
 ( k 1)

Доведено теоремó, що ця схема за вêазанó êільêість ітерацій k  k


знайде веêтор-розв’язоê з найменшою похибêою, яêщо в ітераціях призна-
чати:
 ( k )   0 /(1   0t ( k ) ) ; k  1, 2, ... , k , (7.120)
де параметри
Частина ІІ. Розділ 7 93

 0  2 /( ( A)   ( A));  0  (1   ) /(1   );


 (7.121)
   ( A) /  ( A); t ( k )  cos((2k  1) / 2k ).
Таêа схема називається явною ітераційною схемою з чебишевсьêим
набором параметрів.
Для веêтора-похибêи бóде виêонóватися оцінêа (7.101), тобто швид-
êість збіжності цієї схеми таêа ж, яê і ó методі спряжених ãрадієнтів.
Оціночна формóла (7.101) дозволяє приблизно розрахóвати êільêість
ітерацій, необхідних для зниження норми початêовоãо веêтора похибоê на-
ближення {x}( 0 ) на p порядêів (див. Розділ 7.1.4). Позначимо   10  p . Тоді
з óмови || {x}( k ) ||   || {x}( 0 ) || та з виразó (7.101) випливає, що q (k )   , де q (k )
відповідає першої формóлі (7.102), тобто 2 1k /(1  12 k )   . Яêщо позначити
z  1 / 1k , то z  (1  1   2 ) /  . Ця нерівність бóде виêонана, яêщо призначи-
ти z  2 /  . Отже, оцінêа необхідної êільêості ітерацій
k  ln(2 /  ) / ln(1 / 1 ) . (7.122)
При поãано обóмовленій матриці [ A] відношення    ( A) /  ( A) бóде
 
дóже незначним, ln(1 / 1 )  ln (1   ) /(1   )  2  , тобто ó цьомó випадêó
k  ln(2 /  ) / 2   O (1 /  ) .
(7.123)
У Розділі 7.1.4. бóло поêазано, що звичайна явна ітераційна схема (7.59)
при поãано обóмовленій матриці [ A] потребóє êільêість ітерацій k  O (1 /  ) ,
тобто значно більше, ніж схема (7.119) з чебишевсьêим присêоренням.
Для схеми Яêобі (неявної), яêщо представити її ó виãляді
{x}( k 1)  {x}( k )
[ AD ] k  0,1, ... ,
 [ A]{x}( k )  {b} ; (7.124)
 ( k 1)

праêтично всі формóли та оцінêи (7.101), (7.102), (7.120) ... (7.123) зберіãа-
ються, за виêлюченням тоãо, що  0  2 /((DD1 A)  (DD1 A)) і    ( DD1 A) /  ( DD1 A) .
Осêільêи зазвичай число  є більшим, ніж ó явномó методі, то схема (7.124)
збіãається швидше.
Таêа схема називається неявною ітераційною схемою з чебишевсьêим
набором параметрів.
Коли точні ãраниці спеêтра  () і  () невідомі, то замість них виêорис-
товóють деяêі наближені значення, зоêрема, числа  1 і  2 , що відповідають
óмовам (7.23). Оцінêи швидêості збіжності (7.122) та (7.123) зберіãаються,
хоча оптимальність схеми не ãарантóється. Яê виявилося, швидêість збіж-
ності схеми досить сильно (навіть на десятêи відсотêів) залежить від похиб-
êи визначення  () , а от від  () – незначно (на відсотêи). В êнизі [26] роз-
ãлядаються деяêі спеціальні алãоритми та оцінêи для óточнення чисел  1 і
 2 , з метою збереження висоêої швидêості збіжності ітераційних схем ó
цьомó випадêó.
Примітêа 7.2. Застосóвання схем з чебишевсьêим присêоренням може
привести до аварійноãо завершення роботи алãоритмó в зв’язêó з переповнен-
94 Частина ІІ. Розділ 7

ням (досяãненням машинної несêінченності). Це томó, що чебишевсьêе при-


сêорення не ãарантóє монотонності ó зменшенні похибêи розв’язêó від ітера-
ції до ітерації. Бóло доведено, що чебишевсьêі параметри можна застосовóва-
ти ó бóдь-яêомó порядêó, не порóшóючи оптимальності схеми, після чоãо бóло
розроблено алãоритми таêоãо порядêó обирання чебишевсьêих параметрів,
при яêомó аварійна ситóація не виниêає (див., наприêлад, êниãи [20, 26]).

7.4.3. Прискорення за методом спряжених градієнтів


Метод спряжених ãрадієнтів можна розãлядати й яê один з методів
присêорення двошарових ітераційних схем.
Розãлянемо один з таêих дóже ефеêтивних алãоритмів: алãоритм симе-
тричної релаêсації з присêоренням за методом спряжених ãрадієнтів, ви-
êладений ó êнизі [27]. Він потребóє симетричнó позитивно визначенó мат-
рицю СЛАР.
Спочатêó СЛАР (5.1) нормóють зãідно з алãоритмом Розділó 7.5. Отри-
~ ~
манó нормованó СЛАР [ A]{~x }  {b } (формóла (7.145)) можна представити ó
еêвівалентномó виãляді:
[ A ]{x}  {b } , (7.125)
де позначені матриця та веêтори
[ A ]    {[ I ]  [ L ]T  [ A]{[ I ]  [ L ] ;
~ 1 ~ ~ 1
(7.126)
 ~
{x}  {[ I ]  [ L ] {~
x};  (7.127)
 ~ 1 ~
{b }    {[ I ]  [ L ]T {b } .  (7.128)
а точні верхня та нижня триêóтні матриці
~ ~ ~ ~
[ L ]    [ L ] ; [ L ]T    [ L ]T ; (7.129)
~ ~ ~
де  – параметр релаêсації, а [ L ]  [ L ]T  [ I ]  [ A] .
Нехай {x~}( 0 ) – довільне початêове наближення, а {r }( 0 ) – початêовий
веêтор похибêи наближення, що обраховóється за формóлою
{r }( 0 )    {~ ~

x }( 0 )  {b }  [ L ]{x}( 0 )  [ L ]T {~
~ ~
x }( 0 )  {r }( 0 )  . (7.130)
У даномó випадêó (та в аналоãічних випадêах нижче) немає протиріч: ó
правій частині формóли застосовóються тільêи ті êомпоненти веêтора {r }( 0 ) ,
~
що вже обчислені, осêільêи [ L ]T – точна нижня триêóтна матриця, тобто з
нóлями на діаãоналі.
Ще призначається веêтор {g }( 0 )  {r }( 0 ) і обчислюється
 ( 0 )  ({r }( 0 ) , {r }( 0 ) ) . (7.131)
Потім ó ітераціях (k  0,1, ... ) обчислюються:
~
{ p}  {g }( k )  [ L ]{ p} ; (7.132)
{q}  {g }( k )  (  1)  { p}  [ L ]T { p}  {q} ;
~
(7.133)
 (k )
( k )  ; (7.134)
({q}, {g }( k ) )
Частина ІІ. Розділ 7 95

{~ x }( k )  ( k ) { p} ;
x }( k 1)  {~ (7.135)
{r }( k 1)  {r }( k )  ( k ) {q} ; (7.136)
 ( k 1)  ({r }( k 1) , {r }( k 1) ) ; (7.137)
 ( k 1)
 ( k 1)
/ ; (k )
(7.138)
{g }( k 1)
 {r }   {g } .
(k ) ( k 1) (k )
(7.139)
Значення параметра релаêсації реêомендóють визначати за формóлами:
~
  2 /(1  2  ) , де   ({Z }, {Z }) / N ; {Z }  0.5{I }  [ L ][ I ] , (7.140)
~
а N – êільêість рівнянь ó СЛАР; {I } – одиничний веêтор; [ L ] – точна верх-
ня (або нижня) нормована матриця.
Для цьоãо варіанта алãоритмó доведено óмови збіжності. Кільêість опе-
рацій ó цьомó алãоритмі приблизно таêа ж, яê і в алãоритмі спряжених ãра-
дієнтів, але швидêість йоãо збіжності (êільêість ітерацій) дещо вища.
Умови припинення описаноãо ітераційноãо процесó – дрóãа формóла (7.2).

7.5. Нормування систем лінійних алгебраїчних рівнянь


Зазвичай перед застосóванням ітераційних методів проводять нормó-
вання СЛАР. Часто це доцільно робити і для прямих методів.
Вважається, що "діаãональне" нормóвання підвищóє найменше власне
значення матриці СЛАР, а оцінêа для найбільшоãо при цьомó не змінюється.
Це зменшóє співвідношення маêсимальноãо власноãо значення матриці
СЛАР до мінімальноãо, яêе визначає число обóмовленості матриці СЛАР  [ A]
(див. Розділ 5.2). Томó "діаãональне" нормóвання приводить до більш точних
розв’язêів СЛАР, а таêож зменшóє êільêість ітерацій при застосóванні ітера-
ційних методів розв’язóвання СЛАР (про причини цьоãо див. Розділ 7.1.4).
Вводиться діаãональна матриця [D] з діаãональними êомпонентами
 N N 
d mm  max   | aij | | a mj | , (7.141)
1i  N
 j 1 j 1 
де N – êільêість рівнянь ó СЛАР (5.1); aij – êомпоненти матриці [ A] . Спо-
N
чатêó обчислюються si   | aij | , а потім rm  max  si sm  та d mm  rm .
1i  N
j 1

Позначимо:
{x}  [ D]{~
x} . (7.142)
Підставимо (7.142) до (5.1), помножимо резóльтат зліва на матрицю
D  [D] :
T

[ D]T [ A][ D]{~ x }  [ D]T {b} . (7.143)


Позначимо:
~ ~
[ A]  [ D]T [ A][ D] ; {b }  [ D]T {b} . (7.144)
Отже, отримали новó (нормованó) СЛАР
~ ~
[ A]{~x }  {b } . (7.145)
96 Частина ІІ. Розділ 7
~
У формóлі (7.144) матриця [ A] êонãрóєнтна матриці [ A] . Томó ці
матриці одночасно або симетричні, або несиметричні.
Після розв’язання СЛАР (7.145) необхідно застосóвати формóлó (7.142)
для отримання веêтора {x} , яêий і є веêтором-розв’язêом СЛАР (5.1).
Але при обчисленні сóм в (7.141) можливе досяãнення машинної не-
сêінченності (див Розділ 1.3.1). Для óниêнення цієї ситóації зазвичай за-
мість | aij | додають | aij |  , де  – довільне мале число, яêе доцільно обирати
залежним від êільêості рівнянь ó СЛАР. Наприêлад,   1/ N .
~
Осêільêи в матриці [D] êомпоненти d mm  1 , то êомпоненти матриці [ A]
збільшóють свої абсолютні значення. Це може приводити до випадêів, êоли при
розв’язóванні нової СЛАР (7.145) досяãається машинна несêінченність. Для
óниêнення цієї ситóації матрицю (7.145) зазвичай додатêово нормóють в таêій
спосіб, щоб всі діаãональні елементи матриці СЛАУ дорівнювали одиниці.
~
Вводиться діаãональна матриця [W ]  [ AD ] 1 / 2 , тобто з êомпонентами
Wmm  1 / a~mm . (7.146)
Дії аналоãічні (7.142) … (7.145). Позначимо:
~
{~
x }  [W ]{~
x} . (7.147)
Підставимо (7.147) до (7.145), помножимо резóльтат зліва на матрицю
W   [W ] :
T

[W ]T [ A ][W ]{x}  [W ]T {b} . (7.148)


Позначимо:
~
~ ~ ~
~ ~
[ A]  [W ]T [ A][W ] ; {b }  [W ]T {b } . (7.149)
Отже, отримали нормованó СЛАР
~
~ ~ ~
~
[ A]{~
x }  {b } , (7.150)
причомó всі діаãональні елементи матриці дорівнюють одиниці. Після
розв’язання СЛАР необхідно застосóвати формóлó (7.147) для отримання веê-
~
~
тора {x~} , яêий і є веêтором-розв’язêом СЛАР (7.145). Матриця [ A] êонãрóєнтна
~
матриці [ A] , томó ці матриці одночасно або симетричні, або несиметричні.
Обідва процеси нормóвання СЛАР досить швидêі, осêільêи мають
êільêість операцій, пропорційнó N 2 .
Примітêа 7.3. Для баãатьох варіантів СЛАР застосóвання тільêи дрóãоãо
варіанта нормóвання СЛАР є достатнім для досяãнення мети. Однаê ó випа-
дêó СЛАР з êомпонентами, що дóже відрізняються між собою, застосóвання
першоãо варіанта нормóвання СЛАР може виявитися дóже бажаним.

7.6. Закінчення

7.6.1. Покращення результату розв’язування СЛАР


Є деêільêа способів дещо поêращити вже отриманий ітераційним методом
розв’язоê СЛАР: Люстерніêа, Гавóріна, Абрамова тощо. Зоêрема ó способі Лю-
Частина ІІ. Розділ 7 97

стерніêа застосовóється мінімальне власне значення матриці [ A] , тобто 1 . Яê-


що воно відоме, то резóльтат можна дещо поêращити зãідно з формóлою:

{x}  {x}( k 1)  1 ({x}( k 1)  {x}( k ) ) . (7.151)
1  1

7.6.2. Рекомендації щодо застосування методів розв’язування


СЛАР
Немає єдиних реêомендацій щодо застосóвання тих або інших методів
розв’язóвання СЛАР ó томó або іншомó випадêó. Всі методи мають яê недо-
ліêи, таê і переваãи перед іншими. Вони відмічалися при виêладення мето-
дів в цьомó Розділі та Розділі 5. Але можна сформóлювати й заãальні недолі-
êи та переваãи цих двох ãрóп методів.
Основні переваãи прямих методів:
 яêщо матриця СЛАР повністю не вміщóється в оперативнó пам’ять
ЕОМ, леãêо орãанізóвати блочний варіант роботи з нею;
 яêщо СЛАР має стабільнó матрицю та деêільêа різних правих частин
СЛАР, то можна застосовóвати один з прямих методів, яêий лише один раз
проводить ті перетворення матриці СЛАР, що займають основний час для
отримання розв’язêó СЛАР (наприêлад, за схемою Холецьêоãо).
Основні недоліêи прямих методів:
 для всіх прямих методів хараêтерно, що êомпоненти матриці [ A] все-
редині "профілю", яêі мали нóльові значення, можóть стати ненóльовими,
тобто щільність заповнення матриці ненóльовими êомпонентами підвищó-
ється (див. Примітêó 5.8);
 з ростом êільêості рівнянь ó СЛАР росте похибêа отриманоãо резóль-
татó, навіть при добрій обóмовленості СЛАР.
Основні переваãи ітераційних методів:
 можна зберіãати тільêи ненóльові êомпоненти матриці СЛАР, осêі-
льêи основними операціями ітераційних методів є операції перемноження
матриці та веêтора або двох веêторів;
 самоêореêція розв’язêó, осêільêи похибêи, що виниêають при "обрі-
занні" ірраціональних чисел, не наêопичóються.
Основні недоліêи:
 для нової правої частини {b} СЛАР (5.1) всі або майже всі дії необ-
хідно повторювати зновó, хоча при незначній зміні веêтора правої частини
{b} можна сêористатися раніше отриманим розв’язêом яê добрим набли-
женням для присêорення процесó отримання новоãо розв’язêó;
 яêщо матриця СЛАР повністю не вміщóється в оперативнó пам’ять
ЕОМ, то повільнó операцію зчитóвання блоêів матриці з носія доводиться
виêонóвати в êожній ітерації.
З простоãо порівняння переваã та недоліêів цих двох ãрóп методів ви-
пливає, що вони прямо протилежні. Це полеãшóє завдання обирання мето-
дів ó êонêретних ситóаціях.
98 Частина ІІ. Розділ 7

Контрольні питання до Розділó 7.1


1. Для чоãо бóли отримані чотири еêвівалентні форми двошарових іте-
раційних схем розв’язóвання СЛАР?
2. Яêі є óмови збіжності двошарових ітераційних схем?
3. Яêою є заãальна оцінêа êільêості ітерацій?
4. Яêі явні схеми розроблено для розв’язóвання СЛАР?
5. Яêі неявні схеми розроблено для розв’язóвання СЛАР?
6. Яêий заãальний недоліê є в двошарових ітераційних схемах?
Контрольні питання до Розділó 7.2
1. Яêó заãальнó переваãó мають ітераційні методи розв’язóвання СЛАР,
побóдовані з виêористанням варіаційні принципи, над методами Розділó
7.1?
2. Яêі обмеження щодо властивостей матриці СЛАР мають методи
мінімальних похибоê наближення, мінімальних поправоê та найшвидшоãо
спóсêó?
3. Чомó метод спряжених ãрадієнтів вважається êращім з óсіх ітерацій-
ні методи розв’язóвання СЛАР?
Контрольні питання до Розділó 7.3
1. З яêими методами лоãічно зв’язаний метод спряжених напрямêів?
Контрольні питання до Розділó 7.4
1. Яêі методи присêорення розроблено для отримання розв’язêів
СЛАР?
2. Яêий сóттєвий недоліê має чебишевсьêе присêорення?
Контрольні питання до Розділó 7.5
1. Для чоãо реêомендóють проводити нормóвання СЛАР, та в яêі спо-
соби?
Контрольні питання до Розділó 7.6
1. Чи можна поêращити резóльтати розв’язóвання СЛАР?
2. Що можна пореêомендóвати при виборі методó розв’язóвання
СЛАР?
Частина ІІ. Розділ 8 99

Розділ 8

МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ НЕЛІНІЙНИХ РІВНЯНЬ

8.1. Загальні зауваження


Всі методи розв’язóвання систем нелінійних рівнянь (СНР) – ітераційні.
Зазвичай розрізняють СНР заãальноãо виãлядó та нелінійні САР, при-
чомó останні – яê оêремий випадоê рівнянь заãальноãо виãлядó.
Нижче елементарний випадоê N  1 не розãлядаємо (таêа задача нази-
вається задачею знаходження êоренів (див. Розділ 3), яêа є оêремою вели-
êою задачею). Наводимо тільêи попóлярні (основні) методи та алãоритми.
8.1.1. Зв’язок системи рівнянь з екстремальною задачею
Існóє теорема, зãідно з яêою задача розв’язóвання системи із N рівнянь
відносно N невідомих xn (дійсні числа):
f m ({x})  0 ; m  1, 2, ..., N (8.1)
або
{F ({x})}  { f1 ({x}), f 2 ({x}), ..., f N ({x})}T  {0} , (8.2)
де {x}  ( x1 , x2 , ..., x N ) , еêвівалентна задачі про мінімізацію фóнêціонала
T

N
H ({x})   [ f m ({x})]2 , (8.3)
m 1

в яêомó f m ({x})  0 – похибêи наближення.


Теорема не óточнює хараêтер рівнянь f m ({x}) : лінійні або нелінійні, ал-
ãебраїчні або трансцендентні. Однаê найчастіше ця теорема застосовóється
при вирішенні проблем, пов’язаних з розв’язêом СНР.
8.1.2. Загальні схеми ітераційних методів розв’язування систем
нелінійних рівнянь
Майже всі двошарові ітераційні методи розв’язóвання СНР можна
представити ітераційною схемою в êанонічній формі:
{x}( k 1)  {x}( k )
[Q]( k 1)  {F ({x})}( k )  0 ; k  0,1, ... , (8.4)
 ( k 1)

яêа є більш заãальною формою схеми (7.6). Початêове (вихідне) наближен-


ня {x}( 0 ) призначається. Яêщо [Q] та  не залежать від ітерацій, то схемó на-
зивають стаціонарною.
Яêщо ó (8.4) [Q]( k 1)  [ I ] , то схема називається явною, записóється ó ви-
ãляді:
{x}( k 1)  {x}( k )   ( k 1)  {F ({x})}( k ) ; k  0,1, ... , (8.5)
де  ( k 1) визначає "розмір êроêó", а {F ({x})}( k ) – "напрямоê êроêó".
100 Частина ІІ. Розділ 8

Параметр  ( k 1) можна знаходити яê таêий, що мінімізóє {F ({x})}( k 1) яê


фóнêцію від  ( k 1) . Для цьоãо {F ({x})}( k 1) апроêсимóють інтерполяційним
мноãочленом або розêладають в ряд Тейлора, причомó зазвичай виêористо-
вóють лише деêільêа перших членів розêладó.
Примітêа 8.1. Таêим методом можна знайти мінімóм або маêсимóм
фóнêції F ({x}) , що задана таблицею.
Схемó (8.4) можна записати яê СЛАР зі змінною правою частиною:
[Q]( k 1) {x}( k 1)  {g ({x})}( k ) ; k  0, 1, ... , (8.6)
де веêтор
{g ({x})}( k )  [Q]( k 1) {x}( k )   ( k 1) {F ({x})}( k ) . (8.7)
СЛАР (8.6) для êонêретної правої частини може розв’язóватися пря-
мими або ітераційними методами. В останньомó випадêó таêі ітерації нази-
ваються внóтрішніми, а позначені номером k – зовнішніми.
Ще одна форма записó двошарових ітераційних схем розв’язóвання СНР:
{x}( k 1)  {S ({x})}( k ) ; k  0,1, ... , (8.8)
де веêтор
{S ({x})}( k )  {x}( k )   ( k 1) ([Q]( k 1) ) 1{F ({x})}( k ) . (8.9)
Доведено теоремó, що ітераційна схема (8.8) при k   збіãається ê
точномó веêтор-розв’язêó {x} при бóдь-яêомó початêовомó {x}( 0 ) , яêщо
{S }  {S } / {x}  q  1 . (8.10)
Яêщо при деяêомó {x}* веêтор {S ({x}* )}  {x}* , то таêий веêтор {x}* нази-
вається нерóхомою точêою оператора {S ({x})} . Томó, зãідно з (8.8), задача
знаходження розв’язêó СНР (8.1) еêвівалентна задачі знаходження нерóхо-
мої точêи оператора {S ({x})} .
Оператор {S ({x})} називається стисêóвальним оператором, яêщо існóє
значення êоефіцієнта стисêання q  [0,1] таêе, що для бóдь-яêих двох веêто-
рів {x}* та {x}** виêонóється нерівність
|| {S ({x}* )}  {S ({x}** )} || q || {x}*  {x}** || . (8.11)
Для оцінювання похибêи розв’язêó застосовóється принцип відображень,
що стисêóють: яêщо оператор {S ({x})} є визначеним на множині  з деяêим
діаметром r (тобто для бóдь-яêих веêторів {x}* та {x}** виêонóється óмова
|| {x}*  {x}** || r ) та є таêим, що стисêóє з êоефіцієнтом стисêання q , причомó
|| {S ({x}* )}  {x}* )} || (1  q)  r , (8.12)
то оператор {S ({x})} має однó нерóхомó точêó {x}* і ітераційний метод (8.8)
збіãається до {x}* при бóдь-яêомó початêовомó {x}( 0 ) , яêий визначений в тій
же множині  , з таêими оцінêами норми похибêи:
qk
|| {x}( k )  {x}* || q k || {x}( 0 )  {x}* || та || {x}( k )  {x}* || || {S ({x}( 0 ) )}  {x}( 0 ) || . (8.13)
1 q
Отже, є деêільêа еêвівалентних форм записó ітераційних методів
розв’язóвання СНР: (8.4), (8.6) і (8.8).
Частина ІІ. Розділ 8 101

8.2. Приклади ітераційних методів розв’язування систем нелі-


нійних рівнянь загального вигляду
8.2.1. Нелінійні методи релаксації, Зейделя, Якобі
Для методó релаêсації [Q]( k 1)  [ I ] і  (k 1)   . З (8.5):
{x}( k 1)  {x}( k )   {F ({x})}( k ) ; k  0,1, ... . (8.14)
Осêільêи {S }  {x}    {F ({x})} , то {S}  {S} / {x}  [ I ]    [ F ({x})] , де
матриця
 f1 ({x}) / x1 ; f1 ({x}) / x2 ;  f1 ({x}) / x N 
 
{F ({x})}  f 2 ({x}) / x1 ; f 2 ({x}) / x2 ;  f 2 ({x}) / x N 

[ F ({x})]   . (8.15)
{x}  ... ... ... ... 
 
f N ({x}) / x1 ; f N ({x}) / x2 ;  f N ({x}) / x N 
У методі Зейделя формóла (8.14) дещо модифіêóється:
{x}( k 1)  {x}( k )    {F ({x})}( k , k 1) ; k  0,1, ... , (8.16)
де веêтор {F ({x})}( k , k 1) для обчислення (n  1) -ої êомпоненти враховóє вже
отримані значення x (jk 1) , j  1, 2, ..., n  N із веêтора {x}( k 1) .
Метод релаêсацій та метод Зейделя мають області збіжності, яêі дещо
відрізняються, томó мають різні значення   1 , яêі забезпечóють ãарантова-
нó збіжність методів. Швидêість збіжності методó Зейделя дещо вища, ніж
методó релаêсацій. Переваãа цих методів – простота, можливість реалізації
при дóже сêладних виразах фóнêцій f m ({x}) .
Нелінійний метод Яêобі має виãляд
f m ( x1( k ) , x2( k ) , ..., x (j k1) , x (j k 1) , x (j k1) , ..., x N( k ) )  0 ; m  1, 2, ..., N , (8.17)
причомó êожне із нелінійних рівнянь (8.17) розв’язóється відносно x (jk 1)
оêремо бóдь-яêим методом, розãлянóтим ó Розділі 3.
8.2.2. Метод Пікара
Яêщо веêтор {F ({x})} представлений ó виãляді
{F ({x})}  [ A]{x}  {G ({x})}  {0} , (8.18)
де матриця [A] – êвадратна, то розв’язоê можна знаходити за схемою:
[ A]{x}( k 1)  {G ({x})}( k )  0 ; k  0,1, ... . (8.19)
Цю схемó таêож можна записати в êанонічномó виãляді (8.4), де мат-
риця розщеплення [Q]( k 1)  [ A] , а параметр  ( k 1)  1 .
8.2.3. Метод Ньютона-Канторовича
Яêщо припóстити, що в ітераціях f m ({x})( k )  0 , а f m ({x})( k 1)  0 , то, роз-
êладóючи f m ({x})( k 1) в ряд Тейлора, можна отримати, що
(k )
 f 
x  xn( k )   0 ; m  1, 2, ..., N ; k  0,1, ... . (8.20)
N
f m ({x}) ( k 1)
 f m ({x}) (k )
  m  ( k 1)

n 1  xn 
n
102 Частина ІІ. Розділ 8

Цей вираз можна переписати в матричномó виãляді:


[ F ({x})]( k )  ({x}( k 1)  {x}( k ) )  {F ({x})}( k ) ; або
{x}( k 1)  {x}( k )  {F ({x})}( k )  []( k ) ; k  0,1, ... , (8.21)
де матриця (див. формóлó (8.15))
[]  [ F ({x})]1 , (8.22)
а веêтор похибоê наближення {F ({x})} має êомпоненти f m ({x}) .
Схемó (8.21) можна записати в êанонічномó виãляді (8.4), де матриця
розщеплення [Q]( k 1)  [ F ({x})]( k 1) , а параметр  ( k 1)  1 .
Отже, в яêості "розмірó êроêó" вистóпає матриця []( k ) , а "напрямоê
êроêó" визначається веêтором {F ({x})}( k ) фóнêцій похибоê наближення
{ f }( k ) . Для тоãо, щоб цей метод можна бóло реалізóвати, необхідно довести
наявність оберненої матриці []  [ F ({x})]1 .
Л.В. Канторович довів теоремó про збіжність цьоãо методó. Зãідно з ці-
єю теоремою, яêщо фóнêції f m ( x1 , x2 , ..., x N ) можна двічі диференціювати і
вони задовольняють óмові
N N 2 fm
  C ; m  1, 2, ..., N (8.23)
i 1 j 1 xi x j
в області
max | xn  xn(0) | (1  1  2 ABC ) /( AC ) , (8.24)
n
де (обчислюються при {x}(0) ):
N N
A  max  | mn | ; B  max  | mn f n | ; C  1 /( 2 AB ) , (8.25)
m n 1 m
n 1

то система (8.21) має розв’язоê {x} в тій самій області, а швидêість збіжності
оцінюється яê
k 1
max | xn( k )  xn( 0 ) |  B  (2 ABC ) 2 / 2 k 1 . (8.26)
n

Є й інші оцінêи швидêості збіжності методó, зоêрема таêа (тóт всі нор-
ми веêторів – евêлідові, а матриць – підпорядêовані їм, див. Розділ 4.2):
|| {x}( k )  {x}( 0 ) ||  Mq 2 1 /(1  q 2 ) ,
k k
(8.27)
де параметри M ,  та q відповідають рівнянням
|| [ F ({x})]1 || M ; || [ F ({x})](0) ||  ; q  M 2 L / 2  1 , (8.28)
причомó

M  q 2
k 1
r. (8.29)
k 0

Параметр L є параметром із óмови Ліпшіца:


|| [ F ({x}* )]  [ F ({x}** )] || L || {x}*  {x}** || , (8.30)
де {x}* та {x}** є бóдь-яêі веêтори з просторó радіóса r , з центром, що визна-
чається веêтором {x}( 0 ) . Таêа збіжність – êвадратична, тобто дóже швидêа.
Частина ІІ. Розділ 8 103

8.2.4. Модифіковані методи Ньютона-Канторовича


Яêщо обчислення матриці []( k ) в ітераціях сêладне або неможливе, то
можна застосовóвати модифіêований метод Ньютона-Канторовича:
{x}( k 1)  {x}( k )  {F ({x})}( k ) [](0) ; k  0,1, ... . (8.31)
Цей метод має повільнішó збіжність (лінійнó), може навіть не збіãатися
тоді, êоли метод (8.21) збіãається, але він простий, томó часто застосовóється.
Інші модифіêації методó Ньютона-Канторовича – з параметром  ( k 1) :
{x}( k 1)  {x}( k )
[ F ({x})]( k )  {F ({x})}( k )  {0} ; k  0,1, ... . (8.32)
 ( k 1)

{x}( k 1)  {x}( k )


[ F ({x})](0)  {F ({x})}( k )  {0} ; k  0,1, ... . (8.33)
 ( k 1)
8.2.5. Гібридні методи
Яêщо матриця розщеплення [Q]( k 1)  [ I ] , то оêрім зовнішніх ітерацій (з
індеêсом k ) є і внóтрішні (для "обернення" матриці [Q]( k 1) ). Попóлярними є
таêі ãібридні методи:
 зовнішні ітерації – за методом Зейделя (нелінійноãо, п.8.2.1), внóт-
рішні – за методом Ньютона-Канторовича;
 зовнішні ітерації – за методом Ньютона-Канторовича, внóтрішні –
за методом Зейделя (нелінійноãо, п.8.2.1);
 яêщо матриця розщеплення [Q] – незмінна, то внóтрішні ітерації
виêонóються із застосóванням прямоãо методó з одноразовим її розêладен-
ням на триêóтні (êвадратних êоренів, Гаóсса-Холецьêоãо, див. Розділ 5.3).
Важливо, що ó перших двох випадêах ó внóтрішніх ітераціях виêористовó-
ють деяêó відносно невелиêó фіêсованó êільêість ітерацій, тобто не доводять їх
до збіжності. Томó таêий варіант може виявитися значно виãіднішим, ніж за-
стосóвання для розв’язóвання внóтрішньої системи бóдь-яêоãо прямоãо методó.
8.2.6. Градієнтні методи
В ãрадієнтних методах зазвичай виêористовóється схема
{x}( k 1)  {x}( k )   ( k 1) {H ({x})}( k ) ; k  0,1, ... , (8.34)
де H ({x}}  H / {x} , а фóнêціонал H ({x}) відповідає формóлі (8.3).
Поширеним є варіант, êоли обчислюють
(k )
 
 
N

  (  H /  x n ) 2

 ( k 1)  n 1
 . (8.35)
     H H H  
N N 2

 m 1 n 1  x x x x  
  m n m n 
Яêщо при цьомó H ({x}) – аналітичний фóнêціонал, то метод назива-
ється методом найшвидшоãо спóсêó. А яêщо ні, тоді частинна похідна обчис-
люється яê {H / xm }( k )  {H / xm }( k ) , m  1, 2, ..., N і метод називається мето-
дом з обчисленням êоординат ãрадієнта. Швидêість збіжності ãрадієнтних
104 Частина ІІ. Розділ 8

методів нижче, ніж методó Ньютона-Канторовича, але є одна значна пере-


ваãа: відсóтність бóдь-яêих матриць дозволяє мінімізóвати об’єм пам’яті,
необхідний для розв’язóвання задачі на ЕОМ.
8.2.7. Метод випадкових збурень
Бóвають випадêи, êоли обчислення похідних або матриць óсêладнено
чи неможливе, або êоли фóнêціонал H ({x}) має деêільêа еêстремóмів. Тоді
може статися ó наãоді метод випадêових збóрень. У цьомó методі обирають-
ся випадêовим чином прирости {x}( k )  {x1 , x2 , ..., x N }T , обчислюються ве-
êтор {x}( k 1)  {x}( k )  {x} та значення фóнêціонала H ({x})( k 1) . У залежності від
тоãо, збільшóється чи зменшóється H ({x})( k 1) , роблять висновоê про пода-
льші {x}( k ) (зміни напрямêó, довжини êроêó тощо).

8.3. Методи розв’язування нелінійних систем алгебраїчних


рівнянь
Оêремим випадêом систем нелінійних рівнянь (СНР), яêий зóстріча-
ється досить часто, є нелінійна система алãебраїчних рівнянь (НСАР), яêа ó
заãальномó випадêó має залежнó від розв’язêó матрицю та правó частинó
[ A({x})]{x}  {b({x})} . (8.36)
Методи розв’язóвання НСАР зазвичай є пристосованими методами
розв’язóвання СНР із врахóванням таêих властивостей її матриці:
 симетрична або несиметрична, позитивно визначена або ні;
 розріджена (рідêо-заповнена) або ні.
8.3.1. Метод Ньютона-Рафсона
Цей метод фаêтично виêористовóє ідею методó Ньютона-Канторовича.
Вираз (8.36) записóється ó виãляді
{ ({x})}  {b({x})}  [ A({x})]{x} , (8.37)
тобто вводиться до розãлядó веêтор похибоê наближення { ({x})} .
Припóсêається, що в ітераціях { ({x})}( k )  {0} , а { ({x})}( k 1)  {0} . По-
значимо {x}  {x}( k 1)  {x}( k ) . Збереження лише перших членів розêладó по-
хибоê наближення { ({x})}( k 1) в ряд Тейлора приводить до тоãо, що
(k )
 { ({x})} 
{ ({x})} ( k 1)
 { ({x})} (k )
  {x}  {0} , (8.38)
 { x} 
томó
(k )
 { ({x})} 
  {x}  { ({x})} ; {x}( k 1)  {x}( k )  {x} . (8.39)
(k )

 {x} 
Очевидно, що з óрахóванням (8.37)
(k )
 { ({x})}  ~ (k )
  [ A({x})]  [ A({x})]  [ A({x})] ,
~ ~
   (8.40)
 {x}   
Частина ІІ. Розділ 8 105

де введені позначення:
~ { A({x})} ~
~ {b({x})}
[ A({x})]  {x} ; [ A({x})]   . (8.41)
{x} {x}
Остаточно отримаємо формóлó ітераційноãо методó Ньютона-Рафсона
для розв’язóвання НСАР:
 

(k )
[ A({x})]  [ A ({x})]  [ A ({x})] {x}  { ({x})}( k ) ; {x}(k1) {x}(k) {x}; k  0,1, ... . (8.42)
В поточній ітерації для розв’язóвання САР (8.42) застосовóють один з
методів розв’язóвання СЛАР: прямий або ітераційний (див. Розділи 5 та 7).
~
Отже, для формóвання САР (8.42) необхідно обчислювати [ A({x})]
~
~
та/або [ A({x})] . Ця задача зазвичай нетривіальна. Крім тоãо, стрóêтóра запо-
~
~
внення матриці [ A({x})] зазвичай не відповідає стрóêтóрі заповнення мат-
риці [ A({x})] , що має велиêе значення для розріджених матриць значноãо
~ ~
~
розмірó. Томó часто нехтóють вêладом матриць [ A({x})] та [ A({x})] до САР
(8.42), отримóють модифіêований метод Ньютона-Рафсона:
[ A({x})]( k ) {x}  { ({x})}( k ) ; {x}( k 1)  {x}( k )  {x} ; k  0,1, ... . (8.43)
Він збіãається значно повільніше, може зовсім не збіãатися.
~ ~
~
Яêщо нехтóвання матрицями [ A({x})] або [ A({x})] вêрай небажано, але
їх точне обчислення неможливе, то застосовóють наближені формóли ди-
ференціювання, яêі потребóють збереження попередніх матриць та веêторів
(в індеêсній формі записó):
A ( x ) A( k )  Amn ( k 1) ~
~ bm ( x j ) bm( k )  bm( k 1)
A mn  mn j xi  mn x (k )
; A     . (8.44)
xn( k )  xn( k 1)
mn
xi xi( k )  xi( k 1) xn
i

8.3.2. Метод простих ітерацій та метод Зейделя


У методі простих ітерацій НСАР (8.36) записóється яê ітераційний про-
цес:
[ A({x})]( k ) {x}( k 1)  {b({x})}( k ) . (8.45)
У методі Зейделя
[ A({x})]( k , k 1) {x}( k 1)  {b({x})}( k , k 1) , (8.46)
( k , k 1) ( k , k 1)
де матриця [ A({x})] та веêтор {b({x})} для обчислення êомпоненти
xn( k11) враховóє вже отримані значення x (jk 1) ; j  1, 2, ..., n  N із веêтора
{x}( k 1) . Таêó процедóрó в нелінійних САР не завжди можна реалізóвати.
Аналоãічно модифіêóються й інші методи розв’язóвання СНР для
отримання розв’язêів нелінійних САР.

Контрольні питання до Розділó 8.1


1. Яê формóлюється зв’язоê системи рівнянь з еêстремальною зада-
чею?
106 Частина ІІ. Розділ 8

Контрольні питання до Розділó 8.2


1. Яêі заãальні риси та розбіжності є ó методів релаêсації, Зейделя,
Яêобі?
2. Яêó збіжність має метод Ньютона-Канторовича?
3. Чим ãрадієнтні методи принципово відрізняються від методó Нью-
тона-Канторовича?
Контрольні питання до Розділó 8.3
1. Чим метод Ньютона-Рафсона відрізняється від методó Ньютона-
Канторовича?.
2. Яê формóлюються метод простих ітерацій та метод Зейделя для
розв’язання системи нелінійних алãебраїчних рівнянь?
Частина ІІ. Розділ 9 107

Розділ 9

ЧИСЕЛЬНЕ ІНТЕРПОЛЮВАННЯ, НАБЛИЖЕННЯ


ТА ДИФЕРЕНЦІЮВАННЯ ФУНКЦІЙ

9.1. Загальні зауваження


Якщо на основі таблиці yi  f ( zi ) знаходять деяку безперервну аналітичну
функцію f ( z ) , яка заздалегідь є невідомою, то говорять про відновлювання фу-
нкції f ( z ) , що задана таблицею. Всі значення аргументу zi (вузли) належать
деякому інтервалу [ ,  ] , тобто zi  [ ,  ] , причому   z0  z1  ...  z N 1  z N  
(зокрема, немає вузлів, що співпадають). Обов’язковою умовою відновлення є
умова f ( zi )  yi  f ( zi ) . Інакше кажучи, значення відновленої функції у вузлах
повинні дорівнювати табличним.
Мета відновлювання може бути різною. Наприклад: обчислити значення фун-
кції в іншій точці ("ущільнити" таблицю); провести диференціювання функції в за-
даній точці; знайти, яке або які значення має аргумент для конкретного значення
функції (оборотне відновлювання), знайти корені функції, інші.
Інтерполюванням називають відновлення функції f ( z ) для подальшого за-
стосування f ( z ) лише при z  [ ,  ] , а екстраполюванням – за межами інтервалу
[ ,  ] . При екстраполюванні існує більш значний ризик одержати невірний ре-
зультат, ніж при інтерполюванні, оскільки за межами інтервалу [ ,  ] інформація
про реальну поведінку функції f ( z ) зазвичай відсутня повністю або частково (на-
віть такі, як знак функції, її асимптота, знаки похідних, інші).
Наближенням безперервної функції f ( z ) називають знаходження деякої
нової функції f ( z ) з областю визначення [ ,  ] , яка з достатньою точністю за-
мінює функцію f ( z ) . Умови наближення можуть бути різними, наприклад: точ-
но відповідати вузловим значенням yi  f ( zi ) та зі вказаною точністю наближу-
вати функцію f ( z ) проміж вузлів; мати безперервні похідні до визначеного по-
рядку включно; мати на кінцях діапазону або у вказаних вузлах конкретні зна-
чення похідних; за енергією (інтегрально), інші.
Наближення застосовують для заміни складної функції f ( z ) на іншу прос-
ту, або комбінацію інших простих, наприклад, для спрощення її обчислення (а в
ЕОМ тригонометричні функції, логарифми та інші "неалгебраїчні" функції ін-
акше обчислити не можна) або для подальшого її наближеного інтегрування
(див. Розділ 10).
Ця тема – дуже значна за обсягом. Функції можуть мати два та більшу кі-
лькість аргументів. Крім того, ця тема має суміжні теми. Тут розглянемо функ-
ції тільки одного аргументу та лише основні методи і формули.
108 Частина ІІ. Розділ 9

Перш ніж розглядати інтерполювання функцій, необхідно ввести поняття


скінченних різниць. Суттєве таке: в таблиці yi  f ( zi ) значення аргументу може
змінюватися або з однаковим кроком, або з різним. У Розділах 9.2 ... 9.4 розгля-
нуто перший випадок, у 9.5 – другий.

9.2. Скінченні різниці різних порядків та таблиці різниць


Позначимо деяку функцію як y  f (z ) , а також h  z – приріст її аргумен-
ту (крок аргументу). Тоді позначимо прирощення функції:
y  f ( z )  f ( z  h)  f ( z );
 (2) y  ( y )  f ( z  h)  f ( z );
(9.1)
. . . . . . .
 ( n ) y  ( ( n1) y ).
Можна отримати, що
( n ) f ( z )  f ( z  nh)  C n1 f ( z  (n  1)h)  Cn2 f ( z  (n  2)h)  ...  ( 1) n f ( z ) , (9.2)
де коефіцієнти
n(n  1)  . . .  [ n  (m  1)]
Cnm  . (9.3)
m!
Доведено теорему: якщо y  f (z ) має безперервну похідну f ( n ) ( z ) на від-
різку [ z , z  nh] , то ( n ) f ( z )  h n f ( n ) ( z  nh) при 0    1 .
Наслідок. f ( n ) ( z  nh)   ( n ) f ( z ) / h n та lim f ( n ) ( z  nh)  f ( n ) ( z ) , тобто при
h 0

малих h похідна
( n ) f ( z )
f (n)
( z)  . (9.4)
hn
Відповідно до (9.1) можна записати, що для i -ої точки:
yi  yi 1  yi ;
( 2 ) yi  (yi )  yi 1  yi ;
(9.5)
. . . . . . .
( n ) yi  (( n1) yi )  ( n1) yn1  ( n1) yi .
Вираз (9.2) одержує вигляд
( n ) yi  yni  Cn1 yni 1  Cn2 yni 2  ...  (1) n yi . (9.6)
Приклад 9.1. При n  2 : ( 2 ) yi  yi  2  2 yi 1  yi ; при n  3 : ( 3) yi  yi 3 
 3 yi  2  3 yi 1  yi ; при n  4 : ( 4 ) yi  yi  4  4 yi 3  6 yi  2  4 yi 1  yi .
Використовуючи наближену формулу (9.4), отримаємо, що:
yi( z )  ( 2 ) yi / h 2  ( yi  2  2 yi 1  yi ) / h 2 ;
yi( z )  ( 3) yi / h 3  ( yi 3  3 yi  2  3 yi 1  yi ) / h 3 ;
yiIV ( z )  ( 4 ) yi / h 4  ( yi  4  4 yi 3  6 yi  2  4 yi 1  yi ) / h 4 .
Ці формули застосовуються у методі скінченних різниць для апроксимації
похідних другого, третього та четвертого порядків.
Частина ІІ. Розділ 9 109

З різниць (9.5) можна створити таблиці різниць. Використовують діагональну


та горизонтальну таблиці різниць. Зокрема, при n  3 вони мають вигляд:
z y (1) y ( 2) y (3) y
z0 y0
y0
z1 y1 ( 2) y0
y1 (3) y0
( 2)
z2 y2  y1
y 2
z3 y3

z y 1 y ( 2) y (3) y
z0 y0 y0 ( 2) y0 (3) y0
z1 y1 y1 ( 2) y1
z2 y2 y 2
z3 y3

Примітка 9.1. Якщо при обчислюванні значень для таблиць різниць десь
зроблено помилку, то при розрахунках наступних різниць похибка у значеннях
тільки збільшується.
Приклад 9.2. Функція y  f ( z )  3z 3  5 z 2  z  3 . Діагональна таблиця різ-
ниць при z0  0 та h  1 :
z y (1) y ( 2) y (3) y 4 y
0 3
-3
1 0 8
5 18
2 5 26 0
31 18
3 36 44
75
4 111

9.3. Інтерполяційні формули Ньютона


Для інтерполювання табличної функції одного аргументу будується аналі-
тична функція y  f ( z ) така, що максимально точно апроксимує цю функцію в
околі заданої точки. При цьому виконують умову f ( zi )  yi  f ( zi ) .
Відомо, що через ( N  1) вузол можна провести безліч ліній. Але якщо за-
стосувати поліном n -ої степені при n  N , то він опише лише одну лінію, тобто
з’являється однозначність. Тому усі інтерполяційні формули, які побудовані на
основі поліномів, мають n -ю степінь (порядок апроксимації) та ( N  1) членів,
спираються на ( N  1) значень таблиці в діапазоні zi  [ ,  ] . Зазвичай такі фор-
мули пишуться у загальному вигляді (значення n  N не оговорено), а застосо-
110 Частина ІІ. Розділ 9

вується стільки членів, скільки можливо або скільки потрібно для одержання
достатньої точності.
Введемо позначення:
q  ( z  z0 ) / h . (9.7)
Тут z0 – початкова точка, або початкове значення аргументу.

9.3.1. Перша інтерполяційна формула Ньютона


Перша інтерполяційна формула Ньютона має вигляд:
q (q  1) (2) q (q  1)  ...  (q  n  1) ( n )
Pn ( z )  y0  qy0   y0  . . .   y0 . (9.8)
2! n!
При n  1 – формула лінійного інтерполювання: P1 ( z )  y0  qy0 ; при n  2
– формула квадратичного інтерполювання: P2 (z)  y0  qy0  [q(q 1) / 2](2) y0 .
Застосовується в околі x0 , тобто від початку таблиці (інтерполювання впе-
ред або екстраполювання назад), у межах одного кроку, тобто при | q | 1 .
Формули для оцінки похибок інтерполяційних формул зазвичай утворю-
ють, припускаючи, що  ( n1) y  const .
Формула для похибки 1-ої інтерполяційної формули Ньютона:
q (q  1)...(q  n) ( n 1)
Rn ( z )   y 0 , якщо ( n1) y  const . (9.9)
(n  1)!

9.3.2. Друга інтерполяційна формула Ньютона


Друга інтерполяційна формула Ньютона має вигляд:
q (q  1) ( 2 ) q (q  1)  ...  (q  n  1) ( n )
Pn ( z )  y n  qy n 1   y n2  ...   y0 . (9.10)
2! n!
Застосовується в околі xn , тобто в кінці таблиці (інтерполювання назад або ек-
страполювання вперед), у межах одного кроку, тобто при значеннях | q | 1 .
Формула для похибки 2-ої інтерполяційної формули Ньютона має вигляд
q (q  1)...(q  n) ( n1)
Rn ( z )   y0 , якщо ( n1) y  const . (9.11)
(n  1)!
Приклад 9.3. Потрібно визначити sin 14 o , якщо є значення функції для 15, 20,
25 та 30 градусів. Будуємо, наприклад, горизонтальну таблицю різниць:
z y  sin z (1) y ( 2) y (3) y
15 0.2588 0.0832 -0.0026 -0.0006
20 0.3420 0.0806 -0.0032 -
25 0.4226 0.0774 - -
30 0.5000 - - -
Визначимо: q  (14  15) / 5  0.2 . Тоді, застосовуючи першу формулу Нью-
тона та проводячи екстраполяцію назад, отримаємо, що:
sin14o  0.2588  ( 0.2)  0.0823  [( 0.2)( 0.2  1) / 2](0.0026) 
[(0.2)(0.2  1)(0.2  2) / 6](0.0006)  0.2419 .
Частина ІІ. Розділ 9 111

В даному випадку всі цифри – вірні, оскільки більш точне значення


sin14o  0.241922... .

9.4. Центрально-різницеві інтерполяційні формули


Перша та друга інтерполяційні формули Ньютона – односторонні, тобто
мають одне направлення. Але на їх основі можна побудувати центрально-
різницеві інтерполяційні формули, які опираються на окіл вказаної точки в обох
напрямах та "працюють" від неї теж в обох напрямах.
Якщо у діагональній таблиці різниць перенумерувати точки "від центру",
отримаємо таблицю центральних різниць:
x y 1 y 2 y 3 y 4 y
x 2 y 2
1 y2
x1 y 1 2 y 2
1
 y1 3 y2
2
x0 y0  y 1 4 y 2
1 3
 y0  y 1
x1 y1 2 y0
1 y1
x 2 y2

Центрально-різницевими формулами є формули Гаусса, Стірлінга та Бес-


селя. Вони застосовують 2n  1 вузлів, між якими рівні відстані.

9.4.1. Інтерполяційні формули Гаусса


Перша інтерполяційна формула Гаусса:
q(q  1) (2) (q  1)(q  1) (3) (q  1)q(q  1)(q  2) ( 4)
Pn ( z)  y0  qy0   y1   y1   y2 
2! 3! 4!
(q  2)(q  1)q(q  1)(q  2) (5)
  y2  ...
5!
(q  n  1)...(q  n  1) ( 2n1) (q  n  1)...(q  n) ( 2n) (9.12)
  y( n1)   yn ,
(2n  1)! (2n)!
де q знов відповідає формулі (9.7).
Друга інтерполяційна формула Гаусса:
(q  1)q (2) (q  1)q(q 1) (3) (q  2)(q  1)q(q 1) (4)
Pn (z)  y0  qy1   y1   y2   y2  ...
2! 3! 4!
(q  n  1)...(q  n  1) (2n1) (q  n)(q  n 1)...(q  n  1) (2n) (9.13)
  yn   yn .
(2n  1)! (2n)!
Формули Гаусса застосовують рідко, оскільки є дві інші: Стірлінга та Бес-
селя, які потребують менший обсяг обчислень та є більш точними.

9.4.2. Інтерполяційна формула Стірлінга


Ця формула – середнє арифметичне 1-ої та 2-ої формули Гаусса:
112 Частина ІІ. Розділ 9

y 1  y0 q 2 ( 2 ) q ( q 2  12 ) ( 3) y 2  ( 3) y 1
Pn ( z )  y0  q   y 1   ... . (9.14)
2 2! 3! 3
Формула для похибки також утворюється як середнє арифметичне похибок
1-ої та 2-ої формули Гаусса:
( 2 n1) y n1  ( 2 n1) y n
Rn ( z )  q(q 2  12 )(q 2  2 2 )...(q 2  n 2 ) , якщо ( n1) y  const , (9.15)
2(2n  1)!
де 2n – порядок максимальної використаної різниці.
Рекомендують застосовувати при | q | 0.5 .

9.4.3. Інтерполяційна формула Бесселя


Виводиться із застосуванням 2-ої формули Гаусса. Спочатку за середню
точку беруться почергово дві сусідні, потім від одержаних двох виразів утво-
рюється середнє:
y0  y1  1 q(q  1) ( 2) y1  ( 2) y0 (q  1 / 2)q(q  1) (3)
Pn ( z)    q  y0    y1  ... . (9.16)
2  2 2 2 3!
При q  1/ 2 формула значно спрощується, називається формулою інтерпо-
лювання "на середину". Іноді формулу Бесселя записують через p  q  1/ 2 . То-
ді вона приймає симетричний вигляд.
Формула для похибки утворюється аналогічним шляхом та має вигляд:
(2n2) yn1  (2n2) yn 2 2 2 2
Rn (z)  q(q 1 )(q  2 )...(q2  n2 )[q  (n 1)], якщо ( n1) y  const , (9.17)
2(2n  2)!
де 2n  1 – порядок максимальної використаної різниці.
Рекомендують застосовувати при 0.25 | q | 0.75 .

9.5. Інтерполяційні формули для різно-віддалених вузлів


Випадок, коли таблична функція має значення zi з різними відстанями (має
різні кроки аргументу) – звичайний.

9.5.1. Інтерполяційна формула Лагранжа


Нехай є ( N  1) "опорних" вузлів таблиці, тобто маємо yi  f ( z i ) ,
i  0,1,..., N . Інтерполяційна формула Лагранжа має вигляд:
n
( z  z0 )( z  z1 )...( z  zi 1 )( z  zi 1 )...( z  z n ) n
Ln ( z )    yi   Lni  yi , (9.18)
i 0 ( zi  z0 )( zi  z1 )...( zi  zi 1 )( zi  zi 1 )...( zi  z n ) i 0

де n  N . Якщо позначити:
 n1 ( z )  ( z  z 0 )( z  z1 )...( z  z n ) , (9.19)
то можна отримати інший запис цієї формули:
n
yi
Ln ( z )   n1 ( z )   . (9.20)
i 0  n1 ( zi )  ( z  zi )
Примітка 9.2. Вигляд формул не змініться, якщо провести заміну
z  At  B , змініться тільки аргумент: з z на t .
Частина ІІ. Розділ 9 113

Примітка 9.3. Іноді у застосуванні дуже важливо те, що інтерполяційна


формула Лагранжа в явному вигляді містить величини yi .
Примітка 9.4. Очевидно, що формула Лагранжа може застосовуватися й у
випадку рівномірних кроків.
Похибка інтерполяційної формули Лагранжа (9.18) обчислюється за фор-
мулою
f ( n1) ( )
Rn ( z )    n1 ( z ) , (9.21)
(n  1)!
де   [ ,  ] залежить від z ; або
M n1
Rn ( z )    n1 ( z ) , (9.22)
(n  1)!
де M n1  max f ( n1) ( ) при   [ ,  ] .
Оскільки значення  n1 ( z ) визначається тільки розташуванням вузлів, то
похибка також залежить від цього.
П.Л. Чебишев довів, що найкраще розташування вузлів (якщо це можна
робити) визначається формулою:
 2i  1 
zi  [(    )  (    ) i ] / 2 , де  i   cos    ; i  0,1, ..., n . (9.23)
 2n  2 
Ці вузли відповідають нулям полінома Чебишева Tn1 ( z ) . Вони згущаються
біля кінців відрізка. В такому разі  n1 ( z )  2[(    ) / 4]n1 .
Приклад 9.4. При n  1 отримаємо рівняння прямої, що проходить через
точки  та  :
z z 
y y0  y.
    1
При n  2 отримаємо рівняння параболи, що проходить через точки  , 
( z   )( z   ) ( z   )( z   ) ( z   )( z   )
та  : y  y0  y1  y2 .
(   )(   ) (    )(    ) (   )(   )

Приклад 9.5. Завдання: знайти значення функції y  sin(z ) при z  0.2 .


Ще зі шкільної програми запам’яталося, що y0  sin(0)  0 ,
y1  sin( / 6)  1 / 2 , y 2  sin( / 2)  1 . Тому спочатку отримаємо наближення
функції y  sin(z ) на основі трьох вузлів:   z0  0 ,   z1  1 / 6 ,   z 2  1 / 2 .
Оскільки вузлів – три, то n  2 . Згідно з формулою параболи (див. приклад 9.4)
запишемо:
( z  1/ 6)(z  1/ 2) ( z  0)(z  1/ 2) 1 ( z  0)(z  1/ 6)
y( z)  L2 ( z)  0    1 3.5z  3z 2 .
(0  1/ 6)(0  1/ 2) (1/ 6  0)(1/ 6  1/ 2) 2 (1/ 2  0)(1/ 2  1/ 6)
Ця формула при z  0.2 дає інтерпольоване значення y (  0.2) 
 3.5  0.2  3  0.2 2  0.58 . Більш точне значення y (  0.2)  0.587785... . Тобто ре-
114 Частина ІІ. Розділ 9

зультат такого інтерполювання для точки z  0.2 має відносну похибку


  [(0.587785  0.58) / 0.587785]  100%  1.32% (в інших точках ця похибка буде
іншою). Така досить велика похибка інтерполювання викликана значною від-
станню між вузлами апроксимації та малою кількістю вузлів.

9.5.2. Інтерполяційна формула Ньютона


Інтерполяційна формула Ньютона має вираз
Pn ( z )  y0  ~
y0(1) ( z  z0 )  ~
y0( 2) ( z  z0 )( z  z1 )  ...  ~
y0( n ) ( z  z0 )( z  z1 )...(z  zn1 ) , (9.24)
де позначені так звані поділені різниці (від слова ділити):
~y0(1)  ( y1  y0 ) /( z1  z 0 ); ... ~
y k(1)  ( y k 1  y k ) /( z k 1  z k ); ...
 ~ ( 2) ~ (1) ~ (1)
y0  (y1  y0 ) /( z 2  z 0 ); ... ~
y k( 2)  (~ y k(1)1  ~
y k(1) ) /( z k  2  z k ); ...

 ... ... ... ... (9.25)
~ (m) ~ ( m 1)
 ~y0( m1) ) /( z m  z 0 ); ... ~
y k( m )  (~
y k( m11)  ~
y k( m1) ) /( z k  m  z k ); ...
 y0  (y1
 ... ... ... ...
де k  0,1,... , m  2, 3, ... Їх можна збирати до таблиць (поділених) різниць.
Є лема: якщо функція y ( z )  Pn ( z ) , тобто вона є поліномом n -ої степені, то
його поділена різниця ( n  1 )-го порядку дорівнює нулю.
Приклад 9.6. Знайти інтерпольоване значення функції y (z ) (див. перші
два стовпці таблиці) для z  3.7608 .
z y( z) (1) y ( 2) y (3) y
0 0.3989423 -0.0000500 -0.0000199 0
2.5069 0.3988169 -0.0001499 -0.0000199 -
5.0154 0.3984408 -0.0002496 - -
7.5270 0.3978138 - - -
Отже, із застосуванням формули (9.24) отримаємо інтерполяційний полі-
ном: y ( z )  0.3989423  0.0000500 z  0.0000199 z ( z  2.5069) . При z  3.7608
одержимо, що y (3.7608)  0.3989423  0.0000500  3.7608  0.0000199  3.7608 
(3.7608  2.5069)  0.3986604 .

9.6. Інтерполювання кубічними сплайнами


Суттєвим недоліком інтерполювання розглянутими вище поліномами Лаг-
ранжа, Ньютона та іншими є те, що при збільшенні кількості вузлів інтерполя-
ції в діапазоні [ ,  ] громіздкість формул росте, а похибка інтерполювання мо-
же не тільки зменшуватися, а й збільшуватися, навіть до нескінченності. На-
приклад, це виявилося при інтерполюванні поліномами Лагранжа на рівномір-
ній сітці функцій f ( z )  (1  25 z 2 ) 1 (Рунге, 1901 р.) та f ( z ) | z | (Бернштейн,
1916 р.) у діапазоні z  [1,1] .
Тому замість інтерполювання поліномами рекомендують застосовувати
сплайни. Щодо походження назви. Spline (рейка) – креслярський інструмент з
Частина ІІ. Розділ 9 115

гнучкою металевою лінійкою, поставленою на ребро, за допомогою якої на кре-


сленні можна проводити через декілька точок плавні криві.
Тема сплайн-апроксимацій дуже значна (див., наприклад, книгу [9]), тому
тут розглянемо лише ідею цього методу.
Якщо для безперервної функції f ( z ) обрати вузли zi  [ ,  ] такі, що
  z0  z1  ...  z N 1  z N   , то одержимо таблицю yi  f ( zi ) , де i  0,1,..., N .
Сплайн – кусково-многочленна функція s ( z ) невисокої степені n , яка в діа-
пазоні z  [ ,  ] інтерполює f ( z ) через значення yi  f ( zi ) і має безперервні по-
хідні до p -ої включно (тобто відноситься до класу C p ). Число k  n  p назива-
ють дефектом сплайну. Тобто функція s ( z ) створена з деякої кількості "кусків"
на основі многочленів, причому ці куски "зшити" між собою так, щоб забезпечи-
ти безперервність і самої функції, і p її перших похідних.
Найбільш популярними у застосуванні є кубічні ( n  3 ) сплайни класу
s ( z )  C 2 [ ,  ] , тобто з дефектом k  1 .
Кубічний сплайн класу C 2 з дефектом k  1 має такі властивості:
а/ на кожному сегменті [ zi 1 , zi ] , де i  1, 2..., N є многочленом 3-ої степені;
б/ s ( z ) , s( z ) , s( z ) безперервні в діапазоні [ ,  ] ;
в/ s ( zi )  f ( zi )  yi , де i  0,1,..., N (умова інтерполювання).
Існує чотири форми представлення сплайнів: як сума усічених степеневих
функцій, через фундаментальні сплайни, кусково-многочленна, через В-сплайни.
Оскільки перша форма призводить до швидкого накопичення похибок, а друга –
до значної кількості дій, то ці дві форми на практиці зазвичай не застосовуються,
хоча бувають зручнішими при теоретичних викладках. Використаємо кусково-
многочленну форму представлення кубічного сплайна.
Для побудови кубічного сплайна s ( z ) розглядають кожний i -й сегмент
[ zi 1 , zi ]  [ ,  ] , в якому функцію si ( z ) шукають у вигляді розкладу в ряд
ci d
si ( z )  ai  bi ( z  zi )  ( z  zi ) 2  i ( z  zi )3 ; z  [ zi 1 , zi ] ; i  1, 2..., N . (9.26)
2 6
З (9.26) та в/ випливає, що ai  si ( zi )  f ( zi )  yi ; bi  si( zi )  yi ; ci  si( zi )  yi ;
di  si ( zi )  yi . Додатково приймають, що a0  f ( )  y .
Перша з умов безперервності (див. пункт б/) потребує, щоб si ( zi )  si 1 ( zi ) ,
i  1, 2,..., N  1 . Тому, з урахуванням (9.26):
ci 1 d
( zi  zi 1 ) 2  i 1 ( zi  zi 1 )3 ; i  1, 2,..., N  1 .
ai  ai 1  bi 1 ( zi  zi 1 )  (9.27)
2 6
Введемо позначення: hi 1  zi 1  zi . Оскільки ai  yi , то з (9.27) спочатку
утворюється
2 3
h h
hi 1bi 1  i 1 ci 1  i 1 di 1  yi 1  yi ; i  1, 2,..., N  1 , (9.28)
2 6
116 Частина ІІ. Розділ 9

а потім, зменшенням індексів на одиницю


2 3
hi h
hi bi  ci  i di  yi  yi 1 ; i  2,3,..., N . (9.29)
2 6
За умови безперервності перших похідних (див. пункт б/ властивостей) у
всіх внутрішніх вузлах, тобто при i  1, 2,..., N  1 повинно бути si( zi )  si1 ( zi ) .
Аналогічно попередньому можна отримати, що:
2
h
hi ci  i di  bi  bi 1 ; i  2,3..., N . (9.30)
2
А умова безперервності других похідних у всіх внутрішніх вузлах
si( zi )  si1 ( zi ) , i  1, 2,..., N  1 призводить до рівнянь
hi di  ci  ci 1 ; i  2,3,..., N . (9.31)
Всього потрібно мати значення 4N коефіцієнтів. Вже відомі N  1 значень
ai  yi , а також є СЛАР із 3( N  1) рівнянь (9.29) ... (9.31) відносно 3N коефі-
цієнтів bi , ci , di при i  2,3,..., N . Додаткові вирази отримують завдяки граничним
умовам (ГУ). Існує багато варіантів ГУ, найпопулярніші:
№ варіанта Граничні умови
I s( )  f ( )  y ; s(  )  f (  )  y
II s( )  f ( )  y ; s(  )  f (  )  y
III s ( n ) ( )  s ( n ) (  ) ; n  0,1, 2 (періодичність, з періодом    )
IV s( zm  0)  f ( zm  0) ; m  1, 2,..., N  1
Для отримання більш прийнятного вигляду СЛАР зазвичай з (9.29) ...
(9.31) виключають або всі ci , di (СЛАР відносно bi ), або всі bi , di (СЛАР віднос-
но ci ). Розглянемо тільки другий варіант.
Щоб виключити всі bi , di , спочатку (9.28) ділять на hi 1 / 6 , а (9.29) – на
hi / 6 . Потім з першого отриманого виразу віднімають другий:
 y  y y  yi 1 
6  i 1 i  i   6(bi 1  bi )  3(hi 1ci 1  hi ci )  hi 1di 1  hi di .
2 2
(9.32)
 hi 1 hi 
З рівняння (9.30) bi 1  bi  hi 1ci 1  hi 12 di 1 / 2 , а з (9.31) di  (ci  ci 1 ) / hi та
di 1  (ci 1  ci ) / hi 1 . Якщо все це підставити в (9.32), результат поділити на
(hi  hi 1 ) та позначити
i  hi /(hi  hi 1 ) ; i  hi 1 /(hi  hi 1 )  1  i , (9.33)
то остаточно утворюється рівняння відносно ci :
6  yi 1  yi yi  yi 1 
i ci 1  2ci  i ci 1     ; i  1, 2,..., N  1 . (9.34)
hi  hi 1  hi 1 hi 
Коли всі ci будуть знайдені, то інші коефіцієнти можна підрахувати з фор-
мул, які виводяться з (9.31) та (9.30):
Частина ІІ. Розділ 9 117

ci  ci 1 hi ci hi2 di yi  yi 1
di  ; bi    ; i  1, 2,..., N . (9.35)
hi 2 6 hi
Послідовно одержимо СЛАР для всіх вказаних граничних умов.
У випадку призначення І-го варіанта ГУ потрібно застосувати фіксовану
величину s( ) . Щоб її залучити, вводять фіктивний нульовий сегмент (тобто
при i  0 ), довжина якого h0  0 . Дійсно, з другого виразу (9.35) при i  0 та
h0  0 випливає, що b0  lim( y0  y1 ) / h0 . За смислом це відповідає визначенню
h0 0

першої похідної. Раніше отримали, що bi  si( zi )  yi . Отже, введення фіктивно-


го сегмента з i  0 та h0  0 дозволяє залучити для призначення ГУ ті з розгля-
нутих вище рівнянь, які потрібні.
З (9.33) при i  0 та h0  0 випливає, що  0  0 , а 1  1 . Тому з (9.34) при
i  0 отримують, що
6  y1  y0 
2c0  c1    y  . (9.36)
h1  h1 
Ще одне рівняння отримують з (9.35) при i  N , підставляючи перший ви-
раз у другий та приймаючи, згідно з ГУ варіанта І s(  )  f (  )  bN  y . Після
приведення подібних та множення на 6 / hN остаточно:
6  y N  y N 1 
cN 1  2cN   y  . (9.37)
hN  hN 
Отже, формули (9.36), (9.34) та (9.37) створюють СЛАР із N  1 рівнянь
відносно ci , i  0,1,..., N у випадку І-го варіанта ГУ.
У випадку призначення ІІ-го варіанта ГУ все значно простіше, оскільки
s( )  c0  y ; s(  )  cN  y . Згідно з (9.34) відразу можемо записати СЛАР із
N  1 рівнянь відносно ci , i  1,..., N  1 :
 6  y2  y1 y1  y0 
 2c1  1c2      1 y ;
 h1  h2  h2 h1 

 6  yi 1  yi yi  yi 1 
  i ci 1  2ci  i ci 1     ; i  2,..., N  2; (9.38)
 h i  hi 1  h i 1 hi 
  y N  y N 1 y N 1  y N  2 
  N 1cN  2  2cN 1  6
    N 1 yN .
 hN 1  hN  hN hN 1 
У випадку призначення ІІІ-го варіанта ГУ (періодичних) прирівнюються
s ( )  a0  s (  )  aN , s( )  b0  s(  )  bN та s( )  c0  s(  )  cN . У рівнянні
(9.34) при i  1 замість c0 застосовують cN . Також застосовують рівняння (9.34)
при i  N , причому замість cN 1 застосовують c1 (з умов періодичності всі зна-
чення у вузлах N  1, N  2,... дорівнюють відповідним значенням у вузлах з но-
мерами, на N меншими, тобто у вузлах 1, 2,... ). Остаточно одержують СЛАР із
N рівнянь відносно ci , i  1,..., N :
118 Частина ІІ. Розділ 9

 6  y2  y1 y1  y0 
 2c1  1c2  1cN    ;
 h1  h 2  h2 h 1 
 6  yi 1  yi yi  yi 1 

 i ci 1  2ci  i ci 1     ; i  2,..., N  1; (9.39)
 hi  hi 1  hi 1 hi 
  y N  y N 1 y N 1  y N 2 
N c1   N cN 1  2cN  6
  .
 hN 1  hN  hN hN 1 
У випадку призначення ІV-го варіанта ГУ маємо d m  d m1 , тому з першого
виразу (9.35) із застосуванням (9.33) можна отримати, що
cm  m cm1   m cm1 . (9.40)
З рівняння (9.34) потрібно виключити c0 та cN . Із (9.40):
c0  (c1  1c2 ) / 1 ; cN  (cN 1  N 1cN  2 ) /  N 1 . (9.41)
З другого рівняння (9.33) i  i  1 , тому
2i  i  1  i ; i2  i2  (i  i )(i  i )  (i   i ) . (9.42)
Підставляючи перший вираз з (9.41) у (9.34) при i  1 , після проведення
множення його на 1 та застосування рівнянь з (9.42), остаточно мають, що
61  y2  y1 y1  y0 
(1  1 )c1  (1  1 )c2    . (9.43)
h1  h2 
 h2 h1
Підставляючи другий вираз з (9.41) у (9.34) при i  N  1 , після множення
його на  N 1 та застосування рівнянь з (9.42), остаточно мають, що
6  N 1  y N  y N 1 y N 1  y N 2 
(  N 1  N 1 )cN 2  (1   N 1 )cN 1    . (9.44)
hN 1  hN  hN hN 1 
Отже, формули (9.43), (9.34) при i  2,3,..., N  2 та (9.44) створюють СЛАР
із N  1 рівнянь відносно ci , i  1, 2,..., N  1 у випадку ІV-го варіанта ГУ, після
отримання яких застосовуються формули (9.41).
Отримані СЛАР, а також вираз (9.26), часто записують інакше (не розгля-
даємо). Це робиться для зменшення кількості математичних операцій.
Оскільки матриця СЛАР має "діагональну перевагу" (алгебраїчна сума не-
діагональних коефіцієнтів будь-якого рядка матриці СЛАР менше відповідного
діагонального коефіцієнта), то вона має лише один розв’язок. До того ж матри-
ця СЛАР – трьохдіагональна, тому для отримання розв’язку зручно використо-
вувати метод (схему) прогонки (див. Розділ 5.4).
Доведено, що якщо функція f ( z ) має четверту похідну, то точність інтер-
поляції сплайном функції та її похідних має таку оцінку:
|| f ( k ) ( z )  s ( k ) ( z ) || m4  h 4 k  O(h 4k ) ; k  0,1, 2,3 , (9.45)
де m4 || f ( ) || при деякому  [ ,  ] , а h  max hi . Тобто кубічні сплайни s ( z ) збі-
( IV )

гаються до функції f ( z ) при необмеженому зростанні кількості вузлів N .


Частина ІІ. Розділ 9 119

Деякі практичні рекомендації:


 доведено, що сплайн має різко виражені локальні властивості: якість на-
ближення визначається в основному диференційними якостями функції f ( z ) ,
яку наближують, у деякому малому околі i -го вузла. Тому при локальних роз-
ривах похідних від f ( z ) рекомендують точку розриву включати до вузлів ап-
роксимації, а також по обидві її сторони вводити дуже короткі (десь у один від-
соток від подальших) сегменти. Крім того, якщо розривна f ( z ) , то потрібно у
вузлі розриву призначити di  0 ;
 якщо відносно функції f ( z ) , яку наближують, немає іншої інформації,
ніж її вузлові значення, то потрібно застосовувати ГУ варіанта ІV, а не ІІ зі зна-
ченнями s( )  f ( )  0 та s(  )  f (  )  0 , як це іноді рекомендують, оскіль-
ки у останньому випадку на крайніх сегментах фактично получають перший
порядок наближення;
 при застосуванні ІV-го варіанта ГУ існує додаткова умова: перший та
останній сегмент не повинні бути більшими, ніж другий та передостанній від-
повідно.
З викладеного очевидно, що основний недолік наближення сплайнами – це
відсутність єдиного виразу СЛАР для всіх варіантів ГУ, тобто необхідність са-
мостійно отримувати вираз СЛАР, якщо ГУ не співпадають з відомими варіан-
тами. Інші недоліки: необхідно розв’язувати СЛАР, для цього мати відповідне
програмне забезпечення; на кожному сегменті діапазону [ ,  ] потрібно засто-
совувати свої коефіцієнти, які для цього потрібно зберігати. Але ці недоліки
компенсуються відмінною якістю наближення. Можливість залучення гранич-
них умов тільки покращує ситуацію.
Примітка 9.5. При застосуванні іншої форми представлення сплайнів – В-
сплайнів, потрібно менше запам’ятовувати даних, але загальна кількість дій
збільшується. Крім того, форма В-сплайнів незручна у випадку ІV-го варіанта
ГУ, не гарантує добру обумовленість матриці СЛАР у загальному випадку, ко-
ли сегменти hi значно відрізняються.

9.7. Найкраще наближення


Проблемою найкращого наближення називають задачу наближення функ-
ції f ( z ) у діапазоні значень z  [ ,  ] за допомогою системи лінійно незалеж-
них функцій  n ( z ) ; n  1,..., N :
N
f ( z )  f ( z )   cn   n ( z ) (9.46-а)
n 1

або
N
f ( z )  f ( z )   ( z )   cn   n ( z ) , (9.46-б)
n 1

які відповідають властивостям повноти.


120 Частина ІІ. Розділ 9

Примітка 9.6. Оскільки кількість елементів N не є заздалегідь фіксованою


величиною, завжди можна почати нумерацію елементів з нуля, зафіксувати c0 ,
позначити  ( z )  c0   0 ( z ) та винести  ( z ) із під знаку додавання. Завжди можна
легко призначити функцію  ( z ) нульовою або такою, що задовольняє гранич-
ним умовам  ( )  f ( ) та  (  )  f (  ) . Наприклад, лінійною:  ( z )      z ,
де   [ f ( )    f (  )   )]/(    ) та   [ f ( )  f ()]/(  ) . Але потрібно мати на
увазі, що при використанні функції  ( z ) для задоволення граничних умов по-
трібно обирати всі  n ( z ) такими, що всі  n ( )   n (  )  0 , інакше на границях
діапазону прийдеться призначати всі cn  0 (це випливає із умови лінійної неза-
лежності функцій  n ( z ) , див. Розділ 2.1). Оскільки cn єдині на всьому діапазоні,
то це фактично буде означати, що додаткові елементи не потрібні, а функція
 ( z ) і є найкращим наближенням функції f ( z ) . Надалі ми будемо використо-
вувати більш загальний вираз (9.46-б), але на практиці частіше використовують
варіант (9.46-а), тобто (9.46-б) при  ( z )  0 .
Коефіцієнти cn потрібно знайти за умови, що
|| r ( z ) || min , (9.47)
де позначена похибка наближення
N
r ( z )  f ( z )  f ( z )  f ( z )  ( z )   cn  n ( z ) ; (9.48)
n 1

тобто норма похибки прямує до нуля при N   як наслідок повноти.


Елементи  n ( z ) називають базисними (іноді – пробними) функціями.
Доведено, що в гільбертовому просторі H таке найкраще наближення f ( z )
існує та є одиничним. У залежності від того, який варіант гільбертового про-
стору буде обрано (як задано скалярний добуток та норму у просторі), можна
формулювати різні варіанти знаходження коефіцієнтів cn з умови (9.47). Харак-
терним прикладом такого простору є простір  2 ( ,  )  H дійсних функцій
f ( z ) , які інтегруються з квадратом на [ ,  ] , причому скалярний добуток та но-
рма
 
( r , s )   r ( z ) s ( z ) dz ; || r || (r , r )  r
2
( z )dz . (9.49)
 

Розглянемо основні методи побудови найкращого наближення, що викори-


стовують варіант (9.49).

9.7.1. Метод найменших квадратів


Метод практично одночасно був розроблений німецьким вченим Гауссом
(K.F. Gauss) та французьким вченим Лежандром (A.M. Legendre) на самому по-
чатку ХІХ сторіччя. У сучасному розумінні він вимагає мінімізувати інтеграл
від квадрату похибки по всій області визначення:

F   r 2 ( z )dz . (9.50)

Частина ІІ. Розділ 9 121

Існує основна лема фізики суцільних середовищ: якщо у цілком щільній об-
ласті  для будь-якого 1   інтеграл   d   0 , то функція   0 у всій  . У
1

виразі (9.50) в якості функцій під інтегралом виступає квадрат похибки набли-
ження. При точному наближенні похибка наближення дорівнює нулю на будь-
якому відрізку діапазону визначення функції, яка наближується. Фактично це
зазвичай не відбувається, але той факт, що функція під інтегралом є позитив-
ною, дозволяє використовувати мінімум функціонала (9.50) як умову найкра-
щого наближення.
Умова мінімізації набуває вигляд F / cm  0 ; m  1, 2,..., N . Оскільки
r / cm  m ( z ) , то легко отримати, що цей мінімум досягається, якщо
 
 N

 r ( z )   m ( z ) dz    f ( z )   ( z )  
n 1
cn   n ( z )    m ( z )dz  0 ; m  1,..., N .

(9.51)

Вираз (9.51) є системою лінійних алгебраїчних рівнянь (СЛАР) вигляду


Amn cn  bm ; m, n  1,..., N , (9.52)
де компоненти матриці та вектора правої частини обчислюються як
 
Anm  Amn   n ( z )   m ( z )dz ; bm    f ( z )   ( z )    m ( z ) dz ; m, n  1,..., N . (9.53)
 

Матриця Amn для системи лінійно незалежних базисних функцій  n ( z ) ,


n  1,..., N є симетричною та позитивно визначеною, зветься матрицею Грама.
Примітка 9.7. Якщо функція, що наближується, є табличною, то в форму-
M
лах (9.49) ... (9.51) і (9.53) інтеграли замінюються на суми ,
k 1
причому замість

безперервної змінної z застосовується дискретна zk , k  1,..., M , де кількість то-


чок у таблиці M  N .
Примітка 9.8. При M  N задача вироджується у задачу інтерполювання,
в якій обов’язковою вимогою є f ( zk )  f ( zk ) .
Примітка 9.9. Якщо M  N , то відбувається згладжування функції, яка
наближується: локальні викиди ("піки" або "провали") зменшуються. Це відбу-
вається тим сильніше, чим більше вузлів знаходиться у ближньому околі лока-
льного викиду, а також чим сильніше відрізняється M від N . Саме для випадку
M  N й був розроблений цей метод (обробка експериментальних даних).
Як окремий, але дуже вдалий випадок базисних функцій, є тригонометрич-
ні функції. Якщо провести заміну   z   , то можна обрати:
n  sin(n / L) , (9.54)
де L     – довжина області в напрямку  (та z ).
Внаслідок ортогональності цих функцій, яка виражається у тому, що
L
 L / 2, m  n;
0 sin( m / L )  sin( n / L ) d   
 0, m  n,
(9.55)
122 Частина ІІ. Розділ 9

матриця СЛАР утворюється діагональною ( L / 2 на діагоналі), тому відразу ж можна


отримати шукані коефіцієнти
L
2
cn    f ( )  ( )   sin(n / L) d . (9.56)
L0
Такі коефіцієнти cn називають коефіцієнтами Фур’є ортогональної системи
базисних функцій (9.54), а розклад (9.46) з ортогональними базисними функці-
ями – многочленом Фур’є.
Таким чином, ортогональність базисних функцій є важливою властивістю,
яка дозволяє різко прискорити отримання розв’язку СЛАР.
Приклад 9.7. Маємо таблицю f n ( xn ), n  1,..., N  2 , отриману в експери-
менті. Потрібно її апроксимувати лінійною функцією f ( x)  A  Bx .
Застосуємо метод найменших квадратів.
В кожній точці маємо деяку похибку Rn  A  Bxn  f n . Згідно з методом,
N N
складаємо функціонал F   Rn2  ( A  Bxn  f n ) 2  min . Умови його мініміза-
n 1 n 1

ції F / A  0 та F / B  0 . Тому
N N
F / A    ( A  Bxn  f n ) 2 / A  2 ( A  Bxn  f n )  0 ;
n 1 n 1
N N
F / B    ( A  Bxn  f n ) 2 / B  2 (( A  Bxn  f n )  xn )  0 .
n 1 n 1

Це є система з двох алгебраїчних рівнянь відносно невідомих A та B :


N 
N
xn  A   f n 
N

 n 1     n 1   a11 a12   A   b1 
N 
   N  , або для скорочення a a   B    b  .
2  B
N
 12 22     2
  xn  xn    ( f n xn ) 
 n 1 n 1   n1 
За схемами Крамера та Гаусса отримаємо, що
B  (a11b2  a12b1 ) / (a11a22  a122 ) ; A  (b1  a12 B) / a11 .
Щоб побачити графік функції f ( x)  A  Bx , достатньо обрати дві точки,
наприклад, x  0 та x   , де   max{xn } , обчислити f (0)  A та f ( )  A  B
проставити ці значення на графіку та провести через них пряму лінію. Це буде
найкраще наближення табличних даних f n ( xn ), n  1,..., N  2 лінійною функцією.

9.7.2. Метод Релея


Розглянемо в гільбертовому просторі H квадрат норми (9.47) з урахуван-

ням (9.48) та позначення f  f  :
2
 N  N  N N
 f   cn  n  || f ||2H 2 cn f n   cmm  cnn  min .
2
r H
(9.57)
n 1 H n 1 m 1 n 1

Позначимо: 
 
bm  ( f ,  m ) H ; amn  ( m ,  n ) H ; c  {c1 , c2 ,..., cN }T ; b  {b1 , b2 ,..., bN }T . (9.58)
Тоді вираз (9.57) можна записати у вигляді
Частина ІІ. Розділ 9 123
2     
r H  || f ||2H 2(c , b )  ( Ac , c )  min . (9.59)

Оскільки || f ||2H не можна змінювати, то функціонал (9.59) може отримати
мінімальне значення лише за умови, що
     1    
( Ac , c )  2(c , b )  min або F (c )  ( Ac , c )  (c , b )  min . (9.60)
2
Оператор A є позитивно визначеною симетричною матрицею Грама з еле-
ментами amn  ( m , n ) H ; m, n  1,..., N , тобто повністю задовольняє умовам Тео-

реми 2 Розділу 2.4. Згідно з цією теоремою, функціонал F (c ) (див. формули

(9.60) і (2.24)) мінімізується вектором c .
У випадку простору  2 ( ,  )  H дійсних функцій f ( z ) , які інтегруються з
квадратом на [ ,  ] , отримаємо компоненти СЛАР (9.52) у вигляді (9.53) при
наближенні функції f ( z ) на [ ,  ] .
Фактично цей метод був створений Релеєм (Sir Jon William Strutt, Lord
Rayleigh) у 1877 році. Теоретично він був обґрунтований у 1918 році М.М.
Криловим (умови збіжності).

Нехай   min F (c ) . Послідовність (9.46) називають такою, що мінімізує,

якщо lim F (c )   . Доведено, що послідовність (9.57) дійсно є такою, що мінімі-
N 

зує цей функціонал.

9.7.3. Метод зважених похибок наближення


Метод створено Г.І. Петровим у 1938 ... 1940 рр. Автор виходив з фундамен-
тальної теореми про проекції (див. Розділ 2.1), згідно з якою у випадку замкненого
простору  2 ( ,  )  H дійсних функцій f ( z ) , які інтегруються з квадратом на
[ ,  ] , із застосуванням (9.48) умову (2.11) запишемо у вигляді
|| f ( z )  f ( z ) ||  || f ( z )  f # ( z ) || , (9.61)
де f # ( z ) – будь-яка інша функція (не f ( z ) ). Необхідною та достатньою умовою ви-
конання цієї нерівності є ортогональність r ( z )  f ( z )  f ( z ) будь-якому вектору

w  {w1 , w2 ,..., wN }TH   2 , тобто потрібно, щоб усі функціонали

Fm   r ( z )  wm ( z )dz  0 ; m  1,..., N . (9.62)

З урахуванням виразу для r ( z ) отримаємо СЛАР (9.52) з компонентами


 
Amn    n ( z )  wm ( z )dz ; bm    f ( z )   ( z )   wm ( z )dz ; m, n  1,..., N . (9.63)
 

Цей метод надає велику свободу для обирання компонент вагового вектора

w , тобто системи wm  wm ( z ) . Обов’язкова умова: це повинна бути повна за енер-
гією лінійно незалежна система. Тому метод найменших квадратів (див. п. 9.7.1)
та метод Релея (див. п. 9.7.2), в яких фактично в ролі компонент вагового вектора
використовуються саме базисні функції, можна розглядати як окремі випадки
методу зважених похибок наближення (МЗПН).
124 Частина ІІ. Розділ 9

Компонентами вагового вектора також можуть бути дельта-функції Дірака


(метод поточкових колокацій):
wm   ( z  zm ) (9.64)
із властивостями
z  zm

 ( z  zm )  0, z  zm ;  ( z  z m )  , z  z m ; 
z  zm
 ( z ) ( z  zm )dz   ( zm ) . (9.65)

Це еквівалентне тому, що похибка наближення вважається рівною нулю в


заданих точках zm . З урахуванням (9.64) і (9.65) з (9.63) отримаємо
Amn   n ( zm ) ; bm  f ( zm )   ( zm ) ; m, n  1,..., N . (9.66)
Ще один варіант – метод колокацій по підобластям. Вагові функції
1, zm  z  zm1 ;
wm   (9.67)
0, z  zm , z  zm1 ,
тому рівняння (9.62) відповідають деяким підобластям основної області. З (9.63):
zm 1 z m 1

Amn  
zm
n ( z )dz ; bm    f ( z )  ( z ) dz ;
zm
m, n  1,..., N . (9.68)

І останній варіант обирання компонент вагових функцій, який розглянемо,


це метод Бубнова (І.Г. Бубнов, 1913 р.), коли в ролі вагових функцій використо-
вуються саме базисні функції:
wm ( z )   m ( z ) . (9.69)
З (9.63), з використанням (9.69), випливають рівняння (9.53). Матриця
СЛАР є симетричною, що полегшує її розв’язування.
Отже, МЗПН фактично є узагальненням багатьох методів найкращого на-
ближення функцій.

9.8. Інші варіанти інтерполювання або наближення функцій

9.8.1. Інтерполювання многочленом Ерміта


У випадку, коли крім значень yi  f ( zi ) при інтерполюванні потрібно вра-
хувати відомі похідні функції у вузлах, тобто yi( j )  f ( j ) ( zi ) , застосовують інтер-
поляційний многочлен Ерміта.
Отже, в кожному вузлі zi  [ ,  ] , i  0,1,..., N задані
yi( j )  f ( j ) ( zi ) ; j  0,1,...M i  1 , (9.70)
де yi  f ( zi )  yi  f ( zi ) , а число M i є порядком похідної у вузлі з номером i , яка
(0) (0)

вже відома, має назву кратності i –го вузла. Тобто відомо m  M 0  M 1  ...  M N
значень функцій та їхніх похідних у вузлах. Многочлен, який задовольняє цим вимо-
гам, є інтерполяційним многочленом Ерміта:
N M i 1
H n ( z )    f ( j ) ( zi )  cij ( z ) , (9.71)
i 0 j 0
Частина ІІ. Розділ 9 125

де n  m  1 , який фактично є лінійною комбінацією звичайних степеневих поліномів


cij ( z ) степені n , а також коефіцієнтів, заданих (9.70).
Відомо, що многочлени Ерміта є розв’язком диференційного рівняння
f ( z )  2 zf ( z )  2nf ( z )  0 .
Похибка інтерполювання многочленом Ерміта:
f ( n1) ( )
f ( z)  H n ( z)  ( z  z0 ) M ( z  z1 ) M  ...  ( z  zM ) M ;   [ ,  ] .
0 1 N
(9.72)
(n  1)!
Навіть при невеликих значеннях N та M j докладні вирази інтерполяційно-
го многочлена Ерміта є складними, тому тут їх не наводимо.

9.8.2. Тригонометричне інтерполювання періодичної функції


Якщо функція f ( z ) , яку потрібно наблизити, є періодичною, то окрім
сплайнової апроксимації з ГУ варіанта ІІІ (див. Розділ 9.6) можна застосовувати
тригонометричний многочлен. У випадку непарної кількості вузлів (нагадаємо,
що zi  [ ,  ] , причому   z0  z1  ...  z N 1  z N   ):
n
Tn ( z )   0    a j cos( jz / L)  b j sin( jz / L)  , (9.73-а)
j 1

де L     , а число n  N / 2 . Якщо кількість вузлів є парною, то коефіцієнт  0 від-


кидається:
n
Tn ( z )    a j cos( jz / L)  b j sin( jz / L)  , (9.73-б)
j 1

причому число n  ( N  1) / 2 .
Коефіцієнти a j та b j знаходяться із системи рівнянь
Tn ( zi )  f ( zi ) ; i  0,1,..., N . (9.74)

9.8.3. Інтерполювання раціональними функціями


У цьому випадку функція f ( z ) наближується виразом
m

m 1
am z  am1 z  ...  a0
m a k  zk 
 mn ( z )   k 0
n 1
, (9.75)
z n  bn1 z n1  ...  b0
z    bk  z
n k

k 0

де m та n є фіксованими числами. Коефіцієнти a0 ,..., am , b0 ,..., bn 1 у кількості


m  n  1 знаходяться за умови
 mn ( zi )  f ( zi ) ; i  0,1,..., N , (9.76)
тобто із СЛАР з N  1 рівнянь. Щоб ця СЛАР мала квадратну матрицю, потрібно,
щоб m  n  1  N  1 або m  n  N . СЛАР буде мати компоненти
m n 1

  ak  ( zi )k   f ( zi )    bk  ( zi )k   f ( zi )  ( zi )n ; i  0,1,..., m  n .
k 0 k 0
(9.77)
126 Частина ІІ. Розділ 9

При застосуванні цього варіанта необхідно стежити, щоб знаменник виразу


(9.75) ніде в [ ,  ] не вироджувався в нуль, а також щоб в [ ,  ] чисельник у
(9.75) не ділився на знаменник без остачі (ситуація залежить від кількості та
положення вузлів).
Якщо m  n  1 , тобто при наявності трьох вузлів, інтерполяція виразом
(9.75) називається дрібно-лінійною інтерполяцією. Саме у цьому випадку часто
зустрічаються вказані вище вироджені ситуації.

9.9. Наближене диференціювання функцій, заданих таблицею


Проблема виникає, коли є функція, що задана таблицею, і необхідно об-
числити значення похідної (диференціала) функції в заданій точці.
У Розділі 9.2, використовуючи наближену формулу (9.4) для скінченних
різниць різних порядків, отримали формули для перших чотирьох похідних,
кожна з яких використовує мінімальну кількість заданих таблицею значень фу-
нкції (стандартний шаблон).
Інакше це завдання можна розв’язати шляхом диференціювання полінома,
що інтерполює функцію, задану таблицею. При цьому кількість вузлових зна-
чень, що використовуються, можна збільшити.
Нехай z – точка, в якій потрібно обчислити похідну. Оберемо у її най-
ближчому околі точку z0 , яка є в таблиці. Позначимо h  zi 1  zi – крок аргумен-
ту таблиці (тут він повинен бути постійним) та введемо новий аргумент
q  ( z  z 0 ) / h , що відповідає z . Визначимо, що dq / dz  1 / h .

9.9.1. Формула наближеного диференціювання, що заснована


на першій інтерполяційній формулі Ньютона
Використаємо першу інтерполяційну формулу Ньютона (9.8) і проведемо її
диференціювання. Отримаємо, що:
1 2q  1 ( 2 ) 3q 2  6q  2 ( 3) 2q 3  9q 2  11q  3 ( 4 ) 
y ( z )   y 0   y 0   y 0   y0  ... ; (9.78)
h 2 6 12 
1 6q  18q  11 ( 4 )
3

y ( z )  ( 2 ) y0  (q  1)( 3) y0   y0  ... (9.79)
h 12 
з похибкою Rn(1) ( z0 )  (1) n ( n1) y0 /[ h(n  1)] .
При z  z0 (у точках таблиці) q  0 , тому:
1 1 ( 2) 1 ( 3) 1 ( 4) 
y ( z 0 )  y   y   y   y  . . . ; (9.80)
h 
0 0 0 0
2 3 4
1 11 
y( z0 )  ( 2 ) y0  ( 3) y0  ( 4 ) y0  . . . . (9.81)
h 12 
Частина ІІ. Розділ 9 127

Надійність обчислення кожної наступної похідної – менша, ніж попередніх.


Тому немає особливого сенсу отримувати їх вирази та застосовувати.
Приклад 9.8. Візьмемо функцію y  log z . Припустимо, що маємо значення
цієї функції тільки в точках z  50, 55, 60, 65 . Потрібно обчислити похідну при
z  50 .
Будуємо, наприклад, горизонтальну таблицю різниць:
z y  log z (1) y ( 2) y (3) y
50 1.6990 0.0414 -0.0036 -0.0005
55 1.7404 0.0378 -0.0031 -
60 1.7782 0.0347 - -
65 1.8129 - - -
Визначимо, що h  5 , а q  0 . Тому, застосовуючи формулу (9.80), отри-
 0.0036  0.0005 
1
маємо, що y (50)  0.0414     0.0087 . Більш точне значен-
5 2 3
ня обчислимо за відомою формулою (log z )  1 /[ z  ln(10)] , отримаємо, що
(log(50))  0.008686 . Тобто у отриманому чисельним інтегруванням значенні
всі цифри є вірними.

9.9.2. Формула наближеного диференціювання, що заснована


на інтерполяційній формулі Стірлінга
Введемо позначення:
y  (y 1  y0 ) / 2 ; ( 3) y  (( 3) y2  ( 3) y1 ) / 3 ; ( 5 ) y  (( 5 ) y 3  ( 5) y 2 ) / 5 . (9.82)
Формулу (9.14) перепишемо у вигляді:
q2 (2) q(q2 12 ) (3) q2 (q2 1) (4) q(q2 12 )(q2  22 ) (5)
Pn (z)  y0  qy   y1   y  y2   y  .... (9.83)
2! 3! 4! 5!
Проведемо її диференціювання. Отримаємо, що:
1 3q 2  1 ( 3) 2q 3  q ( 4 ) 
y ( z )    y  q ( 2)
y 1   y   y 2  . . . ; (9.84)
h 6 12 
1 q  1 ( 4)
2

y ( z )  ( 2 ) y 1  q( 3) y   y 2  . . . . (9.85)
h 2 
Ці формули рекомендують застосовувати (як і формулу Стірлінга) при
| q | 0.5 . При z  z0 (у точках таблиці) q  0 , тому:
1 1 ( 3) 1 ( 5) 
y ( z )    y   y   y  . . . ; (9.86)
h 6 30 
1 1 1 
y( z )  ( 2 ) y1  ( 4 ) y2  ( 6 ) y 3  .. . . (9.87)
h 12 90 
Як і формула Стірлінга, ці формули є центрально-різницевими, тобто мо-
жуть застосовуватися на визначеній відстані від країв таблиці та десь у середині
таблиці, оскільки потребують значень з обох сторін актуальної точки.
128 Частина ІІ. Розділ 9

9.9.3. Диференціювання функції із застосуванням кубічних


сплайнів
Диференціювання функції f ( z ) , інтерпольованої із застосуванням кубіч-
них сплайнів, проводиться простим диференціюванням виразу сплайну. Зокре-
ма, якщо застосувати кубічний сплайн класу s ( z )  C 2 [ ,  ] , тобто з дефектом
k  1 (9.26), тобто
ci d
si ( z )  f ( zi )  bi ( z  zi )  ( z  zi ) 2  i ( z  zi )3 ; z  [ zi 1 , zi ] ; i  1, 2..., N , (9.88)
2 6
то легко одержати, що
di
si( z )  bi  ci ( z  zi ) ( z  zi ) 2 ; z  [ zi 1 , zi ] ; i  1, 2..., N , (9.89)
2
si( z )  ci  di ( z  zi ) ; z  [ zi 1 , zi ] ; i  1, 2..., N , (9.90)
si( z )  di ; z  [ zi 1 , zi ] ; i  1, 2..., N . (9.91)
У цих формулах коефіцієнти bi та di утворюються із застосуванням фор-
мул (9.35), а ci – як результат розв’язання СЛАР, що відповідає граничним умо-
вам обраного варіанта (див. Розділ 9.6).

9.9.4. Некоректність операції чисельного диференціювання


Зазвичай значення функції f ( zi ) в таблиці мають деякі похибки, викликані
або наближеним обчисленням або усіканням кількості значущих цифр. Позна-
чимо як  i такі похибки у вузлах. Розглянемо простий випадок: обчислення
першої похідної формулою f ( z )  ( yi 1  yi ) / h (див. Розділ 9.2). Максимальна
можлива похибка від такого роду похибок буде такою:
|  f  |max  max{[( yi 1  i1 )  ( yi  i )]/ h  ( yi1  yi ) / h}  max{(i 1  i ) / h}  2 / h , (9.92)
де   max{ i 1 ,  i } . Одночасно максимальна похибка апроксимації саме похідної
f ( z ) має значення ||  f  || hM 2 / 2 , де M 2 є максимальне значення другої похідної в
діапазоні z  [ zi 1 , zi ] . Природно вимагати, щоб похибка |  f  |max не перевищувала по-
хибки |  f  |max , тобто щоб 2 / h  hM 2 / 2 . Звідси можна записати вимоги або для 
або для h , коли  не можна змінити:
  M 2 (h / 2) 2  O (h 2 ) або h  2  / M 2 , (9.93)
причому |  f  |max  O(h) .
Аналогічні (9.93) обмеження можна отримати і для інших формул чисель-
ного диференціювання. Загальним є той факт, що з підвищенням порядку похі-
дної ситуація погіршується. Тому у загальному випадку операція чисельного
диференціювання вважається некоректною.
Частина ІІ. Розділ 9 129

Контрольні питання до Розділу 9.1


1. Чим розрізняються поняття відновлення, інтерполювання, екстраполю-
вання на наближення функцій?
Контрольні питання до Розділу 9.2
1. Які формули застосовуються у методі скінченних різниць для апрокси-
мації похідних другого, третього та четвертого порядків?
2. Які властивості має інтерполяційний поліном n -ої степені при n  N ?
Контрольні питання до Розділу 9.3
1. В яких межах застосовують інтерполяційні формули Ньютона?
2. Чи мають інтерполяційні формули Ньютона формули для оцінювання
похибки інтерполяції?
Контрольні питання до Розділу 9.4
1. Як створюється інтерполяційна формула Стірлінга?
Контрольні питання до Розділу 9.5
1. Які інтерполяційні формули застосовуються у випадку різного кроку
між опорними вузлами?
2. Що це таке: поділені різниці?
Контрольні питання до Розділу 9.6
1. Які властивості має кубічний сплайн класу C 2 з дефектом k  1 ?
2. Як будується кубічний сплайн s ( z ) ?
3. Назвіть практичні рекомендації щодо використання сплайнів.
Контрольні питання до Розділу 9.7
1. Що називають проблемою найкращого наближення?
2. Про що йдеться в основній лемі фізики суцільних середовищ?
3. Який суттєвий недолік має метод найменших квадратів?
4. Яке обмеження має метод Релєя?
5. Чому метод зважених похибок наближення вважають універсальним?
Контрольні питання до Розділу 9.8
1. В яких випадках для найкращого наближення застосовують інтерполя-
ційний многочлен Ерміта?
2. Які особливості є при тригонометричному інтерполюванні періодичної
функції?
3. Які особливості є при інтерполюванні раціональними функціями?
Контрольні питання до Розділу 9.9
1. Чи можна використовувати різноманітні формули інтерполювання при
чисельному диференціюванні?
2. Чому операції чисельного диференціювання вважають некоректними?
130 Частина IІ. Розділ 10

Розділ 10

НАБЛИЖЕНЕ ІНТЕГРУВАННЯ ФУНКЦІЙ

10.1. Загальні положення


Формула Ньютона-Лейбніца
b

 f ( x)dx  F (b)  F (a) ;


a
F ( x)  f ( x) , (10.1)

де F (x) – первісна, дозволяє точно обчислити значення визначеного інтеграла.


Однак, цього досить часто не вдається зробити, оскільки:
 не знайдено аналітичного виразу для первісної F (x) ;
 функція f (x) задана таблицею (не має аналітичного запису).
Тоді застосовують наближене інтегрування функцій. У загальному випадку
процес побудови формул для наближеного інтегрування містить такі етапи:
а/ вихідна функція f (x) замінюється на добуток двох інших, який наближує
функцію, тобто приймається, що f ( x)  p ( x)   ( x) . При цьому вагова функція p (x)
повинна мати такі же особливості, як і функція f (x) , наприклад, мати таку ж шви-
дкість збіжності до деякого значення. Якщо таких особливостей немає, то прийма-
ють p( x)  1 . Функція  (x) повинна бути гладкою функцією, яка добре наближу-
ється многочленами або раціональними функціями.
Тоді результат інтегрування можна записати у вигляді квадратурної суми
b b n

 f ( x)dx   p ( x)   ( x)dx    i  ( xi ) , (10.2)


a a i 0

де  i – квадратурні ("вагові") коефіцієнти, xi  [a, b] – вузли квадратури (точки


інтегрування), а у якості функції  (x) може виступати  (x) або інша функція.
Зазвичай  (x) обирається у вигляді деякого полінома: Лагранжа, Лежандра,
Чебишева тощо. При цьому й  (x) – теж поліном. На момент інтегрування ва-
гова функція p(x) вважається фіксованою (визначеною), тому її вплив відобра-
жається у квадратурних коефіцієнтах  i .
Отже, у загальному випадку може бути дві похибки. Перша пов’язана із
заміною f (x) на p ( x)   ( x) і може визначатися як
b

 | f ( x)  p( x)   ( x) | dx   ( x)   ;
a
  0. (10.3)
Друга похибка пов’язана із заміною інтеграла сумою. Її визначають як
b n

 p( x)   ( x)dx    i  ( xi )  Rn ( x) .
a i 0
(10.4)
Першу похибку не можна заздалегідь формалізувати, оскільки вона зале-
жить від якості інтерполяції (див. Розділ 9. Увага: для інтерполяційних функ-
Частина IІ. Розділ 10 131

цій обов’язково потрібно виконувати умову f ( xi )  p( xi )   ( xi ) ). Тому при ство-


ренні формул наближеного інтегрування із застосуванням квадратурних сум за-
звичай всю увагу зосереджують на визначенні другої похибки, тобто Rn ( x) . Од-
нак це не означає, що похибка (10.3) не має великого значення, оскільки точ-
ність розрахунків визначається сумарною похибкою.
б/ вибирають принципи, за якими призначаються p ( x)   ( x) , n ,  i та xi . Чис-
ло n визначає точність формули, тому вважається фіксованим. Зазвичай зі збіль-
шенням n точність зростає, але не завжди: в деяких формулах при великих зна-
ченнях n квадратурні коефіцієнти  i мають різні знаки, що призводить до значно-
го зниження точності. Відносно до вибору  i та xi є три варіанти:
 попередньо визначеними є квадратурні ("вагові") коефіцієнти  i , при-
чому є такі способи їх призначення:
 усі  i є однаковими;
  i визначаються з умови мінімізації похибок наближення (тоді пови-
нні бути всі  i  0 );
  i – симетричні в діапазоні інтегрування;
 попередньо визначеними є всі квадратурні вузли xi (на рівномірних або не-
рівномірних сітках; зазвичай – на симетрично розташованих рівномірних).
 попередньо визначеними є деякі (не всі) квадратурні вузли xi , причому є
сенс обов’язково визначати вузли на границях області інтегрування.
Якщо хоча б одна з границь інтервалу не містить квадратурного вузла, то
така квадратурна формула називається відкритою, інакше – закритою.
Як з’ясувалося, всі формули наближеного інтегрування, побудовані на пар-
ній кількості квадратурних вузлів, симетричних відносно центра інтервалу (си-
метричні формули), мають дещо кращу точність, ніж це випливає із загальних
оцінок.
в/ для підвищення точності інтервал [a, b] розбивають на m відрізків з кро-
ком h  (b  a ) / m , тоді
b x j h
m

 f ( x)dx    p ( x)  
a j 1 xj
j j ( x)dx . (10.5)

Квадратурними називають формули чисельного інтегрування одинарних


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

10.2. Поліноміальне інтегрування


У формулі (10.2) приймемо p( x)  1 , оберемо f ( x)   ( x)  x m ; m  0,1, ... , n .
Зажадаємо, щоб квадратурна сума була точною для всіх m  0,1, ... , n . Для при-
кладу отримаємо формулу поліноміального інтегрування у випадку, коли n  2 ;
132 Частина IІ. Розділ 10

для симетрично розташованих xi в інтервалі [a, b]  [0,1] , причому оберемо


x0  1 / 4 , x1  1 / 2 та x2  3 / 4 , а  ( x)   ( x) . Спочатку проведемо аналітичне ін-
тегрування, щоб отримати систему рівнянь. Результати обчислень наведені в
таблиці 10.1.
Таблиця 10.1. Поліноміальне інтегрування при m  0,1, 2
1 n

m  ( x)   ( x)dx 
i 0
i   ( xi )
0
1 0 0 0
1 1 1  3
0 x 1
0
 dx  x
0
0
1  0     1      2   
 4  2  4
1 1 1 1
1 1 1  3
 xdx  x / 2 0  1 / 2  0     1      2   
2
1 x x
1

0  4  2  4
1 2 2 2
1 1 1  3
 x dx  x / 3 0  1/ 3  0     1      2   
2 2 3
2 x
0  4  2  4
Отримана система (див. останній стовпчик таблиці 10.1) має розв’язок:
 0   2  2 / 3 , 1  1 / 3 . Отже, формула поліноміального інтегрування з трьома
симетричними квадратурними вузлами має такий вигляд:
1
2 1 2
  ( x)dx  3 f (1 / 4)  3 f (1 / 2)  3 f (3 / 4) .
0
(10.6)

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


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

10.3. Інтерполяційні квадратурні формули


Квадратурними формулами інтерполяційного типу називаються такі, що
для визначення квадратурних сум застосовують інтерполяційний поліном Лаг-
ранжа. Вони можуть будуватися на нерівномірних або рівномірних сітках. По-
передньо визначеними є квадратурні вузли xi , знаходяться квадратурні коефіці-
єнти  i .

10.3.1. Загальна інтерполяційна квадратурна формула


В інтервалі [a, b] призначається n  1 квадратурний вузол xi (включно з
x0  a та xn1  b , формула закритого типу) з довільною відстанню між ними. В
якості функції  ( x) , яка має відому первісну, обирається поліном Лагранжа n -
ої степені:
n
 1 
 ( x)  Ln ( x)   n1 ( x)     ( xi ) , (10.7)
i 0   n1 ( xi )  ( x  xi ) 
де поліном
Частина IІ. Розділ 10 133

 n1 ( x)  ( x  x0 )  ( x  x1 )  ...  ( x  xn ) , (10.8)


причому виконана умова f ( xi )  p( xi )   ( xi ) . З урахуванням формул (10.4),
(10.7) і (10.8):
b b n

 p( x)   ( x)dx   p( x)  Ln ( x)dx  Rn ( x)    i ( xi ) .
a a i 0
(10.9)

Знак суми та фіксовані значення  ( xi ) виносяться за межи інтеграла:


b n
 b
 n1 ( x)  n
a p ( x )  Ln ( x ) dx  Rn ( x )   

i 0 
 ( xi 
) p ( x )  dx     i ( xi ) .
 n1 ( xi )  ( x  xi )  i 0
(10.10)
a

Відповідно до (10.9) з (10.10) вагові коефіцієнти визначаються формулою


b
 n1 ( x)
 i   p ( x)  dx . (10.11)
a  n1 ( xi )  ( x  xi )
Якщо вагові коефіцієнти будуть визначеними з (10.11) точно, то для мно-
гочленів до степенів n включно похибка Rn (x) буде дорівнювати нулю.
У інших випадках похибка Rn (x) визначається за допомогою формули:
1b
Rn ( x)   p( x)   n1 ( x)   ( n ) ( )dx , (10.12)
n! a
де  ( n ) ( ) – похідна n -ої степені в деякій точці   [a, b] (якщо така похідна існує).

10.3.2. Квадратурні формули Ньютона-Котеса


В інтервалі [a, b] призначається n  1 точка інтегрування (включно з x0  a та
xn  b , формула закритого типу) з однаковою відстанню між ними h  (b  a) / n , тоб-
то xi  a  hi . Проводиться заміна: q  ( x  a ) / h , при цьому x  a  hq , а 0  q  n .
Вираз (10.8) з урахуванням того, що b  a  hn , змінює вигляд на
 n1 ( x)   n 1 (a  qh)  h n1  (q  0)  (q  1)  ...  (q  n) . (10.13)
Тоді можна одержати, що
 n1 ( xi )   n1 (a  ih)  (1) ni  h n  i!(n  i )! . (10.14)
Відповідно до виразу (10.11), враховуючи, що x  a при i  0 , а x  b при
i  n (це – нові межи інтегрування):
n
( 1) ni q  (q  1)  ...  ( q  n)
 i   p(a  hq)   hdq . (10.15)
0 i!(n  i )! (q  i)
Якщо врахувати, що h  (b  a ) / n , то з (10.15)
1 ( 1) ni n q  (q  1)  ...  (q  n)
 i  (b  a )     p (a  hq)  dq . (10.16)
n i!( n  i )! 0 (q  i )
При p( x)  1
 i  (b  a )  ( H n ) i , (10.17)
де позначені коефіцієнти Котеса (Ньютона-Котеса):
1 (1) ni n q  (q  1)  ...  (q  n)
n i!(n  i )! 0
( H n )i    dq ; i  0,1..., n . (10.18)
(q  i )
134 Частина IІ. Розділ 10

Отже, квадратурна формула Ньютона-Котеса:


b n

  ( x)dx  (b  a)   ( H n )i  ( xi ) .
a i 0
(10.19)

Коефіцієнти Ньютона-Котеса мають такі властивості:


n

 (H
i 0
)  1 ; ( H n ) i  ( H n ) n i .
n i (10.20)
~
Їхні значення поміщено в таблицю 10.2 (прийнято, що ( H n ) i  ( H n ) i / wn , де
wn – загальний для даного n знаменник).
Таблиця 10.2. Коефіцієнти Ньютона-Котеса
~ ~ ~ ~ ~ ~ ~ ~ ~ wn
n (H n )0 ( H n )1 (H n )2 ( H n )3 (H n )4 ( H n )5 (H n )6 (H n )7 ( H n )8
1 1 1 2
2 1 4 1 6
3 1 3 3 1 8
4 7 32 12 32 7 90
5 19 75 50 50 75 19 288
6 41 216 27 272 27 216 41 840
7 751 3577 1323 2989 2989 1323 3577 751 17280
8 989 5888 -928 10496 -4540 10496 -928 5888 989 28350

Квадратурні формули Ньютона-Котеса з непарною кількістю точок інтег-


рування ( n – парні) є точнішими. При n  7 застосовувати формули Ньютона-
Котеса не рекомендується, оскільки при n  8 з’являються від’ємні коефіцієнти,
що може призвести до підвищених похибок.

10.3.3. Окремі випадки квадратурних формул Ньютона-Котеса


Поширеними є три варіанта квадратурних формул Ньютона-Котеса: при
n  1 – формула трапецій, при n  2 – формула Сімпсона, при n  3 – формула
Ньютона.
10.3.3.1. Формула трапецій
При p ( x)  1 та n  1 : x0  a , x1  b , із таблиці 10.2 ( H 1 ) 0  ( H 1 )1  1 / 2 .
Оскільки h  b  a , то з (10.19)
b

  ( x)dx  (b  a)  [ (a)   (b)] / 2 .


a
(10.21)

Похибка апроксимації для формули трапеції обчислюється з (10.12) з ура-


хуванням того, що p( x)  1 та  n1 ( x)  ( x  a )( x  b) . Після інтегрування:
h3
R ( x)    ( ) ;   [a, b] , тобто R ( x)  O( h 3 ) . (10.22)
12
При  ( x)  0 формула трапецій дає значення з перебільшенням, при
 ( x)  0 – з нестачею.
Частина IІ. Розділ 10 135

10.3.3.2. Формула Сімпсона (формула парабол)


При p( x)  1 та n  2 : x0  a , x1  c  (a  b) / 2 , x2  b ; із таблиці 10.2
( H 2 ) 0  ( H 2 ) 2  1 / 6 , а ( H 2 )1  4 / 6 . Оскільки h  (b  a ) / 2 , то з (10.19)
b

  ( x)dx  (b  a)  [ (a)  4 (c)   (b)] / 6 .


a
(10.23)
Похибка апроксимації для неї обчислюється з формули (10.12) з урахуван-
ням того, що p ( x)  1 та  n1 ( x)  ( x  a)( x  c)( x  b) . Після інтегрування:
h5 (4)
R ( x)    ( ) ;   [a, b] , тобто R ( x)  O( h 5 ) . (10.24)
90
Отже, формула Сімпсона має дуже високий 5-й порядок наближення.
10.3.3.3. Квадратурна формула Ньютона
При p( x)  1 та n  3 : x0  a , x1  c  a  (b  a) / 3 , x2  e  a  2(b  a ) / 3 ,
x3  b , із таблиці 10.2 ( H 3 ) 0  ( H 3 ) 3  1 / 8 , а ( H 3 )1  ( H 3 ) 2  3 / 8 . Оскільки
h  (b  a ) / 3 , то з (10.19)
b

  ( x)dx  3(b  a)  [ (a)  3 (c)  3 (e)   (b)] / 8 .


a
(10.25)
Похибка апроксимації для формули Ньютона обчислюється з (10.12) з ура-
хуванням того, що p( x)  1 та  n1 ( x)  ( x  a)( x  c)( x  e)( x  b) . Після інтегру-
вання остаточний вираз:
3h 5 ( 4 )
R( x)    ( ) ;   [a, b] , тобто R ( x)  O( h 5 ) . (10.26)
80
тобто при однаковому кроці формула Ньютона формально має таку ж точність,
як й формула Сімпсона, фактично – десь у два рази меншу ( 3 / 80  1 / 90 ), до то-
го ж потребує більшого обсягу обчислень.
10.3.3.4. Загальні форми квадратурних формул трапецій, Сімп-
сона та Ньютона
Якщо на інтервалі [a, b] функція y (x) змінюється швидко, або інтервал – зна-
чний, то для високої точності інтегрування можна або застосовувати формули
Ньютона-Котеса з великим n , або розбити інтервал на декілька інтервалів меншо-
го розміру і на кожному із отриманих інтервалів застосувати формулу Ньютона-
Котеса з малим n . У другому випадку, після групування однакових значень функ-
цій, можна отримати загальні форми квадратурних формул. Якщо кількість таких
інтервалів позначимо як k , то (при h  (b  a ) / k ):
 загальна формула трапецій
b

  ( x)dx  h  [ ( x ) / 2   ( x )   ( x )  ...   ( x
a
0 1 2 k 1 )   ( xk ) / 2] , (10.27)

має похибку
h3
R( x)    ( ) ;   [a, b] , тобто R ( x)  O(h 3 ) . (10.28)
12  k 2
136 Частина IІ. Розділ 10

 загальна формула Сімпсона при парній кількості k


b

  ( x)dx  h  [ ( x )  4
a
0 1  2 2   ( xk )] / 3 , (10.29)

де 1   ( x1 )   ( x3 )  ...   ( x2 m1 ) та  2   ( x2 )   ( x4 )  ...   ( x2 m ) ; має похибку


h5
R( x)    ( 4 ) ( ) ;   [a, b] , тобто R( x)  O(h 5 ) . (10.30)
90  k 4

 загальна формула Ньютона при k , кратному трьом


b

  ( x)dx  3h  [ ( x )  2
a
0 1  3 2   ( xk )] / 8 , (10.31)

де 1   ( x3 )   ( x6 )  ...   ( xk 3 ) та  2   ( x1 )   ( x2 )   ( x4 )   ( x5 )  ...   ( xk 2 ) 
  ( xk 1 ) ; має похибку
3h 5
R ( x)    ( 4 ) ( ) ;   [a, b] , тобто R( x)  O(h 5 ) . (10.32)
80  k 4

Ці формули формально мають такий же порядок точності, як й прості, але


фактично – кращий, оскільки у знаменнику з’являється k 2 або k 4 відповідно.
При застосуванні формул (10.27) та (10.29) рекомендують провести два розра-
хунки: з кроком h та 2h . Співпадаючі десяткові знаки у результатах вважають
точними. Увага: якщо загальна кількість квадратурних вузлів буде непарною та
одночасно кратною трьом, то загальну формулу Сімпсона застосувати не мо-
жливо. Тоді рекомендують використовувати загальну формулу Ньютона.

10.4. Квадратурні формули Чебишева


10.4.1. Алгоритм створення квадратурних формул Чебишева
Квадратурні формули Чебишева отримані при фіксованому (єдиному) ва-
говому коефіцієнті. Значення координат квадратурних вузлів обрані з умови,
що формула є точною для усіх  (x) у вигляді полінома до степені n включно.
Спочатку за допомогою формули
ab ba
x  q (10.33)
2 2
проводиться заміна аргументу та границь інтегрування, потім – наближення:
1 1 n

 f (q )dq   p ( q )   (q )dq      (qi ) . (10.34)


1 1 i 1

Оскільки   const для будь-якого виразу  (q) , то й для випадку  (q)  1 .


Тоді з (10.34):
1 n
11
 p(q)  1  dq    
1 i 1
1    n , тобто    p(q)dq .
n 1
(10.35)

Для отримання значень координат квадратурних вузлів qi збирається система


з n рівнянь за умови, що при  (q)  q1 , q 2 , q 3 , ..., q n формула є точною. У загаль-
ному вигляді при невідомій ваговій функції p(q) отримати розв’язок системи,
тобто знайти qi , неможливо. Але доведено, що така система матиме єдиний
Частина IІ. Розділ 10 137

розв’язок, якщо функція p (q ) однозначна в діапазоні q  [1,1] . Увага: значення


qi можуть бути комплексними або не лежати у діапазоні [1,1] .

10.4.2. Квадратурні формули Чебишева при одиничній ваговій


функції
Якщо p(q )  1 , то з формули (10.35)
1
2
 1  dq  2 ,
1
тобто  .
n
(10.36)

Отже, формули Чебишева при p(q)  1 мають вигляд


1 1
2 n
 f (q )dq    (q )dq     (qi ) . (10.37)
1 1 n i 1
Для отримання значень qi збирається система з n рівнянь за умови, що при
 (q )  q1 , q 2 , q 3 , ..., q n формула є точною. Попередньо можна отримати, що
n 1 1 n 1 2 n n 1 i n[1  (1) i 1 ]
w1    q dq  0 ; w2    q dq  ; ... ; wn    q dq  . (10.38)
2 1 2 1 3 2 1 2(i  1)
n n
Оскільки з (10.37)   (q )   (q )
i 1
i
i 1
i
i
 wi , то система рівнянь буде така:

( q1 )1  ( q 2 )1  ...  ( q n )1  0 ;

( q1 )  ( q 2 )  ...  ( q n )  n / 3 ;
2 2 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . ; (10.39)
 n[1  ( 1) n 1 ]
( q1 ) n  ( q 2 ) n  ...  ( q n ) n  .
 2( n  1)
В алгебрі многочленів розроблено алгоритм розв’язування таких неліній-
них систем. Спочатку розв’язується лінійна система
 w1  a1  0 ;
w  a w  2a  0 ;
 2 1 1 2
(10.40)

. . . . . . . . . . . . . . . . . . . . . . ;
 wn  a1 wn 1  a 2 wn  2  ...  na n  0 ,
а потім за допомогою отриманих коефіцієнтів ai будується поліном
 n (q )  q n  a1  q n1  a2  q n2  ...  an , (10.41)
корені якого й є координатами квадратурних вузлів qi .
У нашому випадку, оскільки все непарні w1  w3  ...  0 , то й всі непарні
a1  a3  ...  0 . Парні коефіцієнти знаходяться з залишків системи (10.40):
n / 3  2a2  0 ;
 n / 5  na / 3  4 a  0 ;


2 4
(10.42)
 n / 7  na 2 / 5  na 4 / 3  6 a6  0 ;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
138 Частина IІ. Розділ 10

Розглянемо деякі окремі випадки.


При n  1 , ваговий коефіцієнт   2 та a1  0 . Тому з (10.41) отримаємо, що
1 ( q )  q  a1  q . Величина q1 знаходиться з рівняння  1 (q1 )  0 , тому й q1  0 .
Отже, при n  1 формула Чебишева:
1 1

 f (q)dq    (q)dq  2   (0) .


1 1
(10.43)

При n  2 , ваговий коефіцієнт   1 та, оскільки w1  0 і w2  2 / 3 , з (10.40)


маємо a1  0 , a2  1 / 3 . Тому з (10.41) отримаємо, що  1 (q )  q 2  a2 . Величини
q1 та q2 знаходяться з рівняння  1 (q )  q 2  a2  0 , тому q1  1 / 3 та q2  1 / 3 .
Отже, при n  2 формула Чебишева:
1 1


1
f (q )dq    (q ) dq   ( 1 / 3 )   (1 / 3 ) .
1
(10.44)

Отримані подібнім чином значення qi поміщені в таблицю 10.3. Врахова-


но, що при n  8 та n  10 система (10.42) не має дійсних розв’язків.
Таблиця 10.3. Значення вагових коефіцієнтів та координат квадратур-
них вузлів квадратурних формул Чебишева

n  i qi
1 2 1 0
2 1 1, 2  0.577356
1, 3  0.707107
3 2/3
2 0
1, 4  0.794654
4 1/2
2, 5  0.187592
1, 5  0.832498
5 2/5 2, 4  0.374541
3 0
1, 6  0.86625
6 1/3 2, 5  0.42252
3, 4  0.26664
1, 7  0.88386
2, 6  0.52966
7 2/7
3, 5  0.32391
4 0
1, 9  0.91159
2, 8  0.60102
9 2/9 3, 7  0.52876
4, 6  0.16791
5 0
Примітка 10.1. З теорії імовірності випливає, що застосування рівних
вагових коефіцієнтів мінімізує імовірнісну похибку, якщо значення  (q ) відпо-
відають нормальному закону розподілу випадкових похибок.
Частина IІ. Розділ 10 139

10.5. Квадратурні формули найвищої алгебраїчної степені


точності

10.5.1. Загальні положення


Застосовується загальний підхід: значення координат квадратурних вузлів
та вагових коефіцієнтів заздалегідь невідомі; формула повинна бути точною
для всіх  ( x) у вигляді полінома до степені n включно.
Із застосуванням формули (10.33) проводиться заміна аргументу та гра-
ниць інтегрування, тому
1 1 n

 f (q )dq   p (q )   ( q )dq    i   (qi ) . (10.45)


1 1 i 1

Доведено теорему, що для того, щоб формула (10.45) була точною для всіх
многочленів степені 2n  1 включно, необхідно та достатньо, щоб ця формула
була інтерполяційною, функція p (q ) не змінювала знак, а також щоб квадратур-
ні вузли були обрані так, щоб многочлен  n (q)  (q  q1 )  (q  q2 )  ...  (q  qn ) був
ортогональним до кожного многочлена Qk (q) , степінь якого менша, ніж n :
1


1
n (q)  Qk (q)dq  0 ; k  0,1, ...  n  1, 2, ... . (10.46)

Тоді всі корені цього многочлена – різні та належать діапазону [1,1] . Як-
що функція p(q)  0 , то всі квадратурні коефіцієнти є додатними. Також пока-
зано, що похибка Rn (q) наближеного інтегрування при наявності безперервних
похідних дається формулою
1
1
Rn ( x)    ( )   p (q )  ( n (q )) 2  dq ,
(2n)
(10.47)
( 2n)! 1

де  ( 2 n ) ( ) – похідна вказаної степені в деякій точці   [a, b] (якщо вона існує).

10.5.2. Квадратурні формули Гаусса (Гаусса-Лежандра)


Вважається, що вагова функція p (q )  1 . У квадратурних формулах Гаусса
в якості полінома  n (q) використовується поліном Лежандра
1 dn 2
Ln (q )  n n
(q  1) n ; n  0,1, ... , (10.48)
2 n! dq
який в інтервалі [1,1] має такі властивості:
 значення на краях інтервалу Ln (1)  1 ; Ln (1)  (1) n ; n  0,1, ... ;
 має n різних дійсних коренів;
 ортогональний до будь-якого полінома Qk (q) при k  n , тобто викону-
ється умова (10.46).
Для визначення величин  i та qi потрібно зібрати систему з 2 N рівнянь,
де N – найбільше значення n . Перші N рівнянь для визначення квадратурних
140 Частина IІ. Розділ 10

вузлів qi утворюються як вирази коренів многочлена (10.48). Ще N рівнянь для


визначення квадратурних коефіцієнтів утворюються як результати аналітично-
го інтегрування (10.45) при  (q)  Ln (q) , n  1, 2, ..., N . Розв’язок отриманих сис-
тем рівнянь – значення величин  i та qi , поміщено в таблицю 10.4. Крім того, є
явна формула для визначення  i :
2  [1  (qi ) 2 ]
ai  . (10.49)
n 2  [ Ln1 (qi )]2

Таблиця 10.4. Значення вагових коефіцієнтів та координат квадратур-


них вузлів квадратурної формули Гаусса (Гаусса-Лежандра)
N i i qi
1 1 2 0.0
2 1, 2 1  1/ 3
1, 3 5/9  3/5
3
2 8/9 0.0
1, 4 0.347854845137454  0.861136311594053
4
2, 3 0.652145154862546  0.339981043584856
1, 5 0.236926885056189  0.906179845938664
5 2,4 0.478628670499366  0.538469310105683
3 0.568888888888889 0.0
1, 6 0.171324492379170  0.932469514203152
6 2, 5 0.360761573048139  0.661209386466265
3, 4 0.467913934572691  0.238619186083197
1, 7 0.129484966168870  0.949107912342759
2, 6 0.279705391489277  0.741531185599394
7
3, 5 0.381830050505119  0.405845151377397
4 0.417959183673469 0.0
1, 8 0.101228536290376  0.960289856497536
2, 7 0.222381034453374  0.796666477413627
8
3, 6 0.313706645877887  0.525532409916329
4, 5 0.362683783378362  0.183434642495650
1, 9 0.081274388361574  0.968160239507626
2, 8 0.180648160694857  0.0836031107326636
9 3, 7 0.260610696402935  0.613371432700590
4, 6 0.312347077040003  0.324253423403809
5 0.330239355001260 0.0
1, 10 0.066671344308688  0.973906528517172
2, 9 0.149451349150581  0.865063366688985
10 3, 8 0.219086362515982  0.679409568299024
4, 7 0.269266719309996  0.433395394129247
5, 6 0.295524224714753  0.148874338981631

Формула є точною для многочленів степені 1 при N  1 ; 3 при N  2 ; 5 при


N  3 тощо.
Частина IІ. Розділ 10 141

10.5.3. Про квадратурні формули Гаусса-Лобатто (Маркова)


Фіксуються координати квадратурних вузлів на границі діапазону
[-1,1], а в якості полінома  n (q) використовується поліном Лежандра (10.48).
Якщо застосувати 3 вузла, то отримаємо формулу Ньютона-Котеса (см.
табл.10.2 при n  2 ). Якщо застосувати 4 вузла, то для формули (10.45) отрима-
ємо, що q4   q1  1; q3   q2  1/ 5;  4  1  1/ 6;  3   2  5 / 6 , причому формула
є точною для многочленів степені п’ять.

10.5.4. Про квадратурні формули найвищої алгебраїчної степені


точності для деяких вагових функцій
Відомі декілька квадратурних формул найвищої алгебраїчної степені точ-
ності для вагових функцій, що не дорівнюють одиниці. Наприклад:
 p( x)  (b  x) ( x  a)  при  ,   1 та a  x  b (вагова функція Якобі).
Описує особливості функції f (x) на кінцях відрізку [a, b] ;
 p( x)  x e  x при   1 та 0  x   (вагова функція Лагерра). Описує особ-
ливості функції f (x) в точці x  0 , а також швидкість убування при x   ;
2
 p( x)  e  x при    x   (вагова функція Ерміта). Описує швидкість
убування функції f (x) при x   та x   .
Докладно про ці випадки викладено, наприклад, у книзі [14].

10.6. Закінчення
Окрім описаних вище варіантів наближеного обчислення інтегралів є ще й
інші, зокрема:
 наближене інтегрування інтегралів з урахуванням заздалегідь призначе-
них вузлів інтегрування;
 наближене інтегрування невласних інтегралів;
 наближене інтегрування невизначених інтегралів;
 наближене інтегрування інтегралів із застосуванням сплайнів.
Крім того існує проблема підвищення точності наближеного обчислення
інтегралів, яка вирішується не тільки збільшенням значення степені многочлена
n або кількості інтервалів, але й шляхом додавання до квадратурної суми нових
членів, які повністю або в основному наближують остаточний член квадратур-
ної формули Rn (x) .

Контрольні питання до Розділу 10.1


1. Які є три варіанти попередньо визначення квадратурних коефіцієнтів та
вузлів при наближеному інтегруванні функцій?
2. Які формули чисельного інтегрування називають квадратурними?
Контрольні питання до Розділу 10.2
1. Чому поліноміальне інтегрування не може мати значну точність?
142 Частина IІ. Розділ 10

Контрольні питання до Розділу 10.3


1. Які принципові особливості мають квадратурні формули інтерполяцій-
ного типу?
2. Яку кількість квадратурних вузлів (парну або непарну) має загальна ін-
терполяційна квадратурна формула?
3. Чи може загальна інтерполяційна квадратурна формула мати нульову
похибку інтегрування?
4. Які властивості мають коефіцієнти Ньютона-Котеса?
5. Які відомі формули наближеного інтегрування є окремими випадками
формул Ньютона-Котеса?
Контрольні питання до Розділу 10.4
1. Чи є обмеження в підвищенні точності інтегрування за квадратурними
формулами Чебишева за рахунок підвищення степені n полінома, що набли-
жує?
Контрольні питання до Розділу 10.5
1. Який загальний підхід застосовується для створення квадратурних фор-
мул найвищої алгебраїчної степені точності?
2. Який поліном застосовується для отримання квадратурних формул Га-
усса-Лежандра? Яка важлива властивість цього полінома використовується при
цьому?
Частина ІІ. Розділ 11 143

Розділ 11

ЧИСЕЛЬНЕ ІНТЕГРУВАННЯ ЗВИЧАЙНИХ ДИФЕРЕНЦІЙНИХ


РІВНЯНЬ ТА ЇХ СИСТЕМ

11.1. Загальні положення


Існує клас задач, в яких рівняння крайової задачі мають тільки прості
похідні від одного параметра (позначимо його як   0 ). Наприклад, це задачі
про згин стрижня чи вісесиметричної оболонки ( є просторовим параметром)
або еволюційні чи динамічні ( є часовим параметром), для яких основне рів-
няння можна записати як
du ( ) / d  u( )   ( , u ) або d 2u ( ) / d 2  u( )   ( , u ) . (11.1)
В останньому випадку задачу можна представити у вигляді системи з двох
диференційних рівнянь першого порядку:
du ( ) / d  u( )   ( , u ) ; d ( , u ) / d   ( , u )   ( , u ) . (11.2)
Більш того, будь-яке рівняння з похідною N -го порядку можна представити
у вигляді N рівнянь з похідними першого порядку. Тобто завжди можна привести
таку задачу до системи рівнянь з похідними першого порядку:
dui ( ) / d   i ( , u1 ,..., u N ) ;   0 ; i  1,..., N , (11.3)
де N – одночасно кількість диференційних рівнянь першого порядку та функ-
цій, які необхідно знайти. В задачі обов’язково задаються вихідні умови:
ui (0)  (ui )0 ; i  1,..., N . (11.4)
Задача для системи диференційних рівнянь (11.3) з вихідними умовами
(11.4) називається задачею Коші. Її розв’язок існує та є одиничним, якщо одно-
часно виконуються наступні умови:
 функції i ( , u1 ,..., u N ) є безперервними в замкненій області
D  |  | a ; | ui  (ui )0 | b ; i  1,..., N  ; (11.5)
 функції i ( , u1 ,..., u N ) задовольняють умовам Ліпшіца
| i ( , u1,..., uN )   i ( , u1,..., uN ) | A  | u1  u1 | ... | uN  uN | (11.6)
для будь-яких точок ( , u1,..., uN ) та ( , u1,..., uN ) області визначення D . Тут A є
деякою константою, яка не залежить від  .

11.2. Методи розв’язування задачі Коші для одного рівняння


Для розв’язування задачі Коші розроблено дві групи методів різного по-
рядку наближення: Рунге-Кутта (Ейлера, Рунге-Кутта) і багатокрокові різницеві
методи (Адамса, "прогнозу-корекції").
Ідеї всіх методів розглянемо у випадку N  1 у рівняннях (11.3), (11.4). Рів-
няння (11.3) інтегрується згідно з теоремою про середнє при інтегруванні:
144 Частина ІІ. Розділ 11
 n 1
(u )n 1  (u ) n    ( , u )d  (u )
n
n  n ( , u )   , (11.7)

де    n1   n ; індекс n  0,1,... є номером часового шару або кроку, але пара-
метри  й u функції  n (, u ) , при яких інтегрування дає точне значення – неві-
домі, тому функція  n (, u ) утворюється у різних методах по-різному.

11.2.1. Методи Ейлера, Рунге-Кутта


У методі Рунге-Кутта функція n (, u) утворюється як комбінація декількох
зважених функцій k j , які обчислюються завдяки явної m -етапної процедури:
 m 
(u ) n 1  (u ) n   n ( , u )    (u ) n    c j k j    ; (11.8)
 j 1 
k1    n ,(u ) n    n ;

k2    n  a2  , (u ) n  b21 k1  ;

k3    n  a3 , (u ) n  b31 k1  b32  k2  ; (11.9)
... ;

km    n  am  , (u ) n  bm1 k1  bm 2  k2  ...  bm ,m1 km 1  .
Коефіцієнти c j , a j , b jq утворюються з системи алгебраїчних рівнянь (САР),
яка збирається для обраного значення m з умов точності, причому приймається,
m
що c
j 1
j  1 , а значення m повинно співпадати з порядком наближення формули

p . Навіть при цих умовах, при m  1 САР є недостатньо визначеною, тобто має
більше невідомих, ніж рівнянь, а тому має багато варіантів розв’язків, причому
не всі з них є прийнятними. Основні (класичні) варіанти функції  n (, u ) методу
Рунге-Кутта наведено в таблиці 11.1.
Доведено, що в наслідок того, що метод Рунге-Кутта наближує розв’язок
вихідного рівняння, він збігається при   0 , причому порядок його точності
співпадає з порядком апроксимації.
При m  5 формули методу Рунге-Кутта майже не використовуються.

11.2.2. Метод Адамса, багатокрокові методи


Метод Адамса – один з так званих багатокрокових методів з однаковим
кроком  . Для початку процесу такі методи потребують попередніх підрахун-
ків декількох значень функцій ( )n , ( n  0,1,... ), причому ці значення потрібно
одержати зі значно вищою точністю, ніж це бажано для усього розв’язку: на
порядок або (краще) на два порядки. Якщо для цього буде застосовано метод
Рунге-Кутта відповідного порядку наближення, то крок  теж потрібно брати
меншим, ніж у багатокроковому методі, який буде застосовуватися у подаль-
шому. Це є недоліком багатокрокових методів.
Частина ІІ. Розділ 11 145

Таблиця 11.1. Функції  n (, u ) у методах Ейлера і Рунге-Кутта


Назва методу,
Функції  n (, u ) . Всюди k1    n ,(u ) n    n
порядок наближення
Ейлер, 1-й k1
Ейлер k2 , де k2    n   / 2, (u ) n  k1 / 2 
(два варіанти), 2-й  k1  k2  / 2 , де k2    n   , (u )n  k1 
 k1  4k2  k3  / 6 ,
де k2    n   / 2, (u ) n  k1 / 2  ;
Рунге-Кутта k3    n   , (u ) n  (k1  2k2 ) 
(два варіанти),
3-й  k1  3k3  / 4 ,
де k2    n   / 3, (u ) n  k1 / 3 ;
k3    n  2 / 3, (u ) n  2k2  / 3
 k1  2k2  2k3  k4  / 6 ,
де k2    n   / 2, (u ) n  k1 / 2  ;
k3    n   / 2, (u ) n  k2  / 2  ;
k4    n   , (u ) n  k3 
 k1  3k2  3k3  k4  / 8 ,
Рунге-Кутта де k2    n   / 3, (u ) n  k1 / 3 ;
(три варіанти), k3    n  2 / 3, (u ) n  (k1 / 3  k2 )  ;
4-й k4    n   , (u ) n  ( k1  k2  k3 ) 
 k1  (2  2)k2  (2  2)k3  k4  / 6 ,
 
де k2   ( n   / 2, (u ) n  k1 / 2) ;

k3    n   / 2, (u)n  (1/ 2 1/ 2)k1  (1 1/ 2)k2   ; 
k4    n   , (u ) n   k2 / 2  (1  1/ 2)k3   
Для отримання формул багатокрокових методів у формулі (11.7) замість
підінтегральної функції  ( , u ) застосовують один з відомих інтерполяційних
многочленів, який її наближує через декілька відомих значень функцій  n ,
( n  0,1,... ). У разі використання другої формули Ньютона (див. п. 9.3.2)
q(1  q) 2
 n   n 1  q n 1    n 1  ... , де q  (   0 ) /  , отримують явну формулу
2!
Адамса, в якій функція
n (, u)  n  n / 2  52n /12  33n /8  2514n / 720  955n / 288  ... (11.10)
(  – оператор диференціювання вказаного порядку), для застосування якої ще
потрібно провести диференціювання.
146 Частина ІІ. Розділ 11

Узагальнюючи цей та інші подібні методи, було розроблено теорію ліній-


них m -крокових (багатокрокових) різницевих методів, в яких розв’язок дається
формулою
a0  (u)n1  a1  (u)n  ...  am  (u)nm1   b0  n1  b1  n  ...  bm  n1m    , (11.11)
де a0  0 ; n  m  1, m, m  1,... , а також для усунення невизначеності прийнято, що
m

b
j 0
j  1 . Розрахунки починаються з n  1  m , тобто з рівняння

a0  (u)m  a1  (u)m1  ...  am  (u)0   b0  m  b1  m1  ...  bm  0    .


(11.12)
Якщо в (11.11) прийняти b0  0 , то утворюється група явних схем, при
m
b0  0 – неявних. Доведено, що повинна виконуватися умова a
j 0
j  0 , а також

що завжди порядок наближення p  2m для неявних схем та p  2m  1 для яв-


них схем.
Всі схеми методу Адамса можна одержати з (11.11), якщо прийняти
a0   a1  1 , а інші a j  0; j  2,..., m . Тоді повертаємося до формули (11.7) з різ-
m
ними виразами для функції  n (, u )   b j n1 j :
j 0

m 
(u)n1  (u)n   b0  n1  b1  n  ...  bm  n1m     (u)n   bjn1 j    . (11.13)
 j 0 
У таблиці 11.2 наведено декілька перших виразів цієї функції. Порядок
наближення методу Адамса p  m  1 для неявних схем та p  m для явних. При
виконанні деяких додаткових умов для неявних схем і при парних m порядок
наближення методу Адамса p  m  2 .
Таблиця 11.2. Функції  n (, u ) у методі Адамса
Схема m p Функції  n (, u )
1 1  n (метод Ейлера)
2 2 (3 n   n 1 ) / 2
явна 3 3 (23n 16n1  5n2 ) /12
4 4 (55n  59n1  37n2  9n3 ) / 24
5 5 (1901n  2774n1  2616n2 1274n3  251n4 ) / 720
1 2 ( n 1   n ) / 2
2 3 (5n1  8n  n1 ) /12
неявна
3 4 (9n1  19n  5n1  n2 ) / 24
4 5 (251n1  646n  2646n1  106n2 19n3 ) / 720

Відомо, що при m  5 формули методу Адамса не використовуються,


оскільки є нестійкими.
Неявні схеми мають підвищений порядок наближення, але потребують
ітераційного процесу для одержання (u ) n1 .
Частина ІІ. Розділ 11 147

У разі використовування методу простих ітерацій вираз (11.13)


записують як
(u )(nk11)  (u ) n  b0   n1 ( n   ,(u )(nk)1 )  b1   n  ...  bm   n 1m    , (11.14)
де k  0,1,... є номером ітерації.
Якщо всі відомі члени позначити як
Fn  (u ) n  b1   n  ...  bm   n1 m    , (11.15)
то (11.14) запишеться як
(u )(nk11)  b0   n 1 ( n   ,(u )(nk)1 )    Fn . (11.16)
Визначимо число M таке, що |  ( , u ) / u | M . Тоді умовою збіжності
ітераційного процесу (11.16) буде нерівність
  1/(b0  M ) , (11.17)
яка є досить жорсткою при значних M (вимагає дуже малих кроків  ).
Для інших багатокрокових схем рекомендують проводити аналіз характе-
ристичного рівняння
m

a q
j 0
j
m j
 0. (11.18)

Визначають, чи задовольняють всі його корені умові стійкості та збіжності


| q | 1 , причому корені, для яких | q | 1 , не повинні бути кратними.

11.2.3. Методи типу "прогноз-корекція"


Методами типу “прогноз-корекція” (або "предіктор-коректор") називають
методи, в яких розв’язок утворюється послідовним виконанням таких дій: по-
переднього "прогнозу" (з недостатньою точністю) та наступною "корекцією"
для отримання достатньої точності.
Багато варіантів такого методу можна одержати з неявних багатокрокових
методів, якщо в ітераційному процесі обмежити кількість ітерацій. Зокрема, з
(11.14) при k  0 отримаємо "прогнозне" значення
n 1  (u ) n  b0   n 1 ( n   ,(u ) n 1 )  b1   n  ...  bm   n 1 m    ,
(u ) nprogn
1  (u )(1)  (0)
 (11.19)
а потім "кореговане" (див. таблицю 11.3):
n 1  (u ) n  b0   n 1 ( n   ,(u ) n 1 )  b1   n  ...  bm   n 1 m    ,
(u )corr  progn
 (11.20)
Для визначення отриманої точності розглядається різниця (u )corr n 1  (u ) n 1 .
progn

Якщо вона значна – зменшують  або обирають схему з більшим порядком


наближення p .
Відомо ще багато інших формул методу. Зокрема, в них використовується
n 1  (u ) n 1
такий підмічений факт, що різниця (u )corr progn
майже пропорційна локальній
похибці усікання. Її помножують на ваговий коефіцієнт і додають до раніше
отриманого результату.
У методі Дімсдейла 4-го порядку наближення (див. таблицю 11.3) можна
без проблем міняти крок  , просто застосовуючи нове значення.
148 Частина ІІ. Розділ 11

Таблиця 11.3. Модифіковані методи "прогноз-корекція" 4-го порядку


наближення

1    n 1 , (u ) n 1 
Формули методу. Всюди nmod mod
Назва методу

(u ) nprogn
1  (u ) n   55n  59n1  37n 2  9n3    ;
Прогноз за Адамсом-
(u ) mod progn
 corr  (u ) nprogn  / 270 ;
n 1  (u ) n 1  251  (u ) n
Башфортом та корек-
n 1  (u ) n   9 n 1  19 n  5 n 1   n  2    ;
ція за Адамсом- (u )corr mod

Мултоном
(u ) n 1  (u )corr  corr 
n 1  19  (u ) n 1  (u ) n 1  / 270
progn

(u ) nprogn
1  (u ) n3  4  2n  n1  2n2    / 3 ;
(u ) mod progn
 corr  (u ) nprogn  /121 ;
n 1  (u ) n 1  112  (u ) n
Хеммінга
 
n 1   9(u ) n  (u ) n  2   3  n 1  2 n   n 1    / 8 ;
(u )corr mod

(u ) n 1  (u )corr  corr 
n 1  9  (u ) n 1  (u ) n 1  /121
progn

(u ) nprogn
1  (u ) n3  4  2n  n1  2n2    / 3 ;
(u ) mod progn
 corr  (u ) nprogn  / 29 ;
n 1  (u ) n 1  28  (u ) n

n 1  (u ) n 1   n 1  4 n   n 1    / 3 ;
(u )corr mod
Мілна
(u ) n 1  (u )corr  corr 
n 1   (u ) n 1  (u ) n 1  / 29
progn

Примітка. Метод Мілна є нестійким, якщо  / u  0 .


(u ) n 2  (u ) n  2n   (або інший вираз для (u ) n 2 );
Дімсдейла (u ) n1  0.5  (u ) n  (u ) n 2   0.25 n  n 2    ;
(u ) n  2  (u ) n  n  4n 1   n 2    / 3

11.3. Методи інтегрування систем звичайних диференційних


рівнянь
Методи, що розглянуті вище для одного рівняння, дуже просто пристосо-
вуються до системи рівнянь (11.3) з похідними першого порядку та початкови-
ми умовами (11.4). Аналогічно (11.7)
 n 1
(ui ) n1  (ui ) n    ( , u ,..., u
n
i 1 N ) d  (ui ) n  i (, u1 ,..., u N )   ; i  1,..., N . (11.21)

Функції i (, u1 ,..., u N ) для методу Рунге-Кутта аналогічні наведеним у таб-
лиці 11.1. Зокрема, для першого варіанта 4-го порядку наближення:
i (, u1 ,..., u N )   ( k1 )i  2( k2 )i  2(k3 )i  (k4 )i  / 6 ; i  1,..., N , (11.22)
Частина ІІ. Розділ 11 149

(k1 )i  i  n ,(u1 ) n ,...,(u N ) n   (i ) n ;



(k2 )i  i  n   / 2, (u1 ) n  (k1 )1  / 2,...,(u N ) n  (k1 ) N  / 2  ;
 (11.23)
(k3 )i  i  n   / 2, (ui ) n  (k2 )1  / 2,...,(u N ) n  (k2 ) N  / 2  ;
(k4 )i  i  n   , (u1 ) n  (k3 )1  ,...,(u N ) n  ( k3 ) N   .
Проблеми виникають, якщо процеси, які описуються диференційними рів-
няннями, мають різні масштаби (швидкості зміни). Такі системи диференційних
рівнянь мають назву жорстких систем.
Для оцінювання ситуації зазвичай використовують частотний аналіз.
Позначимо якийсь розв’язок системи (11.3) як vi ( ) та будемо розглядати
різниці zi ( )  ui ( )  vi ( ) . Вони задовольняють системі диференційних рівнянь
dzi ( ) / d   i ( , v1  z1 ,..., vN  z N )   i ( , v1 ,..., vN ) ;   0; i  1,..., N . (11.24)
Будемо вважати zi ( ) малим збуренням, яке внесено в основний розв’язок
vi ( ) . Праву частину системи (11.24) завжди можна розкласти в ряд Тейлора з
достатньою точністю та одержати запис системи із застосуванням матриці:
dzi ( ) / d  K ( , v1 ,..., vN )  {z1 ,..., z N }T  O(| z |) ;   0 ; i  1,..., N , (11.25)
де O(| z |) є величина вищого порядку малості, якою можна знехтувати. Матри-
ця K ( , v1 ,..., vN ) має компоненти
K ij  i ( , v1 ,..., vN ) /  (u j ) ; i, j  1,..., N . (11.26)
Її компоненти або стаціонарні, або залежать від  . Проводиться аналіз
власних чисел  j цієї матриці. Якщо відношення (число жорсткості)
s  max | Re i |/ min | Re i | , (11.27)
1i  N 1i  N

є великим (конкретного граничного значення, на жаль, немає), а також якщо


Re i  0 ; i  1,..., N , (11.28)
то система диференційних рівнянь вважається жорсткою на розглядуваному
інтервалі інтегрування (якщо власні числа не залежать від  , то – на будь-якому
інтервалі).
Складові системи з більш жорсткими характеристиками швидше затуха-
ють і з часом майже не впливають на розв’язок інших складових, але саме вони
"контролюють" величину кроку  , суттєво обмежуючи його "зверху": пере-
вищення кроком деякого критичного значення призводить до втрати стійкості
розв’язку.
Доведено, що всі явні схеми мають лише умовну стійкість зі значним
обмеженням  "зверху". А серед неявних лінійних багатокрокових методів
немає абсолютно стійких схем, які б мали порядок точності вище другого.
Кардинальним рішенням цієї проблеми є застосування для жорстких
систем чисто неявних схем, для яких розмір кроку  впливає лише на точність
розв’язку. Поширеним є метод Гіра, в якому використовується багатокрокова
схема типу (11.11), в якій b0  1 , а всі інші b j  0; j  1,..., m . Її записують у ви-
гляді
150 Частина ІІ. Розділ 11
m
a0  (u)n1    n   ,(u)n1      a j  (u)n1 j (11.29)
j 1

для одного рівняння та у вигляді


m
a0  (ui )n1  i  n   ,(u1 )n1,...,(uN )n1      a j  (ui )n1 j (11.30)
j 1

для системи рівнянь. Із умови досягнення p -го порядку наближення записуєть-


ся система рівнянь відносно a j ; j  1,..., m :
m m m
a0   a j ;  j  a j  1 ; j k
 a j  0; k  2,..., p . (11.31)
j 1 j 1 j 1

При фіксованому m вона має лише один розв’язок, причому найвищий


порядок наближення p  m .
Декілька схем методу Гіра наведено у таблиці 11.4 (використовуються
схеми до m  10 включно).
Природно, що ці формули можна застосовувати й для одного рівняння,
тобто при N  1 .
Неявні схеми методу Гіра мають дуже добру, але все ж умовну стійкість.
Таблиця 11.4. Формули методу Гіра

Назва методу m Формула. Всюди ( Fi ) n1   i  n   ,(u1 ) n1 ,...,(u N ) n1   

Ейлера неявний 1 (ui )n1  (ui )n  (Fi )n1

2 3(ui )n1  4(ui )n  (ui )n1  / 2  (Fi )n1


Гіра 3 11(ui )n1 18(ui )n  9(ui )n1  2(ui )n2  / 6  (Fi )n1
4  25(ui )n1  48(ui )n  36(ui )n1 16(ui )n2  3(ui )n3  /12  (Fi )n1

11.4. Загальні рекомендації


Який метод застосовувати? Це складна проблема, яка потребує компромісу
між величиною похибки, часом розрахунку та стійкістю розв’язку, а також вра-
хування особливостей задачі. При однаковій теоретичній точності кращими є
формули, в яких коефіцієнти мають однакові знаки та не дуже відрізняються
між собою за абсолютними значеннями (це зменшує похибки округлення), які
мають меншу кількість дій, не потребують додаткового алгоритму для початку
розрахунків, стійкі при більших значеннях  . Тому для окремих рівнянь та
нежорстких систем найбільш поширеними є методи Рунге-Кутта, а з них – пер-
ший варіант 4-го порядку наближення (див. таблицю 11.1). Але й він все ж має
недоліки: потребує відносно значну кількість дій та не дуже зручний у контролі
потрібної величини кроку  .
Частина ІІ. Розділ 11 151

При практичному застосуванні описаних у цьому Розділі методів та схем, а


також багатьох інших, після обирання порядку наближення схеми, тобто p , ос-
новним питанням є проблема визначення розміру кроку  та пов’язана з ним
проблема стійкості схеми.
Часто для оцінювання розміру кроку  користуються правилом Рунге.
Відповідно до нього, спочатку знаходять розв’язки задачі з двома різними кро-
ками  (позначимо останні як h1 та h2 ), досягаючи одного й того же значення
 . Потім обчислюються наближені значення функцій
i ( )  (ui ) h  (ui ) h  /  h2p  h1p  ; i  1,..., N ,
1 2
(11.32)
за допомогою яких для кожної i -ої функції визначаються основні члени похиб-
ки розв’язку:
( h )i  (hk ) p  i ( )  O  (hk ) p 1  ; k  1, 2 ; i  1,..., N .
k
(11.33)
В цих формулах p , як і раніше, є порядком наближення схеми. Якщо такі
похибки не задовольняють, потрібно ще зменшувати крок  . Позначимо як 
бажану точність розв’язку всієї системи, тоді з (11.33) і (11.32)
  min (h )i  , де (h )i  p    h2p  h1p  / (ui ) h1  (ui ) h2  ; i  1,..., N . (11.34)
Зазвичай приймають h2  h1 / 2 . Тоді з (11.32) і (11.34)
i ( )  2 p (ui ) h / 2  (ui ) h  /  h1p  (2 p  1)  ; i  1,..., N ,
1 1
(11.35)
h1 p
  min (h )i  , де (h )i    (2 p  1) / | (ui ) h1  (ui ) h1 / 2 | ; i  1,..., N . (11.36)
2
Формулу (11.36) можна використовувати й для підвищення точності отри-
маного розв’язку за методом Річардсона:
ui ( )  (ui ) h / 2  (ui ) h / 2  (ui ) h  /(2 p  1) ; i  1,..., N .
1 1 1
(11.37)
На жаль, єдиних для всіх схем розв’язування задачі Коші формул та умов
немає. Це дуже складна та велика тема, яка лише частково розглянута у цьому
Розділі. Для отримання додаткової інформації можна рекомендувати, напри-
клад, книгу [1], в якій велика увага приділена впливу на результати похибок
усікання при розрахунках на ЕОМ.

Контрольні питання до Розділу 11.1


1. Яку крайову задачу називають задачею Коші?
2. Які умови потрібно виконати, щоб розв’язок задачі Коші існував та був
одиничним?
Контрольні питання до Розділу 11.2
1. В яких діапазонах значень знаходяться параметри  й u функції
 n (, u ) для рівняння (11.7)?
2. Якою є кількість можливих розв’язків системи рівнянь Рунге-Кутта
(11.9)?
152 Частина ІІ. Розділ 11

3. Якою функцією у формулі (11.7) замінюється функція  n (, u ) у багато-


крокових методах (методі Адамса)?
4. Як в багатокрокових методах (методі Адамса) вирішується проблема
виконання умов стійкості та збіжності?
5. Якім чином будуються методи типу "прогноз-корекція"?
Контрольні питання до Розділу 11.3
1. Які проблеми виникають при інтегруванні систем звичайних диферен-
ційних рівнянь?
2. Коли виникають так звані жорсткі системи рівнянь?
3. Який максимальний порядок точності мають абсолютно стійкі багато-
крокові методи інтегрування систем звичайних диференційних рівнянь?
Контрольні питання до Розділу 11.4
1. Якими є загальні рекомендації щодо вибору методу розв’язку задачі
Коші?
Додаток 153

Додаток

ПРОГРАМА ВИЗНАЧЕННЯ ПАРАМЕТРІВ


МАШИННОЇ АРИФМЕТИКИ В ЕОМ (С++, консоль)

#include "stdafx.h"
#include "math.h"
#include "stdio.h"

void Beta(int &beta);


void ForFloat (int beta);
void ForDouble(int beta);
float Copyx(float x);
double Copyx(double x);

//////////////////////
// Головна програма
int main(int argc, char* argv[])
{
// Визначення beta - основи системи числення в ЕОМ
int beta;
Beta(beta);
// Визначення параметрів машинної арифметики:
// - одинарна точність
ForFloat(beta);
// - подвійна точність
ForDouble(beta);
return 0;
}

///////////////////////////////
// Програми копіювання числа
float Copyx(float x) { return x; }
double Copyx(double x) { return x; }

/////////////////////////////////////////////////////
// Визначення beta - основи системи числення у ЕОМ
void Beta(int &beta)
{
float b0, a1, a0 = 1.0f;
L1: a0 *= 2.0f;
a1 = a0 + 1.0f;
if( (a1 - a0) == 1.0f ) goto L1;
b0 = 1.0f;
L2: b0 *= 2.0f;
if( (a0+b0) == a0 ) goto L2;
beta = int( (a0+b0)-a0 );
printf("=========\n");
printf(" beta = %d\n", beta);
}
154 Додаток
//////////////////////////////////////////////////////////////////
// Визначення параметрів машинної арифметики. Одинарна точність
void ForFloat(int beta)
{
printf("=========\n float:\n=======\n");
///////////////////////////////////////////////
// визначення p - кількості розрядів мантиси
float b1, c1, a1 = 1.0f; int p = 0;
L3: p++;
a1 = a1 * beta;
b1 = Copyx(a1 + 1.0f);
c1 = Copyx(b1 - a1);
if( c1 == 1.0f ) goto L3;
printf(" p = %d\n", p);
///////////////////////////////////////////////////
// визначення iexp - кількості бітів під степінь
// q - степінь beta (beta^q)
int U, L, iexp, mx;
float Moo, y, a, Mo;
int i = 0; int q = 1;
float z = 1.0f / float(beta);
L4: y = z;
z = Copyx(y * y);
a = Copyx(z * 1.0f);
if(( Copyx(a + a) == 0.0) || (fabs(z) >= y) ) goto L5;
i++;
q *= beta;
goto L4;
L5: iexp = i + 1;
mx = beta * q;
printf(" iexp = %d\n", iexp);
//////////////////////////////////////
// визначення: Mo - машинного нуля
// Moo - машинної нескінченності
L6: Mo = y;
int k = q;
y = y / beta;
a = Copyx(y * 1.0f);
if(( Copyx(a + a) == 0.0) || (fabs(y) >= Mo) ) goto L7;
k++;
goto L6;
L7: L = - k;
if( mx > (k + k - 3) ) goto L8;
mx = beta * mx;
iexp++;
L8: U = mx + L;
Moo = float( pow(double (beta), double(U)) *
( 1.0 - pow(double(beta), double(-p)) ) );
printf(" L = %d\n", L);
printf(" U = %d\n", U);
printf(" Mo = %21.16e\n", Mo);
printf(" Moo = %21.16e\n", Moo);
////////////////////////////////////////////
// визначення Meps - машинного іпсилону
float Meps;
a = 1.0f;
L9: Meps = Copyx(a);
a = a / beta;
y = Copyx(a + 1.0f);
if(y > 1.0f) goto L9;
printf(" Meps = %21.16e\n", Meps);
printf("===============================\n");
}
Додаток 155
//////////////////////////////////////////////////////////////////
// Визначення параметрів машинної арифметики. Подвійна точність
void ForDouble(int beta)
{
printf(" double:\n========\n");
///////////////////////////////////////////////
// визначення p - кількості розрядів мантиси
double b1, c1, a1 = 1.0; int p = 0;
L3: p++;
a1 = a1 * beta;
b1 = Copyx(a1 + 1.0);
c1 = Copyx(b1 - a1);
if( c1 == 1.0 ) goto L3;
printf(" p = %d\n", p);
///////////////////////////////////////////////////
// визначення iexp - кількості бітів під степінь
// q - степінь beta (beta^q)
int U, L, iexp, mx;
double Moo, y, a, Mo;
int i = 0; int q = 1;
double z = 1.0 / double(beta);
L4: y = z;
z = Copyx(y * y);
a = Copyx(z * 1.0);
if(( Copyx(a + a) == 0.0) || (fabs(z) >= y) ) goto L5;
i++;
q *= beta;
goto L4;
L5: iexp = i + 1;
mx = beta * q;
printf(" iexp = %d\n", iexp);
//////////////////////////////////////
// визначення: Mo - машинного нуля
// Moo - машинної нескінченності
L6: Mo = y;
int k = q;
y /= double(beta);
a = Copyx(y * 1.0);
if(( Copyx(a + a) == 0.0) || (fabs(y) >= Mo) ) goto L7;
k++;
goto L6;
L7: L = -k;
if( mx > (k + k - 3) ) goto L8;
mx = beta * mx;
iexp++;
L8: U = mx + L;
Moo = pow(double (beta), double(U - 1)) *
( 1.0 - pow(double(beta), double(-p)) ) * beta;
printf(" L = %d\n", L);
printf(" U = %d\n", U);
printf(" Mo = %21.16e\n", Mo);
printf(" Moo = %21.16e\n", Moo);
//////////////////////////////////////////
// визначення Meps - машинного іпсилону
double Meps;
a = 1.0;
L9: Meps = a;
a = a / beta;
y = Copyx(a + 1.0);
if(y > 1.0) goto L9;
printf(" Meps = %21.16e\n", Meps);
printf("===============================\n");
}
156 Додаток

На екрані монітора ПЕОМ з процесором Intel Pentium IV з’являється на-


ступне зображення:

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


сити сучасний компілятор виконувати діє буквально, не застосовувати "малень-
кі" хитрощі, які йому притаманні для прискорення масових обчислень і які б не
дозволили отримати реальні характеристики машинної арифметики ЕОМ.
Список літератури 157

Список літератури

1. Бабушка И. Численные процессы решения дифференциальных уравне-


ний. Пер. с англ. В.Л. Каткова под ред. Г.И. Марчука / И. Бабушка, Э. Витасек,
М. Прагер. – М.: Мир, 1969. – 368 с.
2. Березин И.С. Методы вычислений: 2-е изд. / И.С. Березин, Н.П. Жид-
ков. – М.: Наука, 1966. – Т.1. – 632 с.
3. Вазов В. Разностные методы решения дифференциальных уравнений в
частных производных / В. Вазов, Дж. Форсайт. – М.: Изд-во иностр. лит., 1963.
– 354 с.
4. Вайнберг М.М. Функциональный анализ. Специальный курс для педа-
гогических институтов / М.М. Вайнберг. – М.: Просвещение, 1979. – 128 с.
5. Воеводин В.В. Вычислительные основы линейной алгебры / В.В. Вое-
водин. – М.: Наука, 1977. – 303 с.
6. Годунов С.К. Разностные схемы: введение в теорию / С.К. Годунов,
В.С. Рябенький. – М.: Наука, 1979. – 400 с.
7. Демидович Б.П. Основы вычислительной математики / Б.П. Демидович,
И.А. Марон. – М.: Наука, 1970. – 664 с.
8. Джордж А. Численное решение больших разреженных систем уравне-
ний. Пер. с англ. Х.Д. Икрамова / А. Джордж, Дж. Лю. – М.: Мир, 1984. – 333 с.
9. Завьялов Ю.С. Методы сплайн-функций. Под ред. Н.Н. Яненко / Ю.С. За-
вьялов, Б.И. Квасов, В.Л. Мирошниченко. – М.: Наука, 1980. – 352 с.
10. Калиткин Н.Н. Численные методы / Н.Н. Калиткин. – М.: Физматгиз,
1978. – 512 с.
11. Канторович Л.Б. Функциональный анализ / Л.Б. Канторович, Г.П. Аки-
лов. – М.: Наука, 1984. – 752 с.
12. Канторович Л.Б. Приближенные методы высшего анализа / Л.Б. Канто-
рович, В.И. Крылов. – М.-Л.: Физматгиз, 1962. – 208 с.
13. Корн Г. Справочник по математике. Для научных работников и инже-
неров / Г. Корн, Т. Корн. – М.: Наука, 1984. – 831 с.
14. Крылов В.И. Вычислительные методы: В 2-х томах / В.И. Крылов, В.В.
Бобков, П.И. Монастырный. – М.: Наука. – 1976. – Т.1. – 302 с.; 1977. – Т.2. –
399 с.
15. Марчук Г.И. Методы вычислительной математики / Г.И. Марчук. – М.:
Наука, 1989. – 608 с.
16. Михлин С.Г. Вариационные методы в математической физике / С.Г.
Михлин. – М.: Наука, 1970. – 512 с.
17. Партон В.З. Методы математической теории упругости / В.З. Партон,
П.И. Перлин. – М.: Наука. – 1981. – 688 с.
18. Ракитский Ю.В. Численные методы решения жестких систем / Ю.В. Ра-
китский, С.М. Устинов, И.Г. Черноруцкий. – М.: Наука, 1979. – 208 с.
158 Список літератури

19. Рудаков К.М. Чисельні методи аналізу в динаміці та міцності констру-


кцій: Навч. посібник. – К.: НТУУ "КПІ", 2007. – 379 с.
20. Самарский А.А. Теория разностных схем: Учеб. пособие / А.А. Самар-
ский. – М.: Наука, 1977. – 653 с.
21. Самарский А.А. Численные методы: Учеб. пособие для вузов / А.А.
Самарский, А.В. Гулин. – М.: Наука, 1989. – 432 с.
22. Треногин В.А. Функциональный анализ / В.А. Треногин. – М.: Наука,
1980. – 495 с.
23. Тьюарсон Р. Разреженные матрицы / Р. Тьюарсон. – М.: Мир, 1977. –
189 с.
24. Уилкинсон Дж.Х. Справочник алгоритмов на языке АЛГОЛ. Линейная
алгебра / Дж.Х. Уилкинсон, С. Райнш. – М.: Машиностроение, 1976. – 389 с.
25. Форсайт Дж. Машинные методы математических вычислений. Пер. с
англ. / Дж.Форсайт, М. Малькольм, К. Моулер. – М.: Мир, 1980. – 280 с.
26. Хейгеман Л. Прикладные итерационные методы. Пер. с англ. А.Ю.
Еремина и И.Е. Капорина; Под ред. Ю.А. Кузнецова / Л. Хейгеман, Д. Янг. –
М.: Мир, 1986. – 448 с.
27. Чирков А.Ю. Смешанная схема метода конечных элементов для реше-
ния краевых задач теории упругости и малых упругопластических деформаций
/ А.Ю. Чирков. – Киев: ИПП НАН Украины, 2003. – 250 с.
28. Краскевич В.Е. Численные методы в инженерных исследованиях / В.Е.
Краскевич, К.Х. Зеленский, В.И. Гречко. – К.: Вища шк. Головное изд-во, 1986.
– 263 с.
29. Lord Rayleigh (J.W. Strutt). On the theory of resonance // Trans. Roy. Soc.
(London), 1870. – A161. – P. 77-118.
Іменний покажчик 159

Іменний покажчик

Прізвище № Розділу Прізвище № Розділу Прізвище № Розділу


Абрамов 7 Ейткен 3 Петров 9
Адамс 11 Ерміт 9,10 Пікар 8
Башфорт 11 Зейдель 7,8 Рафсон 8
Бернуллі 3 Канторович 3,8 Релей 9
Бернштейн 9 Катхілл 4 Рісс 2
Берстоу 3 Котес 10 Річардсон 7,11
Бессель 9 Коші 2,3,11 Рунге 9,11
Бубнов 9 Крамер 5 Сеа 2
Буняківський 2 Крилов 5,6,9 Сімпсон 10
Бюдан 3 Кутта 11 Соболев 2
Вайнберг 2 Лагерр 10 Стефенсен 3
Гавурін 7 Лагранж 2,3,9,10 Стірлінг 9
Гато 2 Ліпшіц 8,11 Тейлор 8,11
Гаусс 5,7,8,9,10 Леверр’є 6 Фробеніус 4,6
Гершгорін 6 Лежандр 9,10 Фреше 2
Гільберт 2 Лейбніц 10 Фур’є 3,9
Гір 11 Лобатто 10 Хеммінг 11
Горнер 3 Лобачевський 3 Хестенс 7
Грам 5,7,9 Люстернік 6,7 Холецький 4,5,6,7,8
Греффе 3 Маккі 4 Чебишев 7,9,10
Гюа 3 Марков 10 Шварц 2
Данилевський 6 Мілн 11 Шмідт 5,7
Декарт 3 Мінковський 2 Штіфель 7
Дірак 9 Мултон 11 Штурм 3
Дімсдейл 11 Мюллер 3 Якобі 7,8,10
Ейлер 2,11 Ньютон 3,8,9,10,11

You might also like