Professional Documents
Culture Documents
NM I Rudakov 2017
NM I Rudakov 2017
Рудаков
Том I
Чисельні методи алгебри
Міністерство освіти і науки України
Національний технічний університет України
"Київський політехнічний інститут"
К. М. Рудаков
КИЇВ – 2016
УДК 519.6 : 517.9 : 539.3
Рудаков К.М.
Чисельні методи аналізу в динаміці та міцності конструкцій. В 2-х
томах. Т.І. Чисельні методи алгебри: Навч. посібник [для студ.
вищ. навч. закл. Електронний ресурс] / К.М. Рудаков – Київ: НТУУ
"КПІ", 2016. – 148 с.
Зміст
Частина І
ВСТУП ДО ЧИСЕЛЬНИХ МЕТОДІВ
Передмова . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Зміст
Частина І
Розділ 1
найменш точні члени сóми, а за рахóноê найбільш точних членів сóми сóт-
тєво підвищити точність не вдається.
Яêщо всі Ai 0 , то відносна поãрішність a / A a Ai / A .
i
i i
i
Яêщо позначимо max{ a1 , a2 ,...} , то a Ai / A .
i
Отже, ãраничні поãрішності сóми наближених чисел визначаються ви-
разами (замість індеêсó a запишемо індеêс сóми ):
a ; (1.7-а) j
êою. Про це ãоворять яê про "втратó точності при розрахóнêó різниці", а са-
ме таêе явище називають "êатастрофічним взаємним винищенням".
Поãрішності добóтêó наближених чисел. Яêщо серед наближених чисел
немає таêоãо, що дорівнює нóлю, а резóльтат позначено яê 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 ... an1 ) 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
но з першою формóлою (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 1012 / 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 1011 / 2 2 0.25 . Вона приблизно ó 7.35 разів більше, ніж отри-
мана вище, тобто ніж 0.034. Яêщо êритерієм визначення вірних цифр є по-
вний розряд, то ó значенні модóля Юнãа ми маємо право вважати вірною дві
цифри. Тоді відповідно до дрóãої формóли (1.6) поãрішність
E 1012 / 2 2 0.025 , що приблизно ó 1.36 разів менше, ніж 0.034. Тобто дрó-
ãий варіант визначення вірних цифр дав більш точний резóльтат.
Отже, вираховóвання властивостей фóнêції, а не оêремоãо числа – ре-
зóльтатó, дає більш точнó оцінêó поãрішності.
1.2.4. Імовірнісні оцінки погрішностей
Реальні поãрішності обчислень зазвичай менше, ніж оцінюються наве-
деними формóлами. Це томó, що реальні поãрішності оêремих сêладових
часто мають:
різні знаêи, томó частêово взаємно поãашаються;
менші величини, ніж припóсêаються.
Томó досить часто застосовóють таê званó імовірніснó похибêó. Наведе-
мо лише два приêлади.
Імовірнісна абсолютна поãрішність сóми N чисел a j :
* N , де max{ a1 , a2 , ...} . (1.14)
18 Частина І. Розділ 1
Розділ 2
і нормою
u W pl
(u , u )1/W lp , (2.13)
p
30 Частина І. Розділ 2
êосо(анти)симетричним, яêщо
LT L , тобто (u , Lv ) (v , Lu ) для u , v H ; (2.22)
ортоãональним, яêщо
LT L LLT I , тобто LT L1 та || L || 1 . (2.23)
Сóма двох симетричних операторів теж є симетричним оператором.
Добóтоê двох симетричних операторів L та M теж є симетричним операто-
ром, яêщо LM ML . Добóтоê ортоãональних операторів теж є ортоãональ-
ним оператором.
Для бóдь-яêоãо позитивноãо самоспряженоãо оператора в дійсномó ãі-
льбертовомó просторі справедлива óзаãальнена нерівність Коші-
Бóняêовсьêоãо
( Lu , v ) 2 ( Lu , u )( Lv , v ) . (2.24)
Оператор M називається êвадратним êоренем з оператора L , яêщо
M L ; позначається яê L1/ 2 .
2
визначає повнó величинó зміни фóнêціонала P (u ) від еêстремальноãо зна-
чення до поточноãо. Яêщо таêа зміна не дорівнює нóлю при бóдь-яêої від-
стані r 0 , то в оêолі (u0 , r ) еêстремальна точêа дійсно є, а оператор R(u )
зветься потенційним ó цьомó оêолі.
де sh – оператор відображення з W в X h , то
lim shu0 uh 0 , (2.43)
h 0
тобто послідовність наближених розв’язêів задачі {uh } сходиться до точноãо u0 .
Частина ІІ
ЧИСЕЛЬНІ МЕТОДИ АЛГЕБРИ
Розділ 3
НАБЛИЖЕНЕ РОЗВ’ЯЗУВАННЯ
ТРАНСЦЕНДЕНТНИХ І АЛГЕБРАЇЧНИХ РІВНЯНЬ
a z a z
b b
а) б)
a b z
z
a b
в) ã)
Рис.3.1. Про наявність êоренів безперервної фóнêції в інтервалі [a, b]
а) б)
Рис.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 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] ) êомплеêсні êорені.
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
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
Розділ 4
~ ~
êонãрóентними (матриці [ A] і [ A] ), яêщо [ A] [ B ] [ A][ B ] ;
T
*
спряженими (матриці [ A ] і [ A] ), яêщо { y}[ A]{x} {x}[ A ]{ y} ;
*
роджена матриця.
p -норма: || {x} || p | x | | a
p
p i
p
; || [ A] || p p ij | ;
i i j
(a )
2
|| [ A] ||k ij . Часто замість k пишóть індеêс 2.
i j
Частина ІІ. Розділ 4 49
а) б)
Рис.4.1. Точний (а) і стрічêовий (б) симетричні профілі матриці
(* - ненóльові êомпоненти матриці)
Частина ІІ. Розділ 4 51
а) б)
Рис.4.2. До алãоритмó 1WD (паралельних перетинів): а) – розсічення тіла на блоêи, їх нóме-
рація (стрілêи – напрямоê нóмерації вóзлів блоêів); б) – вихідні профілі блоêів
матриці ("білі" нóлі ó профілях блоêів 4 й 5 – зеêономлена пам’ять при блочномó
зберіãанні матриці)
Ефеêтивність алãоритмів дóже висоêа і приблизно однаêова, але автори
êниãи виділяють алãоритм 1WD (паралельних перетинів).
У цьомó алãоритмі все тіло розсіêається на блоêи, не обов’язêово одна-
êовоãо розмірó (див. рис.4.2-а), êожний з яêих має свою множинó вóзлів
(блоêи основних вóзлів), причомó "ãраничні" вóзли, яêі є заãальними для
двох (або більшої êільêості) блоêів, теж виділяють ó оêремі блоêи (вóзлів-
роздільниêів). В êожномó з блоêів за допомоãою алãоритмó RCM (або іншо-
ãо) знаходиться свій оптимальний профіль.
Але основний ефеêт досяãається завдяêи застосóванню техніêи блоч-
них матриць, êоли матриця зберіãається та обробляється блоêами. Річ ó то-
мó, що "заповнення профілю" при розв’язóванні СЛАР спостеріãається не
на всій довжині рядêа профілю, а тільêи на заãальних для двох блоêів пери-
ферійних частинах рядêа (див. рис.4.2-б). Коли блоêів – небаãато, то цей
фаêт можна виêористовóвати з відносно невелиêими витратами часó. Для
тієї частини профілю, яêа не заповнена споêонвічно та не бóде заповнюватися
при розв’язóванні СЛАР, пам’ять можна зовсім не виділяти.
Ефеêт еêономії пам’яті ó цьомó алãоритмі різêо підсилюється при збі-
льшенні розмірів СЛАР, а таêож для масивних тіл з приблизно однаêовими
розмірами ó всіх напрямêах.
Частина ІІ. Розділ 4 53
Розділ 5
Яêщо знайден блоê [ 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
Позначимо:
[ X ] [ S ]N11[a1N ] ; [Y ] [aN 1 ][ S ]N11 ; [ ] [aNN ] [aN 1 ][ X ] [aNN ] [Y ][a1N ] . (5.17)
З óрахóванням позначоê вирази (5.16) приймóть виãляд:
[ 1N ] [ X ][ ]1 ; [ B ]N 1 [ S ]N11 [ X ][ ]1[Y ] . (5.18)
Аналоãічні дії дозволяють з (5.15) отримати вирази для останніх
невідомих блоêів оберненої матриці:
[ N 1 ] [ ]1[Y ] ; [ NN ] [ ]1 . (5.19)
Осêільêи матриця [ ] містить лише однó êомпонентó, то [ ] обчислю- 1
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. Відомо, що detA detLT detL detL2 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
ãається; не зазнає змін "профіль" матриці СЛАР; êільêість дій óдвічі менша,
ніж ó методі Гаóсса (це пов’язано зі симетричністю матриці СЛАР).
Недоліêи: таêі ж, яê і описані в пóнêтах б/ та в/ для методó Гаóсса.
U a L U / L ;
m 1
mn
mn
k 1
mk kn
mm (1 m n).
x y
N
m m U mk x k ; ( m N 1, N 2, ...,1) .
k m 1
x y
N
m m U mk xk ; ( m N 1, N 2,...,1) .
k m 1
а таêож bk bk c bm .
ã/ повертаємося ó пóнêт б/. Яêщо в ньомó циêл вичерпався, але рядêа з
q (тобто "придатноãо") не знайшлося, то процес ортоãоналізації й одно-
часноãо нормóвання заêінчено. Компоненти всіх "непридатних" рядêів ста-
ли праêтично нóльовими.
д/ можна провести перевірêó ортоãональності (берóть óчасть тільêи
"придатні" рядêи та відповідні їм стовпці): amk akn mn .
е/ проводимо розв’язóвання СЛАР (берóть óчасть тільêи "придатні" ря-
дêи та відповідні їм стовпці): xm (amn )T bn anm bn .
Недоліêи процедóри: її необхідно проводити деêільêа разів (щоб вилó-
чити відповідні "непридатним" рядêам стовпці), доêи не стабілізóються
"придатні" рядêи; змінюється стрóêтóра заповнення матриці СЛАР; êіль-
êість дій значно більше, ніж ó методі Гаóсса.
Розділ 6
застосовóється один з методів знаходження йоãо êоренів (див. Розділ 3). Опи-
шемо лише два методи: прямоãо розãортання хараêтеристичноãо рівняння (са-
мий повільний), та метод Данилевсьêоãо (самий швидêий). Є ще методи Кри-
лова, Леверр’є, невизначених êоефіцієнтів, інтерполювання, поворотó, інші.
( 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]{ }( 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] .
*
({ }( 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
методó (ніж РМ) пов’язана з тим, що швидêість збіжності методó значно під-
вищóється, êоли обрано , близьêе до знайденоãо власноãо значення n (при
n достатньо однієї ітерації). Є й недоліê: власні веêтори, обчислені для
двох дóже близьêих власних значень, не зовсім ортоãональні через похибêи
оêрóãлення та зóпинення ітераційноãо процесó (êритерій збіжності – стабілі-
зація 1/ ||{x}(k1) || ). Зазвичай їх додатêово ортоãоналізóють відносно раніше
знайдених власних веêторів. Яêщо в ітераціях ó вірномó напрямêó змінювати
величинó "зсóвó спеêтра", то швидêість збіжності можна значно підвищити.
Примітêа 6.4. Кільêість від’ємних значень êомпонент діаãональної
матриці [ D] розêладó [ B ] [U ]T [ D][U ] , де симетрична матриця [ B] [ A] [ I ] ,
вêазóє на êільêість власних значень матриці [ A] , яêі менше власноãо значення
n . Це може застосовóватися для перевірêи: всі або ні власні значення
бóли знайдені ó обраномó діапазоні, а таêож для приблизноãо визначення
власних значень (знаходяться діапазони з одним власним значенням).
Розділ 7
Досить часто блоêи Amm мають таêó стрóêтóрó заповнення, яêа дозволяє
швидêо або дóже швидêо отримати розв’язоê підсистеми (7.48) відносно X m
(зазвичай при відомомó Fm ) із застосóванням прямоãо або ітераційноãо ме-
тодó. Тоді доцільно замість точêових варіантів методів розв’язóвання СЛАР
(5.1) застосовóвати їхні блочні варіанти. Зоêрема, метод сêінченних різниць
ãенерóє матриці з розрідженою стрóêтóрою та діаãональним хараêтером за-
повнення підматриць. Тоді розв’язоê підсистем типа (7.48) можна отримó-
вати із застосóванням методів проãонêи (відносяться до прямих методів).
Майже всі схеми розв’язóвання СЛАР можна представити ó блочномó ви-
ãляді (при [Q] [ I ] (метод простих ітерацій, метод Річардсона) – не вдається).
Частина ІІ. Розділ 7 85
для яêої параметр ( k 1) знаходять з óмов мінімóмó норми веêтора-похибêи на-
ближення || {x}( k 1) ||D || {x}( k 1) {x} ||D , де {x} – точний веêтор-розв’язоê, а де-
яêа матриця [D] є симетричною позитивно визначеною; норма || v ||D ( Dv, v) .
У залежності від виборó матриць [Q] та [ D] можна отримати різні методи.
причомó при k 0 (перший êроê) призначається (1) 1 , тобто схема має виãляд
88 Частина ІІ. Розділ 7
{x}(1) {x}( 0 )
[Q ] [ A]{x}( 0 ) {b} . (7.70)
(1)
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.101), (7.102), (7.120) ... (7.123) зберіãа-
ються, за виêлюченням тоãо, що 0 2 /((DD1 A) (DD1 A)) і ( DD1 A) / ( DD1 A) .
Осêільêи зазвичай число є більшим, ніж ó явномó методі, то схема (7.124)
збіãається швидше.
Таêа схема називається неявною ітераційною схемою з чебишевсьêим
набором параметрів.
Коли точні ãраниці спеêтра () і () невідомі, то замість них виêорис-
товóють деяêі наближені значення, зоêрема, числа 1 і 2 , що відповідають
óмовам (7.23). Оцінêи швидêості збіжності (7.122) та (7.123) зберіãаються,
хоча оптимальність схеми не ãарантóється. Яê виявилося, швидêість збіж-
ності схеми досить сильно (навіть на десятêи відсотêів) залежить від похиб-
êи визначення () , а от від () – незначно (на відсотêи). В êнизі [26] роз-
ãлядаються деяêі спеціальні алãоритми та оцінêи для óточнення чисел 1 і
2 , з метою збереження висоêої швидêості збіжності ітераційних схем ó
цьомó випадêó.
Примітêа 7.2. Застосóвання схем з чебишевсьêим присêоренням може
привести до аварійноãо завершення роботи алãоритмó в зв’язêó з переповнен-
94 Частина ІІ. Розділ 7
{~ 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).
Позначимо:
{x} [ D]{~
x} . (7.142)
Підставимо (7.142) до (5.1), помножимо резóльтат зліва на матрицю
D [D] :
T
7.6. Закінчення
Розділ 8
N
H ({x}) [ f m ({x})]2 , (8.3)
m 1
n 1 xn
n
102 Частина ІІ. Розділ 8
то система (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 ) || Mq 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
( 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
{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}(k1) {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
Розділ 9
малих 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 (( n1) yi ) ( n1) yn1 ( n1) yi .
Вираз (9.2) одержує вигляд
( n ) yi yni Cn1 yni 1 Cn2 yni 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
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
вується стільки членів, скільки можливо або скільки потрібно для одержання
достатньої точності.
Введемо позначення:
q ( z z0 ) / h . (9.7)
Тут z0 – початкова точка, або початкове значення аргументу.
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 n1) y n1 ( 2 n1) y n
Rn ( z ) q(q 2 12 )(q 2 2 2 )...(q 2 n 2 ) , якщо ( n1) y const , (9.15)
2(2n 1)!
де 2n – порядок максимальної використаної різниці.
Рекомендують застосовувати при | q | 0.5 .
де n N . Якщо позначити:
n1 ( z ) ( z z 0 )( z z1 )...( z z n ) , (9.19)
то можна отримати інший запис цієї формули:
n
yi
Ln ( z ) n1 ( z ) . (9.20)
i 0 n1 ( zi ) ( z zi )
Примітка 9.2. Вигляд формул не змініться, якщо провести заміну
z At B , змініться тільки аргумент: з z на t .
Частина ІІ. Розділ 9 113
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 y1 ) / h0 . За смислом це відповідає визначенню
h0 0
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 m1 , тому з першого
виразу (9.35) із застосуванням (9.33) можна отримати, що
cm m cm1 m cm1 . (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 , тому
2i i 1 i ; i2 i2 (i i )(i i ) (i i ) . (9.42)
Підставляючи перший вираз з (9.41) у (9.34) при i 1 , після проведення
множення його на 1 та застосування рівнянь з (9.42), остаточно мають, що
61 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 4k ) ; k 0,1, 2,3 , (9.45)
де m4 || f ( ) || при деякому [ , ] , а h max hi . Тобто кубічні сплайни s ( z ) збі-
( IV )
або
N
f ( z ) f ( z ) ( z ) cn n ( z ) , (9.46-б)
n 1
Існує основна лема фізики суцільних середовищ: якщо у цілком щільній об-
ласті для будь-якого 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)
ції 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
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 n1
За схемами Крамера та Гаусса отримаємо, що
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 лінійною функцією.
Позначимо:
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
Цей метод надає велику свободу для обирання компонент вагового вектора
w , тобто системи wm wm ( z ) . Обов’язкова умова: це повинна бути повна за енер-
гією лінійно незалежна система. Тому метод найменших квадратів (див. п. 9.7.1)
та метод Релея (див. п. 9.7.2), в яких фактично в ролі компонент вагового вектора
використовуються саме базисні функції, можна розглядати як окремі випадки
методу зважених похибок наближення (МЗПН).
124 Частина ІІ. Розділ 9
( z zm ) 0, z zm ; ( z z m ) , z z m ;
z zm
( z ) ( z zm )dz ( zm ) . (9.65)
Amn
zm
n ( z )dz ; bm f ( z ) ( z ) dz ;
zm
m, n 1,..., N . (9.68)
вже відома, має назву кратності 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 ( N 1) / 2 .
Коефіцієнти a j та b j знаходяться із системи рівнянь
Tn ( zi ) f ( zi ) ; i 0,1,..., N . (9.74)
m 1
am z am1 z ... a0
m a k zk
mn ( z ) k 0
n 1
, (9.75)
z n bn1 z n1 ... b0
z bk z
n k
k 0
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
Розділ 10
| 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 ( x)dx p ( x)
a j 1 xj
j j ( x)dx . (10.5)
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)
p( x) ( x)dx p( x) Ln ( x)dx Rn ( x) i ( xi ) .
a a i 0
(10.9)
( x)dx (b a) ( H n )i ( xi ) .
a i 0
(10.19)
(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
( 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
( x)dx h [ ( x ) 4
a
0 1 2 2 ( xk )] / 3 , (10.29)
( 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
( 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 n1 a2 q n2 ... 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
1
f (q )dq (q ) dq ( 1 / 3 ) (1 / 3 ) .
1
(10.44)
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.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
10.6. Закінчення
Окрім описаних вище варіантів наближеного обчислення інтегралів є ще й
інші, зокрема:
наближене інтегрування інтегралів з урахуванням заздалегідь призначе-
них вузлів інтегрування;
наближене інтегрування невласних інтегралів;
наближене інтегрування невизначених інтегралів;
наближене інтегрування інтегралів із застосуванням сплайнів.
Крім того існує проблема підвищення точності наближеного обчислення
інтегралів, яка вирішується не тільки збільшенням значення степені многочлена
n або кількості інтервалів, але й шляхом додавання до квадратурної суми нових
членів, які повністю або в основному наближують остаточний член квадратур-
ної формули Rn (x) .
Розділ 11
де n1 n ; індекс n 0,1,... є номером часового шару або кроку, але пара-
метри й u функції n (, u ) , при яких інтегрування дає точне значення – неві-
домі, тому функція n (, u ) утворюється у різних методах по-різному.
p . Навіть при цих умовах, при m 1 САР є недостатньо визначеною, тобто має
більше невідомих, ніж рівнянь, а тому має багато варіантів розв’язків, причому
не всі з них є прийнятними. Основні (класичні) варіанти функції n (, u ) методу
Рунге-Кутта наведено в таблиці 11.1.
Доведено, що в наслідок того, що метод Рунге-Кутта наближує розв’язок
вихідного рівняння, він збігається при 0 , причому порядок його точності
співпадає з порядком апроксимації.
При m 5 формули методу Рунге-Кутта майже не використовуються.
b
j 0
j 1 . Розрахунки починаються з n 1 m , тобто з рівняння
m
(u)n1 (u)n b0 n1 b1 n ... bm n1m (u)n bjn1 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 (23n 16n1 5n2 ) /12
4 4 (55n 59n1 37n2 9n3 ) / 24
5 5 (1901n 2774n1 2616n2 1274n3 251n4 ) / 720
1 2 ( n 1 n ) / 2
2 3 (5n1 8n n1 ) /12
неявна
3 4 (9n1 19n 5n1 n2 ) / 24
4 5 (251n1 646n 2646n1 106n2 19n3 ) / 720
a q
j 0
j
m j
0. (11.18)
1 n 1 , (u ) n 1
Формули методу. Всюди nmod mod
Назва методу
(u ) nprogn
1 (u ) n 55n 59n1 37n 2 9n3 ;
Прогноз за Адамсом-
(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 ) n3 4 2n n1 2n2 / 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 ) n3 4 2n n1 2n2 / 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
Функції i (, u1 ,..., u N ) для методу Рунге-Кутта аналогічні наведеним у таб-
лиці 11.1. Зокрема, для першого варіанта 4-го порядку наближення:
i (, u1 ,..., u N ) ( k1 )i 2( k2 )i 2(k3 )i (k4 )i / 6 ; i 1,..., N , (11.22)
Частина ІІ. Розділ 11 149
Додаток
#include "stdafx.h"
#include "math.h"
#include "stdio.h"
//////////////////////
// Головна програма
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 Додаток
Список літератури
Іменний покажчик