/
Text
Modern Numerical
Methods for Ordinary
Differential Equations
Edited by
G. Hall and J. M. Watt
Clarendon Press • Oxford
1976
Современные
численные методы
решения обыкновенных
дифференциальных
уравнений
Редакторы
Дж. Холл и Дж. Уатт
Перевод с английского
В. В. ПОСПЕЛОВА и Б. П. ГЕРАСИМОВА
под редакцией
А. Д. ГОРБУНОВА
Издательство -Мир-
Москва
1979
УДК 517.9 + 518.6
Коллективная монография, содержит обстоятельное
изложение теории и практического применения методов решения
обыкновенных дифференциальных уравнений. В ней представлен
полный набор лучших из существующих алгоритмов решения, а
также обзор последних достижений теории как для начальных, так
и для краевых задач. Рассмотрены уравнения с запаздывающим
аргументом, интегродифференциальные уравнения Вольтерра,
задача Коши для жестких систем уравнений.
Книга адресована широкому кругу специалистов по
вычислительной математике, интересующихся численными методами.
Она будет полезна преподавателям, аспирантам и студентам по
специальности прикладная математика.
Редакция литературы по математическим наукам
1702070000
20204—033 © Oxford University Press 1976
041(01)—79 © Перевод на русский язык, «Мир», 1979
СОВРЕМЕННЫЕ ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
Ст. научный редактор Г. М. Ильичева. Мл. научный редактор А. Н. Сандерова
Художник Ю. С. УрИГанОДгев. ^Художественный редактор В. И. Шаповалов
Технический редактор Н. И. Манохина. .Корректор В. И. Киселева
ИБ № 1477
Сдано в набор 26.09.78. Подписано к печати 20.08.79. Формат 60X907ie. Бумага
типографская № 1. Гарнитура литературная. Печать высокая. Объем 9,75 бум л. Усл. печ.
л. 19.50. Уч.-изд. л. 18,69. Изд. № 1/9837. Тираж 14 000 экз. Заказ № 1335. Цена 1 р. 70 к.
Издательство «Мир»,
129820, Москва, И-110, ГСП, 1-й Рижский пер., 2
Ордена Трудового Красного Знамени Ленинградская типография № 2 имени Евгении
Соколовой «Союзполиграфпрома» при Государственном комитете СССР по делам
издательств, полиграфии и книжно"! торговли. 198052, Ленинград, Л-52, Измайловский
проспект, 29
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА
Одним из важнейших факторов происходящей в настоящее
время научно-технической революции является создание
быстродействующих электронных вычислительных машин,
призванных расширить возможности человеческого интеллекта.
Возникшая при этом необходимость «математического обеспечения»
бесперебойной и эффективной работы ЭВМ привела к бурному
развитию как математики в целом, так и отдельных ее
разделов, особенно тех, которые связаны с проблемами управления
и оптимального поиска, а также тех, которые посвящены
методам дискретизации задач или методам решения дискретных
задач.
В этой связи большое значение приобрели разностные
методы решения многих типов задач, восходящие еще к великому
Эйлеру. Важная особенность разностных методов состоит в том,
что они, как правило, допускают простую алгоритмизацию,
причем полученные алгоритмы могут быть эффективно
реализованы на ЭВМ.
Предлагаемая вниманию читателя книга содержит краткое
описание современных разностных методов решения основных
задач, описываемых обыкновенными дифференциальными
уравнениями. В ней в достаточной мере представлены
теоретические и прикладные результаты, полученные за последние годы.
Это — коллективная монография (помимо редакторов Дж.
Холла и Дж. Уатта в ней приняли участие одиннадцать авторов).
Однако главы, написанные различными авторами, настолько
согласованы, что книга практически не содержит повторений и
воспринимается как единое целое.
В первой части, посвященной решению задачи Коши,
наибольший интерес представляет описание методов с переменным
Предисловие редактора перевода
порядком, а также методов интегрирования устойчивых систем
на больших интервалах времени. Эти вопросы недостаточно
освещены в существующей литературе.
Методы решения задачи Коши для жестких систем
выделены в отдельную (вторую) часть. Это наиболее важный раздел
книги. В нем дается полное систематическое описание
соответствующих методов. Несколько особняком стоит здесь глава 14,
в которой речь идет не об обыкновенных дифференциальных
уравнениях, а об уравнениях в частных производных.
Материал, включенный в третью и четвертую части книги
(методы решения краевых задач и методы решения уравнений
с запаздывающим аргументом и интегродифференциальных
уравнений соответственно), в большей мере отражен в
имеющейся литературе. Здесь он излагается сжато (но отнюдь не
конспективно) и систематически, что, несомненно, весьма
удобно для читателя. Из общего стиля книги отчасти выпадает
глава 20, носящая почти чисто обзорный характер.
В заключение несколько слов о терминологии. Заметим, что
с терминологией авторов полностью согласиться нельзя. В
частности, представляются логически неоправданными термины
«одношаговые методы» в применении к методам Рунге — Кутты
и типа Рунге — Кутты и «многошаговые методы» в применении
к методам Адамса и типа Адамса. Несмотря на это, мы в
основном использовали именно авторские термины, поскольку их
замена могла бы породить «цепную реакцию» и сделать книгу
вообще неудобочитаемой.
Думается, что книга в целом будет полезна научным
работникам и инженерам, а также преподавателям высших
учебных заведений, аспирантам и студентам, интересующимся
вычислительной математикой.
Л. Д. Горбунов
ПРЕДИСЛОВИЕ
Эта книга ставит своей целью дать инженерам, научным
работникам и преподавателям высших учебных заведений
достаточно полное представление о теории и практическом
применении современных численных методов решения обыкновенных
дифференциальных уравнений. Она включает подробное
описание лучших существующих алгоритмов решения как задачи
Коши, так и краевых задач, а также обсуждение последних
достижений в теории численных методов.
Первая часть книги посвящена общей теории методов
решения задачи Коши и содержит подробное описание применения
алгоритмов к нежестким системам дифференциальных уравне*
ний. Во второй части рассматривается задача Коши для
жестких систем. Разбираются специфические трудности, связанные
с жесткостью, после чего дается описание практического
применения методов. В заключительных главах этой части
рассматриваются жесткие дифференциальные уравнения, возникающие
в двух важных областях приложений.
Краевые задачи составляют содержание третьей части.
После вводной главы о конечно-разностных методах подробно
излагаются новые применения метода пристрелки. Изучаются
некоторые особенности применения этого метода к линейным
задачам на собственные значения и к обобщенным краевым
задачам, в том числе к уравнениям с особыми точками. В
последней главе этой части описываются методы разложения и
указываются специальные условия, при которых применение этих
методов может быть особенно успешным. В заключительной,
четвертой части содержится обзор существующих методов в недавно
развитых областях дифференциальных уравнений с запазды-
Предисловие
вающим аргументом и интегродифференциальных уравнений
Вольтерра.
В основу этой книги положены лекции, прочитанные в
объединенной Летней школе, организованной факультетом
вычислительной математики и статистики Ливерпульского университета
и факультетом математики Манчестерского университета в июле
1975 г. Ниже приводится полный список авторов.
Пользуясь случаем, выражаем свою благодарность за
внимательную и искусную перепечатку текста г-же Б. Ли, г-же
Д. Мэнли, г-же Дж. О'Коннор из Ливерпуля, а также г-же
Э. Бишоп, г-же Р. Хортон и г-же К. Литлер из Манчестера.
Дж. Холл
Дж. М. Уатт
АВТОРЫ
Проф. Дж. К. Батчер (главы 5, 10)
факультет математики, Оклендский университет,
Новая Зеландия.
Д-р Дж. Л. Лэмберт (глава 2)
факультет математики, университет Данди,
Шотландия.
Д-р А. Протеро (главы 9, 11)
Торнтонский исследовательский центр компании Шелл Ри-
зорч, Честер, Англия.
Д-р X. X. Робертсон (глава 13)
лаборатория корпорации Империэл кемикал индастрис,
Ранкорн, Чешир, Англия.
Д-р С. Т. X. Бейкер (главы 20, 21)
Д-р Я- Гладуэлл (главы 12, 16, 17)
Д-р Дж. Холл (главы 6, 8)
Проф. Дж. Э. Уолш (главы 16, 18)
Д-р Дж. Уилльямс (глава 1)
факультет математики, Манчестерский университет, Анг*
лия.
Проф. Л. М. Делвс (глава 19)
Д-р М. А. Хеннел (глава 15)
Д-р Р. Уэйт (главы 7, 14)
Дж. М. Уатт (главы 3, 4, 15)
факультет вычислительной математики и статистики,
Ливерпульский университет, Англия.
Часть 1
ЗАДАЧА КОШИ
1
ВВЕДЕНИЕ В ДИСКРЕТНЫЕ МЕТОДЫ
1. ВВЕДЕНИЕ
Нашей целью является рассмотрение теории и практического
применения численных методов решения задачи Коши
y' = f(x> У)> х<=[а, Ь],
где у = [у1 (х), у2 (х), ..., ys (х) ]т, */0 зада но.
Все обсуждаемые здесь численные методы известны как
дискретные методы, т. е. такие методы, посредством которых
вычисляется последовательность приближений упжу(хп) на
множестве точек хп+\ =хп + hn, п = О, 1, 2, ..., N — 1, хо= a, xN=
= b, где hn> 0 — шаг сетки. В большинстве представленных
здесь математических исследований будет рассматриваться
случай, когда hn = h, где h — постоянная. Однако в последних
главах, посвященных применению методов, будет рассматриваться
случай переменного шага. Теоретические исследования в этом
случае, как правило, труднее; см., например, Гир [1971] и
более позднюю работу Гира и Ту [1974].
Основное предположение относительно (1.1) состоит в том,
что f{x,y) удовлетворяет условию Липшица (в равномерной
метрике)
Ш*. Уд-fix, У2)\\<Ь\\Ух-У2\\ (1.2)
для всех х е [а, Ь] и всех 5 компонент векторов у\ и уч. При
этом можно доказать единственность решения задачи (1.1), если
оно существует. Константа Липшица L играет важную роль в
теории и практическом использовании численных методов.
Цель этой главы состоит в том, чтобы кратко и
неформально перечислить различные типы дискретных методов и обсудить
источники погрешностей. Мы рассмотрим методы для
скалярного случая (1.1) 5 = 1 с постоянным шагом h. Кроме того,
термин «метод» будет использоваться в широком смысле, так
как на данном этапе мы не стремимся точно определить, каким
образом та или иная формула применяется на практике.
12 Часть 1. Задача Коши
2. ДИСКРЕТНЫЕ МЕТОДЫ
(О Методы разложения в ряд Тейлора
В принципе наиболее простым способом построения решения
в точке Хп+и если оно известно в точке хп, является способ,
основанный на разложении в ряд Тейлора (в предположении
надлежащей дифференцируемости решения):
У (*«+i) == У (хп) + ЛД (*Л. уп> Л), (2.1)
где
А (х, у, h) - у' (х) + ^у"{х) + -§-/" (х)+ ....
Если теперь этот ряд оборвать и заменить у(хп) приближенным
значением уп, то при помощи (1.1) получится следующая
приближенная формула:
0л+1 = #л + йф(*л> Уп> Л), /2 = 0, 1, 2, ..., (2.2)
где
Для р=1 и р = 2 имеем формулы
Уп+\ = Уп + Л/ (хп> Уп) (метод Эйлера),
У/ц-1 = Уп + h [f (*п> Уп) + -J (fx (*/г> Уп) + fy (*п, Уп) f (*п> Уп))] »
по каждой из которых при заданном уо можно последовательно
получить приближенное решение {уп}. Такие формулы не
требуют вычисления дополнительных начальных условий и
позволяют легко менять шаг интегрирования. К сожалению, их
практическое применение ограничено лишь теми задачами, для
которых легко вычисляются полные производные высшего
порядка. Благодаря современным достижениям в программировании
в некоторых случаях оказывается возможным автоматически
получать алгебраические выражения для /7, /", .... Таким
образом, не исключено, что рассмотренные выше методы
разложения в ряд Тейлора будут более широко использоваться
в будущем; см. Бартон, Уиллерс и Захар [1971].
(II) Методы Рунге — Кутты
Примерно в начале нашего века Рунге, а затем Хойн и Кут-
та предложили подход, основанный на построении формулы для
Ф, которая максимально близка к А и не содержит производных
от функции /. Этот процесс «подгонки» рядов Тейлора можно
продемонстрировать следующим образом. Положим
ф (х, у, К) = cxf (х} у) + c2f (х + ha2i у + b2lf (x, у)), (2.3)
Гл. 1. Введение в дискретные методы 13
где си С2, а2 и &2i — постоянные, подлежащие определению.
Разлагая ф и А по степеням Л, получаем
Ф (х, У> h) = (с{ + с2) f (х, у) +
+ hc2 [a2fx {х, у) + b2lfy (х9 у) f (х9 у)] +
Д (*, У, h) = f (х, у) + l/2h [fx (х, у) + fy (х, у) f (х, у)) + О (А2),
что приводит к уравнениям
Вследствие того что в общем случае нельзя найти никаких
соотношений для членов порядка О (Л2), получается семейство
решений
C la c a a 6
где а^О — свободный параметр. При а = х/2 мы имеем
формулу
Уп+х = yn + h [l/2f {хПУ уп) + 7г/ (хп + h, Уп + Ы (хП9 уп))],
впервые полученную Хойном, Это явная формула, в которой
требуются два вычисления функции / на шаге.
Выражение (2.3) и рассмотренный выше процесс подгонки
рядов Тейлора можно обобщить, используя m вычислений
функции / на одном шаге интегрирования. Таким образом
получается общий явный m-этапный метод Рунге — Кутты:
Уп, Л),
m
Ф (*, у, К) = 2 crkn ki = f (x, у), (2.4)
kr = f ( х + han y + hY* brsks\, г = 2, 3, ..., m.
Формула этого метода идеально приспособлена для
практических расчетов; она не требует вычисления дополнительных
начальных значений и позволяет легко менять шаг
интегрирования. Возможно, наиболее известной является формула четырех-
этапиого метода
Уп+х = Уп + 4 (*i + 2k2 + 2fe3 + k,),
Ь = f (хя, уя), k2 = f(xn + %h, yn + '/jAfe,), (2.4a)
h = f (*» + ЧА Уп + xkhh), kA = f(xn + h, yn + hh).
Можно построить более точные формулы для больших
значений m и на их основе создать высокоэффективные алгоритмы,
имеющие большое практическое значение (см. гл. 5).
14 Часть 1. Задача Коша
За счет вычислительного усложнения формул (2.4) можно
получить более широкий класс методов, допуская, что
коэффициенты {kr} определяются из системы пг (в общем случае
нелинейных) уравнений; см. Батчер [1964]. При этом так
называемый неявный m-этапный метод Рунге — Кутты соответствует
формулам
хп, уп, А),
m
ф(*, #, А)= Е orkn (2.5)
(m \
х + han y + hYj brsks > г = 1, 2, ..., m.
5=1 \
Такие формулы являются в принципе более точными, чем
соответствующие явные m-этапные формулы, поскольку они
содержат больше параметров. Это, однако, достигается ценой
значительного усложнения вычислительного алгоритма, и в
настоящее время применение таких методов ограничено классом так
называемых жестких задач (см. гл. 10).
Можно понизить степень неявности в (2.5), положив brs=0
при 5 > г. В качестве примера укажем полуявный трехэтап-
ный метод, предложенный Батчером:
#я + 1 = Уп + ~б (*1 + 4^2 + &з)>
ki = f (xn, yn), k2 = f(xn + 72А, уп + Ч№\
Одна из основных проблем, связанных с применением
методов Рунге—Кутты (а в действительности всех методов),
состоит в выборе шага h. В решении данной проблемы для явных
схем значительные успехи достигнуты за счет введения так
называемых вложенных методов (см. гл. 3). Хорошее описание
этого способа содержится в работе Лапидуса и Зейнфельда
[1971]. Для m-этапных методов идея состоит в использовании
дополнительных формул, содержащих лишь величины k\, £2, ...
..., km и также дающих приближение (повышенной точности)
к у(хп+\). Используя информацию, получаемую в процессе этих
дополнительных вычислений, можно получить оценку
погрешности для уп+\ и затем в соответствии с требованиями точности
либо увеличить, либо уменьшить шаг интегрирования h.
(iii) Линейные многошаговые методы
После того как yrt+i получено каким-либо из рассмотренных
выше методов, приближение уп уже не используется в
дальнейших расчетах. В этом пункте мы опишем подход, который со-
Гл. 1. Введение в дискретные методы 15
стоит в том, чтобы непосредственно использовать некоторые
предварительно вычисленные значения уп> Уп-\, Уп-2, .... Один
из способов построения методов такого типа заключается в
следующем. Интегрируя (1.1), получаем тождество
У(х + О-У(х)=) f{t, у(t))dt, (2.6)
X
где х и # + £ — некоторые точки отрезка [а, Ь]. Теперь заменим
\(Uy{t)) интерполяционным полиномом, принимающим
значения fn = !(хп,Уп) на множестве точек хп, в которых уп уже
вычислены или тут же вычисляются. Пусть хПу хп-\, ..., xn-k —
такие узлы интерполяции; тогда интерполяционный полином
можно записать, например, в форме Ньютона, использующей
разности назад:
r=0
Проинтегрировав этот полином, можно теперь получить из
соотношения (2.6) различные формулы, которые определяются
положением точек х и х + % относительно узлов интерполяции.
Например, выбор х = хп, I = h приводит к формуле
хп+\
\
+
Уп+х-Уп= \ PWdt^hJ^yXfn, (2.7)
*п г=а0
соответствующей известному методу Адамса — Бэшфорта. Эту
же формулу можно представить в форме Лагранжа:
k
Уп+i -yn = hZ forfn-r- (2.7a)
Аналогично при х==хп^ь t> = h получаем
Уп-Уп-i-btyyU. (2-8)
и в форме Лагранжа
yn-yn-i = hi/Jn-r. (2.8а)
Формулы (2.8) соответствуют методу Адамса — Мултона.
Некоторые числовые значения постоянных yrJ pfer, y^> f^r можно
найти в книге Хенричи [1962, § 5.1].
Указанным способом можно получить много других формул.
Аналогичные формулы можно получить также с
использованием иных подходов (см. Лэмберт [1973]).
16 Часть 1. Задача Коша
Общая форма записи этих методов такова:
k k
Е ЧУпН = h S P/f *+/» я = 0, 1, 2, ..., (2.9)
/=о /=о
где а/ и Р/ — постоянные, а*=т^0, |ао|+ |Ро|=Н=О; это линейное
соотношение между yn+i и \n+i> / = 0, 2, ..., k. Соответствующий
формуле (2.9) метод называется линейным многошаговым
методом (linear multistep method; отсюда используемая в
дальнейшем аббревиатура LMM. — Перев.) или ^-шаговым методом.
Для того чтобы вычислить последовательность приближенных
значений {уп}> необходимо сначала получить k начальных
значений уОу Уи'..., Ук-\- Затем процесс вычислений может
следовать одному из двух возможных путей. Во-первых, если р& = О,
то yn+k легко вычислить и метод (2.9) называется явным
многошаговым методом. Во-вторых, если р&=7^0, то правая часть
содержит f(xn+k9yn+k) и в общем случае необходимо решать
нелинейное уравнение относительно yn+k; метод (2.9) называется
в этом случае неявным многошаговым методом. Формулы Адам-
са (2.7а) и (2.8а) являются примерами соответственно явных и
неявных методов.
Может показаться, что явный многошаговый метод является
вообще самым простым методом с точки зрения вычислений.
Однако на практике явные методы используются очень редко.
Причины этого будут уточнены в последующих главах, но в
качестве иллюстрации мы можем сослаться на формулы Адамса,
рассмотренные выше. Для заданного числа k неявный метод
Адамса — Мултона является в принципе более точным, чем
явный метод Адамса — Бэшфорта. Далее, когда дело доходит
до рассмотрения поведения методов при малых возмущениях
значений уп (моделирующего поведение формул при их
численной реализации на цифровых вычислительных машинах),
оказывается, что в явных методах значения шага h должны быть
гораздо меньше, чем в неявных методах (вследствие
абсолютной устойчивости последних; см. гл. 2).
Согласившись с тем, что неявные методы обычно
предпочтительнее на практике, покажем теперь, как они могут быть
реализованы. Мы будем рассматривать формулу (2.9), однако те
же идеи применимы и к некоторым другим эквивалентным
представлениям, например к (2.8). Из (2.9) получаем
f( ) + n, fa¥=0> (2.10)
где gn содержит известные величины уя+/, fn+/,/=0, 1, ..., ft—1.
Можно показать, что (точную формулировку см. в книге Хен-
Гл. 1. Введение в дискретные методы 17
ричи [1962, § 5.2]) если
то существует единственное решение yn+k уравнения (2.10),
которое можно получить с помощью итерационного процесса
hbt
J_Lf (
х ti(v) \ л- о v = 0 1 2 (2
n+k
где #^ произвольно. (Важно также заметить, что скорость
сходимости зависит от величины А|Р*/а*|£.) Этот
итерационный процесс хорошо приспособлен для автоматических
вычислений, и на каждом его шаге требуется лишь одно вычисление
функции /. Очевидно, желательно выбирать у®\к по
возможности точнее. Надлежащий выбор обеспечивается при помощи
явной многошаговой формулы. Тогда явный метод называется
предсказывающим, неявный метод (2.10)—исправляющим, а
весь комбинированный процесс — предсказывающе-исправляю-
щим методом1). Существует два способа реализации предска-
зывающе-исправляющего метода.
В первом случае итерации (2.11) проводятся до тех пор,
пока не будет достигнута сходимость (практически до тех пор,
пока последовательные итерации не станут достаточно близки
друг к другу). При этом число вычислений функции /,
возможно, меняется от точки к точке и может быть достаточно велико;
с другой стороны, если мы готовы уменьшить величину h (и,
следовательно, увеличить скорость сходимости), то сходимость
всегда может быть достигнута за фиксированное число
итераций. Этот общий метод называется исправлением до
сходимости.
Во втором случае на каждом шаге исправляющая формула
применяется фиксированное (наперед заданное) число раз,
скажем t раз; затем полученное yW+k принимается за
приближение к у(Хпн)» Этот метод лучше всего излагать в стандартных
обозначениях Халла v Кримера [1963], у которых Р означает
применение предсказывающей формулы, С — однократное
применение исправляющей формулы и Е — вычисление функции
/2). Для иллюстрации различных схем вычислений
1) Наряду с этим термином в литературе можно встретить и термин
«метод предиктор-корректор», в точности соответствующий английскому
predictor-corrector method. — Прим. ред.
2) В качестве этих обозначений выбраны первые буквы соответствующих
английских терминов Predictor, Corrector, Evaluation. — Прим. ред.
18 Часть 1. Задача Коши
воспользуемся парой формул Адамса
Предсказывающая: ynU = */„ + у (3fn — fn-\)>
Исправляющая: yn+l = yn-\-j (fn+{ + fn).
Используя обозначение fw = f(xn, *4V))> имеем для /=1
следующую схему вычислений:
р- //(0) =/yd) _l — T3f(1) — f(1) "I
p. f(0) =f(x f/(°> "i ">
> C2 121
C: ^i-yg' + T^ + 'W.]
e: e.-fcwdfy. (2Л2а)
Этот процесс называется методом РЕСЕ. Можно сократить
вычисления, отбросив формулу (2.12а). Это приводит к так
называемому методу РЕС:
р. -.(0) _ /7(1) JL.h. /Qf(0) — f(0) \
г* Уп+\ Уп ^ 2 V 'л 1п-\)>
Е- f(°) =f(x u{0) ) \
П* /ft+1 / \xn+V Уп+{)> I
С- и{1) = ^(1) 4- — (Но) 4- f^0) ^1 '
^' ^«+1 ^/г ^ 2 Уп ' 'я+lj* J
Кроме того, можно сделать еще / исправлений, т. е. применить
операции (2.12) и (2.13)/ раз, получая соответственно Р(ЕС)'Е
и Р(ЕС)' методы.
Одна из главных трудностей, связанных с общим
использованием многошаговых методов и не возникающих при
использовании одношаговых методов Рунге — Кутты, состоит в
изменении величины А. С другой стороны, при одинаковой точности
многошаговые методы можно применять таким образом, что на
одном шаге численного интегрирования обычно требуется
меньше вычислений функции /, чем в методах Рунге — Кутты.
(iv) Блочные методы
В оставшихся пунктах этого параграфа мы очень кратко
рассмотрим некоторые менее известные методы. В большинстве
случаев об их вычислительных свойствах известно относительно
мало по сравнению с широко распространенными методами
Рунге — Кутты и многошаговыми методами.
Методы первого типа основаны на идее одновременного
вычисления «блока» приближений уп+\, Уп+2, ..., Уп+n! например,
Гл. 1. Введение в дискретные методы 19
прЦ N=2 мы имеем неявный блочный метод, предложенный
Клиппинджером и Димсдейлом:
Уп+\ — ~сГУп+2 = T!//iTT(//i In+2J>
h
Уп+2 = yn + j(fn+ 4/n+i
Следовательно, если блок (уп-иУп)т известен, то по формулам
(2.14) определяется следующий блок (уп+\, Уп+2)- В связи сэтим,
вероятно, было бы правильнее назвать метод одношаговым
блочным неявным методом. Это подход, развитый Шампайном
и Уаттсом [1969, 1972], непосредственно приводит к понятию
многошаговых блочных методов.
Как показал Батчер [1964], формулу (2.14) можно также
рассматривать как неявный метод Рунге— Кутты с шагом h=
= 2h. Блочные методы, эквивалентные явным методам Рунге —
Кутты (определенные на сетке с шагом Nh), были описаны
Россером [1967]. Преимущество этих формул заключается в
том, что для них требуется меньше вычислений функции /, чем
для традиционных методов Рунге — Кутты. Примеры и
обсуждение этих вопросов можно найти в книге Лэмберта [1973].
Неявные блочные методы применительно к системам
жестких дифференциальных уравнений были развиты наподобие
линейных многошаговых методов Уилльямсом и де Хогом [1974].
(v) Гибридные методы
В линейных многошаговых методах используется
информация лишь в точках хп = а + nh, п = 0, 1, 2, ..., тогда как в
методах Рунге — Кутты используется информация также в других
точках, например в точках хп + А/2. В гибридных методах
пытаются объединить эти свойства. Следуя Лэмберту [1973], эту
идею можно продемонстрировать на примере й-шаговой
гибридной формулы
k k
% ajyn^} = h Z hfn+i + Apvf«+V, (2.15)
где a*=^0, |ao| + |Po|=^O, v ф 0, 1, 2, ..., k и fn+v=f(xn+v9yn+v).
Эта формула еще не позволяет проводить вычисления: для того
чтобы аппроксимировать yn+v, требуется предсказывающая
формула. За счет выбора параметров v и pv в формуле (2.15)
удается получать методы с лучшими (чем у обычных линейных
многошаговых методов) свойствами. При заданном k одной из
главных целей было бы увеличение точности формулы (2.15)
по сравнению с общепринятой формулой.
Гибридные методы будут подробно рассмотрены в гл. 3.
20 Часть 1. Задача Коши
(vi) Разностные методы, в которых используются
производные высших порядков
Этот класс содержит разностные методы, обобщенные так,
что в них используются производные высших порядков.
Следовательно, такие методы можно рассматривать как
многошаговое обобщение методов разложения в ряд Тейлора. В
литературе эти методы связаны с именем Обрешкова. Так, в /г-шаго-
вом методе Обрешкова
используются первые / производных от у. В качестве примера
при k = 1, 1 = 2 имеем неявный метод
уп+1 -Уп=т «, + 4Р) - тт (С - «У).
который имеет ту же точность, что и явный четырехэтапный
метод Рунге— Кутты (2.4а).
Естественно, что для эффективного применения этих
методов существенно, чтобы было легко выписать полную
производную yW. Одна из таких областей применения — жесткие
уравнения. Эффективные алгоритмы, основанные на неявных
формулах Обрешкова, были предложены Линигером и Уиллаби
[1970], а также Энрайтом [1974]; дальнейшее обсуждение этих
вопросов см. в гл. 11.
3. ПРИМЕНЕНИЕ К СИСТЕМАМ И К УРАВНЕНИЯМ
БОЛЕЕ ВЫСОКОГО ПОРЯДКА
В этом параграфе мы кратко покажем, как методы § 2
можно применять к системам уравнений первого порядка, а также
к системам уравнений более высокого порядка.
Для системы 5 уравнений первого порядка
y' = f(x>y), x<=[a,b], y(a) = y0, (3.1)
где
*/= [</*(*)> tf(x), ..., ys(x)]\
f{x,y) = [fl(x,y)9f*{x9y)9..., fs(x, y)7,
решение в точке хп+\ при помощи разложения в ряд Тейлора
в окрестности точки хп можно получить покомпонентно, т. е.
для /== 1, 2, ..., s найти
У1 {хп+х) = У1 (хп) + A -g- (хп) + ~% (хп) + ....
Гл. 1. Введение в дискретные методы 21
Если теперь отбросить, например, члены порядка Ь? и выше, toi
получится, как в § 2, метод разложения в ряд Тейлора
y^-yL + hfi + ^^f^ t-i.2 «
здесь угп обозначает приближение к у1 (хп) и f*n = /' (хп, уп), где
Уп = \Уп> &• • •> *Л1- Далее> вве*я вект°Р fn = Un> f\> • • •' №
этот метод можно записать в виде
+ 4й)' (3-2)
где вектор f'n получается покомпонентным
дифференцированием fn по х. Из тождества
dfl дГ dx ,y dfl dyi ,_, 9
dx дх dx 4^i dyi dx
мы получаем (в векторной записи)
V (*> y) = -jz (x> y) + J (х> у) f (х> у)*
где df/dx — вектор, полученный покомпонентным частным
дифференцированием, а / (х, у) = (dfl/dyf) есть (s X s) -матрица
Якоби функции /.
Метод Тейлора (3.2) тождествен по форме методу для
скалярного уравнения 5 = 1; здесь скаляры у и / были заменены
s-мерными векторами. Точно так же все методы Рунге — Кутты
§ 2 можно применять к системам, предварительно заменив
скаляры уу /, ф и kn г = 1, 2, ..., пг, соответствующими s-мерными
векторами.
Один из способов построения линейных многошаговых
методов дается так называемым методом интегрирования
(integration method), основанным на тождестве (2.6). Для системы
Уравнений его можно применять покомпонентно:
х+1
J fl(t,y(t))dt, *=1,2,...,*,
и для того чтобы получить разностные методы вида (2.9), где
теперь #я+/ и /я+/ (/ = 0, 1, ..., k) представляют собой s-мер-
ные векторы, достаточно дословно повторить предыдущие
рассуждения. Аналогичные замечания применимы ко всем
остальным методам, описанным в § 2.
Рассмотрим теперь уравнения более высокого порядка.
Предположим, что скалярное уравнение р-го порядка
22 Часть 1. Задача Коши
(аналогичные замечания применимы к системам) задано в виде
УФ) = / (*, у> у\ у\ ..., у(р-% х е= [а, Ы (3.3)
с начальными условиями
где #(г") = d^y/dx1. Самый простой способ исследования задачи
(3.3) состоит в том, чтобы преобразовать уравнение в
эквивалентную систему уравнений первого порядка, введя новые
переменные
yl^y{i-l\ i = l, 2, ..., р.
Тогда из (3.3) получаются уравнения
(У1У=УШ, '•=!> 2, .... р-1,
у1, ?,...,&) ( '
с начальными условиями
Для решения этой системы р уравнений первого порядка
можно применять рассмотренные выше методы.
Существует и другая возможность: можно непосредственно
работать с уравнениями высокого порядка, развивая методы
рядов Тейлора, Рунге — Кутты, многошаговые и т. п., которые
непосредственно применимы к данному уравнению (3.3); см.,
например, Гир [1971], а также гл. 6 настоящей книги.
4. ИСТОЧНИКИ ПОГРЕШНОСТЕЙ
В этом параграфе приводятся некоторые сведения о природе
погрешностей, которые могут возникнуть при практическом
использовании методов для численного решения обыкновенных
дифференциальных уравнений. Рассмотрим систему (3.1) и
общий класс методов, которые в векторной записи
представляются формулой
Z a>iyn+i = h(pf(xn; yn+ky ..., уп\ h) (4.1)
для O^n^N — &, b — a = Nh, где {а/}—постоянные, a^^O,
с заданными начальными значениями г/о, Уи • •. > Уи-\-
Здесь q)f — заданная вектор-функция, которая зависит от /;
если ф не зависит от у^+к, то метод явный, в противном
случае— неявный. Это определение включает много важных
методов, рассмотренных ранее.
Гл. 1. Введение в дискретные методы 23
Примеры
1. 0вный двухэтапный метод Рунге — Кутты (метод Хойна)
k—l, ао = — 1, а1 = 1,
qpf (t0; М|, щ\ h) ss J/2 [/ (tOy щ) + f (to + A, и0 + A/ (^o> «о)]-
2. Общий линейный многошаговый метод
<pf (fo и*, ..., а0; А) = Z Р*/ ('о + /А, и,).
Рассмотрим теперь задачу (3.1) и предположим, что
приближенное решение #о, Уи •••, Уы, Nh = b — а вычисляется по
формуле (4.1).
Определение 4.1. Величина уп — у(хп) называется
полной погрешностью дискретизации *) в точке х = хп, 0 ^ п ^ N.
Одной из центральных проблем в численных методах для
обыкновенных дифференциальных уравнений является
получение надежных оценок полной погрешности дискретизации.
Естественно требовать, чтобы эту погрешность можно было сделать
сколь угодно малой, выбирая достаточно малым шаг А; в этом
заключается понятие сходимости (см. гл. 2).
Определение 4.2. Погрешность аппроксимации (local
truncation error) tn+k формулы (4.1) в точке xn+k <= [at b]
определяется по формуле
k
tn+k = Z <*/# (xn+i) — A<Pf (Xn> У (Xn+k), . • -, У (хп)\ A). (4.2)
t=0
Величина tn+k представляет собой количество, которого не
достает для того, чтобы точное решение (3.1) удовлетворяло (4.1),
и может рассматриваться в качестве предварительной оценки
точности формулы. Если метод (4.1) явный и предполагается,
что yn+r = y(xn+r), 0< r sg&—1, то из (4.1) и (4.2) легко
получить
II Уп+k — У (Xn+k) II = |-^-у II tn+k I
и мы имеем простое соотношение между погрешностью
аппроксимации и погрешностью для yn+k- При том же предположении
о «степени точности предыдущих значений» в случае неявных
методов соотношение между этими двумя величинами
оказывается гораздо сложнее. Нестрого говоря, погрешность
!) В отечественной литературе используется также термин «полная
погрешность метода». — Прим. ред.
24 Часть 1. Задача Коши
аппроксимации можно рассматривать как погрешность,
вносимую формулой на каждом шаге.
Если мы рассматриваем дифференциальные уравнения,
решения которых являются достаточно гладкими, то можно
получить выражение для погрешности аппроксимации через
производные высших порядков от у(х).
Примеры
1. Рассмотрим метод Хойна (и — для упрощения
обозначений — скалярное дифференциальное уравнение); опуская индекс
у х, получаем выражение для погрешности аппроксимации:
y(x + h)-y(x)-±[f(x, y(x)) + f(x + h, y(x) + hf(x, y(x)))].
Предполагая, что f(x,y) обладает достаточным количеством
непрерывных производных по обеим переменным, и используя
разложение в ряд Тейлора, получаем
Так как у'(х) =f(x,у), у"(х) =fx(x,y(x)) + fy(x,y(x))y(x),
отсюда следует, что tn+\ =O(h3). Выражения, составляющие
главный член погрешности tn+\ для методов Рунге — Кутты, в
общем случае являются весьма сложными функциями от
смешанных производных высокого порядка функции /, имеющими
малое практическое значение; например, для рассмотренного
выше случая главный член погрешности имеет вид
+ ffl(f + 2ff + f
2. Для линейного многошагового метода
k k
Z ОчУп+i^h X $ifn+ti
1=0 *=0
предполагая, что у(х) непрерывно дифференцируема q-\-\ раз,
и используя соответствующие разложения в ряд Тейлора,
получаем
£ aty (х + ih) - h t hy' (x + ih) =
= Coy (x) + CM (x) + C2h2y" (x) + ... + Cqhqy{q) (x) + О (hq+1),
(4.3)
где постоянные С/ зависят от коэффициентов {а*} и
Co = ao + ai+ ... +afe,
С, = а1 + 2а2+ ... 4- А«л — (Ро + Pi + ■•• +
Гл. 1. Введение в дискретные методы 25
и т.д. (Выражение (4.3) можно использовать как отправной
пункт для вывода разностных формул с наперед заданным
порядком погрешности аппроксимации.) В практически
используемых методах типичное выражение для tn+k имеет вид
n+k р+1У („) + о (лр+2),
Величину преобладающего члена (так называемого главного
члена асимптотического разложения погрешности
аппроксимации) часто можно оценить и использовать в качестве средства
оценки полной погрешности. Для трехшагового метода Адам-
са — Бэшфорта
Уп+З = Уп+2 + -J2 (23^«+2 ~ 16/Л+1 + 5/я),
Остается рассмотреть, каким образом полная погрешность
дискретизации связана с погрешностью аппроксимации и
погрешностью предыдущих значений уп+и 0 ^ i ^ k — 1.
Для упрощения обозначений вновь рассмотрим скалярный
случай и положим еп = уп — у(х,г)у 0^n^.N; тогда из (4.1)
и (4.2) имеем
i = h [<Pf (*п> Уп+к> • • •» Уп\ h) —
t-o
— Фf (*п, У (Xn+k)> ... > У (хп); h) — tn+k] —
k
^hYj 1^1 (x"> $n+k> • • •' &»> h) е»+* ~ tn+k] (4-4)
здесь мы использовали предположение, что к функции q>f
применима теорема о среднем относительно переменных уп+и 0 ^
^ / ^ к. Следовательно, при «начальных погрешностях»
погрешность е^ начиная с п = 0, зависит только от
погрешности аппроксимации tk и от преобразованных начальных
погрешностей. В общем случае en+k определяется как погрешностью
аппроксимации tn+k9 так и тем, как разностное уравнение (4.4)
преобразует «предыдущие погрешности» еп, еп+\, •••> ^л+л-ь На
практике естественное требование состоит в том, что
погрешность аппроксимации должна быть достаточно мала. Кроме
того, метод (определяемый выбором функции <р/ и
коэффициентов {а/}) должен быть таким, чтобы «преобразованные
погрешности» росли не слишком быстро. (Более полное обсуждение
этих вопросов см. в гл. 2.)
26 Часть 1. Задача Коши
Выше при обсуждении вопросов точности не учитывались
погрешности округления. На практике (при использовании
арифметики с конечной точностью) мы получаем вычисленные
приближенные решения
• ••> Уп> Уп+и •••> Уп+k* •••>
которые удовлетворяют возмущенному уравнению (4.1)
k
£ ЩУп+i = hyf (xn; yn+k, ..., уп\ К) + Rn+kf
где Rn+k содержит члены, обусловленные погрешностями
округления. Полной погрешности численного решения соответствует
величина
ёп = Уп — у(хп)>
удовлетворяющая уравнению вида (4.4), в котором tn+k
заменяется разностью Rn+k — tn+k\ теперь применимы рассуждения,
аналогичные проведенным выше, так как погрешности
округления оказывают точно такое же действие, как добавочная
погрешность аппроксимации. Заметим, однако, что величину
Rn+k — tn+k нельзя сделать произвольно малой при А->0.
Наконец, мы хотим обсудить некоторые другие виды
погрешностей, характерных для рассмотренных алгоритмов при их
теоретическом исследовании и практическом использовании. То,
что мы должны предполагать «предыдущие значения» точными,
представляет собой определенную трудность, связанную с
интерпретацией погрешности аппроксимации. К тому же при
проверке алгоритмов чрезвычайно важно (с целью сравнения)
иметь возможность действительно вычислить точную
погрешность аппроксимации; это существенно ограничивает выбор
модельных задач такими задачами, для которых известно точное
решение. С учетом этого более удовлетворительным
оказывается иной вид погрешности, а именно так называемая
локальная погрешность; см. Халл с соавторами [1972], Гир [1971],
а также Шампайн и Гордон [1975].
Определение 4.3. Локальной погрешностью (4.1) в точке
xn+k e [ау b] называется величина
Уп+k — u
где u(x,xn+k-\) —решение задачи Коши:
и' = / (х, и), х <= [*я+*_1, Ь],
\ (4.5)
-V^ Уп+k-l*
Теперь.можно надежно сравнить алгоритмы на основе
оценок погрешности, так как на каждом шаге тестовой программы
Гл. 2. Сходимость и устойчивость
27
можно действительно вычислить локальную погрешность,
численно решая (с достаточно высокой точностью) задачу Коши на
отрезке [xn+k-u Xn+k]. Это можно сделать для систем
нелинейных уравнений, точные решения которых не известны.
Если рассматривать только локальную погрешность, то
численное решение должно следовать некоторой частной
интегральной кривой, скажем кривой А (см. рис. 1), но из-за каких-то
Т Т Т X
п+к-2 л+/г-1 п+к
Рис. I. а — локальная погрешность, б — интегральная кривая,
соответствующая точному решению и проходящая через точку (*л+£-г
иных погрешностей оно переходит на некоторую соседнюю
кривую В. Следовательно, поведение этих интегральных кривых
определяет характер полной погрешности.
СХОДИМОСТЬ И УСТОЙЧИВОСТЬ
1. ВВЕДЕНИЕ
Мы хотим численно решить следующую задачу Коши:
y' = f(x,y), У(а) = уо, x*=[a,b], y,f<=Rs. (1.1)
Мы будем рассматривать следующий класс общих
^-шаговых методов, которые порождают последовательность (уп\п —
= 0, 1, ..., N), где уп — приближение к у(хп), хп = а + nh и
Nh = b — a:
к
У г= sr О1), 0 ^ г < k (начальные значения), (i)
/h=%(xn; упЛ.к, уп+ь-и ...» Уп> й)
/1 П\
— k. (ii)
28 Часть 1. Задача Коши
Полезно определить (первый) характеристический полином
р(0) уравнения (1.2) посредством формулы
Класс (1.2) содержит не все дискретные методы для решения
задачи (1.1), но достаточно широкий набор методов, таких, как
линейные многошаговые методы (LMM), прсдсказывающе-ис-
правляющие методы (PC) (при условии, что они применяются
в варианте Р(ЕС)тЕ, а не в варианте Р(ЕС)т), методы Рун-
ге — Кутты (RK), как явные, так и неявные, и гибридные пред-
сказывающе-исправляющие методы (снова при условии, что они
применяются в том варианте, который оканчивается
вычислением функции).
Примеры
k
(a) LMM: cpf := £ p,f (xn+i, yn+i).
*о
Здесь уместно определить также второй характеристический
полином а(0):
k-l
(b) PECE: <pf :=
( k~~l )
\ *n+k> 4" E [- <Уп+1 + Щ! (xn+r Уп+()1 \ ■
I k i-o )
Здесь р и а — характеристические полиномы исправляющей
формулы, а р* и о* — характеристические полиномы
предсказывающей формулы.
m
(с) RK: А—1; <р, := Е crkn
Г—1
kr = f | xn + han Уп + blLbrtktj, I <r*Cm.
2. СХОДИМОСТЬ
Напомним, что полная погрешность в точке хп метода (1.2)
при применении его к задаче (1.1) определяется как уп — у{хп),
О ^.п ^ N. Если эта погрешность стремится к нулю при Л->0,
то мы говорим, что метод сходится. Таким образом, имеем
следующее определение.
Гл. 2. Сходимость и устойчивость 29
Определен и е 1. Метод из класса (1.2) сходится, если
для каждой задачи из класса (1.1)
max || уп — у (хп) \\ -> 0 при Л->0.
Заметим, что начальные значения, задаваемые формулой
(1.2(i)), должны сходиться так же, как и yn+k, Q^n^N — k.
Важно отметить, далее, что N стремится к бесконечности при
/г->0, так как Nh—b—а. Мы можем несколько прояснить суть
дела, рассмотрев, что происходит в фиксированной точке х =
= a-\-nh, xg [а, &], при Л->0 (и, следовательно, при п-~>оо).
Таким образом, мы можем дать следующее отличное от
предыдущего (но эквивалентное) определение.
Определение 2, Метод из класса (1.2) сходится, если
для каждой задачи из класса (1.1)
уп—>у(х) при й->0, где п = (х — a)/h>
для любого х е [а, Ь].
Зададимся теперь вопросом: каким условиям должен
удовлетворять метод из класса (1.2) для того, чтобы он сходился?
Интуитивно мы ожидаем, что будет необходим некоторый
минимальный уровень локальной точности. При обсуждении этого
вопроса удобно работать с локальной погрешностью
дискретизации, которая представляет собой иначе нормированную
погрешность аппроксимации.
Определение 3. Локальная погрешность дискретизации
(local discretization error) dn метода (1.2) в точке хп
определяется следующим образом:
У(хп)\ h) 1, (2.1)
J
1,
J
где y(x)—решение задачи (1.1). Таким образом, dn
представляет собой невязку при подстановке точного теоретического
решения задачи (1.1) в формулу (1.2).
Теперь определим допустимый минимальный уровень
локальной точности.
30 Часть 1. Задача Коши
Определение 4. Говорят, что метод из класса (1.2)
является согласованным, если
max ||dJ|->0 при А->0,
0<гс<ЛГ
и имеет порядок согласованности1) р, если max \\dn\\= O(hp).
Так как у(х)^ С1 [а, Ь], второе соотношение (2.1) можно
переписать в виде
— Аф*(лгл; y(xn+k), ..., у(хп)\ h) > =
Г /г г /г
< г/ (хп) J^ а( + A Q] mj (д^й
( f=0 Lt=O
— Ф/(*«; Уfe
Отсюда следует, что метод (1.2) согласован тогда и только
тогда, когда выполнены условия
уг->Уо при А->0, 0<r<;£, (i)
Za,(-p(l)) = 0f (ii) (2.2)
h(xn> y(xn+k)> •••» yfe); A)-^p/(i)f (xn, y(xn))
при А->0, лгЛ = а + ftA. (iii)
Для наших примеров условие (2.2 (iii)) выполняется тогда
и только тогда, когда
(a) LMM: су(1) = р'(1),
(b) PECE: а(1) = р/(1), Р*(1) = 0, (2.3)
(c) RK: Zcr = p'(l).
Следующие эвристические соображения иллюстрируют
соотношение между каждым из условий (2.2) и понятием
сходимости. Сначала предположим только, что уп сходится к некоторой
нетривиальной функции Y(x) в смысле определения 2. Тогда
при А->0, n = (x — a)/h, / = 0, 1, ..., k,
]) В отечественной математической литературе эта величина называется
порядком аппроксимации. — Прим. перев.
Гл. 2. Сходимость и устойчивость 31
и из (1.2 (ii)) получаем
откуда вытекает справедливость (2.2 (ii)). Заметим, что это
верно в предположении, что уп стремится к некоторой функции
безотносительно к задаче Коши (1.1). Далее, так как
можно записать (1.2 (ii)) в виде
к
Е «** (Уп+i — Уп)1Щ = <pf (хп; Угь+ь ...» Уп\
Если предположить, что Y(x)&Cl[a, Ь], то получится
(Уп+i - УпЖЩ -> Т (х) npi h -> 0, п = (х — a)/h, i = 0, 1, ...,
и отсюда следует, что
Результат (2.2 (iii)) теперь вытекает из предположения, что
Y(x) удовлетворяет дифференциальному уравнению (1.1), а
результат (2.2 (i))—из предположения, что Y(x) удовлетворяет
также начальным условиям в (1.1). В этом смысле
согласованность представляет собой допустимый минимальный уровень
локальной точности, необходимой для сходимости1). Имеет
место следующая теорема.
Теорема 1. Сходящийся метод из класса (1.2) с
необходимостью является согласованным.
(Доказательство для метода LMM можно найти в книге
Хенричи [1962]; для более широкого класса методов,
включающего методы вида (1.2), см. Батчер [1966] и Спейкер [1966].)
Однако, как мы увидим в следующем разделе,
согласованность не достаточна для сходимости методов из класса (1.2).
3. НУЛЬ-УСТОЙЧИВОСТЬ
Начнем с рассмотрения примера. Метод
l) В связи с этим вместо термина «согласованность» иногда используется
термин «необходимое условие сходимости». — Прим. перев.
32 Часть 1. Задача Коши
примененный к задаче
у' = 2х, у(0) = 0 (решение у(х) = х2),
будет согласованным, если выбрать начальные значения так,
что So(/*)->0, s\(h)->-0 при А->0. Это с очевидностью следует
из соотношений (2.2) и (2.3(а)). Тогда последовательность
{уп} определяется формулами
Уо = So (Л), #i = Si (A), (i)
z/*+2 — 3#„+1 + 2#Л = 2А (*Л+! — 2хп) = (3.2)
= 2А2(1-я), 0</г<АГ-2. (и)
Общее решение (3.2 (ii)) представляет собой сумму общего
решения однородного уравнения и частного решения. Общее
решение имеет вид Л9" + £02, где А и В — произвольные
постоянные, а 01 (== 1) и 92(=2) —корни характеристического
полинома разностного уравнения
62 _ зе + 2,
т. е. полинома р(б). Легко найти, что частным решением
является п(п — 1)А2. Отсюда получаем общее решение (3.2(ii)):
и частное решение, удовлетворяющее (3.2 (i)):
Уп = [2s0 (A) - si (A)] + [sx (А) - s0 (А)] 2п + п (п - 1) А2. (3.3)
Существует специальный .выбор начальных значений so(A) =
= 0, si(A) = 0 (которые в данном случае не совпадают с
точными начальными значениями г/(0) = 0, y(h) = h2), такой, что
уп = п(п— I)h2 = (nhf — (nh)h->x2 при А->0, n = x/h.
Если, однако, so(A)->O, Si(A)->0 при А-*0, так что Si(ft) —
— so(h) = O(hq), q > 0, то второй член в (3.3) стремится к
бесконечности, поскольку
lim hqBn = ** lim вя/лд = оо при | в | > 1, (3.4)
Л -* 0 п -» оо
и метод не сходится.
Аналогичная ситуация возникнет тогда, когда мы вернемся
к специально выбранным начальным значениям $о(А) = О =
= si(A), но внесем в разностное уравнение (3.2(ii)) малое
возмущение б(А)= 0(hq), q > 0, что приведет к уравнению
уп+2 ~- Ъуп+Х + 2уп = 2А2 (1 - л) + 6 (А)
с общим решением
Уп = Л J- д . 2^ + п {п - 1) А2 - яб (А).
Гл. 2. Сходимость и устойчивость 33
Подставляя начальные значения s0 (h) = 0 == Si (А), получаем
и вновь сходимости нет. Таким образом, даже если в общем
случае мы имеем способ нахождения специальных начальных
значений, которые в теории устраняют расходящиеся
компоненты решения, на практике любое последующее возмущение
разностного уравнения (такое, как погрешности округления) будет
причиной того, что расходящиеся компоненты появятся вновь.
Итак, метод (3.1) чувствителен к малым возмущениям как
в начальных значениях, так и в разностном уравнении; он
неустойчив в том смысле, что возмущение решения уп не
ограничено даже в пределе при h-*0, nh — x. (Выделенные курсивом
слова побуждают нас назвать свойство устойчивости, которое
мы определим ниже, ш/лб-устойчивостью.)
Прежде чем формулировать определение нуль-устойчивости,
поучительно рассмотреть аналогичную ситуацию для задачи Ко-
ши (1.1). Рассмотрим класс возмущенных задач
z' = f(x, z) + 6(x), z(a) = yo + 6, *е=[а, Ь],
где (б(л:),б)—возмущение, а г(х)—возмущенное решение.
Определение 5. (Хан [1967], Штеттер [1971].) Пусть
(б(л;),б), (б*(х),6*)—некоторые возмущения, и пусть z(x),
z*(x)—возмущенные решения. Тогда, если существует
положительная постоянная S, такая, что для любого лге [а, Ь]
II * (*)-*•(*) II <Se
при
|б()6*()||< и ||6-б*|]<е,
то мы говорим, что задача Коши (1.1) абсолютно устойчива.
Абсолютная устойчивость не накладывает большие требова-
чия на задачу Коши. (В самом деле, условие Липшица для
функции f(x,у), которое на протяжении всей книги
предполагается выполненным, достаточно для получения абсолютной
устойчивости; см. Гир [1971].) Интуитивно ясно, что если
задача Коши не является абсолютно устойчивой, то у нас нет
шансов получить приемлемое численное решение каким-либо
разностным методом, если только сам этот метод не
удовлетворяет аналогичному условию устойчивости, которое мы теперь
определим.
Рассмотрим класс возмущенных методов (1.2)
(3.5)
k, ..., zn> h) + 6п+к, 0<n<W — ft,
2 Зак.
34 Часть 1. Задача Коши
где (6Л|/г = 0, 1, ..., N)— возмущение,a (zn\n = О, 1, . ♦♦, /V) —
возмущенное решение.
Определение 6. Пусть (дЛ|я = 0, 1,..., N), (6« | лг = О,
1 ^..., N) —- некоторые возмущения, и пусть (zn \п = 0, 1, ..., N),
(z*n\n = Q, 1, ..., N) — возмущенные решения. Тогда, если
существуют постоянные Ао и S, такие, что для любого h е (0, hQ]
Un-z*n\l<SB, 0<п<ЛГ,
при ||вв;||<8 0<п<Л^ ( *
то мы говорим, что метод (1.2) нуль-устойчив. (Это свойство
часто называют также устойчивостью или D-устойчивостью;
буква D указывает на основополагающую статью Далквиста
[1956].)
Мы уже показали, что метод (3.1) в нашем примере не
является нуль-устойчивым. При более внимательном
рассмотрении примера становится ясно, что это происходит из-за наличия
у полинома р(9) корня +2, который и устраняет возможность
нуль-устойчивости. Этот результат легко обобщается.
Рассмотрим задачу Коши
/ = 0, у(0) = 0,
и предположим (поскольку такой случай всегда возможен), что
так что формулы (3.5) принимают вид
2r = sr{h) + 6n 0<г</г,
k W./j
2) Щ2п + 1 = 0, 0 < П < N — k.
1-0
Предположим, что р(9) имеет корень \|), такой, что |г|)|> 1,
Рассмотрим следующую пару возмущений:
(бя): 6Г = г|)гсо - sr (/г), 0 < г < k,
(в;): b*r = -sr(h),
Так как
t
i-0
из (3.7) следует, что соответствующим возмущенным решением
является
Гл. 2. Сходимость и устойчивость 35
Следовательно,
1кп-г;|| = ||^со||=|г|)Г||а>||,
тогда как
|*л — 6я|< max ||\|)гсо||:=е,
и поскольку N-+-OO при А->0, ясно, что (3.6) не может быть
выполнено.
Предположив теперь, что p(G) имеет корень гр кратности,
большей единицы, и такой, что |г|)| = 1, рассмотрим возмущения
(6„): бг = л|)гсо - sr (h), 0 < г < k,
(б;): e; = -sr
Так как Е«Л^ + О*П+/ = ^[^Р(Ф) + Р/('Ф)] = О, из (3.7) сле-
/«о
дует, что соответствующие возмущенные решения имеют вид
гп — п$п®, гп = 0, 0 < п < N.
Следовательно,
тогда как
II6/1 — в«|< max ||гг|5г©||=:е,
0<<ft
и вновь (3.6) не может быть выполнено.
Таким образом, если р(0) имеет корень вне единичной
окружности или кратный корень на единичной окружности, то
метод (1.2) не может быть нуль-устойчизым.
Определение 7. Говорят, что метод (1.2) удовлетворяет
корневому условию, если все корни характеристического
полинома p(G) лежат внутри единичной окружности или на самой
этой окружности, причем те корни, которые лежат на единичной
окружности, являются простыми.
Заметим, что если метод (1.2) согласованный, то в силу
(2.2(ii)) полином р(6) обязательно имеет корень в1 = +1. На
данном этапе удобно дать следующее определение.
Определение 8. Говорят, что метод (1.2) удовлетворяет
сильному корневому условию, если его характеристический
полином р(0) имеет простой корень +1, а все остальные корни
лежат строго внутри единичного круга.
36 Часть /. Задача Коши
Корни Ov, v = 1, 2, ..., k, полинома р(8) согласованного
метода, удовлетворяющего корневому условию, часто
классифицируются следующим образом:
главный кореньу
( побочные )
6vi<l, v = 2, 3, ..., k: { \ корни,
vl^ ' {посторонние) г
(
l, v = 2, 3, ..., k: {
0v, | ev |= 1, v = 1, 2, ..., m\ существенные корни,
0v, I 6V |< 1, v = m + 1, ..., k: несущественные корни.
Мы уже показали, что для методов из класса (1.2)
нуль-устойчивость влечет выполнение корневого условия. Справедливо
также обратное утверждение, и можно установить следующий
важный результат (см., например, Изаксон и Келлер [1966]),
Теорема 2. Метод из класса (1.2) нуль-устойчив тогда и
только тогда, когда он удовлетворяет корневому условию.
Теперь мы можем сформулировать основную теорему
сходимости.
Теорема 3. Метод из класса (1.2) сходится тогда и только
тогда, когда он является и согласованным, и нуль-устойчивым.
Заметим, что любой согласованный одношаговый метод из
класса (1.2) с необходимостью удовлетворяет корневому
условию (и, следовательно, является нуль-устойчивым), так как
в силу (2.2(и)) единственным корнем полинома р(6) является
6i = +l. Следовательно, справедлива следующая теорема.
Теорема 4. Одношаговый метод из класса (1.2) сходится
;тогда и только тогда, когда он является согласованным.
Теорема 3 занимает центральное место в развитии теории
численных методов для дифференциальных уравнений. Впервые
она была доказана для случая LMM Далквистом [1956]; см.
также Хенричи [1962]. Доказательство для класса методов (1.2)
можно найти в книге Изаксона и Келлера [1966].
Относительно более широких классов методов см. Гир [1965], Батчер
[1966], Спейкер [1966], Чартрс и Стиплмен [1972], Мякела, Не-
ванлинна и Сипиля [1974], а также Уатт [1967] и Штеттер
119731.
[Доказательство теоремы 3 существенным образом
опирается на предположение, что f{xt у) в (1.1) удовлетворяет
условию Липшица относительно у, Тауберт [1974] показал, что
если (1.1) имеет единственное решение, а /(%, у) лишь
непрерывна по //, то теорема 3 перестает быть справедливой и в
случае LMM необходимое и достаточное условие сходимости со-
Гл. 2. Сходимость и устойчивость 37
стоит в том, что метод является согласованным и удовлетворяет
сильному корневому условию.]
Качественно резюмируя результаты этого пункта, можно
сказать, что согласованность определяет величину погрешности
аппроксимации, в то время как нуль-устойчивость определяет
характер развития этой и других погрешностей в пределе при
ft-)-0, Nh = b — а; оба эти свойства существенны для
достижения сходимости. Сходимость — это наименьшее требование,
предъявляемое к численному методу (так же, как абсолютная
устойчивость для задачи Коши). Методы, не являющиеся
сходящимися, практически бесполезны. С другой стороны (как мы
убедимся впоследствии), никоим образом нельзя считать, что
все сходящиеся методы пригодны для практических
вычислений,
4. ДОСТИЖИМЫЙ ПОРЯДОК НУЛЬ-УСТОЙЧИВЫХ LMM
Линейный многошаговый метод
k k
Z <*#«+/ = /* Z hf(xn+i> Уп+i) (4Л)
имеет 2k +1 свободных параметров, если он неявный, и 2k
свободных параметров, если он явный (один параметр уходит
на нормировку). С другой стороны, легко показать, что если
(4.1) имеет порядок р, то свободные параметры должны
удовлетворять р + 1 линейному уравнению. Таким образом,
наивысший порядок, который мы можем надеяться получить в
формуле (4.1), равен 2k (для неявного метода) или 2k —\ (для
явного метода). Однако этот максимальный порядок не может
быть достигнут без нарушения корневого условия.
Теорема 5. Никакой нуль-устойчивый ^-шаговый LMM
не может иметь порядок, превосходящий k + 1 при k нечетном
или k + 2 при k четном.
Доказательство можно найти в книге Хенричи [1962].
Определение 9. Нуль-устойчивый LMM с числом шагов
k называется оптимальным, если его порядок равен k + 2.
Можно показать, что для оптимальных LMM все корни
полинома р(9) непременно являются существенными.
Теорема 5, которую следовало бы усилить, применима
только к LMM, но не ко всему классу (1.2); поэтому она явилась
стимулом для развития модифицированных LMM, таких, как
гибридные методы Грэгга и Штеттера [1964],. Гира [1964} и
Батчера [1965].
38
Часть I. Задача Коши
5. УСТОЙЧИВОСТЬ ПРИ ФИКСИРОВАННОЙ ВЕЛИЧИНЕ ШАГА
В § 2 мы установили необходимые и достаточные условия
сходимости хметода из класса (1.2). В оставшихся параграфах
этой главы будет предполагаться, что все методы из класса
(1.2) удовлетворяют этим условиям. Как показывает
следующий пример, сходимость сама по себе не гарантирует того, что
метод будет давать приемлемые численные результаты. Мы
хотим решить задачу
/ = -10(г/-1)2, */(0) = 2 (решение */(*)=! + 1/(1 + 10*)), (5.1)
используя явный гибридный алгоритм Грэгга и Штеттера
[1964] в виде PvEP/yE:
Уп+2.7 - 2.267025уя+2 - 3.572lyn+l + 4.839125#rt=
= Л(/«+2-4.67б1/я+1+ 1.73106/J, (5.2)
^2 - 7fn+\ + 500/„+2.7).
Характеристический полином для (5.2) будет р(0) = 03 —02, и,
очевидно, метод является нуль-устойчивым; он является также
согласованным и имеет четвертый порядок. Численные
результаты, представленные в табл. 1, получены с величиной шага
/1 = 0.1 и h =0.01.
Таблица, 1
хп
0.03
0.04
0.05
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
А=0.1
_
—
—
—
—
-0.118
—0.072
-0.287
—0.361
— 1.929
-40.131
-2ХЮ6
Уп~У(хп)
h = 0.01
-567ХЮ""8
-723ХЮ""8
-491 Х10~8
-379ХЮ"8
-186Х10-8
-106ХЮ""8
-68ХЮ'8
-48ХЮ"8
-34ХЮ""8
-27ХЮ""8
-21ХЮ"8
-17Х10-8
В этих результатах существенно то, что при й = 0.01 полная
погрешность уменьшается с увеличением /г, тогда как при h =*
Гл. 2. Сходимость и устойчивость 39
= 0.1 она совершенно катастрофически возрастает. Очевидная
несостоятельность этого метода при Л = 0.1 представляется
весьма серьезной, так как оценка локальной погрешности
дискретизации при /г = 0.1 свидетельствует о приемлемом уровне
локальной точности. В действительности происходит
следующее: малые погрешности (как дискретизации, так и округления)
развиваются устойчиво при h = 0.01, но неустойчиво при Л=0.1.
Очевидно, необходимо, чтобы можно было оценить
максимальный шаг, для которого погрешность метода (5.2)
применительно к задаче (5.1) будет вести себя устойчиво.
Нуль-устойчивость гарантирует устойчивое развитие
погрешности в пределе при й->0. Рассмотренные выше численные
результаты подсказывают, что для метода (5.2) применительно
к задаче (5.1) существует некоторое положительное число /г0,
такое, что при fte(0, й0) погрешность будет развиваться
устойчиво. Однако так бывает не всегда. Существуют сходящиеся
методы из класса (1.2), такие, как метод Симпсона:
Уп+2 — yn = j (/я+2 + 4/Л+1 + /„), (5.3)
для которых погрешность будет развиваться неустойчиво при
всех положительных А, сколь бы малыми они ни были. Это
несовместимо со сходимостью. Если бы для решения (5.1) мы
использовали (5.3), то оказалось бы, что при последовательном
уменьшении шага точка #*, в которой полная погрешность
впервые превосходит некоторую заданную фиксированную границу,
смещается вправо. В пределе при Л->0 сходимость достигается
на некотором конечном интервале [а, 6], однако для любого
фиксированного положительного А можно найти точку х*, в
которой полная погрешность превосходит эту заданную границу.
Очевидно, нам требуется новое определение устойчивости,
в котором шаг интегрирования рассматривается как
фиксированная величина и требуется, чтобы погрешность развивалась
устойчивым образом при я->оо.
6. ОБЛАСТИ АБСОЛЮТНОЙ УСТОЙЧИВОСТИ
В идеале определение, которое мы ищем, должно быть
примерно таким:
«Метод из класса (1.2) называется абсолютно устойчивым
для заданного фиксированного шага и для заданной задачи
Коши (1.1), если полная погрешность ея : =Уп — у(хп) остается
ограниченной при д->-оо».
Камнем преткновения в этом пробном определении является
зависимость от задачи Коши (1.1). Если мы не сможем найти
определение, которое не зависит от конкретной задачи Коши, то
40 Часть 1. Задача Коши
будет невозможно сравнить свойства абсолютной устойчивости
различных методов из класса (1.2). Поэтому мы остановимся
на задаче Коши частного вида и рассмотрим модельное
уравнение
у' = Ч, (6-1)
где К—комплексная постоянная. Причина выбора
комплексного значения К состоит в следующем. Если мы предположим, что
/ дифференцируема по у, то локальное поведение решения
задачи Коши общего вида (1.1) в первом приближении будет
определяться решением линеаризованного уравнения
/ df
y=wy'
где df/dy — матрица Якоби. В качестве модели этого уравнения
возьмем
у' = Ау, (6.2)
где А — постоянная матрица s X s. Если мы предположим, что
А имеет s различных собственных значений Xt, / = 0, 1, ,.., s,
то существует невырожденная матрица Я, такая, что
= A = diag(Ab Л2, .
В результате преобразования
У = Нг
уравнение (6.2) преобразуется в систему
которая является распадающейся системой уравнений вида
(6.2). Во всех обычно используемых методах из класса (1.2)
для получения разностного уравнения относительно zn можно
применить к (1.2) диагональное преобразование yn — Hzn\
свойства устойчивости для zn, очевидно, тождественны тем же
свойствам для у п. Таким образом, (6.1) является приемлемой
моделью, если интерпретировать Я как любое собственное
значение матрицы Якоби, которое, конечно, может быть и
комплексным. (Если s = l, то достаточно рассмотреть
действительное X.)
Теперь мы сделаем предположение (которое
удовлетворяется для всех обычно используемых методов из класса (1.2)),
что при подстановке в (1.1) модельного (для у1 = f(x,у)}
уравнения (6.1) функция ф^ в (1.2) становится линейной
относительно yn+i, i=0, 1, ..., k. Точнее, мы предполагаем, что
k
Ф/= кУ (хп\ yn+k, •.., уп\ h) = Я Z Vt {Щ Уп+i- (6.3)
*0
Гл. 2. Сходимость и устойчивость 41
Примеры:
(a) LMM: Y«(AA,)-fc. ' = 0,1 k\
(b) PECE: Y<(*A,)epf_i».(a;-p;M)
(/ = 0, 1, ..., k (если формально положить
(с) RK: Yi(A*)-O; Yo (АЛ) = />m_, (A*)/Qm (АЛ), где
Pm-i — полином степени не выше m — 1,
Qm —полином степени не выше m, Qm (0) = 1;
если метод явный, то Qm имеет нулевую степень.
Рассмотрим применение метода (1.2) к задаче Коши
у' = *>У, у (а) = г/о
для комплексного Я. Тогда из определения (2.1) локальной
погрешности дискретизации dn метода (1.2) при условии (6.3)
получаем
Zw+i %^fa y(n+k)> •••> У(хп); h) + h
= hkt ytW y(xn+i) + V (1)£/я+Л, 0<д.
г=о
Ио численные значения у^, полученные по формуле (1.2),
удовлетворяют соотношениям
уr = sr (h) + xn 0 < г < А,
n+l
О
где тЛ представляет собой локальную погрешность округления.
В результате вычитания получаем, что полная погрешность
е*: = Уп-~ у (хп) удовлетворяет уравнению
гг = %г — dn 0 < г < k,
[о, - АЛу/ (ЛЯ)] s,,.,, — тЛ+^ - V (1) dn+kt 0 <
решение которого представляется в виде суммы общего решения
и частного решения.
Определим полином устойчивости метода (1.2) как
k
я (г; hX) := £ [a, — hKyt {hX)\ rl (6.5)
*Q
42 Часть 1. Задача Коша
и обозначим его корни через rv, v=0, I, ..., k. В том случае,
когда rv различны, общее решение уравнения (6.4) имеет вид
v=l
(Если, например, rv — двукратный корень, то его вклад в (6.6)
равен (71V + nBv) г*.) Частное решение уравнения (6.4) можно
сохранить малым, если локальная погрешность дискретизации
и погрешность округления являются достаточно малыми. Ясно,
что если корни полинома устойчивости (6.5) удовлетворяют
неравенствам
|rv|< I, v=l, 2, ...,
то полная погрешность будет развшзаться устойчиво при п-^оо
и фиксированном А.
Определение 10. Метод (1.2) называется абсолютно
устойчивым для данного АЛ, если при этом АЛ все корни
полинома устойчивости лежат внутри единичного круга. Область
01а комплексной плоскости АЛ называется областью абсолютной
устойчивости метода (1.2), если (1.2) абсолютно устойчив при
всех НХ^0£а. (Заметим, что в случае скалярной задачи Коши
или системы, о которой известно, что все собственные значения
матрицы Якоби действительны, уместнее говорить об интервале
абсолютной устойчивости, представляющем собой просто
пересечение 01а с действительной осью.)
Для наших примеров полиномы устойчивости имеют
следующий вид:
(a) LMM: я (г; АЛ) = р (г) — АЛ<т (г),
(b) РЕСЕ: я (г; АЛ) = р (г) — АЛа (г) + АЛ -%• [р* (г) - АЛа(г)],
Ч
(c) RK: я (г; АЛ) = ахг + а0 — AЛYo (АЛ), где Yo является
полиномом от АЛ в случае явного метода и
рациональной функцией в случае неявного
метода.
Вид полиномов устойчивости для более общих РС-алгорит-
мов и для гибридных алгоритмов дан Лэмбертом [1973].
Корни полинома являются непрерывными функциями его
коэффициентов. Следовательно, в силу (6.5) корни rv, v = 0,
1, ..., k, полинома устойчивости я(г;АЛ) стремятся к корням
0V, v=0, I, ..., ky характеристического полинома р(0) при А-Я).
В частности,
rx -> 6j = + 1 при А -> 0. (6.7)
Гл. 2. Сходимость и устойчивость
43
Можно получить более сильный результат относительно
сходимости г\ к 0ь Если метод (1.2) имеет порядок р, то
P» In
max
k<n<N
Полагая / = Л#,
max
111
)» • • •» У М> h)\ \ =
= о(лр+1).
— yoex(Xn~a\ получаем
*-) - ЛЯ t v, (АЛ) Уо»х <*-
*-0
- О
I
max
или
откуда
Но л(^; АЛ) = const•(влл — Г1)(вл;1 — г2) -.. (е^ — гл), и так
как в силу нуль-устойчивости Г\ — единственный корень из rv,
который может стремиться к +1 при А->0, отсюда следует, что
e^ —ri=O(AP+I), или
n=^ + O(Ap+l), (6.8)
что представляет собой требуемую, более сильную форму
соотношения (6.7). Из (6.8) следует, что если АЛ = О, то |ri| =1,
а если величина Re АХ мала и положительна, то |ri|>l.
Таким образом, граница д$,А области $&а абсолютной
устойчивости всегда проходит через начало координат комплексной
плоскости hi и внутренность 91а всегда лежит слева от начала
координат.
На рис. 1 схематически изображены области 91а для трех
примеров:
(i) метод Эйлера, уп+\ — уп = hf(xn, yn);
(и) метод Эйлера, использующий разности назад, уп+\ —
— yn = hf(xn+uyn+i);
(iii) явный четырехэтапный метод Рунге—Кутты
четвертого порядка.
(Можно показать (см. Лэмберт [1973]), что для т = 1, 2, 3, 4
все т-этапные явные методы Рунге — Кутты порядка ш имеют
одинаковые области абсолютной устойчивости.)
Самым распространенным методом нахождения области
абсолютной устойчивости является так называемый метод
геометрического места точек границы. Точка fi% будет лежать на &Йл,
44
Часть 1. Задача Коши
если при этом hX полином устойчивости имеет корень, по
модулю равный единице, т. е. если существует действительное ф.
ГГ Л Т/ /Л Л ПГГГ^^ч
такое, что
== 0, р = —
(6.9)
Это уравнение численно решается для ряда значений ф (как
правило, берут г|)=0, 30, 60°, . ..),и кривая, проходящая через
полученные точки в комплексной плоскости hXy будет давать
приближение к д$,л\ для простых методов часто удается
решить (6.9) аналитически. Другие методы нахождения й?л,
связанные с критерием Шура и критерием Рауса — Гурвица,
обсуждались Лэмбертом [1973]; в связи с этим полезна также
статья Миллера [1971].
Можно следующим образом использовать область
абсолютной устойчивости для выбора шага интегрирования. Время от
времени в процессе вычислений приближенно находятся
собственные значения матрицы Якоби, и h изменяется так, чтобы
произведение h на любое собственное значение лежало внутри
&а. Подобная процедура приемлема для скалярной задачи
Коши или, быть может, для небольших систем или систем
специальной структуры, но слишком трудоемка в применении к
большим системам уравнений общего вида. Во многих современных
алгоритмах, таких, как алгоритм Гира [1971], область
устойчивости не анализируется. Тем не менее размер и форма Яа
важны при оценке значения конкретного метода по сравнению
с другими методами.
7. СИЛЬНАЯ УСТОЙЧИВОСТЬ
Из (6.8) мы уже видели, что если hX мало и положительно,
то |/*i|>l и такое hX должно находиться вне области 55U.
Кроме того, если hX мало и отрицательно, то |п|< 1. Однако
Гл. 2. Сходимость и устойчивость 45
возможно что полином у<лийчиьосги имеет друюй корень fv,
v ф 1, такой, что
rv->9v> |8V|=1 при h—>0
и что |/ч|> 1, когда hk мало и отрицательно. В точности это
происходит в случае метода Симпсона (5.3), для которого
зх (г; hk) — (1 - ЛЛ/3) г2 — 4/3Мг - (1 -f ЛЛ/3).
Легко находим
П = 1 + АЛ + О(А2), г2= - 1+ /гЛ/3 + О (Л2),
так что если Re/iA, мала и положительна, то |ri|> 1, тогда как
если Rehk мала и отрицательна, то |г2|>1. Таким образом,
для метода Симпсона не существует интервала абсолютной
устойчивости, по крайней мере в окрестности начала координат.
Более того, если мы применим метод геометрического места
точек границы, то мы найдем, что ОМа представляет собой
отрезок мнимой оси от — д/3/ До + д/3у. Для тех hk, которые
принадлежат этому отрезку, корни n(rthk) лежат на
единичной окружности; для всех других hk полином n(r\hk) имеет
корни, лежащие вне единичного круга. Отсюда следует, что 31а
пусто. Напомним, что метод Симпсона является оптимальным
методом (определение 9). Все оптимальные методы имеют
пустые области абсолютной устойчивости; такие методы нельзя
рекомендовать в качестве универсальных процедур.
Ясно, что каждый раз, когда р(0) имеет несколько
существенных корней, возникает опасность, что область 31а окажется
пустой. Такая опасность, однако, не всегда реализуется, о чем
свидетельствует следующий пример, предложенный Штеттером
[1965]:
Уп+2 Уп == \Ф> (//г+1 \ *1 п)> ,„
п (г; hk) = r2— l/2hkr — (1 + 3/2hk), ( ' '
откуда
г, = 1 + hk + О (h2), г2 — - 1 - УайЛ + О (Л2). (7.2)
Для малой положительной Rehk имеем |п|> 1, |г2|> 1, в тс
время как для малой отрицательной Re/iX имеем |п|<1,
\г2\ < 1, и, очевиднр, 31а не пуста.
Тем не менее если мы хотим быть уверенными в том, чтс
область абсолютной устойчивости не будет пустой, то мы
просто выбираем метод, для которого главный корень является
единственным существенным корнем, т.е. метод, который
удовлетворяет сильному корневому условию (определение 8).
46 Часть 1. Задача Коши
Определение 11. Метод из класса (1.2) называется
сильно устойчивым, если он согласован и удовлетворяет
сильному корневому условию.
Следуя этому ходу рассуждений, убеждаемся в том, что
можно обеспечить существование области абсолютной
устойчивости, выбрав р(9) так, чтобы все посторонние корни лежали
в начале координат, т. е. выбрав
Этот выбор определяет класс методов Адамса (хотя обычно
этот термин применяется только к LMM). Явные LMM Адамса
называются методами Адамса — Бэшфорта (АВ), а неявные
LMM Адамса называются методами Адамса — Мултона (AM);
их комбинации в виде PC называются методами Адамса —
Бэшфорта— Мултона (АВМ). Несколько современных алгоритмов,
таких, как нежесткий вариант метода Гира (Гир [1971]),
основаны на методах АВМ. Весьма ценное исследование свойств
абсолютной устойчивости методов АВМ было проведено Холлом
[1974].
8. СРАВНЕНИЕ МЕТОДОВ
Ясно, что на количественной основе невозможно сравнить &А
для различных методов. Вместо этого в табл. 2 мы приводим
список интервалов абсолютной устойчивости для некоторых
наиболее распространенных методов.
9. ОТНОСИТЕЛЬНАЯ УСТОЙЧИВОСТЬ
Вернемся к уравнению (6.8):
Так как решением модельной задачи у' = %у, у(а) = у0
является у(х) = уое^х-а^ и
гп = enhK + Q (Лр) = % (хп-а) + 0 (д^
можно утверждать, что не следует беспокоиться о том, что |ri|
больше 1 при положительной RehX. Было бы недопустимо,
чтобы погрешность росла с большей скоростью, чем решение.
Следовательно, мы можем выработать определение
относительной устойчивости, в котором требовалось бы, чтобы |rv|<|ri|,
v = 2, 3, ..., k. Иначе в силу (6.8) мы могли бы потребовать,
чтобы |rv|<|ehX|, v=l, 2, ..., k.
Определение 12. Метод (1.2) называется относительно
устойчивым для данного hk, если при этом hX все корни
Гл. 2. Сходимость и устойчивость
47
Таблица 2
Метод
Эйлера Явный
Эйлера с разностями назад Неявный
Трапеции Неявный
Четырехэтапный RK Явный
Двухэтапный RK Неявный
АВ Явный
AM Неявный
АВМ РЕС
АВМ РЕСЕ
АВМ Р(ЕС)2
СКАМ РЕСЕ
КМАМ РЕС
КАМ РЕСЕ
AM Неявный
АВМ РЕСЕ
КАМ РЕСЕ
Порядок
I
1
2
4
4
4
4
4
4
4
4
4
4
ОО ОО ОО
Интервал
(-2, 0)
(-оо,0) U (2, оо)
(-оо, 0)
(—2.78, 0)
(-со, 0)
(-0.3, 0)
(—3.0, 0)
(-0.16, 0)
(-1.25, 0)
(-0.9, 0)
(-2.48, 0)
(—0.78, 0)
(-1.8, 0)
(—0.5, 0)
(—0.4, 0)
(-0.6, 0)
Ключевые слова:
СКАМ — Крейн и Клопфенштейн [1965] получили предсказывающую
формулу, которая при использовании совместно с AM в виде РЕСЕ улучшает
свойства абсолютной устойчивости;
KM AM — Клопфенштейн и Миллман [1968] получили предсказывающую
формулу для использования с AM в виде РЕС;
КАМ — Крох [1966] получил предсказывающую формулу для
использования с AM в виде РЕСЕ, которая обладает хорошими свойствами
устойчивости и требует умеренного объема памяти.
Описание всех перечисленных методов можно найти в книге Лэмберта [1973]*
Примечания
1) Явные методы (включая PC) имеют конечные интервалы,
2) Неявные методы обычно имеют большие интервалы, чем
соответствующие явные методы (сравните, однако, КАМ с AM восьмого порядка).
3) Обычно (для PC методов, но не для RK) более высокому порядку
метода соответствует меньший интервал.
4) РЕСЕ методы обычно имеют большие интервалы, чем соответствующие
РЕС или Р(ЕС)2 методы.
5) В явном методе RK четвертого порядка требуется 4 вычисления
(правой части дифференциального уравнения. — Перев.) на одном шаге
интегрирования, в то время как в методе РЕСЕ требуется 2 вычисления. Таким
образом, с тем же успехом для РЕСЕ можно использовать шаг, равный
половине шага для RK. Это фактически удваивает интервал устойчивости РЕСЕ
при сравнении его с методом RK.
6) В литературе содержится очень мало сведений об областях
устойчивости для гибридных методов; вероятно, они окажутся значительно меньше,
Нем для соответствующих PC методов.
48 Часть 1. Задача Коша
полинома устойчивости по модулю меньше \е'гХ\. Область Я%
комплексной плоскости называется областью относительной
устойчивости метода (1.2), если он относительно устойчив при
всех /zAe52#. (Существует много вариантов этого определения.)
Преимущество этого частного определения состоит в том,
что оно позволяет нам видоизменить метод геометрического
места точек границы с целью нахождения 91r. Положим r—Z\eh>-\;
тогда точка /гЯ лежит на <?$?/?, если |Z|=1, т. е. если
существует действительное число г|), такое, что справедливо уравнение
которое теперь заменяет (2.9).
Относительная устойчивость относится не только к случаю
Re/iX>0. Рассмотрим метод (7.1); из (7.2) ясно, что для
малых отрицательных Rehk получается |г2|>|е/а| и метод
относительно неустойчив. Здесь погрешность убывает, но не так
быстро, как решение модельной задачи.
Области относительной устойчивости рассматривались во
многих работах, написанных в шестидесятых годах (на
некоторые из этих работ мы уже ссылались). После этого данными
вопросами занимались меньше, вероятно, из-за растущего
интереса к проблеме жесткости, в которой более существенна
абсолютная, а не относительная устойчивость.
3
ОЦЕНКА ПОГРЕШНОСТИ ДЛЯ ЗАДАЧИ КОШИ
1. ДИФФЕРЕНЦИАЛЬНАЯ ЗАДАЧА
Рассмотрим задачу Коши
y'(x)-f(x, y(x)) = 0, xs=[a, 6], y(a) = yQ, (1.1)
где у (х) = {г/i (х), ..., ys (x)}.
Мы предполагаем, что функция / удовлетворяет условию
Липшица по у, т.е. что существует такая постоянная L, что
II/(*>#i)-/(*, У2)\\<Ь\\у{-у2\\ (1.2)
при всех х е [а, Ь] и всех у и #2 из интересующей нас области.
Это условие обеспечивает единственность решения задачи (1.1),
если оно существует; см. Хенричи [1962].
Рассмотрим сначала влияние возмущений в
дифференциальной задаче (1.1). Предположим, что г(х) удовлетворяет соот-
Гл. 3. Оценка погрешности для задачи Коши 49
ношениям
*()f)Q6() * es [a, ft],
где 9 мало.
Полагая
г(х) = у(х) + ве(х) + О(В*) (1.4)
и используя теорему Тейлора, из (1.3) получаем
у' (х) + Qe' (х) -f(x, у (х)) - fy (х, у (х)) Qe (х) = 96 (х) + О (92),
Следовательно, функция е(х) должна удовлетворять линейному
дифференциальному уравнению
е' (х) - fy (х, у (х)) е(х)=*6 (*), е (а) = 60. (1.5)
Таким образом, если у и z удовлетворяют уравнениям (1.1) и
(1.3), а е(х)—уравнению (1.5), то справедливо соотношение
(1.4).
Позже мы увидим, что погрешность приближенного решения
задачи (1.1) удовлетворяет аналогичному уравнению.
Решение задачи (1.5) представляется в виде
е(х) = Е (а, х) 60 + $ Е (и, х) б (и) du, (1.6)
где
Е(и% *) = exp|JM/, y(i))dty (1.7)
Заметим, что если имеется система s уравнений, то fy(t,y(t))
представляет собой (s X s) -матрицу (матрицу Якоби функции
f). Такой же матрицей является Е(иу х). В этом случае
экспонента определяется с помощью бесконечного ряда, который
всегда сходится.
Из (1.6) мы видим, что влияние возмущения б (и) в точке и
зависит от функции Е(и,х), которая может быть больше или
меньше единицы и быть возрастающей или убывающей
функцией. Если дифференциальное уравнение имеет вид у' = %у. так
что fy = K то Е(и, х)= ехр(А,(дс — и)). Если X > 0, то влияние
погрешности вблизи и на полную погрешность в точке х растет
с увеличением х. Если К < 0, то происходит обратное. Для
других уравнений возможны более сложные типы поведения по-
г]зешности.
Это поведение наглядно представляется интегральными кри-
выми дифференциального уравнения. Множество интегральных
Гл. 3. Оценка погрешности для задачи Коши 51
кривыл уравнения у' — f(x, у) = 0— это множество решений
задачи у' — f(x, #) = 0, у(а) = у0, для всех значений у0.
Влияние возмущения состоит в том, чтобы «столкнуть» решение
с одной из этих кривых на соседнюю кривую. На рис. 1 мы
видим влияние ненулевого возмущения, заключенного между и и
и + 8и, а также малого возмущения, которое положительно во
всей области.
Малая локальная погрешность в окрестности точки а
вызывает большую полную погрешность в точке и\, но в точке и2
локальная погрешность имеет тот же порядок, что и в точке а.
Локальная погрешность вблизи точки щ вызывает значительно
меньшую полную погрешность в точке и2 в интегральной
метрике.
2. РАЗНОСТНЫЕ АППРОКСИМАЦИИ
Рассмотрим ^-шаговый алгоритм, в котором приближения
yn+k к точным значениям y(xn+k) вычисляются через ранее
вычисленные приближенные значения уп, Уп+и . ••> Уп+k-i]
начальные значения, т. е. приближения уОу у\, ..., уь-и вычислены
отдельным методом. Мы рассмотрим постоянный шаг /г=Алг, так
что
xt — а + ihy h = hN = (b-- a)/N.
Такой метод можно записать следующим образом:
К (2.1)
X щуп+t/h — ф (хп; yn+k, ..., уп\ К) = 0, 0 < п < ЛГ — k.
£=0
Примеры, из которых ясно, что ф зависит от /, были приведены
в гл. 2. Определения сходимости, локальной погрешности
дискретизации, согласованности и нуль-устойчивости были даны
ранее, а теоремы о связи между этими понятиями были
сформулированы в гл. 2. Теперь мы сформулируем и докажем
простейшую из таких теорем.
Теорема 1. Если метод вида (2.1) нуль-устойчив и имеет
порядок согласованности р, то он сходится и имеет порядок
сходимости р.
Доказательство. Уравнение (2.1) справедливо для
последовательности {уп}> а из определения погрешности
аппроксимации {dn} следует, что последовательность {у(хп)}
52 Часть 1. Задача Коши
удовлетворяет соотношениям
— q>(xn; y{xn+k), ..., у(хп); h)=*p'(l)dn+kt
Теперь, используя определение нуль-устойчивости и полагая
k9 и %?(\)d 0<<УУ£
получаем, что существуют такие постоянные Ао и S, что для
всех Ае(0, Ло] и 0 < п < N
\\yn-y(xn)l<Sd
каждый раз, когда
Если порядок согласованности равен р, то max\\dn\\=*O(hp)
и тогда существуют К и Ль такие, что
Полагая d = Khp, получаем
Иу-у(
каждый раз, когда
0< A<mIn(Ao, A!).
Таким образом, порядок сходимости метода равен р.
Эта теорема представляет интерес в силу того, что с
помощью разложения в ряд Тейлора обычно легко найти порядок
согласованности метода или вывести условия относительно
параметров метода, обеспечивающие некоторый заданный
порядок, а устойчивость легко проверить при помощи «корневого
условия» из гл. 2.
Теперь покажем, что если
dn = sn(h)-y(xn) = O(hp"rl)i 0<n<k, (2.2)
и
dn+k - ЛЧ (xn+k) + О (Ap+1), 0 < п < N - k, (2.3)
то
Уп = У Ы + hPe (хп) + О (Л*+1), 0 < п < N, , (2.4)
где
е' (х) - fy (х, у (х)) е{х) = -Ц (х), е (а) = 0. (2.5)
Гл. S. Оценка погрешности для задачи Коша 53
Заметим, что эти условия означают, что порядок
согласованности метода равен р, но начальные условия имеют порядок
точности р + 1.
Подставляя y{xn)Jr №е(хп) в левую часть соотношения (2.1)
й предполагая, что функция у(х) является достаточно гладкой,
получаем
-h"t 'Ф(
/-0
= p' (1) Л" {ф (xn+ft)+e' (xn+k) -fy (xn+k, у (xn+k)) e (*„)}+0 (Ap+1)=
Для получения первого члена второй строчки мы использовали
определение погрешности дискретизации и соотношение (2.3).
Для получения второго члена мы разложили функцию e(xn+i)
в окрестности точки хп+л и использовали (2.4) и тот факт, что
Р/(1)=Х^/> а для третьего члена после разложения в ряд
Тейлора мы использовали уравнение, аналогичное (2.2(ш))
гл. 2, но содержащее производные по у. Последняя строка
следует из (2.5).
Для 0 <; п < k мы имеем также соотношения
у (хп) + hpe (хп) - sn (Л) - (sn (h) - у (хп)) - hpe (xn) =
= sn(h) + O(hp+l).
Используя (2.2) и учитывая, что е(а) = О, имеем
£(*„) = О (Л), 0<д< k.
Таким образом, уп и у(хп)+ hpe(xn) удовлетворяют системам
уравнений, правые части которых отличаются на величину
порядка О(ЛР+1), и если метод нуль-устойчив, то можно доказать,
что уп и у(хп)-\- hpe(xn) отличаются на величину 0(hp+l).
Доказательство аналогично доказательству теоремы 1.
Этот результат означает, что метод, для которого главная
часть локальной погрешности дискретизации в точке хп равна
hp<$(xn)> имеет полную погрешность дискретизации с главной
частью hpe(xn)y и приближенное решение отличается от точного
на такую же величину, как в случае появления в
дифференциальном уравнении возмущения hpty(xn), при условии, что
начальные значения заданы с точностью порядка р + l.
(Сравните (1.3) и (1.4) с (2.5) и (2.4).)
54 Часть 1. Задача Коши
Этот анализ можно продолжить с целью получения
полезных результатов для методов с переменным шагом и
переменным порядком; подробности приводятся в книге Штеттера
[1973].
Мы видим также, что если мы хотим каким-то образом
получить локальную погрешность дискретизации меньше, скажем,
чем 10~5, то погрешность решения не будет превышать
погрешности, вызванной возмущением функции f(xyy)y на величину
порядка 10~5. Таким образом, наш результат можно выразить
в форме анализа предыдущих погрешностей. Этот подход часто
дает возможность наилучшим образом объяснить пользователю
способ оценки погрешности того или иного алгоритма.
Локальная погрешность дискретизации в одной точке влияет
на погрешность решения в последующих точках точно так же,
как возмущение правой части в дифференциальной задаче.
Характер такого возрастания или убывания погрешностей с
увеличением х был рассмотрен в § 1.
В § 1 мы также выписали решение линейного
дифференциального уравнения для е(х) —величины, которая собственно
нас и интересует. Для того чтобы знать е(х), нужно знать s2
компонент матрицы Е(и, х). Необходимый объем работы делает
это практически нереальным, за исключением того случая,
когда матрица Якоби уже известна, как это бывает в некоторых
методах интегрирования жестких уравнений. Обычно мы
должны довольствоваться такой локальной погрешностью, которую
можно оценить без особого труда. Существует, однако, частный
класс задач, исследованных Штеттером [1973], в которых
дифференциальное уравнение для е(х) можно легко решить. Мы
просто приведем соответствующий пример.
Предположим, что i>(x) = С(у(Р+1Цх) — fy(x, y{x)) -у(р)(х)) и
что начальное условие таково:
Тогда, как легко проверить, е(х) = Су(р) (х), так что
приближенное выражение полной погрешности сразу получается
численным дифференцированием приближенного решения.
Для пригодности этого решения необходимо, чтобы
начальные значения приближенного решения удовлетворяли условию
sn (*) = У (хп) - Chpy{p) (хп) + О (hp+l).
Штеттер показал, что каждой исправляющей схеме
соответствует предсказывающая схема на единицу меньшей степени,
такая, что погрешность метода имеет данную специальную форму,
и можно также указать соответствующие схемы Рунге —- Кутты.
На существование таких схем было указано в статье Батчера
11969].
Гл. 3. Оценка погрешности для задачи Коихи 55
Соотношения (2.4) и (2.5), если они справедливы, можно
использовать для установления связи локальной погрешности 1п
в точке хп (гл. 1, определение 4.3) с локальной погрешностью
дискретизации. Эта связь записывается так:
Опять же в предположении, что (2.4) и (2.5) справедливы,
можно оценить полную погрешность в фиксированной точке £,
используя приближенные решения ум (h) и у2м(Н/2) в точке с,
вычисленные соответственно с шагом h и Л/2, причем Mh =
= с — а. Мы имеем
У-2М (N2) = У(с) + №)р e(c)
следовательно,
Уш W2) -у(с) = [ум (Л) - уш (ВД/[2Р - 1] + О (hp+l).
Иначе говоря, погрешность при шаге h/2 приблизительно
равна разности решений с шагом h и й/2, умноженной на 2~р.
Это дает нам наиболее употребительный элементарный
способ выбора подходящего шага интегрирования. Шаг
интегрирования уменьшается до тех пор, пока два решения не совпадут
с требуемой точностью.
Если используется стандартная процедура, то можно
ожидать линейного убывания полной погрешности вместе с
параметром точности, однако это может быть и не так. Все зависит
от способа выбора шага интегрирования и порядка метода.
Можно было бы ожидать, что это будет так для одношаго-
вых методов, в которых шаг интегрирования меняется каждый
раз до достижения оптимального значения, но в сходных
программах, в которых шаг меняется лишь удвоением и делением
пополам, зависимость полной погрешности от параметра
точности может представляться кусочно постоянной функцией,
которая умножается на 2~р в каждой точке разрыва.
Следовательно, при оценке полной погрешности для
стандартных процедур необходима осторожность.
3. ФОРМА ЛОКАЛЬНОЙ ПОГРЕШНОСТИ ДИСКРЕТИЗАЦИИ
Рассмотрим m-этапный ^-шаговый метод, в котором при
вычислении уп = у(хп) вычисляются также m—1 приближений
к значениям y(xn + Qth). (Так, для метода Рунге—Кутты
четвертого порядка т=4. Для простейшего предсказывающе-ис-
правляющего метода m = 2.)
56 Часть U Задача Коши
При этом используется формула
ft-i <7-i
Уя. n+k e X) (— *q. tVn+i + 1ФЯ. if (Уп+i)) + h £ aq, rf (уГщ n+k), (3.1)
1=0
Уп+k —Ут. n+k (3*2)
с начальными значениями
£. (3.3)
(Для удобства мы опустим аргумент х у функции /. Это не
приведет к недоразумению.)
В форме (3.1) можно представить методы Рунге — Кутты,
предсказывающе-исправляющие методы и большинство
гибридных методов при условии, что аргумент функции / в члене (V«/
есть уп+и & не уп^т, для некоторого т\ ф т.
Уравнения (3.1) используются для того, чтобы
последовательно найти у\,п+к, Уч,п+к, ..., Ут,п+ь, однако лишь ym,n+h
(=yn+k) и f{yn+k) запоминаются при последующих шагах.
Остальные промежуточные величины забываются! Таким
образом, yn+k является функцией лишь уп, уп+и • • • > Уп+k-u
Промежуточные величины легко исключить и представить метод в
виде (2.1).
Для того чтобы найти локальную погрешность
дискретизации dn, нужно найти погрешность в этой окончательной форме
с исключенными промежуточными значениями. Но этот путь
неудобен для дальнейшего анализа.
Поэтому определим /*,*+* следующим образом:
*-i
qh) — tq%n+k = E (— agJy(xn+i) + h$q,if(y(xn+i))) +
+ Е haqj(y(xn+k+cqh)), (3.4)
l
где си С2, ..., ст могут быть произвольными при условии, что
сш = 0. Однако обычно они выбираются так, чтобы t\yn+k,
h, n+k, .. имели по меньшей мере порядок h2,
Испольчуя уравнение f(ylx))= у (х) и раскладывая
функции в уравнении (3.4) в ряд Тейлора в окрестности точки хп
или какой-либо другой подходящей точки, мы легко получаем
разложение
*,.„+*- I dq,kh"yu{xn) + O{h »), (3-5)
Гл. 3. Оценка погрешности для задачи Коши 57
где dq>k — численные коэффициенты, а ри р2> ••• — порядки
первой, второй и т.д. итераций в (3.1).
Таким образом, предполагая, что погрешности в yq>n+k не
распространяются от итерации к итерации, легко найти
величины tq> n+k.
Теперь мы будем искать погрешность Тц%п+ь в yq>n+k,
допуская распространение погрешности только на данном шаге.
Распространение погрешности от шага к шагу связано с теорией
устойчивости, которая была кратко изложена в гл. 2.
Определим TQtn+k следующим образом:
*-i
У (Xn+k + Cqh) — Tq. n+k = Z (~ <V (У (*n+t) + P</, M (У (*n+i))) +
1-1
+ Л Z aq% rf (y (xn+h + crh) + Tn n+k), (3.6)
1 ^q^m.
Таким образом,
T2. n+k = h% n+k + ha2Xfy {у (xn+k + cqh)) tu n+k +
+ l/2h2a2lfyy( )(/u+^+ ..., (3.7)
? = h. n+k + ha32fy ( ) {/2, n+k + ha2Xfy ( )tUn+k+ ...} +
Следовательно, для таких явных методов величину Гл+* ==
= Tmyn+k можно вычислить непосредственно, хотя ее форма
может быть сложной.
Так как наш метод (3.1), (3.2) является частным случаем
метода (2.1), его можно записать в виде
\Уn+k + Zq am, tijn+ij h — Ф(xn\ Уп+k-u • • •, Уп\ h) = 0, (3.8)
и в этих обозначениях
k-i
У (*n+k) — Tn+k + Z «ffl, iV (*n+i) —
~ Лф (хя; у (*Я+Л_!), ..., у (хя); К) = 0. (3.9)
Следовательно,
<W = 7W(V(i)). (з.ю)
где
е* + |; ат,,ег, (з.п)
58 Часть 1. Задача Коша
и если метод имеет порядок р, то
dn+k = Тп+м/ihp' (1)) = Арф (xn+k) + О (hp+l). (3.12)
Пример. Метод Рунге — Кутты второго порядка
k=l, m = 2, р = 2.
Так как это явный одношаговый метод, р(6) = б — 1, р/(1) =
= 1 и уравнения (3.1) и (3.2) сводятся к уравнениям
Ух, п+\—Уп
У% Л+1 =Уп + ХШ (Уп) +
Уп+\ = У г, п+\
и
So (h) = Уо-
Положим
с\ = с2 = О,
ti.n+i = -llv№'(xa)
Таким образом,
T2, n+i = - '/«AV" fe) + 'M/y (У (xn)) • Vs^" W + О (A")
И
rfn f 1 = 7-2. »+i/Л = - ViaA2 (//'" (xn) - 3fy (y (*„)) г/" (х„)) + О (Л3).
Следовательно, порядок метода равен 2 и
где
в7 W - /„ (У (А")) е (.V) = 7.2 W" (х) - 3/, (у (*)) //" (х)),
Гл. 3. Оценка погрешности для задачи Коша 59
4. ОЦЕНКА ЛОКАЛЬНОЙ ПОГРЕШНОСТИ ДИСКРЕТИЗАЦИИ
ОДНОШАГОВЫХ МЕТОДОВ
Существует три основных метода, которые можно
использовать.
i) Экстраполяция. Интегрирование от точки хп до точки хп+\
выполняется дважды: один раз с шагом h и другой раз с шагом
ft/2. Тогда dn= [l/(h(\ — 2~р))] Х(разность двух значений у).
и) Влооюенные методы. На каждом шаге интегрирование
выполняется дважды: методом порядка р и методом порядка
р+ 1. Разность полученных значений дает оценку величины dn.
iii) Многошаговые оценки погрешности. Многошаговая
формула порядка р + 1 преобразуется так, чтобы дать
требуемую оценку
Z
i ft+1
iv) Гибридные методы. Они сочетают подходы И) и iii).
Экстраполяция является наиболее распространенным
методом, хотя и менее эффективным, чем другие. Ее можно
использовать двумя способами. После того как проведено
интегрирование с одним шагом и с двумя вдвое меньшими шагами,
каждое из двух приближений к у{хп+\) (одношаговое или двух-
шаговое) можно использовать в качестве значения, на котором
основаны последующие вычисления. Проведенный ниже анализ
применим, если используется значение, которое получено за
один шаг, однако, возможно, предпочтительнее использовать
значение, полученное с половинным шагом. Для этого случая
справедливы аналогичные рассуждения.
В случае явного одношагового метода (2.1) сводится к
соотношениям
Уо = Уо> (Уп+1 — Уп)№ — Ф (хп> Ую А) = 0, 0 < п < N, (4.1)
и Р(б) = е-1, р'(0 = 1, <zo = -i.
Если порядок согласованности этого метода равен р, то
в силу того, что одношаговые методы всегда устойчивы,
Уп = У(Хп) + еп> (4.2)
где
вЛ=О(й').
Обозначим через г/я+i результат, полученный из уп в два шага
длины Л/2. Полагая
Ф (хп, Уп> h) = 72 {ф (хп, Уп, Л/2) +
+ Ф [хя + 7А Уп + 72Ф {х„ Уп, Щ% Л/2]}, (4.3)
можно написать
хп, ynt h).
60 Часть 1. Задача Коши
Простой анализ, аналогичный проведенному в § 3,
показывает теперь, что если Тл-н— погрешность аппроксимации для ф,
то в очевидных обозначениях
Г«+1 - (У2)Р+1 Тп+Ч, + {1+ (Л/2) Ф, ( )} (7/+1 Г„+, + О (А"+г),
и, используя равенство
получаем
РР+1 (р+а) (4.4)
в предположении, что функция г|)(*) является достаточно
гладкой.
Теперь мы используем (3.9), (4.2) и обобщение (2.2(iii)) из
гл. 2:
Уп+i = tjn + h<p (хп, yn, А) =
= У (хп) + ея + Лф (хп, у (хп) + еП9 А) =
= У U«) + % (хЛ> у (дг„), h) + Аф, ( ) гп + гп + О (Л'+2),
т. е.
Уп+х = У U«+i) - Гл+1 + /Л ) hen + гп + О (hp+2). (4.5)
Аналогично
Уп+1 = У (xn+l) -Tn+l + fy()hen + en + O (hp+2).
Вычитая отсюда (4.5) и используя (3.12) и (4.4), получаем
Уп+х -Уп+1 = АР+Ч (Хп+г) (1 - 2~р) + О (Лр+2),
и локальная погрешность дискретизации метода, в котором
используется шаг А, есть
Легко также показать, что погрешность дискретизации
метода, в котором используется шаг А/2 и в котором вычисления
продолжаются, исходя из уп+\ вместо уп+и в точности равна
величине (4.6), умноженной на 2~р.
Вложенные методы — это новшество, предложенное Инглэн-
дом, Фельбергом и Синтани.
Основная идея состоит в выполнении шага от точки хп к хп+\
методами порядка р и р+1, для того чтобы получить оценку
погрешности интегрирования методом порядка р. Таким
образом, если ф определяет метод порядка р + 1, то
#/1+1 = </л + Аф(хл, уп, h)
и
xnt yn> А).
Гл. 3. Оценка погрешности для задачи Коши
61
Итак, уп+\ удовлетворяет (4.5), а уп+\ удовлетворяет
аналогичному соотношению
&I+1 = у(*я+|) - f«+1 + /И )Ле« + 8« + ° (ftP+2)-
Вычитая это соотношение из (4.5), получаем
Уп+i - ifc+i - Тп+1 - fn+l + О (hp+2) = Тп+1 + О (hp+2).
Итак,
Л. (4-7)
Снова имеется выбор — продолжать вычисления по
значению, полученному методом порядка р или р + 1.
Для метода четвертого порядка необходимы 4 вычисления
функции, а для метода пятого порядка — 6 вычислений. Если
методы не связаны между собой, то лишь первое вычисление
проводится стандартным образом, так что в случае метода
четвертого порядка для вычисления решения и оценки
погрешности необходимо 9 вычислений на каждом шаге интегрирования.
Вложенные методы—-это такие методы, в которых метод
р-го порядка получается как «побочный продукт» метода
(р+1)-го порядка. Этим способом можно получить оценку как
четвертого, так и пятого порядка для метода, в котором
производится шесть вычислений функции, сэкономив 3 вычисления.
Алгебра получения таких методов чрезвычайно громоздка,
тем не менее они были получены Инглэндом [1967, 1969], Син-
тани [1966а, 1966b] и Фельбергом [1968, 1969а, 1969b]; Фель-
берг разработал множество таких методов (некоторые детали
приведены в нижеследующей таблице).
р
Наименьшее число
этапов для
методов порядка р
Число этапов в
методах Фель-
берга порядка р
и р + 1
Число этапов для
независимых
методов порядка
1
1
2
2
2
2
3
4
3
3
5
6
4
4
6
9
5
6
8
12
G
7
10
15
7
9
13
>18
8
>10
17
>20
9
>п
62 Часть 1. Задача Коши
Можно было бы ожидать, что для р = 3 такой метод можно
реализовать с 4 этапами, однако Инглэнд доказал, что это
невозможно.
Особенность этих методов состоит в том, что для числа
вычислений функции (или этапов), превышающего минимальное
число вычислений для метода р-го порядка, они могут давать
значительно меньшую погрешность, чем обычно.
Хорошо известный метод Мерсона (см., например, Лэмберт
[1973, с. 131]), который используется в Библиотеке NAG,
является пятиэтапным методом порядка 4, который дает оценку
погрешности, точную лишь в том случае, когда f имеет вид
f(x, y) = a-\- bx + су. В других случаях оценка содержит
некоторые члены низшего порядка и таким образом обычно
является оценкой погрешности метода сверху (см. Скрейтон
[1964]). Можно, однако, получить и оценку снизу (см. Инглэнд
[1969]).
В статье Скрейтона даются также нелинейные методы
оценки погрешности, которые справедливы лишь для скалярных
действительных уравнений (не для систем). Их использование,
следовательно, очень ограничено.
Пример (Фельберг [1969b]):
, 1
У'2, я+1 — Уп ~~" "goo" Щ (уп) + -ggg- hf (уи Л + 1),
Уп+1 = Уз, я+1 = Уп + 89Г ^ ^ + 33" W (Уи п^ + Ж"
oqq R00 1
Уп+\ = Уа% я+1 — Уп + hf (У) + hf (У )
Многошаговые методы оценки погрешности в принципе
аналогичны рассмотренным выше. Многошаговая формула
порядка р + 1 преобразуется таким образом, чтобы получилась
оценка локальной погрешности.
Пусть а], р/ (O^i^k) — коэффициенты ^-шагового
метода порядка р + 1 с полиномом р*; тогда
t O{hp+l)9 (4.8)
если" z — достаточное число раз дифференцируемая функция.
Кроме того,
рЧО-SaJ-O и ^(D-ZP/, (4.9)
так как порядок согласованности метода больше единицы.
Гл. 3. Оценка погрешности для задачи Коши 63
Теперь мы должны предположить, что решение, полученное
с помощью нашего одношагового метода порядка р,
удовлетворяет соотношению
Уп - У (*п) + hpe (хп) + hp+le{ (xn) + О (hp+l). (4.10)
Это является некоторым обобщением результата, доказанного
в § 2, и следует из достаточной гладкости f(x,y). Используя
(2.5), получаем
Z {ЩЫ-ilh - № (yn+i)} = Z Wu (xn+t)/h - ftf (у (xn+t))} +
+ hPZ We (xn+i)/h - fify (y (xn+t)) e (xn+i)} +
Z Wy (xn+t)/h - $
hPZ We (xn+i)/h - РУ
Мы использовали непрерывную дифференцируемость в\ и
равенство Z а^ = 0 для того, чтобы заменить член е\ величиной
O(hP+]). Далее, если i|?(a:) непрерывно дифференцируема, то,
используя дважды (4.8), заменяя при этом z(x) на у(х) и е(х)
и учитывая (4.9), окончательно получаем
= ЛЧ (^я+*) + О UP+1) = ^-ь^ + О (ftp+1). (4.11)
Эта оценка dn+k вычисляется с использованием значений yn+i
и f(yn+i), которые найдены на k предыдущих шагах. Таким
образом, ее получение не требует большого труда, поскольку нет
необходимости в дополнительных вычислениях функции f(y).
Недостатки этого подхода определяются тем обстоятельством,
что оценка многошаговая. Поэтому мы получаем все
недостатки, присущие многошаговым методам. Он не применим на
первых шагах интегрирования или после изменения шага, если
только после каждого такого изменения не применяется
специальная формула. Неизбежно также то, что результат,
полученный таким методом, должен быть в какой-то степени средним
на отрезке [х/г, xn+k] и вследствие этого ненадежен при быстром
изменении локальной погрешности.
64 Часть 1. Задача Коши
Шампайн и Уаттс [1971] рекомендовали формулу Чесино и
Кунцмана [1963] как наиболее удачную из формул такого типа
для оценки погрешности методов четвертого порядка. Эта
формула имеет вид
+ 9/ Ы + 9/ (уп_х) + / (уя+2))/20.
Гибридные методы, сочетающие некоторые преимущества
вложенных методов и многошаговых методов, были
рассмотрены Инглэндом [1967, 1969]. Он рассматривает оценки
погрешности для методов Рунге—Кутты четвертого порядка, в которых
используются значения, полученные на двух шагах
интегрирования, но наряду с основными значениями уп и f(yn) использует и
промежуточные значения. Инглэнд одновременно выбирает шаг
метода Рунге — Кутты и оценку погрешности этого метода,
благодаря чему может дешево производить надежные оценки.
В одной из них (Инглэнд [1969, уравнение (8)] оценивается
погрешность на шаге [а:, х -f- ft] после четырех вычислений на
шаге [х, x + h) и трех вычислений на шаге [x + hy x-\-2h] плюс
одно дополнительное вычисление. Если же погрешность
слишком велика, то эти семь вычислений проводятся напрасно
(некоторые значения f(y(x)) можно использовать вновь). Если
оценка удовлетворительна, то на шаге делается пять вычислений.
В другой оценке, уточненной в уравнении (9) той же
работы, погрешность вычисляется за два шага [х, x-\-h] и [х + ft,
х + 2ft] в той же самой расчетной точке. Дополнительное
вычисление требуется только один раз на каждые два шага.
Поэтому среднее число вычислений на шаге равно четырем с
половиной, и в случае, если оценка погрешности велика, семь
вычислений проводятся напрасно.
Сравните эти цифры с шестью вычислениями на шаге и с
пятью напрасно выполненными вычислениями в случае, когда
оценка погрешности слишком велика для вложенного метода.
В наших обозначениях уравнение Инглэнда (9) имеет вид
У% л+1 = Уо + Ча Ы (уп) + Ча hf {у и я+1),
Уз, я+1 = Уо — М (у1% я+1) + 2ftf (y2% я+1),
У а. п+1 = Уо + Уе h {f (уп) + 4/ (у2% п+1) + / (0з. Я+1)Ь
#я+1 = УА, «4 1»
- 23/ (уп+1) + 4/ (у2% rt+2) - / (уь% п+2)}/180,
Гл. S. Оценка погрешности для задачи Коши 65
где
Уь, п+2 = Уо + 76 h {- f (уо) - 96/ {уи п+,) +
+ 92/ (у2. п+1) - 121/ (у3,
Как ^л+1 — d)U так и у$,п+2 вычисляются один раз на каждые
два шага.
5. СРАВНЕНИЕ ОЦЕНОК ПОГРЕШНОСТИ
ДЛЯ ОДНОШАГОВЫХ МЕТОДОВ
Мы можем проводить сравнение методов на основе
нескольких принципов, а именно: а) точности, Ь) надежности, с)
непосредственных затрат и d) полных затрат.
Шампайн и Уаттс [1972] сравнивали экстраполяцию, метод
Инглэида (4.1) и два многошаговых метода. В результате
численных экспериментов они пришли к заключению, что в
некоторых случаях оценки, основанные на экстраполяции и на
методе (4.1) оценивания за два шага, предложенного Инглэндом,
почти не различимы. При очень малом h один многошаговый
метод из четырех, которые сравнивались между собой, был
наиболее точным, другой — наименее точным. Многошаговые
оценки представляются значительно менее надежными, но
приведенные выше данные являются не идеальными для такого
использования ввиду того, что представляют собой усредненные
значения. Были бы полезны некоторые экстремальные значения
отношения фактической погрешности к ее оценке.
Халл, Энрайт, Феллен и Седгвик в своей основной работе
[1972] о сравнении численных методов использовали только
экстраполяцию и сравнивали методы четвертого, шестого и
восьмого порядков. Они обнаружили, что для большинства
задач максимальное отношение оценки к фактической
погрешности редко превосходило 5. В 75 вариантах (каждая из 25 задач
решалась три раза с различной точностью) максимальное
отношение превысило 20 в 16 задачах, 100 в 10 задачах. Два
наибольших значения были 1120 и 1788. Нам неизвестно, чем
вызваны эти очень большие значения: тем, что оцененная
погрешность была чрезвычайно мала вблизи точки, где фактическая
погрешность меняет знак, или какой-либо другой причиной.
Другие публикации о надежности оценок погрешности мне
неизвестны, и думаю, что на эту тему может быть выполнено
еще много работ.
Теоретические результаты показывают, что экстраполяция
будет значительно более надежным способом оценки
погрешности, так как члены высшего порядка, составляющие погреш-
3 Зак. 1335
66 Часть 1. Задача Коши
ность, оцениваются с очень малой ошибкой. (Для метода чет*
вертого порядка она меньше чем 15%.)
Здесь, по-видимому, следует пояснить сущность методов
погружения для оценки погрешности, в которых используются
дополнительные вычисления функции для получения
приближения р-го порядка к уп, имеющего очень малую главную часть
асимптотического разложения погрешности. Можно ожидать,
что надежность соответствующей оценки локальной
погрешности дискретизации будет невелика из-за того, что учитываются
лишь члены порядка р, которые были искусственно сделаны
малыми. В этом случае для умеренных значений шага h могут
доминировать члены порядка р + 1.
Многошаговые методы требуют наименьших
непосредственных затрат, но из-за накопления k—1 предыдущих значений и
сложности изменения шага в конечном счете полные затраты
будут очень велики.
Из других методов наименьших затрат требует метод Инг-
лэнда для р=4; его и следует использовать в данном случае.
В иных случаях следует пользоваться методами погружения,
если не оказывается, что дополнительные затраты методов
экстраполяции окупаются их особой надежностью в конкретных
приложениях.
6. ОЦЕНКА ЛОКАЛЬНОЙ ПОГРЕШНОСТИ ДИСКРЕТИЗАЦИИ
ДЛЯ ПРЕДСКАЗЫВАЮЩЕ-ИСПРАВЛЯЮЩИХ МЕТОДОВ
В этом случае широко используется так называемый метод
Милна, что объясняется простотой и эффективностью данного
метода. Он применяется для пары предсказывающей и
исправляющей формул, имеющих одинаковый порядок р.
При этом погрешность Т\,п+ь (см. § 3) первого
(предсказывающего) этапа и полную погрешность Тп+н можно записать
в виде
Эти уравнения служат для определения постоянных С* и С,
которые фактически зависят только от коэффициентов
предсказывающей и исправляющей формул соответственно.
Вспоминая, что Тп+и и Tn+k представляют собой
погрешности предсказанного приближения yn+k и исправленного
приближения yn+k к y{xn+k) при условии, что все предыдущие
значения уг являются точными, представляется возможным оценить
Лг+ур+1>(я) и, следовательно, Tn+k и ЬР$(хп+к) (см. (3.12)) по
их разности. Если в предыдущих значениях имеются погрешно*
Гл. 3. Оценка погрешности для задачи Коши 67
сти, то ситуация не так ясна, но и этот случай был исследован
(см. Хенричи [1962, с. 255] и Штеттер [1973]). Очень важна
правильная нормировка всех величин, используемых при оценке
погрешности. Шампайн [1973] усомнился в справедливости
оценок в общем случае именно из-за неправильной нормировки.
Мы предполагаем, что погрешность начальных значений
имеет порядок hp+l (на единицу более высокий, чем
необходимо для метода р-то порядка), что величина шага либо
постоянна, либо образует некоторую «связную» последовательность
(см. ниже) и что характеристические полиномы р* и р
предсказывающей и исправляющей формул удовлетворяют условиям
р*(0) =0 при |9|=1 и р(9) = 0 (т.е. р*(6) должен содержать
все существенные корни р(8)). (Так как метод должен быть
устойчивым, р(б) не может иметь корней/ по модулю
превышающих единицу, однако это ограничение не распространяется
на р*(б).) Теперь мы получаем оценку
dn+k = АЧ (*Я+Л) + О {hp+x) = СйУ+!) (*«+*) + О (hp+l) =
= K{yn+k-yn+k)lh, (6.1)
где
д— с/р'(О-с*/р*'(1) •
Связная последовательность шагов получается с помощью
кусочно постоянной функции д(х) на отрезке [а, Ь] следующим
образом: hn — M(xn). Таким образом, шаг меняется в конечном
числе точек. Для того чтобы метод везде имел порядок р, мы
должны использовать многошаговые методы по крайней мере
(р—1)-го порядка в тех точках, где меняется длина шага.
Эта формула так проста и экономична, что нет
необходимости искать какие-либо другие методы. Отметим, однако, что в
методе Гира с переменным порядком и переменным шагом г/(р+1>
оценивается более прямым способом: взятием разности от
приближений к производным низшего порядка.
Хемминг [1959] предложил в описанной выше ситуации
модифицировать окончательное приближение при помощи
комбинации
kfp'M - c*gn+k/9*'(i)} (с/р' (1) - с/р*' (1)),
исключая, таким образом, главную часть погрешности и
получая метод порядка р -Ь 1.
Мы не рекомендуем пользоваться этим методом, поскольку
такая комбинация эквивалентна применению другой
исправляющей формулы, которая имеет порядок р + 1 и устойчивость
которой необходимо исследовать (см. Шампайн [1973],
Штеттер [1973]).
68 Часть 1. Задача Коши
7. ЛОКАЛЬНАЯ ПОГРЕШНОСТЬ ДИСКРЕТИЗАЦИИ
ГИБРИДНЫХ МЕТОДОВ
Работ по оценкам погрешности для таких методов немного.
Главная часть асимптотического разложения погрешности
может быть гораздо более сложной, чем для предсказывающе-ис-
правляющих методов, столь же сложной, как и для одношаго-
вых методов.
Следовательно, поскольку обычно невозможно «подогнать»
все члены главной части погрешности, наиболее легкий способ
оценки локальной погрешности состоит в том, чтобы
использовать многошаговые методы порядка р + 1, т.е. того же
порядка, как и для одношаговых методов, и на единицу более
высокого, чем для предсказывающе-исправляющих методов, в
которых для оценки погрешности используется предсказывающая
формула. Теперь можно применить результаты § 6 с учетом
того, что С* = 0. Теорию § 6 можно непосредственно применить
к некоторым гибридным методам, в которых предсказывающая
и исправляющая формулы имеют один и тот же порядок.
При анализе того или иного гибридного метода важно
рассматривать все члены, составляющие погрешность. Если
некоторые члены погрешности можно записать в виде
Chpy{p+{) (xn) + Dhp+lfy (у (хп)) • у{р+1) (*„), (7.1)
то возникает искушение отбросить второй член. Однако для
у' = Ху этот член примерно в DhX/C раз отличается от первого
члена. Допустим, что мы хотим использовать метод высокого
порядка для h%, равного по меньшей мере 0.1, и, возможно, для
гораздо больших значений. Для того чтобы пренебречь вторым
членом, необходимо, чтобы |/)йЛ|<С|С|, однако очень часто
из-за малых констант погрешности гибридных исправляющих
формул |С|>|/)|. Это приводит к тому, что члены высшего
порядка очень важны при тех значениях й, которые мы хотим
использовать. Грэгг и Штеттер [1964], например, предложили
гибридный метод шестого порядка с m = 3, погрешность
которого записывается в виде
- 0.0000183/Л/(7> (хп) + 0.00656/*7/j, (xn) У{7) Ш + О (А8).
Член высшего порядка в этом выражении для погрешности
преобладает, если \h%\ >0.00279. Это замечание справедливо даже
в большей степени, если второй член в (7.1) имеет порядок р.
Методы Кофелда и Томпсона [1967] были разработаны
специально для преодоления этой трудности.
Подробно с гибридными методами читатель может
познакомиться по книге Лэмберта [1973, гл. 5]. Это обычный учебник,
в котором основное внимание уделяется описанию методов и
Гл. 4. Общие вопросы реализации алгоритмов 69
следствиям из теории этих методов, а доказательства более
сложных результатов опущены. Многое из того, что
рассмотрено в этой главе, излагается там более подробно.
Доказательства см. в книге Хенричи [1962] или в более современном
обширном (но и более трудном) труде Штеттера [1973].
4
ОБЩИЕ ВОПРОСЫ РЕАЛИЗАЦИИ АЛГОРИТМОВ
1. ВВЕДЕНИЕ
Основным предметом этой главы является организация
программ для решения задачи Коши. Мы интересуемся
взаимодействием между пользователем и программой интегрирования, а
также внутренней структурой программы. Наряду с простейшей
программой интегрирования рассматриваются более сложные
варианты, которые предусматривают возможность большего
участия пользователя в процессе работы программы.
Такая глава необходимо должна основываться в большей
степени на результатах Халла и его школы, а также Кроха
(см. список литературы в конце книги). Недавно опубликована
также книга Шампайна и Гордона [1975], в которой подробно
с теоретической и практической точек зрения описывается метод
Адамса с переменным шагом и переменным порядком, а также
даются фортранные распечатки всех описанных программ.
Книга Гира [1971] содержит много практической информации и
фортранные распечатки.
2. СТРУКТУРА ПРОСТЕЙШЕЙ ПРОГРАММЫ ИНТЕГРИРОВАНИЯ
В первую очередь рассмотрим в общих чертах структуру
программы, предполагающей очень простое взаимодействие с
пользователем. Внутренний механизм такой программы может
состоять в многократном повторении шагов какого-нибудь
метода с переменным шагом и переменным порядком — для
интегрирования от начальной точки до заданного значения
независимой переменной. При использовании этой программы
обращение к ней может быть неоднократным. При каждом
обращении начальные данные, значения приближенного решения в
точке а + (г—1)//, преобразуются в его значения в точке
а + гН. После этого решение на интервале Н готово для
выдачи (или другого использования).
Программа проста для понимания и поэтому более надежна
во всех случаях, когда используются методы структурного
программирования. Халл [1974] подробно рассмотрел проблему
надежности и предложил схему, представленную на рис. 1.
ПРОВЕРИТЬ входные
согласованность и т. д.
данные на
ЗАДАТЬ НАЧАЛЬНЫЕ ЗНАЧЕНИЯ
параметров главного шага
интегрирования, т. е. максимальную и
минимальную длину шага и т. д.
ПРИГОТОВИТЬСЯ к вычислению.
Определить длину шага, порядок
метода для следующего шага.
ВЫЧИСЛИТЬ оценочное значение у
в конце шага и оценку погрешности
для этого значения.
Подпрограмма FCN
для вычисления
правых частей
ПРИНЯТЬ РЕШЕНИЕ.
Сравнить оценку погрешности с максимальной
величиной, допускаемой пользователем, и решить,
принимать или нет результаты сделанного шага.
Проверить, не достигнут ли конец интервала
интегрирования.
Решить, не является ли задача слишком трудной.
ВЫЙТИ ИЗ ЦИКЛА, если задача решена или
оказалась слишком трудной.
Рис. 1.
Г л 4. Общие вопросы реализации алгоритмов 71
В блоке ВЫЧИСЛИТЬ потребуются значения правых частей
уравнений, вычисленные в данной точке. Эти значения
определяются в составляемой пользователем подпрограмме, имеющей
параметры X, Y для обозначения входных данных и массив DY
для результатов.
Следует особо отметить, что все проверки точности
сделанного шага собраны в один блок ПРИНЯТЬ РЕШЕНИЕ. От
этого блока к блоку ПРИГОТОВИТЬСЯ передается
информация о том, следует ли принять предыдущий шаг или повторить
его с меньшей длиной. Проверка точности состоит в сравнении
оценки либо погрешности дискретизации, либо погрешности
аппроксимации (которые различаются на множитель к) с
требованиями пользователя к точности. Весьма спорным является
вопрос о том, какой из критериев лучше использовать: малость
погрешности дискретизации или малость погрешности
аппроксимации (в последнем случае обычно говорят о критерии
«погрешности на единичный шаг» или просто «погрешности на
шаг»). Было бы упрощением утверждать, что первый критерий
имеет теоретические, а второй — практические преимущества.
3. СПИСОК ПАРАМЕТРОВ ПРОСТЕЙШЕЙ ПРОГРАММЫ
ИНТЕГРИРОВАНИЯ
Пусть требуется решить следующую дифференциальную
задачу:
y' = f(x>y)> a<*<ft, У(а) = Уо- (3.1)
Сначала рассмотрим программу, которая (при условии, что
дифференциальная задача описана полностью) дает только
значение у(Ь) или информацию о том, что решение с помощью
данной программы недостижимо.
Фактические параметры программы интегрирования должны
точно определить задачу.
(а) Таким образом, необходимы пять параметров:
N, число уравнений (излишне в PL/1 или
Алголе-68);
FCN, подпрограмма для вычисления правых частей
дифференциальных уравнений;
X, начальное значение а переменной х\
У, вектор у0 начальных значений у; (3.2)
XEND, конечное значение Ь переменной х. Конечное
значение b переменной х и приближенное
значение у (Ь) будут, как правило, сохраняться
в X и Y в момент окончания работы
программы.
72 Часть 1. Задача Коиш
(b) Кроме того, параметры должны каким-то образом
определять требования точности, предъявляемые к решению. Это
можно сделать несколькими способами. В простейшем случае
можно задать один-единственный параметр:
EPS, абсолютная (или относительная) точность,
требуемая в каждой компоненте у, (3.3а)
Для более сложной программы могут потребоваться два
вектора:
ABSACC и RELACC, допустимые значения абсолютной
и относительной точности для
каждой из m компонент у. (3.36)
В этом случае программа будет стремиться к тому, чтобы /-я
компонента оценки погрешности е,- удовлетворяла условию
| е, | < ABSACC, + RELACQ | yt |. (3.4)
На практике следует использовать нечто среднее между (3.3а)
и (3.36).
Нельзя использовать относительную погрешность для такой
компоненты #,-, которая может обратиться в нуль. Обычно
лучше всего использовать относительную погрешность для тех
компонент, которые растут и становятся очень большими; во всех
остальных случаях лучше пользоваться абсолютной
погрешностью.
(c) Вспомогательные параметры. Мы хотим создать
полностью автоматическую процедуру. Задача полностью
определена информацией, содержащейся в пункте (а), но, вероятно,
пользователю известно о задаче гораздо больше, чем то, что
может быть легко получено из ее постановки. Наиболее
полезная информация такого рода — это какое-то представление о
масштабе задачи. Если система уравнений может иметь
периодические решения, то сколько циклов содержится между
начальной и конечной точками? Если предполагается 10 000
циклов, а программа интегрирования использует стандартный
метод, то для достижения хорошей точности потребуется порядка
50 000 шагов; но если будет только несколько циклов, то
возможно, что будет достаточно соответственно меньшего
количества шагов.
По этой причине многие программы интегрирования
содержат параметр, который дает какое-то представление о
масштабе задачи. От пользователя может потребоваться
предварительная оценка начальной длины шага или его максимальной
длины. Недостаток такого рода оценок состоит в том, что их
величина сильно зависит как от самой задачи, так и от метода
Гл. 4. Общие вопросы реализации алгоритмов 73
интегрирования. Поэтому Халл и Энрайт [1974] предлагают
использовать грубую оценку константы Липшица функции /.
Обозначим такую оценку SCALE. Чем больше эта константа,
тем быстрее меняется решение, тем меньше будет
предполагаемая максимальная длина шага. Положим, таким образом:
максимальная длина шага: = const/SCALE.
Константа в этом уравнении существенно зависит от
применяемого метода. Для многих методов интегрирования нужна
также минимальная длина шага. Иногда она должна быть
задана в числе параметров, в других случаях вычисляется в
самой программе.
(d) К простейшей программе такого вида обращение обычно
происходит в цикле, и при r-м обращении осуществляется
продолжение решения, скажем от а + (г—\)Н до а-\-гН, и
решение в а+ гН передается в вызывающую программу. После г-го
обращения вызывающая программа получит оценку длины
шага h, нужную для интегрирования в конце отрезка [a +
+ (г—1)#, а-\-гН]. Эта оценка будет справедлива и для
начала отрезка [а + гЯ, а + {г + 1)#] и поэтому для большей
эффективности должна сохраняться до момента следующего
обращения.
Программа, использующая многошаговый метод с перемен-
ным шагом, также должна либо передавать значения на
предыдущих k шагах от одного обращения к следующему, либо
повторять начальную процедуру при каждом обращении, что
весьма неэффективно.
(e) Таким образом, требуется сохранять значения каких-то
рабочих величин от одного обращения до другого. Во всех
алгоритмических языках это может быть сделано путем описания
переменных в вызывающей программе и передачи их в
программу интегрирования в качестве параметров.
В Алголе-60 могут использоваться «собственные»
переменные программы интегрирования. В Фортране можно
рассчитывать на то, что локальные переменные программы
интегрирования не изменятся от одного обращения до другого, но в
стандартном Фортране это невозможно, и следует использовать
оператор COMMON. В Алголе-68 место в памяти для рабочей
величины должно передаваться как параметр, но, поскольку
в этом языке можно описывать сложные структуры, необходим
только один параметр, в то время как в других языках их
может потребоваться несколько.
(f) Обычный способ контроля величины ошибки — это
включение в список параметров целой переменной
IFAIL, (3.5)
74 Часть 1. Задача Коша
значение которой на выходе из программы дает информацию
о причине окончания работы, т.е. IFAIL = О, если ожидаемый
результат был получен, и IFAIL = 1, если требуемой точности
не удалось достигнуть. Таким образом, необходимо проверить
значение IFAIL на выходе из программы.
В Библиотеке стандартных программ NAG значение IFAIL
в момент обращения к программе используется для определения
образа действий в случае неудачи. Если IFAIL =1 в момент
обращения, то программа действует как описано выше, но если
в момент обращения IFAIL = 0 и программа интегрирования
оканчивается ненормальным образом (т.е. не оканчивается со
значением IFAIL ==0), то происходит серьезный сбой и
вызывается подпрограмма, которая печатает номер сбоя и название
программы, в которой он произошел, после чего работа
заканчивается. (В варианте этой библиотеки на языке Алгол-68
вместо описания лишней целой переменной при обращении
включается идентификатор самой программы; для случая серьезного
сбоя таким идентификатором является NAGHARD.)
4. БОЛЕЕ СЛОЖНЫЕ ПРОГРАММЫ
Обычно используется структура программы, описанная в
предыдущих параграфах, но возможны и другие варианты. В
первую очередь рассмотрим выдачу промежуточных результатов.
Если используются описанные ранее программы и нужны
результаты в близко расположенных точках, то обращение к
программе интегрирования должно производиться многократно для
интегрирования на малом отрезке. Другая возможность состоит
в том, чтобы интегрировать с помощью этой программы на всем
требуемом в задаче отрезке, но для выдачи результатов
обращаться к подпрограмме, описанной в списке параметров. В эту
подпрограмму передаются значение х и соответствующее
значение численного решения у. Обратно в программу
интегрирования передается следующее значение х, для которого
потребуется решение. Существует и другая возможность: решение
выдается с постоянным шагом Я, который является
параметром программы интегрирования.
В одношаговом методе, по-видимому, нет другой
возможности вычислить решение в заданных точках, кроме как
позаботиться о том, чтобы эти точки были точками сетки для обычного
вычисления решения. Однако если используется многошаговый
метод, то наиболее экономично интерполировать в требуемой
точке, используя сохраняемую информацию о решении. Это
особенно просто в методах Адамса.
Умелая организация выдачи значений решения через малый
шаг может быть особенно важной, если требуется графи-
Гл. 4. Общие вопросы реализации алгоритмов 75
ческая информация, хотя в этом случае возможно лучше
выдавать решение с достаточно большим шагом и использовать
для построения гладкой кривой программы интерполяции с
помощью сплайнов, обычно содержащиеся в пакете графических
программ. Благодаря ограниченной точности графической
выдачи потребуется не более чем примерно три верных
десятичных знака.
Опытный пользователь, возможно, пожелает изменить
работу стандартной программы интегрирования, чтобы сделать ее
более удобной для данного конкретного применения. Халл
[1974], используя в качестве примера программу, основанную
на методе Рунге — Кутты, указывает не менее восьми мест, в
которых пользователь может принять альтернативные решения,
и предусматривает прерывание работы программы во всех этих
точках, так что если установлена соответствующая метка, то
в точке прерывания программа интегрирования на время
останавливается и следующая часть вычислений проводится по
программе пользователя. Одно такое прерывание дает возможность
пользователю выбрать максимальную длину шага, игнорируя
ее вычисление с помощью SCALE; другое позволяет проверить
и, возможно, отвергнуть длину шага, установленную
программой для вычислений.
Работа программы в случае прерывания подобна обращению
к специальной подпрограмме, однако в Фортране это не
всегда оказывается наилучшим.
Иногда нужно определить то значение х, при котором либо
одна из компонент решения обращается в нуль, либо нулем
становится какая-нибудь функция решения. В случае
многошагового метода для этого лучше всего использовать
интерполяционный метод нахождения решения в дополнительных точках
(см. Шампайн и Гордон [1975]). В случае одношагового метода
наиболее эффективной может оказаться замена переменных
тогда, когда интегрирование дошло до точки, удаленной от
корня не более чем на шаг, так чтобы функция, нуль которой
ищется, стала новой независимой переменной. Тогда одним
шагом определяется местоположение искомой точки. Этот способ
описан в короткой заметке Уилера [1959]. Его очень легко
осуществить, если производную указанной функции можно
вычислить без особого труда.
5. ОШИБКИ ОКРУГЛЕНИЯ
Ошибки округления возникают, конечно, при любой
реализации любого алгоритма, и, вообще говоря, следует надеяться,
что они будут настолько малы, что требуемая точность будет
достигнута; если это не так, следует работать в направлении
76 Часть 1. Задана Коши
уменьшения этих ошибок. Но представляется целесообразным
обсудить в общих чертах два случая, когда ошибкам
округления следует уделять особое внимание.
В первом случае уравнение решается с помощью итераций,
что всегда имеет место в неявных методах. При этом о
сходимости судят по близости последовательных итераций, разницу
между которыми невозможно свести к нулю из-за ошибок
округления. Поэтому требуется константа, ограничивающая
количество итераций и зависящая от ошибки округления. Выбирать
такую константу следует с большой осторожностью. В более
сложных случаях требуется две константы (одна для
внутренних и одна для внешних итераций); при этом нужно принять
во внимание зависимость между ними, и программа, возможно,
потребует тщательной экспериментальной отладки, т.е.
придется подбирать константу экспериментально и ее выбор может
оказать существенное влияние на эффективность метода.
Наряду с точностью арифметики или длиной машинного
слова на результат влияет выбор максимального используемого
порядка и длины шага. Очевидно, не стоит вычислять в
решении у те знаки, которые имеют порядок ошибок округления.
Халл и Энрайт [1974] используют сходный критерий для
выбора наименьшей длины шага. Эту величину, обозначаемую
HMIN, они выбирают так, чтобы оцененная ошибка
аппроксимации была по крайней мере в 10 раз больше ошибки
округления. Для того чтобы можно было найти HMIN до начала
основных вычислений, эти авторы требуют от пользователя при
обращении к программе задавать YMAX — ограничение на
величину компонент у.
Крох в своих программах пытается локализовать влияние
ошибки округления на разности, выбирая автоматически
порядок разностей там, где ошибка округления значительно влияет
на их величину. Разности, существенно зависящие от этой
ошибки, не используются в вычислениях. Это дает возможность
Кроху определять, что достижение заданной точности
становится невозможным, и информировать об этом пользователя.
5
МЕТОДЫ РУНГЕ-КУТТЫ
1. ВВЕДЕНИЕ
Ввиду того что для методов Рунге — Кутты не нужно
вычислять дополнительные начальные значения, эти методы
занимают особое место среди методов классического типа. В этой
Г л Г). Методы Рунге — Кутты 77
главе мы обсудим некоторые их свойства, а также рассмотрим
некоторые ограничения, присущие этим методам.
С увеличением числа этапов для больших задач, решаемых
этими методами, возникли бы трудности с памятью, кроме того
(и это важнее), для больших задач, как правило, велики
константы Липшица. В общем случае это делает методы Рунге —
Кутты высокого порядка не пригодными для таких задач. Во
всяком случае, другие методы обычно эффективнее и им
следует отдать предпочтение.
Таким ооразом, мы не будем заниматься какими-либо
вопросами оптимизации по объему памяти, необходимой для этих
методов, а сконцентрируем внимание на вопросах точности и
эффективности для задач того типа, для которых методы
Рунге— Кутты приемлемы.
2. ВЫВОД КОНКРЕТНЫХ МЕТОДОВ
В главе 10 будут сформулированы условия, обеспечивающие
заданный порядок для неявных методов Рунге — Кутты. Так как
явные методы Рунге—Кутты являются их частным случаем, то
мы можем сразу выписать условия, при которых метод имеет
заданный порядок.
Метод
0
#21
#31 #32
аа\
I Ьх Ь2 . . . &s_i bs
(где на свободных местах должны стоять нули) имеет порядок
/?, если удовлетворяется уравнение
ФМ-1/YW (2 Л)
для каждого дерева t с корнем и не более чем с р
разветвлениями (здесь мы пользуемся принятыми в гл. 10
обозначениями).
78
Часть L Задача Коши
ветствующие деревья имеют вид
Ь\ + ^2 "Ь Ь3 + Ъ\ = 1,
+ &3^3 + ^4^4 ~ 7г>
» У3С3 * U4°4 '4»
= 724-
чие порядок 4,
•
i
V
<
\у
\/
Y
$
И COOT-
(2.2)
(2.3)
(2.4)
(2.5)
(2.6)
(2.7)
(2.8)
(2.9)
Заметим, что для меньших значений р мы берем
соответствующее подмножество этих условий, а для меньших 5
оставляем лишь некоторые из указанных членов.
Из (2.9) мы видим, что действительно необходимо 4 этапа,
так как если бы их было меньше, то был бы опущен
единственный член в левой части этого уравнения. Как будет показано
в гл. 10, для явных методов в общем случае выполняется
неравенство s > р. Фактически (для тех значений, для которых это
известно) минимальное значение s для данного р указано в
следующей таблице:
р
S
1
1
2
2
3
3
4
4
5
6
6
7
7
9
Общие классы методов с этими значениями s и р легко
найти в случае р = 1, 2 и 3.
Для 5 = р = 1
1L
Это известный метод Эйлера.
Гл. 5. Методы Рунге — Кутты
79
Для s = p = 2
О
с
1 --L —
1 2с 2с
Это однопараметрическое семейство имеет требуемый
порядок для любого (ненулевого) значения с.
Для s = р = 3 имеется три семейства, из которых первые
два таковы:
О
2
3
О
2
3
1
4
1
46
— Ъ
1
!ь
7 6
О
2
3
2
3
2
3
2
3
1
4
1
46
1
46
3
т
ъ ь
Каждое из них имеет один параметр Ь Ф 0. Третье
семейство имеет в качестве параметров Сг и с3, причем
Вывод методов с s = р — 4 более сложен, но его можно
упростить, положив
= 6/0-с,), /=1,2,3,4
(2.10)
(что влечет равенство с4 = 1), так как это позволяет опустить
уравнения (2.3), (2.5), (2.8) и (2.9). Интересно также, что
(2.10) является следствием (2.2) — (2.9).
Теперь мы кратко наметим план вывода конкретного метода
этого порядка. Этот план можно выполнить при условии, что
не возникнет несовместных систем.
Шаг 1: Выбираем значения с2ч с3 и полагаем с4 = 1.
Шаг 2: Из (2.2), (2 3), (2.4) и (2.6) находим Ьи Ь2, &з, ЬА.
Шаг 3. Из уравнения Ь3(\ —• Сз)#з2£2 = V24 (разность
уравнений (2.5) и (2.7)) находим а32-
Шаг 4: Из (2.10) находим а42, а4з-
Шаг 5: Вычисляем а2\= с2, а31=Сз — аг2, 041=1—а42 — а43.
80
Часть 1. Задача Коша
В случае с2 = с3 — 7г шаг 2 приводит к выбору b2 и 63
при условии, что Ь2 + Ь3 — 2/з, Ьгф0. В частности, мы имеем
известный метод
0
1
2
1
2
1
1
2
0
0
1
6
1
2
0
1
3
1
1
3
1
6
Используя некоторое обобщение описанных выше методов,
легко получить шестиэтапные методы порядка 5. Например, для
любого К и отличного от нуля [х имеем метод
0
|Л,
1
4
1
2
3
4
i
-
5
7
3
16
1
4
4А,М-
+ -
12А,
7
а
-
3
32ц
7
90
1
32м-
А,
2
7М
ЗА,
4
48A.U
7
-ЗА,М—
2
7М
1
32м,
А,
3
32а
Г)
12А,
7
ЗА,
4
2
3
8
6
7
- 4А,М-
+ ЗА,м
48Ап
7
32
90
9
16
12
7
12
90
8
7
32
90
7
90
Вывод методов порядка 6 столь же прост, однако для
порядков 7 и 8 он более сложен. Все известные методы порядка 8
имеют 11 этапов, и не известно, существуют ли такие методы
с 10 этапами.
3. МЕТОДЫ С ОЦЕНКОЙ ПОГРЕШНОСТИ
Эффективный способ вычисления локальных оценок состоит
в использовании (s + 1)-этапного метода порядка р + 1
0
С'6
«32
«5+1,1
«5+1,5
Гл. 5. Методы Рунге — Кутты 81
такого, что s-этапный метод
О
#21
#31 #32
#51 #52 ... #5,5-1
I #5+1.1 #5+1,2 • • • #5+1,5-1 #5+1,5
вложенный в него, имеет порядок р. Если вложенный метод
используется для вычисления уп через уп-и то (s -f 1)-этапный
метод может быть использован для оценки погрешности. В
сущности эта процедура использует лишь s вычислений
производной на шаге, так как вычисление 1(х„,уп) требуется для
следующего шага в любом случае.
Если для такой схемы мы определим Ф(0 обычным
способом, описанным в гл. 10, но заменим bs+\ нулем и выпишем р
для этого значения 6s+i, то условие, обеспечивающее заданный
порядок (s + 1)-этапного метода, вместе с требованиями,
необходимыми для того, чтобы вложенный метод имел заданный
порядок, имеет вид
^г(1-Рг(0) (3-0
для всех деревьев /, таких, что r(t)^. р + 1. Если (3 =7^=0, то
коэффициенты as+i. 1, #5+1,2, ..., #s+i, s (которые не входят в (3.1))
можно найти по формулам
#5+ь i = [bi (I ~ ct) — £ b}a}iy$.
Хотя выводы методов этого типа более сложны, чем вывод
обычного метода Рунге — Кутты, укажем некоторые примеры.
Для s = р = 1
0
1
2 2
82 Часть 1. Задача Коши
Для 5 = 3, р = 2 (иная интерпретация классического метода
четвертого порядка)
0
1
2
1
т
1
1
2
0
0
1
6
1
2
0
1
3
1
1
3
1
6
я s
0
2
7
4
7
6
7
i
1
= 4, р
2
7
8
35
29
42
1
6
И
96
= 3
4
5
2
3
1
6
7
24
5
"б"
5
12
35
96
1
4
7 1
48 12
Методы высших порядков были предложены Фельбергом
[1968], но в наших обозначениях у них |3=0 и они имеют тот
недостаток, что две составные части метода Рунге — Кутты
основываются на одной и той же квадратурной формуле. Это
приводит к ослаблению контроля за величиной шага для
некоторых задач.
4. ПОГРЕШНОСТЬ АППРОКСИМАЦИИ
При выполнении одного шага по методу Рунге —Кутты
погрешность аппроксимации можно найти в виде
асимптотического ряда, полученного вычитанием равенства (2.9) гл. 10 из
равенства (2.5) той же главы, причем предполагается, что
(xn-i) = J/я-ь Для метода порядка р имеем
lfifr{<l>(t)--yjj))F(t)(yn-i)- (4.0
r{t)>p
Если известны оценки различных частных производных,
входящих в это разложение, то можно оценить и погрешность.
Однако, как правило, такую информацию получить нелегко.
Гл. 5. Методы Рунге — Кутты 83
Пусть уп вычислено методом, описанным в предыдущем
параграфе, и пусть уп — дополнительное приближение порядка
р + 1. Из (4.1) следует, что
r(*)~P+l
Таким образом, погрешность аппроксимации имеет вид
Уп — Уп-\- O(hp+2) и может быть хорошо приближена величиной
Уп — Уп по крайней мере для достаточно малого |й|.
Эту оценку погрешности можно использовать для двух
целей: (а) как критерий того, что погрешность достаточно мала
на данном шаге, и (Ь) как средство выбора подходящего шага
для последовательности шагов. Если мы собираемся оценивать
локальную погрешность этим способом, то нам следует
установить соотношение между локальной и полной погрешностями.
Если погрешность метода растет (вдоль траектории) со
скоростью е(х) при х, меняющемся от х = а до х = Ь, то полная
погрешность будет приближенно равна
ь
\Gx(b)e{x)dx,
а
где Gc для каждого с е [а, Ь] является решением матричного
дифференциального уравнения
с начальным значением
Gc(c) = I.
Если, например, /7 — постоянная матрица М, то Gc(x) равна
(( — с)М).
5. ОПТИМАЛЬНЫЙ ВЫБОР ШАГА
Предположим, что при интегрировании от точки хп-\ до
точки Хп с шагом 1гп погрешность приближенно равная(xn-i)hn+l'
Так как это соответствует росту погрешности со скоростью,
приблизительно равной v(xn-\)hn, то е(х)= v(x)h(x)p, где h(x) —
функция, определяющая шаг. Положим q>(x)=\\Gx{b)v(x)\\ и
84 Часть 1. Задача Коши
получим оценку интеграла, который приближенно равен полной
погрешности:
ь
Е =
С другой стороны, затраты будут пропорциональны числу
шагов, которое приближенно равно
ъ
C=\[h{X)Txdx.
а
Методами вариационного исчисления можно показать, что
если мы хотим минимизировать затраты С при некотором
фиксированном значении погрешности £, то следует сохранять
постоянной величину <p(x)h(x)p~]/[h(x)]~2. Это означает, что
окончательная погрешность должна быть одинаковой на
каждом шаге.
Хотя оптимальный шаг h нельзя, как правило, определить
a priori, этот результат является полезным ориентиром при
создании хороших программ.
6. ОПТИМАЛЬНЫЙ ВЫБОР ПОРЯДКА
Выбор одного из двух возможных методов зависит от
соответствующих практических затрат при получении
приблизительно равной точности в одинаковых вычислениях. Так как
выбор наилучшего метода будет изменяться по мере
продвижения вдоль траектории решения, гибкая программа должна
переключаться с одного метода на другой, отличающийся
порядком, выбирая тот, который дает наилучшие локальные
характеристики. В случае методов Рунге — Кутты для этого
нужно время от времени делать пробные шаги каждым из двух
методов.
Рассмотрим два метода с шагами h\ и h2 соответственно,
погрешности которых растут со скоростями v{{x)hp и v2(x)h°\
а накопленные затраты — со скоростями C\/h\ и c2/h2. Пусть h
означает h\/c\ или h2/c2, так что при интегрировании каждым
из этих методов затраты на один шаг будут одинаковыми. Мы
находим, что эти методы имеют погрешности, растущие со
скоростями || v{ (x) \\c\ 'hPl и || v2 (x) || сЧ?ЬРк Если р\ < р2у то первая
будет меньше при больших Л, а вторая — при малых h. Для
того чтобы найти точку, в которой они равны, обозначим через г
приемлемую погрешность интегрирования в случае, когда оба
метода одинаково эффективны. Мы находим, что
е1^-1*'= || t^x) ||1/рЧ1 М*) 1Г'/Р
Гл. 5. Методы Рунге — Кутты 85
Для того чтобы использовать эту формулу, величины ||ui(*)|| и
||t>2(*)ll оцениваются с помощью выражений локальной
погрешности, которые описаны выше. Дополнительные сведения о
методе и выборе шага можно найти в книге Гира [1971b].
7. ОЦЕНКА КАЧЕСТВА МЕТОДОВ
Рассуждения предыдущего параграфа в некоторых
отношениях не точны. В частности, асимптотические разложения
погрешности предполагались достаточно точными для сравнения
методов даже при больших шагах. Это относится к недостаткам
методов высокого порядка и во многих программах
компенсируется введением поправки к порядку метода.
Другим осложняющим фактором является устойчивость.
Даже для нежестких задач существует некоторое пороговое
значение шага, за которым качественное поведение численного
решения меняется и само решение становится совершенно
неудовлетворительным. Например, в случае линейных задач это
происходит, когда hX (для некоторого собственного значения X
матрицы Якоби этой задачи) выйдет из области устойчивости.
Таким образом, способность метода давать хорошие результаты
зависит от его характеристик устойчивости так же существенно,
как от его порядка. Если s = р (что возможно для р=1,2,3,4),
то область устойчивости выбирать нельзя, но если s сделать
больше, чем р, то дополнительную гибкость метода можно
использовать для расширения области устойчивости.
Хотя мы не рассматривали вопрос о погрешности
округления, ясно, что накопление таких погрешностей в пределах шага
будет как-то зависеть от коэффициентов метода. Не проводя
подробного анализа, все же можно сказать, что наличие
отрицательных коэффициентов, в особенности среди b\9 b2, ..., bs,
является предупреждением о том, что существует опасность
нарушения правильности работы метода. Во многих методах
высокого порядка, в которых встречаются отрицательные
коэффициенты, велики значения модулей \ац\. Это приводит к потере
точности из-за сокращения значащих цифр.
Наконец, хорошая программа, использующая методы
Рунге— Кутты, должна содержать формулы различных порядков,
скажем от двух до пяти. Как уже было указано выше, формула
низшего порядка часто оказывается более эффективной, если не
требуется особой точности, и менее эффективной в
противоположном случае. К тому же методы низшего порядка пригодны,
конечно, и для задач, в которых производные низшего порядка
претерпевают разрыв, так что асимптотическое разложение
погрешности оказывается неверным.
86 Часть 1. Задача Коши
6
РЕАЛИЗАЦИЯ ЛИНЕЙНЫХ МНОГОШАГОВЫХ МЕТОДОВ
1. ВВЕДЕНИЕ
Эта глава посвящена реализации линейных многошаговых
методов. Хотя мы и не рассматривали жестких задач, большая
часть материала относится также и к реализации
многошаговых методов для жестких задач (см. гл. 11). Определенные
аспекты этой темы подробно рассмотрены Гиром [1971b], а в
новой книге Шампайна и Гордона [1975] содержится полное
исследование проблем реализации метода Адамса. В этой
области представляют большую важность работы Кроха (см.,
например, [1969а, 1969b, 1974]). За последние семь или восемь лет
несколько хороших программ с переменным шагом и
переменным порядком, основанных на методе Адамса, было создано
вышеупомянутыми авторами и другими, в частности Седгвиком
[1973] и сотрудниками Библиотеки NAG.
Эти программы в некоторых случаях существенно
отличаются друг от друга. Их важность и преимущества по сравнению
с другими методами будут особо обсуждаться в гл. 8. Сейчас
наша задача состоит в том, чтобы описать такие программы,
рассмотрев наиболее важные соображения, возникающие при
их создании. На разработку таких программ тратится подчас
очень много времени, и невозможно детально обсудить вопросы,
связанные с тем, как сделать программу надежной и
эффективной. Чтобы получить хорошее представление, о чем идет речь,
см. работу Кроха [1974].
Для большей части изложения будет удобно рассматривать
случай одного уравнения первого порядка:
y' = f{x>y), y(a) = y\, (1.1)
где решение требуется определить в заданных точках х отрезка
[а, Ь). Обобщение на случай систем первого порядка, в
основном очевидное, в случае необходимости будет оговариваться
в тексте.
В § 2 определяются формулы Адамса и объясняется, почему
они выбраны в качестве основы для программы интегрирования.
Затем в § 3 рассматриваются различные алгоритмы для
пошагового вычисления. Проблема изменения шага и его
зависимости от представления формул, а также оценка локальной
погрешности даются в § 4. В § 5 кратко намечены пути обобщения
на случай уравнений более высокого порядка и неявных
дифференциальных уравнений. В качестве продолжения этой темы
в § 6 обсуждается реализация методов с переменным порядком,
Га 6. Реализация линейных многошаговых методов 87
а в заключение в § 7 дается сравнительный анализ
альтернативных вариантов в целом с теоретической и практической
точек зрения.
2. ПОЧЕМУ ИМЕННО МЕТОДЫ АДАМСА?
Во всех основных вариантах многошаговых методов
переменного порядка использовались методы Адамса. Для удобства
повторим здесь определение. Интегрируя (1.1), получаем
хп+\
f(x,y(x))dx. (2.1)
Обозначим через Pk,n(x) полином минимальной степени,
интерполирующий значения /я, /я-ь ..., /«-л+ь где fr = f(xf9yr).
Формула
xn + l
5 Pk.nMdx, (2.2)
чаще всего используемая в последнее время, называется Л-ша-
говой (явной) формулой Адамса — Бэшфорта. В § 4 будут
исследованы конкретные реализации этой формулы, пригодные
для вычислений. Аналогично
П+1
$ Pk+\.n+i(x)dx (2.3)
называется ^-шаговой (неявной) формулой Адамса — Мултопа.
Формулы (2.2) и (2.3) имеют порядок к и k + 1 соответственно.
Формулы Адамса обладают важным свойством сильной
устойчивости. В гл. 2 показано, что это свойство достигается
тем, что посторонние корни характеристического полинома p(s)
делаются строго меньшими единицы. Формулы Адамса могут
быть характеризованы как формулы, максимальные по порядку
среди тех, у которых все посторонние корни равны нулю. Это
обеспечивает достаточную область абсолютной устойчивости
для большинства задач. (Для жестких задач приходится
рассматривать другие многошаговые методы; см. гл. 11.)
Можно легко увеличить область абсолютной устойчивости,
взяв линейную комбинацию исправляющих формул Адамса —
Мултона порядков k и А + 1. Если длина шага ограничивается
не требованиями точности, а размером области абсолютной
устойчивости и если процесс выбора порядка организован
хорошо (!), то обнаруживается тенденция к понижению порядка
88 Часть 1. Задача Коши
алгоритма (к уменьшению k). Это объясняется тем, что при
увеличении k область устойчивости быстро уменьшается. Для
успешного решения проблем, возникающих при таких
затруднениях с устойчивостью, возможно, стоит попробовать улучшить
устойчивость алгоритмов низкого порядка. Например, если в
алгоритме РЕСЕ используются (2.2) и (2.3) с k = l9 то,
полагая h — Xn+i — хп, можно написать
УРп+1 = Уп + Уп> (2.4)
Уп+х = Уи 1 + W2) (/ (*я+1, tjUi) ~ fn)> (2.Б)
fn+i = f(xn+\> Уп+х)- (2-6)
Здесь в качестве предсказывающей формулы берется формула
Эйлера, а в качестве исправляющей — формула трапеций. Если
заменить (2.5) формулой
Уп+1 = Си + (wh/2) (f (xn+v y'n+l) - /„), (2.7)
то получится метод РЕСЕ, который является абсолютно
устойчивым для у = ку, если
\< 1. (2.8)
Формула (2.7) является линейной комбинацией формулы
трапеции и формулы Эйлера первого порядка с разностями
назад. Если используется формула (2.5), т.е. до = 1, то алгоритм
является устойчивым для —2 < hX < 0. Крох [1974]
предлагает значение w = ]/л, для которого соответствующий интервал
—8 < hh < 0. Чтобы выбрать оптимальное значение,
необходимо нанести область устойчивости на комплексную
плоскость h%.
Подобное исследование можно провести и для других
значений k. В этом нет нужды для больших значений, потому что
если они используются в программе, то размер шага почти
наверное ограничивается точностью, а не устойчивостью.
Разумеется, если устойчивость накладывает очень обременительные
ограничения на длину шага, необходим переход к методам,
предназначенным для жестких задач.
3. ПОШАГОВЫЕ АЛГОРИТМЫ
В главе 1 были введены предсказывающе-исправляющие
методы с фиксированным числом исправлений и метод
исправления до сходимости. Халл и Кример [1963] утверждают, что
в общем случае наиболее эффективны методы с двумя или
Гл. 6. Реализация линейных многошаговых методов 89
тремя исправлениями. Нам нужно решить, использовать ли
метод с фиксированным числом исправлений (обычно метод РЕСЕ
или РЕСЕС с двукратным вычислением производной на каждом
шаге) или метод исправления до сходимости с ограниченным
числом исправлений. Следует иметь в виду также метод РЕС.
Гир [1969b] использует метод исправления до сходимости.
Принятая им стратегия позволяет обходиться тремя исправле-
' ниями; если сходимость не достигнута, длина шага
уменьшается и шаг повторяется. Стратегия Гира выбора длины шага
и тот факт, что явные методы дают точные начальные значения,
почти всегда обеспечивает сходимость. Это очень разумный
алгоритм.
В работе Холла [1974] даются некоторые теоремы об
области абсолютной устойчивости в связи с различными способами
использования методов Адамса для случая постоянного шага.
Нижеследующие рассуждения основаны на этих результатах.
Пусть Рй и Ck — явный и неявный методы Адамса порядка k
соответственно (напомним, что (2.3) и (2.4) определяют Pk и
Cfc+i). При k>b алгоритм P&ECa+iE имеет лучшие свойства
в смысле устойчивости, чем метод исправления до сходимости.
При k =^5 разница в устойчивости не очень значительна. (В
случае очень малого порядка эффективная область устойчивости
для исправлений уменьшается из-за требования сходимости
итераций.) Из соображений устойчивости трудно выбрать между
PfcECfe+iE и методом исправления до сходимости, но последний
предпочтительнее в силу его экономичности. Оценка локальной
погрешности может быть получена до второго вычисления.
Другие варианты, например Р^ЕС^Е, имеют сравнимые области
устойчивости; в случае высоких порядков они несколько лучше.
Все же следует предпочесть P^EC^+iE. Он обладает лучшей
устойчивостью при низком порядке, где это существенно, и
потенциально лучшей точностью при высоком порядке. Именно
этот алгоритм предпочел Крох [1974] на основе вычисления
областей устойчивости.
Такие алгоритмы, как Р*ЕСб или Р*ЕС*н-ь имеют то
преимущество, что требуют только одного вычисления на шаг.
Однако в большинстве случаев это более чем компенсируется тем
фактом, что очень трудно сравнить области устойчивости этих
алгоритмов с любыми алгоритмами с двумя вычислениями при
любых значениях k. Все же стоит рассматривать их применение
в тех случаях, когда трудно вычислить производные и когда
ясно, что длина шага будет ограничиваться требованием
точности. Использование этих алгоритмов иногда оправдано в
расчетах, связанных с задачей N тел. В идеале программа должна
была бы предоставлять пользователю возможность выбора
между PfeECfe+iE и Р*ЕС/ц-ь
90 Часть 1. Задача Коти
4. ФОРМА ЗАПИСИ Л1ЕТОДА, ИЗМЕНЕНИЕ ШАГА,
ОЦЕНКА ПОГРЕШНОСТИ
В общем случае эффективность реализации методов Адамса
зависит от того, до какой степени поведение функции можно
предсказать по ее предыдущим значениям fn, fn-u •♦•> fn-ш.
Такая предварительная информация существенна для
правильного выбора шага и порядка. Требующая понижения порядка
разрывность высших производных, которая может и не
проявляться в значениях fn, /«-ь ..., /л-л+ь все же, возможно,
обнаружится в некоторых рассматриваемых нами формах записи.
Предположим сначала, что мы хотим использовать вариант
формул Адамса с постоянным шагом. Тогда было бы
желательно запомнить разности назад
определенные формулами
В этом случае предсказывающая формула (2.2) принимает вид
ур =у +/г £ Y-V1/ (4.1)
/i+l п .=0 i п>
где константа yt не зависит от k.
В алгоритме P^EC^+iE исправляющая формула (2.3) может
быть записана в виде
k
Уп+1 = уп + к^ yyipfn+v (4-2)
причем Vlp обозначает *'-ю разность назад, в которой за /я+1
принимается f (хп+\, 1А+\)- Можно также показать (см. Хен-
ричи [1962]), что
и, следовательно, для вычисления можно упростить (4.2) до
вида
У„+1=^+1+/пда+1. (4.3)
В случае алгоритма Р*ЕС*Е в формуле (4.3) просто
заменяется уи на у?г-и что соответствует отбрасыванию одного члена
в сумме (4.2). Данная Милном оценка погрешности (гл. 3)
является просто разностью между этими двумя выражениями,
т.е.
оцениваемая погрешность = hy^/kfn+v
Гл. 6. Реализация линейных многошаговых методов 91
Такая же оценка может использоваться для алгоритма
pfcECfc+iE, если исправляющая формула потенциально более
точна. Если требование точности выполняется, то вычисляется
1(Хп+иУп+\) и шаг завершается образованием исправленных
разностей V%+i-
Если требуется заменить длину шага h на h\ то перед тем,
как совершить описанный выше шаг, обычно интерполируют с
помощью полинома Pk,n(x) по точкам fn, /«-i, ..., fn-k+u чтобы
получить значения Jn, fn-\, ..., /я-л+i в точках хп, хп— h\ ...
... , хп — (k— \)h'. Таким образом,
1п-1 = Рн.п{хп-т, / = 0, 1, ..., k-\. (4.4)
Для случаев удвоения шага или деления его пополам Крох
[1973а] указал эффективные алгоритмы, использующие
разности назад. Затраты примерно сопоставимы с затратами на один
шаг метода, не считая того, что не нужно вычислять
производных. Длину шага можно менять произвольным образом (а не
вдвое), но это менее удобно.
Другая интересная возможность, основанная на формуле
Нордсика [1962], используется Гиром [1969, 1971b]. В этом
случае предыдущие значения запоминаются в следующем виде:
уп, hy'n, ..., hbyfjk\ (4.5)
В этих обозначениях коэффициенты разложения в точности
равны производным интерполяционного полинома для /Л,f«_i,...
..., fn-k+u точнее,
*Ч
(i) — .
dx1'
(4.6)
Эта формула подробно описана Гиром [1971b]. Как отметил
Нордсик, ее достоинством является упрощение процесса
интерполяции (4.4) для изменения шага. Действительно,
произвольное изменение шага достигается просто умножением /-го
коэффициента разложения в (4.5) на а\ причем а = h'/h.
Две описанные выше схемы требуют сравнимого количества
вычислений на один шаг, но схема Нордсика является более
гибкой. Разности назад принципиально проще. Если уменьшить
порядок, опустив последний член в (4.1), то получится явная
формула Адамса порядка k—1.Если используется вектор
Нордсика (4.5), то естественный способ уменьшения порядка состоит
именно в том, чтобы опустить последний член. Поэтому мы не
используем формулу Адамса. Например, при k = 2 вектор
сохраняемой информации Нордсика выглядит так:
У М (3f4fHf) (f2f + LJ
92 Часть /. Задача Коши
а предсказанное значение #£+1 является суммой этих членов.
Если опускается последний член, то мы не отбрасываем \п-2 и
формула уже не будет формулой Адамса. Дальнейшее
исследование этих формул при изменении длины шага проводится в § 7.
В заключение этого параграфа мы приводим формулы с
переменным шагом, которые являются точными записями методов
Адамса во всех случаях, когда происходит изменение порядка
или длины шага. Они менее экономичны, но рассуждения § 7
позволяют предположить, что они могут оказаться наилучшими,
если принимать во внимание и надежность, и экономичность.
Пусть /«, н-ь ..., n-i обозначает 1-ю разделенную разность f,
определяемую следующей рекуррентной формулой:
р 'п, п—\ /г—t' + l in — \, п—2, ..,, n—i /л j\
1п.п-\. .... n-i— x — х . • ^'''
п п—i
Интерполяционный полином, выраженный через разделенные
разности, имеет вид
) fn „_1# _ „_fe+1, (4.8)
P*+!.,H.l(*)eP*. »(*) + (*-*») ••• (*-*«-* + 1)/«+1.» »-* + !.
(4.9)
Пусть gij есть /-кратный интеграл
хп\-\ х х
81!=== S $•••$(*--*«)(* — хп-\) ...(* — *«-*+i) ^. (4.10)
^rt *П ХП
Тогда алгоритм P&EQ+lE записывается так:
Уп+\ ~ Уп * £f §iVn, /i-l n-i,
ln+\~f\Xn+l> Уп+lh
l, П
/
rt+1
Как правило, обозначение /£+1 Л rt-.fe+i относится к
разделенным разностям, образованным с помощью /£+г Если
дополнительное значение /*+1 = Pfe> n(^+i) находится
экстраполяцией по формуле
k
Е £«/„,„_, П_Р (4.12)
Гл. 6. Реализация линейных многошаговых методов 93
то, полагая х = хп+и из (4.9) получаем
К+\ === 'rt+l ' g k.O 'n+\, п, ..., rc-fc-H- (4.1OJ
Поэтому исправленное значение в (4.11) можно записать
в виде
(
п+,
Чтобы использовать Р^ЕС/гЕ, в (4.14) следует заменить & на
k—1. Разность между этими двумя выражениями вновь может
быть использована для оценки погрешности в каждом случае.
Мы находим, что
оцениваемая погрешность =
Этот алгоритм решающим образом зависит от
эффективности метода вычисления переменных коэффициентов цц.
Интегрируя по частям, из (4.10) можно получить равенство
gii = (xn+i— *n-m)g*-i./--.fe/-i./+i. (4.16)
Так как got = {хп+\ — Xn)j/j\, формулу (4.16) можно
использовать для вычисления искомых коэффициентов в следующей
треугольной таблице:
k 2
0
1
2
3
0
goo
gio
g20
g30
1
goi
gn
g21
2
gO2
gl2
3
gO3
Согласно (4.16), каждый элемент этой треугольной матрицы
получается из двух элементов предыдущей строки. Заметим, что
при помощи (4.16) можно упростить и формулу (4.15).
При использовании этой формы записи метода важно иметь
в виду, что если длина шага остается постоянной на
протяжении s шагов, то коэффициенты g,-/» / < s, будут постоянными.
Из этого факта можно извлечь пользу, принимая постоянный
шаг там, где наша схема выбора шага показывает, что
необходимо лишь небольшое его увеличение. Однако важно
отметить, что в последней схеме дополнительные затраты времени
на вычисление переменных коэффициентов становятся менее
существенными при интегрировании системы большого числа
уравнений.
94 Часть 1. Задача Коши
Последние достижения в этой области принадлежат в
основном Кроху [1974], хотя его исследования относятся главным
образом к разделенным разностям другого вида, сводящимся
к простым разностям назад в случае постоянной длины шага.
5. ОБОБЩЕННЫЕ АЛГОРИТМЫ
В этом параграфе мы кратко наметим, как можно обобщить
методы Адамса для того, чтобы они были непосредственно
пригодными для уравнений более высокого порядка. На практике
не составляет труда написать программу так, чтобы системы
уравнений различных порядков могли интегрироваться
непосредственно, без сведения к эквивалентной системе уравнений
первого порядка, как делалось в гл. 1. Рассмотрим уравнение
d-YO порядка:
*/(rf) = f(*> У, у',..., У{а~1)). (5.1)
Интегрируя d — s раз, получаем
d-\-~s
y(s+i)(*) + \ S - $ f to У(*). ■ ■ •. tF-l)(x))dx...dx.
Используя в качестве приближения / интерполяционный
полином Pk,n(x), получаем обобщенную явную формулу Адамса:
d-1-s . Xn-V\
f S
х х
\...\Phtn(x)dx...dx. (5.2)
Как и в § 3, вводим алгоритм PfeEC^+iE. Это можно сделать
в любой из форм, используемых в § 4; мы пользуемся
разделенными разностями; это, по-видимому, признано наиболее
подходящей формой использования методов Адамса:
U{S)P= У ^-U^s+i)+y ff f
^n+1 La i\ У* * /j &i.d-sln. n-\ n-i>
£-0 /-0
5 = 0, 1, ..., d— 1,
(5-3)
Уп + \ === Уп + \ '•"" Sk, d-s'n + l, n, .... n-k + V 5 = 0, 1, ...,a 1,
fn+l~l \Xn+l> Уп+V ••*' #д+1 )*
Гл. 6. Реализация линейных многошаговых методов 95
Оценки погрешностей можно получить точно так же, как
делалось в § 4 для уравнения первого порядка. Заметим, что
коэффициенты в точности совпадают с коэффициентами в
определении (4.10). Эту треугольную таблицу следует несколько
увеличить, чтобы обеспечить необходимые коэффициенты для (5.3).
Такой алгоритм выглядит привлекательно; детали его
реализации можно найти у Кроха [1974].
Пока что имеется мало теоретических аргументов в пользу
сведения уравнений высокого порядка к системам уравнений
первого порядка или, наоборот, в пользу непосредственного их
интегрирования. Простое вычислительное преимущество
формул (5.3) состоит в том, что требуется сформировать и
обновлять на каждом шаге только одну таблицу разделенных
разностей. Сведение к d уравнениям первого порядка потребовало
бы d таблиц разностей.
Заметим в заключение, что описанный выше алгоритм
можно реализовать и в том случае, когда уравнение (5.1)
заменяется уравнением d-ro порядка, которое нельзя разрешить
относительно y{d). Вместо простых вычислений fpn+x и fn+\ нужно будет
разрешить относительно у^х систему неявных уравнений,
используя оценочные значения других величин. Здесь может быть
применен итерационный метод типа Ньютона с приближенно
вычисленной матрицей Якоби.
6. ПЕРЕМЕННЫЙ ПОРЯДОК, НАЧАЛО ИНТЕГРИРОВАНИЯ
Очень просто изменять порядок, когда используются
многошаговые методы. Порядок непосредственно зависит от числа
вычисленных ранее и сохраняемых величин. После завершения
данного шага порядок можно увеличить на единицу, если
сохранятся все величины, использованные на этом шаге. Порядок
можно уменьшить до любой величины исключением из памяти
соответствующего количества сохранявшихся до того значений.
В то же время разработка правильной стратегии выбора
порядка — дело трудное, но интересное. Этот аспект очень важен
для реализации данного метода. В этом параграфе разбираются
его основные идеи. Для простоты используется формулировка
методов Адамса с разностями назад, но основные идеи от
формулировки не зависят.
Будем использовать алгоритм P*ECa>+iE. Для того чтобы
решить, следует ли увеличить порядок, необходимо располагать
одной дополнительной разностью (предшествующих значений),
кроме тех, которые используются при текущем значении
порядка.
96 Часть 1. Задача Кош и
Пусть даны ytu V%, / = 0, 1, ..., /?, и пусть (л~|-1)-й шаг
описывается формулами
'л + 1 ===' \'V/H-P Уп + lJ'
Вычисление второй производной откладывается до тех пор,
пока не проверено, удовлетворяет ли оцениваемая погрешность
Ek локальному требованию точности, которое мы выбираем
в виде
где величина TOL задается пользователем. Предположим, что
это условие удовлетворяется, и шаг завершается вычислением
fn+\ и образованием уточненных разностей, определяемых как
v //i+i — 'л+р Л 'rt+i v //i+i v /л» ^ — i, z, .... ^o.z;
В этот момент можно решить, сохранить ли порядок
неизменным или перед следующим шагом изменить его на единицу в ту
или иную сторону. Выбор зависит от того, какая погрешность
получается при использовании того или иного порядка для
вычисления уп+\.
Сначала рассмотрим уменьшение порядка. Тогда оценка
погрешности будет
+f(
n+l,
так как используется предсказывающий метод с порядком на
единицу меньше. Согласно теореме о среднем,
£*_, = ay; _,[v*-7b+i - Ч-.,?*-1/» • (<W]. (6.4)
На практике во избежание лишнего вычисления производной,
требуемого для (6.3), решение об уменьшении порядка
основывают на оценке
^-.-K-.VJ-'U, (6.5)
которая получается сразу и, согласно (6.4), асимптотически
справедлива.
Гл. 6. Реализация линейных многошаговых методов 97
В случае увеличения порядка оцениваемая погрешность
составляет
;*7 к + *n), (6.6)
где предсказанная разность дается предсказывающим методом
с одним дополнительным членом. Сравнивая с алгоритмом (6.1),
находим, что в оценке Ек+\ должны быть использованы
исправленные разности (6.2). Мы получаем
что приводит к оценке
(6.7)
и этим устанавливается возможность использования (в
асимптотическом смысле) оценки
I. (6-8)
Этот последний вывод не справедлив для алгоритма
где в (6.1) используется ук-\\ по нашему мнению, это
решающий аргумент в пользу PfeEC$+iE.
Таким образом, получены Ек-и £*, Ek+\ и нужно принять
решение относительно изменения порядка. Можно просто
выбрать порядок, для которого оценка погрешности минимальна.
С другой стороны, столь же просто оценить максимальную
длину шага, который можно использовать при каждом порядке при
соблюдении требования точности. Локальные оценки
погрешности имеют порядки 4, 4 + 1 и 4 + 2 соответственно; поэтому
за оценку максимальных размеров шага можно принять
(6.9)
Ek-i\
После выбора порядка фактически используется несколько
меньший размер шага (во избежание большого количества
непринятых шагов). Из изложенного выше следует, что решение об
уменьшении порядка может быть принято после отказа от шага,
так как оно делается на основе предсказанных разностей (6.5).
На практике описанные выше стратегии изменяются в
некоторых важных отношениях на основе эвристических
соображений. Существует опасность того, что порядок станет слишком
большим, так как погрешности в значениях fr лишают
достаточно высокие производные всякого математического смысла.
Если порядок ошибочно выбран слишком большим, то разности,
фигурирующие в процессе выбора порядка, становятся
бессмысленными. Важны также те обстоятельства, что области
4 Зак. 1335
98 Часть 1. Задача Коши
абсолютной устойчивости быстро уменьшаются при увеличении
порядка и что методы более низкого порядка требуют меньше
вычислений.
Рекомендуется, следовательно, отдавать предпочтение
уменьшению порядка, и следует уменьшать его каждый раз, когда
это допустимо. Если порядок увеличивается до такой степени,
что высшие производные теряют смысл, то обычно в одной и
той же точке программой отвергается несколько шагов с
последовательно уменьшающейся длиной. Программа должна
обнаружить это и начать интегрирование заново, используя только
уп и fn. Разрыв в какой-либо производной решения может быть
причиной ошибочного поведения разностей, и порядок следует
уменьшить до такой степени, чтобы разности вели себя гладко.
Это самый трудный вопрос реализации. Однако хорошая схема
выбора порядка может быть основана на приведенных выше
основных доводах с включением в нее мер предосторожности.
Та же стратегия может быть принята для того варианта
метода переменного шага, в котором используются разделенные
разности или модифицированные разделенные разности. Однако
предсказываемая максимальная длина шагов (6.9)
реализуется только в том случае, когда длина предыдущих k шагов была
постоянной. На практике (6.9) все же используется в некоторых
программах. Для этого имеются следующие основания.
(i) Существенно лучшие оценки требуют слишком большого
объема вычислений.
(и) На практике не допускаются большие изменения длины
шага, и последняя часто сохраняется постоянной на протяжении
нескольких шагов, чтобы сэкономить на вычислении
коэффициентов gij\ хорошая стратегия состоит в том, чтобы проверить
потребность в увеличении шага только после k равных шагов
с порядком k.
(Hi) Выбирая длину шага несколько меньше, чем дают
формулы (6.9), можно получить хорошую схему выбора шага.
В случае когда применяется метод переменного порядка,
в принципе начало интегрирования не представляет трудностей.
Для этого используется (6.1) с k= 1 и требуется гораздо
меньший шаг, чем в большинстве дальнейших вычислений. Порядок
постепенно достигает оптимальной величины по мере
увеличения длины шага до максимально возможной. В течение первых
нескольких шагов необходимо ослабить ограничения на рост
порядка и длину шага. Это повышает эффективность, особенно
в случае сложной задачи с несколькими разрывами на отрезке
интегрирования, когда, возможно, требуется несколько раз
начинать интегрирование заново.
Суть метода переменного шага и переменного порядка не
столько в том, что эти величины могут изменяться, сколько в
Гл. в. Реализация линейных многошаговых методов 99
том, что их можно правильно выбрать автоматически. Для
большей части вычислений они не должны меняться сильно.
Программа является гибкой и меняется в зависимости от
характера решения.
7. ТЕОРИЯ ПРОГРАММ С ПЕРЕМЕННЫМ ШАГОМ
И ПЕРЕМЕННЫМ ПОРЯДКОМ
Мы рассмотрели два типа алгоритмов с использованием
методов Адамса. Один использует форму метода с фиксированным
шагом, причем изменение длины шага осуществляется
интерполяцией; это называется интерполяционным вариантом.
Другой, использующий форму с разделенными разностями,
называют просто вариантом с переменным шагом.
Эффект изменения шага по интерполяционной схеме
исследовал Крох [1973а]. Он показал, что уменьшение шага вдвое
при высоком порядке может вызвать увеличение погрешности!
Если при этом из-за слишком большой погрешности происходит
отказ от шага, то уменьшенный шаг также будет отвергнут.
Ситуация может быстро стать неуправляемой, несколько шагов
подряд будет отвергнуто в одной точке, и ухудшение разностей
вынудит начать интегрирование заново. Дадим здесь нестрогое
объяснение того, как это происходит.
Пусть величины fn, fn-u .-., /л-а+ь по которым строится
интерполяционный полином Pk,n(x)9 являются точными
значениями гладкой функции f(x) =f(xyу(х)).Допустим,что на (/1+1)-м
шаге (6.1) оцениваемая погрешность Ей слишком велика. Тогда,
как в § 4, длина шага уменьшается до h\ а интерполированные
значения
используются для образования новых разностей. Мы
рассматриваем случай, когда А'= ft/2, так что процесс может быть
пояснен рис. 1, где k = 7.
Величины fn, fn-2, fn-4 являются точными значениями f(x)r
но величины ]п-и /л-з, fn-5 содержат погрешности интерполяции.
Используя член погрешности в теории интерполяции, находим,,
что наибольшая погрешность ожидается в fn-\. Мы имеем в
этом случае
L
где б = 33-2-и « 2~6. Приближение производной разделенной
разностью назад приводит к результату
4*
100 Часть 1. Задача Коши
Если делается шаг половинной длины, то ожидаемое
значение седьмой разности назад, используемое в оценке
погрешности (6.1) (без учета погрешности интерполяции), составляет
(72)7V£/n+1, т. е. в 27 раз меньше, чем было получено для этой
разности, когда был отвергнут шаг длиной h. Уже одна
упомянутая выше погрешность в fn-\ вызывает возмущение
ожидаемого значения на величину 2b2~6V7/n. В этом случае
ожидаемая погрешность, вероятно, уменьшится, но уменьшится в 6 раз
вместо ожидаемых 256. (Если это уменьшение шага
недостаточно для удовлетворения ограничения на погрешность, то
дальнейшее уменьшение может ухудшить положение.) Для больших
значений k оценка погрешности скорее всего вырастет при
хп-6 хп-5 h~k Xn-Z хп-1 хп-\ хп
Рис. 1. Крестиками отмечены предыдущие значения, используемые до
уменьшения шага вдвое, квадратиками — предыдущие значения, используемые после
уменьшения шага.
уменьшении шага вдвое. Это слабая сторона интерполяционных
вариантов алгоритма. Крох [1973а] разработал варианты,
которые используются для сглаживания разностей на двух
шагах, следующих за уменьшением длины шага вдвое. Следует
ясно представлять себе, что достаточно малые изменения длины
шага не могут вызвать неустойчивость этого вида и что
большое увеличение, такое, как удвоение, возможно потому, что
в этом случае ожидается рост разностей.
Оставшаяся часть этого параграфа содержит краткий обзор
некоторых результатов Гира и Ту [1974], а также Гира и Вата-
набе [1974]. В указанных работах проводится подробное
исследование устойчивости и сходимости алгоритмов с переменным
шагом и переменным порядком, основанных на общих линейных
многошаговых методах.
Схема выбора шага для задачи (1.1) определяется функцией
8, такой, что
^/1+1 = № (хпу fy> hn+l =#«+1 — Xn,
где для всех /г > 0,
Гл. 6. Реализация линейных многошаговых методов 101
Если h стремится к нулю, то максимальная длина шага
также стремится к нулю.
Схема выбора порядка в данном случае представляет собой
просто некоторое правило R для определения, какой из
возможных порядков выбрать для следующего шага.
Этот метод сходится при заданных 8 и R> если численное
решение уп сходится к у(хп) для всех а < хп < b при Л-*0.
Классическое исследование сходимости проводилось для
случая 9(лс, /i)= 1 и при фиксированном порядке; см. гл. 2.
Приведенные ниже результаты относятся в равной степени к любым
предсказывающе-исправляющим алгоритмам с фиксированным
числом исправлений и к алгоритму исправления до сходимости,
если эти алгоритмы используют методы Адамса.
Теорема 1. Вариант с переменным шагом сходится при
любой схеме выбора шага 8 и любой схеме выбора порядка R.
Теорема 2. Интерполяционный вариант сходится при
любой схеме выбора шага 8 и схеме выбора порядка /?,
обладающей следующим свойством: существует конечная константа М,
такая, что среди любых М последовательных шагов найдется
некоторое количество k шагов постоянной длины, использующих
фиксированный ^-шаговый алгоритм.
Для доказательства сходимости интерполяционного
варианта, по-видимому, могут потребоваться некоторые
дополнительные условия. Практически из теоремы 2 следует, что в
конкретной реализации алгоритма после изменения порядка или длины
шага их следует сохранять постоянными на протяжении k
шагов. Однако этого не всегда можно добиться, так как
ограничение на величину погрешности может в любой точке вынудить
уменьшить длину шага.
Рассмотрение общеупотребительных схем выбора шага
приводит к результату другого рода. Метод Адамса
фиксированного порядка в интерполяционном варианте сходится при любой
схеме выбора шага 8, производящей небольшие изменения
в том смысле, что
^±1=1+О(Л) при А-*0. (7.1)
tin
Обычные методы выбора длины шага основаны на том, чтобы
сохранять локальную погрешность (или локальную погрешность
на единичный шаг) постоянной и такой, чтобы почти везде
удовлетворялось условие (7.1). Для доказательства сходимости при
переменном порядке по-прежнему необходимо сохранять
порядок постоянным на протяжении k шагов после его изменения.
Развитие теории методов Адамса с переменным шагом и
переменным порядком еще не завершено. В настоящее время
102 Часть /. Задача Коши
наилучшим, по-видимому, является вариант с переменным
шагом, использующий разделенные разности или
модифицированные разделенные разности. Основным доводом против него
является большой объем вычислений при нахождении переменных
коэффициентов на каждом шаге. Для систем уравнений этот
довод неубедителен. Интерполяционный вариант,
рассмотренный в этом разделе, также не представляет теоретических или
практических трудностей в связи с изменением шага и порядка.
Можно разработать превосходную программу с использованием
интерполяционного варианта, но осуществление ее сложнее и
принципиально менее ясно, чем в случае варианта с
переменным шагом.
7
МЕТОДЫ ЭКСТРАПОЛЯЦИИ
1. ВВЕДЕНИЕ
Экстраполяция уже упоминалась выше (см. гл. 3) в связи
как с локальными оценками погрешности, так и с глобальными
ее оценками. В таких оценках использовался только один шаг
экстраполяции. Например, если даны две аппроксимации вида
h = /о + ^i (Л)
и
то мы полагаем, что погрешности Ех и Е2 имеют, скажем,
следующий частный вид:
Используя эти два разложения погрешности, можно получить
улучшенное приближение к /о или по меньшей мере лучшую
оценку Ei(h).
Методы настоящей главы основаны на многократном
использовании этой формы экстраполяции на каждом шаге
интегрирования. Такая повторная экстраполяция называется
экстраполяцией Ричардсона. Чтобы подчеркнуть, что экстраполяция
используется на каждом шаге, ее часто называют локальной
экстраполяцией.
2. ЭКСТРАПОЛЯЦИЯ РИЧАРДСОНА
Стандартная процедура экстраполяции Ричардсона состоит
в исключении главных членов ряда
..., (2.1)
Гл. 7. Методы экстраполяции 103
который вычисляется для Л = Л«>0 (* = 0, ..., ш)\ здесь Л —
длина шага, малый параметр, который используется для
управления процессом вычисления. Используется алгоритм, часто
называемый алгоритмом Невилла и представленный в виде табл. 1.
pi,01
Таблица 1
Таблица заполняется столбец за столбцом, так что
^1 /-I--.. т.
/-1 ' ' = 0 т-/. (2'2)
Если Р[^(А) определяется при помощи замены в (2.2) Л^ и hi+f
на hi — h и Л/+/ —А, то, поскольку Pf1 (A) — константа,
очевидно, что Р[Р (А) представляет собой полином степени /, причем
т. е. Р1/](А) является интерполяционным полиномом. Таким
образом, Р[п — просто значение интерполяционного полинома,
определенного по F{ht), ..., F{hiJri) в точке А = 0. Отсюда
непосредственно следует, что погрешность в алгоритме
экстраполяции (2.2) дается формулой
Fo-Plil] = hihi+l...hi+fE[J]. (2.3)
Коэффициент Е[/] в остаточном члене может быть выражен
различными способами: как разделенная разность (Дэвис [1963])
или как
104 Часть /. Задача Коши
где If содержится в интервале (0, max (Аг ..., hi+j)). Обычно
последовательность {AJ берется в виде
{Ло, Ао/2, йо/4, Л0/8, /го/16, ...}, (2.4)
{Ао, Л0/2, Л0/3, йо/4, Ао/5, ...} (2.5)
или
{Ао, А0/2, А0/3, А0/4, А0/6, А0/8, А0/12, ...}, (2.6)
и, таким образом, остаточный член в (2.3) является величиной
О (/*>+')•
Последовательность (2.4) дает более точные результаты,
но требует и больших вычислений, так как уменьшение шага
вдвое всегда удваивает работу. Последовательность (2.5)
экономичнее в смысле объема вычислений, но приводит к
неустойчивой форме алгоритма экстраполяции, так как знаменатель
а
hi+\
стремится к нулю. Последовательность (2.6), предложенная
Булиршем и Штёром [1964], обладает преимуществами двух
предыдущих, поскольку она приводит к устойчивому алгоритму,
но не удваивает объема вычислений при добавлении к табл. 1
новой строки.
Следует подчеркнуть, что успешная работа алгоритма
экстраполяции (2.2) зависит от возможности разложения функции
F(h) в ряд (2.1). Если известно, что разложение имеет вид
F (Л) = Fo + Mv + p2A2v + р3Л3у + .... (2.7)
то можно извлечь пользу из этой информации и
модифицировать алгоритм. Именно, используем полиномы по ЬУ (обычно
Y = 2, иногда у = 4); тогда (2.2) принимает вид
i = 0, ..., m,
±lIfу 1'--->m' (28)
* = 0, ..., m
3. РАЦИОНАЛЬНАЯ ЭКСТРАПОЛЯЦИЯ
При 7 = 2 приближение (2.8) эквивалентно аппроксимации
полиномами по А2 последовательно возрастающих степеней.
В численном анализе во многих случаях получается, что если F
дается-формулами (2.8), то более точные приближения
достигаются при интерполяции рациональными функциями, а не по*
линомами. Булирш и Штёр [1964] разработали алгоритм
рациональной экстраполяции, основанный на интерполяции
Гл. 7. Методы экстраполяции
105
рациональными функциями и представленный здесь в виде
табл. 2.
Таблица 2
М0!
?l-ll
RY
p[l]
<0
-)12]
,1-1]
Ю1
\
г>№1
pin
Km-l
Элементы таблицы рациональной экстраполяции вычисляются
столбец за столбцом следующим образом (ср. (2.8)):
=1, .... /и,
= 0, ..., т,
/-П_ Ы/-И
£+1 ^/
(3.1)
С1 - да - *г ц)/да - ^-г.21)] -1'
/ = 1, ..., т, / = 0, ..., т — /.
Можно показать (Штёр [1961]), что Rl/] эквивалентно
приближению F (h) функциями вида
(/ четное),
(/ нечетное),
т. е. функциями -~
а0
a2h2
bo + b2h2 y bo + b2h2 ' Ф * * '
Другой способ вычисления /?{л предложил Уайтек [1971].
В -этом способе используются непрерывные дроби и требуется
меньший объем вычислений, но оказывается возможным найти
только те члены, для которых i + j четно.
106 Часть 1. Задача Коши
4. МЕТОД ГРЭГГА-БУЛИРША-ШТЁРА
Чтобы применить локальную экстраполяцию к решению
задачи Коши, необходимо использовать в качестве основы
интерполяции численный метод, для которого справедливо
асимптотическое разложение вида (2.7). Это значит, что если у(х) —
решение дифференциального уравнения, удовлетворяющее
условию у(хо) = уо, а уп (п = 0, 1, ..., N)—приближенное решение
в точках хп = Хо + nh при любом фиксированном X = х0 + Nh
(Nh = const), то приближенное решение y(X;h) имеет
разложение, скажем, вида
+ ... . (4.1)
Существование таких разложений использовалось без
доказательства в гл. 3 и в гл. 5, где погрешность аппроксимации
оценивалась по результатам сравнения численных результатов
после одного шага длины Л, для которого справедливо (4.1), с
соответствующими результатами после двух шагов длины А/2,
для которых разложение (4.1) записывается так:
у (X; Л/2) = у (X) + ft (Л/2)2 + & (Л/2)4 + ... .
Существование асимптотических разложений вида (4.1)
исследовал Грэгг [1965], показавший, что метод экстраполяции
нельзя основывать, например, на методе трапеций, так как
асимптотическое разложение (4.1) справедливо только тогда,
когда разностные уравнения решаются точно. Это, очевидно,
невозможно в общем случае, так как потребовалось бы
бесконечное количество коррекций. Грэгг показал, что
асимптотические разложения существуют, если используемый метод
симметричен,
Р {z) + zk9 (z~l) = o(z) - zko (z"J) = 0,
и если начальные значения выбраны правильно. Экстраполяция
не может быть основана на неявных симметричных методах по
причине, указанной выше для метода трапеций, и поэтому
наиболее распространенный алгоритм экстраполяции (Булирш и
Штёр [1966]) основан на простейшем явном симметричном
многошаговом методе прямоугольников:
Уп+2 = Уп + Ш (хп+ь уп+1). (4.2)
Грэгг показал, что симметрия сохраняется и разложение
(4.1) справедливо, если в качестве приближения к у(х) берется
y(X;h), где
у (X; h) = yN,
или
, yn),
Гл. 7. Методы экстраполяции 107
или (как обычно)
У (X; А) ='/»{Ун + Ун-х + hf (X, yN)}, (4.3)
причем дополнительное начальное значение задается формулой
У\=Уо + hf fa, Уо). (4.4)
Именно этот модифицированный метод прямоугольников
используется в методе экстраполяции, который называется
методом Грэгга — Булирша — Штёра (или, короче, методом GBS).
Программы, основанные на методе GBS, были опубликованы на
Алголе-60 Булиршем и Штёром [1966], а на Фортране
Фоксом [1971] и Гиром [1971b]. Штёр [1974] показал, что эти
программы можно значительно улучшить.
Грэгг [1965] заметил, что алгоритм экстраполяции (2.8)
(или (2.2)) с F(hi) = y(X; hi), определенный формулами
(4.2) — (4.4), эквивалентен методу Рунге—Кутты, если
основная длина шага Nh и порядок экстраполяции фиксированы.
Отсюда следует, что устойчивость численного метода при таких
условиях гарантирована. Как показал Штеттер (см. Лэмберт
[1973]), полиномиальная экстраполяция обладает свойством
слабой устойчивости, что выгодно отличает ее от других
методов.
5. РЕАЛИЗАЦИЯ РЕКУРРЕНТНЫХ ФОРМУЛ
Формула экстраполяции (3.1) эквивалентна соотношению
Hi =/w+i + Di , (5.1)
и после перегруппировки разностей получаем
/>[/-ИпгГ/-1|
где
W\l] = R[/]-R\4u
W[l]=C\l]-D\'lu (5.3)
Формулу экстраполяции (3.1) можно записать в виде
108 Часть 1. Задача Коши
откуда следует, что С1/1 дается рекуррентной формулой
th ih \д1Ы/и
w/l _ (ni/ni+n Di wi+\ „ л,
(n/n) U C
th ih \2
(ni/ni+n
i
Таким образом, алгоритм записывается в следующем виде:
сначала находятся
Cf = D?] = y(X; Ы)9 / = 0, ..., m,
и
а затем D1/1, С1/1 и W[/] (/=1, ..., m; /==0, ..., m —/)
определяются формулами (5.2), (5.4) и (5.3) соответственно.
Порядок вычислений показан в табл. 3.
Таблица 3
Нет необходимости запоминать промежуточные значения
C[k~k], поскольку Dk~h] и C[k~k] зависят только от Clk+}~k]
(k=l, ..., i—1) и ни от чего иного; нужно помнить лишь
массив, содержащий значения D]l~h\ которые требуются для
вычисления DJ/"*"1"*1 и W{l+l~k] (k=l, ..., /+1). Искомые
экстраполированные значения R\I] можно найти по формуле
/#-*'= Е/Г".
l-k
6. ВЫБОР ШАГА
Экстраполяцию можно рассматривать как метод с
переменным порядком (столбцы таблицы), переменным шагом
интегрирования (имеется в виду основной шаг интегрирования Ло) и
переменным числом этапов (строки таблицы). Поэтому при
практическом применении метода возникает проблема выбора:
требуемую точность можно обеспечить либо увеличением
порядка метода, либо увеличением числа этапов, либо уменьше-
Гл. 7. Методы экстраполяции 109
нием длины шага. Поскольку с увеличением порядка
экстраполяции возрастает влияние погрешностей округления, при
первой реализации метода (на машине с 40 двоичными знаками
мантиссы, см. Булирш и Штёр [1966]) порядок метода не
превышал 6 (Мл; /<[б). В последующих работах (Фокс
[1971], Гир [1971b]) в качестве стандарта также
использовался указанный предел.
Первоначальный способ выбора шага интегрирования был
довольно грубым, однако, как показала работа Халла с
соавторами [1972], на практике он проявил себя с самой лучшей
стороны. (Подробнее результаты сравнения различных методов
будут обсуждаться в следующей главе.) Если требуемая точность
достигается при порядке экстраполяции строго меньше шести,
т. е. если при некотором i < 6 и 1 ^ k ^ i имеет место
неравенство
(-l/s) IJ??-»1-/*-»-" |< в, (6.1)
где е — заданная точность, as» max \y(x)\9 то длина ос-
Х€=[Х9 X)
новного шага интегрирования увеличивается. Новое значение
основного шага интегрирования Ло рекомендуется (правда, без
каких-либо обоснований) взять равным
Л6= 1.БЛо. - (6.2)
Напротив, если требуемая точность не достигается после
девяти этапов, т. е. если
то длина основного шага интегрирования уменьшается вдвое,
после чего экстраполяция повторяется. Если требуемая
точность достигается после m этапов (6</п^9), то
рекомендуется несколько изменить длину следующего шага
интегрирования. Грэгг [1965] показал, что порядок погрешности в
R[m-6 составляет О(Лт-б... h2m) (сравните с (2.3)), поэтому
если новая длина основного шага выбирается так, чтобы
обеспечить достаточную точность следующего значения pf£\ то fi[
должно определяться из условия
(AS ... Ае)2« (А*-е ... hmf.
Если последовательность {А/} задается в виде (2.6), то
и, следовательно, новая длина основного шага вычисляется по
формуле
т6/г0. (6.3)
110 Часть 1. Задача Коши
В более позднем варианте (Штёр [1974]) достигнуто
существенное улучшение алгоритма, особенно в применении к тем
задачам, где требуется значительное изменение шага
интегрирования, однако текст программы до сих пор не опубликован;
сообщается, что он подготовлен к публикации в журнале Nume-
rische Mathernatik. Основные изменения алгоритма состоят в
следующем.
(а) Максимальный порядок экстраполяции не задается
равным шести, а вычисляется по формуле
2.51
Г
где символ [ ] означает «целая часть», а р — требуемое число
значащих цифр (т. е. е= Ю~р).
(Ь) Если требуемая точность достигается при порядке
экстраполяции, строго меньшем /, т. е. если имеет место
соотношение
№\№-$-"]*£*М-2), /</,
где щ = Ао/Л/, то рекомендуемая величина основного шага
интегрирования увеличивается. В то же время, если требуемая
точность реализуется после /(>/) этапов, т. е. если
выполняется неравенство
то рекомендуемая длина основного шага интегрирования
уменьшается. Довольно сложные формулы изменения шага
приводятся в работе Штёра [1974].
(с) Если метод сходится слишком медленно, то
экстраполяция повторяется с меньшим значением Ао (подробности можно
найти в указанной выше работе Штёра).
8
ПРОГРАММЫ ПРОВЕРКИ И СРАВНЕНИЯ МЕТОДОВ
. ВВЕДЕНИЕ
При оценке качества методов можно принимать во
внимание много факторов, причем для различных пользователей
сравнительная важность этих факторов не одинакова. Крох [1972]
перечисляет 87 пунктов, которые следовало бы учитывать при
оценке качества программ, предназначенных для
интегрирования обыкновенных дифференциальных уравнений. Основные из
них рассматриваются в данной главе.
Гл. 8. Программы проверки и сравнения методов И!
Совершенно очевидно, что особенно важна надежность
метода. Метод можно считать надежным, если он позволяет
получать решение с требуемой точностью во всех случаях, когда это
возможно. Это свойство можно «доказать» двумя способами:
(i) проведя тщательную проверку на исчерпывающем наборе
модельных задач, (и) теоретически исследуя как общие
вопросы аппроксимации, так и их конкретную реализацию в
используемом алгоритме. Некоторые современные методы
характеризуются сложной схемой вычислений, и трудно разработать
их теорию, однако в этом направлении уже имеются некоторые
успехи. Далее, метод должен быть разумен в том смысле, что
он должен обеспечивать получение решения только в случае
правильно поставленной задачи. Если при вычислениях на
какой-либо конкретной машине требуемая точность слишком
высока для существующей длины машинного слова, то такая
ситуация должна распознаваться и сопровождаться
соответствующим сообщением.
Такую же важность имеет вопрос разумной эффективности
метода. Для того чтобы выяснить, каким методом можно за
кратчайшее время решить ту или иную задачу, требуется
всесторонняя проверка методов на различных модельных задачах.
Необходимо обеспечить простоту использования метода,
поскольку нельзя пренебрегать вкладом человеческого труда в
общую стоимость решения задачи. Не вызывает сомнений
важность создания таких методов, которые предоставляют
опытному пользователю широкий простор свободы действий, в
частности позволяют ему модифицировать программу
вычислений, а также выбирать шаг или метод интегрирования.
Удобство использования программы в значительной мере зависит от
сопроводительной документации.
Многие факторы, которые могут быть учтены при сравнении
методов, невозможно описать количественно. Но в то же время
такие основные характеристики, как надежность и
эффективность применительно к конкретному классу задач, можно
рассматривать с количественной точки зрения.
2. ПРОВЕРКА МЕТОДОВ
Крох [1973b] приводит подробное описание схемы проверки
методов. Идея его подхода состоит в том, что метод
испытывают в различных предельных ситуациях и изучают его рабочие
характеристики как при этих, так и при промежуточных
условиях. Опишем основные особенности этой схемы.
Схема включает набор из четырнадцати задач,
относящихся к обыкновенным дифференциальным уравнениям, причем
каждая из этих задач выбрана по вполне определенным
112 Часть 1. Задача Коша
соображениям. В этом наборе имеются задачи, в которых на
одной части отрезка интегрирования размер шага лимитируется
достижением требуемой локальной точности, а на остальной
части ограничения на шаг диктуются требованиями
устойчивости. В одной задаче нужно часто менять шаг интегрирования,
в другой длина шага должна оставаться постоянной. В
некоторых задачах необходимо следить за абсолютной погрешностью,
в других — за относительной.
Каждую задачу следует решать с заданной локальной
точностью 10s, 5=1, 0, —1, ..., —20, на ЭВМ приблизительно
с 18 десятичными разрядами. Внешние ограничения на
величину шага интегрирования на накладываются, ибо
проверяется, в частности, способность алгоритма самостоятельно
выбирать шаг интегрирования (в некоторых программах требуется,
чтобы максимальное значение шага интегрирования задавалось
пользователем, однако во многих случаях пользователю очень
трудно сделать правильный выбор). Вывод решения на печать
требуется производить в трех точках отрезка интегрирования.
Статистической обработке подвергаются погрешность
решения в каждой выдаваемой точке (абсолютная или
относительная в соответствии с требованиями) и количество вычислений
правых частей дифференциальных уравнений (производных)
для каждой задачи и каждой заданной точности. Полученные
данные позволяют ответить на ряд важных вопросов, среди
которых можно указать следующие.
(i) Меньше ли полная погрешность задаваемой
пользователем допустимой погрешности?
(и) Непрерывно ли уменьшается полная погрешность при
уменьшении задаваемой пользователем допустимой
погрешности? Этот вопрос важен для оценки полной погрешности при
практических расчетах, которая часто находится путем интег-
>рирования уравнений с разной заданной точностью.
(ill) Правильно ли работает программа, когда требуется
слишком высокая точность?
(iv) Устойчиво ли работает программа, когда требуется
получить решение с очень малой точностью?
Одним из показателей эффективности метода можно
считать количество вычислений правой части дифференциальных
уравнений, причем этот фактор особенно важен для задач, в
которых такие вычисления достаточно трудоемки. Описанная
выше проверка весьма громоздка, что, впрочем, вполне
оправдывается отсутствием соответствующей теории.
Аналогичная проверка ряда методов проводилась и
другими практиками, например, в Манчестере в связи с
разработкой программ для Библиотеки стандартных программ NAG
(см. Уолш [1974]).
Гл. 8. Программы проверки и сравнения методов 113
Если на указанные выше вопросы получены утвердительные
ответы, то в известной мере можно быть уверенным в
надежности и разумности метода. Идея Кроха — попытаться создать
некий стандартный набор модельных задач и некую
стандартную форму представления проверки —оказалась весьма
плодотворной.
3. СРАВНЕНИЕ МЕТОДОВ. ПРОГРАММА DETEST
Несколько иной подход к этой проблеме был использован
в работе Халла, Энрайта, Феллена и Седгвика [1972] при
сравнении характеристик различных методов. По мере накопления
практического опыта методика сравнения модифицировалась
(Энрайт, Беде, Фаркас и Халл [1973]). Процесс сравнения был
полностью автоматизирован в результате разработки
программы DETEST, которая проводила соответствующую проверку.
Программа DETEST описана в работе Холла, Энрайта,
Халла и Седгвика [1973], что сделало ее доступной. Эта
программа включает 25 систем дифференциальных уравнений, каждая
из которых решается при трех уровнях точности
(идентификатор TOL): 10"3, 10~6, 10~9. Для каждого из указанных 75
вариантов программа DETEST выдает на печать одну строку
первичных данных, которые используются для оценки надежности
и эффективности. Эта строка содержит следующие данные.
(i ) Время — полное время интегрирования по всему
отрезку.
(п) Время на дополнительные вычисления (overhead) —
разность между полным временем и временем вычисления
правых частей (производных).
(ш) Число вычислений правых частей.
(iv) Число шагов интегрирования.
(v) Максимальная погрешность. Программа DETEST
вычисляет на п-м шаге метода, hn = xn — #л-ь истинную локальную
погрешность 1п (см. гл. 1). Программа DETEST предназначена
для проверки тех методов, в которых оценивается локальная
погрешность, отнесенная к единичному шагу, и обеспечивается
ее ограниченность заданной точностью (TOL). В соответствии
с этим максимальная погрешность определяется так:
hn-TOL'
(vi) Доля шагов интегрирования, на которых выполняется
неравенство \ln\ > hn-TOL.
(vii) Доля шагов интегрирования, на которых выполняется
неравенство \ln\ > 5/irt-TOL.
114 Часть 1. Задача Коши
Не предпринимались никакие попытки исследовать полную
погрешность. При проверке надежности программы
используется следующий подход: поскольку при практической
реализации методов пытаются регулировать величину локальной
погрешности, метод можно считать надежным, если он удачно
с этим справляется. Если придерживаться такого подхода, то
естественно требовать, чтобы программа регулировала
величину погрешности, отнесенную к единичному шагу
интегрирования. При достаточно высокой заданной точности указанный
подход к регулированию погрешности для многих задач
обеспечивает решения с почти одинаковой полной погрешностью
даже в том случае, когда в различных методах используется"
разное число шагов. Например, если задача
решается методом рядов Тейлора порядка р при
(a) оценке погрешности, отнесенной к единичному шагу
интегрирования,
(b) оценке погрешности на шаге интегрирования,
то можно показать, что при достаточно малых значениях
параметра TOL погрешность можно аппроксимировать следующими
выражениями:
(Ю
В варианте (а) погрешность одинакова при любом значении
р; например, при TOL = 10~5 метод Эйлера требует около
38000 шагов и при х=1 полная погрешность составляет
0.60-10~5. Метод рядов Тейлора второго порядка требует
160 шагов при полной погрешности 0.59-10~5. Полученные
числа хорошо согласуются с ожидаемыми значениями.
DETEST — превосходная программа для сопоставления
различных методов; она обеспечивает получение точных данных об
экономичности метода, причем приводятся сведения о затратах
как на вычисление правых частей, так и на дополнительные
вычисления, связанные с самим методом интегрирования. Однако
использование этой программы не означает, что можно
отвергнуть проверку методов, описанную в § 2. Подобные проверки
обычно приводят к необходимости в практических расчетах
отдавать предпочтение контролю погрешности на каждом шаге.
В то же время работы, выполненные Яном Гладуэллом в
Манчестере, ясно показали, что при некоторых значениях
задаваемой точности может возникнуть ситуация, когда программа
DETEST характеризует метод как надежный, тогда как он приво-
Гл. 8. Программы проверки и сравнения методов 115
дит к получению весьма неудовлетворительных результатов в
отношении полной точности, достигаемой в тех же модельных
задачах. Такое положение дел, вероятно, связано с
используемой формой контроля погрешности.
При сопоставлении основных типов методов (Энрайт с
соавторами [1973]) были получены следующие важнейшие
характеристики, которые нашли подтверждение в других работах
(Уолш [1974]).
(1) Метод Адамса переменного порядка. Методы этого типа
требуют значительно меньшего количества вычислений правой
части, чем все прочие методы, и их следует всегда использовать
в тех случаях, когда эти вычисления трудоемки (более чем
25 арифметических действий на каждую производную). В этих
методах требуется больше дополнительных вычислений, чем в
методах Рунге—Кутты. Из результатов работы Энрайта с
соавторами [1974] следует, что методы Адамса реализуются
наиболее эффективно при использовании разделенных разностей.
(2) Методы Рунге — Кутты. Проверка многочисленных
методов этого класса посредством программы DETEST показала,
что наиболее многообещающим является метод Фельберга с
соответствующим способом оценки погрешности (см. гл. 3).
Если вычисление правых частей уравнений не слишком
трудоемко, то для подобных методов полное время интегрирования
минимально. Метод Рунге — Кутты четвертого порядка
точности весьма прост и наиболее эффективен в обычных расчетах
со сравнительно невысокой точностью.
(3) Метод экстраполяции Грэгга — Булирша — Штёра.
Приложения данного метода, по-видимому, пока еще не
разработаны в той степени, как для других методов интегрирования.
Тем не менее он представляется достаточно перспективным,
особенно при расчетах с высокой точностью.
4. ЗАКЛЮЧЕНИЕ
Автор данной главы считает, что в будущем наиболее
употребительными станут методы, полученные дальнейшей
разработкой методов Адамса переменного порядка. При правильном
выборе порядка методы Адамса могут быть эффективными в
широком интервале значений точности интегрирования.
Пользователю проще работать с такими методами, поскольку ему
не приходится выбирать порядок.
Используя интерполяцию, можно легко получать решение
в выдаваемых точках, не накладывая при этом ограничений
на шаг интегрирования. Можно разработать специальные
высокоэффективные процедуры вычисления начальных значений.
Эти методы легко обобщаются на случай уравнений высшего
116 Часть 1. Задача Коши
порядка. Их можно включать в состав более общих программ,
которые содержат также методы решения жестких систем
обыкновенных дифференциальных, уравнений, для чего следует
усовершенствовать процедуру интерполяции.
Легко реализовать алгоритм, в котором порядок метода и
сам метод различны для различных уравнений системы.
Основная (и очень трудная) проблема в реализации этих методов
заключается в том, чтобы быстро и правильно автоматически
выбирать метод, порядок метода и шаг интегрирования, причем
для надежности следует избегать частой смены избранного
варианта.
Часть 2
ЖЕСТКИЕ ЗАДАЧИ
9
ВВЕДЕНИЕ В ТЕОРИЮ ЖЕСТКИХ ЗАДАЧ
В первой главе о жестких уравнениях мы попытаемся
определить, что означает термин «жесткость», и описать
основную проблему численной устойчивости для жестких систем.
Будут рассмотрены некоторые общие характерные черты
применения устойчивых .неявных методов Рунге—Кутты и линейных,
многошаговых методов для решения жестких систем.
1. ЖЕСТКАЯ ЗАДАЧА КОШИ. КОЭФФИЦИЕНТ ЖЕСТКОСТИ
Жесткость является свойством математической задачи (а
нечисленного метода). Мы будем рассматривать задачу Коши для
системы 5 обыкновенных дифференциальных уравнений
первого порядка
y'-f(x,y) = 0, (1.1)
в общем случае нелинейных, и обозначим через у(х), х е
е [а, Ь], точное решение уравнений (1.1), удовлетворяющее
заданным начальным условиям у(а) = уо-
Для того чтобы определить, является ли данная задача
Коши жесткой, нам необходимы некоторые сведения о
поведении решений уравнений (1.1) в окрестности частного решения
у(х). В такой окрестности уравнения (1.1) можно хорошо
аппроксимировать линеаризованными уравнениями
У' -Цх){у-у (х)} -f(x, у (х)) = 0, (1.2)
где 1 (х) —матрица Якоби, составленная из вычисленных в
точке (х,у(х))частных производных df/dy. Если изменение J(x)
на некотором интервале х достаточно мало, то локальные
фундаментальные решения (1.2) приближенно равны е%*х, где Л,,- =
— fa(x)—локальные собственные значения матрицы Якоби.
J(x) (которые предполагаются различными).
118 Часть 2. Жесткие задачи
Таким образом, решение у уравнений (1.1) в окрестности
точного решения у(х) представляется в виде
ужу(х)+£с{ек'%, (1.3)
где ct — постоянные, а £*• — собственные векторы матрицы J(x).
Фундаментальное решение еХ(Х характеризует локальный
отклик системы на малые изменения или возмущения у(х). Мы
будем предполагать, что система локально устойчива, так что
<0, i = lf 2, ..., s,
*и нестационарные фундаментальные решения затухают с
увеличением х со скоростью, пропорциональной величине
которая называется локальной «временной постоянной» си-
чггемы. Мерой жесткости задачи является интервал, в котором
.заключены ее локальные «временные постоянные».
Определение 1 (Лэмберт [1973]). Задача Коши
У' - f (х, у) = 0, у (а) = у0, * es [а, Ь],
называется жесткой в некотором интервале / с: [а, Ь], если для
/
(1) Re (*,)<<>, /=1, 2, ..., s,
и
(2) S(x)= max Re(— Х()/ min Re(—
/1 / *
•где kt — собственные значения df/ду, в которые подставлено
решение у{х) в точке х.
Отношение S(x) можно назвать (локальным)
«коэффициентом жесткости» задачи (Лэмберт [1973]). Задачу можно все
еще считать жесткой, если S(x) является величиной О(10),
однако в практических задачах, возникающих в таких областях,
как химическая кинетика, процессы управления и теория
электрических цепей, коэффициенты жесткости зачастую достигают
величины О(106).
Жесткую задачу некоторые авторы называют «задачей с
сильно различающимися временными постоянными» или
«системой с большой константой Липшица». Если производные df/dy
непрерывны и ограничены, то константа Липшица определяется
как
L = \\df/dy\\>p(df/dy)9
где спектральный радиус р равен
р= max |A/|.
*l
Гл. 9. Введение в теорию жестких задач
2. УСТОЙЧИВОСТЬ ДЛЯ ЖЕСТКИХ ЗАДАЧ
Теперь рассмотрим трудности, которые возникают при
попытке получить численное приближение к решению у(х)
жесткой задачи. Основной проблемой является здесь проблема
численной устойчивости.
Для того чтобы обеспечить абсолютную устойчивость
численного решения системы уравнений (1.1), необходимо
использовать такой шаг А, при котором каждое из (комплексных)
значений hi = hXi (/=1, 2, ..., s), где ki — собственные
значения /(#), лежало бы внутри области абсолютной устойчивости..
Таким образом, для методов с ограниченной областью
абсолютной устойчивости длина шага лимитируется порядком
величины наименьшей временной постоянной системы. Поскольку
интервал интегрирования может во много раз превосходить
величину наибольшей временной постоянной, необходимое число-
шагов интегрирования может оказаться сравнимым с
коэффициентом жесткости системы.
Для того чтобы устранить это ограничение длины шага,
обусловленное требованием устойчивости, были рассмотрены
численные методы, для которых область абсолютной устойчивости:
простирается до бесконечности в полуплоскости Re(AA,)<0.
Предложено несколько удобных для жестких систем
определений устойчивости.
Определение 2 (Далквист [1963]). Численный метод
называется А-устойчивым, если его область абсолютной
устойчивости включает всю полуплоскость Re (АХ) < 0.
Понятие Л-устойчивости было сначала сформулировано для
линейных многошаговых методов, но было доказано, что для
таких методов оно является слишком ограничительным
требованием. Далквист [1963] также доказал, что явный линейный
многошаговый метод не может быть Л-устойчивым и что
порядок неявного линейного многошагового метода не может
превосходить двух, причем наиболее точным из таких методов
является метод трапеций. Вследствие этого понятие Л-устойчиво-
сти широко использовалось при изучении неявных одношаговых:
методов (Эйле [1968], Аксельссон [1969], Чипмен [1971а]), a
также различных обобщений явных методов Рунге — Кутты и
линейных многошаговых методов (Тринор [1966], Нёрсетг
[1969b], Лэмберт и Сигурдссон [1972]). Было доказано, что-
для многошаговых методов значительно полезнее некоторые
менее ограничительные требования к устойчивости.
Определение 3 (Видлунд [1967]). Численный метод
называется А (а)-устойчивым, ае(0, я/2), если его область
абсолютной устойчивости включает бесконечный клин |arg(—Я)|<
120
Часть 2. Жесткие задачи
<а (рис. 1). Метод называется Л (0)-устойчивым, если он
Л (а)-устойчив для некоторого (достаточно малого) а£(0,я/2),
Заметим, что в приведенном выше определении данное
собственное значение К лежит или внутри клина или вне его
независимо от величины используемого положительного шага.
Видлунд доказал, что явный линейный многошаговый метод не
может быть Л (0)-устойчивым и что существуют неявные
линейные многошаговые методы порядков 3 и 4, А(а)-устойчивые
для любого а < я/2.
В приведенных выше определениях речь шла только об
устойчивости. Гир [1969, 1971b] дал определение более сложного
Плоскость hX
Рис. 1. Л (а)-устойчивость (Видлунд [1967J). Штриховкой выделена область
абсолютной устойчивости
свойства, включающего в себя как устойчивость, так и точность
приближений к экспоненциальному фундаментальному
решению.
Определение 4. Метод называется жестко устойчивым,
если он
(a) абсолютно устойчив в области R\ (Re(hX)^ D) и
(b) точен в области R2(D < Re(hX)< a, \lm(hX)\<Q)
«(см. рис. 2).
Это определение требует некоторых пояснений. Если
решение у(х) содержит нестационарные фундаментальные решения
е%1х, то те из них, которые имеют малые временные постоянные,
быстро затухают и становятся пренебрежимо малыми, в то
время как фундаментальные решения с большими временными
Гл. 9. Введение в теорию жестких задач
\2\
постоянными могут внести в решение существенный вклад. При
использовании жестко устойчивого метода длину шага А
можно выбирать так, чтобы пренебрежимо малые (иногда
называемые паразитными) фундаментальные решения устойчиво
аппроксимировались при hk^Ru тогда как для существенных,
фундаментальных решений с большими временными
постоянными условие hk e R2 гарантирует точность аппроксимации.
Гир в своем определении допускает также существование
фундаментальных решений с малыми положительными действи-
Плоскость /?Л
Рис 2. Жесткая устойчивость (Гир [1971b]).
тельными частями 0<Re(M)<a, которые могут локально>
появляться в нелинейных системах.
В некоторых отношениях свойство Л-устойчивости является
недостаточно точным, и исследование Л-устойчивых одношаго-
вых методов потребовало введения дополнительных понятий
устойчивости. Одношаговый метод, применяемый к уравнению
у'— ку = 0, дает приближение
к решению
и Л-устойчивость гарантирует, что \Q(hk)\<. l для всех
Re(AX)<0. Однако для многих одношаговых Л-устойчивых.
122 Часть 2. Жесткие задачи
(методов Q(hX) таково, что
|Q(ft*,)|->l при
в результате чего численные приближения к быстро затухаю-
.щим фундаментальным решениям с очень малыми временными
постоянными могут затухать очень медленно. Известно, что
такое неприятное свойство присуще методу трапеций (Розенброк
[1963]). Это приводит к тому, что определяется некоторое
дополнительное свойство, которое называют по-разному: L-устой-
чивостью (Эйле [1969], Лэмберт [1973]), жесткой Л-устойчи-
востью (Аксельссон [1969]) и сильной Л-устойчивостью (Чип-
мен [1971а], Аксельссон [1972]).
Определение 5. Одношаговый метод называется L-yc-
тойчивым, если он Л-устойчив и если для уравнения у' — Ху = 0*
с Re(A,)<0 он дает уп+\ =*Q(hX)yn, где \Q(hK)\-+O при
R(M)
Гурли [1970] заметил также, что одношаговые методы с
(AX)|1 при Re(AX)-*—оо могут оказаться
неустойчивыми, если их использовать для решения модельного уравнения
/-*,(*)* = 0, (2Л)
предназначенного для исследования линеаризованных
уравнений (1.2). Он предложил модификацию метода трапеций,
которая всегда устойчива в применении к уравнению (2.1).
Другое обобщение модельного уравнения у' — Ху = 0,
предназначенное для нелинейных систем, представляет собой
следующую скалярную форму уравнений (1.2):
у'-К(у-у(Х)) -f(x, у(*)) = 0. (2.2)
Решение этого уравнения при помощи одношаговых методов
приводит к разностному уравнению вида
hky y(x)). (2.3)
Протеро и Робинсон [1974] ввели понятие S-устойчивости,
которое является обобщением понятия Л-устойчивости для
уравнений (2.2) и в котором проверяется асимптотическая
точность одношаговых методов в пределе при |АА,|->-оо. Таким
образом, асимптотическое выражение погрешности метода
трапеций имеет вид
тогда как для очень близкого неявного метода
прямоугольников
Гл. 9. Введение в теорию жестких задач 12&
Одношаговые методы, для которых р->0 при |ЛА,|—юо,
называются жестко точными.
3. НЕЯВНЫЕ МЕТОДЫ
Для того чтобы некоторый классический линейный
многошаговый или одношаговый метод обладал свойствами Л-устой-
чивости или жесткой устойчивости, обсуждавшимися в преды-
дущем параграфе, необходимо, чтобы этот метод был неявным.
Применение произвольного неявного линейного многошагового-
метода
к к
Т"Ч V"^
\ t% \ Q f f\ *s> 1 Ct / f\ /Q 1 V
Zj a/I/rt + / — "• La Pj! n + j == "» ^Jfe^^*» Pk *T= U, Vе5»*/'
/—0 /e0
к нелинейной системе (1.1) приводит к системе s нелинейных,
уравнений
Уп+к - Ш (хя+л> Уя+А) - g = 0 (3.2)-
(g — заданный вектор) относительно неизвестного вектора
tjn+k, который необходимо определять на каждом шаге
интегрирования. Свойства устойчивости метода (3.1) могут быть лишь
усилены применением сходящегося итерационного процесса для
решения уравнений (3.2). Простая итерация вида
/7<m+l) = /,ft f (у u{m) \ а т = 0 1
Уп+k —"Pfe/ \xn+k> Уп\к) 8* m — и> Ь.-.э
практически неприемлема, так как для сходимости следует
потребовать выполнения условия
где L — константа Липшица функции f(x,y) относительно уу.
г для жестких систем это условие сходимости накладывает на
величину шага столь же сильное ограничение, как то, которого
мы старались избежать.
Для решения нелинейных уравнений оказался эффективным
метод Ньютона — Рафсона (Гир [1969], Линигер и Уиллаби
[1970]). В применении к уравнениям (3.2) этот метод на
каждой итерации дает систему линейных уравнений
где /(m) = -qL- (xn+k, у^ь). Достаточные (но более сложные)
условия сходимости метода Ньютона — Рафсона были
сформулированы Л. В. Канторовичем (см., например, Хенричи [1962] *)).
1) См. также Канторович Л. В., Акилов Г. П. [1959]. — Прим. ред.
124 Часть 2. Жесткие задачи
На практике нередко можно добиться сходимости безо всяких
ограничений на длину шага при условии, что, используя
отдельную предсказывающую формулу, можно получить хорошее
начальное приближение y®\.k.
Для больших систем дифференциальных уравнений метод
'Ньютона — Рафсона может сходиться очень медленно, так как
в нем на каждой итерации требуется новое вычисление
матрицы Якоби и решение линейной системы (3.3). С целью
экономии времени обычно используется модифицированная
процедура Ньютона — Рафсона, в которой вычисление матрицы
Якоби и факторизация матрицы {/ — Лр*/(0)} в виде LU
выполняются лишь при первой итерации (пг = 0) на некотором шаге
интегрирования и используются при последующих итерациях.
В действительности часто можно использовать одну и ту же
итерационную матрицу для нескольких шагов интегрирования,
пока ухудшение сходимости за конечное число итераций не
укажет, что необходимо вычислить ее заново. Линигер [1971]
описал ряд сходящихся итерационных процессов, необходимых для
достижения заданного порядка точности при решении
нелинейных уравнений (3.2).
Точность предсказанных значений y®\.k, используемых для
начала итерационного процесса Ньютона — Рафсона, может
оказывать заметное влияние на нужное для сходимости число
итераций и на то, сколько раз придется заново вычислять
итерационную матрицу. Робертсон и Уилльямс [1975] показали,
что использование в предсказывающей формуле
предварительно вычисленных значений при наличии фундаментальных
решений еКх с большими Re(—h%) может привести к потере
точности. Они рекомендовали получать предсказанные значения при
помощи экстраполяции предыдущих значений лишь решения у.
Так как разность между предсказанными значениями y^+k и
решением yn+k часто используется для оценки погрешности
аппроксимации, необходимой для проверки точности и для
выбора шага, важно, чтобы точность предсказывающей формулы
не ухудшалась из-за членов, не существенных в решении.
Важна также эффективность процедур вычисления матрицы
Якоби, факторизации этой матрицы или ее обращения.
Частные производные df/dy часто приближаются разделенными
разностями вперед:
тде в\ есть у-й орт, б/— некоторое приращение. В этой
процедуре требуется s + 1 вычислений s производных функции /. Кер-
тис и Рейд [1974] рассмотрели задачу выбора приращений б/,
Гл. 9. Введение в теорию жестких задач 125
минимизирующих погрешность аппроксимации и погрешность
округления, но их предложение использовать для проверки
точности центральные разности вместе с разностями вперед
приводит к необходимости 2s + 1 вычислений функции /. Кертис,
Пауэлл и Рейд [1974] указали, что постоянные элементы
матрицы Якоби не надо вычислять заново, в то время как
переменные элементы, появляющиеся из-за нелинейности функции f,
иногда могут составлять редко заполненную матрицу.
Используя разреженность матрицы, часто можно понизить число
вычислений функции f с 5+ 1 до пг+ 1, где пг — наибольшее
число ненулевых элементов в строке матрицы Якоби /.
Специальные процедуры можно использовать также для ленточных
матриц Якоби, получающихся в результате дискретизации
уравнений в частных производных параболического типа.
4. СПОСОБЫ ВЫБОРА ШАГА
При использовании численного метода, который обладает
надлежащим свойством Л-устойчивости или жесткой
устойчивости, длина шага h не должна быть ограничена из-за
устойчивости или, как можно было бы ожидать, из-за какого-либо
требования сходимости итерационного процесса решения
неявных уравнений. Таким образом, выбор шага может быть
обусловлен лишь требуемой точностью решения. При решении
жестких систем обычно используются два способа выбора шага.
(1) Если влияние на решение нестационарных
фундаментальных решений с малыми временными постоянными не
представляет интереса, то начальный шаг можно выбирать большим
по сравнению с малыми временными постоянными. При
вычислении решения на больших интервалах не пытаются точно
аппроксимировать «кратковременные» нестационарные
фундаментальные решения и устойчивость метода обеспечивается
подавлением этих решений. При этом для скорейшего подавления
быстрее всего меняющихся нестационарных фундаментальных
решений особенно полезно свойство L-устойчивости.
(2) Если в решении требуется точное представление быстро
меняющихся фундаментальных решений, то начальная
величина шага должна быть сравнима с наименьшими временными
постоянными. Поскольку очень быстро меняющиеся
фундаментальные решения затухают достаточно сильно (как было
указано при обсуждении понятия жесткой устойчивости Гира),
шаг можно увеличить до значения, сравнимого с наименьшей
временной постоянной существенного фундаментального
решения. Для эффективного использования этого способа
необходима возможность легко менять шаг в соответствии с оценками
погрешности аппроксимации.
126
Часть 2. Жесткие задачи
5. ИЛЛЮСТРАТИВНЫЙ ПРИМЕР
Для частичной иллюстрации материала, представленного в
этой главе, в заключение кратко рассмотрим известную
модельную жесткую задачу и ее решение, полученное с помощью
простого Л-устойчивого метода интегрирования.
10'
10
10°-
П-2-
10
1-3-
^^^^
\^ т2(х)
\^ 4X)
1 1 1
^^
t
/ /
/ /
X /
/
/
/
\
10
-3
Ш"1
X
10°
Ю1
10z
Рис. 3. Коэффициент жесткости S{x) и временные постоянные т(х) для
системы (5.1).
Нелинейная задача химической кинетики (Робертсон [1966])
приводит к системе из трех уравнений:
у; + 0.04^ - 104^з = 0,.
^ — 0.04£/1 + Ю4г/2г/3 + 3 • 107г/1 = 0, (5.1)
причем а = 0, 6 = 100 и #т(0) = (1, 0, 0). Матрица Якоби
системы (5.1) имеет одно нулевое собственное значение (так как
Ух + У2 + Уъ = 1 Для всех х) и два действительных
отрицательных собственных значения, которые меняются вдоль интеграль-
Гл. 9 Введение в теорию жестких задач
127
ной кривой. На рис. 3 представлены графики переменных
«временных постоянных»
и коэффициента жесткости S(x)y который меняется от О(104)
доО(105)
10
Л «Г2-
Рис. 4. Изменение длины шага и число шагов в решении системы (5.1).
Сплошная линия соответствует случаю е=10-3, штриховая — случаю е=10~4.
Так как здесь все собственные значения действительны, для
решения этой задачи можно использовать любой Л
(0)-устойчивый метод. Рассматриваемое нами решение получено при
помощи Л-устойчивого линейного одношагового метода с
переменным шагом
-Уп-h (0.55/„+1 + 0.45/„) = 0.
(5.2)
Этот метод Л-устойчив. В применении к уравнению у' — %у = 0
он дает
„ ,, , ч 1 + 0.45АЛ
Уп+i = Q (h%) уп = 1_^56АЯ У п.
128
Часть 2. Жесткие задачи
Заметим, что (2(ЛЛ)-> — 9/ц при |ЛЯ|—^ оо. Порядок метода
(5.2) равен единице, главная часть погрешности
аппроксимации составляет l/2oh2y".
В нашей реализации этого метода (программа называется
STINT) используется модифицированный итерационный
процесс Ньютона — Рафсона решения нелинейных уравнений.
Предсказанные должным образом значения используются для
сокращения числа итераций (в настоящем примере нужно не более
двух итераций на шаг) и для обеспечения точной оценки
погрешности аппроксимации при соответствующем выборе шага
интегрирования. Контроль точности осуществляется таким
образом, чтобы наибольшая относительная погрешность
аппроксимации не превосходила заданной величины е, причем в
порядке предосторожности оценивается и проверяется
накопленная погрешность решения.
Решения были получены для двух значейий параметра
точности е = 10~3 и е = 10~4. Начальный шаг (ho = 10~4) выбран
так, чтобы его порядок был сравним с порядком наименьшей
временной постоянной. На рис. 4 показан характер увеличения
шага в процессе интегрирования. При изменении х на отрезке
длины О(10~3) быстро меняющиеся компоненты решения
аппроксимируются точно благодаря использованию малых шагов.
Как только эти компоненты затухают в достаточной мере,
длина шага быстро увеличивается до значения, которое дает
достаточно точное приближение к медленно меняющимся
компонентам, у которых |ЛХ|тах достигает величины О(104).
Таблица 1
Применение метода (5.2) к задаче (5.1)
Параметр точности 8
Интервал интегрирования
Число успешных шагов
Число отвергнутых
шагов
Число удвоений шага
Число вычислений
матрицы Якоби и
обращений итерационной
матрицы
Число вычислений
производной
ю-3
0-1
41
1
12
14
106
0-10
55
1
15
17
141
0-100
65
2
20
23
186
ю-4
0-1
111
3
12
16
197
0-10
160
3
15
19
304
0-100
214
3
18
22
421
Гл. 10. Неявные методы Рунге — Кутты 129
Общий объем вычислительной работы указан в сводной
таблице 1. Для этой задачи вычисление заново матрицы Якоби и
обращение итерационной матрицы проводились лишь при
удвоении шага или при делении его пополам.
10
НЕЯВНЫЕ МЕТОДЫ РУНГЕ —КУТТЫ
И РОДСТВЕННЫЕ ИМ МЕТОДЫ
1. ОГРАНИЧЕННОСТЬ ЯВНЫХ МЕТОДОВ РУНГЕ—КУТТЫ
При поисках надежных и эффективных одношаговых
методов для жестких задач явные методы Рунге — Кутты
исключаются из рассмотрения по двум главным причинам. Первая
существенна и для нежестких задач и состоит просто в том, что
вычислительные затраты, измеряемые, в частности, числом
вычислений производной, быстро растут с увеличением порядка
метода. Вторая причина специфична для жестких задач и
связана со свойствами устойчивости этих методов.
Что касается порядка точности, то при требовании, чтобы
порядок достигал значения /?, должна удовлетворяться
система Np алгебраических уравнений, где Np — число деревьев с
корнями и не более чем с р разветвлениями. Эти условия,
которые будут подробно описаны в § 2, должны удовлетворяться
за счет выбора s(s+l)/2 параметров некоторого явного s-
этапного метода. Оказывается, что порядок р может быть
достигнут при s == р для р= 1, 2, 3, 4, для больших же р
минимально возможное значение s — р растет. Более того, вывод
частных методов более высокого порядка быстро усложняется.
Вопрос устойчивости связан с применением метода Рунге —
Кутты при длине шага h к модельной задаче у' = ку, где А,—
постоянное (возможно, комплексное) число. Если hX = z, то
легко показать, что уп = Р(г)уп-\, где Р — полином степени s
(s — число этапов). Поскольку |P(z)|->-oo при |z|-»-oo, такой
метод, очевидно, не может иметь неограниченную область
устойчивости.
Таким образом, если мы хотим использовать методы
Рунге— Кутты именно для жестких задач, то мы вынуждены
остановиться на неявных методах. Соответственно в следующем
параграфе обсуждение условий, обеспечивающих заданный
порядок точности метода, проводится в более общем плане
применительно к неявным методам.
5 Зак. 1335
130 Часть 2. Жесткие задачи
2. УСЛОВИЯ, ОБЕСПЕЧИВАЮЩИЕ ЗАДАННЫЙ ПОРЯДОК
ТОЧНОСТИ МЕТОДОВ РУНГЕ —КУТТЫ
Запишем систему, решение которой мы ищем, в виде
системы автономных уравнений
У*'(х) = р{у1(х)9 у*(х), ..., у»(х)) (2.1)
(/=1, 2, ..., АО или в более компактном виде
). (2.2)
Заметим, что, рассматривая систему (2.1) или (2.2), в
которой функции f1, /2, ..., fN не зависят явно от х, мы не
ограничиваем общности, так как в случае необходимости к этой
системе можно добавить дифференциальное уравнение, для
которого х является решением. Мы будем рассматривать
вычисления методом Рунге — Кутты в точке сетки с номером п
при длине шага h.
Пусть уп-\ — вектор решения в начале этого шага, пусть
Y\, У2, ..., Ys — промежуточные значения, вычисленные в
пределах данного шага, и пусть уп — вектор решения в конце этого
шага. Тогда Y\9 Уг, ..., Ys и уп определяются по формулам
t
t
t,fy,) (2.4)
где an, ai2, -., ass, &i, b2, ..., bs — численные постоянные,
определяющие метод. Мы будем представлять конкретный метод
следующей таблицей этих постоянных:
Cl
c.2
Cs
a« •
«s, •
&i •
. . als
. . a2s
• • ass
. . bs
Гл. 10. Неявные методы Рунге — Кутты 131
где значения a, i = 1, 2, ... 5 5, определяются как £ аа-
хотим найти условие того, что вектор уп отличается от у(хп-\ +
+ h) на величину O(hP+l) при А->0, если y(xn-\) = yn-i.
Пусть Т обозначает множество всех деревьев с корнем.
Элементы множества Т изображены на рис. 1, причем корни
деревьев, как это общепринято, изображены внизу. Нам надо
Рис. 1.
рассмотреть некоторые конкретные деревья, а именно деревья
tk, tk и tktu обладающие k9 k и k + / разветвлениями
соответственно (см. рис. 2).
\
Рис. 2.
Для каждого t^T можно образовать величину F(t)(yn-\),
сопоставляя каждому разветвлению (узлу) дерева t п-линей-
ный оператор f^n)(yn-\), который с этого момента для
краткости обозначается через /(/г), где п — число ветвей, растущих
вверх из этого узла (концевым узлам сопоставляется
0-линейный оператор /°, т. е. постоянный вектор /), а затем
интерпретируя дерево как операторную диаграмму. Например,
где ( )k~l обозначает обычную степень матрицы. Еще один
пример: для дерева, изображенного на рис. 3,
F (/) &,_,) = Г (Г (/> Г (/)), Г (/, /, /)).
Введем для каждого дерева три числа: r(t) — число узлов
в t, a(t) — порядок группы симметрии дерева / и у(t) —
произведение чисел г (и) по всем и, где и — соответствующее
б*
132 Часть 2. Жесткие задачи
каждому узлу дерева / поддерево, образованное этим узлом и
всеми узлами, которых можно достичь из него по направленным
вверх ветвям. В представленном на рис. 3 примере г(/) = 9,
o(t) = 6 и y(t) = 288. Мы имеем также r(tk) = k, a(^) =
= (£- 1)! и y(tk) = k; r{tk) = K o(tk)=\ и y(tk) = kU r(tk)l) =
= k + l, o(tk i) = {k— 1)! (/—1)! (a если / = 1, то а(/Л| /) =
= k\) и y(/a./)=/(* + /).
t =
Рис. З.
Пользуясь этими символами, можно записать формальный
ряд Тейлора для функции у(хп):
(еГ
Таким образом, несколько первых членов разложения (с
учетом равенства у(хп-\)= уп-\) таковы:
У (Xn-i + А) = Уп-i + hf + %hT (f) + h3 Ш" (/, /) + %Г (/' (/))) +
+ Л4 С/мР" (f, f, f) + V (f> V (/)) + V (/" (f, /)) +
+ 724Г (/' (f (f)))) 4-....
Ясно, что численное решение определяется конкретными
коэффициентами а,/, 6/. Сопоставим каждому дереву f
многочлен Ф(0 от этих величин. Для того чтобы построить Ф(/),
припишем всем узлам дерева / метки i, /, k, ... (где i—метка
для корня), образуем произведение bi и ajk для каждой ветви,
направленной вверх из узла / в узел k, а затем просуммируем
по каждой из меток от 1 до s. При записи формул для Ф(/)
всегда будем использовать сокращение Cy=Xa/fe> ° котором
k
уже говорилось. Для изображенного на рис. 3 дерева
ф(/)= £ biauciaikckaucl
U 1, k, /-1
тогда как для деревьев частного вида tk, tk и tktl
s
Ф (tk) = Ц Ьгс\-\ (2.6)
ф (?) = ЬтАк-2с, (2.7)
Гл. 10. Неявные методы Рунге — Кутты 133
где Л, by с — различные массивы коэффициентов, и
VrV^1- (2-8)
Теперь формальное разложение вычисляемого решения в
ряд Тейлора можно записать в виде
Уп = Уп-г +Т
Первые несколько членов разложения таковы:
+h3 {у Е w tf •«+Е w tf' tf}
+h* {I Е vr' (f. f. /)+Е va/*/7 (/• /' («)+
+у Е *л/^ (^ (^ л)+Е м//а/*^7 (г (г (/)))} +....
Сравнивая почленно разложения для у„ и f/(x«_i + /i)
(равенства (2.5) и (2.9)), видим, что метод будет иметь порядок
/?, если Ф(/)= l/y(t) для всех деревьев /, имеющих не более р
узлов. Таким образом, если р = 4, то имеем условия
= 2/8> S &^//С/ = Vl2» Z biClijdfkCk = V24.
В явном методе мы стремимся вычислять одну за другой
величины Yi, У2, ..., Ks, каждая из которых зависит лишь от
ранее вычисленных членов этой последовательности.
Следовательно, для явных методов пц = 0 при i ^ /. Легко видеть, что
мы не можем получить порядок р для s-этапного метода при
р > s потому, что если в качестве дерева t взять tp, то
соответствующие условия, необходимые для достижения заданного
порядка, таковы (см. (2.7)):
(2.10)
Если р > s, то в силу строго треугольной структуры матрицы
А и того обстоятельства, что с\ = 0, левая часть в (2.10) равна
нулю, и, следовательно, соотношение (2.10) не может
выполняться. Известно также, что нельзя получить порядок р при
р > 4 и 5 ^ р.
Для неявного s-этапного метода Рунге — Кутты наилучший
возможный порядок равен 2s. Причина этого выясняется в
следующем параграфе.
134 Часть 2. Жесткие задачи
Материал, изложенный в этом параграфе, содержится в
различных работах, в частности в статьях Батчера [1963, 1965а].
3. ОПТИМАЛЬНЫЙ ПОРЯДОК НЕЯВНЫХ МЕТОДОВ РУНГЕ —КУТТЫ
При рассмотрении s-этапных неявных методов Рунге —
Кутты нам придется использовать ряд утверждений,
относящихся к коэффициентам метода. Для любого конкретного
метода некоторые из этих утверждений могут быть истинными, и
мы выведем соотношения между ними. Для удобства ссылок
каждому утверждению дается название (А, В, ..., G). Эти
утверждения таковы.
А: Коэффициенты ац удовлетворяют уравнениям
Tiii^ ()kr i, k = h 2, ..., s.
В: Коэффициенты Ъ\ удовлетворяют уравнениям
5>yC/~1 = I/*' k=l, 2, ..., 5.
С: Коэффициенты ci являются нулями полинома Лежандра
5-й степени Ps(2c— 1).
D: При каждом / = 1, 2, ..., s для /-го столбца матрицы
ац выполняются соотношения
£ ь\\^{);(\-с% ft=l, 2, ..., s.
Е: Для каждой пары значений k, /=1, 2, ..., 5
выполняется равенство
Ztf^
F: Для каждого k = 1, 2, ..., 25 выполняется равенство
Ей/С*-1 = 1/л.
G: Для всех t, удовлетворяющих неравенству r(t)^. 25,
выполняется условие ф(/)= l/y(t), обеспечивающее заданный
порядок (хорошо!).
Множество соотношений между А, В, ..., G будет
представлено диаграммой, эквивалентной формулировке теоремы,
которая приводится ниже. На этой диаграмме стрелка означает
импликацию, тогда как две или несколько стрелок, входящих
в некоторую точку, и одну выходящую из этой точки стрелку
Гл. 10. Неявные методы Рунге — Кутты
135
следует понимать как представление логического умножения Л
(«и»). Так, например, диаграмма
F
выражает тот факт, что если истинны одновременно и Е и F,
то истинно также и А.
Теорема.
Справедливость этой теоремы следует из ряда лемм, для
которых будут намечены доказательства.
Лемма 2. Если истинно F, то А <=Ф Е.
Это следует из теории квадратурных формул Гаусса — Ле-
жандра на интервале [0, 1].
Л е м м а 2. Если истинно F, то А
Пусть ut =
/=1, 2, ...,
, 4 Е.
anclj~x — c\ftу i=l, 2, ..., 5,
для каждого
., s, и пусть vk=Zbicki^aijclf-'
k=ly 2, ..., 5. Если дано, что F истинно, то легко проверить,
что Mu = v, где М—-матрица, (&, /)-й элемент которой равен
Ьгс]~х (/, fe== 1, 2, ..., s). В силу свойств квадратурных формул
Гаусса — Лежандра эта матрица невырожденна. Следовательно,
если один из векторов и, v равен нулю, то и другой тоже
равен нулю.
Л е м м а 3. Если истинно F, то D Ф~> Е.
136 Часть 2. Жесткие задачи
Это утвсфждение доказывается аналогично лемме 2
Л е м м а 4. G => F, G ==> Е.
Для доказательства утверждения F подставляем в ф(/) =
= \/y(t) значение t = tk и используем (2.6). Для
доказательства Е подставляем t = tk,i и используем (2.8).
Лемма 5. FJAAAD^G.
Пусть / имеет узел (разветвление), отличный от корня, из
которого исходит в точности k — 1 ветвей, ведущих к k — 1
концевым узлам (т. е. к узлам, из которых не растет никаких
ветвей); тогда если А истинно, то уравнение Ф(/)= l/y(t)
эквивалентно уравнению Ф{и)=\/у(и), где и — то же самое, что
и t, с той лишь разницей, что все k— 1 упомянутых выше узлов
сдвинуты на один шаг ближе к корню. Таким образом, все
деревья, обладающие свойством, сформулированным выше для
дерева t, можно исключить из рассмотрения. Аналогично если
дерево t имеет k — 1 концевых ветвей, растущих прямо из
корня, то при условии истинности D это дерево также можно
исключить из рассмотрения.
После того как все такие деревья одним из указанных
способов исключены из рассмотрения, остаются лишь деревья вида
tk, k ^ 25, и как мы видели при доказательстве леммы 4,
уравнение ф(^) = l/y(tk), k = 1, 2, ..., 2s, эквивалентно F.
Из лемм 1—5 вытекает утверждение теоремы.
Следствие. АЛВЛС Ф=> G.
Это следствие получается из соответствующих цепочек
импликаций на диаграмме к теореме. Оно означает, что
существует единственный метод порядка 25, для которого числа С\9
с2, ..., cs определяются при помощи С, числа Ьи Ъь ..., bs —
при помощи В и, наконец, числа ац, а,\2, ..., ass — при помо-»
щи А.
Если 5=1, то получается неявный метод, который может
быть назван методом прямоугольников:
тогда как при s = 2 получается метод Хаммера и Холлингсвор-
та [1955]:
1
2
1 ,
2 '
Уз"
6
Уз"
6
1
4
1
4
f
'
1
2
Уз
6
1
4
Уз
6
1
4
1
2
Гл. 10. Неявные методы Рунге — Кутты
137
В статье Батчера [1964] был исследован общий класс неявных
методов Рунге — Кутты и для 5 = 3, 4, 5 были даны методы
оптимального порядка. Один из них таков:
1
2
1
2
л/15
10
1
2
t VI5
1 10
5
36
5
36
5
36
5
18
VT5
24
УТ5
30
2
9
2
9
2
9
+ -
4
9
Vl5
15
л/Т5
15
5
36
5
36
5
36
5
18
VTB
30
Vl5
24
Соответствующим образом модифицируя некоторые из
утверждений А, ..., F, легко получить другие методы Рунге —
Кутты, у которых порядок незначительно меньше 2s, но
свойства устойчивости лучше, чем у методов оптимального
порядка. В следующем параграфе мы рассмотрим вопрос об
устойчивости методов Рунге — Кутты.
4. СВОЙСТВА УСТОЙЧИВОСТИ
Если рассматривать решение модельного уравнения у' = Ху
и положить hX = z, то (2.3), (2.4) можно записать в виде
(I-zA)Y = yn^e, (4.1)
Уп = Уп-1 + гЬ-ПГ, (4.2)
где / — единичная (sX s) -матрица, А и Ь — матрица и вектор
из коэффициентов, введенных в § 2, а У и е суть s-мерные
векторы следующего вида:
•
1"
1
j
Из (4.1) и (4.2) мы получаем, что yn = R(z)yn-\f где
R(z) = l + zbT (I - zA)~x e. (4.3)
Комплексное число z будет находиться в области устойчивости
этого метода Рунге — Кутты, если \R(z) |^ 1 (или в некоторых
определениях области устойчивости |/?(г)|<1; эти
определения связаны между собой следующим образом: первая область
138 Часть 2. Жесткие задачи
устойчивости является замыканием второй, а вторая —
внутренностью первой).
Поскольку 1 — zA есть (s X $) -матрица, ее определитель
является полиномом от z степени (не выше) 5, а поскольку ее
алгебраические дополнения суть (s—l)X(s—1)-матрицы, то
их определители в свою очередь являются полиномами степени
(не выше) 5—1. Таким образом, R(z) — рациональная
функция, у которой степень как числителя, так и знаменателя не
превосходит s.
Раскладывая множитель (/ — zA)~l в ряд / + zA + z2A2 +
+ ... и замечая, что bTAk~le есть Ф(/*)=1/&! до тех пор, пока
k ^.р (р— порядок метода), получаем, что при z->0
Если р = 25, то мы видим, что для методов оптимального
порядка, рассмотренных в § 3, R(z) представляет собой (s, s)-
аппроксимацию Паде функции ez. Кроме методов, обладающих
этими свойствами, мы будем также изучать область
устойчивости методов, у которых R(z) является одной из первых двух
поддиагоналей таблицы Паде.
Таким образом, мы предполагаем, что R(z) = P(z)/Q(z),
где Q — полином степени 5, Р — полином степени s — d (d =
= 0, 1 или 2) и R(z) — ez-\- O(z2s-d+l). Для установления
границ области устойчивости таких методов докажем следующую
теорему.
Теорема. Если R(z) является диагональю или одной из
двух первых поддиагоналей таблицы Паде функции ez и если
точка z лежит на мнимой оси, то \R(z) | < 1.
Так как P(z)= Q(z)ez + O(z2s~d+l) при |z|-*0, для
действительных у имеем
IQ(1у) \2-\Р(1у) I2 = Q(iy)Q(- iy) -Р(iy)P(- ty/= О (y2s~d+>).
Но функция Q(iy)Q(—iy) — P(iy)P(—iy) является четным
полиномом по у степени не выше 25 и, следовательно, равна нулю
при d = 0 (в этом случае \R(iy) |= 1) или имеет вид cy2s с
некоторым действительным с при d = 1 и d = 2. В последнем
случае то обстоятельство, что Р фактически имеет степень
меньше 5, гарантирует неотрицательность с, и мы получаем
неравенство |/?(/#) |^1 (фактически с>0 и, следовательно,
\R(iy)\< 1 при */>0).
Исследование нулей полинома Q(z) показывает, что для
этих методов все они лежат в правой полуплоскости. Мы
сформулируем без доказательства следующий результат, к
которому приводит сопоставление установленного выше факта о
поведении функции на мнимой оси и того факта, что |/?()|1
Гл. 10. Неявные методы Рунге — Кутты
139
(для случая диагонали) или \R(z)\->0 (для случаев поддиа-
гоналей) при |г|-^оо.
Следствие. Методы, которые приводят к элементу диаго-
,нали или одной из двух главных поддиагоналей таблицы Паде,
являются Л-устойчивыми.
Поскольку в методах, использующих поддиагонали, \R (z) |->
->0, эти методы более удобны для жестких задач. Методы
такого вида детально исследовали Эйле [1969b], Чипмен [1971b]
и Аксельссон [1969].
5. ПРИМЕНЕНИЕ НЕЯВНЫХ МЕТОДОВ РУНГЕ—КУТТЫ
Простой итерационный процесс вычисления Y\, Y2i ..., Ys
неудобен при решении жестких задач, поэтому возникает
необходимость использования метода Ньютона — Рафсона или
какой-либо его модификации. Если величины Y\ + 6i, Y2 + 62, ...
..., Ys + 6s представляют собой подправленные в результате
одной итерации приближения, то в полкой схеме Ньютона —.
Рафсона поправки 61,62, ..., 65 определяются из системы
линейных уравнений
г — hauJ\ —ha\2J2 ... —
— hassls __ __ 6S _
где F{ =
= f(Y8) и 11 =
(5.1)
/2==
f{Y2), ..., s f(Ys)
В типичных программах величины J\, J2, ..., Js меняются
не на каждой итерации, так что нужно меньше обращений
(или, что более эффективно, факторизации LU) квадратной
матрицы в (5.1).
Очень большое сокращение вычислительной работы в этом
итерационном процессе получается в том случае, когда ац = 0
при i < j и все числа ац, а22у ..., ass равны между собой. Если
Ju J2, ..., Js аппроксимируются производной /', вычисленной
в некоторой фиксированной точке (скажем, J = J\ — J2 = ...
140 Часть 2. Жесткие задачи
... /s), то в матрице / — /шц7 необходимо обращение
(илифакторизация LU) лишь одного блока. В § 6 мы кратко
рассмотрим эти полуявные методы и класс методов, предложенных Ро-
зенброком [1963] и по существу эквивалентных в точности
одной итерации для неявного метода Рунге — Кутты.
6. ПОЛУЯВНЫЕ МЕТОДЫ И МЕТОДЫ РОЗЕНБРОКА
Для полуявного метода ац = 0 при i < /. Так как это
неявные методы, не исключено, что среди них можно найти методы
с хорошими свойствами, устойчивости. Как отмечалось выше,
их применение может быть более эффективным, чем
применение неявных методов общего вида. Эти методы были
предложены еще в статье Батчера [1964], но, кажется, до работы
Нёрсетта [1974] (не считая отдельных примеров в работах Эйле
[1969b] и Чипмена [1971b]) не проводилось их
систематического исследования. В этом исследовании рассматривался
частный случай, когда ац одинаковы для всех /, и в этом случае
' было доказано, что порядок 5 + 2 нельзя получить ни для
каких 5-этапных методов.
Теперь рассмотрим случай s = 2 и попытаемся найти метод
порядка 3 с ац=а22. Таким образом, должны быть
справедливы уравнения
&i + fc=l, (6Л)
% (6.2)
blancl + b2a2Xc{ + b2a22c2 = Ve- (6.4)
Исключая b\ из (6.1) и (6.2), находим
b2(c2 — cl) = l/2 — cl. (6.5)
Умножая (6.1) на С\С% (6.2) на —(^i + ^2) и складывая сумму
этих произведений с (6.3), получаем
^2~1/2(^1 + с2) + 1/з = 0. (6.6)
Используя (6.2), а также равенства а22 = ац = С\ и a2i=C2—°и
уравнение (6.4) можно переписать в виде
b2(c2 — ci)cx = llb — cd2. (6.7)
Теперь, подставляя (6.5) в (6.7), обнаруживаем, что с\ должно
удовлетворять уравнению г
6^-6^+1=0. (6.8)
Используя (6.8), (6.6), (6.7) и (6.1) для того, чтобы
последовательно найти значения с\, с2, Ъ2 и Ь\, и подставляя, наконец, зна-
Гл. 10. Неявные методы Рунге — Кутты 141
чения аи, а\2, а2ъ приходим к следующему методу (или к
аналогичному методу с заменой д/3 на — /з)
3
3
+ У?
6
6
з-f Уз"
6
3
1
2
0
з + Уз"
6
1
2
Функция R{z), связанная с анализом устойчивости этого метода,
определяется формулой
п ы ^ 1 - (У з/з) z - [(1 + Уз~)/б] z2
так что |/?(;г)|-> %=г < 1 при |г|->оо, и при помощи рас-
2 + V3
суждений, аналогичных тем, которые содержатся в
доказательстве теоремы из § 4, устанавливается, что этот метод Л-устой-
чив. Заметим, что для метода с другим знаком у л/Ъ область
устойчивости ограничена.
В статье Нёрсетта описан ряд частных методов с оценками
локальной погрешности, которые можно использовать для
выбора длины шага.
Методы Розенброка [1962], исследовавшиеся, например, в
работах Аллена [1969] и Хейнса [1969], имеют по существу
такую же форму, как одна итерация для полуявного метода.
Таким образом, если даны коэффициенты а*/, йц (l^/</^s)
и 0/, bi (1 г^/^s), то, начиная с точки сетки с номером п, мы
вычисляем векторы Y\, Y2, ..., Ys\ Z\, Z2, ..., Zs\ Fu F2, ..., Fs
и матрицы /i, J2, ..., /5, а затем по заданному значению
решения yn-\ вычисляем уп при помощи уравнений
Yi = yn-i + h^aijFt, 1=1, 2, ..., 5,
/
Z. — ij , J_ ft У d-F\ i — 1 9 <?
/
/-. = (/_ hdiJi)-1 f {Yd, i = 1, 2, ..., s,
JI — J \Lti)y I 1 , ^, • • • > S>
Можно получить Л-устойчивые методы этого типа без
требования неявности. В работе Калахена [1967] описан частный метод,
обладающий тем свойством, что с1ц = 0 при всех /, /, а 0/
142 Часть 2. Жесткие задачи
постоянно для всех /. Таким образом, на шаге требуется всего
одно вычисление матрицы Якоби. В этом двухэтапном методе
01 = 02 = (3 + Уз)/б, а2\ = — 2 У 3/3, Ьх = 3/4, Ь2 = 74; он имеет
порядок 3 и является Л-устойчивым.
11
МНОГОШАГОВЫЕ МЕТОДЫ ДЛЯ ЖЕСТКИХ ЗАДАЧ
В этой главе мы сначала кратко обсудим некоторые из
неявных многошаговых методов, пригодных для решения жестких
задач Коши, и более подробно опишем методы с переменным
шагом, переменным порядком и жестко устойчивые методы,
использующие разности назад; эти методы разработаны Гиром
[1971а], а также Брайтоном, Густавсоном и Хачтелом [1972].
Далее будет показано, что ряд устойчивых модифицированных
многошаговых методов должен принадлежать классу
обобщенных многошаговых методов с переменными коэффициентами,
который изучен Лэмбертом и Сигурдссоном [1972]. Мы
закончим описанием класса предложенных Энрайтом [1974] неявных
й-шаговых методов, использующих вторую производную.
1. НЕЯВНЫЕ ЛИНЕЙНЫЕ МНОГОШАГОВЫЕ МЕТОДЫ
В гл. 9 при обсуждении требований, которые предъявляются
к методам решения жестких задач в отношении устойчивости,
мы отмечали, что необходимым условием любой Л
(а)-устойчивости или жесткой устойчивости линейного многошагового
метода
k k
Q — h ZPyf(*n+/, #*+/) = 0, ал=1, (1.1)
является его «неявность», т. е. условие (3* Ф 0. Это
непосредственно следует из корневого условия абсолютной устойчивости
для характеристического полинома
p(6)-Mcr(g) = 0, (1.2)
так как при |3& = 0 один корень неограниченно возрастает при
R(ft) — оо.
Далквист [1963] доказал, что максимальный порядок
Л-устойчивых линейных многошаговых методов равен двум и что
среди таких методов наименьшую константу погрешности С =
= Vi2 имеет одношаговый метод трапеций
Уп+i - Уп ~ 7гА {/ (хп> Уп) + / (Х/ц-1, Уп+i)} = 0. (1.3)
Гл. 11. Многошаговые методы для жестких задач 143
Использование метода трапеций для решения жестких задач
будет обсуждаться в следующей главе.
Семейства Л-устойчивых линейных ^-шаговых методов
порядка р = k описываются формулами
sh+i - у* - A{(i - в)/я+1 + еу = 0, e < % (1.4)
и
Уп+2 -(l+a)yn+] + ayn-h {[V2 (I + а) + 6] /я+2 +
+ [V2(l - За) - 2в]/я+1 + 6М = 0 (1.5)
при — 1 < а < 1 и а + 20 > 0 (Линигер [1968], Бруннер
[1972]). Методами, основанными на формуле (1.4),
пользовались Линигер и Уиллаби [1970], причем для определения 0
применялась экспоненциальная подгонка. Эти методы применяли
также Протеро и Робинсон [1974], использовавшие
фиксированное значение 0 — 0.45. Метод называется экспоненциально
подогнанным к значению Я, если при решении уравнения у'— Ху = 0
с точными начальными условиями он даст точное решение для
Я = Я,. Поэтому применительно к формуле (1.4) 0 выбирается
так, что
_ 1 + ШЪ _ h%
Уп+\— ! _ (1 _в)лл У«> — е #«•
Была исследована экспоненциальная подгонка и для формулы
(1.5) (Линигер [1969]).
Обращаясь теперь к методам, которые являются Л
(а)-устойчивыми или жестко устойчивыми, замечаем, что жесткая
устойчивость влечет Л (а)-устойчивость для 0 < а < arctg(0/D).
Видлунд [1967] показал, что Л (а)-устойчивые линейные
многошаговые методы существуют для любого а е [0, я/2) при k =
— р = 3ик = р = 4. Были найдены жестко устойчивые методы
до одиннадцатого порядка (Гир [1969], Дилл и Гир [1971],
Джейн и Сривастава [1970]), тогда как Крайер [1973] доказал
существование Ло-устойчивых (абсолютно устойчивых для всех
действительных hi < 0, что не эквивалентно Л (0)-устойчивости)
линейных многошаговых методов сколь угодно высокого
порядка; дальнейшие результаты по Л0-устойчивости ^-шаговых
методов порядка р были получены Линигером [1975].
2. ФОРМУЛЫ ДИФФЕРЕНЦИРОВАНИЯ НАЗАД
Наиболее распространенным классом линейных
многошаговых методов для жестких задач являются «формулы
дифференцирования назад». Производная в текущей точке, fn+k, как это и
отражено в названии, аппроксимируется по k + 1 значениям
144
Часть 2. Жесткие задачи
Уп+] (0^
дам вида
:), что приводит к линейным многошаговым мето-
k
(2.1)
Для /г = 1 мы имеем метод Эйлера с разностью назад. Впервые
эти формулы при k = 1 и k = 2 предложили для решения
жестких задач Кертис и Гиршфельдер [1952]. Гир [1969] показал,
что методы (2.1) при k = 1, 2, ..., 6 удовлетворяют его
определению жесткой устойчивости, и наметил в общих чертах
применение этих методов как алгоритмов с автоматическим выбором
Рис. 1. Области абсолютной устойчивости для ^-шаговых методов
дифференцирования назад, &=1, 2,..., 6 (Гир [1969]). (А) — область устойчивости,
(Б) — область неустойчивости.
шага и изменением порядка. Впоследствии эти результаты
(вместе с методами Адамса — Бэшфорта — Мултона для нежестких
систем) были опубликованы в виде фортранной подпрограммы
DIFSUB (Гир [1971а]).
Области абсолютной устойчивости для методов (2.1)
изображены на рис. 1. Для k=l, 2 эти методы Л-устойчивы, в то
время как для k = 3, ..., 6 они жестко устойчивы и,
следовательно, Л (а)-устойчивы для некоторого ае(0, я/2).
Максимальные значения аШах, для которых эти методы Л (а)-устойчивы,
были вычислены с помощью критерия Л (а)-устойчивости,
полученного Нёрсеттом [1969а].
Применяя формулы дифференцирования назад, Гир [1971а]
использовал представление Нордсика [1962], в котором А+1
Гл. 11. Многошаговые методы для жестких задач 145
величин, фигурирующих в ^-шаговом методе, запоминаются на
каждом шаге в виде компонент вектора Нордсика:
'Брайтон, Густавсон и Хачтел [1972] высказали предположение,
что такая реализация метода, в которой предыдущая
информация запоминается в виде значений
ул+/, / = 0, 1, ..., &,
но для уменьшения ошибок округления используются разности
вперед куп+j = Уп+j+i — */«+/> может быть более эффективной, а
также более устойчивой при быстром изменении длины шага.
В конечном счете мы будем говорить об этой реализации как
об алгоритме с переменным шагом и с переменным порядком.
Для переменных шагов Ая+/ = V*n+/ = xn+f — xn+i-\ (j =
= 0, ..., k) ^-шаговая формула дифференцирования назад (2.1)
порядка k определяет наклон y'n+k как производную при х =
= xn+k от полинома k-й степени по х
P(k, n + k, х),
построенного по k + 1 точкам (xn+j, Уп+j), /==0, 1, ..., к Таким
образом,
k
Уп+k = pr (k> n+ k> xn+k) =
Уп+k ( n+k) Y
n+k /=° (2.2)
где коэффициенты бу (/ = 0, ..., k) зависят от расстояний Ал+/,
/= 1, ..., к, между абсциссами тех точек, по которым построен
полином. (Для постоянного h имеем б/ = —а//Рл.)
Для того чтобы использовать предсказанное значение y°n+k
в качестве начального значения в итерационном методе
Ньютона — Рафсона для решения нелинейных уравнений (2.2) и при
оценке погрешности аппроксимации, мы можем в точке xn+k
вычислить полином k-й степени, построенный по предыдущим к + 1
точкам (xn+j-\t Уп+i-i), / = 0, ..., k. Это приводит к явной
предсказывающей формуле
yf+k = P(k,n + k-l,xn+k)=tyiyn+l_b (2.3)
где коэффициенты у/> / = 0, 1> •••> k, зависят от Ал+/, / = 0,
1, ..., k.
На каждом шаге п + k коэффициенты б/ и у/, / = 0, ..., k,
можно определить из требования, что уравнения (2.2) и (2.3)
точны для всех полиномов у = р(х) степени не выше к. Из этого
условия получается система линейных уравнений
Hh(n, xn+k)6 = e2 (2.4)
146 Часть 2. Жесткие задачи
Hk(n-l,xn+k)y = el, (2.5)
где бт = (б0, бь ..., бл), YT = (Yo> Yi> ...» Y*)> еТ = (1, 0, ..., О)»
^2 =(О, 1, ..., 0), a Hk — матрица Вандермонда из элементов
[Hk(m, хп+н>]„ = {Xn+Vjkm+')' '• / = 0, 1, ..., *. (2.6)
Коэффициенты б/ и у}- можно вычислить примерно за
10 (k+ 1) операций на каждом шаге.
Брайтон, Густавсон и Хачтел [1972] показали, что главную
часть локальной погрешности дискретизации, которая имеет вид
можно выразить через разность предсказанного и
исправленного значений:
В то время как Гир [1971а] выбирал шаг исходя из требования,
что погрешность аппроксимации (определяемая как fin+kdn+k)
не превосходит некоторой постоянной величины на шаге
интегрирования, Брайтон с соавторами предложил некоторую
предельную погрешность на единицу длины интервала
интегрирования.
Методика Гира изменения шага эквивалентна интерполяции
значений по точкам, расстояние между которыми равно /гСтар,
с целью получения значений на сетке с шагом АНов, которые
подставляются в формулу с постоянным шагом. Было показано
(Брайтон и др. [1972]; Гир и Ту [1974]), что этот подход менее
устойчив, чем непосредственное использование многошаговой
формулы с переменным шагом. В алгоритме Гира после
изменения шага или порядка длина шага остается постоянной в
течение k + 1 шагов. Подход Брайтона с соавторами, при котором
каждый раз подбирается длина шага, позволяет уменьшить
необходимое число шагов интегрирования и для больших систем
уравнений дает существенную экономию по сравнению с
методом Гира.
Как в методе Гира, так и в методе Брайтона проверка
условий изменения порядка проводится только после выполнения
k + 1 шагов по методу заданного &-го порядка. Для этого
требуются оценки погрешности аппроксимации формул
дифференцирования назад порядков k— 1, k и k-\- 1. Чтобы получить эти
оценки для методов с переменным шагом, нужно дополнительно
вычислить значения x{®+ky предсказанные по (k— 1)- и (k-\- 1)-
шаговой предсказывающей формулам. Гир и Ватанабе [1974]
показали, что методы с переменным шагом оказываются более
Гл. П. Многошаговые методы для жестких задач 147
устойчивыми по отношению к изменению порядка, чем
интерполяционные методы.
Одно из применений формулы дифференцирования назад
(2.2) с переменным шагом, основанное на векторе Нордсика
вычисленных значений, было описано Берном и Хиндмаршем
[1975].
3. ОБОБЩЕННЫЕ МНОГОШАГОВЫЕ МЕТОДЫ
• Трудности, обусловленные тем, что жестко устойчивые
линейные многошаговые методы непременно должны быть неявными,
послужили стимулом для поиска других возможных путей
повышения устойчивости явных многошаговых методов при помощи
матрицы Якоби. Эти различные подходы лучше всего описывать
и сравнивать между собой, рассматривая следующий класс
обобщенных многошаговых методов (Лэмберт и Сигурдссон [1972]):
t й0)/ + £ (- Dm «yv
/=0 ч т—\
k ( М-\ \
- а Е1Ф + Е (- i)m P/m) *wc L+j = о, с40) = 1.
/=-0 ч т = 1 )
(3.1)
Здесь аИ и рИ — скалярные коэффициенты, а /л —
аппроксимация матрицы Якоби df/dy, вычисленная в окрестности точки
Xn+k или в самой этой точке. Если коэффициенты Щ^, т =
= 0, 1, ..., М—1, равны нулю, то уравнение (3.1) сводится
к системе линейных уравнений относительно yn+k вида
г м \
afl + I aim)hmJZ yn+k -g = 0, (3.2)
ч m=l )
где g известно; такой метод называется «линейно неявным».
Подобные линейно неявные методы могли бы оказаться
практически полезной альтернативой полностью неявным методам.
Порядок р метода (3.1) не зависит от точности Jn, хотя
погрешность аппроксимации имеет более сложный вид:
min (p+1, M)
E Cy+X-SjWP+X-n{xn+k) + O{h>+>). (3.3)
Лэмберт и Сигурдссон [1972] показали, что условия того, что
порядок удовлетворяет неравенству р ^ М, имеют вид
k
Z«f)==0, m = 0, 1, ..., М,
/-о J
148 Часть 2. Жесткие задача
* /= 1, 2, ..., р — пг9
Х/-1{/аГ-фП = О, me0, 1 Л*.
Если £i, |2> •••> S*"- корни полинома
рф-Ес^Б' (3.4)
/-о у
с главным корнем gi = 1, то в обычном корневом условии нуль-
устойчивости требуется, чтобы |^|^ 1, г= 1, 2, ..., А, и чтобы
корни, по модулю равные единице, были простыми. Областью
абсолютной устойчивости метода (3.1) является та область
комплексной плоскости Я = ЛЯ, для которой корни I
характеристического полинома
k ( М \
Z1 cf + Z «} - №~1)) Rm\V = o
(3.5)
лежат в открытом единичной} круге.
Лэмберт и Сигурдссон [1972] при изучении методов (3.1)
ограничились «стабилизированными» методами, для которых
паразитические корни £2, . • •, Ik уравнения (3.4) лежат внутри
единичной окружности и при всех Я являются также корнями
уравнения (3.5). Это достигается благодаря стабилизирующим
условиям
k
Ev(m)tj — С) т — 1 О М- г — О Q U
/-0 У
для различных корней \г уравнения (3.4), причем
yim) = а[т^ — f&m~lK
Соответствующие условия получаются для кратных корней.
Таким образом, область абсолютной устойчивости
«стабилизированных» методов (3.1) зависит лишь от главного корня
li(Fi) уравнения (3.5), который, как показано, для методов
порядка р ^ М, определяется формулой
М ( т
у\у<=£.ф-
Lu I L-i l\ R
5i (A) = м " »
где v^== сс^>) ==== 1 • Если £j (ft) есть Л-приемлемая рациональная
аппроксимация экспоненты е*, то стабилизированный метод
(3.1) является Л-устойчивым. Показано, что максимальный по-
Гл. П. Многошаговые методы для жестких задач 149
'рядок таких методов должен быть равен 2М. Несколько
примеров линейно неявных стабилизированных методов (3.1)
порядков 2, 3 и 4 было получено Лэмбертом и Сигурдссоном [1972].
Ван дер Хоувен и Вервер [1974] изучали подмножество
стабилизированных методов, имеющих нулевые паразитные
корни ^2, ..., %k- Л-устойчивые модификации методов Адамса —
Бэшфорта, развитые Нёрсеттом [1969b] и приводящие к
методам вида
k-i
ijn+k — ehJyn+k-i — hJlcj {fn+J — Jyn+j} = 0,
/=o
образуют класс стабилизированных методов с нулевыми
паразитическими корнями, если на место экспоненциального члена
подставляется рациональная аппроксимация. Аналогичные
методы более высокого порядка точности были предложены Джей-
ном [1972].
4. МЕТОДЫ, ИСПОЛЬЗУЮЩИЕ ВТОРУЮ ПРОИЗВОДНУЮ
Одним из средств использования матрицы Якоби в
обобщенных линейных многошаговых методах является вычисление
вторых производных у". Для автономных систем уравнений
y'-f(y) = o
мы имеем
y"-(df/dy)y' = O,
так что можно рассматривать многошаговую формулу
t^y^-W^-hty^^O, ak=\, (4.1)
использующую вторую производную.
Семейства одно- и двухшаговых Л-устойчивых методов этого
типа со свободным параметром для «экспоненциальной
подгонки» были предложены соответственно Линигером и Уиллаби
[1970], а также Джексоном и Кеню [1974].
Методы, полученные из этих семейств «экспоненциальной
подгонкой на бесконечности», представляют собой два первых
представителя класса использующих вторую производную
жестко устойчивых ^-шаговых методов порядка k + 2,
разработанных Энрайтом [1974]. Модельные расчеты по ним дали
обнадеживающие результаты.
Областью абсолютной устойчивости формулы (4.1) в
плоскости h = hh является область, для которой корни характеристи-
150
Часть 2. Жесткие задачи
ческого полинома
/=о
(4.2)
лежат в открытом единичном круге. В методах Энрайта
паразитические корни в начале координат обращаются в нуль благо-
даря такому же выбору коэффициентов, как и в методах
Адамса:
Аналогично устойчивость в бесконечности обеспечивается
выбором коэффициентов
так что все корни стремятся к нулю при |АА,|-^оо. Остальные
k + 2 параметра (yk и р0 ... р*) выбираются так, чтобы макси-
Плосносшъ /?л
-10 -8 -6-4-2 №24 68 10
Рис. 2. Области жесткой устойчивости для ^-шаговых методов Энрайта
[1974], использующих вторую производную, & = 1, 2,..., 7. (А) — область
устойчивости, (Б)— область неустойчивости.
мизировать порядок метода. В результате мы имеем неявную
формулу
t
Уп+к -
t
= 0.
(4.3)
Энрайт показал, что эти методы жестко устойчивы при k =
= 1, 2, ..., 7, но при k = 8 не являются таковыми. Области
жесткой устойчивости показаны на рис. 2.
В модифицированном итерационном процессе Ньютона —
Рафсона на каждом шаге необходимо решать неявную систему
Гл. 12. Методы экстраполяции. Сравнение методов 151
(нелинейных) уравнений. Энрайт использует следующий
процесс:
!?> + Уя+ы + L Р/я+/. т = 0, 1, ..., (4.4)
/==0
где
Матрица Wn+* вычисляется лишь тогда, когда это необходимо
для сходимости или когда меняется величина шага либо
порядок метода. Заметим, что при решении нелинейных задач для
вычисления второй производной
<// (т) — J!L (i,(m) \ . </
Уп+k ду \Уп+к) Уп
(т)
п+k
требуется перевычисление матрицы Якоби на каждой без
исключения итерации. Кроме того, при вычислении итерационной
матрицы Wn+k не учитывается изменение (д/ду) (df/dy) •*/'.
Хотя методы Энрайта обладают большей точностью и более
устойчивы, чем методы дифференцирования назад,
необходимость вычисления матрицы Якоби на каждой итерации и на
каждом шаге делает их слишком трудоемкими для решения
больших нелинейных систем дифференциальных уравнений.
Если, однако, матрица не перевычисляется, так что, например,
и" (m) ^ -EL (МО) \ . и' (т)
Уп+k ~ ду \Уп+к) Уп+к>
то эти методы по существу перестают быть методами,
использующими вторую производную, а превращаются в обобщенные
методы того типа, который был рассмотрен в предыдущем
параграфе.
12
МЕТОДЫ ЭКСТРАПОЛЯЦИИ ДЛЯ ЖЕСТКИХ СИСТЕМ.
СРАВНЕНИЕ МЕТОДОВ
1. ВВЕДЕНИЕ
Настоящая глава состоит из двух частей. В первой
излагается метод экстраполяции для жестких систем обыкновенных
дифференциальных уравнений. Этот метод не связан с методом
Грэгга — Булирша —Штёра для нежестких задач, и для него
требуются совершенно новые идеи.
Во второй части данной главы описывается структура
нескольких различных типов жестких задач, которые встречаются
152 Часть 2. Жесткие задачи
на практике. В заключение обсуждаются некоторые новые
результаты по качественному сравнению распространенных
алгоритмов.
2. МЕТОДЫ ЭКСТРАПОЛЯЦИИ ДЛЯ ЖЕСТКИХ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
Рассмотрим метод трапеций
У/1+i = Уп + (А/2) (/ (хп, уп) + f (*я+1, уа+1)) (2.1)
для получения численного решения задачи
Л (2.2)
в точках #o, Хи ...» xn, rj^e xk = x0 + kh. Было показано (Линд-
берг [1971а]), что если у е С2М+1 [х0, **] и
м
</о = У (*о) + I **А2' + О ^+0, (2.3)
*«i
то
№ = У fe) + Е ^ fe) A2i + О (ft^+i), (2.4)
i=i
где С/(х)е С2М+1-2/[хо, xN]. В самом деле, для функций а(х)
можно вывести и дифференциальное, и разностное уравнения
(Далквист и Линдберг [1973]). Например, С\(х) удовлетворяет
уравнению
с[ - (df/dy) сх = ^712, сх (х0) = cv (2.5)
Разложение (2.4) в степенные ряды образует основу для.
построения методов Л2-экстраполяции и методов последовательных
приближений.
В методе последовательных приближений одно за другим
вычисляются приближенные значения вектор-функций с\(х),
с2(х)у ... и затем используются ряды (2.4) для улучшения
приближения yk к y(Xk) для каждого значения k. Здесь этому
методу не уделяется особого внимания. В методе Л2-экстраполяции
для каждой точки t^{xi} мы вычисляем по формуле (2.1)
y(t, h) и y(t, Л/2) с шагом h и А/2 соответственно. Затем из
(2.4) мы видим, что если
У (/, h) = y (t, /г/2) + (у (/, Л/2) - у (t, /г))/3, (2.6)
то
м
У (/, h) = y(i)+2 dt (t) № + О (A2Af+i) (2.7)
для некоторых вектор-функций di(x)^ C2M+l~2i[x0f xn). Можно
придумать аналогичный процес для исключения последователь-
Гл. 12. Методы экстраполяции. Сравнение методов 153
ных степеней от /г2 в правой части уравнения (2.7), что дает
приближенное решение любого заданного порядка точности при
условии, что решение у является достаточно гладким.
Соотношения (2.6) и (2.7) являются основой методов экстраполяции
для жестких систем уравнений.
В программе IMPEX, описанной и усовершенствованной в
работах Линдберга [1972а, 1973], применяется не метод
трапеций, а сходный с ним неявный метод прямоугольников, т. е.
используется формула
Уп+г = Уп + hf fa+y,. (Уп + Уп+i)/2)- (2.8)
Для линейных задач с постоянными коэффициентами у' =
— Ау + Ь формулы (2.1) и (2.8) дают идентичные результаты,
и, действительно, для неявного метода прямоугольников имеет
место разложение (2.4) погрешности. Однако в случае (2.8)
дифференциальные уравнения для функций Ct{x) в (2.4) будет
несколько отличаться от соответствующих уравнений (2.5).
Известно, что метод трапеций является Л-устойчивым и неявный
метод прямоугольников обладает тем же свойством; это и
делает его пригодным для решения жестких уравнений.
Линдберг [1972] указал две причины, в силу которых
следует предпочесть метод прямоугольников. Он предположил, что
значения уп+\ в формулах (2.1) и (2.8) будут определяться с
помощью некоторого итерационного процесса, как в методе
Ньютона, и обнаружил, что в методе трапеций после вычисления
уп+\ необходимо вычислить f(xn+u Уп+\) для использования на
следующем шаге, тогда как в методе прямоугольников подобное
требование отсутствует. Для того чтобы проиллюстрировать
другую причину предпочтения неявного метода
прямоугольников, рассмотрим модельное уравнение у' = *к(х)у, где Х(х)<0,
так что |#(л')| уменьшается с увеличением х. Используя метод
трапеций, получаем
_^ \ + (h/2)K(xn)
Уп+1 — i-(*/2)M*n+i) Уп'
и для справедливости неравенства |#«+i|^|#n| необходимо
потребовать (Гурли [1970]), чтобы
Л[М*я+1)-М*я)]<4. (2.10)
Если 1к(хп)<%(Хп+\)> то это условие накладывает ограничение
на возможную длину шага. Для неявного метода
прямоугольников такого ограничения нет. Однако в гл. 11 были указаны
некоторые проблемы, возникающие в связи с методом
прямоугольников, и пока не ясно, какой из методов следует
использовать. Далквист [1975] предложил несколько новых идей для
154 Часть 2. Жесткие задачи
исследования устойчивости некоторого класса методов, который
содержит, в частности, и неявный метод прямоугольников.
Рассмотрим теперь модельную задачу
Уо, (2.11)
где q — комплексная постоянная, такая, что Re(?) < 0. Для
каждой из формул (2.1) и (2.8)
Уп+\— \-
Из (2.12) следует, что при Re(ft<7/2)< 0 мы имеем уп ~ (—1)я#о
и вместо затухающего (как ожидалось) решения (2.11)
получается осциллирующее решение. Обращаясь к гл. 9, вспоминаем,
что Re(ft^)<CO для тех компонент жесткой системы, которые
быстро затухают. Поэтому мы должны предпочесть
соответствующие затухающие компоненты приближенного решения.
Имея это в виду, мы предлагаем сглаживание приближенного
решения и, следовательно, как можно надеяться, подавление
соответствующих компонент. Линдберг [1971а] предложил
простую сглаживающую процедуру, а именно замену
приближенного решения уп на
ёп = (Уп-1 + 2уп + уп+1)/4. (2.13)
Заметим, что это сглаживание можно использовать двумя
совершенно различными способами. Можно использовать (2.8) для
вычисления у0, уи ..., yN, затем пассивно использовать
сглаживание (2.13) для улучшения этих значений. Наряду с этим
можно производить сглаживание после каждых п (^1) шагов и
затем активно использовать сглаженные значения для вычисления
следующих значений уь. В этом процессе активного
использования сглаженных значений мы должны вычислять уп+\ дважды:
первый раз до сглаживания для использования в (2.13), а
второй раз после сглаживания при продолжении вычислений
начиная с уп. Для модельного уравнения в силу (2.12) имеем
Уо
для всех п и, следовательно,
]п~\
У°~
~- (1 - hq/2)2 L 1 - hq/2] У^~ 1 - (hq/2)2 Уп' ^2Л4^
Аналогично если выполнить М активных сглаживаний между
Уо и yNi то получится
yN (сглаженное) = [1/(1 — (hq/2f)M]yN (несглаженное), (2.15)
Гл. 12. Методы экстраполяции. Сравнение методов 155
и мы видим, что в случае Re(hq/2) <C 0 сглаженное значение уы
можно в значительной мере подавить, применяя формулу (2.13)
достаточное число раз. Однако для нелинейных уравнений (2.2)
и для \qh/2\ < 1 мы не можем прийти к столь простому выводу.
При малых значениях q мы интересовались только точностью, а
сглаживание может ухудшить ее. Линдберг [1971b] исследовал
результат применения формулы (2.13) (и более точной
пятиточечной сглаживающей формулы). Рассматривая неоднородные
модельные уравнения, он показал, что процесс активного
сглаживания по формуле (2.13) гасит осциллирующую погрешность,
но* вводит новую осцилляцию порядка полной погрешности
дискретизации. В алгоритме IMPEX2, предложенном Линдбергом
[1973], используется в точности одно пассивное сглаживание по
формуле (2.13).
Вопрос о типе и количестве экстраполяции должен решаться
так же, как вопрос о типе и количестве сглаживаний. Напомним,
что в методе Грэга — Булирша — Штёра по существу делается
достаточное число экстраполяции для достижения требуемого
уровня точности, а значения, полученные в результате
экстраполяции, используются в дальнейшем интегрировании. При этом
мы можем столкнуться с некоторыми проблемами, связанными
с устойчивостью метода (Штеттер [1973]). Вместо этого в
алгоритмах IMPEX используется пассивная экстраполяция, а для
того чтобы облегчить задачу оценки погрешности вычисленных
значений, экстраполяция делается только один раз.
Следовательно, полная погрешность дискретизации этого метода
является величиной O(h4). Длина шага выбирается при помощи
оценки локальной погрешности экстраполированных значений.
Однако эти значения используются лишь как окончательный
результат, но не применяются в дальнейшем интегрировании.
В заключение этого параграфа укажем некоторые детали
организации вычислений в алгоритме IMPEX2 (Линдберг
[1973]). Для вычисления двух последовательностей значений
y(xk, h) и y(Xk, h/2), ft= 1, 2, ..., с шагами h и h/2
соответственно используется неявный метод прямоугольников. В свою
очередь для каждого k в результате решения уравнения (2.8)
модифицированным методом Ньютона получаются значения
y(Xk-\ + h/2, /г/2), y(xk,h/2) и y(xk,h). Таким образом, на
каждом «шаге», начиная с y(Xk-\, /г), мы делаем один шаг длины h
для получения y(Xk, h) и, начиная с y(Xk-u h/2), делаем два
шага длины h/2 для получения y(Xk, h/2). Как обычно, делается
попытка использовать одну и ту же матрицу Якоби df/dy для
такого числа шагов, какое только возможно в методе Ньютона,
На каждом шаге начальные значения для метода Ньютона
получаются при помощи экстраполяции значений, вычисленных
на предыдущем и настоящем шаге по мере их вычисления. Обе
156 Часть 2. Жесткие задачи
эти последовательности значений подвергаются пассивному
сглаживанию по формуле (2.13) и затем используются при
пассивной экстраполяции по формуле (2.6). На каждом шаге по этим
данным вычисляются точные оценки функции С\(х) в
разложении (2.4) для неявного метода прямоугольников и запоминается
решение y(x,h/2)t записанное через разности назад, и С\(х).
Линдберг [1972а] дает описание некоторой модернизированной
методики использования этих разностей в пошаговом алгоритме.
Использование этой информации при оценке погрешности и
выборе алгоритма описано Линдбергом [1972b], а использование
этих оценок при изменении шага рассмотрено Далквистом и
Линдбергом [1973]. Заметим, что большая часть этого
алгоритма стандартна и аналогична той, которая описана ранее для
многих других методов, однаке^способ изменения шага является
новым. Далквист и Линдберг [1973] указали, что для
изменения шага в точке хн необходимо интерполировать ранее
вычисленные значения.
Другие подходы состоят в том, чтобы интерполировать
сглаженные или несглаженные, а также экстраполированные или
неэкстраполированные значения. Однако все эти подходы могут
оказаться безуспешными, так как решающей является близость
решения, полученного с новым шагом Я, к решению,
сглаженному по предыдущим значениям, а для интерполируемых
значений это ничем не гарантировано. Основная идея,
использованная в IMPEX2, состоит в экстраполяции по значениям y(Xk, h)
и y(Xky h/2) для получения не того значения, которое дается
формулой (2.6) (и является экстраполяцией y{xk, 0)), а значений
y(Xk, Я) и y(Xk, И/2). Подробности приводятся Далквистом и
Линдбергом [1973]; суть дела состоит в том, что для любого
Я формула (2.6) заменяется формулой
to, Н) = у (xki h/2) + (4 {Hjhf -I) у to, ft) - у to, A/2))/3. (2.16)
Далквист и Линдберг показывают, что при этой экстраполяции
получаются значения гладкого решения.
3. СРАВНЕНИЕ МЕТОДОВ ДЛЯ ЖЕСТКИХ ЗАДАЧ
В этом параграфе мы сравним некоторые алгоритмы для
решения жестких систем обыкновенных дифференциальных
уравнений. После доклада Халла, Энрайта, Феллена и Седгвика
[1972], в котором сравнивались алгоритмы для нежестких
задач и были сделаны вполне надежные выводы, предпринимались
попытки сделать то же самое для алгоритмов решения жестких
уравнений. Ниже мы обсудим некоторые из этих попыток, но
заметим, что алгоритмы для жестких задач исследованы не
столь подробно, как для нежестких, и, вероятно, еще рано делать
какие-либо выводы. Сначала мы рассмотрим качественную
Гл. 12. Методы экстраполяции. Сравнение методов • 157
структуру некоторых типичных задач, так как нам кажется, что
невозможно обсуждать положительные стороны различных
алгоритмов без предварительной классификации решаемых задач.
В следующих двух главах рассматривается несколько частных
задач, и значительно больше задач описано в работе Бьюреля,
Далквиста, Линдберга, Линде и Одена [1970].
Возможно, первым и одним из наиболее важных вопросов
для жесткой задачи является степень ее нелинейности. В общем
случае для решения линейных задач не требуется особенно
сложных методов вроде описанных выше. Зачастую линейная
задача возникает на промежуточном этапе решения
дифференциального уравнения в частных производных. Матрица Якоби
(возможно зависящая от времени) системы дифференциальных
уравнений может быть большой и иметь специальную
ленточную структуру. В этом случае обычно лучше всего
рекомендовать метод, специально построенный для такой задачи.
Соответствующие методы рассматриваются в гл. 14.
Многие из тех задач, которые использовались с целью
сравнения, представляли собой небольшие, но нелинейные системы
дифференциальных уравнений. Энрайт, Халл и Линдберг [1974]
исследовали несколько таких задач и заметили, что поведение
алгоритма может зависеть от вида нелинейной связи компонент
решения. Например, они обнаружили, что в случае, когда
компоненты системы можно разделить на два класса — «быстро
осциллирующие» компоненты и «плавные» компоненты — и когда
в дифференциальных уравнениях для быстро осциллирующих
компонент содержатся существенно нелинейные члены,
зависящие от плавных компонент, то описанный выше в этой главе
алгоритм экстраполяционного типа приводит к
неудовлетворительным результатам. По существу это было предсказано Далк-
вистом и Линдбергом [1973].
Совершенно иные трудности возникают в случае больших
нелинейных жестких систем. Обычно матрица Якоби такой
системы является очень редко заполненной, и это обстоятельство
должно учитываться в любом хорошем алгоритме. Один из
алгоритмов был описан Гиром [1971с] и многие другие предложены
исследователями, работающими в области приложений, где
такие задачи возникают. Создание хороших универсальных
алгоритмов для больших нелинейных жестких задач должно быть
главной темой будущих исследований.
В нелинейных задачах нужно на каждом шаге использовать
тот или иной итерационный метод решения, например какой-
нибудь вариант метода Ньютона. В методе Ньютона необходимо
найти матрицу Якоби. и время от времени подправлять ее. Если
большая часть матрицы Якоби постоянна или практически
постоянна, как нередко случается после фазы быстрого изменения
158 Часть 2. Жесткие задачи
решения, то это обстоятельство можно использовать для
сокращения числа алгебраических преобразований матрицы (Роберт-
сон [1975]).
В некоторых задачах дифференциальное уравнение (2.2)
можно записать в виде
y' = Jy + g(x,y), (3.1)
где / (хотя бы локально) — постоянная матрица, в которой
содержится вся информация о жесткости задачи, a g — малый
нелинейный член. Были придуманы алгоритмы, в которых
делается попытка использовать информацию о матрице / так,
чтобы преобразовать данную задачу в нежесткую задачу.
Алгоритмами этого типа являются экстраполяционный метод Одена
[1971] и вариант метода Рунге — Кутты, предложенный Лоусо-
ном и Эйле [1972]. Последний метод кажется не очень
перспективным для нелинейных задач (Энрайт с соавторами [1974]).
Другим источником возможных трудностей для некоторых
алгоритмов является то, что у матрицы Якоби df/dy имеются
собственные значения Xi с большими мнимыми частями. Если
arg(X/)~:rt/2 для некоторого собственного значения Xt, то это
собственное значение может порождать сильно осциллирующую
компоненту в решении, и алгоритм должен обладать
способностью правильно и устойчиво воспроизводить эту компоненту.
Для любого метода это может быть достигнуто лишь за счет
выбора достаточно малого шага. Если в решении нет
осциллирующих компонент, то имеет значение только устойчивость и
метод, не являющийся Л-устойчивым, может давать плохие
результаты. Энрайт с соавторами [1974] показал, что их вариант
метода Гира не справляется с такими задачами. Это не
удивительно, так как используемая в методе Гира формула высокого
порядка недостаточно устойчива в окрестности мнимой оси.
Иногда можно использовать информацию о расположении
собственных значений матрицы Якоби. Например, если
собственные значения можно разбить на два множества, в которых
содержатся собственные значения приблизительно равной
величины, а величины собственных значений в разных множествах
отличаются значительно, то можно использовать метод,
специально приспособленный для этого случая. Экстраполяционный
метод Одена [1971] и методы экспоненциальной подгонки Лини-
гера и Уиллаби [1970] являются примерами таких методов.
В заключение мы проведем сравнение результатов
применения различных алгоритмов решения жестких систем. Сначала
приведем результат Линдберга [1974а]. Он рассматривал
задачу
0 KJ (3-2)
Гл. 12. Методы экстраполяции. Сравнение методов 159
и показал, что \\у\\2 уменьшается от 1.4 при /==0 до 4-1СН333
при / = 0.7, а затем увеличивается до Ю34744 при ^— 10. В
противоположность этому приближенное решение, вычисленное при
помощи метода Гира с допустимой локальной погрешностью
10~6, вначале уменьшается до 10~10 и затем изменяется мало.
Линдберг заметил, что это должно случаться с любым методом,
когда собственные значения матрицы Якоби меняют знак после
того отрезка, на котором решение быстро менялось, в силу чего
шаг, используемый в этой точке, является относительно
большим. Фактически он показал, почему метод Эйлера с разностью
назад и метод трапеций должны вести себя одинаково. Задачи
этого типа не включены в описанные ниже тесты.
Были сделаны две основные попытки сравнения методов для
жестких задач по той же методике, которой пользовались Халл
с соавторами [1972] для нежестких задач. Эти попытки
описаны в докладах Эйле [1972] и Энрайта с соавторами [1974].
Эйле [1972] сравнивает несколько неявных методов Рунге —
Кутты с явными методами Рунге—Кутты, использующими
явное вычисление матрицы Якоби, и с некоторым вариантом
метода Гира. В отличие от этого Энрайт с соавторами [1974]
сравнивают некоторый неявный метод Рунге — Кутты, явный метод
Рунге — Кутты, явно использующий матрицу Якоби, вариант
метода Гира, метод Энрайта, использующий вторую производную,
и экстраполяционный метод, основанный на методе трапеций.
В обоих докладах все методы сравниваются на большом числе
задач различных типов и, разумеется, некоторые из
рассматриваемых задач повторяются. Критерии сравнения в этих двух
докладах близки и включают, например, число вызовов
подпрограммы вычисления функции f (x, у) и число необходимых
обращений матрицы.
При выборе шага Энрайт с соавторами [1974] использовали
критерий средней погрешности на одном шаге. Имеются
некоторые указания (Линдберг [1974b]) на то, что такой способ
выбора шага может быть далек от оптимального. Как указывает
Энрайт с соавторами [1974], это, возможно, делает их
результаты гораздо менее реалистичными, нежели они могли бы быть,
но доказательствами того, что дело обстоит именно так, они не
располагают. В этих докладах не дается предпочтение какому-
либо одному методу, но, по-видимому, из них следует, что
методы Рунге — Кутты отнюдь не превосходят другие методы.
Линдберг [1973] сравнивал свой алгоритм IMPEX2 с
некоторыми алгоритмами из доклада Эйле, опять же не делая
каких-либо выводов. В этом сравнении использовались многие
различные варианты метода Гира. Крейги [1975] рассматривает
вариант метода Гира с разделенными разностями, теоретически
имеющий лучшие свойства устойчивости, чем первоначальная
1G0 Часть 2. Жесткие задачи
программа Гира (Гир [1971b]), в которой используются
взвешенные производные. Крейги сравнил свой алгоритм
разделенных разностей с программой Гира DIFSUB на примере
некоторых задач, взятых из работы Энрайта с соавторами [1974], но
не обнаружил между ними особого различия.
13
ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ СИСТЕМ ЖЕСТКИХ
ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
СПЕЦИАЛЬНОЙ СТРУКТУРЫ
1. ВВЕДЕНИЕ
В этой главе мы коснемся вопросов, связанных с численным
интегрированием систем дифференциальных уравнений первого
порядка в случае, когда у отдельных переменных время
ответной реакции значительно короче интервала, на котором
рассматривается поведение решения этой системы. Для таких систем
характерна «устойчивость» быстро реагирующих переменные в
том смысле, что если медленные переменные были в какой-то
момент «зажаты» (т. е. жестко фиксированы), то быстро
реагирующие переменные должны быстро стремиться к значениям
равновесия или оставаться около этих значений.
Системы уравнений, обладающие этими свойствами,
получаются в различных приложениях, включая химическую кинетику
(в частности, реакции, в которых образуются очень активные
промежуточные вещества), задачи управления и регулирования,
теорию электрических цепей и теорию тепло- и массопереноса.
Системы с быстрыми и медленными движениями по
определению являются жесткими и часто изучаются при помощи
численных методов. В гл. 9 было показано, что требования,
которые накладывает устойчивость, заставляют использовать
какой-либо неявный метод с целью достижения эффективности
за счет выбора оптимального шага (см., например, Робертсон
[1966], Далквист [1969] и Протеро и Робинсон [1974]).
Неявные методы включают в себя решение соответствующей
системы нелинейных алгебраических уравнений на каждом шаге
интегрирования, которая обычно решается модифицированным
методом Ньютона или методом фиксированной хорды, в котором
вычисление итерационной матрицы основано на приближении
f + В к матрице Якоби /' в некоторой окрестности решения. Ре-
бертсон и Уилльямс [1975] обратили внимание на
чувствительность предсказанных значений, полученных с использованием
вычисленных производных, и анализировали факторы, влияю-
Гл. 13. Системы жестких уравнений специальной структуры 161
щие на скорость локальной сходимости, особо подчеркивая роль
возмущения 5. Мы в общих чертах показали, что чем меньше В,
тем больше скорость сходимости. Обычно итерационная
матрица дает удовлетворительную сходимость на некотором числе
шагов интегрирования до тех пор, пока медленная сходимость
не заставит вычислить матрицу Якоби заново. Если система
большая, то соответствующие обращения или факторизация LU,
необходимые для решений итерационных уравнений, составляют
большую часть вычислений. В настоящей главе будет показано,
как избежать некоторых из этих операций в случае, когда
матрица Якоби обладает специальной структурой, что позволяет
восстановить удовлетворительную сходимость путем внесения
поправок в некоторую часть матрицы Якоби. Это дает нам
возможность легко и экономно получить приближенное решение
вместе с достаточными условиями сходимости и наилучшей
оценкой скорости сходимости, а также указать ту часть
матрицы Якоби, в которую надо внести поправки.
2. СПЕЦИАЛЬНАЯ СТРУКТУРА
Структура и общий характер нашей задачи тесно связаны
с теорией сингулярных возмущений задачи Коши. Рассмотрим
сначала простейший тип таких задач, состоящих из двух
скалярных уравнений вида
dx s: f ч
* У)
где е — малое положительное число и заданы начальные
условия. За качественным описанием поведения решения этой
системы мы отсылаем к книге Вазова [1965]. Достаточно сказать,что
при соответствующих условиях решение быстро достигает
е-окрестности кривой g(x,y)=0. Мы отождествляем
переменные х и у с медленным и быстрым движениями соответственно
и обнаруживаем, что элементы нижней строки матрицы Якоби
системы
( h и \
Ve lgx 8 lgyj
в общем случае гораздо больше элементов верхней строки.
Такая структура матрицы Якоби типична для задач
рассматриваемого вида. Мы, однако, не касаемся аналитических свойств
системы для предельных значений параметров. Заметим, что,
меняя местами строки и столбцы этой матрицы, ее можно
преобразовать в матрицу со значительно большим вторым столбцом.
6 Зак. 1335
162 Часть 2. Жесткие задача
Линейное преобразование зависимых переменных
дифференциального уравнения приводит к новой системе уравнений, матрица
Якоби которой аналогична исходной и соответствует операциям
перестановки строк и столбцов. На практике предпочтительнее
пользоваться столбцовой формой структуры.
Так как мы занимаемся по существу локальными свойствами
в окрестности решения в асимптотической области, где быстро
меняющиеся компоненты затухают, для наших целей удобнее
описание интересующих нас систем при помощи матрицы Якобн
и высших производных. Таким образом, нашу задачу можно
представить как задачу численного интегрирования уравнений
ll = f(y) У(0) = у0, y^R\ (2.1)
где матрица Якоби f имеет такие собственные значения %h
/=1,2,..., ft, что Re (Ki) < 0 и max [Re (A*)/Re (Ay)] велико.
Далее мы предполагаем, что у разделяется на две части:
(УЛ
W'
>Уг.
так что соответствующее разбиение /' по столбцам
удовлетворяет условию
Дальнейшие условия на /22 обеспечивают устойчивость
быстрых движений, связанных с #2- Если f меняется медленно, то
нет большой необходимости подправлять ее значения для
вычислительных целей. Если, однако, изменение f вдоль решения
влияет на сходимость и если неравенство (2.2) сохраняется
вдоль этого решения, то имеется возможность повышения
эффективности за счет внесения поправок лишь в часть f2
вектора ¥, Точнее говоря, (2.2) остается в силе в том интервале,
где dfldx или /"/' имеют такую же структуру, как и /7.
Вычислительная проблема решения таких систем, в
частности в асимптотической области, является по существу
проблемой эффективного решения системы нелинейных
алгебраических уравнений, так как формула интегрирования относится к
неявному типу. Таким образом, мы рассматриваем решение
уравнений вида
ib = O, Y>0, (2.3)
Гл. 13. Системы жестких уравнений специальной структуры 163
которые получаются б результате применения неявной формулы
численного интегрирования к уравнению (2.1). Здесь h
—величина шага, у— постоянная, связанная с конкретной формулой,
а я|? определяется некоторой комбинацией предыдущих значений
функции и производной. Практический метод решения этих
уравнений состоит в использовании метода фиксированной
хорды, который можно записать так:
/+1 = y*-A|-1F(/), £ = 0, 1, 2, ..., (2.4)
где у0 — заданное начальное приближение, а М —
невырожденная постоянная матрица, которую можно выбрать так, чтобы
она аппроксимировала производную в точке у*,
представляющей решение системы нелинейных уравнений. Таким образом,
M = F'(y*) + E (2.5)
для некоторого возмущения £, которое на практике обычно
задается формулой
E = M-F' (у*) = F* (у0) - F (/), (2.6)
где у0 — некоторое предварительно найденное значение решения
задачи (2.1).
В течение периода очень быстрого изменения решения
можно применять некоторую явную формулу (у = 0). В этом случае
никаких вопросов о решении уравнений не возникает; но если
изменения затухают, то интервал интегрирования, как правило,
продолжается до той точки, где уже существенно рассмотрение
устойчивости приближенного решения и должна применяться
некоторая неявная формула, такая, как (2.3). Для малых
значений шага h это уравнение можно удовлетворительно решить
методом простой итерации, что соответствует использованию
в (2.4) М=/. При дальнейшем увеличении интервала
сходимость этого метода ухудшается, но если F'(y) имеет
доминирующую диагональ, то сходимость можно восстановить,
положив М равной диагонали матрицы I —-hyf'(y) + E. В то же
время в большинстве случаев, когда величина шага
продолжает увеличиваться, необходимо взять сумму недиагональных
элементов /'. На этом этапе мы можем использовать специфику
структуры.
3. БЛОЧНОЕ ПРИБЛИЖЕННОЕ ОБРАЩЕНИЕ
Матрица ЛМ, используемая в итерационном методе (2.4),
является основным объектом нашего внимания и, как мы
отмечали, часто является результатом обращения или
соответствующей факторизации LU матрицы Якоби F'(y°) в некоторой точке
б*
164 Часть 2. Жесткие задачи
(УЛ
у0 приближенного решения. При данном разложении I I
зависимых переменных у мы берем соответствующее разложение
матрицы Якоби F':
'-(2 а-сл
и формально записывае*м обращение в виде
— (d — ca~lb)~ car1 (d —
б
J"
-, , • (3.2)
Напомним, что структура, введенная в (2.2), требует, чтобы b
и d были значительно «больше», чем а и с, и чтобы b и d в
большей мере зависели от изменений вдоль интегральной кривой.
Этим обуславливается рассмотрение итерационной матрицы
(с J (3.3)
Формально мы имеем
1
66Г1 Л
„-> )■
где 6i = d — cb.
Соответствующий итерационный процесс с учетом
разложения у и F записывается как
или (с учетом уравнений (2.3))
у\+I = Ay/, (у"
Для быстрых движений этот итерационный процесс имеет
тот же характер, что и метод Ньютона, а для медленных
движений похож на метод простой итерации с корректирующими
членами. Это достаточно точный алгоритм, если учесть, что
медленные движения имеют значительно большие временные
постоянные, так что простая итерация для уравнения с F\ = 0
быстро сходится, тогда как для быстрых движений, соответствую-
Гл. 13. Системы о/сестких уравнений специальной структуры 105
щих уравнению с F2 — O, для быстрой сходимости
итерационного процесса необходимо учитывать информацию о локальной
производной. Ниже будет приведен пример, показывающий
возможность успешного применения такого итерационного
процесса.
Чем меньше размерность 5i по сравнению с размерностью
полной матрицы М (/ь «С п\), тем значительнее экономия
вычислительных затрат. Это, однако, лишь один этап в процессе
интегрирования, так как при дальнейшем увеличении шага
станет целесообразным учет структуры блока а. Если а остается
диагонально доминирующим, то можно использовать и это
преимущество. Если a — ad + aey где аа — диагональная матрица,
то с помощью соответствующей модификации (3.4) можно
получить достаточно хорошую сходимость при минимуме
дополнительных вычислений. Кроме того, если приближение вида (3.4)
является подходящим для яг1, можно рассмотреть часть у\
вектора у с целью дальнейшего разложения на быстрые и
медленные составляющие. Этим способом в задаче можно ввести
некоторый спектр.
Когда применяется полное обращение, можно использовать
формулу Шермана — Моррисона — Вудбери (сравните Ортега и
Рейнболдт [1970]) для корректировки производных в блоке.
В последнем параграфе, посвященном сходимости, мы приведем
результаты, с помощью которых можно получить критерий
сравнения эффективности таких способов учета новой информации.
4. УРАВНЕНИЯ ХИМИЧЕСКОЙ КИНЕТИКИ
Химические реакции условно представляются стехиометриче-
скими уравнениями, в которых дается пропорция различных
химических веществ, участвующих в реакции. Таким образом, если
Yt — некоторое химическое вещество, то реакция представляется
«уравнением»
Ес^ = 0, (4.1)
где а/ ^ 0 для продукта реакции или для реагента
соответственно, а — стехиометрический вектор, который мы в
дальнейшем запишем как разность а = п — р, где я и р —
положительные векторы, соответствующие продуктам реакции и реагентам
соответственно, причем мы предполагаем, что ji,p; = O, i = l9
2, ... (в одной и той же реакции вещество не является и
продуктом реакции, и реагентом одновременно; катализаторы мы
не рассматриваем). В общем случае мы будем интересоваться
несколькими реакциями, которым можно сопоставить матрицу
а, столбцами которой являются стехиометрические векторы
166 Часть 2. Жесткие задачи
отдельных реакций. Если /-я реакция протекает со скоростью §/,
то концентрации химических веществ определяются формулой
у = уо + а1 (4.2)
где у—концентрации соответствующих веществ, а уо —
начальные концентрации. Дифференцируя это соотношение по
времени, получаем уравнение относительно скоростей
*/ = с4, (4.3)
где i — вектор г скоростей реакции. Для элементарных реакций
/-я компонента вектора г, соответствующая /-й реакции,
представляет собой произведение возведенных в соответствующие
стехиометрическому вектору степени концентраций веществ,
входящих в качестве реагентов. Учитывается также постоянный
член, так что
Г/ = */ПуЛ/. (4.4)
Это выражение скорости соответствует закону действующих
масс, a k — константа скорости реакции (рассматривается
случай изотермической реакции). Более подробное описание см.
в статье Ариса [1969], а для обстоятельного изучения вопроса
читатель может обратиться к серии "Comprehensive chemical
kinetics", ed. Bamford and Tipper (1969).
5. СВОЙСТВА СИСТЕМ КИНЕТИЧЕСКИХ РЕАКЦИЙ
Мы не указываем размерности векторов и матриц, входящих,
например, в (4.2), из-за разнообразия практически
встречающихся случаев.
Существенное требование заключается в том, что ранг а
максимален или, что равносильно, реакции образуют
независимую систему. Интересен случай, когда а представляет собой
квадратную матрицу неполного ранга. Предположим, например,
что рта=0, где [3т — некоторая подходящая матрица. Умножая
систему (4.3) на рт, мы видим, что эта система имеет несколько
линейных инвариантов. Такие инварианты допускают
непосредственную физическую интерпретацию с учетом сохранения
фрагментов веществ или групп веществ. Подобные соотношения
можно использовать для понижения порядка систем уравнений
относительно концентраций.
В противном случае или если это уже сделано, так что а •—
квадратная матрица полного ранга, очевидно, имеется две
системы дифференциальных уравнений, решения которых
описывают поведение рассматриваемой системы. Уравнения (4.3) и
(4.4) можно решить относительно вектора концентрации у.
Гл. 13. Системы жестких уравнений специальной структуры 167
При этом
1 = г, (5.1)
т. е. переменные, описывающие концентрацию, входят явным
образом, как и в (4.4), а г/ получаются из (4.2). Кроме
преимущества явной записи, система (5.1) имеет еще то преимущество,
что переменные £ монотонно возрастают и для них легко
получить оценки, тогда как переменные концентрации у, несмотря
на их положительность, анализируются не так просто.
Системы уравнений кинетических реакций имеют ряд
интересных особенностей: некоторые из этих особенностей
рассматривали Уэй и Пратер [1962], а также Крамбек [1970]. В
частности, для численного исследования представляет интерес вопрос
об асимптотической устойчивости. Один из методов определения
характеристик устойчивости основывается на функции Ляпунова.
В статистической механике имеются функции Гиббса,
выражающие свободную энергию и энтропию, которые дают примеры
функций Ляпунова применительно к конкретным
термодинамическим задачам. Для более полного ознакомления с этими
вопросами мы отсылаем к работе Уэя [1962].
6. БЫСТРЫЕ РЕАКЦИИ, СВЯЗАННЫЕ С БОЛЬШОЙ АКТИВНОСТЬЮ
ХИМИЧЕСКИХ ВЕЩЕСТВ
Пусть теперь вектор концентрации у разлагается в пару
(ух\
I I, так что компоненты у2 представляют собой концентрации
очень активных веществ.
Исходя из физических соображений, можно считать, что при
прочих равных условиях \\у2\\ <С llf/ill, т. е. что очень активные
вещества быстро вступают в реакцию и, следовательно, их
концентрации не бывают большими. Имеется соответствующее раз*
ложение ( 1 вектора скорости г на быстрые и медленные
реакции, причем г2— вектор скоростей реакций, в которых
участвуют очень активные вещества. Компоненты г2 включают
константы скорости реакции k, которые принимают соответственно
большие значения.
Теперь обратимся к матрице Якоби для системы уравнений
(4.3) относительно концентраций. Эту матрицу можно записать
так:
/ = <хг', (6.1)
где rf — производная вектора г:
Z& (6.2)
168 Часть 2. Жесткие задачи
Если //у — очень активное вещество, то уу1 велико и этот
элемент матрицы Якоби является относительно большим.
Используя соответствующее разбиение матрицы /, имеем
(дг\ . дг2 дг2
*' , „ дг2 дг2
По определению dri/dy2 = 0, так как медленная реакция не
может иметь в качестве реагента активное вещество. Формула
(6.3) «показывает», что столбцы, содержащие
дифференцирование по #2, много «больше» чем все остальные. Очень активные
вещества у2 оказывают существенное влияние на систему.
Таким образом, матрица Якоби подобных систем обладает
специальной структурой, рассмотренной в § 2, и имеется
благоприятная возможность применить экономичный итерационный
процесс (3.6). Далее, изменения в матрице Якоби связаны главным
образом с быстрыми реакциями, так что достаточно хорошую
сходимость можно обеспечить в основном внесением поправок
в соответствующие столбцы обратной матрицы.
Ясно, что уравнения химической кинетики с быстрыми и
медленными реакциями можно рассматривать как систему с
малым параметром е (или с большой константой реакции А),
что приводит к задачам, имеющим структуру сингулярных
возмущений.
Полагая е = 0, получаем редуцированную задачу, связанную
с полной задачей (см. § 2). В некоторых физических и
химических работах это приближение называют стационарным. Быстро
меняющиеся переменные вскоре приходят в равновесие, и их
поведение хорошо описывается алгебраическим уравнением
g(x, у) = 0. Штокмайер [1944] рассмотрел некоторые
приложения к кинетике процессов полимеризации. Левин и Ле-
винсон [1954] исследовали математические условия, при
которых это приближение правомерно. Хоппенстидт [1971] установил
дальнейшие свойства таких систем и разработал методы
решения типа методов пограничного слоя. Коул [1968] рассматривал
различные приложения, Хабетс [1974] исследовал
состоятельность теории сингулярных возмущений, поскольку стационарное
приближение используется не всегда правильно. Эдсберг [1974]
описал некоторые приложения и сравнил результаты с
результатами, полученными другими методами.
Лапидус, Айкен и Лью [1974] также рассматривали вывод
и численное решение систем с временной постоянной,
меняющейся в широких пределах. Методы разложения по параметру
для подобной задачи были развиты А. Б. Васильевой [1963] и
другими авторами и обобщены О'Малли [1971], Далквист [1969]
Гл. 13. Системы жестких уравнений специальной структуры 169
предложил некоторый численный метод решения такой задачи,
а Миранкер [1973] разработал численные методы решения
задач типа методов теории пограничного слоя и использовал их
для решения систем с малым параметром.
7. ПРИЛОЖЕНИЯ
Приведем примеры систем жестких дифференциальных
уравнений, в которых показывается определенная в (2.2) структура
матрицы Якоби со столбцевыми блоками весьма различных
«величин». Более подробное описание некоторых из
рассматриваемых здесь примеров и исчерпывающий обзор численных
методов решения жестких систем можно найти в работе Энрайта,
Халла и Линдберга [1974].
Пример 1. Гир [1969] рассматривает применение жестко
устойчивой формулы интегрирования, основанной на
аппроксимации производной при помощи разностей назад, и для
иллюстрации метода берет следующий пример (с переменой знака
где
/1==- 0.013^
/з = 0.013г/! — №Ру\Уз — 2.5
с начальными условиями
У(0) = \ 1
\0>
Этот пример взят из химической кинетики, а уз представляет
собой концентрацию очень активного вещества, являющегося
некоторым промежуточным продуктом в ходе реакции, и всегда
остается малым. Концентрация у\ монотонно убывает, а
концентрация у2 монотонно возрастает. Концентрация уъ возрастает
до некоторого максимума, после чего монотонно убывает.
Нетрудно показать, что у3<1.3-10-5. Матрица Якоби для
функции f дается формулой
( — 0.013 + 103#з 0 103уг \
0 2.5-103г/з 2.5 • 103//2 I.
0.013 + 103#з -2.5 • Ю3у3 -103г/! - 2.5 • Ю3у2/
В силу малости //з элементы последнего столбца этой
матрицы значительно больше, чем остальные. Концентрации у\ и
170 Часть 2. Жесткие задачи
у2, очевидно, связаны с медленными компонентами, тогда как
концентрация у$ отождествляется с быстрой компонентой.
В обозначениях, используемых при описании структуры в (2.1),
щ=2 и лг2 == 1. Процедура внесения поправок в матрицу,
связанная с блочным приближенным обращением (3.4), не требует
дальнейших обращений матриц. Это яснее всего видно в (3.6),
где бь будучи матрицей, требующей обращения, вырождается
в скаляр. Такой пример отлично показывает свойства матрицы
Якоби, типичные для систем, описывающих реакции химической
кинетики с очень активными промежуточными продуктами.
Другое обычное для систем кинетических реакций свойство
состоит в полиномиальном характере функции /. Здесь /
квадратична по у, так что /"— постоянный оператор и разность
Г(#°)"-"//(#*) линейна относительно у0 —у*. «Легко видеть, что
вследствие этого возмущение Е = F'(у0) — F'(у*) имеет ту же
структуру, что и матрица Якоби, так что внесение поправок
в матрицу М итерационного процесса и в соответствующую
обратную матрицу производится главным образом при изменении
Ух и #2 и лишь изредка при изменении */з-
Робертсон [1966] рассматривает похожую систему из
области кинетических реакций в трехмерном случае, где / — также
квадратичная форма. Эта система имеет инвариант, но в
других отношениях аналогична предыдущей.
Пример 2. Линдберг [1974] изучает четырехмерную
систему, в которой производные задаются следующим образом:
f 1 = —
причем
Если сделать замену переменных ц = Ру, где матрица Р
меняет местами 1 и 3, 2 и 4, то матрица Якоби переходит в
матрицу
-1
0
1
1
0
1
0
0
,-lf« I " * ° 2^4
P~4P=\
11 U — Й!Т|4
— ^Лз — 4^2Tl4
Гл. 13. Системы оюестких уравнений специальной структуры 171
Мы замечаем, что г)3 и т]4 связаны с быстрыми
компонентами, так что часть матрицы, в которую вносятся поправки,
можно ограничить третьим и четвертым столбцами. Со временем щ
становится достаточно малым, так что частое внесение
поправок требуется только в четвертый столбец и соответствующее
матричное обращение вырождается в скалярную операцию.
Метод фиксированной хорды для решения уравнения F(y) =
= 0 можно записать в виде
8. ЛОКАЛЬНАЯ СХОДИМОСТЬ МЕТОДА ФИКСИРОВАННОЙ ХОРДЫ
шения уравнения F(y)
= 0, 1,..., (8.1)
так,
(8.2)
где у0— заданный вектор, а матрицу М можно выбрать так,
чтобы она аппроксимировала производную в точке */*:
с некоторой погрешностью Е.
Достаточные условия локальной сходимости итерационного
процесса yk+l = G(yk) дает теорема Островского (Ортега и
Рейнболдт [1970]). В частности, они содержат важное
необходимое условие p(G'(#*))<l> где р — спектральный радиус, а
у*— некоторая фиксированная точка. В дальнейшем будет
показано, как его можно заменить другим легче проверяемым
условием, которое иногда накладывает более сильное ограничение
на спектральный радиус матрицы G'(y*). Будут рассмотрены
также некоторые модификации, которые могут ослабить это
ограничение и таким образом сохранить преимущество легкости
проверки условия, которое при практическом использовании не
оказывается слишком ограничительным.
Доказательства следующих теорем, а также другие
подробности содержатся во многих работах (см., например, Робертсон
[1975]).
Теорема 1. Пусть отображение F: Rn-+Rn в
итерационном процессе (8.1) дифференцируемо в точке у*, которая
является решением уравнений F(y) = 0. Пусть, далее, матрица
Г'(У*) невырожденна и возмущение Е удовлетворяет условию
(0 \Р{уТх\Л\Е\\<11ь
где || || — матричная норма, согласованная с нормой, заданной
в Rn. Тогда последовательность итераций {yk} определена
корректно и сходится к у* для всех у0, достаточно близких к у*.
Оценка спектрального радиуса матрицы G'(y*) имеет вид
\\М~ 1Е11 < "F' (У*]~Х Е" < Н р/ (у>)"1
172 Часть 2. Жесткие задачи
Следствие. Если Р и Q — невырожденные матрицы и для
итерационного процесса
QMP(zk+l-zk) = -QF(Pzk), 6 = 0, 1, ..., (8.4)
где z° = P-ly° задано, выполняются условия теоремы, то
итерационный процесс (8.1) локально сходится.
Замечание. Из следствия вытекает, что условие (i)
теоремы 1 можно заменить условием
(И) \р-1гиП-1(Г1\-]1<1БР\\<%
где Р и Q — невырожденные матрицы.
При этом получается следующая оценка спектрального
радиуса:
{У )}< iOP-^teV'Q
Если матрица М~1 в методе фиксированной хорды выбрана
близкой к обратной матрице Якоби, т.е. если
Ч^ (8.6)
то имеет место следующая теорема.
Теорема 2. Пусть отображение F: Rn-+Rn в
итерационном процессе (8.1) дифференцируемо в точке #*, которая
является решением уравнений Р(у) = 0. Пусть, далее, матрицы
F'(y*) и М невырожденны и выполняется условие
(ш) IIF (У*) II • II Г||< 1,
где W определяется формулой (8.6). Тогда последовательность
итераций {yk} определена корректно и сходится к у* для всех
у0, достаточно близких к у*.
Оценка спектрального радиуса матрицы G'(y*) дается
формулой
Р (О' (if)) < \\F' (у*) || 41W ||. (8.7)
Следствие. Пусть Р и Q — невырожденные матрицы, и
пусть для итерационного процесса (8.4), где z° = P-ly° задано,
выполнены условия теоремы; тогда итерационный процесс (8.1)
локально сходится.
Отсюда следует, что условие (iii) в теореме 2 можно
заменить условием
(iv) |V||
Соответствующая оценка спектрального радиуса такова:
IM1!. (8.8)
Гл. 13. Системы жестких уравнений специальной структуры 173
Две приведенные выше теоремы родственны, но независимы.
Нетрудно показать, что если выполнены условия теоремы 1, то
\\F'{y*)W\\ < 1, но частный случай, когда Е является
скалярным кратным F'(y*)y показывает, что условие (111) не всегда
справедливо. Точно так же условия теоремы 2 не влекут за
собой условие (i).
Заметим, наконец, что эффективность преобразований,
введенных в (8.4), состоит в получении легко проверяемой и
точной оценки спектрального радиуса p(G'(t/*)). Кроме того,
рассмотрение стремящихся к нулю частей Е позволяет нам точно
определить, как различный выбор матрицы М влияет на
сходимость.
9. ОЦЕНКА СПЕКТРАЛЬНОГО РАДИУСА И ОБУСЛОВЛЕННОСТЬ
МАТРИЦЫ F'
Матрица Якоби Fr жестких дифференциальных уравнений
имеет плохую обусловленность: %{?')= ||/7/||-Ц(/г/)"~111 велико
для достаточно больших h. Линейное преобразование
зависимых переменных у дает новую систему уравнений, матрица
Якоби которой подобна F' и, следовательно, имеет тот же спектр.
Матрица М уравнения (8.1), определяющая итерационный
процесс, имеет плохую оценку спектрального радиуса (Уилкинсон
[1965]), но дело можно улучшить с помощью
перестановки строк и столбцов (Бауэр [1963]). Такие перестановки можно
осуществить при помощи преобразований, которые мы ввели
в эквивалентном итерационном процессе (8.4). Оценку (8.3)
спектрального радиуса матрицы G'{y*) можно записать в виде
л (г/ (п*\\ - "(Р'
Отношение \\E\\l\\F'(y*) || интерпретируется как относительное
возмущение. Если число обусловленности к матрицы Якоби
можно уменьшить перестановкой строк и столбцов, не
производя обратного действия на относительное возмущение, то можно
улучшить оценку p(G/(r/*)). Соответствующую оценку
возмущения W обратной матрицы можно записать так:
Р ((У (у*)) < * № ОП) IIW ll/l F' (УТ11|. (9.2)
Отношение И^И/И/7'^*)-1!! интерпретируется как относительное
возмущение обратной матрицы, и можно сделать аналогичные
предыдущим замечания относительно улучшения этой оценки
при помощи матриц преобразований Р и Q.
174 Часть 2. Жесткие задачи
10. ЧИСЛЕННЫЕ РЕЗУЛЬТАТЫ
Систему жестких дифференциальных уравнений можно
численно решить с помощью стандартной программы,
разработанной в корпорации Империэл кемикал индастрис и
использующей алгоритм Робертсона [1967]. Короче говоря, используется
метод трапеций для интегрирования уравнений и метод
фиксированной хорды для решения нелинейных алгебраических
уравнений на каждом шаге. Предсказанные значения получаются
экстраполяцией значений функции способом, предложенным в
работе Робертсона и Уилльямса [1975], а автоматический
выбор шага и проверка точности осуществляются с помощью
критерия типа Милна.
Для достижения заданной точности, которая измеряется
разностью между последовательными итерациями, разрешается
делать самое большее четыре итерации. Если сходимость
оказывается неудовлетворительной, то вносятся поправки в обратную
матрицу при помощи вычисления матрицы Якоби в последней
полученной точке. Если после этого сходимость все еще остается
неудовлетворительной, то шаг уменьшается вдвое. После того
как сходимость достигнута, оценивают погрешность
аппроксимации и проводят дальнейшую коррекцию шага. Частоту, с
которой изменяется величина шага, необходимо ограничить
сверху для того, чтобы предотвратить излишние осцилляции длины
шага: увеличение ее при быстрой сходимости и уменьшение при
медленной сходимости.
Общей мерой суммарной работы при решении нелинейных
уравнений является число обращений матрицы и число
итераций. На эти параметры влияет число изменений длины шага,
так как новое обращение производится каждый раз, когда
меняется шаг. Однако при любом сравнении процедур внесения
поправок в обратную матрицу мы рассчитываем, что истинная
подгонка шага по соображениям точности использует общие
предпосылки, так как она определяется поведением решения
дифференциального уравнения. Следовательно, мы можем с
некоторой скидкой относить к этим параметрам разности в
различных процедурах внесения поправок. Как было указано выше,
эффективность любой процедуры внесения поправок зависит от
структуры задачи и меняется с величиной шага. Для достаточно
малых значений шага итерационная матрица М из (2.4) имеет
доминирующую диагональ, и при увеличении шага вполне
ощущается влияние структуры.
В этих иллюстративных вычислениях мы ограничиваемся
простой стратегией, чтобы показать возможную эффективность,
которая может быть достигнута использованием корректировки
обратной матрицы, допустимой для системы дифференциальных
уравнений заданной структуры.
Гл. 13. Системы оюестких уравнений специальной структуры 175
Рассмотрим поведение во времени шести химических
веществ Уь Уг, Уз, Yh P\ и Р2, участвующих в четырех химических
реакциях, которые общепринятым способом описываются
«уравнениями»
У, -Д. У2 + У3.
Т7 К"» ТГ I ГЧ * '
Обозначая концентрации химических веществ строчными
буквами, получаем систему дифференциальных уравнений
/ k{y{ ч
(10 011 k2y2y3 \
Н"- Н i-i 1 -1 • Н ^4 I (10-2)
-1
1
1
0
J
0
-1
1
0
0
1
J
0
-1
— 1
0
^4 I
^hy2ybJ
Столбцами матрицы а являются стехиометрические векторы
отдельных реакций, а компонентами вектора г — соответствующие
скорости; ki — константы скорости реакции. Мы изучаем
систему со следующими данными:
kr = (1<Г9, 10~7, 103, 109) и уг (0) = (2 • Ю-3, 0, 0, 0).
Матрица Якоби этой системы
0
0
вырожденна; соответствующий инвариант равен у2 — Уг — У\-
Это не влияет на вычисления в какой-либо значительной
степени, несмотря на то, что мы могли бы предпочесть уменьшение
порядка системы за счет усложнения правых частей уравнений.
Для стандартной формулы интегрирования, линейной
относительно значений функции и ее производной, Робертсон и Мак-
Кенн [1969] указали, что приближенные решения также
удовлетворяют инвариантным соотношениям, если пренебречь
ошибками округления.
176 Часть 2. Жесткие задачи
Заметим, что у2, Уг, У а — промежуточные продукты и что у3
и z/4 — очень активные вещества, как это видно по величинам
констант скорости k2, &з, &4 реакций 2, 3 и 4, в которых они
участвуют в качестве реагентов. Мы отождествляем быстрые
компоненты с уз и в меньшей степени с у4. Типичные значения
переменных таковы: ут=(2.10-3, 0.4-Ю-10, 0.2- Ю-11, 0.3-Ю-10),
Как указывает величина коэффициента k\, вещество у\ является
весьма неактивным. Вещество у^ в сто раз активнее, но все еще
гораздо менее активно, чем уг или у±. Для этой системы можно
физически обосновать структуру матрицы Якоби при помощи
понятий активных веществ и соответствующих быстрых
реакций, в которых они участвуют в качестве реагентов, и
подстановки соответствующих численных значений в матрицу Якоби.
Обращаясь теперь к матрице Якоби системы нелинейных
(а Ь\
уравнений F = 0 в ее блочном виде I , I, обнаруживаем,
что а является почти диагональной, имеет значительно меньшие
элементы и меняется гораздо медленнее, чем 6, с или d.
Поэтому мы полагаем, что в а поправки можно вносить реже, чем
в 6, с и d. Было выполнено четыре расчета в интервале от 0 до
105 с шагом таблицы 103 с различными способами внесения
поправок в обратную матрицу. Способ А соответствует
использованию а = I на протяжении всей работы и, следовательно, дает
итерационный процесс типа метода Ньютона для быстрых
компонент и простую итерацию для медленных компонент, как
в (3.6). В способе В первоначально а = /, а затем вносятся
поправки в блок а и выполняется полное обращение матрицы
Якоби каждый раз, когда возмущение £ц, соответствующее блоку
а, удовлетворяет неравенству ||£ц||«> > 72- Способ С похож на
В, но критерием внесения поправок является неравенство
Н-Ец||оо>- 1/2"Ю-"1. В способе D при неудовлетворительной
сходимости вносятся поправки в полную матрицу Якоби и
производится обращение этой матрицы.
Таким образом каждый раз, когда мы говорим об
обращении в А, В и С, это означает, что в обратную матрицу вносятся
поправки лишь по отношению к быстрым компонентам. Новое
вычисление полной обратной матрицы выполняется в том
случае, когда поправки вносятся в блок а.
Мы взяли итерационный процесс (NIT), программу
обращения (NINV) и подсчет внесения поправок в блок a (UPD) для
значений х от 0 до 104 с шагом 103. Результаты представлены
в табл. 1. Программа сначала использует явный метод
интегрирования, а затем переключается на метод трапеций. Для
обеспечения локальной точности 10~3 используется автоматический
выбор шага. Во всех случаях выполняется большое количество
Гл. 13. Системы жестких уравнений специальной структуры
177
итераций и обращений матрицы на первой части интервала, где
шаг первоначально мал, а затем возрастает на несколько
порядков до /i=102. Ясно, что в этой области а = 1 является
почти столь же хорошей аппроксимацией, как и использование
полной матрицы Якоби. На первых трех интервалах способы А
и В очень близки. Способы С и D также очень близки по своим
характеристикам.
Далее, величина шага в способе А ограничена в силу того,
что разрешается делать не более четырех итераций на шаге.
Обращения матрицы здесь связаны с тщетными попытками
увеличить интервал вдвое, после чего немедленно следует деление
этого интервала пополам. В способах В, С и D сходимость
остается удовлетворительной, причем в способах С и D выполняется
лишь одно обращение, связанное с увеличением интервала.
Таблица 1
Число обращений и итераций
q
Ю-3 х
1
2
3
4
5
6
7
8
9
10
Всего
NIT
816
26
19
23
23
23
23
23
23
23
1022
А
NINV
27
2
1
2
2
2
2
2
2
2
44
NIT
816
33
10
8
8
8
10
8
8
8
917
в
NINV
27
3
0
0
0
0
0
0
0
0
30
UPD
0
1
0
0
0
0
0
0
0
0
1
NIT
812
23
18
10
8
8
8
10
8
8
913
С
NINV
27
2
1
1
0
0
0
0
0
0
31
UPD
1
0
0
0
0
0
0
0
0
0
1
NIT
796
22
18
8
8
8
8
8
8
8
892
D
NINV
27
2
1
1
0
0
0
0
0
0
31
В таблице показано число итераций, обращений и полных
перевычислений матрицы, выполненных на указанном шаге
таблицы. В способах А, В и С программа NINV использует
несколько частичных обращений, тогда как в способе D
используется обращение полной матрицы. Величина UPD указывает
соответствующее число внесения поправок в блоки матрицы
Якоби, связанные с медленными компонентами (матрица а из
178 Часть 2. Жесткие задачи
(3.1)). Способы внесения поправок таковы:
А: а = /,
В: ||ЕпИ<72.
С: ||£i,||<I/2-10""1,
D: перевычисление полной матрицы.
Величина £ц представляет собой возмущение, связанное с
медленными компонентами и с тем, что для сходимости
разрешается сделать максимум четыре итерации на шаге.
Дальнейшие вычисления в интервале 104^х^105 показывают, что
длина шага в способе А остается ограниченной из-за медленной
сходимости. В способах С и D требуются еще примерно десять
обращений, каждое из которых является обращением полной
матрицы. Примерно такое же число обращений требуется в
способе В, но лишь три из них являются полными.
Подводя итог, отметим, что способ А удовлетворительно
сходится до момента л:=3-103, после чего способ В дает
практически такое же число итераций, как и способ D. Если в первой
части интервала используется способ А, а затем переключаются
на способ В, то требуется лишь одно полное и 30 «частичных»
обращений (сравните с 31 полным обращением в способе D).
В действительности, благодаря специальной структуре а, этот
блок на протяжении всей работы можно представлять в виде
диагональной матрицы, так что вычисление полной обратной
матрицы никогда не понадобится.
Этот пример показывает возможное увеличение
вычислительной эффективности, которое может быть достигнуто учетом
структуры возмущения Е при выборе способа внесения
поправок в матрицу. В общем случае увеличение эффективности
будет зависеть от области интегрирования, жесткости и структуры
дифференциальных уравнений, сходимости и критерия выбора
шага. Эта система уравнений является очень жесткой с четко
разделяющимися собственными значениями, соответствующими
медленным и быстрым компонентам. При таких условиях имеет
смысл аппроксимация а = 1. Это приводит к итерационному
процессу (3.6), соответствующему методу типа Ньютона для
быстрых компонент и простой итерации с коррекцией для
медленных компонент. Периодическое внесение поправок в а
(сведение Ей к нулю) приводит к дальнейшему увеличению
эффективности.
Заключение. Эффективность численных методов
решения жестких дифференциальных уравнений специальной
структуры увеличивается за счет использования соответствующих
Гл. 14. Параболические уравнения в частных производных 179
итерационных методов для решения неявных уравнений,
получающихся при численном интегрировании, и надлежащих
способов внесения поправок в обратную матрицу.
14
УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ
ПАРАБОЛИЧЕСКОГО ТИПА
1. ВВЕДЕНИЕ
В этой главе приведены различные методы решения
дифференциального уравнения
^ л tn= I 2 3 (11)
в некоторой области /?Х [я, Ь] с заданными начальными
условиями
и{х, а) = ио(х), x^R,
и граничными условиями при х е dR. Предполагается, что х =
= (*ь •••> xm)T^R, a R — открытое и ограниченное множество
с замкнутой границей dR.
При отсутствии конвективных членов уравнение (1.1)
представляет собой общий вид любого уравнения, описывающего
диффузию тепла или вещества. Если кц = кц{а), что имеет
место, например, в случае, когда коэффициент
теплопроводности зависит от температуры «, то уравнение (1.1) становится
нелинейным. Если коэффициент диффузии меняется от точки к
точке в области /?, то кц- = кц(х), а если он одинаков во всей
области /?, то уравнение (1.1) можно записать проще:
т
ди 1 V4* д2и i £ / \
dt = £-j дх\
В следующем параграфе будут намечены методы,
позволяющие свести уравнение (1.1) к системе обыкновенных
дифференциальных уравнений вида
(1.2)
где матрица В не обязательно будет единичной.
180 Часть 2. Жесткие задачи
2. КУСОЧНО ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ
Вероятно, наиболее распространенным способом приведения
уравнения в частных производных (1.1) к системе
обыкновенных дифференциальных уравнений (1.2) является одна из полу-
дискретных форм метода конечных элементов (Митчелл и Уэйт
[1976]), в которой используется разделяющая аппроксимация
вида
Zx). (2.1)
В качестве базисных функций ф/ используются кусочно
полиномиальные функции, определенные на области /?, которая
разбивается сеткой на множество малых элементов (см. рис. 1).
Такие функции обладают сравнительно небольшой глобальной
гладкостью в том смысле, что они могут быть непрерывны, но
иметь разрывы первых производных на границах элементов или
могут представлять собой функции из пространства С1 с
разрывными вторыми производными. Аналогичные кусочно
полиномиальные функции будут упоминаться далее в гл. 19 при
обсуждении решения краевых задач методом Галёркина. Следует
подчеркнуть, что если, например, базисные функции ф*(я)
представляют собой кусочно линейные функции, которые во
внутренних точках области заданы формулами
Ф/ (х) ••
0 при остальных значениях х,
то отсюда непосредственно следует, что имеют место равен*
ства
yt(t)=*Ufo9t), t>a, /=1, ..., N. (2.2)
Аналогично кусочно кубические функции, показанные на рис. 1,
приводят к 2N неизвестным функциям #*(/), *=1, ..., 2N, та«
ким, что при надлежащем упорядочении базисных функций
*/2*-i (0 = £/&, 0>
dU{lvt) (>a, /=1,..., N. (2.3)
= gj-^.
Мы не имеем возможности привести здесь все многочисленные
формы кусочно полиномиальных аппроксимаций и отсылаем
читателя, интересующегося ими, к работе Митчелла и Уэйта
[1976], где он сможет найти обширный перечень возможных
вариантов. Здесь будут рассмотрены только два наиболее распро-
Гл. 14. Параболические уравнения в частных производных 181
Рис 1.
страненных метода, а именно метод Галёркина и метод колло-
кацийу однако следует помнить, что возможны и другие
подходы, например метод наименьших квадратов (см. указанную
выше работу).
3. МЕТОД ГАЛЁРКИНА
В рассматриваемом варианте метода Галёркина, который
называют также методом Канторовича — Галёркина или
методом Фаедо —Галёркина (Стренг и Фикс [1973]), ищется слабое
182 Часть 2. Жесткие задачи
приближенное решение уравнения (1.1), т. е. решение уравнения
для каждой базисной функции qv, здесь введено скалярное
произведение
(и, v) = ^ и {х) v (х) dx
R
и предполагается, что все базисные функции удовлетворяют
граничному условию
и (х, i) = о, / s [а, 6], х €= OR.
Начальные условия для уравнения (3.1) имеют вид
(U (a), ty) = (uQ, ф;) для всех ср,. (3.2)
Таким образом, если приближенное решение ищется в виде
(2.1), то из уравнений (3.1) и (3.2) следует, что функции yi(t)
удовлетворяют системе уравнений (1.2), в которой В={6Р<7},
*р* = (Фр>Ф*). (3.3)
Ay = D(y).y, где D={dpg}t
причем
(3.5)
Тогда из соотношения (3.2) получаются начальные условия
где g= {(иОу ф/)}. Заметим, что определяемая уравнениями (3.1)
процедура аппроксимации обладает двумя важными свойствами,
а) Эти уравнения нужно интегрировать по всей области R.
Хотя процесс интегрирования сводится к интегрированию по
небольшому количеству элементов (поскольку ф/ отлично от
нуля лишь в некоторых элементах), при реализации любого
пошагового метода потребуется пересчет на каждом шаге по
времени правых частей системы уравнений (1.2). Если f —
нелинейная функция, то при этом появятся интегралы вида
Гл. 14. Параболические уравнения в частных производных 183
вычисление которых требует больших затрат машинного
времени, и, как показали практические расчеты (Хопкинс [1975]), при
использовании метода интегрирования с переменным шагом,
предназначенного для жестких систем обыкновенных
дифференциальных уравнений, большая часть времени расходуется на
вычисление этих интегралов.
Ь) Для получения приближенного решения уравнения
второго порядка (1.1) в соответствии с (3.1) требуется лишь
интегрируемость с квадратом первых производных, т. е. интеграл
ГС
) )
R
йхЬ\ ) ах
dxy[[
дх. дх, йх~Ь\ ) дх, дх.
должен существовать и быть конечным. Здесь предполагается,
что область R точно разбита на неперекрывающиеся элементы
Rs (s = l, ..., 5).
4. СХОДИМОСТЬ МЕТОДА ГАЛЁРКИНА
В данном параграфе приводится краткое описание
априорных оценок сходимости, полученных для непрерывных
аппроксимаций по Галёркину. Для любого t e [a, b] выполняется
неравенство вида
e, (4.1)
где введена норма
imiU=(">«>>
a h — параметр сетки; например, в одномерном случае
Целое число а представляет собой меру точности аппроксимации
функциями ф/; по сути дела это означает, что функцией вида
можно точно проинтерполировать полиномы степени а—1.
Доказательство этого утверждения тривиально при условии, что кц
не зависит от и и что функция / удовлетворяет условию
Липшица
Подробное изложение этого материала читатель может найти
в работе Томе и Вальбена [1975].
184 Часть 2. Жесткие задачи
5. МЕТОД КОЛ ЛОКАЦИЙ
В § 3 было указано, что два из наиболее важных свойств
метода Галёркина — это необходимость вычисления интегралов и
низкие требования к гладкости базисных функций. В отличие от
этого в методе коллокаций не нужно вычислять интегралы,
однако при решении уравнений второго порядка требуется
непрерывность (кусочная) вторых производных от базисных функций.
Таким образом, в методе коллокаций нельзя использовать
кусочно линейные функции и всегда используются кусочно
кубические полиномы (см. рис. 1).
Метод коллокаций состоит в том, что находится
приближенное решение вида (2.1), удовлетворяющее дифференциальному
уравнению (1.1) в конечном числе точек коллокаций. Если
аппроксимация решения содержит 2N кусочно кубических
базисных функций, то требуется 2N точек коллокаций. В качестве
этих точек берутся точки gi и g# (чтобы обеспечить выполнение
граничных условий) и по две точки (^ и £2*4-1) в каждом
подынтервале (?/, £/+i). Выбор положения этих точек играет
решающую роль в том случае, когда требуется получить такую же
оценку скорости сходимости по А, как и в (4.1). Неудачный
выбор точек коллокаций может привести также к вычислительной
неустойчивости. Следовательно, вопрос о положении этих точек
не является чисто академическим, а имеет вполне определенное
практическое значение. Дуглас и Дюпон [1973] показали, что
правильный выбор внутренних точек коллокаций определяется
формулами
т. е. что эти точки совпадают с нулями полинома Лежандра
второй степени, построенного на отрезке [|/, gi+i]« Дуглас и Дюпон
[1974] показали далее, что в общем случае кусочных полиномов
степени г в качестве точек коллокаций следует брать нули
полинома Лежандра степени г— 1.
Тогда при t e [a, b] аппроксимация решения кусочно
кубическими базисными функциями определяется при помощи
уравнения
N-1, * = &+*. k = 0, 1
с граничными условиями, заданными в точках х=\\ и х~\ц.
Таким образом, получаем, что функции yj(t) удовлетворяют
Гл. 14. Параболические уравнения в частных производных 185
системе уравнений (1.2), в которой (сравните с выражениями
(3.3)-(3.5))
(5.2)
р = 2,..., 2ЛГ-1, q=l,...,2N,
(5.3)
/ = {/(£/. Ер,/)Ь (5.4)
причем отсутствующие здесь первая и последняя строки
определяются видом граничных условий.
Для рассматриваемого варианта метода коллокаций Дуглас
и Дюпон [1974] получили априорные оценки сходимости вида
L^ma9 (5.5)
где введена норма
Можно показать, что оценки скорости сходимости метода Га-
лёркина и метода коллокаций ((4.1) и (5.5) соответственно)
можно улучшить в узлах сетки (так называемая
сверхсходимость этих методов). Проведенные численные эксперименты
(Хопкинс [1975]) показали, что при использовании метода
численного интегрирования, предназначенного для жестких систем
обыкновенных дифференциальных уравнений, точность обоих
рассматриваемых методов почти одинакова. Следует отметить,
что в обоих случаях матрицы В и D оказываются разреженными
и ленточными, а это можно использовать для получения
высокоэффективных вычислительных алгоритмов.
6. МЕТОД ПРЯМЫХ
Этот метод широко рассматривается в советской литературе
(см., например, книгу И. С. Березина и Н. П. Жидкова [1962,
1963]), однако практически игнорируется в других странах.
Уравнение в частных производных (1.1) сводится к системе
обыкновенных дифференциальных уравнений простой заменой
производных d/dxi по координатам конечно-разностными
аналогами. В качестве примера приведем рассмотренное в § 5
одномерное уравнение диффузии, которое можно заменить системой
уравнений
dy. 1
1Г = W {k &+1/2) (Уш -Уд~к &-1/2) Oft - Уi-x)} + f (Ур h> 0>
/ = 2, ..., tf-1. (6.1)
186 Часть 2. Жесткие задачи
совместно с граничными условиями при х = |i и х = |#.
Справедливость такой конечно-разностной замены будет подробнее
обсуждаться в главах, касающихся краевых задач, естественно,
при предположении, что t/i(t) представляет собой
аппроксимацию для w(g/, t). Функции tji(t) удовлетворяют системе
уравнений вида (1.2), но теперь B — I,aDnf также имеют очень
простой вид.
В следующей главе будет рассмотрен метод Нумерова. В этом
методе уравнение
y"(x) = f(x)
заменяется конечно-разностным уравнением
[y
Аналогичная процедура была предложена в работе Зафарул-
лаха [1970] для получения более точной формулировки метода
прямых. При этом подходе вместо конечно-разностного
уравнения (6.1) рассматривается следующее уравнение
(предполагается, что k постоянно):
= -р- {У1-х - 2Уг + yw} + ±{f {||-ь Ум) + 10/ (lh
Зафаруллах показал, что
где
Таким образом, данный метод, по-видимому, может
конкурировать с методом Галёркина или методом коллокаций с кусочно
кубическими базисными функциями, однако результаты
численных экспериментов пока не подтвердили это (Уэйт и Хопкинс
[1975]).
7. ЗАКЛЮЧЕНИЕ
Основное преимущество превращения уравнения с частными
производными в жесткую систему обыкновенных
дифференциальных уравнений заключается в том, что для нее существуют
хорошо разработанные алгоритмы. При этом оказывается
возможным получить эффективный метод решения уравнения в частных
Гл. 14. Параболические уравнения в частных производных 187
производных с переменным шагом интегрирования, что
обеспечивает некоторое регулирование скорости роста погрешности,
которое отсутствует в стандартных конечно-разностных методах,
например, в схеме Кранка — Николсона. Делались попытки
разработать конечно-разностные методы с переменным шагом
интегрирования, однако выбор шага оказывался грубым и
довольно неэффективным.
Пример практического использования метода прямых, а
также описание вычислительной процедуры приведен в
неопубликованной работе Зинковича и Мадсена.
Часть 3
КРАЕВЫЕ ЗАДАЧИ
15
КОНЕЧНО-РАЗНОСТНЫЕ МЕТОДЫ
1. ВВЕДЕНИЕ
Краевые задачи часто возникают в науке и технике (иногда
в результате разделения переменных в уравнениях с частными
производными). Хотя отличие между задачей Коши и задачами,
в которых граничные условия заданы в двух или нескольких
точках, может показаться незначительным, однако они
существенно различаются по своей трудности. В работе Робертса и
Шипмана [1972b, стр. 2] приведено несколько примеров,
иллюстрирующих это утверждение.
Общая теория достаточно развита для задачи Коши и
практически не разработана для краевых задач. Удается провести
доказательства теорем лишь для достаточных условий, а
доказательства для необходимых условий отсутствуют.
Методы решения краевых задач можно в целом разделить на
три основных класса:
(i) методы пристрелки;
(и) конечно-разностные методы;
(ш) вариационные методы, метод коллокаций и прочие.
Келлер написал весьма ценную статью [1975b], в которой
дан обзор всех этих методов. В данной главе мы ограничимся
рассмотрением методов пункта (ii); другие методы будут
рассмотрены ниже. Кроме того, не будем касаться вопросов,
связанных с наличием сингулярностей.
Следует отметить, что вообще говоря, порядок
дифференциального уравнения может быть равен произвольному целому
числу т, причем существует т граничных условий, которые
должны быть каким-либо образом распределены по меньшей
мере между двумя точками. В дальнейшем мы обычно будем
предполагать (если не оговорено обратное), что граничные
условия относятся к обоим концам отрезка.
Что касается дифференциальных уравнений высших
порядков, то, как известно, их можно свести к системам
дифференциальных уравнений первого порядка (см. гл. 1).
Гл. 15. Конечно-разностные методы 189
2. ОСНОВНЫЕ МЕТОДЫ
Применение конечно-разностных методов к краевым задачам
в основном сводится к довольно тривиальной процедуре. Любая
производная в дифференциальном уравнении заменяется
соответствующей конечно-разностной аппроксимацией.
В качестве первого примера рассмотрим следующую
краевую задачу:
У* - f (*, у, if) = О, у (а) = а, у (Ь) = р. (2.1)
Если ввести равномерную сетку, а именно положить
ЛГ, h = (b — a)/N, (2.2)
то простейшая разностная аппроксимация приведет к системе
конечно-разностных уравнений
- f(xnt уп, (ул+1-уя-1)/(2А)) = 0, 0<n<Ny
Уо = а, Улг = Р- (2.3)
Таким образом, приближенное решение получается в результате
решения полученной системы из N— 1 уравнений относительно
N — 1 неизвестных.
Если / в уравнении (2.1) не зависит от у\ то более точную
аппроксимацию обеспечивает метод Нумерова, который приводит
к следующей системе уравнений:
Ю/ (хп, уп) +
+ !(хп-иУп-\))П2 = 0, (2.4)
Уо = «, у^ = Р, 0<n<N.
В качестве второго примера рассмотрим систему
дифференциальных уравнений первого порядка
/-/(*, J/) = 0 (2.5)
с граничными условиями
8 (У (ah
Здесь у,/ и g—векторы размерности $. Простейшая
аппроксимация, детально изученная Келлером [1969, 1974], имеет вид
°' (2 6)
190 Часть 3. Краевые задачи
По определению погрешность дискретизации для данной
аппроксимации представляет собой вектор с компонентами
), уф)),
dn - {У (ДО - У (*e-i)}/* ~ f K-i/2> {У К) + У (*я-|)}/2>. (2.7)
Метод устойчив, если существуют такие постоянные К и Ао, что
для всех А ^ Ао и для всех сеточных вектор-функций # =
= (Уо,• •, */#) и 2= (го, ..., zN) в некоторой области
пространства с нормой
\\y — z\\— max \yn — zn\
имеет место неравенство
\\y-z\\<K\\Nhy--Nhz\\.
Приведенные выше определения по аналогии обобщаются и
на другие типы дискретизации, что и проделано в работе
Келлера и Уайта [1975], в которой излагается общая теория
конечно-разностных методов применительно к краевым задачам
(см. также Келлер [1975а]). Основной результат указанной
работы заключается в следующем.
В случае изолированных решений нелинейной задачи
конечно-разностная схема при достаточно малых А имеет
единственное решение, которое сходится к точному решению
дифференциальной задачи при условии, что
(i) линеаризованные конечно-разностные уравнения
устойчивы и аппроксимируют линеаризованную дифференциальную
задачу;
(И )линеаризоваиный конечно-разностный оператор
удовлетворяет условию Липшица;
(Hi) нелинейные конечно-разностные уравнения
аппроксимируют нелинейные дифференциальные уравнения.
Показано, что при достаточно малых А можно использовать
метод Ньютона, который из достаточно хорошего начального
приближения позволяет получить численное решение, причем
имеет место квадратичная скорость сходимости.
В работе указанных авторов показано также, что в полном
соответствии с результатами Крайса [1972] конечно-разностная
схема устойчива, если используемая в ней аппроксимация
«предельно компактна» (as compact as possible). Аппроксимация
называется предельно компактной, если для аппроксимации
дифференциального уравнения с наивысшими производными
порядка m каждое из конечно-разностных уравнений использует
только m + 1 значений сеточной вектор-функции уп. Таким об-
Гл. 15. Конечно-разностные методы 191
разом, конечно-разностные аппроксимации (2.3), (2.4) и (2.7)
являются предельно компактными, а следовательно,
соответствующие конечно-разностные схемы устойчивы. Эти схемы
аппроксимируют* исходные дифференциальные уравнения
соответственно со вторым, четвертым и вторым порядками относительно
шага равномерной сетки и поэтому сходятся с указанным
порядком. С другой стороны, существует вполне очевидная
аппроксимация уравнения у"— f{x,y) = O, обеспечивающая четвертый
порядок точности, а именно аппроксимация
(- Уп+2 + 1б0я+1 - 30уп + 160Я_, - г/„-2)/(12Л2) - f (хП) уп) = О,
не являющаяся предельно компактной.
Для иллюстрации рассмотрим дифференциальное уравнение
(2.1) и соответствующую ему конечно-разностную схему (2.3).
Линеаризованная форма уравнения (2.1) имеет вид
z" -p(x)z'-q(x)2 = r (x), z (а) = аь z (b) = ft, (2.8)
где z = y — у (у — функция, по которой линеаризуется (2.1)),
а, «а — £(а), $х = $ — у{Ь) и
РМ-6"*'"™*'™. q(x)-aflx'*%lf'M). (2.9)
r(x) = f{x9g{x), ?(*))-Fix).
Линеаризованные конечно-разностные уравнения таковы:
anZn-i + bnZn + cnzn+i—'--h2rn, zo = al9 ^=ft, (2.10)
где
xn), cn=-(l-(h/2)p(xj)9
( 0<n<N. {2Al)
Если теперь положить Р* = max \p(x)\ и потребовать, чтобы
<<6
при 0 < Q^q(x), а^л:<6,шаг сетки удовлетворял условию h ^
^ 2/Р*, то можно элементарно показать, что
конечно-разностная схема (2.10) устойчива (Келлер [1968], Изаксон и Келлер
[1966]). В данном случае в трехдиагональной системе
уравнений (2.10) имеет место диагональное преобладание, что
позволяет легко получить достаточно точное их решение.
3. РЕШЕНИЕ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
^Если дифференциальное уравнение и граничные условия
линейны, то линейными являются также уравнения,
получаемые в результате дискретизации, Например, дифференциальное
192 Часть 3. Краевые задачи
уравнение (2.8) приводит к треадиагональной системе уравнений
(2.10), причем матрица этой системы имеет структуру, типичную
для конечно-разностных методов. Если используется
аппроксимация низкого порядка, то матрица будет характеризоваться
малым числом ненулевых диагоналей, однако для достижения
хорошей точности шаг сетки h должен быть достаточно мал, что
приводит к большим размерам матрицы. Применение
аппроксимации высокого порядка во многих случаях позволяет
использовать матрицы меньшего размера, однако в получаемой при
этом матрице оказывается много ненулевых диагоналей и,
кроме того, необходимо тщательное исследование устойчивости.
Простота структуры получаемых уравнений представляет
собой одну из самых привлекательных особенностей
конечно-разностных методов, поэтому при использовании неравномерной
сетки или специальных видов аппроксимации вблизи границ
следует проявить особое внимание для сохранения этой
простоты. Келлер [1974] довольно подробно рассмотрел
эффективные способы решения систем линейных уравнений блочно-диаго-
нальными методами.
В нелинейном случае для решения получающихся в
результате дискретизации уравнений обычно используется
модифицированный метод Ньютона, который можно записать в
следующем виде:
1), (ЗЛ)
где сеточная функция F имеет N компонент, получаемых при
аппроксимации системы дифференциальных уравнений (2.5), и еще
одну компоненту, которая связана с граничными условиями,
причем если система (2.5) состоит из 5 уравнений, то каждая
из указанных TV + 1 компонент сама представляет 5-мерный
вектор. На практике вычисляемая для каждого yf~l матрица Якоби
Jt от функции F пересчитывается не на каждой итерации, а
только тогда, когда это требуется для обеспечения сходимости.
Таким образом, если итерации сходятся при фиксированной
матрице Якоби /, то ее пересчет и триангуляризация не
проводится, что приводит к значительной экономии машинного
времени.
Матрица Якоби / представляет собой квадратную матрицу
порядка (N-\-l)s. Это блочно-диагональная матрица,
состоящая из квадратных блоков порядка s, которые в общем случае
включают матрицу Якоби J[f(xn, yfn~l~\ функции f, входящей в
исходную систему дифференциальных уравнений.
Обратимся снова к конечно-разностной схеме (2.3). Она
представляет собой достаточно простой пример, в котором на
каждой итерации по методу Ньютона требуется решить систему
Гл. 15. Конечно-разностные методы 193
линейных уравнений
«Х-1 + Ьпе'п + спе'п.и = - (Л/У-1)^ (3#2)
е0 = <?;v = О, О < /г < iV,
где
причем коэффициенты a,h Ъп и сп задаются выражениями (2.11)
и (2.9), в которых производные от функции / вычисляются для
аргументов вида (*„, У*'1* {Уп~+\ ~ Уп-\)/(Щ-
Скорость сходимости итераций зависит от степени близости
выбранного начального приближения к решению, что вообще
свойственно методу Ньютона.
4. ЭКСТРАПОЛЯЦИЯ
Существуют два известных метода повышения порядка
конечно-разностной схемы, что позволяет улучшить ее точность.
Рассмотрим сначала экстраполяцию 1) применительно к
конечно-разностной аппроксимации (2.3) дифференциальной
задачи (2.1). В основе этого метода лежи г разложение
Уп = У (хп) + h2e (хп) + О (П 0 < п < N, (4.1)
где е(х) — решение уравнения
е" (х) - р (х) ег (х) - q (х) е (х)-г (х) = - -g- (•- /Г (х) + р (х) у"'(*)),
_ _ (4>2)
причем коэффициенты р, q и г задаются выражениями (2.9).
Вычисляя с помощью конечно-разностной схемы (2.3)
приближенное решение для двух значений шага сетки h = k и /г =*
= k/2 и подставляя эти решения в разложение (4.1), получаем
после исключения £(*«) уравнение
4/з (у*. w ~ if Ы) - 7з (Ул fc - У (О) = О (А*), (4.3)
ГДе //«, ^ и У2п, k/2 представляют собой решения, полученные
соответственно с шагом k и А/2. Из уравнения (4.3) находим
уточненное решение с погрешностью O(h4):
„ 0 < п< N.
Данный метод уже подробно обсуждался в гл. 7 в связи
с задачей Коши. Процесс экстраполяции можно повторять,
]) Этот метод часто называют методом Рупге. — Прим. перси,
7 Зак. 1335
194 Часть 3. Краевые задачи
используя для этого решения, получаемые для большего
количества значений шагов сетки, при условии достаточной
гладкости коэффициентов дифференциальных уравнений.
Келлер [1974] показал, что экстраполяцию можно
использовать в сочетании с модифицированным методом Эйлера (2.6)
для систем дифференциальных уравнений первого порядка даже
в тех случаях, когда функция f(x,y) или ее производные имеют
разрывы при заданных х или когда используется
неравномерная сетка при условии, что величина шага сетки в любой точке
х задается выражением Q(x)h, где 0 (а:) —кусочно постоянная
функция, причем точки разрыва функций f{xty) и 0(,г)
являются узлами каждой из сеток.
При использовании метода экстраполяции снимается
вопрос о поиске хорошего начального приближения для решения
нелинейных алгебраических уравнений на более мелких сетках,
поскольку нулевую итерацию можно получить в результате
интерполяции уже известного решения на более грубой сетке.
5. МЕТОД ПОСЛЕДОВАТЕЛЬНЫХ ПРИБЛИЖЕНИЙ
Иным подходом к решению краевых задач является
предложенный Фоксом метод последовательных приближений,
теоретически обоснованный в работах Перейра [1966, 1967, 1968].
Недавно Лентини и Перейра [1974, 1975] опубликовали
программу на Фортране, в которой реализована методика решения
краевых задач для систем дифференциальных уравнений первого
порядка.
Часто говорят, что теоретическая основа данного метода за-
заключается в асимптотическом разложении для погрешности
(см. первый член разложения в (4.1)), однако это не так
(см. работу Уатта [1968], в которой дано также элементарное
изложение работы Перейра). Идея метода последовательных
приближений состоит в том, что конечно-разностный оператор
высокого порядка точности разбивается на две части: первая
представляет собой сравнительно простой устойчивый оператор,
как в (2.3) или (2.6), а вторая относительно мала: она имеет
порядки /г2, h4 и h2 соответственно для каждого из указанных
методов (см. формулы (2.3), (2.4) и (2.7)). Решение получается
в результате простых итераций.
Проиллюстрируем идею данного метода на примере
уравнения (2.1), однако для упрощения выкладок опустим зависимость
/ от у'. Используя аппроксимацию
Гл. 15. Конечно-разностные методы 195
где 6 представляет собой оператор центральной разности,
получаем соотношение
к }M-f(xa, у(хп))=о,
или
{у (хп+\) — 2у (хп) + у (x;!_i)}//i2 — / (хп, у (*„)) =
Обычная аппроксимация (ср. (2.3)) получается в результате
отбрасывания правой части и решения полученных уравнений
относительно {ijn}. Однако в методе последовательных
приближений приближенные решения {у°А, {УХЛ> {У2п} находятся одно за
другим из уравнений
% 0<n<N, (5.2)
Здесь (Су°)п==0, и если п не слишком близко к N или 0, то
. (5.3)
Если п близко к 0 или N, то для вычисления {Суг~1)п, т. е.
п-и компоненты вектора, полученного в результате применения
оператора С к уг~\ требуется знание тех значений сеточной
функции уг~\ которые относятся к точкам, расположенным вне
отрезка 0 ^q ^N. В этом случае следует вместо выражения
(5.3) применять эквивалентные (асимметричные) формулы,
содержащие только известные значения функции угд~К В своей
работе Перейра использовал автоматические методы получения
коэффициентов соответствующих аппроксимаций.
Заметим, что в рассматриваемом способе аппроксимации С
имеет порядок Л2, и можно показать, что [yQ имеет
погрешность порядка /г*г+2. Данные результаты справедливы также и
тогда, когда при вычислении С используются конечные разности
с порядком до 62/Ч"2 включительно.
Если уравнения линейны, то их решение {угп} при г > О
можно легко найти, поскольку уже имеется треугольная
факторизация соответствующей матрицы. В нелинейном случае, когда
применяется модифицированный метод Ньютона, можно
использовать достаточно точную матрицу Якоби и ее факторизацию,
полученные из решения уравнений при предыдущем значении г.
196 Часть 3. Краевые задачи
16
МЕТОД ПРИСТРЕЛКИ ДЛЯ КРАЕВЫХ ЗАДАЧ
1. ОПИСАНИЕ ОСНОВНОГО МЕТОДА
Предположим, что имеется система обыкновенных
дифференциальных уравнений, для которой граничные условия заданы в
двух или нескольких точках отрезка. Предположим далее, что
система записана в нормальной форме, т. е. в виде уравнений
первого порядка, разрешенных относительно производных:
-dT^fiix* Уь Уъ ...» ys)> i=l> 2, ..., 5
<1Л>
г/= fix, у).
Для нахождения единственного решения системы из s
дифференциальных уравнений первого порядка требуется s граничных
условий. Общая запись граничного условия представляет собой
нелинейное соотношение между значениями tji(x) в точках х==
= а, Ь, с, ... . Однако в большинстве случаев будем
рассматривать значительно более простую форму граничных условий, а
именно будем предполагать, что заданы граничные значения
самих искомых функций yi(x), причем часть из них известна в
точке а, а другая часть — в точке 6, которые являются
границами отрезка интегрирования. Пусть граничные условия имеют
вид
yt(a) = ah /=1, 2, ..., k,
т. е. при х = а задано k граничных условий, а остальные s — k
условий относятся к точке х = Ь, причем 0 < k < s. (Индексы
ik+u ik+2, ..., i8 различны между собой, но не обязательно
отличны от целых чисел 1,2, ..., k.)
Значительную часть практических примеров краевых задач
можно записать в виде (1.1), (1.2). Далее будут рассмотрены
два важных обобщения указанной постановки задачи, а именно
случай бесконечного интервала, например Ь -> оо, и случай
периодических граничных условий
yt(a) = yt{b), /=1,2, ..., 5. (1.3)
Снова обратимся к задаче (1.1), (1.2). Ее можно решить при
помощи методов решения задачи Коши, если удастся получить
достаточное количество краевых условий на одном из концов
отрезка интегрирования (при х = а или х = Ь)у т. е. если можно
получить значения всех 5 искомых функций yi{x) в точках а
Гл. 16. Метод пристрелки для краевых задач 197
пли Ь. Предположим, что удалось оценить те значения искомых
функций yi{x), которые не заданы в (1.2); тогда имеющаяся
информация достаточна для интегрирования системы
дифференциальных уравнений (1.1) как «вперед» (в сторону возрастания
аргумента от х — а), так и «назад» (в обратном направлении от
Xz=b). Если использованные оценки правильны, то два
полученных таким образом решения будут совпадать во внутренних
точках отрезка интегрирования. Поэтому задача состоит в
поэтапном улучшении первоначальных оценок для неизвестных
граничных условий до тех пор, пока решения не совпадут; в
этом и заключается суть метода пристрелки. Таким образом, в
исходной постановке дифференциальной задачи заданы 5
граничных значений, и такое же количество неизвестных граничных
значений следует приближенно оценить, чтобы можно было
начать процесс пристрелки. Будем называть эти неизвестные
величины параметрами задачи и обозначим их, скажем, через
ри Р2, ..., Ps> В результате получаем равенства
*, (U\ — п у — 19 h \\%ч
У t. \и/ — Ип •> — 1» ^> • • • > /с>
где все индексы i\, 12, ..., ik различны и отличаются от индексов
/*+ь •••» h в (1.2). Интегрирование вперед начинается от точки
х = а, причем в качестве начальных данных используются как
заданные значения аь аг, ..., а*, так и оценки рь+и ..., Р$>
Полученное таким образом решение уа{х\р) представляет
собой функцию от параметров р (точнее говоря, только от
параметров pk+u •> Ps). Аналогично этому при интегрировании
назад в качестве начальных данных в точке х = Ь используются
известные значения (3,- и оставшиеся параметры р/, а в
результате получается решение уъ{х\р). Оба решения вычисляются до
некоторой точки сшивания х=ш на отрезке [а,Ь]. Если
значения параметров р выбраны правильно, то в этой точке решения
должны совпадать, откуда получаются следующие уравнения
для определения р:
F (p)s У а (т\ р) — Уь (in; р) = 0. (1.5)
В общем случае эти уравнения сшивания представляют собой
нелинейные уравнения относительно 5 переменных pj и должны
решаться методом итераций Функция F(p) в явном виде не
известна, однако ее значения можно вычислить (по крайней мере
в принципе) для любого заданного р численным
интегрированием системы (1.1). При практических вычислениях, несомненно,
198 Часть 3. Краевые задача
могут возникнуть различного рода трудности, к обсуждению
которых мы еще вернемся.
Если в качестве точки сшивания m взята точка а или ft, то
можно сократить количество параметров и соответственно
количество уравнений в системе (1.5). Действительно, предположим,
что в качестве точки m выбрана точка а; тогда требуется найти
оценки значений всего лишь k параметров в точке х == &,
провести интегрирование назад и согласовать первые k компонент
вектор-функции уь{х\р) с заданными в точке а граничными
условиями. Для такого согласования нужно решить только k
нелинейных уравнений, причем отпадает необходимость проводить
интегрирование вперед.
Однако удобнее рассматривать данный метод с более общей
точки зрения и предполагать, что в качестве точки m взята
некоторая произвольная точка на отрезке между а и 6, что
приводит к полному набору из s уравнений в точке сшивания.
(Подобный подход также позволяет проще решать более широкий класс
задач, который будет рассмотрен ниже.) В том частном случае,
когда точка пг совпадает с а или 6, все выкладки по существу
не меняются, но некоторые из уравнений в (1.5) становятся
тривиальными.
Точку а или точку Ь нельзя всегда брать в качестве точек
сшивания, поскольку правильный выбор положения точки m
позволяет преодолеть некоторые трудности, которые возникают
в процессе практического интегрирования уравнений (1.1). Если
рассматриваемая система дифференциальных уравнений
неустойчива в одном направлении, то можно проводить интегрирование
в противоположном направлении, выбрав в качестве точки
сшивания соответствующий конец отрезка. Такой подход непригоден
в том случае, когда система неустойчива в обоих направлениях,
однако влияние неустойчивости можно минимизировать, смещая
точку сшивания к середине отрезка интегрирования. Более
сложные случаи неустойчивости требуют специального подхода,
который будет рассмотрен в § 4.
Если система дифференциальных уравнений (1.1) линейна,
то полученные при интегрировании вперед и назад решения
у а, Уь представляют собой линейные функции параметров р.
Тогда F(p) также является линейной функцией параметров р
и может быть записана в виде
F(p) = Ap-c = 0, (1.6)
где матрица А и вектор с первоначально неизвестны. Для того
чтобы найти решения уравнения (1.6), s + 1 векторов р^\ t —
— О, 1, ..., 5, выбираются так, чтобы их разности /?(0) — ри\
/== 1, 2, ..., 5, были линейно независимы. После этого
интегрированием системы уравнений (1.1) вычисляются соответствую-
Гл. 16. Метод пристрелки для краевых задач 199
щис значения F^ функции F(p). В результате получаются
уравнения
F®) = Ар® - с,
F^-F^^A{^-f>l /=1,2, ..., s, (1J)
из которых можно найти Л и с, а следовательно, решить
систему уравнений (1.6) относительно р. Однако в линейном
случае нет необходимости прибегать к специальной процедуре,
поскольку решение можно получить довольно просто (за один шаг)
при помощи общего итерационного метода, который будет описан
ниже.
В случае нелинейных дифференциальных уравнений система
уравнений (1.5) также является нелинейной. Всю задачу
можно разбить на три этапа: нахождение эффективного метода
вычисления F(p), выбор соответствующего итерационного метода
для решения уравнения (1.5) и подбор хорошего начального
приближения для р.
При вычислении F(p) часто к вполне удовлетворительным
результатам приводит какой-либо простой метод
интегрирования, например типа метода Рунге — Кутты, поскольку нет
необходимости получать решение с высокой точностью по крайней
мере на первых итерациях. В то же время используемый метод
должен включать достаточно надежную проверку погрешности,
чтобы обеспечить достаточную точность результата,
позволяющую продолжать процесс итерирования.
Привлекательность метода Рунге — Кутты обусловлена его
простотой и гибкостью, в особенности для коротких отрезков
интегрирования. Когда отрезок интегрирования велик, например
представляет собой полубесконечный интервал, причем
асимптотические условия достигаются не слишком быстро,
по-видимому, следует применять более эффективный метод высокого
порядка. Судя по опыту автора, входящие в краевые задачи
дифференциальные уравнения обычно не являются жесткими,
когда для них решают задачу Коши, а поэтому нет
необходимости в использовании специальных алгоритмов для жестких
уравнений, подобных методу Гира. Однако Гудерлей [1973] на
простом примере показал, что жесткость системы может
привести к трудностям при решении уравнений метода
инвариантного погружения (см. § 5 и гл. 17).
Подбор хорошего начального приближения может оказаться
наиболее трудным этапом в случае систем общего вида, поэтому
его рассмотрение лучше несколько отложить. Для решения
системы уравнений (1.5) обычно используется метод Ньютона или
один из его вариантов. Мы подробно обсудим этот вопрос после
разбора некоторых примеров краевых задач.
200 Часть 3. Краевые задачи
Общая сводка методов пристрелки для краевых задач с
условиями в двух точках приведена в книге Келлера [1968, гл. 2].
Там рассматриваются и условия, гарантирующие существование
решения, хотя эти условия имеют несколько ограниченное
применение на практике.
2. НЕКОТОРЫЕ ПРИМЕРЫ КРАЕВЫХ ЗАДАЧ
Рассмотрим первый простой пример краевой задачи с
условиями в двух точках:
y" = sby, //'(0) = 0, y(d) = c. (2.1)
Это уравнение получается из одномерного варианта
эллиптического уравнения
V2 h() (2.2)
которое выводится из уравнения Пуассона — Больцмана. Если
преобразовать (2.1) к нормальной форме, то получится
следующая система уравнений первого порядка:
У[ =
02 (0) = 0, ydd) = c.
Поскольку исходная задача является эллиптической, при
пошаговом интегрировании системы дифференциальных уравнений
(2.3) следует ожидать некоторой неустойчивости.
Интегрирование вперед от х = 0 или назад от х = d эквивалентно решению
задачи Коши для эллиптического уравнения, а известно, что
такой процесс неустойчив. Уравнения (2.3) имеют решения
экспоненциального вида, и на большом отрезке возрастающая
экспоненциальная составляющая быстро становится доминирующей в
численном решении. Следовательно, если провести
интегрирование вперед, исходя из двух независимых наборов начальных
данных при х = 0, то после прохождения некоторого отрезка
окажется, что процесс интегрирования приводит фактически к
одному и тому же решению. (Кроме того, если экспоненциальная
составляющая нарастает слишком быстро, то решение может
выйти за пределы разрядной сетки вычислительной машины,т.е.
произойдет переполнение арифметического устройства.)
Аналогичные рассуждения применимы и для интегрирования назад от
точки х = d.
В данном случае возникшее затруднение не является
непреодолимым, поскольку на не слишком большом отрезке
интегрирования можно сравнительно просто получить решение,
подавляя неустойчивость сшиванием решения в середине отрезка. В то
Гл. 16. Метсд пристрелки для краевых задач 201
же время данный пример показывает общий источник
трудностей, возникающих при использовании метода пристрелки для
краевых задач, которые часто имеют решения экспоненциального
вида.
Другой пример взят из теории пограничного слоя.
Исследование свободноконвективных течений приводит к следующей
системе обыкновенных дифференциальных уравнений (Шевчйк
[1964]):
/" + 3^"-2^ + z = 0,
z" + Зруг' = 0,
/(0) = 0 z(0) = 1 {2А)
Если данную систему записать в нормальной форме в виде
уравнений первого порядка, то получится система из пяти
дифференциальных уравнений. Специфической особенностью задачи
является наличие двух граничных условий на бесконечности, так
что требуется обеспечить правильное асимптотическое поведение
решения. Сначала необходимо оценить то значение х, скажем
х = /?, при котором решение выходит на асимптотику, а уже
после этого можно, как обычно, проводить интегрирование и
сшивание решения.
При интегрировании вперед решение вполне устойчиво, так
что сшивание можно проводить в конце отрезка интегрирования
при х = /?, однако следует отметить, что без хорошего
начального приближения для значений у"(0) и г'(0) трудно достичь
сходимости. После нахождения решения положение точки
сшивания R проверяется по поведению у и z при x-*R. У
правильного решения на последних шагах отрезка интегрирования у
почти постоянно, a z приближается к нулю. Если эти условия
не выполняются, то точку R следует сдвинуть в сторону
больших х, а затем повторить интегрирование, используя в качестве
начального приближения полученное ранее решение. В более
сложных задачах целесообразно провести более детальное
исследование поведения решения на бесконечности, при
необходимости используя затем его асимптотическую форму в качестве
граничного условия. Такой подход будет обсуждаться в гл. 18.
В качестве третьего примера рассмотрим уравнение Матье
с периодическими граничными условиями
Известно, что периодическое решение существует при
определенных значениях параметра а (Айне [1926]).
Дифференциальное уравнение линейно, и его решение можно получить при
202 Часть 3. Краевые задачи
помощи довольно простых методов при условии, что а не
слишком велико.
Если формулировать данную задачу применительно к методу
пристрелки, то следует в качестве параметров пристрелки взять
значения у(0) и #'(0); заметим при этом, что, поскольку
дифференциальное уравнение однородно, у(0) по существу
представляет собой масштабный множитель. Интегрируя вперед,
вычисляем решение уа(х;р), причем условия сшивания при # = 2я
получаются непосредственно из свойства периодичности решения;
значения параметров р определяются из этих условий обычным
образом. Однако значение у(0) не определяется, поскольку оба
параметра можно заменить одним, а именно отношением
у'(0)/у(0). Таким образом, данный случай требует несколько
иного подхода, чем обычно, однако это не приводит к каким-либо
затруднениям при решении.
3. РЕШЕНИЕ УРАВНЕНИЙ СШИВАНИЯ
Вернемся теперь к решению нелинейной системы уравнений
(1.5). Для решения подобных систем чаще всего применяется
итерационный метод Ньютона, который записывается в виде
pit+i) = pit) _ [/ (p«>)]-i F (р(О), (3.1)
где 1(р) представляет собой матрицу Якоби [dFi/dpj].
Вычисления начинаются с начального приближения р(0), на основе
которого последовательно вычисляются поправки с
использованием (3.1) в несколько преобразованной форме:
[/(p<«)](ptf+1)-p<«) = -F(p('>). (3.2)
Таким образом, мы получили систему линейных уравнений для
поправок к р('>; при невырожденной матрице Якоби можно найти
решение этой системы.
При использовании метода Ньютона требуется вычислить s
составляющих вектора F(p(f)) и s2 элементов матрицы Якоби
J(p(t)). Если точка сшивания решений находится в середине
отрезка интегрирования, то в силу (1.4) и (1.5)
6F. ду . (m) OF. dyh.(m)
Вычисление этих производных представляет собой самую
трудоемкую часть процедуры. Их значения можно найти двумя
способами: либо решая линеаризованные уравнения для системы
(1.1), либо аппроксимируя производные простыми разделенными
разностями.
Г'л. 16. Метод пристрелки для краевых задач 203
Рассмотрим сначала линеаризованные уравнения. Положим
Величины qij представляют собой функции от х и р,
определенные на отрезке [а, т] для / > k и на отрезке [т, Ь] для / ^ k.
Они удовлетворяют линеаризованным уравнениям
dqu dfi dfi df;
с граничными условиями
Таким образом, для определения ^7 необходимо
проинтегрировать вперед s — k систем из s линейных дифференциальных
уравнений на отрезке от а до /п, а также проинтегрировать
назад k систем из 5 линейных уравнений на отрезке от b до т.
Полученные в результате интегрирования значения цц при х = m
используются для вычисления элементов матрицы Якоби по
формулам (3.3).
При рассмотрении простой краевой задачи (такой, как (2.1))
сравнительно легко вывести линеаризованные уравнения (3.5)
и проинтегрировать их, что позволяет получить величины,
требуемые для метода Ньютона. В тех случаях, когда используются
линеаризованные уравнения, следует принимать во внимание их
линейность и находить из них цц каким-либо устойчивым
неявным методом. Райли, Беннет и Мак-Кормик [1967] рассмотрели
возможность использования для этой цели методов численного
интегрирования с высоким порядком точности. Однако многие
системы значительно сложнее, чем (2.1), и нахождение
линеаризованных уравнений представляет собой довольно сложную
алгебраическую процедуру.
Вместо вычисления цц можно заменить производные
разделенными разностями
в которых зависимость F(p) от остальных компонент вектора р
игнорируется. Для того чтобы приближенно получить матрицу
Якоби, которая потом подставляется в (3.2), необходимо 5+1
раз проинтегрировать исходное дифференциальное уравнение.
Один раз интегрирование проводится с текущими значениями
параметров р/, а затем значению каждого из s параметров по
204 Часть 3. Краевые задачи
очереди придают возмущение и каждый раз интегрируют.
Количество интегрирований в точности совпадает с их количеством
в методе линеаризации уравнений, однако в данном случае
каждый раз интегрируется одна и та же система уравнений (1.1),
что упрощает программирование. Как и в методе линеаризации
уравнений, каждое интегрирование следует проводить только
до точки сшивания решения.
При использовании метода конечных разностей возникает
вопрос о практическом способе выбора подходящей величины
вариации бр/. Уравнения (1.1) интегрируются численно, и,
следовательно, на величину F(p) оказывают влияние погрешность
округления и погрешность аппроксимации. Если предположить,
что метод численного интегрирования включает надежную
процедуру для контроля точности, которая в общем случае
обеспечивает ограниченность локальной погрешности, так что
последняя не превосходит некоторого заданного предела, то вариация
бр/ должна существенно превышать этот предел. В
противоположном случае доминирующую роль в конечно-разностном
представлении (3.7) будет играть погрешность аппроксимации.
Однако метод конечных разностей даже при выполнении
указанной рекомендации может привести к серьезным затруднениям,
в особенности в тех задачах, которые в некоторой степени
неустойчивы. Эти затруднения связаны со слабым влиянием
вариации одного из параметров. В трудных случаях в приближенной
матрице Якоби появляется несколько очень малых элементов,
так что она становится почти вырожденной. Если возникает
такая ситуация, то можно попробовать использовать метод
линеаризации уравнений, но это не обязательно гарантирует лучшие
результаты, поскольку уравнения (3.5) могут оказаться такими
же неустойчивыми, как и исходная система уравнений.
Вопрос сходимости метода Ньютона рассмотрен в книге Ор-
тега и Рейнболдта [1970, § 10.2]. Известно, что вблизи решения
(отвечающего определенным условиям регулярности) итерации
характеризуются квадратичной скоростью сходимости, однако
на практике это обычно не существенно, поскольку при решении
краевой задачи основная часть машинного времени
затрачивается на поиск хорошего начального приближения к решению. До
тех пор пока итерации не приблизятся к решению, метод
Ньютона может сходиться сравнительно медленно, так что во многих
случаях целесообразно его модифицировать в соответствии с
приведенными далее рекомендациями. Теоретически метод
Ньютона при использовании конечных разностей характеризуется
более медленной, чем квадратичная, скоростью сходимости вблизи
решения (см. Ортега и Рейнболдт [1970, § 11.2]), однако
практически его поведение мало отличается от дифференциального
метода Ньютона. Оба метода состоятельны в тех случаях, когда
Гл. 16. Метод пристрелки для краевых задач 205
решение не является изолированным (т. е. когда оно близко к
точке ветвления по отношению к некоторому параметру).
Для решения краевых задач был предложен целый ряд
вариантов метода Ньютона. Один из удачных вариантов
заключается во введении в итерационную схему (3.1) некоторого
демпфирующего множителя Kt, так чтобы норма F(p) уменьшалась
на каждом шаге. Эту модификацию можно записать в виде
p(W) = pm _ h {J (p(*))]-i F {pv))f (3>8)
где множитель Kt (обычно kt ^ 1) выбирается из условия
выполнения неравенства ||/7(р(^"1)Ц<||/'(р(0) ||. Некоторые меры
предосторожности, подобные этой, существенны в том случае, когда
метод Ньютона используется с плохим начальным
приближением, поскольку при отсутствии должного контроля итерации
могут легко разойтись.
Другой способ введения демпфирующего множителя задается
формулой
pit) _ [/ (pit)) + ^/]-i p до*)). (3.9)
Здесь также параметр \it может быть использован для
уменьшения И/^р)!! на каждом шаге. Кроме того, его можно
использовать для внесения регуляризующих возмущений в задачу в том
случае, когда матрица Якоби /(/?) вырожденна или плохо
обусловлена при определенных значениях параметра р. Выбор
параметров Kt в (3.8) или щ в (3.9) часто осуществляется
эмпирически в соответствии с указанными условиями, однако
практически эти два метода могут быть очень эффективными.
При определенных ограничениях на значения параметров %t и
[it скорость сходимости итераций превышает линейную; см. Ор-
тега и Рейнболдт [1970, § 11.2].
В тех случаях, когда основная задача заключается в
нахождении корня, исходя из плохого начального приближения, можно
предложить более общий подход, рассматривая ее как задачу
минимизации функций. Если положить
1
(зло)
то значение параметра р, удовлетворяющее уравнению /7(р) = 0.
будет давать также минимум положительно определенной
функции 5(р). Градиент функции S(p) равен 2[/(p)]TF(p), так что
метод наискорейшего спуска для минимизации (3.10) приводит
к соотношению
/» «(№), (3,11)
206 Часть 3. Краевые задачи
где а*—длина шага, а /г = /(р(0)- Величину шага щ можно
выбрать при помощи одномерной минимизации. Матрица вторых
производных от функции S(p) такова:
[%] (ЗЛ2)
Пренебрегая вторым членом в правой части равенства (можно
ожидать, что вблизи решения он будет мал), получаем метод
минимизации Гаусса — Ньютона
p*+t> = p*-[rtJtYlrtF(pm). (3.13)
основанный на квадратичной аппроксимации функции S(p).
Этот метод сводится к методу Ньютона для решения уравнения
F(p) = 0 в том случае, когда J— квадратная матрица.
Метод наискорейшего спуска может обеспечивать наилучшие
результаты в начальной стадии минимизации, поскольку он
гарантирует уменьшение S(p). Однако по мере приближения к
точке минимума его скорость сходимости обычно становится
неприемлемо низкой. Более эффективный метод получается в
результате следующей комбинации (3.11) и (3.13):
/•»> = р«> - [j]jt + xtiYl j]F (Л; (з.н)
см. Марквардт [1963]. При больших значениях параметра fa
этот метод эквивалентен методу наискорейшего спуска с малым
шагом, при малых Kt он соответствует методу Гаусса —
Ньютона.
Описанный здесь подход является основой некоторых недавно
разработанных и хорошо себя зарекомендовавших алгоритмов
решения нелинейных алгебраических уравнений, которые могут
быть использованы при решении краевых задач. Однако
совершенно не очевидно, что даже весьма изощренные методы
решения в полной мере используют специфические особенности
структуры уравнений (1.5).
В алгоритме из Библиотеки стандартных программ NAG
(Mark 4, D02ADA/F) используется только модифицированная
форма метода Ньютона (3.8), которая реализована следующим
образом: задается исходное приближение р(0), полагается ^ = 0
и выполняются описанные далее этапы вычислений.
(i) Методом исключения Гаусса с частичным выбором
главного элемента вычисляются матрица J(p{t)) и ее факторизация
LtUt треугольными матрицами, так что
PtJ(pW) = LtUt, (3.15)
где Pt — матрица перестановки.
Га 16. Метод пристрелки для краевых задач 207
(ii) Из соотношений
Ltz = -PtF{p<% Utw = z
находятся z и w.
(iii) Для i=l, 2, ... вычисляются
Pi=pm+Kw, h=ml~\
и когда
)h, (ЗЛб)
полагается pu+v = ph после чего выполняется пункт (iv).
(iv) Если выполняются неравенства || p{t) — p't+l) \\м < еи
\\F(p{t+l))\\2<e2i то расчет прекращается, причем в качестве
ответа берется значение р(*+1); если справедливо неравенство
\\F(Pi)\\K0A\\F(p^)\\l то полагается Pt+x = Pt, Lt+l = Lh
Ut+i = Ut и повторяется пункт (iii), в котором / заменяется
на /+1; в противоположном случае происходит переход к
пункту (i),причем /заменяется на /+1 (е\ и е2—
соответствующим образом выбранные величины для оценки погрешности).
Данный алгоритм представляет собой сочетание итераций по
Ньютону и метода минимизации и успешно применяется на
практике при условии, что выбрано достаточно хорошее
начальное приближение р(0). При плохом начальном приближении
часто отсутствует сходимость в пункте (iii) или не удается
вычислить факторизацию (3.15).
В Библиотеке стандартных программ NAG имеется целый ряд
общих методов решения нелинейных алгебраических уравнений.
Попытка использовать эти алгоритмы вместо описанного выше
показала отсутствие какого-либо существенного улучшения
рабочих характеристик. Фактически же во многих случаях рабочие
характеристики других методов оказались значительно хуже,
хотя можно ожидать, что эти методы можно усовершенствовать
применительно к частной форме уравнений (1.5).
Проблему решения уравнений сшивания (1.5) детально
исследовал Дёфлхард [1974]. Он использовал алгоритм, который
аналогичен только что описанному, но отличается от него в двух
важных отношениях: модифицирована функция S(p) в (3.10) и
в случае почти вырожденной J (p(t)) используется специальный
алгоритм. Дёфлхард заметил, что большинство алгоритмов
решения уравнения F(p) = 0 минимизируют функцию S(p) =
===11^'(р) 1Ь, и предложил вместо этого применять функцию S(p) =
= 1!Л/7(р) ||2, где А — подлежащая определению матрица.
Фактически он использовал линейное преобразование вектора F(p)
и показал, что наилучшие результаты обеспечивает А =[/(р)]~1.
Далее Дёфлхард доказал, что описанный ниже метод сходится
208 Часть 3. Краевые задачи
в целом при сравнительно слабых условиях, наложенных на F
и /, причем наиболее сильное из них требует равномерной
ограниченности II [/(р)]"1!! для всех рассматриваемых р (включая
р(0) и само решение).
Очередная (/-я) итерация заключается в вычислении
Ьр«) = - [/ (p(t))]~l F (p<% (3.17)
после чего полагается
/7<^м> = р«. + А,,Ар(0. (3.18)
где Xt заключено в пределах 0 < Лт1п ^ Я^ Ягаах ^ 1 и таково,
что
||[/ (p«Wl F(p^)\\2 < \\U (p{t))Vl F (P(i))l (3.19)
Следует указать на близость данного алгоритма к описанному
ранее. Значения кт\п и Ятах вычислить не просто, однако Дёфл-
хард отмечает, что оба они приближаются к единице по мере
приближения к решению. В практических расчетах он брал
Яшах = 1 и A,min = l/s или 1/\6. (Аналогичное практическое
допущение принято и в процедурах из Библиотеки стандартных
программ NAG.) Заметим, что условие (3.19) можно записать
в виде
HAp('+1)lb<IIApwll2, (3.20)
где
и оно используется именно в этой форме. Здесь имеется
аналогия с итеративным уточнением, при котором находятся поправки
к приближенным решениям линейных систем уравнений и
которое при обобщении на случай нелинейных систем уравнений
оказывается эквивалентно итерациям по Ньютону.
Когда матрица J (p{t)) вырожденна или почти вырожденна,
Дёфлхард предложил использовать вместо обратной матрицы
(J(p{t))]~l псевдообратную матрицу [/(р(0)]+. По определению
псевдообратной называется такая матрица /+ = [J{p(t))]+,
которая удовлетворяет соотношениям
J+JJ+ = J+, JJ+J = J, (j+jf = J+J, (//+)Т = Я+.
Он дал алгоритм для вычисления псевдообратной матрицы в
том случае, когда известен ранг s' матрицы У(р(/)), и рассмотрел
способы оценки s' при помощи известного алгоритма Бузингера
и Голуба [1965], который также можно использовать для
вычисления У+. Точное определение ранга матрицы представляет
собой очень трудную задачу, причем Дёфлхард отмечает, что
вычислительная неустойчивость отсутствует до тех пор, пока не
Гл. 16. Метод пристрелки для краевых задач 209
используется завышенная оценка ранга матрицы. Чем меньше
выбранное значение s\ тем меньше в общем случае становится
||/+||. Наблюдая за сходимостью алгоритма (3.17), (3.18) и
(3.20), можно определить, является ли завышенной
используемая оценка ранга s\ Если на каком-либо этапе не удается найти
такое значение Xt, которое обеспечивает выполнение
неравенства (3.20), то следует уменьшить s' и начать сначала. Когда
известно, что исходное приближение /?(0) представляет собой
плохую аппроксимацию решения, Дёфлхард предлагает сначала
взять малое значение s\ а затем в процессе итерирования
постепенно увеличивать его. Подробности можно найти в его
работе, которая включает некоторые интересные численные
примеры.
Теперь обсудим вкратце прочие проблемы, связанные с
методом пристрелки. Во многих случаях весьма критичен вопрос
выбора вектора хорошего начального приближения р(0). Когда
обычные математические методы оказываются неприемлемыми,
можно .предложить целый ряд чисто вычислительных подходов.
Ранее уже упоминался предложенный Дефлхардом способ
ведения расчета, при котором сначала берется заведомо
заниженное значение ранга матрицы Якоби, а по мере приближения к
решению это значение постепенно увеличивают. Приведенные
им примеры продемонстрировали плодотворность такого приема.
Из других методов следует назвать (i) параллельную
пристрелку (см. § 4), которая иногда позволяет использовать менее
точные начальные приближения, (И) алгоритм инвариантного
погружения (см. § 5), позволяющий получить решение со
сравнительно низкой точностью, которое далее может служить в
качестве начального приближения для основных расчетов, и (iii)
метод продолжения (гомотопический), который будет описан в
гл. 18. Метод продолжения и понижения ранга использовался
Дефлхардом в некоторых численных примерах.
Многие практически важные задачи заданы на бесконечном
интервале интегрирования; кроме того, в уравнениях могут
существовать особенности. Связанные с этим проблемы будут
подробно обсуждаться в гл. 18, однако здесь следует отметить, что
в случае неограниченного интервала интегрирования часто
бывают известны асимптотические значения для более чем 5
переменных, хотя лишь 5 граничных условий являются истинно
независимыми. В этом случае можно рассматривать минимизацию
И^ЧрЛЬ, где вектор F имеет 5 компонент, а число компонент
вектора р меньше s. Если соответствующая не квадратная
матрица Якоби J(p) имеет ранг, равный полной высоте столбца, тс
можно непосредственно применять метод Гаусса — Ньютона
(3.13). Судя по нашему опыту, указанный подход в целом
оказался не слишком эффективным, хотя в работе Няхтсхейма и
210 Часть 3, Краевые задачи
Свигерта (1965) показано, что в ряде случаев он может быть
полезен. По всей вероятности, основная трудность в применении
метода (3.13) к переопределенным системам заключается в
плохой обусловленности матрицы /т/, что представляет собой
известную проблему для аналогичных линейных уравнений метода
наименьших квадратов. Итерации вида
математически эквивалентны (3.13), однако при их аккуратном
применении возникает меньше затруднений с проблемой
вычислительной неустойчивости. Поэтому кажется вполне вероятным,
что в данной ситуации идеи Дёфлхарда также могут оказаться
весьма полезными.
4. МЕТОДЫ ПАРАЛЛЕЛЬНОЙ ПРИСТРЕЛКИ
В тех задачах, где интегрирование системы
дифференциальных уравнений (1.1) на отрезке [а, Ь] затруднено или
невозможно из-за неустойчивости, можно каким-либо способом
разбить этот отрезок на части. Наиболее распространенным
методом подобного типа является метод параллельной пристрелки;
см. Келлер [1968]. Рассмотрим некоторое разбиение
а = х0 < хх < х2 < ... < хп = Ъу (4.1)
в котором положения точек х\, Х2, ..., хп-\ выбираются в
соответствии с особенностями интегрирования системы уравнений
(1.1) на различных участках отрезка [а, Ь]. Это означает, что
точки Xi следует концентрировать в тех местах отрезка, где
систему уравнений (1.1) особенно трудно интегрировать;
подробности будут приведены ниже. Рассмотрим сначала вместо
условий (1.2) граничные условия более общего вида
а (4.2)
и введем обозначения
Д. = Х. - Х;_Ь t = (x
.,14 г и ч , г/ . , ч ч С4'3)
У\ (0 = »(*/-i + 'Д/)> // (*> У]) = Д// U/-i + ^Д/> У/)-
После указанной замены переменных система уравнений (1.1) и
граничные условия (4.2) приводятся к виду
-^■ = //(Л yi(t))> 0</< 1, /=1, 2, ..., л, (4.4)
и
Ау\ (0) + В//Л (1) = а. (4.5)
Г л 16. Метод пристрелки для краевых задач
211
Потребуем, чтобы в каждой внутренней точке решение было
непрерывным, т. е. чтобы выполнялись равенства
/=1. 2, .... н-1. (4.6)
Комбинируя уравнения (4.4) — (4.6), получаем систему
обыкновенных дифференциальных уравнений
dz а (4 у\ (\ <Г i <? \ (А1\
-JT — ё\*9 %)> ^N?v I, \4.i)
с граничными условиями
(4.8)
где
*(/) =
У1 (0
У2 (/)
g(t,z) =
Р г=
/i (t, Уд
/2 (t, Уг)
'.
fn(t,yn)
, Y —
0 0
/ 0
•
•
0 -
a
0
:
0
#
•
0
/
>
в
0
0
0
(4.9)
.0
К задаче (4.7) — (4.8) метод пристрелки можно применять
точно в том виде, как он описан в § 1. Это значит, что мы
попытаемся отыскать такой вектор р, чтобы решение и{р\ t) задачи
Коши
du -" и), и{р\ 0) = р (4.10)
удовлетворяло системе нелинейных алгебраических уравнений
1)-y = 0. (4.11)
Все высказанные ранее замечания по поводу решения
подобных систем относятся и к данной системе нелинейных
уравнений. Если используется метод Ньютона, то основное
итерационное уравнение имеет вид
а матрицу Якоби J(p) можно вычислить либо численным
дифференцированием, либо решая линеаризованные уравнения.
212 Часть 3. Краевые задачи
Линеаризованные уравнения для (4.10) можно получить
дифференцированием (4.10) но р, что дает
4г=ЖС "(Pi *))V> U(P> 0) = Л (4.13)
где (У — матрица порядка /is, a (4.12) можно переписать в виде
p«+i> = p</>_(p + Q£/(p<'>; I))"1/? (/?<'>)• (4Л4)
Заметим, что практически система (4.10) интегрируется как m
самостоятельных систем порядка s, а (4.13) —как п отдельных
систем порядка s X s.
Тесно связанные вопросы характера обусловленности
системы уравнений (4.11) и способа выбора положения точек xi
рассматривались рядом авторов. Келлер [1968] показал, что если
матрица (Л + В) невырожденна, то матрица (Р + Q) также
невырожденна. Более того, он показал, что матрица
(Р + QU(pW; 1)) невырожденна при условии
I (P + QVlQ LII V (P{t)i 1) - / L < 1 (4.15)
и выполняется неравенство
max | ехр( \к(х^х + /А7)Л) - 1 |, (4.16)
где k(x) —любая функция, такая, что
£(*)> a<x<b. (4.17)
Следовательно, чем теснее расположены точки хи в особенности
в тех частях отрезка [а, 6], где k(x) велико, тем больше будет
вероятность того, что матрица (Р + QU) окажется
невырожденной, и тем лучше будет обусловленность этой матрицы. В самом
деле, можно таким образом выбрать положения точек хи чтобы
обеспечить минимум выражения в первой части неравенства
(4.16); в этом состоит идея работы Джорджа и Гандерсона
[1972], в которой очень подробно рассмотрена система
линейных уравнений вида yf = A(x)y + f(x). Проведенный "в этой
работе анализ будет описан далее в гл. 17, однако отметим здесь,
что его можно применять и к нелинейным задачам. Вообще
говоря, требованию невырожденности матрицы (Р + Q) трудно
удовлетворить; например, при распадающихся граничных
условиях (1.2) матрица (А + В) невырожденна только в случае
ik = k. Однако для нахождения решения системы уравнений
(1.1) с граничными условиями (4.2) фактически необходимо
всего лишь, чтобы ранг матрицы [Л, В) равнялся 5. Именно это
свойство использовали в своей работе Джордж и Гандерсон.
Осборн [1974] также рассматривал способы выбора положения
Гл. 16. Метод пристрелки для краевых задач
213
точек Xi, обеспечивающие хорошую обусловленность матрицы
(Р + Q^)> показав при этом, что требуемое свойство
достигается, если длины отрезков Л/ -= х\ — #/-i достаточно малы для
всех /. Осборн рекомендует выбирать количество точек xi в
зависимости от величины || df/ду ||, а эта идея, очевидно, связана
с минимизацией выражения в правой части неравенства (4.16).
Мы уверены в том, что разработка простого практического
алгоритма для выбора положения точек xi явилась бы важным
шагом в развитии методов параллельной пристрелки.
Келлер [1968] предложил алгоритм для решения системы
уравнений
(Р + QU) Лр«> = - F (р<«), (4.18)
которая получается из итерационного уравнения (4.14). Этот
алгоритм использует блочную структуру матрицы (P-\-QU).
Ориентируясь на эту структуру, следует проявлять особую
осторожность, поскольку хорошая обусловленность матрицы
означает только то, что к ней можно применять обычный метод
исключения Гаусса. Если же используется алгоритм на основе
блочного исключения, то его следует дополнительно
проанализировать. Эту проблему обсуждали также Осборн [1974] и
Дёфлхард [1974], а также Вейс [1974], хотя следует отметить,
что рассмотренные им матрицы получаются при другом методе
решения краевых задач. Дёфлхард обобщил свой метод,
который был описан выше, на параллельную пристрелку с
граничными условиями общего вида (4.2).
В случае распадающихся граничных условий вида (1.2)
требуется найти только неизвестные граничные значения и
решения в точках Xi. В этом случае матрица (Р + QU) размером
п X s принимает вид
0
о
(4.19)
где ненулевые элементы расположены только внутри
выделенных блоков, каждый из которых имеет размеры sXs, за не-
214
Часть 3. Краевые задача
ключением первого блока размером k X s и последнего
размером (s-i)Xs. Добавляя блоки из нулей, можно привести
матрицу (4.19) к трехдиагональному виду
о
о
(4.20)
где каждый блок представляет собой матрицу размером s X $♦
Варах [1973] и Келлер [1974] рассмотрели устойчивость
процедуры блочно-трехдиагонального исключения для матрицы
(4.20), используя выбор главного элемента внутри
диагональных блоков, но не между блоками. Их результаты относятся к
конечно-разностной аппроксимации Келлера (см. гл. 15), и нам
не известно, проводился ли соответствующий анализ для
матриц, получающихся в методе параллельной пристрелки. Вейс
[1974] и Варах [1972] рассмотрели метод исключения для
матрицы вида (4.19), сохраняя при этом ее блочно-ленточную
структуру и используя такое сочетание выбора главного
элемента в строках и в столбцах, которое предназначено для
минимизации количества новых ненулевых элементов. Варах [1972] и
Келлер [1974] провели обсуждение эффективности указанных
двух процедур и пришли к заключению, что, как и следовало
ожидать, более эффективным является блочно-трехдиагональ-
ный метод. Однако, как уже было указано, устойчивость этого
алгоритма не исследована, тогда как устойчивость блочно-лен-
точного метода решения следует из хорошей обусловленности
матриц (Р + QU).
Пример практического применения метода параллельной
пристрелки приводится в работе Чебеки и Келлера [1971].
5. ПОЛУЧЕНИЕ ОЦЕНОК ГРАНИЧНЫХ ЗНАЧЕНИЙ
ПРИ ПОМОЩИ МЕТОДА ИНВАРИАНТНОГО ПОГРУЖЕНИЯ
Выше уже подчеркивалось, что основная трудность в
применении итерационных методов к решению системы (1.5) часто
заключается в оценке неизвестных граничных значений р. Су-
Гл. 16. Метод пристрелки для краевых задач 215
шествуют два метода решения этой проблемы, а именно метод
продолжения, который будет описан в гл. 18, и метод
инвариантного погружения, который вкратце рассмотрен в данном
параграфе. Наше изложение этого метода будет следовать
подходу Мейера [1973]; обращаем внимание читателей на гл. 17,
где проводится более подробное обсуждение метода
инвариантного погружения применительно к линейным задачам.
Используя индексацию из (1.2) и (1.4), имеем
(5.1)
и {х) = К W {) Щ
где предполагается, что для начала проведения пристрелки от
точки х = Ь требуется хорошее начальное приближение для
v(b). Запишем теперь задачу (1.1), (1.2) в виде
u' = f\(x, и, v), v' = f2(x, и, v), (5.2)
u(a) = Av(a) + g{, (5.3)
u(b) = g2, (F.4
где А представляет собой матрицу размером (s — &)Х&, a g\ и
g2 — векторы. Следуя Мейеру [1973], можно представить
алгоритм инвариантного погружения в виде следующей
последовательности операций.
Шаг 1. Проинтегрировать на отрезке [а,Ь] задачу Коши
"И"(л:' у) + Ж ^(*' "' ^ = ^1 (*' и> v)> /к ^
(о.о;
и (a, v) = Av(a) + g{.
Шаг 2. Решить систему нелинейных алгебраических
уравнений
u(b, v) = g2 (5 6)
и найти v(b).
Шаг 3. Решить задачу Коши
и' = /i {х, и, v), и {Ь) = g2,
■v' = f2 (x9 Uy v), v(b) = 6 (b) { }
в обратном направлении до х = а.
Для того чтобы решить уравнение (5.6), нужно иметь воз-
можность вычислять u(b,v) для любого v и решать систему
u(b,v) = g2. Эти обстоятельства, а также необходимость
решать систему гиперболических уравнений первого порядка (5,5)
относительно и для большого набора векторов v обусловливают
малость размерности k вектора v. Аналогично должна быть ма-
216 Часть 3. Краевые г.адачи
лой размерность вектора и, иначе объем вычислений будет
слишком велик. Уравнение (5.5) можно решать методом Лак-
са — Вендроффа или любым другим из устойчивых явных
методов, описанных Мейером. Если решения уравнений (5.5) и
(5.6) получены с достаточной точностью, то решение системы
обыкновенных дифференциальных уравнений (5.7) дает точное
решение системы (5.2) — (5.4). В любом случае полученное из
(5.6) значение v (b) должно представлять собой хорошую оценку
для истинного значения, а следовательно, его можно
использовать в качестве компонент вектора р для метода пристрелки.
Мейер [1973] привел несколько интересных численных
примеров небольших нелинейных систем уравнений вида (1.1), (1.2),
которые были решены методом инвариантного погружения;
полученные при этом значения можно использовать в качестве
исходного приближения при поиске более точных решений
методом пристрелки или методом параллельной пристрелки.
17
ЛИНЕЙНЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ
И ДИФФЕРЕНЦИАЛЬНЫЕ ЗАДАЧИ
НА СОБСТВЕННЫЕ ЗНАЧЕНИЯ
1. ВВЕДЕНИЕ
В данной главе вместо нелинейной краевой задачи
y' = f{x, у), Ву(а) + Су{Ь) = у9 а<*<6, (1.1)
будет рассматриваться более простая линейная задача
y' = A(x)y + f {x), By (а) + Су (Ь) = у, (1.2)
где А(х), В и С — квадратные матрицы порядка 5. По теории
этого вопроса существует обширная литература (см., например,
книгу Коддингтона и Левинсона [1955]). Действительно, в
случае постоянной матрицы А(х) =А можно построить явное
решение, которое для малой задачи можно даже вычислить. В
зависимости от конкретных особенностей системы уравнений (1.2)
было разработано большое количество методов, наиболее
полезные из которых будут описаны ниже.
Затем мы обратимся к линейной дифференциальной задаче
на собственные значения
у' = А (х9 Я) у, By (a) + Су (Ь) = О (1.3)
и обсудим, какие методы решения задачи (1.2) пригодны для
этого случая. Наконец, рассмотрим вкратце пример задачи на
Гл. 17. Линейные уравнения. Задачи на собственные значения 217
вычисление собственных значений а для уравнения
у' = А (х, Я, ц) у, By (а) + Су (Ь) = О (1.4)
как функций параметра ц.
2. МЕТОДЫ РЕШЕНИЯ ЛИНЕЙНЫХ КРАЕВЫХ ЗАДАЧ
Рассмотрим задачу (1.2), причем для простоты изложения
будем использовать распадающиеся краевые условия. Иначе
говоря, рассмотрим задачу о нахождении сектора у(х) =
= [i/i(*)i #2Mi •••, !fs(x)]T, удовлетворяющего уравнениям
(2.1)
и граничным условиям
iji(a) = ah /=1, 2, ..., *, (2.2)
УЧ(Ь) = ЬГ / = *+lt k + 2, ..., s, (2.3)
где 1 ^ ik+i < tft+2 < • • • is Ki 5. Конечно, можно было бы,
игнорируя линейность задачи (2.1) — (2.3), использовать любой
из методов, описанных ранее для нелинейных уравнений,
однако при этом не следует ожидать получения особо эффективного
алгоритма. Мы будем рассматривать главным образом частные
варианты метода пристрелки для задачи (2.1) — (2.3), однако
сначала отметим, что здесь применим и конечно-разностный
метод, возможно, в сочетании с экстраполяцией (Келлер [1969]),
как описано в гл. 15.
В этом методе для каждого значения длины шага
приходится решать систему линейных уравнений с ленточной матрицей.
Для достижения требуемой точности может потребоваться
решение больших систем линейных уравнений, и это неизбежно
приводит к сравнительно большим затратам памяти
вычислительной машины, особенно когда используется метод
экстраполяции. Однако конечно-разностные методы оказываются часто
более устойчивыми в случае задач эллиптического типа, чем
описываемые ниже методы пристрелки. В отличие от конечно-
разностных методов методы пристрелки приводят к небольшим
системам линейных уравнений, однако вычислительные затраты
на получение этих уравнений значительно больше.
Насколько нам известно, тщательное сопоставление конечно-
разностных методов и методов пристрелки не проводилось. Me-
218 Часть 3. Краевые задачи
тоды разложения в ряды, которые будут описаны в гл. 19,
также могут быть использованы для решения линейных систем
дифференциальных уравнений. Барах и Расселл (Барах [1973],
Расселл и Барах [1974], Расселл [1975]) рассмотрели
конечно-разностные методы с экстраполяцией и методы разложения,
использующие коллокацию по кусочно-полиномиальным сплайнам, и
провели интересное сопоставление этих методов.
Описанный в предыдущей главе метод пристрелки
математически эквивалентен следующему методу. Решаются s + 1 задач
Коши
Z'(x) = A(X)Z(x), Z(a) = I, (2.4)
z' (х) = A{x)z (x) + f (x), z (a) = 0, (2.5)
где Z(x) представляет собой квадратную матрицу порядка s.
(Отметим, что решение задачи (2.4) эквивалентно решению s
задач Коши по одной на каждый столбец из матрицы Z.) Затем
выбирается вектор d таким образом, чтобы вектор
y(x) = z{x) + Z(x)d (2.6)
удовлетворял граничным условиям (2.2) и (2.3). Из принципа
суперпозиции вытекает, что результирующий вектор у(х)
является решением задач (2.1) — (2.3). Следует, конечно,
помнить, что при численном решении задачи Коши (2.4), (2.5)
формула (2.6) дает лишь некоторое приближенное значение
решения у(х). Можно использовать и более эффективный подход,
решая вместо системы уравнений (2.4) всего лишь s — k
задач Коши, поскольку при х — Ь задано всего лишь s — k
граничных условий. Например, можно решать задачи Коши вида
z' (Х) = А(х)г (х) + f {x), z (а) = [си с2, ..., ск, 0, ..., 0]т, (2.7)
Z'(x) = A(x)Z(x), Z(a) = E, (2.8)
где Z(x) и Е—матрицы размером s\(s — &), причем
матрица Е состоит из столбцов ek+i, *=1, 2, ..., s — k (здесь через
е} обозначен /-й столбец единичной матрицы порядка s). Затем
формируется такая линейная комбинация у(х) —z(x) -\-Z(x)d,
которая удовлетворяет граничному условию (2.3). В литературе
описано много вариантов данного метода; например, его
математическим эквивалентом является хорошо известный метод
сопряжения. Заинтересованному в более подробной информации
Гл. 17. Линейные уравнения. Задачи на собственные значения 219
читателю рекомендуем обратиться к обзору в книге Робертса и
[Пипмана [1972b].
Однако на практике описанные выше простые методы часто
оказываются непригодными. Это может происходить из-за двух
(по меньшей мере) различных причин. Если матрица А(х)
имеет хо^я бы одно положительное собственное значение при
всех х из отрезка [а, Ь], то в уравнениях (2.4), (2.5), (2.7) и
(2.8) может проявиться неустойчивость, в результате которой
интегрирование придется прекратить, не дойдя до конца х = Ъ
отрезка. Если все собственные значения матрицы А (х)
положительны для всех х из отрезка [а, Ь], то интегрирование следует
проводить от х = Ь до х = а. Если собственные значения
матрицы А (х) намного отличаются друг от друга хотя бы на
некотором достаточно большом подынтервале [с, Ь] отрезка
интегрирования, то интегрирование удастся провести, но столбцы
полученной матрицы Z(b) оказываются почти линейно
зависимыми, поскольку каждый столбец будет почти пропорционален
тому собственному вектору матрицы А(х), который
соответствует главному собственному значению (а если существует
несколько доминирующих собственных значений, то линейной
комбинации соответствующих собственных векторов).
Для того чтобы избежать указанных трудностей, в
частности неустойчивости, можно использовать метод параллельной
пристрелки, описанный в гл. 16 для нелинейных задач.
Действительно, как будет показано ниже, этот метод может помочь
также устранить линейную зависимость, о которой говорилось в
предыдущем абзаце.
Рассмотрим следующий линейный вариант метода
параллельной пристрелки (Келлер [1968]). Выберем разбиение
отрезка интегрирования а = Л'о <. Х\ < ... < хп = Ь\ затем
положим А/ = Xj — */_!, t = (x — Xj-i) /А/ и запишем систему
уравнений
z](t) = A.(t)г,(t) + fi(0, / = 1, 2, ..., п, (2.9)
определенную при *е [0, 1], где Af(t) = А/Л(л:), //(/) = А//(я).
Тогда, интегрируя уравнения
z) (0 = Aj (/) zj (t) + /,. (О, zt (0) = rp /=1,2,..., n, (2.10)
Z/(0) = /, /=1, 2, ..., n, (2.11)
от t = о до t = 1 и численно решая линейную систему
алгебраических уравнений
= -(Pr + Q*(l)--a), (2.12)
220
Часть 3. Краевые задачи
где
р=
А
I
•
0
0
/
, Q =
в
-/ о
z,(0
zn{t)\
» • ~~"
*(/) =
получаем решение задачи (1.2). Если Ar = (An, Ar2, ..., Arn)T,
то правильное значение сеточной функции y(Xi~\) получается
после сложения г-% + Ат, в качестве г имеет смысл взять
значение г = 0. При граничных условиях вида (2.2) и (2.3)
уравнение (2.12) можно упростить, сведя его к системе уравнений с
ленточной матрицей; более подробное обсуждение этого
вопроса читатель найдет в гл. 16.
Конечно, при численном решении уравнений (2.10) — (2.12)
получается всего лишь приближенное решение уравнения (1.2),
однако обычно основные трудности здесь возникают не в связи
с численной процедурой, а в результате неустойчивости
дифференциального уравнения. Джордж и Гандерсон [1972]
исследовали обусловленность линейной системы уравнений (2.12).
Полученные ими результаты можно использовать для того, чтобы
найти число и положение точек л*/ разбиения отрезка
интегрирования [а, &], которые обеспечивают достаточно хорошую
обусловленность уравнений (2.12). Если определить число
обусловленности
Гл. 17. Линейные уравнения. Задачи на собственны? значения 221
где II II, например, — евклидова норма, то, как показали
Джордж и Гандерсон, из неравенств 0 < / < 1 и
следует
x[P + QZ(1)]<k[P + Q]x[Z(1)] j±f. (2.14)
Введя логарифмическую норму
М- [Л] = lim fll / + ЛЛ II — 1)/А,
ло
Джордж и Гандерсон показали, что имеет место оценка
*[Z(l)]<exp| max J ц[Л (s)]ds + max jj ji [— Л (s)]ds J•
Следовательно, можно оценить правую часть неравенства (2.14),
если тахД; настолько мал, что выполняется условие (2.13).
Очевидно, что, выбирая достаточно малый max А/, можно
обеспечить необходимую малость >c[Z(l)], а следовательно, и
>c[P + QZ(l)]. Однако при Д,-->0 увеличивается размер
системы уравнений (2.12), а это может породить вычислительные
трудности. Гудерлей [1973] рассмотрел алгоритм параллельной
пристрелки, в котором, кроме уравнений (2.11), интегрируются
также и сопряженные уравнения. В этой же работе
обсуждаются также многие вопросы из рассмотренных Джорджем и Ган-
дерсоном, включая вопрос обусловленности уравнений (2.12).
Иным, хотя и родственным, подходом к решению
неустойчивых задач является предложенный Конте [1966] метод
ортонормирования. Решение задачи (2.1) — (2.3) находится в
результате интегрирования последовательности задач Коши. На первом
этапе решаются задачи Коши (2.7), (2.8) для х> а; при этом
учитывается ортогональность при х = а вектора z(a) и
столбцов матрицы Z{a). Интегрирование в направлении возрастания
х проводится до тех пор, пока столбцы Zt(x) матрицы Z(x)
будут оставаться «в достаточной степени линейно
независимыми». Для проверки линейной независимости столбцов матрицы
Z{x) используется следующий критерий:
minarccos
Zt (x)TZf (x)
(2.15)
Если, например, в точке х = a'i данный критерий нарушается,
то в этом месте проводится ортогонализация столбцов матрицы
222 Часть 3. Краевые задачи
Zi(x). Если взять а = я/2, то рассматриваемый критерии почти
всегда даст отрицательный результат, так что ортогонализацню
придется выполнять на каждом шаге численного
интегрирования; в другом предельном случае а = О неравенство (2.15) бу.
дет всегда выполнено и метод Конте сведется к описанному
ранее простому методу суперпозиции. Для того чтобы избежать
чрезмерно частого проведения ортогонализации, Конте
рекомендует использовать сравнительно малое значение а. Кроме
того, он предложил более простой критерий, в котором вместо
неравенства (2.15) проверяется условие
где М — некоторая положительная постоянная. Данный
критерий не очень надежен в силу чрезмерной его зависимости от
характера роста матрицы Z(x). Когда процесс интегрирования
доходит до той точки хи где, согласно критерию, следует
проводить ортогонализацию, то столбцы матрицы Z(x\) ортонорми-
руются умножением этой матрицы на матрицу Р\:
Затем вектор z{x{) ортогонализуют относительно столбцов
матрицы Zx(x\), выбирая такой вектор w\, чтобы преобразование
zl(xl) = z(xl)-Zl(xl)wl (2.16)
обеспечивало требуемую ортогональность. После завершения
процесса ортогонализации продолжают интегрирование
уравнений (2.7) и (2.8) до тех пор, пока в некоторой точке х2 снова не
потребуется ортогонализация. При интегрировании на отрезке
от Х\ до х2 в качестве начальных данных при х = х\ берутся
Z(xi)=Zl(x\) и z{x\) = zl(x\). В точке х2 ортогонализация
проводится аналогично (при помощи матрицы Р2 и вектора w2).
Этот процесс попеременного интегрирования и ортогонализации
продолжается до тех пор, пока не будет достигнута точка
х = Ь. Конте [1966] проводил ортогонализацию (2.15), (2.16)
при помощи процедуры Грама — Шмидта. Для больших систем
уравнений, по-видимому, предпочтительнее модифицированная
ортогонализация Грама — Шмидта, описанная Бьёрком [1967].
Для того ч*гобы получить решение исходной задачи,
предположим, что на отрезке [а, Ь] проводилось m ортогонализации и
что хранится достаточный объем информации для вычисления
матриц Pi и векторов wt, i = 1, 2, ..., m. В выражении
решения у(х) =z(x) +Z(x)$m вектор р,„ определяется таким
образом, чтобы удовлетворялось граничное условие (2.3). После
Гл. 17. Линейные уравнения. Задачи на собственные значения 223
этого можно восстановить решение в предыдущих точках орто-
гомализации, вычисляя векторы рг- но рекуррентной формуле
P*-i = ^[fc-s>/], i = m, ш-1, ..., 1. (2.17)
Значения искомой вектор-функции у{х) на отрезке or xi до ,vi+i
(при хо *= a, *m+i = 6) находятся по формуле
(2.18)
где г(л') и Z(x)—результаты интегрирования на отрезке
[а-/, XiJL.\]. Благодаря своей значительной гибкости данный
алгоритм вполне оправданно пользуется большей популярностью
при решении систем линейных уравнений, чем другие методы
суперпозиции. Тщательный анализ этого метода провели Скотт
и Уаттс [1975].
Иной подход к преодолению трудностей, возникающих при
решении краевых задач методом пристрелки в результате
неустойчивости уравнений, состоит в модификации решаемых при
этом задач Коши. В этом заключается основная причина
использования метода инвариантного погружения. Здесь мы
будем следовать изложению Мейера [1973]. Существенный вклад
в разработку этой темы содержится также в работах Гудерлея
[1973] и Скотта [1973а], а также в написанных Мейером и
Скоттом главах книги Азиза [1975]. Рассматриваемый метод
инвариантного погружения включает как частные случаи
некоторые из методов проектирования Гудерлея и Николаи [1966]
и методы факторизации Бабушки, Прагера и Витасека [1966].
Рассмотрим линейную краевую задачу
и' = Ах(х)и + А2(х)ю + Ш, (2.19)
и (а) = Fxv (a) + au F2u (b) + F3v {b) = а2, (2.20)
где и, f\ и а\ — векторы размерности s\, v, /2 и а2 — векторы
размерности s2 (s\ + s2 = s), а Ль Л2, Л3, Л4, F\9 F2 и F$ —
матрицы соответствующего порядка. Задача (2.1) — (2.3) всегда
приводится к виду (2.19), (2.20), хотя способ распределения
компонент вектора у в уравнении (2.1) между векторами и и v
может оказаться совсем не очевидным. В некоторых случаях,
например в случае, когда граничные условия (2.20) можно
записать в распадающемся виде и (а) = аи v(b) — a2, разбиение
вполне тривиально, тогда как в других случаях оно может
неявно зависеть от свойств приведенных ниже дифференциальных
Уравнений. Эти вопросы довольно подробно рассмотрены
Мейером [1973], и к некоторым из них мы еще вернемся.
Предложенный Мейером алгоритм решения задачи (2.19), (2.20)
заключается в следующем.
22 \ Часть 3. Краевые задачи
Шаг 1. Проинтегрировать до х = Ь систему уравнений Рик-
кати
V = Л2 (х) + А{ (х) U - £/Л! Cv) - иЛ, (х) U, U (а) = Л; (2.21)
проинтегрировать до х = 6 линейную систему
о/ = [Л 1 (л) - £/ (*) Л3 (*)] © - tf (*) h (x) + fi Cv), w (a) - a, (2.22)
Шаг 2. Найти решение v(b) системы линейных
алгебраических уравнений
[F2U (b) + F3] v {b) = 02- F2w {b). (2.23)
Шаг З. Проинтегрировать линейную систему
v' = [Л3 W £/ (х) + л4 (jc)] о + Л3 (л-) a; (jc) + /2 W, t; (&) = v (b) (2.24)
на отрезке [a, 6] в обратном направлении.
Тогда решение краевой задачи (2.19), (2.20) будет иметь вид
У
Г и (х) I
^ L v (х) J '
Одно из узких мест данного алгоритма — это
интегрирование в обратном направлении на шаге 3, при котором для
нахождения v(x) требуются значения w(x) и U(x). Для
запоминания соответствующих значений, полученных на шаге 1, может
не хватить памяти ЭВМ. Если возникнет такая ситуация, то
можно проинтегрировать полную систему уравнений (2.19) с
начальными значениями и(Ь) (= U(b)v(b)-\- w(b)) и v(b).
Однако желательно избежать интегрирования полной системы
уравнений вследствие ее неустойчивости (Мейер [1973]), и в этом
заключается одна из целей метода инвариантного погружения.
Существуют и иные методы, не требующие этого интегрирования
полной системы уравнений; описание таких методов читатель
найдет в написанной Скоттом главе книги Азиза [1975].
Другая трудность может возникнуть при решении уравнения
Риккати (2.21), у которого точное решение при некоторых
обстоятельствах может стать неограниченным. Само по себе это
обстоятельство может не приводить к каким-либо трудностям,
поскольку численное решение также должно стать
неограниченным в некоторой точке, а хорошая программа решения задач
Коши прекратит вычисления, не доходя до этой точки. Если
матрица U(x) квадратная (что имеет место при si = s2), то можно
построить обратную ей матрицу и~1(х), а затем
проинтегрировать соответствующее уравнение Риккати для U~l(x). После
достижения точки х — b исходное решение восстанавливается
при помощи известных соотношений.
Гл. 17. Линейные уравнения. Задачи на собственные значения 225
Для демонстрации преимуществ метода инвариантного
погружения рассмотрим следующую задачу:
и" — и = 0, и(0)=1, и'(Ь)=*е~ь. (2.25)
Поскольку это дифференциальное уравнение имеет общее
решение С\в* + С^"*, при использовании метода суперпозиции с
любыми начальными значениями и'(0) будут получены почти
линейно зависимые решения, если b достаточно велико. Записывая
дифференциальное уравнение (2.25) в виде системы
и применяя метод инвариантного погружения, приходим к
необходимости решать уравнение Риккати
точное решение которого имеет вид U — th(x) и ограничено
единицей при положительных х. В этом случае решения
уравнений (2.22) и (2.24) экспоненциально убывают, поэтому
трудности метода суперпозиции здесь не возникают.
Если интервал интегрирования [а,оо) бесконечен, то
обычный подход заключается в использовании какого-либо из
описанных выше методов суперпозиции для решения задачи на
последовательности отрезков [a, 6J, когда bi -> оо при i -» оо.
В каждом случае в точке bi задаются предельные краевые
условия и расчет прекращается по достижении достаточной
согласованности результатов. К этой задаче также можно применить
метод инвариантного погружения; подробности приводятся в
работе Алспо [1974], где рассматриваются некоторые
интересные численные примеры.
Обширную библиографию по методу инвариантного
погружения и связанным с ним вопросам читатель найдет в работе
Скотта [1974]. Многие из упомянутых выше проблем уже
обсуждались в литературе, однако более общее их рассмотрение
выходит за рамки данной главы.
3. ЛИНЕЙНЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ ЗАДАЧИ
НА СОБСТВЕННЫЕ ЗНАЧЕНИЯ
Рассмотрим следующую упрощенную форму задачи (1.3):
у* = А(х9 К) у, (3.1)
01 (а) = й (а) = ••• =Ук(а) =
= Vtx W - У и &) = ... - yh (b) = 0, (3.2)
где у{х) = [ух{х), у2(х), ..., ys(x)]T, s = 2k и 1</1</2< ...
... < ik < s.
8 За к. 1335
226 Чисть 3. Краевые задачи
Если использовать конечно-разностный метод (см. гл. 15) или
метод разложения (см. гл. 19), то в результате получится
алгебраическая задача на собственные значения
В (X) г = О, (3.3)
где В(Х)— зависящая (нелинейно) от X матрица. В конечно-
разностном методе г представляет собой сеточную
вектор-функцию, аппроксимирующую решение у(х) в узлах сетки х = Xi, a
в методе разложения — вектор коэффициентов разложения
решения у (х). Если в (3.1) А(х,Х) можно записать в виде
А (х,Х) = С(х)-\- XD(x), то при разумной аппроксимации
В (X) = Е + XF, где Е и F не зависят от X. В общем случае при
конечно-разностном подходе матрица В (X) в уравнении (3.3)
слишком велика для того, чтобы можно было вычислить все ее
собственные значения, и обычно уравнение det(B(A,)) =0
решается только относительно частных собственных значений А,,
представляющих интерес в данном конкретном случае. Часто
полезными оказываются методы, которые имеют дело
непосредственно с матрицей В (Я), такие, как метод обратных итераций
для нахождения наименьшего собственного значения (когда В
линейно относительно X) или метод одновременных итераций
для получения группы собственных значений (Уилкинсон [1965]).
В случае метода разложения по базисным функциям при
хорошем выборе этих функций матрица В(Х) может оказаться
сравнительно небольшой, так что можно применять алгоритмы,
вычисляющие все собственные значения матрицы В (X) (когда она
линейна относительно X).
Описанный выше метод суперпозиции можно применять
следующим образом. Для произвольного значения X решается
задача Коши
Y' = A (*, X) Y, Y (а, X) = /, (3.4)
из которой получают значения функции Y(byX). Применяя
принцип суперпозиции решений системы линейных
дифференциальных уравнений, получаем соотношение
y(b) = Y(b,k)y{a), (3.5)
которое справедливо для любого начального значения у (а).
Используя теперь граничные условия (3.2), приходим к выводу,
что из представления
Y(b, Я) = [О, Я], (3.6)
где G к Н — матрицы размером 5 X k, следует равенство
у(Ь) = Нг(а), (3.7)
где z(a)=[yk+i(a), #л+2(а), • • •, Уз(а)]т- Если из строк
/i, /2, ..., ik матрицы Н построить матрицу /(, то в силу (3.2)
Гл. 17. Линейные уравнения. Задачи на собственные значения 227
будет иметь место Кг (а) = 0. Поэтому X является собственным
значением в том случае, когда det (/С) = 0. Для того чтобы
найти Y(b,k) или, что предпочтительнее, матрицу Н в
соотношении (3.7), можно использовать любой из описанных выше
методов суперпозиции. Герстинг и Янковски [1972] дали обзор
методой этого типа применительно к уравнению Орра — Зом-
мерфельда
{(D2 - а2)2 - iaR [(п - с) (D2 - а2) - D4]} ср = 0, (3.8)
Dcp (0) = D\ (0) = Ф (1) = /3Ф (1) = 0,
где D — оператор дифференцирования, а — волновое число,
# — число Рейнольдса, с = cr + iCi — собственное значение,
и — известная функция. Авторы указанной работы при решении
этой задачи отдают предпочтение методу ортонормирования
Конте. Полное описание метода Конте приведено в работе Дэви
[1973], который ввел в него некоторые усовершенствования.
Применение методов суперпозиции для решения задач на
собственные значения сопряжено с теми же трудностями, что и в
случае решения линейных краевых задач.
Пытаясь преодолеть указанные трудности, некоторые авторы
использовали преобразования Прюфера и уравнение Риккати.
Рассмотрим, например, задачу Штурма — Лиувилля
(р (х) ^ (*))' + (Яг (х) - q (х)) * (х) = 0, (3.9)
г|э (a) cos а — р (a) i|/ (a) sin а = 0,
ij) (b) cos p — р (b) г|/ (6) sin p = 0.
Введем фазовую функцию 8(я), удовлетворяющую уравнениям
-ф (х) = р (*) sin 8 (х), р {х) ^ (х) = р (х) cos 8 (х). (ЗЛО)
Тогда можно показать, что имеет место уравнение
0/ м=тЬу cos2 е {х) + {Хг {х)"q {х)) sin2 е {х) (3-11)
с граничными условиями
р + ^я, (3.12)
где 0 ^ а < я, 0 < р ^ я. Полагая п — 1, 2, ... и
интегрируя каждый раз уравнение (3.11) с начальным условием
8(а) = а, мы получаем по очереди собственные значения
^i, %2> • • • в результате решения нелинейного уравнения 8(6) =
= р + пп относительно X. Этот метод обсуждался в работе
Годарта [1966] применительно к задаче (3.9) при условиях
Р{х) > 0, q(x) > 0, а в работах Бейли [1966], Бэнкса и Ку-
ровски [1968, 1973] и Сопа [1968] рассмотрены его обобщения
8*
228 Часть 3. Краевые задачи
на задачи с особенностью (р(а) = 0), задачи на бесконечном
интервале (а = —Ь = —оо) и на дифференциальные
уравнения четвертого порядка.
Скотт, Шампайн и Уинг [1969] описали применение
алгоритма инвариантного погружения к задаче (3.9) и показали
связь этого метода с методом Годарта [1966]. Скотт [1973]
обобщил алгоритм инвариантного погружения на случай систем
уравнений вида (3.1) и отметил трудности в обобщении
описанного выше метода фазовой функции. Янковски, Такеути и Гер-
стинг [1972] дали описание метода инвариантного погружения
применительно к задаче Орра — Зоммерфельда (3.8), тогда как
Алспо, Кагивада и Калаба [1970] использовали этот алгоритм
для решения задачи четвертого порядка частного вида,
возникающей в строительной механике.
Во всех описанных ранее методах пристрелки требуется найти
значение параметра Я, обращающего в нуль соответствующий
детерминант. Обратившись к уравнению Орра — Зоммерфельда
(3.8), можно заметить, что любой из параметров a, R или с
можно рассматривать как собственное значение, если другие
два известны. Часто бывает нужна кривая устойчивости с*=0 в
плоскости (а,/?). Если известна одна точка этой кривой, то
можно построить всю кривую, медленно меняя, например, ос и
решая уравнение Ci = 0 относительно неизвестного R. Ранее
вычисленное значение R представляет собой хорошую начальную
аппроксимацию его точного значения при условии, что
изменение параметра а невелико. Детерминантное уравнение
(нелинейное) решается относительно ct для каждой пары значений а
и Ry a полученное таким образом значение ci используется при
нахождении корня уравнения ci = 0 (которое представляет
собой другое нелинейное уравнение с неизвестным R). При малых
шагах по параметру а можно успешно применять любой
стандартный метод решения нелинейных уравнений. Данный
пример характерен для многих задач построения кривых
устойчивости.
18
МЕТОД ПРОДОЛЖЕНИЯ
И ОБОБЩЕННЫЕ КРАЕВЫЕ ЗАДАЧИ
1. ВВЕДЕНИЕ
В этой главе сначала рассматривается метод продолжения,
который расширяет круг задач, решаемых методом пристрелки.
Затем обсуждаются некоторые более общие типы краевых
задач, в которых параметры входят не просто в виде граничных
Гл. 18. Метод продолжения, и обобщенные краевые задача 229
условий. Подобные задачи можно исследовать при помощи
более общих условий сшивания, чем те, которые были
рассмотрены ранее.
2. ВЫЧИСЛЕНИЕ НАЧАЛЬНЫХ ЗНАЧЕНИЙ
Применение метода пристрелки к решению краевых задач
приводит в общем случае к системе нелинейных уравнений
относительно неизвестных параметров задачи. В простом случае,
рассмотренном в гл. 16, параметрами являются граничные
значения переменных iji. Как и ранее, предположим, что
требуется решить систему из s обыкновенных дифференциальных
уравнений вида
/ = /(*,*/) (2Л)
на отрезке [а, Ь], причем s граничных условий, которым
должны удовлетворять функции уи заданы частично в точке х = а и
частично в точке х = Ь. Недостающие граничные условия
взяты в виде параметров р/, /= 1, 2, ..., s. Уравнение
относительно р имеет вид
F (р) = У а {гп\ р) — yb (m; р) = О, (2.2)
где уа и уь — решения задач Коши, полученные соответственно
при интегрировании вперед от точки х = а и назад от точки
х = Ь, a m — точка сшивания этих решений.
Уравнение F(p) = 0 в принципе можно решить методом
Ньютона при условии, что матрица Якоби J(p) невырожденна
и сравнительно медленно меняется вблизи решения. Это
означает, что решение уравнения (2.2), а следовательно, и краевой
задачи является изолированным. Случай существования точек
ветвления, в которых два соседних решения сливаются,
представляет значительный интерес с точки зрения некоторых
практически важных приложений, однако здесь он не
рассматривается (читатель может обратиться к работе Кубичека и Главачека
[1974]). Но даже в случае изолированных решений нельзя
гарантировать сходимость метода Ньютона, не обеспечив близости
начального приближения р к точному решению. Обычные
условия сходимости от произвольного начального приближения (см.
§ 3) весьма ограничительны и редко выполняются на практике.
Все сказанное выше справедливо для любого нелинейного
алгебраического уравнения F(p) = 0, однако при решении
краевых задач существуют некоторые специфические трудности.
Задачи такого типа часто получаются из двух- и трехмерных
систем дифференциальных уравнений эллиптического типа и,
следовательно, неустойчивы при пошаговом интегрировании.
Таким образом, вычисленные значения функции F(p) могут ока-
230 Часть 3. Краевые задачи
заться весьма неточными или даже разрывными относительно
тех значений параметра р, которые довольно близки к
истинным. Чем это вызвано — вычислительной неустойчивостью или
аналитическими свойствами такого решения, — практически не
существенно. В любом из этих случаев самые малые изменения
начальных значений параметров pi весьма существенно влияют
на результаты, полученные методом пристрелки, и может
оказаться, что решение нельзя получить какой-либо простой
модификацией метода Ньютона или метода минимизации,
описанного в гл. 16.
Пример такого поведения приводят Роберте и Шипман
(1972). Задача
= 0, ^(1) = 1, (2.3)
имеет решение, которое хорошо ведет себя на отрезке [0, 1] при
& = 5, однако имеет полюс вблизи точки х = 1. В методе
пристрелки проводится интегрирование вперед от х = 0 с каким-
либо образом выбранным значением у (0). Если оценка этого
значения слишком завышена, то полюс перемещается ближе к
началу координат и может попасть внутрь отрезка
интегрирования. Тогда любой метод численного решения
дифференциального уравнения приведет к переполнению арифметического
устройства ЭВМ, так что вычислить значения функции F(p) не
удастся.
В подобных случаях уравнения (2.2) невозможно решить
непосредственным применением какого-либо алгоритма решения
линейных алгебраических уравнений. Вместо этого следует
принять во внимание структуру краевой задачи и попытаться найти
путь к решению, избегая областей неустойчивости. Основная
идея такого метода продолжения состоит в построении легко
решаемой задачи аналогичной структуры с постепенным
возвращением к исходной задаче при помощи малых поэтапных
возмущений. Данный метод основывается на предположении,
что при изменении задачи решение меняется непрерывно и
поэтому каждый этап обеспечивает хорошее начальное
приближение решения для следующего этапа. Существует большой
произвол в выборе задачи, используемой в качестве начального
приближения, и способа изменения этой задачи в методе
отслеживания решения. Далее будут описаны различные подходы,
оказавшиеся плодотворными, однако изложение отнюдь не
является исчерпывающим.
С общей алгебраической точки зрения метод заключается в
следующем. Требуется найти функцию G{p,t), зависящую от
s параметров pi и вспомогательной переменной t, выбранной
так, чтобы можно было легко решить уравнение
G(p, 0) = 0, (2.4)
Гл. 18. Метод продолоюения и обобщенные краевые задачи 231
причем G(p,l)=F(p). Затем решается последовательность
уравнений
G(p, 0 = 0, / = 0, /„ /2, ..., (2.5)
начиная от t = 0 при постепенном увеличении /. При t = 1
получается решение исходной задачи. Сопоставляя (2.5) с
уравнением (2.2), приходим к выводу, что G(p,t) соответствует
функции сшивания решений краевой задачи, и поэтому
требуется разработать метод введения параметра / в исходную систему
дифференциальных уравнений.
Одним из простейших способов возмущения краевой задачи
является изменение отрезка интегрирования. Если система очень
неустойчива на отрезке [а, 6], но легко решается на более
коротком отрезке [а, с], то следует взять последовательность
промежуточных отрезков
а<*</& + (!-Ос, (2.6)
начиная с легко решаемого случая / = 0. Такой подход
особенно успешно используется в задачах на бесконечном интервале,
где в качестве окончательного значения b берется координата
точки, в которой достигается асимптотика решения.
Непосредственное интегрирование до столь большого значения х = Ь
может оказаться невозможным без использования хорошей
аппроксимации неизвестных граничных значений при х= а. Таким
образом, сначала следует провести интегрирование на коротком
отрезке, не питая особых надежд на хорошее приближение
к правильным асимптотическим значениям, а затем,
используя полученное решение в качестве начального приближения,
провести интегрирование на несколько большем отрезке и т. д.
В (2.6) сначала берется t = 0, а затем t постепенно
увеличивается до тех пор, пока не будет получено правильное
асимптотическое поведение.
Более общий подход заключается во введении какого-либо
возмущения непосредственно в дифференциальное уравнение
(2.1); например, можно записать
y' = tf(x,y) + (l-t)g(x, у), (2.7)
где g{x,y) выбирается таким образом, чтобы задача легко
решалась при / = 0. Исходная задача получается при / = 1.
Однако выражение (2.7) имеет слишком общий вид, что не
позволяет проникнуть в суть метода продолжения. Очевидно, что при
неправильном выборе функции g(x,y) могут возникнуть
серьезные трудности; например, положив g = 0, получим у = const
при t = 0, а следовательно, может оказаться, что нельзя
удовлетворить всем граничным условиям. Для преодоления этой
трудности можно ввести параметр t также и в граничные уело-
232 Часть 3. Краевые задачи
вия, однако мы здесь ограничимся рассмотрением метода
продолжения, у которого исходная точка в функциональном
пространстве в некоторой степени произвольна. Данный метод,
вероятнее всего, обеспечит получение хороших результатов в том
случае, когда решение уравнений (2.7) при / = О имеет тот же
вид, что и искомое решение.
Теоретические основы метода продолжения до сих пор в
полной мере не разработаны; в частности, имеется мало
теоретических предпосылок для выбора эффективного способа изменения
параметра t. В то же время метод продолжения представляет
собой важный шаг вперед на пути решения сложных нелинейных
задач, несмотря на то, что он все еще в значительной степени
зависит от экспериментальных наблюдений и догадок. В
следующем параграфе будут рассмотрены некоторые вопросы
сходимости метода, а затем мы перейдем к обсуждению способов
его реализации.
3. УСЛОВИЯ СХОДИМОСТИ
Основополагающие результаты относительно области
сходимости метода Ньютона были получены Л. В. Канторовичем (см.
Л. В. Канторович и Г. П. Акилов [1959, с. 622]).
Соответствующие теоремы будут цитироваться с небольшими изменениями в
формулировках. Рассмотрим уравнение F(p) = 0; пусть J(p) —
матрица Якоби [dFi/dpj], а ро — начальное приближение. Тогда
метод Ньютона сходится к решению в области R: \\ р — ро\\ < г,
если выполняются следующие условия:
(О
(И) с<1/{2Щ, где K = \\J(porlld = \\j(porlF(pQ)i (3.1)
r>U(cK).
Эти условия всего лишь достаточны (но не необходимы) для
сходимости и к тому же слишком ограничительны для
практического применения. Более того, условия (3.1) обычно не
выполняются, за исключением тех случаев, когда итерации сходятся
достаточно хорошо. Такое положение дел связано со
следующим обстоятельством. Существенное требование к методу
Ньютона заключается в невырожденности матрицы Якоби, что в
силу приведенных выше условий имеет место в некоторой
окрестности значений р0- Однако для сходимости итераций
необходимо, чтобы матрица Якоби J(p) была невырожденной лишь в
непосредственной окрестности приближений, получаемых в
итерационном процессе, а ее поведение в прочих отношениях
несущественно.
Гл. 18. Метод продолжения и обобщенные краевые задачи 233
В методе продолжения уравнение (2.5) должно иметь
решение при всех / на отрезке [0,1]. Пусть S(p, t) — матрица
Якоби дл*я G(p,t) относительно р, т. е. S(p,t) = [dGi/dpj];
тогда матрица S(p,t) должна быть невырожденной при любом
/ на отрезке [0,1], если р является решением уравнения
G(Pft) =0 при том же значении параметра /. Предположим,
что решение уравнения G(p, 0) =0 известно. Для обеспечения
теоретической реализуемости продолжения вдоль траектории по
параметру / потребуем сходимости метода Ньютона для
последовательности задач
G(pt /гД/) = О, /г=1, 2, ..., N, (3.2)
где At — конечное приращение /, причем NAt = 1, и в качестве
начального приближения для каждой задачи берется решение
предыдущей. Этот подход был развит в работе Авила [1974],
который установил следующие достаточные условия: обратная
матрица S(p,t)~l должна существовать и быть ограниченной на
всем множестве точек траектории по параметру t, причем для
всех <7ь q2 из открытой области, содержащей указанную
траекторию, должно выполняться неравенство
|| S(qut)-S (<72, 0II < с{ II <7, - q2 V, (3.3)
Выполнение аналогов условий (и) и (iii) из (3.1) специально
не требуется, поскольку At можно взять достаточно малым
(хотя и конечным), что обеспечивает удовлетворение
соответствующих ограничений. (Практически нет необходимости
использовать постоянный шаг At; его можно менять в зависимости
от поведения итераций.)
Из исследования условий сходимости можно сделать важное
заключение: траектория метода продолжения не должна
проходить через какую-либо точку ветвления или особую точку
другого типа возмущенной краевой задачи. Рассмотрим для
иллюстрации простой пример. Предположим, что требуется решить
задачу
y" + a?y = g(x) (3.4)
с заданными граничными значениями у(0), #(1). Если по
некоторым соображениям за параметр продолжения принята
длина отрезка интегрирования, то можно взять сначала, скажем,
отрезок [0,0.5] и постепенно удлинять его. Данная задача
имеет решения, являющиеся собственными функциями
соответствующего дифференциального оператора при однородных
граничных условиях, когда правый конец отрезка совпадает с
точками п/а, 2п/а и т. д.; это означает, что в указанных точках
матрица Якоби вырожденна. Если взять а=4, то первая точка из
приведенной выше последовательности окажется в промежутке
234 Часть 3. Краевые задачи
между 0.5 и 1, а следовательно, метод продолжения
оказывается непригоден. Однако практически может случиться, что
решение удастся найти, поскольку вычисления проводятся для
дискретного множества точек х\, #2, хз> ... в интервале от 0.5
до 1, а матрица Якоби становится вырожденной только в том
случае, когда одна из точек Xi точно совпадает с я/а. Но в то
же время задача может стать плохо обусловленной, если xi
попадет в окрестность указанного значения.
Дальнейшее обсуждение вопроса о сходимости метода
продолжения можно найти в книге Ортега и Рейнболдта [1970,
§ 10.4]. Здесь мы рассмотрели только использование
классических итераций по Ньютону для выяснения зависимости решения
от параметра t. На практике можно, конечно, использовать
различные модификации этого метода и получать более
эффективные алгоритмы, однако если продвигаться достаточно малыми
шагами по t9 то нет необходимости вводить какие-либо
существенные условия.
4. ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ ПО ПАРАМЕТРУ /
Некоторые ранние работы, посвященные методу
продолжения, были выполнены Д. Ф. Давиденко (краткое изложение
полученных им результатов приводит Ролл [1968]); в них развит
более аналитический подход к рассматриваемой проблеме1).
Д. Ф. Давиденко получил дифференциальные уравнения
относительно параметра /, которым удовлетворяет семейство
решений вдоль траектории метода продолжения. Основное уравнение
F(p) =0 заменяется семейством уравнений
G(p,/) = 0, 0</<1; (4.1)
при любом конкретном значении параметра t (4.1)
рассматривается как уравнение для нахождения вектора р;
следовательно, р представляет собой вектор-функцию от аргумента t, p =
= p(t). Дифференцирование (4.1) по параметру t приводит к
1) См. Давиденко Д. Ф. Об одном новом методе численного решения
систем нелинейных уравнений. — ДАН, 1953, т. 88, 601—602; О приближенном
решении систем нелинейных уравнений. — Укр. матем. журн., 1953, т. 5, 196—
206; О приложении метода вариации параметра к теории нелинейных
функциональных уравнений. — Там же, 1955, т. 7, 18—28; О применении метода
вариации параметра к построению итерационных формул повышенной
точности для определения численных решений нелинейных интегральных
уравнений.— ДАН, 1965, т. 162, 499—502; О применении метода вариации параметра
к построению итерационных формул повышенной точности для определения
элементов обратной матрицы. — Там же, 1965, т. 162, 743—746. — Прим. ред.
Гл. 18. Метод продолжения и обобщенные краевые задачи 235
системе уравнений
dG{ dp.- dGf
L=--57L, /=1,2,..., s, (4.2)
или
^} ' dt dt
Эту систему дифференциальных уравнений первого порядка для
неизвестной вектор-функции p{t) нужно решать как задачу
Коши на отрезке [0, 1] с начальным условием р(0) = р0,
причем ро удовлетворяет уравнению G(p, 0) = 0.
Коэффициенты dGi/dpj системы уравнений (4.2) являются
функциями текущих значений параметра t и вектор-функции
р(/), и их можно получить, решая линеаризованные уравнения,
описанные в гл. 16. Предположим, что метод продолжения
используется в форме (2.7) и что параметры р/ представляют
собой просто граничные значения переменной уь. Дифференцируя
(2.7) по р/, получаем
i = 1, 2, ..., s, т. е. систему линейных уравнений относительно
dyt/dpj с граничными условиями вида dyi/dpj = б//,
соответствующими заданным граничным условиям при х = а или
х = Ь. Решая уравнения (4.3), можно вычислить матрицу
S(p,t). (В качестве альтернативы можно аппроксимировать
производные* по р/ соответствующими разделенными
разностями, как описано в гл. 16.) Для вычисления правой части
уравнения (4.2) продифференцируем (2.7) по t и получим
неоднородную линейную систему уравнений
которую и нужно решать. Граничные значения dyt/dt,
соответствующие заданным для yi граничным условиям, равны нулю.
Заметим, что уравнения (4.4) отличаются от уравнений (4.3)
только наличием разности fi — gt.
Поскольку процесс нахождения коэффициентов системы
уравнения (4.2) довольно трудоемок, вполне очевидно, что
метод интегрирования этой системы не должен быть связан с
вычислением большого количества значений этих функций. Проще
всего использовать метод Эйлера
р (tk + Atk) = p (/,) - Mk {S (р, О"1 X (dG/dt)]Mb, (4.5)
236 Часть 8. Краевые задачи
однако при этом получается довольно низкая точность
результатов. Поэтому приходится или интегрировать с очень малыми
шагами Д/*, или (что предпочтительнее) через каждые
несколько шагов корректировать полученные значения, решая исходную
нелинейную систему уравнений (2.7).
Примеры применения только что описанного метода
продолжения приведены в работе Вассерштрома [1973].
5. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ
Мы рассмотрели два варианта метода продолжения: (i)
расширение отрезка интегрирования и (ii) возмущение заданных
дифференциальных уравнений. Эти варианты в принципе
одинаковы, поскольку заменой независимой переменной метод
первого типа можно свести ко второму. Однако при практическом
использовании проще рассматривать уравнения в том виде, в
каком они заданы, и обращаться к тому варианту, который
представляется более удобным. Предположим, что метод
многократной пристрелки будет применяться там, где это необходимо,
т. е. там, где решения слишком неустойчивы для проведения
пошагового интегрирования даже с хорошим начальным
приближением (см. гл. 16). Сочетать эти методы, например
удлинение отрезка интегрирования и многократную пристрелку,
сравнительно просто, так что детали мы предоставляем читателю.
При реализации метода продолжения второго типа вносить
возмущения в исходное дифференциальное уравнение можно
разными способами; одним из примеров является вариант (2.7).
Приведенная выше задача Робертса и Шипмана [1972] может
быть решена для больших k при следующем способе введения
переменной t (сравните с уравнением (2.3)):
1. (5.1)
При малых t решение вполне устойчиво и его можно без труда
вычислить. Когда t растет до единицы, уравнение (5.1)
приближается к исходной задаче. Хотя система становится очень
неустойчивой, можно проследить решение при /->1, используя
метод многократной пристрелки.
Возвращаясь к обсуждению варианта (2.7) метода
продолжения, напомним высказанное выше соображение, что
процесс продолжения, по-видимому, наиболее эффективен в том
случае, когда решение при t = 0, удовлетворяющее уравнению
t/ = g(x, у), • (5.2)
отражает некоторые свойства решения исходной системы. Если
оба решения совершенно различны по характеру, маловероятно,
что удастся осуществить гладкое преобразование одной задачи
Гл. 18. Метод продолжения и обобщенные краевые задачи 237
у другую. В общем случае трудно дать практические
рекомендации по выбору функции g(x,y). Один из способов состоит в
линеаризации функции f(x,y) и выборе в качестве g(xty)
полученных линейных членов:
g (х, у) = / (х, уП + (dft/dy,)ym (у - у<% (5.3)
причем у(0) — текущее наилучшее приближение к решению.
Данный метод и некоторые его варианты рассматривались в
работе Робертса и Шипмана [1973]. Однако если
линеаризованные уравнения легко решаются, то может оказаться более
выгодным проводить итерации по Ньютону непосредственно в
функциональном пространстве без привлечения метода
продолжения. В задачах с существенной нелинейностью возмущение
типа (5.1), в которое параметр / входит нелинейно, может
оказаться лучше, чем (2.7).
Обратимся теперь к вопросу вычисления решения при
меняющемся параметре t. Важная особенность этих расчетов
заключается в том, что в общем случае промежуточные решения
при 0 <; / ^ 1 сами по себе никакого интереса не
представляют; все что от них требуется, — это по-возможности быстрый
переход от / = 0 до t = 1. Метод, описанный в § 4 и
использующий в явном виде дифференциальные уравнения по
параметру t, представляется неоправданно усложненным. Если все
время используется метод пристрелки, то вся информация,
необходимая для перехода от tk к tk+x = tk + А4, заключается в
хорошей оценке значений параметра p(t) при tk+i> Если А/*
мало, то часто достаточно хорошей аппроксимацией служит
p(tk), однако для улучшения эффективности можно привлечь
какую-нибудь более сложную форму экстраполяции. Этот
вопрос обсуждался в работе Рейнболдта [1975]; в этой работе
речь шла о методах конечных элементов, но высказанные там
соображения можно перенести и на другие методы. Рейнболдт
предложил оценивать p(tk+\) по экстраполяционной формуле
Лагранжа на основе предыдущих значений p(t) при tk, tk+u . • .
(Ясно, что такая процедура возможна только после первого
шага.) Длина шага Atk выбирается из условия, чтобы ошибка
экстраполяции р была меньше «радиуса притяжения»
итерационного процесса при tk+i. Рассматриваемая процедура имеет
надежное теоретическое обоснование, однако на практике весьма
непросто оценить радиус притяжения с достаточной точностью.
Подобные методы требуют дальнейшего экспериментального
исследования.
0. ОБОБЩЕННЫЕ ПАРАМЕТРЫ ПРИСТРЕЛКИ
При обсуждении метода пристрелки главным образом
рассматривалась простейшая форма краевой задачи, в которой в
238 Часть 3. Краевые задачи
качестве параметров пристрелки брались значения решения у{
на концах отрезка интегрирования. Метод пристрелки и
сшивания решений можно применять для более широкого класса
задач, где величинами, по которым проводится пристрелка, могут
быть не только граничные значения, но и параметры, входящие
в само уравнение (2.1) или в граничные условия, а также
длина отрезка интегрирования. Общая постановка задачи остается
той же: существует некоторый векторный параметр р, который
должен быть определен из нелинейного уравнения вида
F (р)« У а (т; р) - уь (т; р) = 0. (6.1)
Это соотношение выражает условия сшивания в точке х = m
решений уа и уь, полученных в результате интегрирования
системы уравнений (2.1), начиная от точек а и Ь соответственно
(см. гл. 16). Система (6.1) состоит из s уравнений сшивания
относительно 5 компонент искомой вектор-функции у, и следует
ожидать, что в общем случае можно найти значения всех 5
параметров. (В исключительных случаях количество параметров
может быть меньше, чем s, так что система уравнений (6.1)
оказывается переопределенной. Этот случай будет
рассмотрен ниже.)
Покажем особенности обобщенных краевых задач,
рассмотрев несколько простых примеров. Пусть имеется краевая
задача второго порядка
y" + ky = f{x),
= аь у'(0) = а2, (6.2)
= р„ y'{b) = fo,
в которой дифференциальное уравнение можно записать в виде
системы (2.1). Обычно в краевой задаче все величинм,
входящие в (6.2), известны (за исключением, скажем, с&2 и (32).
Поскольку задача линейна, недостающие граничные условия
можно легко найти пристрелкой или каким-либо другим методом.
Задача более общего типа возникает в том случае, когда
заданы четыре величины оц, ct2, pi и рг, а неизвестны коэффициент
k и координата Ь конца отрезка интегрирования. Тогда k и Ь
можно рассматривать как параметры задачи; для решения
задачи необходимо оценить значения этих параметров и
проинтегрировать уравнения, а затем в результате решения уравнения
сшивания в виде (6.1) определить точные значения параметров.
В качестве другого примера рассмотрим краевую задачу
Гл. 18. Метод продолжения и обобщенные краевые задача 239
С первого взгляда структура этой задачи весьма проста, однако
внимательный читатель заметит, что в начале координат
имеется особенность, а именно первая производная становится
неограниченной. В качестве параметров можно было бы, как
обычно, взять величины у'(0) и #'(1), однако из-за наличия
особенности нельзя начать интегрирование от х = 0. Довольно лег-
то показать, что при малых х имеет место асимптотика
у ~ р{х2/з + члены высшего порядка, (6.4)
где р\ — неизвестный коэффициент. Таким образом, в качестве
параметров можно взять р\ я р2 = у'{1), а затем попытаться
определить их значения в результате сшивания. При данных
обстоятельствах интегрирование уравнения (6.4) следует начинать
не с конца отрезка х = 0, а слегка отступить от него, скажем,
до точки х = А. Величина А должна быть достаточно мала для
того, чтобы в (6.4) можно было пренебречь членами высшего
порядка, но не настолько мала, чтобы возникли затруднения
при интегрировании. В точке х = А значения у и у' можно
выразить через ри а затем провести пристрелку обычным образом.
Для проверки правильности выбора А можно рекомендовать
проверить вычисления с несколько измененным значением А.
Задачи третьего типа возникают в случае асимптотических
граничных условий, например при рассмотрении следующих
уравнений для свободноконвективного течения в пограничном
слое:
0,
) = О, z(0)=l, (° }
z(x)->0 при
Это система уравнений пятого порядка, и само собой
разумеется, что в качестве двух из пяти неизвестных параметров
можно взять два незаданных граничных значения при х = 0. При
х->оо функция у(х) стремится к некоторому постоянному
значению, которое служит третьим параметром. Еще два
недостающих граничных значения — это значения у"{х) и z'{x) на
бесконечности, которые фактически известны, поскольку при
выходе на асимптотику они должны обращаться в нуль. Поэтому
оказывается, что в рассматриваемой задаче существуют три
параметра и пять условий сшивания, т. е. имеет место
переопределенность.
В подобных случаях для решения уравнений (6.1) можно
использовать метод наименьших квадратов, и если задача
поставлена правильно, то полученное решение обеспечит точное
сшивание всех компонент. Однако опыт автора настоящей главы
240 Часть 3. Краевые задачи
показывает, что часто оказывается удобнее ввести два
дополнительных параметра и находить их обычным образом, не
обращая внимания на их известные нулевые значения.
Еще лучше исследовать задачу аналитически и найти
главные члены асимптотического разложения для у и для г. В этом
случае пристрелка проводится по параметрам другого вида, а
именно по коэффициентам и показателям экспонент в
асимптотическом разложении решения на бесконечности, причем
автоматически выполняются нужные соотношения между г/, у' и у'\
а также между z и z'. Использование асимптотического
разложения во многих случаях обеспечивает дополнительное
преимущество в виде сокращения эффективной длины отрезка
интегрирования, поскольку асимптотическая форма решения
обеспечивает достаточную точность задолго до обращения в нуль у'
и г, как того требуют граничные условия в (6.5).
Для иллюстрации обсудим вкратце более простую форму
уравнений пограничного слоя (Розенхед [1963, гл. 5]):
/// + иГ + РО-0/2) = о, р>о,
= */'(0) = 0, /(оо)=1.
Пусть при больших х имеет место представление у' = 1 + Ч>
где q мало, и пусть y-+x + d при х-^оо. Подставляя эти
выражения в дифференциальное уравнение и пренебрегая q2,
получаем
q" + (x + d)q'-2$q = 0. (6.7)
Средний член с первой производной можно yciранить заменой
переменных q = zexp [—1/*(х + d)2], что дает уравнение
г" + [72 + 2Р + 74 (х + df] z = 0, (6.8)
которое представляет собой уравнение для цилиндрических
функций (см. Абрамович и Стегун [1964, гл. 19]). Отсюда
можно получить асимптотическую форму решения уравнения (6.6):
y~l + A(x + d)~2^1 ехр[- 72(х + df] (6.9)
с параметрами And,
При решении обобщенных краевых задач входящие в
дифференциальные уравнения параметры не приводят к
каким-либо особым трудностям. Но при наличии сингулярных решений
или асимптотических разложений обычно требуется довольно
детальное исследование уравнений, что может оказаться
сложной задачей в случае больших нелинейных систем (см. Меррей
[1974, гл. 6]). В следующем параграфе рассматриваются
некоторые аналитические результаты, а затем обсуждается
практическое применение сшивания по обобщенным параметрам
пристрелки.
Гл. 18. Метод продолоюения и обобщенные краевые задачи 211
7. ОСОБЫЕ ТОЧКИ И АСИМПТОТИЧЕСКИЕ РЕШЕНИЯ
Теория особых точек линейных дифференциальных
уравнений полностью разработана, и изложение ее результатов
можно найти во многих учебниках, например в книге Айнса [1926,
гл. 7]. Для уравнения второго порядка
t/ + f{x)y' + g{x)y = 0 (7.1)
необходимые и достаточные условия наличия регулярной
особенности при х = с заключаются в существовании разложений
/ (Х) = О (х - сГ\ g (х) = О (* - с)"2 (7.2)
в окрестности точки с. При выполнении этих условий в
окрестности точки с существует решение в виде ряда (типа Фробе-
ниуса)
()г[ + (с) + а2(х-с)2+ ...], (7.3)
где г не обязательно целое число. Значение показателя степени
г находится в результате подстановки ряда (7.3) в
дифференциальное уравнение и приравнивания нулю коэффициента при
члене (х — с)г~2. Этот метод всегда дает хотя бы одно
решение в регулярной особой точке; если он не дает двух линейно
независимых решений, то второе решение можно найти
введением логарифмического члена; см. Айне [1926, § 16.3]. В
качестве примера можно указать решения уравнения Бесселя
целого порядка вблизи точки х = 0.
Данный метод легко обобщается на случай линейных
уравнений высшего порядка, причем главный член разложения в
регулярной особой точке всегда имеет вид
(х - с)г {In (х-с)У,
где v — целое число. Поведение решения на бесконечности
можно исследовать таким же образом, проведя замену независимой
переменной. Подставляя t=l/x, приводим уравнение (7.1) к
виду
4
причем бесконечно удаленная точка отображается в точку
t = 0. Если уравнение (7.4) удовлетворяет условиям
регулярности особенности в начале координат, то можно обычным
образом найти его локальное решение в окрестности / = 0и,
проведя обратную замену независимой переменной, получить
асимптотическое решение при х -> оо.
К сожалению, теория регулярных особенностей имеет
довольно ограниченное применение на практике; многие важные
линейные задачи характеризуются наличием нерегулярных
242 Часть 3. Краевые задачи
особых точек, так что требуется проводить исследование
различных типов решений. В линейном случае всегда можно найти
положения особых точек, поскольку они определяются
особенностями в коэффициентах уравнения (7.1) (или аналогичного
уравнения более высокого порядка). В случае нелинейных
уравнений задача нахождения особенностей и исследования их
характера оказывается гораздо сложнее. Если ограничиться
возможными особенностями на концах отрезка интегрирования, то
их можно легко распознать при явном задании граничных
условий, поскольку особые точки появляются тогда, когда правая
часть уравнения (2.1) не существует или неоднозначна. Тогда
следует провести проверку на тип особенности, подставляя
решения в виде дробной степени, логарифма, экспоненты и т. д.
до тех пор, пока не выполняются заданные граничные условия.
Любые дополнительные сведения об аналитическом
поведении решения могут оказаться полезными при выборе
параметров метода пристрелки. Для уравнений, не охватываемых
теорией Фробениуса, в частности, необходимо численно проверять
правильность решения с особенностью на конечном интервале
или на бесконечности. Например, если pei ение с особенностью
в точке х = О ищется на отрезке [0, h], то вычисления следует
проводить с двумя или тремя различными значениями h для
проверки их согласованности или, иначе говоря, области
применимости разложения.
8. РЕШЕНИЕ МЕТОДОМ ПРИСТРЕЛКИ
Существуют три основных типа обобщенных параметров
пристрелки, а именно: постоянная, входящая в
дифференциальное уравнение, коэффициент или показатель экспоненты в
разложении вблизи конца отрезка интегрирования и длина отрезка
интегрирования. В принципе в каждом из указанных случаев
можно получить линеаризованные уравнения и применить
метод Ньютона для решения уравнения (6.1), как описано в
гл. 16, однако для параметров разного типа линеаризованные
уравнения будут иметь различный вид.
В качестве примера рассмотрим уравнение (2.1) на отрезке
[О, р], где р — параметр. Введя новую независимую
переменную / = х/р, перепишем исходную систему уравнений в виде
-^ = pf(pt,y), (8.1)
причем отрезок интегрирования преобразуется в отрезок [0, 1].
Тогда уравнения для q =.ду/др имеют вид
Гл. 18. Метод продолоюения и обобщенные краевые задачи 243
с граничными условиями 9* = О, заданными там, где известны
соответствующие у и Вернувшись к исходной независимой
переменной х, получаем уравнение
которое представляет собой стандартное линеаризованное
уравнение с двумя дополнительными членами в правой части.
Вполне возможно получить все различные варианты
вариационных уравнений, но более простая и универсальная
процедура заключается в вычислении матрицы Якоби для метода
Ньютона при помощи конечно-разностной аппроксимации. Если
аппроксимировать производные dyi/dpj, давая приращения
параметру pi и формируя соответствующие разделенные разности,
то метод оказывается не зависящим от типа параметра. На этом
принципе можно разработать алгоритм, который позволяет
создать универсальную программу решения краевых задач. Как
уже было указано выше, использование соответствующих
разделенных разностей вместо производных обычно не сказывается
отрицательно на скорости сходимости итераций по Ньютону.
Если рассматривается задача, не обладающая этим свойством,
то для улучшения сходимости можно использовать
многократную пристрелку (гл. 16) или методы возмущений, причем
следует отметить, что использование линеаризованных уравнений
практически не упрощает решения.
Рассмотрим еще один тип накладываемых на решение
краевой задачи ограничений, отличный от указанных выше, а
именно нормирование решения. В линейных задачах нормирование
тривиально осуществляется простым масштабированием
переменных. Например, при решении задачи
y" + bf(x)y = O, y(a)=*0, */(&) = О, (8.4)
можно просто положить, скажем, у'(а) = 1 и взять в качестве
параметров у'(Ъ) и Я. После решения задачи результат можно
перенормировать.
В более общем случае условие нормировки может породить
значительные трудности. Предположим, что требуется решить
задачу
ь
= f(x, у), \g(y)dx = A, (8.5)
где А известно. Приняв в качестве параметров граничные
значения, получаем в общем случае 5 + 1 заданных условий для
s+1 неизвестных параметров. Пристрелка и сшивание решений
дадут s нелинейных уравнений вида (6.1), а дополнительным
244 Часть 3. Краевые задачи
уравнением служит интегральное условие из (8.5). Одна из
возможностей состоит в исключении 5 параметров при
помощи уравнений сшивания, после чего интегральное условие
записывается относительно оставшегося параметра, скажем р*.
Для получения поправок к текущему значению pk можно
разложить подынтегральное выражение до членов первого порядка
включительно:
J |
(8.6)
Само собой разумеется, что исключение первых s параметров
не обязательно проводить в явном виде; можно решить
краевую задачу для некоторого фиксированного значения pk и
найти y{Pk), затем решить задачу вторично для несколько иного
значения этого параметра и, составив разделенную разность,
оценить производную dyt/dpk. По, ученная оценка используется
в (8.6) для вычисления поправки брь к текущему значению
параметра. Сложность такого процесса очевидна, однако в
большинстве случаев интеграл в (8.5) довольно устойчив по
отношению к изменениям у, так что задача в целом не слишком
трудна для численного решения.
19
МЕТОДЫ РАЗЛОЖЕНИЯ
1. ВВЕДЕНИЕ
Почти все описанные в данной книге методы — это конечно-
разностные методы пошагового интегрирования. В настоящей
главе рассматривается принципиально иной подход,
основанный на теории аппроксимации. Этот подход заключается в
разложении неизвестной функции f(x) в ряд по некоторой системе
известных базисных функций ht(x):
£М). (1.1)
Неизвестными теперь становятся коэффициенты разложения at
(которые, равно как и функции hi(x), зависят от N).
Основанный на представлении (1.1) алгоритм называется методом
разложения; в качестве примеров его конкретной реализации
можно указать метод Галёркина, метод коллокаций, метод
наименьших квадратов, а также метод Чебышева, которые различаются
способом выбора коэффициентов щ. При некоторых обстоятель-
Гл. 19. Методы разложения 245
ствах методы этого типа имеют преимущества перед конечно-
разностными методами, но иногда бывает и обратное; примеры
применения методов разложения к решению параболических
уравнений рассматривались в гл. 14.
2 ЛИНЕЙНЫЕ ЗАДАЧИ
Любую линейную систему обыкновенных дифференциальных
уравнений так или иначе можно записать в виде
g(x), (2.1)
где f(x) и g (x) — вектор-функции от х, а «^ — некоторый
дифференциальный оператор. Будем считать, что размерность
векторов равна п.
Покажем, как это выглядит в конкретном случае. Уравнение
(a) -£rf(x) = g (x), х е= [a, ft], (2.2a)
эквивалентно системе
(b) JL f (x) — f (x) = О
т. е.
dx /2 v / s \ />
(2.26)
в которой введены очевидные обозначения / = f\, df/dx = f*.
Будем называть общим порядком системы сумму р порядков
ее уравнений; в рассматриваемом примере р = 2. Система
дифференциальных уравнений дополняется системой из q
граничных условий, которые можно записать в виде
В J {x) = bi, i = 1, ..., q, (2.3)
где Bi — линейные (возможно, даже дифференциальные)
операторы, определенные на точечном множестве Р^[а,Ь].
В большинстве случаев выполняется равенство q = р. Будем
рассматривать (2.3) как запись граничных условий общего
вида, заданных на некотором конечном множестве точек; на*
пример, уравнение (2.2) можно дополнить либо условиями
(а)/(а)=1, //(а)=1, что приводит к задаче Кошиг
либо условиями
(b)f(a) + f/[(a + b)/2]=0i f'(b)=l, что приводит к крае*
вой задаче (несколько искусственной).
Рассмотрим метод разложения применительно к задачам типа
(2.1), (2.3); как уже было указано, при этом предполагают
существование единственного решения и пытаются его
аппроксимировать.
246 Часть 3. Краевые задачи
Если f(x) —вектор-функция, то отдельны ; слагаемые ciihi(x)
в (1.1) также представляются векторами той же размерности.
Будем записывать а* и А,- в виде векторов-столбцов, так что для
приведенного выше примера
а разложение (1.1) можно представить в виде
/^/лг=2>*Л«г, (2.4)
i = \
где символ Л обозначает поэлементное умножение:
(2.5)
3. МЕТОД КОЛЛОКАЦИЙ
Метод коллокаций представляет собой простейший алгоритм
вычисления векторов а/ (размерности п) в разложении (2.4).
Если вместо / в граничные условия (2.3) подставить /W, то
получится q векторных уравнений
N
BtihfAa^bi, i=l, ...,</, (3.1)
представляющих собой q X я условий, которым должны
удовлетворять п X N компонент векторов аи - * •, аы- Если теперь
выбрать N — q точек лг^е [a, b], k = l, ..,, N — qy то можно
наложить дополнительные «коллокационные» условия, чтобы в
этих точках удовлетворялось дифференциальное уравнение (2.1):
^fN{xk) = S^{hi{xk)Aai) = g{xk)i ft=l, 2, ..., N-q. (3.2)
При благоприятных обстоятельствах из уравнений (3.1) и (3.2)
удается получить единственное решение, которое, как можно
надеяться, сходится: !ы{х)->1{х) при N-*oo для всех
[Ь]
4. МЕТОД МИНИМИЗАЦИИ НЕВЯЗОК
Метод коллокаций весьма прост в использовании; он точно
удовлетворяет граничным условиям и точно удовлетворяет
дифференциальным уравнениям на множестве точек {хи}. Его
основной недостаток — неудобная зависимость от N числа точек хц\
это число выбирается так, чтобы получить замкнутую систему
уравнений, причем в этих точках вектор невязок ()
Гл. 19. Методы разложения 247
= &\n{*) — g(x) обращается в нуль. Здесь очевидна аналогия
с интерполяцией по Лагранжу, а известно, что
последовательность интерполяционных полиномов Лагранжа может не
сходиться. Это означает, что эффективность метода коллокаций
может существенно зависеть от выбора точек {Xk}. Такая
зависимость действительно наблюдается на практике. При
некоторых обстоятельствах можно выбрать эти точки так, чтобы
гарантировать сходимость метода (см. гл. 14). В других случаях
указанную зависимость можно преодолеть, минимизируя
некоторую меру векторов невязок на всем отрезке интегрирования.
Чаще всего рассматриваются следующие величины.
(a) Метод наименьших квадратов:
п Ь
минимизируется || rN ||2 = ]Г \ wt {x) (rN (a:))/ dx, (4.1)
/-la
где Wj(x)—произвольная положительная весовая функция, а
(rN(x))j есть /-я компонента вектора rN(x).
(b) Метод минимакса:
минимизируется 11^11^= max sup \(rN(x))IwI(x)\. (4.2)
К/< х\а, b]
В обоих случаях обычно полагается wj(x) = 1.
(с) Кроме того, весьма распространен метод моментов, или
метод Галёркина. В этом методе выбирают еще одну систему
функций ф/(#) и затем находят at из N— q «уравнений
моментов»
ь
\%(x)ArN(x)w(x)dx = O, i=l, 2, ..., N-q. (4.3)
а
Методы (а) и (с), примененные к линейной задаче,
приводят к системам линейных уравнений и, следовательно, проще
метода (Ь), который дает нелинейные уравнения. Например,
выписанные полностью уравнения Галёркина (4.3) имеют вид
1 г
w {x) dx я/ = J Ф/ (х) Ag(x)w (x) dxy
/1 fl J a
/=1, ..., N-q, /=1, ..., N. (4.4)
Совместно с граничными условиями (3.1) эти уравнения
определяют в общем случае единственный набор векторов а/, /= 1,
..., N. На практике при заданных {Ы} и N все три
рассмотренных метода мало отличаются по точности; поэтому, кажется,
нет больших оснований затрачивать дополнительные усилия на
реализацию метода (Ь), если нет каких-либо особых причин
минимизировать максимум невязки (заметим, что минимакс це-
вязки не гарантирует минимакс погрешности решения).
248 Часть 3. Краевые задачи
5. ДИСКРЕТИЗАЦИЯ; ЕДИНАЯ ТРАКТОВКА ГРАНИЧНЫХ
УСЛОВИЙ
При проведении вычислений описанным выше методом
обнаруживаются два недостатка.
Во-первых, граничные условия удовлетворяются точно, тогда
как дифференциальное уравнение удовлетворяется лишь
приближенно. Такая неоднородность метода не очень существенна
при решении обыкновенных дифференциальных уравнений, но
требует самого пристального внимания при решении
многомерных задач, поскольку в этом случае обычно не удается
удовлетворить точно даже граничным условиям. Во-вторых, в (4.3), а
также в методе наименьших квадратов требуются численные
квадратуры. На практике интеграл представляется некоторой
квадратурной формулой
г Q
причем используются два вида квадратур:
(a) сетка из Q равномерно распределенных на отрезке
[а, Ь] точек с весом wi = l/Q (см., например, Барродейл и Янг
[1970]);
(b) величины wi и Xi являются весовыми множителями и
координатами узлов Q-точечной квадратурной формулы
соответственно.
Во втором случае возникает искушение рассматривать
подобные интегралы независимо, поскольку оказывается, что
трудности вычисления каждого из них увеличиваются с ростом /, /;
некоторые известные автору программы вычисляют эти
интегралы посредством подпрограмм с автоматической
модификацией алгоритма взятия квадратур. Такой подход оказался
безнадежно неэффективным на практике, и указанные алгоритмы
становятся конкурентоспособными лишь при использовании
фиксированных наборов узлов и весовых коэффициентов для всех
вычисляемых интегралов. В этом случае классы алгоритмов (а)
и (Ь) приводят к формально идентичным вычислительным
процедурам; их эффективность сравнивается на приведенных ниже
примерах.
Если теперь использовать квадратурную формулу в основных
уравнениях метода наименьших квадратов, то окажется, что
коэффициенты ai вычисляются из условия
минимизации'среднеквадратичной невязки (с весом) дифференциального
уравнения на множестве узлов сетки Q = {#/, /=1, ..., Q}, причем
соотношения в граничных точках (3.1) удовлетворяются точно.
Можно предложить и другой подход, при котором
дифференциальные уравнения и граничные условия трактуются единооб-
Гл. 19. Методы разложения 249
разно. Для этого граничные точки добавляются к множеству
узлов сетки Q и решение всей переопределенной системы
уравнений ищется методом наименьших квадратов (с весом). Иначе
говоря, записывается система из Q + q (векторных) уравнений
относительно N (векторных) неизвестных
и ищется дискретное решение этих уравнений методом
наименьших квадратов (с весом). Это решение удовлетворяет системе
уравнений
AJWAa = ATd, (5.2)
где W — диагональная матрица весовых коэффициентов и для
1 ^ i <; Q + q имеют место равенства
AiJ
где
L = &,
Аналогично из уравнений Галёркина после их дискретизации и
учета граничных условий получается система
ФтЛа = ФЧ (5.3)
где А и d — те же, что и в (5.1), а Ф — матрица размером
(Q + Я) XN с элементами
qpi/^qp/fa). /=i, ..., iv, /=1,..., Q + q. (5.4)
6. ПРИМЕР
В качестве примера использования описанного метода
рассмотрим следующую задачу, заимствованную у Барродейла и
Янга [1970]:
Ее точное решение: / (х) = 1 + 0.5#2 + sh (x).
N
Разложение: fN (х) = 2 аьх1"1.
/«1
Дискретизация: Da: Q точек, равномерно распределенных
на отрезке [0, 1]; wt = 1/Q;
Db\ Q точек и весовых коэффициентов
квадратурной формулы Гаусса —
Лежандра на отрезке [0, 1].
250
Часть 3. Краевые задачи
В каждом случае граничным условиям приписывается
весовой множитель 1. Используются две меры точности:
1) «W = max \f(x) — fN (х) |,
Q
2) eLS Нж
где {yt}—множество из 10 точек, равномерно распределенных
на отрезке [0, 1].
Требуется решить переопределенную систему
^d
*=1, 2,..., Q,
Z
a2= I,
Погрешности решения приведены в табл. 1.
Таблица 1
Вариант
дискретизации
Da
Db
Максимум
невязки,
rN Lax
\
Q \
5
10
20
50
4
8
12
12
2
eLS
1.7
1.7
1.7
1.7
1.6
1.7
1.7
8max
2.3
2.3
2.3
2.3
2.3
2.3
2.3
3.00
4
8LS
0.72
0.73
0.74
0.74
0.74
0.74
0.74
8max
1.10
1.15
.16
1.16
.16
.16
.16
-0.8
eLS
0.030
0.053
0.068
___
0.080
0.080
—
6
emax
0.032
0.057
0.073
—
0.086
0.086
1.1
8
eLS
___
9.2,-9
1.6,-7
2.9,-7
_
4.0,-7
4.0,-7
8max
1.2,-8
1.8,-7
3.2,-7
_
4.3,-7
4.3,-7
-3.0,-3
Г я. 19. Методы разложения 251
Данный пример показателен в нескольких отношениях. Во-
первых, для задач подобного рода, решение которых аналитич-
но, имеет место чрезвычайно быстрая сходимость по N.
Во-вторых, при увеличении Q и фиксированном N наблюдается
сходимость 8ls и 8таХ; более того, эта сходимость оказывается более
быстрой для способа интегрирования Db, чем для равномерного
распределения узлов Da. В-третьих, различие в значениях етах
и els невелико, а это показывает, что минимизация ||Ы|«>, по-
видимому, лишена особого смысла.
В работе Барродейла и Янга [1970] данная задача
решалась также в равномерной норме Чебышева с использованием
сплайнов седьмой степени с девятью узлами (т. е. с
семнадцатью параметрами). Погрешность полученного результата
составляла 8max ~ Ю~8; таким образом (по крайней мере в
данном примере), не усматривается никаких преимуществ кусочно
полиномиальной аппроксимации по сравнению с обычным
полиномом.
7. СВЯЗЬ МЕТОДОВ МЕЖДУ СОБОЙ
Метод Галёркина, метод наименьших квадратов и метод кол-
локаций с очевидностью тесно связаны. Если в методе
Галёркина выбрать
(Pi(x) = Lhi(x)9
то в (5.3) Ф = А и имеет место полная эквивалентность. Далее,
если взять минимально возможное число точек N = Q-\- q, то
матрицы А и Ф будут квадратными; если эти матрицы невы-
рожденны, то оба метода — метод Галёркина и метод
наименьших квадратов — сводятся к решению системы уравнений
а это уравнение метода коллокаций для того же множества
узлов. Такие же соответствия имеют место и при точном
выполнении граничных условий.
8. ОЦЕНКИ ПОГРЕШНОСТИ; ВЫБОР ФУНКЦИИ ht
Приведенные выше оценки (см. таблицу) получены на
основе известного точного решения; однако столь счастливые
обстоятельства встречаются не часто. На практике обычно
располагают лишь двумя легко вычисляемыми параметрами, при
помощи которых можно получить необходимые оценки.
(1) Вектор невязок гм(х). Процесс вычисления можно всегда
прекратить, когда в некоторой норме \\rN\\ окажется достаточно
малой. Данная процедура имеет то преимущество, что она
252 Часть 3. Краевые задачи
применима при любом выборе базисных функций hi (x).
Общеизвестный недостаток такого подхода заключается в том, что если
задача плохо обусловлена, то величина невязки ничего не
говорит о близости полученного решения к точному. Это
обстоятельство наглядно иллюстрируется свойствами систем
линейных уравнений, при решении которых нередко можно заметить,
что малость невязки не означает малости погрешности. Если
обратиться к рассматриваемым методам, то при численных
расчетах часто можно обнаружить, что 11/^11 > IIелгII. Это связано с
соотношением гн = 3?еы, в котором дифференциальный
оператор 3? не ограничен. Как показывает последняя строка табл. 1,
в рассматриваемом примере наблюдается именно такое
соотношение между невязкой и погрешностью; следовательно, при
использовании в качестве меры погрешности нормы невязки
\\rN\\ точность решения представляется значительно ниже
фактической.
(и) Коэффициенты разложения аи /=1, ..., N. При
соответствующем выборе базисных функций hi при помощи этих
коэффициентов можно экономично и (как правило) вполне
надежно оценить погрешность в смысле нормы в L% В частности,
на основе соотношений
можно определить
п Ъ
&»1 а а
оо п Ъ
где
(b'thWk \ (hih(x)(ht)k(x)w(x) dx, (8.1)
а
(bt—at, t<N,
У' = \Ь{, i>N.
В случае ортонормированности базисных функций ft/,
ь
ht (*) hi (x) w (x) dx = б/;,
соотношение (8.1) упрощается:
IIeN I = Z (bt - atf (bi -ad + t J£+i b\bi = S, + S2. (8.2
Гл. 19. Методы разложения 253
Если теперь предположить, что щ хорошо аппроксимируют Ьи
i=\ , ..., Ny и пренебречь Si, а также предположить степенную
сходимость Ъс
\\ЬЛ\2~В
Г\
то можно получить оценку
и „ и2 Я2 ат~2г+1 N
Единственное неизвестное в формуле (8.3)—это г, которое
можно оценить из наблюдаемой скорости уменьшения
коэффициентов щ, однако точность этой оценки очень низка, так что
обычно полагают 2г— 1 = 1.
Более точные оценки (см., например, Фримен и Делвс
[1974], а также Мыоза и Делвс [в печати]) показывают, что в
действительности S\ не превышает О(5г), так что имеет место
оценка вида (8.3), хотя, возможно, с несколько большим
численным коэффициентом; более того, при благоприятных
обстоятельствах
или, иначе говоря, реализуется экспоненциальная скорость
сходимости, которая действительно наблюдается в приведенном
выше примере.
Возможность получения столь высокой скорости сходимости
представляет собой главное преимущество использования
полиномов для нахождения решения. Если решение задачи
характеризуется низкой степенью гладкости (разрывы производных
невысокого порядка на [а, &]), то параметр г в оценке (8.3)
мал и сходимость медленная; более того, при конечном N
невозможно отличить разрывную производную от очень быстро
меняющейся, так что в задачах с таким поведением решения
скорость сходимости также будет мала. Поэтому часто
считается, что кусочно полиномиальный подход обеспечивает
лучшие результаты.
В случае дифференциальных уравнений в частных
производных этот подход (приводящий к методу конечных элементов)
оказался весьма плодотворным. В отношении обыкновенных
дифференциальных уравнений к настоящему времени имеется
слишком мало данных для высказывания категорических
суждений. Это связано, по-видимому, со сравнительно редким
использованием метода разложения в одномерных задачах, так
что еще не накоплен достаточный опыт; частично это является
также следствием большого превосходства метода конечных
элементов в многомерном случае для областей сложной формы.
По мнению автора, наивысшей эффективности в обычных
условиях можно достичь посредством использования полиномов
254 Часть 3. Краевые задачи
высокой степени, однако если это связано с большими
трудностями, то следует разбить отрезок [а, Ь] на две или несколько
частей, что практически означает переход к кусочно
полиномиальному варианту метода с полиномами высокой степени, но так
следует поступать только в надежде получить какие-либо
преимущества. Подпрограммы для рассмотренного алгоритма
имеются в Библиотеке стандартных программ NAG
(справедливости ради следует указать, что они не пользуются особой
популярностью).
9. ОБОБЩЕНИЯ И ЗАКЛЮЧЕНИЯ
1) Нелинейные уравнения
Хотя приведенные выше выкладки относились к линейным
уравнениям, однако нелинейные уравнения можно решать
таким же образом при условии, что получаемые нелинейные
алгебраические уравнения разрешимы методом итераций.
Применение итераций в общем случае требует многократного
вычисления матрицы, состоящей из интегралов, и поэтому бытует
мнение, что в подобных ситуациях метод разложения слишком
трудоемок, но это вполне терпимо на практике, за исключением
отдельных частных случаев, для которых существует много
различных возможностей; решение же нелинейных краевых задач
связано с очень большими вычислительными затратами при
любом методе.
2) Бесконечные пределы интегрирования
В этом случае метод разложения также обладает
преимуществами как перед методами пристрелки, так и перед
неявными конечно-разностными методами, поскольку в задачах с
бесконечными пределами интегрирования ([0, оо), (—оо, оо)) он
не порождает каких-либо особых трудностей. Например, на
полупрямой [0, оо) можно проводить разложение по функциям
Лагерра LN(ax)e-ax или системе функций вида 1/(х-\-а)п;
приведенные выше рассуждения по-прежнему применимы без
изменений.
Более подробное изложение этих методов можно найти в
книгах Фокса и Паркера [1968], С. Г. Михлина и X. Л. Смо-
лицкого [1965], а также С. Г. Михлина [1966].
Дадим краткую сводку основных преимуществ и
недостатков методов разложения.
Преимущества:
1) Эти методы позволяют получать решение в компактной
форме, которое можно легко передавать для использования
где-либо еще. Данное соображение иногда оказывается опреде-
Гл. 19. Методы разложения 255
ляющим (например, при создании библиотеки алгоритмов
приближения специальных функций).
2) Эти методы позволяют без особых трудностей решать
задачи с произвольными многоточечными граничными условиями
или с другими неприятными свойствами.
3) При благоприятных обстоятельствах эти методы
чрезвычайно быстро сходятся, что делает их особенно
привлекательными в тех случаях, когда требуется высокая точность решения
краевых задач.
Недостатки:
1) Опыт применения этих методов гораздо меньше, чем
конечно-разностных методов, и поэтому пока что составлено
сравнительно мало стандартных программ.
2) Составить эффективную стандартную программу для
метода разложения значительно труднее, чем для
конечно-разностного метода. Поэтому те пользователи, которые сами
составляют программы, иногда бывают разочарованы
получаемыми результатами.
Окончательный вывод:
Метод разложения иногда приводит к серьезным неудачам,
а иногда к блестящим успехам. В будущем он может оказаться
вполне эффективным.
Часть 4
ФУНКЦИОНАЛЬНО-ДИФФЕРЕНЦИАЛЬНЫЕ
УРАВНЕНИЯ
20
ЗАДАЧА КОШИ ДЛЯ УРАВНЕНИИ
С ЗАПАЗДЫВАЮЩИМ АРГУМЕНТОМ
1. ВВЕДЕНИЕ
Здесь мы будем заниматься некоторыми численными
методами приближенного решения уравнений вида
y'(x) = f(x, у(х), у(х — т(х)))9 х>х0, (1.1)
с заданными начальными условиями, где %(х) ^ 0. Такие
задачи возникают в самых различных областях приложений от
исследования распространения эпидемий и создания моделей
сердечно-легочных систем до проектирования накопительных
систем (не говоря уже о применениях в аналитической теории
чисел и в теории управления).
Заметим, что уравнение (1.1) часто рассматривается в связи
с более общим уравнением
y'(x) = f(x,y{x),y(x — Tl{x)), У(х — т2(х)), ..., y(x — Tq(x)))t (1.1а)
где Ti(x) >0, /=1, 2, ..., q.
Хотя численное решение уравнений с запаздывающим
аргументом представляет несомненный интерес, численные методы
здесь не так развиты, как для задачи Коши для уравнения
y' = f(x, у). В данное время для уравнений с запаздывающим
аргументом нет широкого выбора конкурирующих между собой
универсальных алгоритмов (см., правда, работу Нивса [1975]).
Тем не менее теория численных методов для уравнений с
запаздывающим аргументом существует и появляется все больше
работ, посвященных исследованию согласованности, сходимости,
устойчивости и областей устойчивости. Мы старались составить
исчерпывающий перечень этих работ, который включен в общий
список литературы в конце книги. Поскольку этот общий
список охватывает весьма широкую область, авторы, внесшие
вклад в теорию уравнений с запаздывающим аргументом,
перечислены в § 5 данной главы.
Здесь мы хотим обратить внимание на некоторые обзоры
численных методов решения уравнений с запаздывающим
аргументом. В частности, мы имеем в виду книгу Л. Э. Эльсголь-
ца и С. Б. Норкина [1971], которая содержит соответствующий
Гл. 20. Задача Коша для уравнений с запаздывающим аргументом 257
краткий обзор, а также статьи Крайера [1972] и Тавернина
[1971]. С обзора начинается диссертация Видерхольта [1970].
В этой связи следует упохмянуть и книгу Фокса, Майерса, Окен-
дона и Тейлора [1971] (хотя она и посвящена частным
задачам), поскольку в части В указанной книги описываются
некоторые методы, имеющие широкую область приложений.
Прежде всего разберемся в существе задачи и укажем те
ограничения, при которых будут проводиться все наши
рассуждения. Мы рассмотрим уравнение (1.1) первого порядка в
случае т(х)^оо\ такие уравнения (в частности, при т(х)>6)
называются обыкновенными дифференциальными уравнениями
с запаздывающим аргументом1). В случае т(л:)<0 это
уравнение называется обыкновенным дифференциальным уравнением
с забеганием вперед; уравнения с отклоняющимся аргументом
иного вида, такие, как уравнение у (х) = F(x, у{х — т(л:)), у(х),
у(л:+т(х))), обычно называются уравнением нейтрального типа.
(Нам не ясно, насколько общепринята подобная терминология.)
Мы будем рассматривать лишь уравнения с запаздывающим
аргументом. Кроме того, мы ограничимся задачами с
начальными условиями для уравнений первого порядка и прямыми
методами, пригодными для использования на ЭВМ. (Де Неверс
и Шмитт [1971] использовали метод пристрелки для решения
краевой задачи с уравнением второго порядка.) Мы не будем
касаться полуаналитических способов, в которых для
получения явного вида решения используется какой-либо
приближенный метод.
2. ОСНОВНЫЕ ОБОЗНАЧЕНИЯ
Существует ряд учебников, содержащих основы теории
дифференциально-разностных уравнений, одним из примеров
которых является (1.1). В частности, мы имеем в виду книгу
Л. Э. Эльсгольца и С. Б. Норкина [1971], которая содержит
обширную библиографию, статью А. Д. Мышкиса [1949] и
книгу Беллмана и Кука [1963]; читатель может обратиться
также к книге под редакцией Шмитта [1972].
В то время как решение уравнения у' = f(x,y), x>xOi при
некоторых условиях определяется единственным образом
начальным значением у(хо), начальные условия, определяющие
решение уравнения (1.1), в общем случае включают заданные
значения у(х) на некотором интервале. Точный вид этих
начальных условий зависит от характера запаздывания и области
значений аргумента. Если решение задачи определяется некоторым
1) Запаздыванием мы будем называть т(л-); другие авторы иногда
пользуют этот термин для обозначения всего аргумента х — т(х).
ис-
7а 9 Зак. 1335
258 Часть 4. Функционально-дифференциальные уравнения
начальным значением в одной точке, то, следуя Фельдштей-
ну [1964], мы будем называть такую задачу задачей Коши для
обыкновенного дифференциального уравнения с запаздыванием,
В общем случае, когда ищется решение уравнения (1.1) при
х0 ^ х ^ X, требуется информация о начальных значениях вида
У(х) = Уо(х), min(*<,, *,)<х<х0,
где
х, = min {x — т (х)}.
X^(Xq, X]
Для иллюстрации приведем несколько примеров.
Пример 2.1. В качестве уравнения с постоянным
запаздыванием вида
У' = /(*>*/ (х), У(х — а)), т (х) = а > О,
возьмем следующее:
/ (л:) = ку(х — а), л; > л:0,
с заданными условиями у (х) = у при Хо — а ^ jc ^ лсо.
Решением этого уравнения является
y(x) = vZW(x-xo-(r-l) a)r/rl},
r-0
где N = [(х — *o)/a] + 1, а запись [z] означает целую часть г.
Пример 2.2. Примером уравнения с запаздыванием,
убывающим по мере возрастания аргумента, является (см. Беллман,
Булл и Калаба [1965]) уравнение
г/ (х) = — у(х — е~х — 1) + {cos x + sin (х — е~х — 1)}.
Чтобы найти решение при х > 0, положим y(x)=sinx при
л: е [—2, 0]; тогда решением будет
у (х) = sin л: для л: ^ 0.
Пример 2.3. Если min {л: — т(х)}—хо, то (1.1)
представляет собой задачу Коши для дифференциального уравнения с
запаздывающим аргументом. Примерами могут служить
рассмотренные Фоксом с соавторами [1971] задачи
(0 у'(х) = ау(Хх) + Ьу(х), х>0, 0<Я<1, 0(0)
а также исследованные Фельдштейном [1964] задачи
(И)
(Hi)
и
(iv) у' =
Гл. 20. Задача Коши для уравнений с запаздывающим аргументом 259
Заметим, что (ii) является уравнением с запаздыванием лишь
при |л:| ^ 1 и служит примером уравнения (1.1а) с
несколькими запаздываниями.
Пример 2.4. Фельдштейн и Гудман [1973] рассматривают
несколько функционально-дифференциальных уравнений; в
частности, уравнение
i/(x) = у(х-1)-Зу(х-л/2) + у(х- я), х > О,
с у(х) = 1 при х ^ 0 представляет собой пример уравнения с
несколькими запаздываниями.
Пример 2.5. Уравнения (см. Фельдштейн [1964])
у'(х) = У(х21 0<*<1; /(*) = # (72 0+*)), Кх,
с {/(0) = 0 служат иллюстрацией к задаче, которая будет
рассмотрена позже. Заметим, что запаздывание имеет различный
вид на двух интервалах, но является непрерывным.
Замечание. В некоторых случаях запаздывание х(х) в
уравнении (1.1) с отклоняющимся аргументом зависит от
решения и заранее нельзя определить, какова должна быть область
начальных условий. Л. Э. Эльсгольц и С. Б. Норкин [1971,
с. 49 и далее] приводят ряд примеров такого типа, когда
разрывы в начальных данных «неблагоприятно» влияют на решение,
приводя к недостаточной гладкости и неединственности
решения или даже к его отсутствию в некоторых интервалах.
На примере (2.1) будет показано, что даже в простом
случае уравнения с запаздыванием производные решения могут
претерпевать разрыв. В частном случае А, = а = 1 (Беллман и
Кук [1963]) решение уравнения у'(х) — у(х — 1) при х ^ 1
с у(х)=\ при 0 ^ х ^ 1 получается при помощи
«процесса продолжения», который дает у(х)=х при 1 ^ х ^ 2,
у(х) = х+Ч2(х-2) при 2^*<3, у(х) = х+Ч2(х-2)2 +
+ 1/г(х — З)3 при 3 ^ х ^ 4 и т. д. (Такой процесс продолжения,
который Л. Э. Эльсгольц и С. Б. Норкин [1971] называют
«методом шагов», дает возможность, как показано ниже,
проникнуть в сущность аналитических и численных методов
решения некоторых уравнений с запаздывающим аргументом.)
Теперь подчеркнем, что у'(х) разрывна при х=1, у"(х) —
при х = 2, у"'(х) — при х = 3 и т. д. Наличие таких
разрывных производных ограничивает эффективность численных
формул, рассчитанных на достижение высокой точности для
функций с производными высокого порядка. Однако в приведенном
примере решение становится все более гладким с увеличением
аргумента, а точки возможных разрывов известны заранее.
(Заметим также, что в примере 2.2 решение является
аналитической функцией!)
7» 9*
260 Часть 4. Функционально-дифференциальные уравнений
3. ПРИМЕНЕНИЕ ЧИСЛЕННЫХ МЕТОДОВ
Большинство численных методов решения задачи Коши для
обыкновенных дифференциальных уравнений можно
приспособить для уравнений с запаздыванием. Следовательно,
совокупность методов охватывает одношаговые методы (включая метод
Эйлера и методы типа Рунге — Кутты), многошаговые методы
и блочно-неявные методы. К каждому из этих методов нужно
добавить стандартную формулу интерполирования (см. ниже).
При некоторых условиях можно применять последующий
переход к пределу. Соответствующий пример можно найти в
работе Фокса с соавторами [1971]; изучаемую там задачу (см.
пример 2.3) можно также свести к интегральному уравнению
хК х
у(х) = (а/Х) \y{t)dt + b \y(t) dt + у0, Ж 1,
о о
которое на отрезке 0 ^ х ^ X можно рассматривать как
уравнение Фредгольма с разрывным ядром (тогда применимы
соответствующие методы решения интегральных уравнений,
включая методы интегрирования с весом, метод коллокаций и
т-метод).
Напомним, что решение уравнения с запаздывающим
аргументом может обладать разрывными производными. Исследуем,
однако, как приспособить к таким уравнениям стандартные
процедуры решения обыкновенных дифференциальных уравнений.
Для начала рассмотрим задачу
t/(x) = y(x—l), х>\ (у{х)=1 при 0<*<1),
обсуждавшуюся в конце § 2. Мы сопоставим численные и
аналитические методы ее решения и установим связь между ними.
Аналитический метод решения осуществляется по шагам, на
первом из которых мы получаем решение на отрезке [1, 2].
Таким образом, при 1 ^ х ^ 2 уравнение и начальное
условие дают у'(х) = 1 (1 ^ х ^ 2), и мы имеем задачу Коши,
которую можно решить соответственно аналитически или
численно при помощи некоторой стандартной процедуры. При
1 ^ х г^С 2 точным решением будет у(х) = х\ численный метод
в общем случае дал бы приближенные значения уг = у(хг)
решения у(х)> аппроксимируемого функцией у(х) в точках гге
&{zs\ 1 <; zs ^ 2}. При аналитическом решении на отрезке
2 ^ х ^ 3 мы имеем задачу у'(х) = у(х — 1) = х — 1 с
заданным у(2). Для приближенного численного решения мы имеем
близкую задачу у'(х)=у(х—1), xg [2,3], где в качестве
у (2) задано у (2). Для каждого алгоритма численного решения
такой задачи может понадобиться значение у(х—1), которого
Гл. 20. Задача Коши для уравнений с запаздывающим аргументом 261
нет среди вычисленных значений {y(zr)\zr^ [1,2]} и которое
следовало бы получить интерполяцией или экстраполяцией.
Этот этап вычисления решения на отрезке [2, 3] типичен; он
показывает ключевую особенность численного решения
уравнения с запаздывающим аргументом: необходимость
интерполяции или экстраполяции вычисленных значений решения. Более
того, мы видели, что интерполирующая функция является
приближением к функции у(х), имеющей разрывные производные
некоторого порядка. Положение этих разрывов должны влиять
на выбор интерполяционной формулы; например, при
интерполяции у(х) на отрезке 2^х^3 полиномами следует
использовать значения y(zr) при 2 ^ zr ^ 3. Разрывы могут влиять
также и на задачу экстраполирования, однако с увеличением х
решение становится все более гладким и задача
интерполирования соответственно упрощается.
Ниже мы подробно опишем этот подход, но необходимость
интерполяции будет приводить к трудностям при
непосредственном применении любой стандартной процедуры для
решения дифференциальных уравнений. Кажется, однако, что Ниве
[1975] добился известного успеха в этом направлении.
Уравнение с постоянным запаздыванием является весьма
специальным случаем, так как, в частности, можно заранее
определить положение всех разрывов. Уравнение (1.1) всегда
будет иметь разрывы производных в таких точках хП9 что
где Хо задано начальными условиями для (1.1). Могут, однако,
существовать дополнительные точки разрывов. Заметим, что
если т(х) монотонна, то
. (3.1)
В дальнейшем для удобства мы ограничимся лишь этим
случаем.
Процесс продолжения может оказаться невозможным даже
тогда, когда решение получается аналитически. Подобные
случаи называются сингулярными (Л. Э. Эльсгольц и С. Б. Норкин
[1971, с. 21]). Они не могут иметь места, если inf т(х) ^ т, > 0;
х
трудности возникают тогда, когда 1\п\хп = х в (3.1), так как
П->оо
решение, получаемое шаг за шагом, не может пройти через
точку х = х._Пример (2.5) представляет собой как раз такой
случай при х = I. Однако кратко описанный выше процесс
продолжения для численного или аналитического решения
можно распространить (хотя при этом могут возникнуть трудности)
на несингулярные уравнения с переменным запаздыванием
9 Зак. 1335
?62 Часть 4. Функционально-дифференциальные уравнения
(Крайер [1972, с. 56]), и мы можем получить благоприятную
возможность для использования стандартных процедур
решения задачи Коши для обыкновенных дифференциальных
уравнений. Мы вновь отсылаем читателя к работе Нивса.
Другой случай, в котором возможно применение
автоматических процедур, имеет место тогда, когда запаздывание %{х) в
(1.1) является монотонно убывающей функцией, хотя не
обязательно строго убывающей (Беллман, Булл и Калаба [1965]) и
х{х) > 0 (см. пример 2.2). Метод Беллмана с соавторами
устраняет необходимость в интерполировании (как это требуется
выше). Определяя последовательность {хп} посредством (3.1),
при помощи процесса продолжения выражаем решение на
отрезке хг ^ х ^ Xr+i через предыдущие значения на отрезке
[Хг-ь хг]. Предположим, что при хо ^ х ^ xs решение уже
найдено, и введем функции уэ (х) — х> у\ (х) =* х — т (х), у2 (х) =
= Vi(YiW)> •••> Ув(х) = 7i(Vs-iW). Затем на отрезке [xs, xs+\]
выпишем систему дифференциальных уравнений для функций
Л-2W = У(Y2(*)), ...,Уо(х)
Когда х меняется на отрезке [xs, xs+\], функция уг(х) меняется
на отрезке [xs-r, xs-r+\] и исходное уравнение (1.1) дает
"3^7 {Ук (Уз-k)} = / (Уз-k
начальным условием yk(Xk) = y(xk), xs ^ x ^ xs+u k =
0, 1, ... 5. Из этих уравнений получаем для xg [jcs, xs+i]
W — f (x, ys (x), ys_x W), ys (xs) = у (xe)f
-i W = V[ W / (V! (x), ys.x (x), y,_2 (x)), ys_x (xs) = у (xa_x)9 (3.3)
Здесь ^(Ys+iW) —'заданная начальная функция,
определенная на отрезке [х-и хо]. Систему (3.3) можно проинтегрировать
стандартной процедурой для системы уравнений первого
порядка. При Xs^x^Xs+i решение приводит к ys{x) — у(х) и мы
можем перейти к следующему отрезку [xs+\, #5+2]. При этом
число уравнений в системе (3.3) увеличивается на единицу.
4. ПОШАГОВЫЕ ФОРМУЛЫ ДЛЯ УРАВНЕНИЙ С ЗАПАЗДЫВАНИЕМ
В предыдущем параграфе были указаны два подхода,
которые позволяют приспособить процедуры решения уравнений без
запаздывания к решению уравнения с запаздыванием (1.1). Те*
Гл. 20. Задача Коши для уравнений с запаздывающим аргументом 263
перь покажем, как основные формулы, на которых базируются
методы решения задачи Коши для уравнения у' = f(x,y),
можно приспособить (или модифицировать) для учета членов,
содержащих запаздывание. Это дает возможность уяснить в целом
проблему интерполяции, поставленную в § 3, хотя возможности
адаптивного использования формул здесь не обсуждаются.
К простейшей из известных формул решения уравнения (1.1)
приводит метод Эйлера. Если у'{х) ограничена и интегрируема
по Риману, то y(x + h) —у(х) = Лг/'(л:) + о(1); если у'{х)
удовлетворяет условию Липшица, то член о(1) является
величиной О (Л2). Из этих соотношений выводим для решения
уравнения (1.1) формулу Эйлера, а именно формулу
у (х + К) — у (х) = hf (х, у (х)9 у(х — х (х))), х > дг0. (4.1)
Выберем 1) последовательность хг+\ = xr + hr (r ^ 0) и
подставим в (4.1) h = hn x — xr для вычисления значений ут =
== #(**■)» удовлетворяющих уравнению
Уг+\ = Уг + hrf (хп уп у (хг — тг)), (4.2)
где хг = т (хг). Если хг — хг ф. {xs}r0, то потребуется значение
у(хг — тг). Использование кусочно постоянной интерполяции
приводит к формулам
У (хг — Тг) •= У (Xq)> где хг — xr s (xq9 xq+i), (4.3а)
тогда как при кусочно линейной интерполяции мы будем иметь
У (хг - хг) := Wfij (xq) + в'гу {xq+\))lhq, (4.36)
где
(Уг — (хг — xq) — xr, &? = hq — o'r. (4.4)
Фельдштейн [1964], ограничившийся изучением задачи с
начальными значениями для уравнений с запаздыванием, называет
использование формул (4.3а) и (4.2) «упрощенным методом
Эйлера»; в его более совершенном «обычном алгоритме Эйлера»
применяются приближенные формулы
(4-6)
с начальными значениями уо = г0 = у(0) и с таким q, что
xr — Tre(jc?,%i]. Эта формула включает в себя двукратное
применение (4.1) с h = hr и h = o'r соответственно.
Последовательность вычислений такова: у0, 20, /о, Уи •••» /г, 9г+и ?г+ь и
1) Последовательность {хГ} в общем случае отличается от
последовательности в (3.1).
264 Часть 4. Функционально-дифференциальные уравнения
значения хп /V, уг запоминаются для дальнейшего
использования (что, возможно, предъявляет большие требования к памяти
ЭВМ). Интересно отметить, что нет необходимости запоминать
последовательность {/г}, если в (4.2) используется
интерполяция (4.36), и что тогда этот процесс эквивалентен
использованию (4.5), в чем можно убедиться после некоторых
размышлений.
Для уравнений с переменным запаздыванием Л. Э. Эльс-
гольц предложил использовать (4.2) и (4.3а) с сеткой {хг},
определяемой формулой (3.1) (мы могли бы применять более
частое разбиение). В общем случае это исключает скачки в
точках разрыва производной, но такая стратегия (и близкие к ней
стратегии) неприменимы для сингулярных уравнений (см.
пример 2.5).
Для нескольких вариантов алгоритма Эйлера с постоянным
шагом hr = h при h-*0 применительно к задаче Коши для
уравнений с запаздыванием были получены некоторые
теоретические результаты (Фельдштейн [1964]). В работе Тавернини
[1971] рассмотрена более общая ситуация. Заметим также, что
алгоритмы Эйлера можно использовать для решения общих
уравнений с запаздывающим аргументом, если заданы
надлежащие начальные условия.
Несколько более сложную формулу дает метод трапеций.
При минимальных ограничениях на гладкость y{x-\-h)—
—У(х) =l/2h{y'(x) +y'(x + h)} +о(1). Член о(1) является
величиной О (Л2), если у'{х) удовлетворяет условию Липшица,
и величиной О (/г3), если у" (х) также удовлетворяет условию
Липшица. В силу этого условия и уравнения (1.1) мы имеем
y(x + h)-y(x)^l/2h{f(x,y(x),y(x~x(x))) +
+ f(x + h, y(x + h), y(x + h-T(x + h)))}. (4.6)
При данной сетке хг с hr = xr+\ — хг из соотношений
Уг+i — Уг^ 7г {/ (хп Уп У (хг — тг)) +
+ / (*г+ь Уг+ь У (*г+1 — *r+i))} (4.7)
мы можем найти значения уг = у(хг) для г = О, 1, 2, ... при
условии, что значения у(хг — тг) и y(xr+\—rr+i) получены
интерполяцией значений {ys}. В отличие от (4.2) при тг+\ < hr
необходимо использовать экстраполяцию. Задачу
экстраполяции мы рассмотрим ниже.
Для интерполяции Фокс и его соавторы [1971] применяют
либо (4.36), либо кусочно кубическую (подобную эрмитовой)
интерполяционную формулу
У (хг - тг):— aryq + $ryq+l + yrfq + er/^+lf (4.8)
Гл. 20. Задача Коти для уравнений с запаздывающим аргументом 265
где хг — Tr^(xQt xq+\)\ отсюда получаем y'(xr) = fry где
fs = f(xs,ys,y(xs — TS)), 5=1, 2, ... . Значения уг и fr
запоминаются для дальнейшего использования. В (4.8)
аг = (1+2<)«')2. {^(1-2<')«)2. Yr = A/«)2 и бг =
WO /, /V
Если хг+\—Tr+i < хп то для получения p(*r+i—тг+\)
можно использовать (4.8), заменив всюду г на г + 1. В противном
случае xr+i — xr+i ^ xr мы можем использовать экстраполяцию
или (например) подставить в (4.7) формулу (4.8) с q = г, что
дает систему нелинейных уравнений
+1> Уг + U <*>гУг+РгУг+\ + Уг!г + Ьг!г+\),
fr+\ = / (*г+ь Уг+ь arr/r + Pr#r+i + Yrfr + 6г/г-и)>
которая в общем случае решается итеративно. Можно
предложить также предсказывающе-исправляющий метод1); однако
для задачи, рассмотренной Фоксом с соавторами, уравнения
(4.9) можно решить явно благодаря виду функции /(х, у, z).
Исправление в методе трапеций значений, получаемых
методом Эйлера для уравнения #' = /(*, у)У приводит к явной двух-
этапной формуле Рунге — Кутты:
где
*ow = V(*r.*r) и Mrl = V(*r + V 9r
Для уравнений с запаздывающим аргументом Оппельструп
[1973] предложил использовать формулу Рунге — Кутты
(высшего порядка). Уместно задаться вопросом, какую форму
обобщения следует здесь избрать.
Простоты ради проведем рассуждения на основе двухэтап-
ного метода, рассмотренного выше. Одно «естественное»
обобщение для задачи (1.1) дается формулами
x
r+i
= xr + hr, ф = V (хг, уг, у (хг - тг)),
, y(xr+l-Tf+l)), (4.10)
использующими интерполяционную формулу типа (4.36) или
(4.8) для получения у{хг — %т) и ^(хж-Хг+1). Однако если
1) В качестве предсказывающей можно использовать формулу, которая
проще (4.9) и которая получается подстановкой в формулу (4.1) х = хт%
h = А'А + 1— Xr + Tr.
266 Часть 4. Функционально-дифференциальные уравнения
Tr+i < hr, то возникает задача экстраполяции, связанная с
методом трапеций (выражение соответствующих значений через
Уг+\ привело бы к неявной формуле). В самом деле, не
бесспорно, что наш метод сведется к стандартному методу Рунге —
Кутты в том случае, когда f(xty{x), у(х — %(х))) имеет вид
<р(х,у(х),у(х)). Учитывая это, мы можем заменить значение
k[{] в (4.10) величиной
при тг+1>Лг,
Tr+l < hr9
4rJ ( hrf(xr + hr, Br + ьР* Hxr+i-*r+
к] ' :== I М (*г + V У г + НГ1> У (*г) + KW
где
S; = (xr+i — Tr + i — ^г)/Аг = <^г/Лг.
Напомним, что формула Рунге — Кутты предназначена для
получения некоторого порядка погрешности аппроксимации при
Аг->-0, и в уравнениях с запаздывающим аргументом может
оказаться, что х(х)->0 при х-+х; следовательно, возможны
такие значения х, что \х(х)\ = 0{hr)\ вообще говоря, ясно, что
обобщение формул Рунге — Кутты для уравнений с
запаздывающим аргументом возможно в различных вариантах,
зависящих от применяемых формул экстраполяции1).
Обычный вывод формул Рунге — Кутты связан с подгонкой
коэффициентов к разложению в ряд Тейлора при
предположении достаточной гладкости решения задачи Коши. Интересно
отметить также, что в силу наличия скачков производных в
известных точках ряд Тейлора необходимо модифицировать
(Л. Э. Эльсгольц и С. Б. Норкин [1971, с. 212])2).
Аналогичные модификации для многошаговых формул
Адамса (Л. Э. Эльсгольц и С. Б. Норкин [1971, с. 212])
предложены Т. С. Зверкиной. Они связаны с определением величины
скачков производных; см. также Хатчинсон [1971, с. 4]. В
случае гладких производных формулы Адамса легко приспособить
для решения уравнений с постоянным запаздыванием
(Т. С. Зверкина [1968]).
Аналогичные многошаговым методы для уравнений с
запаздыванием были разработаны Тавернини в его докторской
диссертации (см. Крайер [1972, с. 78]) и Хатчинсоном [1971]. Не
имея возможности изложить здесь содержание этих работ,
отметим лишь некоторые полученные в них результаты.
1) Здесь следует отметить результаты, полученные в работе Фельдштейна
и Гудмана [1973].
2) См. также Хатчинсон [1971, с. 15].
Гл 20. Задача Коши для уравнений с запаздывающим аргументом 26?
Обобщение многошаговых методов, которые изучал Тавер-
нини, имеет вид (при О < t < 1)
k-\
X (0 yn+i =
k
(0 / (*,*
где xr = Xr-\-\-h, a y(,v) представлено с помощью начальных
условий при х ^ Л'о. На коэффициенты ai{t) и р/(0 наложены
условия, обеспечивающие непрерывность функции р(х).
Теоретически показано, что значение f{xn+i, gn+i,y(xn+i — тя+0)
можно заменить некоторым приближенным значением
(по-видимому, этого достаточно для вычисления tju fo, ... и
интерполяции). Для такой схемы можно развить теорию, аналогичную
теории Далквиста, в которой устанавливаются связи между
понятиями нуль-устойчивости и согласованности, с одной стороны,
и сходимости, с другой. Крайер [1972] дал обзор многих
результатов, полученных Тавернини.
Хатчинсон [1971] в диссертации, которая представляет
интерес также и в других отношениях, рассматривает обобщение
теории Далквиста на многошаговые формулы с постоянным
шагом hy приспособленные для учета скачков производных в
известных точках разрыва (и таким образом сохраняющие
высокий порядок точности). В качестве одной из трудностей
Хатчинсон указывает сложность учета скачков в модифицированных
многошаговых методах и предлагает двухточечный метод,
основанный на применении вырожденных сплайнов, который
представляется достаточно перспективным (Хатчинсон [1971, с. 48])
при условии, что задача несингулярна. (В этом двухточечном
методе точки разрыва лежат на той же сетке, на которой
вычисляется решение.)
б. ЗАКЛЮЧИТЕЛЬНЫЕ ЗАМЕЧАНИЯ
При описании алгоритмов мы убедились в необходимости
интерполяции и вообще подгонке интерполяционной формулы к
методу интегрирования. Формулы Эр^ита, Лагранжа и
сплайны рассматривались в работе Видерхольта [1970], который
считает, что интерполяционная формула должна иметь такой же
порядок, как и схема численного интегрирования; хотя (при
фиксированном шаге) допустим интерполяционный метод на
единицу меньшего порядка, его нельзя рекомендовать для
практического использования.
Кемпер [1975] в своем методе использует вырожденные
сплайны.
268 Часть 4. Функционально-дифференциальные уравнения
Фокс и его соавторы [1971] показали возможности двух
различных видов интерполяций применительно к рассматриваемой
ими задаче и заметили, что приближенное решение, полученное
с использованием интерполяции низшего порядка, является
недостаточно гладким. (Это неблагоприятно сказывается и при
/22-экстраполяции.) К этой же теме относятся замечания Видер-
хольта [1970], а также Фельдштейна и Гудмана [1973]. Фельд-
штейн и Гудман заметили, что содержащие запаздывание
члены в сочетании с погрешностями округления могут вызывать
разрывы в численном решении.
В связи с вопросом о накоплении погрешности заметим
также, что области устойчивости алгоритмов решения уравнения
(1.1) отличаются от соответствующих областей в случае, когда
эти методы применяются к уравнению без запаздывания.
Видерхольт [1970] исследовал области абсолютной и
относительной устойчивости и заключил, что при введении
запаздывания происходит существенное изменение областей
устойчивости. Хатчинсон [1971] кратко рассматривал проблему А-
устойчивости. Интересующихся читателей мы отсылаем к этим
работам, а также к позднейшим работам Крайера [1973,
1974] о «весьма устойчивых многошаговых методах».
Здесь мы не имели возможности дать более чем общее
представление об очень важных вопросах. Заинтересовавшийся ими
читатель может обратиться к соответствующим работам
(приведенным в списке литературы), в частности к работам Ба-
руэлла, Беллмана с соавторами, Болла, Брайтона и Уиллаби,
ван де Люне и Ваттела, Видерхольта, А. Д. Горбунова и
Б. М. Будака, Гудмана, Т. С. Зверкиной, Кемпера, Крайера,
Кука и Листа, де Неверса и Шмитта, Нивса, Оппельструпа, Та-
вернини, Томпсона, Фельдштейна, Фокса с соавторами,
Хатчинсона, Хилла, Чартрса и Стиплмена, Чоски, Шмитта, Л. Э. Эльс-
гольца, Л. Э. Эльсгольца и С. Б. Норкина.
21
ЗАДАЧА КОШИ ДЛЯ ИНТЕГРОДИФФЕРЕНЦИАЛЬНЫХ
УРАВНЕНИЙ ВОЛЬТЕРРА
1. ВВЕДЕНИЕ
Предметом нашего изучения здесь является численное
решение уравнений вида
X
y{x),\jK{x,t, y{t))dt), 0<.v<X, (l.la)
о
')•
Гл. 21. Интегродифференциальные уравнения 269
с начальными условиями
Уо. (1.16)
Обзоры работ, посвященных этой задаче, были даны Крайе-
ром [1972] и Бейкером [1974].
Уравнение (1.1а) иногда называют уравнением с
бесконечным запаздыванием, так как в общем случае у'{х) зависит от
всех предшествующих значений функции у(х). Как и уравнения
с запаздывающим аргументом (см. предыдущую главу), это
уравнение является примером
функционально-дифференциального уравнения Вольтерра:
!f(x) = F(x9y())9 (1.2)
в котором значение F{x,y( )) = F(xty) в какой-либо точке
зависит от л: и от y(t) при 0 ^ t ^ х\ ряд работ, посвященных
уравнениям с запаздывающим аргументом, включает
исследование более общего уравнения (1.2), и, следовательно,
содержащиеся в них результаты применимы к (1.1а). Там, где это
удобно, мы будем использовать F(x,y) как сокращенное
обозначение правой части уравнения (1.1а).
Задачи типа (1.1а), (1.16) представляют практический
интерес; в частности, они встречаются при изучении
конкурирующих популяций (Дэвис [1962]), а в работе Фельдштейна и
Сопки [1973] приводится перечень других областей их применения.
В работах Пузе [1962] и Дэвиса [1962] даются некоторые
теоретические обоснования для задачи (1.1а), (1.16); Линц
[1969] указывает достаточные условия существования и
единственности решения.
Численные методы приближенного решения задачи Коши
(1.1а), (1.16) давно известны, но развитие практически
применимых алгоритмов было до некоторой степени ограничено. Для
достаточно общего изучения этих вопросов мы отсылаем к
работе Фельдштейна и Сопки [1974]. Алгоритмы для решения
интегродифференциальных уравнений различных типов,
включая
у(х)9 \в(х, y(x), U y(t), y'(t))dt)
с заданным у(0), были предложены Пузе (CNRS [1970]),
тезисы докторской диссертации которого содержат изучение этой
задачи х). Методы Пузе можно применять, в частности, к задаче
1) Пузе указывает также алгоритм решения уравнения второго порядка,
аналогичного уравнению (1.1а).
270 Часть 4. Функционально-дифференциальные уравнения
(1.1а), (1.16). Кроме того, Ниве указал, что к задаче (1.1а),
(1.16) можно применять и предложенный им алгоритм (Ниве
[1975]).
2. ЧИСЛЕННЫЕ МЕТОДЫ
Численные методы приближенного решения задачи Коши
(1.1а), (1.16) получаются, как правило, одним из двух,
казалось бы, различных способов. В действительности, однако, эти
методы не распадаются на два взаимоисключающих класса.
Первый класс методов включает в себя непосредственную
адаптацию формул или методов решения задачи Коши для
уравнения
'() f(x,y)^f(x,y(x)) (2.1)
к решению уравнения (1.2) (или соответственно уравнения
(1.1а)). Таким образом, мы можем обобщать методы решения
уравнения (2.1) на уравнение у'(х) = f(x,y(x), v(#)), где
v (х) —подходящий функционал, зависящий от у(х). Это
обычный подход при численном решении уравнений с
запаздывающим аргументом. Так как одним из аргументов функции
х
f{x,y,v) в (1.1а) является функционал v (х) = \ К (х, t, у (/)) dt,
о
адаптация методов решения уравнения (2.1) к решению
уравнения (1.2) включает в себя вспомогательную аппроксимацию
функционала v(x). (Это аналогично задаче интерполирования
для уравнений с запаздывающим аргументом; см. гл. 20.)
При аппроксимации значений v за v(x), где
обычно опираются на аппроксимацию такого типа, которая
применяется при численном решении интегральных уравнений
Вольтерра (см., например, Кершоу [1974] и Бейкер [1976]).
Методы, относящиеся к первому классу, обсуждались Линцем
[1969], Бруннером и Лэмбертом [1974], Тавернини [1971] и
Нивсом [1975].
Второй класс методов относится к случаю, когда уравнение
х
у' = F(x, у) записывается в виде у(х) = \ F (s, у (s)) ds + Уо>
о
это методы теории интегральных уравнений.
Гл. 21. Интегродифференциальные уравнения 271
Поясним это несколько подробнее. Для задачи (1.1а),
(1.16) имеем
X
y(x) = ^f (s, у (s), v (s)) ds + уо,
°s (2-2)
v{s)=*\K(s,t, y(t))dt.
Эти уравнения образуют систему интегральных уравнений,
которую в векторных обозначениях <р(х)= [у (х), v (х) ]т и т. д.
можно записать так:
х
ф(з9 ф(в))Л + ф(0). (2.3)
Методы численного решения интегральных уравнений Воль-
терра можно легко приспособить для решения системы (2.3),
но можно получить несколько более широкий класс формул,
решая каждое из уравнений (2.2) отдельно.
В следующих двух параграфах мы введем формулы для
приближенного решения задачи (1.1а), (1.16). Мы будем
изучать указанные выше два класса методов, не считая, однако,
эти два класса взаимно исключающими. Правда, второй класс
методов первоначально создавался (Моцарски [1971]) как
отличный от первого класса (Линц [1969]), но при естественных
упрощениях вычислительной схемы эти классы в известном
смысле пересекаются. (Ниже мы покажем, что некоторые из
методов второго класса сводятся к методам первого класса.
Можно заметить, что любой метод решения интегральных
уравнений Вольтерра из второго класса дает некоторый метод
решения задачи (2.1), рассматриваемой в интегральной форме:
3. МЕТОДЫ ПЕРВОГО КЛАССА
Простые методы решения задачи (2.1) (вроде метода
Эйлера или метода трапеций) можно легко приспособить для
решения задачи (1.1а), (1.16) при надлежащей аппроксимации ин-
rh
теграла \ K{rh, t, y{t))dt. Таким образом, применяя простой
272 Часть 4. Функционально-дифференциальные уравнения
метод с постоянным шагом, например обобщенный метод ipane-
ций, можно приспособить метод Эйлера и получить формулу
Уг+i ^
(rh, ynh£,K (rh, jh, y})) (3.1)
для г ^ 0, из которой на r-м шаге можно найти значение
уг+ь аппроксимирующее y((r -\- \)h). В методе трапеций для
аппроксимации интегралов многократно используется
следующая формула:
, jh, y
+ /((' + О Л, Уг+и АД/С((г+ 1)A, jh, */y))} . (3.2)
Простейшие формулы (3.1) и (3.2) являются частными
примерами методов, основанных на многошаговых формулах.
Общий класс линейных многошаговых методов для (1.1)
изучается в работе Линца [1969]. Предполагается, что общая
формула имеет вид
(3.3а)
где
К = / ('А, уп A Z cor//C (rh, jh, у^, г > 0. (3.36)
Эта формула получается из обычной многошаговой формулы
rh
для (2.1) и из семейства квадратурных формул \ q>(s)dscz.
о
г
— А У]юг/ф(/А). С формулами (3.3а), (3.36) можно связать обыч-
/-о
к к
ные полиномы устойчивости р(г)= Z а12*> сг(г) = Z Pt^f> и метод
называется нуль-устойчивым, если выполнено обычное корневое
условие нуль-устойчивости. Если многошаговая формула для
(2.1) является не только нуль-устойчивой, но и согласованной,
так что
1 = 0, а(1) = р'(Ь, (3.4а)
Гл. 21. Ичтегродифференциальные уравнения 273
и если, кроме того,
[ rh г
lim sup \ K(rh, s, у (s)) ds —• h^ar!K (rh, jh, y(jh)) = 0, (3.46)
то lim sup I y (/ft) —У/1 = 0. В частности, при надлежащем
выборе р(;г) и а (г) сходимость имеет место в том случае, когда
К(х, s, y(s)) непрерывна на отрезке O^s^xs^X, а
квадратурные формулы с весами ftcor/ представляют собой (Бейкер
[1968]; Дэвис и Рабинович [1975]) суммы Римана.
Следовательно, можно построить семейство квадратурных формул,
использующих обобщенные варианты простых методов (а именно
метода Симпсона, метода трапеций и метода прямоугольников).
Использование сумм Римана достаточно (но не необходимо)
для того, чтобы при всех ft, таких, что rh ^ X, выполнялось
неравенство
rh
~ <C(D(cp;ft), (3.5)
/-о
где co(cp;ft)—модуль непрерывности функции cp(jt), и это
гарантирует выполнение равенства (3.46), если функция
К(х, s, y(s)) непрерывна.
Точность, получаемая при использовании (3.2), зависит от
погрешности аппроксимации и от свойств устойчивости.
Точность формул с ассоциированными полиномами р(г) и о (г) для
задачи Коши (2.1) уже неоднократно обсуждалась. Заметим,
что удобное семейство квадратурных формул с весами ftov/
можно получить при помощи метода Грегори в форме Лагран*
жа (Бейкер [1976]), использующей р-е разности. (Если
существует фиксированная верхняя граница для р, не зависящая
от г, то неравенство (3.5) выполняется.) Другие квадратурные
формулы, основанные на методе Симпсона, будут приведены
в § 4 в другой связи.
Как и при решении дифференциальных уравнений и
интегральных уравнений Вольтерра второго рода (Бейкер [1976]),
для хорошей вычислительной схемы недостаточно сходимости;
необходимо обеспечить и ее устойчивость. Теория областей
устойчивости и, в частности, Л-устойчивости для метода (3.3)
была развита Бруннером и Лэмбертом [1974], которые
получили области устойчивости, рассматривая применение данной
схемы к уравнению
/. (3.6)
274
Часть 4. Функционально-дифференциальные уравнения
Области устойчивости являются функциями от /ig и h2r). В
качестве иллюстрации Бруннер и Лэмберт приводят некоторые
частные результаты для простых формул. Укажем следующий
пример, где области устойчивости в плоскости параметров №ц и
Л| выделены штриховкой:
Теория Бруннера и Лэмберта охватывает не все
квадратурные формулы, удовлетворяющие условию (3.5). Для
упоминавшихся выше многошаговых методов требуются дополнительные
начальные данные, поэтому мы рассматриваем возможность
использования одношаговых методов, для которых эти данные не
нужны. Линц [1969] рассматривает несколько подобных
методов. Отметим, между прочим, что можно применять также
формулы типа Рунге — Кутты (Пузе [1970]).
Фельдштейн и Сопка [1974] столкнулись с некоторыми
трудностями при попытке приспособить формулу Рунге — Кутты
четвертого порядка, и в полученном ими методе производится
пять вычислений функции f(x, у, у), а не четыре, как можно
было бы ожидать по аналогии с решением дифференциальных
уравнений. Кроме того, он в действительности не обладает
достоинствами одношагового метода, так как требует
дополнительной процедуры для начала счета. Для
rh
rh+y
K(rh + y, s, y(s))ds+
s-rh)6)ds
rh
Фельдштейн и Сопка применяют аппроксимацию / (г/г, {ys}rOy y, в)
с точностью О (/г4) при использовании значений у0, уь ..., уг
f При надлежащем б последний интеграл представляет собой
ft
v
аппроксимацию для \ K(rh + y, s, y(s))db.\ При использова-
rh
щи таких аппроксимаций, образованных при помощи взвешен-
Гл. 21. Интегродифференциальные уравнения 275
ных сумм, алгоритм Фельдштейна и Сопки принимает вид
f1-/((г+ 72)А, Уг + ЧМф, *(rh, {yay0, 4Ji. Vrf))t
и / (rAf {^o, 1/л lh)),
W = / ((r + V2) А, Уг + 72ALM, / (г/г, {^}Qr; 'ДА, Ц*))
W, /(г/г, Ы, /г, LH)
У г + VeA [4rl + 2LH + 2LH + LH], r = 0, 1, ... .
За дальнейшими подробностями (3.7) мы отсылаем
читателя к работе Фельдштейна и Сопки.
Поскольку сложность метода (3.7) наводит на мысль о
некоторых трудностях при использовании формул Рунге — Кутты,
стоит упомянуть, что в работах Пузе [1960, 1970], где
используются обычные формулы Рунге — Кутты для решения
дифференциальных уравнений, при решении уравнений (1.1) не
требуется дополнительной процедуры вычисления начальных
данных. Представляет интерес также важный вклад Тавернини
[1971], получившего формулы, которые можно применять как
для решения уравнений с запаздывающим аргументом, так и
для численного решения интегродифференциальных уравнений
(1.1), используя подходящую приближенную квадратурную
формулу. Заметим также, что к уравнениям (1.1) можно
применить и подход Нивса [1975].
4. МЕТОДЫ ВТОРОГО КЛАССА
Теперь мы обратимся к применению методов теории
интегральных уравнений для получения алгоритмов решения задачи
(1.1). Рассмотрим формулы (2.2) с у(0) = у0.
Простейший пример получается соответствующей
модификацией метода квадратур. Он включает в себя выбор
квадратурных формул
rh r rh r
Ф {s) ds ~ h £ (ог/Ф (jh), ^ (s) ds с* h Л ш;/ф (/Л), (4.1)
/«О Q /-Q
276 Часть 4. Функционально-дифференциальные уравнения
которые применяются для дискретизации (2.2). При этом
получается система уравнений
г
yr = h Z <// (/Л, уР vf) + у0, г = 1, 2, ...,
7 (4.2)
t>/ = А £ <о/Д (/А, /А, */*), / = 1, 2, ..., г;
£
см. Моцарски [1971].
Решение уравнений (4.2) получается шаг за шагом и в
общем случае требует значительно больше суммирований, чем
использование (3.3а), но не предъявляет дополнительных
требований к памяти ЭВМ. Ниже мы увидим, что работу,
связанную с использованием (4.2), можно, вообще говоря, уменьшить
с помощью преобразования уравнений, сводя таким образом
этот метод к методу, основанному на формулах (3.3а), (3.36),
или к уравнению похожего типа. Там, где такое
преобразование возможно, оно непременно должно быть выполнено. Можно
показать, что при А ~> 0 метод (4.2) сходится, если обе
формулы в (4.1) (при г=1, 2, ...) удовлетворяют условию (3.5);
по этому поводу см. Моцарски [1971].
В системе (4.2) можно использовать различный выбор весов ©г/
и w'rf> применяемый при численном решении интегральных
уравнений Вольтерра; см. Бейкер [1976]. Простоты ради можно
предположить, что шг/ = сог/. В качестве примера рассмотрим
случай (ог/ = 0^/, / = 0, 1, ..., г, причем сог/=1 для /=1,
2, ..., г—1 и согО = сог1 = V2. Это соответствует использованию
обобщенного метода трапеций. Взятием разности относительно уг
уравнения (4.2) сводятся к виду (3.2); таким образом, при
г = 0, 1, ... мы имеем
Если K(x, t,y) не зависит от х, то vj можно выразить через t;/-i.
Обобщенный метод трапеций является тривиальным случаем
метода Грегори. Помимо метода Грегори, упоминавшегося в § 3,
можно применить обобщенный метод Симпсона, который в
сочетании с одним шагом по формуле трапеций приводит к
следующим двум возможностям (при / = О, 1, 2, ,..): или
7з, 4/з, 7з, • •., 7з, 7з (г четное),
7з> 7е, Уз (г нечетное, г> 1), (4^j
или
7з, 4/з> 7з> ..., 7з, Уз (г четное),
7б> 7з, ..., % 7з, 73 (г нечетное, г> 1). (4' }
, _ f 7з, 4/з, 7з,
Г/ Ч 7з> 4/з, 2/з,
, _ Г
^"Ч
Гл. 21. Интегродифференциальные уравнения
277
(Для г=[ можно положить coii =(uio —'/2» что равносильно
использованию метода трапеций для получения начальных
данных.)
Несмотря на то что погрешность аппроксимации формулы
(4.2), построенной с использованием (4.3) или (4.4) для весов
сог/ = сог/, в обоих случаях имеет величину О (Л3), ее нельзя
рекомендовать для практического использования из-за
неустойчивости. Области устойчивости для формул (4.3) и (4.4)
применительно к уравнению (3.6) были вычислены в Манчестере
(см. Бейкер [1976]). Ниже области устойчивости для (4.3) и
(4.4) выделены штриховкой:
•п
-6
(4.3)
-3
-36
(4.4)
Для устойчивости (4.4) должно быть £ = 0, ц < 0 и h2r\ > —3.
(Можно отметить взаимосвязь с областью устойчивости метода
Симпсона, используемого в качестве исправляющей формулы
для у' = ку, причем требуется, чтобы к было мнимым и
|Я|<д/3«) Впоследствии будет дано подробное описание этого
результата, а также аналогичных ему результатов для других
формул1). Для того чтобы пояснить результат, касающийся
устойчивости (4.4), можно взять разность относительно уг в
(4.2), получая таким образом уравнение
Уг+2 — Уг= УзА {fr+2 + 4/г+1 + М,
где fj = f(jh,yj,Vj) при / = 0, 1, 2, ...; отсюда видно, что
метод (4.2), использующий (4.4), эквивалентен методу (3.3а),
использующему слабо неустойчивую формулу Симпсона.
Хотя предыдущие замечания дают определенные основания
считать метод неустойчивым при выборе коэффициентов (4.4),
заметим, что разностные уравнения для последовательности
значений уг в (4.2) часто приводят к более эффективной схеме,
даже если они не сводятся непосредственно к многошаговой
формуле (3.3а), (3.36). Примеры, в которых (4.2) эквивалентно
многошаговой формуле (3.3), получаются при выборе весов ©£/,
*) Некоторые из упомянутых здесь результатов получены учениками
автора А. Макрогло и Э. Шортом. В их диссертациях эти вопросы
разбираются достаточно подробно.
278 Часть 4. Функционально-дифференциальные уравнения
соответствующих формулам Грегори с фиксированным
числом разностей1); вычитая выражение (4.2) для уг из
аналогичного выражения для уг+и получаем исправляющую
формулу Адамса. (Мы уже видели, что формула трапеций при
0г/=1 для /<£{0, г}, to'rr = (i)rQ=l/2 Дает формулу (3.3a)#r+i —
— yr = l/2h{fr + fr+\}, где, как и ранее, fi = f(lh,yhvj).)
Попытка свести (4.4) к многошаговой формуле при использовании
весов (4.3) обречена на неудачу; вместо этого получаются
уравнения
У2г+1 ~~~ У2г = 72^ {/W+1 + /2гЬ
У<1г ~ У2г-2 = 7зА {/2г + 4/2г_1 + /2г_2},
которые, однако, с вычислительной точки зрения снова более
удобны, чем исходные уравнения (4.2).
Методы вида (4.2), использующие квадратурные формулы
высшего порядка точности, в общем случае требуют
специальной процедуры для начала счета. Такую процедуру, имеющую
точность О (Л4), предложил Дэй [1970].
5. БЛОЧНЫЕ МЕТОДЫ
Блочные неявные методы, развитые для дифференциальных
уравнений и для приближенного решения интегральных
уравнений Вольтерра, можно обобщить на задачу (1.1а), (1.16).
Вернемся к формуле (2.2) и применим тот же подход, что и при
решении интегральных уравнений. Искомая формула
основывается на общей квадратурной формуле:
5/ (5.1)
о /-о
где
о<ео<е,< ... <em_,<em<i.
При этом потребуется еще одна формула интегрирования вида2)
, ..., т. (5.2)
/-0
Такие формулы, как (5.1) и (5.2), можно получить, интегрируя
по отрезку [0, 1] или [0,0Г] соответственно интерполяционный
d) Здесь мы не занимаемся проблемой вычисления дополнительных
начальных данных.
2) Если 6т = 14 то мы предполагаем, что wm/ = wj, / = 0, 1, ..., т.
Гл. 21. Интегродифференциальные уравнения 279
полином для ф(/), построенный по значениям функции в точках
во, вЬ ..., 9т. (При
Ш = П {('-
1фк
мы получим
1 ег
r(/)rf/, cor/= \ lj(t)dt.)
о
Иной выбор (5.2) приводится ниже.
Использование квадратурных формул (5.1) и (5.2), приспо*
собленных для данной области интегрирования, позволяет ди-
скретизовать интегралы в (2.2) для x^{xrs}, где xrs = rh +
+ Qsh. Используя эти обозначения, получаем
r—\m m
yrs = П 2j Z-» ^У/ V^Jfe/» ^/» vkj) + ^ 2j ©s// (*г/> Уг/> ^г/) + ^0> (5.3)
fe=0 /=0 /=0
fe —I m m
Vki = h £ £ ®pK(xkl, xipy yip) + h £ (0lpK(xk!i xkpi ykp). (5.4)
Как и в методе квадратур (4.2), первое из этих уравнений,
т. е. уравнение (5.3), можно упростить. Мы действительно
сводим этот метод к методу первого класса посредством
дискретизации уравнения
rs
У (*rs) — У (*го) = \ y'(t)
dt
при помощи блочного метода. Таким образом, из уравнений
(5.3) мы получаем (взяв разность и предполагая, что 90 = 0 и
соо/ = 0) уравнение
m
sjf(xrjyyrhvrI)i 5=0, 1, ..., га; г=0, 1, .... (5.5)
Если 0т = 1, то угт = f/r+i, о, так что уравнение (5.5) вместе
с уравнением (5.4) для Vk — это все, что требуется. Если 0О ф
фО, 0т=И=1, то необходима очевидная модификация. Широко
используемый выбор точек {0/} в формуле (5.1), при котором
полагают 0о = 0 и 0т = 1, приводит к квадратурной формуле
Лобатто.
Возможны некоторые изменения в описанных выше
подходах; имеет смысл, например, заменить предложенную нами
конструкцию (5.2) формулой (5.1) в сочетании с
полиномиальной интерполяцией. Таким образом, если 0о = 0 и 0т = 1, то
(5.5) и (5.4) можно заменить уравнениями
Уг+l.s — Уг.т
280 Часть 4. Функционально-дифференциальные уравнения
И
тп
Угз ~ Уго = М Z ©// (хф у ((9,0/ + г) /г), v ((9,6; + г
где
Л-1 m
f А/ = Л Z E ®р# (**/» Xip, У}р) +
/=0 р=0
£ шд (Xkl, (в,% + k)h,g ((eyep + k) h))
p=0
r) h) = Z { П (6,6/ - ег)/(е, - ел Ь «ek + г) Л),
m
Z {
5 «ед + г) h) = Z { П (Щ - е,)/(в* - е<) Ь «в* + г) л).
(Таким способом мы избегаем использования значений f(x,y(s),
v(s)) и К{х, s,y(s))y в которых 5 по величине превосходит х.)
Методы, основанные на (5.3) и (5.4) или их вариантах, в
общем случае требуют значительной работы на шаге, но при
надлежащем выборе {0/} они обладают такими свойствами
устойчивости, что в соответствующих случаях можно
использовать большой шаг интегрирования.
6. РЕШЕНИЕ ЗАДАЧ СО СЛАБЫМИ ОСОБЕННОСТЯМИ
Формулы интегрирования с весами можно применять в
случае слабых особенностей, например в случае, когда ядро в
уравнении (1.1а) имеет вид
К (х, U У (/)) = G (х, U У (*))/(* -1)\ (6.1)
где 0 ^ а < 1, а функция G(xJ,y(t)) непрерывна при 0^
^ t ^ х ^ X. При таких обстоятельствах суммы,
предложенные ранее для дискретизации интегральных членов в (1.1а), в
общем случае бесконечны, но наши методы можно
модифицировать, используя подходящие формулы интегрирования с
весами.
Таким образом для (6.1) мы можем применить обобщенную
формулу трапеций, которая дает приближенное выражение
rh r
\ 0°} Л =* £ vr,cp (jh), r = 1, 2, ..., (6.2)
/-0
Гл. 21. Интегродифференциальные уравнения 281
где веса vr/ выбраны таким образом, чтобы (6.2) было точным,
если ф(/) непрерывна и линейна на каждом из интервалов
[О, Л], [h, 2A], ..., [(г— 1)/г, rh). В более общем случае мы
можем приспособить схемы вида (4.3) и (4.4) к формуле
интегрирования с весом, в частности к формуле интегрирования с
весом, дискретными аналогами которой являются формулы (5.3)
и (5.4). Подробное описание таких методов аппроксимации
интегралов со слабыми особенностями можно найти в литературе
по слабо сингулярным интегральным уравнениям Вольтерра;
см., например, работу Бейкера [1976, § 6.8].
Ю Зак. 1335
СПИСОК ЛИТЕРАТУРЫ
Абрамович, Стегун (Abramowitz M., Stegun I. A.)
[1964] Handbook of mathematical functions. — Washington: National
Bureau of Standards.
Авила (Avila J. H )
[1974] The feasibility of continuation methods for nonlinear equations. —
SIAM J. Numer. Anal., 11, 102.
Азиз (ред.) (Aziz A. K., ed.)
[1975] Numerical solution of boundary value problems for ordinary
differential equations. — Academic Press.
Айне Э. Л. (Ince E. L.)
[1926] Обыкновенные дифференциальные уравнения. — Харьков: Гос. на-
учно-техн. изд-во Украины, 1939 1).
Аксельссон (Axelsson О.)
[1969] A class of Л-stable methods. — BIT, 9, 185—199.
[1972] A note on a class of strongly Л-stable methods. — BIT, 12, 1—4.
Аллен (Allen R. H.)
[1969] Numerically stable explicit integraton techniques using a Hneari
zed Runge — Kutta extension. — Joint Conference on Mathematical and Compu
ter Aids to Design.
Алспо (Alspaugh D. W.)
[1974] The application of invariant imbedding to the solution of linear two-
point boundary value problems on an infinite interval. — Math. Сотр., 28, 1005.
Алспо, Кагивада, Калаба (Alspaugh D. W., Kagiwada H. H., Kalaba R.)
[1970] Application of invariant imbedding to the buckling of columns.—
J. Сотр. Phys., 5, 56.
Арис (Aris R.)
[1969] Elementary chemical reactor analysis. — Englewood Cliffs: Prentice-
Hall.
Бабушка И., Прагер М., Витасек Е. (Babuska I., Prager M., Vitasek E.)
[1966] Численные процессы решения дифференциальных уравнений. — М.:
Мир, 1969.
1) Для переводных книг в квадратных скобках указан год выхода
оригинального издания. — Прим. ред.
Список литературы 283
Барродейл, Янг (Barrodale I., Young A.)
[1970] Computational experience in solving linear operator equations using
the Chebyshev norm. — In: Numerical approximations to functions and data
(Hayes J. G., ed.). — Athlone Press, 115—142.
Бартон, Уиллерс, Захар (Barton D., Willers I. M., Zahar R. V. M.)
[1971] Taylor series methods for ordinary differential equations — an
evaluation. — In: Mathematical software (Rice J. R., ed). — Academic Press.
Баруэлл (Barwell V. K.)
[1974] On the asymptotic behaviour of the solution of a
differential-difference equation. — Utilitas Mathematica, 6, 189—194.
[1975] Special stability problems for functional differential equations.—
BIT, 15, 130—135.
Батчер (Butcher J. C.)
[19631 Coefficients for the study of Runge—Kutta integration processes.—
J. Austral. Math. Soc, 3, 185—201.
[1964] Implicit Runge —Kutta processes. — Math. Сотр., 18, 50—64.
[1965a] On the attainable order of Runge — Kutta methods. — Там же, 19,
408—417.
[1965b] A modified multistep method for the numerical integration of
ordinary differential equations. — J. Ass. comput. Mach., 12, 124—135.
[1966] On the convergence of numerical solutions to ordinary differential
equations. — Math. Сотр., 20, 1—10.
[1969] The effective order of Runge —Kutta methods. — In: Lecture Notes
in Mathematics, 109.— Berlin: Springer, 133—-139.
Бауэр (Bauer F. L.)
[1963] Optimally scaled matrices. •— Num. Math., 5, 73—87.
Бейкер (Baker С. Т. Н.)
[1968] On the nature of certain quadrature formulae and their errors.—
SIAM J. Numer. Anal., 5, 783—804.
[1974] Methods for integro-differential equations. — In: Delves L. M.,
Walsh J. [1974], 189—206.
[1976] The numerical treatment of integral equations. — Oxford: Clarendon
Press.
Бейли (Bailey P. B.)
[1966] Sturm — Liouville eigenvalues via a phase function. — J. SIAM
Appl. Math., 14, 242.
Беллман (Bellman R. E.)
[1961] On the computational solution of differential-difference equations. —
J. Math. Anal, and its Appl., 2, 108—110.
[1962] Математические проблемы в биологии. Под ред. Р. Беллмана. — М.:
Мир, 1966.
Беллман, Булл, Калаба (Bellman R. E., Buell J. D., Kalaba R. E.)
[1965] Numerical integration of a differential-difference equation with a
decreasing time-lag. — Communs. Ass. comput. Mach., 8, 227—228.
[1966] Mathematical experimentation in time-lag modulation. —- Там же, 9,
752—754.
Беллман, Коткин (Bellman R. E., Kotkin B.)
[1962] On the numerical solution of a differential-difference equation
arising in analytic number theory. — Math. Сотр., 16, 473—475.
Беллман Р., Кук К. (Bellman R. E., Cooke K. L.)
[1963] Дифференциально-разностные уравнения. —- M.: Мир, 1967.
[1965] On the computational solution of a class of functional differential
equations. — J. Math. Anal, and its Appl., 12, 495—500,
10*
284 Список литературы
Березин И. С, Жидков Н. П.
[1962] Методы вычислений: В 2-х томах. Т. 2.— 2-е изд. — М.: Физмат-
гиз.
[1963] Методы вычислений: В 2-х томах. Т. 2. — 3-е изд. — М.: Физмат-
гиз.
Берн, Хиндмарш (Byrne G. D., Hindmarsb А. С.)
[1975] A polyalgorithm for the numerical solution of ordinary differential
equations. — ACM Trans, on Math. Software, 1, 71—96.
Болл (Ball S. J.)
[1966] A variable time-delay subroutine for digital simulation programs.—
Simulation, 7 (1).
Брайтон, Густавсон, Хачтел (Brayton R. К., Gustavson F. G., Hachtel G. D.)
[1972] A new efficient algorithm for solving differential-algebraic systems
using implicit backward differentiation formulas. — Proc. IEEE, 60, 98—108.
Брайтон, Уиллаби (Brayton R. 1С, Willoughby R. A.)
[1967] On the numerical integration of a symmetric system of difference-
differential equations of neutral type. — J. Math. Anal, and its Appl., 18, 182—
189.
Бруннер (Brunner H.)
[1972] A class of Л-stable two-step methods based on Schur polynomials.—
BIT, 12, 468—474.
[1973] On the numerical solution of nonlinear Volterra integro-differential
equations.— Там же, 13, 381—390.
Бруннер, Лэмберт (Brunner H., Lambert J. D.)
[1974] Stability of numerical methods for Volterra integrodifferential
equations. — Computing, 12, 75—89.
Бузингер, Голуб (Businger P., Golub G. H.)
[1965] Linear least squares solutions by Householder transformations.—
Num.' Math., 7, 269.
Булирш, Штёр (Bulirsch R., Stoer J.)
[1964] Fehlerabschatzungen und Extrapolation mit rationale!! Funktionen
bei Verfahren vom Richardson-Typus. — Num. Math., 6, 413—427.
[1966] Numerical treatment of ordinary differential equations by
extrapolation methods. — Там же, 8, 1—13.
Бьёрк (Bjorck A.)
[1967] Solving linear least squares problems by Gram —Schmidt orthogo-
nalisation. — BIT, 7, 1.
Бьюрель, Далквист, Линдберг, Линде, Оден (Bjurel G., Dahlquist G., Lind-
berg В., Linde S., Oden L.)
[1970] Survey of stiff ordinary differential equations. — Rept. NA. 70. 11,
Dept. of Inf. Proc, Royal Inst. of Tech., Stockholm.
Бэнкс, Куровски (Banks D. O., Kurowski G. J.)
[1968] Computation of eigenvalues of singular Sturm —- Liouville systems.—
Math. Сотр., 22, 304.
[1973] Computation of eigenvalues for vibrating beams by use of Priifer
transformation. — SIAM J. Numer. Anal., 10, 918.
ёазов В. (Wasow W.)
[1965] Асимптотические разложения решений обыкновенных
дифференциальных уравнений. — М.: Мир, 1968.
Варах (Varah J. M.)
11972 J On the solution of block-tridiagonal systems arising from certain
Список литературы 285
finite-difference equations —Math. Сотр., 26, 859.
[1973] A comparison of some numerical methods for twopoint boundary
value problems. — Tech. Rept. 73.01 Dept. of Comput. Sci., Univ. of British
Columbia.
Васильева А. Б.
[1963] Асимптотическое поведение решений некоторых задач для
обыкновенных нелинейных дифференциальных уравнений с малым параметром при
старших производных. — Успехи матем. наук, т. 18, вып. 3, 15—86.
Вассерштром (Wasserstrom E.)
[1973] Numerical solutions by the continuation method. — SIAM Rev., 15,
89.
Вейс (Weiss R.)
[1974] The application of implicit Runge —Kutta and collocation methods
to boundary-value problems. — Math. Сотр., 28, 449.
Видерхольт (Wiederholt L. F.)
[1970] Numerical integration of delay-differential equations. — Ph. D.
thesis, Univ. of Wisconsin.
Видлунд (Widlund О. В.)
[1967] A note on unconditionally stable linear multistep methods. — BIT,
7, 65—70.
Герстинг, Янкозски (Gersting J. M., Jr., Jankowski D. F.)
[1972] Numerical methods for Orr — Sommerfeld problems. — Int. J. for
Num. Math, in Eng., 4, 195.
Гир (Gear С W.)
[1964] Hybrid methods for the initial value problem in ordinary
differential equations. — SIAM J. Numer. Anal., 2, 69—86.
[1969] The automatic integration of stiff ordinary differential equations.—
In: Information Processing 68 (Proceedings of the IFIP Congress 1968). —
North Holland Publ. Co., 187—193.
[1971a] Algorithm 407, DIFSUB for solution of ordinary differential
equations. — Communs. Ass. comput. Mach., 14, 185—190.
[1971b] Numerical initial value problems in ordinary differential
equations. — Englewood Cliffs: Prentice Hall.
[1971c] Simulationeous numerical solution of differential-algebraic
equations. — IEEE Trans, on Circuit Theory, 18, 89—95.
Гир, Ватанабе (Gear С. W., Watanabe D. S.)
[1974] Stability and convergence of variable order multistep methods.—
SIAM J. Numer. Anal., 11, 1044—1058.
Гир, Ту (Gear С. W., Tu K. W.)
[1974] The effect of variable mesh size on the stabilty of multistep
methods. — SIAM J. Numer. Anal, 11, 1025—1043.
Годарт (Godart M.)
[1966] An iterative method for the solution of eigenvalue problems.-—
Math. Сотр., 20, 399.
Горбунов А. Д., Будак Б. М.
[1958] О сходимости некоторых конечно-разностных процессов для
уравнений y' = f(x,y) и (у'(х) =f(x,y(x),y(x — i;(x)). — uAHf т. 119, №4,
644—647.
Грэгг (Gragg W. В.)
[1965] On extrapolation algorithms for ordinary initial value problems —
J. SIAM Numer. Anal., 2, 384—403.
286 Список литературы
Грэгг, Штеттер (Gragg W В., Stetter Н. J.)
[1964] Generalized mutlistep predictor-corrector methods. — J. Ass. comput.
Mach., 11, 189—209.
Гудерлей (Guderley K. G.)
[1973] A unified view of some methods for stiff two-point boundary value
problems. — ARL Tech. Rept, Aerospace Research Labs., Wright-Patterson Air-
force Base. Ohio 45433.
Гудерлей, Николаи (Guderley К. G, Nicolai P. J.)
[1966] Reduction of two-point boundary value problems in a vector space
to initial value problems by projections, — Num. Math., 8, 270.
Гудман (Goodman R.)
[1971] Round-off error in the numerical solution of retarded ordinary
differential equations. — Ph. D. thesis, Harward Univ., Cambridge, Mass.
Гудман, Фельдштейн (Goodman R., Feldstein A.)
[1973] Round-off error for retarded ordinary differential equations: a priori
bounds and estimates. — Num. Math., 21, 355—372.
Гурли (Gourlay A. R.)
[1970] A note on trapezoidal methods for the solution of initial value
problems. — Math. Сотр., 24, 629—633.
Далквист (Dahlquist G.)
[1956] Convergence and stability in the numerical integration of ordinary
differential equations. — Math. Scand., 4, 33—53.
[1959] Stability and error bounds in the numerical integration of ordinary
differential equations. — Trans, of the Royal Inst. of Techn. Stockholm, 130.
[1963] A special stability problem for linear multistep methods. — BIT, 3,
27—43.
[1969] A numerical method for some ordinary differential equations with
large Lipschitz constants. — In: Information Processing 68 (Proceedings of the
IFIP Congress 1968).— North Holland Publ. Co.
[1975] Dundee biennial numer. anal, conference. — Springer-Verlag.
Далквист, Линдберг (Dahlquist G., Lindberg B.)
[1973] On some implicit one-step methods for stiff differential equations.—
TRITA-NA-7302. Dept. of Inf. Proc, Royal Inst. of Tech., Stockholm.
Делвс, Уолш (ред.) (Delves L M., Walsh J., ed.)
[1974] Numerical solution of integral equations. — Oxford: Clarendon Press.
Дёфлхард (Deuflhard P.)
[1974] A modified Newton method for the solution of ill-conditioned
systems of non-linear equations with application to multiple shooting. — Num.
Math, 22, 289.
Джейн, Сривастава (Jain M. K., Srivastava V. K.)
[1970] High order stiffly stable methods for solving ordinary differential
equations. — Tech. Rept. No. 394. Dept. of Comput. Sci., Univ. of Illinois,
Джейн (Jain R. K.)
[1972] Some A -stable methods for stiff ordinary differential equations. —
Math. Сотр., 26, 71—77,
Джексон, Кеню (Jackson L. W., Kenue S. K.)
[1974] A fourth order exponentially fitted method. — SIAM J. Numer. Anal.,
11, 965—978.
Джонс (Jones G. S.)
[1962] On the non-linear differential-difference equation f'(x) ==— a/(* —
— 1){1 +/(*)}. — J. Math. Anal, and its Appl., 4, 440—469.
Список литературы 287
Джордж, Гаядерсон (George J. H., Gunderson R. W.)
[19721 Conditioning of linear boundary value problems. — BIT, 12, 172.
Дилл, Гир (Dill С, Gear С. W )
[1971] A graphical search for stiffly stable methods for ordinary
differential equations, — J. Ass. Сотр. Mach., 18, 75—79.
Драйвер (Driver R. D.)
[1962] Existence and stability of solutions of a delay-differential system.—
Arch. Rat. Mech. Anal., 10, 401—426.
Дуглас, Дюпон (Douglas J., Dupont T.)
[1973] A finite element collocation method for quasilinear parabolic
equations.—Math. Сотр., 27, 17—28.
[1974] Collocation methods for parabolic equations in a single space
variable. — New York: Springer.
Дэви (Davey A.)
[1973] A simple numerical method for solving Orr — Sommerfield
problems.— Q. J. Mech, Appl. Math., 26, 401.
Дэвис (Davis H. T.)
[1962] Introduction to nonlinear differential and integral equations. — New
York: Dover.
Дэвис (Davis P. J.)
[1963] Interpolation and approximation. — Blaisdell.
Дэвис, Рабинович (Davis P. J., Rabinowitz P.)
[1975] Methods of numerical integration. — New York: Academic Press.
Дэй (Day J. T.)
[1967] Note on the numerical solution of integro-differential equations.—
Comput. J., 9, 394—395.
[1970] On the numerical solution of integro-differential equations. — BIT,
10, 511—514.
Жданов Г. М.
[1961] О приближенном решении системы дифференциальных уравнений
первого порядка с запаздывающим аргументом. — Успехи матем. наук, т. 16,
вып. 1, 143—148.
Зафаруллах (Zafarullah A.)
[1970] Apllication of the method of lines to parabolic partial differential
equations with error estimates. — J. Ass. cornput. Mach., 17, 294—302.
Зверкин А. М., Каменский Г. А., Норкин С. Б., Эльсгольц Л. Э.
[1962] Дифференциальные уравнения с отклоняющимся аргументом.—
Успехи матем. наук, т. 17, вып. 2, 77—164.
Зверкина Т. С.
[1962] Приближенное решение дифференциальных уравнений с
отклоняющимся аргументом и дифференциальных уравнений с разрывными правыми
частями. — Труды семинара по теории дифференциальных уравнений Ун-та
дружбы народов им. Патриса Лумумбы, т. 1, 76—93.
[1964] Модификация конечно-разностных методов для интегрирования
обыкновенных дифференциальных уравнений с негладкими решениями. —
Ж. вычисл. матем. и матем, физ., т. 4, № 4, 149—160.
[1965] Модифицированная формула Адамса для интегрирования
уравнений с запаздывающим аргументом. — Труды семинара по теории
дифференциальных уравнений Ун-та дружбы народов им. Патриса Лумумбы, т. 3,
221—232.
288 Список литературы
[1966] Новый класс конечно-разностных операторов. — ДАН, т. 171, № 1,
33—36.
[1967а] Численное интегрирование систем с временным запаздыванием.—
Труды семинара по теории дифференциальных уравнений Ун-та дружбы
народов им. Патриса Лумумбы, т. 4, 164—172.
[1967b] Новый класс конечно-разностных операторов. — Там же, т. 5, 90.
[1968] Однопараметрический аналог формул Адамса. — Ж. вычисл. ма-
тем. н матем. физ., т. 8, № 4, 797—807.
Изаксон, Келлер (Isaacson E., Keller H. В.)
[1966] Analysis of numerical methods. — Wiley.
Инглэяд (England R.)
[1967] Automatic methods for solving systems of ordinary differential
equations. — Ph. D. Thesis, Univ. of Liverpool.
[1969] Error estimates for Runge — Kutta type solutions to systems of
0. D. E.'s. — Comput. J., 12, 166—169.
Калахен (Calahan D. A.)
[1967] Numerical solution of linear systems with widely separated time
constants. — Proc. IEEE, 55, 2016—2017.
Канторович Л. В., Акилов Г. П.
[1959] Функциональный анализ в нормированных пространствах. — М.:
Физматгиз.
Келлер (Keller Н. В.)
[1968] Numerical methods for two-point boundary-value problems.— Blais-
dell.
[1969] Accurate difference methods for linear ordinary differential equations
subject to linear constraints. — SIAM J. Numer. Anal., 6, 8.
[1974] Accurate difference methods for nonlinear two-point boundary value
problems. — Там же, 11, 305.
[1975a] Approximation methods for nonlinear problems with application to
two-point boundary value problems. — Math. Сотр., 29, 464—474.
[1975b] Numerical solution of boundary-value problems for ordinary
differential equations: survey and some recent results on difference methods. —
In: Aziz A. K. [1975], 27—88.
Келлер, Уайт (Keller И. В., White А. В., Jr.)
[1975] Difference methods for boundary-value problems in ordinary
differential equations. — SIAM J. Numer. Anal., 12, 791—802.
Кемпер (Kemper G. A.)
[1972] Linear multistep methods for a class of functional differential
equations. — Num. Math., 19, 361—372.
[1975] Spline function approximation for solutions of functional
differential equations. — SIAM J. Numer. Anal, 12, 73—88.
Кертис, Пауэлл, Рейд (Curtis A. R., Powell M. J. D., Reid J. K.)
[1974] On the estimation of sparse Jacobien matrices. — J. Inst. Math, and
its Appl., 13, 117—119.
Кертис, Рейд (Curtis A. R., Reid J. K.)
[1974] The choice of step lengths when using differences to approximate
Jacobian matrices. — Там же, 13, 121—126.
Кертис, Гиршфельдер (Curtiss С. F., Hirschfelder J. О.)
[1952] Integration of stiff equations. — Proc. Nat. Acad. Sci., USA, 38,
235—243.
Кершоу (Kershaw D.)
[1974] Volterra equations of the second kind. — In: Delves L. M., Walsh J.
[1974], 140-161.
Список литературы 289
Клопфешшелп, Миллман (Klopfenstein R. W., Millman R. S.)
[1968] Numerical stability of a one-evaluation predictor-corrector algorithm
for numerical solution of ordinary differential equations. — Math. Сотр., 22,
557—564.
Коддингтон Э. А., Левинсон Н. (Coddington E. A., Levinson N.)
[1955] Теория обыкновенных дифференциальных уравнений.— М.: ИЛ,
1958.
Конте (Conte S. D.)
[1966] The numerical solution of linear boundary value problems. — SIAM
Rev., 8, 309.
Коул Дж. (Cole J. D.)
[1968] Методы возмущений в прикладной математике. — М.: Мир, 1972.
Кофелд, Томпсон (Kohfeld J. J., Thompson G. Т.)
[1967] Multistep methods with modified predictors and correctors. — J. Ass.
comput. Mach., 14, 155—166.
Крайер (Cryer С W.)
[1972] Numerical methods for functional differential equations. — Inj
Schmitt K. [1972], 17—102.
[1973] A new class of highly-stable methods: Ло-stable methods. — BIT, 13,
153—159.
[1974] Highly stable numerical methods for delay differential equations.—
SIAM J. Numer. Anal., 11, 788—797; С S. Tech. Rept. 190, Univ. of Wisconsin,
Madison, 1973.
Крайер, Тавернини (Cryer С. W, Tavernini L.)
[1972] The numerical solution of Volterra functional differential equations
by Euler's method —SIAM J. Numer. Anal, 9, 105—129; С S. Tech. Rept. 71,
Univ. of Wisconsin, Madison, 1969.
Крайс (Kreiss H.)
[1972] Difference approximations for boundary and eigenvalue problems
for ordinary differential equations. — Math. Сотр., 10, 605—624
Крамбек (Krambeck F. J.)
[1970] The mathematical structure of chemical kinetics in homogeneous
single-phase systems. — Arch. Rat. Mech. Anal., 38, 317—347.
Крейги (Craigie J. A. I.)
[1975] A variable order multistep method for the numerical solution of
stiff systems of ordinary differential equations.— Numer. Anal. Rept. No. 11,
Dept. of Math., Univ. of Manchester.
Крейн, Клопфенштейн (Crane R. L., Klopfenstein R. W.)
[1965] A predictor-corrector algorithm with an increased range of absolute
stability. — J. Ass. comput. Mach., 12, 227—241.
Kpox (Krogh F. T.)
[1966] Predictor-corrector methods of high order with improved stability
characteristics. — J. Ass. comput. Mach., 13, 374—385.
[1969a] VODQ/SVDQ/DVDQ —Variable order integrators for the
numerical solution of ordinary differential equations. — TU Doc. No. CP-2308, NPO-
11643, Jet Propulsion Lab., Pasadena, Calif.
[1969b] A variable step, variable order multistep method for the numerical
solution of ordinary differential equations. — In: Information Processing 68
(Proceedings of the IFIP Congress 1968). —North Holland Publ. Co.
[1971] An integrator design. — JPL. TM. No. 33-479, Jet Propulsion Lab.,
Pasadena, Calif.
290 Список литературы
[1972] Opinions on matters connected with the evaluation of programs and
methods for integrating ordinary differential equations. — SIGNUM
Newsletter, 7.
[1973a] Algorithms for changing the stepsize. — SIAM J. Numer. Anal., 10
949—965.
[1973b] On testing a subroutine for the numerical integration of ordinary
differential equations. — J. Ass. comput Mach., 20, 545—562.
[1974] Changing stepsize in the integration of differential equations using
modified divided differences. — In: Lecture Notes in Mathematics, 362. — New
York: Springer, 22—71.
Кубичек, Главачек (Kubicek M., Hlavacek V.)
[1974] Evaluation of branching points based on shooting methods and GPM
techniques. — Chem. Eng. Sci., 29, 1695.
Кук, Лист (Cooke К. L., List S. E.)
[1972] The numerical solution of integro-differential equations with
retardation. — Tech. Rept. No. 72-4, Dept. of Elec. Eng., Univ. of Southern
California, Los Angeles
Лапидус, Айкен, Лью (Lapidus L., Aiken R. C., Liu Y, A.,)
[1974] The occurence and numerical solution of physical and chemical
systems having widely varying time constants- — In: Willoughby R. A. [1974].
Лапидус, Зейнфельд (Lapidus L., Seinfeld J. H.)
[1971] Numerical solution of ordinary differential equations. — Academic
Press.
Левин, Левинсон (Levin J. J., Levinson N.)
[1954] Singular perturbations of nonlinear systems of differential equations
and an associated boundary layer equation. — J. Rat. Mech. Anal., 3, 247—270.
Лентини, Перейра (Lentint M., Pereyra V.)
[1974] A variable order finite difference method for nonlinear multipoint
boundary value problems. — Math. Сотр., 28, 981—1003.
[1975] Boundary problem solvers for first order systems based on
deferred corrections. — In: Aziz A. K. [1975].
Линдберг (Lindberg B.)
[1971a] On smoothing and extrapolation for the trapezoidal rule. — BIT,
11, 29-52.
[1971b] On smoothing for the trapezoidal rule, an analytical study of some
representative test examples. — Rept. NA. 71.31, Dept. of Inf. Proc, Royal Inst.
of Tech., Stockholm.
[1972a] IMPEX — A program package for solution of systems of stiff
differential equations. — Rept. MA. 72.50, Dept. of Inf. Proa, Royal Inst. of Tech.,
Stockholm.
[1972b] Error estimates and stepsize strategy for the implicit midpoint rule
with smoothing and extrapolation. — Rept NA. 72.59, Dept. of Inf. Proc, Royal
Inst. of Tech.. Stockholm.
[1973] IMPEX 2 —A procedure for solution of systems of stiff differential
equations. —TRITA-NA-7303, Dept. of Inf. Proc, Royal Inst. of Tech,,
Stockholm.
[1974a] On a dangerous property of methods for stiff differential
equations.—BIT, 14, 430—436.
[1974b] Optimal stepsize sequences and requirements for the local error for
methods for (stiff) differential equations. — Tech. Rept. No. 67, Dept. of
Comput. Sci., Univ. of Toronto.
Линигер (Liniger W.)
[1968] A criterion for A -stability of linear multistep integration
formulae. — Computing, 3, 280—285.
Список литературы 291
[1969] Global accuracy and Л-stability of one and twostep integration
formulae for stiff ordinary differential equations, — In: Proc. Conf. on
Numerical Solution of Differential Equations, Dundee 1968.—Berlin: Springer, 188—193.
[1971] A stopping criteria for the Newton — Raphson method in implicit
multistep integration algorithms for nonlinear systems of ordinary differential
equations. — Communs. Ass. comput. Mach., 14, 600—601.
[1975] Connections between accuracy and stability properties of linear
multistep formulas. — Там же, 18, 53—56.
Линигер, Уиллаби (Liniger W, Willoughby R. A.)
[1970] Efficient integration methods for stiff systems of ordinary
differential equations. — SIAM J. Numer. Anal., 7, 47—66.
Линц (Linz P.)
[1969] Linear multistep methods for Volterra integro-differential
equations — J. Ass. comput. Mach., 16, 295—301.
Лоусон, Эйле (Lawson J. D., Ehle B. L.)
[1972] Improved generalised Runge — Kutta. — In: Proc. of Canadian
Computer Conference, Session 72, 223201—223213.
Лэмберт (Lambert J. D.)
[1973] Computational methods in ordinary differential equations. — Wiley.
Лэмберт, Сигурдссон (Lambert J. D. Sigurdsson S. T.)
[1972] Multistep methods with variable matrix coefficients. — SIAM J.
Numer. Anal, 9, 715—733.
ван де Люне, Ваттел (Van de Lune J., Wattel E.)
[1969] On the numerical solution of a differential-difference equation
arising in analytic number theory. — Math. Сотр., 23, 417—421.
Марквардт (Marquardt D.)
[1963] An algorithm for least squares estimation of nonlinear
parameters. — SIAM J. Appl. Math., 11, 431.
Мейер (Meyer G. H.)
[1973] Initial value methods for boundary value problems. — New York:
Academic Press.
Меррей (Murray J. D.)
[1974] Asymptotic analysis. — Clarendon Press.
Миллер (Miller J. J. H.)
[1971] On the location of zeros of certain classes of polynomials with
applications to numerical analysis. — J. Inst., Math, and its Appl., 8, 397—406.
Миранкер (Miranker W. L.)
[1973] Numerical methods of boundary layer type for stiff systems of
differential equations. — Computing, 11, 221—234.
Митчелл, Уэйт (Mitchell A. R., Wait R.)
[1976] The finite element method for partial differential equations.—Wiley.
Михлин С. Г.
[1966] Численная реализация вариационных методов. — М.: Наука.
Михлин С. Г., Смолицкий X. Л.
[1965] Приближенные методы решения дифференциальных и интегральных
уравнений. — М.: Наука.
Моцарски (Mocarsky W. L.)
[1971] Convergence of step-by-step methods for nonlinear
integro-differential equations. — J. Inst. Math, and its Appl., 8, 235-239.
292 Список литературы
Мышкис А. Д.
[1949] Общая теория дифференциальных уравнений с запаздывающим
аргументом. — Успехи матем. наук, т. 4, вып. 5, 99—141.
Мыоза, Делвс (Musa F. A., Delves L. М.)
[в печ.] On a class of non-singular matrices. — Utilitas Mathematica.
Мякела, Неванлинна, Сипиля (Makela M., Nevanlinna О., Sipila A. H.)
[1974] On the concepts of convergence, consistency, and stability in
connexion with some numerical methods. — Num. Math., 22, 261—274.
NAG Mini-Manual. Mark 4.— National Algorithms. Group, Ofxord.
Нахтсхейм, Свигерт (Nachtscheim P. R., Swigert P.)
[1965] Satisfaction of asymptotic boundary conditions in the numerical
solution of systems of nonlinear equations of boundary layer type. —Tech. Rept.
Lewis Research Center.
де Неверс, Шмитт (de Nevers К., Schmitt К.)
[1971] An application of the shooting method to boundary-value problems
for second-order delay equations.— J. Math. Anal, and its Appl., 36, 588—597.
Нёрсетт (Norsett S. P.)
[1969a] A criterion for Л (a)-stability of linear multistep methods. — BIT,
9, 259—263.
[1969b] An Л-stable modification of the Adams — Bashforth methods. — In:
Proc. Conf. on Numerical Solution of Differential Equations, Dundee 1968. —
Berlin: Springer, 214—219.
[1974] Semi-explicit Runge —Kutta methods. — Tech. Rept., Math, and
Сотр. No. 6/74, Univ. of Trondheim.
Ниве (Neves K. W.)
[1975] Automatic integration of functional differential equations: an
approach and an algorithm —ACM Trans, on Mathematical Software.
Ниве, Фельдштейн (Neves К W., Feldstein A.)
[в печ.] Characterization of jump discontinuities for the state-dependent
delay differential equation. — J. Math. Anal, and its Appl.
Нордсик (Nordsieck A.)
[1962] On the numerical integration of ordinary differential equations. —
Math. Сотр., 16, 22—49.
Оден (Oden L.)
[1971] An experimental and theoretical analysis of the SAPS-method for
stiff ordinary differential equations. — Rept. NA. 71.28, Dept. of Inf. Proc,
Royal Inst. of Tech., Stockholm.
О'Малли (O'Malley R. E.)
[1971] On initial value problems for nonlinear systems of differential
equations with two small parameters. — Arch. Rat. Mech. Anal., 40, 209.
Оппельструп (Oppelstrup J.)
[1973] Delay 1 — A program for integrating systems of delay differential
equations. — Rept. TRITA-NA-7311, Royal Inst. of Tech., Stockholm.
Ортега Дж., Рейнболдт В. (Ortega J. M., Rheinboldt W. С.)
[1970] Итерационные методы решения нелинейных систем уравнений со
многими неизвестными. — М.: Мир, 1975.
Осборн (Osborne M. R.)
[1974] On the numerical solution of boundary value problems for
ordinary differential equations. — IF IPS 74. — North Holland Publ. Co.
Список литературы 293
Перейра (Регеуга V.)
[1966] On improving an approximate solution of a functional equation by
deferred corrections. — Num. Math., 8, 376—391.
[1967] Iterated deferred corrections for nonlinear operator equations.—
там же, 10, 316—323.
[1968] Iterated deferred corrections for non-linear boundary value
problems.— там же, 11, 111—125.
[1973] Variable order variable step finite difference methods for nonlinear
boundary value problems. — In: Lecture Notes in Mathematics, 363. — New York:
Springer, 118—133.
Пинни Э. (Pinney E.)
[1959] Обыкновенные дифференциально-разностные уравнения — M.: ИЛ,
1961.
Протеро, Робинсон (Prothero A, Robinson A.)
[1974] On the stability an accuracy of one-step methods for solving stiff
systems of ordinary differential equations. — Math Сотр., 28, 145—162
Пузе (Pouzet P.)
[I960] Methode d'integration numerique des equations integral et integrodif-
ferentielles du type Volterra de seconde espese. Formules de Runge —Kutta. —
In: Symposium on the Numerical Treatment of Ordinary Differential Equations,
Integral, and Integro-Differential Equations, Rome, I960, — Basel: Birkhauser
Verlag.
[1962] Etude, en yue de leur traitment numerique, des equations integra-
les et integrodifferentielles de type Volterra pour des problemes de conditions
initiales. Thesis. — Univ. Strasbourg.
[1970] Systems differentiels, equations integrates et integro-differentielles.—
In: CNRS [1970], ch. 4.
Райли, Беннет, Мак-Кормик (Riley J., Bennet M., McCormick E.)
[1967] Numerical integration of variational equations. — Math. Сотр., 21,12.
Расселл (Russell R. D.)
[1975] Application of J5-splines for solving differential equations. —
Неопубликованная рукопись. — Simon Fraser Univ.
Рассел,, Bapax (Russell R. D., Barah J. M.)
[1974] A comparison of global methods for linear twopoint boundary value
problems. — Tech. Rept. 74-01, Dept. of Comput. Sci., Univ. of British Columbia.
Рейнболдт (Rheinboldt W. C.)
[1975] On the solution of some nonlinear equations arising in the
application of finite element methods. — TR 362, Comput. Sci., Univ. of Maryland.
Роберте, Шипман (Roberts S. M., Shipman J. S.)
[1972a] Solution of Troesch's two-point boundary-value problem by a
combination of techniques. — J. Сотр. Phys., 10, 232.
[1972b] Two point boundary value problems: Shooting methods. — Elsevier.
1973] Extension of a perturbation technique for nonlinear two-point
boundary-value problems. — J. Opt. Theory and Appl., 12, 459.
Робертсон (Robertson H. H.)
[1966] The solution of a set of reaction rate equations. — In: Numerical
analysis: an introduction (Walsh J., ed). — Academic Press.
[1967] An approximate inverse algorithm for solution of stiff differential
equations.— ICI Ltd. Internal Rept. MSDH'67/86
[1975a] Numerical integration of systems of stiff ordinary differential
equations with special structure. — N A. Rept., No. 8, Dept. of Math., Univ. of
Manchester.
[1975b] J. Inst. Math, and its Appl.
294 Список литературы
Робертсои, Мак-Кенн (Robertson Н. Н , McCann M. J.)
[1969] A note on the numerical integration of conservative systems of first-
order ordinary differential equations. — Comput. J., 12, 81.
Робертсон, Уилльямс (Robertson H H., Williams J.)
[1975] Some properties of algorithms for stiff differential equations.— J.
Inst. Math, and its Appl., 16, 23—34.
Розенброк (Rosenbrock H. H.)
[1963] Some general implicit processes for the numerical solution of
differential equations. — Comput. J., 5, 329—330.
Розенхед (Rosenhead L.)
[1963] Laminary boundary layers. — Oxford.
Ролл (Rail L. B.)
[1968] Davidenko's method for the solution on nonlinear algebraic
equations. — MRC Rept. 948, Univ. of Wisconsin.
Poccep (Rosser J. B.)
[1967] A Runge —Kutta for all seasons. — SIAM Rev., 9, 417—452.
Седгвик (Sedgwick A.)
[1973] An effective variable order variable step Adams method. — Tech.
Rept. No. 53, Dept. of Comput. Sci., Univ. of Toronto.
Синтани (Shintani H.)
[1966a] On a one-step method of order 4. — J. Sci. Hiroshima Univ. Ser.
A-l Math., 30, 91—107.
[1966b] Two-step processes by one-step methods of order 3 and of order
4.— Там же, 183—195.
Скотт (Scott M.)
[1973a] Invanriant imbedding and its application to ordinary differential
equations. — Addison — Wesley.
[1973b] An initial value method for the eigenvalue problem for systems of
ordinary differential equations. — J. Сотр. Phys., 12, 334.
[1974] A bibliography on invariant imbedding and related topics. — Tech.
Rept. SLA-74-0284, Sandia Laboratories.
Скотт, Уаттс (Scott M., Watts H. A.)
[1975] SUPORT — A computer code for two-point boundary value
problems via orthonormalisation. — Rept. SAND 75-0198, Sandia Laboratories.
Скотт, Шампайн, Уинг (Scott M., Shampine L. F., Wing G. M.)
[1969] Invariant imbedding and the calculation of eigenvalues for Sturm —
Liouville systems. — Computing, 4, 10.
Скрейтон (Scraton R. E.)
[1964] Estimation of the truncation error in Runge —Kutta and allied
processes. — Comput. J., 7, 246—248.
Con (Soop M.)
[1968] A method for calculating the minimum of a one-dimensional varia-
tional integral on an infinite interval leading to a Schrodinger type
eigenvalue problem. — ZAMM, 48, 369.
Спейкер (Spijker M. N.)
[1966] Convergence and stability of step-by-step methods for the
numerical solution of initial value problems. — Num. Math., 8, 161—177.
Список литературы 295
Стренг Г., Фикс Дж. (Strang G., Fix G.)
[1973] Теория метода конечных элеменюв. — М.: Мир, 1977.
Тавернини (Tavernini L.)
[1969] Numerical methods for Volterra functional differential equations.—
Ph. D. thesis. — Univ. of Wisconsin, Madison.
[1971] One-step methods for the numerical solution of Volterra functional
differential equations. — SIAM J Numer. Anal., 8, 786—-795.
[В печ.] Linear multistep methods for the numerical solution of Volterra
functional differential equations. — J. of Applic. Anal.
Тауберт (Taubert K.)
[1974] Differenzenverfahren fur gewohnlicher Anfangswertaufgaben mit un-
stetiger rechter Seite. — Rept. LN-395, Institute fur angewandte Mathematik,
Hamburg.
Томе, Вальбен (Thomee V., Wahlbin L.)
[1975] On Galerkin methods for semilinear parabolic problems. — SIAM J.
Numer. Anal., 12, 378—389.
Томпсон (Thompson R. J.)
[1968] On some functional differential equations: existence of solutions
and difference approximations. — SIAM J. Numer. Anal., 5, 475—487.
Тринор (Treanor С. Е.)
[1966] A method for the numerical integration of coupled first-order
differential equations with greatly different time constants. — Math. Сотр., 20,
39—45.
Уайтек (Whytack L.) •
[1971] A new technique for rational extrapolation to the limit. — Num.
Math., 17, 215—221.
Уатт (Watt J. M.)
[1967] The asymptotic discretization error of a class of methods for
solving differential equations. — Proc. Camb. Phil. Soc., 63, 461—472.
[1968] Convergence and stability of discretization methods for functional
equations. — Comput. J., 11, 77—82.
Уилер (Wheeler D. J.)
[1959] Note on Runge — Kutta method of integrating ordinary differential
equations. — Comput. J., 2, 23.
Уилкинсон Дж. X. (Wilkinson J. H.)
[1965] Алгебраическая проблема собственных значений. — М.: Наука,
1970.
Уиллаби (ред.) (Willoughby R. A., ed.)
[1974] Stiff differential systems. — Plenum Press.
Уилльямс, де Хог (Williams J., de Hoog F.)
[1974] A class of Л-stable advanced multistep methods. — Math. Сотр.,
28, 163—177.
Уолш (Walsh J.)
[1974] Initial and boundary value routines for ordinary differential
equations. — In: Proc. of the Conf. on Software for Numerical Mathematics 1973. —
Academic Press.
Уэи (Wei J.)
[1962] Axiomatic treatment of chemical reaction systems.— J. Chem. Phys.,
36, 1578.
296 Список литературы
Уэй, Пратер (Wei J., Prater С. D.)
[1962] Analysis of complex reaction systems. — Adv. in Catalysis, 13, 203—
391.
Уэйт, Хопкинс (Wait R., Hopkins T. R.)
[1975] A comparison of numerical methods for solving parabolic partial
differential equations. — In: Proc. of Conf. on Computational Aspects of Finite
Element Methods. — Imperial College.
Фельберг (Fehlberg E.)
[1968] Classical fifth, sixth, seventh and eight order Runge — Kutta
formulas with stepsize control. — NASA T. R. 287.
[1969a] Klassische Runge — Kutta — Formeln funfter und siebenter Ord-
nung mit Schrittweitenkontrolle. — Computing, 4, 93—106.
[1969b] Low order classical Runge — Kutta formulas with stepsize control
and their application to some heat transfer problems. — NASA T. R. 315.
Фельдштейн (Feldstein A.)
[1964] Discretization methods for retarded ordinary differential
equations. — Ph. D. thesis. — Univ. of California, Los Angeles.
Фельдштейн, Гудман (Feldstein A., Goodman R.)
[1973] Numerical solution of ordinary and retarded differential equations
with discontinuous derivatives.—Num. Math., 21, 1—13.
Фельдштейн, Сопка (Feldstein A., Sopka J. R.)
[1974] Numerical methods for nonlinear Volterra integrodifferential
equations. — SIAM J. Numer. Anal., 11, 826—846.
Филлипс (Phillips G. M.)
[1970] Analysis of numerical iterative techniques for solving integral and
integro-differential equations. — Comput. J., 13, 297—300.
Фокс, Майерс, Окендон, Тейлор (Fox L., Mayers D. F., Ockendon J. R.,
Taylor A. B.)
[1971] On a functional differential equation. — J. Inst. Math, and its Appl.,
8, 271—307.
Фокс, Паркер (Fox L., Parker I.)
[1968] Chebyshev polynomials in numerical analysis. — Oxford Univ. Press.
Фокс (Fox P. A.)
[1971] DESUB: Integration of a first-order system of ordinary
differential equations. — In: Mathematical software (Rice J. R., ed.). — Academic Press.
Фримен, Делвс (Freeman L., Delves L. M.)
[1974] On the convergence rates of variational methods. — J. Inst. Math,
and its Appl., 14, 311—323.
Хабетс (Habets P.)
[1974] A consistency theory of singular perturbations of differential
equations. — SIAM J. Appl. Math., 26, 136—153.
Халанай (Halanay A.)
[1966] Differential equations — stability, oscillations, time lags. — New York:
Academic Press.
Халл (Hull Т. Е.)
[1974] A proposal for the design of subroutines to solve initial value
problems associated with ordinary differential equations. — Tech. Note.
Халл, Кример (Hull Т. Е., Creemer A L.)
[1963] Efficiency of predictor-corrector schemes. — J. Ass. comput. Mach.,
10, 291—301.
Список литературы 297
Халл, Энрайт (Hull Т. Е., Enright W. Н.)
[1974] A structure for programs that solve ordinary differential equations.—
Tech. Rept. No. 66, Dept. of Comput. Sci., Univ. of Toronto.
Халл, Энрайт, Феллен, Седгвик (Hull Т. Е., Enright W. H., Fellen В. М.,
Sedgwick A. E.)
[1972] Comparing numerical methods for ordinary differential equations.—
SIAM J. Numer. Anal., 9, 603—637.
Хаммер, Холлингсворт (Hammer P. C, Hollingsworth J. W.)
[1955] Trapezoidal methods of approximating solutions of differential
equations. — M. Т. А. С, 9, 92—96.
Хан (Hahn W.)
[1967] Stability of motion. — Berlin: Springer.
Хатчинсон (Hutchinson J.)
[1971] Finite-difference solutions do delay differential equations. — Ph. D.
thesis, Rensselair Polytechnic Inst, Troy, New York.
Хейл (Hale J.)
[1971] Functional differential equations. — New York: Springer.
Хейнс (Haines C. F.)
[1969] Implicit integration processes with error estimates for the
numerical solution of differential equations. — Comput. J., 12, 183—187.
Хемминг (Hamming R. W.)
[1959] Stable predictor-corrector methods for ordinary differential
equations. — J. Ass. comput. Mach., 6, 37—47.
Хенричи (Henrici P.)
[1962] Discrete variable methods in ordinary differential equations. — WN
ley.
Хилл (Hill D. R.)
[1973] An approach to the numerical solution of delay-differential
equations. — Ph. D. thesis, Univ. of Pittsburgh.
[1974] A new class of one-step methods for the solution of Volterra
functional differential equations. — BIT, 14, 298—305.
Холл (Hall G.)
[1974] Stability analysis of predictor-corrector algorithms of Adams type.—
SIAM J. Numer. Anal, 11, 494—505.
Холл, Энрайт, Халл, Седгвик (Hall G., Enright W. H., Hull T. EM
Sedgwick A. E.)
[1973] Detest: a program for comparing numerical methods for ordinary
differential equations.— Tech. Rept. No. 60. Dept. of Comput. Sci., Univ. of
Toronto.
Хопкинс (Hopkins T. R.)
[1975] On the numerical solution of stiff parabolic partial differential
equations. — Univ. of Liverpool.
Хоппенстидт (Hoppensteadt F.)
[1971] Properties of solutions of ordinary differential equations with small
parameters. — Communs. Pure and Appl. Math., 24, 807—840.
ван дер Хоувен, Вервер (van der Houwen P. J., Verwer J. G.)
[1974] Goneralized linear multistep methods I: development of algorithms
with zero-parasitic roots —Tech. Rept. N\V 10/74, Math. Centrum, Amsterdam.
CNRS
[1970] Procedures ALGOL en analyse numerique. — Paris: Centre National
de la Recherche Scientifique.
298 Список литературы
Цой (Tsoi А С.)
[1975] Explicit solution of a class of delay-differential equations. —
International J. of Control, 21, 39—48.
Чартрс, Стиплмен (Chartres В., Stepleman R.)
[1971] Convergence of difference methods for initial and boundary value
problems with discontinuous data. — Math. Сотр., 24, 729—732.
[1972] A general theory of convergence for numerical methods. — SIAM J.
Numer. Anal., 9, 476—492.
Чебеки, Келлер (Cebeci Т., Keller H. B.)
[1971] Shooting and parallel shooting methods for solving the Falkner —
Skan boundary layer equations.—J. Сотр. Phys., 7, 289.
Чесино, Кунцман (Ceschino F., Kuntzman J.)
[1963] Numerical solution of initial value problems. — Dunod Davis;
Prentice Hall, 1966.
Чппмен (Chipman F. H.)
[1971a] Л-stable Runge — Kutta processes. — BIT, 11, 384—388.
[1971b] Numerical solution of initial value problems using Л-stable Runge —
Kutta processes. — Thesis, Dept. of AACS, Univ. Waterloo.
Чоски (Chosky N. H.)
[1960] Time-lag systems. — Bibliography IRE Trans. — Automatic Control,
AC-5.
Шампайн (Shampine L. F.)
[1971] Comparing error estimates for Runge — Kutta methods. — Math.
Сотр., 25, 445—455.
[1973] Local extrapolation in the solution of ordinary differential
equations.—Math. Сотр., 27, 91—97.
Шампайн, Гордон (Shampine L. F., Gordon M. K.)
[1975] Computer solution of ordinary diffrential equations. — W. H.
Freeman and Co.
Шампайн, Уаттс (Shampine L. F., Watts H. A.)
[1969] Block implicit one-step methods. — Math. Сотр., 23, 731—740.
[1972] Л-stable block implicit one-step methods. — BIT, 12, 252—266.
Шевчик A. (Szewczyk A. A.)
[1964] Совместное действие вынужденной и свободной конвекции при
ламинарном течении. — Труды Американского об-ва инженеров-механиков,
серия С, Теплопередача, т. 86, № 4, 81.
Шмитт (ред.) (Schmitt К., ed.)
[1972] Delay and functional differential equations and their applications.—
Proceedings of the Park City Conference, 1972.— Academic Press.
Шорт (Short E.)
[1975] On the stability of some numerical methods for the solution of
initial-value problems in Volterra integro-differential equations. — M. Sc. thesis,
Univ. of Manchester.
Штёр (Stoer J.)
[1961] Uber zwei Algorithmen zur Interpolation mit rationalen Funktio-
nen. — Num. Math,, 3, 285—304.
[1974] Extrapolation methods for the solution of initial value problems and
their practical realization. — In: Lecture Notes in Mathematics, 362. — New
York: Springer, 1—21.
Штеттер (Stetter H. J.)
[1965] A study of strong and weak stability in discretization algorithms.—
SIAM J. Numer. Anal., 2, 265—280.
Список литературы 299
[1971] Stability of discretizations on infinite intervals. — Lecture Notes
in Mathematics, 228. — New York: Springer, 207—222.
[1973] Анализ методов дискретизации для обыкновенных
дифференциальных уравнений. — М: Мир, 1978.
Штокмайер (Stockmayer W Н.)
[1944] The steady-state aoproximation in polymerisation kinetics. —- J. Chem,
Phys., 12, 143—144.
Эдсберг (Edsberg L.)
[1974] Integration package for universal kinetics. — In: Willoughby R. A.
1974.
Эйле (Ehle B. L.)
[1968] High-order Л-stable methods for the numerical solution of systems
of differential equations. — BIT, 8, 276—278.
[1969a] On Pade approximations to the exponential function and Л-stable
methods for the numerical solution of initial-value problems. — Res. Rept. CSRR
2010. Univ. of Waterloo.
[1969b] Thesis, Dept. of AACS, Univ. of Waterloo.
[1972] A comparison of numerical methods for solving certain stiff
ordinary differential equations. — Tech. Rept. No. 70, Dept. of Math. Univ. of
Victoria.
Эль-Генди (El-Gendi S. E.)
[1969] Chebyshev solution of differential, integral and integro-differential
equations. — Comput. J., 12, 282—287.
Эльсгольц Л. Э.
[1953] Приближенные методы интегрирования
дифференциально-разностных уравнений. — Успехи матем. наук, т. 8, вып. 4, 81—93.
Эльсгольц Л. Э., Норкин С. Б.
[1971] Введение в теорию дифференциальных уравнений с
отклоняющимся аргументом. — 2-е изд. — М.: Наука.
Энрайт (Enright W. Н.)
[1974] Second derivative multistep methods for stiff ordinary differential
equations. — SIAM J. Numer. Anal., 11, 321—331.
Энрайт, Беде, Фаркас, Халл (Enright W. H., Bedet R., Farkas I., Hull Т. Е.)
[1973] Test results on initial value methods for non-stiff ordinary
differential equations. — Tech. Rept. No. 68. Dept. of Comput. Sci., Univ. Toronto.
Энрайт, Халл, Линдберг (Enright W. H., Hull Т. Е., Lindberg B.)
[1974] Comparing numerical methods for stiff systems of O. D. E.'s. — Tech.
Rept No. 69. Dept. of Comput. Sci., Univ. Toronto.
Янковски Д., Такеути Д., Герстинг Дж. (Jankowski D. F., Takeuchi D. I.,
Gersting J. M., Jr.)
[1972] Преобразование Риккати в численном решении задач Орра — Зом-
мерфельда. —- Прикладная механика (Мир), т. 39, № 1, 123.
ИМЕННОЙ УКАЗАТЕЛЬ
Абрамович (Abramowitz M.) 241, 282
Авила (Avila J. Н.) 233, 282
Азиз (Aziz А. К.) 223, 224, 282, 290
Айкен (Aiken R. С.) 168, 290
Айне (Ince E. L.) 201, 241, 282
Акилов Г. П. 123, 232, 288
Аксельссон (Axelsson О.) 119, 122,
139, 282
Аллен (Allen R Н.) 141, 282
Алспо (Alspaugh D. W.) 225, 228,
282
Арис (Aris R.) 166, 282
Бабушка (Babuska I.) 223, 282
Бамфорд (Bamford) 166
Барродейл (Barrodale I.) 248, 249,
251, 283
Бартон (Barton D.) 12, 283
Баруэлл (Barwell V. К.) 268, 283
Батчер (Butcher J. С.) 9, 14, 19, 31,
36, 37, 54, 134, 137, 140, 283
Бауэр (Bauer F. L.) 173, 283
Беде (Bedet R.) ИЗ, 115, 299
Бейкер (Baker С. Н. Т.) 9, 269, 270,
273, 276, 277, 281, 283
Бейли (Bailey P. В.) 227, 283
Беллман (Bellman R. Е.) 257—259,
262, 268, 283
Беннет (Bennet M.) 203, 293
Березин И. С. 185, 284
Берн (Byrne G. D.) 147, 284
Болл (Ball S. J.) 268, 284
Брайтон (Brayton R. К.) 142, 145,
268, 284
Бруннер (Brunner H.) 143, 270, 273,
274, 284
Будак Б. М. 268, 285
Бузингер (Businger P.) 208, 284
Булирш (Bulirsch R.) 104, 106, 107,
109, 284
Булл (Buell J. D.) 258, 262, 268,
283
Бьерк (Bjorck A.) 222, 284
Бьюрель (Bjurel G.) 157, 284
Бэнкс (Banks D. О.) 227, 284
Вазов (Wasow W.) 161, 284
Вальбен (Wahlbin L.) 183, 295
Bapax (Varah J. M.) 214, 218, 284
285, 293
Васильева А. Б. 168, 285
Вассерштром (Wasserstrom E.) 236
285
Ватанабе (Watanabe D. S.) 100, 146
285
Ваттел (Wattel E.) 268, 291
Вейс (Weiss R.) 213, 214, 285
Вервер (Verwer J. G.) 149, 297
Видерхольт (Wiederholt L. F.) 257,
267, 268, 285
Видлунд (Widlund О. В.) 119, 120,
143, 285
Витасек (Vitasek E.) 223, 282
Гандерсон (Gunderson R. W.) 212,
221, 287
Герстинг (Gersting J. M., Jr.) 227,
228, 285, 299
Гир (Gear С W.) 11, 22, 26, 33, 36,
37, 44, 46, 69, 85, 86, 89, 91, 100,
107, 109, 120, 121, 123, 142—144, 146,
157, 160, 169, 285, 287
Гиршфельдер (Hirschfelder J. O.)
144, 288
Главачек (Hlavacek V.) 229, 290
Гладуэлл (Gladwell I.) 9, 114
Годарт (Godart M.) 227, 228, 285
Голуб (Golub G. H.) 208, 284
Горбунов А. Д. 268, 285
Гордон (Gordon M. K.) 26, 69, 75,
86, 298
Грэгг (Gragg W. B.) 37, 38, 68, 106,
107, 109, 285
Гудерлей (Guderley K. G.) 199, 221,
223, 286
Гудман (Goodman R.) 259, 266, 268,
286, 296
Гурли (Gourlay A. R.) 122, 153, 286
Густавсон (Gustavson F. G) 142,
145, 146, 284
Именной указатель
301
Давиденко Д. Ф. 234
Далквист (Dahlquist G.) 34, 36, 119,
142, 152, 153, 156, 157, 160, 168,
284, 286
Делвс (Delves L. М.) 9, 253, 283, 292,
296
Дефлхард (Deuflhard P.) 207—210,
213, 286
Джейн (Jain M. К.) 143, 286
Джейн (Jain R. К.) 149, 286
Джексон (Jackson L W.) 149, 286
Джонс (Jones G. S.) 286
Джордж (George J. Н.) 212, 221, 287
Дилл (Dill С.) 143, 287
Димсдейл (Dimsdale) 19
Драйвер (Driver R. D.) 287
Дуглас (Douglas J.) 184, 185, 287
Дэви (Davey A.) 227, 287
Дэвис (Davis H. Т.) 269, 287
Дэвис (Davis P. J.) 103, 273, 287
Дэй (Day J. T.) 278, 287
Дюпон (Dupont Т.) 184, 185, 287
Жданов Г. М. 287
Жидков Н. П. 185, 284
Зафаруллах (Zafarullah A.) 186, 287
Захар (Zahar R. V. М.) 12, 283
Зверкин А. М. 287
Зверкина Т. С. 266, 268, 287
Зейнфельд (Seinfeld J. H.) 14, 290
Зинкович (Sincovec) 187
Изаксон (Isaacson E.) 36, 191, 282
Инглэнд (England R.) 60—62, 64, 288
Кагивада (Kagiwada H. Н.) 228,282
Калаба (Kalaba R. Е.) 228, 258, 262,
268, 282, 283
Калахен (Kalahan D. А.) 141, 288
Каменский Г. А. 287
Канторович Л. В. 123, 232, 288
Келлер (Keller H. В.) 36, 188—192,
194, 200, 210, 212—214, 217, 219,
282, 288, 298
Кемпер (Kemper G. А.) 267, 268, 288
Кеню (Kenue S. К.) 149, 286
Кертис (Curtis A. R.) 124, 125, 288
Кертис (Curtiss С. F.) 144, 288
Кершоу (Kershaw D.) 270, 288
Клиппинджер (Clippinger) 19
Клопфенштейн (Klopfenstein R. W.)
47, 289
Коддингтон (Coddington E. А) 216,
289
Конте (Conte S. D.) 221, 222, 289
Коткнн (Kotkin В.) 268, 283
Коул (Cole J. D.) 168, 289
Кофельд (Kohfeld J. J.) 68, 289
Крайер (Cryer С. W.) 143, 257, 262,
266-269, 289
Кране (Kreiss H.) 190, 289
Крамбек (Krambeck F. J.) 167, 289
Крейги (Craigie J. A. I.) 159, 160, 289
Крейн (Crane R. L) 47, 289
Кример (Creemer A. L) 17, 88, 239
Kpox (Krogh F. T.) 47, 69, 76, 86,
88, 89, 91, 94, 95, 99, 100, 110, 111,
113, 289, 290
Кубичен (Kubicek M.) 229, 290
Кук (Cooke K. L.) 257, 259, 268, 283,
290
Кунцман (Kuntzman J) 64, 298
Куровски (Kurowski G. J.) 227, 284
Кутта (Kutta) 12
Лапидус (Lapidus L.) 14, 168, 290
Левин (Levin J. J.) 168, 290
Левинсон (Levinson N.) 168, 216, 289,
290
Лентини (Lentini M.) 194, 290
Линдберг (Lindberg B.) 115, 152—
160, 169, 170, 284, 286, 290, 299
Линде (Linde S.) 157, 284
Линигер (Liniger W.) 20, 123, 124,
143, 149, 158, 290, 291
Линц (Linz P.) 269—272, 274, 291
Лист (List S. E.) 268, 290
Лоусон (Lawson J. D.) 158, 291
Лью (Liu Y. A.) 168, 290
Лэмберт (Lambert J. D.) 9, 15, 19,
42—44, 47, 62, 68, 107, 118, 119, 122,
142, 147—149, 270, 273, 274, 284,
291
Люне ван де (Van de Lune J.) 268,
291
Мадсен (Madsen) 187
Майерс (Mayers D. F.) 257, 258, 260,
264, 265, 268, 296
Мак-Кенн (McCann M. J.) 175, 294
Мак-Кормик (McCormick E.) 203,293
Макрогло (Makroglou A.) 277
Марквардт (Marquardt D.) 206, 291
Мейер (Meyer G. H.) 215, 216, 223,
224, 291
Меррей (Murray J. D.) 240, 291
Миллер (Miller J. J. H.) 44, 291
Миллман (Millman R. S.) 47, 289
Миранкер (Miranker W. L.) 169, 291
Митчелл (/Mitchell A. R.) 180, 291
Михлин С. Г. 254, 291
Моцарски (Mocarsky W. L.) 271, 276,
291
302
Именной указатель
Мышкис А. Д. 257, 292
Мьюза (Musa F. А.) 253, 292
Мякела (Makela M.) 36, 292
Нахтсхейм (Nachtscheim P. R.) 209,
292
Неванлинна (Nevanlinna О.) 36, 292
Неверс де (de Nevers К.) 257, 268,
292
Нёрсетт (Norsett S. Р.) 119, 140,
141, 144, 149, 292
Ниве (Neves К. W.) 256, 261, 262,
268, 270, 275, 292
Николаи (Nicolai P. J.) 223, 286
Нордсик (Nordsieck A.) 91, 144, 292
Норкин С. Б. 256, 257, 259, 261, 266,
268, 287, 299
Обрешков 20
Оден (Oden L.) 157, 158, 284, 292
Окендон (Ockendon J. R.) 257, 258,
260, 264, 265, 268, 296
О'Малли (O'Malley R. Е.) 168, 292
Оппельструп (Oppelstrup J.) 268, 292
Ортега (Ortega J. M.) 165, 171, 204,
205, 234, 292
Осборн (Osborne M. R.) 212, 213, 292
Паркер (Parker I.) 254, 296
Пауэлл (Powell М J. D.) 125, 288
Перейра (Pereira V.) 194, 195, 290,
293
Пинни (Pinney E.) 293
Прагер (Prager M.) 223, 282
Пратер (Prater С. D.) 167, 296
160, 293
Протеро (Prothero A.) 9, 122, 143,
160, 293
Пузе (Pouzet P.) 269, 274, 275, 293
Рабинович (Rabinowitz P.) 273, 287
Райли (Riley J.) 203, 293
Райе (Rice J. R.) 283, 286
Расселл (Russel R. D.) 218, 293
Рейд (Reid J. K.) 124, 288
Рейнболд (Rheinboldt W. C.) 165,
171, 204, 205, 234, 237, 292, 293
Роберте (Roberts S. M.) 188, 219, 230,
236, 237, 293
Робертсон (Robertson H. H.) 9, 124,
126, 158, 160, 170, 171, 174, 175,
293, 294
Робинсон (Robinson A.) 122, 143, 160,
293
Розенброк (Rosenbrock H. H.) 122,
140, 141, 294
Розенхед (Rosenhead L.) 240, 294
Ролл (Rail R. B.) 234, 294
Poccep (Rosser J. B.) 19, 294
Рунге (Runge) 12
Свигерт (Swigert P.) 210, 292
Седгвик (Sedgwick A.) 26, 65, 86,
109, 113, 156, 294, 297
Сигурдссоп (Sigurdsson S. T.) 119,
142, 147-149, 291
Синтани (Shintani H.) 60, 61, 294
Сипиля (Sipila A. H.) 36, 292
Скотт (Scott M.) 223—225, 228, 294
Скрейтон (Scraton R. E.) 62, 294
Смолицкий X. Л. 54, 291
Con (Soop M.) 227, 294
Сопка (Sopka J. R.) 269, 274, 275,
296
Спейкер (Spijker M. N.) 31, 36, 294
Сривастава (Srivastava V. K.) 143,
286
Стегун (Stegun I. A.) 241, 282
Стренг (Strang G.)181, 295
Стиплмен (Stepleman R.) 36, 268,
298
Тавернини (Tavernini L.) 257, 264,
266—268, 270, 289, 295
Такеути (Takeuchi D. I.) 228, 299
Тауберт (Taubert K.) 36, 295
Тейлор (Taylor A. B.) 257, 258, 260,
264, 265, 268, 296
Типпер (Tipper) 166
Томе (Thomee V.) 183, 295
Томпсон (Thompson J. T.) 68, 289
Томпсон (Thompson R. J.) 268, 295
Тринор (Treanor С. Е.) 119, 295
Ту (Tu K. W.) 11, 100, 146, 285
Уайт (White А. В., Jr.) 190, 288
Уайтек (Whytack L.) 105, 295
Уатт (Watt J. M.) 5, 9, 36, 194, 295
Уаттс (Watts H. A.) 19, 64, 65, 223,
294 298
Уилер (Wheeler J. D.) 75, 295
Уилкинсон (Wilkinson J. H.) 173,
226, 295
Уиллаби (Willoughby R. A.) 20, 123,
143, 149, 158, 268, 284, 290, 291,
295, 299
Уиллерс (Willers I. M.) 12, 283
Уилльямс (Williams J.) 9, 19, 124,
160, 174, 294, 295
Уинг (Wing G. M.) 228, 294
Уолш (Walsh J.) 9, 112, 115, 283, 286,
293, 295
Уэй (Wei J.) 167, 295, 296
Уэйт (Wait R.) 9, 180, 186, 291, 296
Именной указатель
303
Фаркас (Farkas 1.) 113, 115, 299
Феллен (Fellen В. М.) 26, 65, 109,
113, 156, 297
Фельберг (Fehlberg E.) 60—62, 82,
296
Фельдштейн (Feldstein A.) 258, 259,
263, 264, 266, 268, 269, 274, 275, 286,
292, 296
Фикс (Fix G.) 181, 295
Филлипс (Phillips G. М.) 296
Фокс (Fox L.) 254, 257, 258, 260, 264,
265, 268, 296
Фокс (Fox P. А.) 107, 109, 296
Фримен (Freeman L.) 253, 296
Хабетс (Habets P.) 168, 296
Халанай (Halanai A.) 296
Халл (Hull Т. Е.) 17, 26, 65, 69, 73,
76, 88, 109, 113, 115, 156—160, 169,
296, 297, 299
Хаммер (Hammer P. С.) 136, 297
Хан (Hahn W.) 33, 297
Хатчинсон (Hutchinson J.) 266—268,
296
Хачтел (Hachtel G. D.) 142, 145, 146,
284
Хейз (Hayes J. G.) 283
Хейл (Hale J.) 297
Хейнс (Haines С. F.) 141, 297
Хемминг (Hamming R W.) 67, 297
Хеннел (Hennel M. А.) 9
Хенричи (Henrici P.) 15—17, 31, 36,
37, 48, 67, 69, 90, 123, 297
Хилл (Hill D. R.) 268, 297
Хиндмарш (Hindmarsh А. С.) 147,
284
Хог де (de Hoog F.) 19, 295
Хойн (Heun) 12, 13
Холл (Hall G.) 5, 9, 46, 75, 89, 113,
297
Холлингсворт (Hollingsworth J W.)
136, 297
Хопкинс (Hopkins T. R.) 183, 185,
186, 296, 297
Хоппенстидт (Hoppensteadt F.) 168,
297
Хоувен ван дер (van der Hou-
ven P. J.) 149, 297
Цой (Tsoi A. C.) 298
Чартрс (Chartres B.) 36, 268, 298
Чебеки (Cebeci T.) 214, 298
Чесино (Ceschino F.) 64, 298
Чипмен (Chipman F. H.) 119, 122,
139, 140, 298
Чоски (Chosky N. H.) 268, 298
Шампайн (Shampine L. F.) 19, 26,
64, 65, 67, 69, 75, 86, 228, 294, 298
Шевчик (Szewczyk A. A.) 201, 298
Шипман (Shipman J. S.) 188, 219,
230, 236, 237, 293
Шмитт (Schmitt K.) 257, 268, 289,
292, 298
Шорт (Short E.) 277, 298
Штёр (Stoer J.) 104, 106, 107, 110,
284, 298
Штеттер (Stetter H. J.) 33, 36, 37,
38, 45, 54, 67—69, 107, 155, 286,
298, 299
Штокмайер (Stockmayer W, H.) 168,
299
Эдсберг (Edsberg L.) 168, 299
Эйле (Ehle B. L.) 119, 122, 139, 140,
158, 159, 299
Эль-Генди (El-Gendi S. E.) 299
Эльсгольц Л. Э. 256, 257, 259, 261,
264, 266, 268, 287, 299
Энрайт (Enright W. H.) 20, 26, 65,
73, 76, 109, 113, 115, 142, 149-151,
157—160, 169, 297, 299
Янг (Young A.) 248, 249, 251, 283
Янковски (Jankowski D. F.) 227, 228,
285, 299
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Автономные уравнения 130
Лдамса метод 86, 87
переменного порядка 115
трехшаговый 25
— метода область устойчивости 89
обобщение 94
Адамса — Бэшфорта метод 15, 16,
46, 87
Адамса — Бэшфорта — Мултона
метод 46
Адамса — Мултона метод 46
Алгебраических уравнений решение
191—193
Л-приемлемая рациональная
аппроксимация 148
Аппроксимации разностные 51—55
Аппроксимация кусочно
полиномиальная 181
— Паде 138
— предельно компактная 190
Асимптотические разложения 104,
106, 193—195
Базисные функции кусочно
полиномиальной аппроксимации 180
Бесконечные пределы интегрирования
в методе разложения 254
Блок приближений 18
Блочные методы 18
для интегродифференциального
уравнения 278
— системы жестких уравнений
19
неявные многошаговые 19
одношаговые 19
Булирша — Штёра алгоритм 104, 105
Вандермонда матрица 146
Вложенные методы 14, 59—61, 64,
81
Внесение поправок в матрицу 170,
177
Внесения поправок в матрицу
способы 178
Возмущений влияние в
дифференциальной задаче 48
Вольтерра уравнение интегродиффе-
ренциальное 268
функционально-дифференциальное 269
Временные постоянные локальные 118
Вычисленные приближенные решения
26
Галёркина метод 181—183, 186, 251
— метода сходимость 183, 185
Гаусса — Ньютона метод 206, 209
GBS-метод 107. См. также Грэгга —
Булирша — Штёра метод
Геометрического места точек границы
метод 43—44
Гибридные методы 20, 28, 47, 65
Гира метод 44, 46, 158, 159
Главный корень характеристического
полинома 36, 45
— член асимптотического
разложения погрешности аппроксимации
2о
Граничные условия на бесконечности
201, 239
множестве точек 245
периодические 201
распадающиеся 213, 217
Грегори метод 276
Грэгга — Булирша — Штёра метод
106, 107, 115
Дерево с корнем 77, 131—133
Дифференциальная задача 48
Дифференцирования назад формулы
14о
Жесткая задача Коши 117, 128, 142
модельная 126
Жесткие уравнения 54
Жестко точные методы 123
Жесткой задачи пример 126
Предметный указатель
305
Жесткости коэффициент 118
— мера 118
Жесткость задачи 116
Изолированное решение краевой
задачи 229
Инвариантного погружения метод
214—216, 223, 224, 228
Инглэнда метод оценки погрешности
64, 65
Интегрирования метод 21
Исправление до сходимости 17
Исправляющий метод 17
Классический метод четвертого
порядка 82
Коллокации точки 184
Коллокаций метод 181, 184—185, 251
Конечных элементов метод 180, 253
метода полудискретные формы
180
Корень характеристического
полинома главный 36, 45
Корневое условие 35, 52
— — сильное 35
Корни характеристического
полинома несущественные 36
побочные 36
посторонние 36, 46
существенные 36, 45, 67
Краевая задача обобщенная 238
с условиями в двух точках
200
Краевые задачи 188
Крапка-Николсона схема 187
Лежандра полиномы 184
Ленточные матрицы 185
Линеаризованные задачи 40, 49, 190.
См. также Линеаризованные
уравнения
— уравнения 203, 212
Линейно неявный метод 147
Линейного многошагового метода
достижимый порядок 37
Линейный многошаговый метод 14—
16, 28
оптимальный 37, 45
Липшица константа 11, 73, 77, 123
большая 118
— условие 11, 33, 48
Лобатто квадратурная формула 279
Логарифмическая норма 221
Локальная погрешность 26, 83
• в точке 55. См. также
Локальная погрешность истинная
Локальная погрешность
дискретизации 29, 51, 53, 54
истинная 113
Локальной погрешности оценка 80
Матье уравнение 201
Мерсона метод оценки погрешности
62
Метод /^-экстраполяции 152
Метода качества оценка ПО, 111
схемы проверки 111—113
— надежность 111
— разумность 111
— эффективность 111
Методы, использующие производную
вторую 149
производные высших порядков
20
Милна оценка погрешности 66, 90
Минимакса вектора невязок метод
247
Многошаговые методы 16, 47, 119,
142
линейно неявные 147
обобщенные 147
общие 27, 51
оценки погрешности 56
явные 16
Модельная жесткая задача 126
Модельные уравнения 40, 122, 129,
153
Моментов метод 247
NAG библиотека 62, 86, 207
Наименьших квадратов метод 181,
247, 251
Наискорейшего спуска метод 205
Невилла алгоритм 103
Невязок вектор 246—247
— минимизации методы 246, 247
Нелинейная связь компонент
решения 157
Неявные методы для жестких задач
123
многошаговые 16
Рунге — Кутты 128—142
Неявных методов Л-устойчивость 139
оптимальный порядок 134—137
Иордсика представление 144, 145.
См. также Нордсика формула
— формула 91
Нормировки решения условия 243—
244
Нумерова метод 186, 189
Ньютона метод 123, 124, 139, 145,
190, 202
306
Предметный указатель
Ньютона метод модифицированный
124, 128, 150, 155
— метода варианты 205
сходимость 232
Обобщенная краевая задача 238
Обобщенные параметры пристрелки
242
Обрешкова метод 20
Оптимальный линейный
многошаговый метод 37, 45
Ортонормирования метод 221—223
Особенности слабые 280
Особые точки дифференциального
уравнения 241
регулярные 241
Оценки качества метода ПО, 111
— локальной погрешности
дискретизации методами вложенными 59,
60
гибридными 59, 64,
65
многошаговые 59, 62—
64
экстраполяцией 59, 60
— погрешности аппроксимации 71,
124, 146
дискретизации 59—65
локальной 80
полной 25
Паде аппроксимация 138
Параметры программы
интегрирования 71
РЕС 18
РЕСЕ 18, 28, 47, 88
Р(ЕС)' 18, 28, 47
Р(ЕС)'Е 18, 28, 47
Пограничного слоя уравнения 201,
239
Погрешности начальные 25
— преобразованные 25
Погрешности ограниченность
заданной точностью (TOL) 113
— оценка для задачи Коша 59-—65,
93, 95
методов разложения 251—
254
— развитие 39
Погрешность абсолютная 72, 112
— апроксимации 23, 51, 71, 82, 83,
157
локальная 29, 39, 51, 55—58,
190
нормированная 29
полная 23, 38, 39, 53, 54
Погрешность локальная 26. См.
также Локальная погрешность
— максимальная ИЗ
— метода полная 23
— округления 26, 39, 41, 75—76
локальная 41
— относительная 72, 112
— полная 38, 39, 41, 49, 51, 83,
112
Полином характеристический 28, 32,
42, 67
Полуявные методы 140
Порядка выбор 96, 108, 109
оптимальный 84, 85
— выбора схема 101
— изменение 92, 146
Порядок аппроксимации 30
— переменный 67, 95, 99, 115
— согласованности 30
Последовательных приближений
метод 152, 194
Предсказанное значение 145
Предсказывающе-исправляющий
метод 17, 28, 88, 89
Предсказывающий метод 17
Прерывные программы
интегрирования 75
Пристрелка многократная 236
— параллельная 210, 219
Пристрелки метод 196—218, 228, 229,
242
параллельной 210
— обобщенные параметры 237
Программа DETEST 113—115
— DIFSUB 144
— IMPEX 153
— ШРЕХ2 155, 156, 159
Продолжения метод 228—244
основанный на возмущении
дифференциального уравнения 231,
236
расширении отрезка
интегрирования 233, 236
— метода сходимость 232—234
— процесс для уравнений с
запаздывающим аргументом 259
Процессы управления 118
Прюфера преобразование 227
Прямоугольников метод 106, 122,136,
153, 155
— модифицированный 107
Прямых метод 185—186
Псевдообратная матрица 208
Разделенные разности 92, 94
— разложения в ряд Тейлора
методы 12, 21, 114
Предметный указатель
307
Разложения методы 244—255
для нелинейных уравнений 254
Рауса — Гурвица критерий 44
Реализация алгоритмов 69—76
— рекуррентных формул 107—108
Регулярная особенность 241
Решения фундаментальные 117, 118,
125
«кратковременные»
нестационарные 125
паразитные 121
существенные 121
Розенброка методов устойчивость
141, 142
— методы 140, 141
Рунге — Кутты методов заданный
порядок точности обеспечивающие
условия 130—134
— неявных оптимальный
порядок 134—137
применение 139
устойчивость 129, 137
явных ограниченность 128—
129
методы для уравнений интегро-
дифференциальных 274, 275
с запаздывающим
аргументом 265
неявные 14, 128—142
полуявные 14, 140
явные 77, 128
Рунге метод 193
Сверхсходимость 185
Связная последовательность шагов 67
Сглаживание приближенного
решения 154
активное 154
пассивное 154, 155
Симметричные методы 106
Симпсона метод 39, 45
обобщенный 276
Сингулярных возмущений теория 161,
168
Слабое приближенное решение 181—
182
Слабые особенности 280
Согласованности метода
определение 30
порядок 30, 51
условие 31
Согласованность метода 30, 35, 46, 51
Сравнение методов 46
для жестких задач 156
Стехиометрические уравнения 165
Стехиометрический вектор 165, 175
Суперпозиции методы 226, 227
Сходимости определение 29
— порядок 51
— условия 29—31
Сходимость 28—31, 35, 36, 51
Сшивания точка 197
Теория электрических цепей 118
Точность предсказанных значений
124
Трапеций метод 47, 119, 122, 143,
152, 153
для уравнений интегродиффе-
ренциальных 271, 272
с запаздывающим
аргументом 264
Уравнение Вольтера интегродиффе-
ренциальное 268
функционально-дифференциальное 269
— с бесконечным запаздыванием 269
Уравнений с запаздывающим
аргументом решения с разрывными
производными 259, 260
Уравнения в частных производных
179—187, 253
— дифференциальные с забеганием
вперед 257
запаздыванием постоянным
258, 261
запаздывающим
аргументом 256, 257
Устойчивости абсолютной интервал
42, 45—47
область 39—44, 119, 273
определение 42
— относительной область 48
— полином 41, 42, 45
— сильной определение 46
Устойчивость 27—48
— абсолютная 42
для жестких задач 119—123
— жесткая 120, 121, 142, 143
— относительная 46, 48
— сильная 44—46
— слабая 107
Л-устойчивость 119, 124, 142
— жесткая 122
— сильная 122
Л (а)-устойчивость 119, 142, 143
— для жестких задач 142, 143
Ло-устойчивость 143
Л (0)-устойчивость 34. См. также
Нуль-устойчивость
L-устойчивость 122
Нуль-устойчивость 31—37, 51
S-устойчивость 122
308
Предметный указатель
Фиксированной хорды метод 163, 172
Характеристический полином 28, 42,
67
Химическая кинетика 118, 126, 160,
165
Химической кинетики уравнения 165,
168
Хойна метод 13, 23, 24
Шаг сетки 11
определяющая функция 83
переменный 67, 99
Шага сетки выбор 44, 108, 125, 146
— оптимальный 83, 84
выбора схема 100
изменение 90, 92
изменения методы 146
максимальная величина 22
Шура критерий 44
Эйлера метод 12, 43, 44, 47, 78, 114,
235
для уравнений интегродиффе-
ренциальных 271—272
с запаздывающим
аргументом 263
Эйлера метод с разностями назад
43, 44, 47, 88
Экспоненциальная подгонка 143, 149
на бесконечности 149
Экспоненциально подогнанный метол
143
Экстраполяции методы 102, 152
для задачи Коши 102—110
краевой 193
Экстраполяция локальная 102—104
— пассивная 155
— рациональная 104—105
— Ричардсона 102—104
Энрайта методы 149
Якоби матрица 21, 40, 44, 49, 54
85, 117, 124, 155, 202
ленточная 125
приближенно вычисленная 95
147, 203
— матрицы вычисление 124, 125
обращение 124
собственные векторы 118
значения 40, 85, 117
структура 161
факторизация 124, 163
ОГЛАВЛЕНИЕ
Предисловие редактора перевода 5
Предисловие 7
ЧАСТЬ 1. ЗАДАЧА КОШ И
Глава 1. Введение в дискретные методы 11
1. Введение И
2. Дискретные методы 12
3. Применение к системам и к уравнениям более высокого порядка 20
4. Источники погрешностей 22
Глава 2. Сходимость и устойчивость 27
1. Введение 27
2. Сходимость 28
3. Нуль-устойчивость 31
4. Достижимый порядок нуль-устойчивых LMM 37
5. Устойчивость при фиксированной величине шага 38
6. Области абсолютной устойчивости 39
7. Сильная устойчивость 44
8. Сравнение методов 46
9. Относительная устойчивость 46
Глава 3. Оценка погрешности для задачи Коши 48
1. Дифференциальная задача 48
2. Разностные аппроксимации 51
3. Форма локальной погрешности дискретизации 55
4. Оценка локальной погрешности дискретизации одношаговых
методов 59
5. Сравнение оценок погрешности для одношаговых методов ... 65
6. Оценка локальной погрешности дискретизации для предсказываю-
ще-исправляющих методов 66
7. Локальная погрешность дискретизации гибридных методов ... 68
Глава 4. Общие вопросы реализации алгоритмов 69
1. Введение * 69
2. Структура простейшей программы интегрирования 69
3. Список параметров простейшей программы интегрирования ... 71
4. Более сложные программы 74
5. Ошибки округления ♦ 75
310 Оглавление
Глава 5. Методы Рунге — Кутты 76
1. Введение 76
2. Вывод конкретных методов 77
3. Методы с оценкой погрешности 80
4. Погрешность аппроксимации 82
5. Оптимальный выбор шага 83
6. Оптимальный выбор порядка 84
7. Оценка качества методов 85
Глава 6. Реализация линейных многошаговых методов ........ 86
1. Введение 86
2. Почему именно методы Адамса? 87
3. Пошаговые алгоритмы 88
4. Форма записи метода, изменение шага, оценка погрешности ... 90
5. Обобщенные алгоритмы 94
6. Переменный порядок, начало интегрирования 95
7. Теория программ с переменным шагом и переменным порядком 99
Глава 7. Методы экстраполяции 102
1. Введение 102
2. Экстраполяция Ричардсона 102
3. Рациональная экстраполяция . . . 104
4. Метод Грэгга — Булирша — Штёра . 106
5. Реализация рекуррентных формул 107
6. Выбор шага 108
Глава 8. Программы проверки и сравнения методов ПО
1. Введение ПО
2. Проверка методов 111
3. Сравнение методов. Программа DETEST 113
4. Заключение 115
ЧАСТЬ 2. ЖЕСТКИЕ ЗАДАЧИ
Глава 9. Введение в теорию жестких задач 117
1. Жесткая задача Коши. Коэффициент жесткости 117
2. Устойчивость для жестких задач 119
3. Неявные методы 123
4. Способы выбора шага 125
5. Иллюстративный пример 126
Глава 10. Неявные методы Рунге —Кутты и родственные им методы . . 129
1. Ограниченность явных методов Рунге —Кутты . . . i . . . 129
2. Условия, обеспечивающие заданный порядок точности методов
Рунге — Кутты 130
3. Оптимальный порядок неявных методов Рунге — Кутты 134
4. Свойства устойчивости 137
5. Применение неявных методов Рунге — Кутты * ... 139
6. Полуявные методы и методы Розенброка 140
Глава 11. Многошаговые методы для жестких задач 142
1. Неявные линейные многошаговые методы 142
2. Формулы дифференцирования назад 143
Оглавление 311
3. Обобщенные многошаговые методы 147
4. Методы, использующие вторую производную 149
Глава 12. Методы экстраполяции для жестких систем. Сравнение методов 151
1. Введение 151
2. Методы экстраполяции для жестких обыкновенных
дифференциальных уравнений 152
3. Сравнение методов для жестких задач 156
Глава 13. Численное интегрирование систем жестких обыкновенных
дифференциальных уравнений специальной структуры 160
1. Введение 160
2. Специальная структура 161
3. Блочное приближенное обращение 163
4. Уравнения химической кинетики 165
5. Свойства систем кинетических реакций 166
6. Быстрые реакции, связанные с большой активностью химических
веществ 167
7. Приложения 169
8. Локальная сходимость метода фиксированной хорды 171
9. Оценка спектрального радиуса и обусловленность матрицы F' . . 173
10. Численные результаты . . . . : 174
Глава 14. Уравнения в частных производных параболического типа ... 179
1. Введение 179
2. Кусочно полиномиальная аппроксимация 180
3. Метод Галёркина 181
4. Сходимость метода Галёркина 183
5. Метод коллокаций 184
6. Метод прямых 185
7. Заключение 186
ЧАСТЬ 3. КРАЕВЫЕ ЗАДАЧИ
Глава 15. Конечно-разностные методы 188
1. Введение 188
2. Основные методы 189
3. Решение алгебраических уравнений 191
4. Экстраполяция 193
5. Метод последовательных приближений 194
Глава 16. Метод пристрелки для краевых задач 196
1. Описание основного метода 196
2. Некоторые примеры краевых задач 200
3. Решение уравнений сшивания 202
4. Методы параллельной пристрелки 210
5. Получение оценок граничных значений при помощи метода
инвариантного погружения 214
Глава 17. Линейные дифференциальные уравнения и дифференциальные
задачи на собственные значения 216
1. Введение 216
2. Методы решения линейных краевых задач 217
3. Линейные дифференциальные задачи на собственные значения . . 225
312 Оглавление
Глава 18. Метод продолжения и обобщенные краевые задачи 228
1. Введение 228
2. Вычисление начальных значений 229
3. Условия сходимости 232
4. Дифференциальные уравнения по параметру / 234
5. Практическое применение 236
6. Обобщенные параметры пристрелки 237
7. Особые точки и асимптотические решения 241
8. Решение методом пристрелки 242
Глава 19. Методы разложения 244
1. Введение 244
2. Линейные задачи 245
3. Метод коллокаций 246
4. Метод минимизации невязок 246
5. Дискретизация; единая трактовка граничных условий 248
6. Пример 249
7. Связь методов между собой 251
8. Оценки погрешности; выбор функций hi 251
9. Обобщения и заключения 254
ЧАСТЬ 4. ФУНКЦИОНАЛЬНО-ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ
Глава 20. Задача Коши для уравнений с запаздывающим аргументом . . 256
1. Введение 256
2. Основные обозначения 257
3. Применение численных методов 260
4. Пошаговые формулы для уравнений с запаздыванием 262
5. Заключительные замечания 267
Глава 21. Задача Коши для интегродифференциальных уравнений Воль-
терра 268
1. Введение 268
2. Численные методы 270
3. Методы первого класса 271
4. Методы второго класса 275
5. Блочные методы 278
6. Решение задач со слабыми особенностями 280
Список литературы 282
Именной указатель 300
Предметный указатель 304
УВАЖАЕМЫЙ ЧИТАТЕЛЬ!
Ваши замечания о содержании книги, ее
оформлении, качестве перевода и другие просим присылать
по адресу: 129820, Москва, И-110, ГСП, 1-й Рижский
пер., д. 2, издательство «Мир».