Текст
                    Н.С.Бахвалов, Н.П.Жидков, Г.М.Кобелъков
ЧИСЛЕННЫЕ МЕТОДЫ

Данная книга представляет собой переработанный вариант учебного пособия «Численные методы» тех же авторов, вышедшего в 1987 году. Добавлен материал, относящийся к решению систем линейных уравнений с плохо обусловленными матрицами, решению задачи Коши для систем жестких обыкновенных дифференциальных уравнений, аппроксимации функций, методу сопряженных градиентов. Видоизменено изложение оптимального линейного итерационного процесса и рассмотрен многосеточный итерационный метод — одни из наиболее применяемых в настоящее время методов решения сеточных краевых задач.
Оглавление Предисловие 7 Введение 8 1 Погрешность результата численного решения задачи 17 § 1. Источники и классификация погрешности............... 17 § 2. Запись чисел в ЭВМ.................................. 21 § 3. Абсолютная и относительная погрешности. Формы записи данных .................................................. 22 §4. О вычислительной погрешности........................ 25 § 5. Погрешность функции................................. 27 § 6. Обратная задача..................................... 32 2 Интерполяция и численное дифференцирование 35 § 1. Постановка задачи приближения функций............... 36 § 2. Интерполяционный многочлен Лагранжа................. 39 § 3. Оценка остаточного члена интерполяционного многочлена Лагранжа................................................. 43 § 4. Разделенные разности и их свойства.................. 43 § 5. Интерполяционная формула Ньютона с разделенными раз- ностями ................................................. 45 § 6. Разделенные разности и интерполирование с кратными уз- лами .................................................... 48 § 7. Уравнения в конечных разностях ..................... 51 § 8. Многочлены Чебышева................................. 58 § 9. Минимизация оценки остаточного члена интерполяционной формулы.................................................. 62 § 10. Конечные разности.................................. 65 § 11. Интерполяционные формулы для таблиц с постоянным ша- гом ..................................................... 68 § 12. Составление таблиц................................. 71 § 13. О погрешности округления при интерполяции.......... 74 § 14. Применения аппарата интерполирования. Обратная интерпо- ляция ................................................... 75 § 15. Численное дифференцирование........................ 76 § 16. О вычислительной погрешности формул численного диффе- ренцирования ............................................ 83 § 17. Рациональная интерполяция.......................... 84
4 Оглавление 3 Численное интегрирование 86 § 1. Простейшие квадратурные формулы. Метод неопределенных коэффициентов............................................. 86 § 2. Оценки погрешности квадратуры........................ 89 § 3. Квадратурные формулы Ньютона—Котеса.................. 94 § 4. Ортогональные многочлены............................. 99 § 5. Квадратурные формулы Гаусса......................... 106 § 6. Практическая оценка погрешности элементарных квадратур- ных формул............................................... 113 § 7. Интегрирование быстро осциллирующих функций......... 116 § 8. Повышение точности интегрирования за счет разбиения от- резка на равные части.................................... 119 §9. О постановках задач оптимизации..................... 124 § 10. Постановка задачи оптимизации квадратур............ 129 § 11. Оптимизация распределения узлов квадратурной формулы 130 § 12. Примеры оптимизации распределения узлов............ 137 § 13. Главный член погрешности........................... 140 § 14. Правило Рунге практической оценки погрешности...... 144 § 15. Уточнение результата интерполяцией более высокого поряд- ка точности ............................................. 148 § 16. Вычисление интегралов в нерегулярном случае........ 150 § 17. Принципы построения стандартных программ с автоматиче- ским выбором шага........................................ 157 4 Приближение функций и смежные вопросы 164 § 1. Наилучшие приближения в линейном нормированном про- странстве ............................................... 164 § 2. Наилучшее приближение в гильбертовом пространстве и во- просы, возникающие при его практическом построении .... 166 § 3. Тригонометрическая интерполяция. Дискретное преобразо- вание Фурье.............................................. 171 § 4. Быстрое преобразование Фурье........................ 175 § 5. Наилучшее равномерное приближение................... 178 § 6. Примеры наилучшего равномерного приближения......... 181 §7. О форме записи многочлена........................... 187 § 8. Интерполяция и приближение сплайнами ............... 191 5 Многомерные задачи 201 § 1. Метод неопределенных коэффициентов.................. 202 §2. Метод наименьших квадратов и регуляризация.......... 203 § 3. Примеры регуляризации............................... 206 §4. Сведение многомерных задач к одномерным............. 212 § 5. Интерполяция функций в треугольнике................. 220 §6. Оценка погрешности численного интегрирования на равно- мерной сетке............................................. 222 § 7. Оценка снизу погрешности численного интегрирования.. 225 § 8. Метод Монте-Карло................................... 232
Оглавление 5 § 9. Обсуждение правомерности использования недетерминиро- ванных методов решения задач............................. 236 § 10. Ускорение сходимости метода Монте-Карло............ 239 §11. О выборе метода решения задачи...................... 243 6 Численные методы алгебры 250 §1. Методы последовательного исключения неизвестных..... 253 § 2. Метод отражений..................................... 262 § 3. Метод простой итерации.............................. 265 §4. Особенности реализации метода простой итерации на ЭВМ 268 § 5. <52-процесс практической оценки погрешности и ускорения сходимости............................................... 271 § 6. Оптимизация скорости сходимости итерационных процессов 275 § 7. Метод Зейделя....................................... 285 § 8. Метод наискорейшего градиентного спуска............. 290 § 9. Метод сопряженных градиентов........................ 294 § 10. Итерационные методы с использованием спектрально-экви- валентных операторов..................................... 300 §11. Погрешность приближенного решения системы уравнений и обусловленность матриц. Регуляризация.................... 304 § 12. Проблема собственных значений...................... 315 § 13. Решение полной проблемы собственных значений при помо- щи QR-алгоритма.......................................... 320 7 Решение систем нелинейных уравнений и задач оптимиза- ции 324 § 1. Метод простой итерации и смежные вопросы............ 326 § 2. Метод Ньютона решения нелинейных уравнений......... 330 § 3. Методы спуска....................................... 336 § 4. Другие методы сведения многомерных задач к задачам меньшей размерности...................................... 341 § 5. Решение стационарных задач путем установления....... 345 §6. Как оптимизировать?................................. 352 8 Численные методы решения задачи Коши для обыкновен- ных дифференциальных уравнений 360 § 1. Решение задачи Коши с помощью формулы Тейлора....... 361 § 2. Методы Рунге—Кутта.................................. 363 § 3. Методы с контролем погрешности на шаге.............. 369 §4. Оценки погрешности одношаговых методов.............. 371 § 5. Конечно-разностные методы........................... 376 § 6. Метод неопределенных коэффициентов.................. 379 § 7. Исследование свойств конечно-разностных методов на мо- дельных задачах ......................................... 383 § 8. Оценка погрешности конечно-разностных методов....... 388 § 9. Особенности интегрирования систем уравнений......... 396 § 10. Методы численного интегрирования уравнений второго по- рядка ................................................... 409
6 Оглавление §11. Оптимизация распределения узлов интегрирования.... 412 9 Численные методы решения краевых задач для обыкновен- ных дифференциальных уравнений 417 § 1. Простейшие методы решения краевой задачи для уравнений второго порядка........................................ 417 §2. Функция Грина сеточной краевой задачи.............. 423 § 3. Решение простейшей краевой сеточной задачи......... 428 § 4. Замыкания вычислительных алгоритмов ............... 436 § 5. Обсуждение постановок краевых задач для линейных си- стем первого порядка................................ 444 § 6. Алгоритмы решения краевых задач для систем уравнений первого порядка........................................ 449 § 7. Нелинейные краевые задачи.......................... 455 § 8. Аппроксимации специального типа.................... 461 § 9. Конечно-разностные методы отыскания собственных значе- ний ................................................... 473 § 10. Построение численных методов с помощью вариационных принципов.............................................. 476 §11. Улучшение сходимости вариационных методов в нерегуляр- ном случае............................................. 485 § 12. Влияние вычислительной погрешности в зависимости от формы записи конечно-разностного уравнения.......... 488 10 Методы решения уравнений в частных производных 495 §1. Основные понятия теории метода сеток............... 497 § 2. Аппроксимация простейших гиперболических задач.... 505 § 3. Принцип замороженных коэффициентов ................ 521 § 4. Численное решение нелинейных задач с разрывными реше- ниями ................................................. 524 § 5. Разностные схемы для одномерного параболического урав- нения ................................................. 528 § 6. Разностная аппроксимация эллиптических уравнений.. 543 § 7. Решение параболических уравнений с несколькими про- странственными переменными............................. 566 § 8. Методы решения сеточных эллиптических уравнений... 580 11 Численные методы решения интегральных уравнений 599 § 1. Решение интегральных уравнений методом замены интегра- ла квадратурной суммой................................. 599 § 2. Решение интегральных уравнений с помощью замены ядра на вырожденное......................................... 604 § 3. Интегральные уравнения Фредгольма первого рода.... 608 Заключение •* 617 Список литературы 622 Предметный указатель 627
Предисловие Первый вариант этой книги вышел в свет около тридцати лет назад, когда численные методы и их приложения переживали бурный рост, а специалисты в области численных методов были весьма уважаемы в об- ществе. «Вычислители» старшего поколения, многие из которых, как и Нико- лай Петрович Жидков, уже ушли из жизни, внесли неоценимый вклад в развитие научного и промышленного потенциала нашей страны, в раз- витие ее обороноспособности. В связи с общедоступностью вычислительной техники настоящее вре- мя характерно снижением интеллектуального уровня задач, требующих внимания математиков, в частности специалистов в области численных методов. Однако мы сохранили общий теоретический настрой книги, исходя из следующих соображений. Теория численных методов, однажды возникнув, развивается по своим внутренним законам так же, как и другие фундаментальные разделы математики. Специалисты в области теории численных методов и практики их применения будут неминуемо востребованы в процессе развития промы- шленности и науки. Снижение общей математической образованности и общедоступность вычислительной техники делают необходимым создание комплексов про- грамм, допускающих их использование исследователями невысокой мате- матической квалификации. Разработка таких комплексов невозможна без дальнейшего развития теории численных методов. Авторы признательны О. Б. Арушаняну, С. Ф. Залеткину, В. И. Лебе- деву и Е. В. Чижонкову за ряд полезных замечаний, а также Н. П. Ва- лединской, и особенно С. Г. Кобелькову и В. М. Староверову за большую помощь в оформлении оригинал-макета книги.
Введение Попытаемся определить место теории численных методов в системе дру- гих областей знаний и рассказать о проблемах, возникающих в связи с ее применением, прежде чем переходить к непосредственному ее изло- жению. Математика как наука возникла в связи с необходимостью решения практических задач: измерений на местности, навигации и т. д. Вслед- ствие этого математика была численной математикой, ее целью являлось получение решения в виде числа. Численное решение прикладных задач всегда интересовало математи- ков. Крупнейшие представители прошлого сочетали в своих исследовани- ях изучение явлений природы, получение их математического описания, как иногда говорят, математической модели явления, и его исследова- ние. Анализ усложненных моделей потребовал создания специальных, как правило численных или асимптотических методов решения задач. Назва- ния некоторых из таких методов — методы Ньютона, Эйлера, Лобачевско- го, Гаусса, Чебышева, Эрмита, Крылова — свидетельствуют о том, что их разработкой занимались крупнейшие ученые своего времени. Настоящее время характерно резким расширением приложений мате- матики, во многом связанным с созданием и развитием средств вычи- слительной техники. В результате появления ЭВМ (электронно-вычисли- тельных машин или, как часто говорят, компьютеров) с программным управлением менее чем за пятьдесят лет скорость выполнения арифме- тических операций возросла от 0,1 операции в секунду при ручном сче- те до 1012 операций на современных серийных ЭВМ, т. е. примерно в 1013 раз. Рост возможностей в связи с созданием вычислительной техники но- сит качественный характер и иногда сравнивается с промышленной рево- люцией, вызванной изобретением паровой машины. Уместно вспомнить, что в итоге промышленной революции и последующего на протяжении двух веков развития науки и техники скорость передвижения возросла от скорости пешехода 6 км/ч до скорости космонавта 30000 км/ч, те. в 5 000 раз. Распространенное мнение о всемогуществе современных ЭВМ часто порождает впечатление, что математики избавились почти от всех хло- пот, связанных с численным решением задач, и разработка новых мето- дов для их решения уже не столь существенна. В действительности де- ло обстоит иначе, поскольку потребности эволюции, как правило, ставят
Введение ® перед наукой задачи, находящиеся на грани ее возможностей. Расши- рение возможностей приложения математики обусловило математизацию химии, экономики, биологии, геологии, географии, психологии, экологии, метеорологии, медицины, конкретных разделов техники и др. Суть ма- тематизации состоит в построении математических моделей процессов и явлений и в разработке методов их исследования. В физике или механике, например, построение математических моде- лей для описания различных явлений и изучение этих моделей с целью объяснения старых или предсказания новых эффектов являются тради- ционными. Однако в целом работа в этом направлении зачастую продвигалась относительно медленно, поскольку обычно не удавалось получить реше- ние возникающих математических задач и приходилось ограничиваться рассмотрением простейших моделей. Применение ЭВМ и расширение ма- тематического образования резко увеличило возможности построения и исследования математических моделей. Все чаще результаты расчетов по- зволяют обнаруживать и предсказывать ранее никогда не наблюдавшиеся явления; это дает основания говорить о математическом эксперименте. В некоторых исследованиях доверие к результатам численных расчетов так велико, что при расхождении между результатами расчетов и экс- периментов в первую очередь ищут погрешность в результатах экспери- ментов. Современные успехи в решении таких, например, проблем как атом- ные и космические вряд ли были бы возможны без применения ЭВМ и численных методов. Требование численного решения новых задач привело к появлению большого количества новых методов. Наряду с этим последние полвека происходило интенсивное теоретическое переосмысливание и старых ме- тодов, а также систематизация всех методов. Эти теоретические иссле- дования оказывают большую помощь при решении конкретных задач и играют существенную роль в наблюдаемом сейчас широком распростра- нении сферы приложений ЭВМ и математики вообще. Как уже отмечалось, с помощью современных ЭВМ удалось успешно решить ряд важных научно-технических задач. У непосвященного чело- века может возникнуть превратное впечатление, что успехи в применении ЭВМ обусловлены только повышением их быстродействия. Реально дело обстоит иначе и сложнее. Правильнее будет сказать, что достижения в области использования ЭВМ обусловлены сочетанием ряда существенных факторов, без пропор- ционального развития которых они были бы много скромнее: 1) увеличение быстродействия ЭВМ, расширение памяти, совершен- ствование структуры ЭВМ, неуклонное снижение стоимости арифмети- ческой операции и единицы памяти; 2) разработка программных средств общения с ЭВМ, включающая со- здание операционных систем, языков программирования, библиотек и па-
10 Введение кетов стандартных программ, снижение требований (в случае персональ- ных ЭВМ) к математической и программистской культуре: 3) рост понимания процессов и явлений науки, техники, природы и общества и создание их математических моделей; 4) совершенствование методов решения традиционных математических и прикладных задач и создание методов решения новых задач; 5) рост понимания возможностей применения ЭВМ среди широких слоев общества; распространение так называемой компьютерной грамот- ности; координация усилий специалистов разного профиля по использо- ванию вычислительной техники. Достижения, перечисленные в пп. 3), 5), позволяют ответить на во- прос, какие задачи следует решать с помощью ЭВМ, и организовать их решение, в пп. 2), 4)—как их решать, и в пп. 1), 2) — дают для этого технические и программные средства. Просмотр методов решения сложных прикладных задач показывает, что, как правило, эффект, достигаемый за счет совершенствования чи- сленных методов, по порядку сравним с эффектом, достигаемым за счет повышения производительности ЭВМ. Трудно сформулировать критерий, по которому можно было бы оценивать эффект применения новых чи- сленных методов, и еще труднее дать его достоверную количественную оценку. Все же, если сказать, что эффект от применения новых числен- ных методов (при измерении эффекта в логарифмической шкале) при ре- шении прикладных естественнонаучных задач дает 40% общего эффекта, достигаемого за счет применения новой вычислительной техники и новых численных методов, то эта оценка не будет завышенной. Рассмотрим пример, иллюстрирующий это утверждение. Решение диф- ференциальных уравнений в частных производных сводится к решению систем линейных алгебраических уравнений с матрицей, в каждой стро- ке которой имеется 5 10 ненулевых элементов. Накануне появления ЭВМ такие системы уравнений решали в случае числа неизвестных порядка 10 —102; сейчас нередки случаи, когда решаются системы с числом неиз- вестных порядка 105-106. В гипотетическом случае решения этих задач на современных ЭВМ методами, известными тридцать лет назад, при- шлось бы ограничиться системами уравнений с числом неизвестных по- рядка 103—104 (при тех же затратах времени ЭВМ). Конечность скорости распространения сигнала — 300 000 км/с —ставит уже сейчас существен- ное ограничение на возможный рост быстродействия однопроцессорных ЭВМ, поэтому значение дальнейшего развития теории численных методов трудно переоценить. В частности, становится все более актуальной про- блема разработки численных методов и программных средств для мно- гопроцессорных ЭВМ. Быстрое проникновение математики во многие области знания, в част- ности, объясняется тем, что математические модели и методы их иссле- дования применимы сразу ко многим явлениям, сходным по своей фор- мальной структуре. Часто математическая модель, описывающая какое-
В ведение И либо явление, появляется при изучении других явлений или при аб- страктных математических построениях задолго до конкретного рассмо- трения данного явления. В частности, и в теории численных методов, так же как в «чистой» математике, полезна разработка общих построе- ний. Однако есть разница в подходе «чистого» и «прикладного» матема- тика к решению какой-либо проблемы. На языке первого понятие «ре- шить задачу» означает доказать существование решения и предложить процесс, сходящийся к решению. Сами по себе эти результаты полезны для прикладника, но, кроме этого, ему нужно, чтобы процесс получе- ния приближения не требовал больших затрат, например времени или памяти ЭВМ. Ему важно не только то, что процесс сходится, но и то, как быстро он сходится. При численном решении задач возникают так- же новые вопросы, связанные с устойчивостью результата относительно возмущений исходных данных и округлений при вычислениях. Наряду с теорией численных методов период бурного развития пере- живает и ряд других разделов математики, непосредственно обязанных ЭВМ своим возникновением. Применение численных методов и ЭВМ к решению естественнонаучных задач оказывает влияние и на традицион- ные разделы математики. Математика возникла и развивается как часть естествознания, и дол- гое время ее развитие существенным образом определялось потребностя- ми физики и механики. Требование математизации новых разделов нау- ки неизбежно приводит к обратному влиянию этих разделов на развитие математики и должно существенно изменить лицо самой математики. Развитие как теоретических, так и прикладных разделов математики в конечном счете определяется потребностями общества и его материаль- ным вкладом в развитие науки, в частности в образование. Несколько десятилетий назад отношение вложений в науку к общим вложениям в народное хозяйство составляло доли процента. Сейчас в индустриально развитых странах это отношение настолько велико, что его дальнейший существенный рост невозможен. Поэтому происходит перераспределение вложений в различные направления науки. Это обуславливает еще один канал влияния прикладной стороны математики на развитие ее теоре- тических разделов. Прикладные исследования имеют непосредственную отдачу; это усиливает доверие общества к математике, расширяет пони- мание ее проблем и как следствие способствует увеличению вложения средств с целью ее развития. При реальной работе в области приложений математики возникает большое количество осложнений самого различного, зачастую нематема- тического характера. Хотя трудно надеяться, что какие-либо теоретические нравоучения мо- гут заменить собственный опыт работы, попытаемся обратить внимание на некоторые вопросы общего характера, важные для работы в области приложений математики. Проводимая ниже систематизация этих вопро- сов является довольно случайной, условной; по-видимому, можно предло-
12 Введение жить еще добрый десяток подобных классификаций, имеющих не мень- шее право на существование. 1. Первостепенное значение имеет выбор направления исследования. Сво- бода выбора обычно довольно невелика, так как основные контуры на- правления исследования обычно задаются «извне». При выборе направления исследования в пределах имеющихся воз- можностей полезно иметь в виду следующее «правило трех частей», по своему внешнему виду похожее на шутку. Проблемы делятся на: I — легкие, II — трудные, III — очень трудные. Проблемами I заниматься не стоит, они будут решены в ходе событий и без вашего вмешательства, проблемы III вряд ли удастся решить в настоящее время, поэтому стоит обратиться к проблемам II. 2. Нужно уметь сформулировать на языке математики конкретные за- дачи физики, механики, экономики, инженерные задачи и т. д., т. е. по- строить математическую модель рассматриваемого явления. В теоретической науке исследователь, умеющий правильно формули- ровать, как говорят, ставить новые задачи, как правило ценится выше, чем исследователь, умеющий решать кем-то поставленные задачи. Еще более возрастает роль таких ученых в прикладной науке. Начинающий работу математик часто жалуется на трудности контак- тов с представителями других наук, которые «даже» не могут сформули- ровать стоящих перед ними задач. Правильное формулирование задачи — это научная проблема, не менее сложная, чем само решение задачи, и не нужно надеяться, что кто-то другой целиком сделает это за вас. При постановке проблемы первостепенное внимание должно быть уделено вы- яснению цели исследования; принимаемая математическая модель явле- ния не есть что-то однозначное, раз навсегда связанное с этим явлением, а зависит от цели исследования. Прежде чем выписывать дифференци- альные уравнения, выбирать метод решения и обращаться к ЭВМ, стоит подумать, а не будут ли бесполезны все результаты вычислений? В то же время надо воспринимать как должное, что большая часть результатов вычислений будет выброшена сразу же после их получения. Дело в том, что производимая работа зачастую носит исследовательский характер и трудно заранее предсказать, что и в какой форме следует получить, на каком пути нужно искать численное решение задачи. Цель исследования и описание проблемы обычно уточняются в процессе контактов предста- вителей конкретных наук или руководства организаций (заказчиков) и математиков (исследователей или исполнителей). 3. Успех в прикладной науке требует широкой математической подготов- ки, поскольку только такая подготовка может обеспечить приспособляе- мость к непрерывно меняющимся типам задач, предъявляемых к реше- нию. Одной из причин необходимости изучения на первый взгляд «беспо- лезных» для практики разделов математики является достижение более
Введение 13 уверенного и более свободного владения «нужными» разделами матема- тики. При построении и анализе математических моделей привычка мате- матика «докапываться до конца», подвергать все сомнению, обусловлен- ная его строгим математическим образованием, часто не менее важна, чем интуиция и соображения здравого смысла. Типичное для человека с математическим образованием стремление к общности охвата различных явлений часто помогает выделить наиболее существенные черты явления и отбросить второстепенные. 4. Не следует думать, что совершенное знание математики, численных методов и навыки работы с ЭВМ позволяют сразу решить любую при- кладную математическую задачу. Во многих случаях требуется «довод- ка» методов, приспособление их к решению конкретных задач. При этом типична обстановка, когда используются методы, применение которых те- оретически не обосновано, или теоретические оценки погрешности чи- сленного метода неприемлемы для практического использования вслед- ствие их громоздкости; при выборе метода решения задачи и анализе результатов приходится полагаться на опыт предшествующего решения задач, на интуицию и сравнение с экспериментом и при этом приходит- ся отвечать за достоверность результата. Поэтому для успеха в рабо- те необходимы развитое неформальное мышление, умение рассуждать по аналогии, дающие основания ручаться за достоверность результата там, где с позиций логики и математики, вообще говоря, ручаться нельзя. В рассматриваемом вопросе есть и другая сторона. При численном ре- шении конкретных трудных задач, возникающих в других областях зна- ний, математик действует как естествоиспытатель, полагаясь во многом лишь на опыт и «правдоподобные» рассуждения. Крайне желательно, чтобы такая эмпирическая работа подкреплялась теоретическими разра- ботками методов, аккуратной проверкой качества методов на контроль- ных задачах с известным решением или частным сравнением с экспери- ментом. При длительном продвижении в каком-то направлении без та- кого подкрепления может теряться перспектива работы, уверенность в правильности получаемых результатов. Известное высказывание, что хо- роший теоретик может истолковать в желаемом направлении любые ре- зультаты как расчетов, так и эксперимента, содержит большую долю ис- тины. 5. После завершения расчетов наступает этап использования результатов вычислений в практической деятельности, или, как часто говорят, этап внедрения результатов. Правильнее будет сказать, что подготовка к ис- пользованию результатов начинается уже с анализа постановки задачи и в процессе ее решения и, по существу, все моменты решения задачи и внедрения результатов неразрывно связаны между собой; в процес- се формулирования задачи и ее решения заказчик и исполнитель вза- имно уточняют постановку задачи и тем самым подготавливают почву
14 Введение для приложения полученных результатов. Поскольку математика в соче- тании с ЭВМ используется в самых разнообразных областях, то часто приходится иметь дело с заказчиками, не имеющими опыта применения ЭВМ. В процессе контакта с такими «начинающими» заказчиками осо- бенно важно преодолеть их первоначальное недоверие к вторжению ма- тематики в их области исследования; результаты вычислений будут ис- пользоваться только тогда, когда заказчик осмыслит их со своих позиций и убедится в том, что их действительно можно и нужно использовать. При правильном подходе к взаимным контактам к концу процесса реше- ния задачи «начинающий» заказчик приходит к пониманию, что ЭВМ и математика могут дать ему не все, но довольно много, а «начинаю- щий» математик —к пониманию того, что он дает заказчику кое-что, но далеко не все нужное для реального решения задачи. Большое значение имеет наглядность, доступность представления за- казчику промежуточных и окончательных результатов исследования: та- блицы, графики, вывод информации на экран: нельзя предполагать на- личия или требовать от заказчика большего объема знаний, чем это тре- буется существом дела. Целесообразнее, чтобы биолог использовал свое умение дифференцировать для построения и исследования математиче- ской модели, а не для оценки погрешности метода численного интегри- рования. Математик должен принять во внимание образование и психологию людей, применяющих разработанные им методы и программы. Например, простейшая программа численного интегрирования, предназначенная для широкого круга нематематиков, использующих ЭВМ в своих конкретных исследованиях, должна быть рассчитана на человека, потолок математи- ческих знаний которого находится на интуитивном понимании того, что интеграл —это площадь. Чтобы не затруднять пользователя, в описании простейших программ даже ничего не говорится о точности результата. Предполагается, что пользователя удовлетворит невысокая точность ре- зультата, и программа реализуется, например, так, чтобы в большинстве случаев относительная погрешность результата не превосходила 1% (так называемая графическая точность). 6. Существенным моментом в прикладной работе является необходи- мость получения результатов в установленный срок. Заказчик, для кото- рого проводятся исследования, расчеты, часто ограничен сроком заверше- ния исследований и принятия решения на их основе. Если исследования не будут завершены к сроку, то решение все равно будет принято, но на основе более грубого, эмпирического или просто «волевого» подхода. Потерянное в таком случае доверие со стороны заказчика часто бывает невозможно восстановить. В такой ситуации лучше найти по возможности удовлетворительное решение задачи, но в срок, чем получить полное решение задачи к то- му времени, когда оно станет бесполезным. Поэтому, в частности, целесо-
Введение 15 образно начинать исследование новых задач с рассмотрения простейших моделей, применяя при численном решении испытанные методы. 7. Также существенным моментом в прикладной работе является то об- стоятельство, что работа, как правило, проводится коллективом. Одна из причин этого состоит в том, что построение математической моде- ли, выбор метода решения, непосредственное общение с ЭВМ и анализ результатов требуют различных знаний и квалификации. Другая причи- на кроется в упомянутой уже необходимости решения задачи в устано- вленный срок. Это требование приводит к необходимости распараллели- вания даже однотипной работы между большим числом исполнителей, например путем независимого написания различных блоков программы отдельными исполнителями. Параллельно могут идти отработка различ- ных методов на модельных задачах, обсчет упрощенных моделей, под- готовительная работа по написанию окончательной программы решения задачи. Можно привести много реальных примеров неудачного решения боль- ших вычислительных задач и работ по созданию программного обеспе- чения, вызванных следующей причиной. Распределение обязанностей ме- жду исполнителями не было в достаточной степени формализовано, т. е. не было выдано однозначного описания окончательного результата рабо- ты каждого исполнителя. В результате или основная доля времени ухо- дила на непрерывное согласование отдельных частей работы, или после истечения существенного промежутка времени оказывалось, что эти ча- сти работы не стыкуются. Поэтому организаторские способности ученого, осуществляющего общее руководство решением задачи, зачастую не ме- нее важны, чем его математические способности. Приведенные выше рассуждения в определенной степени иллюстриру- ют специфику работы в области прикладной математики и показывают, что специалисты в этой области кроме широкой математической эруди- ции должны обладать также другими важными свойствами человеческо- го интеллекта и характера.

....... Глава 1 ^============== Погрешность результата численного решения задачи В этой главе объясняются источники возникновения погрешности реше- ния задачи, даются основные правила задания приближенных величин и оценивается погрешность как простейших, так и более сложных функ- ций от приближенно заданных величин. В дальнейшем конкретные оценки этой главы по существу не исполь- зуются, но сам разговор о них необходим для понимания реальной об- становки, в которой используются рассматриваемые в книге методы ре- шения задач. § 1. Источники и классификация погрешности Погрешность решения задачи обуславливается следующими причинами: 1) математическое описание задачи является неточным, в частности неточно заданы исходные данные описания; 2) применяемый для решения метод часто не является точным: по- лучение точного решения возникающей математической задачи требует неограниченного или неприемлемо большого числа арифметических опе- раций; поэтому вместо точного решения задачи приходится прибегать к приближенному; 3) при вводе данных в машину, при выполнении арифметических опе- раций и при выводе данных производятся округления. Погрешности, соответствующие этим причинам, называют: 1) неустранимой погрешностью, 2) погрешностью метода, 3) вычислительной погрешностью. Часто неустранимую погрешность подразделяют на две части: а) неустранимой погрешностью называют лишь погрешность, явля- ющуюся следствием неточности задания числовых данных, входящих в математическое описание задачи; б) погрешность, являющуюся следствием несоответствия математиче- ского описания задачи реальности, называют, соответственно, погрешно- стью математической модели.
18 Глава 1. Погрешность результата численного решения задачи Дадим иллюстрацию этих определений. Пусть у нас имеется маятник (рис. 1.1.1)1), начинающий движение в момент t — t0. Требуется предска- зать угол отклонения ip от вертикали в момент И- Дифференциальное уравнение, описывающее колебание этого маятни- ка, берется в виде , dip +9^ip + р.~- = 0, (1) dtp at где I — длина маятника, д -ускорение силы тяжести, //—коэффициент трения. Как только принимается такое описание задачи, решение уже при- обретает неустранимую погрешность, в частности, потому, что реальное трение зависит от скорости не совсем линей- < но; другой источник неустранимой погрешно- сти состоит в погрешностях определения Z, д, <Р \ р,pp(t0), (р'(1д). Название этой погрешности — \ «неустранимая» — соответствует ее существу: она \ I неконтролируема в процессе численного решения \ задачи и может уменьшиться только за счет бо- \ лее точного описания физической задачи и бо- \ лес точного определения параметров. Диффереп- циальное уравнение (1) не решается в явном ви- —де; для его решения требуется применить какой- Рис. 1.1.1 либо численный метод. Вследствие этой причины и возникает погрешность метода. Вычислительная погрешность может возникнуть, например, из-за ко- нечности количества разрядов чисел, участвующих в вычислениях. Введем формальные определения. Пусть 1 — точное значение отыскиваемого параметра (в данном слу- чае—реальный угол отклонения маятника ip в момент времени ij, I значение этого параметра, соответствующее принятому математическо- му описанию (в данном случае значение <ДД) решения уравнения (1)), 1д — решение задачи, получаемое при реализации численного метода в предположении отсутствия округлений, — приближение к решению за- дачи, получаемое при реальных вычислениях. Тогда Pl = I — I — неустранимая погрешность, Р2 = Ih ~~ I ~ ’ погрешность метода, (2) рз = — 1н — вычислительная погрешность. Тройная нумерация рисунков и формул указывает главу* параграф, номер формулы или рисунка; двойная, применяемая только для формул, — параграф и номер (в данной главе); одинарная, применяемая также только для формул,—только номер (в данном па- раграфе).
§ 1. Источники и классификация погрешности 19 Полная погрешность р0 = Г^- I, равная разности между реально полу- чаемым и точным решениями задачи, удовлетворяет равенству РО=Р1+Р2+РЗ- (3) Во многих случаях под термином погрешность того или иного вида понимают не рассмотренные выше разности между приближениями, а некоторые меры близости между ними. Например, в скалярном случае полагают p0 = |//:-i|, pi = |i-/|, Р2 = |л-/|, p.3 = |i/:-a при таких обозначениях вместо (3) получаем Ро Pi +Р2 + Рз- (4) В других случаях решение I и приближения I, I/,, оказываются элемен- тами некоторых функциональных пространств, часто различных. Например, I может быть элементом пространства F непрерывных на [0, 1] функций, а Ih ~ элементом пространства Fft сеточных функций Д, определенных в точках хп = nh, 71 = 0, 1,, Л-1; Л-1 —целое. Тогда в качестве меры погрешности вводят некоторую меру близости p(zi, д>), где Z\ и z2 могут быть элементами как одного, так и различных пространств. Требования на эту меру близости — возможность принять ее за естественную меру погрешности и выполнение не- равенства треугольника ?(*i, *з) p(zr, z2) + p(z2, z3) (5) при любых zi, z2, z3 e F, F]t. При этом не накладывается условие: если p(^i, z2) — 0, то z\ = z2\ таким образом, функция p(z\, z2) не обязательно является расстоянием в некотором метрическом пространстве. Например, можно положить p(h, /2) = max |fi(7i/i) - f2(nh)\ независимо от того, каким пространствам принадлежат Д и f2. Может возникнуть такой вопрос по поводу проблемы исследования не- устранимой погрешности: зачем изучать неустранимую погрешность ре- шения задачи, если она «неустранима» ? По крайней мере такая точка зрения кажется оправданной, если математик получает для численного решения задачи уже готовые уравнения, не участвуя в обсуждении фи- зической постановки задачи. Это возражение нельзя признать разумным. Часто математик сам за- нимается исследованием постановки задачи, анализом и упрощением рас- сматриваемых уравнений. Поскольку все явления в природе взаимосвя- заны, в принципе невозможно математически точно описать никакой ре- альный процесс, происходящий в природе. Однако анализ влияния раз- личных факторов на погрешность решения может позволить получить
20 Глава 1. Погрешность результата численного решения задачи простейшее описание процесса с допустимой погрешностью. Обычно ма- тематик имеет представление о требуемой окончательной точности ре- зультата, и, исходя из этого, он может производить необходимые упро- щения исходной задачи. Если математик не участвует в обсуждении физической постанов- ки задачи, то представление о величине неустранимой погрешности ему все равно необходимо по следующей причине. При решении большин- ства задач нет особого смысла применять метод решения задачи с по- грешностью, существенно меньшей, чем величина неустранимой погреш- ности. Поэтому, имея представление о величине неустранимой погрешно- сти, можно разумно сформулировать требования к точности результата численного решения задачи. Непомерные требования заказчика к точности результата часто вы- званы тем, что он имеет преувеличенные представления о возможностях ЭВМ и поэтому серьезно не продумывает, что все-таки ему нужно. Такие требования часто снимаются в процессе обсуждения задачи на основе следующих соображений: 1) при более детальном подходе к изучению задачи в целом оказыва- ется, что столь высокая точность и не нужна; 2а) математическая модель явления настолько груба, что требовать столь высокую точность бессмысленно; 26) параметры модели не могут быть определены с высокой точно- стью; 3) заказчику нужен вообще не количественный, а качественный ре- зультат, например такого типа: будет ли работать данное устройство в заданном режиме или нет. Разберем некоторые встретившиеся нам реальные задачи. К решению бы- ла предъявлена система интегральных уравнений с сильно осциллирующими ядрами с числом перемен у ядер порядка А-1 — N = 106. Требовалось полу- чить решение с относительной погрешностью (определение см. далее) порядка 10~6. Эта система описывала режим работы некоторого оптического устрой- ства. Решение такой системы интегральных уравнений непомерно сложно даже для современных ЭВМ, поэтому был предпринят ее подробный анализ. Оказа- лось, что относительные погрешности характеристик системы, обусловленные технологией изготовления устройства, являются величинами порядка 10~4, по- этому нет смысла решать задачу со столь высокой точностью, как требовалось вначале. В результате требования к точности искомого решения были снижены до относительной погрешности 10~4. Однако и такая точность все равно еще требовала непомерных затрат машинного времени. Дальнейший анализ задачи показал, что по существу заказчика интересовал ответ только на один вопрос — будет ли данное устройство устойчиво функци- онировать или нет? Естественно было предположить две возможности: 1) при малых значениях параметра А = 1/N решение плавно зависит от этого
§ 2. Запись чисел в ЭВМ 21 параметра, поэтому при А, меньших достаточно малого Ао, система будет ра- ботать в одном режиме — или всегда устойчиво, или всегда неустойчиво; 2) при малых значениях А решение существенно меняется при изменении этого параметра, и интервалы значений параметра А, где режим работы устойчив, перемежаются с интервалами значений, где режим работы неустойчив. В связи с этим были предприняты расчеты при довольно крупном значении А = 1/10 с последующим уменьшением значений А с тем, чтобы понять, какая из двух указанных выше возможностей реализуется. Расчеты показывали, что при изменении А в пределах от 10-1 до 10“~ имел место устойчивый режим работы устройства и был сделан вывод (подтвер- жденный потом экспериментально, после конструирования реального устрой- ства) об устойчивости его работы при А — 10-6. В случае второй возможности, вследствие грубости изготовления устройства, вряд ли удалось бы вообще ис- следовать вопрос об устойчивости его работы при А = 10“6. Другой, на первый взгляд выглядящий курьезным, но на самом деле весьма типичный пример реальной ситуации. Перед математиками была поставлена задача создания алгоритма и программы быстрого (менее чем за 1 с машинного времени) вычисления интегралов специального вида с относительной погреш- ностью 1()’4. Эта задача была ими успешно решена, т. е. был разработан метод вычисления таких интегралов и на его основе создана стандартная програм- ма. В свою очередь исследователи, поставившие задачу, не скупясь на затраты машинного времени, для проверки качества предложенного математиками ме- тода и надежности программы сами вычислили приближенно один из таких интегралов с относительной погрешностью, по их мнению, 1() 6. Но оказалось, что все попытки решить эту, так называемую тестовую задачу с погреш- ностью, лучшей, чем 10~2, с помощью созданной математиками программы оканчивались неудачей. Возникло предположение о погрешности в самой те- стовой задаче. Оказалось, что число л было взято равным 3,14, что вносило в тестовый пример неустранимую погрешность, которая, естественно, не мо- гла быть устранена никакими усилиями математиков, создававших алгоритм и программу. § 2. Запись чисел в ЭВМ Современные ЭВМ оперируют с числами, записанными в одной из при- веденных ниже форм. Первая форма записи — с фиксированной запятой: все числа в ЭВМ имеют модуль, меньший 1; число знаков после запятой фиксировано. Та- ким образом, машина оперирует с числами t х = ± = ±(«i, at); (1) fc=i здесь q — целое — основание системы счисления, «1, ..., at — целые в пре- делах 0 сц- < q.
22 Глава 1. Погрешность результата численного решения задачи При операциях над числами х с |ж| < 1 могут появляться числа у с |т/| 1, и тогда произойдет остановка работы ЭВМ («машинный останов» или «АВОСТ»). Чтобы избежать этого, производится масштабирование задачи — введение новых масштабов. Иногда заранее нельзя указать нуж- ные масштабы; в других случаях введение очень больших масштабов с самого начала приведет к тому, что в исходных данных большое количе- ство первых из cti обратится в нуль и произойдет существенная потеря информации. Поэтому часто предусматривают изменение масштабов уже в процессе решения задачи. Вторая форма записи, наиболее распространенная в ЭВМ, предназна- ченных для научных расчетов, — с плавающей запятой: машина опериру- ет с числами t x = ±qp^akq~k = ±qp(a!, at); (2) fc=i порядок числа p удовлетворяет неравенству |р| р$. Наиболее распространен случай двоичной системы счисления, когда q = 2. При работе в режиме с плавающей запятой пользователь получает до- полнительные удобства, так как не надо заботиться о масштабах; однако при этом происходит некоторое замедление работы ЭВМ. § 3. Абсолютная и относительная погрешности. Формы записи данных Если а — точное значение некоторой величины, а а* — известное прибли- жение к нему, то абсолютной погрешностью приближенного значения а* называют обычно некоторую величину А (а*), про которую известно, что |а* — Д(а*). Относительной погрешностью приближенного значения называют не- которую величину <5(а*), про которую известно, что а* — а а* < 6(а*). Относительную погрешность часто выражают в процентах. Если а —известное число, например тг, то иногда говорят об абсолютной А (а) и относительной <5(а) погрешностях задания этот® числа: числа Д(а) и <5(а) называют соответственно абсолютной и относительной погрешностью числа а, если про них известно, что |а* — а| Д(а), ----— 6(a).
§ 3. Абсолютная и относительная погрешности 23 Иногда в литературе абсолютной погрешностью называют величину а* — а, а а* — а делений, и поэтому у нас всегда 0 $ А (а*), <5 (а*). По ходу изложения материала будут употребляться выражения: боль- шое число, очень большое число, сильный рост функции. Чаще всего число х мы называем большим, если |ж| 5> 1, но относи- тельная погрешность результата решения задачи порядка |.т|2~/ является допустимой. Если относительная погрешность порядка |ч.'|2 Л является недопустимо большой, то число х называем очень большим.. Выражение функция сильно растет чаще всего означает, что она воз- растает в очень большое число раз. Значащими цифрами числа называют все цифры в его записи, начи- ная с первой ненулевой слева. Пример. У чисел а* = 0.03045, а* — 0,03045000 значащими цифрами являются подчеркнутые цифры. Число значащих цифр в первом случае равно 4. во втором — 7. Значащую цифру называют верной, если абсолютная погрешность чи- сла не превосходит единицы разряда, соответствующего этой цифре. Примеры, о* = 0,03045, Д(а*) = 0,000003; а* = 0,03045000. Д(а*) = 0,0000007; подчеркнутые цифры являются верными. Иногда уславливаются называть значащую цифру верной, если абсолютная погрешность не превосходит половины единиц разряда, соответствующих этой цифре. Если все значащие цифры верные, то говорят, что число записано со всеми верными цифрами. Пример. При а* = 0,03045, Д(а*) = 0,000003 число а* записано со всеми верными цифрами. Иногда употребляется термин число верных цифр после запятой-, под- считывается число цифр после запятой от первой цифры до последней верной цифры. В последнем примере это число равно 5. Довольно часто информация о некоторой величине задается предела- ми ее измерения: «1 а, (Л/, (1) например 1,119 а «С 1,127. Принято записывать эти пределы с одинаковым числом знаков после за- пятой; так как обычно достаточно грубого представления о погрешно- сти, то в числах ai, а? часто берут столько значащих десятичных цифр,
24 Глава 1. Погрешность результата численного решения задачи сколько нужно, чтобы разность aj — а-2 содержала одну-две значащие ци- фры. Употребляемые далее оговорки «часто», «обычно», «принято» специально упо- требляются нами, чтобы не создавалось впечатления об обязательности ка- ких-то стандартных форм задания информации о величине погрешности. Эти формы задания информации рассматриваются лишь потому, что они наиболее распространены, а следовательно, наиболее удобны при контактах. Абсолютную или относительную погрешность обычно записывают в виде числа, содержащего одну или две значащих цифры. Информацию о том, что а* является приближенным значением числа а с абсолютной погрешностью Л (а*), иногда записывают в виде а = а* ± Д(о*); (2) числа а* и Д(а*) принято записывать с одинаковым числом знаков после запятой. Например, записи а = 1,123 ±0,004, а = 1,123 ± 4 1(Г3 относятся к общепринятым и означают, что 1,123 - 0,004 <: а 1,123 + 0,004. Соответственно информацию о том, что а* является приближенным значением числа а с относительной погрешностью <5 (а*), записывают в виде п = а*(1 ±ф*)). (3) Например, записи а = 1,123(1 ± 0,003), а = 1.123(1 ± 3 1(Г3), а = 1,123(1 ± 0,3%) означают, что (1 - 0,003)1,123 а < (1 + 0,003)1,123. При переходе от одной из форм записи к другой надо следить, чтобы пределы измерения, указываемые новой формой записи, были шире старых, иначе та- кой переход будет незаконным. Например, при переходе от (1) к (2) должны выполняться неравенства а* — Д(а*) щ, а-2 < а* + Д(а*), при переходе от (2) к (3) — неравенства а*(1 - <5(а*)) а* - Д(а*), а* + Д(а*) < а*(1 + <5(а*)), при переходе от (3) к (2) должны выполняться противоположные неравенства (пределы всегда расширяются!). * Следует различать принятую нами выше формально математическую и обиходную терминологии в рассуждении о величине погрешности. Если
§ 4. О вычислительной погрешности 25 в постановке задачи говорится, что требуется найти решение с погреш- ностью 10”2, то чаще всего не имеется в виду обязательность этого тре- бования. Предполагается лишь, что погрешность имеет такой порядок. Если, например, решение будет найдено с погрешностью 2 • 10“2, то та- кой результат, скорее всего, также удовлетворит заказчика. § 4. О вычислительной погрешности Ограничение на порядки чисел в ЭВМ |р| ро иногда приводит к пре- кращению вычислений; в других случаях относительно небольшая раз- рядность чисел в ЭВМ приводит к недопустимому искажению результата вычислительной погрешностью. Такие алгоритмы, где вследствие ограни- ченности р или малости t возникают подобные эффекты, называют «не- устойчивыми ». Построение «устойчивых» алгоритмов, при использовании которых ис- кажение окончательного результата вычислительной погрешностью нахо- дится в допустимых пределах, составляют существенную часть теории численных методов. Рассмотрим пример, показывающий, что повышение точности иногда может быть достигнуто за счет несложного алгебраического преобразо- вания. Пусть отыскивается наименьший корень уравнения у2 — 140?/ + 1 = 0. Для определенности условимся о следующих правилах округления. Вычи- сления производятся в десятичной системе счисления, причем в мантиссе числа после округлений удерживается 4 разряда. Имеем у = 70 - V4899, л/4899 = 69,992...; после округления получаем V4899 « 69,99, у « 70 - 69,99 = 0,01. То же самое значение у можно, «избавившись от иррациональности в числителе», представить в виде у = 1/(70 +\/4899). Последовательно про- изводя вычисления, получаем >/4899 « 69,99; 70 + 69,99 = 139,99 и после округления 70 + 69,99 « 140,0. Наконец, 1/140 = 0,00714285..., и после округления у « 0,007143. Производя вычисления с дополнительными разрядами, можно проверить, что в обоих случаях все подчеркнутые цифры результатов верные; од- нако во втором случае точность результата существенно выше. Дело в том, что в первом случае пришлось вычитать близкие большие числа;
26 Глава 1. Погрешность результата численного решения задачи так как эти числа были большие, то они были округлены с большой абсолютной погрешностью, в результате и ответ получился с большой абсолютной погрешностью. Здесь нам впервые встретилось явление по- тери значащих цифр (или «пропадания» значащих цифр), имеющее место при вычитании близких величин; это явление, например, довольно часто приводит к существенному искажению результата при решении систем линейных алгебраических уравнений. Рассмотрим другой типичный пример, где порядок выполнения опера- ций влияет па погрешность результата. На машине с плавающей запятой вычисляется значение суммы 5*1000 000 = 1 000 000 1 Е .7 = 1 J Можно вычислять S*ioooooo либо по рекуррентной формуле Sn = Sn-Y + Л, ?г = 1,1000000, 5*0 = 0, 712 либо по рекуррентной формуле = У? п — 1000000,..., 1, У =0, У = 5*1000 000- п-1 п 1 000 000 о Оказывается, во втором случае суммарная вычислительная погрешность будет существенно меньше. Дело заключается в следующем. В большинстве случаев сложение чи- сел в ЭВМ осуществляется по следующей схеме. Два числа а и b скла- дываются абсолютно точно, а затем происходит отбрасывание последних знаков или округление результата с тем, чтобы осталось t или t — 1 значащих цифр. В результате получается приближенное значение суммы а + Ь с погрешностью, не превосходящей 2' '*|«-Гб|, но в неблагоприятном случае большей, чем 2~1_t|a + Ь|. В первом случае у нас при каждом сложении значение суммы больше 1 и в принципе возможно получение погрешности около 106 • 2'z. Во втором случае поэтому погрешность накапливается существенно медленнее. Можно по- казать, что что погрешность окончательного результата не превосходит 100 • 2~*. На конкретной ЭВМ было проведено вычисление Sioooooo по обо- им алгоритмам и оказалось, что для первого алгоритма погрешность ~ 2 • 10“4, а для второго — ~ 6 • 10~8. Заметим, что в настоящее время проблемы, возникающие в такого рода простейших задачах, обходятся за счет вычислений с двойной точ- ностью.
§ 5. Погрешность функции 27 § 5. Погрешность функции Довольно часто возникает следующая задача. Искомая величина у явля- ется функцией от параметров аа„ : у = у(сц,..., ои). Известна об- ласть G в пространстве переменных сц...., ап, которой принадлежат эти параметры. Требуется получить приближение к у и оценить его погреш- ность. Если у* — приближенное значение величины у, то предельной абсолют- ной погрешностью А(у*) называют паилучшую при имеющейся инфор- мации оценку погрешности величины у*; согласно этому определению в данном случае А(у*) = sup |y(ai....; ап) -у*|; (1) (ftjtin)6G . . . А(у*) предельной относительной погрешностью называют величину ———. И Задача 1. Доказать, что предельная абсолютная погрешность И(у*) ми- нимальна при у* = (Ух + Уг)/2, где У = infy(ai,..., ап). Y? = supy(ai, G ' G • • °н)- Рассмотрим наиболее распространенный случай, когда область G — прямоугольник: и за приближенное значение принимается * / * * \ У ~ У\аъ > ап)- Если у — непрерывно дифференцируемая функция своих аргументов, то, согласно формуле Лагранжа для функций многих переменных, У(П1,..., ап) ~ у* — - а*), (2) .7 = 1 где сф I = |(У+0(а1-а*),...ц1‘+0(ап-а’)) , 0 0 1. Отсюда следует оценка погрешности |У(«!, • •, а„) - у*| Л0(у*) = 22 В.Д(а’), (3) 3=1 где
28 Глава 1. Погрешность результата численного решения задачи Положим dt. (и а } Если производные ---------g ’—— непрерывны, то bj(O) = ЬДО) + о(1) и _ \ду(а{,..., а*)| ------| + о( >' Здесь выражение х = у + о(1) понимается в смысле: х — у—>0 при р —> 0. Следовательно, Ао('У*) = А°(у*) + о(р), где А°(у*) = £ I д(а*). 1 0(1 j j=l I J При практической работе вместо оценки погрешности (3) обычно поль- зуются более простой, вообще говоря неверной, «оценкой» |y(ai,...,o„.)-/|^A°(?/*), (4) называемой линейной оценкой погрей,ности. Задача 2. Доказать, что Ао(?/*) — А(у*) = о(р), А°(у*) — А(у*) — о(р). Расмотрим некоторые примеры определения величин А(?/*), Aq(?/*) , А°(у*) и произведем их сравнение. 1. у = а10, а* = 1, Д(а*) = 0,001. Тогда у* = 1, у'а = 10 а9, 6(0) = 10, В = sup 110 • а9| = 10,09..., |а—11^0,001 А(у*) = sup |а10 - 1| = 1 ,ОО110 - 1 = 0,010045 ..., |а-1|$0,001 А0(у*) = ВД(а*) = 0,01009..., А°(у*) = |Ь(0)| Д(а*) = 0,01. Здесь оценка погрешности через величину Aq(ij*), предельно точная оцен- ка (1) и линейная оценка (4) различаются несущественно. 2. у = а10, а* = 1, Д(а*) = 0,1. Тогда у* = 1, В= sup 10 а9 = 10 • 1,19 = 23,, |а—1|^0,1 А(у*) = sup |а10 - 1| = 1,110 - 1 = 1,5..., |а—1^0,1 АО(У*) = ВД(а*) = 2,3..., А°(у*) = |Ь(0)| Д(а*) = 1/ Здесь различие между этими оценками более заметно.
§ 5. Погрешность функции 29 3. Проведем конкретную оценку погрешности в случае вычисления значений простейших функций. Пусть У = 71«1 Н---Ь где принимают значения +1 или —1; пусть известны оценки |а7 — (Zj| 7 Д(фр. В данном конкретном случае hj(6) = 7,-, |ЬД0)1 = 1, поэтому А(у*) = Ао(?/*) = А°(у*) = A(aJ) + + Д«). Поскольку, по определению, погрешностью называют любую оценку для у — у*, то это соотношение можно также записать в виде Д(±п* ± • • ± а*) = Д(Д) + • + Д(а*). (5) Это равенство иногда формулируется в виде правила: предельная абсолютная погрешность суммы или разности равна сум.м.е предельных погрешностей. Если погрешности в величинах а*. зависимы, то оценка (5) часто мо- жет быть улучшена. Рассмотрим простейший пример: а\ = а, «2 = 1 — а.: известно, что в обоих случаях а одно и то же; тогда независимо от по- грешности в значении а сумма Of + а-2 равна 1 и погрешность суммы равна нулю. Пусть теперь у ~ а^1 ... ; тогда при всех j имеем bj (0) = и п « А°(у*) = £|р,-||О*Г1|у*|Д(^). j=i После деления на |?/*| получаем W),.W) , Д(°Р |»ч ~ и Д1,1 |«’1 п Е>Ж)- j=l (6) По отношению к частным случаям y=-(i\-(i2 или у = а\-а^х соотношение (6) иногда формулируют в виде правила: предельная относительная погрешность произведения или частного приближенно равна сумме предельных относительных погрешностей. 4. Довольно часто возникает задача оценки погрешности функции, заданной неявно уравнением F(y, hi,..., an) = 0. Дифференцируя (7) по оу, имеем dF ду dF „ ду daj daj ' (7)
30 Глава 1. Погрешность результата численного решения задачи откуда <8> oa-j \oaj J \ оу J При заданных аа* можно найти у* как корень уравнения (7), а затем значения мо) = “ (У (9) С помощью этих величин можно получить «линейную оценку» погреш- ности (4). Вследствие зависимости производных dy/da,j от самого значения у по- лучение строгих оценок (1), (3) здесь довольно трудоемко. Часто решение задачи зависит от приближенно задаваемых параме- тров настолько сложным образом, что получение или использование яв- ных формул для производных по этим параметрам практически непри- емлемо из-за своей громоздкости и трудоемкости. В такой ситуации для оценки этих производных целесообразно воспользоваться какими- либо приближенными формулами дифференцирования, например /'(„) й №ьЫ(«) Так, производную решения дифференциального уравнения по началь- ному условию, в принципе, можно вычислить, интегрируя соответствую- щее уравнение в вариациях, решением которого является эта производ- ная. Однако часто разумнее воспользоваться предыдущей формулой. 5. Рассмотрим один наиболее типичный частный случай из п. 4. Име- ется приближение у* к корню уравнения f (У) = а- требуется оценить его погрешность. Вычислим величину о.* = f(y*). При малых у* — у из равенства /(у) - /(У*) = а - а* следует, что - У*) и, таким образом, г, _ w* ~ а~а* = а ~ ~ fW .fW В часто встречающемся случае а = 0 получаем
§5. Погрешность функции 31 6. Обратимся к оценке погрешности корней квадратного уравнения F(y.ai,a2) = y2+а1у + а2 = 0 (10) при заданных приближенных значениях коэффициентов а^,а2 и их по- грешностях Д((ф), Д^). Пусть у* - решение уравнения У + агУ + а2 — 0. Из формулы (9) имеем , _ Д*У. | _ У* *' ) dai 2у* + а^ , _ #У I _ 1 2 да2 1(п’’“5) 2у* +н* и. следовательно, л°( *) = 1У*|ЛК)+ Д(^) ( Рассмотрим некоторую область |ai| s? Ьц (<'2! b2 изменения коэффи- циентов ai,«2- Из явного выражения корней следует, что корни явяляются непрерывными функциями коэффициентов, поэтому |y(ai,a2) - у(аъ «£)| < ш(1°1 - <4|, \а2 - а^); при (ai,a2), (ai>a2) из этой области, w(Ai,A2) —> 0 при Ау, А2 —> 0. Правая часть в (11) стремится к ос при 2у* + а2 —> 0; поэтому «линейная оцен- ка» погрешности при помощи формулы (4) может оказаться в некоторых случаях сильно завышенной по сравнению с точной оценкой погрешно- сти (3). Дело в том, что ранее предполагалась непрерывная дифференци- руемость y(cii,..., ап) по аргументам (щ,..., ап). Тогда погрешность у* оказывалась величиной того же порядка, что и погрешности аргументов Д(а*). В случае, когда величина у* определяется неявным образом, при некоторых значениях параметров она оказывается недифференцируемой функцией аргументов а* и характер оценки меняется. Пусть у* является двукратным корнем уравнения (7^ при щ = а*, а2 — а*2. Разложим левую часть (7) в ряд Тейлора в окрестности точки (у* а^а2)- Поскольку F(/,nt,a;) = = 0 при у* —двукратном корне уравнения (7), то уравнение (7) примет вид dwo(y ~ у*)2 + c/oio(oi ~ «i) +tfooi(o2 — о2) + • • = 0,
32 Глава 1. Погрешность результата численного решения задачи где d-ijk F, 3 *.(y*,aT,fl£) y'a^a^ J 1’ ilj\kl а отброшенные члены имеют порядок о(р). В случае уравнения (10) мож- но показать, что у - у* = ±JdoW(ai - н|) + dooi(a2 - a2) + о(р). Таким образом, погрешность приближенного значения корня оказалась величиной порядка О(у/р). Задача 3. Показать, что в случае, когда уравнение имеет корень крат- ности к, погрешность корня имеет порядок O(typ). § 6. Обратная задача Часто приходится решать обратную задачу: с какой точностью надо за- дать значения аргументов а[,...,а*п функции у = y(ai,..., ап), чтобы погрешность у (а*,..., а*) не превосходила заданной величины е? Пусть точки (щ,,,., ап) и (af,..., а*), соответствующие истинным и приближенным значениям параметров ctj, принадлежат некоторой выпу- I —— . Тогда имеем оценку погрешности I ?/(ai,. •, ап) - у(а*г,..., a*) j «С cjA(a*). Любая совокупность (A(aj),..., Д(а*)) абсолютных погрешностей, удо- влетворяющих неравенству п ф 6, 7=1 обеспечивает требуемую точность. Если функция у зависит только от одного аргумента (n = 1), то имеем неравенство С] Д(а*) феи для достижения требуемой точности достаточ- но взять Д(а^) = е/с\. В случае п > 1 иногда рекомендуют отвести погрешности каждого ар- гумента равную долю, т. е. выбрать Д(ор из условия Д(а*) = е/п, т. е. Д(ар = е/(с7п). В других случаях предлагают ^зять все оценки погреш- ностей равными, максимально возможными, т. е. положить Д(Н1) = • • = Д(а*) = ф где 6 = е/(с1-{-+с„).
§ 6. Обратная задача 33 В простейших случаях можно последовать этим рецептам, однако в более сложных случаях целесообразно подойти к вопросу о выбо- ре верхних границ для допустимых погрешностей аргументов Д(а*) бо- лее аккуратно. Дело заключается в том, что достижение определен- ной точности в задании аргумента a.j может существенно зависеть от номера j. Тогда следует ввести в рассмотрение функцию стоимости Р(Д(Д),..., Д(н*)) затрат на задание точки (а*,..., а*) с заданными абсолютными погрешностями координат Д(а*Д(а*) и найти мини- мум функции F(a;1,..., жп) в области cjXi -I----l-cnxn е, 0 ху,..., хп. Пусть он достигается в точке х®,..., Далее следует положить Д(«*) = x°j, j = 1, - - -, п. В ряде типичных случаев функция F(xi,..., хп) имеет вид F(xi,..., Хп) = DjXj dj, Dj, dj > 0, j = 1,..., n. 3=1 Ясно, что искомое минимальное значение функции F(x'i,..., хп) дости- гается в некоторой точке (я°, х®,..., х,^) плоскости (Д.тц + • • + спхп = £. Рассмотрим случай п = 2. Составляем функцию Лагранжа Ф(Х1, х2) = F(a-1, х2) + А(С1Х’1 + с2х2 - е) и, приравнивая нулю производные дФ/dx.j, получим систему уравнений + Дщ = 0, -d2D2x^d2~l + Ас2 = 0. Отсюда /Г>1ф\1/(с/1+1) / D2d2\ 1/(d'2+1) а:, = (дгд) 12 (1) Подставляя Xj в равенство cixi + с2х2 — £, получим уравнение относи- тельно А: ( DidiA1/(dl+1) / D2d2\1/(cZ2+1) ci -ч---- + с2 —--- = £. \ ЛС1 ) \ ЛС2 ) Видно, что А —> ос при £ —> 0. Пусть di > d2. Тогда при больших А главным членом в левой части является первый; поэтому имеем прибли- женное равенство C1 ------ ~ £, \ Aci / откуда следует ОГР, Л ~ II
34 Глава 1. Погрешность результата численного решения задачи ci’ f D^d^c^X \ (<й+1)/(й2-н) (2) \.Е>1фс2 7 \С17 в рассматриваемом примере стоимость задания малых е растет быстрее, чем стоимость задания Подставляя Л в (1), получим д(°1) = = х-2 Поскольку di > d-2, то первого аргумента при второго аргумента. В соответствии с этим мы получили, что второй ар- гумент следует задавать с точностью более высокого порядка малости по е, в то время как точность задания первого аргумента практически определяется из равенства CiA(oJ) = е. Различный характер зависимости функции стоимости от погрешно- стей задания аргументов может определяться многими факторами. Если, например, параметры a.j определяются численным решением некоторых вспомогательных задач, то слагаемые Р^Д(а5)_£г> характеризуют различ- ную трудоемкость решения этих задач. В других случаях этот характер может определяться сложностью получения экспериментальных данных или трудностью достижения нужной точности тех или иных параметров в реальной конструкции. Литература 1. Березин И.С., Жидков Н.П. Методы вычислений. Т. 1. —М.: Наука, 1966. 2. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вычислительных методов. Интерполирование и интегрирование. —Минск: Наука и техника, 1983. 3. Крылов В. И., Бобков В. В., Монастырный П. И. Вычислительные методы. Т. 1. — М.: Наука, 1976.
..Глава 2 —— Интерполяция и численное дифференцирование В этой главе излагаются наиболее широко используемые способы вы- числения приближенных значений функции и ее производных в случае, когда известны значения функции в некоторых фиксированных точках. Множество этих точек иногда задается нам внешними обстоятельствами, а иногда мы можем выбрать их по своему усмотрению. Такого рода задачи приближения и приближенного дифференцирова- ния часто возникают как самостоятельные в ситуациях, некоторые из которых будут рассмотрены ниже. Кроме того, алгоритмы решения этих задач используются как вспомогательные при построении методов вычи- сления интегралов, решения дифференциальных и интегральных уравне- ний. Наличие большого количества методов вызвано историческим раз- витием теории и практики решения прикладных задач. Многие методы возникли как варианты предшествующих, отличаясь от них формой за- писи, изменением порядка вычислений, имевшими цель уменьшить вли- яние погрешности округлений при вычислениях. В то же время развитие вычислительной техники и теории численных методов приводит к непрерывному пересмотру и некоторому сужению совокупности применяемых методов. Некоторые методы вышли из употребления по следующим причинам. Произошло увеличение разрядности чисел в ЭВМ, и как следствие это- го оказалось несущественным различие в вычислительной погрешности в зависимости от последовательности арифметических операций; в резуль- тате этого в практике вычислений постепенно закрепились простейшие по форме методы. С другой стороны, усложнение модели задачи и тре- бование уменьшения погрешности метода, как правило, требуют и суще- ственного роста числа выполняемых арифметических операций. Несмотря на повышение разрядности чисел в ЭВМ, для ряда методов это обсто- ятельство приводит к недопустимо большому значению вычислительной погрешности (так называемой неустойчивости). Поэтому при повышении требований к точности результата ряд методов также был забракован и изъят из вычислительной практики. Тем не менее сохраняется положе- ние, когда для решения каждой конкретной задачи можно применить довольно много методов.
36 Глава 2. Интерполяция и численное дифференцирование § 1. Постановка задачи приближения функций Иногда возникает следующий вопрос. Может быть, наличие большого количества различных способов приближения объясняется просто отсут- ствием научного подхода к постановке и решению проблемы; если бы такой подход был, то, может быть, удалось бы предложить один опти- мальный способ приближения, пригодный во всех случаях? Такой во- прос возникает и при рассмотрении других разделов численного анали- за. Сколь бы ни было заманчиво разработать единый подход к решению всех задач, следует все-таки признать, что многообразие методов вызы- вается существом дела — многообразием различных постановок проблемы. В частности, различные теоретические разделы теории приближений, на- пример интерполяции, можно рассматривать как изучение абстрактных моделей некоторых реальных классов проблем. 1. Простейшая задача, приводящая к приближению функций, заклю- чается в следующем. В дискретные моменты времени Ж1,...,жп наблю- даются значения функции /(ж); требуется восстановить ее значения при других ж. Подобная задача возникает, в частности, в следующей обста- новке. По ходу вычислений на ЭВМ приходится многократно вычислять одну и ту же сложную функцию в различных точках. Вместо ее непо- средственного вычисления иногда целесообразно вычислить ее значение в отдельных выбираемых нами по своему усмотрению точках, а в других точках вычислять по каким-либо простым формулам, используя инфор- мацию об этих известных значениях. Иногда из каких-то дополнительных соображений известно, что при- ближающую функцию целесообразно искать в виде /(ж) «^(ж;а1,..., ап). Если параметры а!,...,ап определяются из условия совпадения /(ж) и приближающей функции в точках Ж1,...,жп, так называемых узлах ин- терполяции, .., ап) = j = l,...,n, то такой способ приближения называют интерполяцией или интерполи- рованием. 2. Пусть yi — наименьшее из чисел жг- — узлов интерполяции, а - наибольшее из них. Если точка ж, в которой вычисляется значение /(ж), лежит вне отрезка ['(д, 2/2], то наряду с термином интерполяция упо- требляют термин экстраполяция. Например, известно поведение какой-либо переменной до данного мо- мента времени и требуется высказать какое-то суждение о ее дальней- шем поведении. Это может быть температура, рост производства или потребления какого-либо продукта, рост народонаселения, урожайности и т. п. Задаются какими-то моментами времени, строят интерполирую- щую функцию и ее значение в какой-то будущий момент принимают за прогнозируемое (экстраполируемое) значение искомой величины.
§ 1. Постановка задачи приближения функций 37 Если узлы интерполяции выбраны далеко от момента времени, где приближается функция, то тем самым слабо используется существенная информация о поведении переменной в последнее время. Если они вы- браны очень близко, то увеличивается роль погрешностей в используе- мой информации. Таким образом, вопрос о выборе узлов интерполяции и экстраполяции непрост, особенно в задачах, где значения исследуемой функции зависят от многих случайных или трудно учитываемых фак- торов. Сюда относятся задачи прогноза погоды, урожайности, медицины и т. д., в которых, как правило, требуется применять более сложные (в частности статистические) методы прогнозирования. 3. Наиболее часто используется рассматриваемая ниже интерполяция многочленами. Однако это не единственный возможный вид интерполя- ции. Иногда удобнее приближать функции тригонометрическими поли- номами; в других задачах целесообразнее приближать многочленом не /(ж), a In/(ж), или приближать /(ж) не многочленом от ж, а многочле- ном от In ж. Часто целесообразно использовать интерполяцию дробно-рациональны- ми функциями /(ж) «^(ж) = ---- . ^Ькхк k=0 4. В задачах планирования экспериментов в биологии, физике, хи- мии, географии, медицине и других областях науки возникает следую- щая проблема. Известен вид хорошего приближения функции, напри- мер функция хорошо приближается многочленом второй степени. В то же время измеряемые значения функции содержат большие погрешности. Требуется получить наилучшее в определенной норме приближение при минимальном числе измерений значений функции. 5. Задача приближения появляется при составлении стандартных про- грамм вычисления элементарных и специальных функций. Обычно такие функции обладают свойствами, позволяющими резко уменьшить объем вычислений. Возникающая здесь проблема может быть сформулирована следующим образом. Рассматриваются все функции д(х), программа вычисления ко- торых требует некоторого фиксированного объема памяти ЭВМ, такие, что некоторая норма погрешности \\f — f/|| не превосходит е. Среди всех таких функций нужно выбрать ту, вычисление которой требует мини- мальных затрат времени ЭВМ. В зависимости от обстоятельств норма может выбираться по-разному. В большинстве случаев берется ||/|| = sup |/|, где [а, Ь]—отрезок, на ко- й л, [“>4 тором приближается функция.
38 Глава 2. Интерполяция и численное дифференцирование Довольно часто требуется повышенная точность в отдельных точках. Например, одна из стандартных программ вычисления sin.r обеспечивает малость погрешности в норме 11/11 = sup |р(т)/(т)|, р(.т) = min{1019, а;-1}. [О.тг/2] Введение множителя р(х) вызывается требованием малости относи- тельной погрешности значений sins при малых х. Точно так же по-разному может толковаться требование минимальности за- трат процессорного времени ЭВМ. Затраты, вообще говоря, могут зависеть от точки, в которой вычисляется значение функции. Обозначим их через <(х). Если не имеется информации о том, с какой частотой вычисляются значения функции в тех или иных частях отрезка, то, например, можно в качестве об- щей меры затрат принять Т = sup t(x). X Если такая информация есть, то можно принять Т = где М (<(ж)) — математическое ожидание случайной величины t(x). 6. При задании функции графиком или сложным аналитическим выражением возникают вариационные задачи других типов. Например, пусть решено разбить отрезок [а, &] на I частей: [а, —1, щ], i = 1,..., Z, ао = а, сц = Ь, и на каждом отрезке аг] приближать функцию многочленом сте- пени пг. Среди таких способов приближения отыскивается оптимальный в том или ином смысле. Чаще всего заранее накладывается требование Пг = п, фиксируется число отрезков разбиения I и проводится оптими- зация метода по В частном случае 1=1 возникает задача наилучшего приближения многочленами. Об этой задаче речь пойдет в гл. 4. 7. Вид приближающей функции существенно зависит от цели, с ко- торой осуществляется приближение. Предположим, что с требуемой точ- ностью функция может быть приближена многочленом десятой степени или выражением a; sm(u>i.T+</?i)-4-G2 sin(u>2T+</>2)- Если полученное прибли- жение используется в теоретических исследованиях, для решения задачи на моделирующем устройстве или в технологическом процессе, то вторая форма записи может быть более удобной. Однако если значения функ- ции вычисляются на ЭВМ, то вторая форма записи может потребовать при своей реализации большего числа арифметических операций. Далее будет конкретно рассмотрена задача интерполирования много- членами. Ее выделение вызвано наличием непосредственных многочи-
§ 2. Интерполяционный многочлен Лагранжа 39 елейных приложений, а также и следующими обстоятельствами: аппа- рат интерполирования многочленами является важнейшим аппаратом чи- сленного анализа; на его основе строится большинство методов решения других задач; его роль в численном анализе аналогична роли формулы Тейлора в классическом анализе. Попутно будут рассмотрены некоторые другие вопросы общего харак- тера, имеющие значение для других разделов численного анализа. § 2. Интерполяционный многочлен Лагранжа Среди способов интерполирования наиболее распространен случай линей- ного интерполирования: приближение ищется в виде п ап) = г=1 где — фиксированные функции, значения коэффициентов щ опреде- ляются из условия совпадения с приближаемой функцией в узлах ин- терполяции Xj: п j = (1) г=1 Метод решения задачи, при котором коэффициенты «, определяются не- посредственным решением системы (1), называется методом неопределен- ных коэффициентов. Как правило, в методе неопределенных коэффициентов число заданных усло- вий равно числу свободных (неизвестных) параметров, подлежащих определе- нию. Наиболее изучен случай интерполирования многочленами п (2) i=l Тогда фг(ж) = хг~\ i = 1,..., п, и система уравнений (1) имеет вид п = f(xj), j = (3) i=l Далее мы предполагаем, что все Xj различные. Определитель этой си- стемы det [ж’- 1] отличен от нуля (определитель Вандермонда). Следова- тельно, система (3) всегда имеет решение, и притом единственное. Та-
40 Глава 2. Интерполяция и численное дифференцирование ким образом, доказано существование и единственность интерполяцион- ного многочлена вида (2). Непосредственное нахождение коэффициентов щ с помощью решения этой системы уже при сравнительно небольших п, например, при п — 20, приводит к существенному искажению коэффициентов аг вычислитель- ной погрешностью. Кроме того, как мы увидим в гл. 4, уже сама за- пись многочлена в традиционной форме (2) часто приводит к большой вычислительной погрешности результата. При теоретических исследова- ниях, например при конструировании алгоритмов решения других задач, эти обстоятельства могут не играть роли. Однако при реальных вычи- слениях влияние вычислительной погрешности может быть недопустимо большим, и поэтому применяются другие виды интерполяционного мно- гочлена и способы его записи. Можно получить явные представления интерполяционного многочлена (2), не прибегая к непосредственному решению системы (3). Сразу же от- метим, что в других случаях, например при интерполировании функций многих переменных, получение интерполяционного многочлена в явном виде затруднительно, и часто приходится прибегать к непосредственному решению системы уравнений типа (1). Пусть б* есть символ Кронекера, определяемый соотношениями [ 1 при i = j, Si = S л • , I U при г ф j. Задача интерполирования будет решена, если удастся построить мно- гочлены Фф.т) степени не выше п — 1 такие, что ФДх,) = при i,j = Многочлен п ffn(x') = 52/(Хг)Фг(х) г=1 будет искомым интерполяционным многочленом. В самом деле, п п 9n(xj) = = Ж); 1=1 i=l кроме того, дп(х) — многочлен степени п — 1. Поскольку Фг-(Жу) = 0 при j 7^ i, то Фф.т) делится на a; — Xj при j i. Таким образом, нам известны п — 1 делителей многочлена степени п — 1, поэтому ФДж) = Const — Xj). Из условия ФДжг) = 1 получаем
§ 2. Интерполяционный многочлен Лагранжа 41 Интерполяционный многочлен (2), записанный в форме 9п (ж) = Ln (ж) = ) П Х ’ (4) i—1 j# Хг называют интерполяционным многочленом Лагранжа. Существуют другие формы записи того же интерполяционного мно- гочлена (2), например рассматриваемая далее интерполяционная форму- ла Ньютона и ее варианты. При точных (без округлений) вычислениях значения, получаемые по различным интерполяционным формулам, со- впадают. Наличие же округлений приводит к различию в получаемых по этим формулам значений интерполяционных многочленов. Запись много- члена в форме Лагранжа, как правило, приводит к меньшей величине вычислительной погрешности; запись же многочлена в форме Ньютона более наглядна и позволяет лучше проследить аналогию проводимых по- строений с основными построениями математического анализа. Кроме то- го, этим различным формам записи соответствует различное количество арифметических операций при вычислении с их помощью значений ин- терполяционного многочлена. Мы употребили термин «количество арифметических операций». По- ясним, что имеется в виду. Пусть рассматривается задача вычисления значения многочлена Рп(ж) = апхп 4- an^ixn~l 4-h арх 4- но в точке х. Вычисления можно проводить различными способами. Напри- мер, можно поступить следующим образом. Вычислить значение арх и сложить с ао- Далее вычислить значение а-2Ж2 и сложить с полученным результатом и т. д. На у-м шаге, таким образом, вычисляется значение ajX3 и складывается с уже вычисленной суммой ao4-ais4-----kaj-ix3~1. Вычисление значения ajX3 требует j операций умножения. Таким обра- зом, описанный выше алгоритм требует для вычисления значения моно- гочлена (1 4- 2 4- • 4- п) = п(п 4- 1)/2 операций умножения и п, опера- ций сложения. Количество арифметических операций (действий) в дан- ном случае будет равно Ф1 = п(п 4- 1)/2 4- п. Ясно, что количество арифметических операций, необходимых для вы- числения значения Рп(ж), может быть уменьшено. Например, можно по- следовательно вычислить и запомнить значения ж2, ж3,..., ж”. Для этого потребуется п — 1 операций умножения. Далее вычисляем величины ajx3 (j = 1, ...,п). Это потребует п операций умножения. Складывая полу- ченные значения (это требует п операций сложения), получаем Рп(х). В этом случае Ф2 = (2п — 1) 4- п и уже при п > 2 имеет место неравенство Фг < Ф1- Можно пойти еще дальше. Запишем Р’гфх) в виде Рп = ( • • ((апж 4- ап-х)х 4- ап^2)х 4-)ж 4- а0-
42 Глава 2. Интерполяция и численное дифференцирование Для вычисления значения во внутренних скобках апх + требуется одна операция умножения и одна операция сложения. Для вычисления значения в следующих скобках (апх + требуется опять одна операция умножения и одна операция сложения, так как ano; + a„_i уже вычислено, и т. д. Таким образом, вычисление Рп(а;) при помощи этого алгоритма потребует п операций умножения и п операций сложения, то есть Ф3 = п + п. Ясно, что Фз < Ф2 < Ф1 при п > 2. Таким образом, вычисление Ри(.т) по последнему алгоритму потребует меньше арифметических операций и, соответственно, меньше времени ЭВМ. Количество арифметических опе- раций, которое требуется для получения результата, является одной из важнейших характеристик метода, по которой происходит сравнение ме- тодов. Иногда до начала вычислений не удается точно оценить требуемое количество арифметических операций, а удается оценить лишь порядок количества арифметических операций по отношению к какому-либо па- раметру. В рассматриваемом выше примере Ф] = О(п2), Ф2, Фз = О(п), п — степень многочлена. В последнем случае (Ф2, Фз = О(п)) говорят, что методы имеют оди- наковый порядок количества арифметических операций. В тех случаях, когда находится порядок количества арифметических операций, бывает важно найти постоянную в главном члене. Например, Ф1 = -п2 + о(п2), Ф2 = Зп + о(п), Фз — 2п. Как правило, метод, требующий меньшего количества арифметических операций, является более быстрым, и поэтому считается лучшим. Вы- бирая метод решения сложных задач, часто ограничиваются лишь срав- нением порядков количества арифметических операций для различных методов. Заметим, что значение многочлена Рп(х) определяется параметрами ao,ai,..., ап и величиной х. Поэтому в общем случае для вычисления Рп(х) потребуется не менее п арифметических операций, т. е. мы имеем оценку снизу для количества арифметических операций. Таким образом, второй и третий методы вычисления Рп(х) являются оптимальными по порядку, так как Ф2, Фз = О(п) и для любого метода Ф п. В связи с появлением многопроцессорных вычислительных комплексов может случиться так, что метод, требующий большего количества арифметических операций, будет быстрее другого метода с меньшем количеством арифметиче- ских операций. Поэтому для случая многопроцессорной ЭВМ нельзя оценивать качество метода только по количеству арифметических операций.
§ 3. Оценка остаточного члена интерполяционного многочлена Лагранжа 43 § 3. Оценка остаточного члена интерполяционного многочлена Лагранжа В предположении непрерывности f(n\x) оценим разность между /(ж) и построенным интерполяционным многочленом дп(х). Положим </?(0 = /(*) - 5n(t) - Kun(t), где cjn(f) = — х\) {t — хп), а К выберем из условия <р(х) = 0, где ж —точка, в которой оценивается погрешность. Из уравнения у?(ж) = О получаем „ f(x)-gn(x) к =------гт—• При таком выборе К функция y?(f) обращается в нуль в (п + 1)-й точке хп, х. На основании теоремы Ролля ее производная </?'(£) обраща- ется в нуль по крайней мере в п точках. Применяя теорему Ролля к (/?'(<), получаем, что ее производная обращается в нуль по крайней мере в (п — 1)-й точке. Продолжая эти рассуждения дальше, получаем, что (//'“)(£) обращается в нуль по крайней мере в одной точке ф при- надлежащей отрезку [-щ, У2], где У1 = min {ж’1,..., хп, ж}, У2 = max {ж1,..., хп, ж}. Поскольку ^n\t) = — Кп\, из условия <//”)(£) = 0 будем иметь п! Следовательно, соотношение </?(ж) = 0 можно переписать в виде /(ж) - дп(х) = С е [уь у2]> (1) дающем представление остаточного члена. § 4. Разделенные разности и их свойства Как будет видно далее, интерполяционный многочлен можно рассматри- вать как обобщение отрезка ряда Тейлора. Обобщением понятия производной является понятие разделенной раз- ности. Разделенные разности нулевого порядка f(xj) совпадают со зна- чениями функции /(жг); разности первого порядка определяются равен- ством f(Xi- Xj) = Zfezj-A*») (1) Жд — Xi
44 Глава 2. Интерполяция и численное дифференцирование разности второго порядка — равенством /(« V Xk - Xi и, вообще, разности fc-ro порядка /(xi;...; x^+i) определяются через раз- ности (к — 1)-го порядка по формуле /(Ж1;...; Tfc+1) = ^1. (2) ЖЛ+1 - Xi Иногда вместо /(21;...; хД используют обозначения (/')(2т;...; 27) или [27;...; 2>]. Лемма. Справедливо равенство (3) У П(Ч-ч) Доказательство будем проводить по индукции. При к 1 это равенство превращается в равенство /(ях) = при к = 2 совпадает с (1). Пусть (3) доказано при к < I. Тогда /(жг, • /(т2;...; жг+1) - /(24;...; ж;)) Если j 1, I + 1, то коэффициент при f (хД в правой части есть (Xj - Xi) - (xj - ж/+1) (жг+1 - Ж1) <Xj - Xi) ь£з l^i+1 1 П ^Х3 ~ жг)
§ 5. Интерполяционная формула Ньютона с разделенными разностями 45 т. е. имеет требуемый вид; для j — 1 или j — 1 + 1 значение f(xj) входит только в одно слагаемое в правой части, и коэффициент при нем также имеет требуемый вид. Доказательство закончено. Непосредственно из (3) вытекает ряд следствий. 1. При фиксированных х^,..., х^ разделенная разность является ли- нейным функционалом от функции /: («i/i + m2/2)(«i; • •; хк) = ; хк) + «2/2(34; .•; хк)- 2. Разделенная разность есть симметрическая функция своих аргу- ментов яц,..., хк (т.е. не меняется при любой их перестановке). Если функция задана в точках .-/ц,..., хп, то таблицу /(^1) /(я-i; ж2) f(x2) 1{хХ-,Х‘2\ХЛ) . /(я^з) : ' •• (4) /(ж.з) ’ : / (хп_1, хп) f(xn) называют таблицей разделенных разностей. § 5. Интерполяционная формула Ньютона с разделенными разностями При помощи разделенных разностей можно получить другую форму за- писи интерполяционного многочлена (2.4). Справедливо равенство f(x) - Ln(x)= f(x) - /(жг)П = Сравнивая с (4.3), убеждаемся, что /(х; Xi;...; хп). Таким образом, выражение в скобках есть /(ж) - Ln(x) = /(ж; xi;...; хп)щг(ж), (1) где многочлен шп(х) определен в § 3.
46 Глава 2. Интерполяция и численное дифференцирование Пусть Lm(x)—интерполяционный многочлен Лагранжа с узлами ин- терполяции xi,...,xm. Интерполяционный многочлен Лагранжа Ln(x) можно представить в виде Ln(x) = Li(x) + (L-i(x) - +----h (Ln(x) - Ln-i(x)). (2) Разность Lm(x) — Lm^i(x) есть многочлен степени m — 1, обращающийся в нуль в точках х\,..., хт_\, поскольку £т_1(ж;) = Lm(xj) = f(xj) при 1 5$ j m — 1. Следовательно, Тпг(ж) Lm— j (ж) = -г4т—1 Шт—1(х), СДт_1(т) — (ж ац)... (я где Am-i = const. Полагая х = хт, получим f(xm) Lm-\{x1n) = (жт). С другой стороны, полагая в (1) п = т — 1 и х = хт, имеем /(з-тп) Arri~ ] (^т) ~ f{xrm ^’1’ • • • > хт—1) ^т- 1(^"т)- Таким образом, Ат_[ = f(xp, ...; хт) и поэтому Lm(x) Lrrl~]\x) — f(xp, ', хт^ шт_1(я). Подставляя эти величины в (2), получим Ln(x)=f(xi) + f(x1;x2)(x-x1) + --- + f(x1;...;xn)(x-x1)...(x-xn-1). (3) Интерполяционный многочлен, записанный в такой форме, называется интерполяционным многочленом Ньютона с разделенными разностями. Из сравнения (1) с (3.1) следует важное равенство /(ж; хр...; ж„) = —, 2/1 < < 2/2- (4) В частности, если /(ж) — многочлен I р((-с) = ^2Ьзх3 3=0 степени I п, то на основании этой формулы имеем при любых жо, - -, хп. Предположим, что точки xi,...,xn пронумерованы в порядке возра- стания: Ж1 < жг < • • • < жп. Вследствие (4) имеем т! /(ж*,;...; xk+m) = где $к Ск «л+т- Поэтому величина Мт = sup m! |/(жа...; ж*+гп)| к
§ 5. Интерполяционная формула Ньютона 47 может использоваться в качестве приближенной оценки для величины M(m)= sup |f(m)(x)|. [яЦ.-l’n] Задача 1. Доказать неравенство \Мт -М<тЦ где hm = max - xk). l^.k^.n—тп Для упрощения вычислений интерполяционного многочлена иногда ис- пользуется так называемая схема Эйткена. Пусть j)(.т) —интерполяционный многочлен с узлами интерпо- ляции хк, - - -, xi, в частности Справедливо равенство , , . L{k+l l+l}(x)(x-xk) -L(fc /)(.г-)(х-.т/+1) Ь(лл+1,...,/+1)(ж) = —-----------------------------—-----------—; (5) действительно, правая часть является многочленом степени I — к + 1 и совпадает с f(x) в точках яц-,..., тыр Схема Эйткена вычисления зна- чения Ln ...;П)(а;) заключается в последовательном вычислении с помо- щью формулы (5) элементов таблицы значений интерполяционных мно- гочленов Z(i)(.r) ^1,2)(ж) ^(2)(ж) ^(1,2,3)(ж) • . . . Z(2,3)(3;) ; _••• /(1>2>...1П)(а;) : . : ^(n—1,п)(-0 (7;) Эта схема положена в основу стандартной программы решения следу- ющей задачи. Дана таблица значений некоторой функции /(.г); требуется при ка- ждом значении х вычислить значение f(x) с заданной точностью е или с наилучшей возможной точностью при имеющейся информации. Трудно дать четкое определение термина стандартная программа. По устано- вившейся традиции стандартной программой решения задач некоторого класса называют квалифицированно написанную программу, содержащую описание алгоритма решения задач данного класса. Решение конкретной задачи осу- ществляется подсоединением к стандартной программе информации об этой конкретной задаче. От стандартной программы также требуется, чтобы допус- калось ее использование как элемента программы, предназначенной для реше- ния более сложных задач. Рассматриваемое ниже построение алгоритма решения задачи являет- ся довольно типичным для ситуации, возникающей в реальной практике.
48 Глава 2. Интерполяция и численное дифференцирование Невозможно предложить обоснованный алгоритм решения поставленной задачи для всех функций, поскольку про функцию ничего не извест- но, кроме ее значений в заданных точках. Однако, предполагая функ- цию гладкой, мы выводим практический критерий оценки погрешности и, основываясь на нем, строим алгоритм решения задачи. Пусть х фиксировано; перенумеруем узлы интерполяции в порядке возрастания |a;j—яф Интерполяционные многочлены Lq,.,.1?п)(з;) будем обо- значать, как обычно, Lm(x). Выше получено представление погрешности (1) /(т) - Lm(x) = /(.т; ти ...; хт) ит(х), а также равенство ^т+1 (я-) Lm(x) — f (tj, . . - , Жт_|д) Шт(т). (6) Так как при малых \х — .тд.| f(m)(x) f(x; хг;...; хт) и----— и /(Ж1;...; ж77г+1), ml то отсюда следует /(«) - Тт(.т) « £т+] (ж) - Lm(x). (7) Поэтому величину Ет = — Lm(rr)| можно рассматривать как приближенную оценку погрешности интерполяционной формулы /(ж) ~ Lm(x). Последовательно вычисляют значения Lo(rc), L\(ж), £i, L2 (ж), £2,...; если при некотором т будет £т £, то вычисления пре- кращают и полагают /(ж) к Lril(x). Если это неравенство не выполняется ни при каком т, то находят ето = min £„, и полагают f(x) ~ ЪтЛх). Если этот минимум достигается при т нескольких т, то среди них выбирают наименьшее. Если величины Ет, начиная с некоторого т, имеют устойчивую тенденцию к увеличению, то с этого момента вычисление значений Lm(x), Ет прекращают. § 6. Разделенные разности и интерполирование с кратными узлами Пусть требуется построить многочлен gs(x) степени s — 1, удовлетворя- ющий условиям <7e(*i) =/(*!>, •••, (1) gs(xn) = /(тп), ..., = /(тп“1)(яп);
§ 6. Разделенные разности и интерполирование 49 здесь все жг- различные, з = тщ Ч-\-тп. Такой многочлен называют ин- терполяционным многочленом с кратными узлами, а числа nil,..., тп — кратностями узлов х\,..., хп. Интерполяционный многочлен gs(x) определяется единственным обра- зом. В самом деле, предположим, что существуют два многочлена сте- пени 5—1, удовлетворяющих условиям (1). Тогда их разность Qs(x) удо- влетворяет соотношениям QsM = • • • = ^^(жД = 0, ..., Qs(x„) = • • - = = 0; точки xi,..., хп являются нулями многочлена Qs (ж) кратности '/щ...., тп соответственно. Мы получили, что многочлен Qs(x) 0 степени з — 1 имеет s нулей. Следовательно, = 0. Далее будем предполагать, что функция /(ж) непрерывно дифферен- цируема s раз. Существование интерполяционного многочлена .щ(4, удо- влетворяющего условиям (1), покажем, получив для него явное выра- жение. Зададимся последовательностью совокупностей точек ж?-, 0 < е < eq, i = 1,..., п, j = 1,...,тг, удовлетворяющих следующим условиям: при 0 < £ < Ео все точки xfj различные, ж^ жг- при е 0. В частности, МОЖНО ПОЛОЖИТЬ X£j = Xi + (у — 1)е. Построим интерполяционный многочлен g£s(x) степени 5 — 1, совпада- ющий с /(ж) в точках x£j. Таблица разделенных разностей, соответству- ющих этому набору узлов, имеет вид /(41) /(415 42) /(42) /(41’> 42 5 4з) . /(42;4з) : /(4з) : . • • ' /(4i;42;-^xnmJ- (2) • . • • ; /(4?щ;41) • ’ • • ' ' /(4i) . • • < /(4rJ Выпишем интерполяционную формулу Ньютона с разделенными раз- ностями: 4(4 = А£о + АДж - жп) + А2(ж - жп)(ж - ж^2) + • • • • • • + А£_1(х - 4J... (ж - ж^.Д, где 4) = /(41), = /(41.; ж(2), = /(415 42; 4з), • • • , AU = /(415 Ж12;...; ж^тД.
50 Глава 2. Интерполяция и численное дифференцирование Выражая разделенные разности через производные, имеем Переходя к пределу при е -> 0, получаем = (3) Таким образом, из наших рассуждений следует, что все разделенные разности в таблице (2) вида /(ж?г:...; ж?т) при е —> О имеют пределы, которые естественно обозначать /( ж,;...; ж, ). Из (3) следует, что т—/-i-i раз р+1 раз Задача 1. Индукцией по порядку разности показать, что все разделен- ные разности, входящие в таблицу (2), имеют конечные пределы. Если все элементы таблицы (2) имеют пределы, то на любом отрезке многочлены gf(x) при е —> О стремятся к некоторому многочлену = А) + Л (ж - a-i) + Л2(ж - .г-i)2 + • • • + As-jCt - ... (ж - (х - хп)ТПп~1 = (5) = /(^1) + /(жх; х^х - жх) + /(жч; хц - жх)2 + • • • ; Ai = lim Л?. £->о г Многочлен gs (ж) записывается в виде уч г(г—1)/ \ 5s(z) = 52 _ ° ~ ж1)т' ) Отсюда вытекает, что он удовлетворяет условиям, заданным в точ- ке жх. Вследствие единственности интерполяционного многочлена много- член деч(х) не изменится при переобозначении жх — Xj, Xj = Xi. Поэтому предельный многочлен будет удовлетворять заданным условиям в любой точке Xj. Следовательно, этот многочлен является искомым. Задача 2. Доказать равенство /(ж) - gs(x) = —^—^шДж), Щ.(ж) = - Хг)т‘, Щ 1/2, (6)
§ 7. Уравнения в конечных разностях 51 где yi = min {ж, х±,..., хп} , У2 = max {я, х\,..., жп}. Согласно (5.1) справедливо равенство - <£(ж) = /(ж; жЬ;; хЕптп)и£а(х), где <л('(л) = a>s(x£). Переходя к пределу при е —> 0, получим /(ж) - gs(x) = /(ж; жи...; жп)шв(ж). Сравнивая это равенство с (6), имеем ,7 х /'s)(0 /(ж; Ж1;...; ж„) = —-—. Это соотношение остается в силе при предельном переходе ж -> Xj, j — любое. Из этих соотношений следует, что формула (5.4) ,, . /W(C) /(Ж1;...; ждг+1) = ——— (переписанная в других обозначениях) справедлива и в случае, когда не все Ж1,..., ждц-i — различные. Мы доказали существование интерполяционного многочлена, удовле- творяющего условиям (1). Задачу интерполяции можно было бы поста- вить и таким образом. Задана таблица чисел а^-, i = 1,..., п, j = Требуется по- строить многочлен gs (ж) степени s — 1, удовлетворяющий условиям Рр-1)(жг) = ay, г = 1,...,п, j = l,...,mj. Эта задача равносильна исходной, поскольку всегда можно указать глад- кую функцию /(ж) такую, что /(7-1)(жг) = aij. § 7. Уравнения в конечных разностях Конечно-разностными уравнениями называют уравнения относительно функций дискретного переменного. Такие уравнения, в частности, воз- никают при аппроксимации обыкновенных и многомерных дифференци- альных уравнений. Существует глубокая аналогия между непрерывными и дискретными случая- ми. В частности, справедливы разностные аналоги формул Грина; если в не- которой задаче применим метод Фурье, то в отношении соответствующей раз- ностной задачи применим дискретный вариант метода Фурье. Практически каждому интегральному тождеству в теории дифференциальных уравнений
52 Глава 2. Интерполяция и численное дифференцирование можно поставить в соответствие некоторый дискретный вариант. В руках ква- лифицированного математика методы решения конечно-разностных уравнений являются мощнейшим средством исследования чувствительности («устойчиво- сти») алгоритмов к вычислительной погрешности. Если требуется исследовать алгоритм решения некоторой задачи, то подбирают близкую по структуре за- дачу (например, следуя принципу замороженных коэффициентов (см. гл. 10)), для которой решение соответствующей конечно-разностной задачи находит- ся в явном виде. Анализируя алгоритм решения исходной задачи на приме- ре этой конечно-разностной задачи, выносят предварительное суждение о его свойствах. Как правило, при практическом решении задач в большинстве слу- чаев полученное на таком пути предварительное суждение дает правильное представление о свойствах алгоритма. Непосредственно конечно-разностные уравнения потребуются нам в следую- щем параграфе при описании многочленов Чебышева. Ниже будет проведена аналогия между конечно-разностными уравнениями одного дискретного пере- менного и обыкновенными дифференциальными уравнениями. Рассмотрим простейший случай одного линейного уравнения относи- тельно неизвестной функции одного целочисленного аргумента к 1У = ^di(n)y(n + i) = f(n). (1) i=0 Это уравнение называется линейным разностным уравнением к-го поряд- ка и является разностным аналогом линейного дифференциального урав- нения k-vo порядка к ly = bi(x)y^(x) = f(x). (2) г=0 Каждое из уравнений (1) и (2) имеет вид Ly = h, где L —линейный оператор. Уравнение Ly = 0 называют однородным-, формулы У = у(&1, , Ci, п) или у = у(Сг,..., Ci, х) дают общее решение уравнения (1) или (2), если при подстановке зна- чений параметров Ci можно получить любое решение рассматриваемого уравнения. Если и —частное решение неоднородного уравнения Lu — h, то разность у — v является решением однородного уравнения Цу — и) = h — h = O. Таким образом, общее решение неоднородного уравнения пред- ставимо в виде суммы частного решения неоднородного уравнения и об- щего решения однородного уравнения. Решения yi,...,ym однородного уравнения Ly = 0 называют линейно зависимыми в рассматриваемой области изменения независимого аргумента, если существуют С\, ., Ст, не все равные нулю, при которых 4- • • 4- Стут = 0. В противном случае эти решения называют линейно независимыми. Если функции щ
§ 7. Уравнения в конечных разностях 53 являются решениями однородного уравнения Ly = 0, то любая функция также является решением этого уравнения, поскольку L (2Сс;'И = 22C*L^ = 0- \ i / г Проводимое далее параллельное рассмотрение уравнений (1), (2) подчер- кивает общие черты этих уравнений и помогает найти путь исследования уравнения (1) по аналогии с уравнением (2). Пусть для определенности уравнение (2) рассматривается в области х 0, а уравнение (1)—в области п 0. Теорема. Пусть /д(ж) 7^ 0 при х 0 и все I Пусть аДп) 0 при п 0. bi(x) непрерывны при ж 0. | Тогда, общее решение однородного уравнения Ly — 0 записывается в виде к У = 22 г=1 где yi,. , уь — линейно независимые решения уравнения Ly = 0. Доказательство. Согласно теореме существования уравнение 1у = 0 имеет реше- ние при любых начальных услови- ях у(0),..., y^^tO). Согласно теореме единственности это решение единственно. Обозначим через щ(ж) решения уравнения 1у = 0 при начальных условиях у¥~^ = i,j = 1,..., к. Однородное уравнение 1у = 0 можно представить в виде / к у(п + к) = - 22 -^~Г\У(п + г) • (3) Если мы зададимся у(0),..., у (к—1), то из (3) сможем вычислить после- довательно у(к), у(к + 1),.... Таким образом, при любых у(О),..., у(к—1) уравнение /(у) =0 имеет решение. Это решение единственно, поскольку значения любого решения удовле- творяют уравнению (3), а из этого уравнения значения у(к), у(А:+1),... определяются однозначно. Обозначим через уДп) решения уравнения 1у — 0 при начальных условиях yi(j-1) = <5f , i, j — 1,..., к.
54 Глава 2. Интерполяция и численное дифференцирование Эти решения образуют линейно независимую систему. В самом деле, если к ^Ciyi(x) = О, г=1 то при j = 1,..., к имеем к к г=1 г=1 к ^Ciyi(n) = О, г=1 то при j = 1,..., к имеем к к о = ^2 ciyi(j -1) = £ = сг i=l г=1 Следовательно, в случае все Ci обязательно равны нулю, поэтому функции yi,...,yfc линейно не- зависимы. Пусть у(х)— какое-либо решение уравнения 1у = 0. Функция к ^(ж) = 52уи-1)(°)у>(ж) 3=1 Пусть у(п) — какое-либо решение уравнения 1у = 0. Функция к 3=1 является решением этого уравнения при начальных условиях у(0),..., у(к — 1). Вследствие единственности решения уравнения 1у = 0 имеем к У(ж) = ^2y{3~140)yj(x). з=1 Теорема доказана. 1у — 0 имеем к у(^) =^У(з 3 = 1 Далее в курсе дифференциальных уравнений устанавливается следующий факт. Если известны к линейно независимых решений однородного уравне- ния 1у = 0, то нахождение решения неоднородного уравнения (2) сводится к решению уравнений dCj/dx = tjj(x'), * (4) где gj(x) —известные функции, т. е. к отысканию квадратур. Точно так же в случае, когда известны к линейно не независимых решений однородного урав-
§ 7. Уравнения в конечных разностях 55 нения 1у — 0, нахождение решения неоднородного уравнения сводится к реше- нию аналогичных (4) разностных уравнений C^n + l)-Cj{n) = g^nY где (jj(п) — известные функции. Перейдем к рассмотрению уравнений с постоянными коэффициентами k 1'У = ^гцу(п + «) = i=0 (Че 7^ О, и соответствующих однородных уравнений к ly = ^biy^(X)=0. (7) 7=0 к ly = ^ciiy^i + i) = 0. (8) Л=0 Займемся отысканием частных решений однородного уравнения. Подставляя в (7) предполагаемый вид частного решения ехр(Ат), по- лучаем уравнение В случае уравнения (8) функцию ехр(Ап) удобно записывать в виде // = ехрА. Подставляя ее в (8), получаем уравнение Таким образом, каждому корню уравнения к = (10) г=0 называемому характеристическим, соответствует частное решение ехр(Аж). Если все корни характеристического уравнения простые, мы получаем к различных решений. Покажем, что каждому s-кратному корню харак- теристического уравнения соответствуют s различных решений однород- ного уравнения ехр(Ат), жехр(Ат),..., Xs 1ехр(Ат). я Н..П-1 p.s-l n-s+1
56 Глава 2. Интерполяция и численное дифференцирование Пусть для определенности Aj = множители характеристический мио к к = bfc П(Л ~ V i=0 j=l Зададимся действительным парамет Возьмем Xje такие, что: а) \je различны при j ~ 1,..., s; б) стремятся к Xj при е —> О для всех j к. Образуем характеристические уравн к к j=l i=0 Ясно, ЧТО Ь./е > bi при £ —> 0. Этим характеристическим уравне £ьг£у«(т) = 0. (12) г=0 Пусть при е > 0 мы можем ука; уе(х) уравнения (12) такие, что при любом х Xz 0 существует предел limy£(s) = У(ж), причем у£(х) сходится к Y(х) рав- номерно вместе со всеми производ- ными до порядка к включительно на любом конечном отрезке [sj, ггг]. Переходя к пределу в (12) с уче- том (11), получаем, что предельная функция Y(x) удовлетворяет урав- нению (7). Построим такие последовательное диться к частным решениям (7), (8) = As, pi = • • = /ц. Разложим на очлен к к ^ащг = ак IJ(m-Pj)- г=0 j=l ЮМ Е > 0, £ —> 0. Возьмем /j,jE такие, что: а) д?£ различны при j = 1,..., s; б) стремятся к jij при е -> 0 для всех j к. ния, соответствующие этим корням: к к 0 — J(P Рд) = У , - j~l z=0 О-ге Qi (11) иям соответствуют уравнения к <ЧЕУе(п + г) = 0. (13) г=0 иъ решения у£(п) уравнения (13) такие, что при любом п 0 существует предел lirnУе{п) = Y(n). Переходя к пределу в (13) с уче- том (11), получаем, что предельная функция У(п) удовлетворяет урав- нению (8). Я Уе(х) И Уе(п), КОТОрые будут СХО- соответствующим кратным корням.
§ 7. Уравнения в конечных разностях 57 При проведении этих построений удобно использовать разделенные раз- ности. Рассмотрим сначала случай двукратного корня. Положим ^е(ж) = ехр(Аж)(А1£; А2е) = У2е{п) = p2f) = = ехр(А2£у) - ехр(А1£у) _ р2е - р^ А2е — Air Р2е — Pie Эти функции являются решениями соответственно уравнений (12), (13). Запишем их в виде у2е(т) = жехр(А1ет) х х еХР((Л2е ~ Л1е)Ж) ~ 1 (А2е — Aie)rc ?/2е(п) = Д2е 1 + 2/Не + ' ' ' I 71—1 -----Ь Mie Переходя к пределу при б —> О, получим ?/2е(ж) -> жехр(Ахж). ?/2е(п) -» /ф Ч----------h/ф 1 = П/ф \ В результате мы построили второе линейно независимое решение, со- ответствующее двукратному корню. Случай корня более высокой кратности рассмотрим лишь для уравнения (1). Согласно (4.3) имеем Уде — Р (Klei • ;Рл) — /ф - J = 1 JJ(Ple — Pie) Как линейная комбинация функций , функция y(j,: является решением урав- нения (13). Аналогично (14) непосредственно устанавливается, что И1Ч--Нл,=71+1 -- q Общее число слагаемых равно С®-1, поэтому Vqe Yq(n) = СГ1^1^. Поскольку в случае s-кратного корня можно взять q = 1,..., s, то получилось s частных решений Ki (п) = р", у2(н) = С^р"-1,..., Ys(n) = С^-1 itn+1~s. (15)
58 Глава 2. Интерполяция и численное дифференцирование Задача 1. Доказать, что совокупность частных решений (15), соответ- ствующих корням характеристического уравнения (10), образует фунда- ментальную систему (т. е. они линейно независимы и решение (8) может быть получено как линейная комбинация таких решений). Задача 2. Пусть Ps~i(n) — произвольный многочлен степени s — 1. До- казать, что функция Ps_t(n)/in записывается как линейная комбинация функций (15) Р^ДП)//’' =22^(71). Таким образом, вместо системы решений (15) можно взять систему решений 1^(71) =/ф, Y^n) = iifi't, Ys(n)=ns ’ц". Задача 3. Показать, что уравнение (16) имеет частное решение вида s+m—1 3=s где dj могут быть найдены методом неопределенных коэффициентов. Рассмотрим теперь разностное уравнение т— 1 к ( т— 1 22 aiy(n+о = 22 c-JnJ г=0 \ >=0 (16) Пусть о является корнем характеристического уравнения (10) кратности s; в частности, если о не является корнем этого уравнения, то s = 0. § 8. Многочлены Чебышева Рассматриваемые ниже многочлены Чебышева играют фундаментальную роль в теории и практике использования численных методов. С их помощью реша- ется значительная часть задач оптимизации свойств вычислительных алгорит- мов. Запись многочленов в традиционной форме часто приводит к большому влиянию вычислительной погрешности, и в этих случаях их целесообразнее записывать в виде линейных комбинаций многочленов Чебышева. Многочлены Чебышева Тп(х), где п 0, определяются соотношениями Т0(ж) = 1, 71(ж)=ж, Tn+i = 2хТп(х) - Тп-1(ж) при п > 0. (1)
§ 8. Многочлены Чебышева 59 Пользуясь рекуррентной формулой (1), получаем, например, Т2(ж) = 2ж2 - 1, Т3(ж) = 4т3 - Зж, Т4(ж) = 8т4 - 8т2 + 1, Т^х) = 16т5 - 20т3 + 5т,.... Старший член многочлена Tn+i(x) получается из старшего члена много- члена Тп(т) умножением на 2т, и, следовательно, старший член в Тп(х) при п > 0 есть 2,г-1т’1. Все многочлены Т<2Н(х) являются четными функциями, а Т2п+1(ж)— нечетными. При 7i = 0 это утверждение верно. Предположив его справедливость при некотором п, мы получим, что 2т72п+1(я:)—четная функция и, вследствие (1), Т2„+2(т) — тоже четная функция. Тогда 2т72п+2(т) и Т2п+з(-т), вслед- ствие (1), — нечетные функции. При любом в имеем cos((n + 1)0) = 2 cos 6 cos пб — cos((n — 1)0). Полагая 0 = arccosT, получим cos((n + 1) arccos т) = 2т cos(?i arccos т) — cos((n — 1) arccos т). Функция cos (n arccos т) удовлетворяет тому же разностному уравнению (1) по переменной п, что и Тп(х). Начальные условия при п = 0 и п — 1 одни и те же: cos(0 arccos т) = 1 = 7Ь(т), cos(l arccos т) = т = Ту (т); поэтому при всех п Тп(х) — cos(n arccos т). (2) Следовательно, |Тп(ж)| 1 при |т| 1. (3) Не нужно думать, что |Тп(.т)| .< 1 при всех вещественных :с. Если |.т| 1, то arccos а: не является действительным числом, а косинус такого числа больше 1. Рекуррентное соотношение (1) является разностным уравнением; ему соответствует характеристическое уравнение //,2 — 2/7,.-/: + 1 = 0 с корнями /^1,2 — х ± >/ж2 — 1- При х ±1 корни простые, поэтому Тп(х) = С1(х)/ф + С2(ж)Д2-
60 Глава 2. Интерполяция и численное дифференцирование Из начальных условий Tq(x) = 1, ТДт) = х получаем ci = сг = 1/2; таким образом, } (ж + v<7;2 - 1)” + (ж - Тп(х) =------------------------------. (4) Задача 1. Проверить справедливость этой формулы при х — 1 и х — — 1. Из уравнения Тп(х) — cos(n arccos ж) = О получаем, что ( 7г(2т — 1)\ Xm = COS ---------- , ГП. = 1.. . . , П, \ 2п J — нули Тп(х). Вследствие (2), (3) точками экстремума Тп(х) на [—1,1] будут точки, где |T„(t)| = 1. Решая это уравнение, получим / 7Г7П \ Ж(т) = COS ---j , m = 0,..., п, причем Тп(х(т)) = совят = (-1)т. Многочлены Т„(ж) = 2,-"Т„(.т) = хп + • называют многочленами, наименее уклоняющимися от нуля. Это опреде- ление объясняется следующим свойством. Лемма. Если Рп(х) —-многочлен степени п со старшим коэффициентом 1, то max |Рп(ж)| max |Тп(ж)| = 21-п. (5) I Гч [ ГМ Доказательство. Предположим противное. Многочлен ТДх) — Рп(х) име- ет степень п — 1; в то же время sign(Tn(T(m)) - РДх{т)У) = sign((-l)”l21"'« - Рп(ж(т))) = (-1)”г, так как, согласно предположению, |Рп(я;(т))| < 21~п при всех т. Таким образом, между каждыми двумя точками Ж(т), Ж(то+1) многочлен Тп(х)~ Рп(х) меняет знак. Многочлен Тп(х) — Рп(х) степени п — 1, отличный от нуля (поскольку он отличен от нуля в точках Ж(т)), имеет п различных нулей. Мы пришли к противоречию. Задача 2. Доказать более сильное утверждение: если РДх) = хп + • ТДх\ то max |Р„(т) | > 21-'1.
§ 8. Многочлены Чебышева 61 Линейной заменой переменных х' = + ^—х отрезок [—1,1] можно перевести в заданный отрезок [а, Ь]. В многочлене Т.„ старший коэффициент равен (2/(Ь — о.))’1. В соответствии с леммой можно утвер- ждать, что многочлен T[“'b](x) = (b- а)п 21~2пТп ( \ о — a. J со старшим коэффициентом 1 является многочленом, наименее уклоня- ющимся от нуля на отрезке [а, 6]. Это означает, что для любого мно- гочлена Рп(х) степени п со старшим коэффициентом 1 справедливо не- равенство max \Рп(ж)| max ,Ь](ж)I = (Ь - а)" 21 ~2п. (6) [а,Ь] [а,6] I I Нетрудно проверить, что нулями многочлена Т^(ж) являются точки & + а Ь — а. /тг(2т—1)\ хтп = —х---Ь —Z- cos---------- , m = 1,..., п. 2 2 \ 2п J Многочлены Т0(ж) = 1/д/2, Тп(х) = Т„(ж) при п 1 образуют на [—1,1] ортонормированную систему с весом 2/(тгл/1 — ж2). Проверим свой- ство ортонормированности этих функций. После замены х = cos О имеем Г1 2Tn(x}Tm(x) , 1 р / -------—- dx = — cos пО cos чпб dO = J~1 7TV1 — X2 J-тт = “ / (cos((n - ?n)0) + cos((n + m)6))d0 = Второе слагаемое обращается в нуль при п, т 0, если п2 + ?п2 0. Отсюда вытекает требуемое равенство г12адад / Г.--Q V-Wl 7TV 1 — Ж2 Пусть многочлены Чебышева вычисляются по рекуррентной формуле (1). В процессе реальных вычислений вместо значений Тп(х) получаем приближен- ные значения Т*, удовлетворяющие соотношениям To-В Т^ж + йь Т:1+1 = 2хТ:~Т^1+ёп+1, где 6% — погрешности, вызванные округлениями. Задача 3. Получить представление погрешности N Т^(х) -TN(x) = V4.^Л+1~А:)агссо8Ж)
62 Глава 2. Интерполяция и численное дифференцирование Задача 4. Получить, используя решение задачи 2, оценку погрешности \Т^(х) -TN(x)\ max |<5fc| - TV • min /N, - 1. (7) ( у/1 — x2 J Задача 5. Непосредственной проверкой убедиться, что в нулях много- членов Чебышева xm = cos ( ) справедливо равенство Отсюда заключаем, что при задании х в окрестности этих нулей с погрешно- стью ё погрешность вычисления значения Тп(х') будет величиной, близкой к ш5 . . — :—это означает, что оценка (7) не может быть существенно улучшена. Vl-^m Задача 6. Пусть — некоторое фиксированное число. Доказать, что векторы, образованные значениями многочленов Т?Л(ж), п < N в нулях Ты(х), образуют некоторую ортогональную систему, а именно 6r(2j-l)\ ~ /7T(2j-l)\ N п\ 2N ) m\ 2N ) = ё™ при 0 С п, тп < N — 1. (8) § 9. Минимизация оценки остаточного члена интерполяционной формулы Пусть функция f (х) приближается на [а, Ь] с помощью интерполяцион- ного многочлена степени п — 1 с узлами интерполяции xi,..., хп £ [а,Ь]. Согласно (3.1) имеем /м_£„(1) = Г2М 111 где С £ [а,Ь], если х £ [а, Ь]. Отсюда следует оценка погрешности интер- поляции Н/(И)Н • 1Ы1 71! (1) Здесь || • || есть обозначение равномерной нормы: ||д(т)|| = sup|д(т)|. [а,6] Займемся минимизацией правой части оценки (1) за счет выбора уз- лов a?i,..., хп. Многочлен ып(х) = (х — жД ... (х — хп) имеет старший коэффициент 1, поэтому ||шп|| (Ь — а)"21-2" согласно (8.6). Если взять в качестве узлов интерполяции b + а b — а (тг(2т — 1) \ Жт = —------1--- COS ------------ , 711 = 1, . . . , 71, (2) 2 2 \ 2п J ’ ’ v
§ 9. Минимизация оценки остаточного члена 63 ТО I 1 /л л>п91-2пт /2з;-(Ь + о)\ CUn(xj = — а) * I ---fr — а- 1 И IKII = (Ь-а)’^1^. Следовательно, при таком расположении узлов справедлива наилучшая из оценок, которая может быть получена как следствие оценки (1): ,,, , н< IIJ ^п\\ । W При получении оценки (1) максимум произведения заменен на произ- ведение максимумов сомножителей. Поэтому может возникнуть надежда получить оценку погрешности, лучшую, чем (3). Однако это не так. Если У (ж) = апХ11 + • • • + а0 — многочлен степени п, то /(?,)(С) = апп\ = const, поэтому неравенство (1) превращается в равенство; тогда, вследствие (8.6), при любых узлах интерполяции имеем Как уже отмечалось, важной проблемой вычислительной математи- ки является проблема оптимизации методов решения задач некоторого класса. Общая постановка ее такова. Задается некоторый класс Р решаемых задач р. Задается некоторое множество М методов решения. Пусть е(р,т)—погрешность метода т при решении задачи р. Величину е(Р, т) = sup е(р, т) реР называют погрешностью метода на классе задач Р. Величину е(Р, М) = inf е(Р,т) тЕМ называют оптимальной оценкой погрешности методов из множества М на классе задач Р. Если существует метод т Е М, на котором эта оценка достигается, т. е. е(Р, М) = е(Р, т), то такой метод называют оптималь- ным. Полученное нами решение задачи об оптимизации узлов распределе- ния интерполяционной формулы можно сформулировать в описанных выше терминах. Пусть Р — множество задач приближения функций, определенных на [а, Ь] и удовлетворяющих условию |/^(т)| Ап. Пусть М~множество методов приближения, состоящих в том, что функция заменяется ее ин- терполяционным многочленом Ln(x) по совокупности узлов з?1,..., a:n;
64 Глава 2. Интерполяция и численное дифференцирование таким образом, метод решения тп определяется заданием узлов интер- поляции Xi,..., хп. Наконец, пусть мера погрешности е(р. т) = ||/— Zn||. Согласно (1) имеем i-р \ Цо;,,|| е(Р, гп) . П1 С другой стороны, для задачи приближения многочлена л Рп+1(х) = ^хп + --- , п! относящейся к рассматриваемому классу, имеем п! Следовательно, е(Р, т) Как мы видели выше, е(Р, М) = infe(P, т) = inf Ап(Ь - а)п21^2п Таким образом, способ интерполяции по узлам многочлена Чебышева (2) является оптимальным в рассматриваемом смысле. В заключение произведем сравнение оценки (3) с оценкой погреш- ности разложения функции в ряд Тейлора. Согласно результатам § 6 отрезок ряда Тейлора п—1 tn(x) = j=0 /0)((а + ^/2) j! Х 2 совпадает с интерполяционным многочленом Лагранжа при единствен- ном, п-кратном узле интерполяции (а + Ь)/2. Поэтому, естественно, при оптимальном распределении узлов интерполяции (2) мы должны иметь лучшую оценку. В самом деле, оценк<1 ||/W||(b-<2-» п! погрешности отрезка ряда Тейлора уступает оценке (3) в 2П-1 раз. Приведем для сведения оценки погрешности интерполяции с узлами в нулях многочлена Чебышева. Для простоты возьмем случай, когда М = [-1,4- Оценка 1. Если f(x.) удовлетворяет неравенству sup |/^(3:)| < °°, то справедливо соотношение ||'/(ж) — Ln(a:)|| = О(п~™ Inn) при п -> со. Оценка 2. Если функция f(x) аналитична в каждой точке отрезка [-1,1], то ||/(т) - Zn(®)|| = O(qn), где q < 1.
§ 10. Конечные разности 65 Последнюю оценку можно конкретизировать. Пусть /(z), z = :г + гу функция, аналитическая в эллипсе на плоскости (х,у) с фокусами в точ- ках -1,1; тогда ||/(я;) — (ж)|| = О(с“п), где с > 1 —сумма полуосей этого эллипса. Таким образом, при интерполяции по узлам многочлене! Чебышева по- грешность автоматически уменьшается, если алгоритм применяется к бо- лее гладкой функции. Такие алгоритмы называют ненасыщаемыми. Если узлы интерполяции распределены существенно иначе, например равномерно, то даже для аналитической функции погрешность интерпо- ляции может стремиться к бесконечности с ростом числа узлов. Напри- мер, для функции /(а:) = (1 + 25.Т2)1 имеет место соотношение \\f(x)-Ln(x)\\^Aa", Л>0, а > 1. Задача 1. Пользуясь формулой (8.8), показать, что интерполяционный многочлен с узлами в нулях многочленов Чебышева записывается в виде г Z Ч ч 2тЛ,., /тг(2/с —1)\ Ln(x) — У^ауТ)(т), aj — — У^/(а:7)7)' ( j • j=o k=l v 7 Такая запись интерполяционного многочлена позволяет быстро и с малой чувствительностью по отношению к вычислительной погрешности вычи- слять его значения (см. § 4.8). §10. Конечные разности Пусть узлы таблицы :гг расположены на равных расстояниях: т?- = Xq + ih, f{ — соответствующие значения функции; величину h называ- ют шагом таблицы. Разности Уг+1 — fi называют разностями первого порядка. В зависи- мости от точки, к которой ее относят, эту величину обозначают: Д/j — разность вперед, Vfi+i — разност,ь назад, dfi+i/2 = //+1/2 ~ центральная разность. Таким образом, Л+1-Л = ДЛ = УЛ+1 = <5Л+1/2 = У/+1/2. (1) Разности высшего порядка образуют при помощи рекуррентных соотно- шений Д-Л = Д(Д’"-1Л) = дт-7г+1 - vmfi = v(vm-7) = vm“7i - v—Vi-i, ^fi = ^—7.) = ^-7i+1/2 - <5m-7i-1/2, 3 903 r = /^/12-/™v12.
66 Глава 2. Интерполяция и численное дифференцирование Таблицу разностей обычно располагают в виде X / A f2 f3 x0 fo /1% Si A fl fs/2 fl fl/2 S2 A fl/2 S3 A fl ^7/2 X'4 A В некоторых интерполяционных формулах наряду с упомянутыми выше величинами используются средние арифметические двух последователь- ных величин одного и того же столбца: Pf™ = (А+1/2 + /™1/2)/2пРи т нечетном, мЛи/2 = (fi+i + /Г)/2 при т четном. Лемма 1. Разности т-го порядка выражаются через значения функции по формуле т = £(-(2) j=o где Ст — коэффициенты бинома Ньютона. Доказательство проводим методом индукции. При т = 1 соотношение (2) выполняется согласно (1). Пусть оно доказано при т = I. Имеем i I = Д7г+1 - Д7г = £(-1УС'//и1+г_,- - _/=0 j=0 Собирая коэффициенты при одинаковых Д и пользуясь равенством Д I /'47’4-1 _ rv’+l ~ 4+1 > получим требуемое выражение для величины Д,+1/7;. Лемма доказана. Из (2) следует, что оператор конечной разности является линейным. В частности, из (2) имеем Д2/г = fi+2 - 2fi+l + fi, Д3 fi — fi+3 — 3fi+2 + 3/i+i — fi, = fi+4 - 4.А+3 + 6fi+2 - 4/i+1 + fi.
§ 10. Конечные разности 67 Лемма 2. При Xi = хо + ih справедливо равенство £ТП Их- Тл. ) - A+W/2 j [хг,..., хг+,п) - hm - (3) Доказательство проводим по индукции. При т = 1 имеем /Си; ч+1)=Ан^. ^"i+1 Предположив, что соотношение (3) верно при всех т I, имеем /Си; • • ч _ /Сп-и; • •; xi+i+1) - f(xt;xi+i) _ > 2-i+Z-t-l) — •E'i+l+1 fl fl fi+1 _ Ji+l+l/2 Ji+l/2 _ 'i+(/+l)/2 hlI,lh(l + V) + 1)! ’ таким образом, (3) справедливо при m = I + 1. Лемма доказана. Согласно (5.4) имеем /(ж^;= -----------------—, где ж,- xi+m. •ml Сопоставляя это равенство с (3), получаем дтл = vmfi+m = smfi+m/2 = f™m/2 = h-/(-)«). (4) Следствие. Конечные разности п-го порядка от. многочлена степени п постоянны, а разности любого более высокого порядка равны нулю. Рассмотрим влияние погрешности какого-либо значения f, на конеч- ные разности различных порядков; пусть вместо fi стоит fi + е. Тогда имеем таблицу разностей fi-2 ЛХ-Э/2 fi-l . fi-l + £ + £ 2 fi + E fi - 2e fi+l/2~e fi+l fl f^+C Ji+3/2 fi+2 Мы видим, что в соответствии с (2) на разности порядка т погреш- ность распространяется с коэффициентами (—1)JC^. Если функция до- статочно гладкая, то ее разности не очень высокого порядка могут ока- заться малыми. В то же время на их фоне величины Cf,e будут выгля- деть достаточно большими. Из наблюдений над таблицей разностей мож- но указать значение функции, содержащее погрешность, и исправить его.
68 Глава 2. Интерполяция и численное дифференцирование Точно так же можно обнаруживать погрешности, имевшие место при составлении таблицы разностей. Пусть, например, Д3/2 = 1 10“5, /33/2 = 2-10-5, /3/2 = 12 КГ5, /3/2 =-23 • IO"5, /3/2 = 11 1(Г5, /3/2 = 1 • 10~5. Если бы какое-либо значение fa содержало относительно большую по- грешность е. то в третьих разностях это обстоятельство проявилось бы в наличии величин вида с, — Зе, Зе, —е. В рассматриваемом случае тре- тьи разности практически равны нулю, за исключением f^,2, /Зу2, ./<ц2- которые примерно имеют вид е, —2е, е, где е — 11 10“5. Это наводит на мысль, что была допущена погрешность при вычислении значения ,/'-у2, которая и имела следствием эти возмущения в третьих разностях. Этот прием широко использовался при ручном счете для устранения случай- ных погрешностей расчетчика и на первом этапе использования ЭВМ, когда ЭВМ были малонадежны. Существовавшая на первом этапе ис- пользования ЭВМ общая рекомендация по устранению ненадежности за- ключалась в следующем. Задачу предлагалось решить два раза. В случае несовпадения результатов полагалось просчитать задачу повторно, пока результаты двух расчетов не совпадут1. Описанный выше метод исправления таблиц позволяет в такой ситу- ации уменьшить объем вычислений примерно вдвое. Пусть требуется составить таблицу какой-либо гладкой функции, ка- ждое вычисление которой обходится очень дорого. Вместо того, чтобы считать каждое значение дважды, просчитываем сразу всю таблицу, со- ставляем (вручную или с помощью ЭВМ) таблицу разностей и выявля- ем значения, которые нужно исправить (или повторным расчетом, или описанным выше приемом исправления таблиц). В настоящее время опи- санный прием используется для выявления погрешностей в результатах измерений. § 11. Интерполяционные формулы для таблиц с постоянным шагом Поскольку таблицы значений функций с постоянным шагом наиболее употребительны, приведем конкретные расчетные формулы для таких та- блиц. Если узлы интерполирования выбираются вблизи точки ж, где вы- числяется значение функции, то промежуточная точка Q в оценке оста- точного члена (3.1) также находится вблизи *очки х. Таким образом, величина /М(С) изменяется не очень сильно при выборе узлов в окрест- ности точки х.
§ 11. Интерполяционные формулы для таблиц 69 Следовательно, решающее влияние на значение погрешности оказыва- ет величина п К(з:)| = П |т - Xjl, 7=1 т. е. произведение расстояний от точки т до узлов интерполирования. Ве- личина |щ,(т)| будет минимальной, если в качестве узлов интерполиро- вания для нахождения f(x) мы возьмем п узлов, ближайших к х. Для этого при четном п = 21 следует взять по I узлов справа и слева от точки х. При нечетном п = 21 + 1 следует взять узел, ближайший к х, и по I узлов слева и справа от него. Если точка х находится вблизи одного из концов таблицы, то это правило несколько изменится. При интерполировании в начале или конце таблицы принято записы- вать интерполяционный многочлен в виде так называемых формул Нью- тона для интерполирования вперед или назад. Пусть Ln(x) —интерпо- ляционный многочлен Лагранжа по узлам то, .., ®n-l- Согласно (5.3) имеем Ln(x) = f(x0) + f(x0; Ti)(j; - т0) + • • + f(x0;...; Tn_i)(.T - т0)... (х - xn-2)- Произведем замену переменных x = xq + ht и перейдем согласно (10.3) от разделенных разностей к конечным. Получим г + ьы _ f . fl , . . fn-1 i(i-l).-.(i-(n-2)) Ln(x0 + ht) - /о + Д/2« + • + /(n_1)/2-(n-1)!----' Остаточный член (3.1) представится в виде /(.т) - £п(т) = /(")«) .^~1)---^-(п-1))^ П! Формулу (1) называют интерполяционной формулой Ньютона для интер- полирования вперед. Если мы произведем такую же замену переменных в интерполяционном многочлене Ln(x) по узлам тд, Т|,..., AJai) = №о) + ж-1)(т - то) Ч- • • • + /(®о; • ; т_(п_1))(т - то)... (т - т_(п_2)), то получим интерполяционную формулу Ньютона для интерполирования назад L„(X0 + ht) = /„ + Щ/2< + . • - + f(t + 1)(-<t + ("-2)) (2) с остаточным членом /(т) - ЛДт) = /W(C)^+1)---^+(n-1))^- п
70 Глава 2. Интерполяция и численное дифференцирование Эти формулы, в частности, используются при построении методов решения дифференциальных уравнений. Таблицы конечных разностей так же, как и та- блицы разделенных разностей, используются для оценки производных функ- ции. Если f^(x) непрерывна, то справедливо равенство lim = Мп; здесь Л—>0 Мп = max (.-г) . Поэтому при малых h можно [п,Ь] I I принять Мп Pi <7^. Дп f Jm hn 'l = max Часто приобретает особо важное значение малость степени полиномов, приближающих функцию. Уменьшения степени таких полиномов без по- тери точности иногда можно достигнуть, образуя линейные комбинации интерполяционных полиномов. Рассмотрим простейший из таких спосо- бов приближения функций. Требуется приблизить функцию на отрезке a:(;+i] многочленом вто- рой степени. Выпишем интерполяционную формулу Ньютона третьей степени по узлам ж9_1, з^+2, взяв узлы в последовательности Xq, Xq+1, Xq-1, Xq+2 И В ПОСЛвДОВатеЛЬНОСТИ TQ+1, Xq, Xq+2, xq-l- ИмввМ /(ж) = Р31(т) + т1(Ж); (3) Р3 (Ж) = / (Ж<?) + f(Xq> Xq+l)(X - Xq) + ; xq-^(x ~ xq)(x - Xq+1) + + /(Ж<Д TQ+i; Tq_i; Xq+2){x - Xq)^X - xq+l){x - Xq_-i)\ 1, /(4)(Cl)z W \t V X Г = ------4!--{X-Xq^){X-X4){x-Xq+Y){x-Xq+-2Y /О) = Рз2(ж) + г2(з:); Рз(ж) = /(я;<?+1) +/(ж<?+1; ®9)(ж-з:9+1) + + /(ж9+15 Xq, Xq+2)(x - .Tq+1)(t - Xq) + (5) + f(xq+i', xq; x.q+2; ж9_])(ж - xq+l)(x - xq)(x - xq+2\, r2{x} = ^-^^(х-з:9_1)(з:-ж9)(ж-ж9+1)(з:-з:9+2). Поскольку интерполяционный многочлен третьей степени, совпадаю- щий с функцией в четырех узлах, единствен, то рз (ж) = и /Wi) =/(4)Со- образуем полусумму равенств (4), (5). Так как Р3(ж) = рз(х), в ле- вой части будет стоять многочлен P3(t); при вычислении правой части
§ 12. Составление таблиц 71 образуем полусуммы от соответствующих слагаемых; введем обозначения: Ж9+1/2 = ХЧ + Л/2’ ^Л+1/2 = (Д2" + Л+1)/2- Получим F31 (ж) = M/g+1/2 + fg+l/2h 1 (Х ~ *9+1/2) + ^fq+l/2h~2(X ~ Xq+l)(X ~ Xq) + + ^fl+ll2h~4x ~ xq)(x ~ xq+l)(x - *9+1/2)- Обозначив первые три слагаемые в правой части последнего равенства через В2(ж), соотношение (3) запишем в виде /(*) = В2(ж) + ВД, В2(ж) = rfg+1/2 + fg+l/2h~4X - *9+1/2) + Vfg+l/2h~4X ~ Xq)(X “ *9+0, (6) R{x) = fq+l/2h~3(X ~ Xq)(X ~ *9+0(* ~ *9+1/2) + (7) + --^~1(X ~ *9"0(* - *g)(* - *9+0 (* - *9+2)- Многочлен В2(ж) называют интерполяционным многочленом Бесселя. Если подходить формально, то этот многочлен второй степени не явля- ется интерполяционным, поскольку он совпадает с /(.ж) только в точках *9, 2-9+1- В следующем параграфе будет видно, что использование многочлена Бесселя дает определенные преимущества по сравнению с непосредствен- ным использованием интерполяционного многочлена второй степени. § 12. Составление таблиц Рассмотрим следующую задачу. Требуется построить таблицу значений некоторой функции так, чтобы погрешность при интерполяции значений функции многочленом заданной степени т не превосходила е. В этом случае говорят, что таблица допускает интерполяцию степени т (с по- грешностью е). Таблицы, выпускаемые для широкого круга пользовате- лей, обычно составляются так, чтобы они допускали интерполяцию пер- вой степени, иначе — линейную интерполяцию. Примером таких таблиц могут служить таблицы В.М. Брадиса, известные из школьного курса. В дальнейшем рассматриваем случай таблицы с постоянным шагом. Для вычисления значения /(ж) при помощи такой таблицы берутся узлы Хд и Хд+1 справа и слева от точки х: xq < х < (они будут ближайшими к ж); затем /(ж) заменяется интерполяционным многочле- ном первой степени по этим узлам (для удобства обозначаем х — Xg+th): /(*) » Ь2(®) = fg + /9+1/2*-
72 Глава 2. Интерполяция и численное дифференцирование Погрешность этой формулы ГКМ2«(<1) где 't'q С •'Cq+1- Эта величина не превосходит е, если max |/"«)| Л2“ах I 2 I max И 9 Ч достигается при 2 = 1/2 и равен 1/8. Таким образом, доста- [0,1] I 2 I точно выполнения условия max|/"(C)| Р/8 е. (1) Пусть мы хотим составить или ввести в машину таблицу sin х на [О, тг/2] так, чтобы погрешность линейной интерполяции не превосходила 0,5 10 (|. Поскольку max |(siii7;)"| 1, то из (1) вытекает требование на шаг таблицы Л2/8 0,5 10~6 или h 0,002. Часто требование допустимости линейной интерполяции является слишком жестким и вместо него требуют допустимой квадратичной ин- терполяции (т. е. интерполяции многочленом второй степени). Простей- шим случаем квадратичной интерполяции будет интерполяция многочле- ном Лагранжа по трем узлам. Пусть xq — узел, ближайший к х, т. е. |ж — h/2. Имеем /(.т) « ЛзР) = fq + (2) Остаточный член этой формулы /(т)-Г3(т) = Я(<)Л3 Чтобы таблица допускала квадратичную интерполяцию (2), достаточно выполнения условия max |у(3\С)| fo3 шах \—---— I < е. г s'l |1|^1/2 I 6 I m |£(£2- 1)1 1 Гак как шах ----------- = —, то это требование на шаг перепишется в виде шах |/^3\С)|/г3/16 е.а (3) В конкретном случае при f(x) = sin.?:, е = 0,5 10-6 получаем h 0,02.
§ 12. Составление таблиц 73 Рассмотрим другой способ замены функции многочленом второй сте- пени. Пусть X G (.Eg, Tq+l), X = Xq + lit', ПОЛОЖИМ /(т) « В2(х) = l^fq+l/2 + /j+1/2(z - 1/2) + (4) fq+l/2 т. е. заменим /(а?) многочленом Бесселя второй степени (11.6), выпи- санным по узлам Xq-i, xq, Xg+i, xq+2. Согласно (11.7) остаточный член (4) есть /(f-!)(/-1/2) (4) 6 Т Так как /3+1/2 = />3/(3)(С), то для допустимости интерполяции по фор- муле (4) достаточно выполнения соотношения тах|/3)(ф3 max I I Osctsci j 6 | I Я4) ( E\I/4 I ~~ — 2) I , + max Л ’(C) \h max -------—------- e. Г vs'l о<р<д | 24 j Поскольку max |^-W-1/2)| _ _J_ max I I - A osjtsji | 6 I 72-УЗ o$t<;i | 24 | 128 то интерполяция по формуле (4) допустима, если max |/(3) (С) | A3 3max|f(4)(C)|^4 < 72-Уз 128 1 "'e’ При малых h главной частью является первое слагаемое; оно меньше, чем левая часть (3), в 9а/3/2 = 7,794... раз. Следовательно, при ма- лых h для выполнимости (5) можно взять шаг в « -у/9\/3/2 « 1,98 раз больше, чем для выполнимости (3). В рассматриваемом примере условие (5) имеет вид Л3/72Уз + З/У/128 0,5 • 10~6. Решая это неравенство, получим h h0 = 0,038.... Заметим, что при ручном счете шаг h = 0,038 неудобен вследствие «некруглости» этого числа. Поэтому при составлении таблиц его заменили бы заведомо на меньшее, но «более круглое» число 0,03. В многомерном случае иногда целесообразно дальнейшее увеличение степени используемого интерполяционного многочлена.
74 Глава 2. Интерполяция и численное дифференцирование § 13. О погрешности округления при интерполяции Предположим, что выбран некоторый способ интерполяции. Выше мы получили некоторое представление о погрешности, являющейся следстви- ем замены функции многочленом. Однако существует еще одна причина погрешности, в частности вследствие округления этих значений. Пусть требуется вычислить значение /(ж) по формуле п 3=1 являющейся общим видом рассматриваемых нами интерполяционных формул. Поскольку реально заданы не fj, а приближенные значения fj ~ fj + i]j, то в результате будет получено значение п п Г(^) =£ЛЛ(^) + £%Л(-г-)- 7=1 3 = 1 Если известны границы изменения значений •qj, то можно оценить верх- нюю грань погрешности п £ = ^^Рз(х)- 3=1 Например, при условии |ту7-| ту имеем оценку п |е| т/Л(т), Л(ж) = 1Р7^:)| 7 = 1 Величина Л может оказаться очень большой. 7 —- 1 Задача 1. Пусть f(x) интерполируется по узлам х.-, = —1 4-2---- j — п — 1 2П 1,..., п. Показать, что шах Л(т) > const —=. [-1,1] Vn Задача 2. Доказать, что если узлы интерполяции совпадают с нулями многочлена Чебышева, то шах |Л(т)1 const-Inn. [-1,1] Если мы вычисляем значение f{x) при xq < х < х^ интерполяцией по узлам я?о, Ж1, то 77(|Ро(ж)|+ |Fi(t)|) и
§ 14. Применения аппарата интерполирования. Обратная интерполяция 75 Таким образом, при линейной интерполяции погрешность, являющаяся следствием округления значений функции, не превосходит погрешности этих значений. Наличие большого числа формул интерполирования, применявшихся во вре- мена ручного счета, отчасти объясняется именно поисками алгоритмов, поро- ждающих минимальную вычислительную погрешность. § 14. Применения аппарата интерполирования. Обратная интерполяция Употребление интерполяционных многочленов оказывается полезным при решении такой задачи. Пусть требуется найти экстремум функции и точку экстремума. Со- ставим таблицу значений функции с крупным шагом. Из рассмотрения этой таблицы можно увидеть место расположения экстремума. В предпо- лагаемой области расположения экстремума приблизим функцию интер- поляционным многочленом и найдем его точку экстремума Pi. В окрест- ности точки Pi составим таблицу значений функции с более мелким ша- гом. Из рассмотрения этой таблицы можно уточнить расположение экс- тремума и т. д. Степень интерполяционного многочлена берется такой, чтобы точка экстремума определялась в явном виде. В одномерном слу- чае берется интерполяционный многочлен Лагранжа или Бесселя второй степени или интерполяционный многочлен третьей степени. В многомер- ном случае, как правило, функция приближается многочленом второй степени. На практике, начиная с окрестности приближения Pi или следующего приближения Рц, уже не строят подробной таблицы значений функции, а ограничиваются минимальным числом точек в окрестности имеюще- гося приближения Рп, достаточным для построения интерполяционного многочлена. Описанный способ является одним из наиболее употребительных при отыскании экстремума функции многих переменных. В одномерном случае иногда после вычисления значения f(Pn) не вы- числяют дополнительно никаких новых значений функции, а проводят интерполяцию, используя это значение и ранее вычисленные значения. Другой типичной задачей, где может быть применен аппарат интер- полирования, является нахождение корня X уравнения /(.т) — d. Путь решения этой задачи тот же самый. Составляем таблицу значе- ний функции; определяем по ней грубо, где находится корень уравнения, затем составляем таблицу с более мелким шагом и т. д. Если вычисление функции относительно нетрудоемко, неразумно при- менять в процессе вычислений интерполяцию степени выше второй; в противном случае возникает задача нахождения корней многочленов, са- ма требующая достаточно большого числа арифметических операций.
76 Глава 2. Интерполяция и численное дифференцирование Если вычисление функции трудоемко, может оказаться более выгод- ным пойти по пути увеличения степени интерполяционного многочле- на. В случае, когда в окрестности у = d функция р(у), обратная к /(ж), является достаточно гладкой, более эффективным может оказаться при- менение обратной интерполяции. Обратной интерполяцией называется следующий алгоритм. Пусть известны значения функции у, = /(.тг) при г — 1,..., п. Эта информация эквивалентна тому, что известны значения тг- — ц (уг) обратной функции. При условии допустимости интерполяции по переменной у можно заменить обратную функцию д(у) интерполяци- онным многочленом Тп(у), удовлетворяющим условиям Ш * — 1,. . . . П, и положить X = g(d) Ln(d). Такой способ особенно удобен, если нас интересуют значения решений уравнений при достаточно большом числе значений d или желательно получение явного выражения корня уравнения f(x)=d в зависимости от параметра d. Если интерполяция по узлам yi,..., уп не обеспечивает нужной точности, полагаем ®n+i = Еп((/), Уп+i = f(xn+i). Далее, в зависимости от обстановки, целесообраз- но заменить g(d) значением интерполяционного многочлена по всем уз- лам У1,-.-,Уп+1 или по некоторым из этих узлов, ближайшим к d. § 15. Численное дифференцирование Простейшие формулы численного дифференцирования получаются в ре- зультате дифференцирования интерполяционных формул. Пусть известны значения функции в точках ад,..., хп и требуется вычислить производную Построим интерполяционный многочлен Ln(x) и положим /(/с)(т0) « L^\x0). Точно так же мы можем заменять значения производных функций значениями производных других много- членов интерполяционного типа, например Бесселя. Другой способ построения формул численного дифференцирования, приводящий к тем же формулам, — это метод неопределенных коэффици- ентов. Наиболее употребителен он в многомерном случае, когда не все- гда просто выписывается интерполяционный многочлен. Коэффициенты формулы численного дифференцирования п f^^^^CifXxi) (1) i=l выбираются из условия, чтобы формула была точна для многочленов максимально высокой степени. Возьмем f(x) — и потребуем, что- у=о
§ 15. Численное дифференцирование 77 бы для такого многочлена соотношение (1) обратилось в равенство Чтобы равенство выполнялось для любого многочлена степени т, необ- ходимо и достаточно, чтобы коэффициенты при a,j в правой и левой частях были равны. Поскольку то получаем линейную систему уравнений п j(j — к + l)xJ0~k = ^cixi, j = (2) j=i относительно неизвестных с,;. Если т = п — 1, то число уравнений равно числу неизвестных. Определитель системы является определителем Ван- дермонда, поэтому отличен от нуля. Таким образом, всегда можно по- строить формулу численного дифференцирования с п узлами, точную для многочленов степени п — 1. При т = п—1 и определенном расположении узлов иногда оказыва- ется, что равенство (2) выполнено и для j = п. Как правило, это будет в случае, когда узлы расположены симметрично относительно точки ад. В приведенных ниже задачах для простоты взято а?о = 0. Пусть узлы Х{ распо- ложены симметрично относительно точки xq = 0, т. е. Ж| = — хп, Xj = —:c„_i и т. д. Если п нечетно, п = 21 + 1, то тогда xi+i = я?о = 0. Задача 1. Пусть к четно (в частности, к может быть равно нулю и то- гда речь идет об интерполировании). Доказать, что тогда сп = cj, с,,„ | = с2, и вообще cn+1_fc = ck. Доказать, что вследствие такого свойства симметрии формула (1) ав- томатически является точной для любой нечетной функции. В частности, при п нечетном формула (1) будет точна для хп, поэтому она точна и для любого многочлена степени п (поскольку для любого многочлена степени п — 1 она уже оказалась точной по построению). Задача 2. Пусть к нечетно. Доказать, что тогда сп = — щ, спщ = ~с2,..., и вообще cn+i_fc = —Cfc. Если п нечетно, п = 21 + 1, то при к = I + 1 имеем q+i = —q+i и, следовательно, q+i = 0. Доказать, что вследствие такого свойства симметрии формула (1) ав- томатически является точной для любой четной функции. В частности, при п четном она будет точна для хп и поэтому будет точна для лю- бого многочлена степени п.
78 Глава 2. Интерполяция и численное дифференцирование Таким образом, при симметричном относительно xq расположении уз- лов, к четном, п нечетном или к нечетном, п четном формула (1) ока- зывается точной для многочленов на единицу большей степени. Свойства симметрии формул численного дифференцирования исполь- зуются для уменьшения числа уравнений, которые нужно решить при построении формулы. Пусть требуется построить формулу численного дифференцирования Г(0)«с1/(-/1) + с2/(0) + Сз/(Ч точную для многочленов второй степени. Система уравнений (2) в дан- ном случае имеет вид О = С[ + с2 + сз, 1 = с1(—I1) + гз(/?), О = ci(-Л)2 + сз(Л)2, и, решая ее, получаем щ = —l/(2/z), с2 = 0, сз — 1/(2Л). Воспользуемся свойством симметрии и сразу возьмем формулу, для которой сз = —щ, с2 = 0. Тогда первое и третье уравнения выполнены автоматически, а второе приобретает вид 1 = 2сзЛ, т. е. сз = 1/(2/?.). Таким образом, ~ (f(h) - Задача 3. Пусть все точки Xj удалены от точки х0 на расстояние О(Л), Л —малая величина. Показать, что при гладкой /(.т) приближенная формула численного дифференцирования (1) имеет порядок погрешности О(Л'т), где т = I + 1 — к, I— максимальная степень многочленов, для которых точна эта формула. Построим приближенную формулу вычисления второй производной, использующую те же узлы: С1/(-/0-Ьс2/(°)+сз/(/0 J W ~ Из условий точности формулы для 1, ж, ж2 получаем систему уравнений 0 = ci + с2 + с3, _ ci(-/z) + c3(/t) Л2 Л2 Решая эту систему, получим cj = сз = 1, с2 = — 2 и соответствующую приближенную формулу Г(о) « Ж)-2/(0) +/(-Л) (3)
§ 15. Численное дифференцирование 79 Мы можем не сомневаться в том, что получили правильную формулу. Выра- жение в правой части есть f2Jh2 - Д'2f-i/А2, и, согласно (10.4), оно равно значению /"(f). У многочлена второй степени вторая производная постоянна, поэтому /о /И2 = = f"(x) при любом х, в частности ft/lr = /"(0). Построенная формула оказывается точной для любого многочлена третьей степени. Если подставим в левую и правую части (3) функцию /(ж) = ж3, то в обеих частях получим нуль. Оценим погрешность построенной выше приближенной формулы у'(0) рл (f(h) — /(—/г))/(2/г). В формуле Тейлора возьмем три члена раз- ложения и остаточный член Ж) = /(0) + hf(O) -h у/"(0) + у/"'(£+), 0 < /г, 2 о /НО = /(0) - И(0) + уГ(О) - у/"'(£-), -h 0. п Введем обозначение Rk(f) = Т»/(ж0- Имеем / ^3 = /'(0) - Q/(o) + л/'(о) + -/"(0) + у/"'(£+) - h2 h3 \ - (f (0) - И(0) + - у/"'(£-)) J / (2А) = = т-(ло)4(0±)±пы)^ h2 /"'(£+) + /"'(£-) —--Q = ------------- Значение а лежит- между /"(f+) и /"(£_). Поэтому по теореме Ролля найдется f в пределах [f_, f+] такое, что а = Таким образом, в итоге имеем h2 о Рассмотрим приближенную формулу (3). Предположим сначала, что нам неизвестно, точна ли она для любого многочлена третьей степени. Беря в разложении Тейлора три члена h2 h3 f(±h) = /(0) ± hf'(0) + -/"(0) ± у r'(f±),
80 Глава 2. Интерполяция и численное дифференцирование получим Дг(/) = Г(0)-^)-2^Г^) = Г(0)- Г h2 h3 - [/(0) + hf(O) + —/"(0) + у/"'(£+) - 2/(0) + /(0) - 7г/'(0)+ /,2 Z.3 I I + ^Г'М ~ тгПС) /^2 = -—(/"Ш) - /'"(О- 2 о J о Если /(ж) — многочлен третьей степени, то /'"(ж) = const, поэтому Т?2(/) = 0. Таким образом, из выражения для погрешности мы увиде- ли, что формула (3) точна для всех многочленов третьей степени. По теореме Лагранжа Г"(е+)-Г(е-) = (е+-е-)/(4)(ё); £ € [£-, £+]. В то же время £+ € [0, h], £_ 6 [—/г, 0], откуда следует 0 £+ - 2/г. Таким образом, — £_ = 0 • 2/1, где 0 0 1, и 1.2 Я2(/) = ~0у/(4Ш 0^0^ 1. Если в разложении Тейлора взять четыре слагаемых /(±/1) = /(о) ± /1/'(о) + у/"(о) ± у/-(о) + ^/4)ы, то получим выражение для погрешности /(4)(е+) + /(4)(е-) 2 Рассуждая, как и при выводе оценки погрешности для первой производ- ной, имеем /, 2 ад) = -^/(4Ш Приведем ряд формул численного дифференцирования функций, за- данных на сетке с постоянным шагом хп = xq + nh-. ГЫ = у|у/(п+1)ОЛ Т г (4) ГЫ * W) = j=lJ * Это так называемые односторонние формулы численного дифференци- рования. В первой формуле (4) все узлы удовлетворяют условию Xk xq, h2 / ад) = (
§ 15. Численное дифференцирование 81 во второй .Tfc -То- Среди таких формул наиболее употребительны сле- дующие: n=l, =----Ti----; n = 2, /Ы-ДЛ/^Л^-------------------------- n = l, —=--------~h----; „ _ O 1 (fl , 1 f2 \ _ 3fы - 4f(z-1) + J(X_2) n-2, + Такие приближения производных часто используются при решении диф- ференциальных уравнений для аппроксимации граничных условий. При- ведем примеры симметричных формул: (-1^0 ((»№-a)2 f2i+i. I i/2 ’ Г (2; +1)! ft(/)=(-i)'-((^( р'/Д" "))2/(2'+1)№2'- Наиболее употребительны следующие частные случаи: /=i, г Л/2 = /(Я?!) - f(x0) h h (уже рассмотренный нами выше в других обозначениях); 1 = 2, fi ( h f 1*0+2 fi/2 24^/2 _ -/(2/z) + 27f(/z)-27f(0) + f(-/Q 24h 1 h Формулы для второй производной записываются в виде 2(-1Г1((у-1)!)2л- Jo ’ (27)! остаточный член
82 Глава 2. Интерполяция и численное дифференцирование Наиболее употребительны частные случаи: l = 1> f Ы) -2 , Z = 2, ГЬ) ^/o) = _ -/(2/0 + 16/(h) - 30/(0) + 16/(-A) - /(-2/0 12/i2 Для высших производных простейшую грубую аппроксимацию можно получить, воспользовавшись (10.4). При 0 j к имеем Rk = /(fe)(^0 - ~г = = O(h). Наиболее употребительные частные случаи: односторонние формулы численного дифференцирования = /(ч(0) = ^г = ^. имеющие погрешность порядка O(h), и симметричные формулы числен- ного дифференцирования. При к четном fw(o)« /ofcM при к нечетном Эти формулы имеют погрешность О (Л2). При к = 1, 2 такими формулами как раз являются формулы, приведенные выше. При выводе формул численного дифференцирования из приближенного ра- венства /W(xo)«L<7(^o) оценку погрешности также можно получить, дифференцируя остаточный член в (5.1): /(А)(ад) = L<R>(x0) + (/(ж; жц...; тп)шп(т))(А) I . ' 2-0 Для получения конкретной оценки надо воспользоваться правилом Лейбница и доказать равенство (/(ж; x„))(e) = qlf(x;...; x;*xi\...; хп). <7-ы раз
§ 16. О вычислительной погрешности формул 83 § 16. О вычислительной погрешности формул численного дифференцирования При решении одной задачи управления имела место следующая ситу- ация. Управление объектом выбиралось в зависимости от его скорости движения в данный момент; скорость вычислялась по простейшей фор- муле численного дифференцирования как отношение приращения коор- динат к промежутку времени 6t между двумя последовательными мо- ментами измерения положения объекта. Перед непосредственным конструированием системы было произведено подробное моделирование ее работы с помощью ЭВМ: координаты объ- екта брались со случайными погрешностями измерения и т. д. Численные эксперименты показывали, что объект должен все время резко менять на- правление движения и требуемое управление движением нереализуемо. Однако уменьшение промежутка fit не приводило к улучшению дела. В данном конкретном примере пробле- ма была решена путем увеличения промежут- ка fit в 100 раз по сравнению с предполагав- шимся заранее. Попутно это привело к сни- жению стоимости управляющей системы. Дело заключается в том, что часто умень- шение погрешности метода, в данном случае формулы численного дифференцирования, со- провождается ростом влияния погрешности исходных данных и вычислительной погреш- ности. Численное дифференцирование относится к таким задачам, где влияние этих погрешностей сказывается уже при умеренных значениях погрешности метода решения задачи. Пусть для определенности значение /'(то) определяется из соотно- шения /'(жо) « (/(a-'i) ~ f(x0))/h. (1) Согласно (15.4) остаточный член этой формулы имеет вид И = ~f"(Qh/2. Пусть Л12, тогда |n| M2h/2. Если значения функции /(a,j) известны с некоторыми погрешностя- ми ег, |gj| Е, то погрешность /'(то) будет содержать дополнительное слагаемое = -(ei - £o)/h, |r2| < 2E/h. Для простоты пренебрежем округлениями при реальном вычислении правой части (1). Тогда имеем оценку погрешности И |п| + |г2| < д(К) = M2h/2 + 2E/h. (2)
84 Глава 2. Интерполяция и численное дифференцирование Для малости погрешности необходима малость h, но при уменьшении h растет второе слагаемое (рис. 2.16.1). Из уравнения g'(h) = 0 получаем точку экстремума ho для g(h): затем значение h0 ~ 2у/Е/М2, g(h0) = 2уД^Ё. Таким образом, ни при каком h нельзя гарантировать, что погрешность результата будет величиной порядка о{\ГЕ}. Погрешности £; возникают вследствие погрешностей в задаваемых зна- чениях функций, например, если функция определяется из измерений или вычисляется по некоторой приближенной формуле. Поскольку эти значения округляются дополнительно при вводе в машину, то следует считать, что Е const • 2~z, где t —число разрядов. Таким образом, мы можем получить /'(sq) в лучшем случае с половиной верных разрядов. В случае применения формул более высокого порядка точности положение не- сколько улучшается. Пусть производная у^к)(х) вычисляется по формуле т/(/г)(.т) /X су =0(1), (3) с остаточным членом О(/?/). Все рассмотренные выше формулы численного дифференцирования могут быть записаны в таком виде: в знаменателе — hк, а в числителе — коэффициенты порядка 0(1). Погрешность, являющаяся след- ствием погрешностей в правой части (3), оценивается величиной const • E/hk. Таким образом, вместо (2) мы имеем |r| <д(Л) = AJi1 + A2E/hk. Минимум правой части достигается при h порядка Е1^1+к), при этом сама правая часть имеет порядок Е'^1+к). Таким образом, с ростом I порядок по- грешности по отношению к Е повышается; при этом значение шага, соответ- ствующее минимуму оценки погрешности, становится все больше. Конечно, следует иметь в виду, что величины Ai и А2 могут расти с ростом I, поэтому увеличение I разумно лишь в определенных пределах. Иногда складывается обстановка, когда повышение точности формул числен- ного дифференцирования не приводит к требуемому результату. Тогда при- меняются методы предварительного сглаживания исследуемой функции. Од- на группа методов базируется на идеях математической статистики. За счет обработки большого числа наблюдаемых значений функции уменьшается слу- чайная погрешность в ее значениях. Другая группа методов, получающая рас- пространение в последнее время, использует идеи регуляризации. О методах этой группы подробнее будет сказано в последующем.
§ 17- Рациональная интерполяция 85 §17. Рациональная интерполяция В ряде случаев большую точность приближения можно достигнуть, используя рациональную интерполяцию. При заданных /(.тцf(x„) приближение к f(x) ищется в виде _ Qq + ащ' + + архр Ьо Г Ь]Х + • ' + bqX1! р + q + 1 = п. Коэффициенты щ, bi находятся из совокупности соотношений R(xj) = f(xj), j -- 1, которые можно записать в виде 52°^ ~ = 0’ г = 1,...,п. (1) J=o .7=0 Уравнения (1) образуют систему п линейных алгебраических уравне- ний относительно п + 1 неизвестных. Функция R(x) может быть записана в явном виде в случаях, когда п нечетное и р = q, и когда п четное и р — q = 1. Для этого следует вычислить так называемые обратные разделенные разности, определяемые условиями f (жб хk) = г, , <•/ д i(xi) - f(xk) XI - Хк Х[ Хк и рекуррентным соотношением Г(хк-,...; Xi) = —--------------------------------------------- ./ (a’fc+i; ; xi) - / (хк;...; xi^i) Интерполирующая рациональная функция записывается в виде цепной дроби X — X — Х2 — I \ Ж Хп—1 (ат; т2; х3) ч--р ——------------ Использование рациональной интерполяции по подходящим образом вы- бранным узлам часто целесообразнее интерполяции многочленами в слу- чае функций с нерегулярным характером поведения (резкое изменение или особенности производных в отдельных точках). Литература 1- Бабенко К. И. Основы численного анализа. — М.: Наука, 1986. 2. Бахвалов Н. С. Численные методы. — М.: Наука, 1975. 3. Крылов В. И., Бобков В. В., Монастыриый П. И. Начала теории вычислительных методов. Интерполирование и интегрирование. — Минск: Наука и техника, 1983. 4. Крылов В. И., Бобков В. В., Монастырный П. И. Вычислительные методы. Т.1. — М.: Наука, 1976. 5. Локуциевский О. В., Гавриков М. Б. Начала численного анализа. — М.: ТОО «Янус», 1995.
"--Глава 3 =^=====^=^- Численное интегрирование Эта глава посвящена методам приближенного вычисления одномерных интегралов. Сначала строятся простейшие формулы для приближенно- го вычисления интегралов по отрезку. Такие формулы называют квадра- турными. В многомерном случае (когда размерность интеграла больше единицы) формулы для приближенного вычисления интеграла называют кубатурными. Изучается вопрос о повышении точности вычисления интегралов за счет повышения порядка точности квадратур (т. е. повышения степени полиномов, для которых квадратуры точны), за счет разбиения отрезка на части, за счет сведения интегралов от функций с «особенностями» к интегралам от более гладких функций. На примере численного интегрирования иллюстрируются требования, предъявляемые к стандартным программам и алгоритмам, которые кла- дутся в их основу. Даются описания ряда стандартных программ чи- сленного интегрирования. § 1. Простейшие квадратурные формулы. Метод неопределенных коэффициентов Простейшие квадратурные формулы можно получить из наглядных со- ображений. Пусть вычисляется интеграл 1 = [ f(x)dx. (1) Если /(ж) ~ const на рассматриваемом отрезке [а, ?>], то можно положить I ~ (Ь—а)/(С)> С — произвольная точка на [а, 6]. Естественно взять в каче- стве £ среднюю точку отрезка; тогда получим формулу прямоугольников (b~a)f а + Ь\ 2 ) '
§ 1. Простейшие квадратурные формулы 87 Предположим, что функция f(x) на [а, Ь] близка к линейной; тогда естественно заменить интеграл площадью трапеции с высотой (Ь — а) и основаниями /(а) и /(b) (рис. 3.1.1). Получим формулу трапеций T~(h + 1 ~ (о-«)---2----• Если функция /(ж) близка к линейной, то из наглядных соображений видно, что формула прямоугольников также должна давать неплохой ре- зультат: дело в том, что (Ь-~ «)/есть площадь любой трапеции с высотой Ь — а и средней линией f в частности, она равна площади трапеции, у которой одна из сторон лежит на касательной к графику функции в точке (Рис- 3.1.2). Более сложные квадратурные формулы, так же как и формулы чи- сленного дифференцирования, строятся методом неопределенных коэффи- циентов или при помощи аппарата интерполирования. Рассмотрим простейший пример построения квадратуры методом не- определенных коэффициентов. Строится квадратурная формула L /(ж) dx « S(J) = C1/(-l) + с2/(0) + сз/(1), 1 точная для многочленов наиболее высокой степени. Погрешность квадра- туры R(f) = f f(x)dx-S(f)
88 Глава 3. Численное интегрирование т является линейным функционалом, и при f = a-jx'1 имеем 7=0 m ад = Е^-ад')- 7=0 Таким образом, нужно добиться выполнения равенств Д(1) = 0, ..., R(xl) = 0 при возможно большем значении I. Получаем уравнения /?(1) = 2 — (ci + С2 + Сз) — 0, R(x) = 0 - (-ci + с3) = 0, 2 Я(т2) = - - (ci + с3) = 0, Я(я3) = 0 - (С1 + с3) = О, Поскольку нужно определить 3 свободных параметра, то, вообще говоря, можно решить лишь первые три уравнения, из которых получаем ci = сз = 1/3, с2 = 4/3. В данном конкретном случае четвертое уравнение выполнено автомати- чески и мы получаем квадратуру, точную для многочленов третьей сте- пени, называемую формулой Симпсона. Вообще говоря, требуется вычислять интегралы не по отрезку [—1, 1], а по произвольным отрезкам [а, Ь]. Переход к отрезку [—1, 1] удобен тем, что для него арифметические выкладки, выполняемые при построении квадратуры, оказываются короче. Иногда оказывается, что подынтегральная функция хорошо приближа- ется не многочленами, а так называемыми обобщенными многочленами, т т.е. линейными комбинациями вида ^Pb-pp.j(x), где <p>j(гс) — какие-то кон- 7=0 кретные линейно независимые функции. Тогда методом неопределенных коэффициентов строится квадратура, точная для функций такого вида. Наиболее часто такие квадратуры используются в случае, когда /(гс) хорошо приближается функциями, представленными в виде произведения некоторой фиксированной функции р(х} на многочлен, т. е. функциями вида т ^ajp{x)xC 7=0
§2. Оценки погрешности квадратуры 89 В этом случае функцию р(х) называют весом или весовой функцией, по- лагают F(j;) = f (х)/р(х) и исходный интеграл записывают в виде dx. (2) Задача построения квадратуры гь " ,f(x)dx « ^Cjfixj), 0. точной для всех функций вида р(х)Рт{х), где Рт(х) — многочлен степени т, заменяется задачей построения квадратуры / F(x)p(x) dx к CjF^Xj), Ja j=i точной для всех многочленов степени т. В случае, когда все p(xj) от- личны от нуля и бесконечности, эти задачи эквивалентны. В дальней- шем подынтегральную функцию в таких интегралах будем обозначать как f(x)p(x). Перейдем к оценке погрешности квадратурных формул. § 2. Оценки погрешности квадратуры Пусть вычисляется интеграл (1.2). Если квадратура точна для много- членов Рт(х) степени т, то R(Pm) = I(Pm) - S(Pm) = О, поэтому = R(f - Рт) + R(Fm) - R(f - Рп) при любом многочлене Рт(х) степени т. Оценивая в R.(g) каждое сла- гаемое, получим оценку rb п №)| < / |£7(ж)| |р(ж)| dx + IQI 1<7(^)| V'snp |.д(т)|, Ja j=i IM где V= [^pWdx + fyjj]. Ja Поэтому \R(f)\^\R(f-Pm)\^V\\f-Pm\\c при любом P,n — многочлене степени m; здесь II/ - Pmllc = sup |/(rc) - Pm (ж) I . [a, 6]
90 Глава 3. Численное интегрирование Взяв в правой части нижнюю грань по всем многочленам степени т, получим оценку W)\ VEm(f), (I) где Em(f) = mf II/ - ^Не- построенные выше простейшие квадратурные формулы и ряд более сложных квадратур удовлетворяют условию Cj 0, если р(х) > 0; в рассмотренных нами примерах р(т) = 1. Условие, что квадратура точна для многочлена нулевой степени, т. е. для функции f = 1, имеет вид /(1)= / bp(x)dx = S(l) = ^CJ- Ja j=l При р(х) 0 и Cj > 0 имеем п п ph E|C,| = £C,= / РИЛ, (2) 7=1 j=l Ja rb поэтому V = 2 p(x)dx. Обращаясь к (1), получим оценки /ft |Л(/)| 2 dx>) Em(f) 2 <b) II/ - Рт\\с, где Рт — любой многочлен степени т. Если в качестве Рт взят интерпо- ляционный многочлен по нулям многочлена Чебышева, то на основании (2.9.3) имеем A-flV't+l \ 7 / В конкретном случае для веса р(х) = 1 и формул прямоугольников, тра- пеций, Симпсона, где все Cj 0, имеем V — 2(Ь — а) и В частных случаях, например для формул прямоугольников и трапеций, где т — 1, отсюда имеем |Я(/)1 ^Ц^Ч1/"|1с; для формулы Симпсона, где т = 3, имеем * |Я(/)1 ^rll/(4)Нс-
§2. Оценки погрешности квадратуры 91 Эти оценки одинаковы для всех квадратур, точных для многочленов какой-то определенной степени, например для формул трапеций и прямо- угольников. Можно получить и более точные оценки погрешности этих квадратур. Опишем универсальный способ получения наиболее точных оценок. В качестве Рт (я;) возьмем сумму первых т + 1 членов разложения функции /(.т) по фор- муле Тейлора в какой-либо точке ,г0 отрезка [а, Ь]. Для определенности возьмем я:0 = а и рассмотрим случай, когда все .т, € [а, Ь]. Пусть Рт(х) — такая сумма, г,„(т) — ее остаточный член: Имеем равенство R(f) = R(r,n(x)) = 1(гт(.т)) - £ Cjrm(xj). Остаточный член формулы Тейлора возьмем в интегральной форме: rm(x) = / Jn in'. В двукратном интеграле /(ПиИ) = £ р(.т) da: сделаем интегрирование по t внешним, а по х — внутренним. Получим Дп»(.т))= J а где Р 1Х _ Ы™ Rm(t) = / Pt*)—----j--dx. Jt ml Таким образом, получим R(f) = I” dt-^2 Cj Г -j- ,-r-/(m+1)(t) dt. J a j=1 J a m- Положим {Xj — t при a t xj, О при остальных t. Используя это обозначение, представим погрешность Rff) в виде W) = fhQ(t)f,n+14t) dt, Q(t) = Km(t) - у Cj^i- Ja ~ ml (3)
92 Глава 3. Численное интегрирование Отсюда следует оценка погрешности |.й(/)1< ( /b|QWHHII/(m+1)lk'. (4) ° / Если Q(t) не меняет знака на отрезке [а, 6], то по теореме о среднем из (3) папучаем iw)i= ( А(*ир,ш4П(а (5) Далее для простоты положим р(х) = 1. Задача1. Предположим, что в качестве Рт(ж) берется сумма (т + 1)-го члена разложения функции /(д) в ряд Тейлора относительно произволь- ной точки xq а. Доказать, что представление погрешности (3) при этом не изменится. Задача 2. Пусть точка а фиксирована, /(т+1)(ж) непрерывна в точке Доказать, что при b —> а, С{ = О(Ь — п) Гь / Q(t) dt = О ((b - а)т+2) , ./ а. R(f) = (dt) (а) + о ((b- а)т+2) . где Q(t) определено в (3). Рассмотрим для примера формулу трапеций. Тогда Jt z Q(t) = ~ «) = (« - tyb - t) < 0; подставляя Q(t) в (5), получим J а 1 z ад = В случае формулы прямоугольников W) = = ? 0. подставляя Q(t) в (5), получим R(.f) =
§ 2. Оценки погрешности квадратуры 93 Часто на практике интересуются не оценкой погрешности (5), которая не поддается улучшению, а ее главным (при (6 — о) —> 0) членом J а Если для некоторого т оказалось, что соответствующий интеграл I Q(t)dt равен нулю, то это значит, что квадратура точна для много- J а членов степени т4-1. В этом случае надо увеличить т на 1 и провести аналогичные рассуждения для этого нового значения т. Для вычисления главного члена погрешности можно поступить следу- ющим образом. Представим /(ж) в виде суммы первых (т + 2)-х членов разложения Тейлора относительно некоторой точки жо G [«, 6] и остаточ- ного члена; при этом, объединив первые т 4- 1 слагаемых в многочлен степени т, получим f№ = ВД + + Д„.+1(т), (т 4-1)! где т (т — TrV СИ = Е гт+1 (ж) = о ((ж - ЖОГ+1) . г-0 Вследствие линейности функционала погрешности имеем равенство R(,f) = R(T™(x)) + ((* - *o)m+i) + Д(гт+1(ж)). Первое слагаемое обращается в нуль, так как квадратура точна для мно- гочленов степени т. Поскольку |Н(г„,.+1(ж))| =£ V|km+i||G = о ((& - а)т+2) (при условии, что V < ос), то ,т+1 является главным членом погрешности R(f)- Для простоты выкладок при конкретном вычислении R. ((ж — жо)т+1) часто удобно произвести за- мену переменных ж = (а 4- 6)/2 4- ht, h = (Ь — а)/2, и рассматривать разложение в ряд Тейлора относительно точки t = 0. Задача 3. Проверить, что R ((X -«„)’“+>) = dt.
94 Глава 3. Численное интегрирование Задача 4. Доказать, что R ((ж — жо)"'+1) не зависит от выбора xq. В частном случае для формулы трапеций имеем . О (Ь 1 . о 1 . .о R(x - а)2 =---------(& - а)3 = --(Ь- а)'\ 3 2 6 поэтому погрешность R(f) с точностью до членов высшего порядка име- ет вид § 3. Квадратурные формулы Ньютона—Котеса Рассмотренные далее квадратуры относятся к большой группе квадра- турных формул, полученных с помощью интегрирования интерполяцион- ного многочлена и объединенных под одним названием — квадратурные формулы Ньютона—Котеса. Зададимся некоторыми <Д,..., 6 [—1, 1] и построим интерполяционный многочлен Ln(x) степени n—1, совпадающий ч а + b b - а , с j{x) в точках xj = —---1----—щ. Положим / ,f(x)p(x)dx и / Ln(x)p(x)dx. J a J a Имеем -Rn(/) = [ f(x)p(x)dx - [ Ln(x)p(x)dx = [ р(ж)(/(ж) - £„(ж))^ж. J a J a J a Разность /(ж)—1/п(ж) оценим, воспользовавшись оценкой погрешности ин- терполяционного многочлена Лагранжа \ [а,Ь] I I/ П\ где а>п(х) = (х — a?i)... (ж — хп). Отсюда \Rn(f)\^ Гтах|/”>(ж)Й dx_ \[“>Ц I Ja п\ Произведем в последнем интеграле замену переменных, положив х — а + b Ь — а m X{t) = ----Ь —х— t- Тогда 2 2 1 [ь\ , ч ч I , ч (Ъ-а\п+1 — \a>n(x)p(x)\dx = D(d1,..., dn) (—— ]
§3. Квадратурные формулы Ньютона—Котеса 95 где г1 |^п(Ф°(0 I D(di ,...,dn) = j J--------1 dt, л , / . л, , f a + b b — a \ w„(0 = (* - di) - - • (« - dn), P (t) = P тр + — Таким образом, справедлива оценка UW)| -D(di, - - •, d„) (max |.fW(ж)|) ) Пусть все dj различны. Тогда J=1 i*j 3 После замены переменных х = X(t) получим ( p(x)Ln(x)dx = Е22^^’ 2 ° \ / у=] где (1) (2) (3) Таким образом, построенная квадратурная формула имеет вид Как и при численном дифференцировании, можно обнаружить сле- дующие обстоятельства: если задача имеет определенную симметрию, то метод с симметрией того же типа часто обладает дополнительными пре- имуществами. Будем называть функцию четной относительно точки xq, если /(я? — я?о) = f(xo — ж), и нечетной, если f(x — яд) = —/(яд ~ х). Можно показать, что для весовой функции р(х), четной относительно середины отрезка [а, Ь], и узлов Xj, расположенных симметрично середи- ны отрезка, т. е. dj = —dn+i-j, коэффициенты квадратуры, соответствую- щие симметричным узлам, равны между собой: Dj = Dn+i_j. (5) (Доказать!) Такие «симметричные» квадратуры обладают следующим дополни- тельным свойством, которое, формально говоря, не предусматрива- лось при их построении. Они точны для любой функции, нечетной относительно середины отрезка [а, 6], т. е. удовлетворяющей условию ( а+ Ь\ rfa + b \ _ 2 \-----2—' / = — 2 \ —2---Х / ’ самом деле, для таких функции
96 Глава 3. Численное интегрирование = 0 вследствие четности р(.т), а j f (''-/) ~ 0 вследствие (5); поэтому и Rn(J) = 0. В частности, квадратуры будут точны •2/ + 1 . Свойство симметрии Для л t- ( а+Ь любого одночлена вида const-(ж-----— помогает также при непосредственном построении формул методом определенных коэффициентов. Рассмотрим теперь симметричную квадратуру, соответствующую четному п. Она точна для f(x) = const ению. точна и для любого многочлена степени п~ 1. Следовательно, та- кая квадратура будет точна и для любого многочлена степени п. Таким образом, построенные квадратуры с 2g—1 и 2g узлами, с симметричным не- не- и, согласно постро- расположением узлов оказываются точными для многочленов одинаковой степени 2g — 1 (для квадратур Гаусса (см. § 5) эта, степень выше). Чтобы получить уточненную оценку погрешности квадратур с нечет- ным числом узлов не через а через ,f^n+1^(x), следует заменить подынтегральную функцию интерполяционным многочленом Лагранжа, имеющим точку (а + Ь) /2 двукратным узлом интерполирования. Ниже для случая р(х) = 1 строится ряд элементарных квадратурных формул и дается оценка их погрешности; при п = 1 и п = 3 для симметричных формул производится оценка погрешности через f^n+1\x). 1. Формула прямоугольников. Пусть п = 1, ф = 0. Тогда и имеем квадратурную формулу (6) с оценкой остаточного члена R(J) = max |/'(ж) | . [а,Ь] 4 2. Формула прямоугольников как формула с кратным узлом. Пусть fi = 2, ф = d,2 = 0. Тогда
§ 3. Квадратурные формулы Ньютона--Котеса,97 Таким образом, имеем ту же квадратурную формулу У f(x)dx и (b — a)f с оценкой остаточного члена /?(/) = шах |/"(т)| ~ и ! [0,ь] |J 71 24 В обоих случаях получилась одна и та же квадратурная формула, но с различной оценкой остаточного члена. 3. Формула трапеций. Пусть п = 2, ф = — 1, d% = 1. Тогда О2=['1±1Л^. J-1 О J-1 J-1 Получена формула трапеций lj(x}dX^^^ma)+f(b» (7) с оценкой остаточного члена 4. Формула Симпсона. Пусть п = 4, ф = —1, d? = d± = 0, ф = 1. Согласно формуле интерполирования с кратными узлами, можем напи- сать, что Т , . _ , . , / , а + Ь а + Ь\ , L4(t) = L3(x) + f la; b\ 1 (x ~ где L3(x) = f(a) + /(a; b)(x - a) + f(a-, b; - Второе слагаемое в выражении Ь,фх) явля- ется функцией, нечетной относительно сере- дины отрезка [а, Ь], поэтому rb rb / L^(x)dx — 1 L3(x)dx. J a J а Многочлен Сз(.т) является интерполяционным многочленом второй степени, соответствую- щим ф = — 1, ф = 0, ф = 1 (рис. 3.3.1). Этим значениям ф, ф, ф соответствуют Di = 1/^, 4 903 а)(т - Ь) (ж - , ~)(ж-а)(.т- Ь). a. a+b Ъ 2 Рис. 3.3.1
98 Глава 3. Численное интегрирование D-2 = Ds — 1/3. В результате получаем квадратурную формулу Симп- сона У f(x)dx « (j(a) + 4f +f(b)^ (8) с оценкой остаточного члена В(/) =max [а, 6] I I ZOOv Основной целью настоящей главы является рассмотрение способов вы- числения интегралов от функций, заданных аналитическим выражением, и выработка принципов построения стандартных программ интегрирова- ния таких функций. Естественно, что кроме этих задач в теории ква- дратурных формул имеются и другие задачи, например связанные с об- работкой экспериментального материала. Для примера обратим внимание на квадратурные формулы Чебышева, широко применявшиеся при подсчете водоизмещения судов. Постановка задачи, при- ведшая к построению этих квадратур, довольно близка к постановке задачи, возникающей при планировании экспериментов (см. гл. 2 § 1). Вычисляется ин- теграл J /(:>') dx, причем известно, что функция f(x) с приемлемой точностью может быть приближена многочленом степени q. Получение каждого значения /(ж), например путем измерений, обходится довольно дорого, и получаемые значения содержат довольно большие случайные погрешности. Предположим, что погрешности измерений независимы, имеют одинаковую дисперсию d и математическое ожидание, равное нулю. Тогда дисперсия приближенного зна- чения Sn(f), вычисляемого по квадратурной формуле п 1(f) « Sn(f) = 'pCiftb), п равна Условие Z(/) = Sn(f) при f = const имеет вид j=i п Е^ = 2. (9) 7=1 п Как нетрудно проверить, минимум величины d с? при условии (9) достига- лся ется при ci = • • • = сп — Ч/п. Эти рассуждения привели к следующей поста- новке задачи: среди всех квадратур 2 " * • 1 7=1 точных для многочленов степени Q, найти квадратуру, соответствующую наи- меньшему п. При q = 0 и q = 1 искомой будет квадратура прямоугольников /(f) = 2/(0); при q — 2 и q — 3 —квадратура Гаусса (см. § 5).
§4. Ортогональные многочлены 99 § 4. Ортогональные многочлены решения ряда задач математической физики часто исследуют, отыски- вая их разложения по ортогональным функциям, в частности по орто- гональным многочленам. Наиболее подробно изучены ортогональные си- стемы функций одной переменной. Из ортогональных систем функций многих переменных рассматривают, как правило, лишь системы вида <fin (ж1) х ' ’ ’ х Tns(xs), где -некоторые ортогональные многочле- ны одной переменной. Пусть Н — пространство комплекснозначных функций, определенных на [а, &], с ограниченным интегралом / \f&)\2p(x)dx; J а скалярное произведение задается равенством (.Л д)= [ f(x)g(x)p(x) dx, (1) J а где д(х) — функция, комплексно сопряженная с д(х); р>0 почти всюду /•6 на [а, 6] и / p(x)dx < ос; функции, отличающиеся друг от друга на J а множестве меры 0, считаются равными. Система Фп — {<^i,..., д>п} ненулевых элементов из Н называется ор- тогональной, если (<£j, <£?) = 0 при i j. Система <bn = {</?i} называется линейно независимой, если п 52 c^j = 0 /=1 только тогда, когда все Cj = 0. Важным аппаратом многих исследований является ортогонализация заданной системы элементов гильбертова пространства. Лемма 1. Пусть в пространстве Н задана линейно независимая систе- ма элементов Фп = ..., <рп}- Тогда можно построить ортогональную линейно независимую систему Фп = {ф1,. , ’фп} элементов вида Ф-j = 52 j = 1, • • •, Щ (2) г=1 где bjj — 1. Доказательство. Мы будем проводить построение такой системы мето- дом индукции. При п = 1 имеем тривиальную систему фг = Пусть требуемая система Фп построена при некотором п = к; тогда элемент Фк+i отыскиваем в виде к Фк+1 = <Рк+1 5 у аклФ^ (3) i=l
100 Глава 3. Численное интегрирование Коэффициенты выбираем из условия ортогональности (V’fc+i, Ф1) = О при I к. Вследствие ортогональности системы элементов Ф^ последнее соотношение представится в виде (фк+ъ ’<М ~ aki($i, фф = О, откуда _ (y>fc+i, V>z). Ukl (Фь ФФ следовательно, элемент (4) будет ортогонален всем предшествующим. Подставляя в (3) V-’i — biqtpq <7=1 при г к, получим требуемое соотношение. Лемма доказана. Совокупность соотношений (2) при j^n можно представить в виде Фя = ВпФп, где /1 0 0 0 \ Ь?! 1 о о • • Вп= 6.31 ь32 1 О \............................../ где и Фн, Фга являются вектор-столбцами из соответствующих элементов. В зсе 'ф{ из правой части (4) в левую, получим = АПФП, 1 о о 0 \ 021 1 О О ; (5) 031 «32 1 О ........................../ матрицу Вп иногда называют матрицей ортогонализации. Так как detB„ = 1, то преобразование, задаваемое матрицей Вп, является не- вырожденным и переводит линейно независимую систему элементов Фп в линейно независимую систему Ф„. В силу линейной независимости системы функций Фп отсюда следует, что Вп = А~Ф
§ 4. Ортогональные многочлены 101 При построении ортогональных многочленов в качестве элементов си- стемы функций Ф7 берутся функции 1, ж,..., ж-7-1 и производится орто- гонализация в пространстве со скалярным произведением (1) по описан- ной выше процедуре. Получаемые многочлены ф3(х) = .т3 * * * 7’1 + Ърхг~1 (6) z=i называют ортогональными многочленами, соответствующими весу р(х) и отрезку [а, 6]. Иногда, ортогональными многочленами, соответствующими весу р(ж), называют многочлены gj(x) = а3ф3(х), в которых величины otj подбирают из каких-либо дополнительных соображений, например из условия |||| = y/fjjj-, (]j) — 1- Систему ортогональных элементов, удовле- творяющих такому условию, называют ортонормированной. Мы уже имели дело с системой многочленов Чебышева Тп(х) = 2п~1хп + • , ортогональных на отрезке [—1, 1] с весом 2/— ж2). Как отмечалось, значения этих многочленов можно вычислять по рекуррентной формуле Тп+1 (ж) — 2хТп{х) Тп~]\х). (7) Вычисление значений ортогональных многочленов Чебышева при по- мощи формулы (7) более предпочтительно по сравнению с непосредствен- ным вычислением их по явной формуле (6) по следующим причинам. 1. Вычисление по формуле (7) не требует хранения в памяти или вычисления коэффициентов Ьр. 2. Обычно требуется вычислять одновременно значения всех много- членов фп(х) в одной и той же точке. При независимом вычи- слении значения каждого многочлена по формуле (6) вычисление значе- ний всех многочленов потребует ~ п2 арифметических операций. ( Здесь и далее а(п) ~ Ь(п) означает, что а(п) и Ь(п) одного порядка, т. е. а(п) = О(6(п)), Ь(п) = О(а(п)). ) При одновременном вычислении всех значений при помощи рекуррент- ного соотношения (7) потребуется О(п) арифметических операций. 3. Значения Тп(х), получаемые при непосредственном вычислении по формуле (6), могут содержать большую вычислительную погрешность. Дело заключается в следующем: пусть Тп(х) образуется как сумма слагаемых: Тп(х) = '^(lnjxJ. (8) .7=0
102 Глава 3. Численное интегрирование При записи в машине эти слагаемые dnjX3 смогут приобрести абсолютную по- грешность порядка \dnjX3 |2~г. Следствием этого может быть погрешность зна- чения Тп(х) порядка L>„(a:)2~', где п j=0 Оценим снизу Dn(x). Из равенства T„(k|i) = ]TcM|2:|i)J, j=0 где i — мнимая единица, следует оценка |T4|z|i)| = Аг(я). j=0 В то же время, согласно (2.8.4), при действительном х имеем (|ж| + 0 + |Д2) + (|Д - yi + |т|2) rani) =1-------------------------------------J-in Так как (М + х/1 + |т|2) (|ж| - у/1 + |Д2) = -1, то отсюда получаем (|ж| + у/1 + И2) - (|ж| + yi + М2) Dn(x) > |T„(|T|i)| £ А--------------------------------Z_. Таким образом, при больших п и х ф 0 при непосредственном использовании формулы (8) вычислительная погрешность может достигать значений порядка (И + 2-‘. Задача 1. Доказать равенство ^п(ж) = |T„.(k|i)l • Мы опять столкнулись здесь с явлением пропадания значащих цифр в вычислениях: |Т7г(ж)| 1, но при вычислении значения Тп(х) из (8) оно получается как сумма больших по модулю слагаемых переменного знака и поэтому приобретает большую погрешность. В то же время можно показать, что при вычислении по рекуррентной форму- ле (7) погрешность Тп(х) имеет порядок miniп, .=£ I • О(п2~*). Из изло- I V1 — х2 J женного видна важность получения рекуррентных соотношений типа (7), свя- зывающих значения ортогональных многочленов, соответствующих и другим весовым функциям р(х).
§ 4. Ортогональные многочлены 103 Справедлива Теорема (без доказательства). Ортогональные многочлены J-1 г=0 связаны соотношениями ^j+i(x) = (ж + aj)V’j(a') - /3^-1 (ж), где /3j > 0. (9) При Qn{x) ... вместо (9) имеем (ж) II Vz7l II'Vm ^?n-fC?n+i (ж) — (2x + Оп)Оп(х') DnQn^i{x). Если отрезок [а, />] конечен, то известно, что D,, -> 1, Gn —> 0 при п —> оо. Приведем наиболее употребительные системы ортогональных многочленов, со- ответствующие различным весовым функциям. 1. Многочлены Якоби. Для отрезка [—1, 1] и весовой функции р(х) — (1 — ж)“(1 + х)Р, а, 0 > —1, ортогональную систему образуют многочлены Якоби = У^(1 - т)-“(1 + хГе~ 2пп1 ах11 Имеют место соотношения ||Р<“’0)(Т)|| / 2п+^+1Г(а + н + 1)Г(/3 + n +1) \ 1/: \п!(а + 0 + 2п + 1)Г(а + 0 + п + 1)/ (а + 0 + 2п)(а + 0 + 2п + 1)(а + 0 + 2п + 2)хР^а'&(х) = = 2{п + 1)(а + 0 + п + 1)(а + 0 + 2п)Р^ (а.) + + (02 - а2) (а + 0 + 2п + 1)Р^’^(т) + + 2(а + п)(0 + п)(а + 0 + 2п + 2)Р^} (ж); здесь Г — гамма-функция Эйлера. Многочлены Якоби удовлетворяют дифференциальному уравнению La.0(p<a'V(х)) = (1 - а;2) (р^х)} + V / \ / XX + ((0 - а) - (а + 0 + 2)х) ^“’^(х)) = -п(а + 0 + п + 1)Р^0\х). Иначе говоря, они являются собственными функциями дифференциального оператора Ln j-j.
104 Глава 3. Численное интегрирование 2. Многочлены Лежандра. Частным случаем многочленов Якоби при а = /3 = 0, т. е. при весовой функции р(х) = 1, являются многочлены Лежандра с нормой _________ НМ = У2/(2п + 1), удовлетворяющие рекуррентному соотношению (п + 1)£п+1(з) - (2?г + 1).7'L„(j;) + nLn-iflx) = 0. 3. Многочлены Чебышева первого рода. При а = fl = —1/2, р(х) = 1/V1 — х2 многочлены Якоби после перенормировки превращаются в много- члены Чебышева первого рода Тп(х). 4. Многочлены Чебышева второго рода. При а = fl = —1/2, р(х) — Vl — xfl многочлены Якоби после перенормировки превращаются в многочлены Чебышева второго рода Un(x) = (sin((?i + 1) arccos.?;))/у/1 - х2 = Т'п+1 (х)/(п +1), п = 0, 1,..., с нормой || Un || — тг/2. Рекуррентное соотношение для многочленов Чебышева второго рода такое же, как для многочленов Чебышева первого рода. 5. Многочлены Эрмита. При (а, />) = (—оо, оо) и р(.т) = o'*1 ортогональ- ную систему образуют многочлены Эрмита с нормой ||Н„|| = yj2п п'.л/тт, удовлетворяющие рекуррентному соотношению Нп+1(х) - 2хНп(х) + 2пЯ„_!(т) = 0. Многочлены Эрмита удовлетворяют дифференциальному уравнению Я" - 2хН'п = —2пНп. 6. Многочлены Лагерра. При [а, Ь) = [0, оо) и р(т) = Л"1, а > —1, ортогональную систему образуют многочлены Лагерра ТДДя) = (-1)пх~аех^— (хо+пе-х) ахп ' с нормой ||4“)|| = у/п!Г(о + п+1). Для них справедливо рекуррентное соотношение 4+1 (*) - (х - а - 2п- 1)4")(т) + п(а + п)4“Д (х) = 0.
§4. Ортогональные многочлены 105 Многочлены Лагерра удовлетворяют дифференциальному уравнению х ст + (а + 1 - х) (Д(“’(х)) с = ~nL^{x). Рекуррентные соотношения для конкретных ортогональных многочленов, вы- писанные в пп. 2-5, имеют несколько иной вид, чем (9), поскольку соотноше- ние (9) выписано для ортогональных многочленов, нормированных так, что их старший коэффициент равен 1. Отметим ряд свойств ортогональных многочленов. Пусть Ро(х'),..., Рп(х)—система ортогональных многочленов на отрезке [а, Ь] вида п-1 Рп(х) = Хп + y~^pnjXj. 3=0 Лемма. Каждый многочлен Рп(х) имеет ровно п различных нулей на. от- крытом интервале (а, Ь). Доказательство. Предположим, что Рп(т) имеет на (а, Ь) только / < п нулей Xi,...,Xi нечетной кратности. Тогда многочлен I Рп(х) - Xj) 3=1 не меняет знак на [а, 6], поэтому / РДх) Л (я - Xj)p(x) dx 0. Ja 3=1 С другой стороны, этот интеграл равен нулю, поскольку Рп(х) ортого- нален всем многочленам меньшей степени. Получили противоречие. Задача 2. Пусть х^ < • • < —нули Рп(х). Тогда нули многочленов Pn-i(x) и Рп(х) перемежаются, т.е. а < х^ < < • • • < х^Д1^ < х^ < Ь. Это свойство ортогональных многочленов используется при составле- нии таблиц нулей ортогональных многочленов, являющихся узлами ква- дратур Гаусса. Задача 3. Пусть вес является четной функцией относительно середины отрезка [а, Ь] и, для определенности, [а, Ь] = [—1, 1], т. е. р(х) = р(—х). Доказать, что все многочлены Р2п(х) четные, многочлены P2n-i(x) не- четные, т. е. Д?(ж) = (~1)JPj ((—l)Js) при всех j, и рекуррентное соотношение (9) имеет вид рз+1(х) - xPj(x) + Pj+iPj^x) = 0.
106 Глава 3. Численное интегрирование При обработке результатов наблюдений возникает задача приближения функ- ций, заданных на множестве точек Xj,.... xn вещественной оси с помощью многочленов от переменной х. Эта задача часто решается с помощью орто- гональных многочленов дискретной переменной. В теории таких многочленов установлены их свойства, аналогичные свойствам ортогональных многочленов непрерывной переменной; построены дискретные аналоги для всех рассмотрен- ных выше типов ортогональных многочленов непрерывной переменной. Отметим одно важное свойство распределения нулей ортогональных многочленов. Пусть [а, Ь] = [—1, 1], вес р(д') почти всюду положителен на [—1, 1]. Обозначим через wn(xi, х2) число нулей многочлена принадлежащих отрезку [.Tj, ж'2]. Тогда справедливо соотношение х2) 11Ш ------------- П-+ОО П Г2 1 Ж1 7Г\/1 — Ж2 Таким образом, нули ортогональных многочленов независимо от весо- вой функции р(ж) распределены асимптотически одинаково, с плотностью 1/(тг\/1 — Ж2). § 5. Квадратурные формулы Гаусса Из оценки (2.1) следует, что погрешность квадратуры оценивается че- рез погрешность приближения функции многочленами. Функция прибли- жается многочленами более высокой степени точнее, чем многочленами низшей степени: Поэтому есть основания обратить внимание на квадратуры, точные для многочленов по возможности более высокой степени. Рассмотрим следующую оптимизационную задачу. При заданном числе узлов п построить квадратуру /Ь I _ !(/) = / f (ж)р(ж) dx « STl(f) = —- V Djffxj), (1) Ja 3=1 точную для многочленов наиболее высокой степени. Такие квадратуры называют квадратурами Гаусса. Мы видели (§ 2), что квадратура (1) точна для многочленов степени тп, если она точна для всех функций ж9, q — 0,..^,т. Следовательно, должны выполняться соотношения Rn(xQ) — f xqp(x) dx — ° Djx} — 0, q = 0,..., m. (2) •'° 3=1
§5. Квадратурные формулы Гаусса 107 Получили систему из (т + 1)-го уравнения относительно неизвестных - Хт Di,..., Dn, где Xi,..., жп — неизвестные узлы, a D\,..., Dtl — неизвестные коэффициенты квадратурной формулы (1). При т 2п — 1 число уравнений не превосходит числа неизвестных, поэтому можно ожидать, что алгебраическая система (2) имеет решение. Можно попытаться построить квадратурные формулы, соответствующие значению т = 2п — 1, решая эту систему, однако неясно, будут ли узлы квадратур, получаемые из (2), принадлежать отрезку [а, Ь]. В против- ном случае может оказаться, что функция f(x) не определена в узлах интегрирования и употребление квадратуры невозможно. Заметим, что в гл. 8 при построении конечно-разностных методов решения обыкновенных дифференциальных уравнений возникнут квадратуры с узлами вне отрезка [а, Ь]. Займемся построением квадратур, соответствующих максимальному значению т = 2п — 1. Лемма 1. Если х^,..., хп — узлы квадратуры (1), точной для всех много- членов степени 2п — 1, то [ шп{х)Рп_1(х) dx = О J а при и>п(х) = (ж — а'1)... (ж — ж,,) и Рп-1(ж) — произвольном многочлене сте- пени не выше п — 1. Доказательство. Пусть Рп_1(ж)—некоторый многочлен степени не выше п — 1. Вследствие условия леммы квадратура (1) точна для многочлена С?2п-1(ж) = о;п(т)Рп_1(т) степени 2п — 1. Поэтому / а?п(ж)Рп_1(ж)р(ж)йж = / <52п-1(ж)р(ж) dx = Jo. J а i п и — О \ ч ~ 2 -/ DjQ'ln— 1 ) 0. J=1 Последнее соотношение вытекает из равенства Qzn-i(xj) = 0 при всех j. Лемма 1 доказана. Далее предполагается, что р(х) > 0 почти всюду на [а, 6]. Из результатов § 4 вытекает единственность многочлена "фДх), "ФДх) = хпЧ---, ортогонального всем многочленам низшей степени, если скалярное произведение задано соотношением (/,£) = [ f(x)g(x)p(x)dx.
108 Глава 3. Численное интегрирование Поэтому 'фДх) = шп(.т) и узлы отыскиваемой квадратуры должны быть нулями фГ1(х). Согласно результатам § 4 многочлен 'фп(х) на (а, Ь) имеет п различных нулей. Лемма 2. Пусть Xi,..., хп — нули ортогонального многочлена “фДх) сте- пени п и (1) — квадратура, точная для многочленов степени п — 1. Тогда квадратура (1) точна для многочленов степени 2п — 1. Доказательство. Произвольный многочлен степени 2п — 1 пред- ставим в виде Q2n-i(x) = + гп-1(ж), где и гп_ 1—многочлены степени п — 1. Имеем Rn^Qln- 1) — ”Ь 1)? так как jRn(rn_i) - 0 по условию леммы. Далее, Zb Ь — гг 71 ^п(ж).%.-1 (ж)р(ж) dx-— 57 Dji[>n(xj)gn_i(xj) = О, j=i fh поскольку I ’фДх)дп-1(х)р(х) dx = 0 вследствие свойства ортогональное- J о. ти многочлена 'фп(х) многочленам низшей степени, а все фп{х^ — 0 по предположению леммы. Следовательно, Rn{Qzn-i) = 0- Лемма 2 дока- зана. Теперь можно построить требуемую квадратурную формулу. Для это- го зададимся узлами интерполяции х\,...,хп, в которых ipn(xj) = 0, и построим (например, следуя построениям § 3) квадратуру, точную для многочленов степени п — 1. В итоге получим требуемую квадратуру / (х)р(х) dx и V £> - 3=1 (3) точную для многочленов степени 2п — 1. Если почти всюду р(х) > 0, то не существует квадратуры, точной для всех многочленов степени 2п. В самом деле, возьмем бДпД') — (х ~ Т1)2 ... (ж — жп)2; тогда левая часть (1) /Ь / ((ж - Ж1)... (ж - жп)) р(х) dx > О, J о. а правая равна 0.
§ 5. Квадратурные формулы Гаусса 109 Лемма 3. Коэффициенты Dj положительны. Доказательство. Функция ( является многочленом степени 2п—2, обращающимся в нуль во всех точках жр Квадратура (3) будет точна для этой функции, поэтому ГЬ Ja \X-xJ 2 Ь — а р(х) dx = -Д—Di ш\2 X - Xi J Раскрывая выражение ^>п(ж)/(ж — Ж/), получим р(ж) dx > 0. 2 Лемма доказана. Поскольку все Dj > 0, то, воспользовавшись (2.1) и (2.2), имеем |Вп(/)| 2 Qf р(ж) dx) (4) Можно получить также оценку погрешности квадратур Гаусса через f(2n\x). Эта оценка имеет вид лп(/) = f <W)[ЬШр{х ) dx_ (5) J a \znh Для практического применения формул Гаусса необходимо иметь в распоряжений узлы и коэффициенты этих квадратур. Можно показать, что для случая р(ж)— четной относительно точки (а + Ь)/2, нули орто- гональных многочленов, т. е. узлы квадратур Гаусса, расположены сим- метрично относительно середины отрезка [а, 6]. Вследствие (3.5) коэф- фициенты квадратуры Гаусса (3) будут удовлетворять условию четности Dj = Dn^i-.j. Это обстоятельство наполовину уменьшает объем таблиц для формул Гаусса. . 2xj — (а + Ь) Вели р[х) = 1, то коэффициенты Dj и числа ф = ——-------------- о — а не зависят от отрезка [а, Ь]. В самом деле, если многочлен чрДх) = (ж — a?i)... (ж — ж71) принадлежит системе многочленов, ортогональных с весом 1 на [а, Ь], то многочлен (t — ф)... (t — dn) принадлежит системе многочленов, ортогональных с весом 1 на [—1, 1]. Поэтому он сам, его нули, а согласно (3.3) и коэффициенты Dj определяются однозначно, независимо от исходного отрезка [а, Ь].
110 Глава 3. Численное интегрирование Приведем для сведения параметры квадратур Гаусса для отрезка [—1, 1] при р(х) = 1. В этом случае остаточный член R(f) для ква- дратурной формулы (3) есть Вт~,Р">(Л Вследствие свойства симметрии мы указываем лишь неотрицательные dj и коэффициенты при них (табл. 1). Таблица 1 di D-2 Фз Из 1 0,0000000000 2,0000000000 2 0,5773502692 1,0000000000 3 0,0000000000 0,7745966692 0,8888888888 0,5555555556 4 0,8611363115 0,3399810436 0,3478548451 0,6521451549 5 0,0000000000 0,9061798459 0,5384693101 0,5688888888 0,4786286705 0,2369268851 6 0,9324695142 0,6612093864 0,2386191861 0,1713244924 0,3607615730 0,4679139346 В настоящее время составлены таблицы узлов и весов квадратур Гаус- са по крайней мере до п — 4096 с 20 десятичными знаками. Вследствие их большого объема, начиная с некоторого По, их публикуют лишь для п = 2к, п = 3- 2к. Иногда целесообразно видоизменить идею Гаусса построения квадра- тур, точных на многочленах максимально высокой степени. Например, пусть требуется вычислить / /(ж) dx, а значение f(a) вычисляется су- J0 < щественно быстрее, чем значения в других точках отрезка [0, 1] (или почему-либо заранее известно). Тогда имеет смысл построить квадратуру
§ 5. Квадратурные формулы Гаусса 111 точную для многочленов степени 2п. Если требуется вычислить J f(x)dx, а значения /(1) и f(— 1) вычисляются существенно быстрее, чем значения во внутренних точках отрезка [—1, 1], то имеет смысл по- строить квадратуру [lf(x)dx^ ljf(dj), d0 = -l, 4 = 1, (6) •/~1 j=0 точную для многочленов степени 2п—1; в последнем случае оказывается, что dj — dn-j, lj — ln-j при всех j. Степень многочлена, для которого точна квадратура, определяется чи- слом свободных параметров квадратуры. Квадратура (6) называется ква- дратурой Лобатто или формулой Маркова-, при п — 1 она совпадает с формулой трапеций, при п = 2 — с формулой Симпсона. Задача 1. Введением весовых функций и заменой переменных х = (p(t) свести построение квадратур (6) к построению некоторых квадратур Гаусса. Задача 2. Пусть [а, Ь] = [—1, 1], р(х) = —-===. Доказать, что соответ- VI — х2 ствующей квадратурой Гаусса является = /1 ад) = Z f — 1)тг где Xj = cos -——------нули многочлена Чебышева Тп(х). Указание. При проверке точности квадратуры для многочлена степени 2п — 1 представить многочлен в виде 2n—1 атпТт{х) т=0 и установить, что квадратура точна для Тт(х) при т < 2п. В настоящее время рассчитано много таблиц формул Гаусса и формул типа Лобатто, в частности, при [а, 6] = [-1, 1], р(х) = 1, а также в более общем случае при [а, Ь] = [—1, 1], р(ж) = (1+ ж)а(1 - ж)^, а, /3 > -1, и при [а, Ь] =t= [0, оо), р(ж) = хае~х, а > —1.
112 Глава 3. Численное интегрирование Если подынтегральная функция интеграла ад = Jo хорошо приближается тригонометрическими многочленами с периодом ш, то целесообразно применить квадратуру, являющуюся аналогом квадра- туры Гаусса для этого случая вида Имеем равенство Sn I exp < 2тгтш J=o 4 7 exp{2-zrmi} — 1 ехр{2тггга/7У} — 1 при при т — целом, т не целом. Е 1 = w В то же время ( ( . х 1 \ | oj при т = О, I ( ехр < 2тг77/д— > ) = < V I и;) / О при m 0. Следовательно, квадратура (7) точна для функции cos(27rma;/w) при т — 0 или при m/N не целом и для всех функций sai(2irmx/. В результате этого оказывается, что квадратура точна для любого триго- нометрического многочлена N-1 — «о + У' (ат cos ^2ттг—^ + bmsin ^2тгт—4- Ь/vsin ^2tt7V--^ ; (8) m=0 следовательно, #лг(/) — Rn(J — + Rn^n) = Rn(J — In)- Аналогично (4) получаем оценку 2w inf max |/(ж) - Нижняя грань берется по множеству всех многочленов вида (8). Задача 3. Доказать, что не существует квадратур с N узлами, точных для всех тригонометрических многочленов степени N.
§ 6. Практическая оценка погрешности элементарных квадратурных формул 113 § 6. Практическая оценка погрешности элементарных квадратурных формул Выше получены ряд квадратурных формул и строгие оценки погрешно- сти для них. Однако это не решает всех проблем задачи численного ин- тегрирования. Важнейшей задачей вычислительной математики является создание алгоритмов и пакетов программ, обеспечивающих получение ре- шения задач с заданной точностью при минимальном объеме затрат че- ловеческого труда и работы машины. Практическое применение получен- ных выше оценок требует аналитических выкладок и поэтому достаточ- но большого объема работы исследователя; кроме того, эти оценки часто оказываются слишком завышенными. Поэтому при создании таких систем обычно отказываются от использования подобных оценок, зачастую жер- твуя строгой гарантией малости погрешности приближенного решения. Можно говорить, что задача от ее возникновения до получения ре- зультата проходит через некоторую систему, состоящую из людей, реша- ющих задачу, и ЭВМ. На первоначальном этапе применения ЭВМ наи- более узким местом, тормозившим работу этой системы, являлось недо- статочное количество ЭВМ. Поэтому применение аналитических методов решения или аналитическое проведение оценок погрешности было оправ- данным. Однако теперь, с повсеместным распространением вычислительной техники и внедрением ее в различные сферы деятельности общества, об- становка меняется. Узким местом этой системы становятся длительность выбора математической модели, метода решения задачи, программирова- ния и других этапов, предшествующих непосредственному решению за- дачи на ЭВМ. Прохождение этих этапов особенно замедляется в случае, когда решением задач на ЭВМ занимаются представители конкретных наук, например филологи, медики, экономисты, географы и т. п., мало знакомые с численными методами или программированием. Обучение их тонкостям теории численных методов может превратиться в самоцель, отвлекающую от решения основных задач их науки, и в конечном счете обойтись обществу довольно дорого. Поэтому в настоящее время важней- шей проблемой является создание систем решения задач с максимально простым обращением, предполагающих малую квалификацию пользова- теля в отношении численных методов и программирования. Например, естественно потребовать, чтобы к программе вычисления интеграла с за- данной точностью мог обратиться исследователь, знающий, что такое ин- теграл, но не умеющий ни интегрировать, ни дифференцировать. Конечно, в развитии многих областей знания и техники решающая роль математики состоит в создании математической модели явления, а потом уже в применении ЭВМ для ее исследования. При разработке модели от специалиста этой отрасли знания требуется определенная ма- тематическая культура, и наше высказывание не следует понимать как предложение полностью избавить его от математики.
114 Глава 3. Численное интегрирование Подоплекой проводимых здесь рассуждений является следующее из- вестное рассуждение. Когда мы занимаемся решением каких-то задач, то нужно учитывать эффективность нашей работы не только по сово- купным затратам на решение этих задач, ио и принимать во внимание убыток, понесенный обществом в результате того, что нами не решены некоторые другие, возможно более важные задачи. При практическом анализе погрешности численного интегрирования часто пользуются различными полуэмпирическими приемами. Наиболее распространенным из этих приемов является следующий. Производятся вычисления по двум квадратурным формулам I _ Nk /(.т) dX« sk(.n = Е Dj.f (4) ’ к = 2; 11 3=1 далее некоторая линейная комбинация S(f) = Sl (f)+0(S2(f) — S1 (f)) этих квадратур принимается за приближенное значение интеграла, а величина р= |«5>2(/) — S'i(/)|—за меру погрешности приближенной формулы !(/) ~ S(f). Довольно типичным является случай 0 = 0. Описанный выше подход нельзя считать полностью оправданным вследствие его неоднозначности. Пусть, например, S'1 (/) —формула Симпсона: J-1 3 S2 (/) — формула трапеций: s2(/) = /(-i) + /(i) и 0 = 0. Тогда в качестве меры погрешности выступает величина р = 2/(0) + /(-1)|. Если 52(/) = 2/(0) — формула прямоугольников, то соответствующее значение р = ||/(1)— 2/(0) + /(—1)|- Таким образом, мы получили две различные эмпирические оценки погрешности одной и той же формулы Симпсона. Попытаемся прояснить ситуацию. Выражение S(f) является некоторой квадратурной суммой (1) 3=1 по совокупности узлов хр принадлежащих объединению узлов, соответ- ствующих квадратурам Sl(f) и W)- в то же время * H(/)l, ГДе N = (2) 3=1
§ 6. Практическая оценка погрешности 115 Возьмем произвольную линейную комбинацию вида (2) и положим sl(f) = s(f), s2(.f) = s(f)-ei(f). Тогда мы получим приближенное значение интеграла /(/) S(f) с оцен- кой погрешности p = O\l(f)\- Мы видим, что на таком пути можно по- лучить неограниченное множество оценок погрешности одной и той же квадратуры (1). Рассматриваемую задачу можно формулировать следующим образом. Приближенное значение интеграла вычисляется по формуле , - N I(f)«S(f) = -^Y/Dif^ (3) j=i Требуется построить выражение вида (2), дающее представление о по- грешности квадратуры (3). Предположим, что погрешность квадратуры (3) представляется в виде R(f) = D(b - n)m+1./(m)«). (4) Рассмотрим случай т < N. Тогда в качестве /(/) можно взять величину 1(f) = D(b - а)т+lm\f(xn;...; хгт+1), где тц,..., Xim+1—различные узлы квадратуры (3). Разделенная раз- ность может быть выражена через производную, поэтому имеем 1(f) = D(b - a)m+\f^((), а < ( < b. Следовательно, при а = const, f(m) (а) О, (Ь — а) —> 0 справедливо со- отношение R(f) ~ 1(f) и величину р = |Z(/)| можно принять за меру погрешности. Пусть, например, оценивается погрешность формулы трапеций J f(x)dx^S(f) = (/(а) + 0 f + ./(b)) • Согласно оценкам из § 3 имеем R(f) = -^Ц^Г(С)- Таким образом, мы можем принять за меру погрешности величину ь0(0_2/(-*)+/(о)|. Иначе обстоит дело, когда т N. Тогда нельзя получить никако- го приближения к f^m\C) через величины f(xf),..., /(тдг), и проблема получения эмпирической оценки погрешности в рассматриваемой выше постановке не может быть решена.
116 Глава 3. Численное интегрирование Например, мы не можем получить удовлетворительного представления об оценке погрешности формулы Симпсона через значения f(a), f(b). Однако можно получить некоторую завышенную оценку погреш- ности. Рассмотрим один подход к разрешению возникшей проблемы. Пред- положим, что нам удалось получить оценку погрешности вида 1Ш)1 (Ь-а)^тах /^(.т) = а. [о, 6] I I Положим p = (b-a)Nb(N-iy.\f^...;xN)\. (5) При а = const, 1^(«) О, (Ь — а) —> О имеем <т ~ р. Таким обра- зом, величину р можно принять за приближенную оценку погрешности формулы (3). Эта оценка будет сильно завышенной, поскольку при пред- положении т N имеем R(f) = — a)N+i'j. Однако лучшей оценки погрешности формулы (3) по сравнению с оценкой через о, по-видимому, нельзя предложить. В случае формулы Симпсона верна оценка (5) при D = —- и, таким образом, за меру погрешности принимаем величину 4(Ь — а) 81 (6) В случае многомерных интегралов все практические способы оценки погреш- ности опираются на исходную, раскритикованную нами процедуру. Дело в том, что в многомерном случае погрешность оценивается через значения нескольких производных подынтегральной функции. Получение «обоснованных» оценок, подобных (6), для таких формул крайне затруднительно. Поэтому обращаются к исходной процедуре с последующей экспериментальной проверкой результа- тов ее применения. § 7. Интегрирование быстро осциллирующих функций Пусть требуется вычислить интеграл /(ж) ехр{1шт} dx, где u)(b — a) S> 1, f(x)— гладкая функция. Функции Re (/(ж) exp{iw.7;}), Im (/(ж) exp{iw.T;}) имеют на рассматриваемом отрезке примерно ш(Ь — а)/тг нулей. Посколь- ку многочлен степени п имеет не более п нулей, то такие функции
§ 7. Интегрирование быстро осциллирующих функций 117 могут быть хорошо приближены многочленами степени п лишь при п ш(Ь — а)/я. Поэтому для непосредственного вычисления интегралов от таких функций потребуется применение квадратур, точных для мно- гочленов высокой степени. Более выгодным может оказаться путь рассмотрения функции ехр{К’.т} как весовой. Как и в § 1, зададимся узлами интерполирования b 4- а b — а .Ч=-2- + -2-</„ 3 = 1,-... п rb и заменим исходный интеграл на / Ln(x) exp {iw./.} dx, где Lz, (ж) — ин- ./ ft терполяциониый многочлен с узлами Xj. Последний интеграл может быть вычислен в явном виде Получилась квадратурная формула [ exp{iozr} dx « S“(/) (2) J a с остаточным членом Rn(f) = [ (f(x) - Ln(x))exp{iwx}dx. J a В соответствии с (3.1) rb / I i\ // __ \ Rn(f) |/(t) - Ln(x)\ dx D(dlr.., (Цтах /(?г)(я;) ) ( ——- ) Вычисление интегралов такого рода является типичной задачей, встре- чающейся при разложении функций в ряды Фурье, при построении диа- грамм направленности антенн и т. д. В стандартных программах вычисления интегралов от быстро осцил- лирующих функций используются формулы (1), (2), соответствующие случаям: п = 3, d\ = —1, d2 = 0, d^ = 1 (эту формулу называют форму- лой Филона) или п = 5, d[ = — 1, d2 = —0.5, d% = 0, d4 = 0.5, d5 = 1. Если формулы (1), (2) использовать для вычисления интегралов от функций, не являющихся быстро осциллирующими, то может возникнуть
118 Глава 3. Численное интегрирование следующая неприятность, которую мы проиллюстрируем для п — 2, d\ — —1, d-2 — 1- В этом случае , . У"1!—£ г. sinp pcosp —sinp. Di (p = / exp{ip£} d£ = —---------------------- i, J-i 2 p p2 n ( X + C r. Sinp pcosp-sinp. ^(p) = / -y- exp{ip£} d{ = —------------------i. J-i 2 P P При p —> 0 имеем pcosp-snIp = _p 3 Sinp^ p2 3 p Таким образом, Di(p), ^г(р) —> 1 при p —> 0. Пусть p — малое число. Функции sinp и pcosp вычисляются в маши- не с погрешностями О(2~*) и О(р2-<) соответственно. Вследствие это- го коэффициенты jDi(p), ^(р) приобретают погрешность О(2“*/р). При п > 2 оказывается, что погрешность коэффициентов 79? (р), вычисляемых по формулам (1), может оказаться величиной порядка 2~</рп“'1. Напри- мер, при t = 30, п = 5, р = 0,01 такая погрешность уже недопустима. Поэтому стандартные программы вычисления интегралов от быстро ос- циллирующих функций должны иметь специальный блок, предусматрива- ющий изменение расчетных формул при малых р с тем, чтобы избежать существенного влияния вычислительной погрешности. Если п не очень велико, например п = 2, то можно пойти по следую- щему пути: при |р| > p,i, где некоторое рп подбираем экспериментально, вычисления производим по формулам (1), (2); если |р| р,г, то вычи- сляем исходный интеграл по формуле трапеций (3.7), рассматривая всю функцию f(x) ехр{юлт} как подынтегральную. В рассматриваемом случае (п = 2, di = —1, d? = 1) формула (3.7) приобретает вид ь iwa?} dx « —-—[exp{iwa}f (a) + exp{ia>b}f (6)]. Формулы (1), (3) можно объединить в одну формулу [ь .. . , Ъ — а I f(x) ехрролт} dx = —-— exp iw—-— J а + ^(^/(Ь)], где Ь — а ( sinp pcosp — sinp . А,2(р) = р exp{Tpi} р2 при при (3) (4) (5) В стандартных программах вычисления интегралов рассматриваемого типа применяются квадратуры вида (4), (5). Возникает вопрос: зачем усложнять
§ 8. Повышение точности интегрирования 119 стандартную программу? Может быть, проще написать стандартную програм- му вычисления по формуле (2), стандартную программу вычисления по фор- муле трапеций и дать инструкцию: при больших |р| обращаться к первой из стандартных программ, при малых |р| — ко второй? Обсудим целесообразность такого подхода. Нашей целью является создание максимальных удобств поль- зователю ЭВМ. Если в описании правил использования стандартной програм- мы написано слишком много, то пользователь может не понять того, что на- писано, и 1) обратиться к другой программе, худшей по качеству, но имеющей лучшее описание или более простое обращение; 2) воспользоваться программой неправильно и не получить результатов; на- пример, в рассматриваемом случае, применив метод расчета по формулам (1), (2) при р — 0, он получит аварийную остановку ЭВМ; 3) воспользоваться программой неправильно и получить неверный результат, предполагая, что он верный; например, так случится, если он воспользуется формулами (1), (2) при порядка 1. Очевидно, что последний случай влечет за собой наиболее неприятные для пользователя последствия. При выборе метода для стандартной программы надо стремиться к тому, чтобы описание программы, составляемой на базе этого метода, было по возможности простым и кратким. Надо иметь в виду, что всякое дополнительное высказы- вание может быть истолковано неправильно в ущерб для области применения программы. Приведем один поучительный реальный пример. В описании одной из стан- дартных программ вычисления кратных интегралов было написано: «Примене- ние настоящей программы нецелесообразно, если число узлов берется большим 100 000». Спустя короткое время программа была практически изъята из упо- требления. Оказалось, что среди первых пользователей программы подавляю- щее большинство сразу задавались числом узлов 100000, при этом на вычи- сление простого интеграла уходило слишком много машинного времени. Весть об этом распространилась повсюду, и вскоре к программе перестали обращать- ся. На самом деле при ее использовании большинство реальных интегралов вычислялось с приемлемой точностью при числе узлов порядка 1000. Число 100 000 было указано лишь как ориентировочная верхняя граница значений, при которых вычислительная погрешность еще не оказывает катастрофиче- ского влияния на результат. § 8. Повышение точности интегрирования за счет разбиения отрезка на равные части Из оценки (2.1) вытекает, что погрешность квадратуры оценивается через погрешность, с которой функция f(x) может быть приближена много- членами степени т. Поэтому может показаться естественным добиваться увеличения точности за счет повышения степени многочленов, для кото- рых эта квадратура точна. Однако такой путь содержит свои «подвод-
120 Глава 3. Численное интегрирование ные камни». При неудачном выборе узлов может оказаться, что величина п ^2 |Су1 растет вместе с п. Тогда в оценке (2.1) величина V также ра- >=1 стет вместе спи может оказаться, что уменьшение Em(f) с ростом п не компенсирует увеличение V. Например, для простейшего равномерного распределения узлов >)==_l + £0zl), j = [«, Ь] = [-1, 1] 7 71—1 оказывается, что при т = п — 1 имеем log2 V ~ п. В результате этого, например, для аналитической функции /(ж) = (14- 25т2)-1 = |У ]f(x)dx ~ Sn(/)| -> оо при п —> оо. Рассмотрим случай, когда отрезок интегрирования есть [—1, 1], и сформулиру- ем общую теорему, указывающую на необходимость осторожного обращения с формулами, точными для многочленов очень высокой степени. Пусть при ка- ждом /г мы имеем квадратуру 7=1 (1) точную для многочленов степени п—1. Обозначим через wn(xi, х2) число узлов квадратуры (1), принадлежащих отрезку [зц, хф Теорема (без доказательства). Пусть существует отрезок [a?i, х2] G [—1, 1] такой, что Wn(xv, х2) п при п —> оо. Тогда можно указать b 0 и а такие, что для одной из аналитических функций Re ( ----Т~--ГД’ ) или 1™ ( -------7~--ГД- ) — (й 4- bi) J \х — (й 4- 01) / будет выполняться соотношение lim |Вп(/)| = оо. Таким образом, узлы квадратур (1), точных для многочленов степени п— 1, при больших п должны располагаться с такой же плотностью, как нули ортогональ- ных многочленов, т. е. как и узлы квадратур Гаусса. Иначе такие квадратуры нельзя рассматривать как универсальные.
§ 8. Повышение точности интегрирования 121 Перепишем оценку (5.4) погрешности формул Гаусса: \Rn(f)\ 2 (2) Пусть подынтегральная функция /(ж) непрерывна. Тогда, согласно теоре- ме Вейерштрасса, при любом е > 0 найдется многочлен для кото- рого шах [/(ж) - Рч(ж)| е, откуда следует, что Em(f) -» О при т ос. [а.Ь] Таким образом, для любой непрерывной функции /(ж) погрешность фор- мул Гаусса Rn(f) —> 0 при п сс. Задача!. Пусть /(ж) — функция, интегрируемая по Риману. Доказать, что для формул Гаусса Rn(f) —> 0 при п —> оо. Из сказанного выше видно, что формулы Гаусса могли бы быть положены в основу универсальных программ вычисления интегралов с заданной точно- стью. При этом придется вводить в ЭВМ каким-либо образом узлы и веса этих квадратур. Во многих случаях возникает задача вычисления интегралов, где по- дынтегральная функция или ее производные невысокого порядка имеют участки резкого изменения, например обращаются в бесконечность. Та- кие функции плохо приближаются многочленами сразу на всем отрезке интегрирования. Здесь часто оказывается более выгодным разбить исход- ный отрезок на части и на каждой части применять свою квадратурную формулу, Гаусса или какую-либо другую. Гв Пусть вычисляется интеграл I = I f(x) dx. Разобьем отрезок [А, В] Ja на М частей а9], где по ~ А, ам = В. Для вычисления интеграла по каждой из частей применим какую-либо квадратурную формулу из §§ 1, 3 вида с оценкой остаточного члена i\ / _ \ m+i МП max /ад) ) . В результате интеграл по всему отрезку будет аппроксимирован суммой Л/ М Пу \ SmU) =£C-if + (4) <7=1 <z=l .7=1 ' J
122 Глава 3. Численное интегрирование с оценкой остаточного члена Л/ z \ Tyi 4-1 К(Л| = |/-5Ь(/)|«Х>1:(Л|/<’”>И|) (^) . (5) Выражение (4) часто называют составной или обобщенной квадратурной формулой. Рассмотрим наиболее простой для исследования случай, когда отрезки разбиения имеют одинаковую длину tz9 —= Н. Тогда оценка погреш- ности (5) после замены max /^(ж) на величину Ат = max [05-1,0,] Г I [л, В] I I приобретает вид |7?^(/)| где D = 2~^D, (6) или ---• (7) Приведем конкретные квадратурные формулы и оценки погрешности для частных случаев формул (3). 1. Составная формула трапеций с постоянным шагом интегри- рования. В этом случае при постоянном шаге aq — a9_i = Н формула (3) приобретает вид / /(ж) dx ~ Н I —---1- /(«1) + • • • + 4----— I , Ja0 \ 2 2 / а остаточный член оценивается следующим образом: I(n I < л (ам~ а^н2 _ л «о)3 \Ям(.П\ Л2--------------- А -12М2 (8) 2. Составная формула Симпсона с постоянным шагом интегри- рования. При постоянном шаге aq — a9_i = Н = 2h формула (3) при- обретает вид Гам /1 4 1 4 J ~ Н ^gf(Go) + g^(al/2) + + g/(°3/2) + 1 14 1 \ + gf (й2) 4-+ + g/(«M-l/2) + g/(ow) j , где aj — oo 4- jH. Для остаточного члена справедлива оценка 4 । Л(ам ~ар)Я4 _ Л(ам - Др)5 _ А4(ам ~ Др), 4 , _ # 1 2880 2880М4 180 ’ 2 ‘ Последняя запись оценки наиболее употребительна.
§ 8. Повышение точности интегрирования 123 Мы получили формулы с порядком погрешности О(№т) по отно- шению к общему числу узлов интегрирования N = Мп в предположе- нии ограниченности |/(т)(ж)|. Заметим, что в случае формул трапеций и Симпсона общее число узлов N оказалось меньше, чем Мп, поскольку концы элементарных отрезков [a9-i, а9] были узлами интегрирования и значения функции в этих концах использовались для вычисления инте- гралов по двум соседним элементарным отрезкам. /В Задача 2. Пусть / |/(9)(ж)| dx < оо, q 2; получить оценку погрешно- сти формулы трапеций \Я2м(П\ < Ъ (JA |/(9)(*)| Н\ (9) где — абсолютная постоянная. сВ . Задача 3. Пусть / |/^(ж)| dx < оо, q 4; получить оценку погрешно- сти формулы Симпсона |/(ч)(.т)| dx^HV, где (3q — абсолютная постоянная. Пусть, например, вычисляется f (sin .7,)“ dx, 0 < а < 1. Jo Так как ((sinrr)")^ —> оо при х 0, то мы не можем получить никаких оценок погрешности через шах |/'(ж)|. В то же время функция (sinrr)Q монотонна на отрезке [0, 1], поэтому [ | ((sinх)а)'| dx = (sin.T)Ql = 1. Jo 1 1 Io Следовательно, при использовании квадратуры (4), соответствующей т = 2 с постоянным шагом aq — a9-i = Н, согласно (9) имеем оценку погрешности О(1/7У). В данном примере из оценки (6) малость погрешности не следовала; в то же время на основании (9) мы заключаем, что эта погрешность порядка 0(1/N). Не следует думать, что в случае функций с малым числом ограничен- ных производных составные формулы численного интегрирования имеют лучший порядок сходимости по сравнению с формулами Гаусса. Предпо- ложим, что подынтегральная функция имеет q ограниченных производ- ных. Тогда, применяя составную формулу (4), соответствующую п = q,
124 Глава 3. Численное интегрирование получим приближенное значение интеграла с погрешностью O(N~~q). С другой стороны, известно, что для такой функции E^n-iCf) = O(N~q). Поэтому из (5.4) следует оценка погрешности формулы Гаусса с N уз- лами Rn(D = O(N~q). Таким образом, порядок оценки в обоих случаях одинаков. Обратим внимание еще на одно удобство использования формул Гаус- са сразу по всему отрезку интегрирования. Не нужно оценивать число q() ограниченных производных подынтегральной функции и в соответствии с этим выбирать наиболее подходящую формулу численного интегриро- вания по отрезкам разбиения при применении формул Гаусса порядок погрешности O(N~q°) обеспечивается автоматически. Конечно, не нужно думать, что формула, имеющая более; высокий порядок скорости сходи- мости, при конкретном числе узлов всегда точнее формулы более низко- го порядка скорости сходимости. § 9. О постановках задач оптимизации Мы получили ряд формул численного интегрирования и могли бы полу- чить еще большее количество таких формул. Возникает вопрос: можно ли получить лучшие по порядку оценки погрешности при тех же пред- положениях о подынтегральной функции или хотя бы улучшить констан- ты в этих оценках? Изучение этого вопроса приводит к задаче постро- ения квадратур с оптимальной оценкой погрешности, или, как говорят, оптимальных квадратур. В связи с этим возникает следующая пробле- ма—чем больше способов решения задачи, тем труднее; решиться вы- брать какой-то из них, поскольку каждый способ может иметь свои по- ложительные качества: простота программирования, малое время работы ЭВМ, малая загрузка памяти, простота оценки погрешности, примени- мость к широкому кругу задач. Таким образом, следует иметь в виду, что иногда излишняя информация о способах решения задач при боль- шом их количестве может также и затормозить реальное решение задач. Поэтому необходима какая-то систематизация методов решения, их от- бор. Естественно пытаться решить задачи наилучшим, оптимальным спо- собом. Мы уже рассматривали некоторые модельные формулировки за- дач об оптимальных методах решения на примере вычисления значений функций; при этом возникают определенные математические постановки задач, требующих решения. При рассмотрении каждой новой проблемы желательно получить ее наиболее подробное, наилучшее описание и затем решить возникшую за- дачу наилучшим образом. Однако обычно это не удается сделать и при- ходится довольствоваться меньшим: описать проблему наилучшим обра- зом и решить ее удовлетворительно или описать проблему удовлетвори- тельно и затем полностью решить возникшую задачу. При рассмотрении
§ 9. О постановках задач оптимизации 125 проблемы оптимизации методов можно говорить о выборе между удо- влетворительным решением проблемы оптимизации методов для классов задач, близких к реальным, или полным решением проблемы для эталон- ных математических классов, подобных рассматриваемому в следующем параграфе. Может вызвать недоумение высказывание об «удовлетвори- тельном решении проблемы оптимизации методов» для каких-то клас- сов—ведь задача оптимизации методов на классе сводится к вполне кон- кретной математической задаче, которую, по-видимому, можно решить окончательно, а не «удовлетворительно». В принципе это высказывание верно, однако обычно полностью ре- шить задачу в приемлемое для практики время не удается, так как время, необходимое для построения оптимального метода, обычно суще- ственно превосходит время, в течение которого возникает новое, уточ- ненное описание классов рассматриваемых задач. Также надо иметь в виду, что не всегда удается формализовать такое математическое описа- ние класса реальных задач: имеется какое-то качественное представление о классе, имеются неплохие численные методы и интуитивно ясно, что в практическом плане оптимальность методов достигнута; в то же вре- мя нет даже четко формализованного описания класса решаемых задач. Например, реально требуется вычислить интегралы от кусочно-гладких функций, однако в течение долгого времени так и не удалось предло- жить описание множества таких функций, которое соответствовало бы реальной практике вычислений. Точно так же, например, при анализе физических моделей можно описать задачу с помощью сложной системы дифференциальных уравнений и решить эту систему с малой точностью или описать задачу более грубо с помощью простой системы и решить эту систему с большой точностью. В разных случаях, в зависимости от конкретной обстановки, бывает целесообразен тот или иной подход к решению задачи. Представляется, что для прикладной науки часто более существенно не окончательное ре- шение вариационных задач, а правильная их постановка. Обычно боль- ший эффект дает удовлетворительное решение правильно поставленной в практическом смысле вариационной задачи, чем полное решение упро- щенной задачи, не охватывающей все существенные характерные черты исходной проблемы. Что такое оптимальный метод решения задачи? Под оптимальным методом решения задачи можно понимать метод, требующий минимальной затраты машинного времени. Но это будет не- правильная постановка, поскольку, в принципе, всякую задачу можно ре- шить без применения машин, затратив на это очень большое количество времени. Под оптимальным можно понимать метод, требующий минимальных затрат времени (или соответственно материальных затрат). При этом следует помнить, что время и затраты на поиск оптимального алгорит- ма уже входят в решение задачи.
126 Глава 3. Численное интегрирование Когда мы ставим вопрос о решении задачи оптимальным образом, мы не учитываем разных возможностей исследователей, решающих зада- чу. А ведь в зависимости от индивидуальных возможностей исследова- теля, наличия ЭВМ, библиотеки, лаборантов, сотрудников, обладающих опытом решения подобных задач, оптимальное решение, вообще говоря, будет различным. Мы говорили об оптимальном решении каждой конкретной задачи. Такая постановка вопроса не совсем правильна также по следующей при- чине. На самом деле коллектив исследователей сталкивается с целой со- вокупностью задач. Мы можем поставить перед собой цель решить пер- вую, вторую и т. д. задачи за кратчайшее время. Однако постановка во- проса в корне изменится, если мы зададимся целью решить с минималь- ными затратами целую совокупность задач. Мы можем решать первую, вторую и т. д. задачи оптимальными методами, но за это время нау- ка уйдет вперед, и если мы не будем изучать новые методы, создавать новые алгоритмы и стандартные программы, рассчитанные на решение будущих задач, то в целом мы проиграем. При наличии большой серии задач, не требующей сверхсрочного решения, выгоднее заняться теорети- ческими исследованиями, создать новые алгоритмы, а затем уже решать эти задачи. Нет однозначного ответа также на вопрос о том, кто должен зани- маться оптимальным решением задач. Если мы имеем дело с единствен- ной конкретной задачей, заведомо не требующей нового алгоритма и больших затрат машинного времени, ее лучше поручить выполнить ра- ботнику низкой квалификации. Увеличение числа задач и их сложности требует привлечения работников высокой квалификации, поскольку здесь их отдача будет наиболее полной. Конечно, важно изучить опыт реше- ния как сложных, так и простых задач подобного типа. Для того чтобы задачу оптимизации методов можно было рассматривать как чисто ма- тематическую задачу, необходимо определить целевую функцию исследо- вания, класс рассматриваемых задач и возможности исследователя. Качество какого-то алгоритма на классе задач мы характеризуем его качеством на самой «плохой» для него задаче этого класса. Поэтому чем уже класс рассматриваемых задач, тем лучше качество алгоритмов на этом классе. Казалось бы, следует построить оптимальные алгоритмы для решения возможно большего числа классов задач. Однако при излишней детали- зации слишком много усилий уйдет на отыскание оптимальных методов решения. В этом случае может не хватить сил и времени на реальное решение самих задач, разработку и создание стандартных программ. Ко- нечно, эти замечания против детализации в меньшей мере относятся к случаю специализированных машин и устройств, где следует максималь- но сузить класс рассматриваемых задач. При первом взгляде на проблему кажется, что в практике вычислений всегда имеют дело с конкретными задачами и никогда не рассматривают
§ 9. О постановках задач оптимизации 127 класс задач. По этому поводу можно сказать следующее: формально при выборе метода решения задачи исследователь не относит ее к какому- либо классу; однако метод решения всегда выбирается в зависимости от некоторых типичных свойств задачи: тип дифференциального уравнения, наличие особенности у решения, число конечных производных и т.п. При выборе алгоритма исследователь учитывает эти свойства и тем самым вольно или невольно относит рассматриваемую задачу к классу задач, обладающих этими свойствами. При анализе задач и разбиении их на классы часто возникает во- прос: какому классу задач уделить первоочередное внимание, в частно- сти, на какой класс задач следует рассчитывать при составлении стан- дартной программы численного интегрирования? Пусть, например, при помощи этой программы примерно с одинаковой частотой будут вычи- сляться интегралы как от гладких, так и от не очень гладких функ- ций. На какие функции нужно ориентироваться при выборе алгоритма для этой программы? Ответ на этот вопрос можно получить из следую- щих соображений. На гладких функциях алгоритм будет работать более эффективно, поэтому время, затрачиваемое на их решение, будет мень- ше времени, затрачиваемого на решение задач с негладкими функциями. 50% экономии времени при вычислении интегралов от гладких функ- ций принесет меньшую выгоду, чем 50% экономии времени при вычи- слении интегралов от негладких функций. Следовательно, целесообразнее уделить внимание эффективности алгоритма в случае негладких функ- ций. Конечно, вывод будет другим, если доля негладких функций будет мала. При отыскании оптимального метода решения класса задач в случае, когда предполагается непосредственное внедрение алгоритма в вычисли- тельную практику, обычно возникает следующая проблема: нам не уда- ется сразу найти оптимальный метод решения задач рассматриваемого класса. После некоторого времени работы мы находим какой-то метод, иногда близкий к оптимальному, иногда просто лучший, чем ранее из- вестные, а затем постепенно совершенствуем его. В какой момент на- до остановиться в усовершенствовании метода и перейти к составлению стандартных программ решения этого класса задач? При ответе на этот вопрос надо учитывать следующие простые соображения. Если мы по- спешим и быстро начнем внедрять только что полученный алгоритм, то, может быть, нам придется вскоре создавать новые алгоритмы из-за плохого качества этого алгоритма. Затягивание времени при составлении стандартных программ также нежелательно: при этом мы допустим боль- шой перерасход машинного времени при решении задач по имеющимся стандартным программам. Можно возразить, что создание совершенных стандартных программ приведет к большой экономии машинного времени в будущем. Однако при анализе этого возражения в свою очередь следует учесть, что ма- шинное время становится все менее дефицитным и более дешевым. Кро-
128 Глава 3. Численное интегрирование ме того, чем раньше мы решим ту или иную задачу, тем большую ре- альную пользу получит общество в целом. Нужно учитывать также важность быстрого внедрения вновь создан- ных алгоритмов для самой задачи отыскания оптимальных методов ре- шения. Дело в том, что анализ результатов расчетов может указать на необходимость изменения класса рассматриваемых задач и открыть путь для новых теоретических исследований. Мы видим, что подход к пробле- ме оптимальности должен носить динамический характер: должны стро- иться оптимальные или близкие к ним методы для все новых классов задач, предъявляемых наукой и техникой, при изменении возможностей, предоставляемых ЭВМ. При этом необходима как текущая работа, так и работа по доведе- нию предложенных ранее постановок до окончательного решения. Для вычислительной математики, как и для всякой прикладной науки, ха- рактерна следующая обстановка. Обычно задачи новых типов предъявля- ются сначала в незначительном количестве и требуется срочное их ре- шение любой ценой, не считаясь ни с какими затратами. На первом этапе применяется первый попавшийся приемлемый метод. Далее эти задачи поступают в большом количестве, производится более или ме- нее удовлетворительная постановка задачи оптимизации методов и на- ходится некоторое ее решение. Затем задача переводится на поток, т. е. решение задач этого типа производится при помощи пакетов соответ- ствующих стандартных программ. Не следует думать, что на этом эта- пе полностью кончается исследование данного типа задач —чтобы созда- вать эффективные методы решения новых задач, нужно осмысливать те задачи, которые остались несколько позади, и проводить их теоретиче- ское изучение. Иногда бывает целесообразно работу по быстрому реше- нию первых поступивших задач серии и перспективную работу по со- зданию эффективных методов решения с самого начала организовать параллельно. Соотношение между текущей и перспективной работой также явля- ется важнейшим фактором жизнедеятельности любой научной организа- ции. В каждый момент времени организации предъявляются некоторые требования, выполнение которых необходимо для ее существования: са- моокупаемость в случае хозрасчетных организаций, своевременная отчет- ность по годовому плану и т. п. Однако существуют и критические мо- менты времени, когда предъявляются повышенные требования к работе, например, необходимость своевременного решения новых классов задач. Поэтому при планировании работы должны предусматриваться какие-то теоретические разработки впрок, резервы людей, машинного времени. Вернемся к вопросу об оптимизации методов. Часто математик, создав оптимальный или близкий к нему метод ре- шения задачи, сетует на то, что этот метод плохо внедряется в вычи- слительную практику. Ответ на этот вопрос может быть самым разным. Часто это происходит вследствие консерватизма практических работни-
§ 10. Постановка задачи оптимизации квадратур 129 ков, их желания работать старыми, привычными методами. Иногда это объясняется недостатками самого метода. Например, случается, что кро- ме (и даже вместо) оптимальности метода желательны и существенны простота метода и возможность надежного контроля точности получае- мых результатов. Может случиться, что сам класс рассмотренных задач не совпадает с классом, к которому относится большинство задач, по- ступающих для решения. Конечно, нужно учитывать также вопрос о том, насколько широк воз- можный круг решаемых задач рассматриваемого класса. Если сейчас и в перспективе ожидается решение небольшого числа задач рассматриваемо- го класса, разработка оптимальных алгоритмов и создание; стандартных программ решения задач этого класса могут себя не оправдать. В то же время изучение задачи оптимизации методов на различных классах часто полезно тем, что при решении возникают новые; методы, которые затем находят применение и при решении задач из других классов. § 10. Постановка задачи оптимизации квадратур Рассуждения § 9 показывают важность изучения различных постановок проблемы оптимизации методов на классах функций. Рассмотрим задачу вычисления интеграла И.п= [ f(P)p(P)dP. Область интегрирования Q и весовая функция р(Р) предполагаются фик- сированными. Класс рассматриваемых задач определим заданием класса F подынтегральных функций. Погрешностью квадратуры л на классе F называют величину ВДЕ) = 8пр|ад/)|, /ег где, как обычно, RM = 1(f) - SN(f). Нижняя грань WN(F) = RN(F) называется оптимальной оценкой погрешности квадратур на рассматрива- емом классе. Если существует квадратура, для которой R^-{F) = Wy(F), то такую квадратуру называют оптимальной или наилучшей на рассма- триваемом классе. 5 903
130 г лава 3. Численное; интегрирование1 В § 2 была получена оценка (2.4) погрешности квадратуры, точной для многочленов степени ш, через (т + 1)-ю производную функции. Эта оценка является неулучшаемой (см. задачу 2.3). Таким образом, для классов функций F |/(”1+1)(.т) | А при х G [о, 6] величина Rn(F') известна и задача построения оптимальной квадратуры сводится к нахождению коэффициентов и узлов, на которых достигается нижняя грань R]^(F). Для ряда классов функций эту задачу удалось решить. Например, при т = 0 такой квадратурой является составная формула прямоугольников с оценкой погрешности \RN(f)\ < A/(47V). (1) (Доказать!) В настоящее время оптимальные квадратуры получены для неболь- шого набора классов функций, в основном одной переменной. Непосред- ственное значение этих квадратур для приложений невелико, однако это не значит, что не нужно заниматься построением таких квадратур. Построение оптимальных квадратур и дальнейшее их развитие на слу- чай большей гладкости и большего числа переменных оказались ценными не получением конкретных квадратурных формул, а выяснением каче- ственной стороны вопроса: где какие методы лучше, на какую точность можно рассчитывать при использовании определенной информации о по- дынтегральной функции, какова плотность распределения узлов у «хо- рошей» квадратуры. Пусть, например, при первоначальном анализе задачи мы решили воспользоваться информацией об ограниченности первой производной |/'(з:)1 А, оценка погрешности (1) нас не устраивает, поскольку для достижения нужной точности е требуется слишком большое число узлов: если A/(4N) е, то N А/(4е). Оптимальность оценки (1) указывает на необходимость сужения класса рассматриваемых задач путем учета до- полнительной информации о подынтегральной функции (ограниченность второй производной, тип особой точки подынтегральной функции, анали- тичность и т.п.) или расширения множества используемых методов ин- тегрирования.
§11. Оптимизация распределения узлов 131 § 11. Оптимизация распределения узлов квадратурной формулы Развитие методов численного интегрирования могло бы пойти по пути создания оптимальных методов на различных классах СГ(А; [а, 6]) и со- здания программ на основе этих методов. Здесь и далее СГ(А; [а, 6]) — класс функций с кусочно-непрерывной г-й производной, удовлетворяю- щей условию А при х е [о, 6]. Вскоре после начала рассмотрения задач оптимизации методов стало яс- но, что уже известные на этих классах методы с оценкой погрешности (8.7) недалеки от оптимальных. Как увидим в § 7 гл. 5, за счет опти- мизации квадратурной формулы оценка погрешности (8.7) на рассматри- ваемых классах не может быть улучшена по порядку. При этом также стало ясно, что некоторые методы, практически совпадающие с метода- ми Эйлера и Грегори (см. § 13), являются асимптотически оптимальны- ми по оценке главного члена погрешности. Имеется в виду следующее. Для этих методов на соответствующих классах функций были получены оценки погрешности cr/Nr + сг+1/Ж+1, в то время как для оптимальных на этих классах методов оценка по- грешности имеет вид cr/Nr + <9(l/№'+1). Казалось бы, что поскольку есть почти оптимальные методы, то сле- дующим этапом должен стать перевод всех программных комплексов ин- тегрирования на использование этих методов. Однако подобное утверждение нельзя рассматривать как бесспорное. Вследствие большого многообразия задач, требующих решения, при пе- реходе к этапу внедрения методов в практику всегда следует проявлять известную осторожность. Нельзя полностью ручаться, что принятое нами описание классов этих задач паилучшим образом соответствует классам реальных задач. Например, следует признать, что классы Сг плохо опи- сывают реальные задачи. Конечно, из-за привычки к традиционным ме- тодам внедрение новых методов обычно требует энергичных действий со стороны их приверженцев. В то же время надо иметь в виду, что старые методы прошли испытание временем и могут оказаться более пригодны- ми для решения задач некоторых классов, поэтому отбрасывание старых методов должно производиться лишь после достаточного теоретического и практического анализа. В случае рассматриваемой проблемы оптимизации методов интегриро- вания на практике еще до полного выяснения вопроса об оптимальности методов пришли к следующим заключениям.
132 Глава 3. Численное интегрирование При разбиении исходного отрезка интегрирования на одинаковые эле- ментарные отрезки aq — aq-\ = Н мы получаем информацию о подынте- гральной функции равномерно по всему отрезку интегрирования. В то же время подынтегральная функция может быть более гладкой на части отрезка интегрирования, поэтому там следует поместить относительно не- большое количество узлов, т. е. для практически оптимальных методов разбиение отрезка интегрирования на части должно быть приспособлено к специфике поведения подынтегральной функции. Рассмотрим возможные постановки задач распределения узлов в зави- симости от особенностей поведения производной подынтегральной функ- ции. Эти постановки имеют много общего, однако для конкретных задач тот или иной подход иногда оказывается более удобным. Для просто- ты изложения мы будем проводить .рассмотрение на примере формулы трапеций. Пусть вычисляется интеграл Д/) = ['f(z)dx Jo и подынтегральная функция удовлетворяет условиям |/"(.т)| Ai на от- резках [Д-i, Д], I = 1,. • -, q, где 0 = Во < Д < • < Bq — 1. Для вычисления интегралов [В/ W)= f(x)dx применим составную формулу трапеций с равными отрезками разбиения длины Д = bi/Ni, где bi = Bt - Д_р h(f) ~ •$(/) = Д + /(Д-! +д) + • • • + . Из результатов § 3 следует, что остаточный член оценивается величи- ной А/Ь%/(12N'jJ). Тогда суммарная погрешность при замене 1(f) суммой я не превзойдет величины 12N~ Поставим задачу: при заданном числе N = NiA--}-Nq отрезков разби- ения распорядиться выбором величин Д так, чтобы суммарная оценка погрешности Ф была минимальной. Найдем минимум Ф при условии Ф = N± Т -4- Nq — N = 0, не пред- полагая пока, что величины Д целые. Приравнивая нулю производные функции Лагранжа Ф -Г АФ, получаем систему уравнений д(Ф + АФ)_ м dNt ~ 6N* + ~
§11. Оптимизация распределения узлов 133 Отсюда (1) Из условия Ф = 0 получим следующее уравнение относительно А: Из этого уравнения определяем А и затем из (1) находим Nt- Поскольку Ni должны быть целыми, то возьмем, например, Очевидно, что Nt = N? = bt 3/Л У 6А (2) N - q N® + • • + N. Мы не нашли настоящего минимума Ф по множеству всевозможных це- лых TVj,..., Ng, удовлетворяющих условию Nj + • - • + Nq = N, однако дальнейшее уточнение вряд ли разумно. Обычно практический интерес представляет другая вариационная за- дача: найти минимальное значение N — Nt + • + Ng, при котором оцен- ка погрешности Ф не превосходит заданного е. Поскольку Ф монотонно убывает с ростом величины N, достаточно ограничиться случаем Ф = е. Возьмем функцию Лагранжа в виде Ni + • + Ng + А-1(Ф - е). Приравнивая нулю ее производные по Nt, I = 1, 2,..., q, получим те же уравнения (1); подставляя значение N/ = Ь[ лучим в уравнение Ф = е, по- 9 / А \ 1/3 д2/з V I — I \48 J 1=1 х 7 bl = Е. Определяем А, а затем соответствующие Nt- Соотношения для определе- ния величин Nt, получившиеся при рассмотрении этих двух задач, имеют одинаковый вид. Поэтому для вывода качественных результатов об опти- мальном распределении узлов достаточно было бы ограничиться рассмо- трением одной из этих задач. Нашей целью является разработка оптимальных методов решения и разработка на их основе систем программ решения типовых матема- тических задач. Можно представить себе программу вычисления инте- грала с заданной точностью, работающую по следующей схеме. Про- изводится вычисление таблицы значений функции на некоторой сетке
134 Глава 3. Численное интегрирование rci,...,rcn. По этой таблице составляется таблица разделенных разно- стей /(яо; ХИ ж‘г), • - -, f(xn-2',xn-iixn)- Из рассмотрения этой таблицы делается вывод о наиболее целесообразном разбиении отрезка на части [Bj-i, Д] и значениях Ai, соответствующих этим частям. Затем, в соот- ветствии с (1), выбираются Ni и производится интегрирование. Большинство алгоритмов реально работающих стандартных программ базируется не на таком непосредственном использовании полученных со- отношений, а на одном качественном выводе, являющемся следствием (1). Для этого перепишем равенство (1) в виде Aa,(6,/W,)3 = ± Левая часть этого выражения равна оценке погрешности по элементар- ному отрезку интегрирования длины bi/Ni, на которые разбит отрезок [-В/-1, Д]. Таким образом, это соотношение означает, что при оптималь- ном распределении узлов интегрирования оценки погрешностей, приходя- щиеся на элементарные отрезки интегрирования, должны, быть одинако- выми. Для получения этого вывода достаточно было ограничиться случаем q = 2. Это обстоятельство подчеркивает общее свойство качественных характеристик методов решения задач (не обязательно математических): для их получения достаточно ограничиться рассмотрением простейших моделей, учитывающих основные стороны явления. Как правило, алгоритмы, основанные на качественных выводах о свойствах решения оптимизационной задачи, имеют более широкую область применения, чем алгоритмы, подобные вышеописанному, осно- вывающиеся на количественных соотношениях. Описываемые далее про- граммы вычисления интегралов, основывающиеся на этом качественном выводе, позволяют вычислять с высокой скоростью сходимости интегра- лы от функций с регулярными особенностями типа ха, а > — 1. Рассмотрим еще одну, близкую постановку задачи оптимизации рас- пределения узлов интегрирования. Чтобы не утомлять читателя второ- степенными деталями, мы не будем проводить подробных оценок членов высшего порядка в оценке погрешности. Пусть отрезок интегрирования [0, 1] разбит на части [aQ-i, a(J], q — «о = 0, aw = 1, и интеграл по каждой части вычисляется по формуле трапеций = [ f{x)dxK, Sg(/) = 9Qg~1 (/(ag-i) + f(ag)). Ja4-l Z Тогда интеграл по всему отрезку [0, 1] вычисляется по формуле q N i=l q=l
§ 11. Оптимизация распределения узлов 135 с оценкой остаточного члена -Е.-пах irW| (3) 9=1 1^ Пусть известно, что |/"(ж)| ^C'z;) на [О, Ч> где ^(ж) непрерывна, и пусть в качестве aq взяты значения ip(q/N} непрерывно дифференциру- емой функции (/?, удовлетворяющей условиям <д(0) = 0, </?(!) = 1. По- скольку Подставляя последние соотношения в (3), имеем Выражение в фигурных скобках является квадратурной суммой Римана для интеграла Jo 12 от непрерывной функции. Следовательно, Рассмотрим задачу минимизации первого, главного члена выражения (4). Для удобства решения уравнения Эйлера примем за независимую переменную функцию <д. Тогда коэффициент при 1/7V2 в главном члене погрешности запишется в виде Jo 12 Уравнение Эйлера для функции, минимизирующей функционал f G(ip, t, t1) d<p, Jo
136 Глава 3. Численное интегрирование имеет вид d dtp dt') ^=0. dt (5) В рассматриваемом случае BG/dt = 0, поэтому из (5) имеем BG/dt' = const. Подставляя конкретное значение функции G, получим (*'(^))-3—= const или F(tp)(tp'(t)}3 — С\. (6) Общее решение этого уравнения зависит от Ci и еще от некоторой по- стоянной (Д. Значения этих постоянных можно определить из граничных условий ДО) = 0, Д1) = 1. Решение рассмотренной вариационной поста- новки может практически использоваться различными способами. Напри- мер, в случае гладких функций /(а;) программы осуществляют численное интегрирование (6) на сетке с шагом, существенно большим 1/7V, и затем распределяют узлы в соответствии с полученным решением. Из соотношения (6) можно сделать тот же вывод о равенстве оценок погрешностей на элементарных отрезках интегрирования при оптималь- ном распределении узлов. В самом деле, умножим (6) на положим t = и заменим и ^tp’ соответственно эквивалентными величинами max F(rr), aq — aq-^. В результате получим [aQ_i,a,] шах [од— 1, Од] Г(Ж) 12 12N3' (7) Другой из возможных путей практического использования решения уравнения (6) состоит в следующем. Пусть требуется вычислить боль- шую серию интегралов с одинаковым характерным поведением подынте- гральных функций. Выделим простейшую модельную функцию, для ко- торой задача оптимизации узлов может быть решена в явном виде, и далее будем производить интегрирование с распределением узлов, соот- ветствующим этой функции. Если характер изменения функций из рас- сматриваемой серии зависит от некоторого параметра, то этот параметр следует учесть при выборе модельной функции; естественно, что модель- ная функция не обязательно относится к рассматриваемому классу. Чем большее количество задач предъявляется для решения, тем более оправ- данными могут быть затраты, связанные с удачным выбором и рассмо- трением модельной задачи.
§ 12. Примеры оптимизации распределения узлов 137 § 12. Примеры оптимизации распределения узлов Рассмотрим примеры решения уравнения (11.6) для конкретных задач. Пример 1. Пусть вычисляется серия интегралов f(b, х) dx, где 6 —параметр серии, f(b,x) = xbg(b, х), —1<Ь<2, д(Ь, х) — гладкая функция, д(Ь, 0) 0. Если b 0, 1, то вторая производная /хх(Ь, х) не ограничена в окрестности точки 0, поэтому при выборе модельной задачи следует учесть эту специфику поведения подын- тегральной функции. В окрестности точки х — 0 мы имеем Ах(Ь, = b(b - V)xb~2g(b, 0) + оо?-1). Таким образом, в окрестности точки х = 0 вторая производная fxx приблизительно пропорциональна второй производной функции у = хь, поэтому функцию у = хь естественно рассматривать в качестве модельной. Примем за F(x) величину |Ь(Ь — 1)| яь~2; тогда уравнение (11.6) запишется в виде |ь(ь-1)1<А2 3 = Ci, отсюда /3{/|Ь(Ь - 1)1 \ \ 6 + 1 / 3 — C\t + с%. Из условия </?(0) = 0 получаем, что С% = 0, а из условия </>(!) = 1 — ь±1 . m , что <р з = t. 1аким образом, (1) и для модельной задачи вычисления интеграла хь dx оптималь- ным в рассматриваемом нами смысле является распределение узлов Проведенные выше построения, вообще говоря, неприменимы к рас- сматриваемому случаю, поскольку при получении оценки (11-4) предпо- лагалась ограниченность второй производной функции F(x), не имеющая места для данной задачи. Однако можно обосновать применимость оцен- ки (11.4) и в рассматриваемом случае.
138 Глава 3. Численное интегрирование Задача 1. Пусть для функции О fb (ж) = при х = О, при х Е (0, 1], где — 1 < b < 1, по формуле трапеций с постоянным шагом ад—] = 1/N вычисляется /ьО) dx. (2) Доказать, что суммарная погрешность удовлетворяет соотношению RM ~ А(Ь)/ где А(Ь) 0. Задача 2. Интеграл (2) вычисляется по формуле трапеций с распреде- 3 лением узлов ад — (p(q/N), ip(t) = tb+b, определяемым (1). Доказать, что суммарная погрешность удовлетворяет соотношению Rw^f) ~ D-2(b)/N2. Задача 3. Интеграл (2) вычисляется по формуле трапеций с распреде- лением узлов ад = tp(q/N), (p[t)=ta. Показать, что при а >2(6+1) сум- марная погрешность Ri\r(f) ~ Л (a, b)/N2. Проверить, что Р(а, 6) > D?(6). Сравнение результатов решения этих задач показывает, что перераспределение узлов в сторону большей их концентрации вблизи особенности, в частности оптимизация распределения узлов, приводит к увеличению порядка скорости сходимости. Пример 2. Вычисляется серия интегралов [ xb(\nx)g(b, x)dx, Jo где g(b, х) —гладкая функция, д(Ь, 0) 0, 6 —параметр серии. По- скольку In гс имеет особенность в точке 0, то кажется естественным взять в качестве модельной функции у = Д'In к. Ее вторая произ- водная имеет вид у" = хь~2(Ъ{Ъ - 1) 1п.т + (26 - 1)). При F(.r) = | (xb In я)" | уравнение (11.6) не решается в квадратурах, поэтому упростим задачу. При х -+ 0 функция In я растет медленнее, чем любая степенная функция у = х~£, е > 0. Исходя из этого в уравнении (11.6) возьмем F(x) = const -xb~2. Пример 3. Вычисляется серия интегралов ехр{-^}г7(Ь, x)dx, (3)
§ 12. Примеры оптимизации распределения узлов 139 где д(Ь, я) —гладкая функция, д(Ь, 0) 0, 6 —параметр серии, кото- рый может принимать очень малые значения. При малых b подын- тегральная функция и ее производные резко меняются в окрест- ности точки х = 0 за счет множителя ехр{—х/b}, поэтому имеет смысл произвести оптимизацию распределения узлов интегрирования на модельной задаче вычисления интеграла / ехр{—х/b} dx. Поло- ло жим F(x) = |(ехр{—ж/Ь})"|. Уравнение (11.6) приобретает вид 1 Г VI (<Ьр\3 .. Отсюда 1 - ехр = C3t + С4. Из условия </?(0) = 0 следует, что 6'4 = 0, а из условия </?(!) = 1 получаем откуда <p(t) = 36 In р. - ^1 ~ехр{-^-}) tj . Пример 4. Вычисляется серия интегралов [ ехр{—я2/Ь2}д(Ь, x)dx, (4) Jo где g(b, х)—гладкая функция, д(Ь, 0) 0, b — параметр серии, кото- рый может принимать очень малые значения. При малых b подын- тегральная функция и ее производные резко меняются в окрест- ности точки х = 0 за счет множителя ехр{— х2/Ь2}. Поэтому в качестве модельной задачи возьмем задачу вычисления интеграла I exp{—x2/b2}dx. Положим F(x) ~ |(ехр{—я2/62})"|; тогда в каче- J0 стве уравнения (11.6) получим уравнение |1 — 2(p2/b2\exp{—<p2/b2}(d<p/dt)3 = C\b2/2, откуда J {/| 1 — 2</?2/62| ехр{—</?2 /362} dg> = J C\b2/\/2dt. Этот интеграл не вычисляется в явном виде, поэтому попытаемся произвести упрощения. Например, можно заменить 1 — 2</?2/62| на 1. При больших значениях tp/b, когда погрешность такой замены
140 Глава 3. Численное интегрирование большая, ее влияние не столь значительно из-за малого множителя ехр{—</2/(ЗЬ2)}. После такого упрощения функция <p(t) будет выра- жаться через функцию, обратную функции / ехр{—v2} dv. Jo Задачи, подобные рассмотренным в примерах 3, 4, возникают довольно часто. Например, при расчетах диаграмм направленности антенн вычисляются се- рии интегралов / exp{i6g(6, x)}h(b, х) dx в широком диапазоне изменения Ь; Jo функции g(b, х), h(b, х) являются довольно гладкими. При b не очень больших эти интегралы могут вычисляться с помощью простейших квадратурных фор- мул. С ростом b производные подынтегральной функции растут, поэтому тре- буемое количество узлов интегрирования увеличивается. При очень больших b можно воспользоваться методом перевала или иными асимптотическими мето- дами. Однако для «промежуточных» значений b оба эти метода будут плохи: первый — из-за трудоемкости, второй — из-за малой точности. Поэтому иногда применяют следующий метод: контур интегрирования преобразуется так, что- бы он проходил по линиям наискорейшего спуска функции exp{ibg(b, а:)}, как это делается при использовании метода перевала. Получаются интегралы от резко меняющихся функций, аналогичные рассмотренным в примерах 3, 4. Из приведенных примеров видно, что оптимизация распределения уз- лов интегрирования на основе уравнения (11.6) требует достаточно высо- кой квалификации исследователя. Поэтому далее в § 17 будет рассмотрен вопрос о передаче этих функций ЭВМ. § 13. Главный член погрешности Применение формул для оценок погрешности, подобных полученным в § 2, 3, требует достаточно высокой квалификации исследователя, напри- мер для получения требуемых оценок производных. При получении ря- да из этих оценок, например оценок для составных формул трапеции и Симпсона, возможно существенное загрубление оценки, поскольку общая оценка погрешности равна сумме модулей оценок на отдельных отрезках. Эти обстоятельства определили интерес к получению вырад^ния для главного члена погрешности. По информации о величине главного члена погрешности можно полноценнее проводить сравнение методов. Как будет видно далее, сам факт наличия главного члена у погреш- ности позволяет судить о реальной величине погрешности, не прибегая к теоретическим оценкам. Обратимся к составной квадратурной формуле трапеций вычисления интеграла 1(f) = / f(x) dx с постоянным шагом
§ 13. Главный член погрешности 141 Н- Для удобства обозначим Н = (В — А)/М, aq = А + дН, в частности а0 = А, ам = В. Имеем !(/) « SMtf) = С(/) = Н + /(О1) + • + /(ом-i) + - Согласно § 3.2 справедливо равенство Г1 „Ж-О + Ж) /"(С9)н3 / /(ж) dx = Н---------------------—-----, Q е а9]- J ач-1 Просуммировав по д, получим /«м я3 / Ж dx = SMtf) + Rtf), Rtf) = - £ f”tfq)-^- JftO q—1 Величину погрешности Rtf) можно записать в виде rr2 М Rtf) = -~^itf), = 9=1 Выражение в правой части есть квадратурная формула для интеграла гам I f"(x) dx, поэтому при Н —> 0 имеем J ао гам itf)~> f"tf)dx. •fao Следовательно, W) = + R'tf)’ = °^- Задача 1. Пусть | (х)| Мц на [А, В]. Показать, что в этом случае |Я1(/)| < сзМз(В - А)Н3. Задача 2. Пусть |/^4Нж)| -^4 на отрезке [А, В]. Показать, что |2?i(/)| qM4(B - А)Я4. Полученное соотношение для Rtf) может использоваться в различных целях. Например, его можно представить в виде № R{f) = ~ Г(Л)) + °(Я2)- (1) После вычисления f'(B) — f'(A) получаем значение главного члена по- грешности. Предположим, что достигнутая точность не является удовле- творительной. Запишем (1) в виде Л/) = ^(/) + о(Я2),
142 Глава 3. Численное интегрирование где Н2 sUn = sldf) - - /Ш- Как следует из решения задачи 2, при |/^(ж)| выражение Sjjfj) оказывается квадратурной суммой с погрешностью О((В — Д)Я4), т. е. такой же по порядку, как у формулы Симпсона. Можно попытаться выделить главный член погрешности получившей- ся формулы. Имеем равенства м 9=1 FT FT2 Ф) = у(/Ы + /(«<,)) - ^(Ж) - Ж-1))- Величину s2(/) будем рассматривать как приближенное значение инте- грала W) = [ f(x)dx. J dq—\ Подставляя в разность Ig(f) — s2(f) представление /(я) в виде отрезка ряда Тейлора, можно получить главный член погрешности на элементар- Н5 ном отрезке в виде и т-Д- Продолжая процесс выделения главного члена погрешности, приходим к последовательности квадратурных формул Эйлера, Л/) « 5^(/), $$(/) = S2M(f) - ^72уЯ2>(/(2>-1)(В) - i=i с оценкой погрешности 1(f) - Sm(/) = -72J(2Z) (C2Z)(B - А)Я2/. (2) Существует следующее соотношение, которому удовлетворяют числа ур. СЮ J=0 Обычно принято записывать числа т,- в виде Bj/jl, где Bj — так называемые числа Бернулли. Для сведения приведем несколько значений чисел 7/ 1 1 1 1 72 — 12’ 74 ~ “720 ’ 76 — 30240’ 78 “ 1209600’ _ 1 710 ~ 47900160’
§ 13. Главный член погрешности 143 Использование формул Эйлера неудобно, поскольку необходимо вычи- слять не только значения функции, но и значения ее производных. Однако, если в выражении заменить производные y(2fc-1)(A) и f^2k~l\B) производными интерполяционных многочленов степени I соответственно с узлами оо,...,а/ и адг,..., а/у_/, то при I = 2р — 3 и I — 2р — 2 после проведения промежуточных преобразований получаются формулы •численного интегрирования Грегори i GlM = S'm(Z) - H^(3k(\7kf(aM) - (-1)*Д*/(а0)), k=i где В частности, /7-1 /Д _ 1 « - Л « _ А Я _ 863 /? _ 275 12’ 24’ 720’ 160’ 60480’ & 24192' В случае подынтегральных функций с нерегулярным характером пове- дения, типа рассмотренных в § 11, применение формул Эйлера и Грегори неэффективно, поскольку производные высших порядков или не огра- ничены, или очень велики. Поэтому при непосредственном вычислении определенных интегралов эти формулы в настоящее время применяются редко. Однако они используются при интегрировании функций, задан- ных таблично, при вычислении неопределенных интегралов, при решении интегральных уравнений Вольтерра и других задачах, где существенно, чтобы значения подынтегральной функции вычислялись именно на рав- номерной сетке. Задача 3. Доказать, что главный член погрешности квадратуры Грего- ри 1(f) « GlM(f) есть (]l+lHl+2(f№(B) - Задача 4. Пусть / f(x)dx вычисляется по составной формуле трапе- ./о ций с переменным шагом интегрирования: aQ = <p(q/N), где ^ — гладкая функция. Доказать, что главный член погрешности есть Указание. См. построения § 11.
144 Глава 3. Численное интегрирование § 14. Правило Рунге практической оценки погрешности Мы получили, что главный член погрешности формулы трапеций с по- стоянным шагом интегрирования равен -^Н2(/'(В) - /'(А)). В случае формул более высокого порядка точности можно получить представление главного члена погрешности квадратуры через производ- ные высших порядков. Непосредственное использование этих выражений для оценки величины главного члена погрешности иногда неудобно, по- скольку требует выполнения операции дифференцирования. В других за- дачах выражение главного члена погрешности может оказаться настолько сложным, что его вычисление требует дополнительного численного ин- тегрирования. Поэтому в вычислительной практике применяется способ практической оценки погрешности, не использующий фактического выра- жения главного члена погрешности, а опирающийся лишь на факт суще- ствования такого главного члена. Для простейших задач типа численного интегрирования этот способ связывается с именем Рунге, в более слож- ных случаях—с именами Ричардсона и Филиппова. Этот способ основан на выделении главного члена погрешности по результатам расчетов с двумя различными шагами. Рассмотрим простейший вариант применения этого правила. Осуще- ствим приближенное вычисление интеграла /(/) = / f(x)dx с помо- J А щыо формулы трапеций с постоянным шагом Н\ = (В — А)/М\ и Н? = (В — А)/М2', М2 = 2М1, т.е. Н2 ~ Hi/I. Согласно (13.1) имеем равенство Д/) - 5М1(/) = - /'(А)) + о(Н2), н2 / \ (1) 1(f) - SMAf) = (f'(B) - f'(A)j + о(Н2). Мы стремимся построить алгоритм вычисления главного члена по- грешности, не использующий его конкретного выражения. Для этого за- пишем (1) в виде совокупности приближенных равенств i(f) - sMAf) ~ С Hl Величины $мАР и $мАР определены в результате расчетов, поэтому мы имеем два приближенных равенства относительно двух неизвестных 1(f) и С. Вычитая второе равенство из первого, получим sM2(f) - (/) « CHl - С Hl = 3CHl
§ 14. Правило Рунге практической оценки погрешности 145 Таким образом, CH% = ^(jSM2(f)-SM1(f))- (3) Подставляя приближенное выражение СН% в (2), получаем приближен- ное равенство /(/) - Sm-АП « | (sM.2(f) - 5ЛЛ(/)). (4) Таким образом, величина ^SM.2(f)-SM1(f)) является главным членом погрешности приближенного значения интеграла 5уи2(/). Перенося в (4) значение Sf,t.2(f) в правую часть, получим формулу для более точного по порядку, чем SM2(f), приближения к 1(f): 1(f)« SM.2(f) + | (sM.2(f) - SM1(f)\ (5) Таким образом, описанный способ построения главного члена погреш- ности порождает некоторую квадратурную формулу более высокого по- рядка точности. Задача 1. Доказать, что правая часть в (5) совпадает с составной ква- дратурной формулой Симпсона. Информация о величине главного члена погрешности часто исполь- зуется для приближенного определения минимального количества узлов, достаточного для достижения заданной точности. Из (3) находим, что с«^(зд/)-зд/)), а затем выбираем шаг интегрирования из условия |СЯ2|О или |СЯ2| ^е|5м2(/)|, (6) где е — заданная абсолютная или относительная погрешность результата. Выписанные выше соотношения (2)-(5) носят асимптотический харак- тер, поэтому значение С, найденное из (3), будет достоверным (т. е. близким к истинному) лишь при достаточно малом Н^. В ответствен- ных случаях после решения задачи с шагом Я, удовлетворяющим условиям (6), для контроля над точностью решают задачу с шагом 2Н и опять определяют главный член погрешности, соответствующий шагу Н. Описанный метод уточнения результата по итогам двух расчетов при- меним к методам любого порядка точности, причем не обязательно брать М2 = 2Mi. Задача 2. Имеется некоторый метод решения задачи с погрешностью 1(f) ~ SM(f) ~ С/Мт.
146 Глава 3. Численное интегрирование Произведено вычисление интеграла с Mi и М2 = XMi отрезками разби- ения. Показать, что AH-Sm-AHM Sm-AH-SmAH. А’га — 1 здесь имеется в виду предельный переход при М2 —> 00, А = const. Задача 3. Пусть Ш) 8„(Л = Д,+о(АДи) Показать, что т{ Г \ Q ( [.f ) при условии, что Mi, М2 — Mi —> ос. Задача 4. Пусть ЦП ЗД/) = Д+оДДД Показать, что гт о т ЯмАП-ЭмАП ЦП S«M~ (М2/М:),„_1 при условии, что Mi —> 00, М2 > Mi. В случаях, когда вычисляется большое количество интегралов с осо- бенностями определенного вида, без серьезного теоретического анализа нельзя определить порядок сходимости метода на интегралах этого рода (из-за неограниченности производных мы не имеем права пользоваться результатом о существовании главного члена погрешности). В других же случаях порядок погрешности может быть известен, но неясно, каким он оказывается при реально используемых значениях М. Рассмотрим вопрос о способах проверки выполнимости соотношения Я(/) ~ СМ~т при реально допустимых значениях М. Можно постараться подобрать модельную задачу с известным отве- том, близкую к рассматриваемой. Тогда после проведения расчета мы будем иметь в распоряжении приближенное значение Sm и погрешность Rm = I — Sm. Может случиться, что имеются какие-то предположения о характере поведения этой величины, например что Rm ~ const -М~т. (7) В таком случае можно подсчитать для некоторой последовательности М^ значения М™Кмк и посмотреть, стабилизируются ли эти величины с ро- стом М. Если нет предположения о характере поведения погрешности в данной задаче, то можно применить следующую методику.
§ 14. Правило Рунге практической оценки погрешности 147 Возьмем координатную плоскость 1пМ, In ( т~т ) (рис. 3.14.1), нанесем на нее точ- \IW ки (ыМк, In—Y (8) \ \Кмки Если эти точки расположены хаотиче- ски, то это означает, что числа Мк не на- столько велики, чтобы в погрешности вы- делился главный член. Предположим, что асимптотическое неравенство (7) в данной области изменения параметра М выпол- няется с большой точностью. Из (7) сле- дует, что In ~ т In М; | I после дифференцирования имеем <ПпМ т. (9) Заметим, что операция дифференцирования асимптотических равенств, вооб- ще говоря, незаконна. Согласно (9) в случае, когда (7) выполняется достаточно точно, точ- ки (1пЛ7д:, 1п(1/ l-Rukl)), получаемые в результате эксперимента на ЭВМ, должны лежать на кривой, тангенс угла наклона которой стремится к т. Если угол наклона кривой меняется резко, то еще нет оснований применять правило Рунге. Проверку справедливости предположения о характере поведения по- грешности можно осуществлять и таким путем. Если справедливо ра- венство RM ~ с/Мт, (Ю) то Smx - SM~ с(1 - A~m)/Mm. (П) С другой стороны, если (11) выполняется при М Mq, то будет выпол- няться и (10). Поэтому вместо проверки практической выполнимости (10) можно производить проверку практической выполнимости (11), в част- ности, при помощи изучения графиков функций д(М) = (Smx — Sm)Mm или расположения точек (inMfc, 1Пт 1 \ Рмд — омк (12)
148 Глава 3. Численное интегрирование Заметим, что возможности определения значения т и вообще про- верки условия (10) путем численного эксперимента довольно ограниче- „ 1 ны. Например, случаи Rm ~ const - и R/ri ~ const-— практиче- ски неразличимы при таком рассмотрении, потому что в обоих случаях din § 15. Уточнение результата интерполяцией более высокого порядка точности Если подынтегральная функция достаточно гладкая, то, как правило, по- грешность квадратурной формулы может быть представлена в виде I 1(f) - SM(f) = RM(f) = £Dk(f)M-'1* + r(M), (1) k=i где ii < ... < ii, r(M) = о(М~г‘). Обычно при гладкой подынтегральной функции имеем ф — zi = • = Ц — Ц- i ~ где s = 1 или s = 2. Напри- мер, в предположении ограниченности f(2m+2)(x) погрешность формулы трапеций, согласно (13.2), представляется в виде RM(f) = т / о д \ 2А: / [ г> д \ 2т+2\ = -Е«(^) j. Предположим, что произведено вычисление при значениях М = Mi),..., Mi. Мы имеем равенства I 1(f) = SM} (/) + £ Dk(f)M^ + r(Mj), j = 0,..., I. A.=l Образуем линейную комбинацию этих соотношений с некоторыми коэф- фициентами Cj, потребовав, чтобы I 3=0 Получим соотношение l l / i \ I i(f) = Y.cis^(f)+Y^D^ +Ес^)- з=о k=i \j=o / j=o Предположим, что выполняются равенства I 52 сзМГк = 0 ПРИ к = 1,..., I, (3) 3=0
§ 15. Уточнение результата интерполяцией 149 тогда I I Kf) = Y.c^(f) + ^^(М^. <4) .7=0 >=0 I Если величиной ^Cjr(Mj) можно пренебречь, то .7=0 I. I(f)^c>S^(f)- (5> j=o Система соотношений (2), (3) образует систему из I + 1 линейных ал- гебраических уравнений с I + 1 неизвестными, поэтому есть основания ожидать, что она имеет решение. Аналогия между рассматриваемой задачей и задачей интерполяции позволяет найти Cj в явном виде. Перепишем (1) в виде I Ql(M-') = SM(f)-r(M), где Ql(y)=I(f)~^Dkyk- (6) А.=1 Из соотношения (6) видно, что задача нахождения 1(f) может форму- лироваться следующим образом. Заданы значения многочлена Qi(y) при у = Мд1,..., Mjf1; требуется определить значение Qi(0) — 1(f). Согласно интерполяционной формуле Лагранжа (гл. 2 § 2) имеем Шу) = Е^Ш^7’ поэтому I Qi(o) = ^2cjQi(yj), где Су = П—Z—’ Уз = МГ^ (7) J=o Vi yj и, следовательно, i i I i(f) = Qi(o) = Ec^fe) = Ес>%(/) + '£cjr(Mj). j=0 j=0 j—0 Мы получили соотношение (4) с выписанными явно значениями Cj. Применение описанного метода, иногда называемого методом Ромбер- га, может быть полезным в следующей ситуации. Пусть мы задались какой-то квадратурой, вычислили на ЭВМ и выдали на печать зна- чения SMo2;(f), i = 0,..., I, но оказалось, что нужной точности еще не достигли. Тогда можно попытаться получить приближение к инте- гралу, применив правило Ромберга по некоторой совокупности значений 5'м02«+1 (/)>•••, 5'м02р+1 (/)
150 Глава 3. Численное интегрирование Иногда применяют следующую процедуру численного интегрирования. Задаются некоторым числом Мо и последовательно вычисляют прибли- женные значения интеграла по формуле трапеций /(/) rs при Мк отрезках разбиения: Мк = Мо 2к. Удобнее всего вести вычисления по формуле <(/) = ^SL (Л + ™ g f (л + - Л)) . При каждом к после вычисления последовательно вычисляют SMkU), > SMkl4f) по рекуррентной формуле <(/) = СУ) + ^(СУ) - СУ'». Таким образом, последовательность вычислений определяется схемой „о(1) Мо ° Mi °Мг Вычисления значений ( f ) обычно продолжают до тех пор, пока при некотором к не окажется, что min|sj^(/) — j(/)| < Е- Как правило, метод Ромберга существенно уступает по эффективности квадратуре Гаусса и методам интегрирования с автоматическим выбором шага (см. § 17). Задача!. Показать, что есть результат применения правила Ромберга к значениям (/). § 16. Вычисление интегралов в нерегулярном случае Существенную часть реально встречающихся подынтегральных функций составляют функции с особенностями, причем особенность может содер- жаться либо в функции, либо в ее производной, или функции, производ- ные которых очень велики. Если такая нерегулярность подынтегральной
§ 16. Вычисление интегралов в нерегулярном случае 151 функции не вызвана колебательным характером ее поведения, то непло- хой результат дают стандартные программы с автоматическим выбором шага, которые будут обсуждаться в § 17. В случае расчета малой серии интегралов с особенностями обращение к этим стандартным программам может оказаться наиболее целесообразным способом решения задачи. Для вычисления же большой серии интегралов с особенностями необходимо привлечь исследователей более высокой квалификации. Укажем ряд при- емов, которые могут оказаться полезными при рассмотрении этих во- просов. 1. Выделение весовой функции. Пусть вычисляется интеграл fb I f(x)d.x, где пределы интегрирования а и b могут быть и бесконечны- ./ а ми. Представим подынтегральную функцию в виде f(x) = д(х)р(х), где р(х)—достаточно простая, а д(х)—гладкая функции. Далее применяем какой-либо из рассмотренных ранее способов вычисления интегралов с весом. Рассмотрим некоторые примеры. Пусть вычисляется интеграл I —===. Представим /(ж) в виде J-1 VI - х4 1 1 к 1 ------- .... :, где функция является гладкой. Функцию vl + ж'2 VI — а;2 VI + ж2 . можно рассматривать как весовую. Этой весовой функции соот- V1 — х1 ветствует квадратура Мелера, часто называемая квадратурой Эрмита. Пусть вычисляется / f(x)dx, причем /(.т) может быть представлена Jo в виде д(х)ха, где — 1 < а < 1, д(:с) - гладкая функция, д(0) 0. При вы- числении интеграла по формуле трапеций с постоянным шагом Н = М~1 погрешность стремится к пулю медленнее, чем М~2. Один из возмож- ных способов вычисления интеграла — обращение к квадратурам Гаусса, соответствующим данной весовой функции. 2. Можно пойти по пути разбиения интеграла на части и вычисления интеграла по каждой части при помощи построений из § 7. Представим интеграл в виде м f-qH 1 I = Ig= g{x)x“dx, Н=—. Заменив функцию д(х) на интерполяционный многочлен р^) = д((д-1)#) + (*-(<? - 1)я) д(дЛ) 9^{д 1)я),
152 Глава 3. Численное интегрирование получим ) g{(q-l)H)Y , т - (1 - 1/.г‘ „ 1.-0 э№) + (1) \\ а+1 а + 2 ) 1 - (1 - l/g)a+2 _ 1 — 1/g — (1 — l/g)Q+2 о 4- 2 й "Ь 1 Суммируя по q правые части в (1), получим квадратуру для вычисления исходного интеграла. В ряде случаев будет удобнее положить g(qH) = и, таким образом, получить квадратуру, имеющую вид м I^D^H)f(qH). (2) q=0 Задача 1. Для квадратуры (2) получить оценку погрешности const max [ОД] Далее будут рассмотрены более простые по виду способы вычисле- ния интегралов от функций с особенностями. Описанный выше способ аппроксимации интеграла по значениям функции на фиксированной, в частности, равномерной сетке обладает определенными преимуществами в случае, когда задача вычисления интеграла представляет часть более сложной задачи, например при решении интегральных уравнений путем сведения к решению системы линейных алгебраических уравнений. Ино- гда необходимая точность уже достигается при замене функции д(х) на отрезках разбиения на постоянную. В этом случае полагаем ('ач ('(’ч / д(хЫх)dx ~ / р{х)dx J O.q—\ и квадратура для вычисления исходного интеграла приобретает вид Г1 faq / g(x)p{x)dx & У g(Cq) / p(x)dx. (3) '° q=l Ja1-1 Задача 2. Пусть вычисляется интеграл Г1 д(х)Ь I = тв-----в dx, где о — малое число. Jo b2 + х2 Показать, что при использовании формулы трапеций с постоянным ша- гом aq — aq~i = Н = М~х погрешность оценивается через -fill const mm < ——, > • (4) {Mb (Mb)2)
§ 16. Вычисление интегралов в нерегулярном случае 1&3 Задача 3. При ад — ад~1 = Н квадратура (3) для этого интеграла име- ет вид Д, ч / fqH\ f(q-l)H\\ i ~ 22 s(cfl) (arctg I т гarctg (-—ь—))1 <7=1 XX/ X / / где (q — 1)Н С/ qH. Получить оценку погрешности |Д.М| const шах |</(т) ЛГ”1. В рассматривавшихся выше случаях коэффициенты квадратур имеют вид /•а, / Pi(x)p(x)dx, J (lq-1 где Pi (ж) —некоторые многочлены, причем эти интегралы вычисляются в яв- ном виде. Для ряда классов задач, где эти интегралы не вычисляются в явном виде, может оказаться разумным найти эти интегралы при помощи численного интегрирования. Эта дополнительная работа оправдывается, если получивши- еся формулы используются многократно, например, при вычислении большой серин интегралов, при вычислении кратных интегралов как повторных (см. гл. 5), а также при решении интегральных уравнений. 3. Пусть теперь вычисляется -L(Z) = / /(a;)exp(iw.T)dx, ./о где <х>— большое число, /(.ж)—достаточно гладкая функция. Будем рас- сматривать функцию exp{iwj.} как весовую. Представим интеграл в виде м <7=1 Г11 1д = / /’(ж) exp{i<nx} dx, для вычисления интеграла 1(} применим квадратуру типа (7.2). 4. В некоторых случаях подынтегральную функцию можно предста- (В вить в виде f{x) = G(x)+g(x), причем / G(x)dx берется в явном виде, JA а д(х) — гладкая функция. Пусть вычисляется интеграл Г1 In х 1= f^dx, = Jo i -t- ж Возьмем G(x) = In ж. Тогда функция д(х) имеет вид <?(я) = - X2 In ж 1 + X2-
154 Глава 3. Численное интегрирование Величина / |.<7"(ж)| dx будет конечна, и можно показать, что погреш- Jo ность вычисления интеграла / д(х) dx по формуле трапеций с посто- J° явным шагом aq — aq-\ — М~1 имеет порядок О(М“2). Чтобы по- грешность формулы Симпсона имела порядок О(М~4), следует взять G(x) = (1 — х2) In В случае f(x) = (х2 + Ь2) 1ех', Ь — малое число, целесообразно взять G(x) = (Bbi4bif(z))(x -bi) 1 + (Выч_6ДД))(ж + bi) 1. Достигаемое здесь расширение области аналитичности подынтегральной функции особенно эффективно при использовании формулы Гаусса. 5. Другим способом устранения особенности подынтегральной функ- ции является замена переменной интегрирования. При замене перемен- ных х = <ДЬ), <Д0) = О, преобразуется к виду Д1) = 1 исходный интеграл I = о (6) где 5(t) = За счет множителя <Д(Ь) происходит устранение особенностей подынте- гральной функции в отдельных точках. Произведя в интеграле (5) заме- ну переменной х = //', получим GkW-'lnt. , / -----31— dt. 'о 1 + t2k При к > 2 интеграл / \д"(t) | dt конечен, поэтому погрешность формулы J° трапеций имеет порядок (9 (ЛЬ'2). С увеличением к растет порядок про- изводных g^lt), для которых интеграл / |</п) (Ь) | dt ограничен, поэтому Jo можно применять квадратуры все более высокого порядка точности. Если к очень большое, то производные функции g(t) хотя и конеч- ны, но очень большие, следовательно, должна соблюдаться определенная пропорция между величиной к и числом узлов N. Необходимость со- блюдения осторожности при употреблении очень больших к видна хотя бы из следующего. Постоянный шаг tq — Д-i = 1/ЛЬ в интеграле (6) соответствует узлам интегрирования aq = <p(q/M) = (q/M)k в исходном
§ 16. Вычисление интегралов в нерегулярном случае 155 интеграле, тегральной поэтому при больших к используется мало значений подын- функции в правой части отрезка [0, 1] (рис. 3.16.1). •Т10 ж15 :г;16 ж17 £19 4-________4-_____4-______4~______4-__________4-________ 0 1 фЩ = tk, М = 20 Рис. 3.16.1 мы уже видели в § 11, скорость сходимости при вычисле- 6. Как нии интегралов от функций с особенностями повышается также за счет распределения узлов интегрирования. 7. В некоторых случаях приходится идти по рых из описанных способов. Пусть вычисляется пути сочетания некото- интеграл д(0) 7^ О, |а| < 1- На- sinurz; dx / g(x)xa ехр{iw.v;} dx, Jo где tv — большое число, д(.т)-• гладкая функция, лично множителя exp{iw.r} требует выделения его как весового. Нали- чие множителя ха требует принятия специальных мер для интегрирова- ния в окрестности нуля. Замена переменных х = <Д1) в данном случае является неприемлемой, поскольку для соответствующей весовой функ- ции ехррш.т} невозможно вычисление в явном виде коэффициентов ква- дратурных формул. Здесь целесообразнее разбить отрезок интегрирова- ния на неравные части, соответствующие оптимальному распределению узлов при вычислении интеграла от функции т;°, и применить на каждой части интерполяционные квадратурные формулы (§ 3), соответствующие весовой функции exp{iwj;}. В случае интегралов типа / ./о при а > 1, д(.т) — гладкой функции, с/(0) =4 0, такой способ будет непри- емлемым, поскольку в окрестности точки х = 0 неинтегрируемая функ- ция х~а не аппроксимируется многочленами. Здесь целесообразно раз- бить исходный интеграл на части J и / , где е ~ 1/ю. Для вычисления второго интеграла разумно применить процедуру, которая описана вы- ше. В первом интеграле функция sin ют не играет роли осциллирующего множителя, поскольку при таком выборе е она имеет на [0, е] конечное число колебаний. Поэтому этот интеграл можно вычислять, например, распределив узлы интегрирования соответственно оптимальному распре- делению для функции при малых ют. 8. Упомянем метод ^(О)юя1 аппроксимирующей подынтегральную Ромберга. Погрешность формулы трапеций с по- вычислении интеграла / g(x)xadx для гладкой стоя иным шагом при
156 Глава 3. Численное интегрирование функции д(х), д(0) 0, — 1 < а < 1, представляется в виде DiN~1~a + Г>2^~2 п + • • > и имеются основания для применения приемов, положен- ных в основу метода Ромберга. 9. Решение ряда задач сводится к вычислению сингулярных интегра- лов типа Ja х~а где (А, В), д(а) 0. Интеграл понимается в смысле главного значе- ния, т. е. как предел ( /’а~е 9И л lim { / ------dx + £^° \Ja х - а dx I . Интеграл может быть записан как сумма интеграла по отрезку, сим- метричному относительно точки а, и интеграла от гладкой функции по оставшейся части. образован к виду Для простоты предполагаем, что первый интеграл пре- / ------dx. Если функция д(х) удовлетворяет условию Гельдера в точке х = 0, т. е. |д(ж) — д(0)| А|ж|“, а > 0, то последний интеграл равен несингулярному интегралу fbg(x) -д(--г) г, / ------------dx. В частно- го х сти, если д(х)—гладкая функция, то новая подынтегральная функция д(х) - д(-х) также является гладкой. В ряде случаев, например при решении интегральных уравнений с сингулярны- ми ядрами, возникает следующая ситуация. Значения функции р(ж) задаются на некоторой фиксированной сетке. Исходя из информации об этих значениях, требуется вычислять значения интеграла 1(a) при различных а. Если д(х) — достаточно гладкая функция, то здесь можно поступить следующим образом. Разбиваем отрезок [Л, Б] на части [Ао, Ai],..., [Ад/_1, Ад/], Ао = А, Ам = В. На каждой из частей [Ag_i , Aq] приближаем функцию д(х) интерполяционным многочленом L,J(x). При этом требуем, чтобы при всех q было выполнено усло- вие L»(Aq) = L’+1(Ag) = g(Aq). Исходный интеграл заменяем суммой интегралов М’ L“(x) — I —-------dx. J Aq^ x-a Интегралы iq вычисляем в явном виде. Если a G (Ag_i, А9), то соответству- ющий интеграл iq следует рассматривать как сингулярный. Если а = Aq, то
§ 17. Принципы построения стандартных программ 157 следует объединить интегралы i,t и i,/+i (расходящиеся) в один сингулярный интеграл . . Lq(x) *<z 4" гв+1 — / л -г = ( Lq(x) при х < Aq, L<1№ = ( £9+1(.т) при ж > Л(/. Получившиеся интегралы вычислим в явном виде. Задача 5. Пусть отрезок интегрирования разбит на равные части дли- ны Н и на каждой части функция д(х) аппроксимируется при помощи линейной интерполяции. Таким образом, исходный интеграл аппроксими- руется суммой интегралов м ,-A+qH д((д — 1)Я + (ж — (</ - 1)Н) — у / ------------------------------------н----------dx, У'у Л+(<7-1)Н х - а где Н= (В — А)М~1. В предположении ограниченности |.9//(ж)1 получить оценку погрешности О(М~2\пМ). Полезно указать на следующую практически важную деталь. Если ре- шение задачи содержит какие-то неисследованные особенности, ухудшаю- щие сходимость методов, то лучше сразу выделить простейшую модель- ную задачу, содержащую эти особенности, и провести выбор метода и проверку применимости различных асимптотических критериев на этой модельной задаче. Этот путь обычно приводит к более быстрому понима- нию существа вопроса и избавляет от необходимости проведения много- численных экспериментов на самой задаче. В частности, достигается эко- номия труда математика при программировании задачи, машинного вре- мени и упрощается исследование за счет возможности построения более содержательных графиков поведения погрешности; здесь имеем возмож- ность получить больше точек (14.8) или (14.12), поскольку для простой задачи их получение менее трудоемко. § 17. Принципы построения стандартных программ с автоматическим выбором шага Как отмечалось в § 12, интегралы от функций с особенностями ти- па хь хорошо вычисляются методами интегрирования с переменным ша- гом, если узлы интегрирования распределены оптимальным образом. По- видимому, столь же хорошо будут интегрироваться функции с особенно- стями других типов. Поэтому представляется заманчивым строить стан- дартные программы численного интегрирования так, чтобы для любой
158 Глава 3. Численное интегрирование функции распределение узлов являлось оптимальным или близким к нему. В § И указана возможность распределения узлов, близкого к опти- мальному, после исследования поведения подынтегральной функции на редкой сетке. Однако в случае резко меняющихся функций, например функций типа хь, реализация этой возможности приводит к недостаточ- но удовлетворительным результатам. Поэтому при разработке стандартных программ интегрирования при- няты несколько другие процедуры распределения узлов интегрирования, обеспечивающие лучшее приближение к оптимальному распределению уз- лов для функций с особенностями. Рассмотрим некоторые из них. Для вычисления интегралов по элементарным отрезкам разбиения aq] выбираются: квадратурная формула (1) и мера погрешности А = а0- (2) Пусть вычисляется Первая процедура, которую естественно назвать горизонтальной, определяется заданием параметров /3, гт < 1, /?о, и ео- Полагаем Ej — е0[3. Предположим, что каким-то образом уже вычислено приближенное зна- чение интеграла / f(x)dx. Программа располагает в каждый момент J «о времени некоторым значением hq, с которым надо начинать считать оставшуюся часть интеграла. Вычисляем величину pq(f). соответствую- щую отрезку [aq, aq + hq]. Если оказалось, что pq(f) < Eq, то вычи- сляем приближенное значение / f(x)dx по формуле (1) и пола- JOq гаем = aq + hq. Мы получили приближенное значение величины Гач+1 I f(x)dx. В случае, когда £] < pq(,f), полагаем /i^+i = hq, в про- j 0,0 тивном случае полагаем hq+1 = hq/(j. Мы готовы к следующему шагу. Если оказалось, что pq(f) > £q, то принимаем crhq за новое значение ве- личины hq и возвращаемся к исходной позиции: вычислено приближенное
§ 17. Принципы построения стандартных программ 159 значение интеграла / f{x)dx и задан шаг hq. Начальные условия для J Оо применения процедуры: г°ч <7 = 0, / /(т) dx = 0, h0. J оо Процедура должна также иметь блок окончания работы: если оказалось, что aq + hq > В, то следует положить hq — B — aq. Установилась практика брать ст = 0,5. Другая процедура, которую можно назвать вертикальной, определя- ется заданием числа ед И заключается в следующем. Пусть на каком-то шаге возникает необходимость вычисления интеграла по отрезку разбие- ния [с, cZ], т. е. / f(x)dx. Вычисляется величина p(f), соответствующая этому отрезку. Если она оказалась меньше eq, то этот интеграл вычисля- ется по соответствующей формуле (1) и программа переходит к следую- щему справа отрезку разбиения. В противном случае отрезки [с, (c+d)/2] и [(с + d)/2, </] объявляются отрезками разбиения и программа сначала обращается к вычислению интеграла по левому из этих отрезков. В на- чале работы программа обращается к вычислению исходного интеграла £/(^. Распределение узлов, осуществляемое этими процедурами, не является асимптотически оптимальным в смысле, определяемом в § 11, по следую- щим причинам: величина pq(f) ие является главным членом погрешности квадратуры (1), а, как правило, есть некоторая грубая, завышенная по порядку оценка для него; отрезки для пего могут принимать лишь до- вольно редкий ряд значений (при этом для первой процедуры они имеют вид ho<jk, а для второй — (В — A)2~k). Рассмотрим некоторые моменты, связанные с практическим использованием описанных выше процедур. Чтобы в отдельных случаях сделать распределение узлов более близким к оптимальному, иногда величины pq(J), соответствующие отрезкам разбиения, сравнивают не с £о, а с ЕоЛф где у специально подбирается. На первоначальном этапе применения ЭВМ сложилась традиция производить сравнение величины P<iU) с величиной Fc,h,j, т. е. брать у = 1. Оказалось, что для резко меняющихся функций получающееся распределение узлов было далеко от оптимального, а в случае функций с разрывами программа не могла вычислить интеграл. В самом деле, пусть, например, | 0 при х < с, I 1 при X с.
160 Глава 3. Численное интегрирование Если при каком-то q величина pq(f) со- держит одновременно значения f в узлах, где / = 0 и / = 1, то pq(f) имеет поря- док hq, поэтому нет оснований надеяться что неравенство |р(/(/)| Eohq будет вы- полняться при малых hq; программа будет осуществлять дробление шага до машинно- го нуля. Если функция меняется на малом участке очень резко, то шаг будет дробить- ся неоправданно сильно. Это обстоятель- ство было отмечено пользователями, и по- сле теоретического анализа, в результате которого и была решена задача об опти- мальном распределении узлов, было при- нято полагать у = 0, если нет особых причин против этого. В случае резко меняющихся функций следует иметь в виду, что программа может не заметить участка резкого изменения функции. Пусть p(f) = 0, ко- гда /(ж) = Р«(ж)—многочлен степени 5, и пусть реальная подынтегральная функция есть /(ж) -РДж) + <?(ж), где д (ж) практически отлична от нуля лишь на малом отрезке, например [ - су) ( 2е / pfa) = ехР х/2тге (рис. 3.17.1). Для определенности обратимся к первой из описанных выше про- цедур. Если отрезок разбиения удален от точки С, то p(f) w p(Ps) — О и программа будет увеличивать шаг. При подходе к точке С шаг может ока- заться настолько большим, что окрестность, где функция р(ж) существенно больше 0, окажется заключенной между узлами. Тогда р(/) будет близко к 0 и на отрезке, содержащем точку С. В результате в качестве значения /(/) мы по- лучим значение 7(Д); погрешность этого приближенного значения близка к 1. Для контроля над точностью можно было бы попытаться произвести интегри- рование с другим значением Ео, однако с большой вероятностью получился бы тот же результат. Не следует думать, что этот недостаток свойствен только методам интегриро- вания с автоматическим выбором шага. Если производить вычисление этого интеграла по формулам с постоянным шагом Н, то при Н 3> \7е все равгю мо- жет оказаться, что д(х) й0 во всех узлах интегрирования, и мы получим при- ближенное значение 1(f) ~ I(PS). Производя численное интегрирование при нескольких шагах и оценивая погрешность по правилу Рунге, можно прийти к неправильному выводу, что приближенное значение интеграла 1(f) « I(PS)- В целом можно сказать, что в случае использования алгоритмов интегрирования с автоматическим выбором шага возможность получения подобных неправиль- ных выводов несколько больше. При составлении стандартных программ всегда приходится балансировать ме- жду двумя крайностями: гарантией требуемой точности для любой подынте-
§ 17. Принципы построения стандартных программ 161 тральной функции или быстрым вычислением интеграла с нужной точностью для большинства предъявляемых к решению задач. По-видимому, можно говорить о каком-то принципе неопределенности по от- ношению к методам высокой эффективности: дальнейшее повышение скорости работы должно сопровождаться уменьшением надежности. Чтобы избежать «проскакивания» областей резкого изменения функции, можно предусмотреть в программе наличие отрезков, где шаг интегрирования дробится принуди- тельно. Например, в описание стандартной программы можно включить кон- цы некоторого отрезка [о, /3]. Если отрезок разбиения [a7_t, aj пересекается с [о, /3], то следующий отрезок выбирается по более сложному правилу. В каче- стве [о, /3] следует задавать некоторый отрезок, где подынтегральная функция резко меняется. Обратим внимание на ряд дополнительных моментов. Пусть для гладкой функ- ции f(x) p(f) - cs l/(s) I (ae - a7_i)4'+1 4- e(ag^, aq), | \ 2 /1 (3) a9)| csmax|/(s+1)(a:)|(aQ - a^-J44-2. Для понимания механизма изменения шага предположим, что — кусочно-постоянная функция. В области постоянства /О)(ж) имеем P(/)=cs|/s>(.r)|(n(/-a7_i)s+l. Зададимся некоторым числом /3 < 1. Рассмотрим случай /3 < <тя+1. Пусть для шага ho, с которым мы приступаем к интегрированию в данной области посто- янства производной, выполняется соотношение cs\f^ (ж)|(7ло)s+1 Ej. Тогда шаг будет увеличиваться каждый раз в раз, пока не станет больше Ет- Поскольку при шаге в Щ1 раз меньшем, выполнялось соотношение p(f) е±, то интегрирование будет осуществляться с наименьшим шагом h = ho(rk, для которого cs|/(s>(ж)|ЛЛ+1 > ci. Если же для начального в этой области шага выполняется соотношение cs > £о> то шаг станет наибольшим из шагов h = ho<?k, для которых выполняется условие cs|/'(s)(ж)|hs+1 е0- Если, как мы предположили, Ei/eq = /3 < <rs+1, то может оказаться, что в за- висимости от поведения функции при меньших х в рассматриваемой области выбираются различные шаги. Мы видели, что шаг интегрирования желатель- но распределять так, чтобы оценка погрешности на всех отрезках разбиения интервала интегрирования была примерно одинаковой. Исходя из сказанного мы делаем вывод о желательности употребления /3 as+1. Рассмотрим случай /3 > crs+1. Можно указать шаг h = hk такой, что Eo<is+1 <cs|/w(^|As+1 <£о. (4) Если оказалось, что si <cs|/W(.t)|/1s+1 ^ео, (5) то при интегрировании по рассматриваемому отрезку будет выбран именно такой шаг. Однако при £0<TS+1 < С6.|/^(ЖЖ+1 <$ £1 = Ео/З (6) 6 903
162 Глава 3. Численное интегрирование программа выработает следующий шаг, равный h/ст. Для этого шага, вслед- ствие (6), окажется, что Eq < р(Г), поэтому шаг h/ст будет признан непри- годным. Программа возьмет шаг, равный h; поскольку для него выполняет- ся условие (6), то интегрирование по текущему отрезку будет закончено и за исходный шаг для дальнейшего счета будет принят шаг h/ст. Таким образом, фактическое интегрирование происходит с шагом h и на каждом шаге делается попытка произвести интегрирование с шагом h/tr. Если вычисления с шагами h и h/ст независимы, то на каждом шаге объем работы будет удваиваться. Известен следующий экспериментальный факт: если мы зададимся произволь- ным А > 1 и из различных независимых источников получим некоторые чи- сла у, то величины {logA у} будут асимптотически равномерно распределены на отрезке [0, 1]. Задача!. Считая, что -числа, происходящие из независимых случайных источников, показать, что при (3 > crs+1 математическое ожи- дание затрат работ пропорционально 2 — log„s (-1/Г (Отсюда следует целе- сообразность выбора (3 — crs+1.) Наши рассуждения проведены в предположении, что = const, и поэто- му требуют экспериментальной проверки. Исходя из результатов такой провер- ки на практике /3 обычно берется равным или несколько большим, чем ст4'+1, например, в одной из распространенных стандартных программ s = 4, ст = 1/2, /3 = 1/10. Как и в случае интегрирования с постоянным шагом, возникает во- прос практической оценки погрешности. Обратимся ко второй процедуре, имеющей более простое описание. Как и ранее, проведем исследование на примере кусочно-постоянной производной Шаг интегрирования в области постоянства fs(x) для этой процедуры определяется условием: это наибольший шаг h вида (В — А)2~к, для которого выполнено условие c5|/(s)(.'C)|K,+1 <4 Е0. (7) Очевидно, что для такого максимального шага справедливо соотношение ео2' (5'+,) < cs|/%)|hs+1. Произведем интегрирование с некоторым Eq < eq. В области, где е'о < Сб|/(А)(.'с)|К,+1 «С £0, «старый» шаг интегрирования будет уже непригоден, поэтому произойдет дробление шага не менее чем вдвое. В области, где выполняется условие eo2-(s+1> < cs\f^(x)\hs+1 < е'о, дробления шага не произойдет. Таким образом, при Ео2~^+1^ < Eq мо- жет случиться, что дробление шага интегрирования произойдет лишь на части отрезка интегрирования или его вообще не будет. Из сравнения
§ 17. Принципы построения стандартных программ 163 результатов расчетов с ео и е,, мы не получим информации о величи- не погрешности интегрирования в той области, где дробления шага не произошло. При условии е' ^е02-(-’+1) (8) шаг дробится всюду, однако отсюда не следует, что сравнение резуль- татов расчетов с ео и любым е'о, удовлетворяющим (8), дает надежную гарантию точности результата. Задача 2. Пусть Eq Подобрать постоянные щ, с-2, С такие, что при сг на [А, С], C2 на [С, В] /(4)(х) = приближенные значения SEo(f) и интеграла, соответствующие е0 и efj, будут одинаковыми, а погрешность отлична от нуля. Если fls\x) непрерывна, то при е'о = cq2 и прИ введении в алгоритм условия уменьшения максимального шага, пропорционального £„/(s+1), можно предложить и обосновать аналог правила Рунге оценки погрешности здесь т + 1 — порядок главного (при max(«Q — —> 0) члена погреш- ности квадратуры (1). Литература 1. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вычислительных методов. Интерполирование и интегрирование. — Минск: Наука и техника, 1983. 2. Крылов В. И., Шульгина А. Т. Справочная книга по численному интегрирова- нию. — М.: Наука, 1966. 3. Крылов В. И., Бобков В. В., Монастырный П. И. Вычислительные методы. Т.1. — М.: Наука, 1976. 4. Мысовских Н.П. Интерполяционные кубатурные формулы. — М.: Наука, 1981. 5. Никифоров А. Ф., Суслов С. К., Уваров В. Б. Классические ортогональные поли- номы дискретной переменной. — М.: Наука, 1985. 6. Никифоров А. Ф., Уваров В. Б. Специальные функции. — М.: Наука, 1979. 7. Никольский С. М. Квадратурные формулы. — М.: Наука, 1979. 8. Stroud А. Н. and Secrest D. Gaussian Quadrature Formulas. — Englewood Cliffs, N. Y.: Prentice-Hall, 1966.
— • =.^ Глава 4 — —===- Приближение функций и смежные вопросы Непрерывная функция не всегда может быть хорошо приближена интер- поляционным многочленом Лагранжа. В частности, последовательность интерполяционных многочленов Лагранжа по равноотстоящим узлам не обязательно сходится к функции даже в том случае, если функция бес- конечно дифференцируема. В тех случаях, когда сходимость имеет ме- сто, часто получение достаточно хорошего приближения требует исполь- зования полиномов высокой степени. В то же время, если для прибли- жаемой функции удается подобрать подходящие узлы интерполяции, то степень интерполяционного многочлена, приближающего функцию с за- данной точностью, может быть значительно снижена. В ряде конкретных случаев целесообразно приближать функцию не путем интерполяции, а путем построения так называемого наилучшего приближения. Проблемы, связанные с построением наилучшего прибли- жения, и будут рассмотрены в настоящей главе. § 1. Наилучшие приближения в линейном нормированном пространстве Сформулируем задачу построения наилучшего приближения на абстракт- ном языке. Пусть имеется элемент f линейного нормированного про- странства R. Требуется найти его наилучшее приближение линейной ком- п бинацией cj9j данных линейно независимых элементов д±,..., дп G R- 3=1 п Это означает: найти элемент ^2c<j9j такой, что 3=1 Ik - =д=Jk - 3=1 3=1 По-другому это можно обозначить следующим образом: 3=1 3=1
§ 1. Наилучшие приближения 165 Если такой элемент существует, то он называется элементом наилучшего приближения. Теорема. Элемент наилучшего приближения существует. Доказательство. Вследствие соотношений (следствие из неравенства треугольника) функция РДщ,..., сп) = ||/“ является непрерывной функцией аргументов cj при любом f G В. Пусть |с|—евклидова норма вектора с = (щ,..., с?1). Функция jFo(ci, ..., сп) = ||С1<71Н-Ьсп</П|| непрерывна на единичной сфере |с| = 1 и, следовательно, в некоторой ее точке (ф,..., Ф) достигает своей нижней грани F по сфере, причем F =4 0, так как равенство F = + ••• + = О противоречит линейной независимости элементов gi,...,gn. Для любого с = (ci,..., с,,) =4 (0,..., 0) справедлива оценка ||с'1<71 + • + Сга£7и|| — Eo(ci,. , сга) — |с|Fq С1 и) >м#- Пусть 7 > 2Ц/Ц/Д. Функция ТДс1,..., сп) непрерывна в шаре |с| у; следовательно, в некоторой точке шара (с|,...,с®) она достигает своей нижней грани F° по шару. Имеем F° Fy(0, ...,0) = ||/||. Вне этого шара выполняются соотношения Ff (ci, • , Си) > || сцц + • • + cngn II - ll/ll > > (211/11/IIл) IIЛ - ll/ll = ll/ll > л. Таким образом, вне этого шара Ff(c1,...,cn)^F0 = Ff(c01,...,^) при всех возможных су,..., сп. Теорема доказана. Элементов наилучшего приближения, вообще говоря, может быть не- сколько. Пространство В называется строго нормированным, если из условия II/ + PII = ll/ll + llrzll, 11/11,1Ы1/о следует / = ад, а > 0. Задача 1. Доказать, что в случае строго нормированного пространства В. элемент наилучшего приближения единствен.
166 Глава 4. Приближение функций и смежные вопросы Задача 2. Доказать, что пространство Zp((0, 1), д(х)), q(x) 0 почти всюду, с нормой \\f\\p= V/ \Пх)\Р<1(х)<1х V JO строго нормированное при 1 < р < оо. Рассмотреть отдельно простейший случай гильбертова пространства р = 2. § 2. Наилучшее приближение в гильбертовом пространстве и вопросы, возникающие при его практическом построении Для гильбертова пространства элемент наилучшего приближения един- ствен (см. задачу 1.2) и проблема его нахождения формально сводится к решению системы линейных уравнений. Наиболее простой способ получения этой системы следующий. По определению коэффициенты aj элемента наилучшего приближения реа- лизуют минимум выражения ё2 п 2 п п >=1 j=i Приравнивая нулю производные по Вещ и 1шщ, получаем искомую си- стему уравнений для определения щ. Вследствие существования и един- ственности элемента наилучшего приближения, эта система имеет един- ственное решение. Построим эту систему и исследуем вопрос о единственности ее реше- ния несколько другим способом. Для простоты изложения ограничимся случаем вещественных f и др Пусть aj = ctj + i/3j, cij, [3j—вещественные числа; имеем (71 к П f - ^2aj9j] ~ i'y'fygj- Положим 7 j=i 71 f - YjWJ = Ф(а1,..., an) =1к-£ИГ- J=1 Если /i и f2 вещественны, то ||A + i/2||2 = (А + »А, Л + i.A) = (А, Л) + КА, А) - КА, А) + (А, А) = НАН2 + IIАII2, поэтому П 9 71 9 . П 9 Ц/-1М1 =1к-Е«лЦ +ЕМ- in
§ 2. Наилучшее приближение в гильбертовом пространстве 167 Согласно (1) имеем равенство п 2 Ф(сц, ..., ап) = Ф(«1, • - , ап) + ||ЕМ1 Отсюда следует, что inf Ф(а1,..., an) inf Ф(«1,..., ап). (2) ai,...,an ai,...,an В то же время inf Ф(а1,..., ап) inf Ф(а1,..., ап), (3) поскольку в правой части берется нижняя грань по более широкому мно- жеству всевозможных параметров а±,..., ап, а в левой- по множеству вещественных параметров. Из (2) и (3) следует, что исходная задача сводится к нахождению inf Ф(аь ..., ап). В точке минимума должны выполняться условия дФ/дак = 0. Имеем дФ дак п п п (~9к, f - + (/ - Е"?^’ ~9k) = -2(f ~ 9k) = 0. j=l Отсюда получаем систему линейных уравнений относительно коэффици- ентов aj = a,j, соответствующих элементу наилучшего приближения п ^2aj(9j, дк) = (/, дк), к = 1,..., п. (4) J=1 Задача 1. Доказать, что коэффициенты aj, соответствующие элементу наилучшего приближения, являются решением (4) и в том случае, когда / и gj не обязательно вещественны. Матрица Gn = G(g\,..., дп) — [(<7-;, называется матрицей Грама системы элементов Поскольку (gj, дк) = (дк, gj), то матрица Грама является эрмитовой. Лемма. Если элементы gi,.. , дп линейно независимы, то матрица Gn положительно определена. Доказательство. Пусть с = (ci,..., сп)Т — произвольный вектор с веще- ственными компонентами. Имеем равенство ||ЕС^|| = ( ^2cj9j, = Е ciCk(9j, 9k)- (5) j=i S=i fc=i ' 3,k=l
168 Глава 4. Приближение функций и смежные вопросы Последнее выражение совпадает с (G„c, с), поэтому п 2 (Gnc, с) = ЦХЛ&Ц °- 7=1 п 2 Если элементы gj линейно независимы, то ~ 0 только в том 3=1 случае, когда все с; = 0. Таким образом, (G?ic, с) > 0, если с =4 0, и согласно определению матрица Gn является положительно определенной. Поскольку матрица G„ положительно определена, то ее определитель от- личен от нуля и, следовательно, система (4) имеет единственное решение. Задача 2. Доказать неравенство • • -1 5n+i) G*(gi, • > JM-t-i)- При практическом приближении функций нужно проявлять осторож- ность при выборе системы функций gj. Оказывается, что при неудач- ном выборе такой системы вычислительная погрешность коэффициентов aj может достигать катастрофических размеров, и с добавлением новых функций дп получаемое «наилучшее» приближение будет все хуже при- ближать заданную функцию. Дело заключается в следующем. Матрица Gn при неудачном выборе системы функций gj имеет большой разброс собственных значений, т. е. отношение максимального (по модулю) собственного значения к наимень- шему (по модулю) велико; вычислительная погрешность при решении систем с такой матрицей возрастает по крайней! мере пропорциональ- но этому разбросу. Например, в случае отрезка [—1, 1], веса р(х) = 1 для системы функций gj = разброс собственных значений матри- цы Gn превосходит а(л/2 + 1)2”/пь, где а, b — некоторые положительные постоянные. Более детальный анализ задачи показывает, что в качестве систем функций gj целесообразно брать системы ортонормированных по отношению к некоторому, возможно другому, скалярному произведению, функций или в каком-то смысле близких к ним. Если элементы д^ образуют ортонормированную систему (д^, gj) = то система (4) приобретает вид aj = (/, gj)- - (6) Тогда наилучшее приближение записывается в форме п 9 = 9з)9з 3=1 и имеется следующее удобное представление для величины \\f — р||2- п П п п II/ - <?1|2 = (/ - ^ajgj, f - = (/> /') - = ft ~ 5Zl(f’ »)i2- J=1 J=1 7=1 7=1
§ 2. Наилучшее приближение в гильбертовом пространстве 169 Поскольку II/ — <z||2 > 0, то из равенства II/-< = (/, /) - DCA &)12 следует, в частности, известное 'неравенство Бесселя п и, f) > Ек/, ®)i2- j=i Если исходные элементы не образуют ортонормированной системы, то, вообще говоря, их можно ортогонализовать при помощи рассматривавше- гося в гл. 3 алгоритма ортогонализации. Однако применение этого ал- горитма довольно часто приводит к неудовлетворительным результатам. Например, при построении на отрезке [—1, 1] ортонормированной с ве- сом р(х) > 0 системы функций из указанной выше системы функций х-'1 будут получены некоторые ортогональные многочлены Р3(х), сумма мо- дулей коэффициентов у которых растет не медленнее чем (^/2+1)”^“, где а определяется через р(х). Если в дальнейшем значения многочле- I нов вычисляются по явной формуле Pj(x) — y^ajtjXk. то из-за большой к=0 величины суммы модулей коэффициентов будет большая погрешность в значениях самих многочленов. Для устойчивого вычисления значений многочленов нужно применить какой-то иной алгоритм, например вы- числять их по рекуррентным формулам или по явным формулам типа ГДт) = c.os(zz arccos х) в случае многочленов Чебышева. Некоторые более детальные сведения по этому вопросу будут приведены в § 8. Пусть нам требуется приблизить функцию двух переменных f(x,y) в некоторой области G на плоскости (х, у). Явный вид ортогональных функций известен только для простейших областей. Можно применить следующий прием. Возьмем некоторую область Q G G, для которой из- вестна ортогональная система функций, и продолжим / в области Q\G. Далее будем приближать / в области G с помощью этой системы. Та- кой прием иногда неэффективен, поскольку не удается легко построить достаточно гладкое продолжение функции / в области Q\G, а при недо- статочно гладком продолжении приближение будет плохим. Следствием как этого обстоятельства, так и того, что приближение ищется в большей области, часто является неоправданное увеличение значения п, нужного для достижения заданной точности. Другой возможный прием сведения к известной ортогональной систе- ме функций состоит в следующем. Возьмем некоторую область Q с из- вестной ортогональной системой <^i(C, 77),..., tpn(Ci *]) Пусть отображение х = х(£, 77), у — у(£, у) переводит область Q в G; ( = Дт, у), у = у(х, у) — обратное отображение. Будем приближать функцию /(т(С, 77), ?/(£, у)) в п области Q линейными комбинациями у), у(х, у)).
170 Глава 4. Приближение функций и смежные вопросы При приближении функций большого числа переменных не удается указать методов, пригодных во всех случаях. В каждой конкретной ситу- ации надо учитывать специфику задачи (вид функции, геометрию обла- сти и т.п.). Рассмотрим для иллюстрации задачу другого рода, при решении ко- торой используются проводимые выше построения. Пусть требуется по- строить интерполяционный многочлен степени N — 1 с узлами интерполя- ции ,..., х^. Пусть эти узлы являются нулями Qn(x) степени N из ортонормированной системы многочленов {Qn(:/:\}, соответствующей весу р(х). Например, можно строить интерполяционные многочлены по нулям многочленов Чебышева, о которых шла речь в гл. 2. Будем отыскивать интерполяционный многочлен в виде линейной комбинации N-1 Pftf-i(a-) = ^2 agQj(x)- з=о При т, п < N многочлен Qm(x)Qn(.x) имеет степень не выше 2ЛГ — 2. Поэтому квадратура Гаусса с N узлами точна для этого многочлена: , _ N ,Ь ~ Y,D^Qm(x^)Qn(x^ = / Qm(x)Qn(x)p(x) dx. = С- (7) q=l •'° Таким образом, векторы Qm = {Qm(x^)^ • • •, С?т(тдг)} при 7П < N обра- зуют ортопормированную систему относительно скалярного произведения N (У, z) = ^D^-UqZq (8) 9=1 и вектор f = ..., может быть разложен по этой системе векторов: N—1 t=Dw. >=0 где dj = (f, Qj). Многочлен N-1 Pn-i(x) = '^2,djQj{x) " (9) 3=0 будет искомым. Таким образом, построение интерполяционного многочлена с узла- ми интерполяции, соответствующими корням ортогонального многочлена, сводится к вычислению коэффициентов разложения функции dj по си- стеме ортогональных многочленов. После этого искомый интерполяцион- ный многочлен вычисляется по формуле (9). Этот алгоритм будет более устойчив по отношению к погрешностям округления по сравнению с не- посредственным построением интерполяционного многочлена Лагранжа.
§3. Тригонометрическая интерполяция. Дискретное преобразование Фурье 171 § 3. Тригонометрическая интерполяция. Дискретное преобразование Фурье Дискретное преобразование Фурье применяется при решении многих при- кладных задач. К ним относятся тригонометрическая интерполяция, вы- числение свертки функций, распознавание образов и многие другие. Дис- кретное преобразование Фурье стало особенно эффективным методом ре- шения прикладных задач после создания быстрого преобразования Фурье (см. § 4). Пусть J(;r)—периодическая функция с периодом 1 — разложена в ряд Фурье aflexp{27riga;}, (1) q~—оо причем 52 w < °°- Здесь i - мнимая единица. Рассмотрим значения этой функции на сетке из точек х/ = 1/N, где I, N целые, N фиксировано, и обозначим f(xi) = fa. Если q% — qi = A’TV, где к целое, то q^X] — qiXi = kNxi = kl, где kl целое. Следовательно, exp{27riqia;} = exp{27riq22-} (3) в узлах сетки. Поэтому если функция /(т) рассматривается лишь в уз- лах сетки xi, то в соотношении (1) можно привести подобные члены N-1 fa = 52 а ^{2^}, (4) <г=о где Aq = 5 у aq+sN- (б) — ОО Лемма. При Aq, определяемых (5), соотношение (4) остается в силе, если пределы суммирования [О, TV — 1] заменить на [т, N ~ 1 + т], где т - любое, целое. Доказательство. В самом деле, если q' = q + kN, то ОО Aqf = aq+kN+mN' т~~оо Принимая к Н- т за новую переменную суммирования т', получим оо Aq* ~ ^q+m'N ~ Aq. т,~—оо
172 Глава 4. Приближение функций и смежные вопросы Поскольку в узлах сетки exp{27n</.x;/} = exp{27ri<;.x/} согласно (3), то в совокупности имеем Aq exp{27ri<7:r/} = Aq< ехр{2тгц/а;(}. Таким образом, при Aq, определяемом соотношением (5), функция ехр{27гщ.тД является периодической по q с периодом N и, следова- тельно, сумма TV-1-Ип А? ехр{2тгщаД q=srn не зависит от т и совпадает с fi- Лемма доказана. Если с самого начала была задана функция, определенная только на сетке, то на этой сетке ее можно также представить в форме (1). Дей- ствительно, такую функцию можно продолжить на всю прямую, доопре- делив ее между узлами сетки путем линейной интерполяции. Для непре- рывной кусочно-дифференцируемой функции выполняется (2), поэтому в точках сетки после приведения подобных членов получим (4). Определим скалярное произведение для функций на сетке следующим образом: 7V-1 (/, д) = ^^2fi9i- 1=0 (Множитель 1/N введен для согласованности получаемых соотношений с непрерывным случаем: если f(x) и д(х)—непрерывные функции на отрезке [0, 1], то вследствие интегрируемости f(x)g(x) по Риману (/> д) I f(x)g(x)dx Jo при N —> оо.) Функции gq(xi) = ехр{2тпдаД при 0 q < N образу- ют ортонормированную систему относительно введенного таким образом скалярного произведения. Действительно, N-1 ( I \ I • Q — 1 1 (д9, gj) = у «жр 4 1=0 1 При q 7^ j, суммируя геометрическую прогрессию, имеем „л _ 1 ехр{2тг1(д — j)} — 1 _ 3 N Jo Л-У] , exp 127Г1~дГ I 1 (при 0 С q, j < N, q j знаменатель отличен от 0). Поскольку (</б;, gq) = 1, то в итоге имеем (&?, gj) = &q при 0 < q, j < N. (6) (gq
173 § 3. Тригонометрическая интерполяция_____________ Умножая (4) скалярно на gj, получим равенство 7V-1 Aj = (f, 9j) =ft ехр{-2тгуЖ/}. (7) v 1=0 Выражение в правой части образует квадратурную сумму для инте- грала / J (ж) ехр{—2тпуя;} dx, Jo поэтому Aj —> Gj:= I f(x) exp{—2тгг/.г} dx Jo при TV —> oo и фиксированном j. Покажем, что соотношение N-1 f(x) « 22^ехр{2тпуа;} (8) j=o в общем случае не имеет места. Пусть У (ж) = ао + u_i ехр{—2тпя;}. Из (4) получаем Ио = «о, = a-i, остальные Aj = 0. Таким образом, правая часть (8) есть ag + a_i exp{27ri(7V — 1).г}. Она совпадает с У (ж) в точках xi, но, как правило, далека от нее вне этих точек. Воспользовавшись утверждением леммы, перепишем (4) в виде fl = 52 А9ехр{2тгщя;/}. (9) -N/2<q^N/2 Если /(ж)—достаточно гладкая функция, то величины с ростом j убывают быстро, поэтому Ад и aq при малых q. Кроме того, при гладкой У (ж ) величины Aq и aq малы при больших q. Задача 1. Пусть У (.г) непрерывно дифференцируема. Доказать, что шах У(ж) — 52 Aq ехр{2тгщя;} —> 0 t0,1!' -N/2<q^N/2 ' при N —> оо. Напомним, что это приближенное равенство обращается в точное ра- венство в точках сетки. Способ аппроксимации функции У (ж) ~ £ AexP{27riW -N/2<q^N/2 носит название тригонометрической интерполяции. Соотношение (9) на- зывают конечным или дискретным рядом Фурье, а коэффициенты Aq — дискретными коэффициентами Фурье.
174 Глава 4. Приближение функций и смежные вопросы Рис. 4.3.1 Игнорирование установленного нами факта о равенстве функций ехр{27гй/1.г} и ехр{2тгйу2-'''} в узлах сетки при q\—q2 = kN часто является источником получения неверных соотношений. При решении одной инженерной задачи потребовалось определить первую соб- ственную частоту колебаний конструкции. Было принято решение написать нестационарное уравнение, описывающее процесс колебаний, вывести на пе- чать график и из рассмотрения графика определить частоту. Соответствующее уравнение, которое мы условно будем обозначать х" = F(x'), решалось методом конечных разностей. Для контроля над надежностью результата производился повторный расчет с вдвое меньшим шагом. Графики кривых, полученных в ре- зультате расчетов, совпали с точностью до 10%. Однако из сравнения с экспе- риментом оказалось, что полученная частота отличается от истинной в десятки раз. Причина недоразумения заключалась в том, что график решения строился с шагом 1/N, существенно большим периода колебаний решения задачи. Реше- ние было близко к функции const- ехр{2тгйу^}, где q/N близко к четному числу 2к. Поэтому как на сетке с шагом 1/N, так и на вдвое более мелкой с шагом 1/(27V) получался график одной и той же функции const- exp{27ri(g — 2kN)t}. В другом случае несоответствие со здра- вым смыслом возникло при расчете диа- граммы направленности антенны. Пред- принимавшиеся попытки найти ошибку в программе, методе решения или физиче- ском описании задачи не приводили к поло- жительному результату. Объяснение ока- залось тем же: график сильно колеблющей- ся функции выдавался на очень редкой сет- ке. На рис. 4.3.1 сплошной кривой изобра- жен реальный график сечения диаграммы направленности, пунктиром — график, ко- торый строился путем интерполяции полу- ченных расчетных значений х и противо- речил эксперименту. Существует соответствие между задачей приближения функций ли- нейными комбинациями многочленов Чебышева и тригонометрическими многочленами. Пусть на отрезке [—1, 1] функция f(x) приближается ли- ги—1 нейными комбинациями У^Цд-Тд/ж). Замена переменных ж = cost сводит исходную задачу к задаче приближения функции /(cost) линейной ком- то— 1 m—1 бинацией a,jTj(cost) = У^Пд cosQ't). j=0 j—0 Справедливо равенство (/, Г7)г = [l^^dx= Г* f(cos0)g(cos0)d0. J-i VI — x£ Jo
§ 4. Быстрое преобразование Фурье 175 Следовательно, задача наилучшего приближения /(ж) в норме, соответ- ствующей скалярному произведению (/, ff)i, эквивалентна задаче при- ближения f(cos0) в норме, соответствующей скалярному произведению ГТГ (f,g)2 — / f (cos 0)д (cost)) d0. Точно так же существует соответствие ./о в случае задач интерполяции и наилучшего приближения в равномер- ной метрике. Задача интерполирования функции многочленом по узлам Xj = cos | тг—- -] -нулям многочлена Чебышева Тт(х) — после такой J \ 2т / замены сводится к задаче интерполирования функции /(cos0) при помо- т— 1 1ци тригонометрического многочлена а:/ cos .7=0 образующим равномерную сетку. .. . 2j — 1 (jt) по узлам tj = 7г---, 2т § 4. Быстрое преобразование Фурье Осуществление прямого и обратного дискретных преобразований Фурье (/о, •, /n-i) Ио, •, A/v-i) является составной частью решения многих задач. Непосредственное осу- ществление этих преобразований по формулам (3.4), (3.7) требует O(7V2) арифметических операций. Рассмотрим вопрос о возможности сокраще- ния этого числа. Для определенности речь пойдет о вычислении коэффи- циентов Aq по заданным значениям функции. Идея построения алгорит- мов быстрого преобразования Фурье опирается на то, что при составном N в слагаемых правой части (3.7) можно выделить группы, которые входят в выражения различных коэффициентов Aq. Вычисляя каждую группу только один раз, можно значительно сократить число операций. Рассмотрим сначала случай N = Р1Р2; Pi, Р2 Ф 1- Представим у, лежащие в пределах 0 q, j < N, в виде q = q\ + Р1<72, j = 32 + P23\, где 0 <71, .71 < Pl, 0 <72, 32 < P2- Имеем цепочку соотношений 1 N~L ( (' Aq = A(qi, q-2) = — Л ex₽ ) -27riT7 7=0 1 J . (<71+P1<?2)(.72+P2.71) = Z Z Л2+Р2Л exp i -2711------------------—------------ Из равенства (ф +Piq2)(j2 +P2.71) . , q32 , 31Q1 — = 523, + -^ + —
176 Глава 4. Приближение функций и смежные вопросы и предыдущего соотношения получим 1 ( A(qi, qi) = — 22 .72) exp < -2тп^ Р2 I N где 1 ( ji) = — 22 fh+v-ih ехР 5 ~27ri“ 77i z' I 771 Непосредственное вычисление всех ji) требует О (pl'Pi) арифме- тических операций, а последующее вычисление A(qi, q-z) еще О (pip1 2) операций. Поэтому при pi, р-2 = O(y/N) общее число операций составит O(7V3/2). Точно так же при N = pi... рг строится алгоритм вычисления совокупности значений Лг/, для которого общее число операций не пре- восходит CN(pi + ••• +рг), здесь С — постоянная, не зависящая от N. Выпишем соответствующие расчетные формулы для наиболее употреби- тельного случая pi = • • = рг = 2. Представим числа q, j в виде гДе qk.ir+1-т = 0, 1. Величину qj2 г представим в виде qj2^ = £ QJr+1-m2m-l~r = £ ( = m=l m=l \Aj=1 / г /т—т+Т. X = 22 Е qk2k+m~r-2U+1_ro+s, т=1 X fc=l / где .s — целое, равное сумме всех слагаемых вида <pjr+i-m2A:+m г 2, у ко- торых к+т—г—2 0. Очевидно, что ехр{—2тп—1 = exp/— 2тп(— — s) 1, поэтому N / 1 Г Л(щ,..., qr) = Aq = — 22 fj exp j -2тг1 j=0 ' (r—m+l x 1 22 ’-2)jr+1_mL fc=i 2 J 1 x » 1 X -> I r Л 2 5 ‘' 2 ir+2jT^1-]—exp < — 2?ri 2 ' jr=0 ji=0 I m=l
§ 4. Быстрое преобразование Фурье 177 После перегруппировки слагаемых имеем 1 1 ( ’ ] A(qi, • • , Qr) = 2 52 ехр ) -27ГЬ’г2”г > х Z j,.=o I fe=i J /1 1 f _ 1 x j E e*P S'E®^ H x у j,._i=0 I fc=l J Л 1 \ \ X • • X 9 52 exP{-27riil2 -+2Г-Н1 • • V / / Это соотношение можно записать в виде последовательности рекуррент- ных соотношений A^m\qjqm; jm+i,jr) = 1 i f m 1 = 2 E exP j -2^m2“m E • • > , jr), jm=:0 L J m = 1, . . . , T, где , jr) = fj,+2jr_1+-+2r-1jl’ A{r\qi,qr) = A(qi,..., qr). Переход от каждой совокупности к совокупности А-ГА требует O(N) арифметических и логических операций; всего таких шагов г, по- этому общее число операций имеет порядок O(Nr) = O(N log2 N). Вычисление при помощи совокупностей дает меньшее накопление вычи- слительной погрешности по сравнению с формулами (3.7). Определенные удоб- ства имеются также при вычислении экспонент, входящих в расчетные форму- лы. При вычислении величин ДО1) используются значения ехр{—2тгг/2~™}, j — 0, 1,-.., 2™ — 1. В частности, при т = 1 величина ехр{—тгг)} принима- ет значения +1 или —1. Для вычисления значений Д(т+1) потребуются еще значения ехр{—27riy2_(m+1)} при нечетных j, удовлетворяющих неравенству О j < 2”l+1. Их можно вычислить через уже вычисленные до этого величины, в частности, при помощи соотношений (т 2) ехр(-2тп 1±12~т) + ехр(-2тп iz22~ml exp{-27ri/2”(m+1)} =--1----2-------1----1------2-----£ 1 ’ 2cos(7r2-m) где, в свою очередь, cos(7r2~m) = ^/|(1 +cos(7r21-™)) при т 1.
178 Глава 4. Приближение функций и смежные вопросы В ряде случаев удается еще уменьшить число операций. Один из таких случаев упоминался выше: дана вещественная функция f(t) = g(cost), известная в точках t[ = тг(2/ — 1)/(27У); требуется найти коэффициенты интерполяционного многочлена N-L Aj cos jt. j=o Другой случай: при четном N заданы значения функции N/2-1 У2 •‘4/8ш2тгД ./=1 в точках t — 1/N, 0 < I < N/2-. нужно определить коэффициенты .4^-. Задача 1. Найти коэффициенты с:/ произведения двух многочленов Показать, что для их нахождения достаточно O(7Vlog27V) операций. § 5. Наилучшее равномерное приближение Если норма в линейном нормированном пространстве определяется не через скалярное произведение, то нахождение элемента наилучшего при- ближения существенно усложняется. Рассмотрим типичную задачу, встре- чающуюся, в частности, при составлении стандартных программ вычи- сления функций. Пусть R — пространство ограниченных вещественных функций, опре- деленных па отрезке [а, Ь] вещественной оси, с нормой 11/11 = sup |/(т)|. М] Ищется наилучшее приближение вида п Qn(x) — CljX'l. >=о Согласно теореме из §1 существует элемент наилучшего приближения, т. е. многочлен <2п(ж) такой, что ^(/) = ||/-Q°„KH/-Q„|| при любом многочлене Qn(x) степени п. Такой многочлен назы- вают многочленом наилучшего равномерного приближения. Далее будут установлены необходимые и достаточные условия того, чтобы многочлен
§ 5. Наилучшее равномерное приближение 179 являлся многочленом наилучшего равномерного приближения для непре- рывной функции. Теорема Валле-Пуссена. Пусть суш,ествуют п + 2 точки xq < • - < хп+1 отрезка [а, Ь] такие, что sign(y(sj) - Qn(xi)) (~1)г = const, т. е. при переходе от точки Xi к точке х;+] величина f(x) — Qn(x) меняет знак. Тогда En(f)>p.= min |/(тг) - <2п(жг)|. (1) г=0,...,я+1 I I Доказательство. В случае р — 0 утверждение теоремы очевидно. Пусть р > 0. Предположим противное, т. е. что для многочлена наилучшего приближения Qn(x) \\Q°n-f\\ = En(f)<p. Имеем sign(<2n(s) - Q°n(я)} = sign((Q„(a;) - /(ж)) - (Q°(a?) - /(ж))). В точках Х{ первое слагаемое превосходит по модулю второе, поэтому sign^^^Ti) - = sign^nU'i) - fU’i))- Следовательно, многочлен Qn(x) — Qn(x) степени n меняет знак п + 1 раз. Получили противоречие. Теорема Чебышева. Чтобы многочлен Qn(x) был многочленом наилуч- шего равномерного приближения непрерывной функции f(x), необходимо и достаточно суш,ествования на [а, Ь] по крайней мере п + 2 точек xq < < xn+i таких, что f{Xi) - Qn(Xi) = а(—1)’ ||/ - Ш1, где г = 0,..., п + 1, а = 1 (или а = —1) одновременно для всех г. Точки хо, • • -, Xn+i, удовлетворяющие условиям теоремы, принято на- зывать точками чебышевского алътернанса. Доказательство. Достаточность. Обозначим через L величину ||/ — Qn||- Применяя (1), имеем L = р <С En(f), но En(f) \\f - Qn|| = L вследствие определения величины En(f}. Следовательно, En(f) = L и данный многочлен является многочленом наилучшего равномерного при- ближения. Необходимость. Пусть данный многочлен Qn(x) является многочле- ном наилучшего равномерного приближения. Обозначим через у\ ниж- нюю грань точек х G [а, Ь], в которых |/(.т) — <2n(a-’)l — Е, из опреде- ления L следует существование такой точки. Вследствие непрерывности f(x) — Qn(x) имеем |/(?7i) — Q«(?/i)| = L. Для определенности далее рассма- триваем случай, когда f(yi) — Qn(yi) = +L. Обозначим через у2 нижнюю
180 Глава 4. Приближение функций и смежные вопросы грань всех точек х G (тц, 6], в которых /(ж) — Qn{x) = — L, последова- тельно через i)k+i обозначим нижнюю грань точек х G (уь, Ь], в которых У(ж) — Qn(x) = (—l)fcL,... Вследствие непрерывности /(.с) — Qn(x) при всех к имеем — Qn(yk+i) — (~l)kL. Продолжаем этот процесс до значения ут = b или ут такого, что |У(.т) — С?и(ж)| < L при ут < х <: Ь. Если иг п + 2, то утверждение теоремы выполнено. Предположим, что оказалось т < п + 2. Вследствие непрерывности У (ж) — Qn(x), при любом к (1 < к т) можно указать точку такую, что |У(.т) — <2п(.т)| < L при 2rfc_| х < уд-; положим zq — a, zm = b. Соглас- но проведенным выше построениям, на отрезках [zj-i, z^], i = l,..., /n, имеются точки, в частности точки т/д, где У(т)~ Qn(x) = (—и нет точек, где f(x) — Qn{x) = (—1)гЬ. Положим ~ж), Qn(x) = Qn(x) + dv(x), d>0 3=1 и рассмотрим поведение разности У(т) - Qd(x) = У (ж) - Qn{x) - dv(x) на отрезках [zj-i, z,j\. Для примера обратимся к отрезку [zq, zj]. На [zq, zi) имеем v(x) > 0, поэтому У (ж) — L — dv(x) < L. Кроме того, на этом отрезке выполняется неравенство f(x) — Qn(x) > —L; поэтому при достаточно малых d, например при min |У(.т) - Qn(x) + L\ на [zq, zi) имеем У(.т) — Qn(x) > —L. В то же время \f(z1)~Q^z1)\ = \f(z1)~Qn(z1)\<L. Таким образом, |У(т) —<2п(ж)1 < Т на этом отрезке при достаточно малом d. После проведения аналогичных рассуждений относительно остальных отрезков [zi-i, Zi] мы сможем указать малое do такое, что на всех отрез- ках выполняется неравенство |У(ж)~ С?п°(ж)| < L. Мы получили противоре- чие с предположением, что Qn(х) —многочлен наилучшего приближения, а тп < п + 2. Теорема доказана. Теорема единственности. Многочлен наилучшего равномерного прибли- жения непрерывной функции единствен. Доказательство. Предположим, что существуют два многочлена степени п наилучшего равномерного приближения: Q'M ||у - $j| = ||у - Q2Н = En(f).
§ 6. Примеры наилучшего равномерного приближения 181 Отсюда следует, что IL сЛ + ^1| . II/-^11 , ||/-^|| _ F т ||/-----2 II || Т|| + ||~~2|| " т.е. многочлен |[€?„(•'') +Qn(-7')] также является многочленом наилучшего равномерного приближения. Пусть хд,хп+1 —соответствующие этому многочлену точки чебышевского альтернанса; тогда ||[с?*Си) + Q2M] - У(-Ч)| = ем i = 0, . . . , п + 1, или |(С*Сч) - У(ч)) + (с^(ч) - УСч))1 = -2Е.М Так как |<2^(.гД ~ f(xi)\ En(f), к = L.2, то последнее соотношение воз- можно лишь в том случае, когда QrM ~ f(xi) = QrAxi) ~ffa). Мы получили, что два различных многочлена Q„(.t) и (-^(х) степени п совпадают в точках Хд,..., xn+i, т.е. пришли к противоречию. Задача 1. Функция У (ж) = sinlOO.T приближается на отрезке [0, тг]. Най- ти <39о (т). § 6. Примеры наилучшего равномерного приближения 1. Непрерывная на [а, Ь] функция приближается многочленом нулевой степени. Пусть sup У (ж) = /(.ci) = М, inf /(а?) = /(а2) = т. [а,Ь] М] Многочлен Qg(x) — (М+т)/2 является многочленом наилучшего прибли- жения, а ,Т1, х-2 — точками чебышевского альтернанса. Задача 1. Доказать, что наилучшее приближение нулевой степени имеет вид Qg(x) = (М + '/п)/2, если /(ж) не обязательно непрерывна. 2. Непрерывная, выпуклая на отрезке [а, Ь] функция /(.с) приближа- ется многочленом первой степени Qi(.т) = «о + а^х. Вследствие выпу- клости J (а) разность f (х) — (ад + ajx) может иметь на интервале (а, Ь) только одну точку экстремума, поэтому точки а, b являются точками чебышевского альтернанса. Пусть с? —третья точка чебышевского альтер- нанса. Согласно теореме Чебышева, имеем равенства У (а) - («о + «1«) = aiL, f(d) — (а0 4-aid) = —aL, У(Ь) - («о +aib) = aL.
182 Глава 4. Приближение функций и смежные вопросы Рис. 4.6.1 Вычитая первое уравнение из третьего, получим f(b) — f(a) = ai(b-а). Отсюда на- ходим aj = (/(b)-/(a))/(b-a). Для опре- деления неизвестных d, L, Go, di и а = +] или а = — 1 получено всего три уравне- ния. Однако следует вспомнить, что точ- ка d является точкой экстремума разно- сти f(x) — (ao + aix). Если У (ж)— диффе- ренцируемая функция, то для определе- ния d имеем уравнение /'(d) — dj = 0. Те- перь определяем «о, например из уравне- ния, получающегося сложением первого и второго уравнений. Геометрически эта процедура выглядит следующим образом (рис. 4.6.1). Проводим секущую через точки (а,/(а)), (b,/(b)). Для нее тангенс угла наклона равен а±. Проводим параллельную ей касательную к кривой у = /(ж), а потом прямую, равноудаленную от секущей и касательной. Задача 2. Построить пример функции и соответствующего многочлена первой степени наилучшего равномерного приближения на [а, Ь] так, что- бы среди точек чебышевского альтернанса не было точек а и Ъ. Задача 3. Построить пример функции (естественно, не непрерывной), для которой многочлен наилучшего равномерного приближения не удо- влетворяет условиям теоремы Чебышева. Задача 4. Пусть /(ж) = |ж|, [а, Ь] = [—1, 5]. Построить многочлен наи- лучшего равномерного приближения первой степени. 3. Функция /(ж), удовлетворяющая условию /(п+1)(ж) 0, приближа- ется на [а, Ь] многочленом наилучшего равномерного приближения степе- ни п; требуется оценить величину En(f). В § 9 гл. 2 мы имели оценку погрешности интерполяции по узлам, являющимся нулями многочлена Чебышева: а именно, Отсюда следует неравенство e"^>4k^+i,wi) 2^:71)! • Пусть Qn (ж) — многочлен наилучшего равномерного приближения. По- скольку вследствие теоремы Чебышева разность /(ж) — Qn(x) меняет знак
§ 6. Примеры наилучшего равномерного приближения 183 при переходе от одной точки чебышевского альтернанса к другой, то она обращается в нуль в (п+1)-й точке yi,..., уп+1- Поэтому многочлен Qn(x) можно рассматривать как интерполяционный с узлами интерполя- ции ух,..., ?/п+1- Согласно (2.3.1) имеем представление для погрешности интерполирования следующего вида: \п -г 1J. где cj„+i(.t) = (х - ух)... (я; - у„+1), < = ((ж) G [а, Ь]. Пусть шах |шп+1(х)| = |шп+1(то)|. [о,Ь] Имеем «..(/) = 11/(1') - <?„(!)« ? |/Ы “ <2..(1'0)| = = |/("+1>К(1'0))| > (и„ |/<”«+)|) . I I (п +1)! '[“>4 ' \[а,ь] (п + 1)! у Согласно (2.8.6) выполняется неравенство п1ахК+1(т)| ^(6-«)’l+1/22n+1. [«, ь] Отсюда следует оценка ад) > fefl/'-’wi) ^7+ <2> Таким образом, если f^n+1\x) сохраняет знак и меняется не очень силь- но, то разность между погрешностью многочлена наилучшего равномер- ного приближения и интерполяционного многочлена по нулям многочле- нов Чебышева несущественна. Задача 5. Доказать, что в случае, когда f(n+V)(x) сохраняет знак на отрезке [а, Ь], чебышевский альтернате содержит точки а и Ъ. 4. Рассмотрим задачу нахождения многочлена наилучшего приближе- ния степени п в случае, когда f ((/') Fn+ifa) — но Т + 1 O’n+i 0. Тогда f(n+1\x) = an+i(zi +1)! и оценки сверху (1) и снизу (2) для En(f) совпадают: ^п(/) = |оп+1|(&-а)п+12-2”-1. Таким образом, многочленом наилучшего приближения оказывается ин- терполяционный многочлен Qn(x) с узлами интерполяции
184 Глава 4. Приближение функций и смежные вопросы Можно получить другое представление этого многочлена наилучшего приближения, записав его в виде ч „ (2х — (а + b)\ (b — a)”+1 Qn(x) = Ды-1(ж) — ап+1Тп+1 Ь — а ) 22п+х ’ (3) Действительно, выражение в правой части является многочленом сте- пени п, поскольку коэффициент при хп+1 равен нулю. Точки = *" ПП cos тнТ’ i ~ Q’ • • • ’ п’ образуют чебышевский альтернанс. 5. Пусть [о, Ь] = [—1, 1] и /(ж) — нечетная функция относительно точ- ки х = 0. Покажем, что здесь многочлен наилучшего приближения любой степени нечетен, т. е. записывается в виде суммы нечетных степеней х. Действительно, пусть Qn (ж)— многочлен наилучшего приближения для /(ж). Имеем |/(ж) — Qn(x)| En(J). После замены х на —х и умножения выражения под знаком модуля на —1 получим иначе 1/(*) - (-Qn(-*))| < En(f). Следовательно, многочлен — Qn(~x) также является многочленом наи- лучшего равномерного приближения. По теореме единственности имеем СДт) = ~Qn(~x), что и требовалось доказать. 6. Пусть требуется приблизить функцию /(ж) = ж3 на отрезке [—1, 1] многочленом наилучшего приближения первой степени. Предшествующим результатом можно воспользоваться двояко. Один путь: поскольку иско- мый многочлен наилучшего приближения будет нечетным, то его доста- точно отыскивать среди многочленов вида Qi(x) = О|Ж. Второй путь: поскольку многочлен наилучшего приближения второй степени для дан- ной задачи оказывается многочленом первой степени, то исходная зада- ча эквивалентна задаче построения многочлена наилучшего приближения второй степени. Последняя задача наилучшего приближения многочлена многочленом степени, на единицу меньшей, уже нами рассматривалась. Задача 6. Пусть /(ж) - четная функция относительно середины отрезка приближения [—1, 1] : /(ж) = /(—ж). Доказать, что многочлен наилучшего приближения Qn(x) четен. Задача 7. Функцию /(ж) = ехр{ж2} приблизить на отрезке [—1, 1] мно- гочленом наилучшего приближения третьей степени. Примечание. Из решения предыдущей задачи следует, что этот много- член имеет вид а0 + а%х2. Задача эквивалентна задаче наилучшего при- ближения функции Д(у) = еу на отрезке [0, 1] многочленом вида «о+нгУ- 7. Очень часто бывает, что многочлен наилучшего равномерного приближе- ния точно найти не удается. В этих случаях ищется многочлен, близкий к
§ 6. Примеры наилучшего равномерного приближения 185 многочлену наилучшего приближения. Рассмотрим примеры такого рода. Для простоты рассматриваем случай приближения на отрезке [—1, 1]. Разложим функцию /(ж) в ряд по ортогональной системе многочленов Чебы- шева: /(ж)~£ед(ж). Отрезок этого ряда п Yd:lT^ j=o невысокой степени часто обеспечивает неплохое равномерное приближение. Иногда бывает затруднительно вычислить явно коэффициенты dj, но зато из- вестно разложение Тейлора /(*) = j=o сходящееся при |ш| 1. Тогда применяют следующий метод (называемый ино- гда телескопическим). Выбирают некоторое п такое, что погрешность фор- мулы п f(x) к рп(х) = ^2 азх3 j=0 является достаточно малой. Затем приближают многочлен РД.т) многочленом наилучшего равномерного приближения Рн~з(х). Согласно формуле (3) имеем Pn-i(x) = Рп(х) - апТп(х)21~п. Поскольку |Дг(а:)| 1 на отрезке [—1, 1], то Далее приближают многочлен Pn-i(x) многочленом наилучшего равномерного приближения Р„_2 (х) и т. д. Понижение продолжается до тех пор, пока погреш- ность от таких последовательных аппроксимаций остается малой. Рассматриваемый прием можно описать еще и следующим образом. Разложим многочлен Рп(х) по многочленам Чебышева: р„(.т) = in Введем обозначения Qm{x) = ^\ljTj(x) при m п. з=о Всякий многочлен Qm(x) является многочленом наилучшего равномерного приближения степени m для многочлена Qto+i(t), при этом Pto(Q?h+1) — ||Qw+l ~ Qm|| = |Фп+1|- (^) Это следует, например, из формулы (3) или непосредственно из теоремы Че- бышева. Отсюда вытекает, что Qn~i(x) = Ря-Дт), Qn-2(x) — Рп-.2(х) и т.д.
186 Глава 4. Приближение функций и смежные вопросы Таким образом, сущность описанного метода заключается в следующем. Исход- ная функция приближается отрезком ее ряда Тейлора Рп(х). Затем многочлен Рп(х) раскладывается на многочлены Чебышева и отбрасываются несколько последних членов разложения. Так как |Рп(ж) — Рт(а;)| £ №|, j—m+l то общая оценка погрешности такова: |/(ж) - max | f(z) - Р„(яг)| + |ф|- J=771+1 Рассмотрим задачу приближения функции f(x) = arctga; на отрезке [—tg(?r/8), tg(7r/8)] с точностью 0,5-10"5. Для достижения такой точности при аппроксимации отрезком ряда Тейлора требуется положить X* X? X® arctg;ess--+T-Y + --Ir Приблизим полученный многочлен многочленом наилучшего приближения степени, на единицу меньшей. Повторяя данную процедуру три раза, полу- чим многочлен Д (ж) = 0,9999374т - 0,3303433т3 + 0,1632823а;5, также обеспечивающий требуемую точность. Отметим, что здесь из-за нечет- ности исходного многочлена показатель степени на каждом шаге уменьшался на 2. Задача 8. Пусть функция /(ж) непрерывна на отрезке [—1, 1]: <2п+1(ж) = ^тг-МД + + по- Доказать, что EnU)^\^n+l\2-n-\\f-Qn+l\\. Задача 9. Пусть ж) = Е^вд- j=0 Доказать, что En(f) |Фг-н| ~ 1^1’ j=n+2 Многочлены наилучшего равномерного приближения или близкие к ним используются как важный составной элемент в стандартных про- граммах вычисления элементарных и специальных функций. Часто воз- никает ситуация, когда функция задается очень сложным явным выра- жением (например, в виде интеграла /(ж) = / F(x,y)dy), а по ходу JG решения конкретной задачи ее значение приходится вычислять в очень
§ 7. О форме записи многочлена 187 многих точках. В этом случае часто полезно вместо непосредственного вычисления значений функции воспользоваться интерполяцией ее значе- ний по таблице или приблизить функцию многочленом. Иногда для этой цели используют многочлены наилучшего приближения в норме £2 или наилучшего равномерного приближения. Конечно, в каждом конкретном случае полезно посмотреть, оправдают ли себя затраты по построению приближающего многочлена. § 7. О форме записи многочлена Одна из стандартных программ наилучшего равномерного приближения была отлажена в случае приближения функций многочленами невысокой степени и включена в пакет стандартных программ. Однако при прак- тическом использовании программы для приближения функции много- членами высокой степени в ряде случаев оказывалось, что программа выдает приближение к функции, не обеспечивающее ожидаемой точно- сти, или итерационный процесс не сходился, продолжаясь неограниченно долго, так что приходилось прекращать вычисления. После практического и теоретического анализа возникшей ситуации удалось установить причину происходящего. Для определенности будем говорить о приближении функции па от- резке [—1, 1]. Было установлено, что в случае недостаточно гладкой функции ко- эффициенты многочлена, приближающего ее с высокой точностью, обя- зательно будут очень большими. За исключением редко встречающегося случая, когда эти коэффициенты записываются в ЭВМ без округлений, в этот многочлен вносится погрешность, и он плохо приближает рас- сматриваемую функцию. Если эти коэффициенты и записаны в машине без округлений, то все равно значения многочлена при |а,|, близком к 1, будут находиться с большой вычислительной погрешностью. Сформулируем соответствующие утверждения более строго. Предполо- жим, что существует последовательность многочленов п(т) Рт[х) = удовлетворяющих условию \f(x)~Pm(x)\^2~m на [-1,1] (1) (Рт(х)—не обязательно многочлены наилучшего равномерного прибли- жения); предположим также, что коэффициенты этих многочленов ра- стут не очень сильно: n(m) 1т=^\аТ\^М2Чт, (2) 7=0
188 Глава 4. Приближение функций и смежные вопросы Обозначим через G,P открытую область, ограниченную дугами, из любой точки которых отрезок [—1, 1] виден под углом ip. Известна Теорема. Пусть последовательность многочленов Рт(х) удовлетворяет соотношениям (1), (2). Тогда функция. f(x) может быть аналитически продолжена в открытую область комплексного переменного Gv, 99 == 7г(2<7 + 1)/(2<7 + 2). Примечание. Если вместо условия (1) имеем условие |/(ж) — Ргп(х)\ 1/т1, то можно показать, что max < 00 при любом 6 > 0. Какие практические следствия вытекают из этой теоремы? Если чи- сло а записывается в системе с плавающей запятой с t двоичными раз- рядами, то его погрешность может оказаться больше |а|2~4-1; в худшем случае, когда погрешности коэффициентов а™ одного знака, погрешность значения п(т) Рт(1) = ^af, 3=0 являющаяся следствием этих погрешностей, может превзойти величину п(т) \ 3=0 / Чтобы качественно представить характер влияния этой погрешности, будем считать, что число т, входящее в условия (1), (2), и число t велики. Пусть функция f(z) аналитична в некоторой области GVo, и не аналитична ни в какой области Gv при ср < <р0. Пусть до выби- рается из соотношения до = [2(ро — тг]/2(тг — 990)]. Возьмем произволь- ное д < до- Если предположить, что для всех т выполняется нера- венство lm 2<?m, то, согласно выше сформулированной теореме, /(z) будет аналитична в соответствующей области Gv при 99 < <ро и полу- чается противоречие с предположением о свойствах функции f(z). Та- ким образом, будут встречаться сколь угодно большие т, для /кото- рых lm 24"'. Следовательно, при неблагоприятном стечении обстоя- тельств погрешность от округления значений а™ может оказаться боль- ше, чем В то же время нельзя рассчитывать на оценку по- грешности, лучшую, чем (1). Для суммарной погрешности, получаю- щейся от замены f(x) на Рто(ж) и от погрешностей в коэффициен- тах многочлена, мы не можем предложить оценки лучшей, чем e(m) = 2'zm2-*-1 + 2-m. Уравнение для точки экстремума т функции е(т) име- ет вид е’(т) = ц1п2 2<'™2~*-1 - 1п2 2~™.
§ 7. О форме записи многочлена 189 /2\ Отсюда следует, что 2™ = (- J 2t/(q+1'>. Подставив это значение в выражение для е(гй), получим 2^<«+‘>2-‘ + PJ 2-</<'1+1) = Таким образом, при вычислениях на ЭВМ с I разрядами нельзя наде- яться на получение более точных приближений к значениям функции, чем с t/(q + 1) разрядами. Например, для функции /(ж) = (1 + 25ж2)-1 нижней гранью <р, при которой /(z) аналитична в области Gt,, будет = arctg0,2; соответствующее значение q + 1 « 3,2. Таким образом, на ЭВМ с 60 двоичными разрядами мы в лучшем случае можем рассчи- тывать на получение приближений к значениям функции примерно с 20 верными двоичными разрядами. Если производная не существует в некоторой внутренней точке отрезка при не очень большом I, то согласно примечанию к теореме имеет место еще большая потеря точности результата. Можно привести следующий довод об исключительности подобной обстанов- ки. Обычно приходится приближать целые функции или такие, особенности которых лежат далеко за единичным кругом. Тогда из проведенных выше рассмотрений столь удручающие выводы не следуют. Формально это верно, однако такого рода функции часто, являясь целыми аналитическими функ- циями, очень быстро возрастают при увеличении мнимой части у аргумента. Хотя для таких функций величины 1п остаются равномерно ограниченными по л, они могут принимать столь большие значения, что величина окажется существенно больше допустимой погрешности. Примером подобных функций является функция = / exp{iAi2} dt для больших А. Jo Эти обстоятельства побуждают к отысканию иных простых форм за- писи и вычисления значений многочленов. Обратимся к форме записи многочленов наилучшего приближения в виде суммы значений многочленов Чебышева п Рп(х) (3) j=0 Имеем 2 Г Tn(x)Tm(x) , _ ( 2 при 71 — 772 — 0, nj-i Vl-x2 Х ~ t <$п притг2 + m2 > 0, поэтому
190 Глава 4. Приближение функций и смежные вопросы Воспользуемся неравенством Коши—Буняковского ЕкУ = 5>1<у 7=0 7=0 Отсюда заключаем, что Если ||Р„ - /||с -> О, то п Таким образом, в этом случае величина растет не быстрее, чем i=o у/п. Поскольку |Тп(з;)| 1, то погрешность в значении многочлена, ко- торая является следствием погрешностей в dj, не превзойдет величины п порядка ^У^|б?7|^2 * = О(л/п2 t). Такая оценка погрешности оказывает- 7=0 ся приемлемой при реальных вычислениях. Конечно, не обязательно представлять многочлены, приближающие функцию, в виде линейной комбинации (3) многочленов Чебышева. В зависимости от конкретной обстановки иногда удобнее представлять мно- гочлен как линейную комбинацию многочленов какой-либо другой орто- гональной системы, например многочленов Лежандра. (Мы рассмотрели систему многочленов Чебышева вследствие наибольшей простоты рекур- рентных соотношений для вычисления их значений.) Дадим рекомендации по вычислению значений многочлена Рп(х) на отрезке [—1, 1] безотносительно к вопросу о наилучшем приближении функций. п Пусть в обычной форме этот многочлен записывается в виде ^'ajX^ . п . 7=0 и погрешность порядка ( / Jgj|)2~< является допустимой. Тогда имеет 7=0 смысл воспользоваться схемой Горнера Рп(х) = по + ж(а1 + х.(- • + ж(ап_1 + хап)...)). В противном случае этот многочлен целесообразно представлять в виде линейной комбинации ортогональных многочленов, например многочленов Чебышева: п -К (з:) = ^~^7^7'(а:)- 7=0
§ 8. Интерполяция и приближение сплайнами 191 Для уменьшения числа действий при вычислении значений Рп(х) це- лесообразно поступить следующим образом. Полагаем Do = do — d‘z/2, Dj — (dj — dj+2)/^i j — 1,..., n 2, Dn—i = dn—\/2, и-п = dn/2. При необходимости вычислить Pn(.r) находим у = 2.7:, vn- i = yvn + Pn_i, затем последовательно находим г?п_2, • - -, vq = Рп(т) по рекуррент- ной формуле Vk — yvk+i ~ Vk+2 + D^. Известно, что вычислительная по- грешность такого алгоритма есть О I п min < п, —=== \ I /Г-.?:2 шах Рп (:/:) 2 1 [-1,1] Задача 2. Проверить, что действительно i.'o = Р„(.7:). § 8. Интерполяция и приближение сплайнами Для определенности будем говорить о приближении функции /(ж) на от- резке [0, 1]. Разобьем его на части [.то, яц],. ., [mjv—i, ггдф = 0; тдг = 1, и обозначим это разбиение через Д. Назовем сплайном Sr£(f, х) порядка т функцию, являющуюся многочленом степени т на каждом из отрез- ков [тп-ь -тм], т.е. <$Д (У! — Рпт (*^) ~ Пио + - • • 4- аптХ При X .Т„, (1) и удовлетворяющую условиям непрерывности производных до порядка т — 1 в точках .ч: i,..., х^р. РптЫ = Рп+1,т&п) при k = 0,..., т — 1, п = 1,..., N — 1. (2) Всего имеется в распоряжении Q = 7V(m+l) неизвестных коэффициентов апт, и соотношения (2) образуют систему из (N—l)m линейных алгебра- ических уравнений. Другие уравнения для коэффициентов получаются из условия близости сплайна к приближаемой функции и из некоторых до- полнительных условий. Рассмотрим простейшую задачу приближения линейными сплайнами (т = 1). Тогда общее число Q свободных параметров равно 2N. Поста- вим вопрос о построении сплайна х), совпадающего с функцией f(х) в точках xo,...,xpf, получится система уравнений Pni(^n-i) =/(тп_1), n = l,...,N, Рп1(хп) = f(xn), п = 1,
192 Глава 4. Приближение функций и смежные вопросы Эта система распадается на системы уравнений относительно коэффици- ентов отдельных многочленов FnlC^n—1) — О'нО О'пГ^тг—1 /(Жп—1), — Щ/() "Ь П?г1Жп f(xn). Отсюда находим ап1 — (/(Жп) / (жп—1))/(а'П жп—l)j ап0 ~ / (Жп—1) ап1Хп—1- Многочлен / nJ (т) является многократно рассматривавшимся интерполя- ционным многочленом первой степени с узлами интерполяции жп-1, хп. Широкое распространение сплайнов во многом вызвано тем, что они являются в определенном смысле наиболее гладкими функциями среди функций, принимающих заданные значения. Сплайны степени выше пер- вой в случае гладкой /(ж) хорошо приближают не только саму функцию, но и ее производные. Сплайны первой степени S^(f, ж) возникают из рассмотрения следую- щей вариационной задачи. Рассмотрим множество S\ кусочно-дифферен- цируемых функций л (ж), удовлетворяющих условиям Поставим задачу найти функцию *’1(ж) Е S\, реализующую inf /i(s). »eSi Уравнение Эйлера для этого функционала имеет вид s"(x) = 0. Таким образом, Я1(ж) линейна на каждом из отрезков [ж„_1, ж„] и, следователь- но, «Дж) = S^(f, ж). Этот подход к приближению функции, при котором естественным образом возник сплайн 5д(/, ж), допускает различные обобщения. Рас- смотрим, например, множество S-2 непрерывных, непрерывно-дифферен- цируемых и дважды кусочно непрерывно-дифференцируемых функций s(ж), удовлетворяющих условиям s(xn) = f(xn), n = 0,...,N; I2(s) = / (s"(x))2dx < oo. Jo Ищется функция ^(ж) 6 S%, реализующая inf I^s). Решением этой за- ses-г дачи оказывается сплайн третьей степени, удовлетворяющий условиям Р’’Ы = 0, Р"(ждг) = 0. Справедливость этого утверждения непосредственно следует из соот- ветствующих результатов вариационного исчисления. Однако для полно- ты изложения ниже будет приведено его обоснование.
§ 8. Интерполяция и приближение сплайнами 193 Уравнением Эйлера для рассматриваемого функционала является уравнение d2 д dx2 ds" т.е. = 0. Поэтому естественно предположить, что экстремум реали- зуется на некоторой функции s?(x) G S2, непрерывной вместе с первой производной, являющейся многочленом третьей степени Рпз(т) = апо + anix+an2X2+an3XS на каждом из отрезков [.Tn_j , хп]. Пусть //(ж) —непре- рывная, непрерывно-дифференцируемая и дважды кусочно непрерывно- дифференцируемая функция, удовлетворяющая условиям rj(x0) = = q(xN) = 0. (3) Положим 1 F(t) = f (s^t) + t-q"(я))2dx = f (s"(x))2dx + Jo Jo + 2t f S2(x)r]"(x) dx + t2 f (q"(x))2 dx. Jo Jo Поскольку по предположению F(t) F(0), to Fz(0) = 2 [ S2(x)q"(x) dx = 0. Jo Представим величину B(q) = Fz(0)/2 в виде В = bi + • • + b^, bn= i s"(x)q"(x)dx= [ P"3(x)q"(x)dx, "%П~1 и произведем в выражении для bn дважды интегрирование по частям. Получим гхп Хп ьп= I р!§(х)т](х) dx + (P"3(x)q'(x) - Р"з(х)7/(т)) Jxn-1 Вследствие (3) и равенства p/i3\-'c) = 0 имеем )Хп bn = P"3(xW(s) После суммирования по п получим N-1 B(q) ~ F%3(x/v)t)'(xn) + (Р^з(хп) - P^+i,a(xnW(хп) ~ P[3(xD)q(x0) (4) П=1 для любой функции q(x) рассматриваемого вида. При любом I можно подобрать функцию гц(а?) такую, что q'i(xi) — 1, q'((xn) — 0 при п I в пределах 0 п N. 7—903
194 Глава 4. Приближение функций и смежные вопросы Заметим, что мы не имели права производить интегрирование по частям непо- средственно в исходном интеграле так как неясен вопрос о существовании производных у S2(t) более высокого порядка, чем первый, в точках х1г..., х^. Подставляя такие в равенство В(т?/(ж)) = 0, l = 0,...,N, получаем N 4- 1 уравнение Р{'з(0) = Pw3(l) = 0, ^з(^)-^+1,з(^)=0, п = 1,..., N — 1. (5) Условие, что минимизирующая функция принимает заданные значения в точках хп, порождает 2N уравнений Рпз(.хп) ~ -Fn+l,3(®?i) = Т1 — 1, . . . , N 1, (6) Р1з(жо) = /(ж0), Pns(xn) = f(xN), а условия непрерывности s'2(x) в точках х„ порождают уравнения РпЛхп) = -?п+1,з(жп), n = 1,..., TV — 1. (7) В совокупности нами получено 4У уравнений (5) (7) относительно 4У неизвестных коэффициентов многочленов Р,;з(.'с). Исследуем вопрос о разрешимости и о практическом решении системы уравнений (5) (7). Для удобства введем в рассмотрение величины Мп = s"(xn). Поскольку функция яД.т) линейна на хп], то здесь hn = хп — хп_\. Из этого соотношения и из условий 82(я-п-1) = /(жп-1), гДжп) = /(жп) можно получить, что на [жп-1, тп]. Условия Д1з(жл) — Рп+1,з(хп)> п ~ 1, • - , N — 1 порождают уравнения hn + /1п+1 д, ^п+1 Л/г /(жп+1) — /(жгг) f(xn) — f(xn_ 1) —Л4п-1 4------------Мп 4----—Мп+1 = ------------------------------------ О 3 О. “-n+l (9)
§ 8. Интерполяция и приближение сплайнами 195 Кроме того, имеем условия Р"(Жо) = О, Р£3(Ж/у) = 0, иначе Мо = О, = 0. После подстановки Мц = 0 и Mn = 0 соответ- ственно в первое и последнее уравнения (8) получим систему СМ = d (10) из (N — 1)-го уравнения с (W — 1)-м неизвестным: М = (Mi,..., Млг-if, d = (d15..., dN^)T. Элементы Cij, отношениями i, j — 1,..., N — 1, матрицы согласно (9) задаются со- 'ij hi/6 (hi + /гг+1)/3 W6 0 при при при при j = г - 1, (И) а элементы ф столбца d — соотношениями , _ /(ж»+1) - f(Xj) _ f(Xj) - f(xt-l) г hi+1 hi Эта система решается методом прогонки (см. гл. 9) примерно за 8N арифметических операций. После нахождения Mj по формуле (8) опре- деляем многочлены Рпз(х). Покажем, что система уравнений (10) однозначно разрешима. Поскольку число уравнений равно числу неизвестных, то достаточно показать, что однородная система СМ = 0 (12) имеет только нулевое решение. Предположим противное, т. е. что существует ненулевое решение М° = (М®,..., системы (12). Пусть по — значение п, при котором достигается шах т. е. l^nCTV Kj^maxJM^O. ЛГ-1 В уравнении cnojMj = 0 перенесем в правую часть все слагаемые, кроме >=1 с/!0п0М°0. Получим спопоМПо = CnojAfJ. (13) З^по
196 Глава 4. Приближение функций и смежные вопросы Из соотношений (11), определяющих с,7, следует, что при любом г справедливы соотношения “Сгг > |с .у | > О, поэтому имеем цепочку неравенств |CnonoMnol < 52 IC”oj I 1М°1 < ||с"опо1 max I = Z 3 = 2lc"<)"ol Ю = 2 |cnono^no|- Вычтем из обеих частей результирующего неравенства 1с М° I < — 1с М° I I Спо По-™ По I 2' п°п° Ипо1 1 2 выражение, стоящее в правой части. Получим |cnono-^no | 0. Поскольку Спопо / 0, то М° = 0. Мы пришли к противоречию с предположением о суще- ствовании у системы (12) ненулевого решения. Подведем итог проведенным построениям. Доказано существование ре- шения системы (10). Сплайн третьей степени, определяемый соотношени- ями (8), будет искомым сплайном, удовлетворяющим условиям (5) (7). Лемма. Полученный сплайн s^ix) реализует inf sES-2 Доказательство. Пусть s (.т) — произвольная функция из S?,. Положим 77(3:) = s(.t) — s2(t). Имеем F(l) = ( (s"(ж))2dx = [ (s'^x) -I-y"(x))2dx = J\ J° г (14) = [ (s"(x))2dx + 2B(s(x) - s2(z)) + [ ((s(s) - s2(-T))")2dx. Io Jo Поскольку .s2(rc) удовлетворяет условиям (5), то в соотношении (14) име- ем B(s(t) — s2(x)) = 0. Таким образом, при любой функции .s(.t) Е S2 справедливо соотношение l2(s) = f (s"(x))2dx = (s"(s))2cta: + f ((s(t) — 52(а,-))"У dx = ^2(^2) + [ ((s(s) - S2(x))")2dx. Jo Отсюда следует справедливость утверждения леммы. Из последнего соотношения следует также, что сплайн s2(.'c) являет- ся единственной функцией из рассматриваемого класса, на которой /2(.s) достигает своего наименьшего значения.
§ 8. Интерполяция и приближение сплайнами 197 Задача 1. Доказать, что решение системы (10) удовлетворяет неравен- ству max \Мп\ < ------;--— max Щ; i<n<w-i mm hn получить отсюда однозначную разрешимость системы (5) (7). При рассматриваемом подходе получаемый сплайн совпадает с f(x) во всех узлах; такие сплайны называют интерполяционными. Задача 2. Пусть точки хп распределены равномерно: xn+i — хп = h. Зна- чение интерполяционного сплайна третьей степени S2(t) выражается че- рез значения функции fn некоторой формулой N S2 (ж) = п=0 Получить оценку [х — nh\ ~Ьз-----— — |Сп(т)| < а3е h (15) а3, Ь3 > 0 — абсолютные постоянные, не зависящие от /, N, h. Из оценки (15) следует, что значение сплайна Sq\x) в точке х слабо зависит от значений fn при большом |(т — nti)/h\. Описанный выше способ построения сплайна третьей степени страдает следующим недостатком. Из соотношений (5) следует s"(0) = яД!) = 0, хотя, как правило, /"(0), /"(1) 0; поэтому точность приближенных формул к, s^\x) вблизи границы ухудшается. Если значения /"(О) и /"(1) известны, то в (9) при п = 1 и п = N — 1 следует по- ложить Mq = и Мы = /"(1). Оказывается, что для повышения точности целесообразно задавать в точках хо, хы значения первой про- изводной. Дифференцируя (8), имеем , Mohr Mihj. /(ti)-/(x0) S2(Z°)- § 6~+ h. ’ В случае, если величина f'(xo) известна, полагаем правую часть рав- ной f'(xo) и получаем дополнительное уравнение, связывающее Мо и М±. Обычно значение /'(то) неизвестно, поэтому поступим следующим образом. Определим интерполяционный многочлен Qo(x) третьей степе- ни, совпадающий с /(ж) в точках .то, х±, х.?, х3. Величину f'(xo) заменим выражением Qo(t'o). Окончательно получим ^g + ^1 = Z(£iL-/W _0.(зд). о О Л-1
198 Глава 4. Приближение функций и смежные вопросы Последняя формула может быть записана в виде -уМ) + = -у<2о(жо) + у<2о(®1)- Аналогично построим интерполяционный многочлен третьей степени Qtv(t), совпадающий с /(ж) в точках туу, згдг-i, згуу_2, тдг-з- Коэффициенты Mj будем находить из системы уравнений, состоящей из совокупности уравнений (9) при п = 1,..., N — 1, и уравнений ~±Мо + = ЛгС?о(жо) + 3 6 3 6 (16) + —~Q'n(xN-i). 6 3 3 6 Часто вместо Qo и Qn лучше брать многочлены четвертой степени, совпада- ющие с /(т) в пяти крайних точках. Задача 3. Пусть hn = h = 1/N, Л4. Показать, что для сплай- на, определяемого системой соотношений (9), (16), выполнены оценки max |/^(ж) — s^\x)| const •А4Л4~'7, q 3. Описанные выше сплайны часто неудобны из-за своей нелокальности: значение сплайна в точке х зависит от значений /(гс,,) во всех узлах. Если в процессе работы со сплайнами (а она часто проходит в диалого- вом режиме с визуализацией результатов на экране) требуется исправить одно значение, приходится заново решать систему уравнений (9). Осо- бенно эта процедура неприятна в случае приближения функций многих переменных многомерными сплайнами. Чтобы избежать этого, используем так называемые локальные {аппрок- симационные) сплайны. Локальный сплайн первой степени совпадает с построенным выше сплайном .S[(.7;)_ Локальные сплайны более высоких степеней, как правило, не совпа- дают с f(x) в узлах хп. Однако это обстоятельство не носит принципи- ального характера. Все равно, как правило, значения f{xn) известны с некоторой погрешностью 6п, т.е. нам заданы величины fn = f{xn) + 6п. Построение локального сплайна третьей степени опишем на примере случая постоянного шага hn = h = 1/N. Для этого используется стан- дартный сплайн В{х) третьей степени, определяемый соотношениями со н г-н 1СЧ + сч Н 1 сч |м S. при kl 1, В(Ж) = I |(2-М)3 при 1 : |®| 2, 1 0 при 2 $ : |ж|.
§ 8. Интерполяция и приближение сплайнами 199 Локальные сплайны третьей степени и записывают в виде W+1 / , ч в2г)(ж) = 22 ап)в (ж /?п -) ’ i = п=—1 ' способ выбора будет указан ниже. Задача 4. Доказать, что при любых функции В^ являются сплай- нами третьей степени, причем В^ = 0 вне отрезка [—3/г, 1 4- 3/г]. При i = 1 доопределяют значения /_х и /Д+х линейной интерполяцией по значениям /о, /1 и /дг, Вдг-х, соответственно, т.е. берут /_] = 2/q —/х, fN+1 = 2fw — fN-L и полагают ап = /„ при — 1 Д п Д N + 1. При г = 2 доопределяют /_2, f-i и /дг-ы, /Д+2 кубической интерполя- цией по значениям /0, /1, /2, /з и /дг, /дг-х, /Д-2, /w-з, соответственно, и полагают ап = (8/„ - /п+1 - Д-0/6. Конкретные формулы для вычисления величин /_1? /_2, /Д+х, /Д+2 име- ют вид /—1 = 4/о - 6/х + 4/2 - /з, /-2 = Ю/о - 20,ft + 15/2 - 4/з, /дг+1 = 4/дг - 6fx-l + 4/jv-2 - fN-3, fN+2 = 10/дг - 20/ДГ-1 + 15/дг—2 - 4/дг-З. Задача 5. Показать, что значение В^\х) зависит только от значений /п в четырех ближайших к х точках ,тп, а значения В@\х)~в шести. В случае, когда погрешности ёп велики, чаще используют сплайны В^(х), а в случае, когда малы — сплайны В^(х); дело в том, что сплайны В^(х) обла- дают несколько лучшими свойствами сглаживания погрешностей в значениях /(т„), но обеспечивают меньшую точность в случае <5П = 0 и гладкой /(т). Задача 6. Показать, что B^\x0)=f0, B?\XN)=fN, B?\x0) = f0, B^2\xl) = fl, =//y-i, B{2\xn) = fN. Совпадение сплайнов B^tx) и B^ix) c f(x) в концевых точках существенно упрощает применение таких сплайнов в задачах машинной графики.
200 Глава 4. Приближение функций и смежные вопросы Задача 7. Пусть |/^(зг)| при к = 2, 3, 4. Показать, что max ^^(я;))^ — < const •h2^k при к 1, max |.Е^2\я:))(А:) — < cA4/i4“fc при к 3. Рассмотрим подход к постро- ению сплайнов, основанный на идее регуляризации. Пусть извест- но, что погрешности ёп — случай- / X' ные величины с математическим X. ожиданием Мёп = 0 и дисперсией ё. Минимум Д(я) ищут при усло- вии Рис. 4.8.1 N £(s(<)-/n)2<c(W + l)<52; (17) 71=0 постоянную с порядка 1 выбирают экспериментально. Как правило, левая и правая части условия (17) равны в точке ми- нимума /2(5)- Поэтому обычно вместо исходной задачи рассматривают задачу безусловной минимизации по А и s функционала Л' J2(A, s) = /2(s) + A(^>(z„) - fn)2 - c(N + 1)<52). n=0 Рис. 4.8.1 соответствует некоторому конкретному случаю приближения при N = 100 и с = 0,9. При каждом фиксированном А величина J(A) = infJ2(A, s) определяется с помощью решения системы линейных S уравнений. Для нахождения infJ(A) применяется какой-либо метод ми- нимизации функций одной переменной (см. гл. 7). Литература 1. Бабенко К. И. Основы численного анализа. — М.: Наука, 1986. 2. Бейкер Дж., Грейвс-Моррис П. Аппроксимации Паде. — М.: Мир, 1986. 3. Завьялов Ю. С-, Квасов Б. И., Мирошниченко В.Л. Методы сплайн-функций.— М.: Наука, 1980. 4. Стечкин С. Б., Субботин Ю. Н. Сплайны в вычислительной математике.— М.: Наука, 1976. 5. Васильев Ф. П. Численные методы решения экстремальных задач. — М.: Наука, 1980. 6. Васильев Ф. П. Методы решения экстремальных задач. — М.: Наука, 1981.
.-.-....Глава 5 =^= Многомерные задачи Вопросы приближения, интерполирования, численного интегрирования и дифференцирования функций одной переменной, как видно из предше- ствующего, разработаны достаточно подробно. В настоящее время на основе результатов теоретических исследований созданы довольно разви- тые системы стандартных программ решения одномерных задач. Значи- тельная часть результатов теоретических исследований для одномерного случая может быть перенесена на случай функций двух и более пере- менных; однако при этом могут появляться практически недостаточно эффективные методы. При теоретических построениях задачи разбивают на классы, напри- мер выделяют класс задач вычисления интегралов от функций с огра- ниченными производными, а затем проводят исследования, связанные с этими классами задач. Конечно, принимаемое описание не всегда (ско- рее даже редко) хорошо описывает класс реально встречающихся задач, однако скорости современных ЭВМ таковы, что, несмотря на грубость описания одномерных задач, удается решать большинство из них, поль- зуясь стандартными методами, разработанными в результате теоретиче- ских исследований. Трудоемкость решения задач резко возрастает с ростом их размерно- сти, и поэтому, как правило, не удается разработать стандартные методы решения широких классов многомерных задач со столь же высокой точ- ностью, как в одномерном случае. Несколько утешает следующее обстоятельство. Многомерные матема- тические задачи обычно возникают из описания сложных процессов. Обычно уже эти описания являются довольно грубыми, и поэтому зна- чительно реже предъявляется требование решения этих задач с такой же высокой точностью, как в одномерном случае. Например, требования к точности решения уравнений газовой динамики существенно ниже тре- бований, предъявляемых к решению уравнений баллистики и небесной механики. Не следует, однако, думать, что решение многомерных задач является почти безнадежным делом. Развитие теории методов решения многомер- ных задач и повышение скорости работы ЭВМ, несомненно, повлекут за
202 Глава 5. Многомерные задачи собой создание стандартных методов решения таких задач и, как след- ствие, снижение предъявляемых требований к квалификации пользова- телей. В настоящее время трудность многомерных задач требует, как правило, привлечения к их исследованию специалистов более высокой квалификации. В настоящей главе рассмотрены вопросы интерполирования, численно- го интегрирования и дифференцирования функций в случае нескольких пространственных переменных. § 1. Метод неопределенных коэффициентов Решение ряда многомерных задач часто сводится к решению следующих элементарных задач. Пусть в некоторой области s-мерного пространства G заданы точки Р1,....Рдг и значения функции f в этих точках. Требуется: 1) получить приближение к значению функции ф(Р); 2) получить приближение к значению некоторой производной Df функции в точке Р; 3) вычислить интеграл Л/) = [ f(P)p(P)dP, JG где р(Р) — некоторая весовая функция. Простейшим способом решения этих задач является многократно при- менявшийся нами в конкретных случаях метод неопределенных коэффи- циентов. Пусть из каких-то соображений известно, что функция f(P) хорошо приближается линейными комбинациями вида N ^=1 Потребуем, чтобы такая линейная комбинация совпадала с f(P) в задан- ных узлах, т. е. выполнялись равенства N ^B^p^f^), q=i,...,n. (1) J=1 Предположим, что det ||cjj(Pq)|| 0. Тогда матрица ||шу(Р9)|| имеет обрат- ную А = ||ajQ|| и решение системы (1) записывается в виде N Bj ~ ^^ajqf(Pq)- (2) 9=1 Функция N д(Р)=^В^^ j=i
§ 2. Метод наименьших квадратов и регуляризация 203 совпадает с функцией f(P) в точках Pq. Подставляя в предыдущее со- отношение Bj из (2), получим иное представление д(Р), а именно: д(Р) = где zq{P) = ^аз<1шАр)- № q=l 3=1 Такая форма записи интерполяционной функции является аналогом за- писи интерполяционного многочлена в форме Лагранжа. Как и в одно- мерном случае, можно надеяться, что при удачном выборе узлов Pq и функций Wj(P) будет мала погрешность в приближенных равенствах: /(F)«5(F) = £^F)/(F9), (4) 9=1 Df(P) ъ Dg(P) = ^Fz9(F)/(Fq), (5) 9=1 N (6) 9=1 где Cq = I(zq). Как отмечалось в гл. 2 для одномерного случая, при неудачном вы- боре большого числа узлов интерполирования погрешность приближен- ного равенства (4) может оказаться катастрофически большой. Посколь- ку приближенные равенства (5), (6) являются следствием приближенного равенства (4), то может быть большой и погрешность в приближенных равенствах (5), (6). Поэтому применение соотношений (4)-(6) требует об- основания и выяснения условий законности использования. § 2. Метод наименьших квадратов и регуляризация Как мы отмечали, применение описанного выше метода часто приводит к неудовлетворительным результатам. Повышение качества приближения может достигаться различными способами. Рассмотрим первый из них, называемый методом наимень- ших квадратов. Перенумеруем функции Wj(P) таким образом, чтобы меньшим значениям j соответствовали более гладкие функции. Прибли- жение ищется в виде п g(P) = ^Bj^P), з=1
204 Глава 5. Многомерные задачи где п N. Параметры Bj определяются из условия min Ф(д), #1 Jjn где, например, N Ф(9) = ф(в1; ..., вп) = Еа^) - Ж))2 = <7=1 (1) N / п \ 2 <7=1 \>=1 / В основе метода наименьших квадратов лежит следующее соображе- ние. Малость величины Ф(д) обеспечивает близость функций д(Р) и f(P) в точках Pq, при п <g. N функция д(Р) является линейной комбинацией относительно более гладких функций, поэтому у нее меньше возможно- стей отличаться от f(P) вне узлов по сравнению со случаем п = N. Числа pq > 0, называемые весами, подбираются в зависимости от плотности распределения точек Р(/. Если значения f(Pq) содержат слу- чайную погрешность, то pq выбирают также в зависимости от дисперсии погрешностей измеряемых значений. Там, где точки Pq распределены плотнее, числа р(, берутся меньше; значениям /(Д) с большей дисперси- ей погрешности ставят в соответствие меньшие значения рд. Такие реко- мендации выглядят довольно неопределенными, поскольку нельзя пред- ложить общего правила, пригодного для всех задач. Для конкретных классов задач принципы выбора pq и п — n(N) вырабатываются с уче- том специфических свойств задач на основе статистических критериев и численного эксперимента. Приравнивая нулю производные ЭФ/ЭВ;, получим систему линейных уравнений для определения Ву. 1 дФ Л' 2 = ЕХз'^' ~ Ф = О, (2) г У=1 N N dji — dij = ''PqU>i(Pg)ciJj(Pq), dj = q=l q=l Раскрывая скобки в (1), получим Ф(В1,..., Вп) = dijBiBj - гУДдДу + do, г, 3=1 3=1 где N do = ^yqtf^Pq))2- q=l
§ 2. Метод наименьших квадратов и регуляризация 205 Так как Ф(В15..., Вп) 0, то симметричная матрица D = Цф^Ц неотрицатель- на. В связи с этим в ряде стандартных программ метода наименьших квадратов для решения системы уравнений (2) используется метод квадратного корня. Иногда целесообразно искать Bj, непосредственно минимизируя Ф каким-либо итерационным методом. Выражая Bj из (2) через ф, а затем через f(Pq), получим N Bj = (-Pg); 9=1 следовательно, N g(P) = ^(Р)/(РЧ), (3) 9=1 где n Zq(P) — . Воспользовавшись (3), можно получить также формулу численного диф- ференцирования Df « Dg и квадратурную формулу /(/) « 1(g)- В основе метода регуляризации непосредственно лежат соображения о сглаживании аппроксимирующей функции. Наиболее распространенной формой метода регуляризации является следующая. Приближение отыс- кивается в виде п д(Р) = £В^(Р), У=1 а коэффициенты Bj выбираются из условия минимума выражения Ф(Л, д) = Ф(д)+М(д), Л > 0. (4) Функционал Ф(д) подбирается из следующего условия: если значение это- го функционала невелико, то функция д обладает определенной гладко- стью. Например, Ф(д) может быть некоторым приближением к интегра- лу |gradg(P) |2 dP. В приложениях часто используется случай, когда п = N, на котором мы далее и остановимся. Пусть минимум выражения Ф(Л, 9) достигается при некоторых В*,..., В^, и д\Р) = ^B^j(P). 3=1 Рассмотрим крайние случаи: Л = 0 и Л — очень большое число. Имеем равенство N / N \ 2 3=1 \з=1 /
206 Глава 5. Многомерные задачи' Если det ||иДР9)|| т^О, то система (1.1) имеет решение и на ее решении правая часть этого равенства обращается в нуль. В то же время выра- жение Ф(0, д) всегда неотрицательно. Таким образом, нижняя грань до- стигается на значениях Bj, являющихся решениями системы (1.1). Тогда д°(Р) совпадает с интерполяционным многочленом с узлами интерполя- ции Pj. При больших Л в функционале -Ф(Л, д) определяющим является второе слагаемое, нижняя грань которого достигается на гладкой функ- ции. Следовательно, есть какие-то основания ожидать, что при проме- жуточных значениях А функции дх(Р) будут гладкими и в то же время не очень сильно отличающимися от приближаемой функции в заданных узлах. Наши рассуждения выглядят довольно расплывчато, однако при такой общей постановке задачи приближения функции без конкретного указа- ния системы функций cvj, распределения точек Pq и класса рассматрива- емых функций вряд ли можно сказать что-либо определенное. Подобные грубые «физические» соображения часто помогают при конструировании новых методов решения задачи в условиях недостаточной информиро- ванности о самой задаче. Ниже на конкретном примере будет объяснена сущность эффекта, до- стигаемого за счет применения регуляризации. § 3. Примеры регуляризации Пусть fix) — действительная периодическая функция с периодом 1. Пусть известны значения fq величин f(xq) при xq = qh, q — 0,..., N — Р, Nh = l. Погрешности приближенных значений fq — f(xq) = dq — независи- мые случайные величины с математическим ожиданием, равным нулю, и дисперсией d2. Требуется получить таблицу приближенных значений производных f'(xq). Погрешность оценивается в норме, соответствующей скалярному произведению 7V-1 (J, 9) = ^fq9qh. q=0 Далее f(x) рассматривается как периодически продолженная функция. Для нахождения производной используем простейшую формулу чи- сленного дифференцирования f'(xq) « Dfq = (1) Предположим, что функция f(x) достаточно гладкая и шаг h настолько мал, что при отсутствии погрешностей в значениях функции погреш- ность формулы численного дифференцирования />,) « ^<44-1)-/(Ч-l) (2)
§ 3. Примеры регуляризации 207 пренебрежимо мала. Тогда погрешность в значении производной пред- ставима в виде = Л-н-A-i _= (Л + Z/l у "Л- / Обозначая математическое ожидание знаком М, имеем равенство /W-1 , , , \2\ M\\Rq\\2 M\\rq\\2 = М \Yh = \<7=0 4 7 / = т Е + Md2_^. q=0 Соглсано указанным выше свойствам случайных величин dq, имеем Mdqdp = d2Sqp. (3) Таким образом, 7И||7?9||2 = №<72/2, т. е. среднеквадратичное значение нор- мы погрешности равно Nd/\/2. Мы видим, что погрешность приближен- ной формулы (1) возрастает с уменьшением h = 1/7V; в то же время для малости погрешности в предположении отсутствия погрешностей в исходной информации (2) требуется достаточная малость h. Чтобы выяснить пути уменьшения погрешности, проведем более детальное исследование. Пусть .4° — дискретные коэффициенты Фурье (ДКФ) функ- ции f(xq): f(xq) = А° ехр{27гужв}, -N/2<j^N/2 a Aj — ДКФ функции fq. Величины = Aj — А® будут ДКФ функции dq = Л - Имеем d<i = Е aJ (4) -N/2<j^N/2 N—1 aj = h ехр{—27rijx9}. 5=0 Чтобы вычислить ДКФ для rq, применим оператор численного дифференци- рования D к функции ехр{2тг1jxq}i Применяя оператор D к обеим частям (4), получим Eisin27ij/i г„ .. Л ----------------aj ехр{2тгцз:9}. -N/2<j^N/2
208 Глава 5. Многомерные задачи Из равенства Парсеваля II l|2 (sin(27rj/i)\ 2 IkeII = > . I——) Ы -N/2<3^.N/2 ' следует, что Wel|2= £ /sin(^)y M\a^. -N/2<j^N/2 ' ' Имеем JV-l |и, |2 = a/l, = h2 E dqdj,exp{2-nij(xp — a;,)}; e,p=o мы заменили dp на dp, воспользовавшись тем, что dp действительны. Таким образом, N-l N—1 М|ал|2 = h2 Е ехр{2тгу(з:р — a:g)}M(dgdp) = h2 Е = ^2 д,р=О q, р=0 И «IWI2= Е С^У'*)-)2^. (5) -N/2<j^N/2 ' ' Возьмем некоторую функцию /i(j) и положим f'£(z) = Е Л°/г0')ехР{27ГУ2;}, -N/2<j^N/2 = Е Ам(»ехр{27гцх,}. -N/2<j^N/2 При заданных значениях /д можно вычислить коэффициенты Aj, а следова- тельно, и величины f *£. Пусть г*£ — составляющая погрешности формулы чи- сленного дифференцирования, являющаяся следствием погрешностей dq: r»=Df»-Df>\Xq). Аналогично (5) имеем w<= Е Pin(yjA)y s^hd2. ~N/2<j^.N/2 ' ' Если Df{xq} я М\\т^||2 « М||г9||2, (6) то имеет смысл положить D(xq) ps Df^. Для выполнения первого из соотно- шений (6) существенна близость коэффициентов Фурье функций f (х) и //£(х); для выполнения второго — малость ц(/) при больших j, т. е. определенная глад- кость /(я).
§ 3. Примеры регуляризации 209 Попробуем прибегнуть к сглаживанию функции при помощи мето- да регуляризации. Рассмотрим функционал Ф?(Л, 9) = ftEta - !,)2 + 9=0 9=0 4 7 где 9N = до- Если gq являются значениями g(xq) гладкой функции д(х), то величина IV—1 / х 2 hy ( 9<Ж-М <i=o х 7 стремится к интегралу / (g'(x))2dx. Условие, что этот интеграл неве- ./о лик, гарантирует определенную гладкость функции д(х). Таким образом, есть какие-то основания считать, что функционал Ф^(А, д) удовлетворя- ет требованиям, накладываемым на функционалы метода регуляризации. Определим сеточную функцию д* из условия минимума функционала Ф1 (А, </) и положим f'(xq) « (sj+1 - gq_i)/(2h). Посмотрим, что является аналогом такой регуляризации для случая функций непрерывного аргумента. Пусть /(ж) = Л°ехр{2тгул} j=~<x> и 91 — функция, реализующая минимум функционала Ф1(А, д) = [ (д(х) - /(ж))2 dx + X2 [ (д'(ж))2 dx. Jo Jo Уравнение Эйлера для этого функционала записывается в виде AV-(9-/) = 0. Непосредственной проверкой убеждаемся, что функция оо у|0 91Лм= У 1Т(й^<!Хр{2’гУз:} является решением этого уравнения. Произведем сравнение д^(х) и f(x) Для малых А. Если |2Atfj| « 1, то коэффициенты Фурье этих функ- ций А®/(1 + (2Атгу)2) и А® близки между собой. Если |2Attj| 5> 1, то коэффициенты Фурье функции д*(х) много меньше коэффициентов Фу- рье функции f(x). Таким образом, на языке техники регуляризация рав- носильна некоторой «фильтрации»: несущественно искажая гармоники с
210 Глава 5. Многомерные задач*' малой частотой колебания, она сильно ослабляет гармоники с большой частотой. Если требуется еще меньше исказить амплитуды А® гармоник с малой частотой и лучше «отфильтровать» высокочастотные колебания, то можно рассмотреть функционал Ф»(А, д) = [ - f (т))2 dx + А2" [ (5(п)(ж))2 dx. Jo Jo Уравнение Эйлера для этого функционала имеет вид А2^ + (-1)”(5-/)=0, отсюда оо ло = £ Г772М)2УеХр{27гЬа'}- j=-oo ' Рассмотрим графики множителей 1/(1 + (2Атгу)2п); при ]j| < 1/(2тгА) и п —> оо эти множители стремятся к 1, и, таким образом, при больших п амплитуды соответствующих гармоник искажаются все меньше и меньше. В то же время при |j| > 1/(2тгА) эти множители стремятся к 0 и, таким образом, соответствующие гармоники умножаются на все меньшие множители (рис. 5.3.1). Таким образом, при п —> оо и 1/(2тгА) не целом 9п(х) -> 9А(ж) = 52 Л°з (;хр{2тгг/.т}. В|<1/(2тгА) Вернемся к дискретному случаю. В выражении Ф(‘ (А, д) величина gq входит только в сумму слагаемых h(gq - fq)2 + X2h((gg+1-- ggY+ (9lJ
§ 3. Примеры регуляризации 211 Имеем систему уравнений относительно значений дд в точке экстремума: 1 А2 -м - h^g“+1 - 2д«+д^ = °- (7) £fb Oyq ib Будем обозначать решение (7) через дд. Матрица системы уравнений (7) от- носительно неизвестных дд совпадает с матрицей положительно определенной квадратичной формы N-l д=0 9=0 поэтому ее определитель отличен от нуля, и система (7) имеет, и притом един- ственное, решение. Пусть /<? = 52 Л-ехр{2тгуж9}. -N/2<j^N/2 Будем отыскивать периодическую функцию в виде 9q = 52 A^exp{27rijs9}. -N/2<j^N/2 Сначала вычислим оператор второй разности d2fq — fq+i — 2fq + от функции exp{2wiya;Q}: ё2 exp{27rijTQ} = exp{2wijTQ+i} — 2ехр{2-гыут9} + exp{27rij:EQ_i} = = [exp{27rij/i} — 2 + exp{—2wij7i}] exp{2wijT<7} = = (2 cos(2ttj7i) — 2) exp{27rija;Q}; отсюда получаем ё2 ехр{2тпу.-гг;} = —4sin2(7rjTi) ехр{2тгут9}. (8) Подставим представление fq и gq в виде суммы Фурье в (7), преобразуем вторую разность 62gq с учетом (8), приведем подобные члены и получим 52 fAj ~ Aj’• + 4Л2 А А^ ехр{2тгу.т9} — 0. -N/2<j^.N/2 \ ' ' / Это равенство будет удовлетворяться при Г / 2-i -1 л А л •. <>2 I sin(wj7l)\ А; = А, 1 + 4Л2 —v ' J \ h J Таким образом, 9д = 52 --------у—2 2exp{27rijxq}. -N/2<j^N/21 +4Л2
212 Глава 5. Многомерные задачи [2Т — -I 1 +4Л2 (8in^j,t). убывает с ростом j. Следовательно, ре- гуляризация с использованием функционала Ф1(Л, д) также приводит к ослаблению высших гармоник функции. ‘ По аналогии с функционалами ФП(А, д) можно осуществлять регуля- ризацию с помощью функционалов <7=0 Q=0 ' ' Решение системы уравнений (7) и систем линейных уравнений, возни- кающих при минимизации функционалов Ф('(А, д), можно получить за O(n2TV) арифметических операций методом прогонки решения периоди- ческой сеточной краевой задачи (см. гл. 9). По сравнению с регуляризацией с помощью функционалов Ф^(А, д) при п > 1 часто бывает более удобна п-кратная регуляризация с помо- щью функционала Ф^А, д). § 4. Сведение многомерных задач к одномерным Выше рассматривались способы решения многомерных задач, не требу- ющие дополнительной информации о распределении узлов xi,..., тдг, в которых известны значения функции. Такие способы применяются в слу- чае, когда отсутствует возможность распоряжаться выбором узлов. Если рассматриваемая функция зада- н на аналитически, то узлы можно выби- ; • рать по желанию. При удачном распо- ; • • ложении узлов приближение, интерполи- • ; • • рование, численное дифференцирование и : интегрирование функций многих перемен- ных могут быть сведены к последова- Рис. 5.4.1 тельному осуществлению этих операций над функциями одной переменной. „Рас- смотрим случай расположения узлов, изображенных точками • на рис. 5.4.1. Здесь множество всех узлов Q разбивается на подмножества узлов Qi,..., Qmi (в данном случае mi =5), лежащих соответственно на прямых xi = ж|,..., xi = х™1. Рассмотрим задачу вычисления значения некоторого оператора W(p°) = /(п’Г2М, ж°). Точка (ж®, ж®) на рис. 5.4.1 изображена символом о. Частный случай Г1 = T2 — 0 соответствует задаче вычисления значения функции.
213 §4. Сведение многомерных задач к одномерным Возьмем какую-либо формулу вычисления производной <7^Г1На1) по значениям функции в узлах ж]1: 7ТЦ jl=l (1) при этом не имеется в виду, что используются значения функции д во всех точках х3± . Например, в случае численного дифференцирования речь может идти о простейшей формуле численного дифференцирования по ближайшим к х® двум узлам. Подставляя g(a'i) = ж^), получим mi f(r'-”4x°, х°2) » £ !«) Д=1 (точки (ж™1, ж2) изображены на рис. 5.4.1 символом *). Задача численного дифференцирования функции двух переменных /(жд, Тг) свелась к задаче численного дифференцирования функций /(ж™1^) одной переменной. Такая задача уже рассматривалась ранее. Пусть (ж™, ж™1), • , (ж’", х™,п(т^ — узлы, образующие множество Ят. При каждом ji возьмем некоторую формулу вычисления производ- ной g^fx®) по значениям функции в узлах х?132: 9<Г2)(4) « 32~ 1 Подставляя сюда д — /(ж]1, ж'2), аналогично (1) получим f^r2\x{\ ж°) « £ AJlj2f(x{\ х*32). (2) .72-1 Воспользовавшись этими соотношениями, из (1) получаем 7П1 «(ji) Е А.дй, ддД jl = l J2=l Заметим, что формулу (2) нужно строить лишь для значений ji та- ких, что Aj± 0. Наиболее часто узлы располагаются в узлах некоторой сетки, являю- щейся произведением одномерных сеток Я = Я1 х - - х Я8, (3)
214 Глава 5. Многомерные задачу иначе говоря, Я состоит из точек (а^1,..., x3ss) при — 1, js = 1,..., Ns. В случае расположения узлов в вершинах такой сетки та же формула численного дифференцирования получится, если поменять местами численное дифференцирование по Переменным ад и Х2, т. е. сна- чала получить некоторую формулу а°) « £ х^, ТП? а затем воспользоваться формулой /‘’’"'М, 4">) « х’^). mi Численное дифференцирование (интерполирование) функций большего числа переменных производится аналогично последовательным сведением к численному дифференцированию функций на единицу меньшего числа переменных. При численном дифференцировании функций многих переменных нужно особенно следить за величиной отбрасываемых остаточных чле- нов. Рассмотрим, например, задачу, где применение описанного выше приема последовательного численного дифференцирования может при- вести к получению неправильной формулы. Пусть значения функции /(яд, ад) известны в узлах сетки (mi/ц, тг^г)- Требуется вычислить зна- чение /Х1Х2(0, 0). Выпишем простейшую формулу численного дифферен- цирования функции одной переменной \ ~ Ла + Л1) - /(ж) По формуле Тейлора h2 f(x + h) = /(а) + f'(x)h + /"(а + 0h)0 0 1, имеем fl( л + h) - /(я) „ h f ( ) =--------h--------* (3: + eh)2- Поэтому можно написать, что f /л гц _ ЛггР1!? 0) — /х2(0, 0) г in, * /дх /цхгСО, °) - ---------------------Jxlx2(Gh^ °)у- (4J В свою очередь, возьмем какие-либо аппроксимации производных /х2(^1> 0), /Ж2(0, 0). Имеем равенства: f (h m - °) _ f (h a h \1Л ./гс2(“1, U) — Jxix2 {^,0^2) — , (0) fl2 2 f.r2(0, 0) = /(0?-0) /(0, h2} + fxlX2(0, 02h2)^. (6) n,2 2
§ 4. Сведение многомерных задач к одномерным 215 После подстановки (5), (6) в (4) получим . mm- - К111' Q) ~ /(Q’ Q) + /(Q’ ~/t2) - hlX2^ U) ~ hrh2 (7) - f^h,, 0)^ - |/Ж2Ж2(0, №) - |/a-2a-2(Ai, №). Здесь при построении формулы численного дифференцирования одновре- менно учитывался остаточный член. Соотношение (7) можно переписать в виде zn ™ /(A,/l2)-/(Ai,0)-/(0,0) + /(0, -Л2) ]х'хЛ ' U' " /1х/12 - А2х2(0, 0) + 0(h), h = max {Л1; /г2}. Таким образом, если бы мы не обращали внимание на величину погреш- ности аппроксимации, то получили бы приближенную формулу с конеч- ной погрешностью Л (0 0) ~ /(A, h2) - f(hu 0) - /(0, 0) + /(0, -h2)> XlX2 ' h}h2 в данном случае аппроксимирующую не требуемую производную, а вы- ражение А1Х2(0, 0) + /Х2Х2(0, 0). Если в (5) и (6) использовать одни и те же формулы численного дифференцирования по переменной х2, то вместо (7) получается формула с погрешностью, стремящейся к нулю при h —> 0. Например, вместо (6) воспользуемся равенством , m m _ Ж h2) - f (0, 0) h2 Ja:2(0, 0) — /х-2Ж2(0, 0зН2) . (8) fl2 I После подстановки (5) и (8) в (4) получим г /П па_Л/1ь/12)-/(/ц, 0)-/(0, Л2)+/(0,0) Jx 1X2 и/ — \ I—----------------- П1П2 - fxlx.2(Ohu 0)^ - |а2.Т2(/ц, 6Ah2) + |А2Ж2(0, №). Если производная /Х2Х2 непрерывно дифференцируема в окрестности на- чала координат, то 2/Х2Х2(0, 6зк2) - |/Ж2Х2(/и, 6ih2) = O(h); поэтому f io m- /(,11>/12)-Л/и,о)-/(о,/12) + /(о,о) Ja.ia.-2 и7 — j j г m/i2 Мы получили, что формула численного дифференцирования Ai.2 (0, 0)-----------------—----------------- (9) имеет погрешность O(h).
216 Глава 5. Многомерные задачи. Покажем, как получить формулу (9) методом неопределенных коэффициентов. Зададимся видом формулы численного дифференцирования , Гпп)~ИЛ a,f(hi,h2) + bf(hi,0)+cf(0,h2) + df(0,0) U) « 1(f) = ----------------. (10) Такой вид правой части выбран из соображений размерности. Пусть [ж] — обо- значение размерности некоторой величины; например, если х — скорость, то [ж] = м/с. Производная fX1x2 имеет размерность [/]/([яд] [-т2]), функция / — размерность [/], hi —размерность [яд], h2 — размерность [ж2]. Таким образом, величины /(jP)/(/ii/i2) имеют ту же размерность, что и поэтому есть основание ожидать, что в разумной формуле численного дифференцирования (10) коэффициенты a, b, с, d будут безразмерными величинами, не зависящи- ми от шагов сетки. Положим R(f) = /:ciz2(0, 0)—Z(/). Выпишем разложение Тейлора для f(xi, х2) относительно точки (0, 0) с точностью до членов второго порядка: /(^1, х2) = Р2(яд, x2)+r(f), Р2(ху, х2) - /(0, 0) + яд А ДО, 0) + т2/Ж2(0, 0) + + 0) + т1т2/:С1а:2(0, 0) + |ж1Л2Ж2(0, 0). В предположении, что f трижды непрерывно дифференцируема, можно по- казать справедливость соотношения (г(/))Ж1 *2|(о,о) = 0 и г(/) = O(h3) в узлах сетки, входящих в выражение 1(f). Поэтому в предположении, что а, Ь, с, d = 0(1), имеем R(f) = R(P2) + R(r) = R(P2) - O(h3)/(hih2). Если R(P2) = 0 и hi, h2 одного порядка, то R(f) = O(h) и формула числен- ного дифференцирования (10) имеет порядок 0(h). Выражение R(f) является линейным функционалом от функции /, поэтому R(P2)'= 0 для любого мно- гочлена Р2 второй степени, если Z?(l) = R(xi) — R(x2) — R(xf) = R(xix2) = R(x%) = 0. Получаем систему уравнений R(l) = —(а + b + с + d)/(hih2) = 0, R(xi) = -(d + b)/h2 = G, R(x2) = — (d + c)/hi = 0, R(x^) = —(d + b)hi/h2 = 0, /?(я:|) = — (d + c)h2/hi = 0, Т?(ада:2) = 1 — d = 0. Эта система шести линейных уравнений с четырьмя неизвестными имеет ре- шение а = d = 1, Ь = с = — 1, соответствующее приближенной формуле (9).
(; 4. Сведение многомерных задач к одномерным 217 Точно таким же образом строятся формулы численного интегрирования. Пусть вычисляется интеграл То = У №1, • •, У*) dyi ... dys. Его можно представить в виде То = / h(Vi)dyi, h(.yi)= h(yi, y2)dy2, JGo JGi(yi) Т2(У1,У2)= hkyi, Ij2,y3)dy3,..., JG2(yi,V2') Is-i(yi,---, ys~i) = ys)dys. Здесь Is(yi, - - -, ys) = f(yi,---, Vs), Go—проекция области G на ось Gkkvti • - -1 У к) ~ сечение множества G плоскостью у у = yi,, Ук = Ук- Вос- пользуемся какой-либо квадратурной формулой для вычисления первого из этих интегралов /о~ 7711 — 1 Задача вычисления исходного интеграла свелась к вычислению интегралов раз- мерности, на единицу меньшей. Полагаем теперь n2(mi) W1)^ Е Dm^I2(y^,yn21^), ms-i) ms=l В итоге получаем (П) То щ ns(jni) Ес'"‘ £ (12) В одномерном случае для всех операций численного анализа были получе- ны оценки погрешности через производные рассматриваемой функции. По- смотрим, какие оценки погрешности являются следствием этих оценок для многомерных задач. Значение некоторого оператора от функции приближа- ется значениями других операторов, причем погрешность этой замены можно оценить согласно формулам оценки погрешности одномерных формул. Одна- ко эти новые значения сами уже содержат погрешности, поэтому в суммарную погрешность эти погрешности войдут с некоторыми множителями.
218 Глава 5. Многомерные задач? Обратимся к задаче интегрирования. Пусть Д-Ц2/1 ) = TOk-i) TOfc=l Последовательно подставляя в равенство ?ч Го= ^DmiWni) + E° 7711 — 1 выражения Д, 1%, • • -, получаем цепочку соотношений П1 I0 = E°+ Y/DmiW1) = 7711=1 П1 / П2(П21) \ = Е° + 52 № Е^ + 52 Ет1т2ЫУ111, У21"12) = •• Ш1=1 \ 7112=1 / 711 /П2(т711) =R+ I 52 77rai”l2x mi=l \ 7712 = 1 \ \ \ --[ 52 > \ m,=l / / / где Щ П1 П2(Ш1) R = E° + E DmiE* + У Dmi У + • • / ,li'l f -j f j '14 >'12 mi=l mi=l 7/12=1 Tll n2(mi) ne_i(mi,...,ma_2) •+ E25”11 E E E^-m^E^ms_2. (13) Ш]=1 7712 = 1 ms —1 = 1 Из последнего равенства видно, что погрешность аппроксимации может ока- заться существенно больше, чем в одномерном случае, если коэффициенты — большие. Формально сведение многомерной задачи к одномерной имеет одинаковый ха- рактер и в случае задачи численного дифференцирования (интерполирования), и в случае численного интегрирования. Однако между этими задачами есть такое существенное различие: задача численного дифференцирования (интер- полирования) чаще ставится как задача нахождения оператора от функции по значениям на некоторой заданной совокупности узлов Q. Для задачи ин- тегрирования более типичной является возможность распоряжаться выбором узлов. При осуществлении многомерных операций численного дифференциро- вания (интерполирования и интегрирования) функций, заданных на сет-
219 14- Сведение многомерных задач к одномерным ке, являющейся произведением одномерных сеток, разумно использовать одинаковые формулы для аппроксимации промежуточных величин. Име- ется в виду, что, например, формулы (11) должны иметь вид Nk EDtkW‘.»?). (и) т. е. и у™к зависят только от тк. Правая часть (12) тогда при- обретает вид TVi Ns Е Е mi=l ms = l При построении такой квадратуры мы неявно предполагаем, что область интегрирования — прямоугольный параллелепипед с ребрами, параллель- ными координатным осям. Такие формулы численного интегрирования (интерполирования, диф- ференцирования) называют прямым произведением соответствующих од- номерных формул численного интегрирования (интерполирования, диф- ференцирования) . В § 11 будет приведен более сложный пример прямого произведения квадратуры по отрезку на квадратуру по сфере. В случае применения таких аппроксимаций так же, как при вычислении производной /Х1Х2 по формуле (9), оказывается, что некоторые составляющие погрешности ап- проксимации компенсируются. В случае задачи интегрирования возможна такая ситуация: при гладкой по- дынтегральной функции может оказаться, что промежуточные интегралы Л(У1,. -., у к) не обладают достаточной гладкостью. Пусть вычисляется интеграл по единичному кругу г1 / г\Л—\ 1= / / ,__f(yi, Уъ)<1у2 ] Фп J-1 \J-V^l J при гладкой функции /(yi, уг)- Если /(±1, 0) 0, то функция rV1-^ 11(,У1)= ,____f(yi,y2)dy2 j-v^ имеет неограниченные производные в точках ±1 и поэтому при численном ин- тегрировании по переменной yi следует использовать специальные приемы вы- числения интегралов от таких функций — переменный шаг интегрирования, в частности интегрирование с автоматическим выбором шага, выделение особен- ностей и т. д. Целесообразнее записать этот интеграл в виде rl г2?г I— I rli(r)dr, Yi (г) = / f(r cos <р, г sin 92) dtp, Jo Jo
220 Глава 5. Многомерные задачи где все подынтегральные функции уже гладкие. Подынтегральная функция внутреннего интеграла периодическая, поэтому имеет смысл применять ква- дратуру (3.5.7) Задача 1. Функция задана в узлах сетки (mi/ц, ms/i?). Построить фор- мулы с погрешностями аппроксимации O(h% + h^), O(hj + Z>4) Для вычи- сления значения /г2(/?.1/2, 0). § 5. Интерполяция функций в треугольнике При решении уравнений в частных производных вариационно-разностны- ми методами возникает следующая задача. Имеется некоторый треуголь- ник А, каждая сторона которого разбита на I равных частей, и через точки разбиения проведены прямые Lq, параллельные сторонам треуголь- ника. Стороны треугольника также будем относить к множеству пря- мых Lg. Обозначим через Q множество, состоящее из точек пересечения этих прямых, лежащих в замкнутом треугольнике А. (Таким образом, Я включает также точки разбиения сторон треугольника и вершины тре- угольника.) Число таких точек равно п = 1+2-1 1-(Z-T1) = (Z+1)(Z+2)/2. Будем обозначать их через Qi(arj, х\), • • •, ®”)- Ставится задача построения многочлена степени Z F(.ti, ж2) = a„lim2a-"lla-2n2, выписать искомый многочлен принимающего в этих точках х^) заданные значения P(tJi, х%) = fj, j = 1,..., п. (1) Число неизвестных коэффициентов amim.2 также равно п, и, таким образом, соотношения (1) образуют систему п уравнений с п неизвест- ными. Если система (1) разрешима, то из нее могут быть найдены коэф- фициенты от1?П2. Для их нахождения не обязательно прибегать к опи- санному выше варианту метода неопределенных коэффициентов, а можно F(.t) в явном виде. Возьмем некоторую фиксированную точку Qj. Можно показать, что среди прямых Lg имеется ровно Z прямых, удовлетворяющих следующему усло- вию. Существует не более одной вер- шины треугольника такой, что Qi и эта вершина лежат по одну сторону от такой прямой. При этом оказыва- отличная от Qi, лежит на одной из таких прямых. На рис. 5.5.1 эти прямые обозначены жирными линиями. Рис. 5.5.1 ется, что каждая точка из Я,
§ 5. Интерполяция функций в треугольнике 221 Пусть т2) = 0,..., х2) = 0 —уравнения этих прямых, функция является многочленом степени I, равна 1 в точке Qi и 0 в остальных точках Qi- Поэтому многочлен степени I п х2) = ж2) 3 = 1 будет искомым. В случае, когда fj — f(xJ}, х^) при всех j, многочлен F(ti, т2) будет интерполяционным многочленом по отношению к функции /(жх, т2). Задача 1. Показать, что значения многочлена F(t1, ж2) на каждой из сторон треугольника зависят от значений fj, соответствующих точкам Qj этой стороны. Задача 2. Пусть Н — это длина максимальной из сторон треугольника Д, fj — / — некоторая гладкая функция, Mi+i = max max /^1,Г2\®1, ж2) , Г1+г-2=1+1 л Г 1 а — наименьший из углов треугольника. Получить оценку тах|/(ж1, ж2) - Р(х1} ж2)| С{1, a)Mi+,Hl+l, где С —постоянная, зависящая только от I и а. Задача 3. При выполнении условия задачи 2 для 0 < щ + r2 I + 1 получить оценку пшх|/(г1’Г2)(т1, ж2) - F(ri’r2)(T1, ж2)| С(1, щ, г2, а')М1+1Н1+1~Г1~Г2. Задача 4. Исследовать поведение постоянных С(1, а), С(1, п, г2, а) при о —> 0 в задачах 2 и 3 соответственно. Описанный способ интерполяции широко используется при приближе- нии функций двух переменных. Область G, где приближается функция, разбивается на треугольники с достаточно малой максимальной стороной. В каждом треугольнике функция приближается соответствующим интер- поляционным многочленом Р(х\, ж2) степени I. Если разбиение устроено так, что вершина одного треугольника не может быть внутренней точ- кой стороны другого треугольника, то полученная таким образом при- ближающая функция будет непрерывна в G (справедливость последнего утверждения следует из решения задачи 1).
222 Глава 5. Многомерные задачу В связи с неограниченным ростом постоянных C(l, ri, г2, ПРИ а —> О (см. задачу 4) разумное разбиение области G не должно содержать треугольников А с очень малыми углами. > Задача 5. Построить аналог описанного выше для задачи интерполяции функции в тетраэдре. способа интерполяции Замечание. В случае, когда две стороны треугольника или соответствен- но три ребра тетраэдра направлены вдоль координатных осей, интерпо- лирующий многочлен может быть явно записан также с помощью аппа- рата разделенных разностей для функций многих переменных. § 6. Оценка погрешности численного интегрирования на равномерной сетке Произведем конкретную оценку погрешности численного интегрирования в случае двукратного интеграла от дважды непрерывно дифференциру- емой функции 1= / / x2)dxidx2. Jo Jo Запишем исходный интеграл как повторный: 1= / Ii(xi)dxi, (1) Jo где Л(«1) = / f(X!,X2)dx2. Jo Обозначим . 192f\ Ak = max -x-o 0^xi,x2^l j (JXfc j Применим для вычисления интеграла (1) составную формулу трапеций с постоянным шагом разбиения Hi — 1/М: /s -s«.= 2„, X N| - л=1 Поскольку a2/i(rri) r1d2f(x1,x2), ar? =/„ ar? dx2’ TO | Э2^1(Ж1) I . 1 I*41'
§ 6. Оценка погрешности численного интегрирования 223 Поэтому при Е° = I — 5^,, согласно оценке погрешности составной фор- мулы трапеций (3.8.8), имеем |£7°| < Л/(12^2). (2) Для вычисления интегралов Д(Д/Л^1) применим составную формулу тра- пеций; имеем т (ji \ с Ж/М, 0) + Ж/М, 1) , Г1 Ял/Ж Ш N2\nJ 2N2 n2 72 = 1 Для погрешности = Ш/Ж - Ж(л/Ж согласно (3.8.8) имеем |^|^а2/(12^2). (3) Подставляя Д(л/М) — Ejj+Swtiji/Ni) в равенство I = E°+Sn1, получим цепочку соотношений ЖЖЖ(Ж) + 4,) ^Ж(л/Ж + < 1==Е + -----------+ X---------------=sN1N.1+r, 1 л=1 1 где SwiN-2 - Ж(0) + Ж(1) 2М + 2^ -ЗЖл/М) 71-1 R = E° , El+Ek . Vе', 2М + М ' 71 = 1 (4) Выражение S^1^2 является квадратурной суммой, вычисляемой по значе- ниям функции / в (ЛГ|+1)(Лг2 + 1) точках falN-i), R — погрешность численного интегрирования. Из (4) следует оценка \R\ |£?°| 4- шах |2Й |, и вследствие (2), (3) имеем |Я| < ^/(12^) + Л2/(127У22). При Ni = N2 = п получаем, что |Л|^(Л1+А2)/(12п2), (5) и по отношению к общему числу узлов интегрирования N = (Ni + 1) х (N2 + 1) = (n+ I)2 погрешность имеет порядок O(N~l).
224 Глава 5. Многомерные задачи Предположим, что требуется гарантия, чтобы погрешность не превос- ходила е. Для этого достаточно выполнения неравенства Ai/(12N?) + A2/(12N%) ^е. (6) Если Ai и А2 отличаются несущественно, то можно взять Ari = N2 = п и исходя из оценки (5) определить минимальное п из условия (А1 + А2)/(12п2) Если же Ai и А2 различаются существенно, то имеет смысл затратить время на минимизацию вычислительной работы, т. е. искать ЛГ| и N2, минимизирующие (Ni + 1)(TV2 + 1) при условии Ai/(12N*)+A2/(12N$)^e. Обозначим через Cr(A) = Cri,...,r,(Ai, , Ль.) класс функций, у которых в рассматриваемой области определения производные / , к = 1,..., s, непре- рывны, а производные (xi,..., xs) кусочно-непрерывны и удовлетворяют условиям \fx^(x1;..., ts)| < Ак. Задача 1. Пусть для вычисления интеграла /(жъ..., ...dxs применяются составные формулы точности O(N^'k) по каждой оси, где TVfc — число узлов, соответствующее направлению хк. Получить оценку по- грешности (А: \ • (7) 1 / Минимизируя оценку (7) при заданном общем числе узлов Ni,..., Ns = TV, получить оценку погрешности O(7V~’), 1/r = l/n + • • • + 1/гя. Рассмотрим частный случай: г± = • — rs = го, Ai — • • = As = Aq. То- гда 1/r — 1/tj 4- • + l/rs = s/tq. Таким образом, рассматриваемые квадра- туры обеспечивают оценку погрешности O(A07V~r0/s). У реальных подынте- гральных функций порядок ограниченных производных т часто оказывается не очень большим, поэтому при больших s, как показывает полученная оценка, скорость сходимости оказывается плохой. Возникает вопрос об оптимальных квадратурах на классах многомерных функ- ций. Так как ни для каких реальных классов функций такие квадратуры не- известны, ограничимся оценкой снизу погрешности оптимальных квадратур.
§ 7. Оценка снизу погрешности численного интегрирования 225 § 7. Оценка снизу погрешности численного интегрирования Напомним постановку задачи оптимизации квадратурных формул на классе функций. Пусть приближенное значение интеграла вычисляется по формуле Г N ЦП = / f(P)p(P)dP « SN(f) = ^Djf(Pj). Jg Величина RN(f) = 1(f) ~ SN(f) называется погрешностью квадратуры, величина Rn(P) = sup |7?лг(/)| fGF — погрешностью квадратуры на классе функций F, величина WN(F) = inf RN(F) Dj , Pj — оптимальной оценкой погрешности квадратур на классе F; квадратура (если такая существует), на которой эта нижняя грань достигается, на- зывается оптимальной. Мы будем предполагать выполненным условие: существует некоторый куб Д G G, в котором р(Р) у > 0. Теорема. ИдфСДА)) d(A, г, A)yN~r, где d(A, г, А) > 0, г = (rf1 + ••• + Доказательство теоремы осуществляется следующим образом. Будет по- казано, что для любой совокупности узлов Pl, , Р]у можно построить функцию fp1,...,pN(P) рассматриваемого класса СГ(А), обращающуюся в нуль во всех этих узлах и такую, что 1(f) d(A, г, A)^N~r. При этом постоянная d > 0 не зависит от точек Pi,..., Р^. Тогда для любой ква- дратуры с этими узлами N RN(Cr(A)) > = у=1 = \I(fP1,...,PN)\^di(A, г, А)7А~Л Величина R^(Cr(A)) оценена снизу постоянной, не зависящей от уз- лов квадратур Pj и весов Dj, поэтому и ее нижняя грань Wn(СГ(А)) по множеству всевозможных квадратур также оценивается снизу этой постоянной d(A, г, А)7А~Г. Таким образом, доказательство теоремы сво- дится к построению соответствующей функции fplf...,pN(P) для каждой совокупности точек Pi,..., Р^. 8 903
226 Глава 5. Многомерные задач;; 1. Построение такой функции (F) / \ и доказательство утверждения теоремы / у-<р(х) для простоты будут проведены для случая / \ г = (1,..., 1), Ах = • = As = Ао, т. е. для / \ класса непрерывных функций с кусочно- ---► непрерывными производными df /дх-j, огра- ниченными по модулю ПОСТОЯННОЙ Aq. Рис. 5.7.1 Для простоты выкладок будем прово- дить построение для случая, когда Д — единичный куб 0 Xi 1, i = 1,..., s. Положим п = [(27V)1/5] 4- 1 и разобьем куб Д на ns прямоугольных параллелепипедов ПП11..1Пг. : (ns — l)/n хк пк/п, 0 < п, к = 1,..., s. Пусть (см. рис. 5.7.1) ч ( 0 <р(х) = < 7 1 1 - 2|ж - 0,5| при при х 0 или О ж 1. 1, Из определения п следует, что (2N)X/S < п 2(2N)X/S. поэтому 2N ns2s+lN. (1) Построим функцию .,Цд,(Р) = /о(-Р) следующим образом. В тех параллелепипедах ПП1)...>Пг., которые не содержат внутри ни одной из то- чек Рх,..., F,, положим A s = (2) п k=i Во всех остальных параллелипипедах положим fo(P) = 0. Функция fo(P) согласно своему определению непрерывна в каждом параллелепипеде ПП1>...;Пз и обращается в нуль на его границе, поэтому она непрерывна в Д. В точках, где функция fo(P) дифференцируема и отлична от 0, имеем = ф/(пТ1 - (ni - 1)) ГТ <р(пхк - (пк - 1)). ОХ 1 Z ж 1 к=1 Поскольку |<р| 1, |<Д| 2, то |5/о/^жх| Ао- Точно так же получа- ем оценки \dfo/dxk\ Ао, к = 1, 2,..., s. Согласно построению функции /о(Р) производные dfo/dxk могут иметь разрывы лишь в точках плос- костей хк = m/(2n), где тп — целое; поэтому функция /о(-Р) принадлежит рассматриваемому классу. Из ее построения также следует, что она обра- щается в нуль со всеми производными во всех узлах Рх,...,Р/у. Оценим снизу значение Воспользовавшись неравенством р(Р) 7, после замены переменных хк = (пк — 1+ук)/п получим цепочку
§ 7. Оценка снизу погрешности 227 соотношений A S / р(жь • • •, xs) уXJ <р(пхк - (пк - 1)) dxi... dxs Jnni.ns Zn к=л > ^fo "/о * = 7^’ ЗДвСЬ 1 x s di=H/^)t!s) =^- (з) Каждая точка Pj может находиться внутри только одного из паралле- лепипедов ПП1,...,пв- Следовательно, по крайней мере в ns — N паралле- лепипедах ПП1,...,пз функция J0(P) отлична от тождественного пуля и определяется равенством (2). Согласно (1) имеем N ns/2, поэтому та- ких параллелепипедов не менее чем n®/2. С учетом (3) получаем оценку т(, . ns diA07 _ dMo7 > djApy = d2A0y 2 /rs+1 ~ 2n 2 2 (27V) '/S TV1/® ’ * ) где d% = di/(4 21/®). Таким образом, построенная функция принадлежит рассматриваемо- му классу и для нее выполняется неравенство (4) с постоянной d%, не зависяшей от узлов интегрирования, она обращается в нуль во всех уз- лах Pj. Следовательно, способ построения требуемой функции для любой совокупности узлов Pi,..., Pn указан. Выше производилась оценка снизу погрешности квадратур, т. е. фор- мул интегрирования N л/)« 3=1 где узлы интегрирования Pj и веса Dj не зависят от конкретной подын- тегральной функции. Для многих задач практически более эффективны- ми являются способы интегрирования, где последующие узлы интегриро- вания выбираются в зависимости от информации об уже вычисленных значениях функции, например способы интегрирования с автоматическим выбором шага. Пусть имеется какой-то способ интегрирования, где информация о по- дынтегральной функции учитывается лишь в виде информации о ее зна- чениях в отдельных точках. Этот способ определяется заданием перво- го узла интегрирования, правила, по которому отыскиваются следующие узлы, и способа вычисления приближенного значения интеграла. Таким образом, всякий такой способ укладывается в следующую схему: задают- ся некоторый узел Pi, функции Qq = фд(Фь - • •, Qq-i\ , У9-1), ? = 2,..., N,
228 Глава 5. Многомерные задачи определяющие выбор следующих узлов интегрирования в зависимости от ранее накопленной информации о подынтегральной функции, и функция Sn(Qi, • , Qn> У1, - , Уы)- Здесь Qi - точки области G, yj — числа. При приближенном вычислении конкретного интеграла последовательно вычисляются величины ДА), Р2 = Ф2(А;ДА)), ДР2), А = Фз(Рь A; ДА), ДА)), ДА), , f(Av) и затем полагают 1(f) ~ SN (А,..., Pm f (А),..., f (Av)). Поскольку точка Pi задается вместе с заданием функций Фу- и за- висимость этих функций от Pi можно было бы опустить. Так же, как в случае квадратурных формул, можно определить по- грешность метода при вычислении данного интеграла Rn(J) = /(f) - (А,..., Av; f (А), , f (Av)) , погрешность метода на классе Рдг(Р) = sup |pw(f )| feF1 1 и оптимальную оценку погрешности на множестве всевозможных методов интегрирования ZW(P) = inf BW(P). Fi, Фг,-”, Фдг,5дг Теорема (без доказательства). Пусть класс функций F — выпуклый цен- трально симметричный компакт с центром симметрии f = 0 и все функ- ции этого класса равномерно ограничены. Тогда оптимальные оценки по- грет,ности на множествах всевозможных квадратурных формул и всевоз- можных способов интегрирования совпадают: WN(F) = ZN(F). Условие выпуклости класса F означает, что вместе с любыми Д, f2 G F этому классу принадлежат также все функции / = 0fi + (1 — 0)f2 при О < 0 < 1. Условие, что класс является центрально симметричным с центром симметрии f = 0, означает, что вместе со всякой функцией f этому классу принадлежит также функция — f. В частности, все классы СГ(А) удовлетворяют условиям теоремы и может показаться, что рассмотрение более широкого множества способов интегрирования не представляет интереса. Однако такой вывод нельзя признать правильным. Методы интегрирования с выбором узлов инте- грирования в зависимости от полученной в процессе вычислений инфор- мации продемонстрировали на практике свою высокую эффективность
§ 7. Оценка снизу погрешности 229 по сравнению с квадратурными формулами с заранее фиксированны- ми узлами интегрирования. Поэтому более правильным будет вывод о том, что практически встречающиеся задачи более точно описываются некоторыми невыпуклыми классами функций. Например, типичным клас- сом функций, встречающихся в приложениях, является класс кусочно- аналитических функций. Обратимся к одномерному случаю. В случае выпуклости класса функций полусумма двух функций класса также при- надлежит этому классу. Полусумма функций, имеющих I точек, где на- рушается аналитичность, может иметь 21 точек с нарушением аналитич- ности. Таким образом, класс аналитических функций, имеющих не более заданного числа I точек нарушения аналитичности, не является выпу- клым. Если число точек нарушения аналитичности не ограничено свер- ху, то класс функций не является замкнутым: предел последовательно- сти кусочно-аналитических функций с неограниченно растущим числом точек нарушения аналитичности может оказаться функцией, не являю- щейся кусочно-аналитической. Выше производилось сравнение методов интегрирования по верхней грани погрешности на классе функций. Однако возможна следующая си- туация. Два метода имеют одинаковые погрешности на классе функций, в то же время на большинстве функций класса один из методов имеет меньшую погрешность. Ясно, что этот метод является более предпочти- тельным и сравнение методов по верхней грани погрешности на классе функций в данном случае не дает общей картины. Из сказанного выше вытекает актуальность решения следующих за- дач. Задача 1. Как правильно описать класс реально встречающихся функ- ций? Задача 2. Как правильно ввести меру в пространстве реально встреча- ющихся подынтегральных функций? (Ни про одно из известных опреде- лений меры в пространстве функций нельзя сказать, что оно правильно описыает обстановку, характерную для приложений.) Приведем примеры некоторых алгоритмов интегрирования с выбором узлов в зависимости от ранее полученной информации. Многомерный ин- теграл записывается как повторный fl>0 = h^dxr, J ао гЬ1(т!) = I Д(Я1, т2) dx2, , а^-1) = / /(хг,... xs) dxs, as-i(xi,...,x£_i)
230 Глава 5. Многомерные задачи и численное интегрирование по некоторым из переменных Xj произво- дится посредством одномерных алгоритмов интегрирования с автомати- ческим выбором шага. Следующий алгоритм вычисления многомерных интегралов имеет дру- гую структуру. Среди известных алгоритмов интегрирования с автома- тическим выбором узлов интегрирования этот алгоритм является наи- более эффективным по отношению к задаче вычисления интегралов от функций с особенностями функции или ее производных в изолирован- ных точках. Пусть вычисляется интеграл lf(X)dX, Q = [ai жх as xs 6S], X = (ж1;..., xs). П Заменой переменных Xi = 0,5(a, + bi) + 0,5(щ — bi)ti, i = 1,..., s, интеграл превращается в интеграл по кубу Q G = [-1 < h 1,..., -1 < ts 1], t = (ii,..., ts). В основу метода положены кубатурные формулы (<?(*) dt « Qsq(g), q = 1, 2, 3. Для вычисления интеграла / g(t)dt вычисляются Q[(g) и Q'^g) и про- JG вернется условие (5) Здесь £ — некоторая условная мера погрешности. Если это условие вы- полнено, то за приближенное значение интеграла по G принимается зна- чение, вычисленное по кубатурной формуле (Д, обычно являющейся ли- нейной комбинацией формул и Q%. Если условие (5) не выполняется, то куб G разбивается на 2s равных кубов и описанный алгоритм при- меняется к каждому из этих кубов. Процесс дробления продолжается до тех пор, пока условие (5) не будет выполнено. Если при делении шага h пополам наступит такой момент, когда hs станет машинным нулем, то счет прекращается. Используемые в стандартных программах кубатур- ные формулы Qg имеют следующий вид.
§ 7. Оценка снизу погрешности 231 I. s = 2: Ql = Al 52 9(ia, Ja) + A E № + лз E 9^' 14+01=1 14+01=1 14,01=1 = Bi 52 >«) + 52 3^ + 14+01=1 14+01=1 + B3 52 J7)+^4 52 9(гу, jv), 1-ОМ 14,01=1 где a = 0,658149897623035910, /3 = 0,549119831921783496, 7 = 0,894427190999915878, i/ = 0,316227766016837933, Ai = 1,06136206790541224, A2 = -0,234973179016523356, A3 = 0,173611111111111111, Bi = 3,99942795838189963, B2 = -6,29803906949301074, B3 = 0,124007936507936507, B4 = 3,17460317460317460, Ql = C?2- Формула Qi точна для всех многочленов степени не больше 5. Формула Q% точна для всех многочленов степени не больше 7. II. s = 3: \ 14,01,1*1=1 4 7 + 10 52 ff(i, в к) I , |i|+bl+|fc|=i / 14+01+1^1=1 v 7 / Th = 52 т о) + 52°> *0 + Е »(°> j’ кУ 14,01=1 14,1*1=1 01,1*1=1 Формулы Ql и Q2 точны для всех многочленов степени не больше 5. Формула Q3 точна для всех многочленов степени не больше 7.
232 Глава 5. Многомерные задачи § 8. Метод Монте-Карло При построении квадратурных формул вместе с формулой, как правило, получалась оценка ее погрешности на некотором классе функций. На- пример, для одномерной формулы трапеций была получена оценка по- грешности вида const-A2-/V-2 на классе функций со второй производной, ограниченной по модулю постоянной Аг; здесь N— число узлов инте- грирования. Такого рода оценки погрешности называют гарантированны- ми оценками погрешности на классе функций. На основании этой оценки можно гарантировать, что погрешность приближенного значения инте- грала не превосходит определенной величины для всех подынтегральных функций из рассматриваемого класса. Оценивая погрешность метода как оценку на классе функций, при оценке погрешности конкретного инте- грала мы ориентируемся на величину, получающуюся в случае интегри- рования «худшей» функции рассматриваемого класса. Для ряда классов функций эта оценка погрешности на классе настолько плоха, что не да- ет никакой надежды на получение приближенного значения интеграла с требуемой точностью. Например, согласно теоремам из § 7, не существу- ет методов с оценкой погрешности на классе функций Ci;...,i(A,..., А), лучшей, чем dAN~^s (здесь s — кратность вычисляемого интеграла). Предположим, что требуется гарантировать оценку погрешности, мень- шую чем 0,01dA. Тогда число узлов N должно удовлетворять неравен- ству dAN~1/s 0,01dA, т.е. должно выполняться неравенство N 100s. Поскольку вычисление каждого значения подынтегральной функции тре- бует обычно большого числа арифметических операций, уже при s = 6 такое требование на число узлов оказывается практически невыполни- мым. Мы оказались в положении, когда на основе указанной выше оценки погрешности нет возможности вычислить значение интеграла с гаранти- рованной оценкой погрешности 0,01с/А, поскольку это потребует непомер- ных затрат времени ЭВМ. Один из способов разрешения создавшегося противоречия состоит в более детальном описании классов подынтеграль- ных функций. Другим выходом из создавшейся обстановки является от- каз от получения строгой гарантированной оценки погрешности и полу- чение оценки погрешности лишь с определенной степенью достоверности. В частности, при конструировании методов интегрирования в гл? 3 и в § 7 мы шли по пути отказа от строгой оценки погрешности: погрешность оценивалась через разность результатов вычисления приближенного зна- чения интеграла при различных методах интегрирования. Одним из методов приближенного вычисления значений интегралов, при котором погрешность оценивается не гарантированно, а лишь с не- которой степенью достоверности, является метод Монте-Карло. Пусть требуется вычислить приближенное значение интеграла 1(f) = / f(P)dP.
§ 8. Метод Монте-Карло 233 Для упрощения выкладок предполагаем, что д(С7) — мера области G рав- на 1. Как правило, это условие бывает выполнено, поскольку при прак- тической реализации метода Монте-Карло область интегрирования обыч- но преобразуется в единичный куб. Предположим, что каким-то образом удалось получить N случайных попарно независимых точек Fi,...,F/y, равномерно распределенных в G. Далее через M(s) будем обозначать ма- тематическое ожидание случайной величины s, а через Z?(s)—ее диспе- рсию. Случайные величины Sj = f(Pj) попарно независимы и одинаково распределены, причем M(Sj) = I f(P)dP = I(f) Jg D(Sj) = M(s2) - (M(Sj))2 = P(J), где D(f) = I(f2)- (Д/))2. Положим 1 " »«(/) = 3=1 Вследствие указанных свойств величин Sj имеем 1 W м(Ш = = д/), j=i г(ЗДЛ) = j=l С вероятностью 1 — т] выполняется неравенство (неравенство Чебышева) \SM - Д/)| jD(f)/(T]N). (1) Полагая г] = 0,01, получаем: с вероятностью 99% выполняется неравен- ство l^(/)-/(/)l^iovWW- Еще лучшая оценка получается в предположении, что точки Pj не только попарно независимы, но и независимы в совокупности. Тогда, со- гласно центральной предельной теореме, случайная величина распределена асимптотически нормально с функцией распределения
234 Глава 5. Многомерные задачи Вероятность того, что случайная величина с такой функцией распреде- ления не превосходит по модулю значение у > 0, асимптотически равна , ч а/2 /'°° Г /21 , Ро(у) = 1 - ~7= / ехР S “V { dt. V 'К J у I 2 J Таким образом, при больших N с вероятностью, близкой к ро(у), вы- полняется неравенство Полагая у = 3 и у = 5, получаем, что неравенства 1^(/)-ад|<з7ад/лг и |ЗДМЖ5\М)/* выполняются соответственно с вероятностями 0,997 и 0,99999. Сформули- рованные выше утверждения называются иногда правилами «трех сигм» и «пяти сигм» соответственно. В правой части всех этих оценок стоит неизвестная величина D(f) = I(f2) — (1(f))2, которую можно оценить на основании информации о вы- численных значениях f(Pj). Задача 1. Показать, что W) = 7V^TM(^(/) ~ Sn^- & Поскольку на основании закона больших чисел с большой вероятностью вы- полняется приближенное равенство M(Sj(f) - sN(f))2«1 £ (Sj(f) - sN(f))2, то с большой вероятностью выполняется и приближенное равенство D(f)^D^(f), где Dw(f) = £ (s7/) - sN(f))\ Приведем схему применения метода Монте-Карло при y(G) — 1. Пусть (1—у) — уровень надежности, с которым желательно получить приближенное значение интеграла, е — заданная точность. Определяют у из равенства dt.
§ 8. Метод Монте-Карло 235 Последовательно при п = 1,... получают случайные точки Рп и вычисляют ве- личины Sn(J), dn(f), Dn(f), пользуясь рекуррентными соотношениями tn(f) = tn_df) + f(Pn), Sn(f) = tn(f)/n, dn(f) = dn-K/) + (/(P„) - МУ)/, Dn(J) = dn(f)/(n - 1), а также вычисляют значение = yVDn{f}/n- Начальные условия рекурсии: ii(/) = W) = /(Д), Ф(/) = A(/) = 0. Если оказалось, что А„ е, то вычисления прекращаются; полагают /(/) « Sj\r(f) и считают, что с вероятностью 1 — г] выполняется неравенство 1ДЛ - SN(f)\ Е. Заметим, что в действительности неравенство |/(/) — S'w(/)| £ выполняется с вероятностью, несколько меньшей чем 1 — т), хотя и близкой к ней. Задача 2. Проверить, что Dn(f) = D^n\f). Для уменьшения погрешности метода Монте-Карло случайные узлы интегри- рования берутся распределенными не равномерно, а с некоторой плотностью р(Р) ф 1, / p(F) dP = 1. В этом случае полагают JG 1 N 3=1 Задача 3. Показать, что = /(/), D(f) = I(f2/p) - (Д/))2. Убедиться в том, что переход к такому выбору случайных величин осо- бенно целесообразен в случае /(Р)/р(Р) ~ const. Часто в руководствах по использованию метода Монте-Карло говорит- ся следующее. Метод Монте-Карло является универсальным методом вы- числения интегралов высокой кратности. Порядок оценки скорости сходи- мости метода Монте-Карло есть 0(1 /у/N) и не зависит от размерности интеграла, в то время как порядок гарантированных оценок скорости сходимости существенно ухудшается с ростом размерности. Для метода Монте-Карло при каждом п имеется эффективная оценка погрешности через величину ^/£>„(/)/п, и, таким образом, вычисления прекращаются именно в тот момент, когда достигнута требуемая точность. Отнесемся осторожно к этому заявлению и рассмотрим различные со- ображения «за» и «против» метода Монте-Карло.
236 Глава 5. Многомерные задачи § 9. Обсуждение правомерности использования недетерминированных методов решения задач Часть пользователей предубеждена против метода Монте-Карло и отри- цает правомерность его использования, поскольку малость погрешности метода обеспечивается лишь с некоторой вероятностью. Выше мы уже обрисовали картину, складывающуюся при вычислении интегралов большой кратности, как почти полностью безнадежную в слу- чае, если ставится цель получения приближенного значения интеграла с гарантированно малой оценкой погрешности. Такая обстановка и вызвала к жизни применение метода Монте-Карло. Уже при вычислении однократных интегралов гарантия малости по- грешности метода может быть получена только при использовании стро- гих теоретических оценок. Применение таких оценок требует высокой ма- тематической квалификации исследователя, затрат его умственного труда и не может быть перепоручена ЭВМ. Таким образом, ориентировка на методы вычисления интегралов с гарантированной оценкой погрешности противоречит общей тенденции использования ЭВМ. Кроме того, при решении всякой задачи возможны ошибки в поста- новке задачи, в программе и т. д. В силу этих и ряда других причин редко можно дать стопроцентную гарантию малости погрешности резуль- тата расчета по отношению к реальной модели; некоторая вероятность ошибочности результатов вычислений имеется в любом случае. Все это подчеркивает, что полный отказ от метода Монте-Карло только из-за его вероятностной природы является неоправданным. С другой стороны, при использовании метода Монте-Карло нужно учитывать следующие отрицательные эффекты. Для применения метода Монте-Карло необходимо иметь в распоря- жении последовательность независимых точек Pj с заданным законом распределения. Обычно пользователь располагает датчиками случайных или так называемых псевдослучайных чисел, которые выдают последо- вательности случайных чисел, равномерно распределенных на отрезке [О, 1]. При помощи преобразований таких случайных величин получа- ются случайные числа с заданным законом распределения. На у ер вых ЭВМ датчиками случайных чисел были некоторые приборы, например использующие явление радиоактивного распада, которые выдавали после- довательности случайных величин, иногда даже удовлетворяющие требо- ванию независимости в совокупности. Однако такие приборы работают с малой скоростью, и поэтому с увеличением производительности ЭВМ от них отказались. Вместо датчиков случайных чисел используют дат- чики псевдослучайных чисел — некоторые программы, выдающие последо- вательности чисел, которые рекомендуется рассматривать как случайные. Использование датчиков псевдослучайных чисел явилось прогрессивным
§ 9. Обсуждение правомерности использования методов 237 шагом, позволившим широко применять вероятностные методы. Однако при использовании этих датчиков нужно всегда иметь в виду, какими свойствами обладают последовательности чисел, выдаваемые этими дат- чиками. Например, некоторые датчики псевдослучайных чисел выраба- тывают последовательности чисел, которые можно рассматривать лишь как попарно независимые, а не как независимые в совокупности. В этом случае будет неправомерно пользоваться оценками погрешности, основан- ными на центральной предельной теореме. Пусть методом Монте-Карло вычисляется интеграл 1(f) =1 I f(xi,..., xs)dxi...dxs. Jo Jo Преположим, что в качестве узлов интегрирования мы хотим выбрать последовательность независимых равномерно распределенных точек еди- ничного куба. Если датчик псевдослучайных чисел выдает последователь- ность чисел, равномерно распределенных на отрезке [0, 1], то мож- но попытаться в качестве узлов интегрирования взять точки (£i,-.-,£s), (Cs+l,---, Для законности применения неравенства Чебышева нужно выполне- ние предположения о независимости распределения любых точек Pj, т.е. независимости распределения совокупностей (£(j-l)s+l> Cjis), И(г—1)з+1’ • • 1 Cis)- При увеличении s это условие накладывает все более жесткие требова- ния на датчики псевдослучайных чисел. Известно много реальных при- меров неудачного применения метода Монте-Карло в случае больших s. вызванных следующей причиной. При использовании метода и оценке по- грешности делались допущения о тех или иных статистических свойствах псевдослучайных чисел, в то время как эти предположения на самом деле не выполнялись. В результате делался вывод о малости значения погрешности, который на самом деле не был справедлив. Таким образом, опасность применения метода Монте-Карло заключа- ется по большей части не в вероятностном характере оценки погрешно- сти, а в том, что вероятностная оценка погрешности производится зача- стую в предположении о свойствах датчиков случайных чисел, которые на самом деле не имеют места. Задача1. Пусть ф, <$2— случайные независимые величины, равномерно распределенные на отрезке [0, 1]. Пусть {у}—дробная доля числа у, т.е. {?/} = У - [у], где [у] —целая часть у. Положим £п = {ф + (п - 1)(£2 -&)}- Показать, что точки попарно независимы, равномерно распределены на [0, 1] и, согласно построениям предыдущего параграфа, /(/) = fo f (Ж) dX ~ SM = ? /(0)’
238 Глава 5. Многомерные задачи Задача 2. Пусть вычисляется двукратный интеграл Показать, что при Рп = fen-i, &n), где из задачи 1, справедливо соотношение M(Sx(f)) = 1(f)- Вычислить lira D(SN(f)) = d(f) N-нх и убедиться, что, как правило, d(f) ^0 и поэтому Sn(f) далеко от 1(f). Задача 3. Пусть вычисляется трехкратный интеграл 1(f) = / / / f(xi, х2, x3)dx1dx2dx3. Jo Jo Jo При Pn = fen_2, £зп-1, 6n) вычислить M(Sn(f)) = i(f) и убедиться, что, как правило, i(f) 1(f) и поэтому Siv(f) далеко от 1(f). Указание. Воспользоваться тем, что (£3п — 2£з„_| + £3п-2) — целое в пре- делах [—1, 1]. Пусть , • •, , k = 1,..., I — случайные независимые в совокупно- сти равномерно распределенные на [0, 1] случайные величины и Р^ = fefc,..., £*), к = 1,..., I. Положим q = {£} + • • • + }; здесь {у} = у - [у]—дробная часть числа у, Д9^ = £j+1 - C^J + 4- (—l)gCq^j— конечная разность q-vo порядка, Сд — число сочетаний из q по р, равное нулю при р > q. Пусть Рп = Задача 4. Проверить, что Рп — Р® при п = 1, . . . , I. Задача 5. Показать, что точки Р1,...,Рдг равномерно распределены в единичном кубе и любые I из них независимы в совокупности. К числу достоинств метода Монте-Карло относят независимость по- рядка оценки от размерности вычисляемого интеграла. Однако рассу- ждая только о порядке сходимости метода, можно не заметить следу- ющую немаловажную деталь. Мы получали оценки погрешности прибли- женного значения интеграла вида \sN(f)-i(f)\ const-\/D(f)/N.
§ 10. Ускорение сходимости метода Монте-Карло 239 Типичным для практики является требование малости относительной погрешности приближенного значения интеграла, что в данном случае означает требование малости величины y/N). Статистика реально предъявляемых к вычислению интегралов показывает, что вели- чина \/D(f)/\I(f)\ имеет тенденцию к резкому росту с ростом размер- ности интегралов. В качестве иллюстрации приведем интеграл ЛЛ) = / I ехр{-32(Т1 ч---+ x2s)}dx1...dxs, Jo Jo для которого y/D(fs)l I Л/s) I > 105/2 - 1. Следовательно, практическая трудоемкость метода Монте-Карло суще- ственно возрастает с ростом размерности интегралов (при одинаковой от- носительной погрешности). При действительном вычислении многократ- ных интегралов методом Монте-Карло перед непосредственным приме- нением метода зачастую с целью уменьшения величины л/Ж/И(/)1 проводится довольно кропотливое исследование свойств подынтегральной функции, преобразование интегралов с помощью замен переменных и других приемов, требующие достаточно высокой квалификации исследо- вателя. § 10. Ускорение сходимости метода Монте-Карло Рассмотрим некоторые приемы повышения практической эффективности метода Монте-Карло. 1. Функция f(P) представляется в виде /(P) = F(P)+ff(P), где функция F(P) интегрируется явно и содержит в себе все резко ме- няющиеся компоненты f(P), а д(Р)—плавно меняющаяся функция с не- большой дисперсией D(g). Иногда область интегрирования разбивается на малые подобласти и в каждой части в качестве Р(Р) берут некото- рый интерполяционный полином с узлами в этой подобласти. 2. Подходящий подбор плотности распределения узлов р(Р) (см. за- дачу 3 в § 8) также приводит к уменьшению дисперсии. Мы рассматри- вали случай, когда все узлы Р} имеют одинаковую функцию распреде- ления р(Р). В ряде случаев оказывается целесообразным выбирать уз- лы интегрирования таким образом, чтобы каждый имел своею функцию распределения Pj(P). 3. Следующий прием является частным случаем приемов 1 и 2. Ис- ходный интеграл представляется в виде суммы интегралов Л/)= [ f(P)dP = YlIl(f),Il(f)= [ f(P)dP, G _j J Gi
240 Глава 5. Многомерные задачи число узлов интегрирования N представляется в виде N = N\ Ч---Ь-Лф, и каждый интеграл ф(/) вычисляется по методу Монте-Карло с Ni узлами интегрирования. Обратимся к случаю вычисления интеграла от функции, изображенной на рис. 5.10.1. При непосред- 0,5 Рис. 5.10.1 0,5 ственном вычислении исходного интеграла в случае р(Р) = 1 имеем D(f) — 1/4. Если Gi — [0, 1/2], G% = [1/2, 1], то при любых 5^0 оба интеграла а следова- тельно, и исходный интеграл будут вычи- слены точно. Конечно, случай, когда исходную область интегрирования удается разбить на части, где подынтегральная функция постоянна, очень редкий. Однако, если все-таки удает- ся разбить ее на части, где функция меня- ется мало, то можно получить существен- ное увеличение точности при том же объ- еме вычислений. Разбиение области интегрирования на части с целью уменьшения диспе- рсии метода Монте-Карло широко используется, в частности, при обработке естественно-научной информации. Пусть требуется определить водосодержа- ние снега в бассейне некоторой реки. При непосредственном применении ме- тода Монте-Карло выбиралось бы с равномерной плотностью распределения несколько точек, где производилось бы измерение количества водосодержа- ния на единице поверхности. Участки поверхности с однородными природны- ми условиями (высота над уровнем моря, уровень облачности, залесненность, ориентация склонов гор, осадки, господствующее направление ветра) характе- ризуются примерно одинаковым водосодержанием. Поэтому удается добиться существенного повышения точности, разбивая бассейн на части с однородны- ми условиями и применяя метод Монте-Карло для вычисления интегралов по этим частям. В случае гладкой подынтегральной функции разбиение области инте- грирования на части приводит к увеличению порядка скорости сходимо- сти. Пусть вычисляется интеграл Л/) = [ f f(x1,...,xs)dxi...dxs. Jo Jo Положим N — ns и разобьем исходную область интегрирования на рав- ные кубы ПП1>...)П/| : (ni — l)/n ф xi ф '/н/п,..., (ns — l)/zz ф xs ф ns/n. В каждом кубе выберем случайную точку Pni,...,ns- Считаем, что ее плот- ность распределения — постоянная, равная ns, и случайные точки в лю- бых двух кубах выбираются независимо. Положим 1 МЛ = Е /(^n1(...,nj. * * 1
§ 10. Ускорение сходимости метода Монте-Карло 241 Задача 1. Доказать, что D(SnU)) = Проведем оценку дисперсии в предположении, что функция /(F) удо- влетворяет условию Липшица с постоянной А по каждой из переменных. Справедливо равенство D(SN(f)) = D f—}(Рщ,...,па}\ = У2 (1) ni,...,ns=l z П1,...,па~1 Имеем равенство M(f(Pni_nsY) = <тП1,...,п.ч = / ns/(F) dP. 'п,ч.us На основании теоремы о среднем имеем сгП1>..^Пв = f(Pni,...,na), где РП1,...,п, G nni„.„ns, поэтому В то же время /(Ж1 + Дь..., xs + ДД - /(.Т1,..., xs) = = (/(a-’i + Д1, •, xs + ДД - f(xi + Дп ..., xs-i + ДА-1, ®.Д) + + (/ (Ж1 + Дь • • •, •'i-'s-i + As-1> ж.Д — /(.г'1 + Д1, • • , ж8-2 + + Дв-2, Хз-Ъ жД) Ч-----------+ (/(®! + Д1, Ж2, • . . , жД - f(Xi, жД). Отсюда следует, что для функций рассматриваемого класса |/(®1 + Д1,..., xs + Д8) - /(жь ..., ж.Д | Л^ДД +-----Н |Д5|). Если точка РП1,...,Пв принадлежит ППъ.„>Пя, то каждая из ее координат отличается от соответствующей координаты точки Рщ,...,па не более чем на п-1. Поэтому из последнего неравенства следует оценка |/(^11,...1ПД-/(Д1„..;?1Д|^Л5п-1 при Pni,...,ns е nni>...jns, и, следовательно, |/(Fni>...;ns) — <Tm,...,nsI Asn . (2) Всякая случайная величина удовлетворяет неравенству |М(£)| sup |£|. Следовательно, ^(/(Рщ,...,^)) = М(/(РП1>....Пв) - о)2
242 Глава 5. Многомерные задали С помощью этой оценки заключаем, что правая часть равенства (1) не превосходит величины nsn-2s(As/n)2 = (As)2/ns+2. Обозначив общее число узлов ns через 7V, получаем оценку Р(5дг(/)) A2s2/7V1+2/s. (3) Отсюда на основании неравенства Чебышева (8.1) заключаем, что с ве- роятностью 1 — т] выполняется неравенство \SnU') ~ I(f)\ ^AsN~Ps/y/yN. Полученная оценка погрешности по порядку лучше, чем оценка погреш- ности O(l/y/N) метода Монте-Карло. Мы получили оценку погрешности по вероятности. Оказывается, что для рассматриваемого метода можно получить и гарантированную оценку погрешности. Умножая (2) на n~s, получаем неравенство ~sf(Pni,...,nJ - I f(P)dP < As/n^. П -/П, Величина Sj\(f) — /(/) может быть представлена в виде суммы таких слагаемых: ~f{Pni,...,ns)- I f(P)dP ГТ /п • Суммируя оценки для этих слагаемых, получим рЛг(/)-Л/)| ^As/n = As/Nl'°. Сопоставляя эту оценку с теоремой из § 7, заключаем, что рассматри- ваемый метод имеет гарантированную оценку погрешности, оптимальную по порядку на рассматриваемом классе функций. Возникает вопрос, можно ли улучшить на этом классе оценку дис- персии (3). Метод Монте-Карло и другие способы интегрирования, по- добные рассматриваемому, где приближенное значение интеграла зависит от некоторых случайных параметров, называют недетерминированными. Пусть SN(f) — приближенное значение интеграла 1(f), получаемое при применении некоторого недетерминированного способа вычисления. Теорема (без доказательства). Существуют ф(г, А), с?2 > 0, удовлетво- ряющие следующему соотношению. Для любого способа вычисления инте- грала, где информация о подынтегральной функции используется лишь как информация об ее значениях в N точках, найдется функция f G СГ(А), для которой \SnU) - 1(П\ > ф(г, A)/Ar+V2 (4)
§ 11. О выборе метода решения задачи 243 с вероятностью d2, где 1/r — 1/rj + •• + l/rs, a — приближенное значение интеграла. Следствием неравенства (4) является неравенство VD(SM) > d3(r, A)/7Vr+1/2, (5) которое, в частности, означает, что оценка (3) не может быть улучшена по порядку. Теорема (без доказательства). Можно указать способы интегрирования, для которых имеет место гарантированная оценка погрешности \SM-I(f)\^d4(r,A)/Nr (6) и одновременно M(SN(J)) = 1(f), VD(SM) d5(r, A)/Ar+1/2 (7) для всех f G Cr(A). Мы построили выше такой способ при и = • = rs = 1. Идея по- строения таких способов состоит в разбиении исходной области интегри- рования на малые части и вычислении интеграла по малой части при помощи некоторой «случайной квадратурной формулы». Задача 2. Пусть Pni,...,ns ~~ случайная точка в кубе nni>.. )7ls (при тех же условиях на распределение и независимость точек Pnit...,ns-, как в задаче 1). Обозначим через Р* ns точку, симметричную РП1,...,Пе относительно центра куба ПП1;...)7гя, и положим = ~(/(Вг1,..,пя) + /(Рп1,...,7г,)), SN(f) = £ ni,...,ns=l Доказать, что для функции из класса С2,...,2(А) выполнены одновременно оценки (6), (7). (Заметим, что здесь г = 2/s.) § 11. О выборе метода решения задачи Обсудим схему решения одной задачи, где оказалось выгодным исполь- зование методов Монте-Карло, обсуждавшихся в предыдущем параграфе. Требовалось вычислить серию интегралов 7(«1, «2, аз) = / f(P', &i, а2, af)dP JG при различных значениях параметров оц, а2, <Хз- Область интегрирования G содержалась в единичном трехмерном кубе; при этом условие при- надлежности точки к области G задавалось громоздкой системой нера- венств. Было ясно, что нельзя сделать замену независимых переменных
244 Глава 5. Многомерные задачи так, чтобы область интегрирования G приобрела стандартный вид, где было бы возможным применение квадратурных формул высокого поряд- ка точности. Поэтому пришлось вне области G продолжить / нулем и рассматривать исходную задачу как задачу вычисления интеграла «2, а=з) = / / / f(P; О1, &2, а3) dxidx2dx3, Jo Jo Jo где I f(P‘ Oil, Ct2, 0.3 ) при PeG, Подынтегральная функция оказалась теперь разрывной. Для вычисле- ния интеграла были применены формулы прямоугольников и Гаусса. С целью контроля над точностью проводились расчеты с различным чи- слом узлов интегрирования. Оказалось, что результаты расчетов медлен- но устанавливаются (сильно меняются при изменении числа узлов), что указывает на малую точность получаемых приближенных значений. При непосредственном применении метода Монте-Карло установление получа- емых приближенных значений было еще хуже. Поэтому было принято решение применить для вычисления описанные выше способы уменьше- ния дисперсии путем разбиения области на части. Были опробованы оба описанных выше способа. Область интегрирования 0 sj яд, х2, х3 sj 1 раз- бивалась на равные кубы с ребрами длиной 1/п, и далее применялись оба метода, рассмотренные в предыдущем параграфе. Как и в случае других квадратур, исследовалось установление результатов вычислений. Оказалось, что оба метода могут обеспечить требуемую точность вычи- слений при приемлемых затратах машинного времени. Во многих случаях вычисление интегралов высокой кратности или большой се- рии интегралов удается осуществить лишь за счет устранения повторения оди- наковых вычислений. Решение рассматриваемой задачи представлялось снача- ла бесперспективным из-за большой трудоемкости проверки условия принад- лежности узла Р области G; нахождение же каждого значения f(P; сц, а2, аз) требовало существенно меньшего объема вычислений. Так как все интегралы вычислялись по одной и той же области, то было принято решение применить следующий алгоритм. Куб 0 яд, х-2, з.'з 1 разбивался на кубиты с длиной ребра 1/п, в каждом кубике выбиралась случайная точка РП1,...,п. и прове- рялось условие принадлежности точки РП1,...,п, области G, координаты всех точек РП1,...,п„ £ G были записаны в памяти ЭВМ. Далее все интегралы серии заменяли суммами E-*f(P; «1, «2, Оз) Па рП1.nseG с одними и теми же узлами. Отказ от проверки условия Fni,...,n. £ G при вычислении каждого интеграла привел к снижению требований на затраты машинного времени примерно в 100 раз.
§ 11, О выборе метода решения задачи 245 Другим фактором, позволившим резко снизить затраты машинного времени, оказался следующий. Подынтегральная функция имела вид д(ть «1, 0=2, «з), где вычисление каждого значения функции h требовало относительно ма- лого числа элементарных операций ЭВМ по сравнению с вычислением каждого значения функции д. Поэтому была применена следующая схе- ма вычислений. Все интегралы T(o!i, «г, <Хз), соответствующие одному и тому же значению параметра ах, вычислялись одновременно; благодаря этому каждое значение g(xi, ay) вычислялось при расчете всей серии ин- тегралов только один раз. Такая организация работы позволила довести затраты машинного времени при решении рассматриваемой задачи до приемлемых размеров. Анализ хода решения задачи, проведенный после окончания вычисления серии, показал ряд неиспользованных возможно- стей, которые предоставили бы дополнительные удобства как исполни- телю, так и заказчику. С целью уменьшения затрат машинного време- ни заказчик старался уменьшить число М совокупностей значений пара- метров («], mg, аз), ПРИ которых требовалось вычислить значение инте- грала. Наиболее трудоемкую часть при расчетах составляло вычисление значений функции <7(2:1, «1), поэтому общие затраты машинного времени были пропорциональны не числу М, а числу различных значений а\. Таким образом, общие затраты времени могли бы быть снижены также за счет удачного выбора совокупности (а), а%, Од)- В рассматриваемой задаче имелся еще один неиспользованный резерв повыше- ния точности. Трудоемкость рассматриваемого метода пропорциональна про- изведению числа различных значений а на число различных значений коорди- нат Ж1 узлов интегрирования. Узлы интегрирования выбирались случайно, и поэтому число различных значений яд было очень большим. Для уменьшения этого числа можно было бы пойти, например, по следующему пути: аппрокси- мировать исходный интеграл по формуле прямоугольников /(сц, а2, оз) « У -I ( сц, а->, а3- 9 ' ) , т \ т ) 9=1 4 ' где г( 9-1/2^ г [\( 9-1/2 У , У I аь а2, аз; ------) = / / j I ах, а2, аз, —-------, ж2, ж3 | <7ж2<7ж3, \ т J Jo Jo \ т J и применять метод Монте-Карло с разбиением области интегрирования толь- ко для вычисления интегралов /(ai, a2, аз; Ж]). Другой подход к решению задачи: разбить отрезок [О, 1] на отрезки [(</ — l)/m, g/m], на каждом из них выбрать случайную точку £ч и положить 1 - /(аь a2, a3) и — J(ai, <*2, <*з; £9)-
246 Глава 5. Многомерные задачи Оба указанных выше метода имеют худшую скорость сходимости по сравне- нию с примененным методом, однако в этих методах вычисляется существенно меньше значений функции g(xi, сц). Из последних рассуждений видно, что при вычислении больших се- рий интегралов (как, впрочем, и в случае больших серий других задач) часто больший эффект достигается не за счет повышения качества мето- да при решении каждой из задач серии, а за счет лучшей организации вычислений. При применении процедуры, описанной в § 4, вычисление интеграла высокой кратности как бы сводилось к вычислению большого числа ин- тегралов меньшей кратности. Поэтому при вычислении интегралов вы- сокой кратности иногда можно использовать указанные выше резервы повышения эффективности в случае вычисления серий интегралов. Обратим внимание на следующую опасность, возникающую при одно- временном поучении результата сразу по всей серии задач. Предъявляемая к решению совокупность задач соответствует какому- то реальному явлению. Может случиться, что ранее явление не «обсчи- тывалось» на ЭВМ и предъявляемая математическая модель не является удовлетворительной. Тогда в случае одновременного решения задач се- рии все результаты вычислений окажутся бесполезными. При последова- тельном решении задач можно уже после получения первых результатов обнаружить рассогласование математической модели с общей картиной явления. Такое рассогласование типично при решении новых задач, и обычно оно устраняется не сразу, а после большого числа пробных про- счетов и совместного обсуждения модели заказчиком и исполнителем. Исполнитель имеет особые основания быть заинтересованным в обсу- ждении постановки задачи. Если исходная постановка задачи окажется неразумной, ему придется потратить много времени на выбор нового ал- горитма и написание новой программы. Участвуя в обсуждении, испол- нитель может уяснить себе возможные варианты изменения постановок задачи и предусмотреть их при составлении программы решения зада- чи. В связи с этим при решении задач новых типов особенно важно, чтобы программа подразделялась на отдельные функциональные блоки, поддающиеся независимому изменению. Часто столкновение исходных позиций заказчика (обсчет i/Одробной модели) и исполнителя (минимальный объем работ) приводит к постро- ению упрощенной модели явления, быстрый обсчет которой позволяет решить вопрос о целесообразности рассмотрения более сложной модели. Рассмотрим другой пример, относящийся к организации работы по выбору метода интегрирования в случае кратных интегралов. Часто вычисление ин- тегралов по сложной области сводят к вычислению интегралов по области, являющейся прямым произведением областей простейшего вида: отрезков, па- раллелепипедов, лучей, бесконечных прямых, кругов, сфер, шаров и т. д. Для таких стандартных областей имеется достаточное количество совершенных ме-
§11. О выборе метода решения задачи 247 годов интегрирования, и после такого преобразования области интегрирования можно применить процедуру, описанную в § 4, или какую-либо другую, ана- логичную ей. Пусть вычисляется интеграл 1(f) = / /(ж1, ®2, ®з)dxidx2(ix3. Его удобно записать в виде /(/) = j~ls g(l, w) divdl, где Si —единичная сфера, dw —элемент ее площади, g(l, iv) = I" f(livi, liv^, w — (wi j ! а»з), w-j + 4" ^з = 1- Предположим, что решено вычислять интеграл при помощи квадратур, явля- ющихся прямым произведением квадратур по отрезку [1, 2] и по сфере Si. Под прямым произведением квадратуры <2 п / h^dlK^djh^lj) (1) 1 J=1 и квадратуры .. т / p(w) div ps У2 (2) Jsi Q=1 здесь понимается квадратура П. л т g(l, iv)divdl ps ЕЕ djkqgflj, UJQ). n j=l <7=1 Исследуем зависимость погрешности интегрирования от способа интегрирова- ния и от числа узлов. Для исследовании поведения погрешности численного интегрирования по оси I выберем какую-то «базовую» квадратуру по единич- ной сфере: Г _w°_ / p(w)dw PS (3) 9=1 имеется в виду, что число узлов то мало и в то же время выражения Р то G(l) = / g(l, iv) div и G°(l) = к°чд(1, iv°q) 's' 9=i имеют одинаковый качественный характер поведения по I. Например, можно попытаться взять в качестве (3) квадратуру p(iv)div » w2, iv3), где суммирование производится по 6 точкам пересечения единичной сферы с координатными осями Х1, Х2, х3.
248 Глава 5. Многомерные задачи' Предположим, что для вычисления интеграла по оси I принято решение приме- нить или формулу Гаусса, или формулу Симпсона. Последовательно применяя формулы Гаусса Г2 » у h(l) dl « £ djbUj) при п = ni, п-2, - узлах, получаем некоторые величины С = £d?G°(zD- j=l Точно так же при числе узлов п = п[, п'2,... получаем приближения по фор- муле Симпсона 5°,. Из рассмотрения поведения всех этих величин можно усмотреть значение пре- дела 1°, к которому они стремятся. Далее, при каждом п среди всех приближе- ний и с ni, п\ п выберем приближение Гп, обеспечивающее лучшую точность, и введем функцию <pt(n) — |Г.„ — /п| погрешности численного инте- грирования по оси I. Точно так же фиксируется некоторая базовая квадратура по переменной I (ча- сто эта квадратура Гаусса с двумя узлами) и строится функция погреш- ности численного интегрирования по сфере и. Предположим, что суммарная погрешность есть R = <pi(n) + ip^im). Если значения функции / вычисляют- ся независимо, то трудоемкость метода пропорциональна пт. Минимизируя пт при заданном требовании на точность, чтобы е, получаем искомые значения числа узлов по и то- В зависимости от того, какой квадра- туре — Гаусса или Симпсона — отвечает данное п, выбираем соответствующую квадратуру. В случае сомнений в правомерности использования этой методики остается возможность проверить правильность результата, проведя дополни- тельное интегрирование с несколько отличными от по и то значениями пит. Приведем типичный пример подобной организациии выбора способа интегрирования по каждой из осей в случае большой серии интегралов по единичному s-мерному кубу. По каждой из осей применяется фор- мула Гаусса, при выборе числа ее узлов по каждой из осей в качестве базовых квадратур по остальным осям берутся квадратуры Гаусса с дву- мя узлами. Дробление числа узлов по каждой из рассматриваемых осей продолжается до тех пор, пока разность между двумя последующими приближениями не станет менее чем е s-1. После определения таким образом нужного числа узлов п^, соответствующего каждой оси, произ- водится вычисление интеграла с узлами по каждой из осей. Из-за некоторой ненадежности описанного алгоритма обычно произ- водится проверка правомерности его применения в случае данной серии интегралов: выбирается достаточно представительная под серия интегра- лов и для нее результаты расчетов по данному алгоритму сравниваются с результатами расчетов при несколько измененных значениях числа уз- лов по осям.
§11.0 выборе метода решения задачи Литература 249 1. Бахвалов Н. С. Об оптимальных оценках скорости сходимости квадратурных процессов и методов интегрирования типа Монте-Карло на классах функций. // В кн.: Численные методы решения дифференциальных и интегральных урав- нений и квадратурные формулы. — М.: Наука, 1964. С. 5-63. 2. Бахвалов Н.С. Численные методы. — М.: Наука, 1975. 3. Лоусон Ч., Хенсон Р. Численное решение задач метода наименьших квадратов. — М.: Наука, 1986. 4. Мысовских И. П. Интерполяционные кубатурные формулы. — М.: Наука, 1981. 5. Никифоров А. Ф., Суслов С. К., Уваров В. Б. Классические ортогональные поли- номы дискретной переменной. — М.: Наука.. 1985. 6. Никольский С. М. Квадратурные формулы. — М.: Наука, 1979. 7. Соболев С. Л. Введение в теорию кубатурных формул. —М.: Наука, 1974.
===== Глава 6 =—---= Численные методы алгебры К численным методам алгебры традиционно относят численные мето- ды решения систем линейных алгебраических уравнений, обращения ма- триц, вычисления определителей, нахождения собственных значений и собственных векторов матриц и нулей многочленов. При формальном подходе решение этих задач не встречает затруд- нений: решение системы можно найти, раскрыв определители в форму- ле Крамера; для нахождения собственных значений матрицы достаточно выписать характеристическое уравнение и найти его корни. Однако эти рекомендации встречают возражения со многих сторон. Так, при непосредственном раскрытии определителей решение системы с т неизвестными требует порядка т\т арифметических операций; уже при т — 30 такое число операций недоступно для современных ЭВМ. При сколь-нибудь больших т применение методов с таким порядком чи- сла операций будет невозможно и в обозримом будущем. Другой причиной, по которой эти классические способы неприменимы даже при малых т, является сильное влияние на окончательный ре- зультат округлений при вычислениях. Уже при т = 20 при расчетах на современных ЭВМ типична аварийная остановка из-за переполнения по- рядка. чисел. Даже если такая остановка не происходит, результат вычи- слений часто далек от истинного значения из-за влияния вычислительной погрешности. Точно так же обстоит дело при нахождении собственных значений матриц с использованием явного выражения характеристиче- ского многочлена. Методы решения алгебраических задач разделяются на точные, итера- ционные и вероятностные. Классы задач, для решения которые обычно применяют методы этих групп, можно условно назвать соответственно классами задач с малым, средним и большим числом неизвестных. Изме- нение объема и структуры памяти ЭВМ, увеличение их быстродействия и развитие численных методов приводят к смещению границ применения методов в сторону систем более высоких порядков. В настоящее время точные методы обычно применяются для решения систем до порядка 104, итерационные — до порядка 107. При изучении итерационных процессов нам понадобятся понятия норм вектора и матрицы. Напомним определения основных норм в простран-
Глава 6. Численные методы алгебры 251 ствах векторов и матриц. Если в пространстве векторов х = (xi,..., хт)т введена норма ||х||, то согласованной с ней нормой в пространстве ма- триц А называют норму Mil = sup||Ax||/||x||. (1) х#0 Наиболее употребительны в пространстве векторов следующие нормы: Нх11оо = max |ж.,|, (2) т Mi = Еы, (з) Д=1 Цх||2 № = v7x,х), (4) а согласованными с ними нормами в пространстве матриц являются со- ответственно нормы ТП ТП 1ИИ1 = max max Хг. (6) (7) здесь и далее Лр — собственные значения матрицы D. Приведем вывод этих соотношений для вещественного случая. По- скольку, согласно (2), НЛхЦоо = max max max max то |Цх||оо . ——-— max Пусть max достигается при i = I; для вектора х = (sign(an),..., sign(aZm)) имеем = 1, Мх||, Из этих соотношений следует (5).
252 Глава 6. Численные методы алгебры Точно так же для нормы вектора, определяемой по формуле (3) имеем нЛх111 = 52|Е ‘wl (т^Еk?i) 52 г 3 г j Пусть max 52laO'l достигается при j = I. Для вектора х, у которого i лишь одна компонента xi отлична от нуля, имеем нЛхИ1 = Е|ЕнИ = Ем n = (Ем) n = i i i i ^maxy^hvQEl^l = (max E2la^l) IIх!!15 i j i отсюда следует (6). Согласно определению ЦАЦ2 и (4), имеем ,, ... IIAxlk MII2 = sup " = sup х ||Х||2 х (Ах, Ах) (х, х) (АтАх, х) (х, х) Матрица АтА симметричная, поскольку (АТА)Т = АТ(АТ)Г = АТА. Пусть матрица В симметричная, ei,...,eTO- ортонормированная си- стема ее собственных векторов, Ai,...,ATO— соответствующие собствен- m иые значения. Представим произвольный вектор х в виде Имеем 4=1 (Вх, х) = ("yAjCjCj, ЕС'е0 = Е^М, поэтому (Вх, х) ^шах А,) |cj |2 = (max Aj)(х, х) (8) и (Вх, х) (тшАг)(х, х). (9) г В то же время (Bej, ej)/(ej, et) = Aj. Из этих соотношений следует, что sup ^х’ = max |Aj|. (10) х (х, х) i Поскольку (АтАх, х) = (Ах, Ах) 0, то все АдТу1 0. Полагая в (10) В = АТА, получаем |(АтАх, х)| • supJ—= max |Л‘АТА| = max лАтА- Из полученных соотношений следует (7).
§ 1. Методы последовательного исключения неизвестных 253 Отметим важный частный случай. Если А — симметричная матрица, то \\тА — Ад2 = |Ад|2, поэтому для нее ||А||2 = шах|Лд|. (11) Если Ах = Ах, то ||А|| ||х|| ||Ах|| = |А| ||х||. Следовательно, модуль любого собственного значения матрицы А не больше любой ее нормы. § 1. Методы последовательного исключения неизвестных Рассмотрим точные методы решения системы Ах = Ь; здесь А — [<*;-;] — матрица размерности m х тп, det А О, Ь — (пЦт+Ъ • • - ; в>п,т+1) • Метод решения задачи относят к классу точных, если в предположе- нии отсутствия округлений он дает точное решение задачи после конеч- ного числа арифметических и логических операций. Если число ненуле- вых элементов матрицы системы имеет порядок т2, то для большинства используемых в настоящее время точных методов решения таких систем требуемое число операций имеет порядок т3. Поэтому для применимости точных методов необходимо, чтобы такой порядок числа операций был приемлем для данной ЭВМ; другие ограничения накладываются объемом и структурой памяти ЭВМ. Оговорка об «используемых в настоящее время методах» имеет следующий смысл. Существуют методы решения таких систем с меньшим порядком числа операций, однако они не используются активно из-за сильной чувствительно- сти результата к вычислительной погрешности. Наиболее известным из точных методов решения систем линейных уравнений является метод исключения Гаусса. Рассмотрим одну из его возможных реализаций. В предположении, что « ц 0, первое уравнение системы т У"а^х3 = at,m+L, i = (1) 1=1 делим на коэффициент «ц, в результате получаем уравнение т Xi + J=2 Затем из каждого из остальных уравнений вычитается первое уравне- ние, умноженное на соответствующий коэффициент од. В результате эти Уравнения преобразуются к виду 7П т-1-1’ % 2, . . . , ТП. j=2
254 Глава 6. Численные методы алгебры Первое неизвестное оказалось исключенным из всех уравнений, кроме первого. Далее в предположении, что «22 О, делим второе уравнение на коэффициент а22 и исключаем неизвестное х2 из всех уравнений, на- чиная со второго, и т. д. В результате последовательного исключения не- известных система уравнений преобразуется в систему уравнений с тре- угольной матрицей т xi + aijX3 = i = (2) Совокупность проведенных вычислений, в ходе которых исходная задача преобразовалась к виду (2), называется прямым ходом, метода Гаусса. Из т-го уравнения системы (2) определяем хт. из (т — 1)-го - -хт_г и т. д. до Xi. Совокупность таких вычислений называют обратным ходом метода Гаусса. Нетрудно проверить, что реализация прямого хода метода Гаусса тре- бует N ~ 2m3/3 арифметических операций, а обратного— N ~ т2 ариф- метических операций. Исключение х.., происходит в результате следующих операций: 1) де- ления ?-го уравнения на 2) вычитания получающегося после такого деления ?-го уравнения, умноженного на из уравнений с номера- ми к = i + 1,..., т. Первая операция равносильна умножению системы уравнений слева на диагональную матрицу вторая операция равносильна умножению слева на матрицу
§ 1. Методы последовательного исключения неизвестных 255 Таким образом, система (2), получаемая в результате этих преобразова- ний, запишется в виде С’Ах = С’Ь, где С = Cm...C\Ci. Произведение левых (правых) треугольных матриц является левой (пра- вой) треугольной матрицей, поэтому матрица С левая треугольная. Из формулы для элементов обратной матрицы (A-1)jj = Aji/det А следует, что матрица, обратная к левой (правой) треугольной, являет- ся левой (правой) треугольной. Следовательно, матрица В = С-1 левая треугольная. Введем обозначение С А = D. Согласно построению все d..tl = 1 и ма- трица D правая треугольная. Отсюда получаем представление матрицы А в виде произведения левой и правой треугольных матриц: А = С~гВ = BD. Равенство А — BD вместе с условием da = 1, i = 1,..., тп, образует систему уравнений относительно элементов треугольных матриц В и D : т ’^fiijdjk = «гл- Поскольку bij = 0 при i < j и djk = 0 при к < j, эта j=i система может быть записана в виде min{z, к} 5 bijdjk — йгк (3) J=1 или, что то же самое, к 52 bijdjk = а-гк при к i, 3=1 i 5 у bijdjk Hik при Z -С к. 3=1 Воспользовавшись условием, что все da — 1, получаем систему рекур- рентных соотношений для определения элементов и dip к-1 bik ~ aik - 52 bijd3k при к 3=1 г-1 (4) dik ~~ 5 > bijdjk dik =---------------при i < к.
256 Глава 6. Численные методы алгебра Вычисления проводятся последовательно для совокупностей (г, к) = (1, 1) ..., (1, тп), (2, 1),..., (2, т),, (m, 1),..., (т, т). Здесь и далее в слу- чае, когда верхний предел суммирования меньше нижнего, считается, что вся сумма равна нулю. Таким образом, вместо последовательных преобразований системы (1) к виду (2) можно непосредственно произвести вычисление матриц В и D с помощью формул (4). Эти вычисления можно осуществить, если толь- ко все элементы Ьц окажутся отличными от нуля. Пусть Ак, Вк, Dk — матрицы главных миноров к-го порядка матриц А, В, D. Согласно (3) Ак — Bf.Dk- Поскольку det Dk = 1, det, В;. = Ьц ... bjttt, то detA^ = Ьц - • • Ькк- Следовательно, bkk = det Л/det Ak-i- Итак, для осуществления вычислений по формулам (4) необходимо и до- статочно выполнение условий det Ак0, к = 1,..., т. (5) В ряде случаев заранее известно, что условие (5) выполнено. Напри- мер, многие задачи математической физики сводятся к решению систем с положительно определенной матрицей А. Однако в общем случае это- го заранее сказать нельзя. Возможен и такой случай: все det Ак О, но среди величин Ькк есть очень малые и при делении на них будут получаться большие числа с большими абсолютными погрешностями. В результате этого решение сильно исказится. Обозначим СЪ = d = (di,m+i, , dmjjri+i)T. Поскольку С^1 = В и С А = D, то справедливы равенства Bd. = b, Dx = d. Таким образом, после разложения матрицы исходной системы на произведение левой и правой треугольных матриц решение исходной системы сводится к по- следовательному решению двух систем Bd = b, Dx = d с треугольными матрицами; это потребует N ~ 2m2 арифметических операций. Последовательность операций по разложению матрицы А на произве- дение треугольных матриц и по определению вектора d часто удобно объединить. Уравнения i ^'0^7,m+1 = 3=1 системы Bd = b можно записать в виде (3) min(i,m+l) bijdj,m+l — <Ц,т+1- 3=1 Следовательно, значения ф,т+1 могут вычисляться одновременно с остальными значениями dij по формулам (4). При решении практических задач часто возникает необходимость ре- шения систем уравнений с матрицей, содержащей большое количество ну-
§ 1. Методы последовательного исключения неизвестных 257 левых элементов. Обычно эти матрицы имеют так называемую ленточ- ную структуру. Более точно, матрицу А называют (2q + 1)-диагональной или имеющей ленточную структуру, если = 0 при |i — у| > q. Число 2q+1 называют шириной ленты. Оказывается, что при решении системы уравнений с ленточной матрицей методом Гаусса число арифметических операций и требуемый объем памяти ЭВМ могут быть существенно со- кращены. Задача 1. Исследовать характеристики метода Гаусса и метода решения системы с помощью разложения ленточной матрицы А на произведе- ние левой и правой треугольных матриц. Показать, что для нахождения решения требуется O(mq2) арифметических операций (при т, q —> оо). Найти главный член числа операций при условии 1 < г/ С т. Задача 2. Оцепить объем загружаемой памяти ЭВМ в методе Гаусса для ленточных матриц. При вычислениях без помощи ЭВМ велика вероятность случайных погрешно- стей. Для устранения таких погрешностей иногда вводят контрольный стол- бец системы, a,n+2 = («1, zn+2, • •, ат<т+2}Т, состоящий из контрольных эле- ментов уравнений системы т+1 т+2 — . При преобразовании уравнений над контрольными элементами производятся те же операции, что и над свободными членами уравнений. В результате этого контрольный элемент каждого нового уравнения должен равняться сумме ко- эффициентов этого уравнения. Большое расхождение между ними указывает на погрешности в вычислениях или на неустойчивость алгоритма вычислений по отношению к вычислительной погрешности. К примеру, в случае приведения системы уравнений Ах = b к виду Dx = d с помощью формул (4) контрольный элемент Ф,т_|_2 каждого из уравнений системы Dx = d вычисляется по тем же формулам (4). После вычисления всех элементов dij при фиксированном i контроль осуществляется проверкой равенства тп4-1 ~ ?п+*2 - 3=г Обратный ход метода Гаусса также сопровождается вычислением контрольных элементов строк системы. Чтобы избежать катастрофического влияния вычислительной погреш- ности, применяют метод Гаусса с выбором главного элемента. Его отличие 9- 903
258 Глава 6. Численные методы алгебры, от описанной выше схемы метода Гаусса состоит в следующем. Пусть по ходу исключения неизвестных получена система уравнений 7П xi + 22 = г = j=i+l т 2 у Q'ij'L j А + 1, - - • , Til. j=k+l Найдем I такое, что |«£+1 J = тах|а£+1;| и переобозначим х^+1 = xt и xi = далее произведем исключение неизвестной x^+i из всех урав- нений, начиная с (к + 2)-го. Такое переобозначение приводит к измене- нию порядка исключения неизвестных и во многих случаях существенно уменьшает чувствительность решения к погрешностям округления при вычислениях. Часто требуется решить несколько систем уравнений Ах = Ьч, q = 1,...,р, с одной и той же матрицей А. Удобно поступить следующим образом: введя обозначения Ьд = (в-1,т+(/1 • , ain.,ni+gS i произведем вычисления по формулам (4), причем элементы вычислим при i < к т + р. В результате будут получены р систем уравнений с треугольной матрицей, соответствующих исходной задаче Dx — d9, dg = (с£щп_|_Гу, • • , i Q ~ • • • i P- Решаем эти системы каждую в отдельности. Оказывается, что общее чи- сло арифметических действий при решении р систем уравнений таким способом N ~ 2m3/3 + 2pm2. Описанный выше прием иногда используется для того, чтобы без существен- ных дополнительных затрат получить суждение о погрешности решения, явля- ющейся следствием погрешностей округления при вычислениях. Задаются век- тором z с компонентами, имеющими по возможности тот же порядок и знак, что и компоненты искомого решения; часто из-за отсутствия достаточной ин- формации берут z = (1,..., 1)т. Вычисляется вектор с = Az, и наряду с ис- ходной системой уравнений решается система Az = с. Пусть х! и z' — реально получаемые решения этих систем. Суждение о погреш- ности х! — х искомого решения можно получить, основываясь на гипотезе: от- носительные погрешности при решении методом исключения систем с одной и той же матрицей и различными правыми частями, которыми являются со- ответственно величины ||х — х'||/||х'|| и ||z — z'||/||z'||, отличаются не в очень большое число раз. Другой прием для получения суждения о реальной величине погрешности, воз- никающей за счет округлений при вычислениях, состоит в изменении масшта-
§ 1. Методы последовательного исключения неизвестных 259 бое, меняющем картину накопления вычислительной погрешности. Наряду с исходной системой тем же методом решается система (оЛ)х' = /ЗЪ, где а и /3 — числа. При а и (3, не являющихся целыми степенями двойки, сравнение векторов х и сф-1х' дает представление о величине вычислительной погрешности. Напри- мер, можно взять а — (3 = а/З. Изучение многих задач приводит к необходимости решения систем ли- нейных уравнений с симметричной положительно определенной матрицей. Такие системы возникают, например, при решении дифференциальных уравнений методом конечных элементов или же конечно-разностными ме- тодами. В этих случаях матрица системы имеет также и ленточную структуру. Для решения таких систем, а также систем уравнений более обще- го вида с эрмитовой не обязательно положительно определенной матри- цей применяется метод квадратного корня [метод Холецкогд). Матрица А представляется в виде А = S*DS, (6) где S — правая треугольная матрица, S* — сопряженная с ней, т. е. причем все 8ц > О, D—диагональная матрица с элементами du, равными +1 или —1. Матричное равенство (6) образует систему уравнений dij = susudn +-----1- SijSijda при i j. Аналогичные уравнения при i > j отброшены, так как уравнения, со- ответствующие парам (г, у) и (у, г), эквивалентны. Отсюда получаем ре- куррентные формулы для определения элементов du и (i— 1 \ г—1 diz 'У |^/гг| dfck j , = . | Ojj dfck |, A.-1 / \ k=l i—1 dij ^ki^kjdkk fc=l - „ . sij =---------------- ПРИ г < з- Матрица S является правой треугольной, и, таким образом, после по- лучения представления (6) решение исходной системы также сводится к Последовательному решению двух систем с треугольными матрицами. За- метим, что в случае А > 0 все du — 1 и А = S*S.
260 Глава 6. Численные методы алгебры Задача 3. Оценить число арифметических операций и загрузку памяти ЭВМ (при условии aij = a-ji объем памяти, требуемый для запоминания матрицы А, уменьшается) при решении системы с вещественной положи- тельно определеннной матрицей А методом квадратного корня. Многие пакеты прикладных программ для решения краевых задач ма- тематической физики методом конечных элементов организованы по сле- дующей схеме. После формирования матрицы системы А путем переста- новки строк и столбцов (одновременно переставляются г-я и j-я строки и i-й и j-й столбцы) система преобразуется к виду с наименьшей ши- риной ленты. Далее применяется метод квадратного корня. При этом с целью уменьшения объема вычислений при решении системы Ах = b с другими правыми частями матрица S запоминается. Замечание. Часто этот метод уступает по эффективности итерационным методам. Задача 4. Оценить число арифметических операций и объем требуемой памяти метода квадратного корня в случае матриц ленточной структуры. Если есть подозрение, что реально полученное решение х1 сильно ис- кажено вычислительной погрешностью, то можно поступить следующим образом. Определим вектор b1 = b — Ах1. Погрешность г1 = х — х1 удо- влетворяет системе уравнений Аг1 = Ах — Ах1 = Ь1. (7) Решая эту систему в условиях реальных округлений, получаем прибли- жение И1) к г1. Полагаем х2 = х1+г^1\ Если точность нового прибли- жения представляется неудовлетворительной, то повторяем эту операцию. При решении системы (7) над компонентами правой части производятся те же линейные операции, что и над компонентами правой части при решении системы (1). Поэтому при вычислениях на ЭВМ с плавающей запятой естественно ожидать, что относительные погрешности решений этих систем будут одного порядка. Поскольку погрешности округлений обычно малы, то М « ||Ь||; тогда Цг11| Цх11|, и, как правило, реше- ние (7) определится с существенно меньшей абсолютной погрешностью, чем решение системы (1). Таким образом, применение описанного приема приводит к повышению точности приближенного решения. Особенно удобно применять этот прием, когда по ходу вычислений в памяти ЭВМ сохраняются матрицы В и D. Тогда для каждого уточ- нения требуется найти вектор bA = b — АхА и решить две системы с треугольными матрицами. Это потребует всего TV], ~ 4m2 арифметиче- ских операций, что составит малую долю от числа операций No ~ 2m3/3, требующихся для представления матрицы А в виде А = BD. Идея описанного приема последовательного уточнения приближений к реше- нию часто реализуется в такой форме. Пусть матрица В близка в каком-то
§ 1. Методы последовательного исключения неизвестных 261 смысле к матрице А, но решение системы Вх = с требует существенно мень- шего объема вычислений по сравнению с решением системы Ах — Ь. Решение системы Вл = b принимаем в качестве первого приближения х1 к решению. Разность х — х1 удовлетворяет системе уравнений А(х — х') = Ъ - Ах1. Вместо решения этой системы находим решение системы Br1 = b - Лх1 и полагаем х2 = х1 + г1. Таким образом, каждое приближение находится из предыдущего по формуле х"41 = х” + В-^Ъ - Ахп) = (Е - B-4)xn + В-1Ь. Если матрицы А и В достаточно близки, то матрица Е — В'1 А имеет малую норму и такой итерационный процесс быстро сходится (см. также § 10). Значительно более редкой, чем задача решения системы уравнений, является задача обращения матриц. Для обратной матрицы X = А-1 имеем равенство АХ = ВЕХ = Е. Таким образом, для нахождения ма- трицы X достаточно последовательно решить две матричные системы BY = Е, DX = У. Нетрудно подсчитать, что при нахождении на таком пути матрицы Л-1 общий объем вычислений составит N% ~ 2m3 ариф- метических операций. В случае необходимости уточнения приближения к обратной матри- це могут производиться при помощи итерационного процесса Хк = Xk-i(2E — AXk-i). Для исследования сходимости итерационного процесса рассмотрим матрицы Gk = Е — АХк. Имеем равенство Gk = Е - АХк = Е - АХк^(2Е - АХк_х) = (Е — АХк_х)2 = G'l^. Отсюда получаем цепочку равенств bfc - СгА._г - - • • — (J0 . Поскольку A-1 - Xk = A~^E - AXk) = A~lGk = то имеем оценку ЦА-1 - XA.|| < ||A-1|| • ||Go||2\ Таким образом, при достаточно хорошем начальном приближении, т. е. если ||Б? — ААо|| 1, этот итерационный процесс сходится со скоростью более быстрой, чем геометрическая прогрессия.
262 Глава 6. Численные методы алгебрд § 2. Метод отражений В настоящее время разработано так много точных методов численного решения систем линейных алгебраических уравнений, что даже простое перечисление их затруднительно. Большинство этих методов, как и метод исключения Гаусса, основано на переходе от заданной системы Ах = b к новой системе С Ах = СЪ такой, что система Вх = d, где В = С А и d — C’b, решается проще, чем исходная. При выборе подходящей матрицы С нужно учитывать по крайней мере следующие два фактора. Во-первых ее вычисление не должно быть чересчур сложным и трудоемким. Во- вторых, умножение на матрицу С не должно в каком-то смысле портить матрицу А (мера обусловленности матрицы не должна меняться сильно (см. § 11)). Этим условиям в определенной степени удовлетворяет описываемый ниже метод отражений. Среди методов, требующих для своей реализа- ции числа операций N ~ 2?п3/3, этот метод в настоящее время рассма- тривается как один из наиболее устойчивых к вычислительной погреш- ности. Рассмотрим случай вещественной матрицы А. Если w — некоторый вектор-столбец единичной длины, (w, w) = 1, то матрицу U = Е — 2ww7' называют матрицей отражений. Под ww7 здесь понимается матрица, являющаяся произведением вектора-столбца w на вектор-строку wT, т. е. ww7’ = (шу), где Wij = WiWj. Из определения следует, что ww7 — сим- метричная матрица. Непосредственной проверкой убеждаемся, что U — UT и UUT = (Е — 2wwT)(£ — 2wwT)T = Е — 2ww7 — 2ww7 + 4wwTww7' = E; здесь мы воспользовались тем, что w7 w = (w, w) = 1. (1) Таким образом, матрица U — симметричная и ортогональная. * Напомним один факт из алгебры. Пусть U и В — две матрицы порядка т, В — многочлен т U, В = Pi(U). Тогда можно переупорядочить их собственные значения так, что Af = Р,(АГ) при j = 1,..., т. Поскольку U симметрична и U2 = UUT = Е, а все собственные числа Е равны 1, то все собственные числа матрицы U удовлетворяют условию Ay — 1, т. е. равны или +1 или —1. Собственному значению —1 отвечает собственный вектор w. В самом деле, Uw = w — 2ww7w = w — 2w — — w. (2)
§ 2. Метод отражений 263 Все векторы, ортогональные вектору w, являются собственными. Им соответствует собственное значение, равное +1. Действительно, пусть (v, w) — 0. Тогда имеем t/v = v — 2ww7v v 2w(w, v) = v. (3) Представим произвольный вектор у в виде у = z + v, где z = 7W, (v, w) = 0. Для этого следует взять в качестве z проекцию вектора у на вектор w, т. е. z = (у, w)w, и v = у — (у, w)w. Вследствие (2) и (3) имеем Uy = — z + v. Таким образом, Uy есть зеркальное отражение вектора у относительно гиперплоскости, ортогональной вектору w. Используя геометрические свойства матрицы отражений, нетрудно ре- шить следующую задачу: подобрать вектор w в матрице отражений так, чтобы заданный вектор у О имел в результате преобразования Uy матрицей отражения U — Е — 2wwr направление заданного единичного вектора е. Так как U — ортогональная матрица, а при ортогональных преобразо- ваниях длины векторов сохраняются, то мы должны иметь Uy = ае или Uy = —ае, , где а — \Ду, у). Поэтому направление, перпендикулярное плоскости отражения, будет определяться либо вектором у — ае, либо вектором у + eve (см. рис. 6.2.1). Таким образом, векторы wi =±(of1(y— ае) или w2 = ±р2 '(у + ае), где pi = у| v/(y - ае, у - ае), р2 = у/(у + ае, у + ае), I / будут искомыми. Ясно, что данный про- I /wt цесс всегда осуществим. Если векторы у и е коллинеарны, а в этом случае либо ае Pi, либо р2 будет равно нулю, то ника- ^^-а.е ких отражений делать не надо. „ л /г Рис. 6.2.1 Матрицы отражения нашли широкое применение при численном решении раз- личных задач линейной алгебры (в частности, в рассматриваемой нами задаче приведения матрицы системы уравнений к треугольному виду). Лемма. Произвольная квадратная матрица может быть представлена в виде произведения ортогональной и верхней треугольной матриц. Доказательство. Пусть дана квадратная матрица порядка т. Будем Приводить ее к правой треугольной матрице путем последовательного Умножения слева на ортогональные матрицы. На первом шаге приве- дения рассмотрим в качестве вектора у из предыдущего рассуждения Первый столбец матрицы А: У1 = (ап,..., ат1)Т. ®5сли а21 = аз1 = = ami = 0, то переходим к следующему шагу, поло- жив Л/1) = A, Ui = Е и введя обозначения а^ = ар. В противном случае
264 Глава 6. Численные методы алгебры ' умножаем матрицу А слева на матрицу отражения (Ji — Ет — 2wiw7, где wi подбирается так, чтобы вектор Uiyi был коллинеарен вектору ei = (1, 0,О)5". Здесь и далее Eq — единичная матрица размерности q. На этом первый шаг закончен, и на следующем шаге будем рассма- тривать матрицу Л/1) с элементами которая либо равна Л, если имеет место первый случай, либо Л/1) = Hi Л, если имеет место второй случай. Пусть мы уже осуществили I— 1 > 0 шагов и пришли к матрице Л^-1) (1-1) П-1) Л • Л /1т-, с элементами а- такими, что а- = 0 при г > у, j = 1, 2,...,/ — 1. В пространстве векторов размерности т — I + 1 рассмотрим вектор У1 ~ \al,l ’ а1+1,1 ’ • • ’ am,l / • „ (Z—1) (/-1) п Если az'+11 = af+2 / = • • • = 0, то переходим к следующему шагу, полагая А^ = Л^1), Ui = Е. В противном случае строим матрицу отражения V = Em^i+i — 2w,w7 (размеры матрицы V/ и вектора W/ равны т — I + 1), переводящую вектор у/ в вектор, коллинеарный е/ = (1, О,..., О)7 G Rm-1+i, и переходим к матрице Л« = UiA^; ТТ ( — 1 О А <-г здесь С/=( g VI' ^ СИО’ что пР°Цесс всегда осуществим, и после (т — 1)-го шага мы приходим к матрице А(т“4) = Um-1Um_2 ... UiA, имеющей правую треугольную форму. Если обозначить Um^Um^2 ... Ui = U, то из последнего равенства сле- дует, что А = UTА^т~х\ где UT — ортогональная, а А — правая тре- угольная матрицы. Лемма доказана. Вернемся к решению системы Лх = b. С помощью указанных пре- образований отражения последовательно приводим ее к эквивалентному виду » Л(т_1)х = (7Ь, где —правая треугольная матрица. Если все диагональные эле- менты Л^1) отличны от нуля, то последовательно находим хт, . Если же хотя бы один из диагональных элементов равен нулю, то по- следняя система вырождена и в силу эквивалентности вырождена и ис- ходная система. Задача 1. Получить асимптотику числа операций метода отражений при т —> оо.
§3. Метод простой итерации 265 Рассмотрим случай системы уравнений Ах = b с комплексными А и Ь- Пусть А = А1+гА2, b = bi+ibi, x = xi + ?x2. Исходная система уравнений равносильна системе Су = d (4) с вещественными С nd: Поэтому вместо непосредственного решения исходной задачи можно пе- рейти к решению задачи (4) и применить для решения последней метод отражений. Однако возможен и другой путь — непосредственное применение мето- да отражений к исходной системе Ах = Ь. Здесь матрица отражения U = Е — 2ww*, w* = (wi,..., wm')T будет унитарной с собственными зна- чениями вида Лц = ег<р. (Через z обозначено комплексное число, сопря- женное с z.) Задача 2. Перенести метод отражений на случай комплексных матриц. Задача 3. Исследовать метод отражений в случае его применения для решения систем уравнений с ленточной матрицей. § 3. Метод простой итерации Простейшим итерационным методом решения систем линейных уравне- ний является метод простой итерации. Система уравнений Ах = b (1) преобразуется к виду х = Вх + с, (2) и ее решение находится как предел последовательности хп+1 = Вхп + с. (3) Всякая система х = х —В(Ах —Ь) (4) Имеет вид (2) и при det В 0 эквивалентна системе (1). В то же время всякая система (2), эквивалентная (1), записывается в виде (4) с матри- цей D — (Е — В) А-1. Теорема (о достаточном условии сходимости метода простой итерации). Если ||В|| < 1, то система уравнений (2) имеет единственное решение и
266 Глава 6. Численные методы алгебры итерационный процесс (3) сходится к решению со скоростью геометриче- ской прогрессии. Доказательство. Для всякого решения системы (2) имеет место ||х|| ||В||||х|| + ||с||, поэтому справедливо неравенство ||х|| (1 — ||В||) ||с|| или ||х|| (1 — ||В||)“1||с||. Отсюда следует существование и единственность решения однородной системы х = Вх, а следовательно, и системы (2). Пусть X — решение системы (2). Из (2) и (3) получаем уравнение отно- сительно погрешности rn = х" — X: г"+' = Вт”. Из (5) получаем равенство г" = В'1г°. (6) Отсюда следует, что ||г”|| ||В||п||г°|| —> 0. Теорема доказана. Качество итерационного процесса удобно характеризовать скоростью убывания отношения погрешности после п итераций к начальной по- грешности: sup х°#Х iToii = SUP ||г°11 г°#0 ||В"г°|| ПнГ = imi- Можно гарантировать, что величина sn е, если ||В||П е, т. е. при n>n£ = ln(e-1)/ln(||B||-1). (7) Если существуют постоянные 7<щ, 7^о такие, что при х 0 ||^!1в/Цх||а. 7щЗ, 1|Х1МНХ11/3 70а, то нормы ||х||о и ||х||д называются эквивалентными. Имеем НгДЬ < 7^11^11» 7аб11Ж 1|г°||а 7щзШЖ ||г%- Таким образом, если условие доказанной теоремы выполнено для нормы j| -1|<>, то утверждение справедливо относительно любой эквивалентной ей нормы. Любые две нормы в конечномерном пространстве являк?гся эквива- лентными. В частности, нормы ||х11ь ||х||2, |1х11оо; вычисляемые соответ- ственно по формулам (2), (3), (4), приведенным во введении к настоя- щей главе, эквивалентны между собой вследствие справедливости цепоч- ки неравенств ||х||оо ||х||2 ||х||1 «С тЦхЦоо Лемма. Пусть все собственные значения Xi матрицы В лежат в круге |Л| q, причем собственным значениям, по модулю равным q, соответ- ствуют жордановы клетки размерности 1. Тогда существует матрица Л = D~lBD с нормой ЦЛЦоо <1-
§ 3. Метод простой итерации 267 Доказательство. Положим Т) = q — max |АД. Собственными значениями матрицы ту"1 В будут Преобразуем матрицу ту-1 В к жордановой форме (ту -1Ai а 12 б • • \ О ту-1А2 а 2 ’ ’ ’ I ’ где аг,г+1 принимают значения 0 или 1. После умножения на ту получим (А 1 а 12ту 0 \ О А2 0-23^1 I Если |АД = д, то согласно условиям леммы, О'^д+г = 0. Отсюда следует, что |Ai| + |aiii+iTy| = q. Если |Ai < q, то IAiI + |oii i+iTy| max j АД + ту = q. !>> I <ч Таким образом, ЦЛЦоо = max (|АД + |ajiZ_|_iTy|) q. Теорема (о необходимом и достаточном условии сходимости метода про- стой итерации). Пусть система (2) имеет единственное решение. Итера- ционный процесс (3) сходится к решению системы (2) при любом началь- ном приближении тогда и только тогда, когда все собственные значения матрицы В по модулю меньше 1. Доказательство. Достаточность. Возьмем произвольное q в пределах max | Ai| < q < 1. Условие леммы выполнено по отношению к этому q, i поэтому существует матрица D такая, что ЦЛЦоо Q при Л = D rBD. Поскольку В = BAD-1, то Поэтому и Вп = DKD~lD D-vDKD~l = . IlBloo ||Р||оо||П-1||оо9п -> 0 ||хк - ХЦоо < ЦВЦоо ЦЕ»-1 ||оо диЦх° - Х||то -> 0 (8) при п —> оо. Следовательно, и ||х” — X||i, Цхп — ХЦг —> 0. Если Xi — координатные орты, х = (a?i,..., ят)т, то х = Пусть || -1| — г некоторая норма, тогда цхц^ $>дцхд| ^iixii00j2iiXiii.
268 Глава 6. Численные методы алгебры Поэтому при любой норме || || имеем ||х” - Х|| < (£||xdl) Halloo ЦП-11 loo <7"||X° - XHoo -> 0. i 0) Соотношения (8), (9) означают также, что любые нормы погрешности убывают быстрее любой геометрической прогрессии со знаменателем, большим max |Д,;|. Необходимость. Пусть |Аг| 1 и ех—соответствующий собственный вектор матрицы В. Тогда при начальном приближении х° = Х + се1, с 0, имеем г° = cei и гп = Арcei 0 при п —> оо. Задача 1. Пусть все собственные значения матрицы В, за исключением простого Xi = 1, лежат внутри единичного круга и система (2) имеет решение X. Решением системы будут также все х = X + cei. Доказать, что итерационный процесс (3) сходится к одному из таких решений. § 4. Особенности реализации метода простой итерации на ЭВМ Если все собственные значения матрицы В лежат внутри единичного круга, то может показаться, что не возникает никаких проблем отно- сительно поведения метода в реальных условиях ограниченности поряд- ков чисел в ЭВМ и присутствия округлений. В обоснование этого ино- гда приводят следующий довод: возмущения приближений в результате округлений равносильны возмущениям начальных условий итерационно- го процесса. Поскольку процесс сходящийся, «самоисправляющийся», эти возмущения в конце концов затухнут, и будет получено хорошее прибли- жение к решению исходной задачи. Однако при решении некоторых систем возникала следующая ситуа- ция. Все собственные значения матрицы В лежали в круге |А| 1/2, а итерационный процесс останавливался после некоторого чи^ла итера- ций из-за переполнения порядков чисел в ЭВМ. В других случаях та- кого переполнения не происходило, но векторы х", получаемые при вы- числениях, не сходились к решению. Последний случай особенно опасен по следующей причине. Можно необоснованно решить, что при условии max|Aj| 1/2 какое-то определенное число итераций, например 100, заве- домо достаточно для получения решения с требуемой точностью. Затем производим эти 100 итераций и рассматриваем полученный результат как требуемый. Поэтому наличие подобных явлений послужило толчком к бо- лее детальному исследованию итерационных процессов и формированию новых понятий в теории операторов.
§ 4. Особенности реализации метода 269 Чтобы понять сущность явления, полезно построить пример, где это явление прослеживается в явном виде. В качестве модели выберем ите- рационный процесс, соответствующий двухдиагональной матрице / а /3 0 0 \ О а /3 • • • О Во = О О О а ; При возведении матрицы Во в степень п, получается треугольная ма- трица / ап C^an^i3 С2ап~2/32 \ в% = (bg0) = о с^-'/з с элементами = Сп гап 1. Если г° = (0,..., О, 1)г, то т г” = Д”г» = (бЦ, • - •, (ШЛ ||г-|| 1 = £ 1^’1. 1=1 При п < т последнее выражение упрощается: т т—1 п = Е cniain~k = Ec'"iftin-fc = (н + ИГ- fc=0 fc=0 Рассмотрим случай |а| < 1, |си| + \/3\ > 1, |/3/(1 —а)| < 1. Пусть с — с° = (О,..., О, I)7 . Непосредственно проверяется, что при таком с решением рассматриваемой системы будет Справедлива оценка ЦХ°Ц1^, где 1 °°А I 1^ 1 При начальном приближении х° = Х° + с° имеем г° = с° и, согласно проводившимся выше построениям, 1|г”||1 = (|а| + |/3|)’ для п ТП.
270 Глава 6. Численные методы алгебры' Выберем тп таким, чтобы число а = [(|а| + — са]/т превосхо- дило пределы, допустимые в ЭВМ. Из полученных ранее соотношений следует, что ||х—^loo > ||х— ЧИ/т (||rm-1||1 - ||х°Hi) /т > о. Поэтому построенный пример обладает следующими свойствами: норма начального приближения невелика, итерационный процесс сходится при отсутствии округлений и ограничения на порядки чисел в ЭВМ, но оста- навливается не позднее чем при п = т — 1 из-за недопустимо больших значений компонент приближений. Обратимся к реальной ситуации, когда на каждом шаге вычислений происходят округления. Рассмотрим подробнее случай, когда переполне- ние не происходит. Вместо х" получаются векторы х*п, связанные со- отношениями х*м+1 = Вх*п + с + рп, где рп — суммарное округление на шаге итерации. Отсюда и из (3.2) получается уравнение относительно погрешности г*” = х*” - X: r*n+’ = р"+(1) Выражая каждое г*п через предыдущее, получаем г*п = рп-1 + Br*n~l = pn~l + В(рп~2 + Br*n~2) = = рп-1 + Врп~2+ --- + Bn~lpQ+ BnvQ. Как мы видели, норма || при |а| < 1, |а| + |/?| > 1 имеет следующий характер поведения: при малых п она имеет тенденцию к возрастанию, при больших п стремится к нулю. (Можно показать, что максимальное значение <р(Во) — тах||/?(?|| достигается при значении п = по порядка т.) п При таком характере поведения норм ||Bn|| может возникнуть следующая ситуация. Величина тах||х*"|| не настолько велика, чтобы происходило п переполнение и остановка ЭВМ; в то же время <^(B)2-Z 3> R, где R — максимально допустимая погрешность решения. Поэтому, как правило, при п > по среди слагаемых в правой части (2) присутствует слагаемое рпОрП-1-по с HOpMOg5 много большей, чем R. В результате установление приближений хп с приемлемой точностью не происходит. Подведем некоторый итог проведенных построений. Матрицы высокой размерности обладают свойствами, существенно отличными от свойств матриц малой размерности. Кроме собственных значений у таких матриц есть почти собственные значения, т. е. Л такие, что ||Ах — Ах|| е||х|| при ||х|| 0 и очень малом е. Например, в случае матрицы Во при любом Хп, лежащем в круге jot — Л| < |/3|, можно построить вектор хА такой, что ЦВохА — АхлЦ^, £л||хл||оо, где еа = |Z?I |(A-a)/£|m
§ 5. <52-процесс практической оценки погрешности и ускорения сходимости 271 Поведение степеней матрицы Вп при п порядка т определяется во многом такими «почти собственными векторами» х> и «почти собственными значени- ями» Л. Задача 2. Построить «почти собственный вектор» хд, соответствующий значению приведенному выше. П—1 Суммарная вычислительная погрешность рп = может оказаться j=o большой не только из-за большой величины отдельных слагаемых, но и из-за того, что их много. Пусть В симметричная матрица и ||В||2 = тах|Ад| = Ад < 1, е1—соот- i ветствующий Ад нормированный собственный вектор. Предположим, что на каждом j-м шаге происходит округление р3 = ре1, где р порядка 2~*. Имеем равенство А, J=o 1 Л" Поскольку число итераций берется таким, что 1, а — (Ад)’1, т0 можно считать, что ||рп|| р/(1 ~ Ад). Таким образом, если Ад близко к 1, то суммарное влияние округлений на шагах интегрирования может оказаться довольно большим. Покажем, что вычислительная погрешность такого порядка является неизбеж- ной. Предположим, что вместо системы (3.2) решается система х = Вх+с+ре^. Разность X — X решений этих систем удовлетворяет соотношению (X — X) = В(Х — Л')+ре1; отсюда X — X = (Е— B)~Lре^ — (1 — A^j 'pej. Поэтому погреш- ность порядка (1 — Ад)-1р является неустранимой; возмущение приближений, создаваемое в ходе итераций, сравнимо с неустранимой погрешностью. § 5. £2-процесс практической оценки погрешности и ускорения сходимости Рассмотрим вопрос об оценке погрешности приближенного решения си- стемы уравнений. Если X* — приближенное решение системы АХ = Ь, а X — точное решение этой системы, то можно написать равенство ||Х* - Х|| = ||А~’ (АХ* - Ь)|| ||А”11| ЦАХ* - Ь||, которое редко применяется из-за сложности оценки ||А~1||. Поэтому при практическом анализе погрешности приближений, получаемых итераци- онными методами, обычно вместо этой оценки используется рассматри- ваемая далее нестрогая, но более простая оценка погрешности, которая строится на основании дополнительной информации, получаемой в про- цессе вычислений.
272 Глава 6. Численные методы алгебры Примем следующий критерий разумности практической оценки по- грешности- vn принимается за практическую погрешность приближения х", стремящегося к X при п —> оо, если ||vn — (хп — Х)||/||хп — ХЦ-» О при n^oo. (1) Ясно, что тогда ||vn || ~ ||хп — Х||. Рассмотрим метод простой итерации х"+1 = /?хп + с. Для краткости изложения ограничимся случаем, когда матрица В простой структуры (т. е. ее жорданова форма диагональна и поэтому она обладает полной системой собственных векторов). Пусть Xi, г = 1,, т, — собственные значения матрицы В, занумеро- ванные в порядке убывания [АД, причем 1 > |Ai| > [A^l |Аз| Д |Ат|, а ег, ||еД| = 1, — соответствующие собственные векторы, образующие пол- ную систему. Разложим вектор г° по базису ег; : г° = cye^. Тогда г° = хп - X = Bnr° = qA^ = щ A"ei + О(|А2Г). (2) Здесь и далее выражение х’г — у" + О(еп) имеет следующий смысл: ||х" - уп|| = О(е„) при п оо. Далее в этом параграфе ||х||—это ЦхЦз- Укажем способ построения приближения к вектору w“ = C|A'“ei на основании информации, получающейся в ходе вычислений. Согласно (2) имеем ха-2 _ Х = wnA-2 + О(|Д2|п)? х”"1 - X = w^Af1 + О (|А2|"), xn-X = wn + O(|A2|n). Вычитая друг из друга соседние соотношения, получим х"-1 - х"-2 = w'l(i - аг^а;1 + О (| А21"), Х--Х—1 =wn(l-Ar1) + O(|A2r). * (3) Отсюда (х" - х"-1, х" - х"’1) = ||w-||2 |1 - АГ112 + O(|[w-|| IА2|"), (x"-] - хп~2, хп - х"-1) = ||wn||2 |1 - Af^Af1 + О(IIwn|| |A2|n). Положим (п) _ (хп -X71-1, х» -Xя-1) 1 (хп-1 — хп-2, хн — хп-1)
273 § 5. <52-процесс практической оценки Воспользуемся соотношениями (4) и в предположении d р О поделим числитель и знаменатель в выражении для А^ на 11 — A L112 А1 1; в результате получим Поскольку то A<n) = (5) (6) Поделив второе из соотношений (3) на 1 — , получим 1 — А-1 А — А1 1 - -Д-у + О (| А2 Г) = w" + ----+ О(|А2|”) • -(Af'V Ai(Afl)-l) Из (5), (6) следует — А^) || = О(|А2|П); поэтому 1 - (А<п) Отсюда и из (2) получаем хп - X = v" + О(|А2р), где vn = (х" — xn'“1)/(l — (A<n)) 2). Заметим, что согласно (3), (6) ||vn|| = |q11Aip + O(|A2|"). Из этих равенств вытекает, что vn удовле- творяет критерию (1), и поэтому его можно принять за практическую погрешность приближения х". В случае С] = • = с; = 0, q+i 0 проведенные рассуждения останутся в силе, если |А/+1| > |Ац_2|. Во всех соотношениях следует заменить лишь Aj, Cj, ej при i = 1, 2 на А/+г1 Q+«> ei+i- Описанный способ получения оценки приближенного решения называется Ь2-процессом. Если положить уп = х" — v”, то уп — X = О(|А2|п), и поэтому у”, вообще говоря, является лучшим начальным условием для последующих итераций по сравнению с х". Производя время от времени такие уточ- нения, иногда удается существенно уменьшить общее число итераций. Для справедливости приближенного равенства х" - X « v’ ЧП
274 Глава 6. Численные методы алгебры необходимо, чтобы в правой части равенства х" - X = i одно из слагаемых преобладало над остальными. Если это так, то векторы х’1 — х”-1, х'| Л — х’1-2 приблизительно пропорциональны и _ Кх”-1 - х'г 2, х'1”1 — х")| ” ||х"-1 — Xм-2 || Цх"-1 — х'1|| Таким образом, условие /ц R: l является необходимым для того, чтобы про- водившиеся ранее построения были справедливы. Поэтому его можно принять за условие практической применимости (7). Например, возможна следующая схема метода простой итерации с примене- нием <52-процесса ускорения сходимости. Задаются некоторым в пределах 1 > г/' > 0 и малым г/ > 0. Если по ходу итераций оказалось, что 1 — 7/, то вычисляется vn и вектор у'1 принимается за начальное приближение для последующих итераций. Итерационный процесс прекращается, если //,, 1 — г/ и ||vra|| е, где е —требуемая точность. Если г} очень мало, то условие р.п £>. 1 — г/ будет выполняться только после большого числа итераций, ускорение сходимости не будет иметь места. При большом г/ соотношения, положенные в основу наших построений, выполня- ются грубо, поэтому не исключено, что применение <5 -процесса сходимости замедлит итерационный процесс. Картина итераций также осложняется нали- чием погрешности округлений, так что описанная выше схема требует прак- тической отработки па большом числе примеров с целью выбора оптимальных ?/', т] и указания нижней границы значений £, при которых алгоритм применим. Если однородный итерационный процесс подвергается перестройке (в нашем случае при переходе от х" к уп), то иногда полезно проверить, не ведет ли эта перестройка к ухудшению. В качестве критерия целесообразности перестройки можно взять некоторое соотношение, связывающее нормы невязок для хп, у”, например неравенство вида ||(E-B)yn-cK<j||(E-B)x’l-c||. Замечание о необходимости указания нижней грани значений е вызывается следующим обстоятельством. Пусть для определенности Ai > 0. Уже при вы- числении х” по заданному х''-1 погрешности округления могут возмутить ре- зультат на величину Ах" с нормой порядка р. Следствием этого может явиться возмущение <5vn, имеющее норму порядка (1 — At)1 р. Отсюда следует, что в случае е < (1 — Ai)-1p итерационный процесс может никогда не закончиться. Проведенные построения показывают, что при реализации метода возникает много таких моментов, разбор которых требует серьезной математической под- готовки и проведения большой серии численных экспериментов. Поэтому, не- смотря на «простоту» метода простой итерации, будет вполне оправданным создание стандартной программы этого метода.
§6. Оптимизация скорости сходимости итерационных процессов 275 § 6. Оптимизация скорости сходимости итерационных процессов Рассмотрим простейший итерационный способ решения системы уравне- ний Ах = Ь: хП+1 = хп _ _ ь) Мы видели, что скорость сходимости такого итерационного процесса существенно зависит от максимального модуля собственных значений ма- трицы В = Е — аА. Если Ai,...,An— собственные значения матрицы А, то шах |Аг(В)| = шах |1 — aAJ. Из рис. 6.6.1 видно, что при действитель- i i ных собственных значениях различных знаков этот максимум больше 1 и итерационный процесс расходится. Обратимся к часто встречающемуся случаю, когда все Aj > 0. Значе- ния Aj бывают известны крайне редко, однако довольно типичен случай, когда известна оценка для этих чисел вида 0 < д Aj М < оо при всех i. Скорость сходимости итерационного процесса можно характеризовать величиной р(а) = шах 11 — аА|. Рассмотрим задачу минимизации р(а) за счет выбора а. Для нахождения minp(a) удобно обратиться к геометрической картине а (рис. 6.6.2). Ясно, что р(а) 1 при а С 0. При 0 < а М~1 функция 1 — аА неотрицательна и монотонно убывает на отрезке [/z, М], поэтому Р(а) = 1 — ар. При М 1 < а величина 1 — аМ отрицательна и модуль ее растет с ростом си. При некотором а = ао наступит момент, когда 1 — «оМ = -(1 - аоМ), (1) и тогда р(ао) = |1 — сщ/ф Если а < «о, то р(а) — 1 — ар > 1 — аор = р(«о); если «о < т° р(а) > |1 — аМ\ - Ma — 1 > Мао — 1 = р(а'о).
276 Глава 6. Численные методы алгебры Таким образом, значение а = «о является искомым. Решая уравнение (1) относительно ао, получим а0 = 2/(7И +//). Отсюда рМ = (М - р)ЦМ + д). Задача 1. Доказать сходимость итерационного процесса при а= ЦАЦ-1. На примере систем с матрицей А > 0 (здесь и далее неравенство А > О означает, что А — симметричная положительно определенная ма- трица) рассмотрим более формализованные постановки проблем оптими- зации скорости сходимости итерационных процессов. Если число ненулевых элементов матрицы много больше ее размерно- сти, то операция умножения матрицы на вектор более трудоемка, чем умножение числа на вектор или сложение векторов. Поэтому при оцен- ке трудоемкости итерационных процессов и оптимизации этих процессов далее за меру трудоемкости мы неявно принимаем число умножений ма- трицы А на вектор. Всякая система Ах = b с det Л Д), вообще говоря, может быть приве- дена (как говорят, симметризована) умножением обеих частей уравнения на матрицу А7 к системе с симметричной положительно определенной матрицей. В самом деле, система АТАх = Л7Ь эквивалентна исходной, матрица АГА симметричная, так как АТА = (АТА)Т, и положительно определена, так как (А7Ах, х) = ||Ах||2 > 0 при х Д 0. По возможности стараются избегать симметризации, поскольку, как мы увидем далее, она часто приводит к ухудшению сходимости итерационных процессов. Рассмотрим несколько более общий итерационный метод, чем метод простой итерации. А именно, в методе простой итерации xA:+1 = _ т^к _ Ь) будем считать, что итерационный параметр т может изменяться от шага к шагу. Тогда метод примет вид xA+1 = xfc - rfe+1(AX* - Ь), А; = 0,1,..., (2) где х° — некоторое начальное приближение. Зададимся некоторым целым п > 0 и произведем п итераций по фор- муле (2). Согласно (2) погрешность rk = хк — X удовлетворяет соотно- шению rfc+i = rk _ _ тк+1А)гк. (3) Тогда через п шагов итерационного метода (2) погрешность гп будет выражаться через погрешность начального приближения г° следующим образом: rn = (Е — тпА)гп~1 =... = (Е?-тпА)...(^-т1А)г°, (4) где г° = х° — X — погрешность начального приближения.
§ 6. Оптимизация скорости сходимости 277 Обозначим Qn(A) — (Е - тпА)... (Е - тМ). Таким образом, оператор (матрица) Qn(A) связывает погрешности приближения на нулевом и п-м шагах итерационного процесса. Из (4) имеем ||г”||2 ||Qn(A)||2 ||г°||2. (5) (Всюду далее на протяжении этого параграфа под знаком нормы || || будем иметь в виду норму || ||г-) Рассмотрим следующую оптимизационную задачу. Найти такие итера- ционные параметры то,..., Тп-i, чтобы норма !|б£)?1(Л)|| была минималь- ной. Так как матрица А является симметричной, то матрица Q„(A) так- же будет симметричной. Отсюда следует, что если Л является собствен- ным значением А, то Q„(A) является собственным значением Qn(A). Та- ким образом, ||QJ1(A)|| = max |Qn(A?)|, (6) где Xj — собственные значения А. Предположим, что Xj G [р,, М], f.i > 0. Поскольку собственные значения в (6) неизвестны, а известен толь- ко интервал, которому они принадлежат, то задачу нахождения нор- мы оператора заменим задачей оценки нормы этого оператора при условии, что мы знаем отрезок, которому принадлежит спектр А, т.е. ||Q.„(A)|| = шах^ 1^2п(А)|. Заметим, что многочлен Qn(X) имеет вид Qn(X) = ! + •. Введем класс Кп многочленов степени не выше п, рав- ных единице в точке 0. Таким образом, мы можем переформулировать исходную задачу оптимизации следующим образом. На классе Кп требу- ется найти многочлен Q^(A) такой, что = arg min ||(2n(A)|| = arg min max |<2„(A)|; (7) Qn&i\n QneKno^x^M здесь arg, как обычно, означает аргумент, т. е. мы ищем многочлен Qn 6 Кп, для которого имеет место равенство min ||Qn(A)|| = ||Q„(A)||. На самом деле, вводя класс Кп, мы расширили класс многочленов, поскольку в исходной постановке задачи предполагалось, что на [//,, М] искомый многочлен должен иметь п корней. Тем не менее, как мы уви- дим далее, данное расширение класса не изменяет результат решения оптимизационной задачи. Лемма. Справедливо равенство (8) где Тп — многочлен Чебышева степени п, a tn = Тп • Доказательство. Предположим, что утверждение леммы неверно, т. е. что существует многочлен Qn G Кп с нормой, меньшей, чем у Q^. Зак
278 Глава 6. Численные методы алгебры как |Tn| С 1 на [—1, 1], то по предположению имеет место строгое не- равенство |е"<А)| < (9> Рассмотрим многочлен Sn(X) = <5^(А) — Qn(A). Пусть • М + т М — т 7тj . XJ = ---------------cos —, 7 = 0,..., п. 2 2 п ’ J ’ • Из равенства Тп(х) = cos(narccosх) имеем QnW) = (-W1- Поскольку X3 G [щ М]. то, согласно (9), |Qn(AJ)| < tn1- Отсюда следует, что signS'n(AJ) = sign Q'!(AJ). Точки А0,..., Хп расположены монотонно на отрезке [щ М]. Посколь- ку S'n(A) меняет знак при переходе от каждой из этих точек к следую- щей, то S'n(A) имеет п корней на [щ М]. Кроме того, Sn(0) = <2°(0)-Qn(0) = i-1-о. Мы получили многочлен степени п, который имеет п +1 нуль; следо- вательно, Sn(X) = 0, Qn(A) — Q°(A), max,|Q„(A)| = t~l. [д,М] Мы пришли к противоречию с (9). Лемма доказана. Заметим, что данный многочлен решает также исходную оптими- зационную задачу, так как по построению он имеет на отрезке [щ М] п нулей. Оценим скорость сходимости полученного метода. Воспользуемся яв- ным представлением многочленов Чебышева Тп{х) = (Х™ + А£)/2, А1>2 = х ± у/х2 - 1. гг М + д При х = —------- имеем М-р Х±у.^~1-М + ^±.!(М + 1Л\Г^1^ (10) Введем обозначение Ао - (у/М + — у/тп). Из (10) имеем Ai = Ао, А2 = Aq1. Так как А2 < 1, то при больших п
§ 6. Оптимизация скорости сходимости 279 Поскольку А" и А£ одного знака, то tn > ХЦЧ = А''/2. (11) На основе приведенных построений можно предложить несколько ти- пов итерационных процессов. В одном случае задаются последовательностью значений по = 0 < ni < П2 • • • , приближения х'1‘ определяют по рекуррентной формуле хю+1 = х,ь- _ Ро_г(А)(Ах'г> - Ь), (12) где щ — 7iz+i - ni и Р°_Х(А) = A-1(Qq(A) - 1). Имеем r^=Q°(A)r-‘, ||r^||2^^||r^||2, где = \tq. |-1, и в итоге ||г"Ч|2 Рассмотрим случай <у, = /с, т. е. ni = ik. Тогда, обозначив x'J‘ = уг, можно записать итерационный процесс (12) в виде /+1=/-Г°_1(Л)(АУг-Ь). Соответствующая оценка погрешности имеет вид ||у' -Х||2 Ыг||У° -Х||2. Такой итерационный процесс называют оптимальным (по числу итера- ций) линейным к-шаговым итерационным процессом. В частном случае к = 1, согласно (5), выполняются соотношения Р«(Л) = 1 - Л<г»(А) = = 1 - Л 1 _ 1 _ М - д Таким образом, оптимальный л,инейный одношаговый итерационный про- цесс имеет вид у‘+,=^/Ь(Лу’-Ь)’ а погрешность оценивается следующим образом: ХЬ (13) (этот метод мы уже построили выше в этом параграфе).
280 Глава 6. Численные методы алгебры Можно проверить, что коэффициенты многочленов Рк1(А) быстро растут с ростом к, поэтому при больших к алгоритм вычисления х71, ис- пользующий информацию о значениях этих коэффициентов, сильно чув- ствителен к вычислительной погрешности. В связи с этим для вычисле- ния xfc используют метод (2). Поскольку из (4) следует, что Qfc(A) = (l-TfcA)...(l-T1A) = Q2(A), , т. е. корни этого мно- то являются величинами, обратными к корням многочлена Q^(A). Но р . __1 к Ак -|- // — 2А по доказанному выше Q^(A) = tk ——-------- гочлена равны М + ц М-р. (2? — 1)тг А., = — -------— cos '------ (14) ., к. 2 2 2к Отсюда следует, что значения т, надо брать из совокупности Г __________2___________1 IМ + ц - (М - ц) cos ^2^^ ) ’ (15) j = !,•••, к', зафиксировав последовательность ту = А^1,..., ту = А1, мы имеем алго- ритм (2) для вычисления уг+1 по у7. При больших к и произвольном выборе алгоритм вычисле- ния по формулам (2), (15) также неустойчив к погрешностям округле- ния. Так, например, если взять Т{ — А”1, то согласно (3) уравнение для погрешности имеет вид г" = (Е — тгА)гг_1. При наличии округлений оно запишется в виде г7 = (Е - т{А)Е~1 + р1-1. Последовательно выражая г1 через предыдущие, имеем равенство к к—1 П (£-w- i=l г=0 Здесь к г° применяется оператор Q^(A) с нормой сц. = < 1, в то время как операторы, применяемые к pi, могут быть с очень большими нормами. При реальных вычислениях для обеспечения устойчивости алгоритма к ок- руглениям осуществляют «перемешивание» чисел 7^. Алгоритм перемешива- ния в случае к — 21 заключается в следующем. Последовательно, при j = 1,..., I строится «наиболее перемешанная» перестановка чисел 1,..., 2Л При j = 1 она состоит из двух чисел 2, 1. Пусть уже построена перестановка (frj-1,..., Ь^7-1); следующая перестановка берется в виде (2j’ 4-1 — b{ 1,Ь^ , 23 + 1 — Ь^1, Например, при I = 4 эта перестановка имеет вид (11, 6, 14, 3, 10, 7, 15, 2, 12, 5, 13, 4, 9, 8, 16, 1). При таком алгоритме выбора
§ 6. Оптимизация скорости сходимости 281 итерационных параметров норма оператора перехода всегда не будет превос- ходить 1. Задаваясь к = 2Z, строим таблицу чисел £>(,..., 6^ и производим итерации (2) при значениях г,- = 2 j + ц - (М — д) cos тг(2Ь< - 1)\ 2к ) ’ (16) Как уже отмечалось выше, А:-шаговый оптимальный процесс обладает тем недостатком, что число итераций обязательно должно быть крат- ным к. В случае большого значения к (а это на практике имеет место, так как при этом улучшается скорость сходимости) это ведет к допол- нительным затратам при решении системы. Поставим задачу построения итерационного процесса, который при любом к дает такую же оценку для погрешности, как и /г-шаговый опти- мальный процесс. Исходя из такой постановки задачи, потребуем, чтобы при любом к вектор погрешности rk удовлетворял уравнению rk_.-iT ((М + ц)Е-2А\ 0 Ч М-ц Г Запишем соотношение (17) последовательно для к = к = п + 1. Получим f (М + ц)Е - 2А у М — ц ~~ tn-iTn-i ММ + ц)Е-2А\ 0 Ч М - /1 Ч ’ Г + — tj^Tn-1-l ((М + ц)Е — 2А М-ц п — 1, к = ii, (18) Многочлены Чебышева связаны рекуррентным соотношением Tn+i(z) - 2Тп(х) + Т,= 0. (19) Умножим первое уравнение (18) на Z71_|, третье — на Zn+1, а к обеим о (М + ц)Е — 2А частям второго уравнения применим матрицу — 2tn-------------. Скла- М — ц дывая результаты, получим t 2t (М + fA)E 2А „?н-1 Гп-1Г — —-------г + tn+ir — М — ц ((М + ц)Е — 2А\ /(М + ц)Е-2А\ ~ I. )+Tn+l м~^1 (М + ц)Е-2Агг /(М + ц)Е-2А\\ 0 М-ц Ч М-ц Jjr' (20)
282 Глава 6. Численные методы алгебры Выражение в фигурных скобках в (20) равно нулю в силу (19). Та- ким образом, погрешности г” искомого итерационного процесса должны удовлетворять трехчленному соотношению »>—1 л (1И Т д)-^ — 2И. ... /7-1-1 Д-П -2tn------------у2-------rn + tn+1rn+1 = 0. (21) М — fi, ' Так как г” — х" — X, то подставляя это выражение в (21), получим t х-71-1 — 9/ ~ I < п+1 — ^п~jX Zin X ~r tn_|-iX M — // E -21 + ~ 4-1 f\ X (TH — I tn— lE Ztn м + Т.п+1Е I A.. (22) Вследствие (19) и равенства tn = Tn имеем Ui - 2 + ^-1 = 0, (23) и соотношение (22) может быть переписано в виде l?i+1x”+1 - 2 (tn-Kn + 1?1_.1хп~1 = 4—-~^- (Лх" - Ь). (24) \М — fj. J М — р, Мы получили требуемое, рекуррентное соотношение. Приведем его к более удобному виду. Вследствие (23) равенство (24) можно переписать в виде 1п+1хи+1 - (1„+1 + tn_i)xra + Д^х"-1 = ~'м~++ ^-1)Ихп - b) ИЛИ о Xn+1 = xn + WntUn_1(xn _ х-1) _ __(1 + шпшп_1)(Ах’1 - Ь), (25) где wn = tn/tn+i- Разделив обе части (23) на tn+i, получим , п М + fi 1 2 д < шп Т шпшп— 1 0, М — fj, откуда = 1 j ~ J п₽и п > °’ = Ф/Н- (26) Таким образом, можно рекуррентно вычислять величины ып из (26) и затем векторы х”+1 из (25). Для получения совокупности векторов х1,..., х” потребуется произвести п умножений матрицы на вектор, 0{п) умножений векторов на числа, сложений векторов и операций с числами. При этом для всех к, вследствие (5), (9), выполняется оценка ||xfc-X||2^-l||x°-X||2. (27) Квадратное уравнение w2 - + 1 = 0 М - fi
§6. Оптимизация скорости сходимости 283 имеет два положительных корня А/ + р ± М — д А/ 4- д А М — д J Наименьший из этих корней, равный Af -I- // М — д М 4-д\ М-р) УМ- у/д _ 1 \/А/ 4" -у/д Ао обозначим через ш. Итерационный процесс (25). (26) называют оптимальным (по коли- честву итераций) линейным итерационным, процессом,. При реализации процесса (25), (26) после любых к применений матрицы А мы полу- чаем оптимальный результат в смысле (6). Из сказанного видно, что по скорости сходимости итерационный процесс (25), (26) предпочтительнее, чем (12). Однако иногда от него отказываются в пользу (12) из-за со- ображений экономии памяти ЭВМ. Получим более наглядную оценку скорости сходимости построенных итерационных процессов. Согласно (27) и (11) для оптимального итера- ционного процесса выполняется оценка ||х’г - Х||2 2Ao n||x° - Х||2. Норма погрешности г" уменьшится по крайней мере в е-1 раз, если 2Aq ” е. Отсюда получаем оценку числа итераций, обеспечивающих по- лучение решения с точностью е: п П1 = logAo(2/e) = (111AO)-J 111(2/е). Для многих задач число М/р оказывается очень большим. Поэтому при М/р —> оо имеем Aq = 1 4- 2^/р/М 4- О(р,/М). Таким образом, 1пАо ~ 2\/р/А7, 7ii ~ 0,5Af/д 1п(2/е). Для сравнения рассмотрим оптимальный линейный одношаговый про- цесс, имеющий, согласно (13), оценку погрешности \М — р ) отсюда получаем оценку числа итераций П A 7Z2 = При М/р —> оо имеем А7 4-дЛ М-р) In—. £ М + р 2р In —--~ — М-р М 1М , 1 П2 ~ Л 1П—. 2 Р £ и
284 Глава 6. Численные методы алгебры Таким образом, в этом сравнении оптимальныйитерационный процесс дает выигрыш в числе итераций примерно в \/М/р. раз. Задача 2. Рассматривается итерационный процесс х* = х^' -т^ЦАх*-1 -b), г = 1,2,.... Пусть р нечетное и при всех к совокупности т0, совокупностями ( тг(2г — 1) \ -1 7г—1 = 2 I М + р - (М - р) cos ——*— I , •, Трк-1 совпадают с i = 1,..., рк. Проверить, что при всех i = рк приближения хг совпадают с прибли- жениями, получаемыми по оптимальному линейному итерационному про- цессу. Задача 3. Пусть то — 2){М + /z), tj = 1/М, т2 = 1//г и совокупности t2a+i , -.., T2k+i при каждом к > 1 совпадают с совокупностями величин 7г = 2 I М + р — (М — р) cos тт(2г — 1) \ 2*+! ) i = 1,..., 2к. Показать, что для такого итерационного процесса при всех п = 2fc+1 справедлива оценка ||х" - Х||2 ----------HI*0 - Х||2, - Х||2 = О(АЛ||х° - Х||2. Рассмотрим типичную задачу математической физики, сводящуюся к реше- нию системы уравнений с большим отношением М/р. Пусть в квадрате 0 ay, ,т2 1 решается уравнение Пуассона —Дгг — f при нулевых условиях на границе. Зададимся сеткой с шагами h = 1/Z и напишем систему уравнений, аппроксимирующих дифференциальную задачу: ^Zni+l,n 2unin -р при 0 < т, п < 1\ — 0, если т(1 — т)(1 — п)п = 0. (28) Матрица этой системы является положительно определенной, и для нее > f^hx „ 2 р = пип Xi = 8г sm j ~ 2тг , М = max Aj = 8Z2 cos ~ 8Z2, т.е. у/М/р ~ 2Z/tt. Например, при шаге Z = 30 выигрыш в числе итераций примерно в 20 раз.
§ 7. Метод Зейделя 285 В начале этого параграфа было упомянуто, что при симметризации системы ее свойства могут ухудшаться. Действительно, пусть этот про- цесс применяется к уже симметричной матрице А, т. е. переходим от системы Ах = b к системе А2х = АЬ. Если у старой системы отношение максимального и минимального собственных значений равнялось М/д, то у новой оно будет (М/ц)2 и скорость сходимости итерационных про- цессов будет меньше. Примечание. При п -> оо имеем Таким образом, при больших п итерационная формула (25) близка к формуле zn+l =z»+u,2(zn_zn-l)_^(1+u)2)(Azn_b) (29) М + д Если при п > 1 итерации будут производиться по этой формуле, то при условии z° = х°, z1 = у1 этот итерационный процесс требует примерно столько же итераций, сколько итерационный процесс (25). Задача 4. ности Для итерационного процесса (29) получить оценку погреш- 1|ги+1||2 . 2 + (п - 1)(1 - Ар 2) М1г - 1 + А„~2 "Л“' (30) Указание. Представить погрешность в виде г" — где {е^} — пол- fc=i ная ортогональная система собственных векторов матрицы А. Подстанов- кой в (29) получить разностное уравнение, связывающее z^”1, z%, z£+1. Получить явное выражение для z/ и с его помощью получить требуе- мую оценку (30). Задача 5. Показать, что оценка (30) не может быть улучшена на мно- жестве матриц, удовлетворяющих условию <S'(A) С [д, М]. § 7. Метод Зейделя Пусть решается система уравнений Ах = Ь, все диагональные элемен- ты которой ненулевые. В итерационном методе Зейделя последовательно уточняются компоненты решения, причем А:-я компонента находится из fc-ro уравнения. Именно, если х" = (ж",..., ,т”г)Д то следующее прибли-
286 Глава 6. Численные методы алгебры жение определяется из системы соотношений йцЖ]+1 + Cll2%2 +- • + Olm^m = Ь±, «21ж"+1 + °22^2+1 + «23-Гз + ’ ' ’ + а2тхт ~ (1) + Т Т ’ ' ’ Т ^ттхт Ьт. Систему (1) можно представить в виде Вх"+1 + Схп = Ь, (2) где «11 0 0 . .. 0 \ ( 0 «12 «13 • «1т в = «21 «22 0 . .. 0 , С = 0 0 «23 • ’ «2т «m2 «m3 ’ 0>ГПГП У 0 0 0 •• 0 / Отсюда получаем х"+1 = + р-1Ь. (3) Таким образом, метод Зейделя эквивалентен некоторому методу простой итерации; поэтому для его сходимости при любом начальном приближе- нии необходимо и достаточно, чтобы все собственные значения матрицы В' ^С по модулю были меньше 1. Вследствие равенства det(—В'б' - ХЕ) = det.(—В-1) det(C + BA) собственные значения матрицы (—В“‘(7) являются корнями уравнения det((7 + ВА) = 0. Таким образом, необходимое и достаточное условие сходимости мето- да Зейделя можно сформулировать следующим образом: все корни урав- нения ацА «12 «13 det «21А «22 А «23 1 «т.1^ «т2^ «т.З^ «1т «2 т fynm / (4) должны быть по модулю меньше 1. Часто можно предложить более удобные для применения достаточные условия сходимости метода Зейделя. Задача 1. Пусть при всех i "У , \aij\ #|«гг|> q < 1. Получить оценку 1|х’г -ХНоо
§ 7. Метод Зейделя 287 *1 Рис. 6.7.2 Проблема решения систем ли- нейных уравнений является мо- дельной относительно более слож- ных задач решения систем нели- нейных уравнений и минимизации функций многих переменных. Для перенесения метода на более слож- ные задачи важно понять его наи- более «грубые» качественные свой- ства, обеспечивающие сходимость. С этой целью наиболее желатель- но получить геометрическую интерпретацию метода. Обозначим через Li т плоскость ^^dijXj — bi = 0. При получении приближения (rr"+1,..., s"+1, j=i т"+1,..., а:^) из приближения (т"+1,..., аф+1, - , х'^п) происходит перемещение приближения параллельно оси .тг- до пересечения с плос- костью Li- Таким образом, геометрически метод Зейделя состоит в ци- клическом перемещении точек, соответствующих последовательно получа- емым приближениям, параллельно координатным осям хг до пересечения с плоскостями Рис. 6.7. Гб. 7.3 иллюстрируют при т = 2 случаи, когда метод Зейделя сходится, расходится, имеет цикл (как говорят, «зацикли- вается»). Сравнение первых двух рисунков показывает, что сходимость метода Зейделя может изменить характер при перестановке уравнений. Особенно интересная геометрическая картина возникает в случае, ко- гда матрица А симметричная. Теорема. Пусть А — вещественная симметричная положительно опре- деленная матрица. Тогда метод Зейделя сходится. Доказательство. При симметричной А имеем Р(у) = (Л(у - X), у - X) - (АХ, X) = (Ау, у) - 2(АХ, у) = (Ау, у) - 2(Ь, у). Если А > 0, то (А(у — X), у — X) >0 при у / X, поэтому функция F(y) имеет минимум, и притом единственный, при у = X. Таким образом, за-
288 Глава 6. Численные методы алгебры дача отыскания решения системы Ах = b оказалась равносильной задаче отыскания единственного минимума функции F(y). Одним из методов минимизации функции многих переменных являет- ся метод покоординатного спуска. Пусть имеется приближение (х®,..., ж^) к точке экстремума функ- ции F(xy,..., хт). Рассмотрим функцию Р(хг, х%, • , tJJ,) как функцию Рис. 6.7.4 уровня F(x) = с. Поэтому в выглядит как на рис. 6.7.4. переменной жх и найдем точку х\ ее минимума. Затем, исходя из прибли- жения (ж}, х®,..., ж^п), путем мини- мизации функции F(.Tp ^2, а-з,..., ж^() по переменной х% находим следую- щее приближение (xj, х\, ж®,..., ж^). Процесс циклически повторяется. При уточнении компоненты х± происходит смещение по прямой, параллельной оси .'С/,., до точки с наименьшим на этой прямой значением F(x) = с. Яс- но, что эта точка будет точкой каса- ния рассматриваемой прямой и линии двумерном случае картина приближений Применим метод покоординатного спуска для отыскания экстремума функции F(y). Обозначим F(x) + (ЛХ, X) = (Л(х — X), х — X) через Fq(x). При минимизации по переменной Xk происходит перемещение па- раллельно оси т/,: до точки, где F[ = 0. Следовательно, новое значение Xk определяется из того же уравнения (т \ akjxj ~ bk j =0, 3=1 ' (5) что и в случае метода Зейделя. Таким образом, приближения покоорди- натного спуска минимизации функции F(y) и метода Зейделя решения исходной системы совпадают. Если х" X, то хотя бы одно из уравнений системы не * удовлетво- ряется и соответствующее значение F'. (х”) 0. Выберем среди таких к наименьшее. Тогда при уточнении компонент хх,...,хь-1 мы остаем- ся в точке х", а при уточнении компоненты xk происходит смещение в сторону меньших значений F(x); при уточнении остальных компонент значение F(x) не возрастает. Таким образом, F(xn+1) < F(x"), F0(x"+1) < F0(x"); поэтому F0(x"+1)/F0(x") < 1 (6)
§7- Метод Зейделя 289 при х“ X. Вследствие (3) имеем равенство rn+1 = —В {Сгп, где г" = х« — X. Соотношение (6) можно переписать в виде , (AB^Cr11, В~1Сгп} > =---(Жй------ (7) при гп 0. На сфере ||rn||2 = 1 величина </?(гп) непрерывна, поэтому она достигает своего наибольшего значения </?о- Так как А > 0, то всегда 9?(г”) > 0 и поэтому 9?о > 0. Положим д/ж = А. Вследствие (7) имеем А2 < 1. Очевидно, </?(cr") = </?(г") при любом с 0, поэтому <р(г’г) = </?(гп/||г”||2) при любом г”. Отсюда получаем неравенство F0(xn+1)/F0(x-) А2, (8) и, таким образом, 7'о(х’‘) sC A2'"F0(x°). Из (3.8), (3.9) следуют неравенства шшАгл ||у - Х||^ F0(y) max ХгА ||у-Х|||. Отсюда получаем оценку скорости сходимости ||х”-Х||2 < А",/« Л"./^ ||Х» _ Х||2 mm Ад у пип Ад у min Ад (9) Теорема доказана. Рис. 6.7.5 Из рис. 6.7.5 можно усмотреть, что метод Зейделя сходится быстрее, если направление осей эллипсоидов близко к направлению координатных осей, т. е. матрица А близка к диагональной. В случае, изображенном на рис. 6.7.4, последовательные приближе- ния смещаются все время монотонно влево и вниз. Такая картина — монотонное смещение отдельных ком- понент все время в одном и том же направлении — характерна для ря- да классов матриц. При этом доволь- но часто монотонное смещение наблю- дается именно у компонент решения, скорость сходимости которых наиболее плохая. В этих случаях для ускорения сходимости прибегают к методу релак- сации, который заключается в следую- щем. После уточнения каждой коорди- наты по методу Зейделя производится смещение в том же направлении на р- ю часть этого смещения. Таким обра- 10 - 903
290 Глава 6. Численные методы алгебры зом, приближения отыскиваются из соотношения 1 I \ —1 + С'х’г = Ь, (Ю) D — диагональная матрица с элементами ац по диагонали. Как показала практика вычислений, при А > 0 целесообразно брать показатель релак- сации р в пределах — 1 < р < 1; в случае 0 < р < 1 метод релакса- ции обычно называют методом сверхрелаксации (или методом верхней релаксации). На рис. 6.7.4 изображены символами о приближения мето- да Зейделя, * — метода верхней релаксации при р= 1/4. Например, для уменьшения погрешности в е-1 раз при решении системы (6.28) мето- дом Зейделя требуется порядка сЛ-21п(е”1) итераций. Если применить метод верхней релаксации при р = 1 — д>/г, > 0, то потребуется поряд- ка с((д)Л-1 1п(е"’1 ) итераций. Подбор параметра ю в этой задаче требует детального рассмотрения. В частности, во многих случаях оптимальное значение параметра релаксации р определяется экспериментально. Иногда параметр релаксации р выбирают зависящим от п и i. Для случая А > 0 еще раз обратимся к геометрической картине (см. рис. 6.7.4). После уточнения компоненты Xi по методу релаксации при —1 < р < 1 мы попадаем в точку, лежащую внутри или на границе элли- псоида F(x) = F(x°). Рассуждая так же, как при обосновании сходимости метода Зейделя, заключаем, что при —1 <р < 1 всегда F)(x’1+I) < Fo(x"), если х" 7^ X. Задача 2. Доказать, что при условии |р,г| q < 1 метод релаксации сходится со скоростью геометрической прогрессии. § 8. Метод наискорейшего градиентного спуска Распространенным методом минимизации функций большого числа пере- менных является метод градиентного спуска. Последующее приближение получается из предыдущего смещением в направлении, противополож- ном градиенту функции F(x). Каждое следующее приближение ищется в виде x"+i = xn - gradF(x"). (1) Приведенное описание не определяет алгоритм однозначно, поскольку ничего не сказано о выборе параметра ёп. Например, его можно опре- делять из условия минимума величины F (х” — <5„gradF(xn)). (2) В этом случае рассматриваемый метод называют методом наискорейшего градиентного спуска или просто методом наискорейшего спуска.
§ 8. Метод наискорейшего градиентного спуска 291 Для функции F(x) = (Ах, х) — 2(Ь, х), соответствующей системе ли- нейных уравнений с матрицей А = А7 > 0, задача нахождения минимума решается в явном виде. В этом конкретном случае grad F = 2(Ах — Ь) и х"+1 = хп _ 2<5п(Ах" - Ь). Обозначим 2ёп через А„, т.е. положим х"+1 = хп _ дп(Лхп _ ь) (3) Пусть <ДА,() = F(x’1+1). Вспоминая, что А = А1, вычислим <Д(Д71). Имеем 9?(Д„) = F(x") - 2А„(Ах" - Ь, Ах" - Ь) + (А(Ах" - Ь), Ах" - Ь)А„ - - (Ах" - Ь, Ах" - Ь)) = О, откуда (Ах" - Ь, Ах" - Ь) (А(Ах" — Ь), Ах" — Ь) (4) На рис. 6.8.1 изображены последо- вательные приближения метода наи- скорейшего спуска и линии уровня функции F. Итерационный процесс (3), (4) называют методом наискорей- шего спуска решения рассматриваемой системы линейных уравнений. Пусть собственные значения матри- цы А расположены на [//, М\, т. е. SA С [//, М]. Рис. 6.8.1 Теорема. Приближения метода наи- скорейшего спуска удовлетворяют со- отношению Д)(х") М — р\ М + р) 2п Fo(x°), F0(x) = (А(х - X), х - X). (5) Доказательство. При у" = х" произведем одну итерацию оптимального одношагового итерационного процесса 9 уП+1 = у"-]й—Иу"-Ь). (6) Погрешности итераций г" = у" — X связаны соотношением r"+1 = (Е----—А ) г". у 7V/ J
292 Глава 6. Численные методы алгебры Пусть ei,...—ортонормированная система собственных векторов ма- трицы А: Аег = А,;е,, (е,;, е^) = Поскольку А, ^ М, то при всех г выполняются соотношения М — д < 1 2 < М — р. М + М + ц г М + р, и, таким образом, I 2 I М-v I М + ц М + ц' Пусть r“ — Y^ciei- Справедливы соотношения С учетом (7) получаем (Ar"+1. r"+1) SC f(Arn, r"). 7 \M + ц) Поскольку Fo(yn) = (Ar", г"), то это означает, что W+1) < (т7Т£')2г«(у”) = \M + Ц ) \М + (j, J Приближение y"+1 можно записать в виде (1) у"+1 = х" — a gradF(x"), а=(М + ц)~л. Так как на х"+1 достигается минимум F(x) среди всех приближений вида (1), то F(x’l+1) F(y"+1). Отсюда следует оценка F0(x"+1) F0(y"+1) F0(x"), \ М + fi J а поэтому и справедливость утверждения теоремы. Аналогично (7.9) можно получить неравенство Хотя на каждом шаге метода наискорейшего спуска уменьшение ве- личины ТЬ(х) заведомо не меньше, чем у итерационного процесса (6),
§ 8. Метод наискорейшего градиентного спуска 293 мы получили примерно одинаковые оценки скорости сходимости. Однако есть принципиальное различие в этих методах. Для написания итерацион- ного процесса (6) требуется информация о границах спектра р, М. В случае метода (3), (4), такой информации не требуется. Отметим также то важное обстоятельство, что метод наискорейшего спуска является нелинейным итерационным методом; параметры метода на каждом шаге выбираются в зависимости от полученного приближе- ния. У метода наискорейшего спуска (3), (4), однако, есть следующий недостаток по сравнению с простейшим процессом (6). При нахождении каждого следующего приближения он требует не одной, а двух трудоемких операций умножения матрицы на вектор. Двукратного умножения матрицы на вектор при каждой итерации можно из- бежать следующим образом. Обозначим w" = Ах" — Ь и перепишем (3) в виде x"+i = х" - A„w". (8) Вектор w" называется вектором невязки. Умножая (8) слева на А и вычитая Ь, получим w"+i = w"- A„Aw". (9) Формулу (4) для определения Дп можно записать в виде В процессе итерации запоминаются векторы х", w" и на каждом шаге последо- вательно вычисляются Aw", Д„, x"+1, w"+1. В исходном методе наискорей- шего спуска (3), (4) погрешность на шаге итерации равносильна возмущению начального приближения и, поскольку процесс сходящийся, ее влияние долж- но иметь тенденцию к затуханию. В итерационном процессе (8)- (10) накопление вычислительной погрешности носит более сложный характер. Задача 1. Получить оценку скорости сходимости метода наискорейшего спуска ||х” - Х||2 (1 - д/М)”||х° - Х||2. Реальный выбор итерационного процесса должен производиться с уче- том имеющейся информации о границе спектра, объеме и структуре па- мяти ЭВМ. Например, при решении сеточных уравнений, аппроксими- рующих дифференциальные уравнения в частных производных, иногда идут по следующему пути. Рассматривая задачу на более крупной сетке, проводят вспомогательную работу по возможно более точному опреде- лению значений р и М, соответствующих более мелкой сетке, а затем применяют оптимальный линейный итерационный процесс.
294 Глава 6. Численные методы алгебры Обратим внимание на интересное обстоятельство. Из геометрической картины итераций метода Зейделя видно, что скорость сходимости мето- да не меняется при умножении уравнений системы на множители и изме- нении масштабов по координатным осям, равносильном замене = кц^. Иначе обстоит дело в случае метода наискорейшего спуска. Пусть, например, А = Е — единичная матрица. Тогда т т П(х) = (Ах, х) - 2(Ь, х) = - i^biXi i=l г=1 и метод наискорейшего спуска сходится за одну итерацию (доказать!). Произведем замену масштабов Х{ = Еу^, кг > 0. Матрица системы А в данном случае будет диагональной с элементами на диагонали, равными ki- Тогда минимизируется функционал т т Лу) = (Ау, у) - 2(Ь, у) = ^kiy? - 2^ЬЦН- i=l г=1 При большом разбросе к; линиями уровня функции F будут силь- но вытянутые эллипсоиды и скорость сходимости метода наискорейшего спуска будет очень медленной. § 9. Метод сопряженных градиентов Метод сопряженных градиентов предназначен для решения систем ли- нейных алгебраических уравнений Ах = b (1) с симметричной положительно определенной матрицей А. Предположим, что мы имеем некоторое начальное приближение х°. Обозначим через г° = А(х° — X) невязку начального приближения; здесь X — точное решение системы (1). Поставим следующую задачу — постро- ить многочлен -Ри(А) степени п, удовлетворяющий условию „Рп(0') = такой, что значение функционала F(xn) = (Ax'", х") — 2(Ь, х’"), где х” находится из соотношения гп=Рп(А)г°, (2) будет минимальным. Так как F(V) = (Ay, у) - 2(b, у) = ||у - Х||2 - ||Х|а = ||Ay - b||2 _х - ||Х|Ц то данная задача может быть переформулирована следующим образом. Требуется найти Рп(Х), Рп(0) = 1 такой, что норма невязки ||гп||д-1 будет минимальной.
§ 9. Метод сопряженных градиентов 295 Покажем, что эта задача всегда разрешима единственным образом. Пусть п Ч PnW = ^c^Xk, 4И) = 1 и г° = £Пе;, (3) /г=0 1=1 где п 7^ 0, i = 1,.. -, q, а ег — собственные векторы А, соответствующие различным собственным значениям А. Представление (3) всегда возмож- но, так как матрица А симметрична и невырождена. Вектор гп имеет вид Мы ищем минимум этого выражения относительно коэффициентов с^. Приравнивая частные производные нулю, получим ^7 j=0 \i=0 J — 2^2 ( ] = 2(r?l’ А/-1г°) = О, Z = 1,..., И. Z=0 \.7=0 J Таким образом, в точке минимума должны выполняться равенства (г", Агг°) = 0, Z = O,...,n-l. (4) Пусть п 5^ q — 1. Из курса линейной алгебры известно, что векто- ры г°, Ar0,..., А9-1!-0 образуют линейно независимую систему (про- странство Крылова). Действительно, допустим противное. Тогда суще- ствуют постоянные со,..., c9_i, не равные нулю одновременно, такие, что 9-1 J^CiAV0 — 0. Подставляя вместо г° его разложение из (3), получим i=0 9—1 9—1 9 9—1 9 9 /9—1 \ 53^А r = = ~ У^Г.7е.7 I ) = О' г=0 г—0 j— 1 j=l \г=0 /
296 Глава 6. Численные методы алгебры Таким образом, так как Tj 0, то должны выполняться равенства <7-1 = 0, j = 1,..., q, (5) г=0 т. е. коэффициенты сг должны удовлетворять системе уравнений (5). Определитель матрицы системы (5) совпадает с определителем Вандер- монда и отличен от нуля, поскольку все Xj различны по предположе- нию. Отсюда следует, что равенства (5) могут выполняться только при со = = cq-i = 0. Таким образом, векторы г°, Аг°,..., Л</-1г0 действи- тельно образуют линейно независимую систему. Многочлен Рп(Х) имеет п неизвестных коэффициентов (Ри(0) = 1); так как система линейных алгебраических уравнений (4) невырождена, то коэффициенты cj. , к = 1,..., п находятся из нее однозначно. Это означает, что поставленная задача всегда имеет единственное решение. После нахождения коэффициентов с^\ к = 1,...,п, значение х” из (2) находится следующим образом. Имеем УГМ = _ х = Рп(Л)(х° - X) = ~ X) = А:=0 п п = J24n)^(x° - х) + х° - X = х° - X + ^с^А^ДАх0 - Ь), k~L к~1 откуда следует х" = х° + У^с^Л^ЧАх0 - Ь). к=1 Обозначим через линейную оболочку векторов г°, Аг°,..., А^г°. Из построения видно, что г7 = Pj(A)r° G Lk, :1<к. Покажем, что г°, г1,..., г” образуют базис в Ln. Доказательство про- ведем индукцией по п. Для п = 0 утверждение очевидно* Предполо- жим, что для п = к векторы г°, г1,..., г* образуют базис в (и> как следствие, являются линейно независимыми). Покажем, что систе- ма г°, г1,..., rfc+1 также линейно независима. Предполагая противное, получим к к. rfc+i = Где 0 г—0 £=0 Тогда rfc+1 G Lfc. С другой стороны, в силу (4), вектор rfc+1 ортогона- лен векторам г°, Лг°,..., Afcr°, образующим базис в Д.., а значит и всем векторам из L^. Так как по предположению rfc+1 G L^, то это возможно
§ 9- Метод сопряженных градиентов 297 лишь при rfc+1 = 0, что противоречит исходной посылке о линейной зави- симости г°, г1,..., rfc+1. Полученное противоречие доказывает линейную независимость г°, г1,..., rfc+1. Так как г°, Аг0,..., А7г-1г° образуют базис в Ln_i, то соотношения (4) означают, что вектор гп ортогонален всему подпространству Ln_i, что в свою очередь может быть (по доказанному выше) записано в виде (г71, г') = О, I = 0,..., п - 1. (6) Покажем, что векторы г°, г1,..., г77-1, Аг"-1 также образуют базис в Ln- Вектор г”"1 по доказанному имеет вид я—1 г"1 = = 1, Л-0 и этот вектор ортогонален векторам г°, Аг°,..., An-2r°. Коэффициент 4-1^ не равен нулю. Действительно, предполагая = получим 71 — 1 71 — 2 г71-1 = = k=0 /г~0 п—2 Тогда по построению ^АЛ = P7t_2(A), откуда = cj4-2\ к — к=о О, —2, и г”-1 = гп~2, что противоречит ортогональности векторов Г»—1 и j.n—2 Предположим, что векторы г°, г1,..., гп-1, Аг77-1 не образуют линей- но независимую систему. Тогда Ar'"-1 G Ln_\. С другой стороны, Аг"-1 = Ус{^Ак+'г° = ус^-1У>Ак+1г° + cjT^^AM. k=0 к-0 Но по доказанному выше векторы г°, Аг°,.... А"г° линейно независимы при п q — 1 и 0, т.е. Аг71-1 0 L„_\. Полученное противоречие показывает, что векторы 1г°, г1,..., г"-1, Аг71-1 действительно образуют базис в Ln- Тогда вектор rn G Ln может быть разложен по этой системе единственным образом 71—1 г71 = + 7„ Аг71-1. (7) к=0 Так как по построению г71 ортогонален г-7 при j = 0,..., п — 1 и (Аг71-1, г7) = (г71-1, Аг7) = 0 при j = 0,..., п — 3, то из (7) следует, чт° 'Ук — 0, к = 0,..., п — 3. Тогда (7) имеет вид rn = Tti-iv71-1 + 7n_2rn“2 + 7nAr77-1. (8)
298 Глава 6. Численные методы алгебры Из разложений г7 = г° + У^с^Лкг°, j = п — 2, п — 1, Лг”-1 = к=1 k=o и условия (Лг71-1, г°) = 0, п 2, получаем ро = 0. Тогда из (8) имеем г" = (7п-1 + 7п-2)г° + Ёс1’1)^г° = Рп(А)г°. к=1 Но Рп(0) = 1, откуда 7га_ 1 + 7,1-2 = 1, и уравнение (8) может быть пе- реписано в виде г" = 7,,-ir"^1 + (1 - 7n_1)r71-2 + 7пЛг’г“1. Вводя обозначения 7„-i — 1 = ап-1, 7« = получим окончательное соотношение, связывающее невязки на трех соседних слоях гп = гп-1 + агг1(г«-1 _ гп-2) + J0n_1Arn-1. (9) Подставляя в (9) вместо г3 его выражение Ах3 — b и применяя к обеим частям равенства оператор Л-1, получим X71 = хп-1 + ап1 (хп-1 _ хп-2) + /?п_1 (Лхп-1 _ ь) (Ю) По доказанному выше, метод (10) эквивалентен исходному методу (2), который определен однозначно. Отсюда следует, что коэффициенты an_i, [Зп-1 находятся из условий (6) ортогональности невязок единствен- ным образом; система уравнений для определения этих коэффициентов имеет вид (1 + «„-!) ||г—1II2 4- /?„-! ||г—11|2 = 0, - an_i||rn“2||2 + ^-ЦЛг"-1, г71-2) = 0. На первом шаге, когда известно значение х° и надо найти х1 из условия минимума функционала ^(х1), получаем формулу Летода наи- скорейшего градиентного спуска г1 = г° - Аг° (12) или, что то же самое, РЫО-Ь), (13) |1г°||2 т.е. а0 = 0, Д = - - -2 .
§ 9. Метод сопряженных градиентов 299 Покажем конечность итерационного процесса (10), т. е. что за конеч- ное число итераций при отсутствии ошибок округления мы получим точ- <7 ное решение исходной системы (1). Пусть, как и ранее, г° = где г=1 е, — собственные векторы А, отвечающие различным собственным зна- чениям. Обозначим через Lg_i линейную оболочку векторов ei,...,eg. Так как все гк, к = 0,. — 1, находятся из соотношений (9), (12), то rfc G Lq-i и образуют в нем ортогональный базис. Вектор г9 G Ь9-1 и по доказанному выше ортогонален векторам г0,..., г9-1. Это возможно только в случае г9 = 0. Таким образом, производя q итераций по формулам (13), (9), мы по- лучим точное решение системы уравнений (1) при условии отсутствия ошибок округления. Оценим скорость сходимости метода. Для этого применим прием, ко- торый уже употреблялся при оценке скорости сходимости метода наиско- рейшего градиентного спуска. Пусть у0 = х° и у-7 — приближения, полу- чаемые при решении уравнения (1) линейным оптимальным процессом. Тогда по доказанному в § 6 погрешности w" == у" — X удовлетворяют соотношению w" = Qn(A)w°, ОДО) = 1, (14) и имеет место оценка iiz'i / л\п . у/М + ДД НОДА)II где Ао = ~7=------. Ло + Ло V М — у/ц Отсюда, в частности, следует, что Получим оценку скорости сходимости линейного оптимального про- цесса в других нормах. Пусть w° = (Нетрудно видеть, что wi — I'i/Xi.) Тогда Q <7 w" = Qn(A)w° = У~ШгОДЛ)ег = y^WiQn(Xj)ei г=1 г=1 <7 <7 нп|1л = (Awn, wn) = Y^w^XiQ^Xi) max Q^AJ^A^wf = l0
300 Глава 6. Численные методы алгебры т. е. 9 rl|w°U (15) Ло + ло Так как ||wn||2 = (А(уп - X), уи - х) = (a-W71 - b), Ау" - ь) = Н^Нд-ы где z” = /lwn. то из (15) следует оценка HIU-. < (16) Ло + Ло Применяя к обеим частям (14) матрицу А, получим уравнение, связы- вающее невязки на n-м и нулевом шагах линейного оптимального про- цесса ъп = Q„(A)z° = Qn(A)r°. (17) По построению вектор гп минимизирует функционал ||у||д-1 среди векторов вида (2) или, что то же самое, х" минимизирует Е(у) сре- ди векторов у таких, что г = у — X имеет вид (2). Тогда F(xn) F(y"), откуда Но так как Цг71!^-1 = ||xn —Х||д, то из последнего соотношения получаем оценку скорости сходимости метода сопряженных градиентов l|x"-X|U< ||x°-X|h. (18) Ло + ло Замечание. Мы не обсуждали вопрос численной устойчивости нахожде- ния параметров ап, (Зп, поскольку он требует специального рассмотрения. § 10. Итерационные методы с использованием спектрально-эквивалентных операторов Кроме методов простой итерации вида хп+1 = х« _ а(Лхп _ ь) (1) часто применяются итерационные методы Bxn+1 = Вх” - а(Ахп - Ь), (2) где матрица В 7^ Е такова, что система уравнений Бу = с легко может быть решена. Если соотношение (2) умножить на В~г, то получится х«+1 = х« _ ад-1(дх« _ Ь).
§ 10. Итерационные методы 301 Таким образом, итерационный процесс (2) равносилен методу простой итерации с матрицей Е — аВ~1А. Рассмотрим случай, когда А > 0 и отношение максимального М и минимального д из собственных значений матрицы А велико. Тогда рас- сматривавшиеся ранее итерационные процессы сходятся медленно. Пусть В > 0 и Л/i = sup X (Ах, х) (Вх, х) ’ Ml = inf X (Ах, х) (Вх, х)' (3) Предположим, что система уравнений с матрицей В легко решается И ЛД/Д1 < М/р. В случае, когда отношение не очень велико, итерационные ме- тоды типа рассматриваемых в настоящем параграфе принято условно называть итерационными методами с использованием спектрально-экви- валентных операторов (Л. В. Канторович, Е. Г. Дьяконов). В настоящее время эти итерационные методы называют методами с переобуславлива- нием, а матрицу (оператор) В переобуславливателем. Покажем, что при удачном подборе матрицы В метод итераций (2) обладает лучшей схо- димостью по сравнению с простейшим методом (1). Точное решение X удовлетворяет равенству ВХ = ВХ — а(Ах — Ь); вычитая его из (2), получим уравнение относительно погрешности Br"+1 =Вг"-гМг". (4) Приведем матрицу В при помощи ортогонального преобразования к диа- гональному виду. Пусть В = U2 AU, где (Ai 0 \ О хт ) U — ортогональная матрица. Заметим, что все А? > 0. Через у/В принято обозначать матрицу вида / +ДаД о \ и. \ 0 Еу/Хт / Очевидно, у/В > 0, (х/В)7 = л/В, у/Ву/В = В. Умножим обе части урав- нения (4) слева на (у/В)~1 и положим \/Вг” — v”. Получим равенство v”+1 = v"_ aCvn, (5) где С = (у/В)~гА(у/В)~1.
302 Глава 6. Численные методы алгебры Положив Вследствие соотношений А = А1, (\/В) = (у/В)7, матрица С симме- трична. Рассмотрим выражение w(t) = (Сх, х)/(х, х). (у/В)-1х — у, можем написать равенство w(x) = w(VBy) = (Лу, у)/(By, у). (3) имеем w(x) G [/ti, Mi], поэтому все собственные значения С также принадлежат отрезку [/ti, Mi]. Согласно матрицы При a = 2/(Mi + pi) собственные значения матрицы E — aC по моду- лю не превосходят величины (Mi — pi)/(Mi + pi). Поэтому ||E — aC||2 (Mi — pi)/(Mi + pi) и аналогично (6.13) имеем VMi +pi Напомним, что ||vn ||2 = у/Йг71) = Если 0 < р2 (By, у)/(у, у) М2 при всех |2- (6) \/(Вгп, г71). у, то из (6) следует оценка Ml - /21 Ml - Pl Mi + pi \/М2 Так как функция М-р _ 1 - (р/М) Al 4~ р 1 Т (р/\М) монотонно убывает с уменьшением М/р, то скорость сходимости нового итерационного процесса быстрее, чем у (1). При окончательном решении вопроса о переходе от итераций по форму- лам (1) к итерациям по формулам (2) следует учесть количество арифме- тических операций, выполняемых во время этих итераций. Если итерации по формулам (2) требуют существенно большего количества, операций, то такой переход может оказаться нецелесообразным. Задача 1. Пусть Т(А)— количество арифметических операций, выполня- емых во время одной итерации по формуле (1), Т(В) — количество ариф- метических операций, выполняемых во время одной итерации по форму- ле (2). Привести соображения в пользу того, что переход к итерациям по формуле (2) целесообразен, если Т(В) (ьЛ1+М1 \ Ml - pi М-р, По аналогии с тем, как по итерационному методу (1) был построен метод (2), можно построить аналог любого из рассматривавшихся в §§ 8- 10 методов.
§ 10. Итерационные методы 303 Пусть имеется итерационный процесс, где погрешности последующих прибли- жений связаны равенством r"+1 = г’1. \ i=l / Напишем равенство v’l+i ' к \ Е-^а^ I vn, < г=1 / (7) где С — (у/В) 1А(у/В) положим vn = у/Вт" и умножим (7) слева на у/В. Получим уравнение k Brn+l = Brn - ^аДАВ ^У^Аг’1. Z=J Такое уравнение для погрешности соответствует итерационному процессу k Bx’l+1 = Bxn - ^аДАВ-1)4"1^” - b). (8) i=l Если произвести оптимизацию параметров at так, чтобы оценка отношения норм ||v’l+1 Ц2/Цv’11|2 была наилучшей, то так же, как в § 6, получится наилуч- ший итерационный метод вида (8). Аналогом оптимального линейного итерационного метода (6.25), (6.26) будет итерационный процесс 2 Ву»+1 = By’1 + WniJn^B(yn - у’1-1) - (1 + ц>,гйп-1)(Ау’1 - Ь), -Г где й)п строятся по Mi и Д1 так же, как а>п по М и д (см. (6.26)). Объединением метода (2) с методом наискорейшего спуска является следую- щий метод. Приближение х"+1 ищется из соотношения Вх"+1 = Вх’1 - а„(Ах” - Ь). (9) При этом коэффициент ап определятся из условия минимума функционала F(x’l+1) = (Ax’l+1, x”+1) - 2(b, x’l+1). Из (9) получаем Jxn+1 В—------= —(Ах" - b). dOin Поскольку dF(x"+1) dcxn = 2 f Ax"+1 -b, = \ dcy.n J = 2(A(x” - anB-1(Ax” - b)) - b, —B-1(Ax" - b)), то условие dF/dan = 0 является линейным уравнением относительно ап. Аналог итерационного процесса (9.10) имеет вид Bxn+1 = Вхп + а„(Вх” - Вх"'1) + /Зп(Ах” - Ь).
304 Глава 6. Численные методы алгебры Методы, рассмотренные в этом параграфе, получили широкое при- менение при решении систем уравнений Лх = b с большим разбросом собственных значений матрицы Л > 0. § 11. Погрешность приближенного решения системы уравнений и обусловленность матриц. Регуляризация Предположим, что матрица и правая часть системы заданы неточно и вместо предъявленной к решению системы Лх = b (1) в действительности должна была решаться некоторая система Л1Х = bi, Л1 = Л + Д, bi = b + г]. (2) Пусть известны оценки ||Д|| и ||т,||. Займемся оценкой погрешности ре- шения. Сначала выделим главный член погрешности. Будем обозначать ре- шения (1) и (2) через X и X* и разность X* — X — через г. Подставив выражения Л1, bi и X* в (2), будем иметь (Л + Д)(Х + г) = Ь + т?. Вычитая из этого равенства (1), получим Аг + ДХ + Дг = ту, откуда Аг = т) — ДХ — Дг и г = Л~’1(т/- ДХ-Дг). (3) Если ||Д|| и ||т,|| малы, то следует ожидать и малости ||г||. Тогда слагае- мое Дг имеет более высокий порядок малости; отбрасывая 'то слагаемое, получаем г« Л^-ДХ). Отсюда следует оценка погрешности ||г|| < а ъ ||Л’11| (И + ||Д||||Х||). (4) Строгая оценка погрешности получается следующим образом. Вслед- ствие (3) выполняется неравенство Цг|| < р-1!! н +1|л-11| ||д|| цх|| +1|л-1!! ||дц ||г||.
§11. Погрешность приближенного решения системы 305 Предположим, что ||Л“11| ||Д|| < 1. Перенеся последнее слагаемое в левую часть и поделив неравенство на коэффициент при ||г||, получим оценку НЛ^Н (и + ||Д|| ||х||) i-M-l НН (5) Довольно распространен случай, когда погрешность матрицы системы существенно меньше погрешности правой части. В качестве модели этой ситуации будем рассматривать случай точного задания матрицы системы. Тогда, полагая в (5) Д = О, имеем И С Щ-1!! ||< Для качественной характеристики связи между погрешностями правой части и решения вводятся понятия обусловленности системы и обусло- вленности матрицы системы. Абсолютные погрешности правой части и решения системы зависят от масштабов, которыми измеряются коэффи- циенты системы. Поэтому удобнее характеризовать свойства системы че- рез связь между относительными погрешностями правой части и реше- ния. Соответственно этому в качестве меры обусловленности системы при- нимается число Отсюда получаем оценку обусловленности системы т = sup »7 1И1 и V М Ч11 и ЦХ|Г1|ьц; !|Х)| ЛЫ1 относительной погрешности решения через меру и относительную погрешность правой части: (6) Цх|Г ць|Г Так как г = Л 1т/, то sup = II Л-1 II и ЦЬ|| ЦХ|| Иногда удобнее иметь более грубую характеристику свойств системы только через свойства матрицы Л. Эту характеристику ы(А) = sup т на- ь зывают мерой (или числом) обусловленности матрицы А. Согласно это- му определению и (6), имеем оценку
306 Глава 6. Численные методы алгебры связывающую относительные погрешности правой части и решения толь- ко через свойства матрицы системы. Так как ЦЬ|| ||Лх|| .|л.. SbP ||Х|| Т ||х|| 11 |Ь то 1/(Л) = И1 1И-1И- Поскольку любая норма матрицы не меньше ее наибольшего по модулю собственного значения, то ||Л|| шах|Ад|; поскольку собственные значе- ния матриц А и Л”1 взаимно обратны, то ||Л-11| шах—-- = - . 1 — |Ад| тш|Ад| Таким образом, р(Л) тах|Ад|/тт|Ад| 1. В частности, при Л = Ат имеем ЦЛЦ2 = шах |Ад| и || А~11|2 = max ——- =---—г. 11 112 |Ад| тш|Ад| Следовательно, в случае нормы || Цг v(A) = max | Ад | у/ min |Ад|. Рассмотрим вопрос о погрешности решения вследствие округления в ЭВМ правой части. Пусть, как обычно, t — двоичная разрядность чисел в ЭВМ. Каждый элемент bi правой части округляется с относительной погрешностью О(2~4), т.е. с абсолютной погрешностью, равной O(|bj|2-t), поэтому IMI = о(||Ь||2-‘) и |Н|/||Ь|| = О(2-‘). Следовательно, ||г||/||Х|| < р(Л)О(2-‘). При практической работе вопрос о строгой оценке погрешности полу- ченного приближенного решения системы линейных уравнений с помо- щью полученных неравенств или каким-либо иным способом возникает редко. Однако информация о порядке погрешности решения часто по- лезна для получения качественных выводов о том, с какой точностью разумно решать задачу. Соотношения (4), (5) оценивают сверху погреш- ность решения, являющуюся следствием погрешности исходных данных. Из равенства (3) видно, что оценки (4), (5) довольно точны, поэтому обычно не имеет смысла стремиться получать решение задачи с погреш- ностью, существенно меньшей чем ст.
307 § 11. Погрешность приближенного решения системы Системы уравнений и матрицы с большими значениями мер обусло- вленности принято называть плохо обусловленными, а с малыми — хоро- шо обусловленными. Если правая часть (4), оценивающая погрешность решения через погрешность исходных данных, или оценка вычислитель- ной погрешности недопустимо велики, то полезно принять во внимание какую-то дополнительную информацию о решении рассматриваемой за- дачи. Подход к решению такой задачи должен быть таким же, как в случае некорректных задан. Рассмотрим простейший случай, когда А — симметричная матрица. Пусть Ai,..., Хт 0 — ее собственные значения, упорядоченные в поряд- ке убывания |Аг|; соответствующую ортонор мированную систему собствен- ных векторов обозначим через ei,...,em. Решением системы Ах = b является вектор т (b, e,) При реально заданной правой части b = b + fj решением будет (Ь, ег) + (т/, ег) / > х е«- Коэффициент (т/, щ)/Аг может оказаться очень большим при малых Аг, что ведет к сильному искажению решения. Иногда заранее известно, что 171 в разложении искомого решения задачи ^^Cjej коэффициенты с,;, соот- ветствуюгцие малым по модулю Аг, малы. В этом случае следует принять какие-то меры с тем, чтобы «отфильтровать» эти составляющие решения. При небольших тп для решения этой задачи иногда применяется сле- дующий способ: задаются некоторым q > 0, находят все Аг и ег; при i С q и полагают q следует подобрать исходя из дополнительной информации о задаче. Другие два способа проиллюстрируем на примере матриц, где все Ai > 0. Первый способ. Задавая некоторое а > 0, находим решение х' стомы (аЕ + А)ха = Ь. Оно записывается в виде (Ь, ег) „
308 Глава 6. Численные методы алгебры Так как 11 а Aj Aj + a Aj(Aj + а) то наличие малого параметра а несущественно изменит слагаемые, соот- ветствующие большим Aj. В то же время при А, имеем (Ь, ej) (b, ej) Aj + ex Aj Это означает, что введение параметра а приводит к существенному уменьшению роли слагаемых, соответствуюших малым Aj. Подбор опти- мального значения а обычно осуществляют экспериментально, сравнивая результаты расчетов при различных а. Второй способ заключается в следующем. Будем решать систему уравнений каким-либо итерационным способом. Рассмотрим случай ите- раций по формуле хП+1 = ХП _ Q(?lxn _ J,) (?) при некотором начальном приближении х°. Пусть тп т Ь = 52 = 52 г—1 г~1 Подставим эти выражения в (7) и, приравнивая коэффициенты при е/, получим соотношения = оД- + (1 - «Аг)г’г. Последовательно выражая каждое zk через предыдущие, имеем = afti + (1 ~ aAj)z”-1 = aPi + (1 - ofAj)(a/3j + (1 - оА,)г"~2) = • - • 71—1 = а&52(1 - аХ^ + U ~ aXi)n*i- k=0 Если |1 — aAj| < 1, то при п —> оо п— 1 ОО 1 52(1 - aAj)fc -> 52(1 - ехХрк = —; (1 - ofAj)" -> О, к=0 к=0 г поэтому zf —> Pi/Xi- Пусть а ~ (maxAj)-1, т.е. относительно мало. При больших значениях Aj величина (1 — exXi)n быстро стремится к нулю с ростом п и д" близко к своему предельному значению ft/Aj. В то же время иногда удается подобрать начальное приближение, для которого величины относительно малы при малых Aj. Тогда при небольшом п коэффициенты zf, соответствующие таким Aj, еще не будут недопустимо большими и получаемое приближение может оказаться приемлемым.
§ 11. Погрешность приближенного решения системы 309 В других случаях решение задачи находят, минимизируя некоторый функционал, близкий к F(x) = (Лх, х) - 2(Ь, х), например функционал F(x) + а(х, х) с малым а > 0. Успешность применения описанных приемов в случае несимметричных матриц А в существенной степени зависит от структуры жордановой формы и от ряда свойств матрицы. Здесь часто решение находят, ми- нимизируя функционал (Лх — Ь, Лх - Ь) + а(х, х) при малых а > 0; значение а опять-таки подбирается экспериментально из сравнения результатов расчетов при различных а. Другая группа методов основана на представлении матрицы системы А в виде Л = GAP, где G и Р — ортогональные матрицы, а Л — двухдиагональная матрица, у которой могут быть отличными от нуля элементы Хц при j — г и j = i + 1. Большинство из описанных методов решения систем уравнений с пло- хо обусловленной матрицей относится к методам регуляризации. Задача 1. Пусть -матрица размерности тхт с элементами {р при j = i, q при j = i + 1, 0 при j i,i + 1. 1. Вычислить матрицу (Л^)"1 и доказать утверждение: при |<у| < |р| матрицы Л(т) в некотором смысле хорошо обусловлены, а при |<у| > |р| и т больших плохо обусловлены. 2. Выписать явно решение системы Л^'^х = b через правую часть. 3. Выписать явно через правую часть b вектор xQ, минимизирующий функционал (Л(т)х - ь, А^х - Ь) + а(х, х). 4. Попытаться качественно описать эффект, достигаемый за счет при- менения такой регуляризации. Объясним еще одну причину, по которой стараются избегать симме- тризации матриц, предложенной в § 6. Сначала посмотрим, что проис- ходит, когда операция симметризации применяется формально в случае симметричной матрицы. Тогда Л = Лт и ЛТЛ = Л2. При возведении ма- трицы в квадрат собственные значения возводятся в квадрат, поэтому при ||Л|| = ||Л||2 имеем 2 _ шах|Лл1| _ (тах|Лл|)2 2 ' > - шт|Лл.| ~ •
310 Глава 6. Численные методы алгебры Если >у(А) = 1, то тах|Ад| = тт|Ад| и все собственные значения матри- цы А равны между собой по модулю, т. е. А = const -Е. За исключением этого частного случая i>(A) > 1, поэтому v(A?) > v(A'). Таким образом, в случае симметричной матрицы применение симметризации увеличива- ет число обусловленности. Число обусловленности является непрерывной функцией от матрицы, поэтому для матриц, близких к симметричным, применение симметризации также увеличивает число обусловленности ма- триц. Таким образом, имеется непустой класс несимметричных матриц по отношению к которым алгоритм симметризации увеличивает число обусловленности. Задача 2. Существуют ли несимметричные матрицы, для которых р(Л2) = (п(А))2? Рассмотрим еще один метод решения плохо обусловленных систем ли- нейных алгебраических уравнений. Пусть Ах = Ь. (8) Относительно А будем считать, что в спектре матрицы А*А есть как собственные числа Xj порядка 1. так и собственные числа, близкие (или даже равные) к нулю. Это как раз и означает, что матрица А плохо обусловлена. Заметим, что в силу наших предположений относительно собственных значений матрицы А* А, часть из них может быть равна нулю. Таким образом, уравнение (8), вообще говоря, может не иметь решения в клас- сическом смысле. Назовем решением X уравнения (8) вектор, который минимизирует функционал невязки, а именно, X = arg min || Ay — b||; (9) у здесь и далее в этом параграфе под нормой мы будем понимать ев- клидову норму вектора. Выписывая уравнение Эйлера для функционала Ф(у) = ||Лу — Ь||2, мы получим ААх = АЬ. (10) Уравнение (10), в отличие от (8), всегда имеет решение. Действитель- но, непосредственной проверкой убеждаемся, что кег АЛ = кег А Необ- ходимым и достаточным условием существования решения линейной си- стемы уравнений (10) является ортогональность правой части ядру ма- трицы системы, т. е. вектор Л*Ь должен быть ортогонален ядру кег АД которое, как мы отметили выше, совпадает с ядром кег Л. Но из вида правой части видно, что она действительно ортогональна ядру А. Та- ким образом, система (10) всегда имеет решение. В общем случае таких решений может быть несколько.
§ 11. Погрешность приближенного решения системы 311 Описываемый ниже метод заключается в минимизации функционала ф(у) методом оптимального покоординатного спуска; на каждом шаге выбирается координата, спуск по которой будет оптимальным в смысле минимизации Ф(у). В качестве координатных (базисных) векторов можно выбрать любую ортонормированную систему. Пусть wi,..., wQ — ортонормированная система векторов в Rm (не обязательно базис) и Aw.- 0 по крайней мере для одного из векто- ров. Обозначим через W линейную оболочку векторов wi,...,w?. Будем искать вектор, минимизирующий функционал невязки Ф(у) на подпро- странстве W. Для этого рассмотрим следующий итерационный метод. Положим х° — 0. Если приближение xfc уже найдено, то следующее приближение xfc+1 бу- дем искать в виде xfc+1 = xfc + Ck.wn.. Ck = const, где jk = argmin ^ттФ(х/г+1)У (11) Наряду с приближениями xfc введем невязки = Axk - b. (12) Выпишем условия минимума функционала Ф(хА:+1) по Ck- Имеем Ф(х*+г) = ||CfcAw.- + Axfc - b||2 = Cfc2||Aw.||2 + 2Ck(AWj, £k) + ll^lP- (13) Заметим, что при поиске минимума Ф(х/г+1) достаточно рассматри- вать только те wy, для которых ||Aw. || ^4 0, так как в противном случае значение функционала не меняется. Функция Ф(х/г+1), как функция пе- ременной Ск, является многочленом второй степени, причем коэффици- ент при С£ положителен в силу замечания выше. Отсюда следует, что минимум Ф(х/с+|) по Ск при фиксированном j существует и единствен, если ||Aw.|| у4 0. Таким образом, из (13) следует, что Ск удовлетворяет уравнению АФ(хА:+11 #Ск ’ = 2Cfc||Aw.-||2 + 2(Aw.-, efc) = 0, откуда (Aw.-, efc) к 11>М12 • При таком выборе Ск ф(х/=+1) = ||е*+1Ц2 = ||^||2 _ И |(Aw.-, £fc)| jk = arg max x*+1 = x* + Ck^jk -
312 Глава 6. Численные методы алгебры Суммируя вышесказанное, получаем следующий алгоритм: 1) Вычисляем векторы Awj, j = 1,..., q, и их нормы ||Ллуу||; в даль- нейшем рассматриваем только те векторы wy, для которых Awj 0. Не уменьшая общности, будем считать, что число таких векторов равно q. 2) Выбираем х° на основе априорной информации; в частности, мож- 2) Выбираем х° на но взять х° = 0. 3) Если xfc найден, то у- и Ск вычисляем по формулам |(Xwj, £fc)| -'fc = argnTX ||4Wj|| ’ r (^,, efc) " II^JP ’ 4) Следующее приближение xfc+1 вычисляем по формуле Xfc+1 = xfc + Ckwjk. (14) (15) Найдем трудоемкость метода. Для этого оценим число арифметиче- ских операций на шаге. Прежде всего заметим, что предварительные операции (этап 1) требуют в общем случае O(m2q) операций. Этап 3 итерационного метода требует О (ту), а этап 4 — О(т) ариф- метических операций. Таким образом, общая трудоемкость метода составляет О(т2 + mql) арифметических операций, где I — число шагов итерационного процесса. Отметим также, что jk из (14) находится в общем случае неоднознач- но (таких индексов может быть несколько). В этом случае в качестве jk можно брать, например, наименьший. Исследуем сходимость итерационного метода. Имеет место Лемма. Пусть gi, • •, gz — произвольный набор линейно независимых еди- ничных векторов из Rm и L — линейная оболочка этих векторов. Тогда су- ществует у, 0 < 7 < 1, такое, что для любого х Е L справедливо нера- венство IIх- (х, gfc)gfc|| 7llxll, k = arg max | (х, gy) |. ' Доказательство. Положим V’(x) = ||х- (х, gfc)gfc||2, k = arg max |(х, gy)|. Покажем, что функционал VJ(X) непрерывен. Для этого достаточно по- казать непрерывность функционала (х, g/-), где к определено выше. Рас- смотрим разность |(х, gjt)| — |(у, gi)|, где индекс к определен выше, а г — индекс, определяемый аналогичным образом для у.
§ 11, Погрешность приближенного решения системы 313 Пусть для определенности |(х, gj)| |(у, gi)|- Тогда справедлива це- почка неравенств I |(х, gfc)l | - | 1(у, gi)l I I l(x, gfc)l I - I 1(У> gfc)l I |(х - У, gfc)| max |(х - У, gj)|, откуда и следует непрерывность рассматриваемого функционала. Предположим, что утверждение леммы неверно. Тогда существует по- следовательность {х-Д такая, что ||xj| = 1 и т/>(хД 1~где 0 при i —> оо. Так как в конечномерном пространстве сфера S — {х : ||х|| = 1} компактна, то существует сходящаяся подпоследовательность. Для про- стоты изложения предположим, что сходится сама последовательность X* = 1ПП Xj. В силу непрерывности функционала ф имеем ф(х*) — 1 и ||х*|| = 1. Следовательно, при к = arg max |(х*, gy)| имеем j •0(Х*) = ||Х* - (X*, gfc)gfc ||2 = ||х*||2 - 2(х*, gfc)2 + (х*, gfc)2 ||gfc||2 = = ||х*||2 - (х*, gfc)2 = 1. Отсюда следует, что (х*, g/J = 0. Так как |(х*, gfc)| |(х*, gy)| для любо- го j = 1,..., q, то (х*, gy) = 0 при всех j = 1,..., q. Так как х* принад- лежит линейной оболочке векторов gi,..., gz, то последнее равенство мо- жет выполняться лишь при х* = О, что противоречит условию ||х* || = 1. Лемма доказана. Теорема. Последовательность приближений Д, получаемая в ходе ите- рационного метода (14), (15), является фундаментальной и сходится к не- которому вектору, минимизирующему функционал невязки Д(х) на подпро- странстве W, со скоростью геометрической прогрессии. А именно, суще- ствует q < 1 такое, что ||xfc - х°°|| Cqk, х°° = lim х*. к—>оо Постоянная q при этом зависит от выбора базиса {wy} и оператора А. Доказательство. Так как Av/jk 0, то существует постоянная J > 0 такая, что ||AwJ|^ Vfc. (16) Из (14), (15) следует, что невязки £k = Ахк — b удовлетворяют со- отношению £fc+i = Дс _ Иуд, ^)л (17) mwJfc||2 Зк V 7
314 Глава 6. Численные методы алгебры Положим gj = Awj/HAwjll. Тогда (17) примет вид Поскольку Ск выбиралось из условия минимума ||£fe+1||, то jk = argmax|(£fc, gj) и мы находимся в условиях предыдущей леммы. Тогда из условий леммы следует оценка nefc+1n ?<1. (is) Из (14) и (15) имеем откуда, учитывая (16), получаем оценку ik+1 -xfcK iie(fc)ii/MwA.n ii^h/5. Применяя к полученному неравенству оценку (18), имеем ||xfc+1-xfcH7>ll/<5, откуда следует цепочка соотношений Р hi и к и 0ц ||xfc+₽ - xfcII < £ ||x;+1 - х‘|| < V тРЦ; Vp G N. i=k i=G V '7 Таким образом, последовательность {xfc} является фундаментальной и имеет предел х°°. В силу построения, х°° минимизирует функционал Ф(у) на подпространстве W. Теорема доказана. Описанный выше метод решения систем уравнений с плохо обусло- вленными матрицами особенно эффективен в случае, когда априор- ная информация представлена в виде каких-либо сведений о структур- ных особенностях искомого решения; например, когда известны базисные функции wj, и решение представимо в виде разложения по небольшо- му числу этих функций. Такая ситуация часто имеет место в задачах цифровой обработки сигналов. Особенно эффективен данный метод в случае, когда д достаточно ма- ло. Другими словами, для эффективного применения данного метода на- до иметь разумную параметризацию исходной задачи. Довольно часто это можно сделать на основе априорной информации о решении. Напри- мер, если известно, что решение представляет собой некоторый колеба- тельный процесс с небольшим числом гармоник, номера которых, вообще говоря, неизвестны.
§ 12. Проблема собственных значений 315 Изложенный выше метод может быть обоснован также и в случае, когда спуск осуществляется не по одномерным подпространствам, соот- ветствующим координатным осям в базисе {w;/ }, а по гиперплоскостям. При этом, естественно, скорость сходимости обычно бывает выше, однако число арифметических операций на шаге процесса возрастает. § 12. Проблема собственных значений В различных случаях возникают разные требования к информации о соб- ственных значениях и собственных векторах матриц, и это порождает многообразие проблем и приемов решения этой задачи. 1. Для решения ряда задач механики, физики, химии требуется полу- чение всех собственных значений, а иногда и всех собственных векторов некоторых матриц. Эту задачу называют полной проблемой собственных значений. 2. В ряде случаев требуется найти лишь максимальное или мини- мальное по модулю собственное значение матрицы. Проблемы подобного сорта возникают, в частности, при решении некоторых задач ядерной физики. Здесь приходится решать задачи, эквивалентные задачам отыс- кания собственных значений матриц размерности порядка 103-106 или даже существенно большей. При малых размерностях матриц для реше- ния этих задач чаще применяют итерационные методы, при больших — вероятностные. 3. При исследовании колебательных процессов иногда требуется найти два максимальных по модулю собственных значения матрицы, причем меньшее из них обычно достаточно определить с меньшей точностью. 4. Там же возникает задача отыскания собственного значения матри- цы, наиболее близкого к заданному числу А0, или отыскания расстояния от заданного числа А0 до спектра матрицы. Формально рассуждая, можно было бы сказать, что эти задачи, на- зываемые частичными проблемами собственных значений, являются част- ным случаем общей проблемы собственных значений и достаточно огра- ничиться рассмотрением методов решения общей проблемы. Однако та- кой подход приведет к неоправданно большому объему вычислений. При обсуждении постановок конкретных задач, связанных с отыскани- ем собственных значений матриц, зачастую значительные усилия тратят- ся именно на установление минимального объема информации о спектре матрицы, которым можно ограничиться. Решение задач 2-4 обычно сводят к отысканию максимального по мо- дулю собственного значения некоторой матрицы В = д(А) такой, что это
316 Глава 6. Численные методы алгебры собственное значение соответствует отыскиваемому собственному значе- нию матрицы А. Рассмотрим случай, когда все собственные значения матрицы А веще- ственны. Если требуется найти максимальное или минимальное значение матрицы А, то следует взять д(А) = А + сЕ. Очевидно, что при доста- точно больших положительных (отрицательных) значениях с максималь- ному по модулю собственному значению матрицы А + сЕ соответствует максимальное (минимальное) собственное значение матрицы А. В случае задачи 4 при некотором с максимальное по модулю собственное значе- ние матрицы Е — с(Л — А°Е)2 соответствует отыскиваемому собственному значению матрицы А. Иногда в качестве такой матрицы д(А) может ис- пользоваться матрица (А — А°Е)~1. При этом матрица (А — А°Е)~’1 не выписывается в явном виде, а необходимые по ходу вычислений векто- ры (Л — Х°Е)~1у находят, решая систему уравнений (Л — А°Е)х = у. Рассмотрим типичную задачу отыскания двух максимальных по мо- дулю собственных значений матрицы А. Для простоты предполагаем на- личие полной системы собственных векторов е;;-: = Xjej, I Ад | > |А21 > I A31 IAmI. Зададимся некоторым вектором x° и будем последовательно вычислять т векторы x'"'+1 = Ах". Представим х° в виде х° = имеем i=l т m Xй = ^ГаАпег = ^CjA^ej. i=l г=1 Отсюда следуют соотношения х« = С1А^е1 + О(|А2Г1), (х’г,хи) = (С1А^1+О(|А2Г),С1А^1+О(|А2Г)) = |С1|2|А1|2п+О(|А1Г1|А2Г), (х’г+1,х«) = (С1А”+1ед + О(|А2Г1),С1А^1 + О(|А2Г1)) = = А1|С1|2|А1|2’1 + О(|А1Г|А2Г). Положим A$n) = (xn+1, х")/(х”, х"). Из последних соотношений при сд 0 получаем ,0) _ Ад с2А2" + О(|АдГ |А2Г) _ Л1 )) _ \ , п /| Аг П + О(|А1Г |А2Г) 1 + оО|А2ГА 1 к|А1|/’ \сд I Ад j / fn Задача 1. Доказать, что в случае симметричной матрицы А^ = Ад + О(|А2/А1|2и).
§ 12. Проблема собственных значений 317 Кроме (1) имеем 1Ю|Нс1А11 + о(Й2|")> здесь tpn = arg{ciA”}. Таким образом, в ходе этого итерационного про- цесса также получаем собственный вектор, соответствующий А]. Может случиться, что у матрицы А имеются два максимальных по модулю собственных значения Ai / Аг, |Ai| = |Аг| > |Аз| > ... В этом слу- чае величина А^ будет устанавливаться только в частном случае, когда щ или С2 равно нулю. Если заранее известно, что таких собственных значений два, то их и соответствующие им собственные векторы можно X (п) (п) также определить, анализируя поведение Л| и ехг Рассмотрим типичный случай, когда .4, Aj, Аз, х° вещественные, А| >0, Aj = —Аз- Тогда х’1 = С1А”е1 + с2(-А1)ие2 + О(|А31’1), х”+2 = С1А”+2е1 + с2(-А1)'1+2е2 + О(| А31”) = = А2(С1АГе1 + с^-Х^ъ) + О(|А3|П). Отсюда получаем, что А('1) = (xn+2, хп)/(хп, х’1) = А2 + О(|А3/А1|П). При № > 0 полагаем А^ = ±у/Х(п\ Имеем zn+i = x„+i + A(«)x(n) = 2С1А”+1е1 + О(|АзГ), поэтому = z"+1/||z”+1|| = в1 4-О(|Аз/А1|"). Точно так же z„+i = х„+1 + Л(»)хщ) = 2с2А2+1е2 + О(| Аз Г1) И 4п) = zrVlK1!! - е2 + СОАз/АТ). Если Xi — собственные значения матрицы А, то у сопряженной ма- трицы А* собственным значением будет А»; при этом если Ае.; = Xiei,
318 Глава 6. Численные методы алгебры ^*8.7 = £ x:h то (е*’ g?) = °- Поэтому при |Ai| > |Д2| > |АзI для нахождения собственного значения Аг можно поступать так. Получив приближение ё, « ei, аналогично определяем приближение gi к вектору gi и нормируем его условием (ёх, gi) = 1. Далее ведем итерации по фор- мулам у'"'+1 = Ауп; для исключения компоненты, пропорциональной еь время от времени векторы у” ортогонализируем по отношению к вектору gx, т.е. начальным для последующих итераций вместо уп берем вектор У и = Уп - (Уто gi)ei- Естественно, что сходимость итерационного процесса лучше, если в т начальном приближении у0 = фег слагаемое dye-y преобладает над i=l остальными слагаемыми. Возьмем из описанного выше итерационного процесса отыскания Ai и ei некоторое приближение xz. Вектор у0 = xz — (xz, gi)ei примем за начальное приближение. Не следует брать I слишком малым, иначе компоненты CjXjGj при j > 2 не будут малы по сравнению с c-yA^ey, в то же время не следует брать I очень большим, поскольку в этом случае компонента суА^еу будет малой по сравнению с вычислительной погрешностью. Часто можно встретить следующее высказывание: если cL = 0, то описанный итерационный процесс, казалось бы, не должен давать приближения, сходя- щиеся к максимальному по модулю собственному значению; однако в действи- тельности из-за присутствия округлений в процессе итераций может появиться компонента, пропорциональная Cj, и вследствие этого требуемый результат все равно будет получен. Реально при использовании современных ЭВМ с большой разрядностью может случиться, что после некоторого числа итераций влияние вычислительной по- т грешности еще не будет существенно, в то время как величина ^^СгА"е^ будет г-3 мала по сравнению с СгА” еу. Тогда Ах'1 » const хп и можно сделать неверный вывод, что искомое первое собственное значение найдено. Поэтому в тех случа- ях, когда нет уверенности в правильности найденного собственного значения, следует провести еще один или несколько расчетов с другими значениями у0- В ряде случаев появление составляющей, пропорциональной ei, не является неизбежным даже в случае присутствия округлений. При решении пробле- мы собственных значений для дифференциальных и интегральных операто- ров иногда возникают матрицы А со специфическими свойствами. Например, часто встречается случай, когда при всех г, j выполняется равенство @ij ~ ®m+l—(2) Для определенности рассмотрим случай четного т. Назовем четными векторы х, компоненты которых связаны равенством а?» = xm+i-i, г = 1,..., т, и не- четными — равенством Xt = — xm+i-i. При условии (2) вектор Ах четен, если х четен, и нечетен, если х нечетен. Поэтому подпространства четных и нечетных
§ 12. Проблема собственных значений 319 векторов являются собственными для оператора А. Следовательно, существу- ет полная система собственных векторов, принадлежащих этим подпростран- ствам, т. е. являющихся или четными, или нечетными. Это обстоятельство мо- жет быть существенно использовано: если вектор х° четен или нечетен, то этим же свойством обладают все векторы х", поэтому при отыскании каждого после- дующего вектора хп следует ограничиться определением первой половины его компонент. Кроме этого, можно объединить коэффициенты, соответствующие компонентам Xi и Например, при четном х° вычисления компонент х“ можно производить по формулам т/2 Хг + = (flij + 3=1 В случае итераций такого вида мы не выходим за пределы подпространств чет- ных или нечетных векторов соответственно. Поэтому если х° и ei принадлежат различным подпространствам, составляющая, пропорциональная е15 так и не появится. Кроме непосредственного уменьшения вычислений при отыскании каждого вектора хп, использование свойства (2) полезно также по следующей причине. Довольно типичен случай, когда собственные векторы с небольшими нечетны- ми номерами являются четными, а с небольшими четными номерами — нечет- ными; предположим, что |Аг | > |АД > |А3| > ... Тогда при х° четном всегда xn = cjA"ei + СзА3ез + = cjA”ei + О(| Аз |п), следовательно, А‘п) - Ах = OdAg/AjI’1) при A’"1 = (xn+1, х”)/(х”, х”). Соответственно при х° нечетном имеем х’1 =с2А£е2 + С>(|А4|п) и А<п) - А2 = О(|А4/А2|”) при А'п) = (хи+1, х1')/(х'1, хи). При этом не возникает никакой проблемы подавления составляющей, пропор- циональной ei. Если |Ai| > 1, то ||xn|| —> оо при п —> оо, поэтому при достаточ- но большом п произойдет переполнение разрядности чисел и остановка ЭВМ. Если |Ai| < 1, то ||хп|| —> 0, и вследствие конечности порядков чи- сел в машине может случиться, что, начиная с некоторого п, х71 = О. Чтобы избежать этих явлений, полезно время от времени нормировать вектор хи, чтобы ||xn|| = 1. Для практической оценки погрешности и ускорения сходимости ите- рационных процессов может быть применен <52-процесс и другие приемы, аналогичные методам ускорения сходимости при решении систем линей- ных уравнений. Например, могут применяться итерации вида хи+1 =
320 Глава 6. Численные методы алгебры <7k(A)xn со специальным подбором в зависимости от известной инфор- мации о спектре матрицы А многочлена д^(А). Поскольку u (Ах, х) . . (Ах, х) шах Л д = sup ---г-, пип л л — mt —---— А (X, X) А X (X, X) при А = Ат, то некоторые приемы отыскания максимального и мини- мального собственных значений матрицы А основываются па идее отыс- кания стационарных точек функционала Ф(х) = (Ах, х)/(х, х). Задача 2. Пусть Ai « 5, 1 А, 3 при i = 2,..., т. Построить итера- ционный процесс вида х',1+1 = (А + сЕ’)х" для получения Ai с наилучшей при данной информации скоростью сходимости. Сделать то же самое, если Ai ~ 1, 2 ф А; ф 3 при i — 2,..., т. § 13. Решение полной проблемы собственных значений при помощи QR-алгоритма Существует ряд тщательно отработанных алгоритмов и программ реше- ния полной проблемы собственных значений. Поэтому в случае, когда возникает такая проблема, в первую очередь рекомендуется использовать стандартные программы решения таких задач. Наиболее совершенные из них основаны на различных модификациях QR-алгоритма, общая схема которого приводится ниже. Пусть А — произвольная вещественная матрица. Согласно лемме из § 2 ее можно представить в виде А — U1 Аи_1, где U — ортогональная, а An_i — правая треугольная матрицы. Запишем это равенство в виде А = QiRi, (1) где Qi — ортогональная, — правая треугольная матрицы. Из (1) имеем Ri — Qi1A, поэтому матрица Ах = RiQi — lAQi подобна матрице А. Построим последовательность матриц Ап по следующему правилу. Ма- трицу Ап разлагаем на произведение ортогональной и правой треуголь- ной матриц в виде Ап = Qn+iRn+i и полагаем A„.ih1 = Rn+iQn+1- По- скольку Лп+1 = Qn+v^nQn+i, то все матрицы Ап подобны между собой и подобны исходной матрице А. Представим исходную матрицу А в виде А = QAQ-1, где Л —правая каноническая форма Жордана, т. е. Агу = 0 при j <г и j > г 4-1, Ай = А; — собственные значения матрицы A, A^j+i равны нулю или 1. Всегда мож- но подобрать матрицу Q так, чтобы диагональные элементы матрицы Л были упорядочены в порядке невозрастания модуля |Ai| = ••• = |А£1| > |A{1+i| = ••• = |AJ > ••• > (A^_1+i| = ••• = |A{J. Теорема (без доказательства). Пусть в разложении матрицы А все диа- гональные миноры матрицы Q не вырождены. Тогда последовательность
§13. Решение полной проблемы собственных значений 321 матриц Ап при п —> оо сходится по форме к клеточному правому тре- угольному виду А. Имеется в виду, что после некоторой перестановки строк и одновре- менно такой же перестановки столбцов матрицы А будут выполняться соотношения: если < г lk+i, j < i или lk+i < j, k = 1,..., s, to -> 0. При реализации описанного алгоритма построения матриц Ап на практике мы увидим, что некоторые элементы матриц Ап оказывают- ся малыми. Приравняв их нулю, мы получим клеточную правую тре- угольную матрицу. Характеристический многочлен этой матрицы равен произведению характеристических многочленов ее диагональных клеток. Если требуется найти не только собственные значения матрицы А, но и ее собственные и присоединенные векторы, то в процессе по- строения последовательности матриц Ап следует запоминать ортогональ- ные матрицы Рп = Qi ... Qn, вычисляемые по рекуррентной формуле -Рп+1 = PnQn+l- Задача 1. Доказать, что каждый шаг QR-алгоритма требует N ~ 10т3/3 арифметических операций. На практике прибегают к различным способам ускорения сходимости. Один из этих способов заключается в следующем. Матрица А предва- рительно преобразуется в эквивалентную ей правую почти треугольную матрицу. Матрица А называется правой почти треугольной, если = 0 при j < г - 1. Алгоритм преобразования матрицы А в правую почти треугольную матрицу заключается в последовательном построении матриц At таких, что первые I столбцов матрицы Ai имеют вид первых I столбцов правой почти треугольной матрицы, т.е. = 0, если j < г—1 и j < I. По элемен- там (/ + 1)-го столбца матрицы Ai построим матрицу отражения Ui+\ (см. § 2) так, чтобы в матрице B = Ui+[A/ элементы bij+i,..., b/j+i были те же, что у матрицы А[, а элементы Ь/+з,/+1, • • •, bm,z+i были нулевыми. Положим Л/+1 = Ui+iA[Ui+i. Умножение справа на матрицу не ме- няет первых I + 1 столбцов матрицы В, поэтому матрица Aj+i является матрицей требуемого вида. После получения правой почти треугольной матрицы Am-i применяют QR-алгоритм в его первоначальной форме. Задача 2. Доказать, что в этом случае каждый шаг QR-алгоритма тре- бует N ~ 6m2 арифметических операций. Для еще большего ускорения сходимости применяется вариант QR- алгоритма со сдвигом. А именно, строится последовательность ортого-
322 Глава 6. Численные методы алгебры нальных матриц Q/ и правых треугольных матриц Ri по рекуррентным формулам т! — t^E = Q±Ri, Ai = RiQi -Ь м^Е, А-i — »iE = QiRi-, Ai — RiQi + viE. Матрицы Ai подобны матрице А; за счет введения «сдвигов» щ уда- ется добиться ускорения сходимости. Вопрос о наиболее целесообразном выборе параметров п/ мы рассматривать пе будем. В этой главе было, в частности, приведено большое количество ме- тодов решения линейных систем уравнений. Какой же из этих методов все-таки стоит выбрать, решая задачу? Если порядок системы небольшой и по затратам машинного времени число арифметических операций порядка т3, где т — порядок системы, является приемлемым, то проще всего обратиться к стандартным про- граммам метода отражений (число арифметических действий N « 2т3/3) или метода вращений (число арифметических действий N « 4zn3/3, но меньше накопление вычислительной погрешности). Конечно, при этом надо иметь в виду, что точные методы типа мето- дов отражений или вращений для матрицы общего вида требуют одно- временного хранения в памяти ЭВМ порядка тп2 чисел. Если такое коли- чество чисел не помещается в оперативной памяти ЭВМ, а обмен инфор- мацией между оперативной и внешней памятью происходит недостаточно быстро или из-за структуры программы, или из-за возможностей ЭВМ, то применение этих программ может оказаться нецелесообразным. В случае, когда применение этих методов нецелесообразно, имеет смысл проанализировать возможности применения простейших по сво- ей структуре итерационных методов: простой итерации, Зейделя, сверх- релаксации, наискорейшего спуска. Если решается отдельная задача, то вследствие простоты соответствующих программ применение этих мето- дов может быть вполне целесообразным. Если применение этих методов требует больших затрат машинного времени, то следует проанализиро- вать возможности применения более сложных по своей структуре мето- дов: оптимального линейного итерационного процесса, метода с использо- ванием корней многочлена Чебышева, метода сопряженных градиентов, итерационных методов, использующих спектрально эквивалентные опера- торы. Если размерность задачи столь велика, что само решение задачи, т. е. вектор X, не помещается в оперативной памяти ЭВМ, то иногда при- меняются вероятностные методы решения систем линейных уравнений, которые остались вне нашего рассмотрения.
§ 13. Решение полной проблемы собственных значений 323 Литература 1. Абрамов А.А. О численном решении некоторых алгебраических задач, возника- ющих в теории устойчивости. // ЖВМиМФ — 1984. 24, N 3. С. 339-347. 2. Бахвалов Н.С. Численные методы. — М.: Наука, 1975. 3. Воеводин В.В. Численные методы алгебры. Теория и алгоритмы. — М.: Наука, 1966. 4. Воеводин В.В. Вычислительные основы линейной алгебры. — М.: Наука, 1977. 5. Воеводин В.В., Кузнецов Ю.А. Матрицы и вычисления. — М.: Наука, 1984. 6. Годунов С.К. Решение систем линейных уравнений. -- Новосибирск: Наука, 1980. 7. Годунов С.К. Современные аспекты линейной алгебры. — Новосибирск: Научная книга, 1997. 8. Джордж А., Лю Д. Численное решение больших разреженных систем уравне- ний. — М.: Мир, 1984. 9. Дьяконов Е. Г. О построении итерационных методов на основе использования операторов, эквивалентных по спектру // ЖВМ и МФ. — 1966. — 6, N 1. — С. 12- 34. 10. Икрамов Х.Д. Численное решение матричных уравнений. — М.: Наука, 1984. 11. Канторович Л.В. Функциональный анализ и прикладная математика. // УМН — 1948. 3 N6 (28). С. 89-185. 12. Крылов В.И., Бобков В.В., Монастырный П.И. Начала теории вычислительных методов. Линейная алгебра и нелинейные уравнения. - Минск: Наука и техника, 1982. 13. Марчук Г.И., Лебедев В.И. Численные методы в теории переноса нейтронов. — М.: Атомиздат, 1981. 14. Ортега Д. Введение в параллельные и векторные методы решения линейных систем. — М.: Мир, 1991. 15. Парлетт Б. Симметричная проблема собственных значений. — М.: Мир, 1983. 16. Поспелов В.В. Метод оптимального спуска по базису для решения вырожден- ных систем линейных алгебраических уравнений. // ЖВМиМФ — 1991. 31, N 7. С. 961-969. 17. Фаддеев Л.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. — М.: Физматгиз, 1963. 18. Форсайт Дж. и др. Машинные методы математических вычислений. — М.: Мир, 1980.
==-^.=.=====:! Глава 7 —......... Решение систем нелинейных уравнений и задач оптимизации Решение задач оптимизации, будь то оптимизация производственных или экономических процессов, оптимизация конструкций или оптимиза- ция численных алгоритмов, сводится в математической формулировке ис- следуемой задачи к отысканию экстремума функционалов. В наиболее типичных случаях возникает задача минимизации функции большого чи- сла переменных в области Q, задаваемой большим числом ограничений типа неравенств или равенств: ищется inf Ф(т],..., тт) Х1,...,Хт при условиях tpi(xi,хт) О, г — 1,..., Z; чЩх!,хт) =0, i = 1,..., q. Задача минимизации функций большого числа переменных возникает также в случае применения вариационных методов к решению задач ма- тематической физики и в других разделах прикладной математики. Системы уравнений fi (Ж1,..., хт) =0, i = 1,..., гп, которые мы будем также обозначать F(x) = 0, возникают в случае многих задач указанных выше типов; например, в гл. 10 будет идти речь о подобных системах, возникающих при решении краевых задач. Задачи минимизации функции и решения системы уравнений сводятся ДРУГ к другу. Если Ф(?/1,..., ут) >0 при (У1,---,Ут)^(0,...,0), Ф(0,...,0)=0, то решение системы F(x) = О равносильно минимизации функции Ф(/1(Ж1 5 • • • j ^ттг)? • * • > • • • j •
Глава 7. Решение систем нелинейных уравнений 325 С другой стороны, пусть inf Ф(т1,..., хт) достигается в точке X, вну- тренней по отношению к G, и функция Ф дифференцируема в этой точ- ке. Тогда точка минимума является решением системы уравнений Ф^.. =0, i = 1,..., т. Возможность сведения одной из этих задач к другой не означает, что достаточно ограничиться рассмотрением только одной из них; родство этих задач скорее подчеркивает, что они одинаково трудны. О трудности этих задач свидетельствует то, что не существует универсальных алго- ритмов решения, практически пригодных уже не при очень больших т; отсутствие таких алгоритмов вызвано существом дела. В то же время и при больших т существуют эффективные алгорит- мы решения задач, обладающих определенной внутренней структурой (в частности задач, возникающих при решении краевых задач математиче- ской физики вариационными методами). При решении задач каждого типичного в приложениях класса прихо- дится заниматься теоретической и экспериментальной «доводкой» мето- дов применительно к этому классу задач. Сведение задачи минимизации функции к системе нелинейных уравнений или наоборот производится на практике с целью снижения трудоемкости решения. Например, при решении систем нелинейных уравнений иногда посту- пают следующим образом. Строится функционал, минимум которого до- стигается на решении системы. Затем, задавшись начальным приближе- нием к точке минимума, проводят итерации каким-либо из методов спус- ка (см. § 3) и таким путем получают удовлетворительное приближение к решению системы. Исходя из этого приближения производят уточне- ния при помощи какого-либо итерационного метода, специфического для задачи решения системы уравнений, например метода Ньютона (см. § 2). Поясним причины, вызывающие такое комбинированное применение методов. Назовем областью сходимости метода множества начальных условий, при которых итерации по данному методу сходятся к реше- нию задачи. Применение методов спуска на первоначальном этапе вы- звано тем, что обычно они имеют более широкую область сходимости, чем методы, специфические для задачи решения системы уравнений. В то же время последние методы обычно обладают лучшей скоростью схо- димости при наличии достаточно хорошего начального приближения; это и обуславливает их применение на заключительном этапе итераций. На примере решения системы линейных уравнений было также видно, Что сведение этой задачи к задаче нахождения минимума функционала приводит к конструированию новых методов решения исходной задачи.
326 Глава 7. Решение систем нелинейных уравнений § 1. Метод простой итерации и смежные вопросы Так же как в случае линейных уравнений, начнем изучение итерацион- ных методов с метода простой итерации. Этот метод состоит в следующем: система уравнений преобразуется к виду х = g(x), (1) иначе, Xi = (/г(т1,.,., хт), i = и итерации проводятся по формуле х»+1 = g(x»); (2) иначе, <+1-5г(тГ,...,О, i = l,...,m. Подойдем к изучению этого метода с более общих позиций. Пусть Н полное метрическое пространство, а оператор у = g(x) отображает Н в себя. Рассмотрим итерационный процесс x"+1 =g(x") (3) решения уравнения X = g(x). (4) Если при некотором q < 1 отображение у = g(x) удовлетворяет условию p(g(xi), g(x2)) С Qp(X!, Х2) (5) при всех Xi, х2, то такое отображение называют сжимающим. Теорема. Если отображение у = g(x) сжимающее, то уравнение х = g(x) имеет единственное решение X и здесь а = р(хх, х°), р(х, у) —расстояние между хи у. Доказательство. Согласно (5) имеем p(x"+1, х") = p(g(x"), g(x”-1)) qp(xn, х"-1), поэтому р(х"+1, х") qnp(x1, х°) = qna. При I > п имеем цепочку не- равенств р(х1, х") р(х1, х'-1) + • • + p(xn+1, х") z_] п п i fa. (6) С q а Ч-----Ь (fa С q па > ql = f. ' 1 — q -n 4
§ 1. Метод простой итерации и смежные вопросы 327 Согласно критерию Коши последовательность х'1 имеет некоторый пре- дел X. Переходя к пределу в (6) при I -> оо, получаем р(Х, х") дпа 1-<7‘ Справедлива цепочка соотношений р(Х, g(X)) < р(х, х"+]) +p(xn+1, g(X)) = р(Х, x’t+]) +p(g(xn), g(X)) ^p(X, x"+1)Mx",XK2p. 1 -<7 Поскольку п произвольное, то p(X, g(X)) = 0, и, следовательно, X = g(X). Предположим, что уравнение (4) имеет два решения Xi и Х2. Мы пришли Тогда р(Х15Х2) = р^ХО.^Хг)) < <?р(Х1,Х2) < p(Xi,X2). к противоречию. Теорема доказана. Замечание. При п = 0 из (6) следует, что р(хг, х°) ----. зом, все приближения принадлежат области ~ (1 Q(x°, h) : р(х, х°) h, h = а/(1 — q). Таким обра- При доказательстве теоремы отображение g(x) применяется лишь к эле- ментам множества Л(х°, h) и условие сжимаемости применяется лишь от- носительно пары элементов из Я(х°, /i). Поэтому в формулировке теоре- мы достаточно предполагать лишь, что отображение g(x) определено на элементах из П(х°, /;.) и удовлетворяет условию (5) при хх, х2 G П(х°, /г). Если решается одно скалярное уравнение, то метод простой итера- ции имеет простую геометрическую интерпретацию. Построим на плос- кости (ж, у) графики у = д(х) и у = х. Точки пересечения этих ли- ний соответствуют искомому решению. Если на чертеже имеется точка (хп, xn+l) = (хп, д(хп)), то, проведя через нее прямую у = хп+1 до пе- ресечения с прямой у = х, а затем прямую х = хп+1 до пересечения с кривой у = д(х), мы получим точку (т"+1, хп+2). На рис. 7.1.1 изображе- но поведение последовательных приближений в случаях: а) 0 < д'(х) < 1, б) —1 < д'(х) <0, в) 1 < д'(х), г) д'(х) < —1. Монотонное поведение хп при д'(х) > 0 и колебательное при д' (я) < 0 нетрудно усмотреть также из соотношения Xn+1 - X = д(хп) - д(Х) ~ д'(Х)(хп - X). В случае системы нелинейных уравнений F(x) = 0 аналогом метода Зейделя является итерационный процесс, где компоненты приближений определяются из соотношений f1(xn1+\x^,...,x^ = 0, f2«1,4+1,---,^) = o, /m(^+1,4+\---,C+1) = o.
328 Глава 7. Решение систем нелинейных уравнений Нахождение каждого нового значения требует решения, вообще го- воря, нелинейного уравнения АК+1, • •, <Д], , тГ+1,..., хпт) = о с одним неизвестным. Промежуточное место между итерационными методами (2) и (7) зани- мает метод, где компоненты приближений определяются из соотношений (8) Методы (7) и (8) особенно широко использовались в различных моде- лирующих устройствах, так как они требуют малого объема памяти и просты в реализации. В достаточно малой окрестности решения X системы для приближе- ний методом простой итерации имеем xn+i _ х = g(xn) - g(X) и B(xn - X), (9)
§ 1. Метод простой итерации и смежные вопросы 329 где Г dftl Таким образом, при приближениях, находящихся в малой окрестности решения, погрешности приближений итерационного процесса (2) (а также и процессов (7) и (8)) подчиняются примерно тем же законам, что и по- грешности итерационных методов решения систем линейных уравнений. Наличие соотношения (9) позволяет производить ускорение сходимости итерационных процессов. Рассмотрим случай т = 1 и построим аналог <52-процесса. При имею- щемся приближении хп обозначим xnl = д(хп), хп2 = д(хп1). Согласно (9) xnl - X » д'(Х)(хп - X), хп2 -X « g'(X)(xnl -X). Из этих соотношений получаем жп2 _ Хп1 хп2 _ g'^X'jx711 Х Хп1 _ хп х Хп2Хп — (ж"1)2 1 - <7'(Х) хп2 - xnl ~ хп2 - 2хп1 + хп ’ xnl - хп За следующее после хп приближение примем хп+1 = хп2хп - (т;п|)2 = хпд(д(хп)) - (д(хп))2 хп2 _ 2жп1 _|_ ХП д(д(хпУ) - 2д(хп) + хп' k ’ Для характеристики методов решения уравнений вводится понятие по- рядка метода. Говорят, что метод имеет fc-й порядок, если существуют С1 > О, с2 < оо такие, что p(xn+1, X) c2(p(x", X))fc при условии p(xn, X) Ci. Чем больше к, тем быстрее сходится процесс итераций при малых значениях р(х", X), но каждая итерация метода при этом более трудоемка. В связи с этим в вычислительной практике наиболее распространены методы первого и второго порядков (например, метод, определяемый формулой (10), или метод Ньютона, рассматривае- мый в следующем параграфе). Примечание. Иногда в литературе встречается другое, на наш взгляд не- разумное, определение порядка метода: говорят, что метод решения си- стемы уравнений F(x) = О имеет порядок к, если при его реализации вычисляются производные функций Д до порядка к — 1 включительно.
330 Глава 7. Решение систем нелинейных уравнений В § 6.10 были рассмотрены итерационные методы решения линей- ных систем с помощью спектрально-эквивалентных операторов. Анало- гичные методы применяются и для решения нелинейных систем. Выби- рается оператор G(x) такой, что х = 0 является единственным решением уравнения G(x) = 0. Приближения хи+1 к решению системы F(x) = 0 определяются из соотношения G(x”+1 — х") = F(x"). (11) Наиболее распространен случай, когда G — линейный оператор. В ряде случаев оператор G выбирается зависящим от п, а также от приближе- ния х”. Тогда в схему (11) укладывается также рассматриваемый ниже метод Ньютона решения нелинейных уравнений. § 2. Метод Ньютона решения нелинейных уравнений Если известно достаточно хорошее начальное приближение к решению системы уравнений F(x) = 0, (1) то эффективным методом повышения точности является метод Нью- тона. Идея метода Ньютона заключается в том, что в окрестности име- ющегося приближения хп задача заменяется некоторой вспомогательной линейной задачей. Последняя задача выбирается так, чтобы погрешность замены име- ла более высокий порядок малости, чем первый (в определяемом далее смысле), в окрестности имеющегося приближения. За следующее прибли- жение принимается решение этой вспомогательной задачи. Рассмотрим случай скалярного уравнения /(я) = 0. В качестве такой вспомогательной задачи естественно взять линейную задачу /Un) + /'Un)U - хп) = о. Ее решение х = хп~ f(xn)/f'(xn) принимается за следующее приближение xn+i к решению исходного уравнения, т. е. итерации ведутся по формуле Х‘п+1 — Хп /Un)// {.Хп}- Рассмотрим более общий случай — решение нелинейного функциональ- ного уравнения. Пусть F(x) — оператор, отображающий линейное нормированное про- странство Н на линейное нормированное пространство У, может быть и совпадающее с Н. Нормы в этих пространствах соответственно обознача-
§ 2. Метод Ньютона решения нелинейных уравнений 331 ем || • ||н и || ||у. Линейный оператор Р, действующий из пространства Н в пространство Y, назовем производной оператора F(x) в точке х, если II F(x + т?) - F(x) - Рт/ ||v- = о(||т/|| (2) при ||т/||д -> 0. В дальнейшем будем обозначать такой оператор Р через F'(x). Пусть, например, х = (Ж1,..., хт)Т, Y = Если функции непрерывно дифференцируемы в окрестности данной точки х, то Л(Ж] + ТД, • , хт + 7/т) = /г(Ж1, ) + Е——НН- г=1 3 Совокупность этих соотношений можно переписать в виде (2), если за Р принять оператор умножения слева на матрицу В простейшем случае т = 1 оператор Р превращается в оператор умно- жения на производную f'x. Пусть X — решение уравнения F(X) = 0, х” — некоторое приближе- ние к X. В предположении существования производной F', согласно (2), имеем ||F(X) - F(x") - F'(x")(X - х") ||r = о(||X - хи||я) • (3) Если величина ||X — х”||я мала, то можно написать приближенное ра- венство F(x”) + F'(xn)(X - xn) « F(X). Поскольку F(X) = 0, то F(x") + F'(x”)(X - xn) « 0. Возьмем в качестве следующего приближения х"+1 решение уравнения F(xn) 4- F/(x")(x"+1 - xn) = 0, если такое решение существует. Между прочим, последнее уравнение име- ет вид (1.11). В предположении, что оператор F' обратим, это решение можно записать в виде хп+1 = хп - (P'(xn)) -1F(x"). (4) Такой итерационный процесс называют методом Ньютона.
332 Глава 7. Решение систем нелинейных уравнений Пусть Па = {х : ||х — Х||я < а}. Пусть при некоторых а, аг, аг, 0 < а, 0 aj, а2 < оо, выполнены условия: IKF'CX))-1!^ Oi при xGQa; (5) ||F(uj) — F(u2) -F'fuzXui -u2)||y a2||u2 - (6) при Ui, u2 € Qa. Обозначим c = aja2, b — min< a, c 1 Теорема (о сходимости метода Ньютона). При условиях (5), (6) izx° G итерационный процесс Ньютона (4) сходится с оценкой погрешности ||хп — Х||я с-1 (с||х° — ХЦя)2". (7) Примечание. Если в рассматривавшемся выше примере в некоторой окрестности решения функции fi имеют ограниченные вторые производ- ные, то, согласно формуле Тейлора, имеем Л(у) = Л(х) + 5Z Хп^ (yj ~+ О(||у-х||21 OXj X / J=1 J и, таким образом, условие (2) выполнено. Доказательство. Пусть х° G Индукцией по п докажем, что все х” G Qb. Пусть это утверждение доказано при некотором тг; так как b а, то тогда х” £ П„. Подставив в (6) щ = Х и и2 = х", получим ||F(X) - F(x") - F'(x")(X - х")||у а2||х” - Х|&. Поскольку F(x") = — F'(xzl)(x”+1 — х”), а F(X) = 0, то это соотношение может быть переписано в виде ||F'(x")(x"+1-X)||y^a2||x"-X||2f. Воспользовавшись (5), получаем неравенство ||хп+1-Х||н^С||х”-Х|&. (8) Отсюда следует, что ||хп+1 - Х||я < сЬ2 = (cb)b Ь, поэтому xn+1 также принадлежит Таким образом, при х° Е Q& все хп принадлежат Пь и, следовательно, для них выполняется (8). Пусть qn = с||хп — Х||я. После умножения на с неравенство (8) за- пишется в виде Qn+i Q2- Индукцией по п докажем справедливость неравенства Qn < <7о" •
§ 2. Метод Ньютона решения нелинейных уравнений 333 При п = 0 оно очевидно. Предположив его верным при п = к, получаем , 2 / 2* \2 2fc+1 Як+1 Як \Яо ) — Яо Таким образом, qn < Qq" при всех п. Это означает, что / \ 2" с||хп — Х||я (с||х° — Х||яj Отсюда следует (7). Согласно определению с и Ь, с||х° - Х||н < cb < 1, и поэтому хп —> X. Теорема доказана. Обращение оператора F'(xn) зачастую оказывается более трудоемкой операцией, чем вычисление значения F(x"). Поэтому метод Ньютона ча- сто модифицируется следующим образом. По ходу вычислений выбира- ют или заранее задаются некоторой возрастающей последовательностью чисел «о = 0, пь п2 • • - • При zijt п < nk+i итерации производят по формуле хп+1 = хп _ (е'(х’"=))” 'р(Хп). Увеличение числа итераций, сопровождающее такую модификацию, ком- пенсируется большей «дешевизной» одного шага итерации. Выбор после- довательности {п^} нужно производить с обоюдным учетом этих фак- торов. Рассмотрим геометрическую интерпретацию метода Ньютона в случае решения скалярного уравнения /(т) = 0, когда расчетная формула (4) приобретает вид = (9) Для получения хп+1 геометрически надо найти абсциссу точки пересе- чения с осью х касательной к кривой у = f(x) в точке (хп, f(xn)) (рис. 7.2.1). Уже в случае, когда f(x)— многочлен третьей степени, мо- жет случиться, что последовательность {.тп} не сходится к корню при плохом начальном приближении. Рис. 7.2.2
334 Глава 7. Решение систем нелинейных уравнений Например, в случае, изображенном на рис. 7.2.2, все четные приближе- ния совпадают с а, а нечетные — с Ь; метод, как говорят, «зациклился». Для более сложных задач реальное поведение приближений хп при пло- хом начальном приближении становится существенно более запутанным и трудно поддающимся анализу. Сравним асимптотическую скорость сходимости методов Ньютона и простой итерации. Для последнего мы имели оценку погрешности ||xrt — Х|| q"||x° — Х||, g < 1. Чтобы погрешность стала меньше е, согласно этой оценке достаточно взять В случае метода Ньютона правая часть (7) будет меньше е, если log2(c||x° — XII) 1 (10) Таким образом, асимптотически, при е —> 0, метод Ньютона требует меньшего числа итераций. Задача 1. Доказать, что для метода к-го порядка, к > 1, при наличии достаточно хорошего начального приближения число итераций, требуемое для достижения точности е, будет п ~ log log е-1/ log к. Обратим внимание, что метод Ньюто- на, записанный в форме (4), сам явля- ется разновидностью метода простой ите- рации. В случае скалярного уравнения У (ж) = 0 хорошо видна еще одна особен- ность метода Ньютона. Производная пра- вой части (9) д(х) = х — У(ж)/У'(ж) по ж равна У(ж)У"(ж)/(У'(^))2. Таким образом, </(Х) = 0, если У'(Х) 0, и рис. 7.1.1 в этом случае приобретает следующий вид (рис. 7.2.3) Метод Ньютона оказывается удобным способом извлечения корней целой сте- пени. Задача извлечения корня rfa, р — целое число, равносильна задаче реше- ния уравнений хр — а = 0. Расчетная формула метода Ньютона в этом случае приобретает вид р — 1 а Я п+1 — хп -| . . Р pxl Задача 2. Рассматривается алгоритм вычисления у/a при 1 С « С 4, жо полагается равным значению многочлена наилучшего равномерного при-
§ 2. Метод Ньютона решения нелинейных уравнений____________________335 ближения для у/a на [1, 4] : ж0 = pi(o.) = || + Убедиться в справед- ливости неравенства |.Ж4 — \/а| 0,5 • В случае решения одного скалярного уравнения f(x) = 0 наряду с методом Ньютона употребителен метод секущих. Простейший вариант этого метода заключается в следующем. В про- цессе итераций фиксируется некоторая точка ж°. Приближение х'г+1 на- ходится как абсцисса точки пересечения прямой, проходящей через точки (хо, /(ж0)) и (ж", f (ж")), с осью ж (рис. 7.2.4). Более эффективен способ, где за жп+1 принимается абсцисса точки пересечения с осью ж прямой, проходящей через точки (ж"-1,/(ж’1-1)) и (жп,/(ж71)) (рис. 7.2.5). Уравнение этой прямой Из условия у,г(жн+1) = 0 получаем Вычисления прекращают, когда одна из величин |ж',+1 — ж"| или |/(жп+1)-/(жп)| становится меньше некоторого заранее заданного малого 6 > 0. Для достижения точности е этим методом, как и в случае метода Ньютона, при достаточно хороших начальных приближениях требуется О (In 1п(1/е)) итераций. При решении системы т уравнений F(x) = 0 одним из возможных обобщений метода секущих является следующий метод. Пусть определены приближения x'l-m,..., хп и известны значения Д(х—),..., Д(х’1). Пусть у = Д(х) — уравнение плоскости, проходящей через точки (xn-m, Д(хп-т)),..., (хи, Д(х’1)); за следующее приближение х"+1 принимаем решение системы уравнений Д(х) — 0, i = 1,..., 772. При больших п эти плоскости становятся практически параллельными, поэтому для 777. > 1 этот метод применяется редко, обычно в случае, когда можно ограничиться невысокой точностью.
336 Глава 7. Решение систем нелинейных уравнений X3 X2 х‘ X® X2 X1 Рис. 7.2.4 Рис. 7.2.5 В последнее время появились более совершенные обобщения метода секущих. Дело в том, что для этого метода при п —> оо характерно «сплющи- вание» m-мерного тетраэдра с вершинами в точках х"-п‘,...,хп. След- ствием этого является быстрое ухудшение обусловленности системы урав- нений Д(х) = 0. В результате алгоритм вычисления становится неустой- чивым к вычислительной погрешности и часто перестает сходиться. Кроме описанных выше, существует большое число других методов подобного типа, где в окрестности корня функция /(.т) приближает- ся некоторой функцией д(х), для которой уравнение д(х) = 0 реша- ется в явном виде. Однако для применения всех этих методов необ- ходимо достаточно хорошее приближение к решению. Иногда для его определения используется метод вилки. Определяют ао, Ьо такие, что /(°о)/(Ьо) < 0; выбирают каким-либо образом точку со € (ао, Ьо), напри- мер берут со = (ао + Ьо)/2 или за со берут точку пересечения секущей, проходящей через точки (ао, /(ао)), (bo, /(Ьо)), с осью х. После вычи- сления /(со) за [ai, bj] принимают тот из отрезков [ао, со], [cq, bo], на концах которого /(ж) принимает противоположные знаки, и т. д. Важной задачей является разработка эффективных методов решения уравнений отдельных типичных классов. Для нахождения корней много- члена P(z) = agz"1 + +ап1 как с действительными, так и с комплексны- ми коэффициентами таким методом является метод парабол. При задан- ных приближениях к корню zn-2, zn приближение zn+i определя- ется следующим образом. Строится интерполяционный многочлен второй степени, совпадающий с P(z) в точках zn-2, zn-i, zn. За zn+i прини- мается корень этого многочлена, наиболее близкий к zn. В стандартных программах метода парабол эта схема подвергнута некоторой модифи- кации. § 3. Методы спуска Для решения задачи минимизации функционала наиболее часто приме- няются методы спуска. При заданном приближении определяется какое- либо направление, в котором функционал убывает, и производится пере- мещение приближения в этом направлении. Если величина перемещения
§ 3. Методы спуска 37 взята не очень большой, то значение функционала обязательно умень- шится. Рассмотрим примеры методов спуска. При исследовании сходимости метода Зейделя в случае системы урав- нений Ах = b при А > 0 мы описали циклический метод покоординат- ного спуска минимизации функции Ф(ж1,..., хт): при заданном прибли- жении Ф(жр. -., отыскивается значение ж'| = ж|, при котором до- стигается inf Ф(хх, Х2, • • •, ж®г), затем отыскивается значение ж2 = х!>, при XI котором достигается inf Ф(ж|, ж2, ж?,..., х^), и т. д. Процесс циклически повторяется. Обозначим через приближение, получаемое при спуске из х по координате х^. Присваивая приближению, получающемуся при спуске по очередной координате, следующий номер, можно записать приближения метода циклического покоординатного спуска в виде X1 = Р1Х°, х2 = Р2Р1Х°,..., хт = Рт... Pix°, xm+1 = PXPm . . . Р1Х°, . . . При практической реализации этого метода возникает проблема мини- мизации функций одной переменной. Рассмотрим отдельно задачу мини- мизации функций одной переменной Ф(.т) при начальном приближении к точке минимума х = х°. Так как эта задача обычно не может быть решена точно, то часто поступают следующим образом: берут некоторые значения х°, х°, и строят параболу у = Q2(.t), удовлетворяющую усло- виям Q2(t°) = Ф(т°), Q2(x°) = Ф(ж°), Q2(S°) = Ф(ж°). Абсциссу х точки минимума ф2(ж) принимают за следующее прибли- жение х1. Уже в одномерном случае можно построить пример, когда последовательность точек, получаемых по описываемому методу, не обя- зательно сходится к искомой точке экстремума функции Ф(т). Даже если на каждом шаге отыски- вается абсолютный экстремум функции ф(жх,... , хт) по соответствующей коорди- нате, то уже при т = 2 может случить- ся, что итерационный процесс сходится не к искомой точке абсолютного экстрему- ма, а к некоторой точке локального экс- тремума. На рис. 7.3.1 изображены линии Уровня такой функции и получаемые при- ближения. Спуск в циклическом порядке необязателен. Если из рассмотрения про- водившихся ранее вычислений видно, что спуск по каким-либо координатам обеспе- Рис. 7.3.1
338 Глава 7. Решение систем нелинейных уравнений чивает наибольшее убывание Ф(ж), то иногда целесообразен более частый спуск по этим координатам. В других случаях при каждом п после получения приближения хп выбирается некоторая совокупность координат производятся независимые спуски по координатам этой группы исходя из приближения х’г, т.е. находят точки Рг(пд)Хи. Далее вычисляется min Ф(Д(.„1Мх'1), и соответствующая минимуму точка fc)Xn принимается за х7г+1. Иногда номер очередной координаты, по которой осуществляется спуск, выбирается недетерминированно. В этом случае говорят о случай- ном покоординатном спуске. Другой вариант метода спуска—метод наискорейшего (градиентного) спуска. Следующее приближение отыскивается в виде xn+i =хп _<5rtgrad$(xn) (рис. 7.3.2). Значение <5п определяется из условия min Ф(х?г — 8п grad Ф(х“)), т.е. этот алгоритм опять состоит в последовательной минимизации функ- ции одной переменной 5п. Как и в методе покоординатного спус- ка, в методе наискорейшего спуска нет необходимости полного решения вспомога- тельной задачи минимизации функции од- ной переменной. В окрестности точки сво- его минимума эта функция меняется ма- ло, и тщательное нахождение ее точки минимума не приводит к существенному эффекту. В 'случае метода наискорейше- го спуска вопрос об объеме вычислений при минимизации вспомогательных функ- ций одной переменной должен решаться также с учетом относительной трудоемко- Рис. 7.3.2 сти вычисления значений функции Ф(ж) и ее градиента. Для иллюстрации решения вопроса о выборе метода рассмотрим сле- дующую типичную задачу: решается нелинейная краевая задача для си- стемы обыкновенных дифференциальных уравнений. В гл. 9 будет пока- зано, что эта задача сводится к решению нелинейной системы уравнений F(x) = 0: fi(x) = /Дж!,..., хт) = 0, г = 1,..., т,
§ 3. Методы спуска 339 обладающей следующими свойствами. Количество операций при отыскании одного значения /,(х) и при од- новременном отыскании всех значений /г(х), i — 1,..., т, в той же точке одинаково; обозначим его через А. Количество операций при непосред- ственном отыскании значений dfi{x.)/dxj и при одновременном отыска- нии всех значений df.;(x.)/dxj, i = 1,..., т, в той же точке одинаково. Обозначим его через В; обычно В » А. Тогда при решении задачи методом Ньютона целесообразно вычислять производные dfi(x.)/dx3, j = 1,..., т, пользуясь приближенной формулой dfj(xl, , Д'т) dxj ~ • • • > xj — li xj Т xj+li - • , ^m) • • • > J j • • • i ®m) ~ Д ' • Область сходимости метода Ньютона обычно невелика, поэтому по крайней мере на начальном этапе итераций целесообразно свести решение этой задачи к минимизации некоторого функционала и применить какой- либо из методов спуска. Рассмотрим простейший случай функционала т Ф(х) = £(AJ?:(x))2; ?’=1 множители Xi = const 0, называемые масштабными, подбираются из условий конкретной задачи. Пусть х" = (ж”,..., ж”г)—полученное приближение и решено сделать спуск в направлении Д = (Дх,..., Дт), ||Д|| = 1. Вычисляют приближен- ные значения производных в этом направлении: Ц = + (2) На прямой х = х" + /Д имеем /Дх) « /Дх’* 1) + tli, поэтому следующее приближение хг,+1 = х’" + /Д определяют из условия т 2 тш^^АД/Дх”) + tli)^ . 1 i=l Отметим, что в данном случае существен вопрос о разумном выборе £ в формуле (2). (По этому поводу см. § 2.16.) Задача минимизации функции при наличии ограничений, так называ- емая задача условной минимизации, формулируется следующим образом. Ищется величина А= inf Ф(жх,..., хт) (3) Xi
340 Глава 7. Решение систем нелинейных уравнений при условиях хт) ^0, (4) ^(яц,..., хт) =0, i = (5) При решении этой задачи возникают дополнительные трудности по срав- нению с решением задачи отыскания безусловного минимума, в которой ищется inf Ф(х'1,..., жт) (х’1 — нижняя грань Ф(ж1,..., хт) по всему пространству Rm. Непосредственное использование многих из описанных выше методов становится невозможным, и возникает необходимость в их модификации. В то же время задача минимизации функции при ограничениях типа (4), (5) является весьма актуальной для приложений. Например, суще- ствует целый раздел математики — линейное программирование, — занима- ющийся решением задачи (3)-(5) в случае, когда Ф, tpi, 'фг — линейные функции аргументов Xj. Среди других методов, связанных с решением задачи (3) (5), упомя- нем метод штрафа. Строится последовательность функций Фд(ж1,...,тто), удовлетворяющая следующим условиям: 1) ФЛ(ж1,..., хт) определена при всех (дц,..., хт); 2) inf ФЛ(Х1,..., хт) = А\ А при А —> оо; Rm 3) если существуют точки (х\,...,хт) и (т^,..., х>п) такие, что Ф(жх,..., хт) = А, Фд(тх, ...,Хт} = Ад, то (я*,..., т*г) -> (®1,..., хт) при А -> оо. Вместо решения исходной задачи (3)-(5) решается задача отыскания минимума inf Фд(.Т|,..., .т„г) при достаточно больших А. Rm Часто вместо первого условия на функцию Фд требуют выполнения более слабого условия. Функция Фд определена в точках некоторой од- носвязной области G\, Фд(жх,.. ., хт) —> оо при приближении точки (яц,..., хт) к границе области или при яг| + • • • + х^ —> оо (в случае, когда область G\ неограниченная). В отдельных случаях условие 3) также несколько модифицируется. Приведем пример построения такой функции Фд. Для этого соотно- шения (4), (5) записываются в таком виде, что tpi будут определены при всех (яг1}..., хт) (или при всех ху,...,хт из Од). Вводится некоторая невозрастающая функция h(t), определенная при —оо < t < оо, такая, что lim h(t) > 0, lim h(t) = 0. Например, можно t—>—оо t—>+оо взять . / X 1 1 h(t) = -----arctg/. 2 7Г
341 § 4. Другие методы сведения В качестве ФД^,..., ято) берется функция тп Q Ф(Ж1,..., xs) + , Тт) + А^2ь(А^(ж1, -.., жт)). ?’=1 г=1 Наличие слагаемого А^?(жх,..., хт) заставляет смещаться точку экстре- мума (а?1,..., ж*г) в область, где 'ipi(xi,..., хт) = 0; в то время как наличие слагаемого Xh(Xipt(x\,..., жто)) заставляет смещаться точку экс- тремума (ж|,..., в область, где , хт) 0. Метод штрафа обладает следующим недостатком. Оказывается, что при больших А структура линий уровня Ф>, как правило, такова, что сходимость методов минимизации существенно замедляется. Искусство применения метода штрафа при решении конкретных задач состоит в удачном выборе функции Ф> такой, что при заданной близости значений нижней грани |А — Л>| С £ замедление скорости сходимости применяемого итерационного метода будет минимальным. В связи с отмеченными недостатками метода штрафа разработано большое число других методов решения задачи условной минимизации (3)-(5). § 4. Другие методы сведения многомерных задач к задачам меньшей размерности Иногда полезно рассмотреть следующую формальную процедуру сведе- ния многомерных задач к одномерным. Пусть ищется минимум А функции Ф(ж1;..., хт) в области ipi(xx,хт) 0, i = 1,..., I, ^j{xx,..., хт) = 0, j = 1,..., q. Можно написать равенство (1) А= min Ф(т1;..., хт) = min$m(sro), а?1 Хт Хт где Фт(^т) = min Ф(Т!,..., тто); XjХт— 1 Минимум каждый раз берется по области определения минимизируемой Функции в соответствии с условиями (1). Таким образом, исходная зада- ча минимизации функции т переменных свелась к минимизации функ- ции одной переменной, каждое значение которой определяется минимиза- цией функции (т—1)-й переменной. В свою очередь минимизацию функ- Ции ФтС^т) сведем к минимизации фунции одной переменной, каждое
342 Глава 7. Решение систем нелинейных уравнений значение которой определяется минимизацией функции от (тп — 2)-х пе- ременных, и т. д. Получим цепочку соотношений А = rnin$TO(.Tm), Фт(^’т) “ ШШ Фпг—l(^m—1? —1 Фз(жз, • , Хт) = ттФ2(ж2, • , хт), Ф2(-г-2, • , хт) = ттФ1(а?1,..., жт). Кажущейся простоте метода сопутствует его большая трудоем- кость. Предположим, что каждая минимизация функций одной пере- менной потребует вычисления s значений минимизируемой функции. Тогда минимизация Фт(.тто) требует нахождения min Фто_1(жт_1, хт) %ТП—1 при s значениях параметра хт, т. е. s2 вычислений значений функции Фт_1(.тт_1, хт)- Это в свою очередь потребует вычисления s2 значе- ний Ф?п-2(.т?п-25 xm-i, хт) и т. д. В конечном счете потребуется вычи- сление sm значений функции Ф. Уже при умеренных s и т, например s = 10, т = 10, такой объем вычислений окажется недопустимо боль- шим. Однако при малых т некоторые модификации рассматриваемой идеи оказываются полезными. Например, возможен такой вариант. Зада- ются начальным приближением (ж?,..., ж^). Реализуют указанный алго- ритм при не очень большом значении s, например s — 3 или s = 4. При этом значения функции вычисляются в точках некоторого параллелепи- педа ]xi~ ж?| С Д°. Получаемую точку минимума (ж|,..., х^) принимают за следующее приближение; приближение (ж2,...,ж2г) находят аналогич- ным образом, но значения функции Ф вычисляются в точках паралле- лепипеда |ж.( — х] | С и т. д. Рассмотрим еще один метод, общая структура которого похожа на структуру описанного выше. Если линии уровня функции Ф похожи на сферы, то при применении методов спуска происходит быстрое смещение в направлении минимума (рис. 7.4.1). Однако практически более типичен случай, когда эти ли- нии похожи на эллипсоиды с большим разбросом полуосей. Тогда при движении по градиенту смещение в направлении точки минимума будет довольно медленным (рис. 7.4.2). Предположим, что оси этих «эллипсоидов» естественным образом раз- биваются на две группы: первая группа состоит из т\ осей одного по- рядка и относительно малых, вторая группа состоит из т2 осей одного порядка и относительно больших. При решении некоторых задач такого рода хорошо зарекомендовал себя следующий метод, называемый методом оврагов. Задаются какими- то приближениями х° и х1 и производят несколько шагов метода спус- ка, исходя из каждого из этих приближений. Будут получены прибли-
§4. ДрУгие методы сведения 343 Рис. 7.4.4 жения Х° и X1. Из рис. 7.4.3 видно, что эти приближения будут ле- жать в многообразии, расположенном в окрестности осей второй груп- пы. Процесс итераций состоит в получении последовательных приближе- ний Х°, X1,..., лежащих в окрестности этого многообразия. В случае r«2 = 1 приближение Х+1 отыскивается следующим образом. Проведем через Xz-1 и Xz прямую и найдем приближение xz+1 к точке минимума Ф(ж) на этой прямой. Таким образом, это приближение ищется в виде х/+1 = хг + q(Xz - х'-1). Далее проводим несколько итераций исходя из xz+1 и получаем при- ближение Xz+1, также лежащее в овраге. В случае т? > 1 приближение х<+1 иногда удобно отыскивать в виде xz+1 = X1 + a(Xz - Х*'1) + /3 grad Ф(Хг). Из рис. 7.4.4 видно, что описанный способ оказывается эффективным и в Ряде случаев, когда линии уровня функции Ф(х) имеют более сложную структуру.
344 Глава 7. Решение систем нелинейных уравнений Решение системы уравнений ., хт) = 0, г = 1,...,т, (2) также формально сводится к последовательному решению уравнений с одним неизвестным. Рассмотрим систему уравнений fifa,..., хт) = 0, г = 2,...,ттг, (3) относительно неизвестных х2,..., хт. Пусть 12(^1),..., хт(х\) — ее реше- ние. Подставляя выражения x2(xi),..., хт(х\) в первое из уравнений (2), получим уравнение Fi(xi) = fi^xlt х2(х1),..., arm(xi)) = 0 (4) относительно одной неизвестной Яр Отыскание значений x2(xi),..., xm(xi) и решение уравнения (4) мож- но проводить численно. Выбирается какой-то метод решения (4) по зна- чениям функции Е(ац); при каждом требуемом значении xi в результате решения (3) получаются значения х2(xi),..., Жт(ач), которые подставля- ются затем в правую часть (4). Для решения системы уравнений (3) при каждом значении х± применим тот же прием. Пусть агз(ж1, х2),..., хт(х\, х2) — решение системы уравнений /г(Х1,..., Хт) =0, 7 = 3, ...,771, (5) относительно неизвестных хз,..., х,т. Подставляя жз(ач, х2),..., xm(xi, х2) во второе уравнение системы, получим уравнение х2) = /2(2-1, х2, x3(xi, х2),хт(х!, х2)^ = 0. При каждом xi это уравнение может быть разрешено относительно х2. Его решение X2(®i), а также хз(х1, х2(х])),..., xm(xi, яДач)) образуют решение системы (3). Систему (5) при каждых х±, х2 опять решаем, сво- дя к системе, где число неизвестных на» единицу меньше, и т. д. Если для решения каждого вспомогательного уравнения с одной неиз- вестной потребуется s вычислений функций, то суммарно этот алгоритм потребует порядка sm вычислений правых частей уравнений системы. По поводу реального применения этого алгоритма можно сказать все то же, что и по поводу применения описанного в начале параграфа ме- тода минимизации. Задача 1. Рассмотреть, во что переходит описанный метод в случае, ко- гда система уравнений (2) линейная.
§ 5. Решение стационарных задач путем установления § 5. Решение стационарных задач 345 путем установления распространенным методом решения стационарных задач является метод установления. В этом случае для решения стационарной задачи строит- ся нестационарный процесс, решение которого с течением времени ока- зывается независимым от него и устанавливается к решению исходной стационарной задачи. Рассмотрим систему дифференциальных уравнений — +grad$(x) = 0. (1) Вектор dx./dt пропорционален градиенту функции Ф(х), т. е. ортогонален ее линиям уровня и направлен в сторону убывания значений функции ф(х). Таким образом, при перемещении вдоль траектории системы (1) значение Ф(х) не возрастает. Формально справедливость этого утвержде- ния следует из неравенства е/Ф(х) ( dx\ -5r=^grad*(x),-J = —(grad Ф(х), grad Ф(х)), (2) означающего, что с?Ф(х)/б// < 0 всюду, за исключением стационарных то- чек функции Ф(х). Другой нестационарный процесс, решение которого при весьма общих предположениях устанавливается к точке минимума функции Ф(х), опи- сывается системой дифференциальных уравнений d2x dx , т. + Т-77 + grad Ф(х) = 0, 7 > 0. (3) at, at Для решений этой системы имеем d /1 /dx dx\ Л _ /dx d2x\ dt\2\dt,dt) + W)\dt’~di?) + (, , , . dx\ /dx dx\ n ч Erad*(x’>*)=-i'U-s)<0' (4> если только dx/d/ 7^ 0. Функцию Ф(х) в первом случае Ф(х) — во втором можно рассматривать как энергию материальной си- и стемы, движение которой описывается системами уравнений (1) и (3). Соотношения (2) и (4) показывают, что рассматриваемые нестационар- ные процессы характеризуются оттоком или, как говорят, диссипацией энергии.
346 Глава 7. Решение систем нелинейных уравнений Чтобы прояснить вопрос о разумном выборе 7, рассмотрим простей- Л2 шую модель; х— скаляр, Ф(ж) = ——; тогда (3) приобретает вид х" + 'ух' + а2х — 0. Соответствующее характеристическое уравнение А2 7А 4- а2 — 0, I 2 “У I 1 его корни А1д = — \ ~4— °2, и ПРИ ^2’ решение есть щ ехр{АП} 4-с2 ехр{А2£}. т. е. при 7 ф 2а общее Скорость убывания решений рассматриваемого уравнения определяет- ся величиной <7(7) = max(ReAi, КеАз). При 7 2а имеем 72/4 — а2 0, и поэтому ReAi = ReA2 - 0(7) = —7/2 — а. При 7 > 2а величины Ai и А2 вещественны и ReAi = + У^-а2 > ReA2 = -I Тогда Рис. 7.5.1 Таким образом, график <7(7) имеет вид, изображенный на рис. 7.5.1, и min 0(7) -= 7 сг(2а) = —а. Из результатов рассмотре- ний этой модельной задачи можно сде- лать следующие качественные выводы. 1. Если коэффициент трения 7 очень мал (в нашем случае 7 2а), то решение системы (3) медленно устанавливается к положению равновесия; при этом (вслед- ствие условия ImAj, 1тАг 7^ 0) происходят колебания около положения равновесия. 2. Если 7 велико (7 2а), то решение также медленно устанавлива- ется; причина состоит в том, что при большом коэффициенте трения 7 движение не может приобрести большой скорости.
§ 5- Решение стационарных задач путем установления 347 3. Оптимальное значение 7 лежит где-то посередине и зависит от свойств конкретной функции Ф(ж). Метод установления с помощью решения системы (3) иногда называ- ют методом тяжелого шарика. Это название обусловлено следующими соображениями. Рассмотрим движение материальной точки по поверхности у = Ф(ж) в поле тяжести, направленном в отрицательном направлении оси у. Пред- положим, что трение пропорционально скорости и точка не может отры- ваться от поверхности. Тогда ее движение опишется системой уравнений d2x dx gracBI>(x) dt2 dt + 1 + || grad Ф(х)||2 Ясно, что решение этой системы с течением времени установится к некоторой стационарной точке функции Ф(х). Вблизи экстремума || grad Ф(эс)|| « 1 эта система близка к системе (3). Большинство известных методов установления описывается уравнени- ями вида л f dx\ dx . f dx \ ... Л° + x’HT’grad$ =0 (5) \ dt J dt \ dt J или (*’ $ + B' = 0, (6) где A0(X, 0)/0, A1(X,0,0) = 0, B0(X,0)^0, F!(X,0,0) = 0 и выполнены условия диссипативности, обеспечивающие сходимость к точке экстремума X. Вообще говоря, можно обратить операторы Л() и Во и преобразовать эти уравнения к виду, где Ад и Во — тождественные операторы. Однако исходная форма записи часто практически удобнее. Может показаться, что построение таких нестационарных процессов, устанавливающихся к решению, уже полностью решает проблему отыска- ния минимума функции. Осталось «лишь» найти решение получившейся системы дифференциальных уравнений, используя какой-либо из числен- ных методов решения задачи Коши. В действительности сведение решения стационарной задачи к реше- нию нестационарной не всегда дает удовлетворительное решение пробле- мы минимизации. Остается еще неясным существенный вопрос о выборе величины шагов численного интегрирования. Предположим, что решение нестационарной задачи устанавливается с требуемой точностью к реше- нию стационарной за некоторый промежуток времени Т. Если интегриро- вание производится с малым шагом Д, то получаемые расчетные точки будут близки к рассматриваемой траектории и можно рассчитывать на иопадание в малую окрестность точки минимума. Однако при этом число
348 Глава 7. Решение систем нелинейных уравнений шагов Т/Д может оказаться недопустимо большим (рис. 7.5.2). Если шаг интегрирования берется очень большим, то может случиться, что расчет- ные точки начнут сильно отклоняться от рассматриваемого решения и никогда не попадут в искомую окрестность точки минимума (рис. 7.5.3). Метод установления применим не только к задачам на экстремум функционала, но и к любым стационарным задачам Т(х) = 0. Строится некоторый процесс вида (5) или (6), где вместо grad$(x) стоит Е(х), и такой, что х(£) —> X при t —> оо, X — корень уравнения F(X) = 0. Рассмотрим подробнее случай системы линейных уравнений Ах—b = 0 в предположении, что жорданова форма матрицы диагональная и все ее собственные значения А,; лежат в пределах 0 < д Ai Аг Ат М, где ei,...,em—соответствующие собственные векторы, образующие полную систему. Напишем простейшую аппроксимацию метода установления + (Ах — Ь) = О (7) на временной сетке с постоянным шагом Соответствующая расчетная формула хп+1 = хп _ цАхп _ Ь) совпадает с расчетной формулой из § 6.3. Погрешности г” = xn — X т удовлетворяют соотношению гn+1 = (Е — тА)гп. При г° — 52сгег име- 1 т ем г” — 52cj(l — тХг)п^г и скорость убывания погрешности определяется 1 величиной тах|1 — тАф Там уже было установлено, что наиболее це- лесообразно брать т = 2/(д + М), и тогда можно утверждать, что по- грешность ведет себя как О(((М — д)/(М + д))п). Метод наискорейшего спуска можно также рассматривать как аппроксимацию метода устано-
§ 5. Решение стационарных задач путем установления 349 вления, но уже на сетке с переменным шагом: xn+1 = х’1 — тп(Ахп — Ь); щаг тп определяется каждый раз из условия min$(xn+1). ТП Рассмотрим аппроксимацию метода установления d2x dx , л . л?+7л+(Ах-ь) = 0 на временной сетке с постоянным шагом xn+1 - 2х" + хп~1 ^2 хя+1 __хя—1 + 7----------+ (Ахп - Ь) = 0; 2т О < 7 — скалярный множитель. Погрешности г” удовлетворяют соотноше- ниям j.n+1 __ 2rn I Yn~1 гя+1 _____ rn—1 --------2---------+ 7------5------+ Агп = 0. 2т (8) Разложим векторы г” по собственным векторам матрицы А: тп г- i— 1 Подставим выражения г”-1, г71, r’l+I в (8); поскольку векторы не- зависимы, то коэффициенты при них обращаются в нуль и получается система соотношений с?+1 ~ 2с? + с?"1 т2 я+1_ я-1 + 7 ' -2т * +АгС? = О. Решения этих разностных уравнений записываются в виде с? = ^(4)п + если z\, z\ — простые корни характеристического уравнения и в виде если корень (9) кратный. Во всех случаях определяющим фактором убы- вания ||гп|| является величина max (max(|z||, [z^D), которую можно ма- г жорировать сверху величиной max |z(A)|, гДе z(A)— максимальный по модулю корень уравнения z2 — 2z Ч-1 z2 — 1 х ---------+ 7-^— + Az = 0. (Ю)
350 Глава 7. Решение систем нелинейных уравнений Мы не будем приводить полного решения задачи на экстремум (10), а ограничимся наводящими соображениями и выписыванием ответа. При х1 = х° + а(Ах° — Ь) приближения хп записываются в виде (6.6.2). Поэтому рассматриваемый итерационный процесс не может дать луч- шего приближения, чем оптимальный линейный итерационный процесс (6.6.19). При и —> оо оптимальный линейный итерационный процесс пе- реходит в итерационный процесс (6.6.23), который с учетом явного вы- ражения Aq = (1 + \/д/Л1)/(1 — [i/M) может быть записан в виде хп+1 = хп + 2 (хП _ хл-1)---------------_ ь) (п) Можно подобрать т и 7 так, чтобы итерационный процесс совпадал с рассматриваемым. Для этого следует взять _ 2 _ 2у/Мд у/М + у' у/М + /7, Таким образом, в рамках схемы установления с постоянным 7 можно получить итерационный процесс, несущественно отличающийся от опти- мального линейного процесса. Обратим внимание на поведение корней ДА), соответствующих (11); имеем характеристическое уравнение —-==------А ) z 4- (Дм + Дд)2 J 2 = 0. Запишем это уравнение в виде z2 - A(A)z + д2 = 0, д0 = (ДМ-Дд)/(ДМ +Дд) . Здесь Л(А) — линейная функция от А,'причем А(М) = А(д) = 2до- Следовательно, |Л(А)| < 2до при д < А < М. Поэтому ац2(д) = До, Л(А) /M(A)V 1 ^1,2(М) = —До, ^1,г(А) =-----— ± </ I—-—I —Др имеют ненулевую мни- мую часть и 1^1,2 (д)| = До при д < А < М. Таким образом, указана совокупность коэффициента 7 и шага т, для которой max |ДА)[ = [у/М - + Дд)- Неулучшаемость этой оценки усматривается из оценки скорости сходимости оптимального линейного итерационного процесса.
15. Решение стационарных задач путем установления 351 Как аналог метода сопряженных градиентов в случае минимизации функционала Ф(х) общего вида можно рассматривать следующий метод: последующие приближения ищутся в виде хп+1 = хп + Qn(xn _ хп-1) + grad ф(хп)5 а и [Зп определяются из условия min Ф(хп). п ' ап ,/Зп Соответствие между методами решения стационарных задач путем установления и обычными итерационными методами позволяет строить новые итерационные методы или новые процессы установления. Рассмотрим, например, расчетные формулы Ньютона Х»+1 _ хп = _ Р(ХВ) (12) решения системы нелинейных уравнений F(x) = 0. Этим формулам мож- но дать следующую интерпретацию: введем непрерывное время t и будем рассматривать величины х'1 как значения некоторой функции в моменты времени tn ~ п. Тогда соотношение (12), переписанное в виде „.п+1 _ ,,,'п -----—- = -(F'(*”)) F(x"), Cn + 1 l-n можно интерпретировать как получившееся при аппроксимации системы ^ = -(F'(x))-1F(x). (13) Решение исходной задачи является стационарной точкой этой системы. При х = X + т] имеем F(x) = F(X) + F'(x)77 + О( IM2) = F'(X)77 + O(\\rj ||2). Таким образом, = = -((F'(X))-1 + O( hll) (F'(X)>7 + O(H)2)) = = -7) + O(W)2). Отсюда следует, что x = X является асимптотически устойчивым реше- нием (13). Заменяя производную dx./dt разностным отношением по значениям Функции в некоторых точках to = 0, <1,..., получаем соотношения хм-1 _ хп —---------= - (F'(x-))-1 F(x”), Д = tn+1 - t.n, Иначе, xn+l = хп _ An(F'(x"))-lF(xn) (14)
352 Глава 7. Решение систем нелинейных уравнений Таким образом, построение нестационарного процесса, соответствующего методу Ньютона, привело нас к получению итерационного процесса (14) более общего вида. Рассмотренный пример показывает, что переход от некоторого итера- ционного алгоритма к соответствующему ему нестационарному процессу имеет много общих черт с построением замыкания вычисленного алго- ритма (понятие замыкания алгоритма будет введено в гл. 9). Нами бы- ла доказана сходимость метода Ньютона лишь при достаточно хорошем начальном приближении к решению. С целью расширения области схо- димости иногда прибегают к следующей модификации метода Ньютона. Задаются функционалом Ф(х), например ||F(x)|[2, нижняя грань ко- торого, равная нулю, достигается при решении задачи. Последователь- ные приближения отыскиваются в виде (14), причем Дп определяется из условия шшФ (хп - An(F'(xn))~1F(xn)). Возникает вопрос о практическом нахождении величины Д„, при которой достигается этот минимум. Одна из распространенных процедур определения Дп состоит в сле- дующем. Задавая A G (0,1), 0 G (0,1] и I > 0 — целое, при каждом п последовательно вычисляют Xn+I,i = xn _ Ai(F'(xn))-1F(xn), г = 0,... , I, и дп+1’г = Ф(х”+1,г). Если при некотором k I оказалось дп+1’к 0Ф(х”), то вычисления прекращают и полагают xn+l = хп+1’*; в других проце- дурах находят min дп+1>г = дп+1’т и полагают xn+1 = x«+i,m 0<i^l Если Qn+1’0,-.. ,Qn+1’Z >0Ф(хп), то возможны, например, такие варианты: 1) временный переход к другому методу; 2) остановка; 3) изменение значений параметров' I, А, 0. Отметим в заключение, что методы установления могут применяться и в случае минимизации функции в областях с ограничениями. Тогда уравнения (1), (3) следует дополнить какими-то уравнениями, которым будет подчиняться траектория точки, попавшей на границу. § 6. Как оптимизировать? После выбора модели, целевой функции и параметризации задачи возни- кает задача минимизации функции обычно большого числа переменных в области, принадлежность к которой задается условием выполнения боль- шого числа ограничений — равенств или неравенств. Наличие ограниче-
§ 6. Как оптимизировать? 353 НИЙ существенно увеличивает сложность задачи минимизации: как прави- ло, точкой экстремума оказывается некоторая граничная точка области. Вследствие большой важности решения задач оптимизации для самых различных сторон жизни общества, в настоящее время накопился боль- шой багаж методов и стандартных программ решения задач оптимиза- ции. Поэтому при решении единичной конкретной задачи часто наиболее оправдано обращение к одной из имеющихся стандартных программ. При решении новых задач оптимизации полезно помнить о следующих моментах. Для рассматриваемых в этой главе методов сходимость при- ближений всегда доказывалась в предположении наличия достаточно хо- рошего начального приближения. Это ограничение на метод вызывается существом дела. Так, поверхность уровня многочлена умеренной степени от умеренного числа переменных может содержать весьма много не свя- занных между собой компонент со сложным взаимным расположением. Поэтому, например, безнадежно рассчитывать на построение алгоритма, позволяющего быстро найти минимум любого многочлена восьмой степе- ни от десяти переменных. Вышесказанное следует учитывать при использовании стандартных программ, в описании которых указывается на возможность минимиза- ции функций очень большого числа переменных. В лучшем случае ока- зывается, что: а) программа эффективно решает задачи минимизации из класса, с которым автор программы обычно имеет дело, или б) программа, формально говоря, может решить любую задачу мини- мизации, но требуемое для решения время в подавляющем числе случаев выходит за всякие разумные пределы. Мы придерживаемся точки зрения, что всякий «универсальный» метод решения многомерных задан, минимизации должен обладать существенны- ми недостатками и в действительности не является универсальным. При решении новых задач зачастую приходится разрабатывать специ- альные, приспособленные именно для этого класса задач, методы отыс- кания начального приближения к решению. Сложность отыскания прие- млемого начального приближения можно проиллюстрировать следующим примером. Существует ряд стандартных программ наилучшего приближения функций отношением многочленов Pm(x)/Qn(x) (1) заданных степеней тип. При разработке стандартной программы вы- числения интегралов Френеля проводились следующие эксперименты. Ка- ждая из стандартных программ применялась для приближения рассма- триваемой функции на некотором отрезке при всех т, п в пределах О < т + п 12. Оказалось, что не менее чем в 3 случаях из 90 воз- можных каждая программа выдавала ответ, что она не может решить рассматриваемую задачу. У некоторых программ доля таких отказов пре- восходила половину выданных ответов. В то же время во всех этих про-
354 Глава 7. Решение систем нелинейных уравнений граммах используются алгоритмы, для которых доказаны теоремы о схо- димости при достаточно хорошем начальном приближении. Чтобы не создалось впечатления полной безнадежности решения сколько-нибудь сложных задач оптимизации, рассмотрим тот же вопрос с оптимистической точки зрения. С этих позиций приведенные выше доводы о сложности миними- зации многочленов можно рассматривать как малоубедительные — ведь на самом деле нам никогда не потребуется минимизировать произволь- ный многочлен. Существует мнение, что задачи минимизации функций с очень сложной структурой линий уровня встречаются довольно редко. Рассмотрим пример задачи, где сам факт необходимости ее решения может быть поставлен под сомнение. Неудачи при попытках получения хорошего начального приближения могут быть вызваны следующей особенностью поведения рассматривае- мой функции. Точка минимума находится в очень узкой «яме»—при удалении от нее во всех направлениях функция резко возрастает, а по- том начинает убывать (рис. 7.6.1). Предположим, что точка минимума находится путем продвижения в направлении, противоположном градиенту функции Ф(т), иначе — числен- ным интегрированием системы +grad$(a:) = 0. (2) Тогда множество начальных условий, исходя из которых мы будем при- ходить в точку минимума, находится в небольшой окрестности этой точ- ки. Можно говорить, что при рассмотрении окрестности точки минимума в микроскопическом масштабе эта точка оказывается точкой притяжения решения системы (2); при рассмотрении в более крупном масштабе она уже оказывается точкой отталкивания (рис. 7.6.2). Точно такой же характер поведения последовательных приближений к точке минимума будет и у других итерационных методов.
§ 6. Как оптимизировать? 355 » Если «яма», где находится точка мини- \ f\ мума, очень узкая, то иногда и не стоит \ /1г\ /\ / искать эту точку минимума. В самом де- \^/ II \_у 1 / ле, пусть, например, параметры x,i отве- II \ / чают некоторой реальной работающей си- у стеме управления. В работе этой систе- мы неизбежны некоторые сбои, т. е. изме- нения этих параметров. Если точка мини- мума функции Ф находится в такой узкой Рис. 7.6.3 * «яме», то малые сбои могут существен- но испортить характеристики работы си- стемы. В свете вышесказанного выбор точки экстремума в случае, изо- браженном на рис. 7.6.3, требует дополнительного изучения. Некоторые исследователи, обладающие большим опытом решения практических задач оптимизации, утверждают, что подобные целевые функции с узкими «ямами» возникают обычно в случаях, когда мате- матическая модель рассматриваемого явления построена неудачно. Более существенные причины для оптимизма состоят в следующем. Во многих случаях создание математической модели и ее оптимизация зачастую имеют целью улучшение работы уже существующей системы. В этих случаях параметры реальной системы часто являются хорошим приближением для дальнейшей оптимизации. При разработке новой системы типична следующая линия поведения. Сначала строится и оптимизируется простейшая модель, учитывающая важнейшие факторы. Затем модель постепенно усложняется за счет уче- та все новых и новых факторов. Таким образом, последовательно возни- кают задачи минимизации функций все большего числа параметров. При удачном построении вспомогательных моделей решение каждой из этих задач оптимизации обычно оказывается хорошим начальным приближе- нием для следующей по сложности задачи. Это обстоятельство часто используется следующим образом. Пусть перед нами стоит задача минимизации функции большого числа па- раметров Х1,...,хп. Построим функцию меньшего числа параметров т < п, приближающую рассматриваемую функцию, иначе — упрощенную модель с определяющими параметрами Xi,... ,Хт. Произве- дем оптимизацию этой функции (модели) и на основе ее решения скон- струируем начальное приближение. Иногда оказывается полезным произ- вести несколько шагов такого упрощения функции (модели) и введения новых параметров. Оптимизация функций (моделей) меньшего числа параметров оказы- вается более легкой по следующим двум причинам: становится проще структура линий уровня минимизируемой функции; вычисление каждого значения функции обычно требует меньшего объема вычислений. При построении упрощенных моделей в первую очередь следует учи- тывать наиболее важные параметры задачи.
356 Глава 7. Решение систем нелинейных уравнений Что такое важность факторов или параметров? Можно говорить, что важными параметрами являются те, от которых функция сильно зави- сит. На языке математики это означает, что производные функции по этим параметрам относительно велики. Второстепенными параметрами являются те, от которых рассматриваемая функция зависит слабо, т. е. производные по которым малы. Формально важность параметров мож- но определить, оценивая производные рассматриваемой функции. Однако для сложных задач такая оценка и особенно математически обоснован- ный выбор новых параметров Xi,... ,Хт весьма трудоемки. Характери- стика параметров по более наглядному критерию —их важности — дает возможность руководителю производственной системы подсказать мате- матику первоочередность выбора параметров. Иногда приемлемый метод оптимизации или способ отыскания хоро- шего начального приближения можно получить, изучая принципы, кото- рыми руководствуются в своей работе опытный практический работник или руководитель, или приемы их работы. На одном новом заводе долгое время не удавалось наладить ритмичное про- изводство из-за недостаточного опыта работы операторов. Попытки создания модели производственного процесса, достаточно точной, но в то же время под- дающейся анализу средствами математики с помощью ЭВМ, не приводили к успеху. В конце концов пришлось временно отказаться от разработки матема- тической модели и пойти по следующему пути автоматизации и оптимизации производства. В память ЭВМ были записаны режимы работы лучших опера- торов на родственных предприятиях. Далее, в зависимости от имеющихся на данный момент условий, машина выбирала режим работы, наиболее близкий к режиму работы одного из лучших операторов. Такое мероприятие позволило устранить возникшие трудности. В другой аналогичной ситуации руководство предприятием не пошло по та- кому пути. Оно настойчиво требовало от математической группы разработ- ки универсального алгоритма, который по заданным внешним характеристи- кам конструируемого прибора выдавал бы оптимальный набор внутренних па- раметров прибора: расположение и размеры деталей конструкции, вес и т. п. Предлагавшиеся математиками алгоритмы оптимизации не оказывались уни- версальными и в большинстве случаев не приводили к приемлемому решению. Математики предложили подход к решению задачи, имитирующий реальную ситуацию. Конструктор задает компоновку деталей прибора. Компьютер об- считывает внешние характеристики прибора и выдает их конструктору. На основании полученной информации конструктор вносит изменения в компо- новку. Такой диалоговый режим работы позволил бы отказаться от дорого- стоящего реального конструирования прибора и его испытаний. Руководство предприятия отказалось от такого подхода к решению проблемы и потратило много времени на бесплодные поиски «более квалифицированных» математи- ков, способных предложить «универсальный» бездиалоговый алгоритм реше- ния казавшейся ему столь простой задачи. Большие материальные затраты и потеря темпов в разработке новой техники в конце концов привели к понима-
§ 6. Как оптимизировать? 357 нию того, что предлагавшийся математиками путь решения задачи на данном этапе понимания проблемы был единственно возможным. Конструкторы приобрели опыт в таком режиме работы. Математикам, ана- лизируя диалог конструкторов с ЭВМ, удалось понять принципы, которыми конструкторы руководствуются при компоновке деталей, и заложив эти прин- ципы в основу алгоритма решения задачи, создать бездиалоговый, «чисто ма- шинный» алгоритм оптимизации конструкции. Способы нахождения начального приближения и сами итерационные методы часто имеют аналогию с какими-то реальными процессами и в других явлениях. Работа зрительного аппарата и мозга при отыскании какого-либо предмета, по-видимому, организована по следующей схеме. Сначала производится беглый осмотр всего поля зрения в крупном мас- штабе, на основании полученной информации выбирается участок для дальнейшего просмотра, затем производится просмотр этого участка в крупном масштабе и т. д. Обратим внимание на сходство с методами из § 3.16 и § 4 данной главы. При необходимости развивать исследования новых трудных задач важное значение имеет правильная организация научных исследований. Если в основном ясно, в каком направлении нужно развивать исследо- вания, концентрация научных усилий обычно производится в этом на- правлении. Если наиболее рациональный путь к намеченной цели еще не определился, то часто прибегают к дублированию исследований. Не- сколько независимых организаций ищут решение, каждая на своем пути, иногда без постоянного обмена информацией. Хотя на первый взгляд ка- жется, что взаимный обмен информацией всегда полезен, постоянный об- мен ею может и помешать возникновению и продвижению оригинальных решений проблемы. Существует гипотеза (необщепризнаиная), что сходным образом ра- ботает мозг при решении какой-либо проблемы: получаемая информа- ция фиксируется не вполне детерминированным образом в различных его участках; в то же время в каждый момент работы над проблемой эта информация извлекается лишь из локализованного участка мозга. По аналогии со сказанным выше напрашивается следующий подход к решению задачи оптимизации (а также и любых других задач) в слу- чае, если требуется срочное получение результата. Для решения задачи поочередно или независимо используются несколько известных методов решения подобных задач. В обоих случаях, при поочередном или при независимом использовании, алгоритмы Лр, р — работают цикли- чески; длительность tpq промежутка времени, в течение которого алго- ритм Ар работает q-й раз, задается пользователем или определяется в процессе работы. При поочередном использовании каждый алгоритм на- чинает минимизацию с приближения, полученного предшествующим ал- горитмом. При независимом использовании каждый алгоритм начинает минимизацию с приближения, полученного в результате предшествующе-
358 Глава 7. Решение систем нелинейных уравнений го применения данного алгоритма. Таким образом, в этом случае алго- ритмы работают по принципу «кто быстрее». Режим независимого использования алгоритмов является аналогом па- раллельной работы организаций при отсутствии взаимного обмена ин- формацией. Как аналог реальной организации научных исследований с обменом информацией в дискретные моменты времени может рассматри- ваться следующий режим работы. В начале каждого промежутка време- ни tpq алгоритм Ар просматривает некоторую совокупность приближений из полученных всеми алгоритмами и выбирает наилучшее приближение исходя из своих позиций. Например, он может просматривать все при- ближения последнего цикла или приближения, полученные алгоритмами в концах всех промежутков tij. Иногда может принести пользу следующая организация работы: по- сле получения алгоритмом Ар приближения, очень хорошего с позиций алгоритма As, предоставляется время для работы алгоритма Л.,. Конечно, не следует думать, что непосредственное копирование раз- личных реальных систем всегда позволит наилучшим образом решить рассматриваемую оптимизационную задачу. Подведем общий итог наших рассуждений. Обычно задачи оптимиза- ции функций большого числа переменных очень трудны; при решении новых задач приходится затрачивать много, иногда бесплодных, усилий, производя пробные просчеты по различным известным и новым алгорит- мам. Однако при наличии таких благоприятных факторов, как контакт с практическими работниками и возможность анализа упрощенных моде- лей, есть все основания сохранять уверенность в благоприятном исходе попыток решения задачи. Заметим, что часто для успешного решения задач оптимизации необ- ходим диалоговый режим работы исследователя с ЭВМ. Не имея перед собой конкретной задачи, невозможно дать рекоменда- цию, каким методом решения системы нелинейных уравнений или мини- мизации функций следует воспользоваться. Как уже отмечалось выше, велика возможность столкнуться с ситуацией, когда область сходимости метода (множество значений нулевого приближения, при которых метод сходится) очень мала. Опыт решения подобных задач показывает, что в первую очередь сто- ит попробовать применить методы, имеющие естественную наглядную ин- терпретацию, например метод установления, или методы, имитирующие действие человека или животного в подобной ситуации. Для выбора на- чального приближения надо также привлечь естественные наглядные со- ображения, имитирующие такие действия. На таком пути часто удается довольно быстро построить алгоритм, позволяющий решить задачу. При однократном решении простых задач иногда проще всего при- менить простейший итерационный метод, например Ньютона, с выдачей на экран хода итерационного процесса. Задаваясь различными началь-
§ 6. Как оптимизировать? 359 ними приближениями, часто удается довольно быстро угадать начальное приближение, лежащее в области сходимости метода. При решении систем уравнений или задач минимизации, возникающих при аппроксимации краевых задач для дифференциальных уравнений, полезно воспользоваться близостью (в соответствующих нормах) решений таких дискретных задач, соответствующих различным шагам сетки. Ре- шение на крупной сетке является хорошим приближением для решения задачи, соответствующей более мелкой сетке. В то же время каждый шаг итерации на крупной сетке менее трудоемок, и с теми же затра- тами можно провести большее число шагов итерации, начиная с одного или со многих начальных приближений. Таким образом, в этом случае имеет смысл решать задачу на последовательности сеток, т. е. последо- вательно решать несколько систем алгебраических уравнений (порядок системы mj возрастает: my+i > my). При этом решение у-й системы Х;/ используется для получения начального приближения Ху+1 к решению (у + 1)-й системы. Так как векторы Ху и Ху+1 имеют, вообще говоря, различную раз- мерность, то для перехода от Ху к Ху+1 обычно используют интерпо- ляцию многочленами или сплайнами. Аналогичный подход применим и к другим дискретным задачам, возникающим при аппроксимации задач, связанных с отысканием функций непрерывного аргумента. В ряде случаев, например при планировании, требуется многократ- но решать однотипные задачи, причем в режиме реального времени, т. е. решение задачи должно получаться с очень малым отставанием от изме- нения входных данных задачи. В этом случае для ускорения сходимости следует использовать все многообразие описанных нами методов. Литература 1. Васильев Ф. П. Численные методы решения экстремальных задач. — М.: Наука, 1980. 2. Васильев Ф.П. Методы решения экстремальных задач. — М.: Наука, 1981. 3. Карманов В. Г. Математическое программирование. — М.: Наука, 1986. 4. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вычислительных методов. Линейная алгебра и нелинейные уравнения. — Минск: Наука и техника, 1982. 5. Нестеров Ю.Е. Эффективные методы в нелинейном программировании. — М.: Радио и связь, 1989. 6. Ортега Д., Рейнболдт В. Итерационные методы решения систем уравнений со многими неизвестными. — М.: Мир, 1975.
============= Глава 8 ...=........ Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений Задача решения обыкновенных дифференциальных уравнений сложнее задачи вычисления однократных интегралов, и доля задач, интегрируе- мых в явном виде, здесь существенно меньше. Когда говорят об интегрируемости в явном виде, имеют в виду, что решение может быть вычислено при помощи конечного числа «элемен- тарных» операций: сложения, вычитания, умножения, деления, возведе- ния в степень, логарифмирования, потенцирования, вычисления синуса и косинуса и т. п. Уже в период, предшествовавший появлению ЭВМ, поня- тия «элементарной» операции претерпели изменение. Решения некоторых частных задач настолько часто встречаются в приложениях, что при- шлось составить таблицы их значений, в частности таблицы интегралов Френеля, функций Бесселя и ряда других, так называемых специальных функций. При наличии таких таблиц исчезает принципиальная разница между вычислением функций sin ж, 1пж, ... и специальных функций. В том и другом случаях можно вычислять значения этих функций при по- мощи таблицы, и те и другие функции можно вычислять, приближая их многочленами, рациональными дробями и т. д. Таким образом, в класс задач, интегрируемых в явном виде, включались задачи, решения кото- рых выражаются через специальные функции. Однако и этот, более ши- рокий, класс составляет относительно малую долю задач, предъявляемых к решению. Существенное расширение класса реально решаемых диффе- ренциальных уравнений, а следовательно, и расширение сферы примене- ния математики произошло с разработкой численных методов и актив- ным повсеместным использованием ЭВМ. В настоящее время затраты человеческого труда при решении на ЭВМ задачи Коши для обыкновенных дифференциальных уравнений сравнимы с затратами на то, чтобы просто переписать заново формули- ровку этой задачи. При желании можно получить график решения или его изображение на экране. В результате этого для многих категорий на- учных работников существенно уменьшился интерес к изучению частных способов интегрирования обыкновенных дифференциальных уравнений в явном виде.
§ 1. Решение задачи Коши с помощью формулы Тейлора 361 Эта глава посвящена описанию основных методов решения задачи Коши для обыкновенных дифференциальных уравнений, исследованию свойств этих методов и оценке их погрешности. Обратим внимание на то обстоятельство, что, как и в других случаях, первоначальный анализ практической пригодности методов и отбрасыва- ние непригодных методов часто удается произвести, изучая простейшие задачи, где точное и приближенное решения задачи выписываются в яв- ном виде. § 1. Решение задачи Коши с помощью формулы Тейлора Один из простейших по своему описанию методов решения задачи Коши основан на использовании формулы Тейлора. Пусть требуется найти на отрезке [.'/.'о, tq + X] решение дифференци- ального уравнения У = /(ж, у) (1) при начальном условии у(хо) = уо; f(x, у) -функция, аналитическая в точке (хо,уо)- Дифференцируя (1) по ж, имеем соотношения У" = fx(x, у) + Д(а;, у)у', у'" = fxx(x, у) + 2fxy(x, у)у' + fyy(x, у)у'2 + fv(x, у)у",.... Подставляя х = xq и у ~ Уо в (1) ив последние соотношения, последо- вательно получаем значения у'(жо), у"(ж0), у"'(-то),..-; Таким образом, можно написать приближенное равенство (2) ' г! г—О Если значение |т — то| больше радиуса сходимости ряда i то погрешность (2) не стремится к нулю при п —> оо и предлагаемый метод неприменим. Иногда целесообразно поступить следующим образом. Разобьем отре- зок [то, то + Х] на отрезки [xj-i, Xj], j = 1,... ,N. Будем последовательно получать приближения yi к значениям решения y(xj), j = 1,... ,N, по следующему правилу. Пусть значение у-i уже найдено, вычисляем значе- Ния в точке Xj производных у^' решения исходного дифференциального
362 Глава 8. Численные методы решения задачи Коши уравнения, проходящего через точку (xj, yj). На отрезке + по- лагаем у(х) и Zj(x) = ^~(х~ Xj)1 (3) 7=0 г' и соответственно берем Уз+1 = (4) Рассмотрим случай, когда :ej+i — Xj = h. Если бы значение yj совпа- дало со значением точного значения г/(:с7), то погрешность от замены yj+l на Zi(xj+i) имела бы порядок O(h" + V). Поскольку мы вносим по- грешность на O(h-1) отрезках, то можно ожидать, что при уменьшении шага сетки будет выполняться соотношение ~ у(^ = °^- В ряде случаев такого рода рассуждения приводят к неправильному за- ключению о наличии факта сходимости приближенного решения к точ- ному, в то время как в действительности этого нет. Поэтому строгое обоснование сходимости методов при уменьшении шага, а также получе- ние оценки погрешности имеет не только теоретическое, но и важнейшее практическое значение. При использовании этого метода нужно вычислять значения функции У и всех ее производных при т < п, т.е. вычислять п(п + 1 )/2 значений различных функций. Это требует написания большого числа блоков вычисления производных, что противоречит основной тенденции упрощения отношений между пользователем и ЭВМ. В настоящее время на некоторых ЭВМ имеются пакеты программ, которые по заданной программе вычисления значений функции строят программу вычисления значений ее производных. Таким образом, при на- личии таких пакетов программ, казалось бы, отпадает приведенное выше возражение о сложности использования описанного ранее метода. Однако этот метод применяется редко. Как правило, программы, со- здаваемые с помощью таких пакетов, при Убй же точности результата требуют существенно больших затрат машинного времени, чем програм- мы, основанные на рассматриваемых далее более простых методах типа Рунге-Кутта и Адамса. В то же время описанный выше алгоритм может быть полезен. На- пример, при расчетах траекторий движения небесных тел приходится многократно интегрировать системы дифференциальных уравнений впол- не определенного вида при различных начальных условиях и различ- ных значениях параметров в правых частях. То обстоятельство, что все время решается одна и та же система дифференциальных уравнений, дает следующее преимущество: конкретные формулы для производных правых частей системы имеют много общего; одновременное вычисление всех этих производных требует относительно малого числа арифметиче- ских операций, и рассматриваемый метод иногда оказывается эффектив- нее других методов численного интегрирования.
§2. Методы Рунге—Кутта 363 § 2. Методы Рунге—Кутта В частном случае п = 1 формула (1.3) имеет вид yj+1 = Dj *1" hf(.x:h yj}, h = Xj+1 xj- (1) Этот метод называется методом Эйлера. Можно построить другой класс расчетных формул, к которому принадлежит метод Эйлера. Укажем сна- чала простейшие методы этого класса, получаемые из наглядных сообра- жений. Пусть известно значение у(х) и требуется вычислить значение у(х + h). Рассмотрим равенство rh у(ж +/г) = у(ж) + / y'(x + t)dt. (2) Jo При замене интеграла в правой части на величину hy'(x) погрешность имеет порядок О (Л2), т. е. у(х + h) = у(х) + hy'(x) + О(Л2). Поскольку у'(х) = ]'(х, у(ж)), отсюда имеем у(х + Л) = у(х) -I- hf(x, у(ж)) + <Э(Л2). Отбрасывая член порядка O(h2) и обозначая х = Xj. х + h = Xj+i, полу- чим расчетную формулу Эйлера (1). Для получения более точной расчет- ной формулы нужно точнее аппроксимировать интеграл в правой части (2). Воспользовавшись квадратурной формулой трапеции, получим у(х + Л) = у(х) + | (у’(х) -I- у'(х + h)^ + O(h3), иначе, у(х + Л) = у(х) + (/(ж, у(ж)) + f(x + h, у(х + /г))) + О(Л3), (3) соответствующая расчетная формула = Vj + |(f(xj, Vj) + f(xj+1, yj+S) + О(Л3) (4) называется неявной формулой Адамса второго порядка точности. В неко- торых случаях, в частности, когда f линейна по у, это уравнение может быть разрешено относительно yj+i- Обычно же это уравнение неразре- шимо явно относительно yj+i, поэтому произведем дальнейшее преобра- зование алгоритма. Заменим у(х + h) в правой части (3) на некоторую величину у* = у(х + Л) + О(Л2). (5) Тогда правая часть изменится на величину [j(x + Л, у*) - /(ж + h, у(х + h))j = ^Д(ж + h, у) (у* - у(ж + h)j,
364 Глава 8. Численные методы решения задачи Коши где у находится между у* и y(x + h). Вследствие предположения (5) эта величина имеет порядок O(h3). Таким образом, при условии (5) имеет место соотношение у(х + h) = у(х) + ^(f(x, у(х)) + f(x + h, у*)} + О(Л3). Условию (5) удовлетворяет результат вычислений по формуле Эйлера У* = у(х) + hf(x, у(х)). Последние соотношения определяют пару расчетных формул У*+1 = yj+hf(xj, уу), h / \ (6) ад+i = Уз + 2 v w)+ П^+1, з/j+i)}- При малых h выражение в правой части (4) удовлетворяет условию сжи- маемости (§ 7.1), поэтому уравнение (4) также можно решать методом простой итерации: yj+i1 = Уз + |(f&j, уу) + y*+i)). Если у®+1 вычисляется по методу Эйлера: У°+1 = ijj + hf(xj, yj), то 'Ууполучаемое на первом шаге итерации, совпадает с yj+i, получа- емом по формуле (6). Дальнейшие итерации не приводят к повышению порядка точности по 1г; в то же время иногда главный член погрешно- сти уменьшается при переходе от yj+1 к yj+1- Если такое уменьшение погрешности компенсирует возрастание вычислительных затрат на шаге, то оно целесообразно. V Можно предложить теоретически обоснованный критерий, позволяющий при малых h выбирать каждый раз наиболее целесообразное число итераций. Од- нако его использование требует очень большого объема дополнительных вы- числений. Поэтому выбор между числом итераций, равным 1 или 2, обычно осуществляется на основе предшествующего опыта, вычислительного экспери- мента или просто «волевым» образом. Построим другую пару формул с погрешностью на шаге такого же порядка. Интеграл в правой части (2) заменим по формуле прямоуголь- ников: у(х + h) = у(х) 4- hy' (ж + 0 + O(h3), или, что все равно, у(х + h) = у(х) + hf (х + у (х + + O(h3).
§ 2. Методы Рунге—Кутта 365 Если у* = у +2) +°(/г2)’ то, как и в предшествующем случае, имеем у(х + h) = у(х) + hf (х+ у*\ + O(h3). В качестве у* можно взять результат вычислений по формуле Эйлера с шагом — : у* = у(х) + 5/(ж, ?/(.т)). Этим соотношениям соответствует пара расчетных формул yj+i/2 =Уз+2 y'i^ I J/j+1 = Уз + hfyxj + -, yj+i/2 (7) Полученные методы относятся к семейству методов Рунге—Кутта, имеющих следующий вид. В процессе вычислений фиксированы некото- рые числа а2,...,ад, р\,...,Рд, fop 0<j<i^q; последовательно получаем Л-i (Л) = hf(x, у), kg(h) = hf\x + cxgh, у + fig,iki(h) Ч---------+ (Зд^зкд^ и полагаем 9 у(х + h)Ri z{h) = у(х) + 4=1 Рассмотрим вопрос о выборе параметров ар pi, ftp. Обозначим <р(/г) = у(х + h) — z(h). Если f(x, у) —достаточно гладкая функция сво- их аргументов, то A?i(/i), ..., kg(h) и <p(h) — гладкие функции пара- метра h. Предположим, что f(x, у) настолько гладкая, что существу- ют производные <p'(/i),..., (Л), а ср, рг, (Зр выбраны так, что у/(0) = • - • = <р(«)(0) = 0. Кроме того, предположим, что существует неко- торая гладкая функция fo(x, у), для которой соответствующее значение 9?(®+1)(0) 0. Согласно формуле Тейлора выполняется равенство V’W = 52 4=0 У(0(0)Л4 ! г? у(8+1Ш,8+1 (s + 1)! h ^(Oh) +1 (5 + 1)! (8)
366 Глава 8. Численные методы решения задачи Коши где 0 < в < 1. Величина <p(h) называется погрешностью метода на шаге, a s — порядком погрешности метода. При q = 1 имеем = у(х + h) — у(х) - Pihf(x, у), <Д0) = О, ^'(0) = (у'(х + Л) - Р1Ж y))|h==0 = /(ж, у)(1 q>"(h)=y"(x + h)-, здесь и далее у = ?/(т). Равенство Д(0) — 0 выполняется для всех гладких функций /(ж, у) лишь в случае р\ = 1. Этому значению р\ соответству- ет метод Эйлера. Для погрешности этого метода на шаге, согласно (8), получаем выражение У'(ж + 6>/г)Л2 дл) =-------2------. Рассмотрим случай q = 2. Имеем = у(х + Л) - у(х} - pihf(x, у) - p2hf(x, у), где х = х + a2h, у = faihf(x, у). Вычислим производные функции <p(h): <PV1) =y’(x + h)— pif(x, у)~p2f(x, y)-p2h(a2fx(x, y) + +folfy(x,y).f(x,y)), = y"(x + h) - 2p2(a2fx(x, y)+(32i fy(x, y)f(x, y)) - -p2h(a%fxx(x, y) + 2a202lfxv(x, y)f(x, у) +021fyy(x, y)(f(x, у))2), v"'(h} = У'”(х + h)~ 3p2 (a2fxx(x, y) + + 2a2[321fxy(x, y)f(x, y^+filifyy^x, S)(f(x, y))2) + O(h). Согласно исходному дифференциальному уравнению y' = f, y" = fx+fyf, у'" = fxx + 2fxyf + fyyf2 + fyy". Подставим в выражения (p"'(h) значение h = 0 и вос- пользуемся этими соотношениями; получим < Д0) = у - у = 0, < Д(0) = (1 -pi -p2)f(x, у), ^"(0) = (1 - 2p2a2)fx(x, у) + (1 - 2p2[32i)fy(x, y)f(x, у), (9) < Д"(0) = (1 - 3p2al)fxx(.x, у) + (2 - 6p2p2i)fxy(x, y)f(x, у) + + (1 - 3p2(3h)fyy(x, y)(f(x, у))2 + fy(x, y)y"(x).
§ 2. Методы Рунге—Кутта 367 Соотношение <д(0) = 0 выполняется при всех f(x, у), если 1-P1-P2=O; (10) соотношение у/'(0) = 0 выполняется, если 1 — 2р2а2 = 0 и 1 - 2р2/?21 = 0. (11) Таким образом, у>(0) = у?'(0) = <//'(0) = 0 при всех f(x, у), если выпол- нены три указанных выше соотношения (10), (11) относительно четы- рех параметров. Задавая произвольно один из параметров, получим раз- личные методы Рунге—Кутта с погрешностью второго порядка малости по h. Например, при щ = 1/2 получаем р2 = 1/2, а2 = 1, A>i = 1, что соответствует паре расчетных формул (6). При щ ~ 0 получаем р2 = 1, а2 = 1/2, /321 = 1/2, что соответствует паре расчетных формул (7). В случае уравнения у' = у, согласно (9) имеем = у незави- симо от значений pi, р2, а2, /?21 - Отсюда следует, что нельзя построить формулы Рунге—Кутта со значениями q — 2 и s = 3. В случае q = 3 расчетных формул, соответствующих значению s — 4, не существует. Наиболее употребительна совокупность расчетных формул при q = s = 3: ki = hf(x, у), к2 = hf (ж + у + у) , = hf(x + h, у — kv + 2/c2), Ду = ~(ki + 4k2 + k3). При q = 4, 5 нельзя построить расчетных формул рассматриваемого вида со значением s = 5; при q = s = 4 наиболее употребительна сово- купность расчетных формул: ki = hf(x, у), к2 = hf (х + у + , к3 = hf (ж + |, у + у) , к/> = hf(x + h, у + Ад), Ду = ^(/д + 2к2 + 2Лд + Лд). Мы использовали выше формулировку «наиболее употребительный». Эта фор- мулировка отражает исторически сложившуюся тенденцию в использовании численных методов. Казалось бы, в руководстве по численным методам сле- довало не просто отражать тенденцию, а указать, какая формула из данного семейства расчетных формул является наилучшей. Однако ответ на такой во- прос не прост. У формул одинакового порядка точности по h главные члены погрешности на шаге часто оказываются непропорциональными. Например, вследствие (8), (9) главный член погрешности формулы (6) равен (В - А)НЭ, где = ^fyU j А = + 2/ж2/у + fVy(y )2),
368 Глава 8. Численные методы решения задачи Коши а у формулы (7) — (В + А/2)/г3. Поэтому можно указать два уравнения таких, что для первого уравнения мень- шую погрешность дает метод (6), а для второго уравнения — метод (7). В подобной ситуации рекомендации в пользу того или другого метода долж- ны основываться на «волевом решении», принятом с учетом традиций и практики использования методов. Понятие практики вычислительной рабо- ты является довольно неопределенным. Число различных классов реально встречающихся дифференциальных уравнений существенно превосходит чи- сло задач, на которых производится сравнение методов их численного ре- шения, поэтому суждения «с позиций практики» не всегда объективны. Од- нако несмотря на такую неопределенность, критерий практики часто не- сет в себе определенную положительную информацию, которая зачастую на данном этапе развития науки не может быть формализована или обосно- вана. Если исторически первый из методов рассматриваемого класса оказался при- емлемым, то в дальнейшем пользователи привыкают к нему. Замена этого ме- тода на другой, даже более эффективный метод требует определенных затрат времени на «привыкание» пользователей к новому методу’ (а следовательно, и определенных психологических затрат). Чтобы широкий круг пользователей согласился на подобную перестройку, необходимо существенное преимущество нового метода по какой-либо из характеристик. При дальнейшем рассмотрении для нас будет существенно, что по- грешность метода на шаге tp(h) имеет главный член, а именно справед- ливо представление вида = ф(х, y)hs+i + O(hs+2). (12) Наметим основные этапы доказательства этого соотношения. Предпо- ложим, что правая часть и все ее производные до порядка s + 1 вклю- чительно ограничены равномерно в области G : .tq х .eq + X, — оо < у < оо. Тогда также будут равномерно ограничены производные всех решений уравнения до порядка з + 2 включительно. Согласно формуле Тейлора соотношение (8) можно записать в уточненной форме = ^+1>(0) +1 ^+2)(бЛ) +2 (з + 1)! + (з + 2)! ’ Имеем равенство ^+1)(0) =Z^+D(O) -^s+1)(0). Обе величины ?/s+1)(0) и ^+1)(0) явно выражаются через значения в точке (ж, у) функции f и ее производных порядка не выше з; примеры таких явных выражений (при s = 2) мы уже получали.
§ 3. Методы с контролем погрешности на шаге 369 Поскольку правая часть дифференцируема s + 1 раз, то отсюда сле- дует, что функция 'ф(х, у) дифференцируема в области G и ее про- изводные V’x и Фу равномерно ограничены в этой области. Аналогич- но устанавливается, что величина (p(s+2\6h) равномерно ограничена при хо х < х + h С хо + X. Таким образом, соотношение (12) имеет место. § 3. Методы с контролем погрешности на шаге Часто в ходе расчетов бывает целесообразно изменять шаг интегрирова- ния, контролируя величину погрешности метода на шаге. При практи- ческой оценке этой величины можно, например, рассуждать следующим образом. Главный член погрешности на шаге интегрирования есть ^+1)(0)/is+1 (s + 1)! Точка (x+h, z(h)) находится близко от точки (.т, у), поэтому погрешность на следующем шаге интегрирования будет иметь такой же главный член. В результате двух шагов будет получено приближение у^ к значению у(х + 27г) такое, что 9«-^ + 2^2’^^. Если, исходя из точки (ж, у), применить метод Рунге—Кутта с шагом 2/i, то получится приближенное значение для которого Из этих соотношений вытекает представление главного члена погрешно- сти на шаге у^-у^ у(1)-у(т + 2Л)^^_-У1 При желании можно уточнить полученное приближенное значение, при- бавив к нему величину главного члена погрешности, т. е. положить ,n v(1) - v(2) y(x + 2h)^yW + V-2s (1) Для более гибкого управления выбором шага интегрирования иногда Желательно иметь возможность совершать шаг интегрирования и оцени- вать погрешность при меньшем количестве вычисляемых значений пра- вых частей.
370 Глава 8. Численные методы решения задачи Коши Примером совокупности формул с теми же характеристиками точно- сти при меньшем числе обращений к правой части может служить со- вокупность формул / h ki \ Л1 = hf(x, у), к2 = hf 1х + -, у + — ] , к3 = hf (ж + у + ^(fci + k2)j . к4 = hf(x + h, у - к2 + 2А;3), къ = hf (х + —, у + — (7A,i + 101’2 + к^ , (2) Л’б = hf (х + —, у + —— (28Л’1 — 1257’2 + 546&з + 547'4 — 3787’5) ] , у 5 625 / Ду = + 473 + к±) с главным членом погрешности у(х + h) - z(K) = г + <9(/г6), г = — 33g (42^1 + 22473 + 217’4 — 1627g — 1257б). Если положить y(xo+h) ~ z(h)+r, то получим метод рассматриваемого типа со значением s = 5 и соответственно погрешностью на шаге порядка О(Л6). В одной распространенной стандартной программе управление ша- гом интегрирования осуществляется по методу, близкому к горизон- тальной процедуре из § 3.17. Задаются мерами погрешности на ша- ге со 11 f i < со и некоторым параметром М > 0 порядка у. Обычно £1/со 2 ^, где I — порядок величины г по Л; часто берут Ej/eq = 2~4. Если i/)n(h) = |'/'|/шах(Л/, |yn|) > eq, то шаг признается слишком боль- шим и делается попытка интегрирования, начиная с тех же значе- ний (хп, уп), с вдвое более мелким шагом (7/2). Если ipn(h) Ео, то достигнутая точность признается удовлетворительной. В случае, когда £1 С 'Ф'п.(к) ео, следующий шаг берется равным h, а в случае, ко- гда ipn(h) < Ei, — равным 2h. Такой относительно простой способ выбо- ра переменного шага интегрирования часто позволяет решить задачу с существенно меньшими затратами времени ЭВМ по сравнению со случа- ем интегрирования с постоянным шагом (при той же точности резуль- тата).
§4. Оценки погрешности одношаговьгх методов 371 § 4. Оценки погрешности одношаговых методов рассмотрим множество всевозможных методов интегрирования, где по- следовательно получаются приближения y.j к значениям y(.ij), То < < ... < xn =xq+X. Пусть в процессе численного интегрирования к фикси- ровано и при j к значения yj определяются как значения некоторого функционала Уз = Ф(/5 Xj, ..., Xj_k; yj-з, ..., ijj-k)- (1) Такой способ численного интегрирования называют к--шаговым. Все по- строенные выше способы интегрирования имеют следующее общее свой- ство: приближенное значение решения в следующей точке определялось только в зависимости от значения решения в предыдущей точке, следо- вательно, расчетные формулы, соответствующие этим способам, предста- вимы в виде (1) со значением к = 1. Такие методы называются одно- шаговыми. Рассмотрим специальный способ получения оценки погрешности, при- менимый лишь к одношаговым методам. Запишем формулу (1) в виде Уз+1 =®(f, Xj, Xj+! - Xj ,yj). (2) Получаемые в процессе реальных вычислений приближения к значениям y(xj) связаны не соотношениями (2), а некоторыми соотношениями ijj + l = $(f,Xj,Xj+! - Xj,yj) + <5j+l. (3) Наличие слагаемого A?+i обусловлено следующими причинами: 1) округлением чисел при вычислениях; 2) погрешностями в значениях правой части f(x,y); эти погрешности вызваны тем, что рассматриваемая нами функция f(x,y) является не- которым приближением к правой части реального дифференциального Уравнения; кроме того, зачастую в процессе вычисления значений f(x, у) в ЭВМ эта функция приближается другими функциями, что вносит до- полнительные погрешности при вычислениях значений правой части; 3) в некоторых случаях значение ?/7+1 определяется из уравнения, эквивалентного (1), но не разрешенного в явном виде относительно пере- менной yj+i; тогда величина A?+i содержит составляющую, являющуюся следствием приближенного решения этого уравнения. Хотя погрешность А?+| вызвана не только округлением, ее часто на- зывают вычислительной погрешностью на шаге. Точно так же начальное условие уо отличается от значения отыскива- емого решения задачи y(xfj) из-за погрешности в определении исходных Данных и округлений. Пусть у(х) —искомое решение дифференциально- го уравнения, a yj(x)— решения, удовлетворяющие условиям yj(xj) = yj (рис. 8.4.1).
372 Глава 8. Численные методы решения задачи Коши Рис. 8.4.1 Погрешность Rn — уп(хп) ~ у(хп) можно представить в виде Rn ~ Уп(хП) Уо(З'п) Уо{хп) у{хп) — = '(yj(xn) Vj—1 "Ь (у£>(.хп) У(хп))- J=1 Разность решений дифференциального уравнения в одной точке может быть выражена через их разность в другой точке следующим путем. Лемма. Пусть Yi (ж) и Y2 (т) — решения дифференциального уравнения у' = f(x,y')! где f(x,y) — непрерывная и непрерывно дифференцируемая по пере- менной у функция. Тогда Y2((3) - Yi((3) = (У2(а) - Yi(«)) exp {J fy(x, у(х)) dx где у(х) заключено между У (ж) и Y2(x). Доказательство. Вычтем друг из друга равенства Г2' = ЖУ2), Y^f^Yt).
§4. Оценки погрешности одношаговых методов 373 Согласно формуле Лагранжа разность /(ж, У2)-/'(х, Ух) может быть пред- ставлена в виде fy(x, y)(Y2 — Ух), где у заключено между Ух и У2. В ре- зультате получится линейное дифференциальное уравнение относительно У2 ' Y1- (Y2~Yiy = fy(x,y)(Y2-Y1). (5) функция fy(x, у(х)) = f(x,Y2(x)) — f(x,Yi(x)) У2(ж) - УХ(ж) непрерывна, поскольку числитель и знаменатель — непрерывные функции, а знаменатель отличен от пуля. Из (5) следует утверждение леммы. Пусть а = Xj, (3 = хп, Ух(ж) = ?/7_.1(.т), У2(х) = ?/7(.т); тогда вследствие леммы VjM - yj-i(xn) = (yj(xj) - yj-i(xj^ exp / fy(x, у3(хУ) dx где yj(x) заключено между yj_~-\\x) и yj(x). Точно так же Уо{хп) - у(хп) = (уо(хо) - y(x0)J exp {J fy(x, y0(x)) dx Теперь равенство (4) можно записать в виде В.,, + Г?о ехр (6) где ajj = yj(xj) - yj^(xj), j = 1,... Из (3) вытекает соотношение ~ уАхз) yj-i(xi) ~ Pj + $j> где Pj = Ф(/> xj—ь xj xj—ii yj—i) yj—Kxj)- Посмотрим, какой смысл имеет величина pj-, Ф(/, ж^_х, Xj — Xj~i, г/j-i) есть число, получаемое в результате вычислений по расчетной формуле (2), yj-i(xj) — значение в точке Xj точного решения дифференциального Уравнения, удовлетворяющего условию yj-^fxj-i) — yj-1- Таким образом, Pj есть погрешность одного шага рассматриваемого метода, если вычи- сления начинаются с точки (ягу_х, %-1) и производятся без округлений, а шаг равен (x.j — Tj_x). Величина pj называется погрешностью метода шаге. Предположим, что при всех j, соответствующих рассматриваемому от- резку интегрирования xq < Xj xq + X, выполняется неравенство |pj| < C^Xj - 3j-i)s+1 (7)
374 Глава 8. Численные методы решения задачи Коши Пусть L = sup < ос И 0<j<CA' Загрубляя (7), имеем |pj| < C\Hs(xj - (8) При xq Xj C xn xq + X справедливы неравенства exp fy(x, yj(x)) dx j < ехр{£(.г„ - Xj)} exp {LX }. Воспользовавшись этими неравенствами для оценки правой части (6), по- лучим (п. \ Ec^i + i^d + i^i 7=1 / Применим теперь к предыдущему неравенству оценку (8), получим (II \ Y^C,Hs(xj - Xj^) + |^|) + |Д)| I 7=! / (9) exp{LA}(C’L^(a;n - ж0) + пб + |2?0|) 5$ ехр{£Х}(С'1ХЯ6 + N6 + |Яо|); здесь 5 = max|dj|. Из этого соотношения следует, что шах |ЯП| —>0 7 а'о<3 п $зд+Х при Н —> 0, если одновременно 7W) —> 0. |7?о| —> 0. Таким образом, при достаточно мелком шаге интегрирования и малой вычислительной по- грешности приближенное решение, получаемое при употреблении метода Рунге—Кутта, близко к точному решению. Часто решение дифференциального уравнения отыскивается на боль- шом промежутке. Тогда в полученные оценки погрешности входит как множитель очень большое число ехр{£А"}. При LX большом может ока- заться. что достижение нужной точности требует столь мелких шагов и столь малой величины вычислительной погрешности на шаге, что исполь- зование рассматриваемого метода будет нецелесообразно. Поэтому харак- теристика методов по признаку - сходится ли приближенное решение к точному при измельчении шага и при достаточно быстром уменьшении вычислительной погрешности или не сходится — является еще недостаточ- ной. Если fy(x, у) —Ь < 0, то в оценке (9) можно избавиться от множи- теля, резко растущего с увеличением X. Рассмотрим случай постоянного шага Xj — Xj_i = h. Тогда exp { / fy(x, y(x)) г/.т l < ехр{-Ь(т„ - жу)} exp {-b(n - j)h}.
§4. Оценки погрешности одношаговых методов 375 Пусть |wj| Си/г"'1 + 6. Оценивая правую часть (6), получаем |7?„| ^(Ci/г’+1 + д) ехр {-Ь(п j)h] + |7?0| exp {-bnh}. (10) j=i Имеем п 00 j £ехр {-!,(,> - j)/.} « £«хр {-(*/.} = 1_ехр(,№}- J=1 k=0 J г s Таким образом, получаем окончательную оценку погрешности Д’ 7. S-H1 I д I Rn I i----Т~ТТ\ + I Яо | ехр { - Ъп.К}. (11) 1 — exp {—bh,\ Поскольку 1 — ехр {—bh,} ~ то верна более простая по виду опенка |Яп| C2(hs + 6/h) + |7?oI ехр {—bnh}. (12) Формально эта оценка не зависит от длины промежутка интегрирования X, однако длина промежутка интегрирования может неявно влиять на значение коэффициента С2 через оценки производных. Наличие оценки (11), не ухудшающейся с увеличением промежут- ка интегрирования, позволяет использовать такие методы для отыска- ния, например, устойчивых решений дифференциальных уравнений пу- тем установления. Начинаем численное интегрирование с произвольных начальных данных и с течением времени выходим на устойчивое реше- ние. Этот’ прием часто употребляется при отыскании устойчивых пре- дельных циклов систем обыкновенных дифференциальных уравнений. В связи с полученной оценкой (12) и возможностью получения ана- логичной оценки для случая численного решения задачи Коши для си- стем дифференциальных уравнений с быстро сближающимися решения- ми одношаговые методы находят широкое применение в вычислительной практике. В то же время методы, для которых в подобной ситуации по- грешность растет неограниченно, практически исчезли из употребления. Заметим, что в случае fy b > 0 в соответствии с утверждением леммы ретпения расходятся с экспоненциальной скоростью, и поэтому погреш- ность любого метода должна неограниченно расти при .т„ —> оо. Другим достоинством одношаговых методов является удобство измене- ния шага интегрирования и однотипность вычислений во всех расчетных точках (у конкурирующих с ними методов Адамса изменение шага ин- тегрирования и начало вычислений производятся с помощью некоторых специальных формул, которые мы не рассматриваем из-за их громозд- кости).
376 Глава 8. Численные методы решения задачи Коши § 5. Конечно-разностные методы Среди fc-шаговых методов наиболее употребительны методы интегриро- вания на сетке с постоянным шагом Xj — Xj-i = h = const при помощи соотношений вида к к ' a-jUn-i -fi ^n—aj Уп-i) = 0, (1) i=0 г=0 где щ — постоянные, Fi — некоторые функции, определяемые функцией f(x, у). В свою очередь, среди таких методов традиционно наиболее упо- требительны методы к к ' Ч—гУп—г ~~ Уп—i) = 0, (2) г=0 г=0 которые принято называть конечно-разностными методами или конечно- разностными схемами. В вычислительной практике применяются формулы (1), (2) со зна- чениями «о 0, />()=- 0 - явные, или экстраполяционные, и формулы с Uq 7^ 0, Ьо 7^ 0 — неявные, или интерполяционные. Формулы (1), (2) при ао = 0, Ьо ф 0, называемые формулами с забега- нием вперед, рассматриваться не будут, поскольку они не нашли распро- странения в вычислительной практике из-за сложности использования. Тем не менее их следует принимать во внимание при проведении те- оретических рассмотрений, так как они расширяют класс используемых конечно-разностных схем. В дальнейшем предполагается, что «о 0. При Ьо ф 0 уравнение (2) можно записать в виде Уп — фп^Уп) — Ап + f{Xn, Уп)- CJQ Здесь (к к \ ' СЬ—гУп—i Т ' Ь—if (x-n—i, yn~i) I i=l i~l ) не зависит от уп. Будем решать это уравнение методом простой ите- рации: ?4+1 = Ы?4)- Поскольку </ф(у) = h—fy(xn, у), то при достаточно малых h выполнено ао условие сжимаемости отображения <рп(у) и поэтому итерационный про- цесс сходится. Начальное приближение у® определяется из какой-либо явной формулы i I а-гУп-г - h У2 bLifixn-i, yn-i) =0, aj 0. i~0 г—О
j 5. Конечно-разностные методы 377 Число итераций на шаге определяется из разумного соотношения ме- зкду трудоемкостью итераций и точностью получаемых в процессе ите- раций приближений так же, как в случае формулы (2.4), являющейся частным случаем формулы (2). Простейшие методы типа (2) получаются на основе квадратурных формул. Всякая квадратурная формула „о m I f(x)dx = h^r^b_if(—ih)+r, т О, ~Ph i=0 СЗ) где г — остаточный член, порождает соответствующую формулу числен- ного интегрирования обыкновенных дифференциальных уравнений. Дей- ствительно, подставляя в (3) соотношение /'(ж) = у'(хп + ж), имеем /о f(x) dx = у(хп) - у(хп_р) = h V b-iy'txn-i) + г. ~Ph Заменяя у'(х) на f(x, у{х)') и отбрасывая г, получим т у(хп) - у(тп_р) « /l 22 3/(жп-г)} • (4) г=0 Соответствующая конечно-разностная схема запишется следующим обра- зом: гп Уп Уп—р ~ h 2 у b—if(xn—i> Уп—г) — 0. г=0 Например, формуле трапеций У f(x) dx « ^(/(0) + /(—7г)) соответствует интерполяционная формула Уп ~ Уп — 1 — + jn—1)> (5) формуле Симпсона / 2h^ + + - интерполяционная формула уп~Уп-2 = ^(fn+4fn-i+fn-2); здесь fm = Ут)- Квадратурной формуле прямоугольников, записанной в виде f f(x)dx а 2А/(т),
378 Глава 8. Численные методы решения задачи Коши соответствует экстраполяционная формула Уп Уп—2 — 2hfn-i- (fj) Если остаточный член квадратуры (3) оценивается через D(q) max то погрешность равенства (4) будет оцениваться через P(g)max|f/9+1)(a;)|/i9+1. В настоящее время из конечно-разностных методов, как правило, упо- требляются на практике только методы, соответствующие р = 1; их на- зывают методами Адамса. Другие известные методы вида (2) не выдержали испытания на прак- тике по следующим причинам: 1) отсутствует сходимость при уменьшении шага (в предположении от- сутствия вычислительной погрешности) даже для бесконечно дифферен- цируемых правых частей f(x, у); 2) при наличии сходимости происходит экспоненциальный рост (с уве- личением X) погрешности в рассмотренном в предыдущем параграфе случае, когда f'y < — b < 0; 3) для некоторых схем при р > 1 возникают дополнительные (по срав- нению со случаем р — 1) неудобства при изменении шага интегрирования. Явные формулы Адамса обычно записываются в виде т Уп ~ Уп—1 = fп—ki г=0 а неявные — в виде т Уп Уп—к = h /и? г=0 здесь, как и в § 2.10, j=0 Коэффициенты 7г-, вычисляются по формулам *=/,п(1Ч)А‘’ 7г = 7г ~ 7г—1 = ~j J П G ~ du ПРИ i > °’ Задача 1. Показать, что const _ const 7г----Z-7-, 7г----7— при г -> оо. шг г In г
jj 6- Метод неопределенных коэффициентов 379 Обычно методы Адамса используются по следующей схеме. Сначала вычисляется нулевое приближение по явной формуле Адамса, и затем производятся 1-2 итерации на основе неявной формулы (с тем же зна- чением т). § 6. Метод неопределенных коэффициентов Для построения формул численного интегрирования можно также ис- пользовать метод неопределенных коэффициентов. Заменим производную у'(хп) и значение /(ж„, у('''„)) некоторыми выражениями Ч \ ~ V a~iV{xn—i) У (хп) « > ,---j----, (1) г=0 к f ^хт y(xrSj ~ ^b—if^xn—i-> y(xn—i)^ (2) z=0 (предполагается, что а_?; и С..г не зависят от Zi). Отсюда получаем при- ближенное равенство a-iy(xn-i) _ . A /,,x / t ~ \ xn—ii y(Xn—i) J (3) i=0 i=0 Ему соответствует конечно-разностная схема к к г=0 г=0 Величина гп = £ у(Хп г=0 i=0 называется погрешностью аппроксимации исходного дифференциального уравнения схемой (4). Определение. Разностная схема аппроксимирует дифференциальную на отрезке [то, хо + X], если ||т|| = max |г/г| -> 0 при h -> 0. Вспоминая, что / (xn-i, y(xn-S^ = y'(xn_i) и xn-i = хп — ih, получим Ek a-iy(xn-ih) , --------------уг------------L ~ \b_iy'(xn - ih). i=0----------i=0
380 Глава 8. Численные методы решения задачи Коши Предположим, что все производные решения до порядка q ограничены: < Мр < оо при хо х < xq + X, р = 0,..., q. Представим все величины у(хп — ih) и у'(хп — ih) с помощью формулы Тейлора следующим образом: у(хп - ih) = ^у{р)(хп) —+ /%, р=0 у'(хп - ih) = где согласно оценке остаточного члена ряда Тейлора имеем I&I Мд(ihy/q\, |7^| Mg(ih)‘>-l/(q - 1)!. Подставим выражения у(хп — ih) и у'(хп — ih) в правую часть предста- вления тп и соберем коэффициенты при у(р>(хп). Получим rn = Eoh~ly(xn) + Eiy'(xn) + + Eq-ihq~2y^q~1^ (хп) + гп; (5) здесь ь = 'а—л г=0 р>0, (6) z—' в! z—' (в—1) г=0 р г=0 U ' к дг к 1=0 г=0 Имеем Ы ЕдМ.^-1, где 'G 'G—1 г=0 4 г=0 ’ Как правило, производя более аккуратную оценку, можно уменьшить значение Dq в оценке |еп|. Если Ео = — Ет — 0, то €п = O(hm) и говорят, что схема (4) имеет т-й порядок аппроксимации. Всякая схема т-го порядка аппроксимации является схемой q-ro порядка аппроксима- ции при q < т. Если Eq — • • • = Ет — 0, a Em+i 0, то говорят, что порядок аппроксимации строго равен т.
. Метод неопределенных коэффициентов 381 Согласно (1), (2) для любой гладкой у(х) имеем соотношения Ек a-iy(x-ih) h i=0 к lim Ь-г/(ж - ih, у(х - ih)) = /(ж, у(ж)). Н г=0 (7) Лемма. Соотношения (7) выполнены тогда и только тогда, когда Ео = Ег - 0, Ьо + • • + b_k = 1. (8) Доказательство. Согласно формуле Тейлора имеем у(х — ih) = у(х) — ihy'(x) + O(h2), Цх- ih, у(х - ih)) = /(ж, у(ж)) + O(h). Подставляя эти соотношения для левых частей в (7), получим (z к х к \ (52 + 1= у'^х^ \z—' п, / ' / 'г=0 7 г=0 / 6-г)у(т, y(x))+O(h)^ = f(x, у(х)). Для справедливости этих соотношений необходимо и достаточно выпол- нения условий к к к 52°-’ = °’ -^ia-i = 1, = 1. г—0 г—0 г=0 Левая часть первого из этих равенств равна Ео, разность левых частей второго и третьего равна Ei. Отсюда следует справедливость утвержде- ния леммы. Уравнения Ео = • • = Ет = 0 образуют однородную систему линейных алгебраических уравнений относительно 2к + 2 неизвестных. Если число неизвестных больше числа уравнений, т. е. 2к + 2 > т +1 (или, что то же самое, 2к т), то эта система имеет ненулевое решение. Можно пока- зать, что при 2к = т эта система имеет однопараметрическое семейство ненулевых решений а_,- = cal j, b-i = cb° j, к причем ш ф 0. Выбирая с = ш-1, получим разностную схему 2=0 2А-го порядка аппроксимации. Иногда возникает необходимость построить явную схему (Ьо — 0). Решая систему уравнений Ьо = 0, Ео — =
382 Глава 8. Численные методы решения задачи Коши k E‘2k-i = 0 и выбирая решение с = 1, получаем схему (2к — 1)-го порядка аппроксимации. г=0 Примеры. При к = 2 общее решение системы уравнений Eq = = с 4 Е4 — 0 имеет вид ао — с, a_i — 0. а_2 = —с, Ьо = Ь-2 = —, Li = —с. 3 3 Из условия (8) получаем с = 1/2: расчетная схема имеет вид Уп — Уп-2 2 1 \ _ п a U7" + з7-1 + б7““4 - °- Заметим, что выше эта схема была получена из формулы Симпсона. Если потребовать выполнения равенств bo = Eq = Е± = Е2 = E:i = 0, то получим схему Уп + 4^-1 - 5уп-2 /2 1 \ _ -------6Л----------Сз7"-1 + з/п-2) - °- <9> Отметим следующее обстоятельство. Если равенства у'Ы ~ (10) 2=0 к f(xn, у(хп)) tt^,b-if(xn~i, */(Жн-г)) (11) г=0 выполняются с точностью до членов порядка бф//."1), то величина гп, равная разности погрешностей этих соотношений, имеет порядок О(Ьт) и, следовательно, согласно (3) Eq = = Ет = 0. Однако для выполне- ния условия rn = O(hm) не обязательно требовать, чтобы погрешности приближенных соотношений (10), (11) имели порядок O(hm). Например, для последней схемы гп = О(/г3), в то время как погрешности соотно- шений (10) порядка 0(h). Кроме построенных выше методов типа Рунге—Кутта и конечно-разностных методов следует отметить группу методов, где при нахождении каждого ново- го значения используется несколько предшествующих значений yn-i, как в конечно-разностных методах, но в то же время на каждом шаге производится несколько вычислений правой части, как в методах Рунге—Кутта. Пример метода этой группы: Уп-1/2 = Уп-2 + тДЭ/п-! + 3/п_2), о Уп = 1(28^-! - 23уп_2) + ^(32/п_1/2 - 60/„_! - 26/„_2), Уп = -^-(32j/n_j - уп_2) + ^(64/п_1/2 + 15/4 + 12/n-i ~ Л-г), погрешность на шаге порядка О(/г6); здесь /Д = f(xm, у^).
§ 7. Исследование свойств конечно-разностных методов 383 § 7. Исследование свойств конечно-разностных методов на модельных задачах После конструирования нового метода решения задачи, например мето- да решения дифференциальных уравнений, целесообразно, прежде чем писать программу, посмотреть, как будет работать этот метод на про- стейших модельных задачах, где точное и приближенное решения вы- числяются в явном виде. Если для такой задачи метод дает неудовле- творительный результат, то от применения этого метода, скорее всего, стоит отказаться. Часто первоначально конструируется не один метод, а некоторое се- мейство методов, зависящих от одного или нескольких параметров. Из- учение модельного примера может позволить сравнить эти методы и вы- брать оптимальные значения параметров. На примере решаемой в явном виде задачи можно понять реальную ситуацию, возникающую при реа- лизации метода. Такой подход часто более предпочтителен, чем подробное теоретиче- ское исследование, поскольку дает большой выигрыш по времени. Из формулы (6.4) можно находить значение уп, если известны значе- ния yn-k, • • - тУп-1'i поэтому, чтобы начать вычисления, нужно знать в к начальных точках уо,У1, , Ук-1- Они могут быть найдены каким- либо образом заранее, например с помощью формулы Тейлора или ме- тодом Рунге—Кутта. Рассмотрим вопрос о том, насколько влияют погрешности в началь- ных данных разностной задачи уо, у\,..., y^-i на ее решение. Пусть у* (s = 1, 2)—решения разностной задачи к ’ к (к—гУп—г h f (xn—i, Уп—i) = 0 (1) г=0 г=0 при начальных данных у^, , yf.^ соответственно. На основании фор- мулы Лагранжа имеем /(хт> Ут) Ут) ~ Здесь lm = fy(xm, ут), ут лежит между у^ и у2,, Ет = у^п - у^. Вычтем из соотношения (1) при s = 2 то же соотношение при s = 1. Получим уравнение относительно разности ет: к г hb-iln—i)sn_i — 0. (2) г=0 Оказывается, что довольно существенную информацию о поведении Погрешности можно получить, рассматривая простейшее дифференциаль-
384 Глава 8. Численные методы решения задачи Коши ное уравнение у' — 0. В этом случае (2) превращается в уравнение с постоянными коэффициентами к d—i^n—i = 0. (3) г=0 Соответствующее характеристическое уравнение имеет вид к Fo(p) = '£a-iPk~i = 0. (4) i=0 Пусть /ц — максимальный по модулю из корней этого уравнения. По- скольку Eq = 2*()(1), то условие Ео = 0 равносильно тому, что р = 1 является корнем (4). Поэтому |/2i| 1. Сеточная функция en = const •/ф является решением уравнения (4). Пусть pi вещественно. Рассмотрим ситуацию, когда &„ = у^ — у* = $Р1~к+3, |/2i | > 1. Разность между значениями решений у\ и у^ в на- чальных точках не превосходит <5, в то время как max|еп| = <5|pi|A//l~fc+1 nh^X экспоненциально растет с ростом числа шагов N = X/h. Таким образом, в случае pi = max )/zz| > 1 малые возмущения началь- ных данных могут приводить к катастрофическому возмущению решения уже при не очень большом числе шагов. Пусть pi невещественно; сеточные функции еп,-\ = Re(5p™~k+1) и £п,2 = Im(<^”~~fc+1) будут решениями уравнения (3). Поскольку шах{|т|, |г/]} + Ц/|/л/2, то max < max |en l|, max |еп,2|1 '4=lAii|X//l~fc+] (n/iSjA nh^X J у/2 Таким образом, и в случае pi невещественного, \рJ > 1, решение урав- нения (1) может сильно исказиться при малом возмущении начальных данных. Рассмотрим случай, когда все корни уравнения (4) не превосходят по модулю 1, но среди корней, по модулю равных 1, есть р-кратный корень проведем построения для случая pi pi, |Д1| = 1, Р > Для простоты вещественного. Сеточная функция ет возмущению начальных данных УОт 1 Ук—i не более чем на S, в то время как в конце отрезка возмущение имеет порядок й(А’//г)г’-1. Такой степенной (по отношению к числу узлов) рост влияния возму- щения начальных данных иногда является допустимым. Однако на при- мере модельного уравнения у' — Му можно показать, что в случае р- кратного корня на границе единичного круга возмущение исходных дан- ных сказывается более существенным образом. При /(ж, у) = Му все
(j 7, Исследование свойств конечно-разностных методов 385 — М и уравнение (3) относительно еп является линейным разностным уравнением 52(а_г - Mhb_i)En_i = 0. г=0 Соответствующее характеристическое уравнение имеет вид к YSa-г - Mhb^)pk~l = 0. (5) г=0 Наложим ограничение к i=0 В противном случае разностное уравнение (1) записывается в виде (к-1 к-1 \ tj/n—i \j_jf(xn_i, Уп — ij I г=0 г=0 / (к-1 к-1 \ ij/n—1—г гУ(^n—i —1 ? Уп—i—1) I — 0- г—О 2=0 / Рассмотрение таких уравнений не представляет интереса, поскольку решение более простого уравнения к— 1 к-1 5л c-iVn-i ~b^2 d_if(xn-i, yn-i) = 0 i=0 i=0 также оказывается решением уравнения (5). Предположим также, что йд 0. Справедлива Теорема (без доказательства). 1. Если р > 2, то среди корней уравнения (5) есть корень, удовлетворяющий неравенству \р^МН)\ > cxp{c|M/i|1/₽}, с > 0. 2. Если р = 2, то или при М > 0, или при М < 0 среди корней уравнения (5) есть корень, удовлетворяющий неравенству |р1(МЛ)| ехр|с|МЛ|1/р|. Таким образом, при р 2 или уравнению ij = +|М|у, или уравнению У = — |М|г/ соответствует рост возмущения решения в « exp^cIM/tl1^^} = ехр{с|М|1у,7’Х/г1/р~1} раз.
386 Глава 8. Численные методы решения задачи Коши Возмущение решения растет быстрее любой степени числа шагов; такой рост возмущения уже при небольшом числе шагов также является не- допустимым. В связи со сказанным практически пригодными могут оказываться лишь схемы, удовлетворяющие следующему условию а: все корни харак- теристического уравнения (4) лежат в единичном круге и на границе еди- ничного круга нет кратных корней. Можно было бы подумать, что все дело только в округлениях и по- грешностях исходных данных: если бы их не было, то. может быть, ре- шение конечно-разностной задачи сходилось бы к решению дифферен- циальной? На самом деле для любой разностной схемы, не удовлетво- ряющей условию а, можно построить пример дифференциального урав- нения с бесконечно дифференцируемой правой частью, для которого и при отсутствии округлений и погрешностей в исходных данных решение конечно-разностной задачи не стремится к решению дифференциальной при измельчении шага. На первый взгляд может показаться целесообразным строить схемы с возможно большим порядком аппроксимации т (Eq = = Ет — 0). Од- нако оказывается, что все схемы с большим т не удовлетворяют усло- вию а. Теорема (без доказательства). В случаях: а) схема (6.4) явная, т> к; б) схема (6.4) неявная, к нечетно, т > к + 1; в) схема (6-4) неявная, к четно, т > к+2, среди корней характеристического уравнения (4) имеется корень, по модулю больший 1. Далее будет показано, что при некоторых дополнительных условиях на погрешности начальных данных разностной задачи и вычислитель- ную погрешность при выполнении условия а решение разностной задачи (1) сходится к решению дифференциальной задачи. Будет приведено вы- ражение главного члена погрешности, из которого видно, что главный член ведет себя примерно одинаково для всех разностных схем одного и того же порядка точности, удовлетворяющих условию а. Однако это не означает, что на практике они являются примерно эквивалентными. Рассмотрим поведение решений двух разностных схем второго порядка аппроксимации: Уп Уп—1 __ f(xn, уп) + 1, Уп—1) (g) h 2 ’ Уп ~ Уп—2 J./ ч ---2^---= Уп-1) на примере модельного уравнения ij = Му, М = const. Разностные схемы (6), (7) порождают конечно-разностные уравнения 3/n(l - Mh/2) - уп-1{1 + Mh/2) = 0, Уп - 2Mhyn~i - уп_2 = о.
§ 7. Исследование свойств конечно-разностных методов 387 в первом случае решение уравнения для погрешности имеет вид /1 + Ш/2У £п~ \l-Mh/2j £°’ Это решение растет при М > 0. Это естественно, поскольку для диффе- ренциальной задачи разность двух решений e(ir) с различными началь- ными условиями записывается в виде е(тп) = ехр {М(хп - то)}е(хо) и также растет при М > 0. При М < 0 как еп, так и е(хп) убыва- ют. Решение второго уравнения имеет вид с,/г" + С2Д2; где Л1 и /22 — корни характеристического уравнения /г2 — 2Mhp — 1 = 0, т.е. /2^2 = Mh ± У1 + (М/1)2. Имеем /21 = Mh + у/1 + (М/г)2 = 1 + Mh + + О((М/г)3) = ехр {М/г(1 + O(Mh))}. Здесь и далее мы пользуемся фор- мулой Тейлора д/1 + £ = 1 + - + О(е2). Отсюда следует равенство /г" = ехр{Мп/г(1 + (?(М/г)2)}. Таким образом, слагаемое ci/ф соответствует ре- шению разностного уравнения, ведущему себя качественно так же, как решение дифференциального уравнения. Аналогичным образом получаем ________ лг21.2 д2 = Mh - >/1 + М2/г2 = -1 + Mh----— + О((М/г)3) = = -ехр{-М/г(1 + О(М/г))}. Имеем /22 = (—1)'" ехр{—Мп/г(1 + О(М/г))}; слагаемое д2 ведет себя каче- ственно иначе, чем решение дифференциального уравнения, и, что осо- бенно существенно, оно возрастает по модулю при М < 0, в то время как точное решение убывает. Рассуждая так же, как выше, заключаем, что вычислительная погрешность может исказить решение на величину по- рядка 5ехр{—Mnh(l + O(Mh))}. При М<0 и большом значении |Мп/г| эта величина может оказаться недопустимо большой, особенно на фоне убывающего решения Поскольку расматриваемый метод дает неудовлетворительный резуль- тат для такой простейшей модельной задачи, его вряд ли можно реко- мендовать для широкого употребления, тем более в стандартных про- граммах численного интегрирования дифференциальных уравнений. Мы отбраковали второй метод на примере задачи, где М < 0 и ве- личина недопустимо большая. В последние сорок лет в прило- жениях часто стали встречаться задачи с резкими переходными процес- сами, где решение существенно меняется на малом промежутке време- ни. Типичной модельной задачей является задача Коши для уравнения У = Му, М < 0, где величина |М|Х настолько велика, что число ша- гов порядка является недопустимым. Если при разумном числе Шагов по времени | М |/i » 1, то использование первой из рассматрива-
388 Глава 8. Численные методы решения задачи Коши емых разностных схем также может привести к неудовлетворительным результатам. Для этой схемы имеем _ 1 + Mh/2 _ 1 + 2/{Mh) _ Г 4 / i \ 'I /Z’ ~ 1 - Mh/2 " -1 + 2/{Mh) ~ eXP[Mh+ \ (Mh)2J J ’ Таким образом, решение разностного уравнения имеет вид Л = (-1)” ехр { + О (~р)) "} «« = = <”1)" схр{ (лй? + ° (х" з;о)} “° и существенно отличается от точного решения дифференциальной зада- чи у(хп) — yQeM^Xn~Xo\ например, при |7И|/г2 5> 1 (решение разностного уравнения по модулю близко к 1, а решение дифференциального урав- нения мало). В качестве итога проводимого выше анализа свойств первого мето- да можно заключить, что этот метод применим для решения доволь- но широкого круга задач. В то же время существуют определенные ти- пы задач, называемые жесткими (моделируемые случаем М < 0, очень велико), в которых к применению этого метода нужно отнестись с определенной осторожностью. Для решения таких задач разработаны специальные методы (см. § 9). § 8. Оценка погрешности конечно-разностных методов Произведем оценку погрешности приближенных решений, которые полу- чаются при использовании конечно-разностных методов вида (5.2), удо- влетворяющих условию а. Получаемые в процессе реальных вычислений величины уп, являющиеся приближениями к значениям у(хп), связаны на самом деле не соотношением (5.2), а соотношением к к а—гУп—г b—if(xn—i> Уп—i) = (^) г=0 г=0 где 5п может быть отлична от нуля (причины появления 6п уже были указаны в § 4). С другой стороны, в § 5, 6 установлено, что значения у{хп} точного решения дифференциальной задачи удовлетворяют соотношению к к а—гу(хп_/) - h^b-if (xn-i, y(xn-i)^ = hrn; (2) «=0 2==0
§ 8. Оценка погрешности конечно-разностных методов 389 при соответствующем подборе коэффициентов а_г и Ь~, оказывалось, что Гп = ОД'"1), где тп > 0. Вычитая (2) из (1), получим уравнения для погрешности Rn — уп — у(хп). На основании формулы Лагранжа имеем равенство /(•£«—it Уп—i) f ln—iRn—ii (3) где ln-i = fy(xn-i, Уп-i) и yn_i лежит между yn~i и у(хп-Д С учетом (3) разность соотношений (1) и (2) запишется в виде к к a—iRn—i b—iln—iRn—i — уп, (4) г=0 г=0 где Уп = Д hrn. Теорема (об оценке погрешности). Пусть разностная схема удовлетво- ряет условию а и \ fy \ L при xq х х$ + X. Тогда при хо хп < xq + X выполняется неравенство |ЯП| c(L, X) A —L. / (5) где c(L, X) < оо — некоторая постоянная, зависящая от коэффициентов a~i, b-i и от L и X. Доказательство. Для доказательства нам понадобится частный случай леммы из § 3 гл. 6: пусть все собственные значения матрицы А лежат в круге |А| q и на границе круга нет кратных корней; тогда можно указать матрицу С такую, что ||.D||oo Ъ где D — СЛАС. Для удобства оценки преобразуем уравнение (4) в одношаговое век- торное уравнение. В дальнейшем для определенности предполагаем h на- столько малым, что |Л6о£| |ао/2|, тогда коэффициент ао — hboln при Rn в (4) по модулю не менее |п.о/2|. Перенося в (4) все слагаемые, не со- держащие Л71, в правую часть и деля на коэффициент при Л.„, получим равенство г> \ л °—i 4" hb-iln-i уп Мп — / , —--------гг~,-Rn-i 4------7, , • (о) " a0 - hboln а0 - hboln Положим О'—г 4- hb_iln—г ( О’—г \ , —~—m------------------- = hv™-> €Z-0 ’^0^71 \ ^0 / __ г^О^п—1 । I о |^—г^о| + г^о| г vin / Li / \ ’ |^m| j (ао — hboln)ao |ао|2 Введем в рассмотрение векторы = (Rm > Rn-k+l)'r
390 Глава 8. Численные методы решения задачи Коши Соотношение (6) равносильно равенству Zn = AZn^ + hVnZn_1+Wn, (7) где / 9п \ vn = / о 1п 0 и кп 0 , W„ = ао hbQln 0 7 \ 0 ... 0 ) к 0 J / 0-1 а-2 ''1-к a-к \ «0 оо Оо ао 1 0 0 0 А = 0 1 0 0 \ о 0 1 0 ) Действительно, приравнивая первые компоненты векторов в правой и пер- вой частях (7), мы получим равенство (6), а приравнивая остальные компоненты, получаем тождества R-n—i — Rn—i, i — 1, • • •, к 1. Вычислим характеристический многочлен матрицы А: F(A) = det(4 - ХЕ} = 0—2 Оо -А 1 Ql-fc ао 0 0 а-к \ ао 0 0 = det / _£Д._а «о 1 0 к 0 0 1 -А / Для этого умножим первый столбец на А и прибавим ко второму, за- тем— второй на А и прибавим к третьему и т. д. В результате получим Pi (А) 1 Рг(А) 0 Pfc-i(A) 0 Pfc(A) 0 F(A) = det 0 1 0 0 1 0 0 1 0 /
§ 8. Оценка погрешности конечно-разностных методов 391 где pi (А) =----— — А, Рг(А) = - + A f-------- — А V ..., pt(A) = Go ао \ ао / A 4- А (—-6t2~fc Ч-+ А (— —- — А) • ••') Y Раскрывая go \ а0 \ go \ а0 J )) определитель по последнему столбцу, имеем Р(А) = (—1)А+1рд.(А) или, что то же самое, (—l)fcF(A) = Afc + ^lA^1 + • • + = GO Gq = —(gqA^ + g_] 1 + • • + a_fc). ao Характеристическое уравнение матрицы А оказалось пропорциональным характеристическому уравнению (7.4) разностной схемы. Согласно пред- положению а все корни характеристического уравнения матрицы А ле- жат в круге \z\ 1 и на границе круга нет кратных. Поэтому по отно- шению к матрице А условие леммы выполнено со значением q = 1. Сле- довательно, существует матрица С такая, что С~ЛАС = D и ||£>||оо 1- Произведем в уравнении (7) замену переменных Z„ = Czn. После умно- жения слева на С~1 оно приведется к виду zn = Dzn-i + hvnzn_x + wn, (8) где D = C-1 AC, vn = С~хУпС, wn = C-1W„. В матрице Vn ненулевые элементы находятся только в первой строке; поэтому (д. \ , <А} 1=1 и / и Ihnlloo ПС?-1 Поо IIvnцто Iiciloo vL нс-1 U Hdioo. Имеем l|wn||ro ||C'-1||0O|lWnlloo = IIC^Iloo I-^2||C'-1||OO^J. \ao-hboln\ |a0| После оценки норм слагаемых в правой части (8) можно записать не- равенство llznlloo /?|<7п| + (1 +7L/1) ||zn_i||оо, (9) где = 7 = « ||С'-1||00 ЦСЦоо- Для оценки Uznlloo через Цг^хЦоо и величины |</,,| поступим следу- ющим образом. Выпишем неравенства (9) при j = п,к. В правой
392 Глава 8. Численные методы решения задачи Коши части оценки ||zn||oo через Цг^Иос оценим Hz^iH^ через ||zn_2||oo, за- тем в правой части получившегося неравенства оценим ||z„_2||oo через Цгп-зИоо и т. д. В результате получим ||zn||oo Р\Яп\ + (1 + 7^/г)(/3|<7л-1| + (1 + 7^/г)(.^1<7л-2| + • • + (1 + yLh)(/3\gk\ + (H-7Lh)||zfc_i||oo)...)), или, что то же самое, п 1Ы|оо +7<’^1 + (1 + 7W-mK-ilU (10) j=k Упростим эту оценку, одновременно несколько загрубив ее. При ,т0 ф xj хп -г'о + X имеем (тг — j)h X; поэтому (1 + yLh}n~i ехр {yLh(n — у)} ф ехр {yLX}. Теперь из (10) получаем l|zn||oo ехр^ТХ} + IIza-iIIoo j (11) \ j=k / Справедливы неравенства m iizn|ioo iiciioowu llzfc-illoo < ||C'“1||oO||Z,._1||oo = ||С~1||ОО шах |7?J, О^г<к и поэтому (п \ ^1 + Halloo IIZ^Hoo . (12) j=k / Далее получаем оценку погрешности |К„| ф ехр {yLX} I Mi Е Ш + М2 тах |Я*1 I » \ — 0^i<k / \ jz=k / где Mi = /3 ||С||оо> Мг = НСЦоо ||С'_1||ОО и 7 —некоторые постоянные, зави- сящие только от коэффициентов a_j, b-i исходной разностной схемы. В частности, Mi и М2 зависят только от коэффициентов a__,. Утвержде- ние теоремы доказано. Подставляя в (12) значение g,j = 6,j — hrj, получим искомую оценку погрешности \Rn| ехр {yLX} (Mi У2(Н.-/1 + Mrjl) + ^2 \ j=k /
§ 8. Оценка погрешности конечно-разностных методов 393 Из оценки (13) видно, что для сходимости решения разностного уравне- ния к решению дифференциального достаточно выполнения условий 71 П h -> 0, niaxJ_Rj|0. 3~k 3=k Оценка погрешности (13) во многих случаях является существенно за- вышенной. Например, для методов Адамса можно получить оценку по- грешности, остающуюся ограниченной в случае fy — b < 0 при сколь угодно большой длине промежутка интегрирования в предположении, что погрешности округления Sj и погрешности аппроксимации rj равномер- но ограничены: |5j| 6, |zj| г. Заметим, что из оценки погрешности для одношаговых методов (§ 4) следует оценка погрешности метода Эй- лера, являющегося частным случаем методов Адамса. В то же время из (13) при таких предположениях нельзя получить равномерной огра- ниченности погрешности интегрирования. Для получения более реального представления о величине погрешности полезно располагать выражением для главного члена погрешности. Наметим путь получения этого выражения. При достаточно гладкой функции /(ж, у) согласно (6.5) справедливо равенство rn = Em+lhmy<m+1\xn) + o(hm). к Поскольку У) b-i — 1, то это выражение можно переписать в более удоб- но ном для нас виде к rn = hm Ь^Ет+1у(т+1Цхп) + o(hm). i=o Предположим, что вычислительная погрешность мала по сравнению с погрешностью аппроксимации, точнее, тах|<5^| = 8 = o(hm+l). При выполнении условий теоремы об оценке погрешности решение разностной задачи сходится к решению дифференциальной, поэтому справедливо равенство ln = fy(xn, уп) = fy(xn, у(хп)) + о(1). С учетом выписанных выше соотношений равенство (4) можно переписать в виде Lh \h'm J h hm у(хп-гУ) hm 4 7 i=0 г=0 -Дт+1^+1)(Ж„)) =0(1). Таким образом, сеточная функция zn = Rn/hm приближенно удовле- творяет сеточному уравнению L^tz-n) — 0, которое получается при ап- проксимации уравнения z> ~ [fy(x, ~ #m+i?/m+1)(aO) = 0. (14)
394 Глава 8. Численные методы решения задачи Коши В предположении, что z0,..., Zk-i = о(1), рассуждая так же, как при до- казательстве теоремы об оценке погрешности, получаем, что zn близко к решению уравнения (14) при начальном условии z(x0) — 0. Это решение можно выписать в явном виде: zn « z(xn) = -Ет+1 У ехр {У fy(t, y(t)) dt} у(т+1)(т) dx. (15) Таким образом, « hmz(xn). Сформулируем аналогичный результат, относящийся к случаю интегрирова- ния системы уравнений. Для системы уравнений у' = f(x, у), когда у и f- векторы: у — (yj,..., у;)7, f = (Д,..., fi)T, выражение главного члена по- грешности (15) имеет вид Уп -у(жп) ~ hmz(xn), z(x„) = f IT(ж, sn)y(m+1)(.r) dx. J Xq Здесь матрица W(a, b) является решением матричного дифференциального уравнения W'(a, b) = fy(b, y(b))W(a, b) при начальном условии W(a, a) = E, где E — единичная матрица, fy(x, и) — матрица с элементами dfi/dyj |Ж111, г, j = 1,..., I. Проведенные выше рассуждения, каждый этап которых может быть строго обоснован, иногда облекают в более грубую форму. Точное решение диффе- ренциальной задачи удовлетворяет соотношению Lh(y(nh)) « Em+ihmy^m+1Xx), где EftZn ~ у ^n—iZn~i г/(-ТУ1—г, г), г—О i=0 а приближенное решение—соотношению T/i(yn) — 0, поэтому их разность удовлетворяет равенству Lh(yn) - Lh(y(nh)) « -Em+1hmy<m+V(x)- Поскольку уп и y(nh) близки, это соотношение можно записать в виде L'h(y(nh))(yn - y(nh)) « —Em+1hmy^m+1\x); здесь L'h — производная оператора Lh- Поскольку операторы £и£/,в опреде- ленном смысле близки, то можно написать L^yinh^yn - y(nh)} » -Em+1hmy^l\x).
§ 8. Оценка погрешности конечно-разностных методов 395 Напомним, что производная оператора L определяется равенством L(y(x) + t6(x)) - Цу(х)) L (у(х))д = lim-----------t----------= - lirr. ^У + tSY ~ f(X’ У + ~ (y' ~ X f ! ( Wf. = I™------------------~t---------------= 6 - fy(x, y(x))6. Отсюда получаем приближенное равенство 6' - fy(x, y(x))S я -Em+lhmy^m+1\x), где <5 = yn - у(жп), и затем (15). Второй путь вывода выражения для главного члена погрешности уже не под- дается непосредственному обоснованию и в принципе может привести к не- верным заключениям. Это видно хотя бы из того, что нигде не проявилось условие о, без которого не имеет места сам факт малости величины уп — у(хп). Справедливость получаемых на таком пути результатов требует специального обоснования. В то же время его следует признать крайне полезным, поскольку не известно ни одного противоречащего примера, когда бы его применение приводило к неправильному выражению для главного члена погрешности в случае, если решение разностной задачи сходится к решению дифференциальной. Для некоторых методов, например Адамса и Рунге—Кутта, выражение главного члена погрешности, как правило, дает реальное представление о величине погрешности. В других случаях, например для метода (7.6), являющегося простейшим случаем так называемого метода Милна, это выражение следует рассматривать как некоторую оценку снизу для ре- альной величины погрешности. Рассмотрим случай метода (7.6) и уравнения у' = Му. Точное решение имеет вид у(х) = уОеМ(х-хо\ а Ез = 1/6. Согласно (15) имеем z(xn) = Гпем(х-х0)мзуоем(х-х0) dx = Лм^ем(Хп-Х0Кхп - т0). (16) 67^ 6 Оценим |це~г'| в области и > 0. Поскольку эта функция стремится к нулю при v —> 0 и при ц —> оо, то ее наибольшее значение принима- ется в точке, где ее производная равна нулю, т. е. при v = 1. Отсюда следует, что \ve~v| с”1 при v > 0. Рассмотрим случай М < 0. Под- ставляя v = —М(хп — xq), получим \Мем(Хп~Хо\хп — ®о)| с-1- Отсюда и из (16) следует {z(xn )| < Л12Ьо|/(6е), и, таким образом, главный член погрешности равномерно ограничен при xq < хп < оо. В то же время из рассмотрения этого модельного примера, проведенного в § 7, вытекает, что реальная величина погрешности довольно сильно растет вследствие большого влияния погрешности начальных значений уо, yi-
396 Глава 8. Численные методы решения задачи Коши Казалось бы, в обрисованной выше ситуации есть какое-то противоре- чие. Говорится о главном члене погрешности, но в то же время утвер- ждается, что он не является определяющим в реальной величине по- грешности. Дело заключается в следующем. При получении главного члена погрешности имелось в виду, что дли- на промежутка интегрирования фиксирована, а З/h и h стремятся к ну- лю. При рассмотрении модельного примера в § 7 речь шла о поведении погрешности при h фиксированном, хп — xq —> 0. Как показало рассмотрение этого модельного примера, влияние по- грешности исходных данных существенно уже при не очень больших зна- чениях |М|(.т„ —.То), поэтому широкое применение метода (7.6) в реаль- ной практике является нецелесообразным, несмотря на малое значение главного члена погрешности при ё/h, /< —>() и х„ — Xq фиксированном. § 9. Особенности интегрирования систем уравнений Проводившиеся выше построения, в частности расчетные формулы, при- менимы без всяких изменений в случае систем уравнений y'=f(z, у). (1) Формальное отличие состоит в том, что в соответствующих соотно- шениях вместо скалярных величин участвуют некоторые матрицы или тензоры. Для выявления особенностей, которые могут возникнуть при числен- ном интегрировании систем обыкновенных дифференциальных уравне- ний, рассмотрим модельный пример линейной системы с постоянными коэффициентами у' = Ау. (2) В случае использования конечно-разностной аппроксимации (5.2) со- ответствующая система конечно-разностных уравнений имеет вид к к 52 ь-лУ,г_, = о. (з) г=0 г=0 Для простоты предположим, что жорданова форма матрицы простая: C~lAC = Л, Л — диагональная матрица с диагональными элементами А1,..., А/. Положим С~1уп = zn и умножим систему (3) слева на С~ Получим к к 52 . = 0 г—0 i=0
§ 9. Особенности интегрирования систем уравнений 397 или к к г=0 i=0 Эта система распадается на систему скалярных конечно-разностных урав- нений относительно компонент zpn векторов zn = (zln,..., 1 к к Т~ / а—izp,n—i 'У b—i\>Zp,n—i = 0, р — 1, .... I. (4) г=0 г=0 Соотношение (4) совпадает с конечно-разностной аппроксимацией для уравнения ZP \>Zp- (5) Если в (2) перейти к новой неизвестной вектор-функции z = С'-1у и умножить (2) слева на матрицу С-1, то получится система скаляр- ных уравнений (5), р = 1,...,1. В соответствии с определением вектор- функций z(t) и zn имеем равенство zn я(хп) = С (уп y(Tjj)J. Следовательно, для получения решения у(.г) с малой погрешностью не- обходимо и достаточно, чтобы решения zp(t) уравнения (5) получались с малой погрешностью в случае интегрирования с помощью аппроксимации (4). При этом имеется в виду, что есть соответствие между аппрокси- мациями начальных условий yj = Czj, j = 0,..., к - 1. Проводя аналогичные построения, можно получить тот же вывод и по отношению к методам Рунге-Кутта. Решение уравнения (5) имеет вид zp — z^ ехр {Ар(т—®о)} и существенно изменяется при изменении х на расстояние Ат = |1/Ар|, т. е. характерный размер изменения решения порядка 1/|Ар|. Если говорить о векторе z(x) как о едином целом, то характерный размер его изменения — величина порядка 1/шах |Ар|; точно такой же порядок характерного изменения будет и у вектора у(т). Шаг интегрирования должен быть существенно меньше характерного , 1 размера изменения решения, т. е. h . Отсюда следует оценка шах Ар р снизу для числа шагов интегрирования X N = — max I AJ • X. h р
398 Глава 8. Численные методы решения задачи Коши Если число шагов, много большее величины max |АР| - X, неприемлемо по затратам машинного времени, то желательно применить методы, исполь- зующие специфику поведения решения. В случае, когда |Ар|Х 1 при всех р, для описания решения можно было бы применить асимптотические мето- ды. Однако на практике часто встречаются задачи, когда это условие не выполнено, и поэтому применение асимптотических методов невозможно или крайне затруднительно. Конечно, возникает вопрос, о каких проблемах идет речь, поскольку решение системы у' = Лу выписывается в явном виде? Дело в том, что мы говорим об этой задаче как о модельной; реально же метод применяется для решения какой-то, как правило, сложной задачи, и мы смотрим, как ведет себя метод в применении к простейшей задаче, где все выписывается в явном виде. Широкий круг прикладных проблем сводится к решению задачи Ко- ши для так называемых жестких систем дифференциальных уравнений. В частности, к таким системам относятся системы уравнений, возникаю- щие при применении методов установления dx „ „ „ d2x dx „ „ 47 + W = 0, —+7—+ V/ = 0 at dtz at при минимизации функций /, у которых линии уровня имеют форму эллипсоидов с большим разбросом полуосей. В качестве модели таких систем берется система уравнений у' = ^У, (6) удовлетворяющая определенным условиям на собственные значения ма- трицы А. Не существует установившегося определения жестких си- стем. Обычно систему (6) относят к классу жестких, если величина (max Re Ар) • X не является большим положительным числом, а величина (шах |Ар|)Х а) величина слом, или |Im Ау| ' b — Re Ар Нелинейную если при всех 1 и (шах | Ini Ар|) X не является большим положительным чи- с при умеренных значениях b и с. систему у' = f(x, у) относят к классу жестких систем, х из некоторого отрезка длины X > 0, принадлежащего области интегрирования, система уравнений У = у(х))у относится к классу жестких систем в смысле приведенного выше опре- деления.
§ 9. Особенности интегрирования систем уравнений 399 Из проводившихся выше рассуждений для случая системы (6) видно, что численное решение задачи Коши для таких систем требует разра- ботки специальных методов решения. Такие методы в настоящее время разработаны, и на их основе созданы соответствующие комплексы стан- дартных программ. Рассмотрим простейшие варианты наиболее распространенных методов решения жестких систем. 1. Пусть уже найдено приближение у„ к значению у(хп) и ищется приближение к значению y(®n+i), xn+i~xn = Н. Разложим правую часть f(®, у) в ряд Тейлора в точке (хп, у„) f(x, у) ~ f (я„, Уп) + Уп^ - жп) + Ч (жп, У(Жп)] (у - Уп) + • • • - (7) В прикладных задачах, как правило, возникают такие жесткие систе- мы, что f(x, у) не зависит от х или меняется относительно медленно с изменением х. В этом случае главными членами в правой части явля- ются первый и третий. За Уп+i примем значение в точке я,,+ 1 решения системы z' = f (хп, уп) 4- fy (хп, у(жп)} (z - уп) (8) при начальном условии z(xn) = уп. Произведем следующую замену пере- менных г(я) — уп = и (я), х — хп = t и введем обозначения f(®n, Уп) = b, fy^n, у(яп)} = А. Для определения z(xn+i) нужно найти значение и(Н) решения систе- мы u' = Au + b при начальном условии и(0) = 0. Эта задача решается в явном виде, однако для ее решения требуется знать все собственные векторы и собственные значения матрицы А. Если размерность матрицы А сколько-нибудь большая, то найти их —довольно трудоемкая задача. Поэтому целесообразнее следующий путь нахождения и(77). Решение системы уравнений и' = Л(£)и + b(Z) при начальном усло- вии и(0) = 0 записывается в виде u(i) = / W(t, t)b(r)dr. Jo Матрица W(r, t) является решением системы при начальном условии W(r, т) = Е.
-япги Глава 8. Численные методы решения задачи Коши В частном случае A, b = const имеем u(t) = w(/.)b, где матрица u>(t) имеет вид w(t) — ехр{Л(/ — т)} dr — Л-1 (ехр {At} — Е^. Значение ш(Н) можно было бы попытаться вычислить, пользуясь разло- жением в ряд Тейлора ОО . ^-Я^-ИЯГ1. (9) г=1 Однако в случае жестких систем при реально допустимых значениях Я величина ||Л||Я 1 и а) для достижения приемлемой точности требуется взять слишком много слагаемых; б) в тех случаях, когда требуемое для достижения нужной точности число слагаемых допустимо по числу арифметических действий, исполь- зование разложения (9) при ||А||Я 1 может быть неприемлемо по дру- гой причине: среди учитываемых в правой части слагаемых встречаются очень большие, и относительная погрешность, вызванная округлениями, недопустимо велика. Матрица w(t) удовлетворяет соотношению (10) где Е — единичная матрица. Поэтому часто бывает целесообразно пойти по следующему пути. Выбираем s такое, что ||А||Я 2~s 1; основываясь на (9), вычисляем а затем ijd{H/2s 1),..., ш(Я/2), <д(Я) с помощью рекуррентной формулы (ю). В случае линейной системы у' = Л(т)у алгоритм решения задачи мо- жет быть несколько упрощен. Здесь в описанном выше алгоритме на ка- ждом шаге возникает необходимость решения системы у' = А(хп)у при начальном условии у(хп) = уп. Тогда Уп+1 = ¥>(Н)уп, где = ехр {АН}, А = А(хп). На первый взгляд может показаться разумным следующий путь. Матри- ца у?(Я) удовлетворяет соотношению v(()=*>Q) *>(!) (11)
§ 9. Особенности интегрирования систем уравнений 401 поэтому зададимся некоторым s и вычисляем а затем пользуясь рекуррентной формулой (11). Такой путь при большом s приводит к существенному накоплению погрешности. Поэтому положим ф(Н) = <р(Н) — Е, вычислим (Н\ -V - (—V 4 7 i=i 4 7 и затем /Is т),..., 'ф(Н), пользуясь рекуррентной формулой W) = V.(0(2B + V>Q)). Далее находим = Е + 'ф(Н). При fx 0 метод точности О (К2 ) получается, если в (7) также учесть второе слагаемое. Тогда потребуется аналогичным образом сконструировать точный метод решения вспомогательного уравнения , , , dfI u = Au 4- b + ct, с= — В случае решения линейной задачи и' = Л (ж) и + f(x) можно предложить до- вольно простые методы точности O(/i.4). 2. Другая группа методов решения жестких задач строится следую- щим образом. Зададимся некоторым к и приблизим производную у'(хп) односторонней аппроксимацией к-го порядка точности 1 Т“7Z k а ~ ly^ V у„ у-л a zy71 j г=1 г—0 Выражение f(®n, у(.т„)) оставим без изменения. Получим конечно- разностную аппроксимацию к £ — Г17' - f(^,Уп) = 0. (12) г=0 Рассмотрим случай модельного уравнения у' = Му, когда (12) превра- щается в конечно-разностное уравнение к Ea—iyn—i ъг п ---------Муп = 0. г=0 П
402 Глава 8. Численные методы решения задачи Коши Решение этого уравнения выписывается через корни характеристического уравнения к - hMfj,k = 0. i=0 При к — 1, 2 корни этого уравнения удовлетворяют условию |р| 1 в области значений М : ReM < 0; при к = 3, 4, 5, 6— условию |р| 1 в области значений М : |IniM| — a^ReM, где о?/- > 0. В нелинейном случае значение у„ требуется находить из нелинейной систе- мы (12). Алгоритмы решения жестких систем различаются способами нахождения на- чального приближения к решению (12) и алгоритмами приближенного реше- ния (12). Рассмотрим простейший случай к = 1, когда (12) превращается в неявный метод Эйлера: - f(xn, yn) = 0. (13) Могло бы показаться разумным найти начальное приближение к у„ с помощью явной формулы Эйлера У° = Уп-1 + ftf(s„_1, У„-1), однако это не всегда целесообразно. В случае f(x, у) = Му имеем у° = (1 + M/i)yn_i и при |A/7i| 1 может случиться, что такое приближение будет слишком далеко от истинного решения. Поэтому более безопасный, но не всегда самый эффективный вариант —это положить у° = y„-i. Перепишем (13) в виде системы нелинейных уравнений относительно у,,: Уп - У»-1 - hf(xn, уп) - 0, и применим итерационный метод Ньютона. В данном конкретном случае ин- терполяционная формула Ньютона приобретает вид Уп+] = Уп - (Е - hfy(xn, y£)J (ук - yn-i - hf(xn, у.*)}, (14) где к — номер итерации. В одном из методов решения жестких систем за у„ принимается значение у*, получаемое из (14) при у° = yn-i- Тогда имеем Уп = У„ = Уп-1 + - hfy(xn, уп)^ f(sn, Уп-1). Рассмотрим случай скалярного уравнения у' = Му; тогда Mh 1 уп - Уп-i + х _ М}гУп-1 - j _ Mhyn-i- Если Re М < 0, в частности, если М действительно и М < 0, то при любом h I 1 I имеем у—~Mh < 1 и погрешности, возникающие в процессе счета, убывают. Поэтому такой метод может быть применен к решению жестких систем.
§ 9. Особенности интегрирования систем уравнений 403 3. Укажем еще один подобный метод решения задачи Коши для жестких систем довольно распространенного вида z' = F(z, ж), u' = Gq(z, ж) + Gi(z, ж)и, с контролем локальной погрешности через некоторую величину ё. Исходя из приближения z7!, un делаем попытку интегрирования с ша- гом hn. Используется аппроксимация первого порядка точности zn+1 -zn ГЭГ I 1 > - -Г (zn,Tn) + д (Z71+1 zn)i hn |_az i(zn>In)j 7 = r?o(zn+l, жп+1) + G1 (z.„+1, Ujj). В результате двух шагов получаются приближения z*+2 и и*+2 к зна- чениям z(xn + 2hn) и u(®n + 2/zn); находятся приближения z^+2 и и^+2 в результате применения той же аппроксимация с двойным шагом 2АП; ве- личины Rn = z^+2 — z^+2 и rn = u,'1+2 — u^+2 используются для контроля шага интегрирования.__________ Если Дп = У||КП||2 + ||гп||2 ё, то за окончательные приближенные значения z(xn + 2hrl) и u(.'/:n + 2hn) принимаются z^l+2 + Rn и u*+2 + r„, соответственно. При Дп <5/4 следующий шаг берется в два раза боль- ше. При Дп > ё делается попытка повторного интегрирования, исходя из точки хп, но с уже вдвое меньшим шагом. Получаемая в итоге аппроксимация имеет уже второй порядок. Задача 1. На примере уравнения и' + Ми = 0 получить явную формулу, выражающую и^+2 + тп через ип: и^1+2 + тп = Х(М)ип. При каких М выполняется неравенство |Л(М)| 1? 4. Как уже отмечалось ранее, явные методы численного интегриро- вания для жестких систем обыкновенных дифференциальных уравнений неприемлемы вследствие ограничений на шаг интегрирования. Действи- тельно, рассмотрим модельное уравнение и' + Ми = 0, iz(0) = uq (15) и применим для его решения метод Эйлера: un+1 =ип - Mhun = (1 - Mh)un, и° = и0. (16) Решение задачи (15) при М > 0 имеет вид монотонно убывающей экспоненты и(х) = иое~Мх, в то время как решение (16) имеет вид ип = (1 — Mh)nUQ. Таким образом, при |1 — Mh\ > 1 решение задачи методом Эйлера экспоненциально возрастает и не имеет ничего общего с реальным решением. Более того, если даже |1 — < 1, но 1 — Mh<0, то решение (15) экспоненциально убывает, но при переходе от шага к шагу меняет знак, т. е. метод Эйлера в этом случае также неприменим.
404 Глава 8. Численные методы решения задачи Коши Таким образом, из проведенных выше рассуждений можно сделать вывод, что метод Эйлера дает приближенное решение, правильно моде- лирующее поведение решения дифференциальной задачи при выполнении условия на шаг интегрирования что при больших по модулю М влечет за собой непомерное увеличение вычислительных затрат. Может показаться, что явные методы численного интегрирования во- обще неприменимы для решения жестких систем обыкновенных диффе- ренциальных уравнений. Однако это не так. Не так давно был пред- ложен метод численного интегрирования жестких систем обыкновенных дифференциальных уравнений с помощью явных методов (в частности, метода Эйлера), которые позволяют существенно сократить вычислитель- ные затраты. Суть метода состоит в переменном шаге интегрирования. Изложим основные идеи метода на примере модельной задачи. В ка- честве такой задачи рассмотрим систему обыкновенных дифференциаль- ных уравнений с симметричной неотрицательной матрицей А: ~ + Ли = 0, и(0) = и0. (18) Будем предполагать, что спектр матрицы А может быть разделен на две части: гладкую — Xi,...,Xk — 0(1) и жесткую — Ajt+i,..., Хт 1; max Xj = М. Решение задачи (18) имеет вид u(t) = e_'4iu0. (19) Решение задачи (18) будем искать на отрезке [0, т], используя метод Эйлера un+i = un - hAun = (Е - hA)un, откуда un = (Е - Mfuo. (20) Разлагая uq по собственным векторам матрицы А, получим т и0 = ajej- 3=1 Тогда из (20) имеем un = ^0:^(1 — hXj)nej. (21) 3=1 Вследствие (19) норма решения ||u(t)|| дифференциальной задачи не возрастает. Если потребовать, чтобы норма решения дискретной задачи
§ 9. Особенности интегрирования систем уравнений 405 также не возрастала, то из (21) можно получить, что шаг интегрирова- ния h должен удовлетворять условию |1 — /lAj;| 1, .7 = 1,..., 7П, откуда получаем оценку для h: h sC 2/M. (22) Условие (22) является необходимым для устойчивости метода Эйлера (20). Даже в случае, когда мы находимся в области, где составляющая решения, соответствующая жесткой части спектра, близка к нулю, мы вынуждены выбирать шаг интегрирования, удовлетворяющий (22); в про- тивном случае происходит экспоненциальное накопление вычислительной погрешности. Предположим, что мы задали число шагов интегрирования, равное N. Тогда за N шагов, используя метод Эйлера (20) и условие устойчивости (22), мы можем получить приближенное решение до момента времени т = 2N/М. Поставим следующую задачу. Используя переменный шаг ме- тода Эйлера, получить за N шагов приближенное решение на как мож- но большем промежутке. Естественно, что при этом используемый метод должен быть устойчивым. Уточним данную постановку для случая общего уравнения — = at f(t, u), u(0) = U(). Если u.„ известно, то un+i будем искать, используя следующий алгоритм Уп+1/2 = Un + hn+if(tn, Ujj), Д+1/2 Уп+1 = Уп+1/2 + hn+if(Д+1/2; Уп+1/2)> Д+1 — Д+1/2 "I" hn+i, (23) un+ 1 = Уп+1 + 7n+l^n+l (^(Д; Un) — ^(Д + 1/2; Уп+1/2)) ; здесь — некоторые постоянные, которые наряду с hj надо определить. Рассмотрение метода (23) будем проводить на примере задачи (18). Для случая задачи (18) метод (23) имеет вид Уп+1/2 ~ U„ — Tln+l-AUn, Д+1/2 = Д + Д1+Ь У71+1 = Уп+1/2 Дг+МУп+1/2, Д+1 Д+1/2 “1“ Д+1; u^+i = Уп+1 Qn+i^n+i (a!u71 ^Уп+1/2) • С помощью элементарных преобразований отсюда получаем соотношение, связывающее un+i и un: un+i = (Е - An+iA)2un - 7П+1Д1+1 Иип - A(un - A^+iAun)) = = (-Е — /in_f.i-4)2un — 7n+i^,n+i'^2Un — (24) = [(£ /гп_щ.4) 'уп^.\Нп^А ] и„.
406 Глава 8. Численные методы решения задачи Коши Таким образом, мы можем записать соотношение, связывающее u/y и и0 в виде Uw = Q27Vpl)uo, (25) где QznW = П [(! - hiX\2 - 7/h?A2]. (26) i=i Заметим, что N Q27v(A) = l-2j2/tlA + --- i=l Из постановки задачи видно, что коэффициент при А в многочле- не б^2Лг(А) как раз и является величиной, которую мы должны ми- нимизировать. Кроме этого должно выполняться условие устойчивости ||^И)|| 1, что эквивалентно выполнению неравенства |С?2л(А)| 1 при A G [О, М]. Таким образом, мы пришли к следующей постановке задачи. Введем класс Р многочленов степени 2Л’ со свободным членом 1, не превосхо- дящих по модулю 1 на отрезке [О, М]. На этом классе требуется най- ти многочлен, производная которого в нуле является минимальной, т. е. требуется найти Qzn G Р такой, что Q2tv(A) = arg min Р^(0)- (27) Справедлива следующая Лемма. ог5р™“рР^(°) = T2N = Q27v(A); здесь T2N — многочлен Чебышева степени 2N. Доказательство. Из определения многочленов Чебышева легко видеть, что Т2ЛГ G Р- Предположим, что утверждение леммы неверно. Тогда су- ществует многочлен P2W G Р такой, что Р2лг(^) < Рассмотрим разность г(А) = Qzn(X) — PznW- Эта разность является многочленом сте- пени 2N и в точке 0 обращается в нуль, так как Pzn, Qzn G Р- Пусть Ао, • , A2w — точки экстремума Qzn\ при этом Ао = 0, Xzn = М. Так как Qzn многочлен четной степени, то sign622Ar(A27) > 0, sign622Ar(A2j+i) < О- Отсюда следует, что г удовлетворяет условию signr(A2j) 0, signr(A2j+i) 0. (28) Найдем количество корней многочлена г на отрезке [0, М]. На отрезке [Ао, Ai] всегда имеется два корня. Действительно, г(А0) — 0 и, по предпо- ложению леммы, г'(Ао) > 0. Поскольку r(Ai) С 0, то это и означает, что
§ 9. Особенности интегрирования систем уравнений 407 на [Ао, Ai] имеется не менее двух корней. Если до точки А2.74-1 во всех узлах Xk ( за исключением Ао ) имело место строгое неравенство (28), то на отрезке [Ао, A2j+i] имеется 2у+2 корня г(А). Пусть r(A2j+i) = 0. Тогда возможны два случая: или г(А) меняет знак в окрестности точки A27+i, или знак в окрестности A2j+i не меняется. В первом случае это означает, что на отрезке [Aq, A2j+2] имеется 2j 4- 3 корня. Во втором случае точка Д2?+1 является кратным корнем г(А). Таким образом, до точки А2;/д2 мы рассмотрели все возможные случаи и установили, что т(Х) имеет с уче- том кратности на [Aq, A2j+2] не менее 2j + 3 корней. Продолжая процесс подсчета корней, окончательно получаем, что на всем отрезке [Ао, А2дг] многочлен г(А) степени 2N имеет не менее 2N + 1 корней. Полученное противоречие завершает доказательство. Следует отметить, что исходная задача до сих пор не решена, так как мы лишь нашли функцию из класса Р, удовлетворяющую условию экс- тремума. Однако ниоткуда пока не следует, что эта функция (многочлен) представима в виде (26). Покажем, что это действительно так. Много- член С?2дг(А) = T-2N ( имеет на отрезке [О, М] ровно 2N корней: Aj = 4- -у- cos J = 1,- - , А, которые расположены симметрич- М но относительно точки —-середины отрезка [О, М]. Вводя величины М _ (2Х-М\ такие, что А,- = -Нс,-, 7 = 1,...,А, искомый многочлен Ton —— I J 2 J \ М J можно записать в виде /2А-МА-Л/ А А/ А А 2ЛЧ М М/2 + eJl М/2-^)- N q =IJ м2/4-е? ^м/2 ~Л)2 ~ ®' Приравнивая при фиксированном j выражение, стоящее под знаком произведения в (29), к выражению под знаком произведения в (26) при том же j, получаем соотношение для определения параметров hj, 'fj: 7~ЛГ2/2-2£?’ Ъ~М2’ (30) Таким образом, многочлен Q2/v(A) — T2W^———действительно является решением поставленной задачи. Вычислим значение 02Лг(0). Для многочлена Чебышева Т2дг(т) справедлива формула „ , , (х 4- xjx2 — 1)27V 4- (ж — xjx2 — l)2/v 2А — М . T2n(x) = ±---------А-----------, х = ——. (31)
408 Глава 8. Численные методы решения задачи Коши Тогда Так как dX то из (32) имеем dT2NC^r~) 8N2 dX М ’ А=0 (33) Таким образом, за 2N шагов численного интегрирования жесткой си- стемы уравнений с помощью метода Эйлера мы можем получить прибли- женное решение на отрезке [0, в то время как при интегрировании той же системы уравнений с помощью явного метода с переменным ша- гом можно получить приближенное решение на отрезке [0, за то же количество шагов. Отсюда следует, что использование переменного шага интегрирования позволяет увеличить при тех же затратах процес- сорного времени длину отрезка интегрирования в N раз, т. е. метод будет особо эффективным при больших N. В настоящее время расчеты по указанному методу проводятся до значений N, достигающих порядка 106. При этом N выбирается в каждой расчетной точке в зависимости от гладкости решения. Как правило, N выбирают среди чисел N — 21-Зк- Следует отметить тот факт, что при практической реализации рас- смотренного выше метода, как и в случае Чебышевского ускорения ите- рационных методов, очень важной является проблема правильного упо- рядочивания параметров процесса. В настоящее время эти задачи реше- ны и на их основе создан комплекс программ Лебедева «DUMKA» для решения жестких систем обыкновенных дифференциальных уравнений, который показал свою высокую эффективность на многочисленных зада- чах этого класса. Особенно эффективен данный метод по сравнению с другими при использовании многопроцессорной вычислительной техники, так как он легко распараллеливается.
§ 10. Методы численного интегрирования уравнений второго порядка 409 § 10. Методы численного интегрирования уравнений второго порядка Введением новых неизвестных функций дифференциальные уравнения порядка выше первого и их системы сводятся к системам уравнений первого порядка. Таким образом, при формальном подходе вопрос о чи- сленном решении задачи Коши для уравнений высших порядков можно было бы считать исчерпанным. Однако методы, приспособленные специально для решения уравнений высших порядков, часто более эффективны. При разработке таких мето- дов нужно также иметь в виду широкое распространение систем уравне- ний высоких порядков специального вида, учет специфики которых мо- жет еще более повысить эффективность методов. Например, ряд задач небесной механики сводится к интегрированию систем уравнений у" - f(y)- Рассмотрим несколько более широкий класс уравнений у" = Н*,у)- Как и выше, рассуждения проводятся для одного уравнения, поскольку перенос результатов на случай системы осуществляется автоматически. Традиционно наиболее распространенными методами интегрирования та- ких уравнений являются явный к Уп+1 2уп + Уп—1 = 'b—if(xn—i, Уп—i) (1) 1=0 и неявный к Уп+1 tyn + Уп—1 = г/(жп—г> Уп—г) (2) <=-1 конечно-разностные методы. Эти методы можно было бы получить ме- тодом неопределенных коэффициентов, потребовав, чтобы разность у(ж„+1) — 2у(хп) + у{хп^) А „ д2 / у (Хп~г> г=—1 была величиной как можно более высокого порядка по h. Здесь, как обычно, предполагается xn+i — хп = h. Одним из наиболее употребительных среди этих методов является не- явный метод четвертого порядка точности вида (2) (часто называемый методом Нумерова) при к = 1: Уп+1 ~ 2уп + Уп—1 = h (rrzf (хп—1> Уп—1) + Тц/(Я-ти Уп) “Ь ТХ'/(^'п+1> Уп+1)} j V j-xi -LZ ' который особенно удобен в случае линейных задач.
410 Глава 8. Численные методы решения задачи Коши Для целей численного интегрирования уравнения У" = f(x, у, у') употребительными являются следующие методы: значения уп и z„ при- ближений к у(хп) и у'(хп) вычисляются из совокупности явных рекур- рентных соотношений вида / I fnt Уп+1 Уп 4- h'} \^к^^ zn+l к=0 k=0 или неявных вида l I zn+l = zn 4” h''} fn±i, Уп+i — Уп 4“ '/ik^ zn+i- к=0 к=0 Уравнения более высокого порядка, чем второй, на практике часто сводят к системам уравнений второго или первого порядков (см, также § 9.11). Как и в случае конечно-разностных схем для уравнений первого по- рядка, отбросим в (1) и (2) слагаемые, содержащие значения /, и рас- смотрим получившееся разностное уравнение. В обоих случаях оно имеет вид Уп+1 - 2уп 4- Уп-i = 0. Его характеристическое уравнение имеет кратный корень /г = 1. Не нуж- но пугаться того, что корень оказался кратным: если в разностных схе- мах, аппроксимирующих уравнения первого порядка, перед значениями f стоял коэффициент порядка h, то здесь стоит коэффициент порядка h2. Все упоминавшиеся ранее разностные схемы интегрирования уравне- ния у" — f(x, у) могут быть представлены в виде 1 к к ' a—i'yn—i г/(жп—г; Уп—г) = О, П() 7^ 0; GO 1 i=0 i=0 при этом для гладкой функции 1 к ! ^2^2a-iy(Xn-i) ~4 У"(ХП) г~0 к при фиксированном хп и h —> 0; кроме того, = 1. Пусть гп г=0 погрешность аппроксимации (результат подстановки в левую часть ре- шения дифференциальной задачи): =£ а-<^> _ м), г=0 i=0
§ 10. Методы численного интегрирования 411 и |rn| С C()hm равномерно на всем рассматриваемом отрезке интегрирова- ния [.то, .то + Х]. Как и в случае уравнений первого порядка, из-за окру- глений при вычислениях и неточности решения уравнения относитель- но неизвестной уп в случае неявной схемы (Ьо 0) реально получаемое приближенное решение уп удовлетворяет (3) с некоторой погрешностью. Таким образом, имеем । к к , 7 a—iUn—i ^b—jf (хп_г, Уп—i) = $п- 1 г=0 г=0 Вычитая из этого соотношения предыдущее, получим уравнение для по- грешности Rn = уп - у(хп): i=0 i=0 где lj = fy(xj, yj), gn = ёп - гn. Пусть £ = sup \jy(x, 7/)| < oo. Теорема (без доказательства). Пустъ все корни характеристического уравнения разностной схемы к = 0 г=0 лежат в единичном круге и на границе круга нет кратных корней, за ис- ключением двукратного корня, равного 1. Тогда при xq х xq + X спра- ведлива оценка погрешности max(|7?„|, I——1) " 7 R-R \ (5) C(L, X) ( max IgJ + max |/?7| + max —— 3-- ) . \х0$г$х0+Х O$j<A: J 0<j<k I h При численной реализации методов решения уравнений второго по- рядка с целью уменьшить влияние вычислительной погрешности целесо- образно преобразовать расчетные формулы к другому виду. Методы численного решения уравнений второго порядка могут быть исполь- зованы при численном решении уравнения, где производная решения не выра- жается явно через само решение и аргумент; для определенности рассмотрим скалярный случай F(x, у, у') = 0. Если бы это уравнение удалось разрешить относительно у', то получилось бы некоторое уравнение У' = /(ж, у).
412 Глава 8. Численные методы решения задачи Коши Первый возможный путь решения задачи состоит в формальном применении методов Рунге-Кутта или конечно-разностных методов; для каждых т и у зна- чение / определяется путем численного решения уравнения F(x, у, Г) = 0. Хорошее начальное приближение к искомому значению f можно получить ин- терполяцией ранее найденных значений, поэтому число требуемых итераций (например, в методе секущих) обычно оказывается небольшим. В случае неявных методов бывает целесообразно сразу решать систему урав- нений F(xn, Уп-> /п) ~ б, k к 'ck—iUn—i 'b—ifn — i ~ б i=0 1=0 относительно неизвестных уп, fn. Иногда (крайне редко) поступают следующим образом: дифференцируя исход- ное уравнение по х, получают соотношения ~(F(ar, у, у')) = F3.(ar, у, у') + Fy(x, у, у')у' + Fy.(x, у, у')у" = О, ах у, у')) = •• = б и т. д. Если значение у'(хо) уже найдено, то из этих соотношений можно явным образом определить значения у"(х0),..., а затем получить y(x0+h) с помощью формулы Тейлора. Первое из этих соотношений можно переписать в виде У" = 9&, У, У')- Отсюда получается третий путь решения задачи: из уравнения F(x0, у0, у'(х0)) = 0 определяется у'(х<\), и далее численно интегрируется уравнение у" = д(х, у, у'). §11. Оптимизация распределения узлов интегрирования Решения дифференциальных уравнений и систем могут иметь различ- ную гладкость на различных участках отрезка интегрирования. На при- мере оценки погрешности метода Рунге—Кутта было видно, что вклад от погрешности интегрирования на некотором шаге [хп, жи+1] в суммар- ную погрешность в точке хм — xq + X равен произведению погрешности
§ 11. Оптимизация распределения узлов интегрирования 413 на шаге на множитель ехр < / fy(x, у(т)) dx >, зависящий от п. По- этому для некоторых классов дифференциальных уравнений становится особо актуальной задача оптимизации распределения узлов интегрирова- ния. Произведем анализ этой проблемы, не вникая в тонкости обоснова- ния проводимых построений. Для простоты предполагаем, что начальное условие задано точно и округления отсутствуют. Погрешность результа- та численного интегрирования по методу Рунге—Кутта в точке тдг не превосходит (1) Предположим, что хп = <p(n/N), ДО) = то, Д1) = xq + X, гладкая функция. Согласно формуле Лагранжа где (п — 1)/Аг tn n/N, поэтому Н = шах (хп — т?г_1) 4- шах |Д(Н|. Н -> 0 при N -> ос; 0<n^N N [0,1] 1 1 ' следовательно (см. § 4), имеем max |у„(ж) - у(х)\ -» 0 X0^.Xn ^X^XjCq+X при N -> оо. Таким образом, можно написать асимптотические равенства (см. также § 4) f fXN 'l Г PXN ехр < / fy(x, yn(x))dx У ~ exp / fy(x, ДД) dx kJxn J I Jxn используя которые, выражение (1) для Sn представим в виде где Г гхо+Х (Ли $(i) = |y?(¥?(f), y(<p(t)))\ (Д(4))к+1 ехр fy(x, у(х)) dx (2) (3)
414 Глава 8. Численные методы решения задачи Коши При гладкой функции Ф(/) и N -> ос величина к интегралу стремится и, таким образом, 1 = [ $(t) dt Jo (4) Sn ~ N~k [ $(t) dt. Jo Дальнейшие построения являются некоторым усложнением построений из § 3.12. Примем <р за новую переменную в интеграле (4). Тогда он запишется в виде схо+Х I = / £(</;) dtp. где = | 1/Ы)| (*'М) expjf fy(x, ?y(a;))cte} . (5) Задача минимизации интеграла (4) за счет выбора функции <p(t) и зада- ча минимизации t(<p) в форме (5) Эйлера этого же интеграла за счет выбора обратной функции т, 9L эквивалентны. Вследствие равенства = 0 уравнение от d /dL\ _ dL dip \dfJ lJi. в данном случае , d fdL приобретает вид —— I —— dtp \ of = 0. Отсюда следует, что = const. |^7 = ~А-’|'Ф У(ч>)} | (*'(<£)) ехР Возвращаясь к переменной 99, получаем •а-о+Х л fy(x, у(х)) dx > = Ci. (6) Решение этого дифференциального уравнения зависит от Ct и еще не- которой постоянной С2. Их значения следует определить из граничных условий $о(0) = xq, <р(1) = Xq + X. Отметим одно неочевидное обстоятельство. Уравнение (6) может быть запи- сано в виде У(<р))|ехР УД1, y(a:))da:j = С, (7) куда не входят ни начальная, ни конечная точки интегрирования. При С — Сак+У уравнению (7) удовлетворяет также функция <p(at -I- b). Задавшись
§11. Оптимизация распределения узлов интегрирования 415 некоторым N, осуществим одновременное интегрирование исходного уравне- ния и уравнения (7), выбирая каждый раз шаги интегрирования из условия хп — a-’n-i ~ (tn-i)- Скорее всего, мы придем в конечную точку Хд + X с числом узлов Ni, отличным от N, и тогда это распределение узлов не бу- дет являться оптимальным распределением, соответствующим данному N. Это естественно, поскольку, начиная вычисления, мы не могли заранее предвидеть хода поведения решения и сказать, какую величину С следует взять в правой части (7). Однако можно показать, что, вследствие указанных свойств решения уравнения (7), функция будет искомой и распределение узлов p(n/Ni) — оптимальным (с точностью до погрешности численного интегрирования), со- ответствующим числу узлов Ni. Непосредственное интегрирование уравнений (1) и (7) встреча- ет затруднение из-за необходимости вычисления значений функции •ф(х, уВместо непосредственного вычисления значений этой функ- ции целесообразно использовать величину контрольного члена точности на шаге. При численном интегрировании уравнения (7) следует также иметь в виду, что эти соотношения носят асимптотический характер. В окрестности точек, где фу (ж)) = 0, в остаточном члене начинают играть существенную роль слагаемые порядка (хп — xn^i)l'+2. Дополнительное численное интегрирование уравнения (7) может силь- но усложнить решение задачи. Поэтому к вопросу оптимизации распре- деления узлов часто подходят следующим образом. Пусть решаются за- дачи из некоторого определенного класса. Рассмотрим модельную для этого класса задачу, для которой можно в явном виде решить уравне- ние (7). Постараемся на ее примере установить зависимость шага (или меры погрешности на шаге) от поведения решения, при которой распре- деление узлов близко к оптимальному. Далее все задачи этого класса интегрируем с шагом, соответствующим этой зависимости. В других случаях заранее задаются некоторой формой такой зависи- мости. Пусть система уравнений порядка т интегрируется с контролем точности на шаге. В случае системы уравнений контрольный член г бу- дет некоторым вектором гп — (г.',,..., г''1). В ряде программ шаг инте- грирования выбирается из условия ||гп|| jmax « е = const или из условия |Д-| max ------,,, Дг ,.——и е = const. i^mmax{|Mfc|, |(t/n)fc|} Параметры М, подбирают из соображений оптимальности распреде- ления узлов в условиях конкретной задачи. Рассмотрим пример оптимизации распределения узлов интегрирова- ния. Пусть задача Коши у'(х) — Му(х) при начальном условии у(0) реша- ется методом Эйлера. Тогда 1 М2 ф(х, у(х)) = -~у"(х) = —у(0) ехр {Мх}
416 Глава 8. Численные методы решения задачи Коши и уравнение (6) имеет вид . М2 (^)-2~ 1У(О)1 ехР { W} ехр {-Щ% -</>)} = const. Отсюда получаем = const, т.е. распределение узлов следует взять рав- номерным. Наибольшего эффекта решение задачи оптимизации распределения уз- лов или ее упрощенных вариантов достигает в случае решений с особен- ностями производных и при решении задач с малыми параметрами при старших производных, например задач типа пограничного слоя. Литература 1. Бахвалов Н. С. Некоторые замечания к вопросу о численном интегрировании дифференциальных уравнений методом конечных разностей. // ДАН СССР.— 1955. - 104, N 6, С. 805-808. 2. Винокуров В. А., Ювченко Н. В. Полуявные численные методы решения жестких задач // ДАН. - 1985. - 284, N 2, С. 272 -277. 3. Крылов В. И., Бобков В. В., Монастырный П. II. Начала теории вычислительных методов. Дифференциальные уравнения — Минск: Наука и техника, 1982. 4. Крылов В. II., Бобков В. В., Монастырный П.И. Вычислительные, методы. Т.2 — М.: Наука, 1977. 5. Лебедев В. II. Как решать явными методами жесткие системы дифференци- альных уравнений // Вычислительные процессы п системы—М.: Наска, 1991. Вып.8, С. 237-291. 6. Ракитский Ю. В., Устинов С. М., Черноруцкий II. Г. Численные методы решения жестких систем — М.: Наука, 1979. 7. Современные численные методы решения обыкновенных дифференциальных уравнений // Под ред. Дж. Холла, Дж. Уатта —М.: Мир, 1979. 8. Федоренко Р. П. Жесткие системы обыкновенных дифференциальных уравнений и их численное интегрирование //В кн. Вычислительные процессы и системы. Вып. 8, М.: Наука, 1991. С. 328-380. 9. Федоренко Р.П. Введение в вычислительную физику— М..: Изд-во МФТИ, 1994. 10. Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жесткие и дифференциально-алгебраические задачи —М.: Мир, 1999. 11. Хайрер Э., Нерсетт С., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Нежесткие задачи —М.: Мир, 1990. 12. Butcher I. G. A modified multistep method for the numerical integration of ordinary differential equations // J. Assoc. Comput. Math. —1965, 12, N 1. P. 124-135. 13. Dahlquist Y. Stability and error bounds in the numerical integration of ordinary differential equations —Uppsala, Almqvist & Wiksells boktr 130 (1959). P. 5-92.
======== Глава 9 ====== Численные методы решения краевых задач для обыкновенных дифференциальных уравнений При решении краевых задач возникают дополнительные трудности по сравнению со случаем решения задачи Коши: значительно сложнее ис- следуется вопрос о существовании решения: после написания сеточной задачи возникает система линейных или нелинейных уравнений, пробле- ма решения которой требует дополнительного изучения, § 1. Простейшие методы решения краевой задачи для уравнений второго порядка Среди краевых задач для обыкновенных дифференциальных уравнений существенную часть составляют задачи для уравнений и систем второ- го порядка. В частности, такие задачи возникают в баллистике, теории упругости и т. д. Начнем изучение вопроса с одной частной, но довольно распростра- ненной краевой задачи. Ищется решение уравнения Ly = у" ~ р(х)у = ,f(x) на (О, X) (1) при граничных условиях у(0) = щ у(Х) = Ь. (2) Зададимся шагом h = X7V-1, N целое; точки хп = nh примем за узлы сетки; как обычно, уп—приближения к значениям у(хп). После замены производной у"(х„) на разностное отношение 82Уп = Уп+1 - Ъ'Уп + Уп-1 h2 h2 получаем систему уравнений КУп) = - РпУп = fn, п=1,..., N - 1; (3) здесь рп=р(хп), граничные условия заменим соотношениями Уо = a, yN = Ь. (4)
418 Глава 9. Численные методы решения краевых задач Покажем, что при р(х) 0 система уравнений (3), (4) имеет решение, и дадим оценку погрешности. Лемма 1. Пусть р(х) 0, Z(zn) 0, zo, zn 0. Тогда zn 0 при всех п. Доказательство. Обозначим min zn через d. Предположим, что d < 0 и, следовательно, d^z^, zn- Пусть q— наименьшее целое такое, что zq = d; из определения d и q имеем z(/_| > d, zq+i d. Тогда 1/ \ — ^) + (Zg-i — _ > Z<?-1 ~ ъ n iyZq) — ^2 PqZtq > U и мы приходим к противоречию с предположением d < 0. Лемма 2. Если р(х) 0, то для любой функции zn выполняется неравен- ство 2 max \zn\ С max ] |z0|, |ддг| > + Z —-, I J 8 где Z= max |Z(z?,)|. 0<n<N V 71 Доказательство. Введем в рассмотрение функцию („ nh\ , ,nh nddX — nh) 1 - + Ы v + Z ------------- А у Л. Z Для многочлена второй степени величина 52Q/h2 совпадает со второй производной, поэтому 52wn/h2 = — Z. Из явного вида wn следует, что wn 0, поэтому Z (шу,) — д wn/h pnwn Zy l(wn zt zn) Z i Z(z?^) 0. Имеем WQ ± Zq = |zo| ± ZQ 0, Wyv ± ZN = |гдг| ± z^ 0. Функции wn±zn удовлетворяют условиям леммы 1, поэтому wn±zm 0. Отсюда следует оценка lzn\ |ш?г| С шах |ш?г|. Имеем неравенства nh\ , ,nh ,, , , /L nh\ \nh |\ r. . n 1 - — + l^yvl— max{|z0|, l^yvl} 1 - + — = max{|z0, A J Л \| A J j A |y nh(X - nh) X2/4. Поэтому ИХ2 + z ~6~- о Лемма доказана. Рассмотрим случай, когда функции р(х) и /(ж) дважды непрерывно дифференцируемы. В курсе дифференциальных уравнений доказывается, что тогда решение у (х) четырежды непрерывно дифференцируемо.
§ 1. Простейшие методы решения краевой задачи 419 Пусть гп — погрешность аппроксимации, соответствующая конечно- разностной схеме (3): 'Си = l(y(xnf) fn — = !>(»»«) ~ 2g(»n) + »А,.-1) (5) Поскольку р(х)у(х) + /(ж) = у"(х), то _ у(хп+1) - 2у(хп) +у(я;„_1) „ гп — ^2 У \.хп)- Из оценок погрешности формул численного дифференцирования (§ 2 15) имеем y^(xn)h2 _ Г" =-----12----’ ГДе Хп Хп+1' 6 Из-за округления получаемые в процессе вычислений приближения уп к значениям у(хп) удовлетворяют системе (3), (4) с некоторыми погреш- ностями Ы - fn = ёп- (7) Вычитая (5) из (7), получим уравнение Ц-Rn) — 1"п относительно погрешности приближенного решения Rn = уп — у(хп). Вос- пользовавшись леммой 2, получим |jRn| С шах{|Яо|, |Ялг|} + -тг( max Ы+ max l^lY I Jo \0<n<N 0<n<N / Согласно оценке (6) имеем Ы М4 —, М4 — max [0,Х] |у(4)(т)|. Таким образом, окончательная оценка погрешности имеет вид max |Я„| max {|7?0|, |ЯдЛ I J Уо И—— max |5„|. 8 0<Az<AJ П1 Мы видим, что при повышении точности, с которой удовлетворяются граничные условия и разностное уравнение, при одновременном стремле- нии шага к нулю решение сеточной задачи сближается с решением диф- ференциальной задачи. Описанный метод дает приближенное решение, сходящееся к точному со скоростью O(/i2). Займемся построением более точных схем. Будем предполагать, что функции р(х) и f(x) непрерывно дифференцируемы
420 Глава 9. Численные методы решения краевых задач четыре раза, тогда решение задачи непрерывно дифференцируемо шесть раз. Еще раз рассмотрим выражение г/(тп+г) - 2у(хп) + у(хп г) h2 у"Ы- Подставим сюда представление у(хц±\) с помощью формулы Тейлора: У(жи±1) = у(т„) ± у'(т„)/г + у"{хп) — ± у'"(жп)у + ft4 24 /15 120 и получим = Д^ + О(М) (8) Вычтем из 1(у(хп)) слагаемое, аппроксимирующее величину y^\xn)h2/12; полученной схеме соответствует погрешность аппроксимации более высо- кого порядка. Например, можно приблизить у(4\хп) выражением ё4у(хп) _ у(тп,4-2) ~ 4у(тп-ц) + 6у(т„) - 4у(а;п 1) + у(хп^2). h4 h4 ’ получится конечно-разностная схема Я2Уп 54уп _ h2 12h? Рг'Уп-fn- (9) Эту схему можно также построить непосредственно, заменив производ- ную у"(хп) выражением /г-2 (б2у(хп) — (1 /12)<54у, приближающим ее с погрешностью О (/г4). Уравнение (9) содержит пять неизвестных уп с ненулевыми коэффи- циентами. Решение системы, состоящей из уравнений (9) и уравнений, получающихся при аппроксимации граничных условий, более трудоем- ко, чем решение системы (3). Исходя из других соображений, построим конечно-разностную схему с погрешностью аппроксимации O(/i4) такую, что в каждое уравнение входят только три неизвестных. Дифференцируя дважды исходное уравнение, имеем у^ (ж) = (р(т)у + /)", поэтому __ (Рп+1У(^-n+i) 4“ /п+1) 2(ргау(я;п) + fn) + (рп—1У(хп—i) + /и i) h2 Вычитая из исходной схемы приближение для y^h2/12, получим схему 8 Уп 1 с2 / J* \ £ ~~Го РпУп То \РпУп 4“ Jn) = 1п tlS 12
§ 1. Простейшие методы решения краевой задачи 421 или lW(yn) = ~РпУп - ^2{рПУп) = Г(1)(Л) = fn + ^2/„. Этот метод совпадает с методом Нумерова. В предположении, что решение непрерывно дифференцируемо восемь раз, рас- смотрим погрешность аппроксимации новой схемы = ^(у^Хп)) — Учитывая, что рпу(хп) + fn = у"(хп), получим r(i) = - Z"(1)(fn) = - - у"(хп) - ^й2х/"(тп). Воспользовавшись формулой Тейлора, аналогично (8) получаем равенство у^\хп)1^ с 240 Построим приближение величины ?/6)(.гп) посредством значений y(xn~i), у(хп), у(хп+1). Таких приближений можно написать очень много, например следующим образом. Согласно уравнению (1) у" = ру + f, у'" = (ру + f)', у(4) =(ру + f)", у^ = (РУ + f)^ = РУ^ + Wy™ + &р"у" + + р^у + f^\ поэтому справедливо приближенное равенство /?/ Л х (Рп-+-1?/(^п+1) 4“ /п-4-1) (Рп— 1У(хп— 1) 4“ fn— 1) . 4- 4р (хп)--------------------—----------------------4 + 6р"(хп)(рпу(хп) + /п) + + + р(4) (хп)у(хп) + f(4)(Tn). Прибавляя к 1^(уп) выражение, приближающее y^\xnyhf /240, получим ко- нечно-разностную схему с погрешностью аппроксимации О(Л6); при этом в каждое уравнение получившейся алгебраической системы входят только три неизвестных уп. Для практической оценки погрешности решения краевой задачи может приме- няться правило Рунге. Законность его применения основывается на существо- вании главного члена погрешности. Задача 1. Пусть функции р(х) и f(x) четырежды дифференцируемы. Доказать, что для решения задачи (3), (4) справедливо соотношение max \уп - у(хп) - h2z(xn)\ = O(h4); здесь z(x) — решение краевой задачи Lz — —г/(4)(ж)/12, ДО) = 0, z(X) — 0.
422 Глава 9. Численные методы решения краевых задач Аналогичный прием последовательного повышения порядка погрешно- сти аппроксимации может быть применен и по отношению к аппрокси- мациям граничного условия. Рассмотрим случай граничного условия у'(0) — од(0) = а. Дискретное приближение высокой точности к такому граничному условию можно по- лучить непосредственно, заменив производную у'(0) по какой-либо фор- муле численного дифференцирования высокой точности: г=0 Однако погрешность аппроксимации будет меньше и решение возникаю- щей алгебраической системы представит меньше трудностей, если идти по описанному выше пути последовательного повышения порядка точно- сти аппроксимации. Заменим производную ?/(0) отношением тогда получим h ,(i)z , У1-У0 n т-r (i) y(h)-y(ty ‘о ЛУп) = —------аУо — a = 0- Подставляя в =----------------— а разложение y(h) = у(0) + y'(0)h + O(h2), имеем № = ?/(0) + + O(h2) - ау(0) - а = + O(h2}. Таким образом, погрешность аппроксимации граничного условия есть O(h). Поскольку, согласно уравнению (1), у"(0) =ро?/(О) +/0, то уравнению zo(l/n) = У1 h У° - ау0 -а - (роуо + /0)| = О соответствует второй порядок аппроксимации. Подставляя в = 1^\у(хп)) разложение y(h) = у(0) + y'(O)h + y"(0)h2/2 + О(Л3), получим -----------------1- О(/г3). После дифференцирования исходного уравне- ния (1) имеем 1/(3) (0) -роУ'(О) - р'(0)у(0) - /'(0) = 0; поэтому с учетом граничного условия справедливо равенство ?/3)(0) =po(ay(O) +а) +р'(0)у(0) +/'(0). Разностному уравнению /o3)(l/n) = 1ТЧуп) ~ ((ро« + р'(О))г/о +Роа + /'(0)) — = 0 будет соответствовать уже третий порядок аппроксимации.
§2. Функция Грина сеточной краевой задачи 423 Можно было бы сразу написать равенство Го1 = у"(о)^ + У(3)(0)у, затем выразить производные у"(0) и ?/3)(0) через у(0) и, вычитая из разностной схемы соответствующее выражение, получить уравнение /^3\уп) = 0. Однако мы обратили основное внимание именно на способ последовательного повышения порядка точности, поскольку его перене- сение па случай уравнений в частных производных является наиболее простым и естественным. § 2. Функция Грина сеточной краевой задачи Функция wn, введенная в § 1 при доказательстве леммы 2, носит назва- ние мажорирующей функции, и метод получения оценок погрешности с использованием этой функции называется методом. мажорант, или ме- тодом. Гершгорина. В ряде случаев, когда метод мажорант неприменим, оценку погрешно- сти приближенного решения можно получить, используя так называемую сеточную функцию Грина. Проводимые ниже построения функции Гри- на сеточной краевой задачи (1.3), (1.4) кроме всего прочего интересны своей аналогией со случаем дифференциальной краевой задачи. Функция Грина G(®, s) дифференциальной краевой задачи Ьу = у" - р(ж)у = /(ж), у(0) = а, у(Х) = Ъ, определяется как решение уравнения L(G(®, s)) = С'хх(ж, s) - p(x)G(x, s) ~ S(x - s) (1) при граничном условии G(0, s) = G(X, s) = 0; здесь S(x) — ^-функция. Функцию Грина можно задать следующими явными формулами. Пусть Ил1(ж), 1Г2(ж)—решения уравнения L(W) = 0 при условиях ^(0) = 0, (ИЛ1)'(О) = 1, W2(X) = 0, (W2)'(X) = -1; тогда G(x, s) = W2(s)W1(x) V° Wl(s)W2(x) V° при при 0 Ж 8, 8 X X, (2) где V° — значение определителя Вронского: У(ж) = Р71(ж) 1Г2(ж) (ГИ1)'^) (W2)'(x) = const = V°.
По Здесь дексе 424 Глава 9. Численные методы решения краевых задач Решение задачи (1.1), (1-2) записывается с помощью функции Грина в виде у(х)= [ G(x, s)f(s)ds + G's(x, X)b — G's(x, 0)«. (3) Jo Перейдем к сеточной задаче ,z \ Уп+1 ~ ‘^Уп + Уп — 1 f . Цуп) = -------^2--------РпУп=1п, Уо = а, уп = ь. аналогии определим функции IV.,'.. W? из соотношений Z(H^) = 0, i = 1, 2, п = 1,..., N - 1, Иф1 = 0, IF,1 = h, W% = 0, 1Тл, = h. и далее оператор I применяется при фиксированном верхнем ин- Wi,, - 2Wf +Wi , ) = -п- - Л Аналогом определителя Вронского является определитель Vn = 2 ST 1 Ье W,? < - n n—1 rvn n—1 h h h Из тождества = «и + «-i - = vn+1 - vn /г2 Zi2 следует, что величина Vn не зависит от п; будем обозначать ее V(h). Положим " le = < V(ft) ПрИ 0 '/2 (4) W> IPI I при к n s $ N. Из определения при п < к, следуют равенства . W? l(Gkn) = ^l(W*)=0 KGkn) = ^l(W^)=Q
§ 2. Функция Грина сеточной краевой задачи 425 при п > к- при к = п имеем = [W2+lW^ - 2WX + w^w2 _р^\ = \ V(/j,)h2 V(/i) J wi / w2,, - 2 l-P"2 + W2 , Л PC2^1 ,-W1W2 , ''77 I n+1 n n—1 Tjr2 1 , 77 71—1 ,Vn,V ll~ 1 Л2 ~Рп™„] + V(h}h2 Согласно определению W2 первая круглая скобка равна 0; вторая скоб- ка равна V(h)h. В итоге при к = п получаем Z(G^) = /i-1; объединяя полученные соотношения, имеем Z(G^) = ^~1. (5) Функция является сеточным аналогом d-функции, а равенство (5) — аналогом (1). Сеточные функции РИД, г = 1, 2, являются решениями сеточных задач Коши, соответствующих задачам Коши, определяющим функции И/!(.т). Предположим, что 1И1с[о, А'] = sup |р"| Мо < оо; 0^я<А (6) тогда можно показать, что ||(ТУг(Ж))(4)|| 10 7 llc[0, X] Оценив близость начальных данных и воспользовавшись далее (недока- занной) теоремой из § 8.10, можно получить оценку близости сеточных и дифференциальных решений задачи Коши вида шах , |РРД -РГ(п/г)| Mh2, i = 1, 2. (7) Согласно свойствам РЛ° и V(h) имеем V0 = К(Х) = РИ^Х) т'ро = -РИ^Х), Поэтому VW = wk \V(h) - V°| ^Mh2 (8) на основании оценки (7).
426 Глава 9. Численные методы решения краевых задач Далее предполагается, что РГ1(Х) 0; в противном случае однородная краевая задача у" — р(х)у = 0, у(0) = у(Х) = 0 имеет ненулевое решение Ил1(ж), а следовательно, неоднородная краевая задача (1.1), (1.2) или не имеет решения, или имеет неединственное решение. Будем также пред- полагать h настолько малым, что 2Mh2 |P71(A’)| = |У°|. В этом случае имеем V(h) > V° - Mh2 > |V°/2| > 0. Сравнивая явные выражения функции Грина дифференциальной (2) и сеточной (4) задач с учетом оценок (7), (8), получаем - G(n/i, fc/i)| Qh2 при 0 /с/г, nh X. Лемма. Если V(h) 0, то рассматриваемая сеточная задача (1.3), (1.4) однозначно разрешима и ее решение записывается в виде j. W'2 W1 -л. = лЕс5д + -5« + ^г. (9) *=1 ’ Формула (9) является сеточным, аналогом формулы (2). Доказательство. Поскольку согласно определению функции G.('j здесь выполняется равенство Gq — G^ = 0, то уд = а, ум = Ь. Имеем равенство 1{Уп) - h l(Gn)fk + Гт/2 ° + ДДГ~ k=l WN коэффициенты при а и b равны нулю по определению функций IT,’- Воспользовавшись равенством (5), получим 1(уп) = fn. Таким образом, система линейных уравнений (1.3), (1.4) при любых правых частях имеет решение, записываемое в виде (9). Но если система линейных уравнений разрешима при любых правых частях, то ее решение единственно. Лемма доказана. Соотношение (9) может быть двояким способом использовано для оценки близости решений сеточной и дифференциальной задач. Первый путь состоит в непосредственном сравнении выражений (2) и (9). Для простоты продемонстрируем его в случае а = b = 0, дп = 0. Подставляя х = nh, перепишем (2) в виде y(nh) = mh G(nh, s)f(s) ds + I G(nh, s)f(s) ds.
§ 2. Функция Грина сеточной краевой задачи 4Z7 При условиях ||/"||с[0,А] 00 и (6) можно показать, что подынтегральные функции в обоих интегралах имеют ограниченную вторую производную. Заменим оба эти интеграла по формуле трапеций с шагом h. Получим ( G(nh, 0)/(0) ! г G(nh, nh)f(nh)\ y(nh) = h I -X-^Lk~L +12 G(n/l’ kh)f(kh) + - ~ ) + X fc=i / (G(nh, nh)f(nh) t G(nh,Nh)f(Nh)\ zA/. + h I ~ , G^nh' kh)f(kh) + —'— - ) + °(h ) \ / Разбиение интеграла на две части потребовалось в связи с тем, что по- грешность формулы трапеций оценивается через вторую производную по- дынтегральной функции, а функция G(n/i, s) имеет разрыв первой про- изводной в точке nh. Поскольку из определения функции Грина G(®, s) следует, что G(nh, 0) = G(n/i, N) = 0, то JV-1 y(n/z) ~ h G(nh, kh)fk + O(/i2). (10) fc=l Из равенств (9), (10) следует Л-1 Уп - y(nh) = hY,(Gkn- G(nh, kh))fk + O(A2). Воспользовавшись оценкой (7), получим yn—y(nh) = O(h2). Нетрудно про- следить, что эта оценка погрешности равномерна по п при 0 хп X, т. е. max \уп — у(пЛ) = О(/г2). I I Другой путь состоит в получении уравнения для погрешности и даль- нейшей оценки погрешности с помощью формулы Грина. В § 1 было показано, что погрешность /?,, удовлетворяет уравнению ^(-Rn) ~ где |rn| M^h2/12, Sn—погрешность, обусловленная неточностью реше- ния системы (1.3), (1.4). Пусть Rq = Rn = 0. Из явного вида функции Грина дифференциальной задачи следует ее равномерная ограниченность; с учетом (7) получаем, что функция Gk также равномерно ограничена: |G^| D при 0 kh, nh X. Напишем явное представление Rn с по- мощью формулы Грина (9): N-1 Rn^=h^Gkn(Sk-rk). (11) к=1
428 Глава 9. Численные методы решения краевых задач Тогда из (11) следует оценка N—1 \Rn\^Dh (Ы + Ы)- к=1 Загрубляя, получим оценку |Нп! DX ( Mi 2 Д -/г + max д* , \ 12 0<k<N J имеющую тот же порядок по отношению к h и max|^j, что и получен- ная в § 1 оценка. Эта оценка применима и при infp(i) < 0, когда лемма 1.2 неприме- нима. Таким образом, использование аппарата функции Грина позволяет расширить множество задач, для которых удается получить оценку по- грешности сеточного решения. § 3. Решение простейшей краевой сеточной задачи При численном решении задачи Коши значения решения определяются в последовательных узлах по рекуррентным формулам: в случае краевой сеточной задачи, например (1.3), (1.4), такой возможности нет, посколь- ку значения решения зависят от граничных условий на обоих концах отрезка интегрирования. Краевую задачу у" ~ р(х)у = f(x), i/(0) = а, у(Х) = b можно было бы решать следующим способом. Возьмем частное решение Уо(х) неоднородного уравнения Уо ~Р(х)у0 = /(ж) и два линейно независимых решения однородного уравнения у" — р(х)у{ = 0, i = 1, 2. Общее решение неоднородного уравнения запишется в виде 2/(ж) = Уо(ж) + С'1У1(ж) + С2у-2(х); постоянные Ci и С2 определяем из граничных условий. Приближения к функциям i/Д.т), г — 0, 1, 2, находим каким-либо численным методом решения задачи Коши, затем определяем С/ и получаем нужное решение. Экономнее поступить следующим образом. Находим частное решение неоднородного уравнения у^' — р(х)уо = f(x), удовлетворяющее условию 1/0 (0) = а, и частное решение однородного уравнения у\(х). удовлетворя- ющее условию i/i (0) = 0. Общее решение неоднородного уравнения, удо- влетворяющее условию 1/(0) = а, имеет вид уо(х) + Су1(.т); значение С определяется из условия уо(Х) + Су\(Х) = b.
§ 3. Решение простейшей краевой сеточной задачи 429 Метод решения краевой задачи, соответствующий этой схеме, принято называть методом стрельбы или методом пристрелки. Сеточный аналог этого метода заключается в следующем. Задаемся = а, уд = 0, произ- вольными у} 0 и и из уравнений „о _ о?.о о >/ 0\ Уп+1 У}ц'Ип + 0 f /1\ ЦУп)= --------^2--------РпУп=1п, (1) ,, 1ч У\+\~2Уп + Уп~1 ] п ЦУп) = --------^2--------РпУп = в, (2) последовательно определяем у$, - -, у%, У2т--->Ум- Затем находим С из уравнения y°N + CyxN = b и полагаем уп = у}', + Су}у функция уп является требуемым решением. Иногда значения угп, i = 0, 1 не хранят в процессе вычислений, а после отыскания С находят yi = у® + Су} и затем последовательно определяют у2,..., y+'-i из уравнения l(yn) = fn. Описанный алгоритм формально применим при люоых значениях у\ и у{; однако для уменьшения влия- ния вычислительной погрешности разумнее взять у® = а + O(h). Рассмотрим модельное уравнение у" — р(х)у = 0, р = const >0, х G [0, X]. (3) Решения соответствующего однородного уравнения у(х) = ехр{±^/ф.т} сильно возрастают (убывают) на рассматриваемом участке, если вели- чина у/рХ достаточно велика. Таким образом, при р > 0 величина у/рХ является параметром, существенно влияющим на характер накопле- ния вычислительной погрешности. Рассмотрим накопление вычислитель- ной погрешности на одном из этапов решения сеточной задачи. Пусть уже найдено значение у\ и далее вычисления проходят по рекуррентной формуле Уп+1 = Ъуп - Уп—1 + ph2yn. (4) Получаемые при реальных вычислениях величины у* связаны равенством Уп+1 = 2у* - Уп-1 + ph2y*n + &п, наличие слагаемого ёп в правой части обусловлено округлениями. Вы- читая отсюда (4), получим уравнение относительно погрешности Д„ = Уп Уп- Дп+i — 2A/J Дп—1 ph Хп + ёп. (5) Рассмотрим следующую модель накопления погрешности: ёп = ё = const и погрешности в уо и у\ отсутствуют, т. е. До = Д1 = 0. Урав- нение (5) можно переписать в виде Дп+1 — 2Д„ + Дп-i Д --------^2-------= + w, ш . (6)
430 Глава 9. Численные методы решения краевых задач При oj = const совокупность соотношений До = Ai = 0 и (б) образует сеточную задачу, аппроксимирующую задачу Коши Д"=рД + о>, Д(0) = Д'(0) = 0. Можно проверить, что условия теоремы из § 8.10 выполнены, поэтому решения этих задач будут близки: л л/ — 1 Дп ~ р Асимптотическое равенство понимается здесь в обычном смысле: Д^/Д^я) —> 1 при h —> 0, у/p, хп = const, 0. При умножении ш на какой-либо множитель на этот множитель жится как Д„, ливы и при о>, (7) (8) умио- так и Д(т„), поэтому (7) и соответственно (8) справед- зависящем от h, т. е. в рассматриваемом случае &{у/рхп} - 1 /\ _ ~ ГУ = ---------- 6. 71 п ph* числовой пример: р = 10, хп = 10, h = 10~2, S = 10~2; и нельзя рассчитывать на получение решения с разумной Рассмотрим тогда |cr„| > 104 точностью. Отметим, что значение величины у/рхп^ определившее столь большую величину накопленной вычислительной погрешности, было не очень большим. При естественной нумерации неизвестных уо, • •, yN система уравне- ний (1.3), (1.4) записывается в виде Ау = с, где матрица А трех- диагональная. Напомним, что матрица А = называется (2т + 1)- диагоналыюй, если = 0 при |г— J| > т. Для решения систем уравнений такого вида часто наиболее целесооб- разно применять метод Гаусса при естественном порядке исключения не- известных. В случае, когда этот метод применяется для решения систем уравнений, возникающих при аппроксимации краевых задач, его называ- ют методом прогонки. Приведем конкретные расчетные формулы метода прогонки в случае системы (1.3), (1.4). Представим граничное условие СоУ1 + ‘Ро, где Со = 0, <ро — а. Подставляя уо = уравнение системы (1.3), (1.4) уо - 2?д 4- у2 -------------= А> получаем уравнение, связывающее значения и уг- нение относительно у±, имеем У1 = Сру2 + <Р1, Уо = а в виде уо = Coyi + в первое Разрешая это урав- (9) где
§ 3. Решение простейшей краевой сеточной задачи 431 Подставляя полученное выражение щ через у2 во второе уравнение си- стемы, получим уравнение, связывающее у2 и у3, и т.д. Пусть уже по- лучено соотношение Уп = Спуп+1 + <Pni (Ю) подставим выражение уп в (п + 1)-е уравнение системы (1.3), (1.4): Уп %Уп+1 4" Уп+'2 е Рп+1Уп+1 — Jn+1- Разрешая получившееся уравнение (СпЗ/zi+l 4" <^п) %Уп+1 4" Уп+2 h2 Рп+1Уп+1 — fn+1 относительно yn+i, имеем Уп+1 — (-'п+1Уп+2 4" Vn+1> здесь Сп+1 2 + pn+xh2 - Сп' Vn+1 — C„+l(V„ fn+lfi )• (11) Таким образом, коэффициенты уравнений (10), связывающих последова- тельные значения уп и yJt+i, можно определять из рекуррентных соотно- шений (11) при начальных условиях Со = 0, <ро = а. Так как ум известно, то после нахождения всех коэффициентов Сп, ipn можно последовательно определять ум—ь • •, У1 из соотношений (10). Процесс вычисления коэф- фициентов Сп, <рп принято называть прямым ходом, прогонки, а процесс вычисления неизвестных уп — обратным ходом прогонки. Последователь- ность производимых вычислений можно изобразить следующей схемой (на этой схеме а —> b означает, что значение а используется при вы- числении Ь): прямой ход прогонки pi P2 PN-1 г г г Со = 0 —> Сх -4 С2 • Ctv-i г J- г Vo = а -4 V1 V2 —> • ’ • —> VN-1 t t t fl /2 fN-l обратный ход прогонки Сг с2 Сдг-i 1 1 1 У1 <- У2 <- • • i— VN-1 ^-PN- Т Т Т vi V2 VN-1 Названию «метод прогонки» иногда предлагается следующее объяснение. Уравнение Уп — 6/nyn+i + <рп
432 Глава 9. Численные методы решения краевых задач получено как следствие граничного условия в точке х = 0 и уравнений системы (1.3), соответствующих точкам ;г.г хп. Таким образом, это равенство выпол- нено для любого решения системы уравнений l(yj) = fj, j = 1,.... п, удо- влетворяющего левому граничному условию; граничное условие в точке х. = О «перегоняется» в текущую точку х = хп. Задача 1. Выписать расчетные формулы метода квадратного корня в случае решения рассматриваемой системы. Сравнить трудоемкость этого метода с трудоемкостью метода прогонки. Применим для решения системы (1.3), (1-4) метод Гаусса при порядке исключе- ния неизвестных yQ. у?,.... у/\ , yi. Из первого уравнения выражаем у-> через уг и подставляем в остальные уравнения. После этого во второе уравнение входят только неизвестные у> и -г/3; выражаем уз через yi и подставляем в остальные уравнения и т. д. Пусть уже выразили через yi неизвестные у >,..., уп и полу- чили соотношения yj = <уру\ + (3} при 2 j < п; для единообразия добавим сюда равенства Уо = ОоУ1 + /30, где «о = 0, До = а, У1 = счУ1 + А, где «1 = 1, ,<% = 0. Подставляя выражения уп-1 и уп в уравнение - (2 + pnh2)y„ + (/n+i = fji2, получим (CTn-12/l + Аг-1) (2 +Рп/д)(«|!</1 + Дг) + Z/zl+l = или Уп+1 = «п+1У1 +А1+1, где ГГп+1 — (2 Т pnh )сь/; О?г — 1, (12) fin+i = (2 + pnh2)fin — (Зп-\ + fnh2- Таким образом, коэффициенты ап, можно последовательно вычислять по рекуррентным формулам (12). После получения соотношения г/дг — ct^yi + /3к определяем значение yi, а затем все г/j по формулам Уз=ОзУу+Рз- (13) Вследствие (12) значения a-j удовлетворяют однородному конечно-разност- ному уравнению (2) и начальным условиям од = 0, cij — 1; значения fij — неоднородному конечно-разностному уравнению (1) и начальным условиям /Зо — а, /3\ — 0. Таким образом, ап совпадает с у^, а (Зп- с в методе стрельбы при определенном выборе начальных условий. Функция zn = опС + Д, удовле- творяет' неоднородному конечно-разностному уравнению и левому граничному условию при любых С, причем Z\ = OiC + Ai = С. Следовательно, решая урав- нение у к ~ акС + (Зк относительно С, мы как раз находим значение С — у\, которое отыскивалось в методе стрельбы. Вычисления по формуле (13) соот- ветствуют вычислению значений уп по формуле уп = уАпС + ?/„• Полученный метод совпадает с методом стрельбы при У° =а, у? = 0, = 1, у{ = 0.
§ 3. Решение простейшей краевой сеточной задачи 433 Решение системы (1.3), (1-4) описанными выше методами требует O(N) арифметических операций; если при решении этой системы обра- титься непосредственно к стандартной программе метода Гаусса, то чи- сло операций будет порядка 0(№); это количество операций состоит из O(N) содержшпелъных операций метода прогонки и О(№) несодер- жателъных операций умножения (деления) нуля па некоторое число, и сложения (вычитания) двух нулей. Таким образом, хотя содержательные операции при решении этой системы методом прогонки и по стандарт- ной программе метода Гаусса одни и те же. использование стандартной программы приводит к существенному увеличению затрат на решение задачи. Текст программы метода Гаусса может быть преобразован в текст программы метода прогонки, если в преобразованиях над строками и столбцами матрицы изменить начало и конец циклов так, чтобы исклю- чить несодержательные операции. Рассмотрим теперь случай, когда при х = 0 имеем граничное условие у'(0) — ау(0) = а. В § 1 при его аппроксимации возникло уравнение, связывающее значения уо и ур, это уравнение может быть записано в виде Уо = Соуа + <ро- (14) У1 — Уо например, простейшую аппроксимацию —--------ауо = а можно перепи- „ 1 ah сать в таком виде при Со = ------г, <до —------- Далее вычисляем 1 + ah 1 + ah Сп, <рп по формулам (11) при п = 1,..., N — 1 и при обратном ходе про- гонки yN-I,- , уо по формулам (10). Если при х = X имеем граничное условие у'(Х) + fly(X) = b, то аналогично (14) имеем уравнение yN — Сыум-1 4- ф]\-. (15) Осуществляя прямой ход прогонки, получим равенство yN-i — Cn—iVn + vn; (16) решая систему (15), (16), находим удг, yN~i и затем последовательно вы- числяем «/лг-2, • • , Уо по формулам (10). При аппроксимации краевых задач для уравнений высших порядков или для систем дифференциальных уравнений появляются системы урав- нений Ау — с с (Z, sy диагональными матрицами А; матрицу А = [щ;] на- зывают (Z, з)-дагоналъной, если аг:1 — 0 при j < i — I и при j > i + s. Для решения таких уравнений также довольно часто бывает целесообразно применять метод Гаусса, алгоритм которого может быть записан анало- гично методу прогонки в виде совокупности рекуррентных формул. Если Z > s, то для уменьшения числа арифметических операций целе- сообразно переобозначить неизвестные и уравнения в обратном порядке, чтобы получить систему с (s, /)-диагоналыюй матрицей.
434 Глава 9. Численные методы решения краевых задач Задача 2. Подсчитать число операций при решении методом Гаусса си- стемы с (Z, а)-диагональной матрицей при I > s, I = s, I < s. В ряде случаев (Z, а)-диагональная матрица системы уравнений записывается естественным образом в виде (р, </)-диагональной матрицы клеточного вида, т. е. А — [Дг7], A{j —некоторые матрицы такие, что Л,., = 0, если j < i — р или j > г + q. Рассмотрим случай системы уравнений У" ~р(х)У = Ю)> (17) где у, f—векторы размерности т, р — матрице! размерности т х ш, и про- стейшую аппроксимацию У»+! ~ 2У». + У«~1 _ р(хп)УП = f (а,, ). (18) /Г Матрица системы естественным способом записывается в виде (17) с р = q = 1; Aij — матрицы размерности т х т. В то же самое время эта матрица являет- ся (1т — 1, 1т — 1)-диагональной или, что то же самое, (4m — 1)-диагональной. Для решения этой системы может быть применен метод исключения Гаусса в клеточной форме, который аналогично скалярному случаю может быть запи- сан в виде совокупности рекуррентных матричных соотношений типа формул метода прогонки. Задача 3. Подсчитать число арифметических операций для метода Гаус- са в клеточной форме и для общей процедуры метода Гаусса с ис- ключением несодержательных операций в применении к системе урав- нений (18). При решении ряда задач возникают системы уравнений с матрицей А, отличающейся по структуре от (Z, а)-диагональной матрицы наличием ненулевых элементов при |г— j| ~ п, т. е. вблизи левого нижнего и правого верхнего углов матрицы. Для решения таких систем также целесообразно применять метод Гаусса с исключением несодержательных операций. В случае отыскания периодического решения сеточного уравнения (3) этот вариант метода Гаусса называют методом циклической прогонки. Рассмотрим пример задачи, сводящейся к системе уравнений такого вида. При сглаживании функций методом регуляризации в § 5.3 возникла следующая задача. Дана периодическая функция fq целочисленного аргумента q; период равен N. Требуется найти периодическую с тем же периодом функцию uq, удовлетворяющую системе соотношений ё2пи + (-A2)nu9 = fq при всех q. Выпишем эти соотношения при q = 1,..., N. Вследствие условия периодично- сти заменим значения uq при 0 и при q > N, входящие в эти соотношения,
§ 3. Решение простейшей краевой сеточной задачи 435 соответственно на uq+N и ug-N. В результате этого получится система N урав- нений относительно 7V неизвестных ui,..., ujy ' -Au — f. Элементы матрицы А = [«;_,] этой системы определяются соотношениями «,у = о (|г — j|), где а(0) = (-1)П(С”„/Г2" + А2"), при при при О < к п, п < к Sj N — п, N-n^k < N; О a (N-n) ... a (N - 1) \ Матрица А симметричная и положительно определенная. Задача 4. Выписать расчетные формулы этого метода при п = 1. Пока- зать, что решение этой системы методом Гаусса с исключением несодер- жательных операций требует O(n2N) арифметических операций. Задача 5. Выписать расчетные формулы метода квадратного корня в конкретном случае решения этой системы при п = 1. Подсчитать необ- ходимое число арифметических операций. Выше, когда при рассмотрении метода прогонки выписывались рас- четные формулы и подсчитывалось число арифметических действий, был оставлен в стороне вопрос о возможности переполнения процессора ЭВМ, в частности, вследствие деления на нуль. Кроме того, отсутствие пере- полнения само по себе не гарантирует избавления от большого влияния вычислительной погрешности. На модельном примере р(х) = р = const рассмотрим поведение прого- ночных коэффициентов Сп при различном знаке р. Соотношения Gn+1 = 2+р^-Сп’ (19) которым удовлетворяют коэффициенты Сп метода прогонки, совпадают с итерационными формулами решения уравнения С = 9{С) = —Х ~ 2 + рпл — С
436 Глава 9. Численные методы решения краевых задач при начальном приближении Cq = 0. Уравнение С — д(С) равносильно квадратному уравнению С'2 - (2 + ph'2)C + 1 = 0; (20) его корни ГЛр2}),4 ph + При ph2 > 0 имеем С^) > 1; поэтому 0 < С(2) = < 1. При р < 0 и h малом подкоренное выражение отрицательно и уравнение (20) не имеет вещественных корней. Совместное расположение графиков у = С и у = </(С) и точек (С'„, Сп), (C'n, Gi+i) изображено на рис. 9.3.1, 9.3.2. Видно, что при р 0 значения Сп лежат в пределах 0 < Сп С 1 (рис. 9.3.1). При р < 0 не исключено (рис. 9.3.2), что при достаточно больших п некоторое значение Сп окажется близким к 2 + ph2; тогда следующее значение Cn+i будет очень большим и может произойти переполнение. Рассмотрим вопрос о накоплении погрешности при вычислении коэф- фициентов Сп. Из (19) получаем, что &Сп+1 _ _____ 1________ = (С Н dCn (2 + pnh2 — Cn)2 ^п+1> • Следовательно, возмущения в коэффициентах Сп связаны соотношением 6Сп+1 « C2+lSCn и при больших Сп происходит также большой рост погрешности. Отмеченные выше обстоятельства приводят к необходимо- сти более детального изучения влияния вычислительной погрешности, по крайней мере при р < 0. § 4. Замыкания вычислительных алгоритмов При предварительном анализе алгоритмов каждый раз удавалось многое понять, рассматривая случай решения модельной задачи. Другим эффек- тивным приемом предварительного анализа является использование по- нятия замыкания вычислительного алгоритма, введенного Соболевым.
§4. Замыкания вычислительных алгоритмов 437 Чтобы не загромождать изложения, ограничимся рассмотрением су- щества проблемы; поэтому многие из проводимых в этом параграфе по- строений не всегда подробно обосновываются. Пусть решается некоторая задача = (1) и пусть Lhvh = fh (2) — последовательность задач, зависящих от параметра h (например, шага сетки), решения которых и1' сходятся при h —> 0 к решению исходной задачи (1). Предположим, что алгоритм решения задачи (2) состоит в последовательном получении некоторых соотношений 44 = At m = (3) при этом = Е — единичный оператор, и^{ = — (Lh)~1fh = и1', т. е. на М-м шаге получается точное решение uh. Пусть можно ввести параметр г(гп, /г), монотонно зависящий от тп, такой, что при h —>• 0 п z фиксированном соотношение (3) переходит в пределе в соотношение Lzy = fz, О О z0: (4) здесь zq = limz(Af, h). h-+0 Соотношение (4) называется замыканием вычислительного алгоритма (3). Мы не дали строгого определения замыкания вычислительного алгоритма. Су- щество дела станет понятнее после рассмотрения замыканий алгоритмов ре- шения краевой задачи. Определение понятия вычислительного алгоритма не исключает воз- можности М = оо. В этом случае равенства LhM = E, понимаются в том смысле, что Lhm-+E, 4 -» (Т/)’1/"' при 7П-4СЮ. Случай М = сю соответствует итерационным методам решения задачи (1). Если операторы Lz равномерно ограничены по г, то говорят, что алгоритм (3) имеет регулярное замыкание. В противном случае говорят, что алгоритм имеет нерегулярное замыкание. Если замыкание алгоритма регулярно, то есть основания предполо- жить, что он устойчив к различным возмущениям, в частности к вы- числительной погрешности. Поэтому исследование замыкания алгорит- ма является удобным способом получения предварительного суждения
438 Глава 9. Численные методы решения краевых задач о свойствах нового метода на первоначальной стадии изучения вопро- са. Такая предварительная оценка свойств метода не всегда оказывается окончательной. Может случиться, что операторы Lz равномерно ограни- чены, но очень большой постоянной, что равносильно практической не- ограниченности. С другой стороны, возможно, что неограниченность опе- раторов Lz вызывается неудачной нормировкой уравнений или неудач- ным выбором норм в пространствах функций и. Отсутствие равномер- ной ограниченности операторов Lz означает неограниченное возрастание p(7i) = sup ||Z^J| при h —>• 0. Не исключена возможность, что величи- т на растет очень медленно и соответствующее возрастание влияния вычислительной погрешности при стремлении шага к нулю окажется до- пустимым. Несмотря на высказанные соображения, изучение замыканий вычислительных алгоритмов приносит большую пользу. При прямом ходе прогонки получаются соотношения Уп ~ СпУп+i = Vn- (5) Попытаемся понять, во что переходят эти соотношения при h —>• 0. Возь- мем простейший случай р = 0. Тогда Со = 0, Ci = 1/2, С2 = 2/3,... и, как нетрудно установить методом индукции, Сп = 1 — l/(n + 1). Пусть фиксирована какая-то точка х = nh. Тогда левая часть (5), соответству-. тощая этой точке, равна Уп ( 1 : 7 ) Уп+1- \ x/h +1J При подстановке вместо величин уп значений гладкой функции y(nh) предел левой части равен нулю и нет смысла рассматривать подобное замыкание алгоритма. Чтобы получаемое замыкание было осмысленным, нужно подобрать такой множитель А (А), чтобы предел lim X(h) (у(х) - fl-7Г~7) + Л-)') (6) h—>0 \ \ x]h 4-1/ ) был конечен и отличен от нуля. Возьмем A(/i) = /г-1; тогда = (у(^) - (1 - | + O(A2)) (у(ж) + y'(x)h + С(А2) = y^--y>^ + o(h). Таким образом, (6) имеет ненулевой предел. Применим такую же нор- мировку и в общем случае. Поскольку в рассмотренном примере суще- ствовал предел 1 - Сп - i lim------ при nh = х, h^O h
§ 4. Замыкания вычислительных алгоритмов 43УГ введем вместо Сп новую переменную ап — (1 — Cn)/h. Напомним, что прогоночные соотношения имеют вид С«+1 = ——- 7-5 1 <Pn+i = Cn+iiVn — fn+ih ). (7) 2 + pn+1hz - Сп Умножим соотношение (5) на —hr1 и положим С„ = 1— onh, <рп = —(3nh. Тогда (5) перепишется в виде Уп+\ Уп h апУп+1 — Рп- (8) Подставив выражения Сп и (рп через ап и (Зп в (7), получим равенства 1 1 , 2 । г ’ 1 + pn+ihz +anh = (1 - an+ih)(/3nh + /n+iA2); отсюда C^n-f-1 T i I I 1,2 ’ 1 + anh +pn+ih2 Pn+1 ~ Pn + (fn+l O-n+lPn)^ an+l.tn+l^ Соотношение (9) можно преобразовать к виду G-n+1 ап 2 ,^Рп+1ап ап ~ (Д/1+l ~ Pn+lan)h ----------= Рп+1 ~ ап ~ h---------------------х------------- а соотношение (10) — к виду Pn-j-l Рп р /Э f г --- Jn+I _ ап + 1Рп Jn+lLan + l'l. (9) (10) (11) (12) 1 + anh + рп+р12 Если предположить, что коэффициенты ап и /3„ при фиксированном nh = х и h —> 0 стремятся к некоторым пределам (.'/:) и /3(т), то при подстановке в (8) вместо уп значений y(nh) в пределе получится диф- ференциальное уравнение У - «(ж)у = Р(х). Соотношения (11), (12) показывают, что величины ап, ftn удовлетворя- ют уравнениям, напоминающим метод Эйлера численного интегрирова- ния дифференциальных уравнений а'=р(х)—а2, (13) Р' = /(т) - а(3. (14) Доказательство того факта, что значения ап, /Зп при nh = х фиксиро- ванном, h —> 0, стремятся к значениям решений этих дифференциальных Уравнений, затрудняется следующим обстоятельством. Согласно опреде- лению «о = (1 — Co)/h = 1/Л,, /?о = = -alh. (15)
440 Глава 9. Численные методы решения краевых задач Таким образом, в окрестности точки ж = 0 начальные условия для чи- сленного интегрирования по формулам (11), (12) имеют не совсем обыч- ный характер и развитые нами методы оценки близости решений се- точных и дифференциальных задач в рассматриваемом случае неприме- нимы. Глядя на соотношения (15), можно было бы предположить, что функция а(.т) является решением (13), ведущим себя вблизи нуля, как ж-1, а /3(х) — решением (14). ведущим себя вблизи пуля, как —аж-1. Обоснуем это предположение. Коэффициенты Сп, а следовательно, и полу- чаются из рекуррентных соотношений (7), не зависящих ни от правой части дифференциального уравнения, ни от граничного условия в точке А'; началь- ное условие рекурсии Со = 0 также от них не зависит. Рассмотрим краевую задачу у"(х) - р(х)у(х) = О, </(0)=0, ?;(Х) = 1 и соответствующую сеточную задачу Ц%) = 0, уо = 0, yN - 1. Решения этих задач можно записать в виде у(х) = Нг1(ж)/НЛ1(А'), уп = W'/WlN (определение IV1 (ж) и W„ см. в § 2). Поскольку для этой краевой задачи <рп = 0 и все fn = 0, то = 0 и соотношение (8) имеет вид Подставляя сюда уп = ИЛ,(/И'д, получим (16) (17) (18) Пользуясь оценками близости [И’,1 — W1 (nh)| Mh2 при 0 nh А", можно получить оценку ИЧ(("+1)4+О(/>2)' Функция а(х) = (ТУ1)']*/W1 (ж) удовлетворяет дифференциальному уравнению (13), поскольку (W^'Y = (Т^1)" _ /W1)'?-.^ _ /WW И'1 / IP1 \ IK1 J \ w1 J ' Согласно определению Ил1(ж) при малых х имеем ИЛ1(ж) ~ х, (ИЛ1)'|Ж ~ 1 и, таким образом, а(х) = (И/1)'|ж/И/(т) ~ ж-1, как и предполагалось.
§ 4. Замыкания вычислительных алгоритмов 441 Функция о(.с) обращается в бесконечность в точках, где IV1 (.г) — 0, в частности при х — (). В окрестности каждой такой точки у имеем (TV1)'!. ~ (ИГ1)Ъ # о, Т+Чт) - ((№”)'!„)(* - У) и, таким образом, а(х) ~ (х - у) 1 (19) Для точек этой окрестности можно написать цепочки соотношений Т.Т.Л _ ТТ’1 —>± = (п/1)/|(,!^_1)/|(1 + 0(/t)), «+. = И- ((» + !)'•) + О(/.2) = Ю ((„ + 1)1.) (1 + 0 (Й.,(Д1)А) = И/1 ((я + l)/i) (1 + 0 h2 (>i + 1)Л - у и, таким образом, а„ = о((п + 1)7*) (1 + О(/г)) (1 + 0 h2 (п + l)/i - у Отсюда видно, что относительная погрешность равенства ст„ й о((п + l)/i) является величиной порядка O(/i) вплоть до окрестности порядка h точек, где а(,т) = оо. Аналогичным образом исследуется поведение функции 0(а:). Выпишем теперь соотношения (3) и соответствующие замыкания ал- горитма. Возьмем М = 2N — 1 и при т = 1,..., N за (3) примем со- вокупность соотношений Уп Спуп+\ _____ h п ’ Уп—1 — 2уп + Уп+1 __ г Д2 РпУп — .til; yN = b, m, N, а при N < m M — совокупность соотношений Уп Cnyn+i IT ' 0 < n M — m, h Уп 'Фп; M — m < n N, m п n где “фп — точное решение сеточной задачи. Положим z = mh. Тогда за- мыкание алгоритма (4) будет выглядеть следующим образом: Lzy = fz(x),
442 Глава 9. Численные методы решения краевых задач где для 0 Z < 1 у'-а(ж)?/ при 0 < Ж < Z, Lzy = < У" - Р(Х)У при z С X < 1, . У при ж = 1, (3(х) при 0 < ж < Z fz (ж) = < /(ж) при Z С х < 1 b при X = 1 и для 1 : Z 2 у' — а(х)у при 0 < ж < 2-г, Lzy = | у при 2 — Z С ж 1, /3(ж) при 0 < X < 2 - Z. fz (ж) = { V'(t) при 2 — Z ж 1; здесь ^(ж)—точное решение дифференциальной задачи (равенство Lzy\x=0 = а опущено). Рассмотрим примеры поведения функции а(х) и /3(ж). Пусть р(х) > 0; тогда, согласно уравнению а' = р(х) -- а2. а' < 0 при а > pi = ^тахр(ж) и _______ а > 0 при а < р2 = /штр(ж). Соответствующее поле интегральных кривых изображено на рис. 9.4.1. Поэтому решение а(ж), удовлетворяющее условию о(ж) ~ ж-1 при х —> О, монотонно убывает по крайней мере до тех пор, пока не попадет П f f f f f 0 x Рис. 9.4.1 h 1; далее с ростом п они в область Р2 < а <р\, где оно и останет- ся. Уравнение (14) линейно относитель- но /3(ж). Так как коэффициент а(х) коне- чен при х 0, то решение этого уравне- ния остается ограниченным при всех х 0. Таким образом, были бы все основа- ния признать замыкание алгоритма реше- ния рассматриваемой задачи регулярным, если бы не неограниченность коэффици- ентов а(ж) и /3(х) при х —> 0. В рассма- триваемом случае значения «о и /?о в точ- ке п = 0 являются величинами порядка должны иметь тенденцию к убыванию из- за аналогичной тенденции решений дифференциальных уравнений. Мы уже свыклись с тем, что во многих случаях влияние вычислительной
§ 4. Замыкания вычислительных алгоритмов 443 погрешности порядка 2~th~v является неизбежным и допустимым и воз- можно, что такая нерегулярность алгоритма не приведет к недопустимо большому влиянию вычислительной погрешности. Обратимся к случаю, когда не всюду р(х) 0. Тогда может оказаться, что в некоторой внутренней точке отрезка И71 (у) = 0 и, следовательно, а(у) = ос. В этом случае замыкание алгоритма вычислений следует при- знать нерегулярным; однако и здесь не следует спешить окончательно отказываться от применения метода прогонки. Если оказалось, что во всех узлах сетки Wl(nh)h.~2 1, то, согласно (16) (18), имеем тах|аи| = O(h~2). (20) п Такого рода нерегулярность алгоритма также не всегда следует считать катастрофической. Функция W1 (х) — гладкая с производной, отличной от нуля в точках у, где И71(у) = 0. Поэтому часто значение шшИ71(т?/г) п>0 будет оказываться величиной порядка h и соотношение (20) будет вы- полняться. Таким образом, следует ожидать, что и в случае р(х) 0 вычисления по методу прогонки в большинстве случаев будут устойчи- выми к различного рода возмущениям. Оказалось, что замыкание алгоритма прогонки, по существу, регуляр- но, если IV1 (т) 0 при х G (0, X]. Условие И71(то) 0 равносильно условию, что краевая задача у(0) = о, у(т0) = Ь, у"-р(х)у = f(x) (21) разрешима на [0, а?о] при любых о, Ъ и f(x). Таким образом, условие регулярности замыкания алгоритма прогонки можно сформулировать в следующем виде. Замыкание метода прогонки регулярно, если для любого отрезка [0, т.д] при 0 < а,‘о X краевая задача (21) разрешима. Получим этот вывод еще одним путем. Обратимся к формулам обрат- ного хода прогонки. Коэффициенты Cj и при j < п зависят только от а и значений р:1 и fj при j < п, т. е. в точках jh G [0, nh]. Следо- вательно, после отыскания значения уп вычисления происходят так же, как в случае краевой задачи для уравнения у" — р(х)у = f(x) на отрезке [0, n/i] при заданных у(0) = а и y(nh) = уп. Если эта краевая задача неразрешима при любых правых частях f(x), то возникают сомнения в хороших свойствах соответствующей сеточной задачи. Поэтому в случае, когда при каком-то х0 G (0, X] краевая задача (21) разрешима не при любых правых частях, необходим более детальный анализ метода. Отметим, что регулярность замыкания еще не обеспечивает мало- сти суммарной вычислительной погрешности в силу следующих обсто- ятельств. Суммарная погрешность определяется погрешностями в ходе вычислений и множителями пропорциональности, с которыми эти по- грешности входят в сумарную погрешность. Регулярность замыкания, как правило, обеспечивает лишь малость погрешностей округления в ходе
444 Глава 9. Численные методы решения краевых задач вычислений. Чтобы множители пропорциональности не были большими, нужна слабая чувствительность решения уравнений замыкания к возму- щениям коэффициентов. Однако и этого, вообще говоря, недостаточно. На примере уравнения у' = Му при М < 0 мы видели, что зачастую решение дифференциальной задачи слабо чувствительно к таким возму- щениям, в то время как решение сеточной задачи сильно чувствительно. § 5. Обсуждение постановок краевых задач для линейных систем первого порядка Рассмотрим краевую задачу у' - А(т)у = f(т), Ву(0) = b. Dy(X) = d: (1) здесь у, f, b, d — векторы размерностей соответственно Z, I, I — г, г, а А, В, D — матрицы размерностей Ixl, (l-r)xl, rxl. Всюду в дальнейшем предполагается, что ранг матрицы В равен I — г, а ранг матрицы D равен г. Прежде чем отыскивать практически пригодные методы решения за- дачи (1), обсудим вопрос о чувствительности решений краевых задач к разного рода возмущениям. В качестве модели возьмем краевую задачу у' — Ау = 0, А = const, Ву(0) = b, ZZy(A') = d. (2) Рассмотрим случай, когда все собственные значения матрицы А раз- личны; в общем случае ход рассуждений изменяется несущественно. Пусть Aj = o.j + i/Zj — собственные значения матрицы А, упорядоченные в порядке возрастания aj, а еj — соответствующие собственные векторы, причем ||ej|| — 1. Общее решение системы у' — Ау = 0 запишется в виде I у(т) = У^с7е7ехр{А;а;}. (3) 3=1 Собственные значения Ау разделим на три группы, присваивая собствен- ным значениям каждой группы соответствующий верхний индекс. Соб- ственные значения Ау, для которых величина ехр{|ау|Х} очень большая, обозначаем как Aj~, если aj > 0, и как Ау, если aj < 0. Остальные соб- ственные значения, т.е. те, для которых величина ехр{|ау|Х} не очень велика, обозначаем как Ау. Соответственно снабдим верхними индексами собственные векторы еу; суммирование по индексам j, соответствующим + о этим группам, будем обозначать Е-Е-Е . Пусть 1+, 1°, /“—число собственных значений в соответствующих группах. Форма записи реше- ния (3) ставит в неодинаковое положение концы отрезка интегрирования: все функции ехр{Аут} в точке х = 0 имеют порядок 1, в то время как
§ 5. Обсуждение постановок краевых задач 445 в точке х = X одни из них очень большие, другие очень малые. Удобнее другая форма записи общего решения: у(-т) = 52 s е7ехр + 52 c°je°jсхр + 52 etехр _ ХИ- Выпишем систему уравнений Ву(0) = b. Dy(X) = d, из которой следу- ет определить постоянные с7, соответствующие отыскиваемому решению: £у(о) = 52 с7 Bej + 52 cJBeJ+52 Ве7ехр = ь, Пу(Х) = £ cTJDeJ ехр {AJX] + £°с«Ре9 ехр {АХ)Х} + = d' (4) Систему уравнений (4) можно записать в форме Gc = g; здесь с = (q,..., с+)т. g = (bi,..., bi_r, di,..., dr}T, матрица G имеет клеточный вид: / G° G+ \ l-r \ G2 G°2 G^ J r Г 1° l+ в котором клетки записываются следующим образом: Gf = [(Берд], G? = [(Be°U Г<3^1~ + 1\ Gt = [(Ве+)дехр{-А+Х}], Г + 1° < j I, 1 q I - r, G2~H(De;)Qexp{A;X}], ls^r, G£ = [(£e°)?exP{^X}], 1~<3^Г + 1+, 1 g r, G+ = [(Det)q], r+l^j^l, l^q^r. Предположим, что Д = det G 0, и представим решение системы (4) в виде с = G~xg. Согласно известным формулам элементы обратной ма- трицы имеют вид G- = , (5)
446 Глава 9. Численные методы решения краевых задач где Gij миноры матрицы G. При сформулированных ранее предполо- жениях величины ехр{—А-Х}^ exp{Aj"X} ничтожно малы, поэтому ни- чтожно малы элементы матриц G\ и G? и определитель Д = det Gi Gt А сг ^2 близок к определителю До = det G°, G° = Gi 0 \ G2 G+2 J' Рассмотрим отдельно случаи: а) определитель До не мал; б) определитель До мал, в частности равен нулю. Поскольку среди элементов матрицы G нет больших, то, вследствие формулы (5), в случае а) элементы матрицы G 1 обычно не очень боль- шие. Предположим, что правые части граничных условий b и d содержат некоторые погрешности АЬ и Ad. Пусть Ag = (Ab, Ad)7, тогда погреш- ность вектора с равна G-1Ag. Если элементы матрицы G-1 не очень велики, то влияние погрешности Ag на коэффициенты Cj будет не очень большим. Решение задачи является линейной комбинацией с коэффици- ентами Cj слагаемых е- ехр{А;/ х}, е° ехр{А°т}, е+ exp{At (х - X)}. Поэтому погрешность приближенного решения, являющаяся следствием погрешностей АЬ и Ad, также будет приемлемой. Заметим, что наши высказывания носят довольно неопределенный характер: «малый», «очень малый», «небольшой», «очень большой»; при анализе кон- кретной задачи исследователь должен сам решать, насколько приемлем для него тот или иной порядок рассматриваемых величин. В частности, если ре- шается система «большого» порядка, то при «умеренных» значениях коэффи- циентов системы и «не очень малом» определителе До возможно, что миноры, состоящие из сумм произведений большого числа элементов, окажутся «недо- пустимо большими». Если определитель До очень мал или равен нулю, то, вследствие ра- венства detGdetrr1 = 1, среди элементов матрицы G-1 встретятся большие. Тогда малые возму- щения правых частей граничных условий могут приводить к большим возмущениям коэффициентов Cj, а следовательно, и решения задачи.
§ 5. Обсуждение постановок краевых задач 447 Зная элементы матрицы G~l и собственные значения матрицы А, из полученных выше соотношений можно получить довольно точную инфор- мацию о возмущении решения дифференциальной задачи. Однако полу- чение этой информации само по себе требует большого объема вычи- слений; перенос этих построений на случай переменной матрицы Л(ж) потребует еще большего объема вычислений. Попытаемся поэтому полу- чить критерии устойчивости решения к возмущениям <УЬ и <5с1 качествен- ного характера, требующие меньшей информации о задаче, хотя, может быть, и несколько менее надежные. Таким критерием могут служить со- отношения между числами Г1°, /+, I — т и г. Среди элементов первых I — г строк матрицы С ° ненулевые элементы могут находиться в пер- вых 1~ + 1° столбцах, соответствующих матрицам G^, G®. Если 1+ > г, то Г~ +1° <1 — г, и тогда все миноры порядка (I — г) X (Z — г), лежащие в первых I — г строках, обращаются в нуль. Раскрывая определитель Ад по первым I — г строкам, получаем Ад — 0. Точно так же, если l~ > I — г, то все миноры порядка г х г, лежащие в последних г строках, обращаются в нуль, поэтому Aq = 0. Если l+ г, a l~ sj I — г, то определитель Aq окажется линейной комбинацией произведений элементов матриц В и D и координат собственных векторов е7, причем коэффициентами при этих произведениях будут произведения чисел ехр{АуА}, не очень больших и не очень маленьких по модулю. Можно принять гипотезу, что этот определитель оказывается малым числом довольно редко. Тогда решение задачи (2) будет мало чувствительно к возмущениям АЬ и <5d правых частей граничных условий. Мы можем сформулировать полученные выводы в качестве следующе- го предложения. Если 1+ > г или 1~ > 1—г, то решение дифференциальной задачи сильно чувствительно к возмущениям правых частей граничных условий: если 1+ г, а 1~ 1 — г, то, как правило, решение задачи (2) будет мало чувствительно к изменениям правых частей граничных условий. Первую часть этого утверждения можно переформулировать еще в такой форме: для малой чувствительности задачи к возмущениям гра- ничных условий необходимо, чтобы число независимых частных решений е7ехр{А.д}, сильно растущих на [0, А] с ростом х, не превосходило числа граничных условий на, правом конце, а число частных решений егехр{Ад}, сильно убывающих на [0, А] с ростом х, не превосходило числа граничных условий на левом конце. Эта формулировка при определенных уточнениях может быть перене- сена и на случай задачи (1) с переменной матрицей А(х). Строгая пе- реформулировка этого утверждения будет довольно громоздкой; однако если элементы матрицы А (ж) относительно плавно меняются на [0, А], то при первоначальном исследовании устойчивости задачи к возмущени- ям граничных условий зачастую можно ограничиться подсчетом числа собственных значений матрицы А(ж) с большим положительным и боль- шим отрицательным значениями величины AReAj(a;).
448 Глава 9. Численные методы решения краевых задач Краевую задачу называют хорошо обусловленной (хорошо поставленной) если малые возмущения коэффициентов и правых частей уравнения и граничных условий приводят к столь же малым по порядку изменениям решения задачи. Более аккуратное определение хорошей обусловленности можно дать следующим образом. Наряду’ с краевой задачей (1) рассмо- трим краевые задачи у' - (А(;г) + <Б1(т))у = f(;r) + <5f(.r), (B + 6B)y(Q) = b + <5b, (D + 5D)y(X) = d + d'd с не очень большой мерой возмущения е = ошахх(||М(т)|| + ||<5f(.r)||) + ||(5В|| + ||Ф0|| + ||<5Ь|| + ||<5d||. Если для всех решений таких краевых задач выполняются неравенства max ||у(т) -у(.т)|| <^Ме (6) с не очень большим значением постоянной М, то исходную задачу назы- вают хорошо обусловленной, в противном случае задачу называют плохо обусловленной. Минимальное значение M(eq), при котором неравенство (6) выполняется при всех £ eq (eq > 0 фиксировано), иногда называ- ют мерой обусловленности данной задачи (относительно возмущений с нормой, не большей eq)- Обусловленность задачи характеризует устойчи- вость решения к возмущениям исходных данных, например к неточности задания коэффициентов уравнения. Поскольку погрешности от округле- ния при вычислениях эквивалентны возмущениям коэффициентов исход- ного уравнения, то мера обусловленности характеризует и устойчивость численного решения к возможным округлениям при численном решении. Если известна ориентировочная оценка е возмущения коэффициентов за- дачи и погрешность порядка М(е)е допустима, то имеет смысл непо- средственное численное решение задачи. Рассмотрим в качестве примера задачу Коши для системы у\ = у2, у2 = ?Л при ?У1(0) = 1, т/2 (0) = 1 на отрезке [0, 30]. Собственные значения матрицы равны ±1. Величина ехр(—30) очень малая, а ехр(ЗО)—очень большая, 1~ = 1, 1° = 0, 1+ — 1, г = 0 и l+ = 1 > г = 0. Поэтому малые возмущения гра- ничного условия должны приводить к очень большим изменениям решения. В данном случае проводившиеся нами в этом параграфе построения не име- ют особого смысла, поскольку и без них ясно, что, вследствие сильного роста решений исходного линейного уравнения, погрешность решения растет очень быстро. Пусть для той же системы рассматривается задача с краевыми условиями bi '(/1(0) + Ь2у2(О) = Ь, Ф щ(30) + d2y2(30) = d; собственные векторы, соответ- ствующие собственным значениям А] = — 1 и = 1> равны соответственно
(j 6. Алгоритмы решения краевых задач 449 (1, —1)т и (1, 1)т, 1+ — г, l~ — I — г. Вообще говоря, следует ожидать, что задача будет устойчива к возмущениям ёЬ и 3d. Решение отыскивается в виде cf । ехр{-т} + ft J ехр{т - 30}. Уравнения (4) имеют вид (bj - b?)c\ + (bj + b2)c? ехр{-30} = Ь, {d-2 - d2)c\ ехр{-30} + (di + d2)cj = d. Отсюда _ b(dj + d2) — d(bi + b2) exp{—30} О = ' Д - + d(bj — b2) — b(di — d2) exp{—30} = д ’ где A = (bi - b2)(d1 + d2) - (di - d2)(bi + b2) exp{-60} близко к До = (bi — b2)(di + d2). Если коэффициенты b, и di небольшие, а До не мало, то коэффициенты и с2 мало изменяются при малых изменениях ёЪ и <5d. Если Д = 0, то система (7) имеет ненулевое решение <ф, <ф при b = d = 0. В этом случае говорят, что «задача лежит на спектре», т. е. имеется в виду, что однородная задача имеет ненулевое решение и бессмысленно говорить об устойчивости решения к возмущениям граничных условий. При До = 0 задача плохо обусловлена, поскольку Д » До- Задача 1. Доказать, что решение хорошо обусловленной краевой задачи единственно. § 6. Алгоритмы решения краевых задач для систем уравнений первого порядка В дальнейшем, в § 6-8, предполагается, что рассматриваемая краевая задача хорошо обусловлена. Простейшим по форме методом решения краевой задачи (5.1) являет- ся метод стрельбы. Рассмотрим систему уравнений Ву(0) = b. (1) Поскольку по предположению ранг матрицы В равен I — г, то общее решение системы (1) записывается в виде Уо + ^2с,у7; з=1 здесь у0 — произвольное решение неоднородной системы By = b, а У1,...,уг — произвольная система г линейно независимых решений си- стемы By — О. Пусть yi,...,yr, уо—какой-то набор таких векторов.
450 Глава 9. Численные методы решения краевых задач Численным интегрированием найдем частное решение неоднородной си- стемы Уо = А(а;)уо+f(a;) (2) при начальном условии уо(0) =уо и решения однородной системы у'=Л(ж)уд, j = l,...,r, (3) при начальных условиях У7(0) = уг Пусть у(х) удовлетворяет (2) и ле- вому граничному условию (1). Вектор у(0) является решением (1), и поэтому его можно записать в виде У(О) = Уо + cjyj; 3=1 вектор-функция z(^) = у0(ж) + сзУз(х) з=1 удовлетворяет уравнению (2) и совпадает с у(х) при х = 0. Следова- тельно, Г у(ж) = уо(ж) + сзУз(х)- (4) 3 = 1 Всякая функция вида (4) удовлетворяет соотношениям (1) и (2). Таким образом, многообразие всех решений (2), удовлетворяющих левому гра- ничному условию (1), задается равенством (4). Чтобы найти искомое ре- шение, надо выделить из этого многообразия решение, удовлетворяющее правому граничному условию. Определим коэффициенты Cj из системы г уравнений с г неизвестными р[уо(Х)+^с?у?(Х)) = d. (5) \ j=i / В предположении однозначной разрешимости задачи (5.1) определитель этой системы отличен от нуля. Действительно, предположив противное, мы получили бы, что однородная краевая задача (f = О, b = 0, d — 0) имеет ненулевое решение У(ж) = ^СдуДт). 3=1 Если ci,...,cr — решение системы (5), то вектор-функция У(ж) = Уо(ж) + ^^-уДж) з=1 удовлетворяет уравнению и всем граничным условиям и, следовательно, является решением искомой задачи.
451 § 6. Алгоритмы решений краевых задач При необходимости экономить память ЭВМ следует найти у(0) = Уо(О) + У>у,(°) 7=1 или г У(^) = Уо(Х) + wW j=i и затем решить численно задачу Коши вперед или назад. Если среди решений однородной системы у' = А(х)у есть быстро ра- стущие с ростом X, то столь же быстро может возрастать вычислитель- ная погрешность в решениях уо(т),..., уг(х)- В этом случае алгоритм метода стрельбы окажется непригодным для практического использова- ния. По-другому практическую непригодность метода стрельбы в этом случае можно объяснить следующим образом. Пусть метод стрельбы при- меняется при А = const. Обозначим через е;/ и Xj собственные векто- ры и соответствующие собственные значения матрицы А, причем пусть ReAi ReA/_j < Re Ар Предположим, что I Уз = °зкек’ k=i тогда I Уз(х) = Z2 а^кек ехр (6) к=1 Если ajk 7^0 и exp{ReA/X} 2> ехр {Re A/_iX}, то у7(Х) ~ а^егехр {АгХ}. Таким образом, все столбцы матрицы системы (5) оказываются прибли- зительно пропорциональными вектору Dei, поэтому решение этой систе- мы ci,..., с, будет найдено с большой вычислительной погрешностью. Рассматриваемую задачу можно трактовать как задачу выделения из многообразия Г уо(ж)(7) 7=1 вектора, удовлетворяющего правому граничному условию Ру(Х) = d. При каждом фиксированном х множество концов векторов вида (4) образует r-мерную плоскость в /-мерном пространстве; плоскость зада- ется концом вектора уо(т), лежащим в этой плоскости, и векторами У1 (хУт (ж), лежащими в ней. Если бы эти векторы задавались точ- но, то было бы несущественно, какими векторами задавать плоскость.
452 Глава 9. Численные методы решения краевых задач Однако вследствие погрешностей в значениях этих векторов эта плос- кость будет несколько смещена и повернута. Предположим, что исход- ная краевая задача хорошо поставлена и соответственно норма вектора у(.'с) в каждой точке х С [О, А'] невелика. В рассматриваемом случае при больших значениях Re А/X вектор у о (.'/) имеет большую норму, а век- торы У/(х) примерно пропорциональны. Небольшие возмущения Уо(ж) и векторов y-j(x) приведут к существенному изменению положения плоско- сти в области относительно небольших значений [|у||, т. е. там, где на- ходятся значения точного решения. Поэтому при таком способе задания многообразия (4) существенно теряется информация о решении. Чтобы положение плоскости в области небольших значений норм век- торов ||у||, где находится решение, было устойчиво к погрешностям та- кого способа ее задания, представляется целесообразным задавать плос- кость точкой, являющейся проекцией на нее начала координат, или точ- кой, близкой к ней, и некоторым множеством векторов, лежащих в этой плоскости и образующих ортогональный репер или близкий к таковому. Существо наиболее распространенных методов прогонки решения задачи (5.1) состоит в непрерывном или дискретном (в отдельных точках отрез- ка) переходе к заданию многообразия (4) при помощи точки проекции начала координат на эту плоскость и ортогонального репера, лежащего в этой плоскости. В одном из вариантов метода прогонки (метод Годунова) поступают следующим образом. Отрезок интегрирования разбивается па части точ- ками 0 = а?о < яд < • • < хт = X. Пусть на отрезке [a:s, a?s+i] решение задачи отыскивалось в виде линейной комбинации у(^) = бо(ж) + JL здесь gp(а:)—решение неоднородной системы (2); g)(.'r), j = решения однородной системы (3). Путем последовательной ортогонали- зации и нормировки векторов gj(xs+i), j = 1,..., г, получают систему ортонормированиях векторов g®+1(a:s+]), j = 1,..., г. Полагают ёо+1(;С+1) = gS(^s+i) - (бо(ж«+1), gj+1(^s+l))g®+1(a:s+i), j=i т. е. вычитают из вектора gp(a;s+i) его проекцию на плоскость, натянутую на векторы gj+1(n;s+i), j = 1,..., г. Далее опять на отрезке [ж5+1, xs+2] ищут go+1(s) и gS-+1(a;), j = 1,.. , г, как решения систем (2) и (3) соот- ветственно. После получения такого представления решения в точке А находят решение задачи на отрезке [xm_i, хт], воспользовавшись гранич-
§ 6. Алгоритмы решения краевых задач 453 ным условием в точке X = х„,. Далее, пользуясь формулами перехода между совокупностями векторов (g6G^+l), • • , grfa-’+l)) И (go+1(Zs+l), • , g*+1 (^S+I)) , последовательно находят решение на отрезках [ж,„_2, жт-1],..., [ж0, .Т1]. Точки выбираются из условия, чтобы система векто- ров gf (ж4+ 1), .... g*(a;s+l) была близка ортонормированной, а вектор go(xS4-i) не образовывал слишком малый угол с подпространством, на- тянутым на этот базис. Поскольку векторы gf(.Ts),..., g®(rr.,) образу- ют ортонормированную систему, а вектор go(a:4) ортогонален к ним. сформулированные условия выполнены при достаточно малой величине max (.ts+i — xs). s Заметим, что в отличие от подробно рассмотренного в § 3.4 мето- да прогонки для дифференциального уравнения второго порядка методы прогонки, основанные на идее ортогонализации, при достаточно малой величине max (rcs+i — ж,) оказываются слабо чувствительными к влиянию S вычислительной погрешности для любых хорошо определенных краевых задач. Непрерывный аналог описанного выше метода ортогональной прогон- ки Годунова заключается в следующем: находится матрица Z(0) размер- ности I х (I — г), столбцы которой образуют ортонормированную систему решений системы уравнений Bz = 0, и вектор и(0) ортогональный к этим векторам, удовлетворяющий системе уравнений Z?u(0) = Ь. При начальных условиях Z(0),u(0) решается задача Коши для систе- мы уравнений Z' = AZ - Z{ZTZriR, и' = (Е - Z(ZTZ)~] Z7) (Au + f - Z(ZTZ)~1ZTATuj; верхняя треугольная матрица R определяется равенством R + RT = ZT (А + Ar)Z. Совокупность этих вычислений называют прямым ходом метода про- гонки. В этом методе вектор и(ж) при каждом х минимизирует ||у(ж)|| среди значений этой нормы у решений системы у' = Ay + f, удовлетворяющих левому граничному условию. Так называемый обратный ход метода прогонки заключается в сле- дующем. Определяется вектор v(l) размерности 1 — г — решение системы уравнений Z)(z(l)v(l) + U (1)) = d и при заданном v(l) решается в направлении убывания х задача Коши для системы уравнений v' = Rv + ZT\A + Лт)и + ZTf.
454 Глава 9. Численные методы решения краевых задач Само решение задачи у (ж) вычисляется по формуле у (ж) = и(ж) + £(ж)у(ж). (8) Возможен и такой вариант действий. Аналогично найденным в про- цессе прямого хода метода прогонки функциям Z(x) и и (ж), которые мы обозначим как £Лев(ж) и илев(ж), находятся функции ЯПр(ж) и иПр(ж), соответствующие граничным условиям на правом конце отрезка интегри- рования. Значения решения в каждой точке ж находятся из системы уравнений относительно неизвестных значений у(ж), Улев(ж) и vnp(rr): у(ж) = илев(ж) + Дпев^Упев^'); У(ж) = ипр(ж) + Япр(ж)мпр(ж). (9) Здесь млев(ж) и vnp (ж) — векторы-столбцы размерности I — г и г соот- ветственно. Часто удобнее применить следующий метод ортогональной прогонки Абрамова. Краевые условия преобразуются к виду By(0) = b, £>y(l)=d, такому, чтобы строки матриц В и D образовывали ортонормированные системы векторов, т. е. выполнялись равенства В В1 = Е, DDT = Е\ здесь Е — единичные матрицы размерностей г х г и (I — г) х (/ — г) со- ответственно. На отрезке [0,1] решаются задачи Коши для системы уравнений Z' + ZA(E - ZT(ZZT)~lZ) = 0, u' - ZAZT(ZZT}u -Zf = 0 при начальных условиях Z(0) = В, u(0) = b в направлении возрастания ж и при начальных условиях Z(l) = D, u(l) = d в направлении убывания ж. Полученные решения обозначаются, соответственно, ^лев(я), илев(ж) и 2пр(ж), ипр(ж). Решение задачи в каждой точке находится из системы уравнений ^лев(я) у(ж) = илев(®), ^пр(ж) у(ж) = и11р(ж). (П) В этом методе строки матрицы Z образуют наиболее медленно изменя- ющийся базис ортогонального дополнения к этому пространству. Упомянем ряд фактов, свидетельствующих об определенных «хоро- ших» свойствах указанных методов. Для этих методов выполняются, соответственно, равенства ZT{x)Z{x) — Е или £(ж)2т(ж) = Е, где Е —единичная матрица. (12) Для первого метода выполнены неравенства ||и(ж)|| < ||у(®)1Ь llvll ||у(ж) - и(ж)||; здесь || • || — евклидова норма вектора. Для второго метода выполнено неравенство ||и(ж)|| ||у(ж)||-
§ 7. Нелинейные краевые задачи 455 Вследствие равенств (12) возникает соблазн отказаться от обращения матриц Z(x)ZT(x) или ZT(x)Z(x). Такое упрощение часто приводит к нежелательному росту погрешности. § 7. Нелинейные краевые задачи Существует большое сходство между методами решения нелинейных кра- евых задач и нелинейных алгебраических задач. В частности, так же, как и в последнем случае, мы проведем обсуждение различных методов, не приходя в конце концов к конкретной рекомендации по решению про- извольных нелинейных краевых задач. По существу, всякий раз решение нелинейной краевой задачи сводится к решению некоторой нелинейной системы уравнений. Различные методы решения нелинейных краевых за- дач отличаются выбором параметров этих вспомогательных задач и, есте- ственно, методом решения этих задач. Рассмотрим простейший пример — нелинейную краевую задачу: найти решение уравнения х" - Ж х) = 0 при t G (О, Т), ж(0) - а = 0, ж(Т) -6 = 0. Предположим, что известно некоторое приближение к решению xn(t); в окрестности этого приближения справедливо разложение Ж ж) » f(t, xn(t)^ + (t, xn(t)j (x - ж„(1)), поэтому представляется целесообразным искать следующее приближение к решению xn+i(t) как решение краевой задачи х'п+1 ~ (Ж xn(ty) + |^(t, ж„(*))(жп+1(0 - жп(*))) = 0, хп+1 (0) - а = 0, xn+i (Т) - b = 0. Рассмотрим сеточную аппроксимацию задачи (1): xk+i - 2хк + хк=1 _ = 0, к = N_^ xq — а = 0, Xff — b = 0; (2) (3) здесь h = T/N, xk — приближения к значениям x(kli). Пусть ж£, к = 0,..., N, — совокупность величин, образующих п-е приближение к реше- нию системы (3). В окрестности этого приближения справедливо соот- ношение f(tk, хк) « f(tk, х^) + fx(tk, хпк)(хк - ж£).
456 Глава 9. Численные методы решения краевых задач Поэтому следующее приближение отыскиваем из системы уравнений „п + 1 П„.п + 1 I „.п+1 Ck+1 ZXk + Xk~l _ h2 - xft + Utk, - <•)) = 0, к = 1...., N - 1, (4) Жо+1 - a = 0, a:"+1 -6 = 0. являющейся дискретной аппроксимацией (2). В § 3 мы изучали приме- нение методов стрельбы и прогонки для решения таких линейных урав- нений. Эта же совокупность уравнений (2) относительно следующего приближения к решению получится при формальном применении схемы метода Ньютона. Рас- сматриваем (1) как операторное уравнение F(.v:) = 0; оператором производной F' будет оператор Р, определяемый равенствами 1]" - fx (i, a-(i))?7 при t е (0, Т), при t = 0, при t = Т. Уравнение метода Ньютона относительно т„+|(/) записывается в виде я"(*) ~ /(*> + (a-n+i(/) - - fx(t, xn(t))(a:„+i(7) - xn(t)) - 0, x„(0) - a + (xn+1(0) - xn(0)) = 0, xn(T) - b + (x„+i(T) - xn(T)) = 0 и совпадает с (2). Задача 1. Выписать расчетные формулы метода Ньютона для системы (3) и убедиться, что они совпадают с (4). В обоих вариантах, непрерывном и дискретном, мы построили снача- ла итерационные методы (2) и (4), линеаризуя правую часть, а потом убедились, что эти методы совпадают с итерационным методом Ньютона. Заметим, что итерационный метод (2), как правило, не может быть реализован из-за невозможности решения уравнения (2) в явном виде, и на практике имеют дело именно с методом (4). Метод (4) может представлять практические неудобства из-за необхо- димости хранить в памяти ЭВМ все значения х^, к = 0,..., N. Поэтому часто прибегают к следующему методу, который также будет изложен в непрерывном и дискретном вариантах. Исходная задача будет решена, если будет найдено значение х'о про- изводной решения в точке 0. Решая задачу Коши для уравнения х '= f(t, х) при начальных условиях ж(0) = a, я/(0) = Sq, получим решение на всем отрезке. Если решить задачу Коши при начальных условиях
§ 7. Нелинейные краевые задачи 457 я;(0) = а и произвольном .т'(0), то получим значение х(Т), вообще го- воря, отличное от Ь. Значение х (Т) решения задачи Коши является не- которой функцией от .7:'(0) : х(Т) — <g(.77 (())). Таким образом, исходная задача сводится к решению нелинейного уравнения Г(ж'(0)) = </?(.т'(0)) -6 = 0. (5) Нахождение значения F(a) при каждом а требует решения задачи Коши х" = ,f(F х\ ж(0) = «, а/(0) = а. (6) В связи с большой трудоемкостью нахождения значения F(a) при ка- ждом п для решения уравнения должны применяться методы, требую- щие вычисления небольшого числа значений функций ./'(о). В ряде сложных случаев задача решается в диалоговом режиме; зна- чение F(an) для каждого последующего приближения ап вычисляется ЭВМ, а выбор сеп_|_] осуществляется исследователем, решающим зада- чу. Подобного рода диалоговые системы применяются на практике много столетий. В случае конкретных работающих промышленных систем ру- ководитель часто подбирает значение изучая результат работы си- стемы при ранее взятых значениях cei,...,ce„. В случае артиллерийской стрельбы вычисление значений F(an) или signF(«,,) осуществляется при помощи посылки снаряда в цель, а выбор an+i осуществляется лицом, корректирующим стрельбу. Можно найти много аналогов таких алгорит- мов в повседневной жизни человека и животных. Рассмотрим вопрос о решении уравнения (5) методом Ньютона. Со- гласно формуле дифференцирования решения уравнения второго поряд- ка, справедливо равенство 0F(x'(0)) = дх(Т) = дх'(о) дх'(о) l{ h 7/(f) — решение задачи Коши г]" ~ /x(i, = 0, 7/(0) = 0, 7/'(0) = 1. Численно или аналитически решая эту задачу, находим значение Поскольку задачу Коши (6), как правило, требуется решать численно, исследуем сразу дискретный вариант этого метода. Рассмотрим сеточную аппроксимацию (3); зададимся произвольным х^ и, пользуясь рекуррент- ной формулой, вытекающей из (3), хк+1 = 2хк - хк_\ + h2f(tk, хк), к = 1,..., N - 1, (8) при начальных условиях хо ~ а, Ху, находим сеточную функцию, удовле- творяющую сеточному уравнению и левому граничному условию. Зна- чение ждг является некоторой функцией от Xi, вычисление
458 Глава 9. Численные методы решения краевых задач каждого значения которой производится с помощью рекуррентного про- цесса (8). Таким образом, решение задачи (3) сводится к решению ска- лярного уравнения F(xi) = </э(ж1) — 6 = 0. Предположим, что для решения этого уравнения используется метод Ньютона. Продифференцировав (8) по хк, получим „ , о df(tk, xi ) ?)k+i == 2r]k ~ T)k-i + h2 —-г)к, к = 1, 1; (9) здесь т]к = дхк/дх\. Кроме того, имеем дхо да дху ’'" = &7 = лГ = 0! ,,l==a^ = v Таким образом, при заданном х\, производя параллельно вычисления хк по формуле (8) и т)к по формуле (9), можно найти ждг(ж1) и дх^/дх\ = и осуществить следующий шаг метода Ньютона: Если соотношение (9) переписать в виде %+1 - 2% + T]k-1 df(tk, хк) -------К‘------------= то оно превращается в разностную схему, аппроксимирующую уравне- ние (7). В случае, когда (1) — скалярное уравнение, вместо (10) часто целесо- образно вычислить дх^/дх™ по приближенной формуле dxN ~ xN{x\) - ждг(жТ ~ . ~ Дп в частности, можно брать Л„ = я" — ж"-1. Заметим, что в случае использования формулы (10) и вычисления производной с помощью (11), нужно обращать внимание на разумный выбор величины Д„ (см. § 2.16), поскольку величина погрешности зна- чения ждг(ж1), получаемого путем численного интегрирования, часто ока- зывается довольно большой. Рассмотрим нелинейную краевую задачу y' = f(x,y), B(y(0)) = 0, D(y(X))=0, У = (уь- • •, yi)T, В = (bi,..., &г_г)т, D = (ф,..., dr)T. Пусть функции <7i(y(0)),..., <7?-(у(0)) таковы, что система уравнений Ь1(у(0)) = 0,...,6г_г(у(0))=0, 51 (У(0)) =gi,..., 5г(У(0)) = 9т
§ 7. Нелинейные краевые задачи 459 однозначно определяет вектор у(0) = a>o(g), g = (yi, • • •, у, )- Тогда задача (12) может быть сведена к системе нелинейных уравнений относительно параметров gi,..., д7. Довольно часто граничное условие в точке 0 имеет вид уДО) = 0,..., ущДО) = 0; тогда в качестве 91 (у(0)),..., 9г(у(0)) целесообразно взять у/_г+ДО),..., yi(0). Таким образом, здесь в качестве искомых параметров выступают неизвестные компоненты решения в точке х = 0. Решая систему (13) при каждых 91, •••,9г, можно определить вектор у(0) = wo(g); решая задачу Коши при начальном условии у(0), опреде- ляем у(Х) = wx(g) и затем находим 0(g) = D(wx(g))- Таким образом, решение задачи (12) сводится к решению нелинейной системы уравнений 0(g) = 0. (14) Значительную группу методов решения нелинейных систем составляют методы типа метода Ньютона, где наряду со значениями функций 0j ис- пользуются значения их производных д'фг/дд^:- Наиболее распространены следующие два способа нахождения этих производных. 1. Для определенности речь пойдет о вычислении производных д'фг/дд\. Пусть мы задались значениями у°,..., у°. Из системы уравне- ний (13) найдем соответствующие уДО),..., уДО). Дифференцируя урав- нения системы (13) по 91, получаем систему уравнений для отыскания производных dyj(fS)/dgF. dbk dyj(O) = Q dgi d9m dVj(0) = x а-удо) dgi у' = f(s, у) при начальных условиях Ух (0),..., уДО) Решение системы является функцией от параметров дт; вектор производных ду(ж) _ (dyi(x) dyi(x) dgi dgi ’ ” ’ ’ 9gi удовлетворяет системе дифференциальных уравнений _F(x F (15)
460 Глава 9. Численные методы решения краевых задач После численного решения этой системы получаем вектор dy(X)/i)q\. Те- перь можно найти производные д'Фг чД ddi ду^Х) ( ду(Х)\ (16> Этот путь может быть целесообразен, если, например, многократно ре- шается задача (12) при одной и той же правой части /(.т, у), но при различных граничных условиях. В качестве стандартного метода определения производных д-ф^/дд этот метод неудобен тем, что наряду с написанием программы вычи- сления правых частей уравнения он требует от пользователя также на- писания программы вычисления производных dfe/dy-j. 2. Для большинства итерационных методов решения систем уравне- ний требуется вычислять значения производных правых частей лишь с умеренной точностью. Поэтому для нахождения этих производных мож- но просто воспользоваться какими-либо формулами численного диффе- ренцирования, например, простейшей: d'ipj(gi, - , gr) ~ V>»(gi + А,..., gr) — ^(gb..., g,-) 9gi ~ A Вычисление производных д'фг/dgi по этой формуле требует дополни- тельно (по сравнению с нахождением значений '0«(gi,. •, дг)) еще од- ного численного решения задачи Коши, соответствующей параметрам gi + А, д2,..., gr. Поскольку при численном нахождении значений функ- ций ф, может иметь место большая погрешность, которая еще более возрастает при делении на А, здесь следует обратить внимание на ра- зумный выбор А. Для описываемого метода типично одновременное на- хождение производных всех функций ipi по фиксированной переменной gj- поэтому здесь может оказаться разумным применение итерационных процессов с поочередным уточнением параметров д3. Можно представить себе такой итерационный процесс: параметры д? уточняются в цикличе- ском порядке; уточненное значение параметра cjj выбирается из условия минимума некоторой функции \ ugj . , х , О'Фгд1,---, дФ) z- „ Л • • •, ФАдь • • •, gj +----------\9j ~ 9j) J (см. подробнее § 7.3). Так же как при решении линейных краевых задач, возникает вопрос о применимости метода в условиях реальных округлений. Если решения у системы уравнений в вариациях д' = Дд сильно растут с ростом ж,
§ 8. Аппроксимации специального типа 461 то погрешности в значениях gj и вычислительные погрешности при чи- сленном интегрировании приводят к большим погрешностям в значениях функции это в конечном счете приведет к большой погрешности по- лучаемого решения. Если такая погрешность окажется недопустимой, то следует ввести иную параметризацию задачи. В настоящее время в вычислительной практике получили распространение ме- тоды, занимающие промежуточное положение между методами, соответству- ющими формулам (3), где в качестве неизвестных параметров выступают зна- чения решения во всех узлах сетки, и описанным выше методом, где в ка- честве неизвестных параметров выступают значения решения в одной точке. Задаются точками 0 = хо < ад < < хт = X такими, что на отрезках [xj-i, x.j], i — 1,..., m, решения системы уравнений в вариациях пе очень силь- но возрастают как при продвижении в направлении положительных .г, так и при продвижении в направлении отрицательных х. В качестве отыскиваемых параметров принимаются неизвестные компоненты решения в точках то и хт и значения решений в точках ад,..., xIH^L (более подробно см. [1]). При практическом решении конкретных нелинейных задач для обыкновенных дифференциальных уравнений, как и в случае других нелинейных задач, обыч- но приходится заниматься «доводкой» метода: предлагается какой-то специ- альный метод получения начального приближения, который затем модернизи- руется с целью расширения области начальных условий, при которых он схо- дится для данного конкретного класса задач. В ряде случаев метод решения строится путем имитации на ЭВМ методов, встречающихся в живой приро- де, или применяемых практиками для решения задач данного класса. Если рассматриваемая краевая задача является задачей на экстремум некоторого функционала, то исходный функционал приближается функционалом, зави- сящим от конечного числа параметров, и путем линеаризации последнего по- лучают достаточно хорошее приближение. Примеры подобных функционалов для случая линейных задач будут рассмотрены в § 11. § 8. Аппроксимации специального типа Рассмотрим краевую задачу (к(х)у'(х^ -р(х)у(х) = /(ж), у(0) = а, у{Х) = Ь, (1) где р(.т) 0, А: (а:) > к0 > 0, к(:г) — трижды, р(х), f(x) — дважды непрерыв- но дифференцируемые функции, за исключением конечного числа точек, где эти функции или их производные к', к", к'", р', р", f" могут иметь разрывы первого рода. Пусть К, Р. F — множества точек разрыва соответственно функций А: (ж), р(х), f(x) или их производных, Q = К U Р U F. В случае уравнений с разрывными коэффициентами или решениями иногда не ясно, как понимать уравнение в точках разрыва. Для решения
462 Глава 9. Численные методы решения краевых зада» i этого вопроса следует обратиться к интегральным соотношениям, обычно называемым законами сохранения, из которых были получены рассматри- ваемые дифференциальные уравнения. Уравнение (1) с разрывным к(х} обычно возникает из интегрального соотношения £ (р(х)у(х) +/(т)} dx = й(ж)у'| , (2) которое выполнено для любых х±, х? G [О, X]. Если х? —> xq + О, Ж1 —> хо — 0, то левая часть стремится к нулю; переходя к пределу в правой части, получаем, что ia?o+0 /г(ж)у = 0 для любых xq G [О, X]. 1яо~0 Исходя из этого соотношения, решением задачи (1) будем называть функцию у(х), удовлетворяющую следующим условиям: 1) у (ж) непрерывна на [О, X]; 2) У(®) удовлетворяет уравнению всюду на [О, X], за возможным ис- ключением точек множества Q; 3) функция w(x) = к(х)у'(х), называемая потоком, непрерывна на [О, X]. Из условия 3) следует, что функция у'(х') — w(x)/k(x) непрерывна всюду, за исключением точек разрыва функции к (ж); в этих точках у^х) будет иметь разрывы первого рода. Рассмотрим сначала равномерную сетку. При п целых и полуцелых будем употреблять обозначение хп = nh\ далее X = Nh. Можно показать, что такое решение существует, а производные у'(х), у"(х), у’"(х) и у(4\х) непрерывны и равномерно ограничены на множе- стве [О, Х]\П. Если при построении разностной схемы не учитывается факт разрыв- ности у'(х), то может случиться, что решение разностной задачи не схо- дится к решению задачи (1). Например, такая ситуация возникнет, если раскрыть скобки в первом слагаемом [k(x)y'(x)'j = ку"(х) + к'(х)у'(х) и аппроксимировать его выражением кЫ + к,ы Дело в том, что хотя в области гладкости коэффициентов погрешности аппроксимации порядка O(h?), но условие 3) не учтено при построении
§ 8. Аппроксимации специального типа 463 схемы. Рассмотрим другую аппроксимацию: ) I.» »-----------7,---------» k(xn+i/2) -----к(хп_ |/2)--------- h (.РУ)\Хп ~Р(хп)Уп, (3) Можно показать, что решение соответствующей разностной задачи г ( \ Уп+1 Уп > / \ Уп Уп—1 к\хп+1/2) к{хп-1/2) --- h р(хп)уп — П = 1, . . . , N — 1, Уо = yN = b, сходится к решению дифференциальной со скоростью 0(h). В то же время оказывается, что в случае, когда один из интервалов (жп-1, хп)-, (хп, т.„+1) содержит точку разрыва функции к(х), погрешность аппрок- симации в точке хп имеет порядок /г-1. Проверим последнее утверждение и объясним, почему оно не противоречит факту сходимости со скоростью O(h). Погрешность аппроксимации записыва- ется в виде rn = V^Xn+1/2^ v^xn-i/2) _ р[Хп)у[Хп) _ /(ж„), (4) h где , \ U ~.У(хп+1) ~ У(хп) v(xn+L/2) = Л(жп+1/2)--------------- Положим v(xn+1/2) - к(хп+1/2)у'(хп+1) = поскольку к(х) и производная ,/ ч Гп |г/(кп+1) - у(хп) I у '(ж) равномерно ограничены на [О, А], то величина -----j-------- равно- мерно ограничена по п и h и sup |/Зп| = 0(1). n, h Если производная у"'(х) ограничена на [ж„, ж„+х], то Ш ^8ир|А;(ж)| - sup \y"'\h2 = O{h2). Соотношение (4) записывается в виде = (fa/)|.„W, - (fa>')k-,,; _ рЫуЫ _ + р) Положим (ку')\Хп+1/2 - (ку')\Хп 1/2 h - (W)'l =ап;
464 Глава 9. Численные методы решения краевых задач если величина (ку')"' ограничена, то ап = О (К2). Окончательное выражение погрешности аппроксимации имеет вид г,. = а» + Д"И/2 . й-1/2 + ((*</)' - /)| и \ / 1ж„ h Рассмотрим случай, когда на (.г„, ж„+1) имеется точка разрыва коэффициента fc(x); тогда для /?п+1/2 не удается получить оценки лучшей, чем 0(1), а для гп — лучшей чем 0(1 /h). Тем не менее погрешность решения имеет порядок О(/г). Наглядно это можно объяснить следующим образом. Точек, где тп имеет порядок О(1//г), конечное число; их доля в общем числе узлов порядка 0(h), поэтому суммарный вклад от погрешности аппроксимации в таких точках бу- дет O(h) O(l/h) = 0(1). Значение входит в выражение погрешности аппроксимации следующим образом: /Лг+1/2 /Л1—1/2 тп = ап +-----, h Тп+l — ОД4-1 + /3»+з/2 ~ Рп+1/2 ~ h Поэтому /3„+1/2 дает вклад в погрешность аппроксимации в точке :гп, равный Pn+i/'i/h, а в точке ,r,l+i - равный —ftn+i/z/h. Погрешность решения записы- вается в виде (см. § 2) Уд - У(хд) =h£G"r„. Можно показать, что сеточная функция Грина G" удовлетворяет условию I G"+1 - G’11 -———— с, где постоянная с не зависит от h. Вследствие этого вклад от величины 0п+1/2 есть h(G” - G’1+1) = 0(h) |Д,+1/2| = O(h). Из последних соотношений следует, что шах \уч — у(хч)| = 0(h). Приведенные выше соображения подтверждают широко распростра- ненное эмпирическое правило: при построении разностных схем не сле- дует зря раскрывать скобок и пользоваться формулой дифференцирования произведения. Построим более точную разностную схему исходя из закона сохране- ния (2). Имеем равенство, которое следует из (2) в результате интегри- рования в пределах от тп._1/2 ДО ж.п+1/2: Гхп+1/2 г -1 ю(жп+1/2) - ад(жп_1/2) = / \р(х)у(х) + f(x)\dx. (6)
§ 8. Аппроксимации специального типа 465 Так как функция у(ж) кусочно-дифференцируема, то у(т) = у(яп) + 0(h) при х - хп = 0(h). Поэтому (6) можно переписать в виде Фп+1/2) - w(^n_1/2) = j (p(x)y(xn) + f(x) + O(/i)) dx = = h(pny(xn) + f„) + O(/i2); здесь 1 Га''1 + 1/2 _ rxn + ll-2 Pn=h p(x)dx, fn= f(x)dx. П 'Xn-l/2 2x„„1/2 После деления на h получится соотношение ^(ж,1+1/2) - w(a;^1/2) _ ---------'--------------РпУ(хТ1.) = fn + O(h). В случае, если интервал (xn-i, хп) содержит точки разрыва у'(х), 1фп-1/2) погрешность от непосредственной замены выражения --------------------на ./ \У{хп) у(.хп—1) .. 1 fe(xn_i/2)-----гз------- может оказаться величиной порядка h . ' hz Для получения лучшей аппроксимации введем в рассмотрение вспо- fx dx могательную независимую переменную t = / ..;. Из ограниченности Jo р(х) du du производной по ж и равенства — = к(х) —- следует ограниченность про- dt dx _ , . . dy dy изводной no t. Функция w = к(х)— = — имеет ограниченную производ- dx dt, ную по х, а следовательно, и по t. Таким образом, вторая производная ограничена и можно написать равенство Zz dy\ У(Ъ) ~ y(tn-i) , kOdu~.\ = “й =----------------i1----------+ ~ tn~L>’ dx dt tn tn—i ‘•ъп—1/2 ,f/n— 1/2 здесь fXn dx fXn dx *” = /„ * Поэтому , x и \dy\ у(хп) - у(хп-1) W(Xn-l/2) = к(Х)~Г\ = --7---+------ + dx\x ,,, tn-tn-l '^n—1/2 После подстановки k(x) в левую часть получим ‘ -Enil /2 Гп = ^(y(xn+i)jy(x.n) _ у(х.п)- у(х.п^)\ _ _Jn = 0(1); П \ hkn+l/-2 ^^-1/2 /
466 Глава 9. Численные методы решения краевых задач где J + 1/2 ~ (7) Соответствующая конечно-разностная схема (предложенная Самарским и Тихоновым) имеет вид r . . 1 Ъ\Уп) —• Уп+1 Уп h}in+l/2 Уп Уп—1 j hkT1, I п—1/2 / -РпУп ~ fn- (8) Максимум погрешности аппроксимации у полученной схемы есть 0(1), поэтому для получения оценки погрешности привлекается ряд дополни- тельных соображений. Если отрезок [xn_i, x'„+i] не содержит точек О, то непосредственной проверкой с помощью разложения в ряд Тейлора устанавливается, что погрешность ап- проксимации гп есть О (/г2). В противном случае погрешность аппроксимации представляется в виде _ г л аа г _ 1 I УСсп+1) ~у(хп) у(хп) - ij(xn-i)\ 1П-^1АУ(Хп)) -U-,1 ,7-1 ,7-1 I \ ПКп+1/2 ,1Кп-1/2 / (9) - v v(x . а РпУ\*"п) J п — где w(xn+i/2) - w{xn-i/2) _ , . г — I РпУ(^п) fn-) II n _ y^n+i) - y(xn) /Д+1/2 JJ.-l Щп+1/2) ЛЛп+1/2 Если (xn, k„+i) не содержит точек Q, то разложением в ряд Тейлора устана- вливаем, что /3„+1/2 = О(/г2); если (.тп_], .т„+1) не содержит точек Q, то так же устанавливаем, что ап = О(Л2); в противоположных случаях удается получить лишь оценки Я,+1/2 = О(Л), ап = O(h). Далее, следуя намеченному выше способу оценки с помощью аппарата функ- ции Грина, можно получить оценку max \уп - у(хп)\ = O(fi2). п Ниже будет получена другая оценка погрешности. Из равенств (8) и (9) следует, что rn = L(y(xn) ~Уп) = L(Rn); (10) здесь Rn — погрешность приближенного решения. Пусть — сеточная функ- ция, удовлетворяющая, как и Rn, условию Vo = Vn = 0.
§ 8. Аппроксимации специального типа 467 Умножим (10) на 1ирп и просуммируем в пределах от 1 до N — 1: 7V-1 N-1 fп^п — h L(<Rn'jcpn. (11) П=1 71= J Воспользовавшись выражением (9) для тп, перепишем это равенство в виде Si 4- S-2 = S3 + S4, (12) где /V-1 jv-j „ _ ч Si(<pn) = Л ап<Рп, S2(<pn) = n+l/2 п 1/2 ip,,.. n=l n=t TV—I N—l _ S3(Vn) = -h^pnRnVn, Si^n) = h^ -^- -h 9n n=l n=I ________ Г ^n+l 9n+l/2 — Kn+1/2--------- Собрав в выражении S-2 подобные члены при одинаковых слагаемых получим S2(^) = -л£ Дга+1/2^^. (13) n=Q Заметим, что в правой части дописаны слагаемые Pn-l/z^n и — Д/гучь равные нулю в силу условия tpe = ippj — 0. То же самое выражение для S-> можно было бы получить, применяя разност- ную формулу Абеля суммирования по частям: w-i N ' (^пЗ-1 ^п)^п — '(^*n+l ^n)^n+l + (iN^N ОоЬ(). (14) п=0 п=1 Точно так же получим S4(^„) = pn+1/2 ^n+1.~ V?n. (15) — fl 71=0 Подставим в (12) ipn = Rn; имеем N-1 5з(Яп) = -h^2pnR^ 0, П=1 S4 (Я„ ) = -h кп+1/2 ( Дп+\~Дп) < 0- п=0 ' ' Поэтому из (12) получаем |54(4?„)| |53(/?п) + 54(Дп)| s; |Si(J?n)| + |s2(T?„)|. (16)
468 Глава 9. Численные методы решения краевых задач Из (7) следует, что kn+i/2 поэтому Д'-l , „ _ \ 2 |s4CRn)| 50(Л„) = л£ (" jf п=0 ' ' ' При /?0 = Rn = 0 выражение (.S'o(/?„))1 обозначают как ||7?.„ ||L fl. Очевидно, что оно является сеточным аналогом нормы в пространстве О С. Л. Соболева П’2 функций, удовлетворяющих условиям д((1) = = 0. с нормой / ,х z j \2 \ О2 Mi = ( / ) \./о ) Нормы /Д'-i \ 1/2 МНо,л = £ ?М|2 и Mile,. = max Ь„| \ ' / ()<п<ДГ \ п=О / являются сеточными аналогами норм пространств и С соответственно. Теорема (сеточная теорема вложения). ||фп1|о,Л (17) ММ “Ч-М1Н1.Л- (18) V2 Справедливость первого утверждения непосредственно следует из определения норм и цепочки неравенств Milo,h y/i(Ar- 1)|Ы1с,, < V^llv’nllc,.- Пусть п0 — точка, где достигается наибольшее значение |(дп|. Рассмотрим слу- чай п0 Лг/2; случай п0 > N/2 сводится к рассматриваемому введением ново- го индекса п — N — п. Имеем равенство ПО —1 По —1 = У2 (7"+i -v™)= $2 y,i+i Воспользовавшись неравенством для скалярного произведения i 9=1 £ы2Л EIM2, \ q=l получим | ^Рпо | \/по h • Теорема доказана.
§ 8. Аппроксимации специального типа 469 Из (17), (18) следует, что 1Ио./, ^1И1,Л. Воспользовавшись (13), получаем оценку (19) |52(Я»)| 71=0 Точно так же с учетом (15) имеем |Si(/?n)| ||о!п||10,Л ll-^nllo./i ^ll^nllo.A ll-^nlly/i- Таким образом, из (16) следует /г£(Д,1+1/2)2 ||Яп||1./и поэтому ||Я„И1,Д 7V-1 Л52(Д.+1/2)2- 71=0 Величина ап порядка О(/г2) за возможным исключением конечного числа п, соответствующих отрезкам t„+i], имеющим общие точки с fl; для этих точек ап = O(h). Отсюда следует оценка д = С (/г3/2). Точно так же выводится, что N-1 h £ (/Зп+1/2)2 = О(Л3/2). п=0 Таким образом, ||7?„ [| 1, /и а следовательно, согласно теореме вложения и ||Rn||с--Л есть О(/г3/2). Напомним, что на самом деле ||-Rn||cfc = О(/г2). При использовании схемы (8) вычислительный процесс не зависит от положения точек разрыва. Поэтому ее относят к классу однородных схем. Схема (8) на первый взгляд обладает следующим неудобством. Ее ко- эффициенты kq+l/2i Pqi fq записываются как некоторые интегралы. На самом деле можно показать, что если погрешность в значениях этих ко- эффициентов есть О (Л2), то погрешность приближенного решения ока- зывается также О(Л2). Поэтому если интервал (xq~i, xq+i) не содержит точек разрывов коэффициентов к(х), р(х), f (х), то без потери порядка точности можно заменить pq на p(xq), fq на f(xq) и Лд±1/2 на k(xq±1^)-
470 Глава 9. Численные методы решения краевых задач В ряде случаев построение разностных схем путем непосредственной аппроксимации производной разностным отношением приводит к недоста- точно эффективным разностным схемам. Иногда бывает удобно в окрест- ности каждого расчетного узла приблизить рассматриваемое уравнение дифференциальным уравнением, интегрируемым в явном виде, и постро- ить разностную схему, точную для его решений. Рассмотрим дифференциальное уравнение р2у"(х) + р(х)у(х) = J'(x), (20) где д— малое число; для определенности сначала предполагаем р(х) > 0. f xfpX 1 В случае р — const, f = 0 решения этого уравнения ехр < ±i-----------> ко- I Р J леблются с периодом 2тгд/л/5’, т.е. очень сильно. Характерный размер изменения решения имеет порядок р/Др, поэтому если не использовать специфику данного уравнения, то для получения высокой точности не- обходимо выполнение довольно обременительного условия h д/^/р. В окрестности каждого узла хп рассматриваемое уравнение близко к уравнению д2у" + рпу = fn, рп = р(хп), fn = J'(xn). Общее решение этого уравнения записывается в виде у(х) = Dr ехр (i I + d2 exp J-i 1 + (21) I P J I A7' J Pn D\, 79'2 — произвольные константы. Найдем схему вида О"п‘Уп+1 “Ь Ьпуп + спуп—1 ~~ dn = 0, (22) точную на всех решениях вида (21). Для этого подставим (21) в соот- ношение (22). Получим а.п ^79j ехр j + 792 ехр + МА + А) + + с„ ехр || + р2 ехр Л + (^ + + с?г)— - dn = 0. k I A7 J I A7 J 7 Рп Чтобы это равенство выполнялось при всех /9| и /9'2, необходимо и до- статочно равенства нулю коэффициентов при /9| и /92 и свободного чле- на. Приравняем их к нулю: f. \/Pnh ап ехр < 1------ I А7 , , , Г .y/P^h\ + оп + сп ехр < -1--7=0, I A7 J f . л/Pnh 1 . f. у/Рп h 1 „ ап ехр < —1---> + bn + сп ехр < i-7=0, I A7 J I Р J + Ь.п + сп)~ — dn = 0. (23)
§ 8. Аппроксимации специального типа 471 Полагая ап = 1, получим d , о \/P^h = 1, bn = —2 cos -------, о \/Pnh \ 2 — 2 cos ---- \ М / jn Рп Общее решение системы (23) пропорционально полученному частному решению. Умножим все коэффициенты ап, bn, сп, dn на ц2/г-2. Тогда получим схему 2yn+i-2cos^7/n + i/n_i / VP^\p2fn // ---------—т---------— I 2 — 2 cos-- I 7-5— — 0. (24) h2 \ р ) п2рп Это соотношение мы примем за разностное уравнение, соответствующее узлу хп. Такая нормировка схемы (24) является наиболее естественной: если вместо уп подставить в (24) значение у(хп) и при фиксированном хп устремить h к 0, то в пределе получится исходное дифференциальное уравнение р2у" -р(хп)у - f(xn) = 0. Все приведенные выше построения имеют смысл независимо от знака Рп, при рп < 0 в окончательной расчетной формуле имеем y/P^h . y/-pnh V~Pnh —----= cos 1-------= сп -------. Ц Ц p В случае pn = const >0 и f = 0 расчетная формула (24) переписывается в виде Уп+1 - 2 cos-----Уп + Уп-1 = 0. р (25) То, что эта формула является точной на решениях уравнения (20) при рп = const >0 и f = 0, можно было бы усмотреть из известной формулы тригонометрии <Д] + <Д2 V>1- ф2 COS (pl + COS 9?2 — -2 cos --- cos ---- подставив в нее = 0, , Vp(n + l)h <Д1 =-----------ha, <Д2 =--------------Ь a; д р a — произвольное число. Расчетная формула (25) иногда используется для быстрого вычисле- ния таблицы значений cost или sint на равномерной сетке с невысокой точностью. Необходимость в этом может возникнуть, если, например, ре- шается дифференциальное уравнение х! = /(ж, t) с правой частью, содер- жащей значения cost или sint, и вычисление их значений составляет су- щественную долю от затрат на вычисление правой части. Заметим, что суммарная вычислительная погрешность при вычислении значений cost и sint по этим формулам имеет порядок O(r?S) (6 — 2~* — погрешность округлений).
472 Глава 9. Численные методы решения краевых задач Рассмотрим уравнение у'(т) = у2(х) + а2(т), (26) решения которого могут обращаться в бесконечность. При аналитической функции a(z) решения аналитичны в комплексной плоскости в окрест- ности вещественной оси и иногда представляет интерес найти значения решения уравнения (26) в некоторой точке вещественной оси, отделен- ной от исходной несколькими полюсами. Один из возможных путей — это численное интегрирование (26) вдоль некоторой кривой, обходящей особые точки. Другой путь—это построение разностных схем, имеющих высокую точность на особенностях решения. На отрезке [хп, х?).+ 1] уравнение (26) приблизим уравнением У (ж) = У f3") “б azi+l/2’ a?i+l/2 “ а((хп + ^п+1)/2). При а = const общее решение уравнения у'(ж) = у2 (ж) + а2 имеет вид у(т) = a tg(a(rr + с)). Воспользуемся формулой i-tgvtgv t . \ , / . y(xn) , y(3:?i+i) при — a(xn + c), ip = a(a;/1+i — xn) и тем, что ---— = tgy>, ------ = a a tg(y> + ip). Получим равенство 1 + tg(a(x,)+] - .тд)) -yK+i) - ---------------------------- l-^ + tg^^!-^.)) Отсюда получаем расчетную формулу для исходного уравнения Уп + a^+i/2 tg(«n+i/2(®„+i - Хп)) Уп+1 = ------урп--------------------- (27) 1 tg(an+l/2(a'7l+l Хп)) ап+1/2 За счет некоторого понижения точности ее можно упростить, воспользо- вавшись приближенным равенством tg ip ~ ip-, получим Уп + ап+1/2(У * * * * Х"+1 ~ Хп) /9о\ Уп+1 = ------—7---------7--• (28) 1 Уп\Я'П+1 ^п) Обе расчетные формулы (27) и (28) позволяют получить приближение к решению и после прохождения полюсов, если только случайно не оказа- лось, что расстояние от одного из узлов до ближайшего полюса много меньше, чем min(.rn+] — т„)2. Этого всегда можно избежать, распорядив- п шись выбором шагов вблизи полюса. Как примеры расчетных формул подобного рода можно рассматри- вать рекуррентные формулы метода прогонки (4.9), (4.10).
§ 9. Конечно-разностные методы отыскания собственных значений 473 § 9. Конечно-разностные методы отыскания собственных значений Рассмотрим простейшую краевую задачу на собственные значения: у"(®) -р(х)у(х) = Хр(х)у(х). у(0) = 0, у(Х) = 0. Зададимся шагом h = XN~l и выпишем сеточную задачу n=l,...,N — l. у0 = yN = 0; рп=р(хц), Рп=р{х-п)- (1) (2) Значения А, при которых система уравнений (2) имеет ненулевое реше- ние уо,.. -, удг, естественно назвать собственными значениями сеточной задачи. Пусть собственные значения задач (1), (2) упорядочены в по- рядке убывания, т. е. Ai А2 ; Ах . Рассмотрим модельный пример: р(.т) = 0. р(.т) = 1; тогда (1) приобре- тает вид у"(т) = Ху(х), у(0) = у(Х) = 0. Можно проверить, что собственные функции этой задачи есть wm(.r) = sin(7rmo:/A") и соответствующие собственные значения Хгп = — (ят/Х)2. В случае сеточной задачи (2), приобретающей вид Уп+i 2уп + уп—1 Л2 Х-пУп -- 0? Уо = Улг = 0. рассуждаем следующим образом: общее решение разностного уравнения Уп-f-i — (2 + Xh2)yn + у„-1 = 0 записывается в виде Уп = ЗД’ + С2/ф', где р1, р-2 — корни характеристического уравнения ц2 - (2 + АЛ2)ц + 1 = 0. (3) По формуле Виета щ ц2 — 1, поэтому ц2 = 1 и уп = Cip™ + С2ргп. Условия у0 = yN =0 дают систему уравнений Ci + С2 = 0, Ci/zf + C2P2N = 0; она имеет ненулевое решение, если ее определитель равен 0, а именно, если p^N — р^ = 0. Отсюда pi = ехр{тпт/7У}, т — ..., —1,0, 1,... Из (3) можно выразить значения АЛ через значения щ :
474 Глава 9. Численные методы решения краевых задач Для определенности возьмем С', = (2i) *; тогда соответствующие соб- ственные функции имеют вид Собственные значения А'',..., A^_j различны между собой, поэтому соответствующие им собственные функции W\ = sin ., W^1 = sin ДДДД также различны. Так как задача (2) является задачей на соб- ственные значения для матрицы размерности N—1, то мы получили пол- ную систему собственных функций; каждая из функций W™ при т О или при т N равна тождественно нулю или пропорциональна одной из перечисленных выше функций W*,..., Мы случайно выбрали такой пример, где в узлах сетки хп = nh выполняется равенство W™ = wm(nh). В общем случае это равенство не имеет места; однако характер близости собственных значений этих задач типичен и для общего случая. Посколь- ^2 ^..2 ку, согласно формуле Тейлора, cost =1 —— +cos(0rr)—, где |0| 1, то из выражения для А’п получаем Из этой формулы видно, что А^', — А„г = <9(Ь2) при фиксированном т; в то же время с ростом т как абсолютная, так и относительная погрешности монотонно возрастают и, например, АдГ-1 — 7T2(N — I)2 я2 XN~i 4 2W Равенство (4) можно записать в виде оценки |А.^, — Am| где С не зависит от Ат и h. В случае дважды дифференцируемых функций р(т), р(т) также можно получить такую оценку. Для решения задачи (1) с более высокой точностью можно воспользоваться любыми разностными аппроксимациями уравнения у"(х) — q(x)y(x) = 0 более высокой точности. Рассмотрим пример.
§ 9. Конечно-разностные методы отыскания собственных значений 475 В § 1 была построена разностная схема, аппроксимирующая последнее урав- нение с погрешностью О(/г4): &Уп 1 А'-’/ Ч _ Л ^2 ЧпУп \ЧпУп) — 0 (а) (с несколько иными обозначениями). Уравнение (1) записывается в рассматри- ваемом виде при д(х) = р(х) + Ар(.т). Отсюда получаем сеточную задачу па собственные значения: - (Рп + + Хрп)уп) = 0. п = 1,..., N — 1, уо = ?М' ~ 0. (6) Можно показать, что для собственных значений этой задачи выполняется оценка |Ат — А,п| Система уравнений (6) имеет вид Ау — ХВу = О, формально несколько более сложный, чем (2), поскольку матрица В не диагональная. При повышении порядка точности могут возникать сеточные задачи, имеющие на первый взгляд еще более сложный вид, например такая: требуется найти А, при котором система соотношений «п(А, ti)yn—i - Д„(А, h)yn + 7„(A, h)yn+1 = 0, п = 1,..., N — 1, уо = угу = 0, имеет ненулевое решение уп. Рассмотрим случай 7„ 0. Фиксируем некоторое гщ 0, например wi = h; зададимся произвольным А и из сотношения ап(Х, h)w^r - fin(X, h)w* + 7n(A, h~)w^+1 = 0 (8) последовательно определим , • •, 'а-'д-- Если 'нА- = 0, то это А окажется собственным значением и w* — собственной функцией; если 0, то это А не является собственным значением задачи (7). Для отыскания собственных значений задачи (7), совпадающих с ну- лями wjy, можно применить какой-либо итерационный метод отыскания нулей функции и по ее значениям. Этот процесс облегчается следующим обстоятельством, имеющим место во многих случаях и позволяющим по- лучить «вилку» для искомого корня: если функция ш* имеет j перемен знака на (0, X), то Xj < X < Aj+i. Для вычисления значений ’/А при различных А, как правило, наиболее рационально воспользоваться непо- средственно рекуррентными формулами (8). Предлагаемый алгоритм вычисления значений совпадает с алго- ритмом решения сеточной задачи Коши для уравнения у"(х) — (р(.т) + Ар(ж))у(т).
476 Глава 9. Численные методы решения краевых задан Для отыскания собственных значений может применяться также и ме- тод прогонки. Не повторяя идеи метода, ограничимся написанием расчет- ных формул. Положим Wn/w*+1 = С„, тогда (8) перепишется в виде откуда (ХпСп— \Сп 0п.Сп + уп — О, Сп = 7п/(/3„ -OnCn-il О) (Ю) Если w* и w^+1 одного знака, то Сп > 0. если разного, то Сп < 0. Поэтому, наблюдая за переменами знака у Сп, можно определить число перемен знака у функции w^- Как мы видели в § 3, коэффициент С„ может оказываться очень большим, поэтому этот метод чаще применя- ется лишь для отыскания первого собственного значения. § 10. Построение численных методов с помощью вариационных принципов Часто бывает естественно и целесообразно строить численные методы, исходя из естественной постановки задачи как вариационной или поль- зуясь определением решения как некоторой функции, удовлетворяющей интегральному тождеству. 1. Метод Ритца. Рассмотрим краевую задачу из § 8: Zy = -(fe(.r)y'(:/;))' + р(х)у(х) = f(x), у(0) = а, у(Х) = Ь. к к0 > 0. Ее решение является точкой экстремума функционала Л?/) = f (Ну'(х))2 + РУ2(Х) — 2f(x)y(x))dx (2) Jo на классе функций [0, X], удовлетворяющих условию у(0) = а, у(Х) = Ъ. Напомним, что PEjfO, А’] это класс функций с ограниченным инте- гралом Л?7) = [(?/(^))2 + y2(x)]dx = |Ы|^21[О>Х]. Задаются некоторым N и выбирают совокупность функций <рК(х),..--> 99уу(т) с ограниченным интегралом удовлетворяющих условиям ^(0)=а, ^(0)=^(Х)=0, q=l,...,N.
§ 10. Построение численных методов 477 Приближенное решение ищется в виде yN = Ро + Е^Х’ 9=1 Имеем w N ДуЛ') = E + P,<7=1 <7=1 здесь do = /(Л Л(^, Pq) = [ + PPpPq) dX JO bq-= [ (fPg - PPo Pg - ЦРо )'(Pq )') dx- Jo Находим экстремум функционала I(yN) по переменным ci,...,cyv и co- д’ ответствующую функцию yN = <р^ +^^СдрК принимаем за приближенное <7=1 решение задачи. При этом нахождение коэффициентов cq сведется к ре- шению системы линейных алгебраических уравнений Ас = Ь, (3) где А —матрица с элементами apq = Л(</^, Pg), b —вектор с компонен- тами bq. Часто бывает удобнее сразу вычесть из решения функцию , удовле- творяющую граничным условиям, т. е. свести исходную задачу к задаче с однородными граничными условиями. В линейном случае (как (1)) обыч- но <р$ берут не зависящим от 7V. Часто бывает выполнено следующее условие. Краевая задача Ly + Ху = 0, у(0) = у(Х) = 0 имеет только нулевое решение, если А Э 0. Тогда функционал /(у) огра- ничен снизу и искомое решение является не просто точкой экстремума, а точкой минимума функционала /(у). В этом случае описанный вы- ше метод построения приближенного решения называют методом Ритца. Существует ряд моментов, существенно влияющих на сходимость метода Ритца. Чтобы приближенные решения yN сходились к точному в норме [0, X], т. е. чтобы ||уЛ — yll^i —> 0 при N —> оо, необходимо и до- статочно выполнения следующего условия: для любой функции g G WJ, и любого е > 0 существует линейная комбинация N 9N = Ро + Е с^ч с 11^ “ е- 9=1
478 Глава 9. Численные методы решения краевых задач Указанное условие обеспечивает сходимость метода Ритца в предполо- жении, что все вычисления производятся точно. Пусть Ад? и XN - наи- меньшее и наибольшее по модулю собственные значения матрицы систе- мы уравнений (3). Чтобы округления не повлияли на приближения уЛ\ существенно выполнение условия IA^/A/vl М, (4) где М не зависит от N. Довольно часто не удается построить системы функций, удовлетворя- ющие условию (4). Тогда ограничиваются использованием систем функ- ций, для которых |AN/AN| = O(Na), (5) где а— не очень большое число. В случаях (4), (5), как правило, удается так организовать процесс решения системы (3), что суммарная вычисли- тельная погрешность будет порядка O(N^6). В ряде случаев нетрудно построить системы функций, удовлетворяю- щие условию (4), но, как правило, для них матрица А является полно- стью заполненной. Для задачи (1) такой системой является (pN (ж) = sin(7r<7T/y), q = 1,..., N. В то же время для системы функций, соответствующих вариационно- разностному методу (см. далее), а = [3 = 2, но зато матрица А трехдиа- гональная. Для системы функций = .г/;(1 — х) величина |АЛГ/Ауу| растет быстрее любой степени N и матрица заполненная. Если вместо системы функций (х) = .тД! — ж) взять систему <р^х) = т(1 - x)Tq(2x/X - 1), (6) где Д(а:) многочлены Чебышева, то при отсутствии округлений полу- чится одно и то же приближение. В то же время система (6) удовле- творяет условию (5) и при практическом использовании накопление по- грешности будет не очень большим. Замечание. Может случиться, что для некоторого набора функций ве- личина |AW/AW| растет с ростом N очень быстро, но для достижения нужной точности достаточно небольшого значения JV; тогда такой набор функций приемлем при решении данной задачи. 2. Метод Бубнова-Галеркина. Описываемый ниже метод является обобщением метода Ритца и применим в случаях, когда исходная зада- ча не является вариационной. Формально этот метод можно представить следующим образом. Запишем исходную задачу в виде задачи нахожде- ния решения из некоторого интегрального соотношения, справедливого для любой функции 'ф из соответствующего класса: (Ly, ф) = (7)
§ 10. Построение численных методов 479 Под выражением в круглых скобках понимаем скалярное произведение в £2[0, X]. Соотношение (7) в дальнейшем будем называть интегральным тождеством. Приближенное решение ищется в виде линейной комбинации yN = <Ро + <7=1 Задаются некоторой линейно независимой системой функций ,..., ф$ и требуют выполнения интегральных соотношений (LyN^) = (f, ф"), q=l,...,N. (8) Так же как и в случае метода Ритца, решение исходной задачи сводит- ся к решению системы линейных уравнений (8) относительно неизвест- ных с? ,..., с^; в матричной форме система уравнений (8) записыва- ется в виде Ас = d, где А = [</-?-;] — матрица размерности N х N, с = (сф',..., с^)т, d — вектор правой части. Оба описанных метода применимы в нелинейном случае. Если ис- ходная задача является задачей на экстремум функционала, не явля- ющегося, как (2), квадратичным, то система уравнений (3) относительно ..., cjy, соответствующих точке экстремума l(yN), будет нелинейной. Точно так же в случае нелинейного уравнения L(y) = 0 метод Бубнова-Галеркина сводится к решению нелинейной системы (L(yN), О = 0, q = 1,... , N. 3. Вариационно-разностный вариант метода Ритца. Носителем N(f) функции f назовем замыкание множества точек, где / 0. Если носители функций (р^ и <р^: пересекаются по мере нуль, то «7;/ = Л(^, = 0. Наличие большого числа нулевых элементов в матрице может привести к существенному уменьшению объема вычислений при решении системы (3). Это обстоятельство явилось стимулом к разработ- ке вариационно-разностных методов, соединяющих в себе преимущества метода Ритца и конечно-разностных методов. Рис. 9.10.1 Зададимся точками приближенное решение 0 — хо < Xi < • • - < xpf — X и будем отыскивать (1) в виде функции, линейной на каждом из от-
480 Глава 9. Численные методы решения краевых задач резкой [ж9-!, xq] и принимающей заданные значения на концах отрезка [О, А"]. Это равносильно тому, что решение ищется в виде yN(x) = (ж) + (ж), </=1 Фй (-г’) = шр^х) + 6</$(ж), ( Xl — X N f \ — при 0 xX], V’o (j:) = 5 X1 I 0 при Xl X Xjy, r 0 при 0 sj X Xn^-1, ^(ж) = J X - Ждгад -—,—-—,— — при Xft-1 X X-N I XN — XN—1 Г X - Xq_i при Xq-i X Xq, Xq -'q-- i 4>q (*) = < ^q+1 При Xq X T9+1, ж<7+1 xq 0 в остальных точках (Ю) при q = l,...,N — 1 (см. рис. 9.10.1). Система уравнений (3) <H(.yN)ldyq = 0, q=l,..., N -1, (И) из которой определяются значения щ,..., ум-i, в данном случае оказы- вается системой с трехдиагональной матрицей. Укажем конкретный вид коэффициентов системы, получающейся в случае функций ip>q вида (10): ^д+1,9 — Q— 2,...,/V 2, bq= Г f^-^-dx+ JXq-I xq xq—l J Xq жЩ-1 xq
§ 10. Построение численных методов 481 4. Вариационно-разностный вариант метода Бубнова-Галерки- О на. Если умножим (1) на произвольную функцию 'ф(х) ([0. X]) и проинтегрируем первое слагаемое в выражении X(L(y)~f(xW<(x)dx (12) по частям, то получим интегральное тождество Л(у, V’) = / (к(х)у'ф' + руф - fip)dx = 0. (13) Jo Будем искать решение y,v в виде (9): потребуем, чтобы (13) обращалось в нуль для всех функций 'ф(х) вида TV—1 -0U) = 52^9^’ 9=1 i/)q — произвольные числа. Поскольку выражение Л (у, -ф) линейно по ф, то получаем систему уравнений A(w, ^) = 0, q = 1,..., N — 1. (14) В данном случае эта система уравнений совпадает с (3). Можно было не производить в (12) интегрирования по частям, а непосредствен- но потребовать удовлетворения (12) для любой функции вида (9). Однако для функций вида (9) выражение (12) содержит слагаемые типа (5-функции, по- этому непосредственное выписывание уравнений системы (14) представляло бы дополнительные технические трудности. Описанный выше метод решения задачи, называемый проекционно-разност- ным, применим и к задачам более общего вида. Рассмотрим краевую задачу (к(х)у')'+ ay'+ (by)'+ су = f + F', (15) уже не являющуюся задачей на экстремум некоторого функционала. Умножим О (15) скалярно на ф ClVj [0> и проинтегрируем некоторые из слагаемых по частям; получим Л1 (?/, V;) = / (ку'ф' — ay'il’ 4- Ъуф' — суф + }ф — Рф') dx = 0.
482 Глава 9. Численные методы решения краевых задач Приближение у к вида (9) находим из системы уравнений ЛДт/лг, V9) = 0, q= 1,..., N- 1. (Ю) Заметим, что интегрирование по частям интеграла от (by}'у: является необхо- димым лишь в случае разрывного коэффициента Ъ. Описанные выше методы формально представляют некоторые неудоб- ства, поскольку для построения системы уравнений (16) требуется вычи- сление некоторых интегралов. Если коэффициенты гладкие, то эти инте- гралы можно вычислить с помощью квадратурных формул: Во всех случаях был применен способ вычисления интегралов, при ко- тором подынтегральная функция разлагалась на множители и интеграл от наиболее резко меняющейся функции брался в явном виде. Можно показать, что полученная схема обеспечивает второй порядок точности. Можно предложить способ построения вариационно-разностных схем более высокого порядка точности; рассмотренный выше способ постро- ения схемы является частным случаем (при тп = 1) этого способа. Приближение уудф.т) ищется в виде многочлена Р™(х) степени т на каждом из отрезков [тг/_|, т9], причем значения многочленов, соответ- ствующих отрезкам x(J] и [xQ, x9+i], совпадают в точке x.q. Ми- нимизируя функционал на множестве таких многочленов, удовле- творяющих граничным условиям в (1), получим систему с клеточно- трехдиагональной матрицей относительно коэффициентов этих многочле- нов. Иногда удобнее рассматривать как неизвестные не эти коэффициен- ты, а некоторые другие параметры. Например, можно аналогично слу- чаю приближения сплайнами (§ 4.8) при т = 3 принять за неизвестные значения yN(xq), Уд?(ж9+о), ?/"'(ж9-о)-
§ 10. Построение численных методов 483 Можно на каждом из отрезков [т9_ i, xq] взять тп — 1 дополнительную точку и принять за неизвестные значения уд'(т) в этих точках. Вариационно-разностные методы в определенном смысле «технологич- нее» разностных. В случае построения вариационно-разностных методов путем минимизации квадратичного функционала возникает система урав- нений с положительно определенной матрицей, что обеспечивает опре- деленную «физичпость» получаемых приближений и одновременно об- легчает решение системы. Переменность шага интегрирования также не оказывает существенного влияния на сложность программ вариационно- разностных методов. Эти преимущества наиболее эффективно проявля- ются при решении многомерных задач в областях со сложной геометри- ей. При одном и том же порядке точности использование вариационно- разностных схем часто требует меньшего объема программирования. Все это послужило причиной того, что они взяты за основу, например, при создании пакетов численных методов решения задач теории упругости. В то же время при решении очень сложных задач, в которых для по- лучения нужной точности требуется число узлов сетки, находящееся на пределе возможностей ЭВМ, часто бывает целесообразно обратиться к сеточным методам. Заметим, что вариационно-разностные и проекционно-разностные ме- тоды называют также методами конечных элементов. 5. Построение разностных схем путем аппроксимации функци- онала. При непосредственном построении разностных аппроксимаций в областях сложного вида иногда оказывается, что получается система уравнений со знаконеопределенной матрицей, в то время как исходная задача была знакоопределена. Чтобы преодолеть этот дефект, не прибе- гая к использованию вариационно-разностных методов, строят конечно- разностные схемы, используя дискретную аппроксимацию минимизируе- мого функционала, соответствующего задаче. Приблизим исходный функ- ционал дискретной аппроксимацией: N /, \2 /(у) « 1М = $>(^-1/2) (xq - Xq^ ) + q=1 \ХЧ , А (р(ч7)?/у +p(4/-i)?/Li\ . + / I 9 I \xq xq- g-1 \ / TV —'(/(хд)Уд + f (хд—1)Уд—1)(хд ~ xg—l)i q=l (18) здесь = (xq + xq_i)/2. Первая сумма получилась на основе квадратурной формулы прямо- угольников, вторая и третья — формулы трапеций. Приравнивая нулю
484 Глава 9. Численные методы решения краевых задач производные dfh/dyq, получаем систему уравнений 2 - fc(a'q+l/2)^9 + P^q)y<A^q-l + Р^УУч^-q - - f(Xg)AXq-l+ A.Xq) = 0. q = 1,.... N - 1: &xq = xq+i - xq. Поделив предыдущее соотношение на — 2ёд, где Sq = (Джд + Дж^-ПД, получим конечно-разностную схему LqPq = ----------Д^'д-'Дж^-Х---------------Р^УЧ - f&q) = °’ (19) 2 совпадающую со схемой (8.3) в случае равномерной сетки. Выражение Тн(ун) в (18) является многочленом второй степени от пе- ременных у,; оно записывается в виде N—1 N—1 Ih(yh) = XI ачУ^ + +ч г,.7—1 г—1 выше учтено то, что уо = о, Ум = Ь. Из (18) видно, что первые две суммы в Ih(yh) неотрицательны. Поэтому (Л \ 9=0 / При таком поведении многочлена второй степени в окрестности беско- N-1 нечности его главная часть dijyiy-j неотрицательна, т. е. А = [щу] 0. г,1=1 Поскольку aij = ~д2Ih,(.yh)/dyidyj, то матрица А автоматически оказыва- ется симметричной. Задача 1. Доказать, что при к > 0. р 0 матрица А положительно определена. Чтобы проведенные рассуждения о неотрицательности матрицы А были справедливы, целесообразно строить аппроксимации функционала, приближая выражения, стоящие под знаком квадрата, не раскрывая ско- бок. Пусть, например, исходная задача является задачей на экстремум функционала: Цу) = [ (к(х)(у' + А(ж)у)2 + р(х)у2) dx-, р 0. Jo
§ 11. Улучшение сходимости вариационных методов в нерегулярном случае 485 Интеграл от первого слагаемого приближаем выражением Ez / \ ( У<1 ~ Уч—1 . \( \У<1 + У<1~1 \ л ^(жу-1/2) —дД-----ЬА(т9_1/2) 2 J от второго — так же, как в (18). Все проведенные выше рассуждения остаются в силе, и поэтому соответствующая матрица А неотрицательна. Если раскрыть скобки в (у' + А(т)у)2, а потом аппроксимировать инте- грал. то может случиться, что условие А 0 при крупных шагах будет нарушено. Из последних рассуждений следует заключение, которое особо суще- ствененно в многомерном случае. При построении конечно-разностных методов путем аппроксимации минимизируемого функционала целесообразно записать функционал в виде суммы интегралов от квадратов некоторых выражений и линейной части и аппроксимировать эти выражения, не раскрывая скобок. 6. Случай невариационной задачи. Для невариационных задач разностные схемы можно получать, аппроксимируя интегральное тожде- ство, из которого определяется решение. Применим этот способ к рас- сматриваемой нами вариационной задаче. Будем аппроксимировать инте- гральное тождество Л(?/, ф) = / (куф' + РУФ — /ф) dx = О ./о О для любой функции ф бЖ) [0> -АГ]- Имеем Л(у, ф) « Л/г(у/?, фф) = ^k{xq_x) Уд Уд~х ^<?~1 Дтд_! + т l±'Xq-l ^Xq.\ N 1 + 5^2 {^^хя)Уч ~+ (р(жч-1)у9*1 - /(ж9-1))^9-1)Дж(/-1 о. 9=1 Полагая ф0 — ф^ = 0 и собирая коэффициенты при одних и тех же фч, получим N—1 kh(yh, Фн) = ^SqLqPq - фд = 0, <7=1 где Lqyq определено формулой (19). Выражение Л/г(г//г, ф^ равно нулю для любой сеточной функции ф, если все Lqyq = 0. Полученная система уравнений совпадает с системой уравнений (19).
486 Глава 9. Численные методы решения краевых задач § 11. Улучшение сходимости вариационных методов в нерегулярном случае Погрешность итерационных методов существенно зависит от точности, с которой можно приблизить решение функциями из пространства, в котором ищется решение. Рассмотрим некоторые задачи, в которых при использовании вариационных методов имеет смысл несколько усложнить построение системы базисных функций. 1. В случае разрывного коэффициента к(х) производная и' так- же разрывна, поэтому решение плохо приближается кусочно-линейными функциями. В то же время выражение кп' является дифференцируемой функцией. Поэтому для достижения более высокой точности целесообраз- но искать приближение в виде функции, которая на каждом из отрезков т(/] является решением уравнения ку' = const или, что то же са- мое, (ку')' = 0. В этом случае получается вариационно-разностная схема, О 1 имеющая в сеточной норме ИД Л порядок сходимости О (к2) даже при 0 1 измеримых функциях к(х), р(х), f(x). Под нормой W2/1 понимаем вы- ражение JV-J / \2 ||?Цг||° 1 =Л 5?h ( "Ч—“) ’ Uo = UN = 0, о 1 являющееся сеточным аналогом нормы пространства W->- 2. Иногда оказывается, что решение имеет особенность в конечном числе точек, а вдали от них является гладким. Например, относительно решения иногда можно установить, что оно имеет вид где V’y С7') ~ известные функции, а и(х) -- неизвестная гладкая функция. Если некоторые из коэффициентов Cj, например С^-щ,..., Сц известны, то следует перейти к новой неизвестной функции I У* = У~ У? С-кФ^У j=k+i Далее рассматриваем случай —все Cj неизвестны. Приближение для гладкой части ищем в виде
§11. Улучшение сходимости вариационных методов 487 где (х) те же, что и в (10.9), т. е. решение ищется в виде I N УМ = 52 С^.7(-Т) + J2 Ст) •7 = 1 <1=0 с неизвестными коэффициентами С3, cq и при дополнительном условии на эти коэффициенты, имеющем вид ?/(()) = о, у{Х) — Ь. (Здесь для опре- деленности мы приняли, что '01,..., ipi, <Pq ,..., линейно независимы.) Функции 0j(x) в отличие от функций обычно имеют носитель, раз- меры которого не стремятся к нулю при уменьшении шага сетки. По- этому строки матрицы А, соответствующие функциям 07, как правило, будут полностью заполнены. Матрица системы уже не оказывается трех- диагональной. Перестановкой строк и столбцов ее можно преобразовать к виду, где n.ij = 0. если одновременно |г — j\ > 1, |z|, |j| >1 + 1. Если ре- шать эту систему методом Гаусса при обратном порядке исключения не- известных, то общее число арифметических операций оказывается, как и в случае трехдиагональных матриц, порядка O(N). В описываемом слу- чае надо особенно внимательно следить за погрешностью метода реше- ния задачи (включающей в себя погрешность приближенного вычисления интегралов) и вычислительной погрешностью. Рассмотрим в качестве примера краевую задачу -р(х)у(х) = f(x), р(х) > 0, ?/(0) = а, у(Х) = Ь, е• — малое. Формально говоря, решение не имеет особенности. Однако при ма- лом е имеется пограничный слой, где производные от решения ве- лики и решение плохо приближается функциями вида (10.9). Из те- ории асимптотических методов известно, что в окрестности точки х = 0 решение хорошо приближается линейными комбинациями функ- [ 0р(О) 1 ций вида х ехр < —------х >, а в окрестности точки X — функций вида {X ~ х}к ехр { — ).(х — а,) . Поэтому приближенное решение имеет смысл отыскивать в виде I У(х) = 52^^ехр к=0 I Г X — г Л N + - х)к ехр {-у/^Х)-----} + £ ^(т); fc=O 6 J q=l Здесь Ск, Dk, Cq — неизвестные коэффициенты.
488 Глава 9. Численные методы решения краевых задач § 12. Влияние вычислительной погрешности в зависимости от формы записи конечно-разностного уравнения Как было установлено ранее, вычислительная погрешность имеет различ- ный характер роста для различных способов решения дифференциальных уравнений. Рассмотрим теперь такой частный, но важный вопрос: как за- висит вычислительная погрешность от формы записи конечно-разностных уравнений? Хотя все изложение ведется па примере задачи Коши, про- водимые соображения относятся в равной мере и к случаю решения кра- евых задач. Для примера обратимся к методу Эйлера: Уп+1 = Уп + Л/(ж,г, Уп). (1) При реальных вычислениях будут получаться величины у*, связанные соотношением Уп+1 = Уп + У*„) + ёп; (2) наличие слагаемого ёп является следствием ряда причин погрешностей при вычислении значений функции f(xn, у^), погрешностей при округле- нии произведения hf(xn, у*п) и погрешностей при сложении чисел у* и округлен!ioi’o значения hf(xn, У,,)- Введем обозначение у* — уп = на основании формулы Лагранжа имеем f(xn, Уп) - Жм Уп) = 1пЛп, где ln = fy(xn, уп). Предположим, что всегда \fy(x, у)\ L. Вычитая (1) из (2), получаем Дп+1 — (1 + k>.h)^n + откуда |Дп+1| (1 + ЬЛ)|Д71| + ё, ё = тахЛ„. (3) п Рассмотрим разностное уравнение = (1 4~ Lh)zn ё, являющееся мажорирующим для (3). Его решение при начальном усло- вии z0 = |Д0| есть о _ |Л i/л г ,\п , А(1 + Lh)n - 1 zn — l^o| (1 + Lh) + ё —— . Лемма. При всех п 0 справедливо IAtJ < (4)
§ 12. Влияние вычислительной погрешности 489 Доказательство. При п = 0 утверждение (4) очевидно. Пусть оно верно для некоторого п; тогда имеем |Дп+1| ^(l + T/i)z°-U = z°+1. Лемма доказана. Если интегрирование производится на отрезке [ад, ад + Л'], то nh^X, (1 + Lh)n (ехр {Л/?.})’1 ехр {ЛА'}. Согласно формуле Лагранжа при у L 0 имеем еу — 1 = уеву уеу, где О 1- Отсюда получаем (1 + Lh)n - 1 eLX - 1 < LX ехр {ЛА'}. В итоге имеем оценку |ДП| 1^„| |До| ехр {ЛА-} + <5А-1АГехр {ЛА'}. Рассмотрим случай До = 0. Тогда погрешность Дп = у* — уп при фик- сированном X оценивается сверху через О(й/г"'1). Эта оценка неулучшаема по порядку. Например, при До = 0, ,fy = 0, ф, = б имеем Д,г+1 = Д7, + ё и, таким образом, An = N5 = 5Х1Г1. Приведем некоторые рассуждения, из которых следует, что погрешность округления может оказаться величиной порядка Л?.-1. Соотношение Уп+1 = Уп + hf(x„, у*) + ёп можно переписать в виде yn+i=yn + hf4xn,y^, где f4xn, Уп) = /(ж„, Уп) + ёДГ1. Таким образом, результат численного интегрирования уравнения у' = f(x, у) при наличии округлений будет такой же, как если бы без окру- глений интегрировалось уравнение со значениями правой части в узлах сетки f*(xn, у*). Рассмотрим случай ёп = 6. Разность между решениями дифференциальных уравнений У' = /(ж, У) и у' = f(x, у) + ёЬГ1 имеет порядок разности между правыми частями этих уравнений, т. е. Sh^. Нет оснований ожидать, что решения разностных уравнений уп+1 = Уп + hf(xn, Уп) И у*+1 = Уп +h(f(xn, Уп) + ё1г') будут отличаться на ве- личину, существенно меныпую ёк~1. Если ё порядка 2-t, t — разрядность чисел в ЭВМ, то решение разностного уравнения изменится на величи- ну порядка 2~th~i.
490 Глава 9. Численные методы решения краевых задач При получении этого вывода было сделано допущение <5„ = д. Рассмотрим задачу вычисления интеграла / /(.г) dx, являющуюся частным случаем рас- ./о сматриваемой задачи при ?/(()) = 0. Пусть f(x) = 2/3, h = 2~к. t — k— нечетно. При хп > 3/4 значение </„ лежит в пределах (1/2, 1). Тогда после округления при сложении </п = 0, 1«2 hf„ = О,О.;.О 10. 101 0101... к t—к каждый раз происходит отбрасывание подчеркнутой величины, равной (1/3)2-<. Таким образом, на этом участке действительно ёп = ё порядка 2-t. Перейдем к случаю интегрирования уравнения у” = j\x, у) при помо- щи простейшего метода Уп+1 ~ %Уп + Уп— 1 X --------------- = №п, Уп) по расчетной формуле Уп+1 — %Уп Уп—1 Т h f(xn, Уп)- Реально получаемые значения у*г связаны соотношением Уп+1 = Ъ)п ~ Уп-i + h2f(xu, у*) + ёп. (5) Значения у* можно рассматривать как получаемые без округлений при вычислениях по формуле Уп+1 = *Уп - Уп-1 + ^Г(хп, Уп), где f*(xn, у*) = f(xn, у*) + ёп1Г2. Рассмотрим случай ёп = ё. Тогда решения дифференциальных урав- нений у" = f(x, у) и у" = f(x, у) + ёЬ~'2 различаются между собой на величину порядка 5h~2. Задача 1. Показать, что в случае уравнения у" = а, а = const, возможен случай ёп = ё, ё порядка 2~z. Как и для уравнения первого порядка, делаем вывод, что для рас- сматриваемого алгоритма суммарная вычислительная погрешность может оказаться величиной порядка 2~fh~2. Требование малости этой величины накладывает ограничение снизу на допустимый шаг интегрирования. Рассмотрим случай, когда такая величина вычислительной погрешно- сти оказывается недопустимо большой. Можно было бы записать рассма- триваемое уравнение в виде системы уравнений первого порядка у' = v' = f(x, у) (6) и применить какой-либо метод численного интегрирования этой системы. Как уже отмечалось, при этом произошла бы потеря эффективности,
§ 12. Влияние вычислительной погрешности 491 поскольку методы, применимые для систем общего вида, не учитывают специфики этой системы. Попытаемся записать рассматриваемую расчетную формулу как неко- торую расчетную формулу интегрирования системы (6). Введем новую дискретную переменную Уп “ Уп-1 — zn. п. тогда уравнение (5) запишется в виде Zn+i ~ zn г, . —------- = /(^77, Уп) ' Вычисления последовательных значений уп, zn будем производить при помощи пары расчетных формул zn+\ = zn "Ь hf(xn-> Уп), Уп+i — Уп. “Ь hz-n+l- (7) При наличии округлений соответственно имеем Zn+1 = zn + hf(xn, y*t) + ап, у*п+1 = у* + hz*+1 + Д(, где ап, /Зп = O(2~f). Эти соотношения можно представить в виде 4+1 = z* + Уп), Г(:г-п, Уп) = f(xn, y^+anh-1, (&) Уп+i =Уп + h(zn+i + y(xn+i)), д(х71+1) = /з„л . Если формулы (7) можно трактовать как формулы численного интегри- рования системы z! = fix, у), у! = z, то формулы (8) соответствуют системе z' = Г(х, у), i/ = z+g(x). Правые части этих систем различаются на величины порядка O(2“4._J); поэтому есть какие-то основания ожидать, что и решения разностных задач, т. е. решения разностной задачи с округлениями и разностной за- дачи без округлений, будут различаться на величину того же порядка. Задача 2. Доказать справедливость утверждения, сформулированного выше. Конечно, к этому заявлению следует отнестись с осторожностью; мы уже видели, что для некоторых конечно-разностных схем малые погреш- ности могут приводить к катастрофическому изменению результата. Приведенные рассуждения о влиянии вычислительной погрешности в конкретных методах интегрирования уравнений первого и второго поряд- ков опираются лишь на учет свойств конечно-разностной схемы, связан- ных с порядком дифференциального уравнения. Поэтому они переносят- ся на другие конечно-разностные методы. Например, при интегрировании уравнения у^ = f(x, у) и прямом использовании схемы тп Уп h a—if Уп—i) = О г-0
492 Глава 9. Численные методы решения краевых задач следует ожидать влияния вычислительной погрешности порядка 2'fh Д Таким образом, в случае уравнений высокого порядка еще более актуаль- на задача преобразования схемы к форме, где влияние вычислительной погрешности будет меньше. Например, аналогично случаю к = 2 целесо- образно ввести вспомогательные переменные zln = X^ly„h~l, i = 1,... , к — 1. Попытаемся объяснить улучшение свойств разностной схемы (5) при переходе к расчетным формулам (7), оценивая количество хранимой ин- формации. При использовании расчетной формулы (5) при каждом п в памяти ЭВМ хранятся величины и ?/„, и все дальнейшие зна- чения yj определяются по этим значениям. Пусть для определенности 1/2 С уп 1 и \уп — ?Л,1| Mh. В ячейке, содержащей значение уп-1 = 0,la? • • at, имеется t— 1 независимых двоичных знаков «2, ., сц; разряды числа уп = 0,1/Tj ... fit уже нс все несут новую информацию. Дело заключается в следующем. Пусть I наибольшее целое, такое, что Mh < 2“z+1. Тогда имеем Уп - Уп~\ = ±0,0... 07(+1 ... 7t, и для задания уп — уп-1, 'А следовательно, и у.п достаточен t — 1 + l дво- ичный знак (знак разности и 7/+1, • • , 7t)- Поскольку I ~ log2((A7/t)-1), то общее количество независимой информации, которое имеется в нашем распоряжении при каждом п, составляет 2t — log2((MA)“1) двоичных раз- рядов (с точностью до слагаемого, нс зависящего от t и /г). В случае вычислений по формуле (7) все разряды чисел уп и zn неза- висимы и поэтому информация о решении задается независимыми дво- ичными разрядами. Тот факт, что количество независимой информации для второго спо- соба больше, конечно, не означает, что этот способ лучше. Не исключе- но, что эта дополнительная информация не является содержательной и поэтому не позволяет точнее определить решение. Поясним, почему до- полнительная информация при втором способе является содержательной. Для определения решения дифференциального уравнения второго по- рядка с точностью 0(e) требуется задание с такой же по порядку точ- ностью значения решения и его производной в некоторой точке. Для разностного уравнения роль этих величин играют уп и (уп — yn-i)/h. При первом способе задание значений уп и yn-i с t двоичными знаками позволяет определить {уп~Уп-\}1^ с погрешностью порядка O(2 //i l). Таким образом, здесь по известной нам информации мы располагаем воз- можностью найти дальнейшие значения решения сеточной задачи с по- грешностью порядка O(2-t/i-1) (если все последующие вычисления будут производиться абсолютно точно). В случае второго способа мы имеем значения уп и {уп — yn_i)/h с t двоичными знаками, поэтому обладаем возможностью найти решение сеточной задачи с погрешностью поряд- ка O(2-z). Таким образом, эта дополнительная информация действитель-
§ 12. Влияние вычислительной погрешности 493 но оказывается содержательной. На каждом шаге реального численного интегрирования погрешности округления вносят дополнительную неопре- деленность в компоненты вектора (yn, (у„ — yn-i)/h): во втором случае порядка 6>(‘2"z), в первом — порядка б?(2-#/Л). Это и приводит к тому, что суммарная вычислительная погрешность решения во втором случае может оказаться величиной порядка 6)(2"/Л“1), а в первом — порядка 6>(2"'Л,2). Рассмотрим метод прогонки решения сеточной краевой задачи (1.3), соответствующей уравнению второго порядка у"(т) — р(х)у(х) = f(x) при р (ж) = р = const. Коэффициенты Сп вычисляются по следующим рекуррентным форму- лам Cn+i = (2+ph2 — Сп)-1; в случае р(х) =р целесообразно заранее вы- числить Q = 2 + pli2 и вести вычисления по формуле Cn+i = (Q — GJ"1. При вычислении суммы 2 + ph? произойдет округление, т. е. получится величина Q* = 2 + ph2 + ё, где ё может оказаться величиной поряд- ка 2'. Это равносильно тому, что без округлений решается уравнение у"(&) —р*у(х) = f(x), где р* = р + ёЬ.-2. Рассуждая, как и выше, получим, что такое возмущение коэффициента р может привести к возмущению решения на величину порядка 2"t/?.“z. Если коэффициент Сп существенно больше 1, то при вычислении выражения ph2 4- 2 — С„ погрешность округления может оказаться величиной порядка 2"'/г"2|Сп|- Поскольку вклад от погрешности в одной точке в суммарную по- грешность умножается на коэффициент порядка h, то влияние этого округле- ния на окончательный результат порядка 2-th-1 |СН I- Если |С'„| 5> Л"1, то это выражение будет существенно больше чем 2~fh~2. Замечание. Возмущения, вносимые другими округлениями при вычислениях Сп и ipn, также равносильны некоторым возмущениям коэффициентов р и f. Чтобы погрешность решения системы (1.1) была существенно меньше, необ- ходимо по крайней мере задавать ее в форме, где округления коэффициентов системы равносильны существенно меньшим возмущениям коэффициентов ис- ходной дифференциальной задачи. С этой целью можно, например, перейти к системе Уп Уп — 1 Zn+1 Zn Г h — zm РпУп — Jn- (9) Соответственно при решении этой системы вместо рекуррентных соотношений (3.11) относительно коэффициентов Сп, рп следует перейти к рекуррентным соотношениям (4.9), (4.10) относительно о(1, /Зп. Выше рассматривался случай, когда при всех п погрешность округле- ния оказывалась одной и той же. Если коэффициент р(ж) const, то при вычислении величины 2 + pnh2 при различных п округления могут оказаться различных знаков, и поэтому суммарная погрешность может оказаться по порядку меньшей чем 2-th~2. В случае задачи Коши для
494 Глава 9. Численные методы решения краевых задач уравнения у' = f(x, у) при условиях h = 2 t, 2 'h 2 < 1 вычислительная погрешность часто накапливается медленнее — как АЛЛ1/2. Обратим внимание на прием практической оценки вычислительной погрешно- сти путем изменения масштабов, применяемый иногда для экспериментального исследования чувствительности метода к вычислительной погрешности. Пусть некоторым методом решается задача Коши у- = /U, У), 3/(0) = о. ах Замена переменных х = pt. у = Xz сводит эту задачу к задаче dz р о г <° > = А' Предположим, что первая задача интегрировалась с шагами hp, осуществим численное интегрирование второй задачи тем же методом, но с шагами /?' = /ii/д. При отсутствии округлений будет иметь место равенство т/, = Xz..,\ если А и р оба не являются целыми степенями двойки, то разность между реально получаемыми значениями величин у, и X::.; обычно дает определенное пред- ставление о величине вычислительной погрешности. Например, можно взять р = ^3, Д = у/2. Литература 1. Бахвалов Н. С. Численные методы —М.: Наука, 1975. 2. Бахвалов Н. С. К оптимизации методов решения краевых задач при наличии пограничного слоя // ЖВМиМФ. 1969, 9, N 4. С. 841- <859. 3. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вычислительных методов. Дифференциальные уравнения — Минск: Наука и техника, 1982. 4. Крылов В. И., Бобков В. В., Монастырный П. И. Вычислительные методы. Т. 2 — М.: Наука, 1977. 5. Самарский А. А., Тихонов А. Н. Об однородных разностных схемах // ЖВМиМФ.-1961.-1, N 1. С. 5-63. 6. Соболев С. Л. Некоторые замечания о численном решении интегральных урав- нений // Изв. АН СССР, сер. матем. —1956. 20, N 4. С. 413-436. 7. Федорова О. А. Вариационно-разностная схема для одномерного уравнения диф- фузии// Матем. заметки —1975. —17, N 6. С. 893-898.
Глава 10 Методы решения уравнений в частных производных В случае решения обыкновенных дифференциальных уравнений мы ви- дели следующую картину. Имеется ряд уравнений, интегрируемых в ква- дратурах. Решение большинства уравнений можно получить, используя лишь численные методы. Принципиально различных постановок задач довольно немного: в основном это задача Коши, краевая задача для линейных уравнений, краевая задача для нелинейных уравнений. Име- ется небольшое количество теоретически исследованных и практически отработанных алгоритмов, позволяющих эффективно решать существен- ную часть задач, связанных с численным решением обыкновенных диф- ференциальных уравнений. В частности, ряд численных методов решения задачи Коши был разработан еще в прошлом веке. В настоящее время разработка методов и алгоритмов решения зада- чи Коши для обыкновенных дифференциальных уравнений продвинута настолько, что зачастую исследователь, имеющий дело с этой задачей, не занимается выбором метода ее решения, а просто обращается к стан- дартной программе. В случае уравнений с частными производными число принципиально различных постановок задач существенно больше. В курсе уравнений с частными производными обычно рассматривается незначительная часть таких постановок, главным образом связанных с линейными уравнения- ми с постоянными коэффициентами. При этом существует очень малое количество задач, решаемых в явном виде. Многообразие постановок в теории уравнений с частными производными связано с многообразием явлений окружающего нас мира. Большое количество различных постановок задач, связанных с реше- нием уравнений в частных производных, привело к тому, что теория чи- сленных методов в этом направлении дробится на большое число напра- влений. Использование численных методов с применением ЭВМ сильно расширило возможности в исследовании подобных задач. Например, раз- работанные за последние пятьдесят лет алгоритмы дают возможность ре- шать с приемлемой затратой машинного времени подавляющее большин- ство краевых задач, связанных с решением одно- и многомерных уравне-
496 Глава 10. Методы решения уравнений в частных производных ний параболического типа с переменными коэффициентами, в частности с коэффициентами, нелинейно зависящими от решения. Конечно, здесь иначе, чем в случае обыкновенных дифференциальных уравнений, обстоит дело с. обоснованием сходимости численных методов и оценкой погрешности. Для широких классов типовых задач такие ис- следования проведены. Однако для многих важных классов прикладных задач, предъявляемых математикам для решения, не только не доказан, но часто остается неясным сам факт существования решения. Например, уже для простой на вид системы щ + нг = 0, ((sigiry)?/1)^ = 0, (1) описывающей одномерное адиабатическое течение газа в лагранжевых ко- ординатах, не доказан при I7I > 1 факт существования решения в целом (т.е. на неограниченном промежутке времени). При таком состоянии вопроса о существовании решения в настоящее время трудно ожидать получения строгих оценок погрешности и тео- рем сходимости сеточных методов при достаточно общих предположени- ях. Тем не менее, часто пользуясь полуэмпирическими соображениями, аналогиями по сравнению со случаем линейных уравнений и численны- ми экспериментами па задачах с известным точным решением, матема- тики создают численные методы решения и для таких задач. При этом результаты и анализ численных расчетов наравне с экспериментом ока- зывают существенное влияние на развитие соответствующих разделов те- ории уравнений с частными производными. Так, например, обстоит дело в случае решения уравнений газовой динамики типа (1). Несмотря на отсутствие строгих обоснований чисто математической (в частности, алгоритмической) стороны вопроса, математикам, занима- ющимся решением подобных прикладных задач, часто приходится брать на себя ответственность за достоверность получаемых численных резуль- татов, включая правильность математической постановки задачи. Конечно, все сказанное не умаляет роли чисто теоретических иссле- дований. Их результаты, в частности теоремы существования, дают уве- ренность в правильности постановки, подсказывают информацию о каче- ственных свойствах решения, что крайне важно при выборе алгоритма. Наличие известных частных решений, например в задачах газовой дина- мики, позволяет производить проверку точности предлагаемых методов. Использование известных частных решений простейших задач часто по- зволяет облегчить численное решение более сложных задач.
§ 1. Основные понятия теории метода сеток 497 § 1. Основные понятия теории метода сеток На первых этапах практического решения задач для уравнений с. част- ными производными применялись в основном вариационные и другие ме- тоды, где приближенное решение получается в виде некоторой аналити- ческой формулы. При решении некоторых задач такие методы применя- ются и в настоящее время. В последующий период наиболее актуальными для решения стали за- дачи ядерной проблематики и задачи динамики газа и жидкости, где по- добные методы практически неприменимы. На решение этих задач были направлены усилия крупнейших математиков, что имело, в частности, своим следствием создание и широкое продвижение сеточных методов решения уравнений с частными производными. В настоящее время эти методы наряду с вариационно- и проекционно-разностными (метод конеч- ных элементов) являются наиболее распространенными. При решении за- дач сеточными методами мы получаем совокупность приближенных зна- чений решения в некоторой конечной системе точек. В случае необхо- димости можно построить формулу (например, интерполяционную) для приближенного представления решения во всей области. Рассмотрим простейший пример решения задачи сеточным методом. Пусть в полуполосе 0 < х < 1, 0 < / < ос решается уравнение Щ " ихх = f(x, t) (1) при начальном и граничных условиях u(;z;, 0) = <р(х), ?z:i:(0, t) + «(i)?t(0, t.) = b(t), iz(l, t) = 0. (2) Зададимся некоторыми шагами сетки h, т > 0 (1/Л = Л/ — целое). Точ- ки (mh, пт) назовем узлами сетки (тп, п)-, пусть и™п — приближения к значениям u(mh, пт), fm = пт). ап = а(пт), Ъп = Ь(пт), uh и fi, — функции, определенные на сетке, со значениями u'f и в узлах сетки. Если искомое решение исходной дифференциальной задачи есть гладкая функция, то выполняются соотношения _ u(mh, (п + 1)т) — u(mh, пт ) I (?п, п) u((m + l)h, пт) — 2u(mh, пт) + и((т — 1)Л, пт) (3) _ = = ut(mh, пт) — uxx(mh, пт) + О(Л2 + т) = f(mh, пт) + O(h2 + г), , , , u(h, пт) - п(0, пт) . lhu(mh, пт)|(О п) =----------------И а(пт)ц(0, пт) = = «^(0, пт) + а(пт)и(0, пт) + O(h) = Ь(пт) + O(h).
498 Глава 10. Методы решения уравнении в частных производных Исходя из этого можно сделать предположение, что решение системы LhUh\(m,n) = Гт, 0<т<М, О^п, (5) lhuh\^n) = Ъп, им = 0, П > о, (6) и°т = </9(71/1), 0 т С М, (7) является приближением к точному решению исходной задачи. Значения решения системы (5)-(7) можно находить последовательно при каждом 72 следующим образом: и®п нам заданы, при каждом п величина -- 0, значения при 0 < т < М находим из (5), а затем Uq — из (6). Докажем теорему, показывающую, что сходимость приближенного ре- шения сеточной задачи к решению дифференциальной при т, h -> 0 не обязательно имеет место. Пусть в области D с границей Г = Г; ре- i~ 1 шается краевая задача £(н) = / (8) при граничных условиях li(u) = ipi на Г/, i = 1,..., s. (9) Фиксируем какую-либо точку Р в пространстве независимых переменных. Значение решения и(Р) зависит от коэффициентов уравнения, правой части f и функций </?j. Рассмотрим случай, когда уравнение (8) и граничные условия (9) ли- нейные, и изучим вопрос о зависимости u(F) от значений функции В случае нелинейного уравнения или исследования зависимости от коэффици- ентов уравнения, которая является нелинейной, проводимые далее рассужде- ния требуют для своего обоснования некоторых дополнительных формальных построений. Пусть Ф,— некоторый класс функций </д. Областью зависимости Q1(F, ФД значения u(F) по граничному условию 1\и = </д в классе функ- ций Ф1 назовем множество точек Q G Гх, удовлетворяющих следующему соотношению: для любой окрестности точки Q найдутся две функции <д{, G Фх такие, что 1) </э| — вне этой окрестности; 2) если Ui и U2 — решения задачи (8), (9) при одних и тех же /, 9927 • • -1 <Ps = 0 и при (fii = </д и <7>i = (fil соответственно, то 721(F) и2(Р). При решении задачи (8), (9) методом сеток решение ищется в узлах некоторой сетки в пространстве независимых переменных. Будем счи- тать, что сетка задается некоторым параметром h, причем h —> 0 при
§ 1. Основные понятия теории метода сеток 499 измельчении сетки. Если точка Р является узлом сетки, то при данном h решение сеточной задачи, аппроксимирующей исходную дифференци- альную задачу, зависит от значений <р\ в некоторых точках границы Гп Множество этих точек обозначим через Q2(F /г). Теорема Куранта (об областях зависимости). Для того, чтобы для неко- торых /, , <Ps и всех </?! € Ф1 при h -> 0 значения в точке Р решений сеточной задачи стремились к значению в точке Р решения дифференци- альной задачи, необходимо выполнение следующего условия: все точки мно- жества 0| (F, Ф|) являются предельными для точек множеств ОДР, h), иначе говоря, Qi(F, Ф1) С Тпп02(-Р, h). К—^0 Доказательство. Предположим противное, т. е. что существует точка Q G Qi(F, Ф1), Q lim Q2(F, h). Тогда имеется окрестность точки Q. h—tO не содержащая точек множеств Q2(F, /г) при h < Hq. Возьмем функции G Ф1, соответствующие этой окрестности согласно приведенному выше определению области зависимости. Пусть ?/* и и2 — решения зада- чи (8), (9) при </?! = <£i = соответственно и /, </?2, • , Vs = б- Пусть и0 — решение задачи (8), (9) при </?i = 0 и заданных /, V2>--->Vs- Тогда = tz1 + н°, и<2 = и2 + и° будут решениями задачи (8), (9) при и Vi = V? соответственно и тех же /, </>2, - , Vs- Значения решений сеточ- ных задач при соответствующих щ и н2 начальных и граничных услови- ях будут совпадать при h < Hq. Поскольку в то же время Ui(P) иДР), то для одного из этих наборов граничных условий решение сеточной за- дачи не сходится к решению дифференциальной. Теорема доказана. Рассмотрим пример применения этой теоремы. Пусть в полуплоскости t О решается задача Коши для уравнения щ + аих = 0 при начальном условии ?/((), ж) = иДх). Зададимся сеткой с. узлами в точках (m/г, пт) и заменим исходную дифференциальную задачу разностной: т Т т + = о, Дп = Uo(m/t). Тогда значения и^ при п > 0 определяем последовательно из соотно- шения <,+’ = (1 + ar/h^u'^ - (aT/h)u^+i. Пусть при измельчении сетки т/h = к = const. Тогда значения решения сеточной задачи в точке (жо, to) не зависят от начальных значений усло- вий вне отрезка [ж0, жо + ьГ'/о]- Точное решение дифференциальной зада- чи есть Дх, t) = иДх — at). Поэтому в классе начальных условий, облада- ющих некоторым ограниченным числом производных, областью зависимо- сти для дифференциальной задачи является точка xq — ato- Таким обра- зом, на основании теоремы Куранта необходимым условием сходимости в
500 Глава 10. Методы решения уравнений в частных производных этом классе начальных условий является условие то —ato G [tq, .+о + к-1?0] или, иначе, а 0, \ar/h\ = |а|к С 1. Заметим, что в случае рассматриваемой схемы это условие случайно оказывается и достаточным условием сходимости. Кроме вопроса о сходимости при анализе разностных аппроксимаций возникает проблема анализа устойчивости получаемого результата отно- сительно погрешностей в исходных данных задачи и при округлениях. Проиллюстрируем сказанное на этом же примере. Пусть а > 0, ат/h = 1. Тогда значения гф, определяются из рекуррентного соотношения „л+1 _ о, л _ “/77. Z,tt77l a77l+l’ При и®п = 0 решением сеточной задачи будет я.’'', = 0; пусть теперь и® = Е и и®п = 0 при m 7^ 0. Пользуясь этим рекуррентным соотношением, получаем, что тогда в узлах сетки и”, принимает следующие значения: {0 при m > 0 или m < —п, C~m2n+m(-l)nE при - п m 0. Отсюда ^2 lwml = Зпе, т. е. с ростом п разность между этим решением т=—ос и решением гф, = 0 катастрофически возрастает; поэтому при ат/h = 1 рассматривая схема не может быть признана пригодной для решения задачи в случае большого числа шагов также и вследствие большого влияния вычислительной погрешности. Таким образом, при замене решения дифференциальной задачи ре- шением ее разностной аппроксимации возникают следующие проблемы (аналогичные проблемам, возникавшим ранее при рассмотрении методов решения других задач): 1) сходится ли точное решение разностной задачи к решению диффе- ренциальной; 2) насколько сильно изменяется решение разностной задачи, если при вычислениях допускаются некоторые погрешности. Построим формальный математический аппарат, помогающий при ре- шении этих проблем. Будем рассматривать задачу (8), (9). Относительно Г, будем считать, что Г, — заданные части границы Г, причем различные Г.; могут иметь непустое пересечение; Ц — некоторые операторы; /, ,..., <ps — заданные функции. Определим некоторое множество точек в пространстве независимых переменных D/L, которое назовем сеткой (как правило, Dh выбирают так, чтобы оно принадлежало замкнутой области D). Точки множества Dh называют узлами сетки. Обычно сетка, на которой отыскивается ре- шение, зависит от нескольких параметров (в предыдущем примере от т
§1. Основные понятия теории метода сеток 501 и h); однако во многих типичных случаях при дроблении сетки ее ша- ги связывают между собой каким-то законом вида т = Aha. Поэтому в дальнейших общих построениях и определениях для простоты мы ука- зываем зависимость только от одного параметра h > 0. Пусть Uft — пространство функций щЛ, определенных в узлах сетки D/,, Lh — оператор, преобразующий функции из Uh в функции, определенные на некотором множестве D® С Df,;, будем предполагать, что D® С D. Множество функций, определенных в точках будем обозначать через Fh„ Для аппроксимации граничных условий (9) выбираются некоторые множества Гцг С Г, и в точках этих множеств определяются значения некоторых операторов над пространством функций Uh- Пусть Фц, - про- странство функций, определенных в точках множеств Г,/,. Если X С Y и функция v определена па множестве У, то ее следом на множестве X называют функцию, определенную на множестве X и совпадающую там с v. Если функция v определена на некотором множестве, содержащем Dh, т° ее след на этом множестве будем обозначать [и]/,.. Пусть U—пространство, к которому мы относим решение задачи (8), (9); F — пространство правых частей Ф,— пространства функций, опре- деленных на Гц Пусть в пространствах функций U, Uh, F, Fh, Фц Ф-д определены нормы II Изд II -Изд, II-IIf, II-IIf,,, II • Ik, || • lk„- Эти нормы называют согласованными, если при h —> 0 для любых доста- точно гладких функций и € U, f € F, ipt € Ф, выполняются соотношения II М/, Изд Iklltz; II [,f]k Изд II/'IIf; IIЫл Ik,. 1Ык- Говорят, что сеточная функция сходится к решению задачи (8), (9), если ||ЗД - МлПзд 0 при h -> 0. Исследование сходимости разностных аппроксимаций имеет смысл производить лишь в нормах, согласованных с некоторыми нормами в пространствах гладких функций. Если отказаться от требования согла- сованности норм, то условие сходимости иногда может перестать быть содержательным: в случае любой последовательности сеточных функций Uh путем введения некоторого множителя, достаточно быстро убывающе- го при h —> 0, в определение нормы можно добиться, чтобы эта после- довательность сходилась к решению задачи и. Рассмотрим некоторую сеточную задачу АЛзд) = А, (Ю) ~ 2 = 1, . . . , S. (11)
502 Глава 10. Методы решения уравнений в частных производных Говорят, что сеточная задача (10), (11) аппроксимирует дифференциаль- ную задачу (8), (9), если выполняется следующее условие: при любых гладких и, / и = || Lh([u]h) ~ [L(u)]h ||n + || fh - [f]h ||Fft + « , \ (12) + X (JIW№)- &(«)]/>.Нф.„ + 11ш- [<лЬ Ita/J если i=l Проиллюстрируем приведенные определения на примере рассмотрен- ной аппроксимации уравнения теплопроводности. Через D будем обозна- чать множество точек 0 < х < 1, (I < Z С Г; пусть Г] -отрезок [0, 1] оси х, Г2 — полуинтервал (0, Т\ оси t, Г3- -полуинтервал (0,7'] прямой х = 1; точки (0, 0), (1, 0) можно было бы отнести и к множествам Г2, Г3 соответственно. Если 1/h — М, N = [Т/т\ — целые, то через D/, обозна- чим множество точек (mh, пт) -узлов (т, п), удовлетворяющих услови- ям 0 m ф М, 0 ф п N. Определим сеточный оператор L/, соотно- шением Lhuh\(.,n,n} . п >и nfl -— ^7/^ -4— 7/^ итп ит ________ ат-|-1 * и'т—1 Т - h2 (13) Тогда множество D®t будет состоять из узлов (т, п) таких, что 0 < т < М, 0 п < N; в остальных узлах (т, п) при Uh Е Uh значения hh'^h. не будут определены. Если правую часть (13) обозначить как £дщ,|^)г п+1р то множество 1)^ будет состоять из узлов (т, п) таких, что 0 < т < М, 0 < п N. Правую часть сеточной задачи выберем в виде ПТ)- Тогда величина Ц//,[./]/J|Ffti входящая в выражение z(h), есть нуль. Это соотношение выполняется не для всех схем; например, из соображения повышения точности иногда разумнее было бы полагать правую часть разностной задачи в точке (т, п) равной f(mh, (п + 0,5)т). В качестве согласованных норм || - Це/,, и || - ||ez при исследовании этой задачи обычно выбирают нормы 1Ы114 = sup |u^|, ||iz||17 = sup |ц(ж, f)| (14)
§ 1. Основные понятия теории метода сеток 503 или же нормы м 1Ы1г/„ = sup . KI2, ™=o (15) Unlit; = sup В дальнейшем для простоты изложения будем предполагать, что опера- торы L, 1г, Lh, 1ц, линейные. В этом случае вводится следующее определение устойчивости (кор- ректности) сеточной задачи (10), (11). Эту задачу называют устойчивой, если при h ho существуют постоянные Мо и Mi, не зависящие от h, такие, что S IKI|l//t М)||-бл.'М1о, (16) 1=1 Как видно из определения, в случае линейной задачи в определение устойчивости не входят (функции f)t и (рцг. Посмотрим, какой смысл в этом определении. Для случая линей- ных задач разностная схема (10), (11) представляет собой систему ли- нейных алгебраических уравнений. Поэтому из (16) следует, что при fh = 0, (pa, = 0 система уравнений (10), (11) имеет лишь нулевое реше- ние; поэтому на основании теоремы Кронекера-Капелли задача (10), (11) разрешима при любых правых частях Д, <р^. Таким образом, в случае линейной задачи из условия устойчивости следует однозначная разреши- мость системы сеточных уравнений при любых правых частях. Если и)1 и ujt — решения сеточных задач LhUh = У/,., lihuh V’i/o Z = 1, . - , -S, Lhuh = fhi lihuh 'Pih.i * = I,---, то при линейных Lj, и 1ц, согласно (16) можно написать S Ihh - uhilrh МоIILhul - Lhul\\Fh + ^Мг II lihUh - lihUh lk,h = s (17> = Mill ft - ft u + II <4 - ||ф^. г=1 Таким образом, в случае выполнения условия устойчивости решения се- точной задачи мало различаются друг от друга при малом изменении правых частей уравнения и граничных условий.
504 Глава 10. Методы решения уравнений в частных производных Пусть и G U. Величину = Д,фф, — ,fh называют погрешностью ап- проксимации уравнения на решении задачи, а величины rlh = /^Дф(— — погрешностями аппроксимации граничных условий на решении задачи. По- ложим Ро(^) = II Д' [и]а fh Ни,’ Pi(Jd) = II <Pih Нф,/,- 5 Если и - решение задачи (8), (9). то величину p(h) = У^/Л'(^) называют 7=0 мерой гпогрегиности аппроксимации разностной схемы (10), (11) дифферен- циальной задачи (8), (.9) на решении. Если p(h) —> 0 при h —> 0 и и — решение (8), (9), то говорят, что (11), (12) аппроксимирует (8), (9) на решении задачи. Порядок величины p(Ji) при h —> 0 называют порядком, аппроксимации на решении. Выше обсуждалась проблема чувствительности реально получаемого приближенного решения сеточной задачи к округлениям в процессе вы- числения этого решения, или, иначе, проблема устойчивости приближен- ного решения сеточной задачи к погрешностям округления. Решение этой проблемы тесно связано с решением вопроса об устойчивости разност- ной задачи. Дело в том, что округления, допускаемые при вычислениях, можно рассматривать как возмущения коэффициентов сеточной задачи. Найдем связь между аппроксимацией, устойчивостью и сходимостью. Предположим, что сеточная аппроксимация (10), (11) удовлетворяет сле- дующим условиям: 1) решение дифференциальной задачи удовлетворяет точно (s — k)- сеточным граничным условиям lth{u]ii = <Pih, i = k + 1,..., .s, т.е. pi(h) = 0, i = k +• 1,..., s; 2) на классе функций из Д,, удовлетворяющих однородным гранич- ным условиям lih/Uh = 0, г = к + 1, . . . , S, выполняется условие устойчивости к ||«/г||иЛ М) || Lhuh ||F/i + у м{\\ iihuh ||ф.Л. i — 1 Теорема Филиппова (о связи устойчивости, аппроксимации и сходимо- сти). При сформулированных выше условиях выполняется неравенство к (18) 7=0 Если разностная задача аппроксимирует дифференциальную, то II - [it]h ||щ 0 при h->0.
§ 2. Аппроксимация простейших гиперболических задач 505 Доказательство. Поскольку ЦДи/, - [uJ/J = 0 при i = k + 1,..., з, то воспользуемся условием 2), подставив в пего — [и]/, вместо 'и/,. Имеем к II uh Mh ||щ М0|| ^huh ~ -Lh[u]h Ilf/, + 2 , Mi || — 4л[м]л ||ф,л > i=l подставляя сюда LfrUh = fh, — <р/, и воспользовавшись определением pi(h), получаем (18). Если имеет место аппроксимация, т. е. pi(h) —> О, i = 0,..., к, p(h) -> 0 при h -> 0, то из (18) следует справедливость второго утверждения теоремы: ||'щг — [гф,||щ ~> 0. В случае гладких решений исследование аппроксимации схемы на ре- шении является относительно несложной задачей и теорема Филиппова переносит центр тяжести на исследование устойчивости сеточной задачи. Часто случается, что сеточная задача устойчива в одной норме, со- гласованной с некоторой дифференциальной нормой, но неустойчива в другой. Так может, например, обстоять дело в случае норм, определя- емых равенствами (14), (15). В случае гладких решений для практиче- ской приемлемости схемы обычно достаточно устойчивости в какой-либо согласованной норме. В случае разрывных решений к разностным ап- проксимациям часто предъявляются некоторые дополнительные требова- ния относительно поведения их решений вблизи мест разрыва решений; в этих случаях часто недостаточно устойчивости в произвольной согласо- ванной норме. Например, требование устойчивости в определенных нор- мах предъявляется в отношении аппроксимаций задач газовой динамики. Если выполняется условие согласования, то при гладких и, переходя к пределу в (16) при h -> 0, получаем неравенство S 1Ы|ц Мо\\LuIIF + 22 Мг II liU IIф,. (19) г=1 Из этого соотношения следует корректность постановки дифференциаль- ной задачи (8), (9). Такой путь — получение оценок (16), а из них оце- нок (19)—используется для исследования корректности дифференциаль- ных задач вида (8), (9), для доказательства существования и единствен- ности их решений. § 2. Аппроксимация простейших гиперболических задач Изучение многих важных прикладных задач требует численного решения краевых задач для систем уравнений с частными производными гипер- болического типа. Такими системами являются, например, системы урав- нений газовой динамики, которые являются квазилинейными системами.
506 Глава 1U. Методы решения уравнений в частных производных Для решений таких систем типично наличие разрывов. В таких зада- чах в большинстве случаев отсутствует строгое исследование вопросов устойчивости разностных схем и сходимости, и реальный отбор разност- ных схем производится на примере простейших модельных задач, где его проще осуществить и теоретически, и путем численного эксперимента. Простейшими примерами, на которых производился отбор конечно- разностных методов решения задач газовой динамики, являются урав- нения щ + = 0 (1) и Ut + Ыи))3; = 0- (2) Далее будут рассмотрены некоторые явные аппроксимации уравнения (1), а затем и (2). При практическом анализе разностных аппроксимации задачи Коши для гиперболических и параболических уравнений часто руководствуют- ся следующим критерием, называемым спектральным признаком устой- чивости. Пусть на сетке с узлами (т, п) — точками (xm, tn) = (mh, пт) — по- строена некоторая разностная схема, например l,k выпишем все частные решения уравнения L^Uh = 0, имеющие вид < = (А(<р))“еГтД Спектральный признак устойчивости (СПУ). Если при заданном за- коне стремления шагов т и h к нулю существует С < оо, нс зависящее от, т и h, такое, что |А((/?)| еСт для любых <р, (4) то разностная, схема может быть применена для, численного решения, со- ответствующей задачи Коши. В противном случае от применения раз- ностной схемы следует воздержаться. В разумности СПУ можно убедиться, решив следующие задачи. Задача 1. Пусть определена какая-то норма || • ||п на сеточном слое по времени такая, что номер слоя не входит в определение нормы. Этому условию удовлетворяют, например, нормы ||<||п = supKI, (5) т (6)
§ 2. Аппроксимация простейших гиперболических задач 507 но не удовлетворяет норма 1Ю1п =nsup|«" |. тп Пусть схема двухслойная и явная, т. е. имеет вид LhUh\(m.n) =a<+1 + (4um+j=°, (7) 1Ж*- и пусть СПУ не выполнен. Доказать, что ни для какого Т > 0 нельзя указать Q < оо такое, что при всех пт Т выполнено соотношение 1Ю1» QlKlIo. Задача 2. Пусть т/h = const, разностная схема (3) двухслойная и явная, т. е. имеет вид (7), и начальные условия финитные, т. е. и”г = 0 при |m| > М. Доказать справедливость оценки IKJk ес™еСТ||С|| при пт Т в случае нормы (6). Если краевая задача корректна и условие (4) выполнено, то, как пра- вило. удается построить аппроксимацию граничного условия так, что- бы сеточная задача была устойчива (корректна). В то же время можно привести примеры задач Коши (для систем уравнений), где спектраль- ный признак устойчивости выполнен, а сеточная задача не удовлетворяет условию устойчивости (1.16). Исследуем при помощи спектрального признака устойчивость ряда се- точных аппроксимаций задачи Коши для уравнения щ + аих = 0 в по- луплоскости t 0. Пример 1. Разностная аппроксимация ,,'«+1 _ ,,п .,,п , — , г ,, I _ um um um+l um—1 _ п ~ °’ Подставляем сюда и/п = А’"(<Д ехр А'"+1 (<Д cxp{i'zrz<p} — X" (ip) exp{im<p} А”(<р) exp{i(m + 1)</?} — А7г (</?) cxp{i(m — 1)<р} _ + °’ 2h ~ ' После сокращения на А'1(<р) схр{1т<р} получим А(^) = 1 ” " e’iV) = 1 ~ (9) (см. рис. 10.2.1). На рис. 10.2.110.2.4 изображаются наборы уз- лов (шаблоны), по которым выписываются аппроксимации, и кри- вые, которые описывает точка А(<р) на комплексной плоскости при
508 Глава 10. Методы решения уравнений в частных производных изменении р в пределах 0 2тг; стрелка означает направле- ние изменения А(<р) при изменении <р от 0 до 2тг (при а > 0); на рис. 10.2.1-10.2.4 цифрой 1 обозначен единичный круг. Мы имеем |А(</?)| = + (a2r2//i2) sin2 <р, max | А(<р) | = IA I = т/Г + (а2т2/Л2). I \ 2 / I Если т = Ah2 при т, h —> 0, to max | A(</?) | = v/l + а2А2т = 1 + а2А2т/2 + О(т2) и условие (4) выполняется; в этом случае следует ожидать устойчивости. Если lim т/h2 = оо, то (НЭН)/т=“ и условие (4) не выполняется ни при каком (7; тогда сеточная аппрок- симация неустойчива. Эта аппроксимация практически не употребляется вследствие бо- лее жесткого по сравнению с другими схемами ограничения на шаг т = О(Л2), необходимого для устойчивости, и сильного роста (как ехр{а2А2пт/2}) возмущения решения. Пример 2. Разностная аппроксимация: ----hn + а^А/т-1 =0 при О>0 (10) Аналогично (9) получаем А((/?) = 1 — ат/к + ат//гехр{—i<p}. Если 0 ат/h 1, то (см. рис. 10.2.2) |А(<р)| 1 — ат/к + ат/h = 1 и следует ожидать устойчивости. Если ат/к = к > 1 при т, к —> 0, то lim А(тг) = 1 — 2и<—1 и аппроксимация неустойчива вследствие т. h->0 СПУ. Аналогично показывается, что следует ожидать устойчивости схемы (И) при а < 0 и
§ 2. Аппроксимация простейших гиперболических задач 509 (тп,п+1) (тп-1,п) (т,п) (т+1,п) Рис. 10.2.1 Рис. 10.2.4
510 Глава 10. Методы решения уравнений в частных производных Пример 3. Разностная аппроксимация: u”+1 - ^т+1 ~ ит-1 Ь? ит+1 ~~ ^ит + ит-1 т + ° 2h Л2 ~ °’ (12) (1 ат\ iin ат\ -Йо ат1 9~9b)e + 9 + 9а)6 =COS<P~ —SHlip. 2 Zh) \2 Zn.) li При \ax/h\ 1 имеем (рис. 10.2.3) ,,.../1 ат\ (1 ат\ |A('rfl< (2“2л)+ (.2 aj и следует ожидать устойчивости. Если же \ar/h\ = к > 1 при т, h —> I/ 7Г \ } Л ( — ) = \ar/h\ = к > 1 и аппроксимация неустойчива. Заметим, что эту аппроксимацию можно рассматривать как (8) с добавленной в нее для устойчивости «вязкостью»: /12 и^+1 - 2и% + u” /г2 2т Л2 ~ 2т^а;’ Пример 4. Аппроксимация «тренога». Приведенные выше аппроксима- ции имеют первый порядок по совокупности т и h. Построим ап- проксимацию второго порядка; для простоты будем отправляться от аппроксимации (8). Подставляя разложение Тейлора и(х, t) в точке (mh, пт), имеем (Lf,[vz]/,.)I = TUtt(mh, пт)/2 + O(h2) + О(т2). I (т, п) Из дифференциального уравнения (1) получаем иц = а2ихх. Прибли- зим а2ихх выражением a2(6xUh)m,n- Тогда соответствующая аппрок- симация = 0 примет вид wm+1 - um , ?/m+l ~ um-l а2Т '< + 1 ~ 2'"m + Um-L n n ox ------7---+ °------2h-------2-----------1?---------=°- (U) Так же как и ранее, получаем А(</з) = 1 — i(ar/h) sin + (а2т/h2) (cos ip — 1). Если мы положим Х(<р) = x + iy, то (см. рис. 10.2.4) можно написать (ж_(1_(ат/Л)2))2 у2 (ar/h)4 (ат/h)2 ' т.е. точки Х((р) лежат на некотором эллипсе в комплексной плоско- сти, расположенном симметрично относительно оси у — 0. Поскольку А(тг) = 1 — 2a2r2/h2 < —1 при |нт/Ь| > 1, то в случае |нт//1| = const. > 1 спектральное условие устойчивости не выполнено.
§2. Аппроксимация простейших гиперболических задач 511 При |ar//i| < 1 имеем (а2т2/Л2)2 a2r2/h2\ поэтому можно напи- сать цепочку соотношений (22 \ 2 22 1 + ^-(cos<p-l)j +^-sin2<p = а2т2 /а2т2\2 = 1 + (2 cos <р - 2 + sin2 <р) + ( 1 (cos <р - I)2 а2т2 а2т2 < 1 + ”^2~(2 cos р - 2 + sin2 р) + -j^-(cos р - I)2 = а2т2 = 14—(2 cos <p — 2 + sin2 p + cos2 p — 2 cos p + 1) = 1. h£ Таким образом, при |ат/Л| 1 выполнено спектральное условие устойчивости. Сделаем ряд общих замечаний. 1. Если ат/h — к при т, h -> 0, то для всех выписанных аппроксима- ций выполнялось соотношение А(<р) = ехр{—ш<р} + О(</+1), где г — порядок аппроксимации по т и h. Можно показать, что это усло- вие является необходимым для того, чтобы имела место аппроксимация r-го порядка точности. 2. Если \ar/h\ = 1 и о, > 0, то все рассмотренные аппроксимации имеют вид 11п+1 — и'1 = о um, um—l ч- Поскольку решение задачи есть и = uq(x — ai), то в этих случаях они абсолютно точные; при этом А(<р) = ехр{—\{ат/К)р} = e~lv. 3. В тех случаях, когда аппроксимации (10)—(13) некорректны вслед- ствие СПУ, их можно было бы также забраковать при помощи теоремы Куранта. 4. В остальных случаях, т. е. для (10) при 0 ат/h 1, для (11) при —1 < ar/h < 0 и для (12), (13) при \ат/Ъ\ 1, их устойчивость следует из решения задачи 2. 5. Как и в случае обыкновенных дифференциальных уравнений (гл. 8, § 9) заслуживают внимания методы интегрирования с перемен- ными шагами по времени, в ряде случаев являющиеся весьма эффек- тивными.
512 Глава 10. Методы решения уравнений в частных производных Задача 3. Доказать, что аппроксимации (10) при 0 ат/h 1, (11) при —1 ат/h 0 и (12) при |ат//г| < 1 обладают следующим свойством: для их решений выполняется неравенство m rn если m и неравенство sup I11 SUP km I, (14) m m m m если sup|?z^J существует. m Задача 4. Доказать, что при использовании этих аппроксимаций при любом п решение сеточной задачи монотонно по тп, если монотонно Это свойство монотонности делает схемы, удовлетворяющие условию (14), весьма удобными при интегрировании разрывных решений. Если при интегрировании разрывных решений употреблять аппроксимации, не обладающие таким свойством, то в разностном решении появляются па- разитические волны, имитирующие разрывы и иногда мешающие пони- манию истинной картины явления. Сделаем ряд замечаний по поводу практического употребления этих аппроксимаций. Исторически первой была аппроксимация (12); она обла- дает следующим недостатком. Если мы подставим в разложение Тейлора u(x, t) в точке (mh, пт), то получим (-М^Ь) 1(771,n) = TUtt(mh, пт)/2 - (h2/2т)ихх(тЬ, пт) + = = (та2/2 — h2/2т)ихх(тЬ, пт). Условия т, h —> 0 еще недостаточно, чтобы эта схема аппроксимировала исходное уравнение. Необходимо еще добавить условие Л2/т 0. Требо- вание корректности \ат/Ь\ 1 и ряд других условий при решении слож- ных задач приводят к тому, что отношение h2/т часто остается большим при малых т и h. Качественно это ухудшение аппроксимации проявля- ется в появлении «вязкости» аппроксимации: все неровности решения, включая разрывы, сильно выглаживаются. В случае, когда коэффициент а меняет знак, возможно совместное ис- пользование схем (10), (11), когда используется та или иная схема в за- висимости от знака а. Одна из наиболее распространенных схем решения задач газовой динамики (схема Годунова) использует именно эту идею. Аппроксимация (13) эффективна в случае гладких решений, но при наличии разрывов дает большое число паразитических волн. Поэтому она подвергается модификации в областях больших градиентов решения.
§ 2. Аппроксимация простейших гиперболических задач 513 После построения аппроксимаций (10)-(12) в применении к гипербо- лическим задачам долгое время казалось, что применение схем высоко- го порядка точности является неоправданным; такой вывод объяснялся тем, что все известные к тому времени аппроксимации второго порядка превращали разрывные решения в решения с большим числом парази- тических волн. Впоследствии теоретический анализ вопроса о качественных свойствах решений аппроксимаций при наличии разрывов показал, что этим свой- ством обладают все линейные аппроксимации второго порядка точности. Однако теоретические исследования предсказали, а практика подтверди- ла наличие аппроксимаций третьего порядка точности с удовлетворитель- ным поведением решений разностных уравнений при наличии разрывов. На рис. 10.2.5 изображено аппроксимаций уравнения поведение решений различных разностных щ + = 0 при и()(х) — 0, если х < 0, 1, если х 1; сплошной линией обозначено точное решение, о, х, —полученные рас- четные значения по схемам (10), (13) и третьего порядка соответственно. Рассмотрим пример применения СПУ в случае решения системы урав- нений. Пусть решается задача Коши для системы уравнений щ + avx = 0, vt + bux = 0, ab > 0; условие ab > 0 обеспечивает гиперболичность системы. Рассмотрим трехслойную разностную схему, аппроксимирующую ис- ходную задачу с погрешностью O(h? + т2): (15)
514 Глава 10. Методы решения уравнений в частных производных Ищем частное решение системы в виде ипт = щА’Г’Г и" = c2Xneimv. После подстановки этих выражений в (15) получим «п-i / А2 — 1 „ , isin</A А 1е,пцр ci-------+ 2с2аХ——- = 0, \ т h J А"-1^ С + 2te,A^) = 0 \ т h J и, следовательно, А2 — 1 i sin р сi-------h zac2X —— = 0, т h „ , i sin 09 A2 — 1 2cib X—------1- c-2 —-= 0. h т Эта система линейных уравнений относительно коэффициентов cj, с2 имеет ненулевое решение, если определитель системы равен нулю. Полу- чаем уравнение, связывающее А и р: det Отсюда ( А2 — 1 Ха- 2i sin tp \ т h = 0. Xb - 2i sin ip A2 — 1 < h т / (- 1V , X2 4o.6sin2<^ или Ur A2 ± 2\y/ab — sin p X — 1 = 0. h Таким образом, окончательно т I X = ^iy/ab — sin р ± \ — ab sin2 р + 1. h V п/ Если аГ2/Л2 1, то подкоренное выражение неотрицательно и т2 ( т2 \ I Al = ab -г~ sin2 р + I — ab—sin2 р + 1 ) =1. Л/ \ h, J Таким образом, при у/аЬт/h 1 СПУ выполнен. Задача 5. Показать, что при y/ab — к = const > 1 СПУ не выполнен. h Задача 6. С помощью теоремы об областях зависимости показать, что при y/ab — ~ к — const > 1 решение сеточной задачи не обязательно h сходится к решению дифференциальной задачи.
§ 2. Аппроксимация простейших гиперболических задач 515 Пусть в области 0 т М ищется функция удовлетворяющая (3) и некоторым граничным условиям Lb,t = 0 (16) относительно значений и^п при т, близких к нулю, и L2huh = 0 (17) относительно значений и?п при т, близких к М. Примечание. Число уравнений относительно значений на каждом слое берется равным числу неизвестных М + 1, поэтому некоторые из уравнений (3) отбрасываются. Для краевых сеточных задач с постоянными коэффициентами также имеется СПУ, часто позволяющий довольно просто отбраковать непри- годные для счета разностные схемы. Можно показать, что разностная схема, не удовлетворяющая этому СПУ, неустойчива. Этот СПУ заключается в следующем. 1. Должен быть выполнен спектральный признак устойчивости зада- чи Коши (отличный от сформулированного ранее). Ищутся всевозмож- ные частные решения (3) вида < = А>т, (18) Мо = sup < оо. (19) —oo<m<oo СПУ задачи Коши состоит в том, что при заданном законе стремления г, h к нулю lim sup |А| 1; (20) llv’Ho<oo обозначение sup введено с целью подчеркнуть еще раз, что верхняя МоСоо грань берется по множеству всех решений (18), удовлетворяющих усло- вию (19). 2. Должно быть выполнено условие спектральной услойчивости «ле- вой» краевой задачи, состоящее в следующем. Рассмотрим «левую» краевую задачу Lhuh\(m,n) = 0 при 0 т < оо, L^Uh = 0 (с учетом примечания) и находим ее частные решения вида U-m = ХП<рт, ||<Д|+ = sup |</9m| < ОО. 0^771<ОО
516 Глава 10. Методы решения уравнений в частных производных СПУ левой краевой задачи имеет вид, аналогичный (20): lim sup |А| ф 1. ||^||+<оо (2Г) 3. Точно так же рассматривается «правая» краевая задача Lhuh = 0 при — оо < т Л/, Ьд'и/, — 0. Ищутся ее частные решения вида и”, = Хплрт такие, что ||<^||- = sup < оо. СПУ «правой» краевой задачи имеет вид —оо<т^М lim sup |Л| ф 1. IMI-<« (21”) Заметим, что замена неизвестной переменной т' = М — т переводит «ле- вую» краевую задачу в «правую» и наоборот и соответственно преобра- зуются друг в друга СПУ «левой» и «правой» задач. Пример 5. Рассмотрим сеточную краевую задачу — 2ип лит <Ат ’т = 0, 0 < т и” - 4и‘; + Зи% Mh = 1, (22) 2h Эта задача = 0, ипм = 0. аппроксимирует дифференциальное уравнение = 0 при 0 1 с краевыми условиями их(0, t) — 0, u(l, t) = 0. Исследуем спектральную устойчивость сеточной задачи в предпо- ложении, что r//i2 = к = const при стремлении т, h к нулю. 1. СПУ задачи Коши. Ищем частные решения вида u", = Xnipm- После подстановки в (22) и сокращения на А" получаем уравнение 1 Vm-\ 1 — 2</?m + <Дт- 1 ——фт-------------^2-------- = 0 или, что то же самое, Pm+i ( 2 + (А 1)^~ ) = О’ (23) Функция tpm является решением одномерного конечно-разностного уравнения с постоянными коэффициентами (23), поэтому = ci/j"' + с2р%, где — корни характеристического уравнения /?- Г2 + (А-1)у^д + 1 = 0. (24)
§ 2. Аппроксимация простейших гиперболических задач 517 Согласно теореме Виета щ/щ = 1, поэтому = СЦ.1™ + C2pfm. Для ограниченности ||Д|о при всех щ, с2 необходимо, чтобы 1/7,11 = 1. Полагая щ = из (24) получаем А = 1 - 4 у- sin2 у. fiz 2 Если к — т/Zi2 1/2, то sup |А| = 1 и СПУ задачи Коши выпол- нен. В противном случае он не выполнен. 2. Спектральную неустойчивость «левой» краевой задачи мы до- кажем, «угадав» последовательность частных решений с = ||^т||+ < оо таких, что lim |А| > 1. Ищем решение «левой» краевой задачи в ви- т, h—>0 де и''п = А”/Д". Подставляя и\1п в (22) и сокращая на Хпрт, получим А — 1 р — 2 + и 1 _ ~~Т Д2 - °’ (25) Подставляя и'”п в левое граничное условие (22), получим урав- нение 1 - 4р + 3/? = 0. Его корни Р1 = 1, р2 = 4т ответствует А = 1 + —у = имеем соотношения + = 1 и 1 корню р2 4 1 + -к. Для m согласно (25), этого частного решения 4 |А| = 1 + -к > 1. Следовательно, СПУ этой задачи не выполнен и следует взять другую аппроксимацию граничного условия их = 0 в точке 0. Задача 7. Доказать, что аппроксимация граничного условия -^ + 4^-3ng 2h соответствует «левой» краевой задаче, удовлетворяющей СПУ. Пример 6. Рассмотрим «правую» краевую задачу. Как и в случае за- дачи Коши, получаем совокупность частных решений вида < = xnVm, <pm = схцТ +
518 Глава 10. Методы решения уравнений в частных производных где Аид связаны соотношением (25), причем, как и там, Д1Д2 = 1- Удобно представлять функцию tpm в виде <?т = + С2д™-М. Из правого граничного условия (22) получаем = Cj + С2 = 0, по- этому <дт = — ц12~м). Если |/j]| > 1, то |д2| < 1, и наоборот; в обоих этих случаях <дт —> оо при т —> — оо. Поэтому нас интере- суют лишь решения с (д^ = j/zal = 1- Тогда Д1 = elv>, д2 = e~iV и Как и в случае задачи Коши, получаем, что СПУ выполнен при к = х/К2 1/2. Рассмотренные выше разностные схемы относятся к классу явных-, значения решения на верхнем слое вычисляются по значениям решения на нижних слоях по формулам вида (ср. с (7)): wn+1 = У' нп у ит+]ит+)’ Ж* к ограничено при h —> 0. Если в разностное уравнение входят не менее чем два значения решения на верхнем слое, то такую схему относят к классу неявных схем. В этом случае значения сеточного решения на верхнем слое находят, решая некоторую систе- му уравнений 6'u'1+l = F(u", /). (26) В случае, когда матрица С треугольная (а при решении систем уравнений в частных производных блочно-треугольная), разностную схему называют полу- явной. Таким образом, полуявные схемы составляют подкласс неявных (С'- треугольная матрица), а явные — подкласс полуявных {С — единичная матри- ца) разностных схем. В случае неявных (в частности полуявных) схем возникает вопрос о построении алгоритма решения системы уравнений (26), устойчивых к влиянию вычисли- тельной погрешности. Рассмотрим простейшую полуявную схему для уравнения щ + аих = 0: ,.п+1 _ „.П „«+1 — Um ит aUm ит-1 _ g Т h (27) Ищем частные решения вида = Ane,m*’; после подстановки такого предста- вления в (27) получим А - 1 А(1 - е~^ т h Xneimv = 0. Таким образом, А(у?) = (1 + а— — а~е
§ 2. Аппроксимация простейших гиперболических задач 519 Задача 8. Пусть ст = sup Показать, что 0<С </^2тг 1) а 1 при а 0; 2) ст 1 при а— — 1; 3) ст = ;-- г > 1 при а-г = к = const, — 1 < к < 0. ’ \2к - 1| h Таким образом, СПУ не выполнен при — 1 < к < 0. В реальных вычислениях всегда участвует конечное число значений соответствующих (п + 1)-му слою. Если мы выпишем уравнение (27) при т = 1,..., М, то получим систему из М уравнений относительно (М + 1)- го неизвестных Uq+1 , , Ц-д/'. Рассмотрим случай, когда решение ищется в прямоугольнике 0 $ х X = Mh, 0 t Т. Функция и(х, t) = i[)(x — at) является решением уравнения щ + гша- = 0. Если а = 0, то решение однозначно определяется заданием начальных усло- вий и(х, 0) = По (ж); при а > 0 для нахождения решения достаточно задать и(х, 0) и ы(0, t); при а < 0 — задать и(х, 0) и и(Х, t). В случае а > 0 из граничных условий нам известно также, что «р+1 = •и,(0, (п + 1)т) и, таким образом, число уравнений равно числу неизвестных. Уравнение (27) можно представить в виде рекуррентной формулы для опре- деления и"/ QI*'' h „,п-Ц , ат 1 + К 1 + к _ ат ~ ~h' т = 1,..., М. (28) Если и "С содержит некоторую погрешность то вследствие (28) она по- рождает погрешность в равную При а 0 имеем к 0 и 0 —-— < 1. Таким образом, |<5",+1| < IC-tl, т. е. погрешности в значени- 1 Ч" к ях убывают и можно ожидать, что при вычислениях по формулам (28) накопление погрешности не приведет к нежелательным последствиям. В случае а < 0 известно значение и1^1 = и(Х, (п + 1)т), и вычисления будем вести по рекуррентной формуле, вытекающей из (27): Ct1! = (1 + С - т = М,...,1. (29) Если к sj — 1, то 0 1-1— < 1 и погрешность С11 в значении Ct-\ породит к погрешность + %+1 такУю> что ICt-tl < 1С+1|- Таким обра- зом, следует ожидать, что накопление вычислительной погрешности не будет существенным. Замечание. Для расчетной формулы (28) соотношение |<’>”i+1| < IC-M выпол- нено и при —1/2 к < 0, а для формулы (29) соотношение |Ct-il 1С+1|
520 Глава 10. Методы решения уравнений в частных производных выполнено и при —1 < к —1/2. В этих случаях, однако, не выполнен спек- тральный признак устойчивости <т = sup |А(у?) | < 1. 0^<£>^2тг Предположим, что в области t Т нас интересует решение задачи Коши при начальном условии и(х, 0) = ио(х), определенном при Х(| п а > 0. Решение дифференциальной задачи определено в полосе at х <: А'о + at. Рассмотрим краевую задачу в прямоугольнике 0 ж X = X0+at. 0 t Т. задав произвольные гладкие функции u(0, t) при 0 t <: Т и и(ж. 0) при Хо х X, удовлетворяющие условиям согласования ц(0, 0) = uo(O) и uo(Xo) = и(Х0, 0). Применим для решения этой задачи полуявную схему (27), проводя вычисле- ния на верхнем слое по рекуррентным формулам (28). Можно показать, что при гладкой функции Uq(x) в области at <: ж <: Хо + at, 0 < t <: Т полученное сеточное решение будет близко к решению задачи Коши. При решении задачи Коши и краевых задач, особенно в случае систем урав- нений, часто используется неявная схема L = 0 (30) с порядком аппроксимации O(r + /i2). Иногда эта схема используется как вспо- п-Н /2 могательная для получения решения на полу целом слое, т. е. находятся ит из соотношений u»8+1/J - и" г/2 = 0; далее используется явная формула Рассмотрим случай той же самой задачи Коши. Если мы выпишем уравнение (30) при т = 1,..., М — 1, то получим систему (Л/ — 1)-го уравнения с (М + 1)- м неизвестным. На каждом слое нам не хватает двух уравнений. Значения и’0‘ зададим как и ранее, используя граничные значения, а и'^ — по произволу. Систему уравнений (30) относительно значений ы"+1,..., u^t-i будем решать методом прогонки. Можно показать, что при гладкой функции и(1(х) и любом е > 0 решение сеточ- ной задачи сходится к решению дифференциальной в области, определяемой неравенствами at + е х Хо + at — е, 0 t Т. Для улучшения сходимости вместо задания часто целесообразнее взять так называемое «мягкое» граничное условие = 0.
§ 3. Принцип замороженных коэффициентов 521 § 3. Принцип замороженных коэффициентов Часто не удается произвести теоретическое исследование корректности разностной задачи и доказать сходимость ее решения к решению диф- ференциальной задачи. В некоторых случаях на данном этапе развития математической теории такое исследование в принципе возможно, но тре- бует от исследователя достаточно высокой квалификации и больших за- трат времени. В такой ситуации иногда ограничиваются исследованием устойчивости схем на основе описываемого ниже принципа замороженных коэффициен- тов и последующей экспериментальной проверкой полученных выводов путем расчета тестовых задач, по возможности с известным решением. Принцип замороженных коэффициентов (ПЗК) заключается в следу- щем. 1. Для разностной схемы пишется уравнение в вариациях (т. е. урав- нение, которому удовлетворяет разность двух бесконечно близких реше- ний). Это уравнение является линейным и в случае линейных задач со- впадает с исходным уравнением. 2. Фиксируется некоторая точка Р области G и замораживаются ко- эффициенты этого уравнения, т. е. все значения коэффициентов уравне- ния в вариациях берутся равными их значениям в этой точке. Если за- дача нелинейная, то коэффициенты уравнения в вариациях зависят от неизвестной функции и все значения сеточного решения, входящие в это уравнение, берутся равными их значениям в той же точке Р. 3. Получившаяся сеточная задача L?(биь) = 0 исследуется на устой- чивость методами, которые применяются для исследования устойчивости сеточных задач с постоянными коэффициентами. Предположим, что сеточная задача устойчива при выполнении усло- вия p(h, Р) > 0 (1) на шаги сетки; это условие, естественно, может зависеть от выбора точ- ки Р. 4. За условие устойчивости принимают некоторое условие О, из выполнения которого следует выполнение условия F) О для всех точек Р £ G. Часто, особенно в случае нелинейных задач, условие устойчивости y>(h) 0 выбирается с некоторым «запасом устойчивости». Рассмотрим пример применения принципа замороженных коэффици- ентов. Пусть решается задача Коши для уравнения ut + (<р(х, t, и))х — ф(х, t, и) = О (2)
522 Глава 10. Методы решения уравнений в частных производных при начальном условии и(х, 0) = Щ)(х). Через и^п будем обозначать при- ближение к значению решения в точке (ж, t) = (mh, пт). Аппроксимиру- ем уравнение (2) разностной схемой <4 “ С , 4>(™h, пт, п" ) - ^((m - l)h, пт, и^) —-------— Ч--------------------------------------ip(mh, пт, и1П) = 0. (3) Пусть + ё™п — другое решение сеточной задачи (3), т.е. ^ — раз- ность между двумя решениями задачи (3). Имеем равенство (получаемое при подстановке v™tl в (3)): ц- Лп+1) — ('цп + Л'"1 * * 4) 1 m- - -S-J---_^mh, пт, + ё”) + + <p(mh, пт, - 9?((m - l)h, пт, и™^ + h Вычитая из этого равенства соотношение (3), получим 4,+' - Sm пт, u\ln + <%) - ip(mh, пт, и”п) _ т h _ ~ ПТ, um~l - 4-1) ~ ~ № ПТ’ '4-1) _ (4) h — (-ф(тк, пт, + ё^) — ip(mh, пт, и™,)) = 0. С точностью до членов второго порядка малости по величинам <5" вы- полнены приближенные равенства <p(mh, пт, и™, + Sjn) — <p(mh, пт, и <pu(mh, пт, 9з((т - l)h, пт, + ё^) - p((m - l)h, пт, и^) « ~ 4>и((т - l)h, пт, <-1)4-1, ip(mh, пт, и", + 4) ~ iptrnh, пт, и™п) i[)u(mh, пт, 4)4- Таким образом, бесконечно малое приращение решения , его так на- зываемая вариация, удовлетворяет уравнению СИ ~ , ^(mh, пт, а” - 9?ц((т - l)h, пт, и^1)^!п 1 _ т h — ipu(mh, пт, и^)ё^ = 0; это уравнение называется уравнением в вариациях для (4). Заморозим коэффициенты, взяв все значения ipu и -фи равными их значениям в некоторой точке ги+1 _ стг А71 _Ап + а m-1 _ = Q_ (5)
§ 3. Принцип замороженных коэффициентов 523 Отсюда имеем равенство и затем оценку Ит+1| тахИт1 (|1 - «т| + IH + |1г|) ’ т \ I h I I П I/ (6) Поскольку (6) выполнено при всех т, то (I П Т I 1 п т~ I \ 1 - -т- + И + h- ) I it I I /г I/ Положим max |<5^| = ||<5"||c- Соотношение (6) переписывается в виде т F"+1llc« (h-yl + M + lTl) ||г”||с' ат Если О 1, то h Таким образом, ||<5"+1||с^е1ьМЛс. (7) Пользуясь (7), получаем соотношения Н^Нс ||<5°||с, 1И3||с^е1^||<52||с^е1^ ||<5°||с, ||Л|с^е1^ Н^-'Пс ||<5°||с- На ограниченном промежутке времени при пт Т имеем |Ип||с^е1ь|т||^||с, т. е. разностная задача устойчива по начальным данным. Устойчивость разностной схемы (5) доказана при условии 0 а— 1. h В соответствии с ПЗК постулируется, что исходная разностная схема (3) должна быть устойчива при условии т О a(mh, пт, и^) — 1. (8) Для данной разностной схемы (3) можно показать, что это условие является достаточным для ее практической пригодности при малых т. В тех случаях, когда не удается строго обосновать устойчивость раз- ностной задачи, рекомендуется создавать «запас устойчивости», сужая
524 Глава 10. Методы решения уравнений в частных производных область изменения параметров схемы по сравнению с той, которая полу- чается из принципа замороженных коэффициентов. Например, в данном случае вместо (8) рекомендовалось бы взять условие О < к а— 1 — к. h Величина требуемого сужения подбирается из численного эксперимента. Примеры сужения области устойчивости для различных схем: в 1 раз (сужение не производится); в 1,15 раза; в 1,3 раза; в 1,5 раза; в 2 раза. Заранее неизвестно, в какой области находятся значения решения се- точной задачи и^, поэтому до реального решения сеточной задачи не- льзя выбрать шаг т таким, чтобы при всех т, п выполнялось условие устойчивости (8). В частности, в связи с этим при решении нестацио- нарных задач шаг по времени часто берется переменным: ищутся при- ближения fi”i< значениям решения в точках (mh, £п); шаг тп = i„+i — зависит от п. При каждом п вычисляются А* = inf a(mh, tn, ti" ), = supa(m/i, tn, и™,). m ni Если оказалось, что Л,1, < 0, то счет по этой схеме прекращается, по- скольку ни при каком тп > 0 не удается добиться удовлетворения усло- вия 0 Л a(mh, tn, и^п)-~ при всех т. Если А\ 0, то шаг тп = tn+i — tn выбирают таким, чтобы выполнялось условие A^rn/h 1. Для линейных и слаболинейных задач во всех известных случаях, когда было проведено строгое исследование устойчивости и коэффици- енты уравнения удовлетворяли условию Липшица по всем переменным, имел место следующий факт: если выполнялся критерий устойчивости по ПЗК, то схема действительно была устойчива. § 4. Численное решение нелинейных задач с разрывными решениями Рассмотрим задачу Коши для уравнения ди ди dt дх (1) при начальном условии при при х < 0, х Л 0.
§ 4. Численное решение нелинейных задач 525 Эта задача не имеет непрерывного решения, поэтому разностная задача в обычном смысле не аппроксимирует дифференциальную. Однако тем не менее рассмотрим разностные аппроксимации этой задачи Q!11 '/1п um . п Vi — и n 771-1 p т 1 ^т-1 h п ./?<+! д.П u'm “'m ит + Чп-1 QI — 1)П um-l _ Q Т 2 h при начальных условиях 0 1 | 1 при тп < o, ит = 5 1 0 при m > 0. Нетрудно убедиться, что при т (2) (3) (4) (5) = h решением задачи (2), (5) является при при тп < О, 0; решением задачи (3), (5) является при при m — п < 0, тп — п 0. Решение задачи (4), (5) не выписывается в явном виде. При (4) имеем из Непосредственно вычисляя значения гф,, можно убедиться, что при тп — п/2 <0, |т — п/21 1, при тп — п/2 >0, |т — п/2\ 1- Более точные теоретические оценки 1 + O(qlm~n/2I) 0 + O(qlm~n/2I) показывают, что где q < 1; следовательно, решение разрывной функции при тп — п/2 —> —оо, при тп — п/2 -» оо, сеточной задачи (4), (5) близко к х — t/2 < 0, х — t/2 > 0. Таким образом, решения различных разностных задач, аппроксимиру- ющих на гладком решении одну и ту же дифференциальную задачу, в
526 Глава 10. Методы решения уравнений в частных производных случае разрывного решения могут сходиться к различным пределам при стремлении шагов сетки к нулю. Заметим, что само решение такой диф- ференциальной задачи также не определено однозначно, пока ничего не сказано о том, как проходит линия разрыва решения. В наиболее типичных случаях условия на линии разрыва являются следствием интегральных законов сохранения, из которых возникла дан- ная дифференциальная задача. Пусть и — гладкое решение уравнения (1); интегрируя (1) по перемен- ным (ж, t) по некоторой области G, получим Г f ди 1 ди2 \ или J di ~ = 0’ здесь Г —граница области G. Если умножить уравнение (1) на и и про- интегрировать по области G. то получим Г fl ди2 1ди3\ , , „ / + ) dxdt = 0 JG \2 dt 3 дх J ИЛИ /(тл-т‘4с)=0- (8) Если для гладкой функции и(ж, t) выполнены условия (7) или (8) для любого контура Г, то эти условия равносильны. Дело обстоит иначе в случае разрывной и(ж, t). Если и(ж, t) — кусочно-гладкая функция, то из (7) можно получить, что в области гладкости функция и является решением уравнения (1), а вдоль линии разрыва X(t) выполнено соотношение dX [и2 /’2] и+ + li- cit [и] 2 здесь /+(ж, t) = lim /(ж 4-е, t), е>0,е->0 /_(ж, t)= lim /(ж-е, t), [f] = f+ + f_. e<0,e—>0 Точно так же из (8) следует, что в области гладкости функция и явля- ется решением уравнения (1), а вдоль линии разрыва выполнено соот- ношение dX [г/3/3] 2(?Д. 4- u+u_ 4- гЛ.) dt Ш [tz2/2] 3(u+ 4- u_) Из вышесказанного видно, что для сходимости решения разностной задачи к разрывному решению уравнения (1) существенно определенное
§ 4. Численное решение нелинейных задач 527 соответствие между разностной задачей и законом сохранения, соответ- ствующим дифференциальной задаче. Соображения здравого смысла, численный эксперимент и теоретиче- ские оценки погрешности для случая одной неизвестной функции пока- зали, что разностная схема должна обладать свойством дивергентности. Первоначально это свойство формулировалось в следующем виде: если ищется решение уравнения dtp(x. t, и) дф(х, t, и) _ dt дх ’ соответствующее закону сохранения ффд1 — (pdx) = 0, то левая часть разностной схемы должна являться линейной комбинацией выражений ^(^m! f'm um)i ’Ф^гт tn, urn) (9) или близких к ним. Например, разностная схема (4) удовлетворяет усло- вию дивергентности по отношению к закону сохранения (7). По отно- шению к закону сохранения (8) условию дивергентности удовлетворяет разностная схема К1-1)2 - (»" )2 (ч" )3 - («"-1)3 п 2т ЗЛ Впоследствии оказалось, что условие дивергентности допускает суще- ственное расширение. Например, такому расширенному условию дивер- гентности по отношению к уравнению щ + (<р(и)):г = 0 удовлетворяет следующая разностная схема. Сначала делается полушаг Л . П । _ . П п+1/2 ит+1 + ит U™+l/2________2 , / (ит+\ С+| ~ < Т V \ 2 ) h а затем полный шаг по формуле / п+1/2 \ / п+1/2 \ и"г+1 — и’’п V у пг+1/2 J ~ V у пг—1/2) т + h Здесь разностная схема записывается в виде линейной комбинации вы- ражений (9) лишь на заключительном шаге.
528 Глава 10. Методы решения уравнений в частных производных § 5. Разностные схемы для одномерного параболического уравнения После того как мы познакомились с вопросами устойчивости и сходимо- сти для гиперболических задач на нестрогом уровне, перейдем к иссле- дованию разностных схем для параболического уравнения в случае одной пространственной переменной на математическом уровне строгости. Пусть требуется найти функцию и(х, t), являющуюся решением урав- нения „ „9 ди дли ~dt~d^ + (1) в области Qt = [0. X] х [0, 7] с начальными и краевыми условиями и(х, 0) = г*о(ж), u(0, t) = и(Х, t) = //2(f). (2) Всюду далее будем считать, что функции /, /ц и таковы, что суще- ствует достаточно гладкое решение задачи (1), (2). При построении разностной схемы поступим так же, как и ранее. Ра- зобьем исходную область Q? прямоугольной сеткой с шагами h = Х/М, г = Т/N соответственно по координатам х и t. Будем искать функцию и1', определенную в узлах (т, п) сетки Qh,T = {(mh, пт) : 0 т М, 0 n N}, которая является приближением функции и в Обозна- чим, как и ранее, uh(mh, пт) = и{п. Заменим производные в (1) разностными отношениями. Производная du/dt в точке (mh, пт) может быть заменена разностным отношением многими способами, например u(mh, (п + 1)т) — u(mh, пт) — ~ --------------------------- или же т Ди, I u(mh, пт) — u(mh, (п — 1)т) l(m/i,7ir) т В зависимости от способа аппроксимации будут получаться различные разностные схемы. Вторую производную по переменной х заменим обыч- ным способом: д2и I u((m — l)h, пт) — 2u(rnh, пт) -f- и((тп + 1)Л, пт) 9x2 l(mh,nr) ~ h2 Подставляя эти соотношения вместо соответствующих производных в (1), получим т ~ + (3) m = 1,..., М — 1, п = 0,..., N — 1; <+1 - С _ С-1 - ^П+1 + <++\ , , П+1 Т - h2 + m = 1,..., М — 1, п = 0,..., N — 1; (4)
§ 5. Разностные схемы для параболического уравнения 529 (вторая схема получена после переобозначения п —> п + 1). Функция является аппроксимацией /(ж, /.). Кроме уравнения (1) необходимо аппроксимировать начальные и гра- ничные условия. Положим и°т = и0(тЛ), и„ = 111(пт), ипм = Ц1(пт). (5) Таким образом, уравнения (3), (5) и (4), (5) соответствуют некоторым разностным аппроксимациям краевой задачи для параболического урав- нения (1), (2). Найдем порядок погрешности аппроксимации разностной схемы (3), (5). Для этого подставим в (3) точное решение дифференциальной за- дачи. Так как и(ж. пт + т) — и(х, пт) ди I т д2и | Т dt 2 dt2 |(ж,ит+е)’ О < < < т, и((тп — l)h, t) — 2u(mh, t) + u((m + l)h, t) h2 d2u dx2 + (mh, t) h2 (f‘uI 12 l(mh+4,f) u(x, t + t) — u(x, t) u(x — /г, t) — 2п.(ж, t) + u(x + h, t) ди д2и т d2u\ h2 54iz| = a “ a? + 2 «4(l.,+{) ~ 12 = /(ж, t) — (Дж, t) + O(h2 + t). Таким образом, если положить = f(mh, пт), то порядок погрешности аппроксимации разностной схемы (3), (5) будет O(h2 + т) (граничные и начальные условия выполнены точно). Аналогично устанавливается, что порядок погрешности аппроксимации схемой (4), (5) задачи (1), (2) так- же равен O(h2 + т). Между схемами (3), (5) и (4), (5), однако, имеется принципиальная разница. Выясним ее суть. Из (3) следует соотношение <+’ = С + - 2^ + <+1) + (6) В силу того что значения известны, из (6) можно найти значения и!/п (m = 1,..., М — 1) и т. д. Поэтому по известным значениям и^ решение на следующем временном слое находится с помощью явных формул (6). Поэтому схема (3), (5) называется явной.
530 Глава 10. Методы решения уравнений в частных производных Преобразуя (4), имеем - + (1 + ^) ™ = 1, •. , м - 1; = щ((п + 1)т), <+' = //''+1 = ц2((« + 1)т). (7) При известных и''п, т = 1,..., М— 1, соотношения (7) представляют собой систему линейных алгебраических уравнений относительно неизвестных т = 1,..., М — 1. Поэтому схема (4), (5) называется неявной. Система линейных уравнений (7) относительно вектора неизвестных v = (u"+1,..., и^^)Т может быть записана в виде Av = b, где матрица А и вектор правой части b имеют вид / 2т т { 1 -1 Л2 /г2 т 2т h2 + h2 0 0 0 А = “К2 и и 0 0 0 т 2т 1 + 7? / 2 к < М - 2, Ьк = < '"Т + T^+1 + ^2 Ц1((п+ 1)т), к = 1, иЛ/-1 + + 1)т), к = М - 1. Для решения этой системы можно воспользоваться, например, методом прогонки, описанным в предыдущей главе. Проведем исследование устойчивости этих разностных схем. Множе- ство узлов вида (т, п), т = 0,..., М, будем называть п-м слоем. Пусть ип — сужение функции uh на n-й слой, а <д?' — сужение правой части <//' на внутренние узлы n-го слоя. Введем нормы на слое max |<|, ||<д'! II = шах т' " " 0<тп<М Разностную схему будем называть устойчивой в странства С, если существует постоянная щ, не сетки h и г, такая, что имеет место оценка шах КН Ш- сеточной норме про- зависящая от шагов C1 ( IIV" II + maX 1 1^1 I’ (8) !/*?!, М)}) Исследуем вначале устойчивость явной схемы (3), (5). Имеет место
§ 5. Разностные схемы для параболического уравнения 531 Теорема 1. Пусть т Л2/2. Тогда разностная схема (3), (5) устойчива в сеточной норме пространства С. Доказательство. Перепишем (3) в виде ит (1 ^р)ит + Рит— 1 + Рит+1 + ТТтт где р = т/h2. Если max|u"+1| достигается во внутренней точке (то, п + m 1), ТО max |<+11 = max 1(1- 2p)ur/n + I m m I I (1 - 2p) 1И1 + 2ph”II + t||^|| = 1И11 + r||^|(. В противном случае max|i4+1| max (К+1|, |д2+1|) • Отсюда следует оценка |H+1|| max {|^+г|, Н+1|, |ИII + т||<Л1} , (9) связывающая нормы функции на соседних слоях. Представим теперь решение и1' задачи (3), (5) в виде uh = yh + vh, где yh ~ решение задачи (3), (5) с правой частью iph = 0, a vh ~ решение задачи (3), (5) с однородными граничными и начальными условиями. В силу оценки (9) для у1' имеем С другой стороны, для vh в силу той же оценки (9) получаем 1К+1Н < 1ИИ + т||<Л1 IH-'ll +т(|ИН +11^-41) п k=0 если (я + 1)т С Т. Таким образом, окончательно имеем КК11Л1 + 1КК < max < max l/ziT max lp?l, ||u°|| > + T max ||<£fc||. (O^A^JV1 1 O^IV1 " "J O^A:$./v" 1 Так как это неравенство справедливо при любом п, 0 п N, то это и означает устойчивость разностной схемы в сеточной норме пространства С. Теорема доказана.
532 Глава 10. Методы решения уравнений в частных производных (Этот вывод можно было бы сделать, непосредственно используя со- отношение (9) и не вводя в рассмотрение функции у1' и ??'.) Отметим, что постоянная в (8) получилась в данном случае зависящей от Т. Если т/h2 = п = const, то условие к 1/2 является необходимым и достаточным условием устойчивости. Задача 1. Пусть устойчива. lim h, т—»0 т/h2 - 1/2 = оо. Доказать, что схема (3), (5) не- Указание. Рассмотреть частные решения С = Aq sin -TT-Q- Доказательство устойчивости разностной схемы (3), (5) было получе- но при соотношении па шаги сетки т h2/2. Разностные схемы, которые обладают устойчивостью лишь при определенных соотношениях па ша- ги сетки, называются условно устойчивыми. Соответственно, если схема устойчива при любых сотношениях между шагами сетки, то такая схема называется безусловно устойчивой. Покажем, что схема (4), (5) относится к классу безусловно устойчивых схем. Справедлива Теорема 2. При любых h и т для решения задами (4), (5) имеет место оценка (8). Доказательство. По аналогии с доказательством предыдущей теоремы преобразуем (4) к виду <+Чр(Чл+Ч+1-С+1) = «т + ^Ч 1^т<М-1. (10) Из всех значений иДД, по модулю равных ||un+1||, возьмем то, у ко- торого индекс т принимает наименьшее значение. Если т — 0 или же т = М, то (9) выполнено. Пусть теперь т отлично от 0 и М. Поскольку |w’t'l > t/zt'i I (по определению т) и ]и%+11 то |2u^+1| > ICt'il + К+\|; поэтому sign(2t4+1 - - ^+1) = siSnum+1- Тогда при любых бит для схемы (4), (5) получена оценка (9). Завершение доказательства теоремы совпадает с доказательством предыдущей теоре- мы. Таким образом, схема (4), (5) является безусловно устойчивой.
§ 5. Разностные схемы для параболического уравнения 533 Между явной (3), (5) и неявной (4), (5) схемами имеется, таким обра- зом, принципиальное отличие. Явной схеме соответствуют явные форму- лы для вычисления функции на слое по известным значениям на преды- дущих слоях. Однако эта схема является условно устойчивой. Это при- водит к тому, что при малом шаге h мы вынуждены выбирать слишком мелкий шаг по времени (т /г2/2), чтобы обеспечить устойчивость. Это, в свою очередь, приводит к значительному увеличению затрат време- ни счета на ЭВМ и не может быть оправдано требованиями точности, если по временной переменной t решение достаточно гладкое. С другой стороны, при использовании неявной схемы можно значительно увели- чить шаг по времени т, однако при переходе от слоя к слою требуется каждый раз решать систему уравнений. Впрочем, в одномерном случае это не представляет проблемы. В частности, используя метод прогонки, можно получить 'u"+1 при известном ип за 0(М) операций, т. е. количе- ство арифметических операций при переходе от слоя к слою по порядку будет тем же, что и в случае явной схемы. Это позволяет сделать вы- вод о том, что использование неявных схем в одномерном случае часто является более предпочтительным, так как ведет к уменьшению затрат времени счета на ЭВМ. Перейдем теперь к исследованию устойчивости разностных схем (3), (5) и (4), (5) в других нормах, в частности в сеточных аналогах норм Ь2 и W? по слою. Так как исследование свойств схем (3), (5) и (4), (5) проводится по одной и той же методике, то имеет смысл объединить эти две схемы. Как и ранее, для наглядности сопоставим разностной схеме ее шаблон. В нашем случае для схем (3), (5) и (4), (5) шаблоны имеют вид, изображенный соответственно па рис. 10.5.1 и 10.5.2. (т,п+1) (7П-1,71+1) (7П,П+1) (7П+1,п+1) О— ' р' о О""' б—"------ о (т-1,п) (т,п) (тп+1,71) Рис. 10.5.1 (т,п) Рис. 10.5.2 Пусть v — функция, определенная на слое и принимающая в т-ы. узле значение vm. Обозначим Avm = (r>m+i - 2vm + Au|(a. t) = u(x + h, t) — 2iz(s, t) + u(x — h, t). Введем более общий, чем (3), (5) и (4), (5), вид схемы ^ = СТА<+1 + (1-ст)Л< + <, т = 1,...,М — 1. (11)
534 Глава 10. Методы решения уравнений в частных производных (тп-1,п+1) (тп,тг+1) (тп+1,71+1) Постоянная ст в (11) называет- ся весом и обычно берется в пре- делах 0 ст 1. В частности, при ст = 0 выражение (11) переходит в (3) , а при ст = 1 получаем (4). (zn-l.zi) (т,п) (тп+1,п) Разностную схему (11), (5) называ- ют схемой с весами. Она имеет ше- Рис. 10.5.3 ститочечный шаблон при ст G (0, 1) (рис. 10.5.3). Схема (11), (5) явля- ется явной лишь при ст = 0. Разностную схему (4), (5), чтобы отличить ее от других неявных схем вида (11) с 0 < ст < 1, называют чисто неявной схемой. Пусть I — и11 LI т г? = - стЛ<+1 - (1 - ст)Л<. ’ l(?n,n) Т Как и выше, назовем величину г = (12) где [гф,—значения решения в узлах сетки Qi^r, погрешностью аппрок- симации разностной схемы (11) уравнения (1). Заметим, что граничные и начальные условия для функции uh выполняются точно. Используя разложение и в ряд Тейлора в точке (т, £ + т/2) = (mh, пт + т/2), имеем iz(:r, t + т) — и(х, t) ди I т2 д3и I Т dt 1(х,*+т/2) 24 dt3 1(я:.Н-£)’ Aizl = Aizl ± —Л—I + О(г2) = l(x,t+^±j) 1(жД+^) 2 dt 1(ж, t+j) дх2 l(a?,t+J) + 12 дх4 l(a:,t+j) 2 dt Отсюда Tm = Lh,Au]-4>h\. . I (m, n) f c t +1) - -Л+т(а-0,5)Л^| +О(т2 + Л2). ОТ I (rr, t+2) Таким образом, если ip'rLn — f(x, t + т/2), to r = O(h2 + т) при ст 0,5 иг — O(h2 + т2) при ст = 0,5.
§ 5. Разностные схемы для параболического уравнения 535 Будем исследовать устойчивость по начальным данным, т. е. будем оценивать чувствительнось решения к возмущению начальных данных. Положим pfc(t) = 0, <ph = 0. Обозначим 1К11о,л ’М-1 Е '«)2 .т=1 1/2 Назовем разностную схему устойчивой по начальным данным в норме если существует постоянная ci, не зависящая от шагов сетки h и т, та- кая, что для решения и,г задачи (11), (5) с щ — //.у = <Ph = 0 справедлива оценка max l|u"||L , c1||u°||£2,,i- (13) 1п < /V В теории разностных схем установилась традиция, когда не делают различия между матрицей и порождаемым ею линейным оператором. Обозначим через А оператор (матрицу), который функции v со значе- ниями vq = 0, щ,... , щи-1, им = 0 в узлах 0,..., М ставит в соответствие функцию со значениями в тех же узлах равными 0, Ащ,..., Avm-i, 0. В случае р.\ = — Vh — 0 уравнение (11) можно записать в виде un+1 = Sun. Матрица S называется матрицей или оператором перехода от слоя к слою. В общем случае S может зависеть от п. Пусть {Аг}, i = 1, — собственные числа матрицы S. Матрица S симметрична и поэтому 11'5'112 =max|Ai|. Функция и®п может быть представлена в виде i дискретной суммы Фурье 0 . тгк(тк) ит = ЕС*‘ЧШ—х ‘ *=1 Из равенств . 2 тгкк тгктк ivkmh 4 sm о A sin —— = -щ sin , щ =----------2---, A A hr следует, что числа —щ. являются А. Из (11) получаем (Е — сттА)?/1 сгтЛ)-1(А/ + т(1 — <t)A). Поэтому . 7rk(rnh) \ = S I > ск sm ——— I = X к=1 / Таким образом, собственные числа ьт собственными значениями оператора = (Е + т(1 — cr)A)n°, т.е. S = (Е — 1 — т(1 — <r)vk . irk(mh) У ---------------Ск sin--—— 1 + 7<TVk X К=1 Хк матрицы S имеют вид 1-т(1-аЬ 1 + Т(ТЫк
536 Глава 10. Методы решения уравнений в частных производных Выясним, когда будет выполнено условие |Аа| 1- Заменяя А/, его выражением через щ, получаем условие _1 < 1 ~ 7'(1 ~ < х 1 + ravk Так как /ц, т > 0, то эти неравенства эквивалентны соотношениям — 1 — тсгдд 1 + тодд — т/д: 1 + 7Г7Щ.. Правое неравенство выполнено всегда, а левое — при т(1 — 2ст)1д ^2. При ст 1/2 последнее неравенство будет выполняться при любом т > 0, а при ст < 1/2 — если X2/? 2 h2 2(1 — 2ст) (1 — 2d) max дд. 2(1 — 2d) к (И) Таким образом, нами получены достаточные условия устойчивости схе- мы (11), (5) по начальным данным. А именно, если д = 0 и /Д], д,2 = 0, то при ст 1/2 разностная схема (11), (5) безусловно устойчива; при <7 < 1/2 схема устойчива, если шаги h и т связаны соотношением (14), т. е. схема (11), (5) в этом случае условно устойчива. Предположим, что условие |Ад.| 1 нарушается, т.е. что |A/i/-i| 0 и не зависит от h и т. Положим и®п тг(М — ])mh m = sin ----—-2---. Тогда 1 Т <5, где ё > 1Г;п = (1 + ё)п sin -1У11^ и ||«"|| = (1 + ё)п)|-«°II, где ё > ё > 0. Л В этом случае max ||u7,|| ос при т -Д 0, т. е. схема неустойчива. п, пт^Т Иногда используют несколько отличное определение устойчивости по началь- ным данным. Говорят, что разностная схема устойчива по начальным данным, если собственные числа оператора перехода лежат в круге радиуса 1 + ст. По- кажем, что в рассматриваемом примере это определение согласуется с (13). Действительно, пусть А/, — собственные числа матрицы S. Тогда ип = Snu° = м-i A£ck sin —- и ||un|| (1 + ct)"||w°||. В этом случае при пт = const и т -Д 0 fe=i имеем ||un|| есГ||и°||, пт Т. При исследовании разностных схем для более сложных задач, напри- мер при других типах граничных условий, более общем операторе в пра- вой части уравнения (1) и т. п., доказательство устойчивости с исполь- зованием принципа максимума или метода Фурье вызывает определен- ные затруднения, а иногда исследование устойчивости этими приемами является просто невозможным. В этом случае исследование устойчиво- сти разностных схем обычно проводится методом энергетических оценок.
§ 5. Разностные схемы для параболического уравнения 537 Опишем кратко его суть на дифференциальном уровне. Пусть и (х, t) — решение задачи ди д2 и = “(°’ *) = “(*’ *) = °’ '^0)=зд(т). (15) dt дхА Будем предполагать, что правая часть /(ж. /.) и функция uq(x) таковы, _ _ [х ( ди\~ ди что при любом t G [О, Т] существует интеграл / I —— I ах < ос в — ,/д у U'J' j ut непрерывна по t. Умножим обе части уравнения (15) на и и проинте- грируем по х. Используя формулу интегрирования по частям, получаем энергетическое тождество 1 Гх д 2 ; х (ди\2 1 х f л -/ — и clx+ — ах = / Jud; 2 Jo dt Jo \dx J J» (16) Для функции tp(x, 4), которая при любом t G [О, T] принадлежит про- странству [О, X], обозначим ||<Д/)||1 = / I — I dx. Jo \dx / О Если функция f(x, t) такова, что для любой g GWj [О, X] существует интеграл / f(x,t)g(x)dx, то через ||/Д)||_1 обозначим норму ./о 1 /А ||/(*)||_1 = sup —— / \fg\dx. ° .9Н1 Jo g&V} Согласно определению || • ||_] имеем | l*fvdx\ limi-i ||u(< е ||u(t)||2 + ± 11/(4)11^ . При получении последней оценки было использовано Е-неравенство |аЬ| еа2 + (17) которое следует из соотношений В данном случае мы обозначили Цн^)!^ через а, а 11/(4)11-!—через Ь. Тогда из (16) следует неравенство ^Ги2(1х + (1 1^111
538 Глава 10. Методы решения уравнений в частных производных Для определенности можно было бы положить е = 0,5. Проинтегриру- ем последнее неравенство по t в пределах от нуля до Т. В результате получим | \\и(Т) 1|2 + (1 - е) Г ||п(< dt < ||Ы12 + ~ Г 11/(0111! dt. Jo z 4е./о Здесь ||iz(£)|| = iz2(t, t)dxj . Последнее неравенство называется энергетическим неравенством. Из него, в частности, следует, что реше- ние и(х, t) непрерывно зависит от правой части и начальных условий. Применим несколько похожую схему к исследованию устойчивости се- точной задачи (11), (5). Напомним, что и"— значение uh на n-м слое, т.е. un(mh) = uh(mh, nr). В этом случае уравнение (11) может быть пе- реписано в виде и? = + (1 - cj)Aun + <Д, (18) где и™ = (w"+1 — и11) Iт. В пространстве функций на слое (с нулевыми граничными условиями) введем скалярное произведение и нормы: Л/-1 (v, w) = hvmWm. |ф||2 = (1!, и), т~1 М-1 z х 2 \ h / т=0 ' ' Заметим, что + ип) + и» = 1(^+1 + ц") - поэтому (18) можно преобразовать к виду и? = |л(н’1+1 + ип) + г(а - 0,5)Лгф + <рп. (19) Умножим обе части (19) скалярно на 2ти™. Получим 2т|Н||2 = (Л(н”+1 + ип), un+l - ип) + + 2 т2 (ст - 0,5)(Л<ф, гф) + 2т(гф, уД). Из формулы суммирования по частям (9.8.14) м-i м , . ^Qm_+1—^5 = - У? h——-ат + амЪм - сцбо,
§ 5. Разностные схемы для параболического уравнения 539 Vm Vm— 1 i положив ат = -----, bm = vm, имеем М-1 о . / А х , fni+l — + vm-l (At), V) = > , h-^2-------Vm = m=l M—1 X ч 2 = j>(5Mip») = -||< m=0 ' Оператор Л является симметричным (см. гл. 9), поэтому (ЛгФ+1 + аи), un+1 - ип) = (Au”+1, ни+1) - (Aun, ип) = Используя полученные соотношения, преобразуем (20) к виду 2т||д"||2 + 1Н+1Ц? + 2т2(ст - 0,5)К||? = |И||? + 2т(тф, <рп). (21) Полученное равенство по аналогии с непрерывным случаем называют энергетическим тождеством. Оценим скалярное произведение в правой части (21) при помощи е- неравенства 1(Ц\ v’")! е|НП2 + тЧИИ2- Тогда из (21) имеем оценку 2т [(1 - е)|НII2 + т(а - 0,5)|НII?] + 1К+1!1? Ml? + ^llrf- (22) Выясним, при каких ст выражение в квадратных скобках будет неотри- цательным. Заметим, что здесь Е — произвольное положительное число, которое до сих пор не было фиксировано. При 0 < Е 1 условие ст 0,5 является достаточным, чтобы выражение в квадратных скобках было не- отрицательным. В этом случае, фиксируя е 1 (например, можно поло- жить е = 1), из (22) получим lh”+1ll?« IK4l1 + ^k”ll2. (23) 4 НИ -ЫИ1, Л/ Проведем более детальное исследование устойчивости при ст < 0,5. С учетом неравенства (22) получаем которое было установлено ранее, из 2т 4(ст —0,5)т] Л2 J 1 — Е + Поэтому из выполнения соотношения 1 — е + 4(ст — 0,5)т/А2 0 следует справедливость (23). Таким образом, для справедливости (23) при ст < 0,5 достаточно выполнения соотношения (1 — е)Л2 4(0,5 - ст) (24)
540 Глава 10. Методы решения уравнений в частных производных Используя оценку (23) рекуррентным образом, получаем (25) Последнее неравенство как раз и означает устойчивость разностной схе- мы (11), (5) по начальным данным н правой части. При этом сумма в правой части (25) является квадратурной формулой для интеграла Jo 2£ Отметим, что если соответствующий интеграл / Ц/WII2 сходится, то из Jo (25) следует ограниченность сеточного решения на бесконечном промежутке времени. Таким образом, схема (И), (5) по доказанному выше является без- условно устойчивой при ст 0,5 и условно устойчивой (шаги h и т удо- влетворяют соотношению (24), е > 0 не зависит от шагов сетки) при ст < 0,5. Нами практически не рассматривался вопрос об устойчивости по гра- ничным условиям. Дело заключается в следующем. Возьмем функцию s(t, t) — щ(1)(Х — т)/Х + В этом случае функция п(.т, t) = и(х, t) — s(x, t) является решением задачи (1) с однородными граничными условиями и правой частью / + ds/dt. Таким образом, если функции щ и Д2 имеют произодные по то граничные условия в задаче (1) могут быть сняты описанным способом. В сеточном случае можно иначе све- сти задачу (11) с неоднородными граничными условиями (5) к задаче с однородными условиями. Пусть —решение сеточной задачи. Положим п m о, 1 ф тп М — 1, m = 0, тп — М. В этом случае п” удовлетворяет однородным граничным условиям (5), начальным условиям (5) и системе уравнений (11) при , замененной на V’,", гДе У’т, ~ ° ..п___— »/"+1 Д2 /Z1 h^1 ' 1 ~ ° ,.П —z,n+1 У’м-! Д2 1Z2 ^2^2 ’ 2 m ф M — 2, 771—1, m = M — 1. Таким образом, задача (11), (5) с неоднородными граничными услови- ями может быть записана как задача с однородными граничными усло- виями и некоторой измененной правой частью.
§ 5. Разностные схемы для параболического уравнения 541 Получим оценку скорости сходимости. Будем рассматривать схему (11), (5), так как остальные схемы являются ее частным случаем. Пусть «—решение дифференциальной задачи (1), a uh — решение разностной задачи (11), (5). По определению т[и] — tph = г, где г--погрешность аппроксимации. Рассмотрим разность z = [«] — v!1. Она удовлетворяет уравнению 'пТ 1 _ п ----—— = СТЛг"+1 + (1 - a}Kzn + - Г + г'1. (26) Таким образом, z™t является решением задачи (11) с правой частью г, равной погрешности аппроксимации, и однородными граничными и начальными условиями (5). Если рассматриваемая схема устойчива, то справедлива оценка (25), откуда 1Ю1? < ЕДН|2 < Е £|И|2 <I .тх ||,HI2. J=o j=0 В силу того что г = O(h2+r) при ст 0,5 и г = О(Л2+т2) при ст = 0,5, из последней оценки получаем, что при выполнении условия устойчивости решения сеточной задачи (11), (5) ?/' сходятся к решению дифференци- альной задачи и в сеточной норме max||z’l||i. При этом порядок скорости п сходимости равен порядку аппроксимации схемы. Таким образом, решение сеточной задачи сходится к решению диффе- ренциальной задачи со скоростью, по порядку совпадающей с порядком аппроксимации разностной схемы. Сходимость разностных схем была установлена в сеточной норме пространства W.J на слое. Для получения оценки скорости сходимости в других нормах следует воспользоваться соответствующими оценками устойчивости либо использовать сеточные теоремы вложения (см. § 9.8). В частности, из теоремы вложения max , Ы ^IMli следует сходимость разностной схемы с порядком, равным порядку ап- проксимации, в сеточной норме пространства С. Рассмотрим аппроксимацию граничных условий другого типа. Пусть, например, ди I 1и = — - сш = 0. (27) дх I (о, t) Заменяя в (27) производную ди/дх разностным отношением, получаем аппроксимацию граничного условия lhun = U1 hU° - aufi = 0. (28)
542 Глава 10. Методы решения уравнений в частных производных h h д2и I 2 дх2 I (о, t) Оценим погрешность такой аппроксимации. Имеем _ Mo, t) = + O(/?)-^| + 0(h2). 2dx2\(o,t) ' (29) Таким образом, построенная аппроксимация (28) граничного условия (27) имеет первый по h порядок аппроксимации. Для повышения поряд- ка аппроксимации воспользуемся приемом, который применялся при ап- проксимации условия (27) в краевых задачах для обыкновенных диф- , ы /н ^~U -п ференциальных уравнений. Из уравнения (1) выразим тгд- Получим дх2 д2и ди а+ = Ж ~~f- Тогда д2и I п(0, t + т) — ц,(0, t) дх2 I (о, t) т либо д2и I п(0, t) — u(0, t — т) дх2 I (о, t) т Подставив это выражение в (29), получим М“) = + _/(0, о) + о(л2 + т). Таким образом, аппроксимация граничного условия (27) с порядком O(h2 + т) будет иметь вид либо ~и0 п h h aU° 2 Д+1 _ 7/п Ч)Чо (30) — iin+l h Д0_а^+1_^ Ч) = 0. (31) = о h Можно также использовать линейную комбинацию этих условий п+1 _ „.п+1 --1 - h hu“+1 - 2 т' -^—9- - аи'о (32) 71+1 Из построения следует, что аппроксимация граничного условия (32) име- ет порядок O(h2 + r). Непосредственно можно убедиться, что при ст = 0,5 условие (32) аппроксимирует (27) с порядком O(h2 + т2).
§ 6. Разностная аппроксимация эллиптических уравнений 543 Заметим, что шаблон, на котором осуществляется аппроксимация, содер- жит в общем случае только четыре узла (0, n), (1, п), (0, п + 1), (1, п 4- 1) (см. рис. 10.5.4). Поэтому структу- ра матрицы линейных уравнений для нахождения в неявных схемах фактически не изменится: матрица будет иметь трехдиагональный вид. Исследование устойчивости разност- ных схем, аппроксимирующих краевые (О,п+1) (1,п+1) (1,п) (0,п) Рис. 10.5.4 условия третьего рода, проводится методом энергетических оценок по схеме, описанной выше. По аналогии с построениями, проводившими- ся для краевых задач для обыкновенных дифференциальных уравнений, можно строить схемы повышенного порядка точности, например О(/г4+т) или же О(/г4 + т2). § 6. Разностная аппроксимация эллиптических уравнений По сравнению с краевыми задачами для обыкновенных дифференциаль- ных уравнений при построении разностных схем в многомерном случае возникают дополнительные трудности, связанные в основном с аппрок- симацией граничных условий. Рассмотрим простейшую краевую задачу — задачу Дирихле для урав- нения Пуассона. Пусть область Q представляет единичный квадрат: Q = {(гг, у), 0 < х, у < 1}; — граница Q. Требуется найти функцию и, дважды непрерывно дифференцируемую внутри Q и непрерывную в за- мкнутой области Q, которая внутри области удовлетворяет уравнению д2и <Э2гА дх2 ду2 ) (1) = f и принимает на границе заданное значение ЧсЮ = а(х, У), (х, У) G (2) В дальнейшем независимые переменные будем обозначать как буквами (х, у) так и (ai, х2). Опишем построение сетки. Разобьем плоскость R2 прямоугольной сет- кой с шагами hi и h2, /ц- = l/N^. Для определенности будем считать, что Ni С Точки вида (.тт, уп) = (mhi, nh2) будем называть узлами сетки и обозначать их (т, п). Узлы, лежащие внутри Q, будем назы- вать внутренними узлами и множество таких узлов будем обозначать
544 Глава 10. Методы решения уравнений в частных производных Q/,; узлы, которые лежат на c?Q, будем называть граничными узлами и множество таких узлов будем обозначать с41/, (см. рис. 10.6.1). Пусть и(хт, уп)—значение решения в узле (zn, тг). Сеточную функ- цию, принимающую в узлах (zn, п) значения итп, будем обозначать uh. Рис. 10.6.1 (m,n+l) X" (т-1, п) (т,п) (т+1, и) (т,п-1) Рис. 10.6.2 Пятиточечный шаблон «крест»; х - точки окрестности узла (zn, п) Заменяя в (1) производные разностными отношениями, получим си- стему уравнений -&humn=fmn, т= 1,..., М -1, п = 1,..., N2 - 1; (3) здесь ДЛ' = + ^/^2’ гДе операторы dj и dj определены соотноше- НИЯМИ итп = ит+1,п ‘^‘Щпп ”Ь ит— l,n> ^2^zzwi ~ ит,п+\ 2итп + Граничные условия заменим на следующие: = ot(mhi, ттЛ2); (mhj., nh-2) G dClh. (4) Соотношения (3), (4) будем называть разностной схемой, аппроксими- рующей задачу (1), (2). Функция uh - решение (3), (4) — определена на сетке Й/, = Qfc U 5Q/i- Совокупность узлов (т, п), (77г+ 1, zi), (zn—1, n), (тп, n+l), (zn, п — 1), соответствующих значениям uh, входящим в уравнение (3), образует ша- блон разностной схемы. Уравнение Пуассона (1), таким образом, аппрок- симируется на пятиточечном шаблоне «крест». Если (zn, тг)— внутрен- ний узел, то окрестностью этого узла будем называть остальные точ- ки шаблона (рис. 10.6.2). Если в окрестности узла есть точки границы, то этот узел будем называть приграничным. Заметим, что значения и на границе дО,н известны и поэтому могут быть исключены из систе- мы уравнений (3), (4). А именно, подставляя в (3) значения из (4) и
§ 6. Разностная аппроксимация эллиптических уравнений 545 перенося известные члены в правую часть, получим систему линейных алгебраических уравнений LfoUmn ~ «1 = !>•••, 1, = 1,. . . , N% 1- (5) Нетрудно видеть, что уравнения (5) отличаются от (3) лишь в пригра- ничных узлах. Так, например, в узлах вида (1, п) уравнения (5) будут выглядеть следующим образом: 2«1п «2п 2llin «1,п+1 «1,п—1 г , ^(О, «Л2) _______________ ----^2----- + -----------Г2---------- = /1п + ---------- = <Рт- h2 ~Пп~Г h2 Число уравнений в системе (5) совпадает с числом неизвестных. Поэтому матрицу системы уравнений (5) можно трактовать как некоторый линей- ный оператор, отображающий пространство сеточных функций, опреде- ленных на Q/i, в себя. Опишем подробно структуру матрицы системы уравнений (5) в случае hi = /12 = h. Упорядочим компоненты вектора неизвестных v «естествен- ным» образом: v = («11, «21, • •, «м-1,1, «12, • • •, «м-1,М-1)Г и умножим обе части (5) на h2. Тогда матрица системы линейных урав- нений будет иметь блочно-трехдиагональную форму. -Ац A21 -A12 -A22 0 -A23 0 0 I 0 0 Am- 2,м-з -Am 0 -Am -2,M-2 -Am-2,M-1 -1.M-2 -Ам-1,М-1 где матрицы Aij размера (M — 1)(M — 1) имеют вид Ац ( 4 -1 0 I 0 -1 4 0 ... -1 ... 4 -1 0 > 0 -1 4 J > -Ai,i±l = ( -1 0 ... • 0 -1 ... 0 • ... -1 0 ... 0 0 1 J Оценим погрешность аппроксимации схемы имеют место соотношения hk l(m,n) dXkl(m,n) 12 &Хк Ip (3), (4). При и G , k = 1, 2; C4(Q) (6) 18 903
546 Глава 10. Методы решения уравнений в частных производных поэтому fmn — (т,п) бу <?4п| \ 12 ^2l(rw,n)/ + о(Л.| + /i|) — + h%). При подстановке точного решения и в (4) обнаруживаем, что краевые условия (2) выполняются точно; rh является погрешностью аппроксима- ции разностной схемы. Из проведенных рассмотрений следует, что раз- ностная схема (3), (4) имеет второй порядок аппроксимации. Исследуем разрешимость системы уравнений (3), (4). Лемма 1 (Сеточный принцип максимума). Пусть функция vh определена на Q/i и в узлах выполняется условие &hvh Js 0. Тогда хотя бы в одной точке границы d£lh функция vh достигает наибольшего значения. Доказательство. Допустим противное, т. е. что максимальное значение достигается во внутреннем узле (вообще говоря, таких узлов может быть несколько). Среди всех таких узлов выберем тот, у которого наибольшая абсцисса, т. е. узел (т, п), в котором vmn > Vm+i п и vmn = max vh(P). . h ' Pe^h Тогда, рассматривая Дпгг в точке (хт, уп), получаем h ______ Vm^[n ^тп + Ьт+1,П ( ^етг,п+1 Тотп + 1 1 Vmn - ц + ц __ ^'mn) 4" (^m+l,n ’'mn) Л? (^m,n+l Vmn) “I" (^m,n—1 Vmn) hy <0, что противоречит условию леммы; дело заключается в том, что vm+i,n~ vnm < 0, а остальные выражения, стоящие в круглых скобках, неотрица- тельны, поскольку (хт, уп) — точка максимума. Таким образом, исходная предпосылка является неверной. Утверждение леммы доказано. Доказанный принцип максимума справедлив и в случае областей более общего вида. Аналогично доказывается Лемма 2. Пусть vh определена на Йя и в узлах Пь выполнено условие Mvh 0. Тогда наименьшее значение достигается функцией vh хотя бы в одной точке границы dflh-
§ 6. Разностная аппроксимация эллиптических уравнений 547 Из лемм 1 и 2 непосредственно следует Теорема 1. Пусть vh определена на и в узлах удовлетворяет урав- нению ^hVm.n = ^\ т = 1,..., N\ — 1; п = 1,..., Аг — 1- Тогда vh достигает своего наибольшего по модулю значения на границе dtlh Теорема 1 является разностным аналогом принципа максимума для гармонических функций. Из нее следует, что система уравнений (3), (4) С fmn = 0 и атп = 0 имеет только нулевое решение, поскольку наиболь- шее по модулю значение итп равно нулю. Следовательно, определитель системы линейных уравнений (3), (4) (число уравнений равно числу не- известных) отличен от нуля и при любых fh и ah система (3), (4) имеет единственное решение. Заметим также, что отсюда следует однозначная разрешимость системы уравнений (5) при любой правой части </з. Конкретизируем общие построения § 1 этой главы. Пусть Uh, Fh и Gh — некоторые пространства функций, определенных на Q/(, и дО.н- Введем в них нормы, согласованные с нормами соответствующих про- странств в непрерывном случае. Согласно определению (см. § 1) разност- ная задача (3), (4) будет устойчивой, если существует постоянная ci, не зависящая от hi, h2, такая, что для решения uh системы уравнений (3), (4) справедлива оценка (7) Исследуем устойчивость схемы (3), (4) и оценим близость и к uh. Пусть нормы в Uh, Fh и Gh заданы следующим образом: Н^Нс/л = max|umn|, ||/Л||гл = тах|/то„|, ||аЛ||сь = тах|о!теп|. Вследствие (6) для любого многочлена Q(xi, гсг) второй степени выпол- няется равенство ^hQmn - A Q|(a;m,Vn) , так как четвертые производные, входящие в (6), обращаются в нуль. Возьмем R— \/2/2 = (diamQ)/2 и построим вспомогательную функцию Q(®1, = | Л2 - ll/',llF» + ll°hb которую будем рассматривать в узлах сетки £1^. Из вышесказанного сле- дует, что в любом внутреннем узле AhQmn = A Q|(m,n) = - ||/Л ||рЛ, т = 1,..., Ai - 1, п = 1,..., N2 - 1.
548 Глава 10. Методы решения уравнений в частных производных Тогда разность vh = uh — Q в узлах ГД удовлетворяет неравенству AS = fh + ||/||Fh о. По лемме 1 функция vh принимает наибольшее значение на границе (Xl h. Но на 9ГД справедливо отношение Таким образом, vh 0, т.е. uh Q в ГД. Аналогично, рассматривая функцию vh = uh + Q в ГД, устанавливаем, что &hvh < 0 и vh| 0. Тогда из леммы 2 следует оценка vh 0 или же uh — Q. Таким обра- зом, всюду в ГД установлено неравенство |иЛ| Q и поэтому 11«Л11^ IIQII^ ^г2НЛм + (8) Заменяя это неравенство более сильным получаем оценку (7). Таким образом, разностная схема (3), (4) устойчива в сеточном аналоге нормы пространства С. Оценим сходимость разностной схемы (3), (4). Для этого запишем уравнение для погрешности Rh(mh, nh) = Rmn = и(хт, уп) — итп-. А Опп ~ Д М/i I "I" ^тп = fmn\ I (m, п) здесь гтп — погрешность аппроксимации. В силу того, что граничные условия выполняются точно, имеем вМ =0. Так как радиус R области Q равен \/2/2, то используя оценку (8), по- лучаем ll«'‘l|U'.«Ipllr» = О(Л?+М)- О Таким образом, решение сеточной задачи (3), (4) сходится к точному решению дифференциальной задачи в сеточной норме пространства С. Напомним, что все рассуждения проводились в предположении, что ре- шение задачи (1), (2) обладает достаточной гладкостью, а именно что и(х, у) имеет непрерывные четвертые производные в Q.
§ 6. Разностная аппроксимация эллиптических уравнений 549 Из доказательства сходимости видно, что основным моментом явля- лось получение оценки (8), характеризующей устойчивость разностной схемы. Сходимость же схемы является следствием аппроксимации и устойчивости, причем порядок скорости сходимости совпадает с поряд- ком аппроксимации. Проведенное выше доказательство сходимости схемы является частным случаем теоремы Филиппова. Описанный метод дает приближенное решение, сходящееся к точному со скоростью О(Л,2). По аналогии с одномерным случаем можно постро- ить разностные схемы, обладающие более высоким порядком сходимости. Наметим пути получения более точных схем. Предположим, что решение и непрерывно дифференцируемо шесть раз в замкнутой области Q. То- гда вместо (6) можно написать равенство ё2.и | _ | 9^и I l(m,7i) 9xkl(m,n) 12 9хк Дифференцируя (1) два раза по х, получаем д4и д4и д2 / дх4 дх2ду2 дх2 Таким образом, 62v, I _ д2и Л? L , дх2 1 I (тп, п) (тп, п) h2 / д4и 12 \дх2ду2 + + O(h4). aa;2/l(m,r0 Заменяя производные в правой части разностными отношениями, имеем I _ (т,п) ~ 9x2 12 (62ё1и \ ^1^2 тзг')| +0(/ii + /i2). "1 / l(m,n) Аналогично устанавливаем, что ^2и\ Л2 П2 1(т,г1) д2и ду2 (гп,п) h2 (^2и , ^2/А 12 \ h2hl h2 ) 1 (zn, n) Складывая полученные равенства, получаем /<52н ai hl + hl ё?ё%и I \ П1 П2/1(т,п) 12 hlh2 ~ 79(^1/+ ^2/)! +O(hi+/i2 7 l(m, n) 19—903
550 Глава 10. Методы решения уравнений в частных производных Искомая разностная схема четвертого порядка аппроксимации будет иметь вид А итп Zl2 + Zig 12 ' /i2/i2 — fmn ‘’’in ln2 l(zn,n) f -I- Л2 f Jmn Т IJ2J'<nn (9) m = 1,..., N\ — 1, n = 1,..., Л^2 ~ 1- Нетрудно видеть, (рис. 10.6.3). что шаблон схемы (9) состоит из девяти точек (тп-1,п+1) (т,п+1) (пг+1,п+1) > (т,п) (ш-1,п-1) (т,п-1) (т+1,п-1) Рис. 10.6.3 Шаблон схемы 4-го порядка Схемы более высокого порядка, в отличие от одномерного случая, будут содержать тем большее, ко- личество узлов, чем выше порядок аппроксимации разностной схемы. В случае, если область (1 явля- ется объединением прямоугольни- ков со сторонами, параллельны- ми осям координат, и 1ц = /г2, при гладком решении рассмотрен- ная схема будет иметь четвертый порядок сходимости. Более точно, если решение и исходной задачи имеет шестые ограниченные производные в замкнутой области Q, то (т-1,п) (ш+1,п) справедлива оценка шах\итп - iz(a;m, у„) с/г4, nh 1 I где итп — решение системы сеточных уравнений (9), (4). Пусть (1 является объединением конечного числа прямоугольников со сторонами, параллельными осям координат, причем стороны, параллель- ные оси si, лежат на прямых х% = n^h?, П2—целое, а параллельные оси Х2—на прямых xi = nihi, ni—целое. Тогда построение и исследование разностной схемы проводится аналогично. Расмотрим наиболее простые методы аппроксимации граничных усло- вий в случае области с криволинейной границей. Ограничимся рассмо- трением равномерного шага, т. е. /гх = /г2 = h. Рассмотрим множество прямых х = mh, у = nh. Точки их пересечения между собой, а также точки их пересечения с д£1 будем называть узлами. Через Г/( обозначим узлы, лежащие на 9(1, а через 9Пл~узлы (mh, nh) с целыми коорди- натами (т, п), лежащие в Q, расстояние от которых до границы 9(1, измеряемое вдоль направления какой-либо из осей координат, меньше h. Остальные узлы сетки, лежащие в (1, обозначим (1^. Тогда в каждом
§ 6. Разностная аппроксимация эллиптических уравнений 551 узле (т, п) (т. е. в точке с координатами (ттг/г, nh)) сеточной области П/, можно записать уравнение -&humn = (ш, п) е ГД. (10) Простейший способ аппроксимации граничных условий заключается в сносе граничных условий в узлы <ЭП/,_, т. е. полагаем итп = а(ж, у), (in, п) Е dClh. (П) где (т, у) — ближайшая к узлу (т, п) точка границы. В этом случае — внутренние узлы сеточной области, а dil/, — граничные. Нетрудно видеть, что при таком способе задания граничных условий порядок аппрокси- мации будет O(h). Исследование устойчивости и сходимости разностной схемы (10), (11) проводится точно так же, как для схемы (3), (4), одна- ко в данном случае получается порядок сходимости O(h). Это является следствием довольно грубой аппроксимации граничных условий. Рассмотрим еще один способ аппроксимации граничных усло- вий. Назовем узлы dti/, пригра- ничными, а узлы Г/j — границей сеточной области. В узлах Q/г уравнение (1) заменим уравнени- ем (10); в Г/г положим ггЛ|гЛ = ah, т. е. в этом случае граничные условия выполняются точно. Пусть (тп, п) — узел 5Q/t. Для определен- ности будем считать, что узлы (тгг+1, тг), (тгг, тг+1), (т, п — 1) не Аппроксимация в приграничных лежат на Г/, (отрезки, соединяю- узлах. щие их с узлом (тгг, тг), принадле- жат Q), а узел (т — 1, тг) лежит на Г/j. (В этом случае узел (т — 1, п) соответствует точке ((т — l)h6, nh) G <9Q, 0 < в < 1 (см. рис. 10.6.4).) Тогда аппроксимация (1) в приграничном узле (тгг, тг) берется в виде д'1,. и,тп 1 / ит+1,п итп h V h h* ит, п+1 2итп ”Ь ит,п—1 Л2 (12) Здесь h* — расстояние между узлами (т—1, тг) и (тгг, тг). Аналогично осу- ществляется аппроксимация уравнения (1) в других узлах Итак, в узлах Q/j уравнение (1) аппроксимируется обычным образом, а аппроксимация на неравномерной сетке используется только в узлах 9П/г- Поэтому узлы Q/г называют регулярными, а узлы d£lh нерегуляр- ными. Аппроксимация уравнения (1) в нерегулярных узлах в данном случае имеет порядок (9(1).
552 Глава 10. Методы решения уравнений в частных производных Для рассмотренной схемы имеет место Теорема 2 (без доказательства). Если решение задачи (1) и е C4(Q), то разностная схема (10) с аппроксимацией (12) в нерегулярных узлах имеет второй порядок сходимости в сеточной норме пространства С, т. е. - «IU с/г2- Замечание. Довольно распространенным является другой способ аппрок- симации уравнения (1) в нерегулярных узлах. А именно, полагают (см. рис. 10.6.4) <^2 итп А итп 2 h + h* Щпп п h* (13) ^m+l,n Щпп В этом случае погрешность аппроксимации в таких узлах имеет поря- док О (/г) и теорема 2 будет справедлива. Однако если систему линей- ных уравнений путем исключения граничных значений привести к виду (5), то получится система уравнений с несимметричной матрицей. Та- ким образом, в данном случае сеточная задача теряет важное свойство, присущее исходной задаче — симметричность оператора. При исследовании краевых задач с другими граничными условиями и эллиптическими дифференциальными операторами более общего вида, а также краевых задач для систем уравнений в частных производных принцип максимума, разностный аналог которого использовался при ис- следовании устойчивости и сходимости разностной схемы, вообще гово- ря, не имеет места. Кроме этого, часто бывает необходимо оценивать не только близость получаемого приближения к точному решению, но и близость их производных. Все это приводит к необходимости создания методов исследования разностных схем, не использующих принцип мак- симума. Как и ранее, проиллюстрируем методику исследования на мо- дельной задаче Дирихле для уравнения Пуассона в прямоугольнике (1), (2) и на соответствующей разностной схеме (3), (4). Пусть hi = Z12 = h. Исключая граничные условия (4) из (3), получаем систему уравнений (5). Обозначим через Н линейное пространство сеточ- ных функций, определенных на Clh- Таким образом, элементы Н можно рассматривать как векторы размерности (Ni — 1) х (7V2 — 1); компоненты этих векторов являются значениями функций в узлах Q/(. Матрица Lh системы уравнений (5) порождает линейный невырожденный оператор в Н. Тогда если uh — {итп}, <ph — {<ртп}, то система уравнений (5) может быть записана в операторной форме: Lhuh = yh. (14)
§ 6. Разностная аппроксимация эллиптических уравнений 553 Здесь Lh — оператор, соответствующий матрице системы уравнений (5). Введем в Н скалярное произведение (и, и) = ^2 h2u(P)v(P), u,v&H. (15) РеПл Скалярное произведение (15) согласовано со скалярным произведением функкций в Z2(Q), т-е. lim([<7i]h, [с?2]а ) = / 9192 dx h-^0 V ' Jc> для лкфых непрерывных функций из Z2(^)- Пусть ||н||2 = (ц, г). Справедлива Лемма 3. Оператор Lf, является симметричным и положительно опре- деленным на Н, и для него выполнена оценка 71IMI2 (Lhv, v) С 72(|н||2, (16) где 0 < щ С 71, о 72 С а2^~2; °г не зависят от h. Доказательство. Заметим прежде всего, что симметричность оператора Z/i следует из симметричности соответствующей ему матрицы. Проведем, однако, доказательство этого факта другим методом. Пусть v G Н; обо- значим через v сеточную функцию, совпадающую с v на И/, и равную нулю на cJQ/,. Тогда из определения Lf, можно записать (LhV)mn = ( Д v)mn< 1 N 1. Представим Lf, в виде Lf, = Lj + Z2, где Т I ^т+1,п Т 2VjTin ^тп—1,п Zid =--------------, 1тп ГЬ Y | ___ ^т,п+1 Т ^т,п—1 т. е. Li и Z2 являются одномерными сеточными операторами, соответ- ствующими дифференциальным операторам 02 д2 -—-77 и — —ту. Покажем, что ох/ иД Lk симметричен и положительно определен. Пусть для определенности к = 1. Используя формулу суммирования по частям (9.8.14), получим N-1 „ _~ /Т \ V-'' ,2 ^m+1 , 72 -t- ^тп 1>т- 1,п ~ (Z1V, w) = > h ---------^2------------—wmn = т,п=1 N-l /N-1 _ ~ Er I V'» Vm+l,n "г ^Vmn ^т—1,п ~ h I 2^h------------^2----------W^n п=1 \т=1
554 Глава 10. Методы решения уравнений в частных производных Функции v и w входят в правую часть равенства симметричным обра- зом, поэтому N-1 N z~ _ \/~ ~ \ , т , V' ,2 / vm,n Vm—l,n \ / wm,n , т , (£1^ ™) = > > Ub ( -------1------ ) ( ----1------- ) = V)’ n—1 m=l ' ' ' ' т. e. оператор симметричен. С другой стороны, из разностного аналога теоремы вложения (§ 9.8) получаем IV—1 N , ~ ~ х 2 (гл о) = х д—Ч > п=1 тп=1 ' ' Используя аналогичную оценку для оператора L^. получаем {Lhv, v) > |lM|2, т. е. левая часть (16) доказана. В другую сторону оценка получается намного проще. Поскольку ('Чг,71 — ^тп—l,n)2 ^т,п + V-m—1,л)> ТО (Т к 4 п и2 (Z1V, «Н 2,2? ------------------ = ^2^11 ’ 72“ 1 771—1 откуда (LhV, V) А|Н|2. /lz Лемма доказана. Задача 1. В случае прямоугольника со сторонами и показать, что минимальным и максимальным собственными значениями оператора Lh являются соответственно •^min — 4 / 9 7r/li . 9 7г/г? \ Sin —— Sin —i 2Zi 2Z2 Zl2 Zl2 / 9 7rZll 9 7rZl? \ cos ^Z? COS 2ZT hl hl \ / Таким образом, (16) выполняется при 71 — Amin и 72 = Amax, что по порядку при hi = Тгг совпадает с оценками, полученными выше. Из проведенных выше рассуждений вытекает возможность введения в пространстве Н нормы IMli = (LhV, v),
§ 6. Разностная аппроксимация эллиптических уравнений 555 которую называют энергетической. Название связано с тем, что в не- прерывном случае при и, имеющем физический смысл отклонения мем- браны и и |0q = 0, выражение пропорционально потенциальной энергии мембраны. Будем исследовать устойчивость разностной схемы (14) в Н. Умно- жим обе части (14) скалярно в Н на uh- применяя (16). получим = (yA uh) 1И11И1 < 7Г111^II1И11- Поэтому справедлива оценка (17) что означает устойчивость разностной схемы. Отсюда, в частности, сле- дует, что система уравнений (14) при iph = 0 имеет лишь тривиальное решение uh = 0, т.е. мы еще раз доказали, что (14) разрешима при любой правой части единственным образом. Оценим скорость сходимости разностной схемы (3), (4) в энергетиче- ской норме. Как и ранее, будем предполагать, что решение и диффе- ренциальной краевой задачи (1), (2) имеет непрерывные четвертые про- изводные в замкнутой области. Тогда погрешность Rh = [u]/, — uh будет удовлетворять уравнению LhRh = г = - Lhuh, (18) где г = O(li2) — погрешность аппроксимации. Применяя оценку (17), име- ем l|Bh||i 7Г1||г|| = O(h2). Таким образом, рассматриваемая разностная схема имеет второй порядок сходимости по h в энергетической норме. При исследовании скорости сходимости в энергетической норме мы предпола- гали, что решение имеет непрерывные четвертые производные. Оказывается, что это требование является завышенным и тот же результат можно полу- чить в предположении, что решение обладает только третьими непрерывными производными в Й. Это связано с тем, что погрешность аппроксимации имеет дивергентный (дипольный) характер. Используя формулу Тейлора, получаем ц(ж,п+1, уп) - 2и(хт, уп) + u(xm~L, уп) _ h h2 “6 д3и I д3и I Ут+1,п Утп h т = 1,..., N — 1; 6
556 Глава 10. Методы решения уравнений в частных производных здесь Xi-i Xi. Аналогичная формула получается и для разности по вто- рой переменной. Следовательно погрешность будет удовлетворять уравнению (18) с правой частью, равной _ П / ¥7п+1, п У™» п+1 У"1” 6 h + h Умножим обе части (18) скалярно в Н на Rh. Используя формулы суммиро- вания по частям, правую часть преобразуем к виду т, п=1 Vm,n+1 Vmn t Щпп h Vmn h Таким образом, |(г, ЛЛ)| у (||^(1)|| + НЛ) С с/? H^Hi; поэтому 7i ||-R/l||i ch2 ||7?/l||i, откуда следует = О(К2). При построении разностной схемы, аппроксимирующей уравнение (1) с краевыми условиями второго или третьего рода, можно воспользоваться методами, которые применялись в одномерном случае. Пусть для опреде- ленности рассматривается задача для уравнения (1) с краевым условием третьего рода OU \ I ——|-#u) = a, 0(s)^O, s & д£1. дп / 1ап (19) Напомним, что в качестве области Q мы рассматриваем единичный ква- драт. Для определенности рассмотрим аппроксимацию условия (19) на участке границы х = 1. Тогда, заменяя производную в (19) разностным соотношением, получим «№|-«ЛГ-1,п T ^Nr^Nn — h Найдем погрешность аппроксимации (20) u(l, nh) - u(l - h, nh) ------------------1- 0(1, nh)u(l, nh) — а(1, nh) — f du h d2u = (fc-2a?+e“““ _ h d2u 2 dx2 + О(А2) = 1(1,nh) + О(Л2). (l,nh)
§ 6. Разностная аппроксимация эллиптических уравнений 557 Таким образом, погрешность имеет первый порядок по h. д2и д2и еМ дх2 = ~ ду2' Т°ГДа аппроксимации граничных условий (20) д2и Выражая из уравнения (1), получа- д2и дх2 1(1, nh) £ + 'IZyv,тг—1 x-j/r 2' = -J Nn-------------------------------------I-ЦП (l,nh) П Поэтому если рассмотреть аппроксимацию граничного условия (19) вида "U-Nn ^N—l,n п -------7------1- VNnUNn ~ OlNn — , , 9 х (21) И ( , W,ti+1 ^Nn + uN,n—1 \ n - 2 (Дгп + ------------) - °’ то в силу проведенных выше построений получаем, что соотношение (21) аппроксимирует краевое условие (19) с порядком О(/г2). Приводя подоб- ные члены, преобразуем (21) к виду UN—l,7i 01^(11^,77+1 "Т 'U‘N,n—1) о , д I" C4V71 ^Nn — (у!\:п + JNn- (^) Отсюда ясно, как будет записываться аппроксимация граничного условия в других узлах д£1ь. В частности, с помощью подобных рассуждений получаем аппроксимацию в угловом узле (N, 0): 2идг0 ~ W-1,0 “ W1 , о ---------------------h 20/vo Wo = 2адго + п/no- (23) h, Заметим, что в данном случае граница сеточной области включает угло- вые точки. Другой способ аппроксимации граничного условия (19) опирается на то, что берется другая сетка. Рассмотрим множество узлов B/i = {х = (xi, Х2); = jh — h/2, j = 0,..., N + 1}, h = IV-1, и пусть ilh — множество узлов сетки, лежащих в В. Тогда, как и ранее, урав- нение (1) можно аппроксимировать в узлах ГД обычной пятиточечной схе- мой. Краевые условия (19) на такой сетке будем аппроксимировать следую- щим образом: W+l,n- UNn в (Nh, nh>) + uN+1,n+uNn = а nh>) (24) Предположим, что решение дифференциальной задачи может быть продолже- но за пределы области Г2 с сохранением свойств гладкости. Тогда выражение (24) аппроксимирует краевое условие (19) на участке границы х = 1 с порядком O(/i2). Это можно непосредственно проверить, подставляя решение и в (24) и воспользовавшись формулой Тейлора в точке (1, nh).
558 Глава 10. Методы решения уравнений в частных производных Метод конечных элементов. До сих пор рассматривалась разност- ная задача Дирихле для уравнения Пуассона, которая строилась непо- средственно путем замены производных в дифференциальном уравнении разностными отношениями. Аналогично случаю краевых задач для обык- новенных дифференциальных уравнений рассмотрим способы построения дискретных аппроксимаций, основанные на вариационных и проекцион- ных принципах. Будем рассматривать краевую задачу (1). (2) с одно- родными граничными условиями. На множестве непрерывно дифференцируемых функций, обращающих- ся в нуль на границе 5Q, введем норму Ihll/P = dxdy 1/2 = ^J^(Vv)2dxdy (26) Замыкание множества таких функций в этой норме является гильберто- вым пространством; обозначим его через Н1 (ранее мы его обозначали О 1 И/2). Рассмотрим задачу о нахождении минимума функционала min Ф(г>) = min < / (Vr)2 dxdy — 2 / fvdxdy vEH1 vEH1 (,/q ./q на пространстве функций H1. Если классическое решение и задачи (1), (2) при а = 0 существует и принадлежит Н1, то оно дает минимум функционалу (26). Обратное, вообще говоря, неверно; функция, доставля- ющая минимум функционалу (26) на Н1, не обязательно должна обла- дать вторыми производными. Таким образом, задачу нахождения решения (1), (2) можно заменить задачей о нахождении минимума квадратичного функционала (26) на Н1. Решение, получаемое в результате минимизации функционала (26) на Н1, является обобщенным решением краевой задачи (1), (2). Для построения вариационно-разностной схемы воспользуемся методом Ритца. Аппроксимируем Н1 некоторым конечномерным подпространством Vh; в методе Ритца за приближенное решение задачи (26) принимают функцию v G Р71, минимизирующую функционал (26) на подпростран- стве Vh. Подпространство Vh построим следующим способом. Пусть Q/, = {(ж, у); х — mh, у = nh; 0 С т, п Р Лг}. Разобьем П на квадратные ячейки со стороной h и вершинами в узлах ГД. Каждую ячейку йти = {(х, у), mh С х < (т + l)h, nh С у С (п + 1)Л} разобьем диагональю, проходящей через вершины (m, n), (т + 1, n + 1)- Таким образом, вся область Й будет разбита на прямоугольные треуголь- ники с катетами, равными h. Эти треугольники будем называть элемен- тарными, а разбиение области Й на треугольники — триангуляцией обла-
§ 6. Разностная аппроксимация эллиптических уравнений 559 emu Q. В качестве подпространства V1' пространства Н1 возьмем про- странство непрерывных в Й функций, линейных на каждом элементар- ном треугольнике и обращающихся в нуль на Ml. Каждая функция из Vh однозначно определяется своими значениями в узлах Йд и, обратно, каждая сеточная функция, которая принимает в узлах сетки заданные значения, однозначно определяет функцию из Vh. При этом функция из Vh называется кусочно-линейным восполнением сеточной функции. Таким образом, существует взаимно однозначное соответствие между Н и V/l, где Н — пространство сеточных функций, определенных па ЙЛ и прини- мающих нулевые значения на 0ЙЛ. Функции G Н: ( 1, (х, у) = (mh, nh), Vmn Q, (mh, nh), образуют базис в H. Соответствующие им кусочно-линейные функции <ртп из Vh, принимающие значения, равные единице в узле (т, п) и нулю в других узлах, будут образовывать базис в Vh. В качестве приближенного решения задачи (26) возьмем функцию vh е Vh, которая минимизирует функционал (26) на подпространстве Vh, т. е. min Ф(п) = Ф(гЛ). (27) vevh Предположим, что vh существует; представим ее в виде N-V V = Vijipij, i,j=l где Vij — неизвестные коэффициенты разложения. Отметим, что v^, в си- лу выбора функций tpij, является значением и1г в точке (i, j). Таким образом, отыскание приближенного решения состоит в определении ко- эффициентов Выпишем уравнения для определения этих коэффи- циентов. В точке минимума функции Ф(^2 v-ijipij) должны выполняться равенства аф(Е^) =0. = <™тп Вычислим левую часть этого соотношения: - j dxdy = 2^ &Pij dy dy f фтП dxdy.
560 Глава 10. Методы решения уравнений в частных производных Следовательно, система уравнений относительно V{j будет иметь вид dip-tj dipmn дх дх dtpij dipmn ду ду dxdy = (28) I f<Pmn dxdy, т, п = 1,..., N — 1. о Количество уравнений в (28) совпадает с количеством неизвестных. Рис. 10.6.5 Носитель функции ipmn Функция ipmn отлична от нуля лишь в тех элементарных треугольни- ках, которые имеют узел (т, п) сво- ей вершиной. Поэтому в каждом из уравнений (28) интегрирование ведет- ся не по всей области Q, а лишь по пересечению таких треугольников с Q. Множество точек, где ipmn 0, обра- зует шестиугольник (см. рис. 10.6.5). Обозначим этот шестиугольник через Smn, а входящие в него треугольни- ки — через Ai,..., Ag. Положим ji (i j)= [ dyw dipd d d Qx Qx dxdy, "f'mn a поскольку —-— = 0 в Д2 дх и Д5, то Jmn(*,i) dxn 'dxdxdy Г dipтп dipij Г dipinn dipij .) = / —------~^-dxdy + / —-----—+dxdy. J&iU&e dx dx Ja3ua4 dx dx Отсюда видно, что J,[nn 0 лишь при j = n и i = m — 1, i — m, i = m+1. Проводя соответствующие вычисления, получаем n) = [ dxdy + f ( } dxdy = 2, JAiUA6 \ dx J Уд3ид4 \ dx ) \ Ti i i \ I dipmn dipm+±n Jmn(m + 1, n) = Jmn(m - 1, n) = / — ---------—- dxdy = -1. •/ДзиД4 ax ox Аналогично, для «/Ди(г, j) = f dipmn dxdy ПОЛучаем 2, Jmn(rn, П -|- 1) 'Лтгп(^'1 в остальных случаях j) = 0.
§6. Разностная аппроксимация эллиптических уравнений 561 Таким образом, уравнение, соответствующее узлу (т, п), записывается в виде vm+l,n vm-l,n vm,n+l ~ 9тпл где gmn = I f<Pmn dxdy. Разделив обе части на Л2, получим систему сеточных уравнений = 9mni 1 Н. TV 1, (29) структура которой полностью совпадает с (5). Единственное отличие за- ключается в другом способе вычисления правой части. Однако если дтп вычислять приближенно, полагая Lff Я Я Я Я - г ^2 / ? <Ртпп dxdy дтп ^2 / Vmn dxdy — Jmn-} J^mn ”^mn то получится разностная схема, полностью идентичная (5). Так как левая часть системы (29) совпадает с левой частью системы (5), то система уравнений (29) имеет единственное решение при любой f. Справедливы неравенства ||ц - иЛ||Я1 ЕЕ ||ц - ^||Х < C1h\\f\\L2, ||u - Uft||L2 < Clh2\\f\\L2. Таким образом, в случае описываемого метода требования к гладкости решения существенно меньше, чем в случае применения метода конечных разностей. Построение разностных схем таким способом особенно целесообразно в случае уравнений и систем с естественными граничными условиями, когда непосредственная аппроксимация граничных условий вызывает за- труднения. В последнее время получили широкое распространение проекционно- разностные методы решения краевых задач (метод конечных элемен- тов). Описанный выше метод построения разностных схем с помощью метода Ритца является одной из разновидностей метода конечных эле- ментов. Опишем в общих чертах суть проекционно-разностного подхода на другой модельной задаче (ср. с § 9.11). За основу метода обычно берет- ся интегральное тождество для определения обобщенного решения. Итак, предположим, что в квадрате Q = {х = (®i, х%), 0 < хх, х% < 1} требуется найти решение краевой задачи -Ли =/, (f^ + mi)|r = 0’ и|0П\г = 0, а > 0, (30) где Г — участок границы, лежащий на прямой х = 1. Предположим, что классическое решение этой задачи существует. Умножим обе части уравнения (30) на функцию (р, частные производные которой являются
562 Глава 10. Методы решения уравнений в частных производных кусочно-непрерывными и 99 =0. Интегрируя по частям и используя 1й0\Г краевые условия, получим / VuS7cpdxdy + I a(s)u(s)99(s)ds = / fipdxdy. (31) Jsi Jr Jsi Соотношение (31) называется интегральным тоэ/сдеством; оно имеет ме- сто для любой функции С Н1, где Н1 — пространство, являющееся за- мыканием множества гладких функций, равных нулю на в норме (25). Если и является классическим решением задачи (30) и имеет сум- мируемые в квадрате производные, то оно удовлетворяет (31) и и G Н1. Обратное, вообще говоря, неверно. Можно указать функции и п f, для которых выполнено (31), однако классическое решение задачи (30) су- ществовать не будет. Функцию и G Н1, удовлетворяющую интегральному тождеству (31), называют обобщенным решением задачи (30). Обобщен- ное решение, определяемое из интегрального тождества (31), совпадает с обобщенным решением, определяемым минимизацией функционала / | Vw|2 dxdy — 2 / fvdxdy+ I a(s)v2(s) ds. Jsi Jsi Jr Подобное обстоятельство всегда имеет место в случаях, когда исход- ный дифференциальный оператор является симметричным и положитель- но определенным. Если эти условия не выполнены, то задача определе- ния обобщенного решения не может быть сформулирована в терминах минимизации некоторого квадратичного функционала, но может быть сформулирована при помощи интегрального тождества типа (31). Поступим аналогично предыдущему случаю. Триангулируем область Q и введем пространство V1' функций, кусочно-линейных на элементар- ных треугольниках и обращающихся в нуль на 0П\Г. Приближенным решением задачи (31) назовем функцию и'1 G Vh такую, что для любой G Vh выполняется равенство f \7uh\7(pdxdy + f a(y)uh(l, у)ср(1, у) dy — [ ftpdxdy. (32) Jsi Jo Jsi Таким образом, интегральное тождество (32) совпадает с (31) с той лишь разницей, что в (32) решение и пробные функции берутся из подпро- странства Vh С Н1. Функция uh полностью определяется своими значениями в узлах сет- ки. Для того чтобы uh удовлетворяла (32), необходимо и достаточно, чтобы (32) было справедливо для любой функции ср G Vh, входящей в базис Vh. В качестве базисных функций возьмем функции из Vh, кото- рые равны единице в одном из узлов ГУ' иГ/, и нулю во всех остальных узлах. Это дает нам систему сеточных уравнений. Обратим внимание на тот факт, что теперь в базис входят функции, которые, вообще говоря, отличны от нуля на Г.
§ 6. Разностная аппроксимация эллиптических уравнений 563 Представим uh в виде и'1 = '£'UmnfPrnn, где итп — неизвестные коэф- фициенты. Подставляя это выражение в (32), получаем У^итп / dxdy + ?/) dy = т,п J Я т,п = I f<Pij dxdy; 1 i N, 1 j TV - 1. ./fi (33) Совокупность соотношений (33) образует систему линейных алгебраиче- ских уравнений относительно неизвестных коэффициентов umn и поро- ждает некоторую проекционно-разностную схему (эта схема могла бы быть получена и как вариационно-разностная). Так как любая функция tp € Vh может быть разложена по функциям то из выполнения (33) будет следовать справедливость (32). Таким образом, выражения (32) и (33) эквивалентны. Для доказательства устойчивости (33) положим в (32) ip = uh. Тогда ||г?||1 [ (Vuh)2 dxdy + f а(т/)[цЛ(1, у)]2 dy sC ./о Jo I [ fuhdxdy\ = |(/, uh)k ll/ll-l • ll^lh Mn I 1 1 где = sup veh1 К/, *01 Ildll ll/ll-l Таким образом, ||мй||1 Ц/Ц-i- Это означает устойчивость проекционно- разностной схемы, т.е. малым изменениям f в норме ||-||-i соответствуют малые изменения uh в норме || Щ. Рассмотрим структуру матрицы системы уравнений (33). Если 1 г N — 1, то ;|г = 0, поэтому интеграл по Г в (33) равен нулю. В этом случае выражение (33) совпадает с (28), и, следовательно, уравнение, соответствующее функции имеет вид iuij Ui+i’j — h где 9ij — В точках Г, т.е. в узлах вида (N, j), имеем 2iqvj — mw,_] — UMj+i -----------2-------------Ь uNj — wtv-ij + + (a^Ujyj-i + odjUNj + odj+]uN^j+1) = h2gNj.
564 Глава 10. Методы решения уравнений в частных производных Здесь ah = I tpNjipNn^y) dy, h2gpfj = / ftp^jdxdy. В случае, когда aJn Jr Ja и gij не вычисляются в явном виде, их можно вычислять приближенно, используя квадратурные формулы. Например, if i \ 1 + a(nh) Г odn - J^PNjiPNna(s)ds ~---------------J <pNj<pNnds, h 9ij — I f ^Pij dxdy ~ h fij. Ja В заключение кратко опишем построение проекционно-разностной схемы в случае криволинейной границы и возможные обобщения этого метода. Пусть для простоты рассматривается задача Дирихле для уравнения Пуассона и И — плоская односвязная область с кусочно-гладкой границей 391, т. е. 391 состоит из конечного числа гладких дуг, пересекающихся между собой под ненулевы- ми углами. Зададимся параметром Л, —шагом сетки. Построим ломаную Г/,, обладающую следующими свойствами: а) область 91^, ограниченная 1\, содержится в 91; б) между точками 391 и Г/, можно установить взаимно однозначное соответ- ствие, т. е. существует взаимно однозначное отображение <р : 391 —> Г/Л, которое имеет кусочно-непрерывную производную <р', [<р'|, |(<р~1),| С, где С не зави- сит от h; в) расстояние от точек Г/г до 391 не превосходит величины c^li2, где Cj > 0 — некоторая постоянная, не зависящая от h; г) длина звеньев ломаной ограничена снизу величиной С2Л, c-i > 0. При при- нятых допущениях относительно области такое построение всегда возможно. Разобьем область 91/, на треугольники (которые будем называть элементар- ными) так, что: а) длины сторон треугольников находятся в пределах [сз/i, сдЛ], с,- > 0 — по- стоянные, не зависящие от h; б) площади треугольников находятся в пределах [cg/i2, cg/i2]; в) любые два треугольника либо не пересекаются, либо имеют только одну общую сторону, либо общую вершину. Описанное выше построение называется квазиравномерной триагмуляцией области 91; вершины треугольников называются узлами сетки. Можно дока- зать, что такая триангуляция осуществима. Пусть Н — пространство непре- рывных функций, кусочно-линейных над элементарными треугольниками 91ь и обращающихся в нуль на Г/,. Задаче (1) с однородным граничным условием (2) поставим в соответствие проекционно-разностную задачу — найти функцию uh G Н, удовлетворяющую при любой р G Н соотношению / \7uhVpdxdy = / fpdxdy. (34) У J Q/t Функция uh полностью определяется своими значениями в узлах сетки. Поэто- му если в качестве <р брать базисные функции пространства Н (равные единице
§ 6. Разностная аппроксимация эллиптических уравнений 565 в одном узле и нулю в остальных узлах и кусочно-линейные над треугольника- ми Пд), то (34) является системой линейных алгебраических уравнений отно- сительно значений uh в узлах. Доказательство устойчивости проводится точно так же, как и выше. При исследовании же сходимости следует дополнительно оценить норму решения в И^1 в приграничной полосе П\Пл. С учетом этих оценок можно получить следующее соотношение: Н« - «Л||щ21(П„) < ch, где постоянная с зависит от нормы решения в ИЛ22(П). При построении проекционно-разностной схемы можно использовать более сложные конечные элементы, за счет чего может быть достигнута большая точность. Например, кроме узлов сетки, можно также в качестве узлов рас- сматривать середины сторон треугольников. Пусть Н — подпространство непрерывных в функций, равных нулю на 5Q/,, и являющихся полиномом второй степени в каждом элементарном треугольни- ке Пл. Пусть = ЗП. В качестве базисных функций в Н можно рассмотреть функции, которые равны единице в одном узле, а в других узлах равны нулю и принадлежат Н (под узлами здесь понимаются как вершины, так и середины сторон треугольников). Тогда можно получить оценку IIй _ с^2- Аналогично могут быть построены проекционно-разностные схемы с более вы- соким порядком скорости сходимости. При этом используются способы интер- поляции, рассмотренные в § 5.5. Заметим, что структура матрицы системы линейных алгебраических уравнений ухудшается; а именно, возрастает коли- чество ненулевых элементов в строке матрицы и ширина ленты. Заметим, что в случае бигармонического уравнения и области с кри- волинейной границей такой подход нуждается в уточнении, так как по- лучаемые приближения могут, вообще говоря, не сходиться к точному решению задачи при h —> 0. Кратко осветим историю вопроса. Вариационные и проекционные ме- тоды при небольшом числе базисных функций применялись издавна, еще до появления ЭВМ. Применение ЭВМ позволило увеличить число базис- ных функций; при этом часто возрастало суммарное влияние вычисли- тельной погрешности и погрешности, возникающей при аппроксимации интегралов квадратурными суммами. Это обстоятельство ставило ограничение на точность, с которой мо- гли быть получены решения с помощью вариационных методов. Были проведены теоретические исследования, показавшие, что для устойчиво- сти вариационных методов существенно выполнение некоторого условия на систему базисных функций, называемого условием сильной минималь- ности. Построение системы базисных функций, удовлетворяющей этому условию, в случае областей сложной формы иногда бывает непросто. Параллельно шло интенсивное развитие теории и практики примене- ния конечно-разностных методов. Если при использовании классических
566 Глава 10. Методы решения уравнений в частных производных вариационных методов для решения линейных задач возникают линейные системы уравнений с полностью заполненной матрицей, то при исполь- зовании конечно-разностных уравнений возникают системы уравнений с матрицей, содержащей относительно малое число ненулевых элементов. Это обстоятельство позволяет решать с теми же затратами процессорно- го времени системы уравнений с существенно большим числом неизвест- ных. Однако в случае областей сложной формы применение конечно- разностных методов представляет определенные неудобства вследствие неоднородности построения разностных уравнений в приграничных точ- ках. Получивший в последнее время интенсивное развитие метод конеч- ных элементов свободен от ряда недостатков описанных методов: он не требует специальных усилий по построению системы базисных функций, являющейся сильно минимальной, при его использовании упрощается на- писание уравнений вблизи границы. Матрица линейной системы уравне- ний содержит относительно малое число ненулевых элементов. Большая «технологичность» метода позволила создать на его основе ряд промы- шленных систем стандартных программ решения краевых задач, в част- ности задач теории упругости. При использовании таких систем не тре- буется знание теории численных методов и тонкостей программирования. Исследователь должен лишь задать триангуляцию области, а часто си- стема и сама осуществляет такую триангуляцию. Эти методы сходятся при меньших требованиях гладкости, чем конечно-разностные методы. В случае квазиравномерных триангуляций базисные функции метода авто- матически удовлетворяют условию сильной минимальности. В то же время увеличивается объем работы при вычислении матри- цы системы уравнений. Поэтому при решении крупных задач зачастую все-таки применяют конечно-разностные методы или приходят к соста- влению систем уравнений с помощью аппроксимации минимизирующего функционала (или интегрального тождества) (см. § 9.12). Традиционно для решения эллиптических задач применялись методы теории потенциала. С появлением ЭВМ они были практически вытесне- ны конечно-разностными методами. Однако в последнее время в вычи- слительную практику стал интенсивно проникать метод граничных эле- ментов, имеющий некоторые общие черты с методом потенциала. § 7. Решение параболических уравнений с несколькими пространственными переменными При решении параболических уравнений, как и в случае эллиптических уравнений, переход от одномерного случая к многомерному вызывает су- щественные затруднения. Поскольку все принципиальные трудности воз- никают лишь при переходе от одной пространственной переменной к
§ 7. Решение параболических уравнений 567 двум, то в дальнейшем будем рассматривать случай двух пространствен- ных переменных. Перейдем к построению и исследованию разностных схем. Пусть тре- буется найти функцию и, являющуюся решением уравнения г)?/ — = Ди + f (х, t) (1) в области Qt = й х [О, Т], Й = {ж; 0 С Xi С 1, i = 1, 2} с начальными и граничными условиями и(х, 0) = u0(s), и(х, t) 1.^ = а(х, t); (2) здесь х = (®i, тг), Г = д£1 х [0, 71]. Попытаемся применить к решению задачи (1), (2) методы, разработан- ные ранее. Введем в рассмотрение квадратную сетку с шагом h = 1 /М: Йд = {х; х = (ih, jh), 0 i, 3М}, а на отрезке [0, 71] —сетку с шагом т — Т/N. Будем искать приближенное решение задачи (1), (2) в дискретной системе точек (узлов) Qh = {(ж, t); X G Й/г, t = пт, п = 0,..., 7V}. Множество Qh будем называть сеточной областью, а множество точек Й£ = {(Ж> 0 £ Qh, х € й/г, t = пт} при фиксированном t = ПТ будем называть п-м слоем. По аналогии с одномерным случаем построим явную и неявную раз- ностные схемы для задачи (1), (2) и попытаемся выяснить, в чем заклю- чается принципиальное отличие от случая одной пространственной пере- Я о,п+1 о,п ои иц ~ uij менной. Заменяя — в узле (г, j, п) разделенной разностью —---------- и” — и”-1 или — -------—, а Ди — выражением (см. § 6) _ Цг'+1, j + + Ui,3+1 + UiJ~l ~ 4uij получаем разностные схемы: явную и"^1 — и” ------^ = ДЧ"+/^ j^M-1, Т J J (3) и^ = a(ih, jh, кт), (ih, jh) G Г^, u^ = uo(ih, jh) и неявную u"+1 - и™ т 13 + l<i, j^M-1, (4) u^j = a(ih, jh, кт), (ih, jh) G Г^, и- = uo(ih, jh).
568 Глава 10. Методы решения уравнений в частных производных При использовании схемы (3) счет ведется по явным формулам — по из- вестным значениям ufj из (3) находятся значения и™*1. Поэтому проблем с реализацией алгоритма на ЭВМ не возникает. Остается лишь исследо- вать устойчивость этой схемы. По-другому обстоит дело в случае схемы (4). Относительно и^1, 1 г, j С М — 1, имеем систему линейных алгебраических уравнений, т. е. схема (4) неявна. Структура матрицы уравнений (4) совпадает со структурой матрицы оператора —ДЛ (см. § 6). Поэтому при решении этой системы возникают те же трудности, что и в случае эллиптических уравнений. Напомним, что в одномерном случае проблема численного ре- шения уравнений на верхнем слое не возникала, так как можно было воспользоваться методом прогонки. Введем понятие экономичной разностной схемы. Разностную схему, ап- проксимирующую задачу со временем, называют экономичной, если она безусловно устойчива и при переходе от слоя к слою требуется количе- ство арифметических операций, пропорциональное числу узлов на слое. (Иногда условие безусловной устойчивости в определении экономичной схемы отсутствует.) Из определения следует, что чисто неявная схема для одномерного уравнения теплопроводности является экономичной. Перед тем как заниматься построением экономичных разностных схем, исследуем устойчивость разностной схемы в общей постановке. Введем пространство ТУ функций, определенных на Q/,; Vij— значение функции v G Н в узле (г, j). Скалярное произведение и норму в Н определим как М-1 {у, го) = ^2 1М|2 = (*Л г>). г, 5=1 Разностные схемы (3), (4), рассматривавшиеся выше, связывали значения приближенного решения задачи на двух соседних слоях n-м и (п + 1)-м, поэтому их естественно называть двухслойными. Далее будем рассматри- вать двухслойные разностные схемы вида л,и+1 — -.тг в -—+ Аип = у>п, (5) где В и А — симметричные положительно определенные операторы, ото- бражающие Н в себя. Как и в одномерном случае, иногда будем разли- чать устойчивость по начальным данным и по правой части. itn+1 — ип Обозначим и™ =----------. Учитывая равенство ип = ип+1 — ти™, пре- образуем (5) к виду (В - тА)и? + Лп”+1 = <рп. (6)
§ 7. Решение параболических уравнений 569 ип+ 1 “I- и" т Положим D = В — тА. Так как ип+1 = ----------------h — и” и оператор D симметричен, то 2t(Pw”+1, nn+I) = r(Du’t, un+i + un) + т2(Р^, u”) = = (Pun+1, un+1) - (Dun, u11) + (Pun+I, un) - (Dun, un+1) + + t2(Du?, u?) = (Dun+1, un+1) - (Dun, un) + T2(Du?, uf). Поэтому, умножая обе части (6) скалярно в Н на 2ти”+1, получим (^+1, ua+1)D - « un)D + т2К, U'i)D + (7) + 2t||'u”+1|Ia = 2r(</\ un+1). Напомним, что по определению (v, w)u = {Dv, w), |Н|д = (A-c, v). Будем считать, что D = В - тА > 0. (8) Тогда (7) можно переписать в виде |И+1||Ь - Irt +т2|Н1|2о + 2т|И+1||^ = 2т(^, u’t+1). (9) Соотношение (9) является энергетическим тождеством. Так как пространство Н конечномерно, то существует постоянная такая, что (Dv, v) к(Ан, v) для всех v € Н или, что то же самое, D кА. (10) Так как D — D* > 0, то существует оператор (матрица) D1/2 симме- тричный и положительно определенный такой, что pi/2pi/2 = D Через D-1/2 обозначим оператор (Р1/2)-1. В рассматриваемом случае 1И+111^^-11И+1НЬ, 2т |(уД un+1)| = 2т \(D-Xl24>n, P1/2«n+I)| 2т||Р-]/2^|| ||P1/2?zn+1|| = 2тШ|р-г и из (9) следует неравенство (1 + - ет) Н^+’НЬ н^нь + Фиксируя е, например, полагая е = к-1, отсюда получаем соотношение (i + ^) Ih"+1||b 1ИНЬ тткИ2^, 20—903
570 Глава 10. Методы решения уравнений в частных производных связывающее нормы функции и11 на соседних слоях. Таким образом, 1И+1Н^ Kllb + ™.|И||2О_1. (11) Имеем последовательность неравенств k=n— 1 /г=0 Предполагая, что к не зависит от шагов сетки h и т, при пт Т по- лучаем окончательное соотношение II»”IId « Ik’lln + Ио-. «Н“”11ъ + сZ>ll^Hi>- < Л—0 /с=0 (12) ^1Ь°||Ь+сТ max которое означает устойчивость разностной схемы (5) по начальным дан- ным и по правой части. Таким образом, условие D = В—тА > 0 является достаточным для устойчивости разностной схемы по правой части и на- чальным условиям. Заметим, что выражение ’ стояЩее в является квадратурной формулой для интеграла / Jo ражение max llv^lln-i—сеточным аналогом нормы max ||<p(t)||Ё. ,. ш о^т п Найдем необходимое и достаточное условие того, чтобы собственные числа оператора перехода от слоя к слою не превосходили единицы. При правой части (12), |p_i dt, а вы- выполнении этого условия схема устойчива по начальным данным и нор- ма погрешности не возрастает при переходе от слоя к слою. Для этого положим (рк = 0. Применим к обеим частям (5) оператор В-1/2; получим £’/2^+1 = Bi/2un _ тВ-В^Аип. Обозначим В1/2ип = у11. Тогда ип = В х!2уп и последнее равенство при- мет вид уп+1 = уп _ т-5-1/2^-1/2^ = (# _ тВ~х12АВ~112)уп. Оператор S = Е—тВ~112АВ~112 симметричен, поэтому собственные числа S лежат на отрезке [71, 72], где 71 = min veH (Sv, v) (v, v) ’ (Sv, v) 72 = max-;-----r. . tO (V, V)
§ 7. Решение параболических уравнений 571 Таким образом, собственные числа S не превосходят 1, если выполняется соотношение -1< weff. (13) Преобразуя выражение (Sv, v)/(v, v) и обозначая v = Bl/2z, получаем (Sv, v) (v, v) — t(B~[/2AB~x/2v, v) (Bz, z) — t(Az, z) (v, v) (v, v) (Bz, z) Поэтому (13) имеет вид _ (Bz, z) - r(Az, z) (Bz, z) ’ Правая часть неравенства выполнена всегда, поскольку А, В > 0; левая часть эквивалентна выполнению для любого z € Н, z 0, неравенства 2(Bz, z) — t(>1z, z) 0. Последнее означает, что В -А. 2 (14) Как видим, условие (14), обеспечивающее устойчивость схемы (5), не совпа- дает с (8). Однако у схем, обладающих свойством (8), имеется существенное достоинство. В ряде практических задач интервал интегрирования Т уравне- ния (1) достаточно велик или же требуется вести счет задачи до выхода на стационарный режим. В этих случаях целесообразно использовать разностные схемы, удовлетворяющие более сильной оценке устойчивости (15) при q < 1. Обозначим (1 + т/к)-1 = q и тк = 7. Тогда из (11) имеем Hl+1llb <z(h"llb + тН^НЬ-О </211’'и“1НЬ + QTlHIlb- + + Т?2|И-Х-1 5',+1|1^0||Ь + + <77(lknllb-> + dkn-1llb-. + • • • + Чп lk° НЬ-1) Пусть ||</з||оо = max H^Hd-1 < 00. Тогда из последнего неравенства получаем (15) Отсюда следует, что при Н'/’Поо < 00 решение задачи (5) будет ограничено на бесконечном промежутке времени при выполнении условия (8). Отметим, что из (14) ограниченность решения на бесконечном промежутке времени при наличии правой части, вообще говоря, не следует. Разностную схему (5) можно рассматривать как итерационный процесс решения уравнения Au = <р,
572 Глава 10. Методы решения уравнений в частных производных где </?” = 99. В этом случае выполнение условия В — тА > 0 обеспечивает сходимость итерационного процесса. Действительно, записывая уравнение для погрешности zn = и11 — и, имеем Bz'“ + Az11 = 0, z° = и° - и. Из условия D = В — тА > 0 следует, что Г) определяет в Н норму, которую будем обозначать || Ц/j. Тогда из (9) получаем 1и+1нь+2т|к+1|й |ииь- Отсюда (1 + -) ||«”+‘Й, +r||.1"+1fi < (16) \ Гъ / Введем норму ||«n||j = ||un||p + т + —) ||п”||2; тогда из (16) следует окончательная оценка к |И+1||2 (1 + Гу-1 ЦПД|2 (1 + I)-’1”1 Ц.(;0||2. Таким образом, итерационный метод (5) сходится со скоростью геоме- трической прогрессии. При этом скорость сходимости определяется вели- чинами тики условием D > 0. Процесс сходится как в норме, опреде- ляемой оператором Z), так и в норме, определяемой оператором А. Выясним, при каких условиях будут устойчивы схемы (3), (4). Схема (3) уже имеет вид (5), при этом В = Е, а А = Необходимо, таким образом, проверить выполнение условия В —А. Имеем (см. § 6) М-1 М-1 (Ат, и) — — h2/\hVijVij = h2 г, 3=1 г,.1=0 Таким образом, чтобы (14) было справедливо, достаточно выполнения неравенства 2/т 8//г2, т. е. явная схема (3) условно устойчива при тА h2/4. Представим теперь неявную схему (4) в виде (5). В этом случае В = Е — тДЛ, А = —ДЛ, причем А > 0. Таким образом, условие (14), равно как и условие (8), выполнено при любых т и h, т. е. неявная схема (4) безусловно устойчива. Если для решения системы уравнений относительно значений реше- ния на верхнем слое применяется так называемый марш-алгоритм в его устойчивой форме, то число арифметических операций при переходе от слоя к слою пропорционально числу неизвестных. Тогда неявная схема является экономичной.
чим § 7. Решение параболических уравнений 573 Перейдем к изучению других экономичных разностных схем для урав- нения (1). Будем рассматривать задачу (1) с однородными граничными условиями, т. е. при а = 0. Пусть Л] и Л-> - операторы второй разделен- ной разности по направлениям ад и х2 соответственно, т. е. + Щ—ij щ y-fj 2ц? + Sjy—i Л1??гд — ^2 , Л2и^ — . Здесь, как и ранее, v — функция, совпадающая с v на П/г и равная нулю на dClh- Задача1. Проверить, что функция 8т(7Г7шТ»), где ^—произвольная функция аргумента ;, является собственной для оператора Л1, а любая функция ijji где т/р — произвольная функция аргумента г, — соб- ственной для оператора Л2. Задача 2. Проверить, что функции (ртп = 8т(тгтг7г) sin(7rnjTi) образуют полную систему собственных функций операторов Л! и А->. Положим В = (Е - рМ)(Е~рЛ2), А = -Ль. Оператор В является симметричным и положительно определенным как произведение симметричных положительно определенных и коммутирую- щих между собой операторов. Операторы такого вида называют рас- щепляющимися. Коммутируемость операторов Л] и Л2 можно проверить непосредственно; кроме того, она следует из того факта, что эти опе- раторы имеют общую полную систему собственных функций (см. задачу 2) и, следовательно, записываются в виде (Я-дЛО = С'ХМ}С, (Е-рА^С^С, где Mi, М2 — диагональные матрицы, матрица С одна и та же. Проверим, при каких р выполняется условие (14). Имеем В = Е — д(Л! + Л2) + д2Л1Л2 = Е - /сДл + р2АхА2, поэтому условие (14) приобретает вид Е - pAh + р2АгА2 > -T-Ah. Так как оператор Е+р2Л1Л2 положительно определен, то условие д т/2 обеспечивает выполнение (14), т. е. при р т/2 разностная схема (5) безусловно устойчива по начальным данным. Рассмотрим алгоритм реализации схемы (5) в данном случае. Обозна- ^”+1 _ ipp z = ----------- и представим (5) в виде (Е - pAi)(E - pA2)z = Ahun + <pn.
574 Глава 10. Методы решения уравнений в частных производных Последнее уравнение разобьем на два: (E-gA1)y = ^hun+^, (E-pE2)z = y. (17) Функция д = &hun + <рп может быть вычислена во всех точках ПЛ, т. е. можно считать ее известной. Первое уравнение (17) запишем в виде Уг+1,j ~ “tyij + yi—l j . 1 1 i лт j y-ij - p-— = 9ij, г = 1,..., M - 1; j = 1,..., M - 1. (18) При фиксированном j система (18) относительно неизвестных yi.j, • • , УМ-i,j представляет собой систему уравнений с трехдиагональ- ной матрицей, которая может быть решена, например, методом прогон- ки за О(М) арифметических операций. Решая (18) при каждом j = 1,..., М — 1, найдем функцию у во всех узлах Q/t. Группы неизвестных, связанные уравнениями (18), объединены на рис. 10.7.1 символом о. Примечание. Если решается неоднородная краевая задача, т. е. н|г 0, _ ип то, вообще говоря, у — (Е — дЛг)--------- не удовлетворяют гранично- му условию т/|( = 0 и значения у|г требуется определять специальным образом. Аналогично второе уравнение (17) расписывается в виде 2g,+ = 9.= J М = м _ ! (19) При фиксированном i (19) является системой уравнений с трехдиаго- нальной матрицей относительно неизвестных (г^д, ^.2> • - ч ^г,М-1)- Рис. 10.7.1 Таким образом, функция z может быть найдена из (19) за О(М2) ариф- метических операций. Группы неизвестных, связанные уравнениями (19), объединены на рис. 10.7.2 символом ф. Значения находятся по яв- ным формулам: -un+1 = ип + tz. (20)
§ 7. Решение параболических уравнений 575 Таким образом, суть представленного алгоритма заключается в следую- щем: при каждом j решаем систему уравнений (18) с трехдиагональ- ной матрицей. При этом изменение i соответствует изменению абсцис- сы; поэтому i иногда называют «горизонтальной» переменной функции у. Далее, используя найденное значение у, при каждом i решаем систе- му уравнений (19). Аргумент j в этом случае называют, соответственно, «вертикальной» переменной. После этого значение un+l находится по яв- ной формуле (20). Описанный алгоритм часто называют методом расщепления. Как мы видели, основная его идея заключается в построении опе- ратора при разностной производной по времени таким образом, чтобы этот оператор являлся произведением операторов В = BiB?. каждый из которых действует только в одном направлении, и полученная схема ап- проксимировала исходную задачу. Так, в данном случае Bi = Е — //Aj. Задача 3. Доказать, что при достаточно гладком решении для рассма- триваемой схемы имеет место аппроксимация порядка О (у + т 4- /i2). Та- ким образом, при у = т/2 погрешность аппроксимации имеет порядок О(т + /г2) и схема абсолютно устойчива. Близким по своей структуре является метод переменных направлений. Суть его заключается в переходе от ип к w"+1 по формулам = л1Мп41/2 + Луи'1 + д, п,°’5Т . 1/2 (21) —-----—-----= Ajwn41/2 4- Л-лА41 4- . 0,5т Здесь введен промежуточный вектор неизвестных м"+1/2; первое уравнение (21) решается применением прогонки по оси azj, а второе — применением про- гонки по оси Х-2- Построение методов с расщепляющимся оператором на верхнем слое в к- мерном случае можно провести по точно такой же схеме. Пусть А = Ai 4- А-2 4- • 4- А*, где Ai — одномерный оператор в i-м направлении. Положим В = (Е + у А])... (А 4- уАЕ). Нужная разностная схема будет иметь впд „.п+1 _ „,п (Е + yAi).. .(Е + yAk)——^---+ Аип = <рп. (22) Реализация этого метода проводится по такому же алгоритму, что и выше. Параметры у и т выбираются из условий устойчивости и аппроксимации раз- ностной схемы. Перейдем к рассмотрению методов решения параболических уравнений в случае, когда область Q имеет достаточно произвольную форму. В этом случае реализация описанной выше схемы, основанной на представлении оператора В на верхнем слое в виде произведения одномерных операто- ров, встречает существенные затруднения. Однако применима схема (21).
576 Глава 10. Методы решения уравнений в частных производных Другая разностная схема может быть получена из следующих сообра- жений. Представим А в виде А = + R2, где R{ — R2, Ri и В2 — правая и левая треугольные матрицы. В частности, если А = — ДЛ, то Ri и R2 можно записать следующим образом: о „I _ — vi+1> j — vitj+i 2vij — Vi-i j - Рассмотрим разностную схему (Е + cttRi)(E + otR2)----------1- Aun — (pn. (24) Оператор В = (E + gtR^IE + cttR^ будет симметричным и положительно определенным. Поэтому для устойчивости разностной схемы по началь- ным данным достаточно проверить выполнение условия (14). Параметр ст (весовой множитель) выбирается таким, чтобы схема была устойчива и аппроксимировала исходное уравнение. Пусть в качестве примера рассматривается уравнение (1) в прямо- угольнике с нулевыми граничными условиями. В этом случае А = —Д/г, a R\ и R2 определяются по формулам (23). Тогда В ~ (Е + arRi)(E + (ttR2) = Е — crrAJ1 + g2t2R^R2. Оператор RiH.2 является положительно определенным, поэтому В = В* >0. Условие В —А в данном случае заведомо будет выполнено при а 0,5. Таким образом, условие ст 0,5 обеспечивает безусловную устойчивость схемы (24). Найдем порядок аппроксимации разностной схемы (24). Так как Ryu — то, используя формулу Тейлора, получим ди ди h д2и h д2и dx i + дх2 2 &;2 2 0а,'2 + O(h). Используя аналогичную оценку погрешности аппроксимации оператора R2, приходим к заключению, что выражение В = Е — отА!1 + а2т2Е.[112 аппроксимирует единичный оператор Е с порядком О(ат+ стт2//i2). Если считать, что ст 0,5 порядка 1, то схема (24) аппроксимирует исходное уравнение (1) с порядком С* (Л2 + т+т2/h2). Таким образом, величина т/h должна быть достаточно мала. Тем не менее схема (24) все же лучше, чем явная. Для устойчивости явной схемы требуется выполнение условия т /г2/4, в то время как при ст 0,5 схема (24) будет безусловно устой- чивой и шаг по времени т может быть выбран существенно большим. Например, можно взять т = <z/i2 или же т = ст/г3/2. Погрешность аппрок- симации по времени в этих случаях будет иметь порядок О (Л,2) и O(h) соответственно. Следует, однако, отметить, что часто решение параболи- ческого уравнения по t обладает достаточным количеством производных
§ 7. Решение параболических уравнений 577 и эти производные стремятся к нулю при t —> оо. Это оправдывает при- менение схемы (24) при расчете нестационарных задач, поскольку шаг по времени т можно брать достаточно большим. Выпишем алгоритм, соответствующий разностной схеме (24). Обозна- чим (Е + cttR^z через у. Тогда, решая уравнение (Е + сттВ^у = —Аип + Д', (25) можно найти значение у по явным формулам. Действительно, в случае, когда Q - квадрат (что несущественно), уравнение (25) в узле (г, Д име- ет вид (JT УгЗ ~ Уг+1,3 ~ Vi,.7 + 1) = ( + V (26) По известным значениям у+ад, ynij, г, .7 = 1, • •, Л/, из (26) по явным формулам можно найти и ум-ij, i, j = 1,..., М — 1. После этого по тем же формулам находим значения yitM-2-, yM-2,j и т. д. Для вычисления значения у,?- требуется число арифметических опера- ций, не зависящее от шагов сетки. Поэтому вычисление значений функ- ции у во всех узлах потребует О(М2) арифметических операций, что по порядку совпадает с количеством узлов на слое. Аналогичным образом решая уравнение (Е + cttR2)z — у, за О(Л/2) арифметических операций найдем значение z. Решение и'1+1 находится после этого простым пересчетом по формуле U7"1 = ип +tz. Таким образом, переход от и" к А''1’1 в схеме (24) требует числа арифме- тических операций, пропорционального количеству узлов сетки на слое, т. е. схема (24) экономична. Наиболее эффективна схема (24), если ее рассматривать как итерационный метод для решения стационарной задачи Ан — ip. В этом случае требование аппроксимации по t не играет никакой роли и параметр т можно выбирать только из соображений наиболее быстрой сходимости итерационного метода. Обычно выбирают т = 0(h) и ст = 1, чтобы выполнялось (8). Тогда операторы В и А связаны соотношением 7i hA В 72 А, (27) где 71, 72 > 0 не зависят От h, и, решая стационарную задачу с помощью ите- рационного процесса (24), получим решение с точностью е за o(/i-3ln(e ])) арифметических операций. Задача 4. Доказать оценку (27) при ст = 1, т — O(h). Задача 5. Показать, что при любых ст, т > 0 отношение 72/71 ограни- чено снизу постоянной, отличной от нуля.
578 Глава 10. Методы решения уравнений в частных производных Итерационный процесс можно ускорить, если зафиксировать В и после этого выбирать параметр т переменным. В частности, если выбирать ц. как указы- валось в § 6.6 (чебышевское ускорение), то решение стационарной задачи с точ- ностью е может быть получено за О(Л~°/21п(е-1)) арифметических операций. Для решения параболического уравнения в области достаточно произ- вольной формы существуют также и другие методы. Рассмотрим метод, который сводит исходную задачу к решению последовательности одно- мерных задач. Изложение метода проведем на примере уравнения (1). Представим оператор Д в виде суммы одномерных операторов с?2 О2 Д = Ll + Z/2 = трл + 7Г5; из, оу а правую часть / — в виде суммы правых частей: f = Д + Д. Левая и правая части уравнения (1) равны сумме левых и правых частей урав- нения 1ди г Уди = 2ai“Lz“ = h- (28) Опишем переход от n-го к (п + 1)-му слою. Аппроксимируем первое из уравнений (28) следующим образом: «+1/2 _ п п+1/2 _ 1 + Ul+ /2 Э1 n _ Utj_________U'O _ “г+l.J + z-l,J _ j.n+1/2 _ „ hUij — 1,2 Л, у U' /г2 Второе уравнение (28) заменим соотношением (29) , n+1 __ o, .n+1 ,.n+l ,2 n.4-1/2 _ uij Uij _ Ui-,3 + l ZUi,j _ fn+l _ hUij — т Д2 J2,ij Таким образом, алгоритм заключается в последовательном решении урав- нений (29), (30). При этом вычисленное значение функции является на- чальным условием для следующего уравнения. Ясно, что каждое из уравнений (29), (30) не аппроксимирует исход- ную задачу. Найдем погрешность аппроксимации. Имеем .r , 1 ди д2и , .../,9 P'lM==2di ~дх2 ~h + O(h +т), „1г , Гейс . „1 1 ди д2и „ ч , ДМ - [да - А»- /] = -2 да + + Л + O(h + г) = Л. Аналогично , 1 ди д2и „ о ч р'‘м = 2а“а?“Л+ ( +т)’ , Г ди , „1 1 ди д2и , ^/.2 . \ I -/1 =“2^ + а^ + Л ( +т> = *-
§ 7. Решение параболических уравнений 579 В общем случае фг = 0(1), поэтому и уравнения (29), (30) аппроксими- руют (1) с порядком 0(1). Однако £)•)/ + Фъ = —-^ + Аи + f + О(/г2 +т) = O(h2 + т). В этом случае говорят, что схема (29), (30) аппроксимирует задачу (1) в суммарном (или слабом) смысле, т. е. хотя каждое из уравнений (29), (30) не аппроксимирует исходную задачу, сумма погрешностей аппроксимаций этих уравнений равна О(/г2 + т). Реализация (29), (30) требует на каждом шаге решения уравнений с трехдиагональной матрицей. Таким образом, этот метод применим для решения уравнения (1), когда область Q имеет достаточно произвольную форму. Остается лишь выяснить ее устойчивость и сходимость. Оказы- вается, имеет место Теорема (без доказательства). Схема (29), (30) устойчива в сеточной норме пространства С и при достаточно гладком решении 1И - «(пт)||с(Пл) С С’1(/?2 + г), где Ci не зависит от h и г, а и(пт) значение решения и(х,т) на п-м слое. Рассмотренный метод получения разностных схем носит название л«е- тода дробных шагов или же метода суммарной аппроксимации. Его мож- но применять не только в линейных задачах, но и в нелинейных. В общем случае для уравнения А.. _ = Fi(li) + --- + Pfc(u), (31) где операторы Рг{и), вообще говоря, нелинейные и не обязательно одно- мерные, схема метода дробных шагов заключается в следующем. Реше- ние на шаге уравнения (31) заменяется последовательным решением на шаге уравнений При этом в качестве начального условия на шаге для каждого из урав- нений берется значение, вычисленное из предыдущего уравнения. В создание описанных выше экономичных методов решений много- мерных нестационарных задач внесли большой вклад Е. Г. Дьяконов, Г. И. Марчук, А. А. Самарский и Н. Н. Яненко.
580 Глава 10. Методы решения уравнений в частных производных § 8. Методы решения сеточных эллиптических уравнений В этом параграфе будут рассмотрены методы решения систем сеточ- ных эллиптических уравнений. Рассмотрим простейший пример (см. § 6). Пусть ит+1,п 2итп + Um—l,n ит,п+1 3" ит,я-1 П1 П2 (1) ит0 — UmN — 0, «0,?1 = Щ1,п = 0; т — 1,..., М — 1; п = 1...., N — 1, система сеточных уравнений относительно неизвестных итп, О С т М, 0 /г N, получающаяся в результате аппроксимации крае- вой задачи Дирихле дня уравнения Пуассона в квадрате Q = {а: = (xi, Х2), 0 xi sC 1}. Будем для простоты считать, что /ij = /i2 = h, = 1/N. Для решения системы уравнений (1) мож- но предложить большое, число методов. Поэтому для того, что- бы их сравнивать, необходимо выбрать один или несколько кри- териев, по которым будет проводиться сравнение. Условимся кри- терием качества метода считать количество арифметических опера- ций, которые необходимы либо для получения точного решения, ли- бо для получения решения с некоторой заданной точностью. Так как часто не удается вычислить точное число арифметических опе- раций либо этот подсчет достаточно громоздок, оценивают лишь по- рядок числа арифметических операций по отношению к числу узлов сетки. Прежде всего отметим особенности рассматриваемых систем уравне- ний. Во-первых, это большая размерность (большое число неизвестных в системе). Это связано с желанием получить решение исходной диффе- ренциальной задачи с нужной точностью, что требует достаточно малого шага сетки. Во-вторых, в каждой строке матрицы лишь конечное число элементов отлично от нуля. В частности, в (1) количество ненулевых элементов в строке не превосходит пяти. Все это заставляет разрабаты- вать специальные эффективные методы, учитывающие особенности си- стем уравнений такого типа. Рассмотрим прежде всего, что же дает применение классического ме- тода Гаусса к решению системы (1). Предположим, что граничные узлы исключены из системы уравнений. Тогда вектор неизвестных, которы- ми являются значения функции во внутренних узлах, имеет размерность (TV — I)2. Поэтому прямое применение метода Гаусса к решению системы (1) требует 2/3(7V — I)6 4- O(JV4) арифметических операций. Кроме этого, потребуется хранить в памяти матрицу системы, т. е. потребуется O(N4) слов ЭВМ для хранения элементов матрицы. Заметим, однако, что большая часть арифметических операций явля- ется несодержательной — это операции над нулевыми элементами ма-
§ 8. Методы решения сеточных эллиптических уравнений 581 трицы. Выясним, какое потребуется количество арифметических опе- раций, если вычисления проводить только над ненулевыми элемента- ми. Напомним, что матрица А системы уравнений (1) при «есте- ственной» нумерации компонент вектора неизвестных («и, «12,..., U21, • • •) UN-1,N-1) имеет вид (с точностью до множителя /i2) ( -4ц Л12 .... О > -422 -42з А = -4дг-2,.¥-1 \ о Адг_1>Лг_2 Лд’- 1,7V —1 / где /4 -10 ... 0 \ -14-10 ..... 0 .......4-1 \ 0 ......—14/ а А, г±1 — диагональные матрицы с элементами па диагонали, равными — 1. Матрицы Ац имеют размерность (N — 1) х (JV — 1). Таким образом, матрица А оказывается блочно-трехдиагональной и в каждой строке матрицы не более пяти элементов отличны от нуля; кроме этого, матрица А является ленточной с шириной ленты равной (2N — 1): все элементы = 0 при |i — /| ~^N. Задача решения системы (1) явля- ется частным случаем решения системы т уравнений с т неизвестными Дх = Ь (2) с (2s + 1)-диагональной матрицей. Для решения такой системы могут быть применены, например, ме- тоды Гаусса, квадратного корня, отражений и вращений с исключением несодержательных операций во всех случаях. Под исключением несодер- жательных операций имеется в виду следующее. Поскольку = 0 при |г — /| > s, то не надо проводить операций по обнулению этих элемен- тов. Поэтому производятся операции лишь по обнулению O(ms) элемен- тов. Кроме того, при реализации каждого шага обнуления все элемен- ты aij = 0 при |г — j\ > s остаются равными нулю и поэтому каждый шаг требует O(s) арифметических операций. Таким образом, общее чи- сло операций при решении системы уравнений (2) оказывается величи- ной порядка O('/n.s2). В данном случае т = (N — I)2, s = N — 1 и по- этому общее число арифметических операций О (IV4). Матрица А симме- тричная и положительно определенная. Как отмечалось ранее, в случае А > 0 при реализации этих методов не возникает операции деления на нуль.
582 Глава 10. Методы решения уравнений в частных производных Еще один возможный метод решения этой системы- это метод про- гонки в блочной форме. Исходную систему уравнений записываем в виде A11U1 + A12U2 = fi, A21U1 + A22U2 + ^23 из — f?j Aw-2,iV-.3uiV-.3 + Aw-2,7V-2u7V-2 + Ду-2, JV-lU/V-i = f/V-2, ^1V-1mV-2u1V-2 + ^4jV-l,A’~lUjV_i = fjV-1, где Ufc — вектор с компонентами ищ, и/; 2: • , uk, iv-1- Далее последовательно исключаем векторы неизвестных щ, иг,..., ujv-2 и получаем рекуррентные формулы, аналогичные формулам мето- да прогонки. При реализации этих формул придется произвести порядка cN операций умножения и обращения матриц размерности N — 1, что потребует всего порядка 2cN4 арифметических операций. Дополнитель- но требуется произвести порядка О(Л’) операций умножения матрицы на вектор и сложения векторов, для этого потребуется O(7V3) арифметиче- ских операций. Общие вычислительные затраты, таким образом, составят порядка 2cN4 арифметических операций. Описанные выше методы непосредственно применимы в случае элли- птического уравнения или системы эллиптических уравнений с произ- вольными, в частности, переменными коэффициентами и во всех этих случаях требуют O(N4) арифметических операций. В конкретном случае системы (2) при N = 21 можно предложить ме- тод, требующий O(7V3ln7V) арифметических операций. Для этого следу- ет применять метод Гаусса в векторной форме при следующем порядке исключения неизвестных: сначала исключаются векторы щ, U3, U5,..., т.е. все векторы U2t+i, затем векторы U2, Uf,, ищ,..., т.е. все векторы u2(2fc+i), затем векторы щ, U12, иго,---, т-е- все векторы u^t+ij и т.д. Оказывается, что при таком способе исключения многократно умножа- ются и обращаютя одни и те же матрицы. Если вместо этого запомнить произведения соответствующих матриц, то общее число операций ока- жется О (N3 log N). Описанные методы требуют в общем случае для запоминания ленты матрицы O(7V3) слов памяти ЭВМ. Задача 1. Показать, что при нумерации неизвестных «И, 1112, П21, • • • , гб1,ЛГ—1, U2,N-21 • • , «N-1,1, • • • , ^7V-1,7V-1 количество арифметических 'операций в методе Гаусса по порядку также равно O(N4). Задача 2. Для случая разностной аппроксимации уравнения Лапласа в произвольной двумерной области указать порядок исключения неизвест- ных, при котором решение системы получается за О(М3/2) арифметиче- ских операций; здесь М — общее число узлов.
§ 8. Методы решения сеточных эллиптических уравнений 583 Рассмотрим прямой метод решения системы уравнений (1), осно- ванный на использовании дискретного преобразования Фурье в случае прямоугольника. Здесь мы не будем предполагать, что М = N. Пре- образуем вначале систему уравнений (1) к операторной форме. Пусть u(mhi, п/12) — сеточная функция, определенная при 0 т М, 0 п N, которая соответствует решению (1), т.е. u(mhi, п/12) — итп- Аналогич- но, 9?(т/ц, nh‘>) = (pan = V>Mn = РтО = VmN = 0 -сеточная функция, соответствующая правой части (1). Через Л./~ обозначим операторы 1 т М — 1, 1 n <С TV — 1, в остальных случаях; 1 т М — 1, 1 п N — 1, в остальных случаях. Тогда система уравнений (1) может быть представлена в операторной форме Au = — (Aj + Л2)'« = tp. (3) Пусть для определенности Mh\ — 1. Заметим, что этого всегда можно достичь, умножая обе части (1) на соответствущий коэффициент. Функ- ция и как функция переменного т представима в виде дискретной сум- мы Фурье по переменной т (см. § 4.3): М-1 u(mhi, ПЛ2) = Uj(nh?) sin(7rjm/ti), м—i Uj^nhi) = 2 hiu(khi, nh?) sin(7rjA,7ti). k=l Аналогично представим <p в виде м-i tpfrnhi, nhz) = <pj('nh-/) sin(7rj'mAi), j=i M-l <Pj(nh2) = 2 hi<p(khi, n/12) sm(7rjfc/ii). k=l (4') (4")
584 Глава 10. Методы решения уравнений в частных производных Подставляя полученные разложения в (3), получим М-1 — (Ai +Л2)итоп = — (-Uj(nA2)Aisin(7rjmAi) + sin(7rjmA1)A2'Uj(riA2)) = м-Т (5) = УУ (pj(nh2)sin(irjmhi). j=i Напомним, что функции sin(7rja:) являются собственными для операто- ра Ар . . , , , sin(7r7'(?7i + l)/ii) — 2 sin(7Tjm/ii) + sinhr— 1)/ц) Ai Бпцтгупг/ц) =--------------------------—————— = . 2 ^«1 4 sin —-— =---------у?---sin(7rjm/zi) = — Xj sin(7rjm/ii). Поэтому выражение (5) может быть заменено эквивалентным / 2u-j(nh2) — Uj((n— l)/i2) — Uj((n + l)7ia) \ ... , . yj XjUj(nh2) + —--------------------------I sm(7rjm/i1) = • i \ ^2 J 3=1 M-l (6) = УУ y?j(n/i2)sin(%jm/ti). 7 = 1 Функции sin(%j77i/zi), j = 1,..., M — 1, являются ортогональными в ска- лярном произведении М-1 (v, w) - У2 h^ViWi. i—1 Поэтому (6) представляет собой систему независимых уравнений XjUj(nh2) + ------------------------------------= ^(пЛ2), П2 (') 1 п N — 1; 'uj(O) — Uj(Nh2) =0, j = 1,..., М — 1. Система уравнений (7) может быть получена из (6) также умножением обеих частей (6) скалярно на sin(7rjm/ii), j = 1,..., М — 1. Выражение (7) при фиксированном j представляет собой систему линейных алгебраиче- ских уравнений с трехдиагональной матрицей относительно неизвестных Uj(h2), uj{2h2}, ..., Uj((N — l)h2), которая может быть решена, напри- мер, методом прогонки. Таким образом, алгоритм решения задачи (1) заключается в следу- ющем: а) находим из (4") при каждом п, 0 < п < N, коэффициенты (p-j(nh2), j = 1,..., М - 1; б) при j = 1,..., М — 1 решаем методом прогонки систему уравнений (7). В результате получаем функции Uj(nh2), j = 1,..., М — 1;
§ 8. Методы решения сеточных эллиптических уравнений 585 в) из формулы (4') при т = 1,..., М — 1, п = 1,..., N — 1 вычисляем значения функции u(mhi, nh?). Оценим затраченное количество арифметических операций. Пусть М = 29. В этом случае, используя алгоритм быстрого дискретного пре- образования Фурье, найдем все за O(AjWlog2 Л-f) арифметических операций. При нахождении коэффициентов и:1 потребуется O(MN) опе- раций. Наконец, при вычислении и из (4') с использованием быстро- го дискретного преобразования Фурье понадобится O(MJVlog2 опе- раций. Поэтому суммарное количество арифметических операций, необ- ходимых для нахождения решения, в данном случае по порядку равно O(MN log2 М). В частности, при МN получаем O(N2 log2 TV). Рассмотренный метод даст решение намного быстрее, чем метод Гаус- са. Однако этот метод применим лишь в случае, когда исходная область является прямоугольником, в то время как метод Гаусса применим и в случае областей общей формы. В случае прямоугольника существует ряд других методов решения с такой же асимптотикой числа действий. Как уже отмечалось, один из вариантов марш-алгоритма с приемлемой величиной вычислительной погрешности решает задачу за O(N2) арифметических операций при N = М = 2к. Рассмотрим другие приближенные методы решения системы уравне- ний (1), допускающие обобщение на случай более общих, чем прямо- угольник, областей. В основу этих методов положено то свойство си- стемы уравнений (1), что результат применения матрицы системы к вектору вычисляется по простым формулам и не требует запоминания матрицы. Количество арифметических операций, затрачиваемое на вы- числение результата применения матрицы к вектору, по порядку рав- но OIMN}. т. е. пропорционально длине вектора. Ранее мы упомина- ли, что матрица А системы уравнений (1) симметрична и положитель- но определена и в рассматриваемом случае ее собственные значения 0 < т < ЛГ, 0 < п < N, лежат в промежутке л 2 I Л 2 Tvh-} 4 sin —4 sin — 4 cos2 ^4- 4cos2^ /i2 + h? Поэтому для решения системы уравнений Аи = у? можно применить, например, метод простой итерации (8) где v — вектор начального приближения. Согласно § 6.6 параметр т це- лесообразно выбрать из соотношения т — т°р* ~ \ . \ . Атах । ^тпгп
586 Глава 10. Методы решения уравнений в частных производных При этом метод (8) сходится со скоростью геометрической прогрессии и показатель скорости сходимости метода равен __ ^таз: ^тгп 2Xmin ^тах + \riin_________\пах + \nin При fl = hl = }l2 имеем Xminl\пах = Л2Л2/4 + (?(Л4), поэтому 7T2/l2 „,,4. 9 = 1 - + О(/г4). Пусть е— точность, с которой необходимо найти решение системы урав- нений (1). Нормы погрешностей zn = и—ип и г’1-1 = и—и"1 на соседних слоях связаны соотношением ||г"|| < *"’Ч| « « «"||г°||- Задача 3. Показать, что при т = Topt расчетные формулы (8) приобре- тают вид: Z+1 1 ( i i i i \ итп ^у^т+Цп + ит— 1,п 4~ ит,п+1 4~ ищ, п—1J 4 ^фтп как в случае прямоугольника, так и в случае произвольной области. Поэтому для выполнения неравенства ||г”|| f||^°|| достаточно вы- брать п так, чтобы выполнялось неравенство qn Е. Отсюда n|lnq 1п(е “1). Так как q= 1—7г2Л2/2+О(Л4), то | Inq | = | ln(l —7r2/i2/2+O(/t4)) = 7г2Л2/2 + О(Л4). При малых h имеем требование 2 П ~2Т2 1п(£-1)- (9) 7Tznz Так как нас интересует случай малых е, т. е. когда точность решения системы достаточно высока, то второй член в правой части (9) может быть отброшен. Поэтому в данном случае количество итераций п по по- рядку должно быть равно О(Л-2 1п(е^1)). На каждом шаге итерации матрица умножается на вектор. Отсюда может возникнуть впечатление о необходимости запоминания матрицы А. На самом деле это не так. Нам необходим лишь результат применения матрицы А к вектору и, который вычисляется по формулам / 1 , 4vmn Vm-f-i п Vm—1, п Цп, n+l Vm, n—1 (Av)mn — • Поэтому матрицу А запоминать не надо. Для вычисления значения функции (компоненты вектора) Аи в од- ной точке требуется конечное число арифметических операций, поэтому на каждом шаге итерационного метода (8) затрачивается O(h~2) ариф- метических операций. Общее количество арифметических операций, не- обходимых для получения решения с точностью е, таким образом, равно О (/z“4 Не-1)) = о(уУ4|1пе|).
§ 8. Методы решения сеточных эллиптических уравнений 587 В данном случае была описана схема применения метода простой итерации к решению системы сеточных эллиптических уравнений (1), аппроксимирующих исходную задачу в прямоугольной области; однако все рассуждения справед- ливы также и для случая произвольной области, если сетка выбирается рав- номерной, а граничные условия аппроксимируются их «сносом» в ближайший узел сеточной границы. Следует отметить, что при этом, вообще говоря, неиз- вестны точные границы Ат;п, Хтах спектра матрицы системы. Эти величины можно оценить, например, следующим образом. Пусть сеточный прямоуголь- ник К' со сторонами 1\ и 1'.> содержится в (!/,, а сеточный прямоугольник К” со сторонами I" и Z" содержит (Узлы К' являются узлами П/, и узлы Q/, являются узлами Л'".) Тогда имеет место соотношение лтгп z'^ ''max ’ где Х'т in — минимальное собственное значение сеточной задачи Дирихле в пря- моугольнике К', а — максимальное собственное значение сеточной задачи Дирихле в прямоугольнике К", Выбирая г = 2/{Х!тгп 4- А'г'гпД, можно прибли- женно находить решение системы уравнений (1) методом простой итерации с той же асимптотикой числа арифметических операций, что и в предыдущем случае. Задача 4. Показать, что для итерационного процесса с чебышевским на- бором параметров требуемое число операций O(JV3|lne|). Задача 5. Получить такую же оценку числа действий для оптимального линейного итерационного процесса. Задача 6. Получить такую же оценку числа действий для трехслойного итерационного процесса (см. § 6.6, задача 3) с фиксированным итераци- онным параметром ш. Задача 7. Показать, что средняя трудоемкость трехслойного итерацион- ного процесса (см. § 6.6) с фиксированным параметром ш может быть снижена вдвое за счет следующего обстоятельства. При нахождении и1 при I четном вычисляются и запоминаются только значения в точках с четной суммой т + п, а при I нечетном — в точках с нечетной суммой т + п. Заметим, что в случае прямоугольника в методе переменных напра- влений (21) (если его рассматривать как итерационный метод) можно указать последовательность переменных шагов по времени, при которой общее число операций будет равно О (1V2 In 7V| In е Q. Заметим, что все описываемые выше методы укладываются в общую схему решения стационарных уравнений путем установления. В частно- сти, двухслойные итерационные методы можно рассматривать как ап- проксимацию уравнения ди . а =А“ + Л
588 Глава 10. Методы решения уравнений в частных производных а трехслойные — как аппроксимацию уравнения д2и ди ~d^+17jt В случае необходимости решения более сложных стационарных задач для уравнений с частными производными часто идут по такому пути. Стро- ят нестационарный процесс, сходящийся к решению задачи, а затем в качестве итерационного процесса берут дискретную аппроксимацию это- го нестационарного процесса. Например, в случае уравнения Дп + f — 0 один из таких процессов установления описывается уравнением д2и д2и ди dtdx + dtdy + dt Задача 8. Доказать, что при определенном соотношении между шагами по t, х. у сеточная аппроксимация этого уравнения превращается в ме- тод сверхрелаксации для решения сеточного уравнения ДЛ-н + / = 0. В случае, когда область G есть квадрат и /ц = = h, указать итерацион- ный параметр у, при котором число итераций для получения решения с 2 точностью е будет порядка —Л-11п(с-1). 7Г Эффективными методами решения сеточных эллиптических уравнений являются интенсивно развиваемые в последнее время метод фиктивных компонент и многосеточный метод. По сути дела они также уклады- ваются в общую схему построения итерационных методов, и проблема заключается в выборе соответствующего переобуславливателя. В итерационном методе фиктивных компонент, предназначенном для решения сеточного уравнения Пуассона в области произвольного вида, на каждом шаге итерационного процесса необходимо решать первую крае- вую задачу для уравнения Пуассона в некотором прямоугольнике, со- держащем внутри себя эту область. Если для решения последней зада- чи применяется какой-либо из эффективных методов (например, марш- алгоритм), то при любом р для получения решения с точностью ()(№') потребуется O(/i-2| ln/i|) арифметических операций. Метод Федоренко (называемый также многосеточным методом). К числу наиболее эффективных и употребляемых методов решения сеточ- ных эллиптических задач (включая краевые задачи для систем урав- нений Навье—Стокса) относится многосеточный метод, предложенный в шестидесятые годы. Сначала практическое использование этого метода носило эпизодический характер из-за неприспособленности существовав- шего тогда программного обеспечения к использованию методов такого типа. Основная идея этого метода заключается в следующем. Пусть решает- ся сеточная краевая задача L^u^ = fa. Подбирается некоторый итераци-
§ 8. Методы решения сеточных эллиптических уравнений 589 онный процесс такой, что уже при небольшом числе итераций обеспечи- вается определенное сглаживание погрешности. Таким образом, решение исходной задачи сводится к решению задачи с относительно более глад- ким решением. Решение задачи с гладким решением на сетке с шагом h близко к решению задачи на сетке с более крупным шагом, например с шагом 2Л. Предлагается решить уравнение для погрешности на более грубой сетке и затем, проинтерполировав на исходную сетку, получить существенно лучшее приближение к решению. Для приближенного реше- ния задачи на сетке с шагом 2h применяется аналогичная процедура с переходом к решению задачи на сетке с шагом 4/t и так далее. Часто одна итерация на сетке с шагом h состоит в дву- или трех- кратном применении описанной процедуры перехода к решению задачи на сетке с шагом 2/ь Рассмотрим этот метод на примере краевой задачи —и" = / при 0 < х < 1, 'п(О) = н(1) = 0. Соответствующая сеточная краевая задача Lhnh = fh имеет вид: Щ14-1 2un + ип—1 . . —----------------= fn=f(rih), п = 1,..., N - 1; цо=Илг=О. Пусть N ~ h.1 четное. Далее, как правило не оговариваясь, предпола- гаем что все рассматриваемые сеточные функции принадлежат подпро- странству функций Uh, удовлетворяющих условию uq = им — 0. Опишем подробнее процедуру сведения решения на сетке с шагом h к решению задачи на сетке с шагом 2h. Рассмотрим итерационный процесс =u*-T(Lhukh-fh), к = 0,... ,т — 1. (10) Вычитая это соотношение из равенства Uh = Uh — T(Lh'tih —J1'), получим уравнение относительно погрешности Uh — : r^ = (E-rLh)rkh. В качестве начального приближения возьмем и® = 0; тогда r°=uh, = (Е - rLhynuh. Далее в рассуждениях об уменьшении величины погрешности мы имеем в виду уменьшение погрешности решения п/, относительно погрешности приближения иь = 0. „ , ч /к тщи Функции <p9(n) = V2sin-^-, <7 = 1,... ,N— 1, образуют полную орто- нормированную систему в пространстве функций Uh относительно ска- лярного произведения N-1 (f,g)h = h^fndn
590 Глава 10. Методы решения уравнений в частных производных и являются собственными функциями для оператора Lh: 2- 2cos^ LhVq =----q>q. Поэтому (Е - rLh)ipq = (1 - 4тЛ”2 sin2 (11) Отсюда видно, что итерационный процесс (10) сходится при 0 < т Л2/2. Если т — 9h2, где 0 < 9 < 1/2 не зависит от h, то составляющие по- грешности, соответствующие функциям ipq со значениями q порядка N. то есть сильно колеблющиеся, умножаются на множители существенно меньшие единицы. Вследствие этого и происходит определенное сглажи- вание погрешности. Положим далее т = /г/4; тогда проводимые выкладки имеют наиболее простой вид. В частности, (Е ; Inh I nh и соотношение (11) приобретает I 'Un-|-1 4“ 2ura + ип-\ где Qhuh\ =------------------------------- I nh 4 вид 1 + cos Т r\r- l+cos 2 это 1—cos - 9 тго гп r- Обозначим cq = ----2~^~ ~ cos 2N и S<1 =----2 = sm~ 27V- 1аким °бра- 3OM, QhSPq = <-q(P<[', Qh (Pq = cq Vqj Определим оператор П2/' перехода с сетки с шагом h иа сетку с ша- гом 2h: r-r'2h I fln-f-1 "Ь 2gn 4" 9n-1 Щ оИ = —т------------------, n —четное, h J \nh 4 и оператор II/,/ перехода с сетки с шагом 2h на сетку с шагом h: дп при п — четном, 9п-1 4~ 9п+1 ----------- при п — нечетном. Лемма. Справедливы неравенства lin^lH ЫН ЛыИ 1Ы&- (12) ^2h92hl — \nh Доказательство. Запишем неравенство Коши—Буняковского для скаляр- ного произведения векторов (1/s,... , 1/s) и ,tzs): ni + • • • + as \ 2 < сг 12 + • • + <2S2 S ) S
§ 8. Методы решения сеточных эллиптических уравнений 591 Поэтому /9n-i + 2gn + gn+i Y _ /9n-i + дп + g-п + ffn+i \2 9n-i + д‘п + дп + <?2+i V 4 J 4 ) " 4 • Если gh G Uhi то после суммирования по четным п и домножения на 27л, получаем первое из утверждений леммы. Аналогично имеем (9п-1 + gn-ц А 2 < 9п-~1 + <72-н \ 2 / "" 2 N/2-1 Просуммируем по нечетным п и добавим сумму ^2 После умноже- .7 = 1 ния на h получим второе утверждение леммы. Если бы удалось решить точно уравнение Lhr”hl = Qhmfh, (13) то, прибавив rhm к иьт, ми получили бы точное решение задачи -ид. Предположим, что известен алгоритм приближенного решения урав- нения L2hT2h = g-2h, такой, что приближенное решение может быть записано в виде r2h = Ar2h.9~h. ~ 2hl'2h. , где и S^h — некоторые линейные операторы и ^2hr2hll2h ^11|^2/1 Ц2/1 • (14) Перенесем правую часть (13) на сетку с шагом 2h и применим этот алгоритм к уравнению L2hr2h = ^Qhmfh- Точное решение этого уравнения записывается в виде T2h = L~^Qhmfh = L~^QhmLhuh. Проинтерполировав получившееся приближенное решение Г2К = z'2/i ~ 5,2дГ2д на сетку с шагом h, получим приближение = П2/1 (г2/1 ~ S2hr2h) ; положим uh = uh+fh- Погрешность получившегося приближения равна Rlh = r^1 — fh- Выразив эту погрешность через решение исходной задачи, получим । %h “
592 Глава 10. Методы решения уравнений в частных производных где 4 = Qhmuh - П^т2/г = (Q,/" - I^hL^n2hQhmLh) uh, 4 = n%hS^r2h = n'ihS^L^n2hQhmLhUh. Функции <pq являются собственными для операторов L/, и £2л: _4sin2^ _4sg _4sin2^ _4SqCq Lh<Pq — ^2 4>q — L2h(Pq — ^h)2 ~ h2 Справедливо равенство H‘h14->(12h = C1iP<lh- Поэтому TV—1 / lr> \ /л \ r2h = L7,^LhQhmuh = £ -2_ cJ -J c^Vq = k=i \’, / q==l Совпадение функции L^If^L^Q^Uh и QhnUh в узлах сетки с шагом 2h носит случайный характер и не имеет места в других случаях. Справедливы равенства . . 7r(TV - g)n f sin = </’</(«) ПРИ нечетном л, (p N-q(n) = sm——----- = < . cv I — sin = — <Pq\n) при четном n, ^PN/rAn)—^ ПРИ четном n, Qg) 1 sN/2 — C-N/2 — 2’ Sq + Cq = 1, Cq = SN—qt Sq — Cjy—q. Поэтому W/2-1 Г2К = ^Cdma4 ~ -^qmaN-q)^q- 9=1 Согласно равенству Парсеваля W/2-1 N-\ 1Ы12А = £ (Cqmaq - SqmaN_q)2, ||^lh = £«^ 9=1 9=1 Из неравенства Коши—Буняковского следует (Cqmaq - SqmaN^2 (Cq2m + Sq2™)^ + Вследствие (16) имеем Cq2m + Sq2m^Cq + Sq^l. Поэтому (Cq 0>q Sq 0>N~~q)^ H“ ^N—q •
§ 8. Методы решения сеточных эллиптических уравнений 593 in fl После суммирования по q получаем 1Ы1^ 1Ы1л- Отсюда и из (12), (14) получаем оценку \\4\\h - £1К||Л. Исходя из равенств </?9(п) при четном п, 7ГП cos при нечетном п и равенств (16), подберем aQ и bq так, чтобы при всех п выполнялось равенство = aqipq(n) + bqtpN~q(n). Получим уравнения , , nq 0>q bq — 1 — Cq + 6’q, Qq + bq — COS -^7 — Cq Sq, и следовательно, aq = cq, bq = —sq. Поэтому W-l Лг-1 ^2/ir2/i — cq O.q(cq<Pq — Sqippj^q) = (cq + ttq — Sq Cqa>fq_q)ipq. 4=1 q=l Подставляя это разложение в (15), получим равенство Л'-1 = Q,r - n'ihr2h = £ (cqmaq - (cqm+1av - Sqmcqa^q)) Vq 4=1 N-1 = (cq Sqaq + Sq CqCI,J\T_q) cpq. 4=1 Согласно неравенству Коши—Буняковского (cqmsqaq + SqmcqaN_q)2 (cq2mSq2 + sq2mcq2)(aq2 + ayv-g2). Первый множитель записывается в виде 9m(y) = (1 - у)2ту2 + y2m(l - у)2, где у = sq.
594 Глава 10. Методы решения уравнений в частных производных Если ввести обозначение дт„ — тахдт(у), то при всех q будет справед- ливо неравенство SqClq + Sq 5$ T ^N—q ), и поэтому N-l INIft = (C9 sqaq + Sq CqCIhj—q) <7=1 TV—1 N-\ > (a<7 + aN—q~) 2ф„ Л,ад ~ %9m ll'a/i IIh • <7=1 <7=1 Отсюда получаем оценку G7„||izh||ft. где Gm = у/2д^. Из этой оценки и оценки для Цг/JI следует, что Klk (Gm + е1)||Я«||,1. (17) Здесь = ufL — ошибка начального приближения: u°h = 0. Оценим величину б?2- Справедливо равенство <72(2/) — (1 — 2?<)'«2, где и — у(1 — у). Согласно формуле дифференцирования сложной функции — ,i(2 — 6и)(1 — 2у). фу Отсюда получаем, что производная функции у2(у) обращается в нуль в точках 0,1/2,1,1/2 ± i\/l/12: поэтому, исследуя график функции q->(ii), получаем д2 = 92^/2) = 1/32, С2 = 0.25. Задача 10. Показать, что / 9 1 Gm < \ ~2~2 + NGvG < Q№/m V ezmz 2 • 4m при т > 2. Подведем итог проведенных построений. Начав с приближения и^ = 0 = иь — Uh, мы получили новое приближение и\ = чд, — Sf°Uh, где с о = Gm + El, SEh° = Qhm - n^hL-^ihQhmLh + ^hS^L^QhmLh. Таким образом, воспользовавшись алгоритмом уменьшения погрешно- сти в 1/ei раз на сетке с шагом 2h и произведя дополнительно О (mN) арифметических операций, мы добились уменьшения погрешности на сет- ке с шагом h в 1/ео раз, где бо = Gm + El- Далее фиксируем т = 2 и возьмем si = 0,25. Из оценки (17) следует, что при использовании описанной процедуры норма погрешности реше- ния на сетке с шагом h, умножится на множитель не больший 0,5. После
§ 8. Методы решения сеточных эллиптических уравнений 595 повторного применения этой процедуры норма погрешности решения на сетке с шагом h умножится на множитель не больший 0,25. В итоге после двукратного использования алгоритма уменьшения по- грешности в 4 раза на сетке с шагом 2Л, осуществляя дополнительно не более C(2)7V арифметических операций, мы получаем алгоритм умень- шения погрешности в 4 раза на сетке с шагом h. Обозначим число арифметических операций, достаточное для умень- шения погрешности в 4 раза на сетке с шагом 1ц = 2-г через Z(l). Полученный выше результат можно записать в виде неравенства Z(Z) «С 2Z(l — 1) + С(2)2г. Функция W(/) = С(2) 121 удовлетворяет уравнению W(l) = 2W(l-l) + C(2)2l. При 1 = 1 рассматриваемую сеточную задачу можно решить, совершив не более чем 3 арифметические операции. Поскольку С(2) > 2, то Z(l) + ТУ(1). Индукцией по I можно получить оценку Z(l) + ИД/) = O(7Vlog27V) при N = 21. Если требуется добиться уменьшения погрешности в М раз, то будет достаточно [l+log4M] итераций, и, таким образом, общее число действий, требуемое для решения задачи, будет O(JVlog2 TVlog2 М). Эта оценка хуже, чем оценка О (IV) числа действий методов прогонки или стрельбы. Однако в рассматриваемом методе можно уменьшить число арифме- тических операций. Во-первых, можно показать, что при некотором ви- доизменении итерационного процесса (10) при решении задачи на сетке с шагом h достаточно лишь один раз обращаться к решению задачи на сетке с шагом 2h. В результате этого число операций, требуемое для уменьшения нормы погрешности на сетке с шагом h в 4 раза снижается до O(N). Можно предложить другой вариант уменьшения нормы погрешности, например, в 4 раза на сетке с шагом h = 2~1 с затратой O(N) ариф- метических действий. Положим = 1/(4(Z — j + l)),'m?- = [4(/ — j + 1) х (I — j + 2)0,59] +1 при j = 1,... ,ггц. Применим описанный выше алгоритм последовательного сведения решения задачи на сетке с шагом hj = 2~J к решению задачи на сетке с шагом hj = 2~^~1\ при этом для каждого j = 1,... ,2 производим rrij итераций по формуле (10) при т = Tj = Лу/4. Задачу на сетке с шагом h± = 1/2 решаем точно. Задача 11. Доказать, что при таком выборе T)j и пу погрешность ре- шения на сетке с шагом h = 2~1 уменьшится в 4 раза, а общее число арифметических действий, затрачиваемое при этом, есть O(N).
596 Глава 10. Методы решения уравнений в частных производных При решении задачи существенно используется то, что при всех j выполняются наравенства т/j i]j-i + 0,59/mj. Во вторых, можно принять во внимание следующее обстоятельство. При дважды дифференцируемой /(ж) решения задач на сетках с ша- гами 2~1 и отличаются на О(2~2!). Поэтому можно поступить следующим образом. Задаемся некоторой последовательностью убывающих величин Si = const-2~2/. Последовательно решаем задачи на сетках с шагами h/ = 2_(г~В с погрешностью итерационного процесса порядка ^/~i, и получив- шиеся приближения берем в качестве исходных для итераций на сетке с шагом hi = 2~1. При этом оказывается, что при каждом I требуется лишь конечное число итераций описанного выше вида. В результате решение исходной сеточной задачи будет получено с погрешностью ()(\/N~) при общем числе арифметических операций O(7V). В рассматриваемом случае при некотором видоизменении итерацион- ного процесса (10) в результате одного полного цикла итерации — спуска от шага h = 2~1 до шага h = 2-1 и возвращения к шагу h = 2"1 с общей затратой O(N) арифметических операций получается точное ре- шение сеточной задачи. Однако этот факт носит случайный характер и не относится к более сложным задачам. Рассмотрим случай размерности задачи s > 1. Пусть используется рас- смотренный алгоритм сведения решения задачи на сетке с шагом h к решению задачи на сетке с шагом 2h и число таких сведений при ка- ждом шаге равно у > 1. Для весьма широкого класса задач можно доказать существование е(у) > 0 и т(у) < со, удовлетворяющих следующим соотношениям. После у-кратного применения описанной выше процедуры, состоящей из ш(у) итераций (10), перехода к задаче па сетке с шагом 2h, решения задачи - на этой сетке с помощью алгоритма d2/i и перехода на сетку с ша- гом h, некоторая норма погрешности решения задачи на сетке с шагом h уменьшается в 1/е(у) раз. Естественно, что операторы перехода с одной сетки на другую П2/1 и П^ будут иными, чем выше. Обозначим число арифметических операций, достаточное для умень- шения погрешности в 1/е(у) раз на сетке с шагом h = 2-z, через Z(l). Справедливо неравенство Z(l} qZ(l — 1) + Co(s,q)2sl. Отсюда при у < 2s можно получить неравенство Z(l) Ci(s,y)2sZ. Таким образом, общее число действий, достаточное для уменьшения погрешности на сетке с шагом h в 1/е(у) раз, будет порядка O(h~s), то есть порядка О (IV), где N — общее число узлов сеточной задачи. Высказанные выше утверждения относятся и к случаю аппроксимаций метода конечных элементов.
§ 8. Методы решения сеточных эллиптических уравнений 597 Литература 1. Бахвалов Н. С. О сходимости одного релаксационного метода при естественных ограничениях на эллиптический оператор. // ЖВМиМФ — 1966. т. 6, N 5, с. 861 883. 2. Березин II. С., Жидков Н.П. Методы вычислений. Т. 2. —-М.: Физматгиз, 1962. 3. Воеводин В. В., Кузнецов Ю. А. Матрицы и вычисления. — М.: Наука., 1984. 4. Годунов С. К., Рябенький В. С. Введение в теорию разностных схем. — М.: Наука, 1962. 5. Годунов С. К., Рябенький В. С. Разностные схемы. -М.: Наука, 1977. 6. Годунов С. К., Забродин А. В. и др. Численное решение многомерных задач га- зовой динамики.— М.: Наука, 1976. 7. Денисов А.М. Введение в теорию обратных задач -М.: Изд-во МГУ, 1994. 8. Джордж А., Лю Д. Численное решение больших разреженных систем уравне- ний.—М.: Мир, 1984. 9. Дьяконов Е. Г. Минимизация вычислительной работы. Асимптотически опти- мальные алгоритмы для эллиптических задач. — М.: Наука, 1989. 10. Зенкевич О., Морган К. Конечные элементы и аппроксимация. — М.: Мир, 1980. 11. Кобельков Г. М. Решение задачи о стационарной свободной конвекции. // ДАН СССР. - 1980, 225, N 2, с. 277-282. 12. Кобельков Г. М. О методах решения уравнений Навье-Стокса. // Вычислитель- ные процессы и системы. — М.: Наука, 1991, вып.8, с. 204-236. 13. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вычислительных методов. Уравнения в частных производных. Минск: Наука и техника, 1982. 14. Локуциевский О. В., Гавриков М. Б. Начала численного анализа. -М.: ТОО «Янус», 1995. 15. Марчук Г. И. Методы вычислительной математики. — М.: Наука, 1980. 16. Марчук Г.И., Агошков В.И. Введение в проекционно-разностные методы.— М.: Наука, 1981. 17. Марчук Г.И., Лебедев В.И. Численные методы в теории переноса нейтронов.— М.: Атомиздат, 1981. 18. Марчук Г. И., Шайдуров В. В. Повышение точности решений разностных схем. — М.: Наука, 1979. 19. Марчук Г. И., Яненко Н.Н. Применение метода расщепления (дробных шагов) для решения задач математической физики. — В кн.: Некоторые вопросы вычи- слительной и прикладной математики.— Новосибирск: Наука, 1966. 20. Рябенький В. С., Филиппов А. Ф. Об устойчивости разностных уравнений. — М.: Гостехиздат, 1956. 21. Самарский А. А. Теория разностных схем. — М.: Наука, 1982. 22. Самарский А. А., Андреев В.Б. Разностные методы для решения эллиптических уравнений. — М.: Наука, 1976. 23. Самарский А. А., Гулин А. В. Устойчивость разностных схем. —М.: Наука, 1973. 24. Самарский А. А., Николаев Е. С. Методы решения сеточных уравнений. — М.: На- ука, 1978.
598 Глава 10. Методы решения уравнений в частных производных 25. Самарский А. А., Попов Ю. П. Разностные методы решения задач газовой дина- мики. — М.: Наука, 1980. 26. Самарский А. А., Капорин И. Е., Кучеров А. Б., Николаев Е. С. Некоторые со- временные методы решения сеточных уравнений. // Изв. вузов. Сер. мат., 1983, N 7(254). С. 3-12. 27. Саульев В. К. Интегрирование уравнений параболического типа методом сеток. — М.: Физматгиз, I960. 28. Стрэнг Г., Фикс Дж. Теория метода конечных элементов. — М.: Мир, 1977. 29. Федоренко Р. П. Релаксационный метод решения разностных эллиптических уравнений.// ЖВМиМФ —1961, т.1, N 5. С. 922-927. 30. Федоренко Р. П. Введение в вычислительную физику. — М.: Изд-во МФТИ, 1994. 31. Шайдуров В. В. Многосеточные методы конечных элементов. — М.: Наука, 1989. 32. Янепко Н. Н. Метод дробных шагов решения многомерных задач математической физики. — Новосибирск: Наука, 1967. 33. Hackbusch W. Multi-Grid Methods and Applications. — Springer-Verlag, Berlin- Heidelberg, 1985.
Глава 11 Численные методы решения интегральных уравнений В этой главе мы дадим краткое описание алгоритмов решения интег- ральных уравнений, не вникая подробно в вопросы оценки погрешности. Задача решения интегральных уравнений возникает как вспомогатель- ная при решении краевых задач для дифференциальных уравнений с частными производными и как самостоятельная при исследовании ра- боты ядерных реакторов, при решении так называемых обратных задач геофизики, при обработке результатов наблюдений и т. п. Мы ограничим- ся рассмотрением случая интегральных уравнений с одной неизвестной функцией и одной независимой переменной. § 1. Решение интегральных уравнений методом замены интеграла квадратурной суммой В теории численных методов решения интегральных уравнений рассма- триваются следующие типичные задачи. Найти решение интегрального уравнения Фредгольма первого рода Gy=f К(х, s)y(s)ds = /(ж), (1) J а интегрального уравнения Фредгольма второго рода у _ XGy = у — X f К(х, s)y(s)ds = /(ж), (2) •/ а интегрального уравнения Вольтерра первого рода Gy=[ К(х, s)y(s) ds = /(ж), (3) J а интегрального уравнения Вольтерра второго рода у - XGy = у - А / К(х, s)y(s)ds = /(ж) (4)
600 Глава 11. Методы решения интегральных уравнений и задачи на собственные значения Gu = Хи. (5) В последнем случае ищутся числа А, при которых задача. (5) имеет ненулевое решение. Воспользуемся какой-либо формулой численного интегрирования ip(x)dx «Sm^) (6) Ja j=i где Cj, вообще говоря, зависят1 от т. Имеем равенство ДФ) = S-M + 11т(ф), (7) где Rmfy) —остаточный член квадратурной формулы (6). Рассмотрим для примера уравнение Фредгольма второго рода (2). С помощью соотношения (7) его можно переписать в виде т у(х) - Xy^CjK^x, - Rn^XKy) = f(x)- (8) 7=1 остаточный член R„,(XKy) при вычислении интеграла X К(х, s)y(s)ds J а с помощью квадратуры (6) является функцией переменной х. Полагая в (8) х = x^V, i = 1,..., т, получим систему уравнений т y(xin}) - A^FqA^'"5, + Лт(АКу)| (т) 7=1 Отбрасывая остаточный член, приходим к системе линейных алгебраиче- ских уравнений т Vi~ X^CjK^X^, Уз = fi, = 7 = 1,..., 771. (9) 7=1 Для решения этой задачи могут быть применены стандартные методы решения систем линейных алгебраических уравнений. Будем рассматривать случай вещественных К(х. s) и f(x). Обратим внимание на следующее обстоятельство. Если ядро К(х, s) интегрально- го оператора G симметрично (K(s, х) = К(х, s)), то оператор Е — G, входящий в левую часть исходного уравнения (2), также симметричен. Однако матрица системы уравнений (9) не обязательно будет симме- тричной. Мы видели ранее, что решение систем уравнений с симметрич- ной матрицей в определенном смысле предпочтительнее решения системы уравнений с несимметричной матрицей: шире класс точных и итерацион- ных методов, которые могут быть применены для решения таких систем.
§ 1. Решение методом замены интеграла 601 Систему уравнений (9) можно преобразовать к виду, в котором ма- трица системы будет симметричной. Для этого умножим г-е уравнение системы (9) на с,; получим систему уравнений Ci'Ui - ^2>cic3K = Cifi, i = 1,..., m, (10) .7 = 1 уже с симметричной матрицей. Другой возможный способ симметризации состоит в следующем. Умножим i-e уравнение в (9) на yfci и положим y/ciyi = zr. Получим систему уравнений т Zi - Х^^^к(х^\ 4n)) Zj = ^ft. (11) 1=1 В случае с,- > 0 второй способ симметризации является более предпочтитель- ным, поскольку разброс собственных значений у матрицы системы (11). как правило, меньше, чем у матрицы системы (10). Заметим, что в случае, когда в квадратуре (6) все веса одинаковы: (’») С1 с<”1) = (Ь-«)/т, (12) необходимость в таких симметризациях отпадает. Задача 1. Рассмотреть случай комплексного самосопряженного ядра К(х, .$) = Л (.т, s). Проверить, что в этом случае при использовании описанных способов получается система уравнений с самосопряженным ядром. Конечно, как и в случае решения произвольных систем линейных алгебраиче- ских уравнений, при использовании методов Гаусса или квадратного корня в процессе вычислений может возникнуть операция деления па нуль или пере- полнение. Задача 2. Рассмотреть случай формулы прямоугольников, когда выпол- нено соотношение (12), и постоянного ядра К(х, s) = К — const. Применить для решения системы (9) метод исключения Гаусса при есте- ственном порядке исключения неизвестных тц,..., ут. Показать, что при 1 — ХК(Ь — а) е > 0 в ходе исключения по методу Гаусса (§ 6.1) аб- солютные величины всех встречающихся элементов а* равномерно огра- ничены сверху некоторой постоянной к(е), зависящей только от е и не зависящей от т: |a-j;| к(е) < оо. 903-21
602 Глава 11. Методы решения интегральных уравнений Показать, что Ншт-юо .чир|о^| = оо г, 3,1 при 1 — ХК(Ь — а) <0. Задача 3. Показать, что при условии т lAl52|9^(-Ti?n)’ 7;.(”,))| ^1~е- Е>0 3 = 1 при решении системы (9) методом Гаусса всегда «1(c) < оо при любых т, i, j, I. (13) При расмотрении задачи на собственные значения (5) при аппроксимации инте- грала квадратурной суммой (б) возникает алгебраическая задача на собствен- ные значения: т {xi'n\ Ui = xUj- (И) Для ее решения могут быть применены стандартные методы решения задач на собственные значения. В случае с3 > 0 и симметричного ядра К (ж, s), как и выше, задачу на соб- ственные значения можно преобразовать в задачу па собственные значения для симметричной матрицы с помощью введения новых переменных y/cjtji = z,. Задача 4. Пусть все CjK^r^m\ 0 и среди них есть ненулевые. Доказать, что максимальное по модулю собственное значение А! задачи (14) положительно. Доказать, что среди собственных векторов, соответ- ствующих этому собственному значению, имеется вектор, у которого все компоненты неотрицательны. Указание. Один из возможных путей решения задачи заключается в рассмотрении итерационного процесса (гл. 6) т (m+1) _ т(т)>) У г ~ ХУ'г •> -l j J Uj 3 = 1 нахождения собственного вектора при начальном условии (о) с положительными компонентами уг- . „(о) „(°) У\ > • - 1 Ут Интегральное уравнение Вольтерра второго рода (4) можно записать в виде у(х) - А [ К(х, s)y(s) ds = f(x) J a
§ 1. Решение методом замены интеграла 603 - . . f К(х, з) при з х, с ядром К(х, в) = < q и s > х и применить описанный выше алгоритм решения интегрального уравнения Фредгольма второго рода. Однако на таком пути мы можем получить методы с плохой схо- димостью при т —> оо: погрешность квадратурной формулы (6) может оказаться большой, поскольку при з > х подынтегральная функция рав- на нулю и на всем отрезке [а, 6] разрывна (если К(х, з) 0) или не обладает высокой гладкостью. Поэтому целесообразнее поступить следующим образом. Зададимся ка- ким-либо набором точек а < • < xffi Ь. Выпишем соотношения (т) У (Ж!ТО)) - K(xi \ s)y(s) ds = f (x^) и для вычисления интегралов (m) Г К(х™, s)y(s)ds (15) J (1 применим какие-либо квадратурные формулы достаточно высокой точ- ности, использующие значения подынтегральной функции в точках ж 1™), • •, х^. Если при вычислении интеграла используются значения „ , (т) (т) подынтегральной функции лишь в точках х\ ,..., х$ то матрица си- стемы уравнений (9) будет левой треугольной и отыскание решения си- стемы (9) существенно упростится. Рассмотрим следующую схему решения задачи (4). Пусть К(х, з) и /(s) диф- ференцируемы I раз. Можно показать, что тогда решение 7/(а) также I раз дифференцируемо. Положим = а + (i — 1)Н, Н — (Ь — а)/(т — 1). Для вычисления интегралов [ ' К(х, s)f(s) J а ds применим формулу Грегори с по- рядком точности О(Н1(х(™) — «)). Такие формулы определены при i I. При i < I для вычисления этих интегралов применим какие-либо квадратурные формулы по узлам х^г\..., с точностью порядка О(Н') или О(Н,+1). В итоге получим систему уравнений (9), у которой выше главной диагонали ненулевые элементы могут находиться только в первых I строках и столбцах. Решаем систему из первых I уравнений системы (9) относительно I неизвест- ных yj,..., уц затем находим остальные решая систему уравнений с левой треугольной матрицей. Если ядро К(х, з) и правая часть f(s) — аналитические функции, то иногда целесообразнее использовать идею широко известного метода Батчера решения дифференциальных уравнений. В этом случае получится система уравнений с полностью заполненной матрицей, но при этом погрешность решения убывает как qm, q < 1.
604 Глава 11. Методы решения интегральных уравнений Если К(х, х) 0, то дифференцируя по х уравнение Вольтерра первого рода (3), мы сведем его решение к решению интегрального уравнения Вольтерра второго рода К(х, х)у(х) + f Кх(х, s)y(s)ds = Д(а). (16) § 2. Решение интегральных уравнений с помощью замены ядра на вырожденное Другой классический способ решения интегральных уравнений, применя- емый в случае задач (1.2), (1.4), состоит в замене К(х, .ч) — ядра инте- грального оператора на вырожденное. Вырожденным называется ядро, представимое в виде конечной суммы <7 .ч) = ^сДя)^), q<oo. 3 = 1 Пусть <7 К(х, s) « К°(х, s) = ^2cj(.T)dj(s). (1) 1=1 Для определенности будем предполагать, что сДж),..., с<7(.'/:) линейно не- зависимы и c?i(s),..., dq(s) также линейно независимы. В противном слу- чае ядро (•'/:, s) можно записать в виде (1) с меньшим значением q. В случае (1) есть основания ожидать, что решение уравнения (1.2) близко к решению уравнения у(т) - A f К°(х, s)y(s) ds = /(ж). (2) J о, Подставляя выражение К°(х, s) в (2), получим равенство /ь ч Y^Ax^dj^ytsjds. (3) 1=1 Следовательно, ч у(х) = f(x) + А^Д^сДт), (4) 1=1 где Аз = / dj(s)y(s)ds. J о, Таким образом, решение уравнения (2) сводится к определению коэффи- циентов Aj.
§ 2. Решение с помощью замены ядра 605 Подставляя выражение (4) для у(х) в (3), получим уравнение 1 гЬ ч / ч \ A»G (ж) - А / Е Ci (x)dt(s) I f (s) + А Е AjCj(в) j ds = 0; i=l 'а i=l X j=l / при получении этого уравнения в двух случаях индекс суммирования j переобозначен через i. Последнее уравнение можно переписать в виде ч г=1 где Bi = Ai- di(s)f(.s) ds- АУ^Лд / di(s)cj(s) ds. •/ a J a Вследствие линейной независимости функций сДх) имеем Bi = 0. Та- ким образом, мы получили систему уравнений относительно неизвест- ных А.,: ч Лг-АуЗ(ф,С>)Л; = (ф,/); (5) j=i [Ь здесь (д, f) = / g(x)f (х) dx — скалярное произведение. После решения •/ а этой системы получаем приближение к решению задачи, которое име- ет вид ч у(т) « f(x) + АУ2 Acj(^)- j=i Если применяется метод из § 1, то при больших т решение системы (1.9) ме- тодом Гаусса может оказаться невозможным из-за недопустимо большого (по- рядка т3) числа операций. Если т £ |AqK(^m), 4'1))| q < 1, (6) J=1 то для решения системы уравнений (1.9) можно применить метод простой ите- рации тп У?+1 = А Е + Л- (7) >=i Если переписать этот итерационный процесс в векторном виде y"+1 = Вуп + f, то вследствие (6) имеем ||В||ТО С Q < 1 11 погрешность итерационного процесса убывает как О(дп). Если q не очень близко к 1, то применение итерационного процесса (7) целесообразнее применения метода Гаусса.
606 Глава 11. Методы решения интегральных уравнений Если итерационный процесс сходится медленно или не сходится, то применяет- ся, например, следующий прием. В уравнение (1.2) вводится новая неизвестная функция /•6 z{x) = у(х) — A I Л'°(т, s)y(s)ds J а и оно преобразуется к виду z(x) - f Н(х. s)z(s)ds = g(s). (8) J a Оказывается, что ||/Г(.с, s)||oo —> 0, если ||№(т, .s) — К(х, .s)||,x —> 0. Поэтому при достаточно малой величине s) — К(х, s)||cc и разумном выборе ква- дратурной формулы окажется, что система уравнений (1.9), соответствующая уравнению (8), удовлетворяет условию (6), и итерационный процесс (7) быстро сходится. Рассмотрим другой способ получения уравнения вида (8) с малой ||//||.,o. Опре- делим интегральный оператор Qog= / /<0(а-, s)g(s) ds. J а Обозначим через Go оператор, обратный к оператору Е — AQ(I, т. е. Go/ равно решению уравнения у — XQoy = /. Применяя к (1.2) оператор Go, получим уравнение Go(E — AQ) у = Gof, которое может быть записано в виде у(х) — [ R(x, s)y(s) ds = h(x), (9) J a где опять-таки ||jR||oo —> 0, если ||К — Ко||(Х —> 0. В вычислительной практике наиболее употребителен дискретный вариант опи- санных алгоритмов. По аналогии со случаем вырожденных ядер можно опреде- лить класс вырожденных матриц. Пусть М™ — множество квадратных матриц размерности т, представимых в виде i=i матрица CjdJ является квадратной матрицей размерности т и ранга 1. Аналогично способу решения интегральных уравнений Фредгольма второго ро- да можно построить способ решения алгебраических систем с «вырожденной» матрицей у —ASy = f, S&M™-, ч вектор у отыскивается в виде у = f + £AjCy. Относительно неизвестных Aj j=i получаем систему уравнений (5), где (•, •) — обычное скалярное произведение векторов.
§ 2. Решение с помощью замены ядра 607 Рассмотрим простейший случай. Пусть в (1-6) применяется формула прямо- угольников / ФЫ « gi «!"” =«+ - »): система уравнений (1.9) имеет вид \ т <w> или в векторной форме у - А/Дга)у = f. Пусть т — si, I целое, s нечетное. Определим матрицу S размерности т х т по правилу: ее элементы Sij равны -К(х(1> т'1) "1 где ^(L.i.j)) —ближайшая к (х}ш), rcjm)) из точек (х.^, Д'1)- Бли- зость измеряется как максимум модулей разностей первых и вторых компо- нент. Таким образом, 1(0 _ 7.(’”)| Ь — а I а) _ (m)l Ь - а г | 2/ ’ р'ЛЦэтг, г, J) | 2/ (напомним, что s нечетно). Задача 1. Показать, что S G Mf". Далее вводим новый вектор неизвестных z = у — XSy (аналог перехода к урав- нению (8)) или умножаем обе части системы (10) слева на матрицу (Е — AS)"1 (аналог перехода к уравнению (9)). В обоих случаях получаем новую систему уравнений вида u-Fu=g. (11) Справедливо следующее утверждение. Если ядро К(х, .sj непрерывно, то ||F||oo С w(Z), w(Z) —> 0 при I —> оо. Таким образом, получаем систему уравнений, для решения которой может быть эффективно применен метод простой итерации. При реальном решении задач часто в явном виде системы уравнений (8), (9), (11) не выписываются; на каждом шаге необходимые вспомогательные вели- чины, например в случае (11) значения векторов (Е — AS)"1!! при различных h, вычисляются заново. В результате этого трудоемкость метода оказывается довольно малой.
608 Глава 11. Методы решения интегральных уравнений Рассмотрим, например, дискретный вариант перехода к системе (9). Имеем систему (Е - AS)1 (е - AE(m))y = (Е - AS)-1f. Итерационный процесс записывается в виде уП+1 уП _ (£ _ AS)-J _ хк^у’1 - f). Вычисление вектора wn = ^Е — ХК^т^у'1 — f требует О(ш2) арифметических операций. Вектор zn = (Е — AS)-1w" находим на каждой итерации, решая систему урав- нений z — ASz = w” с матрицей S е М™. Вычисление коэффициентов системы (5) требует O(Z2m) операций и при из- вестных А} вычисление z требует O(Zm) операций. Таким образом, при Z = 0(х/й7) на каждом шаге производится О(ш2) операций, по порядку столько же, сколько и в методе простой итерации. § 3. Интегральные уравнения Фредгольма первого рода Задача решения интегрального уравнения Фредгольма первого рода Qy = [ К(х, s)y(s) ds = f(x) (1) J (I. относится к классу некорректных задач. Поясним, что это означает. Пусть ядро К{х, s) вещественно и симме- трично, т.е. K(s, х) = К(х, s). Предположим также, что К(х, .s) и f(x) непрерывны. Тогда существует полная ортонормированная система соб- ственных функций <р" оператора Q: Q<pn= / К(х, s)<pn(s)ds = Хп<рп(х), J (1 (<Pi, <Pj) = [ ds = J CL где S; - символ Кронекера. При этом ОО К(х, s) = y^Xn^n(x)ipn(s), я=1
§ 3. Интегральные уравнения Фредгольма первого рода 609 сходимость ряда в правой части понимается в норме: ||F(.t, s)|| = J [' [Ь |F(.t, .s)|2 dxds. V J a J a Из предыдущего соотношения следует, что 11к||2 = £|а.„|2 п=1 и, следовательно, Ап —> 0 при п —> оо. Рассмотрим случай, когда А,, 0 при 1 п по и все А„ — 0 при п > по. Тогда ядро имеет вид л0 F(.t, s) = 52Ai^„(.t)^„(s), /г-1 т. е. является вырожденным. В случае вырожденного ядра ZI) по по F(.t, s)y(s)ds = 52Ап / ipn(x)<pn(s)y(s) ds = 52M<Ai, у)фп(х) = f(x). n-1 ''° n=l Следовательно, задача (1) может иметь решение только в том случае, когда f(x) является линейной комбинацией ^1(я-'), , <Рп0(х), т. е. запи- сывается в виде по /(т) = ^fnVn (ж)- а=1 Задача 1. Проверить, что этим решением является ПО г у(х) = у0(х) = п=1 Задача 2. Проверить, что любая функция у(т), представимая в виде ОО У(х) = у0(х) + 52 Сп‘Рп(ХЪ 71=710+1 где 52 1с”|2 < °°» также будет решением уравнения (1). п=по+1 Таким образом, в рассматриваемом случае задача (1) может не иметь решения; в случае, когда она имеет решение, это решение неединственно.
610 Глава 11. Методы решения интегральных уравнений Рассмотрим случай, когда все Хп 0. Если оо, то /(ж) представима сходящимся в норме пространства 1Д рядом Фурье /(•*) = Сп = (/, фп), 71=1 Здесь и далее сходимость рядов понимается в °° I с I2 ства Li. Положим S = уЧ . оо =ил!2. П=1 смысле нормы простран- Задача 3. Доказать, что при S < ос функция у(ж) = ЯВЛЯ- ется решением уравнения (1). Задача 4. Доказать, что при S = оо задача 1 не имеет решения. Задача 5. Пусть все А , , -/ 0. Показать, что задача (1) не может иметь двух различных решений (решения, отличающиеся на множестве меры нуль, считаются совпадающими). Таким образом, возможна следующая ситуация. Задача (1) может иметь не более одного решения, однако при этом решение существует лишь для множества правых частей, удовлетворяющих условию S' < оо. Задача 6. Рассмотреть случай решения уравнения (1) описанным выше методом, когда имеется бесконечное число Хп, отличных от нуля, и бес- конечное число А?1, равных нулю. При изучении многих задач, в частности в задачах интерпретации результатов наблюдений, или, как говорят, в задачах их обработки, ча- сто возникает следующая ситуация. Имеется некоторая функция у (л); мы /Ь наблюдаем не ее, а функцию f (х) = I К(х, s)y(s)ds, причем в значения J а этой функции вносятся возмущения 8f(x). Таким образом, задача [ К(х, s)y(s)ds = /(ж) J о, имеет решение, но нам реально требуется решать задачу [ К(х, s)y(s)ds = f(x), (2) J а где /(ж) = /(ж) + 8f (ж); норма 8f погрешности измерения /(ж) мала: цадц<£. (3)
§ 3. Интегральные уравнения Фредгольма первого рода 611 Разность между решениями задач (2) и (1), которую можно записать в виде 8у(х) = у(х) — у(х), является решением интегрального уравнения (4) Пусть 8f(x) = '^апТп(х). Условие (3) означает, что с2. и—1 Рассмотрим сначала случай, когда все Хп 0. Если ряд ходится, то уравнение (4) не имеет решения. Если даже этот ряд рас- схо- дится, то нельзя гарантировать, что погрешность 8у(.?:) будет стремиться к нулю при £ —>(). В самом деле, среди всех правых частей 5/ с Ц5/Ц е имеется правая часть 8fn — Eipn(x), соответствующая такому п, что |А„| е. Тогда 8у = -^-рп(х), т.е. ||5у|| = е/|А„| > 1. Для решения рассматриваемой задачи можно применить метод регу- ляризации по Тихонову. Никто не обязывает нас непосредственно решать задачу (2) с возмущенной правой частью. Можно попытаться заменить эту задачу некоторой «близкой» задачей, решение которой будет «близ- ко» к у (ж). Мы уже изучали некоторые способы регуляризации на примере реше- ния систем линейных уравнений. При решении интегральных уравнений Фредгольма первого рода в ка- честве такой близкой к (1) задаче рассмотрим уравнение /«//,('•')+/ К(х, s)ytAs)ds = 7(ж), ^>0; J а параметр // иногда называют параметром регуляризации. Теорема. Пусть все Хп > 0, ОО оо ?/(ж) = 1Ы12 = ]>2Ы2 < ОО- п—1 Я=1 Тогда справедливо неравенство ll?4z - ?/|| м), где о>(е, д) —> 0 при е/р, д —> 0 (ш(е, р), вообще говоря, зависит, от у(х)). Доказательство. Сравним решение уравнения (5) с точным решением задачи (1). Имеем оо оо /(^) = = y^JnTn(x), п=1 П=1
612 Глава 11. Методы решения интегральных уравнений где fn = Хпуп, уп = («/(ж), ^п(ж)) и 7(ж) = + <Уп)фп(х). Подставляя ур(х) = (.?:) в (5), получим п—1 ]Р(д + Хп)у^рГ1(х) = + а„)^„(.т;). п—1 Таким образом, оо оо . / Ч jn "г ап / , Лп'Уп + Oin у№ = Хттт~^(ж) = Х“ТТЗГ“9’и(ж)- п=1 » + А’1 П=1 » + Хп Рассмотрим разность ЯДж) = у^х) - у(х) = (Л~?У1л Пп - ?/n) Vn(x). п=1 \ У + / Имеем равенство ^пУп Т ап ап ~~ Р'Уп i Л Уп — i \ р + Л„ у. + Хп Таким образом, погрешность можно представить в виде суммы двух слагаемых R^(x) и R^(x): ^(.т)=^(ж) + ^(.т), (6) где Rl (ж) = £ Vn (ж) ’ = £ (ж) ‘ Вследствие ортонормированности системы функций ^„(ж) имеем Поскольку р, Хп 0, то у + Хп у и поэтому I I2 1 n^iiS 52 v = dm \ I г*' I М (7)
§ 3. Интегральные уравнения Фредгольма первого рода 613 Перейдем к оценке ||.Нд||. Рассмотрим сначала более простой и отно- сительно часто встречающийся случай, когда дополнительно выполнено условие (8) Тогда (9) Из соотношений (6), (7), (9) следует, что ||-Кд|| ^(е, р) = - +/zF0. Следовательно, при дополнительном предположении (8) теорема дока- зана, поскольку Н-RmII м) = - + vFo и о?(б, //.) —> 0 при е/ц, /л —> 0. Таким образом, при достаточно малых /г, е/ц мы получаем решение задачи с. малой погрешностью. Для получения наилучшей оценки стремления погрешности к нулю найдем minw(E, р). В точке минимума /г = /д, имеем и>' =-----~ + Fq = 0, Fo т. e. цо ~ yfe/Fo- Из (10) получаем, что при ц = у/e/Fo ||ЯД|| 2уДРо -л 0. Проведем теперь доказательство теоремы без предположения (8). Представим выражение в виде н^н = где n=W+l Справедливы оценки N I |2 п=1I п I
614 Глава 11. Методы решения интегральных уравнений N I I2 где F?(N) = ’ И 1 Ап п~1 1 1 п= N4-1 Покажем, что ||-R^|| —> 0 при д —> 0. Для этого достаточно показать, что для любого ё > 0 существует ц[ё) такое, что 11-Кд|| при Ц^ц(ё). Возьмем произвольное ё > 0. Поскольку ряд сходится, то су- п—1 ществует 7V($) такое, что п=Лг(<5)+1 Если (2(Д(Л-(Д))2) , то R}i N ё2/2 и 1|Яд11 = \/R\,n+^,n \Л2/2 + <52/2 = ё. Таким образом, имеем 1|ЯдК 1Ю + 1|Яд11, ||Я2||-+0 при /7^0. Таким образом, утверждение теоремы справедливо и без предположе- ния (8). Описанный выше метод регуляризации применим и в случае, когда некоторые из А„ могут обращаться в нуль. Пусть N\ — множество п таких, что А„ >0, Ад — множество п таких, что Ап = 0. (Каждое из этих множеств может быть как конечным, так и бесконечным; одновременно оба конечными быть не могут.) Если у(х) = ^jynipn(x), ^2|?м|2 < оо —решение уравнения (1), то при п п |а„|2 < оо функция также будет решением уравнения (1). n€-/Vo п Положим у°(х) = ynV’nfx)', согласно вышесказанному у°(х) также являет- nETVi ся решением уравнения (1). Задача 7. Пусть у(х) у°(х)—решение уравнения (1). Показать, что 111/11 > 11У°Н- (П)
§ 3. Интегральные уравнения Фредгольма первого рода 615 Решение уравнения (1) с минимальной нормой (в случае неединственного ре- шения) называется нормальным. Из (11) следует, что уо(а-) — нормальное ре- шение задачи. Теорема. Пусть у°(х) = ^упТп(х), Их/°||2 = bJ2 < оо - регие- neNi nfzNi ние уравнения (1). Тогда справедливо неравенство ||y/t — у°|| /z), где р) —> 0 при е/р, р —> 0. Доказательство выше в случае, вается в виде несущественным образом отличается от проведенного когда все Хт > 0. Решение у°(т) задачи (1) записы- У (а;) ~ j УпТп(х) — nZ.Ni п~1 где Уп о при п Е Ni, при п Е Nq. Погрешность ур(т) — у°(т) запишется в виде ОО / =Е( П = 1 Тц + О-п У д- Хп Тп — 5'1 + 82, где Оценка для слагаемого S? имеет вид l|S2|| = neN0 S2 = £ ^Тп neN0 Оценка для Si производится так же, как и в случае доказанной ранее теоремы. Метод регуляризации применяется для решения самых разнообразных задач, в частности нелинейных. Рассмотрим случай, когда ядро К(х, s) несимметрично. Определим оператор Q* соотношением Q*y = [ K(s, x)y(s)ds. J a Обозначим через уДх) решение уравнения РУДх) + Q*Qyfl = Q*f(x).
616 Глава 11. Методы решения интегральных уравнений Выберем параметр д = д(е) из условия ||<М(г) ~ /II = г• Справедлива Теорема (без доказательства). Пусть уравнение (1) разрешимо и у°(т) — нормальное решение уравнения (1), т. е. решение с минимальной нормой. Тогда ||y;i(£) — у° || 0 при е 0. Литература 1. Березин И. С. Жидков Н.П. Методы вычислений. Т. 2. — М.: Физматгиз, 1962. 2. Крылов В. И., Бобков В. В., Монастырный II. И. Начала теории вычислительных методов. Интегральные уравнения, некорректные задачи и улучшение сходимо- сти. — Минск: Наука и техника, 1984. 3. Морозов В. А. Регулярные методы решения некорректно поставленных задач. - М.: Наука, 1987. 4. Романов В. Г. Обратные задачи математической физики. — М.: Наука, 1984. 5. Тихонов А. Н., Арсенин В. Я. Методы решения некорректных задач. — М.: Наука, 1986. 6. Денисов А.М. Введение в теорию обратных задач — М.: Изд-во МГУ, 1994.
Заключение Мы закончили обсуждение традиционных вопросов теории численных методов. При этом мы, возможно слишком часто, обращали внимание на «подводные камни», встречающиеся при применении того или иного численного метода. У читателя могло возникнуть превратное впечатле- ние, что применение численных методов для решения реальных задач настолько сложная и безнадежная задача, что от него следует отказать- ся. Чтобы исправить такое впечатление, посмотрим на этот же вопрос с оптимистических позиций. Существует большое число задач, где есть хорошо отработанные чи- сленные методы и созданные на их основе стандартные программы ре- шения задач. Стандартные программы решения многих типов прикладных задач входят в математическое обеспечение, поставляемое вместе с ЭВМ. Если вам впервые встретилась единичная задача, то, как правило, це- лесообразнее воспользоваться стандартной программой или самому соста- вить программу, основанную на простейшем методе решения. При реше- нии единичных задач, требующих умеренного объема вычислений, часто идут на более чем 100-кратное увеличение объема вычислений по сравне- нию с наиболее эффективными методами, лишь бы побыстрее получить результат, воспользовавшись при этом стандартной программой или алго- ритмами, для реализации которых можно быстро составить и отладить программу. На практике регулярно встречаются задачи минимизации функций большого числа переменных, в которых применение стандартных про- грамм не приводит к положительному результату. Тем не менее, опыт авторов показывает, что при решении новой задачи надо все равно начи- нать с попытки использовать стандартную программу. Если, например, в 30% случаев применение стандартных программ оказывается эффек- тивным, то их применение заведомо можно считать оправданным даже в том случае, когда использование стандартной программы не приводит к положительному результату; при обращении к стандартной програм- ме будет составлено большое число блоков окончательной программы и зачастую будет накоплена полезная информация о свойствах минимизи- руемой функции. Среди «пионеров» использования вычислительной техники встречается убеждение, что чужими стандартными программами пользоваться нельзя и программу всегда следует писать самому, заново. Такое суждение было
618 Заключение оправдано на первоначальном этапе использования ЭВМ, когда теория численных методов была развита недостаточно и созданные на ее основе алгоритмы часто были ненадежными. При современном уровне теории численных методов и жестких требованиях к тестированию программ с такой точкой зрения согласиться нельзя. Рассмотрим ситуацию, когда требуется путем численного эксперимента исследовать какой-либо физический процесс. Часто, набив много шишек и потратив иногда годы на расчет сложных моделей, начинающий иссле- дователь приходит к пониманию того, что целесообразнее было начать с расчета простейшей модели и изучать ее с помощью простейших прове- ренных методов, иногда требующих повышенных вычислительных затрат. Лишь в случае полного доверия к постановке задачи имеет смысл зани- маться расчетом сложной модели с применением громоздких по своей структуре методов. Таким образом, на первоначальном этапе исследования задачи обычно мы имеем дело с простейшей моделью и простейшими методами реше- ния, часто основанными на использовании стандартных программ. Если же мы начинаем исследование задачи с изучения сложных моделей, то скорее всего мы поступаем в чем-то неправильно. Целесообразнее пере- ходить к рассмотрению более сложных задач и применению более слож- ных методов, имея за плечами опыт использования ЭВМ при решении простейших задач простейшими методами, поскольку при такой последо- вательности действий использование более сложных численных методов уже не будет казаться чрезмерно трудной проблемой. Рассмотрение самими математиками постановки прикладной задачи с ее истоков, с простейших моделей, еще важно и в связи со следующим обстоятельством. Часто, стремясь «приспособить» задачу для численного решения, специалист, не знакомый с численными методами и возможно- стями ЭВМ, исходит лишь из сложности внешнего вида математической постановки. В результате этого иногда а) происходит замена исходной задачи задачей, не имеющей к ней отношения, б) задача, передающаяся численному решению при возможностях со- временных ЭВМ, становится задачей, не поддающейся такому решению. Еще один довод в пользу более всестороннего изучения постановки за- дачи состоит в следующем. Часто в процессе построения простейшей мо- дели мы получаем представление о том, в каком направлении будет идти усложнение метода и программы решения задали. В результате этого мы сможем заложить в исходный вариант программы, предназначенной для исследования простейшей модели, возможности для дальнейшего услож- нения программы. Во всех случаях целесообразно составлять программу поблочно. Дело в том, что при решении сколько-нибудь сложных задач мы заранее часто не можем сказать, будет ли выбранный нами метод решения подходящим для решения этой задачи.
Заключение 619 Например, при решении краевой задачи для дифференциальных урав- нений у нас может быть неуверенность в разумности выбора разностной схемы во внутренних точках или вблизи границы. Вычисления во вну- тренних точках и вблизи границы ведутся по различным формулам и поэтому лучше, чтобы они были выделены в отдельные блоки с тем, чтобы можно было производить независимую отладку методов. Также важно предусмотреть возможность быстрого и удобного изменения па- раметров задачи, например шага сетки при решении дифференциальных уравнений или числа узлов квадратуры. Отладка программы и апроба- ция метода решения задачи при малом числе узлов проходят быстрее и позволяют лучше использовать возможности ЭВМ. Например, при ма- лом числе узлов можно быстро проверить сходимость итерационного про- цесса. Иногда профессиональные программисты рекомендуют проводить от- ладку программы при помощи тестов. Берется минимально допустимое число узлов, при котором включаются в работу все блоки программы (и все циклы). При таком числе узлов задача решается без помощи напи- санной программы, а затем результаты расчета сравниваются с резуль- татами расчета с помощью ЭВМ. Для типичных конечно-разностных ме- тодов решения дифференциальных уравнений минимальное число узлов по каждой оси, при котором включаются в работу все блоки и циклы, находится в пределах от 2 до 5. В процессе работы над отладкой программы в программу вносятся дополнительные команды выдачи на дисплей или на печать промежу- точных данных с целью сравнения их с заранее просчитанным тестом. Такой режим отладки особенно удобен для начинающего программиста. Специалисты, имеющие большой опыт работы с ЭВМ, предпочитают отлаживать программу крупными модулями, сочетая отладку програм- мы с проверкой качества метода (отладкой метода). Для этого старают- ся строить программы решения так, чтобы при определенных значениях параметров она превращалась в программу решения задачи с известным решением. Например, уравнения движения снежной лавины при определенных значениях параметров превращаются в уравнения мелкой воды, для ко- торых в случае кусочно-постоянных начальных данных известно точное решение (так называемое решение задачи о распаде разрыва). Сравнивая решение, полученное в результате расчетов, с точным решением, можно судить о правильности программы и качестве метода. Построение решения задачи о распаде разрыва само по себе требует относительно большой вспомогательной работы. Вместо непосредственно- го построения такого решения для заданной системы часто поступают следующим образом. Вместо конкретных значений коэффициентов системы ставятся про- извольные параметры, производится одновременная подборка этих пара- метров и системы функций, которая может быть решением задачи о
620 Заключение распаде разрыва. В результате получится некоторая задача с известным решением, отличающаяся от интересующей нас задачи лишь значениями числовых параметров. На такой задаче мы можем отладить все наиболее существенные моменты метода и программы. Проиллюстрируем способы построения задач с известным частным ре- шением на примере дифференциальных уравнений. Пусть решается краевая задача Ци) — 7'" ) + тд ( (1 + ?) vp ) “ <' — О дх \ дх J ду \ ду) в квадрате G : 0 < ж, у < 1; на границе квадрата Г ставится краевое условие ди ——И си — g дп = 0. г Возьмем некоторую функцию и°(х, у) и вычислим функции /°(а-, у) = L(u°(x, у)), Краевая задача Ди) - /°(ж, ?/) = О, 0 —- + аи - g - g дп будет задачей с известным точным решением и — и°(х, у). Часто желательно иметь в распоряжении сеточную задачу с извест- ным точным решением. Если, например, по простейшим явным форму- лам решается задача Коши, то такое решение легко вычислить непо- средственно. В случае краевых задач или при решении задачи Коши по неявным формулам часто целесообразно поступить как и выше. Строим сеточную задачу = О, 7/Л(?//,) = 0 (с небольшим числом узлов), берем некото- рую сеточную функцию и% и вычисляем f°h=Lh(U°h), g°h = lh(uh). Сеточной задачей с известным точным решением иь — является задача Lh(uh) = /°, lh(uh) = #£• Иногда возникает необходимость иметь в распоряжении сеточную за- дачу с большим числом узлов и с точным решением. В этом случае может оказаться целесообразным поручить ЭВМ вычисление и д®. Часто такую задачу получают, взяв в качестве и® множество значений в узлах сетки некоторого многочлена невысокой (обычно 1 - 4-й) степени. Степень многочлена выбирается из условия, чтобы погрешность аппрок- симации дифференциальной задачи сеточной равнялась нулю.
Заключение _______________________________________________________621 Еще раз выделим основную идею описанного выше приема постро- ения тестов. Вместо непосредственного построения теста для исходной задачи (построение решения по заданной правой части) строит,ся тест для обратной задачи (по заданному решению строится правая часть) и он оказывается тестом для прямой задачи с той же структурой, но с другими числовыми данными. Применение этого приема обычно существенно сокращает затраты на построение теста.
Список литературы 1. Абрамов А. А. О численном решении некоторых алгебраических за- дач, возникающих в теории устойчивости // ЖВМ и МФ. —1984. — 24, N З.-С. 339-347. 2. Бахвалов Н. С. Об оптимальных оценках скорости сходимости ква- дратурных процессов и методов интегрирования типа Монте-Карло на классах функций // Численные методы решения дифференциаль- ных и интегральных уравнений и квадратурные формулы.—М.: Нау- ка, 1964. - С. 5 63. 3. Бахвалов Н. С. К оптимизации методов решения краевых задач при наличии пограничного слоя // ЖВМиМФ. - 1969. — Т. 9, N 4. — С. 841-859. 4. Бахвалов Н. С. Численные методы. — М.: Наука, 1975. 5. Бахвалов Н. С., Жидков Н.П., Кобельков Г.М. Численные методы.— М.: Наука, 1987. 6. Бахвалов Н. С., Кобельков Г. М., Поспелов В. В. Сборник задач по методам вычислений. — М.: Изд-во МГУ, 1989. 7. Бейкер Дж., Грейвс—Моррис И. Аппроксимации Паде.—М.: Мир, 1986. 8. Березин И. С. Жидков Н.П. Методы вычислений. Т. 1. — М.: Наука, 1966. 9. Березин И. С. Жидков Ц.П. Методы вычислений. Т. 2. -М.: Физмат- гиз, 1962. 10. Васильев Ф. П. Численные методы решения экстремальных задач. — М.: Наука, 1980. 11. Васильев Ф.П. Методы решения экстремальных задач. — М.: Наука, 1981. 12. Винокуров В. А., Ювченко Н. В. Полуявные численные методы реше- ния жестких задач // ДАН. —1985. — 284, N 2, С. 272 277. 13. Воеводин В. В. Численные методы алгебры. Теория и алгоритмы.— М.: Наука, 1966. 14. Воеводин В. В. Вычислительные основы линейной алгебры. — М.: Нау- ка, 1977.
Список литературы 623 15. Воеводин В. В., Кузнецов Ю. А. Матрицы и вычисления. — М.: Наука, 1984. 16. Воеводин В. В., Арушанян О. Б. Структура и организация библиоте- ки численного анализа НИВЦ МГУ // Численный анализ на ФОР- ТРАНе. Вычислительные методы и инструментальные системы. — М.: Изд-во МГУ, 1979. 17. Волков Е. А. Численные методы. — М.: Наука, 1982. 18. Годунов С. К., Забродин А. В. О разностных схемах второго порядка точности для многомерных задач // ЖВМ и МФ. —-1962. — 2, N 4.— С. 706-708. 19. Годунов С. К., Рябенький В. С. Введение в теорию разностных схем.— М.: Наука. 1962. 20. Годунов С. К., Рябенький В. С. Разностные схемы. — М.: Наука, 1977. 21. Годунов С. К., Забродин А. В. и др. Численное решение многомерных задач газовой динамики. — М.: Наука, 1976. 22. Годунов С. К. Решение систем линейных уравнений. - Новосибирск: Наука, 1980. 23. Джордж А., Лю Д. Численное решение больших разреженных систем уравнений. — М.: Мир, 1984. 24. Дробышевич В. И., Дымников В. П., Ривин Г. С. Задачи по вычисли- тельной математике. — М.: Наука, 1980. 25. Дьяконов Е. Г. Минимизация вычислительной работы. — М.: Наука, 1989. 26. Дьяконов Е. Г. О некоторых модификациях проекционно-разностных методов // Вестник МГУ. Сер. вычислит, мат. и киберн. - -1977. — 1, N 2. - С. 13-19. 27. Завьялов Ю. С., Квасов Б. И., Мирошниченко В.Л. Методы сплайн- функций. — М.: Наука, 1980. 28. Зенкевич О., Морган К. Конечные элементы и аппроксимация. — М.: Мир, 1980. 29. Икрамов X. Д. Численное решение матричных уравнений. — М.: Наука, 1984. 30. Карманов В. Г. Математическое программирование. — М.: Наука, 1986. 31. Кобельков Г. М. Решение задачи о стационарной свободной конвекции // ДАН СССР. - 1980. - 225, N 2. С. 277-282. 32. Кобельков Г. М. О методах решения уравнений Навье-Стокса // Вы- числительные процессы и системы. — М.: Наука, 1991, вып. 8. С. 204- 236. 33. Колмогоров А. Н., Тихомиров В. М. е-энтропия и е-емкость мно- жеств в функциональных пространствах // УМН. — 1959. — 14, вып. 2. С. 3-86.
624 Список литературы 34. Копченова Н. В., Марон И. А. Вычислительная математика в примерах и задачах.—М.: Наука, 1972. 35. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вычи- слительных методов. Дифференциальные уравнения. — Минск: Наука и техника, 1982. 36. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вы- числительных методов. Уравнения в частных производных. — Минск: Наука и техника, 1982. 37. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вы- числительных методов. Линейная алгебра и нелинейные уравнения. — Минск: Наука и техника, 1982. 38. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вычи- слительных методов. Интегральные уравнения, некорректные задачи и улучшение сходимости. — Минск: Наука и техника, 1984. 39. Крылов В. И., Бобков В. В., Монастырный П. И. Начала теории вы- числительных методов. Интерполирование и интегрирование. — Минск: Наука и техника, 1983. 40. Крылов В. И., Шульгина А. Т. Справочная книга по численному ин- тегрированию. — М.: Наука, 1966. 41. Крылов В. И., Бобков В. В., Монастырный П. И. Вычислительные ме- тоды. Т.1. — М.: Наука, 1976. 42. Крылов В. И., Бобков В. В., Монастырный П. И. Вычислительные ме- тоды. Т.2. — М.: Наука, 1977. 43. Ланцош К. Практические методы прикладного анализа.- М.: ГИФМЛ, 1961. 44. Лебедев В. И. Функциональный анализ и вычислительная математи- ка. — М.: Изд-во ВИНИТИ, 1987. (ОВМ АН СССР). 45. Лебедев В. И. Как решать явными методами жесткие системы диф- ференциальных уравнений // Вычислительные процессы и системы.— М.: Наука, 1991, вып. 8. С. 237-291. 46. Лоусон Ч., Хентон Р. Численное решение задач метода наименьших квадратов. — М.: Наука, 1986. 47. Мак-Кракен Д., Дорн У. Численные методы и программирование на ФОРТРАНе. — М.: Мир, 1977. 48. Марчук Г. И. Методы вычислительной математики. — М.: Наука, 1980. 49. Марчук Г. И., Агошков В. И. Введение в проекционно-разностные ме- тоды.— М.: Наука, 1981. 50. Марчук Г. И., Лебедев В. И. Численные методы в теории переноса ней- тронов.— М.: Атомиздат, 1981. 51. Марчук Г. И., Шайдуров В. В. Повышение точности решений разност- ных схем. — М.: Наука, 1979.
Список литературы 625 52. Марчук Г. И., Яненко Н. Н. Применение метода расщепления (дроб- ных шагов) для решения задач математической физики. — В кн.: Не- которые вопросы вычислительной и прикладной математики.— Новоси- бирск: Наука, 1966. 53. Мысовских И. П. Интерполяционные кубатурные формулы. — М.: Нау- ка, 1981. 54. Никифоров А. Ф., Суслов С. К., Уваров В. Б. Классические ортого- нальные полиномы дискретной переменной. — М.: Наука, 1985. 55. Никифоров А. Ф., Уваров В. Б. Специальные функции. — М.: Наука, 1979. 56. Никольский С. М. Квадратурные формулы. — М.: Наука, 1979. 57. Парлетт Б. Симметричная проблема собственных значений.—М.: Мир, 1983. 58. Ракитский Ю.В., Устинов С. М., Черноруцкий И. Г. Численные методы решения жестких систем. — М.: Наука, 1979. 59. Романов В.Г. Обратные задачи математической физики. — М.: Наука, 1984. 60. Рябенький В. С., Филиппов А.Ф. Об устойчивости разностных урав- нений. — М.: Гостехиздат, 1956. 61. Самарский А. А. Теория разностных схем. — М.: Наука, 1982. 62. Самарский А. А., Андреев В. Б. Разностные методы для решения эл- липтических уравнений.— М.: Наука, 1976. 63. Самарский А. А., Гулин А. В. Устойчивость разностных схем.—М.: На- ука, 1973. 64. Самарский А. А., Капорин И. Е., Кучеров А. Б., Николаев Е. С. Не- которые современные методы решения сеточных уравнений // Изв. вузов. Сер. мат., 1983, N 7(254). с. 3 12. 65. Самарский А. А., Николаев Е. С. Методы решения сеточных уравне- ний. -—М.: Наука, 1978. 66. Самарский А. А., Попов Ю.П. Разностные методы решения задач га- зовой динамики. — М.: Наука, 1980. 67. Саульев В. К. Интегрирование уравнений параболического типа мето- дом сеток. — М.: Физматгиз, 1960. 68. Соболев С.Л. Введение в теорию кубатурных формул. — М.: Наука, 1974. 69. Современные численные методы решения обыкновенных дифференци- альных уравнений // Под ред. Дж. Холла, Дж. Уатта. — М.: Мир, 1979. 70. Стечкин С. Б., Субботин Ю.Н. Сплайны в вычислительной математи- ке. — М.: Наука, 1976.
626 Список литературы 71. Стрэнг Г., Фикс Дж. Теория метода конечных элементов. -- М.: Мир, 1977. 72. Тихонов А. Н., Арсенин В. Я. Методы решения некорректных задач. — М.: Наука, 1986. 73. Уилкинсон Дж., Райни К. Справочник алгоритмов на языке Алгол. Линейная алгебра.—М.: Машиностроение, 1976. 74. Фаддеев Л. К., Фаддеева В.Н. Вычислительные методы линейной ал- гебры. — М.: Физматгиз, 1963. 75. Форсайт Дж. и др. Машинные методы математических вычислений. — М.: Мир, 1980. 76. Яненко Н. Н. Метод дробных шагов решения многомерных задач ма- тематической физики. — Новосибирск: Наука, 1967. 77. Axelsson О. Numerical linear algebra. — Cambrige, 1996. 78. Dalilquist Y. Stability and error bounds in the numerical integration of ordinary differential equations. — Uppsala, Almqyist & Wiksells boktr 130 (1959). P. 5-92. 79. Butcher I. G. A modified multistep method for the numerical integration of ordinary differential equations // J. Assoc. Comput. Math. —1965. — 12, No. l.-P. 124-135. 80. Stroud A.H. and Secrest D. Gaussian Quadrature Formulas.— Englewood Cliffs, N. Y.: Prentice-Hall, 1966.
Предметный указатель Алгоритм ненасыщаемый, 65 Аппроксимация, 379 дифференциального уравнения раз- ностной схемой, 379 Большое число, 23 Валле-Пуссена теорема, 179 Вариация, 522 Верная цифра, 23 Весовая функция, 89 Восполнение, 559 Выделение весовой функции, 151 Гарантированные оценки погрешности на классе функций, 232 Главный член погрешности, 140 Дивергентность разностной схемы, 527 Дискретные коэффициенты Фурье, 173 Дифференцирование численное, 76 Замыкание алгоритма, 437 нерегулярное, 437 регулярное, 437 Значащие цифры, 23 Интегрирование осциллирующих функций, 116 системы уравнений, 396 Интерполирование, 36 с кратными узлами, 49 Интерполяционная формула Лагранжа, 41 Ньютона, 46 для интерполирования назад, 69 для интерполирования вперед, 69 Интерполяция, 36 квадратичная, 72 линейная, 71 тригонометрическая, 173 Итерационные методы построения мно- гочлена наилучшего равномер- ного приближения с исполь- зованием спектрально эквива- лентных операторов, 300 Квадратуры Гаусса, 106 Грегори, 143 Лобатто, 111 Ньютона—Котеса, 94 Ромберга, 149 Симпсона, 88 Филона, 117 Эйлера, 142 обобщенные, 122 прямоугольников, 86 составные, 122 трапеций, 87 Количество арифметических операций, 41 Конечно-разностное уравнение, 51 Конечно-разностные методы, 376 схемы, 376 Ленточная структура, 257 Линейная оценка погрешности, 28 Линейное разностное уравнение, 52 Мажорирующее разностное уравнение, 488 Матрица Грама, 167 ортогонализации, 100 отражений, 262 Мера обусловленности
628 Предметный указатель матрицы, 305 системы, 305 погрешности аппроксимации, 504 Метод Адамса, 378 Гаусса, 253 Зейделя, 290 Монте-Карло, 232 Ньютона решения нелинейных урав- нений, 330 Ритца, 477 Рунге—Кутта, 363 Эйлера, 363 вариационно-разностный ,479 верхней релаксации, 290 вилки, 336 квадратного корня, 259 конечных элементов, 558 наименьших квадратов, 203 наискорейшего спуска, 290 неопределенных коэффициентов, 39, 202 оврагов, 342 оптимальный, 63 парабол, 336 покоординатного спуска, 288 пристрелки, 429 прогонки, 430 проекционно-разностный, 561 простой итерации, 265, 326 регуляризации, 205 релаксации, 289 сверхрелаксации, 290 секущих, 335 сопряженных градиентов, 294 спуска, 336 стрельбы, 449 суммарной аппроксимации, 579 циклической прогонки, 434 штрафа, 340 Методы интерполяционные, 376 экстраполяционные, 376 Многочлен наилучшего равномерного приближения, 178 Многочлены Лагерра, 104 Лежандра, 104 Чебышева, 58 второго рода, 104 первого рода, 104 Эрмита, 104 Якоби, 103 наименее уклоняющиеся от пуля, 60 Наилучшее равномерное приближение, 178 Недетерминированный метод, 242 Некорректные задачи. 608 Неравенство Бесселя, 169 Чебышева, 233 с-неравенство, 537 Неустойчивость, 35 Неявная схема, метод, 376, 530 Норма энергетическая, 555 Нормы векторов и матриц, 250 эквивалентные, 266 Область зависимости, 498 сходимости метода, 358 Обобщенное решение, 562 Обратная интерполяция, 76 Обратный ход метода Гаусса, 254 прогонки, 431 Обусловленность матрицы системы, 305 системы, 305 Однородные схемы, 469 Односторонние формулы численного дифференцирования, 80 Одношаговые методы численного инте- грирования, 371 Оператор расщепляющийся, 573 Оптимальные квадратуры, 129 Оптимальный линейный итерационный процесс, 279, 283 по порядку итерационный процесс, 42, 63 Оптимизация методов, 63
Предметный указатель 629 оценки погрешности интерполиро- вания, 63 распределения узлов интегрирова- ния. 131 скорости сходимости итерационно- го процесса, 275 Ортогональная система, 99 Ортогональные многочлены, 101 Ортонормированная система элементов, 101 Остаточный член формулы Лагранжа, 43 Очень большое число, 23 Параметр регуляризации, 611 Переобуславливатель, 301 Планирование эксперимента, 37 Плохо обусловленные системы, 307 Повышение порядка точности разност- ной схемы, 419 Погрешность абсолютная, 22 аппроксимации дифференциально- го уравнения разностной схе- мой, 504, 534 вычислительная, 17 квадратуры на классе функций, 129 математической модели, 17 метода, 17 на классе задач, 63 на шаге, 371 неустранимая, 17 относительная, 22 предельная, 27 Порядок метода, 329 погрешности аппроксимации, 380 Почти собственные значения, 270 Преобразование Фурье быстрое, 175 дискретное, 173 Принцип замороженных коэффициен- тов, 521 Проблема собственных значений полная, 315 частичная, 315 ^-процесс ускорения сходимости, 273 Прямое произведение формул интегри- рования, интерполирования, диф- ференцирования, 219 Прямой ход метода Гаусса, 254 прогонки, 431 Разности вперед, 65 высшего порядка, 65 конечные, 65 назад, 65 разделенные, 43 центральные, 65 Разностная схема, 377 экономичная, 568 Ряд Фурье дискретный, конечный, 173 Сеточная функция Грина, 423 Сжатое отображение, 326 Симметризация системы уравнений, 276 Система жесткая, 398 Слой, 530 Согласованные нормы, 501 Спектральная эквивалентность, 300 Спектральный признак устойчивости, 506, 515 Сплайн, 191 интерполяционный, 197 локальный, 198 Стандартные программы, 47 Строго нормированное пространство, 165 Схема Эйткена, 47 Схемы, точные на решениях специаль- ного вида, 461 Сходимость, 501 Таблица разделенных разностей, 45 Теорема Валле-Пуссена, 179 Чебышева, 179 Точки чебышевского альтернанса, 179 Триангуляции, 558 Тригонометрическая интерполяция, 173 Узел внутренний, 544
630 Предметный указатель граничный, 544 нерегулярный, 551 приграничный, 544 регулярный, 551 сетки, 543 Узлы интерполяции, 36 Уравнения в конечных разностях, 51 Условие а, 386 сильной минимальности, 565 Устойчивость, 503 безусловная, 532 по начальным данным, 535 условная, 532 Формула Абеля, 467 Ромберга, 149 Симпсона, 88 Филона, 117 прямоугольников, 86 с кратными узлами, 96 трапеций, 87 Формулы Адамса, 363, 378 Грегори, 143 численного дифференцирования, 76 Функция сильно растущая, 23 Характеристическое уравнение, 55 разностной схемы, 384 Хорошо обусловленная (поставленная) кра- евая задача, 448 обусловленные системы, 307 Шаблон, 507 Шаг таблицы, 65 Экстраполяция, 36 Элемент наилучшего приближения, 165 Элементарный треугольник, 558 Энергетическое неравенство, 538 тождество, 537 Явная схема, 376, 529 Явный метод, 376, 529