УДК 681.3.06
Г.С. ТЕСЛЕР, РВ. ГЕЛЕМБ’ЮК
ПОБУДОВА ІТЕРАЦІЙНИХ ФОРМУЛ ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМИ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ З ВИКОРИСТАННЯМ РОЗВИНЕННЯ ФУНКЦІЙ ЗА НЕВ’ЯЗКАМИ
Abstract: In the paper it is stated a method of constructing iterated formulas for approximating differential equations systems. The method is constructed with using the technology of expansion of functions with residuals. It is shown examples of using the described method for well known stiff differential systems.
Key words: residual, approximation, differential system, iterative formulas.
Анотація: У статті розглядається метод побудови ітераційних формул для наближення систем диференціальних рівнянь. Метод побудований на основі технології розвинення функцій за нев’язками. Наведено приклади застосування описаного методу до поширених жорстких систем диференціальних рівнянь.
Ключові слова: нев’язка, апроксимація, диференціальні системи, ітераційні формули.
Аннотация: В статье рассмотрен метод построения итерационных формул для приближения систем дифференциальных уравнений. Метод построен на основе технологии разложения функций по невязкам. Приведены примеры использования описанного метода для распространенных жестких систем дифференциальных уравнений.
Ключевые слова: невязка, аппроксимация, дифференциальные системы, итерационные формулы.
1. Вступ
Ітераційні формули і рекурентні співвідношення викликають значний інтерес у дослідників через цілу низку причин. Перш за все по своїй суті вони відображають зворотні зв'язки. Також у ряді випадків вони відображають адаптацію до умов застосування. Крім того, ітераційні формули і рекурентні співвідношення мають динамізм, властивий об'єктам живої, а в деяких випадках штучної та неживої природи, а також багатьом фізичним явищам та процесам [1].
Вивчення адаптивних апроксимацій функцій, які найбільш наочно показують паралелі математики та загальних процесів, що проходять у різних природних процесах, відкриває нові підходи в розв'язуванні систем рівнянь, у тому числі жорстких та нелінійних систем диференціальних рівнянь. У даній роботі описано метод побудови ітераційних формул для наближення розв'язків систем диференціальних рівнянь (ДР). Як базовий метод використовуємо розвинення функцій за нев'язками [1-6].
Вивчення адаптивних апроксимацій на основі розвинення функцій за нев'язками представляє двоякий інтерес: як різноманітні апроксимації розв'язків систем ДР з елементом адаптації (нев'язки), як джерело отримання ітераційних формул, тобто формул зі зворотними зв'язками для табулювання функцій (розв'язків ДР), сегментної апроксимації функцій, інтерполювання функцій тощо. Таким чином, є можливість представляти різні підходи наближення до шуканого результату з необхідною точністю з використанням різної кількості і складу арифметичних операцій і видів початкових наближень, величини інтервалу визначення аргументу та норм похибки.
2. Адаптивна апроксимація та ітераційні функції
Цілий ряд математичних алгоритмів володіють властивістю адаптації. Зосередимо свою увагу на адаптивній апроксимації функцій [1], які найбільш наочно показують паралелі математики та
© Теслер Г.С., Гелемб'юк Р.В., 2009
ISSN 1028-9763. Математичні машини і системи, 2009, № 2
загальних процесів, що проходять у різних природних процесах.
Розглянемо процес адаптації з точки зору абстрактних просторів та операторів.
Велика кількість важливих рівнянь, до яких можна застосувати ітераційний процес, зв'язані з методами послідовних наближень, які є частковими випадками загального операторного рівняння:
х = Тх, (1)
де Т - оператор , який діє в деякому функціональному просторі Е.
Ітеративний метод застосовується до операторного рівняння за допомогою ітераційної формули
х„ = Тхи-1- (2)
Ітеративний процес починається із деякого початкового наближення х0 є Е .
Важливе значення для ітераційних методів у математиці має теорема Банаха, яка ще називається Принципом стиснутих відображень.
Теорема. Нехай простір Е-повний лінійний метричний простір, а оператор Т - оператор стиснення у цьому просторі, тобто такий, що для будь-яких елементів и,V є Е виконується умова
р(Ти, Ту) < ар(и, у), (3)
де а< 1,й(и, V) - відстань між елементами и та V .
*
Тоді рівняння (1) має єдиний розв'язок х є Е і послідовність {хп}, яка визначається формулою (2 ), сходиться до цього розв'язку. При цьому для похибки п -го наближення справедлива похибка
* ап-р
Р(х ,хп ) <------Р( хр+1 ,хр І 0 < р < п - 1 .
1 -а
Також при дослідженні ітеративних процесів будемо спиратися на теорії вирішення задачі про нерухому точку та систему теорем, побудовану на її' основі [8]. Теореми про ітераційне числення, описані та систематизовані в роботі [4], забезпечують основу для методу, описаного в даній статті, та вказують напрямок для подальших досліджень.
Кожен, навіть найбільш простий, ітераційний алгоритм включає такі стадії: вибір початкового наближення, ітераційну формулу та чисельний критерій, який дозволить визначити, що збіжність досягнута. В даній статті ми зосередимо свою увагу на другому етапі - побудові ітераційних формул з використанням розвитку функцій за нев'язками за допомогою комп'ютерної математики [7].
3. Розвинення функцій за нев’язками
У даній статті ми будемо розглядати ітераційні процеси для класу задач, в яких виникають системи диференціальних рівнянь, зокрема, жорсткі та нелінійні диференціальні системи (ДС).
Як базис побудови адаптивних ітераційних процедур для розв'язування диференціальних систем використаємо методи розв'язування рівнянь виду /(х) = 0 , зокрема, методи розвинення
функції за нев'язками [1-6].
Опишемо цей підхід. Розглянемо рівняння
якому задовольняє функція у = f (x),xє \а,Ь];у є \с^].
Якщо замість у взяти його наближення у0(x) для xє \а,Ь] , то рівняння (4) прийме вигляд z0 = F(х,у0) , де нев'язка z0 рівняння F(х,у0) в основному відмінна від нуля, за винятком випадку у0 = у . Таким чином, нев'язка є адаптивним елементом розвинення функції.
Існує декілька підходів розвинення функцій за нев'язками [1].
Як базові методи розвинення функцій за нев'язками можуть бути використані практично всі відомі на сьогоднішній день методи наближення функцій.
Розвинення такого типу може міняти швидкість наближення залежно від обраного початкового наближення. Характерним для розвинення в ряди нев'язок є те, що додавання нових членів розвинення виконується без перерахунку решти коефіцієнтів, оскільки це необхідно робити у випадках найкращих рівномірних наближень.
Зазначимо, що необхідною і достатньою умовою збіжності розвинення за нев'язками шуканої функції є в границі рівність залишкового члена розвинення нулю, коли кількість членів прямує до безкінечності.
Наближення функцій, що ґрунтуються на розвиненні за нев'язками, включає декілька характерних етапів: вибір виду нев'язки, вибір початкового наближення, що забезпечує необхідну точність, вибір відповідної кількості членів ряду розвинення для забезпечення необхідної точності
Більш точний результат наближення функції розвинення за нев'язками можна отримати, виконавши деякі перетворення структури ітераційної формули. Найбільш вживані елементарні функції є єдиними неперервними розв'язками функціональних рівнянь виду
У роботі [2] ці результати були узагальнені на випадок функціональних рівнянь, в яких як незалежна змінна використовується нев'язка рівняння шуканої функції, заданої в неявному вигляді. Детально про розвинення за нев'язками наведено в роботах [1-6].
4. Ітеративне наближення функцій за допомогою розвинення за нев’язками
При розвиненні в ряд нев'язок під базовою послідовністю ітераційних функцій будемо розуміти
одноточкову нескінченну чи скінченну послідовність {фр (, де г0 = Е ( х,У0) - нев'язка
рівняння Е(х,у) = 0, у0 - початкове наближення, хє [а,Ь] - аргумент шуканої функції.
Важливою властивістю розвинення функцій за нев'язками є можливість природним чином розпаралелити ітеративний процес у часі чи просторі. Крім цього, використання нев'язки дозволило
[4].
/ (х + У) = І(х) +1 (УІ І(х + У) = І(х)/(У\ ї(хУ) =1 (х) +1 (у\ 1 (хУ) =1 (х)І (у\
отримувати формули для табулювання функцій, організації статичного та динамічного режимів обчислень, оптимізувати систему «початкове наближення + ітераційна функція», створювати адаптивні сегментні апроксимації тощо [1-6].
Важливу роль при розвиненні за нев'язками відіграють початкові наближення, оскільки вони визначають ступінь зменшення інтервалу значень аргументу по відношенню до первинного.
У випадку наближення функцій розвинення за нев'язками структуру нев'язки вибирають, виходячи з особливостей конкретної функції чи класу, до якого належить ця функція. У випадку наближення розв'язків диференціальних систем та рівнянь, базуючись на розвиненні за нев'язками, вибір структури нев'язки стає окремою задачею. Це пов'язано, насамперед, із тим, що в загальному випадку не можна сказати наперед, до якого класу функцій будуть належати розв'язки ДР. Задача вибору структури нев'язки для наближення розв'язків ДС потребує подальших досліджень. У методі, описаному в даній статті, нев'язки мають найбільш загальну структуру:
г0 = і - У~1(У0) .
5. Метод побудови ітераційної функції для наближення розв’язків диференціальних систем
Розглянемо задачу Коші:
г / /
МЩ ,...,ип) = 0
Іп (щ1 ’...’ЩП’Щ\ ,...,ЩП) 0 (5)
иі(і0) = Щ,0
Щп (і0) = ип,0
Представимо кожну із функцій и1,...,ип у вигляді розвинення в ряд за нев'язками.
№ т
и(і) = иі,0(і) + Щ(і0)г,0 + гі ,02 + гі,0і +..., і = \..-п . (6)
Візьмемо структуру нев'язки для всіх функцій:
г0 = і - и~\щ;) .
Використаємо метод невизначених коефіцієнтів для наближення розв'язків на кожному кроці ітераційного процесу.
2 і
Щ(і) = Щ,0(і) + Сі,л,0 + Сі,20 + Сі,і^і ,0 +..., і = \...п . (7)
На першому кроці ітераційного процесу иі 0(і) = иі,0. Для кожної з функцій иі обчислимо похідну %. Підставимо отримані ряди в функції І]-. Згрупуємо отримані вирази за степенями і і прирівняємо коефіцієнти до нуля. Таким чином, отримаємо систему рівнянь, з якої можна визначити невідомі коефіцієнти С 1 ,С 2 ,...,сп 1 ,сп2 ,сп 3.
<
рІ(сІ,І,СІ,2 ,Сп,2,Сп,3) — 0,
... (8)
рп (сі,і, С1,2, ■■■, Сп , І, Сп , 2, Сп, з) — 0
Отримавши розв'язок цієї системи, підставимо відповідні значення в рівняння (7), отримаємо наближення розв'язків задачі (4).
Для проведення наступного кроку ітераційного процесу беремо отримане наближення розв'язків як початкове наближення, тобто иі0(ї) — щ(ї), формуємо нев'язку 2іо0 . Для цього
використаємо процедуру обчислення обернених функцій на основі обернення ряду нев'язок.
з
і,0 — 2 Ьі,к(Щ - иг,о)к , к-І
-„І. = 1 ї. = Сі,з г. = (2сі,2 Сг,1Сг,з)
де bi,l = _ ,Ьі,2 = ,Ьг,з = 5
і 2
3
Сі,1 Сі,1 Сії
Підставивши оновлені функції, отримаємо нове наближення розв'язків. Ітераційну процедуру
повторюємо до досягнення потрібної точності.
6. Оцінка похибок
При оцінці точності наближення розв'язків ДР з використанням описаного підходу застосовуються методи, які використовуються при оцінці степеневих рядів, раціональних наближень і ланцюгових дробів. До цих методів можна віднести оцінку по залишковому члену, впливу останнього відкинутого члена та інш.
В описаному вище способі наближення розв'язків систем ДР використовуємо процедуру визначення похибки наближення, базовану на оцінці розвинення функцій за нев'язками.
Коротко наведемо процедуру визначення похибки про наближення нев'язками [7].
Обмежимо розвинення за нев'язкою в ряд Тейлора першими т -членами:
Ут = У0 + ^ак20> і позначимо через Дт абсолютну похибку наближення ут, тобто
k=0
Ут = У + Дт . Для спрощення позначимо Д0 = А .
Для оцінки похибки Дт розвинемо нев'язку z0 = F(x,y0) = F(x,y + А) за степенями А,
підставимо результат у вираз для ут і після спрощення одержуємо
Дт = ЬД + ДД(s+!) + /32Д(s+2) + оД+3)).
Метод, який ми розглядаємо, у процесі обчислень при кожній ітерації отримує деякі проміжні дані, які можна також використати і для обчислення похибки. Тобто, обчислення першого (чи декількох перших) з відкинутих членів розвинення не вимагає значних ресурсів.
7. Практичні результати
На основі описаного методу був розроблений пакет процедур residuals для системи комп'ютерної
алгебри Maple [7].
Розглянемо деякі математичні задачі, які були розв'язані за допомогою пакета residuals. Як приклади взято жорсткі та нелінійні системи диференціальних рівнянь (див. табл.).
Як вже було зазначено вище, при реалізації методу використовувалась найбільш загальна
структура нев'язки zG = t — u_1(uG) . Зауважимо, що при використанні інших структур нев'язки [1-6]
для деяких задач були досягнуті кращі результати. Проте стійких закономірностей на даний час не виявлено. Тому це завдання залишаємо для подальших досліджень.
Таблиця. Вирішення диференціальних систем рівнянь
Задача Кількість ітерацій Точність Інтервал
Рівняння Ван Дер Поля и1 (і) = 1000 * (- и1 ) - и1 (і)) + и2 (і) / и2 (і) = -и1 (і) - и2 (і) + 0,5 иі(0) = 2, и2(0) = 0 2 0,00001 [0,0.9]
Модель осцилятора и1' (і) = -и1 (і )(1,5 • 10-8 и2 (і) + 2,5 -10-6) + 2,1 -10-6 и2' (і) = и2 (і )(0,6и1 (і) + 0,18) + 0,016(1 + и1 (і)) и1 (0) = -0,8, и2(0) = 10-12 2 0,00001 [0,1]
Найпростіша модель гліколізу и1'(і) = 1 - и1 (і )и2 (і) и2(і) = 400и2(і )(и1(і) ) и2(і) +10 и1(0) = 1, и2(0) = 0,001 3 0,00001 [1,4]
Модель хімічних реакцій Робертсона у1 =-0,04 У1 + 104 у 2 Уз У2 = 0,04У1 - 104 У2Уз - 3 • 10? У22 Уз = 3 -107 У22 У1 (0) = 1, у2 (0) = 0 , Уз (0) = 0 3 0,00001 [0,1]
Задача Е5 У =- 4У1- вУ1Уз У 2 = АУ1 - МСУ2 Уз Уз = 4У1 - ВУ1Уз - МСУ2 Уз + СУ4 У 4 = ВУ1Уз - СУ4 у1 (0) = 1,76 -10-з, уі (0) = 0, і = 2,з,4 А = 7,89 • 10-10, В = 1,1 • 107, С = 1,1з • 10з М = 106 4 0,00001 [0,1]
Продовж. табл.
Екогенетична модель х = х(2щ - 0,5х - 3,5а2У) у = у (2а2 - 3,5а22х - 0,5у) а = є(2 - 7а1 х) а2 = є(2 - 7а2 х) є < 0,01, 0 < х0 < 40 , 0 < у0 < 40, а10 = 0 а20 = 10 4 0,00001 [0,1]
Модель Філда-Нойса «оренгонатор» у = 77,27(У2 + У1 (1 -8,375 • 10-6у -У2)) У2 = 77 27( У3 (1 + У1) У2) Уз = 0,161(У1- Уз) У1 (0) = 0,01, у2 (0) = 0,3, Уз (0) = 0,0001 3 0,00001 [0,2]
и 2і 1і 00 ( ) 1 1 = II с 0 ) ( ) 2( == 3 2 0,00001 [0,3]
) = 2і1 (ґ)(1 - и 2(і)) и ) = -и 2(ґ )(1 - и1 (ґ)) и1(0) = 1,и2(0) = 3 2 0,00001 [0,1]
8. Висновки
Описаний метод та отримані практичні результати демонструють ефективність використання методу розвинення функцій за нев'язками як основи для побудови ітераційних функцій при наближенні розв'язків систем диференціальних рівнянь. Технологія розвинення за нев'язками пропонує зручні методи наближення функцій дробово-раціональними виразами та підхідними дробами, які характеризуються кращим наближенням, ніж ряди. Таким чином, методика розвинення функцій за нев'язками відкриває цілий спектр можливостей для подальшого удосконалення описаного методу.
СПИСОК ЛИТЕРАТУРЫ
1. Теслер Г.С. Новая кибернетика. - Киев: Логос, 2004. - 404 с.
2. Теслер Г.С. Способы вычисления некоторого класса функций на ЦВМ // Математическое обеспечение ЭВМ и эффективная организация вычислительного процесса: Сборник научных трудов Института кибернетики. -Киев, 1967. - Вып. 2. - С. 11 - 12.
3. Благовещенский Ю.В., Теслер ГС. Вычисление элементарных функций на ЭВМ. - Киев: Техника, 1977. -208 с.
4. Попов Б. А., Теслер ГС. Приближение функций для технических приложений. - Киев: Наукова думка, 1980. -352 с.
5. Попов Б.А., Теслер Г.С. Приближение функций на ЭВМ: Справочник. - Киев: Наукова думка, 1984. - 600 с.
6. Теслер ГС. Вычисление некоторых элементарных функций на ЦВМ // Математическое обеспечение ЭВМ и эффективная организация вычислительного процесса: Сборник научных трудов Института кибернетики. -Киев, 1967. - Вып. 2. - С. 91 - 110.
7. Попов Б.О. Розв’язування математичних задач у системі комп’ютерної алгебри MapleV. - Київ: VIP, 2001. -312 с.
8. Трауб Дж. Итерационные методы решения уравнений: Пер. с англ. - М.: Мир, 1985. - 264 с.
Стаття надійшла до редакції 17.10.2008