/
Текст
Н. Н. КАЛИТКИН ЧИСЛЕННЫЕ МЕТОДЫ Под редакцией А. А. САМАРСКОГО Допущено Министерством высшего и среднего специального образования СССР в качестве учебного пособия для студентов высших учебных заведений МОСКВА «НАУКА» ГЛАВНАЯ РЕДАКЦИЯ ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ 1978
518 К 17 УДК 519.95 Численные методы. Н. Н. Калиткин. Глав- Главная редакция физико-математической литературы изд-ва «Наука», М., 1978. В книге излагаются основные численные методы решения широкого круга математических задач, воз- возникающих при исследовании физических и техниче- технических проблем. Изложенные методы пригодны как для расчетов на ЭВМ, так и для «ручных» расчетов. Для каждого метода даны практические рекоменда- рекомендации по применению. Для лучшего понимания алго- алгоритмов приведены примеры численных расчетов. Книга предназначена для студентов, аспирантов и преподавателей университетов и технических институтов, научных работников и инженеров-иссле- инженеров-исследователей, а также для всех, имеющих дело с чис- численными расчетами. Библ. 89 названий, рис. 103, табл. 26. Николай Николаевич Калиткин ЧИСЛЕННЫЕ МЕТОДЫ М., 1978 г., 512 стр. с илл. Редактор ?. В. Шикин Техн. редактор Л. В, Лихачева. Корректор Т. С. Вайсберг. ИБ № 2340 Сдано в набор 14.09.77. Подписано к печати 06.01.78. Бумага бОХЭО'/ie, тип. № 2. Лите- Литературная гарнитура. Высокая печать. Условн. печ. л. 32. Уч.-изд. л, 33,76. Тираж 40 000 экз. Заказ № 1510. Цена книги 1 р. 30 к. Издательство «Наука» Главная редакция физико-математической литературы 117071, Москва, В-71, Ленинский проспект, 15 Ордена Октябрьской Революции, ордена Трудового Красного Знамени Ленинградское производственно техническое объединение «Печатный Двор» имени А. М. Горького Союзполиграфпрома при Государственном комитете Совета Министров СССР по де- делам издательств, полиграфии и книжной торговли. 197136, Ленинград, П-136, Гатчин- Гатчинская ул., 26. 20204—028 © Главная редакция ' псо/пп\ та 14-77 физико-математической литературы Ut>cJ(U2)-78 издательства «Наука», 1978
ОГЛАВЛЕНИЕ Предисловие редактора 8 Предисловие 10 Глава I Что такое численные методы? § 1. Математические модели и численные методы 13 1. Решение задачи A3). 2. Численные методы A5). 3. История прикладной математики A6). § 2. Приближенный анализ 17 1. Понятие близости A7). 2. Структура погрешности B2). 3. Кор- Корректность B4). Задачи 26 Глава II Аппроксимация функций § 1. Интерполирование 27 1. Приближенные формулы B7). 2. Линейная интерполяция B7). 3. Интерполяционный многочлен Ньютона B9). 4. Погрешность многочлена Ньютона C1). 5. Применения интерполяции C4). 6. Интерполяционный многочлен Эрмита C6). 7. Сходимость интер- интерполяции C9). 8. Нелинейная интерполяция D1). 9. Интерполя- Интерполяция сплайнами D4). 10. Монотонная интерполяция D6). 11. Мно- Многомерная интерполяция D7). § 2. Среднеквадратичное приближение 51 1. Наилучшее приближение E1). 2. Линейная аппроксимация E3). 3. Суммирование рядов Фурье E6). 4. Метод наименьших квадра- квадратов E9). 5. Нелинейная аппроксимация F2). § 3. Равномерное приближение 66 1. Наилучшие приближения F6). 2. Нахождение равномерного приближения F8). Задачи 69 Глава III Численное дифференцирование 1. Полиномиальные формулы G0). 2. Простейшие формулы G2). 3. Метод Рунге —Ромберга G4). 4. Квазиравномерные сетки G8). 5. Быстропеременные функции (80). 6. Регуляризация дифференци- дифференцирования (81). Задачи 84
4 ОГЛАВЛЕНИЕ Глава IV Численное интегрирование § 1. Полиномиальная аппроксимация 85 1. Постановка задачи (85). 2. Формула трапеций (86). 3. Формула Симпсона (88). 4. Формула средних (89). 5. Формула Эйлера (91). 6. Процесс. Эйткена (92). 7. Формулы Гаусса —Кристоффеля (94). 8. Формулы Маркова (97). 9. Сходимость квадратурных формул (98). § 2. Нестандартные формулы 100 1. Разрывные функции A00). 2. Нелинейные формулы A00). 3. Ме- Метод Филона A03). 4. Переменный предел интегрирования A05). 5. Несобственные интегралы A05). § 3. Кратные; интегралы 108 1. Метод ячеек A08). 2. Последовательное интегрирование A11). § 4. Метод статистических испытаний 113 1. Случайные величины (ИЗ). 2. Разыгрывание случайной величи- величины A14). 3. Вычисление интеграла A17). 4. Уменьшение дисперсии A19). 5. Кратные интегралы A21). 6. Другие задачи A23). Задачи ".' 124 Глава V Системы уравнений § 1. Линейные системы 126 1. Задачи линейной алгебры A26). 2. Метод исключения Гаусса A28). 3. Определитель и обратная матрица A30). 4. О других пря- прямых методах A32). 5. Прогонка A32). 6. Метод квадратного корня A35). 7. Плохо обусловленные системы A37). § 2. Уравнение с одним неизвестным 138 1. Исследование уравнения A38). 2. Дихотомия A39). 3. Удаление корней A40). 4. Метод простых итераций A41). 5. Метод Ньютона A43). 6. Процессы высоких порядков A45). 7. Метод секущих A45). 8. Метод парабол A46). 9. Метод квадрирования A48). § 3. Системы нелинейных уравнений 150 1. Метод простых итераций A50). 2. Метод Ньютона A52). 3. Ме- Метод спуска A53). 4. Итерационные методы решения линейных систем A53). Задачи 155 Глава VI Алгебраическая проблема собственных значений § 1. Проблема и простейшие методы 156 1. Элементы теории A56). 2. Устойчивость A59). 3. Метод интер- интерполяции A62). 4. Трехдиагональные матрицы A64). 5. Почти тре- треугольные матрицы A65). 6. Обратные итерации A66). § 2. Эрмитовы матрицы 170 1. Метод отражения A70). 2. Прямой метод вращений A75). 3. Ите- Итерационный метод вращений A77). § 3. Неэрмитовы матрицы 181 1. Метод элементарных преобразований A81). 2. Итерационные ме- методы A86). 3. Некоторые частные случаи A87). § 4. Частичная проблема собственных значений 189 1. Особенности проблемы A89). 2. Метод линеаризации A89). 3. Сте- Степенной метод A90). 4. Обратные итерации со сдвигом A91). Задачи 193
ОГЛАВЛЕНИЕ 5 Глава VII Поиск минимума § 1. Минимум функции одного переменного 194 1. Постановка задачи A94). 2. Золотое сечение A96). 3. Метод па- парабол A98). 4. Стохастические задачи B00). § 2. Минимум функции многих переменных 201 1. Рельеф функции B01). 2. Спуск по координатам- B03). 3. Наиско- Наискорейший спуск B07). 4. Метод оврагов B09). 5. Сопряженные нап- направления B10). 6. Случайный поиск B14). § 3. Минимум в ограниченной области 215 1. Формулировка задачи B15). 2. Метод штрафных функций B16). 3. Линейное программирование B17). 4. Симплекс-метод B20). 5. Ре- Регуляризация линейного программирования B21). § 4. Минимизация функционала 223 1. Задачи на минимум функционала B23). 2. Метод пробных фун- функций B26). 3. Метод Ритца B30). 4. Сеточный метод B40). Задачи 236 Глава VIII Обыкновенные дифференциальные уравнения § 1. Задача Коши 237 1. Постановка задачи B37). 2. Методы решения B38). 3. Метод Пикара B40). 4. Метод малого параметра B42). 5. Метод ломаных B43). 6. Метод Рунге —Кутта B46). 7. Метод Адамса B50). 8. Неяв- Неявные схемы B52). 9. Специальные методы B53). 10. Особые точки B57). 11. Сгущение сетки B58). § 2. Краевые задачи 261 1. Постановки задач B61). 2. Метод стрельбы B62). 3. Уравнения высокого порядка B66). 4. Разностный метод; линейные задачи B68). 5. Разностный метод; нелинейные задачи B71). 6. Метод Галеркина B76). 7. Разрывные коэффициенты B79). § 3. Задачи на собственные значения 280 1. Постановка задач B80). 2. Метод стрельбы B81). 3. Фазовый метод B82). 4. Разностный метод B84). 5. Метод дополненного вектора B86). 6. Метод Галеркина B88). Задачи 289 Глава IX Уравнения в частных производных § 1. Введение 290 1. О постановках задач B90). 2. Точные методы решения B92). 3. Автомодельность и подобие B94). 4. Численные методы B96). § 2. Аппроксимация 299 1. Сетка и шаблон B99). 2. Явные и неявные схемы C01). 3. Не- Невязка C02). 4. Методы составления схем C03). 5. Аппроксимация н ее порядок C07). § 3. Устойчивость 311 1. Неустойчивость C11). 2. Основные понятия C12). 3. Принцип максимума C15). 4. Метод разделения переменных C18).5. Метод энергетических неравенств C22). 6. Операторные неравенства C23).
Ь ОГЛАВЛЕНИЕ § 4. Сходимость 324 1. Основная теорема C24). 2. Оценки точности C27). 3. Сравнение схем на тестах C31). Задачи 333 Глава X Уравнение переноса § 1. Линейное уравнение 334 1. Задачи и решения C34). 2. Схемы бегущего счета C36). 3. Гео- Геометрическая интерпретация устойчивости C41). 4. Многомерное уравнение C44). 5. Перенос с поглощением C46). 6. Монотонность схем C48). 7. Диссипативные схемы C51). § 2. Квазилинейное уравнение 354 1. Сильные и слабые разрывы C54). 2. Однородные схемы C57). 3. Псевдовязкость C59). 4. Ложная сходимость C62). 5. Консер- Консервативные схемы C63). Задачи 366 Глава XI Параболические уравнения § 1. Одномерные уравнения 36S 1. Постановки задач C68). 2. Семейство неявных схем C69). 3. Асимп- Асимптотическая устойчивость неявной схемы C74). 4. Монотонность C76). 5. Явные схемы C78). 6. Наилучшая схема C80)'. 7. Криволинейные координаты C84). 8. Квазилинейное уравнение C86). § 2. Многомерное уравнение 389 1. Экономичные схемы C89). 2. Продольно-поперечная схема C91). 3. Локально-одномерный метод C94). 4. Метод Монте-Карло C99). Задачи 399 Глава XII Эллиптические уравнения § 1. Счет на установление 401 1. Стационарные решения эволюционных задач D01). 2. Оптимальный шаг D04). 3. Чебышевский набор шагов D09). § 2. Вариационные и вариационно-разностные методы 413 1. Метод Ритца D13). 2. Стационарные разностные схемы D14). 3. Прямые методы решения D15). 4. Итерационные методы D20). Задачи 423 Глава XIII Гиперболические уравнения § 1. Волновое уравнение 424 1. Схема «крест» D24). 2. Неявная схема D27). 3. Двуслойная акустическая схема. D29). 4. Инварианты D34). 5. Явная многомер- многомерная схема D35). 6. Факторизованные схемы D36). § 2. Одномерные уравнения газодинамики 439 1. Лагранжева форма записи D39). 2. Псевдовязкость D42). 3. Схе- Схема «крест» D44). 4. Неявная консервативная схема D47). 5. О дру- других схемах D50). Задачи 451
ОГЛАВЛЕНИЕ 7 Глава XIV Интегральные уравнения § 1. Корректно поставленные задачи 452 1. Постановки задач D52). 2. Разностный метод D55). 3. Метод последовательных приближений D58). 4. Замена ядра вырожденным D60). 5. Метод Галеркина D61). § 2. Некорректные задачи 462 1. Регуляризация D62). 2. Вариационный метод регуляризации D65). 3. Уравнение Эйлера D69). 4. Некоторые приложения D73). 5. Раз- Разностные схемы D76). Задачи 478 Глава XV Статистическая обработка эксперимента 1. Ошибки эксперимента D80). 2. Величина и доверительный интер- интервал D82). 3. Сравнение величин D90). 4. Нахождение стохастиче- стохастической зависимости D94). Задачи 500 Приложение. Ортогональные многочлены 501 Литература 505 Предметный указатель 509
ПРЕДИСЛОВИЕ РЕДАКТОРА Современное развитие физики и техники тесно связано с исполь- использованием электронных вычислительных машин (ЭВМ). В настоящее время ЭВМ стали обычным оборудованием многих институтов и конструкторских бюро. Это позволило от простейших расчетов и оценок различных конструкций или процессов перейти к новой стадии работы — детальному математическому моделированию (вы- (вычислительному эксперименту), которое существенно сокращает пот- потребность- в натурных экспериментах, а в ряде случаев может их заменить. В основе вычислительного эксперимента лежит решение урав- уравнений математической модели численными методами. Изложению численных методов посвящено немало книг. Однако большинство этих книг ориентировано на студентов и научных работников математического профиля. Поэтому в настоящее время ощущается потребность в книге, рассчитанной на широкий круг читателей различных специальностей и сочетающей достаточную полноту изложения с разумной степенью строгости при умеренном объеме. Предлагаемая книга отвечает этим требованиям. Она доста- достаточно полно освещает тот круг вопросов, знание которого наибо- наиболее часто требуется в практике вычислений, и содержит ряд разделов, которые редко включают в учебные пособия. Уме- Умеренный объем достигнут за счет тщательного отбора материала и включения в книгу только наиболее эффективных и часто исполь- используемых иа практике методов. Материал изложен четко и сжато, при этом большое внимание уделено рекомендациям по практи- практическому применению алгоритмов; изложение пояснено рядом при- примеров. Для обоснования алгоритмов использован несложный мате- математический аппарат, знакомый студентам физических и инженер- инженерных специальностей. Книга рассчитана на читателя, который занимается не столько разработкой численных методов, сколько их применением к при- прикладным проблемам. Однако в процессе работы над книгой чита- читатель знакомится с основными идеями построения вычислительных алгоритмов и с их обоснованием и приобретает знания, достаточ- достаточные для разработки новых алгоритмов.
ПРЕДИСЛОВИЕ РЕДАКТОРА 9 Эта книга является по существу введением в численные методы. Овладев ею, читатель затем может углубить свои знания, обра- обратившись к руководствам по теории разностных схем и по методам численного решения отдельных классов задач. Книга написана специалистом по теоретической и математи- математической физике. Она возникла в результате работы автора над рядом актуальных проблем физики в Институте прикладной математики АН СССР и преподавания на физическом факультете МГУ. Несомненно, книга окажется полезной широкому кругу чита- читателей—студентам, аспирантам, научным сотрудникам и инжене- инженерам математических, физических и технических специальностей. А. А. Самарский
ПРЕДИСЛОВИЕ Сложные вычислительные задачи, возникающие при исследо- исследовании физических и технических проблем, можно разбить на ряд элементарных — таких как вычисление интеграла, решение диф- дифференциального уравнения и т. п. Многие элементарные задачи являются несложными и хорошо изучены. Для этих задач уже разработаны методы численного решения, и нередко имеются стандартные программы решения их на ЭВМ. Есть и достаточно сложные элементарные задачи; методы решения таких задач сейчас интенсивно разрабатываются (например, решение уравнений бес- столкновительной плазмы). Поэтому полная программа обучения численным методам должна состоять из ряда этапов. Во-первых, это освоение лога- логарифмической линейки, клавишных вычислительных машин и программирования на ЭВМ. Во-вторых, основы численных мето- методов, содержащие изложение классических элементарных задач (включая основные сведения о разностных схемах). В-третьих, курс теории разностных схем. И в-четвертых — ряд специальных кур- курсов, которые сейчас нередко называют методами вычислительной физики: численное решение задач газодинамики, аэродинамики, переноса излучения, квантовой физики, квантовой химии и т. д. Эта книга является введением в численные методы. Она начи- начинается с простейших задач интерполирования функций и кон- кончается недавно возникшим разделом вычислительной математики — методами решения некорректно поставленных задач. Книга напи- написана на основе годового курса лекций, читавшихся автором сна- сначала инженерам-конструкторам, а после переработки —студентам физического факультета МГУ. Для каждой задачи существует множество методов решения. Например, хорошо обусловленную систему линейных уравнений можно решать методами Гаусса, Жордана, оптимального исклю- исключения, окаймления, отражений, ортогонализации и рядом других. Интерполяционный многочлен записывают в формах Лагранжа, Ньютона, Грегори — Ньютона, Бесселя, Стирлинга, Гаусса и Лап- Лапласа — Эверетта. Подобные методы обычно являются вариациями одного-двух основных методов, и если даже в каких-то частных
ПРЕДИСЛОВИЕ 11 случаях имеют преимущества, то незначительные. Кроме того, многие методы создавались до появления ЭВМ, и ряд из них в качестве существенного элемента включает интуицию вычисли- вычислителя. Появление ЭВМ потребовало переоценки старых методов, что до конца еще не сделано, и до сих пор по традиции боль- большое количество неэффективных методов кочует из учебника в учеб- учебник. Отчасти это объясняется тем, что эффективность многих методов сильно зависит от мелких деталей алгоритма, почти не поддающихся теоретическому анализу; поэтому окончательный отбор лучших методов можно сделать только на основании боль- большого опыта практических расчетов. В этой книге сделана попытка такого отбора, опирающаяся на многолетний опыт решения большого числа разнообразных задач математической физики. Для большинства рассмотренных в книге задач изложены только наиболее эффективные методы с широкой областью применимости. Несколько методов для од- одной и той же задачи даны в том случае, если они имеют су- существенно разные области применимости, или если для данной задачи еще не разработано достаточно удовлетворительных ме- методов. Часто приходится слышать, что наступила эпоха ЭВМ, а «ручные» расчеты являются архаизмом. На самом деле это далеко не так. Прежде чем поручать ЭВМ большую задачу, надо сделать много оценочных расчетов и на их основе понять, какие методы окажутся эффективными для данной задачи. Конечно, даже в мел- мелких расчетах ЭВМ с хорошим математическим обеспечением и набором периферийных устройств (телетайп, дисплей, графико- построитель) оказывает большую пользу. Однако логарифмичес- логарифмическая линейка и клавишные машины еще долго будут необходимы. Поэтому большинство методов, изложенных здесь, в равной мере пригодны для ЭВМ и «ручных» расчетов. Основное внимание в книге уделено выработке практических навыков у читателя. Поэтому в первую очередь изложены алго- алгоритмы, даны рекомендации по их применению и отмечены «малень- «маленькие хитрости» —те незначительные на первый взгляд практиче- практические приемы, которые сильно повышают эффективность алгоритма. Теоретическое обоснование методов приведено лишь в той мере, в какой оно необходимо для лучшего усвоения и практического применения. В книгу включен ряд сведений, не относящихся к необходи- необходимому минимуму, но полезных читателю для лучшего понимания тонких деталей вычислительных процессов. Чтобы не увеличивать объем книги и избежать сложных выкладок, эти сведения при- приведены, как правило, без доказательств, но со ссылками на" допол- дополнительную литературу. Некоторые сведения даны в форме задач в конце каждой главы.
12 ПРЕДИСЛОВИЕ Предполагается, что читатели знакомы с основами высшей математики, включая краткие сведения об уравнениях в частных производных. Необходимые дополнительные сведения, которые не содержатся в обязательных курсах университетов и втузов, сообщаются здесь в соответствующих разделах. Книга разделена на главы, параграфы и пункты. В начале каждой главы кратко изложено ее содержание. Нумерация таб- таблиц и рисунков —единая по всей книге, а нумерация формул — самостоятельная в каждой главе. Если ссылка не выходит за пределы данной главы, то указывается только нсмер формулы; если выходит —то номер главы и номер формулы. В конце книги дан список литературы. Приведенные в нем учебники и моно- монографии рекомендуются для углубленного изучения отдельных разделов. Журнальные статьи даны для указания на оригиналь- оригинальные работы, их список не претендует на полноту; более полная библиография имеется в рекомендованных учебниках. Общий подход к теории и практике вычислений, определи- определивший стиль этой книги, сложился у меня под влиянием А. А. Самар- Самарского и В. Я. Гольдина за много лет совместной работы. Ряд актуальных тем был включен по инициативе А. Г. Свешникова и В. Б. Гласко. Много ценных замечаний сделали А. В. Гулин, Б. Л. Рождественский, И. М. Соболь, И. В. Фрязинов, Е. В. Шикин и сотрудники кафедры прикладной математической физики МИФИ. В оформлении рукописи мне помогли Л. В. Кузьмина и В. А. Кра- сноярова. Я пользуюсь случаем искренне поблагодарить всех наз- названных лиц, и в особенности Александра Андреевича Самарского. Н. Н. Калиткин
ГЛАВА I ЧТО ТАКОЕ ЧИСЛЕННЫЕ МЕТОДЫ? Глава I является вводной. В § 1 рассмотрены роль математики при реше- решении физико-технических задач и место численных методов среди других мате- математических методов и кратко изложена история численных методов. В § 2 ра- разобраны основные понятия приближенного анализа: корректность постановки задач, определение близости точного и приближенного решений, структура погрешности. § 1. Математические модели и численные методы 1. Решение задачи. Физиков математика интересует не сама по себе, а как средство решения физических задач. Рассмотрим поэтому, как решается любая реальная задача —например, нахож- нахождение светового потока конструируемой лампы, производительно- производительности проектируемой химической установки или себестоимости про- продукции строящегося завода. Одним из способов решения является эксперимент. Построим эту лампу, установку или завод и измерим интересующую нас характеристку. Если характеристика оказалась неудачной, то изменим проект и построим новый завод и т. д. Ясно, что мы получим достоверный ответ на вопрос, но слишком медленным и дорогим способом. Другой способ —математический анализ конструкции или явле- явления. Но такой анализ применяется не к реальным явлениям, а к некоторым математическим моделям этих явлений. Поэтому пер- первая стадия работы —это формулировка математической модели (постановка задачи). Для физического процесса модель обычно состоит из уравнений, описывающих процесс; в эти уравнения в виде коэффициентов входят характеристики тел или веществ, участвующих в процессе. Например, скорость ракеты при верти- вертикальном полете в вакууме определяется уравнением \m(T)d>c)(^- + g) = cm(t), A) где М — начальная масса ракеты, т (/) — заданный расход горю-
14 ЧТО ТАКОЕ ЧИСЛЕННЫЕ МЕТОДЫ? [ГЛ. I чего, g—ускорение поля тяготения, ас — скорость истечения газов, зависящая от калорийности топлива и среднего молекуляр- молекулярного веса продуктов сгорания. Любое изучаемое явление бесконечно сложно. Оно связано с другими явлениями природы, возможно, не представляющими интереса для рассматриваемой задачи. Математическая модель должна охватывать важнейшие для данной задачи стороны явле- явления. Наиболее сложная и ответственная работа при постановке задачи заключается в выборе связей и характеристик явления, существенных для данной задачи и подлежащих формализации и включению в математическую модель. Если математическая модель выбрана недостаточно тщательно, то, какие бы методы мы ни применяли для расчета, все выводы будут недостаточно надежны, а в некоторых случаях могут ока- оказаться совершенно неправильными. Так, уравнение A) непригодно для запуска ракеты с поверхности Земли, ибо' в нем не учтено сопротивление воздуха. Вторая стадия работы —это математическое исследование. В зависимости от сложности модели применяются различные мате- математические подходы. Для наиболее грубых и несложных моделей зачастую удается получить аналитические.решения; это излюблен- излюбленный путь многих физиков-теоретиков. Например, уравнение A) легко интегрируется при g — const и m(t) = const: v = с In [М/ (M - tnt)] - gt. Из-за грубости модели физическая точность этого подхода неве- невелика; нередко такой подход позволяет оценить лишь порядки величин. Для более точных и сложных моделей аналитические решения удается получить сравнительно редко. Обычно теоретики пользу- пользуются приближенными математическими методами (например, раз- разложением по малому параметру), позволяющими получить удов- удовлетворительные качественные и количественные результаты. Нако- Наконец, для наиболее сложных и точных моделей основными мето- методами решения являются численные; как правило, они требуют проведения расчетов на ЭВМ. Эти методы зачастую позволяют добиться хорошего количественного описания явления, не говоря уже о качественном. Во всех случаях математическая точность решения должна быть несколько (в 2 —4 раза) выше, чем ожидаемая физическая точность модели. Более высокой математической точности доби- добиваться бессмысленно, ибо общую точность ответа это все равно не повысит. Но более низкая математическая точность недопу- недопустима (для облегчения решения задачи нередко в ходе работы делают дополнительные математические упрощения; это снижает ценность результатов).
§ 1] МАТЕМАТИЧЕСКИЕ МОДЕЛИ И ЧИСЛЕННЫЕ МЕТОДЫ 15 Наконец, третья стадия работы — это осмысливание математи- математического решения и сопоставление его с экспериментальными дан- данными. Если расчеты хорошо согласуются с контрольными экспе- экспериментами, то это свидетельствует о правильном выборе модели; такую модель можно использовать для расчета процессов данного типа. Если же расчет и эксперимент не согласуются, то модель необходимо пересмотреть и уточнить. 2. Численные методы являются одним из мощных математи- математических средств решения задачи. Простейшие численные методы мы используем всюду, например, извлекая квадратный корень на листке бумаги. Есть задачи, где без достаточно сложных численных методов не удалось бы получить ответа; классический пример — открытие Нептуна по аномалиям движения Урана. В современной физике таких задач много. Более того, часто требуется выполнить огромное число действий за короткое время, иначе ответ будет не нужен. Например, суточный прогноз погоды должен быть вычислен за несколько часов; коррекцию траекто- траектории ракеты надо рассчитать за несколько минут (напомним, что для расчета орбиты Нептуна Леверье потребовалось полгода); режим работы прокатного стана должен исправляться за секунды. Это немыслимо без мощных ЭВМ, выполняющих тысячи или даже миллионы операций в секунду. Современные численные методы и мощные ЭВМ дали возмож- возможность решать такие задачи, о которых полвека назад могли только мечтать. Но применять численные методы далеко не про- просто. Цифровые ЭВМ умеют выполнять только арифметические действия и логические операции. Поэтому помимо разработки математической модели, требуется еще разработка алгоритма, сводящего все вычисления к последовательности арифметических и логических действий. Выбирать модель и алгоритм надо с уче- учетом скорости и объема памяти ЭВМ: чересчур сложная модель может оказаться машине не под силу, а слишком простая — не даст физической точности. Сам алгоритм и программа для ЭВМ должны быть тщательно проверены. Даже проверка программы нелегка, о чем свидетель- свидетельствует популярное утверждение: «В любой сколь угодно малой программе есть по меньшей мере одна ошибка». Проверка алго- алгоритма еще более трудна, ибо для сложных алгоритмов не часто удается доказать сходимость классическими методами. Приходит- Приходится использовать более или менее надежные «экспериментальные» проверки, проводя пробные расчеты на ЭВМ и анализируя их (смотри, например, главу IX, § 4, п. 3). Строгое математическое обоснование алгоритма редко бывает исчерпывающим исследованием. Например, большинство доказа- доказательств сходимости итерационных процессов справедливо только при точном выполнении всех вычислений; практически же число.
16 ЧТО ТАКОЕ ЧИСЛЕННЫЕ МЕТОДЫ? [ГЛ. I сохраняемых десятичных знаков редко происходит 5 — 6 при «ручных» вычислениях и 10—12 при вычислениях на ЭВМ. Плохо поддаются теоретическому исследованию «маленькие хитрости» — незначительные на первый взгляд детали алгоритма, сильно влия- влияющие на его эффективность. Поэтому окончательную оценку метода можно дать только после опробования его в практических расчетах. К чему приводит пренебрежение этими правилами — видно из принципа некомпетентности Питера: «ЭВМ многократно увели- увеличивает некомпетентность вычислителя». Для сложных задач разработка численных методов и состав- составление программ для ЭВМ очень трудоемки и занимают от неско- льких^недель до нескольких лет. Стоимость комплекса отлажен- отлаженных программ нередко сравнима со стоимостью эксперименталь- экспериментальной физической установки. Зато проведение отдельного расчета по такому комплексу много быстрей и дешевле, чем проведение отдельного эксперимента. Такие комплексы позволяют подбирать оптимальные параметры исследуемых конструкций, что не под силу эксперименту. Однако численные методы не всесильны. Они не отменяют все остальные математические методы. Начиная исследовать проб- проблему, целесообразно использовать простейшие модели, аналитиче- аналитические методы и прикидки. И только разобравшись в основных чертах явления, надо переходить к полной модели и .сложным численным методам; даже в этом случае численные методы выгод- выгодно применять в комбинации с точными и приближенными анали- аналитическими методами. Современный физик или инженер-конструктор для успешной работы должен одинаково хорошо владеть и «классическими» методами, и численными методами математики. 3. История прикладной математики. Раздел математики, имею- имеющий дело с созданием и обоснованием численных алгоритмов для решения сложных задач различных областей науки, часто назы- называют прикладной математикой; американцы применение числен- численных методов к физическим задачам называют вычислительной физикой. Главная задача прикладной математики — фактическое нахождение решения с требуемой точностью; этим она отличается от классической математики, которая основное внимание уделяет исследованию условий существования и свойств решения. В истории прикладной математики можно выделить три основ- основных периода. Первый начался 3—4 тысячи лет назад. Он был связан с ве- ведением конторских книг, вычислением площадей и объемов, расчетами простейших механизмов; иными словами — с неслож- несложными задачами-арифметики, алгебры и геометрии. Вычислитель- Вычислительными средствами служили сначала собственные пальцы, а затем
§ 2] ПРИБЛИЖЕННЫЙ АНАЛИЗ 17 — счеты. Исходные данные содержали мало цифр, и большинство выкладок выполнялось точно, без округлений. Второй период начался с Ньютона. В этот период решались задачи астрономии, геодезии и расчета механических конструк- конструкций, сводящиеся либо к обыкновенным-дифференциальным урав- уравнениям, либо к алгебраическим системам с большим числом не- неизвестных. Вычисления выполнялись с округлением; нередко от результата требовалась высокая точность, так что приходилось сохранять до 8 значащих цифр. Вычислительные средства стали разнообразнее: таблицы эле- элементарных функций, затем — арифмометр и логарифмическая линейка; к концу этого периода появились неплохие клавишные машины с электромотором. Но скорость всех этих средств была невелика, и вычисления занимали дни, недели и даже месяцы. Третий период начался примерно с 1940 г. Военные задачи — например, наводка зенитных орудий на быстро движущийся са- самолет— требовали недоступных человеку скоростей и привели к разработке электронных систем. Появились электронные вычис- вычислительные машины (ЭВМ). Скорость даже простейших ЭВМ настолько превосходила ско- скорость механических средств, что стало возможным проводить вы- вычисления огромного объема. Это позволило численно решать новые классы задач; например, процессы в сплошных средах, описывающиеся уравнениями в частных производных. Сначала для решения эти задач использовались численные методы, разработанные в «доэлектронный» период. Но применение ЭВМ быстро привело к переоценке методов. Многие старые методы оказались неподходящими для автоматизированных расчетов. Стали быстро разрабатываться новые методы, ориентированные прямо на ЭВМ (например, метод Монте-Карло). Мощности ЭВМ быстро растут. Если в 50-е гг. в СССР всту- вступила в стр-ой первая «Стрела» со скоростью 2000 операций в се- секунду и памятью 1024 ячейки, то сейчас во многих вычислитель- вычислительных центрах страны работают БЭСМ-6 со скоростью в 300 раз больше и памятью в 30 раз больше. А наилучшие современные ЭВМ имеют скорость до 30 миллионов операций в секунду при практически неограниченной оперативной памяти с прямой адресацией. Становятся возможными расчеты все более сложных задач. Это служит стимулом для разработки новых численных методов. § 2. Приближенный анализ 1. Понятие близости. Если требуется определить некоторую величину у по известной величине х, то символически задачу можно записать в виде у —А (х). Здесь ну, их могут быть числами, совокупностью чисел, функцией одного или нескольких
18 ЧТО ТАКОЕ ЧИСЛЕННЫЕ МЕТОДЫ? [ГЛ. I переменных, набором функций и т.д. Если оператор А настолько сложен, что решение не удается явно выписать или точно вычис- вычислить, то задачу решают приближенно. ь Например, пусть надо вычислить у = \ х (t) dt. Можно прибли- а женно заменить x(t) многочленом x(t) или другой функцией, ин- интеграл от которой легко вычислить. А можно заменить интеграл суммой ^x(ti) &ti, вычислить которую тоже несложно. Таким i образом, приближенный метод заключается в замене исходных данных на близкие данные х и (или) замене оператора на близ- близкий оператор А, так чтобы значение у = А(х) легко вычислялось. При этом мы ожидаем, что значение у будет близко к искомому решению. Но что такое «близко»? Очевидно, для двух чисел хх и х2 надо требовать малости |*i —*a|; a близость двух функций можно определить разными способами. Эти вопросы рассматриваются в функциональном анализе, некоторые понятия которого будут сейчас изложены. Множество элементов х любой природы называется метрическим пространством, если в нем введено расстояние р^, хг) между любой парой элементов (метрика), удовлетворяющее следующим аксиомам: а) р (xlt хг) — вещественное неотрицательное число, б) р (хг, хг) — 0, только если хг = х2, B) В) p(*lt Х2)=р(х2, Xj), г) р(Хр *a)<p(*i, х2) + р(х2, *„). Последовательность элементов хп метрического пространства на- называется сходяшрйся (по метрике) к элементу х, если р(х„, х)-*-0 при п-*-оо. Последовательность хп называется фундаментальной, если для любого е^>0 найдется такое k{%), что р(хп, хт)<е при всех п и m>k. Метрическое пространство называют полным, если любая фундаментальная последовательность его элементов сходится к элементу того же пространства. Примером неполного про- пространства является множество рациональных чисел х = (п/т) с метрикой р (xlt х2) = | хх — х21. Последовательность xk = (\-\- l/k)k ему принадлежит, является фундаментальной, а сходится к ирра- иррациональному числу е, т.е. не к элементу данного пространства. Если переменные у, х принадлежат неполным пространствам, то обосновать сходимость численных методов очень трудно: даже если удается доказать, что при хп-*-х последовательность уп фундаментальная, то отсюда еще не следует, что она сходится к элементу данного пространства, т, е. к решению допустимого класса,
§ 2] ПРИБЛИЖЕННЫЙ АНАЛИЗ 19 Элементами наших множеств будут числа, векторы, матрицы, функции и т. п. Сами множества обычно являются линейными нормированными пространствами, ибо в них определены операции сложения элементов и умножения их на число и введена норма каждого элемента ||jc||, причем выполнены следующие аксиомы: существует единственный элемент б такой, что я + б = хдля любого х (будем использовать для 8 обозначение 0); для всякого х сущест- существует единственный элемент — х такой, что * + (-*) = 6; C) афх) = (ab)х; 1-х —.х; 0• х — 8 единствен; \\х\\~SzO — вещественное число; ||ш:|| — |а| • 1М|; ||*||=0 только при х=0; \\хх+*2H<||*i Линейное нормированное пространство есть частный случай метрического пространства, а норма определяется метрикой. Полное линейное нормированное пространство называется банахо- банаховым. Практически всегда величины, с которыми мы будем опери- оперировать, являются элементами банаховых пространств; это важно при доказательстве сходимости численных методов. Рассмотрим некоторые примеры банаховых пространств, с ко- которыми нам часто придётся встречаться. Выполнимость аксиом C) и полноту читатели легко проверят сами. а) Множество всех действительных чисел с нормой ||jc|| = |jc . б) Пространство С —множество функций x(t), определенных и непрерывных при 0 sg t sg 1, с чебышевской нормой || х \\с — = max|jc(^)|. Сходимость в этом пространстве называется равно- равномерной. Условие Os^sgl здесь и в следующем примере при- принято для удобства; оно не является существенным, и можно определять функции на любом конечном отрезке. Класс непрерывных функций часто еще сужают, накладывая на функции дополнительные требования: Липшиц-непрерывности, однократной или многократной дифференцируемости и т. д. На- Напомним некоторые определения. Функция х (t) называется равномерно-непрерывной на отрезке, если для сколь угодно малого со>0 найдется такое б, что Ix Wi) — х (h) I =^ M для любой пары точек отрезка, удовлетворяю- удовлетворяющих условию |/j_ — ^2 |^S. Таким образом, устанавливается функциональная связь между со и б. Величина со (б) называется модулем непрерывности функции. Функция, непрерывная во всех
ЧТО ТАКОЕ ЧИСЛЕННЫЕ МЕТОДЫ? 1ГЛ. 1 точках замкнутого отрезка a^t^b, является на этом отрезке ограниченной и равномерно-непрерывной (теорема Кантора); следовательно, пространство С —множество ограниченных и равномерно-непрерывных функций. Если со (8)=^ /(б, где /( — не- некоторая константа, то функцию называют липшиц-непрерывной. Нетрудно видеть, что если функция имеет ограниченную произ- производную, то она липшиц-непрерывна, причем /( = sup \x' (t) \. в) Пространство Lp — множество функций x(t), определенных при Osg/sg;l и интегрируемых по модулю с р-й степенью, если норма определена 11*П1„ = Ш*@1рлП' Lo J Сходимость в такой норме называют сходимостью в среднем. Про- Пространство L2 называют гильбертовым, а сходимость в нем — средне- среднеквадратичной. Разницу между равномерной близостью и близостью в сред- среднем иллюстрирует рис.1, функция х.А равномерно близка к функ- функции хх, а функций х3 близка в среднем, т. е. мало отличается от х1 на большей части отрезка, но может сильно отличаться от нее на небольших участках. Выбирая метрические прост- пространства, т. е. выбирая множества X, Y я определяя в них метрики, мы тем самым уславливаемся, в каких классах функций мож- можно брать начальные данные и ^ искать решение, Поэтому в кон- конкретной задаче выбор пространств должен в первую очередь опре- определяться физическим смыслом задачи, и лишь во вторую —чисто математическими соображе- соображениями (такими, например, как возможность доказать сходимость). Например, при расчете прочности самолета нужна равномерная близость' приближенного решения к точному, а близости в сред- среднем недостаточно: перенапряжение в маленьком участке может разрушить конструкцию. А в задаче о нагреве тела потоком тепла даже норма Ьг удовлетворительна, ибо температура тела определяется интегралом от потока по времени. Нетрудно показать, что между разными нормами (если они существуют) выполняются определенные соотношения. Если функции x(t) определены при Osg^sgl, тогда Рис. 1. Hi,' I*(9 Ho D)
2] Приближенный анализ 21 В самом деле, например: 1 1 || х (t) ||р = \ | х (t) \Pdt^\ max | x (t) \t> dt = max | x (t) |p = II * (t) ||g. p о о Следовательно, из равномерной сходимости вытекает сходимость в среднем, в частности —среднеквадратичная. Поэтому чебышев- скую норму назыв'ают более сильной, чем гильбертова. г) Координатные бесконечномерные пространства, элементами которых являются счетные множества чисел х=={х1, х%, ...}. По аналогии с пространствами функций, в них обычно вводят норму || х \\с = sup \xi | или J/p а само пространство называют1 соответственно с или 1Р. д) Конечномерные пространства с('!), /<"', элементами которых являются группы из п чисел х — {х1У х2, .-.., хп}\ их можно считать координатами векторов в n-мерном пространстве, /<"> на- называют евклидовым. Нормы векторов вводят по аналогии со слу- случаем (г), например, Для конечномерных векторов между разными нормами существуют соотношения II х \\г < || х ||8 ^ I1* ||с ^Уп\\х ||2 < п || х ||lf E) которые легко проверить. Поэтому из сходимости в одной из этих норм следует сходимость во всех остальных нормах. Нормы, обладающие таким свойством, называют эквивалентными. Отметим, что если последовательность векторов хт не сходи- сходится, но хт/\\хт\\ сходится, то говорят о сходимости векторов по направлению. е) В пространстве квадратных матриц порядка п наиболее употребительны следующие нормы: / п I n \ 1/2 /I, №= 2 К!2 '
?2 ЧТО ТАКОЕ ЧИСЛЕННЫЕ МЕТОДЫ? [ГЛ. 1 где Hi — собственные значения эрмитовой матрицы АИА (здесь Аи — матрица, эрмитово сопряженная по отношению к А). Первые две нормы не имеют специальных названий, третья называется максимальной, четвертая — сферической или евклидовой и пятая — спектральной. Между ними выполняются некоторые соотноше- соотношения, аналогичные E). Интересна связь между нормами матриц и векторов, на которые матрицы действуют. Норма матрицы называется согласованной с нормой вектора, если ||Ллс||=е;|И|| • ||лс||. Наименьшая из норм матрицы, согласованных с данной нормой вектора: ||Л|| = = sup AЙлс||/|]л:||), называется нормой матрицы, подчиненной дан- данной норме вектора. Приведем пример подчиненной нормы. Из цепочки неравенств /•= ssmax /max | ж/h jf] \aik\\— max { J] |fltt|] = ||i4||e.||*lle G) l / { J] ' \k = l следует, что ||Л||С согласована с \\х\\с. Кроме того, для любой матрицы А существует такой вектор х, что неравенство G) обращается в равенство. Для его нахождения положим ху=±1; знаки выберем так, чтобы они совпадали п со знаками элементов ац той строки матрицы i, в которой J] I aii I максимальна. Тогда именно сумма по этой строке будет максимальна в левой части G), и неравенство превратится в равенство. Это означает, что \\А\\С есть наименьшая из норм, согласованных с \\х\\с: если мы возьмем еще меньшую |1Л|!, то при этом векторе х для нее знак неравенства G) будет обратным, т. е. она не будет согласованной. Следовательно, ||Л||С подчинена || х ||с. Без доказательства укажем, что \\A\\t подчинена \}x\\lt и спект- спектральная норма подчинена ||лг||?. Сферическая норма согласована с || х ||2, а максимальная норма согласована со всеми рассмотрен- рассмотренными выше векторными нормами. 2. Структура погрешности. Есть четыре источника погрешности результата: математическая модель, исходные данные, приближен- приближенный метод и округления при вычислениях. Погрешность матема- математической модели связана с физическими допущениями и здесь рассматриваться не будет. Исходные данные зачастую неточны; например, это могут быть экспериментально измеренные величины. В прецизионных физических измерениях точность доходит до 10~12, но уже харак- характерная астрономическая и геодезическая точность равна 10~в, а во многих физических и технических задачах погрешность изме- измерения бывает 1 — 10%. Погрешность исходных данных Ьх приво- приводит к так называемой неустранимой (она не зависит от матема- математика) погрешности решения 6у = А (х-\-8х) — А (х). В следующем пункте будут рассмотрены случаи, когда неустранимая погреш- погрешность может становиться недопустимо большой.
§ 21 ПРИБЛИЖЕННЫЙ АНАЛИЗ 23 Погрешность метода связана с тем, что точные оператор и исходные данные заменяются приближенными. Например, заме- заменяют интеграл суммой, производную —разностью, функцию — многочленом или строят бесконечный итерационный процесс и обрывают его после конечного числа итераций. Методы строятся обычно так, что в них входит некоторый параметр; при стрем- стремлении параметра к определенному пределу погрешность метода стремится к нулю, так что эту погрешность можно регулировать. Погрешность метода мы будем исследовать при рассмотрении конкретных методов. Погрешность метода целесообразно выбирать так, чтобы она была в 2 — 5 раз меньше неустранимой погрешности. Большая погрешность метода снижает точность ответа, а заметно меньшая — невыгодна, ибо это обычно требует значительного увеличения объема вычислений. Вычисления как на бумаге, так и на ЭВМ выполняют с опре- определенным числом значащих цифр. Это вносит в ответ погрешность округления, которая накапливается в ходе вычислений. Рассмотрим накопление погрешности при простейших вычис- вычислениях. Пусть исходные данные xi известны с относительной погрешностью А, > 0, т. е. заключены между xt A — А,) и xt (I + Af); их абсолютные погрешности равны Д*|х,-|. Тогда при сложении или вычитании двух чисел результат равен хх±х2 с абсолютной погрешностью не более A1]jc1|4-A2|je2|, т. е. при этих операциях абсолютные погрешности складываются. При умножении (делении) результат равен хгхг (Xi/x?) с относительной погрешностью не более Aj + A2, т. е. складываются относительные погрешности. На современных ЭВМ числа записываются с 10—12 десятичными зна- знаками, поэтому в расчете на них погрешность единичного округ- округления А= 10~10-т- 10~12 обычно пренебрежимо мала по сравнению с погрешностью метода и неустранимой погрешностью. При решении больших задач выполняются миллиарды дейст- действий. Казалось бы, начальные ошибки возрастут в 109 раз и по- погрешность ответа будет огромной. Однако при отдельных дейст- действиях фактические погрешности чисел могут иметь разные знаки и компенсировать друг друга. Согласно статистике при N одина- одинаковых действиях среднее значение суммарной ошибки превышает единичную примерно в УЛ раз, а вероятность заметного укло- уклонения суммарной ошибки от среднего значения очень' мала. Зна- Значит, если нет систематических причин, то случайное накопление ошибок не слишком существенно. Систематические причины возникают, например, если алгоритм таков, что в нем есть вычитание близких по величине чисел: хотя абсолютная ошибка при этом невелика, относительная ошибка А = (А1|д;1| + А2|х3|)/(л;1 —х2) может стать большой. Например, при нахождении корней квадратного уравнения ПО
24 ЧТО ТАКОЕ ЧИСЛЕННЫЕ МЕТОДЫ? [ГЛ. I обычной формуле x2 + px-q = 0, xlt2 = — 0,5р ± У 0,25р2 + q в случае, когда 0<.q<^p, относительная ошибка округления для положительного корня хх велика. Это надо заранее преду- предусмотреть и преобразовать формулу так, чтобы избавиться от по- подобных вычитаний: Этот пример очень прост. Существуют гораздо более сложные ал- алгоритмы, где ошибки округления очень опасны: например, нахож- нахождение корней многочлена очень высокой степени (глава V, § 2, п.8) или итерационное решение разностных схем для эллиптических уравнений при помощи чебышевского набора параметров (глава XII, § 1). В этих случаях только после серьезного исследования уда- удалось так видоизменить алгоритм, чтобы довести ошибки округле- округления до безопасного уровня. Отметим, что в большинстве подобных задач неприятностей можно избежать, проводя расчет с двойной или тройной точностью. Такая возможность реализована в хороших математических обес- обеспечениях ЭВМ; это в несколько раз увеличивает время расчета, зато позволяет пользоваться уже известными алгоритмами, а не разрабатывать новые. При любых. расчетах справедливо правило: надо удерживать столько значащих цифр, чтобы погрешность округления была существенно меньше всех остальных погрешностей. 3. Корректность. Задача у = А(х) называется корректно пос- поставленной, если для любых входных данных х из, некоторого класса решение у существует, единственно и устойчиво по вход- входным данным. Рассмотрим это определение подробнее. Чтобы численно решать задачу у — А(х), надо быть уверен- уверенным в том, что искомое решение существует. Естественно также требовать единственности решения точной задачи: численный алго- алгоритм— однозначная последовательность действий, и она может привести к одному решению. Но этого мало. Нас интересует решение у, соответствующее бходным данным х. Но реально мы имеем входные данные с погрешностью х-\-Ьх и находим у-{-8у — А (х-{-8х). Следовательно, неустранимая пог- погрешность решения равна Ьу = А (х-\-Ьх) — А (х). Если решение непрерывно зависит от входных данных, т. е. всегда ||6г/||->0 при ||6х|| -> 0, то задача называется устойчивой по входным дан- данным; в противном случае задача неустойчива по входным данным. Рассмотрим классический пример неустойчивости — задачу Коши для эллиптического уравнения в полуплоскости O = 0, и(х, 0) = 0, иу(х, 0) = <р(х). (8)
§ 21 ПРИБЛИЖЕННЫЙ АНАЛИЗ 25 Входными данными является у(х). Если ф (х) = Q, то задача имеет только тривиальное решение п (х, у) = 0. Если же ф„ (х) = — cos nx, то решением будет «я (х, у) = -2 cos я* • sh ny. Очевидно, Уп(х) равномерно сходятся к ф(х) при я->-оо; но при этом если у Ф 0, то «„ (л;, у) неограничено и никак не может схо- сходиться к а(х, у). Этот пример связан с физической задачей о тя- тяжелой жидкости, налитой поверх легкой; при этом действительно возникает так называемая релей-тейлоровская неустойчивость. Отсутствие устойчивости обычно означает, что даже сравни- сравнительно небольшой погрешности 8х соответствует весьма большое 8у, т. е: получаемое в расчете решение будет далеко от искомого. Непосредственно к такой задаче численные методы применять бес- бессмысленно, ибо погрешности, неизбежно появляющиеся при чис- численном расчете, будут катастрофически нарастать в ходе вычис- вычислений. Правда, сейчас развиты методы решения многих некорректных задач. Но они основаны на решении не исходной задачи, а близ- близкой к ней вспомогательной корректно поставленной задачи, содер- содержащей параметр а; при а->-0 решение вспомогательной задачи должно стремиться к решению исходной задачи. Примеры таких методов (называемых регуляризацией) даны в следующих двух гла- главах, а их строгое обоснование приведено в главе XIV, § 2. На практике даже не всякую устойчивую задачу легко решить. Пусть ||6j/||sc; С||бх||, причем константа С очень велика. Задача формально устойчива, но фактическая неустранимая ошибка может быть большой. Этот случай называют слабой устойчивостью (или плохой обусловленностью). Примером является такая задача: у"(х)=у{х), (9а) =1, У'@) = -1. (96) Общее решение дифференциального уравнения (9а) есть: у (х) = 0,5 [у @) + у1 @)] е* + 0,5 [у @) - у1 @)] <г*. Начальным условиям (96) соответствует точное решение у (х) — е~х; но небольшая погрешность начальных данных может привести к то- тому, что в решении добавится член вида ее-?, который при боль- больших аргументах много больше искомого решения. Очевидно, для хорошей практической устойчивости расчета константа С должна быть не слишком велика. Так, если началь- начальные данные известны точно, т. е. могут быть заданы с точностью до ошибок округления Д~102, то необходимо, чтобы С<^1012. Если же начальные данные найдены из эксперимента с точностью
26 ЧТО ТАКОЕ ЧИСЛЕННЫЕ МЕТОДЫ? [ГЛ. I бд:/-^ 0,001, а требуемая точность решения бг/^0,1, то допустимо С<100. Даже если задача устойчива, то численный алгоритм может быть неустойчивым. Например, если производные заменяются разностями, то приходится вычитать близкие числа и сильно теряется точность. Эти неточные промежуточные результаты исполь- используются в дальнейших вычислениях, и ошибки могут сильно нара- нарастать. По аналогии можно говорить о корректности алгоритма у = — А (х), подразумевая существование и единственность прибли- приближенного решения для любых входных данных х некоторого класса, и устойчивость относительно всех ошибок в исходных данных и промежуточных выкладках. Однако в общем случае этим опреде- определением трудно пользоваться; только в теории разностных схем (глава IX) оно применяется успешно. ЗАДАЧИ 1. Доказать выполнимость всех боотношений D). Рассмотреть, как меняется форма записи этих соотношений при задании функции на произвольном конеч- конечном отрезке a =g t =g Ь. 2. Доказать утверждения о согласованности и подчиненности норм матриц, приведенные в конце п. 1 § 2.
ГЛАВА II аппроксимация функций В главе II рассмотрены способы построения приближенных формул для заданной функции. В § 1 изложен способ интерполяции; он несложен и обес- обеспечивает хорошую точность на небольших отрезках. В § 2 рассмотрена средне- среднеквадратичная аппроксимация, частным случаем которой является метод наи- наименьших квадратов; она позволяет строить приближенные формулы, пригодные на больших отрезках. В § 3 кратко изложены основные сведения о равномер- равномерной аппроксимации. § 1. Интерполирование 1. Приближенные формулы. Если задана функция у (х), то это означает, что любому допустимому значению х сопоставлено зна- значение у. Но нередко оказывается, что нахождение этого значе- значения очень трудоемко. Например, у(х) может быть определено как решение сложной задачи, в которой х играет роль параметра, или у (х) измеряется в дорогостоящем эксперименте. При этом можно вычислить небольшую таблицу значений функции, но пря- прямое нахождение функции при большом числе значений аргумента будет практически невозможно. Функция у (х) может участвовать в каких-либо физико-техни- физико-технических или чисто математических расчетах, где ее приходится многократно вычислять. В этом случае выгодно заменить функцию у(х) приближенной формулой, т. е. подобрать некоторую функ- функцию ф(х), которая близка в некотором смысле к у (х) и просто вычисляется. Затем при всех значениях аргумента полагают у(х) я« «« у(х). Близость получают введением в аппроксимирующую функ- функцию свободных параметров a = {alt a2, ..., ап) и соответствую- соответствующим их выбором. Подбор удачного вида функциональной зависимости <р(х; а)— искусство; некоторые советы по этому поводу будут даны в § 1, п. 8. А определение наилучших (в требуемом смысле) параметров формулы делается стандартными методами, которые и будут рас- рассмотрены в этой главе. 2. Линейная интерполяция. Пусть функция у (х) известна только в узлах некоторой сетки xt, т. е. задана таблицей. Если
28 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II потребовать, чтобы <р(х; а) совпадала с табличными значениями в п выбранных узлах сетки, то получим систему ф(*ь аъ я2, ..., а„) = у (xt) z= yh 1</<п, A) из которой можно определить параметры аъ. Этот способ подбора параметров называется интерполяцией (точнее, лагранжевой ин- интерполяцией). По числу используемых узлов сетки будем назы- называть интерполяцию одноточечной, двухточечной и т. д. Если ф (х\ а) нелинейно зависит от параметров, то интерполя- интерполяцию назовем нелинейной; в этом случае нахождение парамет- параметров из системы A) может быть трудной задачей. Сейчас мы рас- рассмотрим линейную интерполяцию, когда ц>(х; а) линейно зависит от параметров, т. е. представима в виде так называемого обоб- обобщенного многочлена п Ф (х; аъ а2, ..., ап) = ? ак щ (*)• B) k= 1 Очевидно, функции фА (х) можно считать линейно-независимыми, иначе число членов в сумме и параметров можно было бы умень- уменьшить. На систему функций ФаD надо наложить еще одно огра- ограничение. Подставляя B) в A), получим для определения парамет- параметров йк следующую систему линейных уравнений: а*Ф* (*<) = #» 1<г<л. C) 1 Чтобы задача интерполяции всегда имела единственное решение, надо, чтобы при любом расположении узлов (лишь бы среди них не было совпадающих) определитель системы C) был бы отличен от нуля: при x^Xj. D) фа Ы ••• фл Система функций, удовлетворяющих требованию D), называется че- бышевской. Таким образом, при линейной интерполяции надо строить обобщенный многочлен по какой-нибудь чебышевской системе функций. Для линейной интерполяции наиболее удобны обычные много- многочлены, ибо они легко вычисляются и на клавишной машине и на ЭВМ. Другие системы функций сейчас почти не употребляются, хотя в теории подробно рассматривают интерполяцию тригономет- тригонометрическими многочленами и экспонентами. Поэтому мы не приводим выражения обобщённого многочлена B) через табулированные зна- значения функции ус, вывести это выражение несложно.
§ 1] ИНТЕРПОЛИРОВАНИЕ 29 3. Интерполяционный многочлен Ньютона. Рассмотрим систему щ (x) = хк, 0 =sc & ^ n; для удобства узлы интерполяции также пе- перенумеруем с нулевого по я-й. Легко заметить, что определитель D) в этом случае есть определитель Вандермонда Д = х" п n> k>т> О хп П (хи~хт). E) Следовательно, алгебраический интерполяционный многочлен $*п (х) всегда существует и единствен (с точностью до формы за- записи). Применим для его вывода следующий прием. Определим, разделенные разности табулированной функции у (х) при помощи соотношений y(xh X,) = У(*;> х}, xk) = \y(xt, xj)-y(xjy xk)]/(Xi-xk), и т. д. Разделенные разности первого, второго и более высоких по- порядков имеют размерности производных соответствующих порядков; в главе III показано, что они дают приближенные значения про- производных. Разделенные разности любого порядка можно выразить непосредственно через узловые значения функции, но вычислять их удобнее по рекуррентному соотношению F). Пусть of (x) есть многочлен степени п. Рассмотрим, что пред- представляют собой его разделенные разности. Вычитая из него кон- константу &>{x0)i получим многочлен & (х) — ^(х0), который обраща- обращается в нуль при х = % и поэтому делится нацело на х-х0. Сле- Следовательно, первая разделенная разность многочлена я-й степени & (х, xo) = [ar(x) — afs'(xo)]/(x — Xo) есть многочлен степени я—1 относительно * и в силу симметрии выражения -— относительно х0. Аналогично, вторая разность ^ (х, х0, хг) есть многочлен степени п — 2; в самом деле, из F) видно, что числитель этой разнос,™ обращается в нуль при х — хх, и значит, нацело делится на х — хи а степень при этом понижается на единицу. ' Продолжая эти рассуждения, можно показать, что разность <Р{х, х0, хх, ..., хп^) есть многочлен нулевой степени, т. е. константа, а более высокие разделенные разности тождественно равны нулю. Перепишем соотношения F) для случая, когда функция есть многочлен и первый аргумент равен х: &(x) = &(xo) + (x-xo)JP(x, х,), & (х, х0) = 0s (*0, хх) + (х^ xj & (х, хй, хх) и т- Д. Эта цепочка соотношений конечна, ибо («+ 1)-я разделенная
30 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II разность многочлена тождественно равна нулю. Последовательно подставляя эти соотношения друг в друга, получим формулу (х) = & (х0) + {х- х0) &> (дсо, хх) + 0, Xlt Х2) + ... хп1)&(х0, х х, G) по которой многочлен п-й степени выражается при помощи разде- разделенных разностей через свои значения в узлах хо,...,хп. Но значе- значения интерполяционного многочлена в этих узлах по определению совпадают со значениями искомой функции, и поэтому разделен- разделенные разности у (х) и ^ (х) тоже совпадают. Подставляя в G) разде- разделенные разности искомой функции и заменяя точное равенство на приближенное, получим интерполяционную формулу Ньютона У(Х)^У (Хо) +2 (Х- Хо) (X - Хх) .. . (X - Jfc-i) У (Хо, *!,..., Хк). (8) *= 1 Формула Ньютона удобна для вычислений и на ЭВМ, и на клавишной машине. Легко составить следующую таблицу 1 раз- разделенных разностей для табулированной функции у (х) и произ- произвести вычисления по формуле (8). Таблица 1 x0 хг х3 У(хо) У{х2) У(х3) У(Хо, Xi) х,) у IXq, x^t х2/ У (Xi, Х2, Xs) У(хо> Х\, * 2, XS) Замечание 1. За точностью расчета удобно следить, ви- визуально оценивая скорость убывания членов суммы (8). Если они убывают медленно, то на хорошую точность рассчитывать, вообще говоря, нельзя (подробнее см. пп. 6, 7). Если убывание быстрое, то оставляют только те члены, которые больше допустимой по- погрешности; тем самым определяют, сколько узлов требуется под- подключить в расчет. Пример. Покажем, как вычислять синус в первом квад- квадранте, используя четыре известных значения. Составим таблицу 2 с четырьмя узлами, причем для удобства вычисления положим у(х) = sin C00-*). Для проверки точности, используя разности верхней косой строки, вычислим г/A,5) ,750-0,050+ 0,006 = 0,706.
§11 ИНТЕРПОЛИРОВАНИЕ 31 Таблица 2 0 1 2 3 у(хд 0,000 0,500 0,866 1,000 У (xt. xi+1) 0,500 0,366 0,134 У (х{, xi+y xi+2) —0,067 —0,116 y(xt xt+3) —0,016 Это приближенное значение мало отличается от точного значения у A,5) = sin45Q я« 0,707. Таким образом, достаточно помнить только верхнюю косую строку таблицы 2, чтобы вычислять синус с точ- точностью около 0,001. Замечание 2. При заданном числе узлов многочлен Ньютона удобнее вычислять по схеме Горнера, записывая его в виде у(х)=у(х0) + (х-х0)[у(х0, *i)H-(*-*i)[y(*0, *i, х2) + ...]]. Но если надо контролировать точность расчета и определять нужное число узлов, то удобнее форма (8). Замечание 3. Для расчетов по формуле Ньютона безраз- безразличен порядок, в котором перенумерованы узлы интерполяции; это полезно помнить при подключении новых узлов в расчет. Мы ограничились здесь общими формулами, пригодными для таблиц с переменным шагом. Во многих учебниках для таблиц с постоянным шагом вводят конечные разности А"у, связанные с разделенными разностями соотношением Апу = п1у (х0, хи ..., х„). Но это дань историческим традициям, ибо разделенные разности не менее удобны в расчетах, чем конечные. Есть много разных форм записи интерполяционного много- многочлена общего вида: Ньютона, Лагранжа, Гаусса, Грего- Грегори—Ньютона, Лапласа — Эверетта и другие. Наиболее удобной для вычислений с контролем точности и на ЭВМ и вручную является.форма Ньютона (8). Большинство остальных форм рас- рассчитано на определенные частные случаи расположения узлов интерполяции, но те выгоды, которые при этом получаются, обычно несущественны при расчетах на ЭВМ. 4. Погрешность многочлена Ньютона. Выше мы рассмотрели эмпирическое правило определения погрешности интерполяции по убыванию членов суммы (8). Проведем теперь строгое исследова- исследование погрешности метода, проистекающей от замены искомой функции интерполяционным многочленом Ньютона.
32 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. 11 Погрешность удобно представить в следующем виде: у (х) - &„ (х) = со„ (х) г (х), щ (х) = П (*-*,), (9) ( = 0 ибо эта погрешность заведомо равна нулю во всех узлах интер- интерполяции. Введем вспомогательную функцию q (%) — у (|) — ®п (?)— — ©„(!) г (х), где х играет роль параметра и принимает любое фиксированное значение. Очевидно, q(Q — O при % = хй, хг,..., хп и при \ — х, т. е. обращается в нуль в п-)-2 точках. Предположим, что у (х) имеет п 4-1 непрерывную производную; тогда то же справедливо для q(?,). Между двумя нулями глад- гладкой функции лежит нуль ее производной. Последовательно применяя это правило, получим, что между крайними из п-\-2 Рис- 2- нулей функции лежит нуль п+1-н производной. Но д(л+!) (!) = = г/(л+1) (g) —(я-f I)-' г(х), и если в какой-то точке %*, лежащей между указанными выше нулями, она обращается в нуль, то г (х) = г/("+1) A*)/(п-4-1)!- Заменяя погрешность (9) максимально возможной, получаем оценку погрешности: где максимум производной берется по отрезку между наимень- наименьшим и наибольшим из значений х, х0, хх, ..., хп. Оценить сол (х) при произвольном расположении узлов интер- интерполяции сложно. Однако таблицы чаще всего имеют постоянный шаг h = xi+1 — Xi, а узлы интерполяции берутся из таблицы подряд. Тогда со„(х) имеет примерно такой вид, как показано на рис. 2 для я = 5: вблизи центрального узла интерполяции экстре- экстремумы невелики, вблизи крайних узлов — несколько больше, а если х выходит за крайние узлы интерполяции, то <о„(х) быстро возрастает. Можно подобрать узлы интерполяции так, чтобы да заданном отрезке max | (й„ (х) | был меньше, чем у любого другого многочлена той же степени. Для этого фп (х) должен быть многочленом Чебышева первого рода (см. При- Приложение). Узлы этого многочлена расположены сравнительно редко в середине рассматриваемого отрезка и сгущаются у его концов. Но вне выбранного отрезка многочлен (Оп(х) по-прежнему будет быстро возрастать. Этот способ интерпо- интерполяции довольно громоздок, а выигрыш в точности невелик; поэтому его исполь- используют только для специальных целей —например, при построении аппроксими- аппроксимирующих формул.
§ ц ИНТЕРПОЛИРОВАНИЕ 33 Термин интерполяция в узком смысле употребляют, если х заключено между крайними узлами интерполяции; если он выхо- выходит из этих пределов, то говорят об экстраполяции. Очевидно, что при экстраполяции далеко за крайний узел ошибка может быть велика, поэтому экстраполяция мало надежна. На практике рекомендуется пользоваться преимущественно интерполяцией. При интерполяции на равномерной сетке выгодно выбирать из таблицы узлы так, чтобы искомая точка х попадала ближе к центру этой конфигурации узлов — это обеспечит более высокую точность. Для упрощения вычислений рассмотрим случай нечетного п = 2k + 1 • Из симметрии полинома <о„ (х) очевидно, что в централь- центральном интервале экстремум достигается точно в середине (см. рис. 2). Этот экстремум равен ~ Г ~ L Подставим эту величину в оценку A0). После несложных преобра- преобразований с использованием формулы Стерлинга р\ я« ]/2яр (р/е)р получим оценку ошибки в центральном интервале | у (х) - &п (х)\<У 2/пп МпН (А/2)*1-1. A1) Если величины производных у (х) можно оценить, то отсюда легко определить число узлов,- достаточное для получения заданной точности. Из оценки A1) видно, что если перейти от таблиц с крупным шагом к таблицам с более мелким шагом, то погрешность метода будет убывать, как hn+1. Поэтому говорят, что многочлен Ньютона &*„(х) имеет погрешность О (hn+1) и обеспечивает п-\- 1-й порядок точности интерполяции. В главе III мы увидим, что между разделенными разностями и производными соответствующих порядков существует соотноше- соотношение у[п) (х) я«п\ у (х0, хъ ..., хп). Если учесть это при определе- определении величины членов суммы (8), то нетрудно заметить, что эмпири- эмпирическая оценка погрешности по первому отброшенному члену близка к оценке A0), хотя является менее строгой. Оценки A0) и A1) можно провести до вычисления интерполяционного многочлена, т. е. это априорные оценки точности. Оценка же по первому отброшенному члену делается после выполнения вычислений, т. е. является апостериорной. Поскольку обычно величины производ- производных искомой функции заранее неизвестны, а в ходе вычисления многочлена Ньютона они фактически определяются, то на прак- практике удобнее пользоваться апостериорной оценкой. Далее мы не раз сможем убедиться, что строгие априорные оценки используются в основном при теоретическом исследовании методов. При практическом контроле точности расчетов обычно
34 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II употребляют менее строгие (хотя тоже [имеющие теоретическое обоснование), но более удобные апостериорные оценки. 5. Применения интерполяции. Интерполяция применяется во многих задачах, а не только для вычисления табулированной функции при любых значениях аргумента. При помощи разделенных разностей контролируется точ- точность таблиц. Для этого составляют таблицы разделенных разностей различных порядков для соседних узлов и анали- анализируют их поведение. Например, в таблице 3 приведена зависимость коэффициента теплопроводности высокотемпературной фазы циркония от темпе- температуры. Там же вычислены первая и вторая конечные разности. Видно, что вторая разность меняется беспорядочно, так что интер- интерполировать более чем по двум точкам бессмысленно. По величине второй разности можно сказать, что случайная погрешность к составляет около единицы третьего знака в большинстве точек, но в двух первых она может доходить до единицы второго знака (для систематической погрешности измерений эти соображения неприменимы). Таблица 3 Теплопроводность циркония т°, к 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 кал/см-г-сек 561 640 695 716 735 752 771 788 802 821 ДД-10s 79 55 21 19 17 19 17 14 19 Д2А-10» -24 -?Л , 2 . 2 +2 2 з +5 Подобный контроль полезен при анализе результатов измере- измерений в физике и технике. Интерполяцию применяют для субтабулирования — сгущения таблиц. Алгоритмы непосредственного вычисления многих функ-
§ 1] ИНТЕРПОЛИРОВАНИЕ 35 ций очень сложны. Поэтому при математическом табулировании обычно функцию непосредственно вычисляют в небольшом числе узлов, т. е. таблицы имеют крупный шаг. Затем при помощи интерполяции высокого порядка точности сетку узлов сгущают и составляют подробную таблицу. Шаг этой таблицы выбирают таким, чтобы простейшая интерполяция (двухточечная) обеспечи- обеспечивала требуемую точность. В связи с этим отметим, что при ручных расчетах выгодны подробные таблицы, ибо они допускают применение простейших способов интерполяции, легко выполняемых на бумаге или кла- клавишных машинах, а время поиска нужных узлов интерполяции невелико по сравнению со временем выполнения алгебраических действий. Наоборот, при расчетах на ЭВМ задание подробных таблиц невыгодно, поскольку они занимают много места в опера- оперативной памяти, а время поиска становится много больше времени выполнения алгебраических действий; выгоднее таблицы с боль- большим шагом, хотя при этом требуются более сложные и точные способы интерполяции. Задачей обратного интерполирования называют нахождение х для произвольного у, если задана таблица yt—y (*,•). Для моно- монотонных функций между прямым и обратным интерполированием нет разницы: можно читать таблицу наоборот, как задание Xi = x(yt). Единственное отличие будете том, что «обратная» таб- таблица x{iji) будет иметь переменный шаг, даже если «прямая» таблица имела постоянный. Но все наши формулы рассчитаны на переменный шаг. Отметим, что для достижения заданной точ- точности прямая и обратная интерполяции требуют, вообще говоря, разного числа узлов. Важный пример обратного интерполирования — решение урав- уравнения у (х) = 0. Вычислим несколько значений функции у (xt), т. е. составим небольшую таблицу. Запишем ее в виде Xi = x{yi) и при помощи интерполяции найдем приближенное значение х{0). Этот способ дает хорошие результаты, если функция достаточно гладкая, а корень лежит между рассчитанными узлами. Если корень расположен далеко от узлов, то способ ненадежен, ибо применяется экстраполяция. Пример. Решим уравнение г/(х) = A +х)е0^ —2,5 = 0. A2) Составим таблицу 4 значений функции; первым запишем столбец значений у, ибо в дальнейших вычислениях эта величина будет аргументом. Найдем разделенные разности и произведем вычисле- вычисления по верхней косой строке: х @) ** Хо-НО - у,) х (Уо, у,) + @ - t/0) @ - уг) х (уа, ylt y2) = 0,744. Точное решение есть х@) = 0,732, так что ошибка получилась
36 АППРОКСИМАЦИЯ ФУНКЦИЙ |ГЛ. 11 небольшой. Для повышения точности в этом способе целесообразно взять новые узлы, близко расположенные к грубо найденному корню, а не увеличивать число узлов. Таблица 4 -1,500 -0,574 0,797 0 0,5 1,0 0,540 0,365 X <</». Уи Уг> —0,076 В этом курсе будут рассмотрены и другие примеры примене- применения интерполирования. 6. Интерполяционный многочлен Эрмита. Пусть табулирована не только функция, но и ее производные вплоть до некоторого порядка. Тогда можно потребовать, чтобы в узлах интерполяции совпадали не только значения искомой функции у (х) и интерпо- интерполяционной функции ф(х), но и значения их производных вплоть до некоторого порядка. Такую интерполяцию будем называть эрмитовой; если <р(х) — алгебраический многочлен п-й степени, то он называется интерполяционным многочленом Эрмита и обо- обозначается в%"„(х). Покажем, как построить этот многочлен'. По п -f- 1 узлу построим интерполяционный многочлен Ньютона &*„ (х; х0, хг, ...,х„). Поскольку значения функции у (х) и многочлена в узлах совпа- совпадают, то их средние наклоны на участках между узлами равны. Мысленно будем приближать узел хп к узлу хп-х'> при этом сред- средний наклон будет стремиться к производной. Значит, после совпа- совпадения узлов получим многочлен, который в узле хп. х правильно передает не только значение функции, но и значение первой про- производной. Символически обозначим его как ^п{х; х0, х1г ... • • • > ^я-1> %п х) )¦ Слияние трех узлов в один обеспечивает передачу не только наклона, но и кривизны, т. е. первой и второй производных и т. д. Таким образом, многочлен (х) = <^л(х; х0, xlt хр, хр, хр), A3) к =0 *) Чтобы отличать его обозначение от разделенной разности, мы отделяем аргумент от узлов, по которым составлен многочлен, точкой с запятой.
§11 ИНТЕРПОЛИРОВАНИЕ 37 в узле xk правильно передает значение функции и ее производ- производных вплоть до порядка тк — \ и имеет минимально необходимую для этого степень. Оценка погрешности метода A0) в этом случае принимает следующий вид: \у(х)-Жа (х) | <-А^ | Qn (x) |, Qn(x)=fl(x-х„)т*. A4) fc = O Очевидно, если сетка имеет шаг h, а точка х лежит между край- крайними узлами интерполяции, то Qn (x) = О(/гл41); следовательно, порядок точности эрмитовой интерполяции равен п-\-1, т. е. числу коэффициентов интерполяционного многочлена. Заметим, что обычный многочлен Ньютона с таким же числом коэффициентов (т. е. той же степени) также имеет погрешность О(/г"+1). Однако на одной и той же сетке численная величина погрешности многочлена Ньютона будет больше, чем у много- многочлена Эрмита: его вспомогательный многочлен <о„ (л:) содержит больше узлов, чем &„(х), и поэтому в него входят большие сомно- сомножители. Очевидно также, что чем более высокие производные используются при построении интерполяционного многочлена Эрмита заданной степени, тем меньше требуемое число узлов, и тем меньше будет численная величина его погрешности (хотя порядок точности остается одним и тем же). Выражением A3) нельзя пользоваться буквально. Если фор- формально подставить в формулу Ньютона (8) совпадающие узлы, то потребуется вычислить разделенные разности, у которых неко- некоторые узлы являются кратными. Выражения F) для таких раз- разностей содержат неопределенность типа 0/0. Если кратность каж- каждого узла не больше чем двойная, то эту неопределенность можно раскрыть с помощью предельного перехода, например, у(х0, *0)= lim y(^:;W = y'(*b), Х0 у(х0, х0, х1)=——[у'(хо)-у(хо, Xi)], A5) У (х0, х0, xlt Xj) = {4_Xi)i W (*о) - 2У (*о. хд + У' {Xi)\ Если узлы имеют более высокую кратность, то удобнее дифферен- дифференцировать формулу Ньютона (8). Например, если ее продифферен- продифференцировать т—\ раз, то обратятся в нуль все члены, содержащие разделенные разности порядка меньше т— 1. Затем положим х = хо = х1 —...; тогда обратятся в нуль множители перед разде- разделенными разностями порядка больше т — 1, и мы получим у (х0, х0, ..., хр) = {т1Ц[ у{т~1] (х0). A6)
38 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II Но узлы более чем двойной кратности почти не встречаются в практике вычислений, ибо вторые и более высокие производные искомой функции редко.табулируются. Рассмотрим наиболее употребительные частные случаи интер- интерполяционного многочлена Эрмита. Первый случай —многочлен, который в одном узле х0 совпадает с функцией и всеми ее заданными производными: ^п(х; х0, х0, ...) = = У (*о) + (х- х0) у' (х0) +1 (х - х0Г у" (%> + • • • A7) Очевидно, это отрезок ряда Тейлора; в этом случае пп {х) = = (х — xo)fl+1, и оценка A1) переходит в известную оценку точ- точности ряда Тейлора. Второй случай —многочлен, передающий в двух узлах значе- значения функции и ее первой производной: &„(х; х0, х0, хх, *1) = г/(*о) + (*- + (х-х0)[у(х0, х0, х1) + (х-х^)у(х(), х0, х±, x-l)]}; A8) разделенные разности сюда надо подставить из соотношения A5). Функция Qn {х) = (х — х0J (х — лгхJ внутри интервала интерполи- интерполирования не превышает (ft/2L, так что погрешность формулы A8) не более 0,026Af4ft4; эта формула имеет четвертый порядок точ- точности. Для сравнения приведем без вывода общее выражение интерполяционного многочлена Эрмита ~~' ~ т -1 1 1 : 0 т = О X Оно настолько громоздко, что пользоваться им для вычислений практически невозможно. Если все а; = 1, то обе внутренние суммы превращаются в одно слагаемое с m = j=0, и многочлен Эрмита переходит в многочлен Ньютона в форме Лагранжа. Если все а^=2, то получим / р (x-xk)yk+ 1-2 У ^ \ 1Гф1 можно проверить, что в случае двух узлов последнее выражение совпадает с A8) с точностью до формы записи. Но даже и это выражение оказывается очень громоздким. Такая ситуация довольно часто встречается в прикладной математике. Общие формулы, рассчитанные на все случаи жизни, нередко оказываются настолько сложными, что их не применяют
§ J] ИНТЕРПОЛИРОВАНИЕ 39 ни в одном конкретном случае. К тому же, в практических расчетах, как мы увидим далее, нецелесообразно исполь- использовать многочлены высоких степеней, поэтому в общих формулах нет серьезной необходимости. Трудоемкость же вычислений часто оказывается существенно меньшей при применении рекуррентных процедур типа формулы разделенных разностей F). 7. Сходимость интерполяции. При каких условиях погрешность метода стремится к нулю, т. е. когда и как интерполяционный многочлен сходится к у (х)? На практике мы имеем два способа перехода к пределу. Первый состоит в том, чтобы, сохраняя сте- степень интерполяционного многочлена, уменьшить шаг сетки, т. е. воспользоваться более подробными таблицами. Второй — сохра- сохраняя шаг сетки, увеличивать число используемых узлов, т. е. уве- увеличивать степень многочлена. Уменьшение шага. Если у(х) имеет непрерывные произ- производные вплоть до я + 1-й, то при интерполяции многочленом §f*m (х) степени т^п погрешность метода есть 0(hm+1). В этом случае при фиксированной степени многочлена и уменьшении шага сетки погрешность \у (х) — ?Рт(х)\ неограниченно убывает. Если ограни- ограничена производная, входящая в оценку ошибки, то интерполяцион- интерполяционный многочлен равномерно сходится к у (х) на ограниченном отрезке a sg х ^ Ь. Строго говоря, для каждого значения х выбирают свои узлы интерполяции, ближайшие (на данной сетке) к точке х, т. е. составляют свой многочлен 3*т (х). При этом точка х заведомо лежит между крайними узлами интерполяции, используемыми в данном многочлене. Поэтому входящий в оценку погрешности A0) полином (йт (х) ограничен равномерно по х: | <оот (л:) | < <max|* — *j|m+1=sc(m/i)m+1, где h — шаг сетки (для неравномер- i ных сеток — максимальный шаг). Для заданной точности е опре- определим шаг сетки из условия Мт+1 (mh)m+1 ^ е ¦ (т. -f-1)!, где 7Wm+1 = max I у[т+1) (х) \. Тогда для всех сеток с данным и более [а, Ь] мелким шагом и любой точки отрезка а^х^о погрешность интерполяционного многочлена 3*т(х), узлы которого выбраны указанным выше образом, будет не более е. Аналогичные утверждения справедливы для интерполяционного многочлена Эрмита. Увеличение числа узлов. Увеличивать степень интер- интерполяционного многочлена далеко не всегда целесообразно. Во-пер- Во-первых, неизвестно, как быстро растет максимум производной Мт с увеличением ее порядка. Во-вторых, у функции может быть лишь конечное число производных. Рассмотрим интерполяцию на отрезке а^х^Ь, когда число узлов, используемых для построения интерполяционного многочлена, неограниченно возра- возрастает.
40 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II Известно, чго если у(х) — целая функция, то при произвольном располо- расположении узлов на [а, Ь] многочлен $>п (х) равномерно сходится к у (х) при и->оо. Но целая функция —это функция, разложимая в степенной ряд с бесконечным радиусом сходимости. Гораздо чаще приходится импонировать не целые функ- функции, так что практическая ценность этого утверждения невелика. Если же на [а, Ь] функция имеет непрерывные производные сколь угодно высоких порядков, то это не гарантирует сходимости при произвольном распо- расположении узлов. Например, возьмем функцию = 0 при — приО Ее график приведен на рис. 3. Все производные этой функции на [—1, +1] непрерывны. Но если разместить все узлы интерполяции левее точки # = 0, то, очевидно, ^л (х) = 0, и ни- никакой сходимости быть не может. Правда, в этом примере п _ У расположение узлов было грубо / \^э'^~' неравномерным. Но равномерное 0,3 0,2 0,1 у S Л /е * J • О Рис. 3. -7 О Рис. 4. расположение не всегда спасает. С. Н. Бернштейн в 1916 г. доказал, что для функции у(х) = \х\ на отрезке [—1, +1], покрытом равномерной сеткой узлов, значения Фп (х) между узлами интерполяции неограниченно возра- возрастают при п->-со. Это иллюстрируется рис. 4, где даны графики функции и двух многочленов разных степеней. Более того, для любой наперед заданной системы узлов можно найти та- такую непрерывную функцию, чго построенные по этим узлам и функции много- многочлены Ньютона не будут равномерно сходиться. Но сходимости в среднем для многочленов Ньютона всегда можно добиться следующим несложным выбором узлов. Пусть Фя (х) — система многочленов, ортогональных с весом р (х) на отрезке [а, Ь], и х^ — нули этих многочленов. Используем эти точки в качестве узлов интерполяций; тогда р (х) при «->-оо для любой непрерывной функции. Для многочленов Эрмита получены более сильные результаты. Пусть функ- функция у (х) непрерывна на [—1, -| 1]; возьмем в качестве узлов нули многочле- многочленов Чебышева первого-рода Тп(х) (см. Приложение); фиксируем в этих узлах значения функции, а вместо ее производной возьмем любые числа с;л, удовлет- удовлетворяющие условию hm max [ с;л 1п«/ге ]=0. Построенный по всем этим зна- П-»ОО ('
§ и ИНТЕРПОЛИРОВАНИЕ 41 чениям многочлен ^T2n-i(x) равномерно сходится к у(х) при п->оо. Очевидно, если у (х) имеет ограниченную прои?водную, то в качестве с;л можно брать значение производной в узлах. Но и для многочленов Эрмита неудачный выбор узлов может испортить сходимость. Например, ряд Тейлора A7) расходится, если \х — хо\ больше рас- -стояния от х0 до ближайшей особой точки в комплексной плоскости. Выводы. На практике интерполировать многочленом высокой степени нежелательно. Если 3 — 5 узлов (точнее, свободных пара- параметров) не обеспечивают требуемой точности, то обычно надо не увеличивать число узлов, а уменьшать шаг таблицы. 8. Нелинейная интерполяция. Полиномиальная интерполяция A1) УИ (/21 по оценке A1) имеет погрешность р (/i/2)n+1, и при повыше- повышеX. 0 1 2 3 у(*д 1 11 121 1351 4хv xin) 10 ПО 1230 50 560 170 нии порядка точности формулы на единицу погрешность меняется примерно в hMn+i/2Mnjrl раз. Если шаг достаточно мал, то по- погрешность при этом уменьшается. Но если шаг велик, или произ- производные быстро растут с увеличением порядка, то погрешность может увеличиваться при увеличении порядка точности формулы. С этим часто приходится сталкиваться при работе Таблица 5 с быстро меняющимися функциями. Пример 1. Пусть требуется найти значение г/@,5), если функция за- задана таблицей 5 (в ней выписаны не только зна- значения функции, но и раз- разделенные разности). Ис- Используя интерполяцион- интерполяционный многочлен Ньютона и ведя вычисления по верхней строке таблицы 5, запишем последовательно члены все более высоких порядков: Ф @,5) = 1 + 5 — 12,5 + 63,75 —... Этот ряд содержит быстро возрастающие члены и совсем не похож на сходящийся; поэтому вычислить функцию с его помощью не удается. Функция слишком быстро меняется или, что то же самое, шаг сетки слишком велик для данной функции (рис. 5, а). Как интерполировать такие функции, если более подробных таблиц нет? Универсального рецепта, пригодного для любой функ- функции, не существует. Однако для конкретной функции нередко удается найти свой способ интерполяции, дающей разумную точ- точность. Такая интерполяция обычно нелинейна. Для этого нужно располагать дополнительной информацией о качественном поведении функций. Часто ее можно получить, зная физический смысл у (х). Например, проходящий через погло-
42 АППРОКСИМАЦИЯ ФУНКЦИИ [ГЛ. II 1000 500 2 6) Рис. 5. щагощую среду свет ослабляется примерно по экспоненциальному закону; сопротивление движению в газе зависит от скорости при- примерно как vm, где т«^1 для ламинарного движения, т^^2 для турбулентного и т>2 вблизи звукового барьера. Нередко помо- помогают формальные математические соображения —изучение графика функции и сравнение его с графиками хорошо изученных функций (в первую очередь элементарных). Выяснив качественное по- поведение функции, стараются подобрать такое преобразо- преобразование переменных ц = ц (у), | = \{х), чтобы в новых пе- переменных график f\ (l) мало отличался от прямой на про- протяжении нескольких шагов таблицы. Тогда в перемен- переменных г| (?) интерполяция мно- многочленом невысокой степени будет давать хорошую точ- точность. Вычисления заклю- заключаются в составлении таб- таблицы для новых переменных r|; = Ti(?,), интерполяции по ней и нахождении у = у(ц) обратным преобразованием. Этот способ называют методом выравнивания. Пример 2. Проиллюстрируем метод выравнивания на при- примере функции, заданной таблицей 5. Нетрудно заметить, что зави- зависимость близка к показательной, у(х)р^\Ох; значит, в перемен- переменных \ — х, T] = lg«/ график будет почти прямым (рис. 5, б). Со- Составим новую таблицу 6 и проведем интерполяцию по формуле Ньютона ¦П* = г| @,5) = 0 + 0,5207 + 0 - 0,0004 «= 0,5203. Теперь члены ряда быстро убывают, обеспечивая хорошую точность; считая, что точность г|* примерно равна последнему члену ряда, обратным преобразованием получим, что г/(т)*) я« 3,314 ±0,1%. Очевидно, что удачно подобранное выравнивание позволило полу- получить высокую точность интерполяции. Замечание 1. Для каждой конкретной функции подбирают свой вид нелинейной интерполяции. Для других функций этот вид, как правило, будет давать плохую точность. Замечание 2. Оценка погрешности такой интерполяции содержит старшие производные г\ (?). Их трудно найти, поэтому на практике удобнее оценивать точность по скорости убывания членов в формуле Ньютона, как было сделано выше. Употреби-
§ и ИНТЕРПОЛИРОВАНИЕ 43 телен также следующий прием: для одного из узлов xt вычисляют y(Xj) интерполяцией по соседним узлам и сравнивают с таблич- табличным значением yt. Таблица 6 h 0 1 2 3 0,0000 1,0414 2,0828 3,1306 1,0414 1,0414 1,0478 0,0000 0,0032 0,0011 Пример 3. Отбросим в таблице 6 узел ? = 1 и связанные с ним разделенные разности. По оставшимся трем узлам прибли- приближенно вычислим отброшенное значение г| A) я& 1,0382 или г/A)^ *=ы 10,92. Последняя величина бтличается от табличного значе- значения на 0,8%. Это вычисление велось фактически с шагом ho = 2 многочленом второй степени, имеющим погрешность O(h3). Зна- Значит, при вычислениях с шагом h = 1 погрешность должна умень- уменьшиться в (/y/iK = 8 раз и составить 0,1%- Это хорошо согласуется с оценкой по последнему члену ряда, сделанной выше. Замечание 3. Оба прямых преобразования г\(у), %(х) и обратное преобразование у(г\) должны выражаться несложными формулами, иначе метод выравнивания будет малопригодным на практике. Удобны преобразования типа логарифмирования, вычисления экспонент, тригонометрических функций и другие, име- имеющиеся в библиотеках стандартных программ современных ЭВМ (или легко выполнимые на логарифмической линейке). Замечание 4. В исходных переменных интерполяция нели- нелинейна относительно параметров; в данном примере она имела вид <р(л;) = ехр{ У] akxk\. Однако в переменных ц, | она линейна по параметрам. Такая нелинейность мало осложняет работу, поэтому интерполяцию подобного вида будем называть квазилинейной. Встречаются случаи, когда метод выравнивания неприменим. Например, если у(х)^а(х-\-Ь)с, то не удается найти такие коор- координаты, которые превращали бы график в прямую и не содер- содержали бы явно параметров а; Ь, с. Тогда зависимость от парамет- параметров не сводится к линейной и отыскать параметры и выполнить интерполяцию нелегко. Такую интерполяцию будем называть существенно нелинейной; на практике она используется крайне редко. Замечание 5. Если выравнивающие преобразования пере- переменных просты, то иногда удается явно выразить ф (х) через
44 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. И табличные значения функции в исходных переменных. Например, двухточечная интерполяция многочленом Ньютона в выравнива- выравнивающих переменных имеет следующий вид: Л ^ Ло + Oli - 1]о) Й - ЫК1х - У. So «?I =sS gi. Если при выравнивании используется преобразование ?, = х, t] = \ny, то, возвращаясь к исходным переменным, получим A9) У Но при большем числе узлов интерполяции подобные формулы становятся настолько громоздкими, что более выгодно не поль- пользоваться ими, а проводить вычисления в выравнивающих пере- переменных. 9. Интерполяция сплайнами. Когда надо провести график функции по известным точкам у{х1), 0s^i^N, то обычно поль- пользуются лекалом. Однако если точ- точки расположены редко, то нелегко бывает подобрать участок лекала, проходящий сразу через много точек. Тогда опытные инженеры бе- берут гибкое лекало—металлическую линейку, ставят ее на ребро и изгибают, придерживая в несколь- нескольких местах пальцами так, чтобы ее ребро проходило сразу через все точки (рис. 6). Этот способ интерполяции мож- можно описать математически. Гиб- Гибкая линейка — это упругий бру- брусок; из курса сопротивления мате- материалов известно, что уравнение его свободного равновесия есть Ф1У(*) = 0. Значит, в промежутке между каждой парой соседних узлов интерполяционная функция является многочленом третьей степени, который удобно записать в таком виде: \ А Рис. 6. (х) = (х i (х - x^f, B0) Коэффициенты многочлена на каждом интервале определяют из условий в узлах. Очевидно, в узлах многочлен должен при- принимать табличные значения функции: S/Н^ф (*!-!)= О,, 1 «=?*<#, B1) И = Ф(х,) = о, + ЬЛ + сЛ? + йЛ?, hi^Xi-Xt^. B2) Число этих уравнений вдвое меньше числа неизвестных коэффи-
§ 11 ИНТЕРПОЛИРОВАНИЕ 45 циентов, поэтому для определенности задачи нужны дополнитель- дополнительные условия. Для их получения вычислим первую и вторую производные многочлена B0): Ф' (х) = bi + 2ct (х - xi-J + Mt (x - Xil)\ ф" (х) = 2сi + 6d; (x — x^} при xt-x =s? х «с xh и потребуем непрерывности этих производных (т. е. гладкости линейки) во всех точках, включая узлы. Приравнивая во вну- внутреннем узле xi правые-и левые пределы производных, получим Ь1+1 = bt + 2сД- + Wn, I < t < tf - 1, B3) C/+1 = Q + 3d^,-, \^J^N-l. B4) Недостающие два условия обычно получают из естественного предположения о нулевой кривизне графика на концах: 1/2ф" (*„) = q = 0, 1/2ф" (xyv) = cN + UNhN = 0, B5) что соответствует свободно отпущенным концам линейки. Но если есть дополнительные сведения об асимптотике функции, то мож- можно записать другие краевые условия. Уравнения B1) — B5) образуют систему линейных уравнений для определения 4N неизвестных коэффициентов. Эту систему можно решить методом исключения Гаусса, описанным в главе V. Но гораздо выгоднее сначала привести ее к специальному виду. Уравнение B1) сразу дает нам все коэффициенты at. Из урав- уравнений B4) и B5) следует при l^i^N-l, dN — — cN/3hN. Подставим соотношение B6) в B2), одновременно исключая оттуда щ = г/,-_г; тогда получим (с/+1 + 2с,), Ui^-1 Исключим теперь из B3) величины Ьг и bi+1 при помощи B7), соответственно увеличивая во втором случае индекс на единицу, а величину d; —на основании B6). Останется система линейных уравнений для коэффициентов cit легко приводящаяся к следую- следующему виду: С! = 0, hixd -1 + 2 (Аи + ht) сг + hid и =-- iJ/hi-!] при B8)
46 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. П Матрица этой системы трехдиагональна, т. е. ненулевыми в ней являются только элементы главной диагонали и двух соседних. Такие системы экономно решаются методом прогонки, изложен- изложенным в главе V. После нахождения коэффициентов ct остальные коэффициенты нетрудно вычислить по формулам B1), B6) и B7). Можно рассмотреть более общую задачу -интерполяции функ- функции сплайном — многочленом n-й степени: п S(x)= X ашх\ xi-l ==s x «s xit k = 0 коэффициенты которого кусочно-постоянны и который в узлах интерполяции принимает заданные значения и непрерывен вместе со своими п—\ производными. При нечетной степени многочлена п = 2р— 1 можно рассматривать сплайновую интерполяцию как решение задачи лангранжевой интерполяции при дополнительном условии ъ \[S{H)Ydx = mm. Из этого условия следует уравнение SBp)(x) = 0 для интерполи- интерполирующей функции, условия непрерывности 2р —2 производных во внутренних узлах и естественные ограничения на производ- производные в крайних узлах. На практике употребительны два случая. Один — подробно рассмотренный здесь случай я = 3. Второй — п=\, когда сплайн совпадает с многочленом Ньютона первой степени и соответствует аппроксимации графика ломаной, построенной по узлам; опреде- определение коэффициентов при этом очевидно. Сплайновая интерполяция напоминает лагранжеву тем, что она требует знания в узлах только значений функции, но не ее производных. По области применения она занимает промежуточ- промежуточное положение между линейной и нелинейной лагранжевой интер- интерполяцией. Ее целесообразно применять тогда, когда сетка недо- недостаточно подробна для интерполяции многочленом Ньютона, но еще не настолько редка, чтобы необходимо было прибегать к нели- нелинейной интерполяции. Если функция так же резко меняется за один шаг сетки, как в таблице 5, то сплайновая интерполяция не гарантирует хорошей точности. Наиболее успешно применяют сплайновые интерполяции при разностном решении краевых задач для эллиптических уравнений в частных производных с гладкими коэффициентами. 10. Монотонная интерполяция. Монотонность — важное свойство функций. Например, возьмем таблицы синусов с шагом аргумента 1°; тогда на каждые 89 интервалов, в которых функция будет монотонна, придется всего 1 интер- интервал, содержащий экстремум. Поэтому при интерполяции нередко желательно сохранять монотонность функции,.
§ 11 ИНТЕРПОЛИРОВАНИЕ 47 Если интерполяционная функция у(х; а) монотонна по х, то интерполя- интерполяция будет монотонной. Классический пример—двухточечная интерполяция многочленом Ньютона е/5, (x) = a0Jra1x. Другим примером может служить двухточечная квазилинейная интерполяция A9). Очевидно, если интерполяция квазилинейная двухточечная, а преобразования ii (у), | (х) монотонны, то интерполяция будет монотонной. При трехточечной интерполяции монотонность может нарушиться. В таб- таблице 5 (п. 8) функция, по-видимому, монотонна. Но если использовать мно- многочлен Ньютона с тремя узлами, т. е. оставить в формуле Ньютона только три члена, то получим у A/2) да—6,5, что нарушает монотонность. Очевидно, это результат использования немонотонной интерполяционной функции — пара- параболы 0\ (х) — а0 + ахх + а2х2. Двухточечная интерполяция имеет погрешность О (А2), и ее точность не всегда достаточна; а увеличение числа узлов может внести немонотонность. Конечно, если интерполяционный ряд Ньютона (8) хорошо сходится, а моно- монотонность все-таки нарушена, то это означает, что функция на самом деле немонотонна. Но нередко мы вынуждены ограничиваться заданным в формуле (или программе для ЭВМ) числом узлов. Если при этом надо сохранить моно- монотонность, то можно поступать следующим образом. Найдем такие соседние точки сетки, чтобы выполнялось xi sg: x sg *;+j. Проведем вычисления по заданной многоточечной интерполяционной формуле и получим y* = (f(x). Если это .значение лежит между значениями yi, i/;+1, то считаем ответ правильным. Если оно выходит за пределы интервала, опре- определяемого значениями у{, г/;+1, то вместо у* в качестве ответа берем ближай- ближайшее из этих двух значений, т. е. полагаем У М = У* = Ф (*) ПРИ min (<//> yt+i) *? У* =S max (yh yi+1), j/(*r) = min(y|, yi+1) при y*<mm(yi, yi+1), B9) у (x) = max (у\, yi+1) при у* > max (y{, u Эта монотонная интерполяция бывает полезна, например, при составлении разностных схем для уравнений в частных производных (глава X, § 1, п. 6). 11. Многомерная интерполяция. Двумерные таблицы широко распространены в физике и технике; например, таковыми являются таблицы термодинамических функций газов, где независимыми переменными обычно являются температура и плотность. Трех- Трехмерные таблицы составляют и используют значительно реже, но не потому, что таких зависимостей нет, а потому, что таблицы слишком громоздки. Четырехмерных таблиц практически нет, хотя в физике немало задач с большим числом параметров; так, проводимость плазмы а(Т, р, Е, Н) зависит от ее температуры и плотности, и напряженностей электрического (если сказываются нелинейные эффекты) и магнитного полей. Отметим некоторые существенные стороны многомерной интер- интерполяции. Для простоты ограничимся двумерными таблицами г(х, у); обобщить все результаты на большее число измерений нетрудно. 1) Чтобы объем таблиц был приемлем, приходится шаги по аргументам брать довольно большими. Это предъявляет жесткие требования к способу интерполяции. Часто приходится пользо- пользоваться методом выравнивания, т. е. подбирать замену перемен-
48 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. 11 ных ?(z), |(x), г\(у), преобразующую описываемую функцией поверхность в плоскость. Например, законы зависимости давления горячих газов от температуры и плотности Р (Т, р) близки к степенным. Поэтому при составлении таблиц свойств газов выгодно табулировать Z, — lg Р при аргументах \ = lg T, r\ = lg p и сетки по новым аргу- аргументам брать равномерными (к сожалению, физики редко это делают). Сходные закономерности справедливы для других термо- термодинамических функций, коэффициентов теплопроводности и элек- электропроводности и еще многих свойств веществ. В дальнейшем мы будем, предполагать, что выравнивающие переменные уже подобраны, и таблицы составлены в новых пере- переменных. Тогда в качестве интерполирующей функции можно использовать многочлен невысокой степени. 2) Не любое число узлов интерполяции выгодно-. Если для одной переменной степень многочлена была взаимно однозначно связана с числом 'узлов! то для двух переменных многочлен я-ой п степени 3"п(х, у)= ^ akmXkym имеет (п-\-1) (п + 2)/2 узлов. ft + m = О Если число узлов не соответствует этой формуле, то часть коэф- коэффициентов при высших степенях должна задаваться принуди- принудительно (в частности, нулями); ддя выбора этих коэффициентов редко есть разумные основания. 3) В многомерном случае иначе опреде- определяется понятие экстраполяции. Возьмем узлы интерполяции и соединим их попарно прямыми (в случае большего числа измере- измерений—гиперплоскостями). Крайние отрезки ограничивают выпуклую область (рис. 7). Если искомая точка попадает в эту об- область, то имеет место . интерполяция; если не попадает, то экстраполяция. 4) Не всякое расположение узлов допустимо. В одномерном случае узлы не должны были совпадать. Теперь же для интер- интерполяции многочленом &х (х, у) необходимо, чтобы узлы не лежали на одной прямой в плоскости (х, у). В самом деле, система трех уравнений a-\-bxi-\-cyi = zi имеет определитель Рис. 7. А (>*!, Г2, Г3) = 1 Ч Ух \ х2 у, 1 хг у3 = хх[у2 -у3) х3(г/х - г/а), C0) который обращается в нуль, если узлы лежат на одной прямой. При интерполяции многочленом &г (х, у) требуется, чтобы узлы не лежали на кривой второго порядка и т. д.
ИНТЕРПОЛИРОВАНИЕ Такие условия, а также условие отсутствия экстраполяции проверять в общем случае сложно. Поэтому для хорошей интер- интерполяции сетка должна быть регулярно построенной, а не пред- представлять собой совокупность беспорядочно расположенных точек; узлы из нее следует выбирать определенным образом. В даль- дальнейшем ограничимся наиболее удобной прямоугольной сеткой (рис. 8, 9); желательно, чтобы она была равномерной. На прямоугольной сетке удобна последовательная интерполя- интерполяция. Пусть заданы zij = z{xu *//) и требуется найти z (x, у). Выберем на сетке прямоугольник из km узлов, в который попа- попадает искомая точка (рис. 8). Сначала проведем лагранжеву интерполяцию по строкам, т. е. при каждом фиксированном /0 найдем значение z(x, y!o) по значениям z-h. Затем проведем лаг- 6 о Рис. 8. Рис, 9. ранжеву интерполяцию по столбцу, т. е. по значениям z (x, yj) найдем искомое значение z(x, у). Последовательная интерполяция имеет ряд преимуществ. Она позволяет брать по каждой переменной свое число узлов. Легко написать ее общую формулу, аналогичную одномерной формуле Лагранжаг km km X — Xj) УУ — У]) (X, У) = i = 0 / = О C1) хотя вычисления удобнее производить, последовательно применяя одномерные формулы Ньютона. Формулу C1) можно обобщить, используя для каждого аргумента свою квазилинейную интерпо- интерполяцию, т. е. по строкам делая замену %(х), ^(г), а по столб- столбцам— г) (у), ?i(z); такие выравнивающие замены подобрать проще, чем единую замену. Однако последовательная интерполяция завышает степень интерполирующего многочлена; например, если по обоим направлениям берется двухточечная интерполяция) т. е. многочлен первой степени, то результирующий многочлен будет квадратичным многочленом вида @>%г (х, у) =а+$х-\-уу+8ху. Многочлен минимальной степени получается при треугольной интерполяции. Если взять треугольную конфигурацию узлов
50 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ, 11 интерполяции, изображенную на рис. 9 или повернутую на угол, кратный 90°, то число узлов будет равно (п-\-1)(п-\-2)/2. Это число однозначно определяет многочлен я-й степени, который удобно записать в форме Ньютона, вводя разделенные разности функции двух переменных: z(x0, Xl; у) = [г(хо, у)-г(хи г(х; г/о. #i)=[z(*> yo)~z(x, и т. д. Такими же рассуждениями, как в одномерном случае, можно показать, что интерполяционный многочлен лагранжева типа имеет следующий вид: &«(х, у) = п n — i i—1 /— 1 = Е И z(xo' ¦¦•> xi' Уо, •••> У/) П (Х-Хр) П (У-Уд)- C3) i -- 0 / = 0 р = 0 q = 0 В одномерном случае переменная у и индексы /, q исчезают, так что формула C3) переходит в обычную формулу Ньютона. Многомерная интерполяция настолько громоздка, что обычно используется только многочлен первой или второй степени; чита- читателям предлагается записать формулы C1) —C3) для этих слу- случаев. Многочлены более высоких степеней используются много реже. По той же причине интерполяция эрмитова типа для мно- многих переменных практически не употребляется. Сплайновая интер- интерполяция используется в основном при разностном решении урав- уравнений в частных производных. Иногда мы вынуждены работать с функцией, заданной на нерегулярной сетке (например, с функцией, измеренной экспери- экспериментально). Тогда обычно ограничиваются интерполяционным многочленом первой степени; его коэффициенты находят по трем выбранным узлам, приравнивая в них многочлен табличным значениям функции: гъа+Ьх + су, zi = a + bxi-\-cyi, i=l, 2, 3. ' Вычислять коэффициенты а, Ь, с на самом деле не нужно. Заме- Заметим, что равенства C4) означают, что столбец {г, zly z2, z3} есть линейная комбинация трех столбцов, стоящих в правой части при коэффициентах. Следовательно, составленный из всех четы- четырех столбцов определитель равен нулю: г 1 х у гх 1 хх ух г2 1 х2 у2 г3 1 *з 2/з = 0.
§ 2] Среднеквадратичное приближение 51 Раскрывая этот определитель по первому столбцу и вспоминая формулу C0), получим следующее выражение для интерполяци- интерполяционного многочлена: Z = [2ХЛ (Г, Гг, Га) + 22Л {Гг, Г, Га) + z8A (rlt rit r)] / A (rlt r2, rs). C5) Эту процедуру вывода формулы нетрудно обобщить на многочлен любой степени при произвольно;.! расположении узлов, но сами формулы для многочленов высокой степени получаются громозд- громоздкими и неудобными для вычислений. § 2. Среднеквадратичное приближение 1. Наилучшее приближение. Интерполяция позволяет легко аппроксимировать функцию у(х). Однако точность такой аппрок- аппроксимации гарантирована лишь в небольшом интервале порядка нескольких шагов сетки. Для другого интервала приходится заново вычислять коэффициенты интерполяционной формулы. Нам же всегда желательно иметь единую приближенную формулу у^ф(х), пригодную для' большого отрезка а^х^Ь. Поэтому далее будем сравнивать заданную и аппроксимирующую функции на большом отрезке. При интерполяции мы приравниваем значения у(х) и ф(х) в узлах. Если г/(х,-) определены неточно —например, из экспери- эксперимента,—то точное приравнивание неразумно. Поэтому нередко целесообразней приближать функцию не по точкам, а в среднем, т. е. в норме Lp. Пусть заданы функция у(х) и множество функций ф(х), при- принадлежащие линейному нормированному пространству функций. Нас интересуют две задачи. Первая — аппроксимация с заданной точностью: по заданному е найти такую ц>(х), чтобы выполнялось неравенство \\у(х) — ц>(х)\\^е. Второе — нахождение наилучшего приближения, т. е. функции ф(х), удовлетворяющей соотношению \\у (х) - ф (*)|| = inf \\у (х) - Ф (х)|| = v. C6) Существует ли наилучшее приближение и единственно ли оно (для данных функции и множества)? Это имеет место не при любом выборе пространства и множества. Например, в простран- пространстве Llt —lscx^-j-l, выберем функцию г/(х)=1 и множество Ф (х) = сх; тогда +1 С 2 при |с| ==?; 1, I —roll, = [ II— cx\dx = ) c2+l ~ II, -' ¦ ' - — > 2 при |с|>1. В самом деле, при j с {-=с 1 эта норма равна площади заштрихо- заштрихованной трапеции на рис. 10, а, т. е. двум. При ]с|>1 эта
52 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II норма, согласно рис. 10, б, равна площади заштрихованной тра- трапеции (которая опять равна двум) плюс площади заштрихован- заштрихованных треугольников. Значит, для любого с, по модулю меньшего единицы, ф = сх минимизирует норму отклонения, т. е. наилуч- наилучшее приближение здесь существует, но оно не единственно. w, z ¦of 1 о 1 S) X 1 Рис. Ю. Выведем достаточное условие существования наилучшего при- приближения. Пусть в линейном пространстве функций выбрано множество, образованное функциями вида C7) где функции <f>k(x) можно считать линейно-независимыми. Это множество есть линейное подпространство нашего пространства. Изменим один из коэффициентов суммы C7) на величину Ьак\ из неравенства треугольника A.3) следует \\\у - (ф + бф)|| - \\у - = 18ak т. е. норма \\у — ср|| непрерывно зависит от ак. Очевидно, ||ф|| также есть непрерывная функция коэффициентов ак. Рассмотрим нормы как функции координат ак. Сфера *= 1 есть замкнутое ограниченное множество, поэтому ||ф|| на этой сфере имеет точную нижнюю грань jx и в силу непрерывности достигает ее при некотором ф(х)- Очевидно, (х>0; в противном случае ф (х) = 0, что противоречит линейной независимости фй (х).
§ 21 СРЕДНЕКВАДРАТИЧНОЕ ПРИБЛИЖЕНИЕ 53 Возьмем шар 2 a&^R2 = \v-\-\\y\] + e\2 / р*, где е — какое-то положительное число. В силу однородности нормы- функции вне этого, шара ||ф||;>= jx# = v + \\y\\-\- е и, следовательно, \\у — ф||5э ^-Нф11 — 11у!!^э^-Ье- Значит, вне этого шара норма погрешности заведомо далека от нижней грани. Только внутри шара у(х) и (f(x) достаточно близки по норме. Но шар— ограниченное и замкнутое множество значений координат ак, поэтому непрерыв- непрерывная функция координат \\у — ф|| достигает на нем точной нижней грани. Следовательно, в любом линейном нормированном простран- пространстве при линейной аппроксимации C7) наилучшее приближение существует, хотя не во всяком линейном пространстве оно един- единственно. На практике используются пространства L2 и С. В этом параграфе рассмотрим приближения в пространстве L2, т. е. среднеквадратичную аппроксимацию. 2. Линейная аппроксимация. Рассмотрим гильбертово про- пространство L2 (p) действительных функций, интегрируемых с квадра- квадратом с весом р (х) >D на [а, Ь]. Норма в нем равна || / \\Lt = Y(f, f), где скалярное произведение определено следующим образом: Физический смысл весовой функции будет пояснен в п. 4. Выбе- Выберем в-качестве аппроксимирующей функции линейную комбина- комбинацию C7). Подставляя ее в условие наилучшего приближения C6), получим Приравнивая нулю производные по коэффициентам, получим систему линейных уравнений п 2 (Ф*> Фт)а«=(г/, ф*)> l<fesSn. C8) Ее определитель есть определитель Грама функций ф* (х); поскольку функции линейно-независимы, он отличен от нуля. Следовательно, наилучшее среднеквадратичное приближение сущест- существует и единственно. Для его вычисления необходимо решить систему линейных уравнений C8). Линейно-независимую систему функций можно ортогонализи- ровать. Пусть щ (х) уже образуют ортонормированную систему,
54 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II т. е. (фь Фт) = б*т; тогда формулы C8) резко упрощаются и становятся удобными для вычислений ъ ak = (фа, у) = \ Р (х) у (х) щ (х) dx при (фьФт) = бЛт. C9) а Это коэффициенты Фурье, так что наилучшее приближение есть отрезок обобщенного ряда Фурье. Если функции ф? (х) образуют полную ортонормированную систему, то в силу равенства Парсеваля Значит, при п->-со норма погрешности неограниченно убывает, т. е. наилучшее приближение среднеквадратично сходится к у (х), и возможна аппроксимация с любой точностью. Отметим, что если ц>н{х) не ортогональны, то при п-*-со определитель Грама обычно быстро стремится к нулю, система C8) становится плохо обусловленной, т. е. ее решение связано с боль- большой потерей точности' (см. главу V), и больше 5 — 6 членов суммы C7) брать нецелесообразно. Численная ортогонализация базиса при этом тоже приводит к большой потере точности. Поэтому если нужно большое число членов, то надо или про- проводить ортогонализацию точно (аналитически), или пользоваться готовыми системами ортогональных функций. При интерполяции мы обычно полагали ф& (х) =xk. Для средне- среднеквадратичной аппроксимации удобнее в качестве фА (х) брать многочлены, ортогональные с заданным весом. Наиболее употре- употребительны из них многочлены Якоби (частным случаем которых являются многочлены Лежандра и Чебышева), Лагерра и Эрмита. Для аппроксимации периодических функций используют тригоно- тригонометрический ряд; он соответствует р(х) = \. Сводка формул для ортогональных полиномов приведена в Приложении. Все перечисленные выше системы функций полные, так что наилучшие приближения по ним среднеквадратично сходятся при п-*-оо, если у(х) интегрируема с квадратом с заданным весом. При более сильных ограничениях имеет место сходимость во всех точках и даже равномерная сходимость. Приведем без доказа- доказательства некоторые результаты. а) Ряд по многочленам Якоби Р ^ (*) сходится к непрерывной функции у (х) равномерно на [—1, +1], если существует непрерывная у{Р> (х) при некотором р ~^ 2 + 2 max (ос, C) и если max (а, CKг —1/2. В частности, для многочленов Чебышева первого рода достаточно р=1, а для многочленов Чебышева второго рода р = 3. Для многочленов Лежандра доказан более силь- сильный результат: ряд сходится равномерно, если существует ограниченная у' (х).
§ 21 СРЕДНЕКВАДРАТИЧНОЕ ПРИБЛИЖЕНИЕ 55 б) Если функция у(х) кусочно-непрерывная и кусочно-гладкая на [0, со) и существует о то ряд по многочленам Лагерра L^a) (x) сходится к функции в точках ее непре- непрерывности и к полусумме односторонних пределов -72 0/+ + !/-) в точках разрыва. Эта сходимость, вообще говоря, не равномерная. в) Если функция у (х) кусочно-непрерывная и кусочно-гладкая на (—со, -f-оэ) и существует + то ряд по многочленам Эрмита Нп (х) сходится так же, как в предыдущем абзаце. г) Если у (х) периодическая и непрерывная, причем ее модуль непрерыв- непрерывности удовлетворяет условию со (б) ==? Сба, 0 < а s? 1, то ее тригонометрический ряд Фурье равномерно сходится к ней на всем периоде (признак Липшица); в частности, это условие выполняется для функции с ограниченной произ- производной. Если функция имеет ограниченную р-ю производную | у'Р> (х) \ ^Мр, а все младшие производные непрерывны, то для погрешности тригонометри- тригонометрического ряда Фурье и величин отдельных коэффициентов справедливы оценки где А — константа. Видно, что при больших р ряд сходится быстро. Но если у(х) кусочно-непрерывна, то сколько бы ни было у нее кусочно-непрерывных и ограниченных производных, ее коэффициенты Фурье убывают не быстрей ak=O(\lk), и ряд сходится медленно (или даже расходится). Замечание 1. Сходимость не во всех рассмотренных слу- случаях была равномерной. Более того, не существует такого веса р (х), чтобы любая непрерывная функция у(х) разлагалась в равно- равномерно сходящийся ряд по полиномам, ортогональным с этим весом. Дю Буа-Реймондом и Л. Фейером были построены примеры периодических непрерывных функций, у которых тригонометри- тригонометрический ряд Фурье в отдельных точках расходится. Замечание 2. Сходимость среднеквадратичного приближе- приближения тем лучше, чем меньше у функции у(х) особенностей — разрывов ее самой или ее производных. Если можно выделить основные особенности в виде несложной функции у0 (х) и аппрок- аппроксимировать разность у (х) — г/0 (х), точность аппроксимации сущест- существенно улучшается. Например, периодически продолжим функцию, изображенную сплошной линией на рис. 11, и аппроксимируем ее тригоно- тригонометрическим рядом Фурье. Этот ряд сходится в каждой точке, но неравномерно, ибо периодическое продолжение у(х) разрывно. Если же мы положим уо(х)—х, то функция у(х) — уо(х), изобра- изображенная пунктиром на рис. 11, имеет непрерывное периодическое продолжение, и ее ряд Фурье сходится к ней равномерно. Скорость сходимости ряда при этом также возрастает.
56 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II Замечание 3. Алгебраический многочлен Рп(х)— ) наилучшего среднеквадратичного приближения обладает свойст- свойством, напоминающим лагранжеву интерполяцию: разность у(х) — — Рп(х) на интервале (а, Ь) имеет не менее п-f-l нуля. В самом iff -Л х ж Рис. 12. деле, предположим обратное: нули этой разности суть /=1, 2,..., т^п. Составим многочлен Xj, где тогда произведение [г/ (х) — Рп (х)] Qm (x) не меняет знак, следова- следовательно, Ь т п \ Р (х) [у (х) - Рп (х)] Qm (x) dx^^b, [(х1, у) - 2 (х1, х») ak] Ф 0. а 1=0 k=0 Но если в C8) положить q>k{x) = xk, то квадратные скобки в сумме должны обратиться в нуль. Полученное противоречие доказывает наше утверждение. 3. Суммирование рядов Фурье. Нахождение наилучшего при- приближения приводит к суммированию рядов. Казалось бы, про- просуммировать ряд нетрудно. Но, во-первых, он далеко не всегда сходится равномерно, даже при наличии сходимости в каждой точке. Так, если у(х) = \ на первой половине периода и y(x) = Q на второй, то максимум частной суммы тригонометрического ряда Фурье стремится к 1,09 при п-^-оо (явление Гиббса, рис. 12), хотя в любой точке, кроме точки разрыва, этот ряд сходится к функции.
§ 2] СРЕДНЕКВАДРАТИЧНОЕ ПРИБЛИЖЕНИЕ 57 Во-вторых, если надо суммировать много членов рада, то происходит большое накопление погрешности входных данных и даже погрешности округления. Например, ряд Тейлора для y(x) = smx сходится при любых значениях аргумента. Вычислим sin 2550°, используя ЭВМ с 16 значащими цифрами и прекращая вычисления, когда очередной член ряда будет менее 1О8. Полу- Получим бессмысленный ответ: sin 2550° = 29,5! Причина состоит в том, что вычисления с заданным количе- количеством цифр эквивалентны внесению погрешности в коэффициенты ряда. Погрешности вносятся и в том случае, если находить коэффициенты по формулам C9) не аналитически, а численно. А бесконечные ряды, вообще говоря, неустойчивы по отношению к погрешности коэффициентов. В самом деле, изменим все коэф- коэффициенты, ak ряда Фурье на малые величины есрА (?¦); тогда сумма ряда изменится на т. е. при х — Ъ изменение суммы бесконечно велико. Таким обра- образом, суммирование бесконечного ряда Фурье является некорректной задачей, и требуется какая-то регуляризация суммирования. Регуляризация по числу членов. Простейшей регуляризацией является использование небольшого отрезка ряда N (е) где верхний предел суммирования есть функция ошибок е отдель- отдельных коэффициентов. Чем'меньше е, тем больше допустимое// (е). Оценим оптимальное число членов для "тригонометрического ряда Фурье. Ошибка из-за отбрасывания далеких членЪв ряда равна а ошибка из-за погрешности коэффициентов составляет N б2= 2 6ak(pk(x). k=l При увеличении N на единицу первая ошибка убывает на вели- величину aN+1qitf+1(x), а вторая возрастает на 8aN+1(fN+1 (x). Оче- Очевидно, при малых N коэффициенты aN велики, и преобладает убы- убывание первой ошибки, а при достаточно больших Af преобладает возрастание второй. Оптимальной является ситуация, когда
58 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II скорости изменения этих ошибок равны, т. е. при aN+1t*a8aN+l. Получается естественный вывод: надо суммировать только те члены ряда, коэффициенты ak которых превышают уровень ошибки Ьа^ Суммирование следующих членов ряда только ухудшает точность и может привести к бессмысленному результату, как видно из примера с вычислением sin 2550° (в котором роль оши- ошибок коэффициентов играют погрешности округления при вычисле- вычислении максимальных членов суммы). Ранее отмечалось, что если у(х) имеет ограниченную р-ю производную, то aN — O(N-<~p+1'>). Отсюда следует, что по порядку величины оптимальное число членов N = 0 (8а~1№+1'>), а дости- достигаемая при этом погрешность б1 + б2 = О Fйр/<р + 1'). Для доста- достаточно гладких функций оптимальное число членов оказывается небольшим и при уменьшении Ьа растет, но довольно медленно. Достигаемая точность тем выше, чем более высокие производные имеет функция. Регуляризация форм — фактором. Описанный способ напоминает обрезание шумов в радиотехнике. Но подавлять шумы можно и с помощью форм-фактора, лишь ослабляющего высокие частоты. Для этого каждый член ряда C7) делят на соответст- соответственно подобранную величину 1 + ^л и суммируют достаточно большое число членов ряда со где при малых номерах bk^=i0, а при больших номерах они достаточно быстро возрастают, причем Ьл->оо. Регуляризация по числу членов означает, что выбрано Ьа = О при k^N и bk = co при k>N. Естественный способ выбора регуляризирую- щих множителей предложил А. Н. Тихонов [44], показавший, что если ортогональная система ц>к (х) есть система собственных функ- функций задачи Штурма — Лиувилля: то сумму обобщенного ряда Фурье следует заменить на оэ ф {Х' а)=2 ТЙХГ V* <*)• «> 0- D0) Поскольку собственные значения Xk положительны и быстро растут при &->-оо, то ошибки на высоких частотах хорошо подавляются. В главе XIV, § 2 будет показано, что суммирова- суммирование ряда D0) устойчиво, а сумма ц>(х; а) равномерно сходится
§ 21 СРЕДНЕКВАДРАТИЧНОЕ ПРИБЛИЖЕНИЕ 59 к у(х) при е = max | §ak ] -*¦ 0, если параметр а->0 по определен- определенному закону. Там же будет рассмотрен выбор параметра регуля- регуляризации а; сейчас отметим, что оптимальное а = сс(е) монотонно стремится к нулю при е->0. Попытки улучшить сходимость тригонометрических рядов Фурье пред- предпринимались давно. В методе Фейера рассматриваются частные суммы ряда Фурье: sin kx), и составляется функция JV-l и=0 Эта функция при N -*¦ со равномерно сходится к {/ (х), если последняя непре- непрерывна. Скорость сходимости невелика; если ограничиться небольшим числом членов, то все резкие колебания функции будут сильно сглажены. Реально для хорошей передачи одного резкого скачка надо взять около 20 гармоник, а 10 гармоник дают невысокую точность. Более быструю сходимость и меньшее сглаживание функции дает метод 0-множителей Ланцоша. В нем частная сумма <р (х; п) осредняется по отрезку х ± я/Bп), т. е. по одному полупериоду наивысшей гармоники. Это приводит к умножению каждого члена частной суммы на 0? = Bя/(я?)) sin (nk/Bn)). Метод Ланцоша позволяет даже почленно дифференцировать ряд Фурье, при- причем выполнение всех выкладок приводит к несложной формуле На метод Ланцоша похож метод С. Н. Бернштейна, в котором полагают Это обеспечивает равномерную сходимость для любой непрерывной функции у(х). Однако последние три метода не слишком точны, и область их примени- применимости узка; поэтому с появлением регуляризации по А. Н. Тихонову их почти перестали употреблять. 4. Метод наименьших квадратов. Если вещественные функции заданы таблично, т. е. на конечном множестве точек, то их ска- скалярное произведение определяется формулой (Л Ф) = !>/(*/) Ф(*), Р<>0. D1) где УУ — полное число узлов таблицы. Тогда условие наилучшего среднеквадратичного приближения примет вид »=1 1=1
60 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. П Выберем линейную аппроксимацию п 2 (x) с числом членов n^N. Тогда коэффициенты аппроксимации находятся из уравнений C8), где скалярные произведения надо брать согласно D1); эти уравнения можно получить и непосред- непосредственно, подставляя обобщенный многочлен в D2) и приравнивая нулю производные по коэффициентам. Описанный способ нахожде- нахождения аппроксимации называется методом наименьших квадратов. Метод наименьших квадратов широко используют для обра- обработки экспериментальных кривых, точки которых измерены с заметной погрешностью е. В этом случае весу р( придают смысл точности измерения данной точки: чем выше точность, тем большее значение веса приписывают точке*). Аппроксими- Аппроксимирующая кривая будет прохо- lqv(t) дить ближе к точкам с боль- большим весом. Сходные соображе- соображения используют в математиче- математической постановке задачи: выби- выбирают весовую функцию р (х) большой при тех значениях аргумента, где нужно получить более высокую локальную точ- * ность аппроксимации. ~~ *" Если число коэффициентов Рис- 13- аппроксимации п взять рав- равным числу узлов N, то сред- среднеквадратичная аппроксимация совпадет с лагранжевой интер- интерполяцией. Очевидно, при наличии значительных ошибок эксперимента интерполяция неразумна. Это хорошо видно из рис. 13, показывающего описание измерений радиоактивного распада в выравнивающих переменных интерполяционным мно- многочленом (пунктир) и прямой, найденной методом наимень- наименьших квадратов. Поскольку при пя&Ы среднеквадратичная аппроксимация близка к интерполяции, то хорошее сглаживание ошибок эксперимента будет при n-^N; но если п слишком мало, то для описания сложной кривой коэффициентов может не хватить. Должно существовать какое-то оптимальное число коэффициен- коэффициентов; оно зависит от функции у(х), числа узлов N, их располо- расположения, весов и от выбранной системы (fk(x)- Оптимальное число коэффициентов определяют следующим образом. Выбирают некоторое п., находят из условия D2) соот- *) Обычно полагают p~tj3.
СРЕДНЕКВАДРАТИЧНОЕ ПРИБЛИЖЕНИЕ 61 ветствующие коэффициенты а?\ I «?&=s? n, вычисляют полученное при этом среднеквадратичное уклонение 8,п и сравнивают его с известной погрешностью эксперимента. Если 6л^>е, т. е. мате- математическая погрешность аппроксимации много больше физической погрешности исходных данных, то число коэффициентов недоста- недостаточно для описания у(х), и надо увеличить п. Если 6„<;е, то старшие коэффициенты аппроксимации физически недостоверны, и надо уменьшить п. Если 6„^е, то число коэффициентов оптимально. Обычно начинают расчет с п=1, когда наверняка б^-^е, и увеличивают число коэффициентов до тех пор, пока не выпол- выполнится условие б„яае. Если при этом n^N,' то вид аппроксими- аппроксимирующей функции выбран удачно. Если же nonT^N, то следует поискать более подходящий вид аппроксимирующей функции. Описанная процедура напоминает регуляризацию суммирования ряда Фурье по числу членов. Сглаживать экспериментальные кривые можно и регу- регуляризацией по А. Н. Тихонову (см. главу XIV, § 2); при таком сглаживании не требуется предположений о виде аппроксимирующей функции, но она успешно выполняется только при довольно большом числе узлов N. При очень малом N нахождение оптимального числа коэффициентов становится трудной ч задачей; требуется очень удачно подобрать вид ср(%), а для определения досто- достоверности результатов необходимо привлечь аппарат статистики (см. главу XV). Отметим некоторые употребительные частные случаи метода наименьших квадратов. Первый — полиномиальная аппроксимация, когда ср^ (х) = хк при 0 =^ &==?«. Система C8) принимает при этом вид п 2 (хт, х")ак^(у, хт), О^т^п, D3) Поскольку степени на любом отрезке образуют чебышевскую систему, то определитель Грама отличен от нуля и задача D3) имеет единственное решение. Но система степеней не ортого- ортогональна, и при больших значениях п задача D3) плохо обусловлена. Можно обойти эту трудность, строя и используя многочлены, ортогональные с заданным весом на заданной системе точек; но к этому прибегают только в задачах, связанных с особенно тщательной статистической обработкой эксперимента. Обычно же ограничиваются „небольшими степенями яя«2-г-5, когда обу- обусловленность задачи D3) удовлетворительна. Второй случай — типичная радиотехническая задача о три- тригонометрической ,аппроксимации периодического сигнала, измерен- измеренного через равные доли периода, т. е. на равномерной сетке
62 АППРОКСИМАЦИЯ ФУНКЦИЙ СГЛ. tt xp — 2np/N, где OsS^pfSaN— 1. Вес в этом случае можно считать постоянным рр = 1. Система комплексных функций (рк (х) — exp (ikx) ортогональна с неединичной нормой на этой сетке; в самом деле, их скалярное произведение равно N — 1 Ы—\ (<Рп, 4>т) = 2 ф" ^ фт ^ = 2 р=0 р=0 Поэтому коэффициенты аппроксимации можно находить по форму- формулам C9) при условии введения нормирующего множителя, что приводит к так называемым формулам Бесселя п У(х)** 2] akexp(ikx), ч \ 2л lkx) x Благодаря ортогональности системы функций эти формулы без потери точности можно использовать при больших п и N (разу- (разумеется, n^N—l). Особенно часто выбирают N — 12, ибо тогда все коэффициенты очень просто вычисляются. Третий случай — это несложное сглаживание эксперимен- экспериментальных таблиц, точки которых измерены со значительными ошибками. Возьмем несколько соседних точек, и в этом узком интервале построим среднеквадратичную аппроксимацию с одним- двумя параметрами. Центральной точке припишем то значение, которое дает аппроксимация. Для равноотстоящих точек и еди- единичного веса это приводит к несложным формулам. Например, для трех точек при аппроксимации многочленом первой степени из D3) нетрудно получить 3i = 1/3 (У1-1 В радиотехнике этот способ сглаживания называют фильтром, ибо он ослабляет высокочастотные колебания, мало влияя на низкочастотные. Все способы сглаживания надо применять осторожно, поскольку при этом можно исказить поведение функции. 5. Нелинейная аппроксимация. Линейная, особенно линейная полиномиальная, аппроксимация часто не соответствует характеру функции. Например, многочлен высокой степени быстро растет при | х | -*¦ сю; поэтому даже несложную функцию у (х) = 1/A -\-хг) многочлен плохо аппроксимирует на большом отрезке. Поскольку аппроксимация проводится в широком интервале изменения аргу- аргумента, использование нелинейной зависимости от коэффициентов здесь ещё выгодней, чем при интерполяции.
§ 2] СРЕДНЕКВАДРАТИЧНОЕ ПРИБЛИЖЕНИЕ 63 На практике используют два вида зависимости. Один — квази- квазилинейная зависимость, сводящаяся выравнивающей заменой пере- переменных ц (у), g (х) к линейной, которая подробно изучена в пре- предыдущих пунктах. Этот способ очень эффективен и часто исполь- используется при обработке эксперимента, ибо априорные сведения о физике процесса помогают найти хорошую замену переменных. Надо только иметь в виду, что приближение, наилучшее в новых переменных, не будет наилучшим в смысле скалярного произве- произведения в старых переменных. Поэтому на выбор веса в новых переменных надо обращать особое внимание. Классический пример — задача о радиоактивном распаде облу- облученного образца, в которой удобны переменные i] = lg?/ и t, где у (t) — скорость распада. В этих переменных кривая обычно ап- аппроксимируется ломаной, звенья которой соответствуют распаду все более долгоживущих членов радиоактивного ряда. Другой употребительный вид зависимости от коэффициентов — дробно-линейная, когда аппроксимирующая функция рациональна: п \ С Ьдхя). D6) Нередко используется и отношение обобщенных многочленов. Такая аппроксимация позволяет передать полюсы функции у(х) — им соответствуют нули знаменателя требуемой кратности. Зачастую можно воспроизвести асимптотическое поведение у(х) при jc->-oo за счет соответствующего выбора величины п — т; например, если у (со) = const Ф О, то надо положить п — т. При этом сами п, т можно брать достаточно большими, чтобы располагать мно- многими коэффициентами аппроксимации. Однако квадрат погрешности \\y—(Pn/Q.m)№<i Уже не будет квадратичной функцией коэффициентов, так что найти коэффи- коэффициенты рациональной функции нелегко. Можно по аналогии со среднеквадратичной аппроксимацией многочленами выдвинуть гипотезу, что погрешность y(x) — [Pn(x)/Qm(x)] имеет на [а, Ь] число нулей, не меньшее числа свободных коэффициентов (срав- (сравните с замечанием 3 в п. 2). Тогда задача сводится к лагранже- вой интерполяции по этим нулям хр и коэффициенты ak, bq находятся из системы линейных уравнений: т п 1/W2Vp=2?*' O^p^zn + m; bo = l. D7) Разумеется, точное положение нулей неизвестно; их выбирают произвольно, обычно равномерно распределяя на отрезке [а, Ь]. Этот способ называют методом выбранных точек. Полученное этим методом приближение ср(х) вовсе не будет наилучшим. Кроме
64 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II того, метод выбранных точек неразумен, как и всякая интерпо- интерполяция, если у (хр) имеют заметную погрешность. Наилучшее приближение можно найти методом итерирован- итерированного веса. Заметим, что задача |! Qm (х) у (х) - Рп (х) |jia = min легко решается: стоящее слева выражение есть квадратичная функция коэффициентов ak, bq, и дифференцирование по ним при- приводит к линейной системе для определения коэффициентов, сход- сходной с C8). Новая задача отличается от исходной по существу тем, что вместо веса р (х) используется другой вес p(x)Qm(x), поэтому ее решение не является наилучшим приближением. За- Запишем исходную задачу в новой форме: ь || у - (Pn/Qm) III. = \ р (X) [Qm (X) у (х) - Рп (x)f dX = ГШП, D8) и будем решать ее простым итерационным процессом D9) \ 9{s) (х) № (х) У (х) - Pf (x)f dx = min; a за нулевое приближение можно взять QJ,°i'(x)=l. На каждой ите- итерации вес известен по предыдущей итерации, поэтому коэффи- коэффициенты ctk\ bgS) легко находятся из условия минимума квадра- квадратичной формы. Практика показывает, что коэффициенты наилуч- наилучшего приближения слабо зависят от выбора веса, поэтому обычно итерации сходятся быстро. . а) Рассмотрим некоторые примеры аппроксимации рациональной функ- функцией. Положим заменяя два первых члена ряда дробью, получим In A -\-х) «з 2х1B-}-х). Эта несложная формула обеспечивает точность ~1% при —1/а^=^ =ё 1 и очень удобна для оценок. б) В теории вероятностей важную роль играет интеграл ошибок Ф (х), для которого известны разложения в ряды: х ф (х\ = , I е~" d? — ¦ х— ~ 31 5 Vn J |/ Г 3 х \/ п
СРЕДНЕКВАДРАТИЧНОЕ ПРИБЛИЖЕНИЕ 65 Первый ряд абсолютно сходится, но при х>1 сходимость очень медленная; второй ряд сходится асимптотически при больших значениях х. Заменяя первые члены каждого ряда дробями, получим ^при е~Х* ПРИ В указанных диапазонах изменения аргумента погрешность первой формулы не превышает 0,4%, а погрешность второй формулы —2,4%. Таким образом, точность этих аппроксимаций вполне достаточна для многих'практических приложений. в) Положим у (х) = arctg x при Ог?д:<оо. Эта функция монотонна, причем у(х)*=&х при х-*-0 и у(+со) = я/2. Легко построить дробь удовлетворяющую тем же условиям. Она дает грубую аппроксимацию арк- арктангенса; локальная погрешность в точке д:=1 составляет 30%. Несложное видоизменение этой формулы y l 2 — х я дает вчетверо лучшую точность. г) Тангенс в первой четверти можно грубо аппроксимировать формулой передающей поведение вблизи нуля и наличие полюса при х = я/2. д) В задачах рассеяния часто встречается одна из специальных функций — интегральная экспонента: E0) к ' k-k\ k = l Ряд, в который она разлагается, сходится при любых положительных значе- значениях аргумента. Но только при xs^l сходимость достаточно быстрая, и ряд пригоден для вычисления функции. Если учесть асимптотику Ei (x) я» е~х/х при ЛГ-+-0О, то рациональную аппроксимацию при хЗ=1 целесообразно искать в следующем виде: ^ ^ ) B \ E1) где не полиномиальная часть асимптотики выделена отдельным множителем. Оказывается, уже и = 3, т. е. шесть свободных коэффициентов обеспечивают точность 10~4%. Отметим, что рациональными функциями при небольшом числе коэффициентов можно удовлетворительно аппроксимировать функ- функции с разрывами производной вроде у(х) — \х\, которые плохо поддаются аппроксимации другими способами.
66 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II § 3., Равномерное приближение 1. Наилучшие приближения. Поскольку чебышевская норма сильнее нормы Lp, то принято считать, что равномерная аппрок- аппроксимация лучше аппроксимации в среднем. Поэтому поиску равно- равномерных и особенно наилучших равномерных приближений, опре- определяемых условием А (у, ф) = тш, где А (у, ф) = max | у (х) — ф (х) |, E2) где минимум ищется на множестве функций ц>(х), посвящено много работ. В частности, получены следующие результаты (доказа- (доказательства большинства из них приведены в учебнике И. С. Бере- Березина и Н. П. Жидкова [4]). а) Если выбрана линейная аппроксимация C7) с чебышевской системой функций (fii(x), то равномерное наилучшее приближение единственно *). Дока- Доказательство существования наилучшего приближения для этого случая было приведено в § 2, п. 1. б) Чтобы обобщенный многочлен ф (х) по чебышевской системе функций Ф& (х), 1 ^k^:n, был наилучшим равномерным приближением к у'(х) на [а, Ь], необходимо и достаточно, чтобы на этом отрезке нашлось не менее п + 1 таких точек, в которых погрешность б {х) = у (х) — ф (х) попеременно принимает зна- значения -f Д и — А (у, ф). Следовательно, погрешность имеет на (а, Ь) не менее я нулей, как и у многочленов наилучшего среднеквадратичного прибли- приближения. Впервые этот результат был получен П. Л. Чебышевым в 1859 г. для алгебраических многочленов. в) Для функции у (х), имеющей р непрерывных производных, причем у<Р>(х) удовлетворяет условию Липшица с константой 1р, Д. Джексоном в 1911 г. получены некоторые оценки скорости сходимости наилучших равномерных при- приближений. При аппроксимации алгебраическим многочленом гс-й степени на отрезке —1=S*=<;1: Д„ ==? (Сф)Р+Чр1[У2п (р + 1) пР^] = О A/ЯР+1), E3) а при аппроксимации периодической функции с периодом 2я тригонометри- тригонометрическим многочленом такой же степени: Дп «? h (Co/n}P+l = О A /лР+1), E4) где Со —универсальная константа (С0<137). С. Н. Бернштейн доказал, что из сходимости приближений со скоростью О A/гаР"8), е > 0, следует наличие у функции ограниченной р -|- 1-й производной, поэтому оценки Джексона почти неулучшаемы. Таким образом, эти приближения для достаточно гладких функций быстро сходятся при п-усо, а для липшиц-непрерывных, но не гладких функций следует полагать р = 0, т. е. для них приближения сходятся медленно. Для произвольной функции, непрерывной на конечном отрезке а^х^-Ь, равномерные приближения алгебраическими и тригонометрическими многочле- многочленами также сходятся (теорема, доказанная К. Вейерштрассом в 1885 ь; но скорость сходимости, как показал С. Н. Бернштейн в 1938 г., может быть сколь угодно малой. Именно., как бы медленно ни убывали члены монотонной последовательности 6я->-0, б„ Э; бя+1- > 0, всегда найдется такая непрерывная функция у (х), для которой Д (у, Р„{х)) = &п. Соответствующая оценка Джек- Джексона для алгебраической аппроксимации произвольной функции, непрерывной
§ 3] РАВНОМЕРНОЕ ПРИБЛИЖЕНИЕ 67 при — ls?xscl (и тем самым равномерно-непрерывной), есть B/л), E5) а для тригонометрической аппроксимации непрерывной функции с периодом 2л: Bл/п), E6) где ш — модуль непрерывности функции. Наилучшее равномерное приближение рациональной функцией (отноше- (отношением многочленов) имеет такой же порядок точности, как в оценках E3)—E6), где под я надо подразумевать полное число свободных коэффициентов, которое на единицу меньше суммарной степени числителя и знаменателя. г) Многочлены наилучшего равномерного приближения не обеспечивают хорошей сходимости (а иногда и просто сходимости) производных ф' (х) к у' (х). Если нужна сходимость производных, то приходится строить другие много- многочлены, которые имеют меньшую скорость сходимости. Например, многочлены С. Н. Бернштейна п Вп (х) = ^ С\ A -*)»"* *У (~) , 0 ^ х s? 1, E7) равномерно сходятся к любой непрерывной функции у (х), но не быстрее чем О A/я), сколь бы гладкой функция ни была; зато если существует непрерыв- непрерывная производная у1р> (х), то производные многочленов С. Н. Бернштейна В^ (х) равномерно сходятся к ней на указанном отрезке при га->оо. д) Наибольший практический интерес представляет соотноше- соотношение между точностями, достигаемыми при наилучшей равномер- равномерной и наилучшей среднеквадратичной аппроксимациях. Пусть для произвольной функции у (х) с периодом 2я тригонометри- тригонометрический многочлен наилучшего равномерного приближения есть Rn (x). Доказано (см. монографию В. Л. Гончарова [9], стр. 186), что тригонометрический многочлен наилучшего среднеквадратич- среднеквадратичного приближения той же степени Qn (x) имеет погрешность не более: -Rn(x)\\c. E8) Сходные оценки существуют и для наилучших аппроксимаций алгебраическими многочленами на отрезке — 1 ^ х sg 1. Из нера- неравенства E8) следует, что при небольших п погрешность многочле- многочленов наилучшего среднеквадратичного приближения даже в || • ||с не сильно превосходит погрешность многочленов наилучшего равно- равномерного приближения (например, при п=с 12 не более чем в 7 раз). Из оценок E3)—E6) следует, что для функций с непрерывными старшими производными, не слишком большими по абсолютной величине, наилучшие равномерные .приближения обеспечивают высокую точность уже при небольших п«=;5-т-10. Значит, для таких функций наилучшие среднеквадратичные приближения будут обеспечивать в || • ||с почти ту же точность, что и наилучшие рав- равномерные приближения. Только для недостаточно гладких функций
68 АППРОКСИМАЦИЯ ФУНКЦИЙ [ГЛ. II среднеквадратичные приближения не сходятся или плохо сходятся в || • ||с, но в этом случае и наилучшие равномерные приближения сходятся настолько медленно, что практически их трудно исполь- использовать. Описанные в § 2 алгоритмы нахождения наилучших средне- среднеквадратичных приближений намного проще, чем известные алго- алгоритмы нахождения наилучших равномерных приближений. По всем указанным причинам на практике много удобнее искать наилуч- наилучшие среднеквадратичные, а не равномерные приближения; как отмечалось в § 2, для улучшения их сходимости следует явно выделять в простой форме основные особенности функции и ее младших производных и аппроксимировать оставшуюся достаточно гладкую часть. К нахождению равномерных приближений при- прибегают в основном при разработке алгоритмов для стандартных программ вычисления функций, когда добиваются очень высокой точности при минимальном числе членов суммы. 2. Нахождение равномерного приближения. Для функции, заданной на отрезке [а, Ь], не найдено способа определения коэффициентов наилучшего равномерного приближения за конеч- конечное число действий. Рассмотрим простой итерационный процесс нахождения коэффициентов. Чебышевскую норму можно рассматривать как предел \\-\\l при р ->¦ со и единичном весе. В пространстве Lp задачу нахо- нахождения наилучшего приближения \\у— <р||? =min удобно решать итерированием веса: Pis) (х) [у (х) - cp<s+1) (*)]' dx = min, для начала итерационного процесса можно положить р^°>(л:)=:1. Если ф(х) является обобщенным многочленом, то на каждой итерации задача на минимум опять сводится к решению системы линейных (относительно коэффициентов ak) уравнений. Для реше- решения полной задачи ||i/ —<p||c —min надо выбрать последователь- последовательность р-э-оо, для каждого фиксированного р провести итерации E9) до сходимости, а затем в коэффициентах ajf> произвести пре- предельный переход при p-voo (т. е. оценить, начиная с какого р0 коэффициенты перестают меняться в пределах заданной точности при дальнейшем, увеличении р). Двойной предельный переход требует больших численных расчетов. Поэтому целесообразно объединить предельные переходы s->oo и р->со< Для этого на первой итерации по s положим р = 2, на второй возьмем р = 4, на третьей — р = 6 и т. д.
ЗАДАЧИ 69 Вместо E9) получим следующую задачу: ь \ PU) (х) [У (х) - фE+1» (x)f dx = min, а (Щ рМ(х) = [у(х)-<рЫ(х)У*, s = 0, 1, 2, ... Здесь начальное условие для итераций р@) (х) == 1 получается естественно при s = 0. Этот итерационный процесс не исследован теоретически и мало опробован в практических расчетах, но поскольку обычно коэффициенты аппроксимации слабо зависят от выбора веса, то^следует ожидать быстрой сходимости процесса. ЗАДАЧИ 1. Доказать, что разделенная разность n-го порядка выражается через узловые значения функции следующим образом: п п у(х0, Xi, ...,*„)= 2 y(*k) П (tk—Xi)-1- k=О 1 = 0 1фк 2. Вывести-оценку A1). 3. Написать оценки погрешности типа A1) для трех случаев интерполяци- интерполяционного многочлена Эрмита 7-й степени: оР (х; хв, хи ..., х-,), 3" (х; ха, х0, х±, xi> Х2> Х2> хз> хз) и & (х> хо< хо< хо< хо< хъ xi, xi> xi)> сравнить их порядки точ- точности и численные коэффициенты. 4. Применить формулу A9) к вычислению у @, 5) в таблице 5; оценить точность. 5. Вывести формулы типа A9) для случаев, когда функция на малых отрез- отрезках приближенно представима в виде у(х)^ахь или у (х) %e (xJrb)m, где т—заданное число. 6. Разобрать интерполяцию сплайном второй степени; по аналогии со слу- случаем я = 3 найти экономный способ вычисления коэффициентов. 7. Оценить погрешность округления при вычислении sin 2550° по формуле Тейлора на ЭВМ с 16 десятичными знаками. 8. Доказать, что прямая, проведенная методом наименьших квадратов, проходит через точку с координатами которая является «центром тяжести». 9. Вывести формулы Бесселя D4) для случая, когда тригонометрические ф\ ькции заданы в действительной форме: фо=1, t$i=ismx, qJ = cos.*:, ф3 = =. sip 2х и т. д. 10. Вывести формулы сглаживания типа D5) для центральной точки по пяти точкам при среднеквадратичной аппроксимации многочленом первой и второй степени. 11. Написать систему уравнений для определения коэффициентов а^\ Ь^К минимизирующих D9). 12. Доказать, что коэффициенты ад. формул. Бесселя D4) связаны с коэф- + СО фициентами обычного ряда Фурье а^ соотношениями а^= V] ak^pN. р = — со
ГЛАВА III ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ В главе III рассмотрено численное дифференцирование функции, заданной на некоторой сетке. Введены квазиравномерные сетки, полезные во многих при- приложениях. Обсуждена некорректность задачи дифференцирования, проявляю- проявляющаяся при сильном уменьшении шага, и изложены некоторые способы регу- регуляции. Показано, как можно повышать точность и оценивать погрешность при сгущении сетки. 1. Полиномиальные формулы. Численное дифференцирование применяется, если функцию у(х) трудно или невозможно продиф- продифференцировать аналитически —например, если она задана табли- таблицей. Оно нужно также при решении дифференциальных уравнений при помощи разностных методов. При численном дифференцировании функцию у(х) аппроксими- аппроксимируют легко вычисляемой функцией ф(л:; а) и приближенно пола- полагают у' (х) = ф' {х\ а). При этом можно использовать различные способы аппроксимации, изложенные в главе II. Сейчас мы рас- рассмотрим простейший случай —аппроксимацию интерполяционным многочленом Ньютона B.8). Вводя обозначение \i-x-Xu запишем этот многочлен и продифференцируем его почленно: Ф (х) = У (х0) + 1оУ (х0, *1) + Ц;1г/(*о. *i. х2) + ¦\-\\\ ц (х х х х) 1 ф' (х) = У (х0, хг) + (lo + li) У (х0, xlt x2) + г2/ U \л0» Л1' Л2» А3/ ~Г~ * * • 9 О» Х\, Х%, Лз/ ~Г~ • • • Общая формула имеет следующий вид: * \ Z, Ь)у(х0, i>!>0 I 1 S liljh)У(х0, xv ..., л*+а)+...| A)
ГЛ. ПЦ ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ 71 Обрывая ряд на некотором числе членов, получим приближенное выражение для соответствующей производной. Наиболее простые выражения получим, оставляя в формуле A) только первый член: У' (х) ^ У (•% *i) = [У (х0) - у (x -'¦/<*) ~*(*о. хъ ^_±-(g=g_g=*), B) к k -i у»*> (X) ъ у (Хо, Хх, ..., Хк) = 2 Ур JJ (Хр - XiY1. р=0 «=0 1.ФР При написании последней формулы использованы результаты задачи 1 к главе П. Все формулы A) —B) рассчитаны на произ- произвольную неравномерную сетку. Исследование точности полученных выражений при численных расчетах удобно делать при помощи апостериорной оценки, по скорости убывания членов ряда A). Если шаг сетки доста- достаточно мал, то погрешность близка к первому отброшенному члену. Пусть мы используем узлы xh 0==?/«ся. Тогда первый отбро- отброшенный член содержит разделенную разность у(х0, хх, ..., хп+1), которая согласно B) примерно равна г/я+1) (х)/(п-\-1)!. Перед /ней стоит сумма произведений различных множителей ?,•; каждое произведение содержит п-\-1 —k множителей, а вся сумма состоит из Cn+i слагаемых. Отсюда следует оценка погрешности формулы A) с л+ 1 узлами: В частности, если сетка равномерная, то max \%i \ <.nh, откуда е <Мя+1 (-«L-jA)^1"*» О {h^-% D) Эти оценки можно несколько улучшить за счет более детального рассмотрения множителей ?,-. Заметим, что строгое априорное исследование погрешности формулы A), аналогичное выводу оста- остаточного члена многочлена Ньютона в форме Коши B.10), для произвольного расположения узлов приводит к той же оценке C). Таким образом, порядок точности формулы A) по отношению к шагу сетки равен числу оставленных в ней членов, или, что то же самое, он равен числу узлов интерполяции минус поря- порядок производной. Поэтому минимальное число узлов, необходимое для вычисления k-й производной, равно k-\-\; оно приводит к формулам B) -и обеспечивает первый порядок точности. Эти выводы соответствуют общему принципу: при почленном дифферен- дифференцировании ряда скорость его сходимости уменьшается.
72 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ [ГЛ. III В главе II рекомендовалось использовать в формулах интер- интерполяции не более 4 — 6 узлов. Если еще учесть ухудшение сходимости ряда при дифференцировании, то можно сделать вывод: даже если функция задана хорошо составленной таблицей на довольно подробной сетке, то практически численным диф- дифференцированием можно хорошо определить первую и вторую производные, а третью и четвертую — лишь удовлетворительно. Более высокие производные редко удается вычислить с приемле- приемлемой точностью. Замечание 1. Кубическая сплайновая интерполяция B.20) обладает тем свойством, что первая и втора'я производные интер- интерполяционного многочлена всюду непрерывны. Обычно дифферен- дифференцирование кубического сплайна позволяет определить эти произ- производные с хорощей точностью. Цели надо вычислить более высокие производные, то целесообразно строить сплайны высоких поряд- порядков. Из-за большой трудоемкости этот спрсоб редко используется; теоретически он мало исследован. Замечание 2. Если табулирована не только функция, но и ее производные, то следует составлять и дифференцировать интерполяционный многочлен Эрмита. Производные при этом вычисляются намного точнее, чем при дифференцировании интер- интерполяционного многочлена Ньютона с тем же числом свободных параметров по формулам (I). 2. Простейшие формулы. Чаще всего используются равномер- равномерные сетки, на которых вид формул A) заметно упрощается, а точность нередко повышается. Рассмотрим сначала причину повышения точности. Остаточ- Остаточный член общей формулы fl) есть многочлен ^ПС*"*') степени rt-f-1— k относительно х. Если х равен корню этого многочлена, то главный остаточный член обращается в нуль,- т. е. в этой точке формула имеет порядок точности на единицу больше, чем согласно оценке D). Эти точки повышенной точности будем обозначать л4Р>, где k — порядок производной, а р = п-\-\ — k — число оставленных в формуле A) членов. Очевидно, /?-членная формула имеет р точек повышенной точности. У одночленной формулы B) для k-й производной точка повы- повышенной точности на произвольной сетке определяется условием 2 Ь = 1] (х - х-) = 0, что дает 4) = (x0 + x1+...+xk)/(k+\); E) в этой точке одночленная формула имеет погрешность О (h2) вместо обычной О (h). Для двучленной формулы задача нахожде- нахождения точек повышенной точности приводит к квадратному уравне- уравнению, корни которого действительны, но формула для их нахож- нахождения громоздка (см. задачу 2). Если р>2, то найти точки
ГЛ. III] ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ 73 повышенной точности очень сложно, за исключением одного част- частного случая, который мы сейчас рассмотрим. Пусть р нечетно, а узлы в фодмуле A) выбраны так, что они расположены симметрично относительно точки х; тогда х явля- является одной из точек повышенной точности л4р). Доказательство. В самом деле, при этом величины ^ = = л: — xt имеют попарно равные абсолютные величины, но про- противоположные знаки. В остаточном члене множитель ^ = имеет нечетную степень, и при одновременном изменении знаков всех li он должен изменить знак. Но поскольку одновременное изменение знаков ?г сводится при таком расположении узлов лишь к' перемене их нумерации, то величина w должна сохра- сохраниться, что возможно только при ш = 0. Утверждение доказано. Замечание 1. Доказательство' справедливо для неравно- неравномерной сетки. Замечание 2. Число узлов предполагалось произвольным; очевидно, симметричное расположение узлов относительно точки xin) означает, что при нечетном числе узлов точка л4р> совпадает с центральным узлом, а при четном — лежит между средними узлами. Замечание 3. Повышение точности достигается не только в самих' точках повышенной точности, но и в достаточно малой их окрестности, где изменение производной не превышает пог- погрешности формулы; для точки х^ это окрестность размером О (ft2), для 42) - О (ft3) и т. д. На произвольной сетке условие симметрии реализуется только в исключительных случаях. Но если сетка равномерна, то каж- каждый ее узел симметрично окружен соседними узлами. Это позво- позволяет составить несложные формулы хорошей точности для вычис- вычисления производных в узлах сетки. Например, возьмем три соседних узла х0, хх, хг и вычислим первую и вторую производные в среднем узле. Выражая в одно- одночленных формулах B) разделенные разности через узловые зна- значения функции, легко получим У' (xi) = (У-i-Уо)/2ft + О (ft2), h = xi+l-Xi = const, F) У" (*i) = 0/2 - 2& + уо) /h2 + О (ft2). G) Формулу F) часто записывают в несколько ином виде, удобном для определения производной в средней точке интервала сетки: У1+ \12 = У' (xt +1 /2) = (Ш+1 - уд /h + O (ft2), h Аналогично можно вывести формулы более высокого порядка точности или для более высоких производных. Например, трех-
74 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ [ГЛ. III членная формула A) для первой производной в середине интер- интервала по четырем соседним узлам дает У'Ы2 = (- Уа + 27г/а - 27уг + уо)/(Ш) + О (ft*), (9) а для второй производной в центральном узле по пяти узлам У* = (-У*+ Ща- Щ, + Щг-0о)/A2А2) + О Aг1). A0) Все формулы F) —A0) имеют четный порядок точности. Заме- Заметим, что все эти формулы написаны для случая равномерной сетки; применение их на произвольной неравномерной сетке для первой производной приводит к низкой точности О (ft), а для вто- второй производной — к грубой ошибке. На равномерной сетке для априорной оценки точности фор- формул часто применяют способ разложения по формуле Тейлора — Маклорена. Предположим, например, что функция у (х) имеет непрерывную четвертую производную, и выразим значения функ- функции в узлах Х{ + \ через значения функции и ее производных в центре симметрии узлов (в данном случае этим центром явля- является узел Xi): У (xi+ \)=У (xt ±h)=yi ± hy't + -2 h?y"c ± -6- h3yi" + + 2lftVv(Tl±). y(x()=yi, (И) где т)+ есть некоторая точка интервала {х-,, x;+1), а г|_ есть неко- некоторая точка интервала (хг-х, xt). Подставляя эти разложения во вторую разность, стоящую в правой части формулы G) для второй производной, получим А'г "" ч ' ¦""'(*]-)] = #' +О (А2)- A2) Это подтверждает ранее сделанную оценку и уточняет величину остаточного члена, который оказался равным /A/IV (п)/12. Такой способ получения остаточного члена проще, чем непосредственное вычисление по формуле A). Особенно часто он применяется при исследовании аппроксимации разностных схем (см. главу IX). 3. Метод Рунге — Ромберга. При вычислении одной и той же величины формулы с большим числом узлов дают более высокий порядок точности, но они более громоздки. Для оценки их точ- точности надо привлекать дополнительный узел, что требует еще более сложных вычислений. Рассмотрим более простой способ получения высокого порядка точности. Из формулы A2) видно, что погрешность простейшей формулы G) для четырежды дифференцируемой функции имеет вид R = = й2г|)(т]), где т) — некоторая точка вблизи узла xt. Если yiv (x) липшиц-непрерывна, то оценку нетрудно уточнить: R = fi2ty (xt) -j-
ГЛ. III] ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ 75 + 0(h3). Пусть в общем случае имеется некоторая приближен- приближенная формула ? (х, К) для вычисления величины z (x) по значе- значениям на равномерной сетке с шагом h, а остаточный член этой формулы имеет следующую структуру: г (*) - С (х, К) = -ф (х) hP + O (hP*1). A3) Произведем теперь расчет по той же приближенной формуле для той же точки х, но используя равномерную сетку с другим шагом rh. Тогда получим значение I,(x, rh), связанное с точным значением соотношением z(x)-t(x, rh)=q(x)(rh)P + O((rh)P+1). A4) Заметим, что О ((rh)p+1) ^0 (hp+1). Имея два расчета на разных сетках, нетрудно оценить величину погрешности. Для этого вычтем A3) из A4) и получим первую формулу Рунге: A5) Первое слагаемое справа есть главный член погрешности. Таким образом, расчет по второй сетке позволяет оценить погрешность расчета на первой сетке (с точностью до членов более высокого порядка). Можно исключить найденную погрешность A5) из формулы A3) и полечить результат с более высокой точностью по второй формуле Рунге: z(x) = Z,{x, /t)+ p_. —--{-O(hP+1). A6) Этот метод оценки погрешности и повышения точности резуль- результата очень прост, применим в большом числе случаев и исклю- исключительно эффективен. Рассмотрим два при- примера его применения к численному диффе- Таблица 7 ренцированию. Пример 1. Пусть функция4 у(х) = \gx задана таблицей 7 и требуется вычислить у' C). Выберем для вычислений простейшую формулу F). Полагая h = \, т. е. производя вычисления по точкам х = 2 и х = 4, полу- получим у' C) л=; 0,151. Увеличивая шаг вдвое (г = 2), т. е. вычисляя производную по точ- точкам х=1 и х = Ъ, получим у' C)^=sO,175. Проводя вычисления по формуле Рунге A6), где согласно оценке F) берется р = 2, получим уточненное значение у' C) я« 0,143; это всего 2% отли- отличается от искомого значения у' C) ?«0,145. Пример 2. Выведем формулу высокой точности из формулы низкой точности. Возьмем простейшую формулу для вычисления X 1 2 3 4 5 y—\gx 0,000 0,301 0,478 0,602 0,699
76 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ [ГЛ. III первой производной в. середине интервала (8) и запишем ее, выбирая сначала соседние узлы, а затем более удаленные: г/3/2 (h) я« (г/2 - yi)/h, у'3/2 (Щ р& (у3 - уо)/Ш. Порядок точности формулы р — 2, а коэффициент увеличения шага г = 3, поэтому уточнение методом Рунге дает формулу (9): «/з/2 ъ У'3/2 (h) + ~ [уз/2 (h) - у'3/2 Cft)] = ~ (у0 - 21ух + 27уя - у3). Отсюда видно, что для получения высокого порядка точности не обязательно производить вычисления непосредственно по фор- формулам высокого порядка точности; можно произвести вычисления по простым формулам низкой точности на разных сетках и затем уточнить результат методом Рунге. Последний способ предпо- предпочтительней еще потому, что величина поправки A5) дает апосте- апостериорную оценку точности. Метод Рунге обобщается на случай произвольного числа сеток.- Пусть функция у(х) имеет достаточно высокие непрерывные производные. Тогда в разложениях Тейлора типа A1) можно удерживать большое число членов и подстановка их в формулы типа F)—A0) приводит к представлению остаточного члена в виде ряда z{x)-l{x, h) = ? Ч>™ (*)&*• A7) Пусть расчет проведен на q различных сетках с шагами hj, I ^ sss/sgg. Тогда из остаточного члена можно исключить первые q—l слагаемых. Для этого перепишем соотношение A7), остав- оставляя первые q — 1 члены погрешности: р+4-2 = ? (*• h,) + О{h Это система линейных уравнений относительно величии z(x), tym(x). Решая ее по правилу Крамера, получим уточненное значе- значение по формуле Ромберга г(х) = x, h) X 1 hp{ /1I+1 ... hp 1 hi hp2+l ... h\ ¦Q(x,hq) HP h»+i ... hpq'i- + 0(hP+9-1). A8) Эта формула приводит к повышению порядка точности результата
гл. ш] численное Дифференцирование 77 на q — \ по сравнению с исходной формулой ?(#, К), т. е. каждая лишняя сетка позволяет повысить порядок точности на единицу. Формула Ромберга удобна тем, что ее можно применять при любом числе равномерных сеток и любом соотношении их шагов. Ее недостатками являются сравнительная громоздкость и отсут- отсутствие в промежуточных выкладках апостериорных оценок точ- точности. Если сетки выбраны.так, что сгущение сеток происходит всегда в одно и то же число раз (т. е. hJ~rhj...1= ... =r'^lh^, то вместо формулы Ромберга удобнее рекуррентно применять метод Рунге. Для этого берут последовательные пары сеток (hx, h2), (h2, /г3), (h3, h4) и т. д. По каждой паре производят уточнение методом Рунге, исключая тем самым главный член погрешности г|зр (a:) hp. Поэтому в уточненных величинах главный член погрешности будет иметь вид ij)p+1 (x) hp+1, где шаг можно условно принять для пер- первой пары сеток за hlt для второй — за h2 и т. д. (это верно, только если hj/hj^ одинаково для всех пар сеток). Уточненные значения таким же образом группируют в пары и исключают ошибку следующего порядка О (hp+1). Всего можно произвести q — 1 уточнение, на единицу меньше числа сеток. При каждом уточ- уточнении вычисляется погрешность A5), дающая апостериорную оценку точности на данном этапе вычислений. Пример такого вычисления будет дан в главе IV. Замечание 1. Если исходная формула для вычисления ? (х, h) имеет симметричный вид, то на равномерной сетке обычно все нечетные члены ряда A7) обращаются в нуль. При этом пользо- пользоваться общей формулой A8) можно, но невыгодно, ибо она не учитывает дополнительной информации о нулевых коэффициентах. Следует оставить в сумме A7) только степени hp, hp+2, hp+i, ... и соответственно изменить формулу Ромберга. Аналогично изме- изменяется рекуррентная процедура Рунге: при очередном исключении ошибки порядок точности повышается не на 1, а на 2. Примером может служить данный выше вывод формулы (9) из формулы (8), когда после первого уточнения погрешность уменьшилась с О (ft2) сразу до О (ft4). Замечание 2. Допустимое число членов суммы A7) связано с количеством существующих у функции непрерывных произ- производных. Поэтому для недостаточно гладких функций бессмысленно брать большое число сеток. Практически даже для «хороших» функций используют не более 3 — 5 сеток; обычно отношение г их шагов стараются выбрать равным 2. Замечание 3. Метод Рунге — Ромберга можно применять только в том случае, если ошибка представима в виде A7), где коэффициенты ^т(х) одинаковы для всех сеток. Строго говоря, при численном дифференцировании эти коэффициенты зависят от положения узлов сетки. Но если выбранные конфигурации узлов
a) ' S) вГ~ *. —•¦ -* -• .г rsi ¦ ¦ ®r .r 78 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ {ГЛ. III на всех сетках подобны относительно точки х (рис. 14, а), то зависимость от узлов одинакова для всех сеток и сводится к вели- величине шага. Тогда метод Рунге —Ромберга применим. Если же пра- правило подобия нарушено (рис. 14, б, в), то метод применять нельзя. Поэтому при численном дифференцировании метод Рунге— Ромберга удается1 применять только для нахождения производных в узлах или серединах интервалов равномерных (или описанных далее квазиравномерных) сеток. Но эти случаи являются доста- достаточно важными в практических приложе- приложениях. Особенно широко применяется опи- описанный метод при численном интегриро- интегрировании и разностных методах решения задач для дифференциальных и интеграль- интегральных уравнений. 4. Квазиравномерные сетки. При тех значениях аргумента, где функция резко меняется, шаг таблицы должен Рис 14. быть малым, иначе точность вычисления по этой таблице будет плохой. А на тех участках, где функция меняется медленно, хорошую точность обеспечивает и крупный шаг таблицы; мелкий шаг при этом даже невыгоден, ибо он приводит к сильному увеличению объема таблицы. Поэтому неравномерная сетка, удачно подобранная для опре- определенной функции, позволяет построить таблицу небольшого объема, по которой можно производить вычисления с хорошей точностью. Разумеется, для других функций эта сетка может быть малопри- малопригодной. Каждая конкретная сетка либо равномерна (т. е. ее шаг hi — xi+1 — Xi постоянен), либо неравномерна. Но нам нередко приходится сгущать сетку, т. е. рассматривать на [а, Ь] после- последовательность сеток x\N), O=s?/=s?,/V, с возрастающим числом интервалов N. Разумеется, если таблица уже задана, то сетку сгущать невозможно, но можно ее разреживать, выбрасывая из таблицы половину, две трети и т. д. точек. Это также является некоторым способом построения последовательности сеток. Сгуще- Сгущение сеток широко применяется при численном решении диффе- дифференциальных и интегральных уравнений. Среди последовательностей сеток важное место занимают ква- квазиравномерные сетки. Будем называть сетки квазиравномерными, если существует дважды непрерывно дифференцируемая функция x = \(t), преобразующая отрезок Osg^sgl в отрезок а^х^Ь так, что каждой сетке xf> соответствует равномерная сетка t\N> = = i/N, причем на этом отрезке |'(/M5е>0, а ?"(/) ограничена. Если эти условия выполнены, то шаг сетки ft,- «=:?' (U)IN, а разность двух соседних шагов есть ht — hi-x «=> |" (tfi/N2. Значит,
ГЛ. illj ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ 79 при большом числе узлов разность соседних шагов A/z~/z2, т. е. много меньше длины шага, и соседние интервалы почти равны. Поэтому такие сетки и называют квазиравномерными или почти равномерными. Однако отношение длин далеких друг от друга интервалов h-Jhj^l,' (t$fe' {tj) может быть большим. Для того чтобы сгустить квазиравномерную сетку л:,-, надо сгустить равномерную сетку tt (увеличить N) и по ней вычислить новую сетку. Середину интервала xi+l/i квазиравномерной сетки надо вычислять при помощи того же преобразования, полагая Xi+i/t -Ъ[ N брать Xi+iAs равной полусумме соседних узлов xt, *J+1 нельзя. Рассмотрим некоторые примеры.' а) Если надо детально передать поведение функции вблизи одного из концов отрезка [а, Ь], то удобно преобразование — a)(eaf— l)/(ea— 1). A9) Значение а>0 соответствует малому шагу сетки у левого конца отрезка, значение а<0 — у правого. Шаги этой сетки составляют геометрическую про- прогрессию со знаменателем q = hi^1/hi = ea/N. Отношение первого и последнего шага сетки примерно равно еа; при большом а оно может быть очень большим. Такая сетка полезна, например, в задачах атомной физики, где волновые функции наиболее быстро меняются вблизи ядра. б) На полупрямой [а, со) тоже можно построить квазиравномерную сетку; например, таким преобразованием: x = a+atg(nt/2), 0ь=/<1. B0) Параметр а управляет сеткой; чем он меньше, тем гуще узлы сетки при х-+а и реже при"л:-»-оо. Последний интервал этой сетки (xN_v xN} бесконечно велик, ибо точка xN — бесконечно удаленная (отсюда ясно, что середину интер- интервала квазиравномерной сетки надо находить при помощи основного преобразо- преобразования!). Эта сетка полезна при вычислении интегралов с бесконечным верхним пределом. в) Преобразование х = a tg (nt/2) при —1<<<1 позволяет построить квазиравномерную сетку на бесконечной прямой. Первый и последний интер- интервалы этой сетки бесконечны. г) Преобразование x = ft, O^t'.^ 1, определяет не квазиравномерную сетку. Здесь не выполнено условие строгой положительности |' (t). По этому преобра- преобразованию строится такая сетка: В результате разность двух соседних шагов —первого и второго — вдвое больше одного из них при любсм N. Значит, вблизи точки х = 0 сетка не стремится к равномерной при N -*¦ со. Если сетка квазиравномерна, то производные на ней вычис- вычисляются либо проще, либо точнее, чем на произвольной неравно- неравномерной сетке. Например, если на такой сетке взять подряд три узла х0, xlt x2, то x1 ( 2(hh2 ( + /2 O(h2)
80 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ [ГЛ. III и аналогично x1 = (x0-\-xi-\-xi)/3 + 0 (/г2). Это означает, что узел % расположен вблизи точки повышенной точности для этих узлов, в окрестности размером О (/г2). Из сделанного в п. 2 замечания следует, что одночленные формулы B), рассчитанные на произ- произвольную сетку: в узлах квазиравномерной сетки обеспечивают точность О (/г2). Пользоваться в этом случае формулами типа G), рассчитанными на равномерную сетку, не следует —на квазиравномерной сетке их точность будет хуже. На квазиравномерных сетках справедливо разложение оста- остаточного члена в ряд A7), если порождающее сетки преобразова- преобразование x = \(t) достаточное число раз непрерывно дифференцируемо. В этом случае для повышения точности расчетов можно употреб- употреблять метод Ру'нге — Ромберга, подставляя в формулы A6) —A8) вместо h величину 1/N. Для квазиравномерных сеток этот метод особенно выгоден, ибо для них прямые формулы высокого порядка точности очень громоздки. Только в одном пункте квазиравномерные сетки уступают равномерным. На них ряд для остаточного члена A7) даже в слу- случае симметричной формулы содержит обычно все степени l'/N, поэтому каждая лишняя сетка позволяет повысить порядок точ- точности лишь на единицу, а не на двойку. Квазиравномерные сетки часто используют при решении слож- сложных задач математической физики, когда необходимо при малом числе узлов детально передать особенности решения. 5. Быстропеременные функции. Если функция (точнее, ее раз- разделенные разности) значительно меняется на протяжении несколь- нескольких интервалов сетки, то интерполяция обобщенным многочленом обычно недостаточно точна для дифференцирования этой функции. Для таких функций особенно полезна квазилинейная интерполя- интерполяция, производимая при помощи выравнивающих переменных. Если Ъ(х), т] (у) — выравнивающие переменные, то для искомой производной справедливо соотношение y'x = &r&/i?. B1) Выравнивающие преобразования подбирают несложными, чтобы их производные \'х, г\'и находились точно. Остается только численно найти щ способами, изложенными в предыдущих пунктах. Например, пусть имеются таблицы энергии Е(Т, р) многократно ионизо- ионизованной плазмы тяжелых атомов. Рассмотрим нахождение теплоемкости cv = = (dE/dT)v; она отличается от теплоемкости идеального газа, поскольку в нее входит энергия, идущая на отрыв от ионного остова новых электронов при повышении температуры. Ранее упоминалось, что зависимость Е (Г) напоминает степенную ро слабо переменным показателем и выравнивающим является пре-
ГЛ. Ш] ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ 81 образование ц = 1пЕ, | = InT. Легко видеть, что формула B1) принимает вид с„= (Е/Т) т)? = (Е/Т) [д (In Е)/д (In Г)]; последнюю производную находят численным дифференцированием (см. задачу 7). Если в исходных переменных сетка была равномерной или квазиравномерной, то обычно она квазиравномерна и в выравни- выравнивающих переменных, ибо выравнивающее преобразование на огра- ограниченном отрезке почти всегда обладает требуемыми свойствами производных. В этом случае результат можно уточнять методом Рунге —Ромберга. Формула двукратного дифференцирования при помощи вырав- выравнивающих переменнБ1х достаточно сложна: n'yf]h'y, B2) и ее применение не всегда обеспечивает хорошую точность. Но для быстропеременной функции двукратное дифференцирование интерполяционного многочлена Лагранжа еще более ненадежно. Поэтому вторую и более высокие производные быстропеременной функции трудно найти численно. 6. Регуляризация дифференци- дифференцирования. При численном диффе- дифференцировании приходится вычи- вычитать друг из друга" близкие значе- значения функции. Это приводит к унич- уничтожению первых значащих цифр, т. е. к потере части достоверных знаков числа. Если значения функ- функции известны с малой точностью, то встает естественный вопрос — останется ли в ответе хоть один достоверный знак?. Для ответа на этот вопрос ис- исследуем ошибки при численном дифференцировании. При интер- интерполировании обобщенным многочленом производная &-го порядка определяется согласно B)—C) формулой типа . Cg(x) = O(\). B3) Рис. 15. Если формула имеет порядок точности р, то, значит, ее оста- остаточный член равен Rk (х) я=* С (х) №. Этот остаточный член опре- определяет погрешность метода, и он неограниченно убывает при /i->0. Его зависимость от шага изображена на рис. 15 жирной линией.
82 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ [ГЛ. Ill Но есть еще неустранимая погрешность, связанная с погреш- погрешностью функции 8у(х). Поскольку точный вид этой погрешности неизвестен, можно оценить только мажоранту неустранимой погреш- погрешности rk — b-h~k 2\Сд |; она неограниченно возрастает при /г->0 ч (тонкая линия на рис. 15). Фактически же неустранимая погреш- погрешность будет нерегулярно зависеть от величины шага, беспорядочно осциллируя в грани.цах, определяемых мажорантой (точки на рис. 15). Пока шаг достаточно велик, при его убывании неустранимая погрешность мала по сравнению с погрешностью метода; поэтому полная погрешность убывает. При дальнейшем уменьшении шага неустранимая погрешность становится заметной, что проявляется в не вполне регулярной зависимости результатов вычислений от величины шага. Наконец, при достаточно малом шаге неустра- неустранимая погрешность становится преобладающей, и при дальнейшем уменьшении шага результат вычислений становится все менее достоверным. Полная погрешность мажорируется суммой Rk + rk (штриховая кривая на рисунке). Оптимальным будет шаг, соответствующий минимуму этой Кривой. Нетрудно подсчитать, что h0 (б) = 1нь % 1 сд \/рс\1/{р+к)=о (&'*+% ^ q ' B4) min (Я*+ /*) = Си? (l+?) = О (б Меньший шаг невыгоден, а меньшая погрешность, вообще говоря, недостижима (хотя отдельные вычисления случайно окажутся более точными, но мы этого не сможем узнать). Эта минимальная ошибка тем меньше, чем меньше погрешность входных данных и порядок вычисляемой производной и чем выше порядок точности формулы. Очевидно, при 6у(х)-*0 можно получить сколь угодно высокую точность результата, если шаг стремится к нулю, будучи всегда не менее ho(8). Но если допустить /г</го(б), то результат пре- предельного перехода может быть неправильным. Эта тонкость связана с некорректностью задачи дифференци- дифференцирования. Рассмотрим погрешность входных данных вида by (х) = — т~г sinm2x. Она приводит к погрешности первой производной 8у' (х) = т cos т2х. При т -v со погрешность функции в || • ||с не- ограниченно убывает, а погрешность производной в той же норме неограниченно растет. Значит, нет непрерывной зависимости про- производной от функции, т. е. дифференцирование некорректно. Осо- Особенно сильно это сказывается при нахождении производных высо- высокого порядка.
ГЛ. III] ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ 83 Изложенный выше способ определения оптимального шага и запрещение вести расчет шагом .меньше оптимального есть неко- некоторый способ регуляризации дифференцирования, так называемая регуляризация по шагу. Этот способ в простейшей форме давно применялся физиками, которые при однократном численном диф- дифференцировании всегда выбирали такой шаг, чтобы \y(x-\-h)— -У(х)\>б. К этой задаче применим и метод регуляризации А. Н. Тихо- Тихонова; он будет изложен в главе XIV, § 2. Физики издавна употребляют (без строгого обоснования) еще один способ регуляризации —дифференцирование предварительно сглаженной кривой, причем сглаживание обычно выполняют мето- методом наименьших квадратов. Роль параметра регуляризации здесь играет отношение числа свободных параметров п аппроксими- аппроксимирующей кривой к числу узлов сетки N; для хорошего сглажи- сглаживания должно выполняться условие n^N. Рассмотрим, как это делается в простейшем случае. Выберем около искомой точки не очень большой интервал изменения аргу- аргумента, чтобы двучленная аппроксимация у (х) «=s a + Ьх обеспечи- обеспечивала удовлетворительную точность. Но этот интервал должен содержать довольно много узлов сетки, т. е. быть не слишком малым. Система уравнений B.43) для определения коэффициентов среднеквадратичной аппроксимации принимает следующий вид: а 2] р.-+b 2 Pixi = 2 piyi> где сумма берется по узлам сетки xt, лежащим в этом интервале. Введем на этом интервале средние значения Тогда первое уравнение B5) можно записать в виде а-\-Ьх — у (см. задачу 8 к главе II). Умножая его на х ^ рг д вычитая из второго уравнения B5), получим y'(x)^b = [^iPi(xiyi-xg)]/[^lPi(x!-x% B7) Пользуясь определением средних B6), произведем несложное пре- преобразование знаменателя в B7): 2 р; (хг - ?-) = ^ рг {xi + х-) - 2х2 2 Pi = = 2] Pi (xi + х-) - 2х 2 piXi = 2 P.' (xi ~ *J и аналогично преобразуем числитель. Тогда выражение B7)
84 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ [ГЛ. Ш приводится к виду, напоминающему коэффициент парной корреля- корреляции величин х и у: !/ (x)^b = [^pl(xi-X)(yt-g)]/[^tpt(xl-X)']. B8) Последняя формула несколько выгодней для численных расчетов, чем предыдущая, ибо ошибки округления в ней меньше. Двучленная среднеквадратичная аппроксимация дает удовлет- удовлетворительные результаты, только если 8/]/~N <^А, где б —погреш- —погрешности отдельных значений функции, N — число точек в выбранном участке, а А —нелинейная часть приращения функции на данном участке. Если это соотношение нарушено, то надо строить сгла- сглаживающие аппроксимации с 3—4 членами и дифференцировать их. В заключение отметим, что выравнивающие переменные позво- позволяют вести расчет крупным шагом или с малым числом свобод- свободных параметров. Поэтому предварительное приведение к выравни- выравнивающим переменным существенно ослабляет влияние погрешности начальных данных и позволяет теми же способами регуляризации Добиться большей точности. ЗАДАЧИ 1. Составить формулу вычисления у' (х) на основании интерполяционного многочлена Эрмита B.18) и сравнить ее с простейшей формулой у' (х)*&у' (х0) + + (х — хв) у' (х0, *х). Найти погрешности обеих формул. Какая из формул точ- точнее .и почему? 2. Показать, что у двучленной формулы A) есть две точки повышенной точности, определяемые соотношением Г *+1 /¦( = *-и 1 у1п IV в которых достигается третий порядок точности 3. Аналогично F)—A0) получить формулы для вычисления у1п и у в среднем узле по пяти узлам равномерной сетки. 4.. Способом разложения по формуле Тейлора найти остаточные члены формул (8)—A0). 5. Получить для второй производной формулу высокой точности A0) из простейшей формулы G) методом Рунге. 6. Строго обосновать рекуррентное примене- применение метода Рунге. 7. В таблице 8 приведены данные по энергии плазмы алюминия при плотности 1018 атом/см3. Составить таблицу теплоем- теплоемкости с„ и оценить ее точность, полагая, что: а) значения энергии вычислены точно, б) значения энергии имеют погрешность ± 10%. 8. Используя среднеквадратичную' аппроксимацию функции,' параболой у(х)я&а-\-Ьх-\-сх2, найти выражение для ее первой и второй производной через значения функции в узлах. Таблица 8 Г, эв 2,04 1,15 0,646 0,363 0,204 0,115 L' г 2250 720 303 176 64,8 24,8
ГЛАВА IV ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ В главе IV изложены основные методы численного интегрирования. В § 1 выведены формулы вычисления однократных интегралов, основанные на поли- полиномиальной аппроксимации подынтегральной функции: простейшие формулы трапеций и средних и некоторые формулы более высокой точности, в том числе формулы наивысшей алгебраической точности (Гаусса — Кристоффеля и Мар- Маркова). Исследованы погрешности этих формул и характер их сходимости. В § 2 рассмотрены способы интегрирования функций, для которых полино- полиномиальная аппроксимация не обеспечивает приемлемой точности. В § 3 описан- описанные методы перенесены на случай кратных интегралов. В § 4 изложены основы метода Монте-Карло применительно к вычислению интегралов. § 1. Полиномиальная аппроксимация 1. Постановка задачи. Пусть требуется найти определенный интеграл F = \f(x)p(x)dx, p(*)>0, A) а где функция / (х) непрерывна на отрезке [а, Ь], а весовая функ- функция р (х) непрерывна на интервале {а, Ь). Выразить интеграл через элементарные функции удается редко, а компактный и удобный для доведения до числа ответ получается еще реже. Поэтому обычно заменяют f(x) на такую аппроксимирующую функцию (р(х, a)^=if(x), чтобы интеграл от нее легко вычислялся в элементарных функциях. Чаще всего / (х) заменяют некоторым обобщенным интерполя- интерполяционным многочленом. Поскольку такая аппроксимация линейна относительно параметров, то функция при этом заменяется неко- некоторым линейным выражением, коэффициентами которого служат значения функции в узлах: f(x)=Zf(xi)<pl(x) + r(x), B) 1 = 0 где г (х) — остаточный член аппроксимации. Подставляя B) в A),
86 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV получим формулу численного интегрирования {квадратурную формулу) C) ci — \ Ф< (x) p (x) dx, R — \r (x) P (x) dx, a a где величины xt называют узлами, ct —весами, a R —погрешно- —погрешностью или остаточным членом формулы. Интеграл приближенно заменяется суммой, похожей на интегральную сумму, причем узлы и коэффициенты этой суммы не зависят от функции f(x). Интерполяционный многочлен B) может быть не только лагран- жева, но и эрмитова типа; в послед- последнем случае в сумму C) войдут про- производные функции в узлах. Лучше всего изучена замена f (х) алгебраическим многочленом; она рассматривается в этом параграфе. Обычно будем полагать р (х) = 1. Случаи не единичного веса будут особо оговариваться. Рис- 16- 2. Формула трапеций. Заменим функцию на отрезке [а, Ь] мно- многочленом Лагранжа первой степени с узлами хй~а, х^ — Ь. Это соответствует замене кривой на секущую. Искомый интеграл, равный площади криволинейной фигуры, заменяется на площадь трапеции (рис. 16); из геометрических соображений нетрудно написать для него формулу трапеций D) Это одна из простейших квадратурных формул. Найдем ее погрешность. Для этого разложим f (х) по формуле Тейлора, выбирая середину отрезка за центр разложения и предполагая наличие у функции требуемых по ходу рассуждений непрерыв- непрерывных производных: Погрешность есть разность точного и приближенного значений интеграла. Подставляя в D) разложение E), получим главный
§ 1] ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ 8>7 член погрешности b f(x)dx-^[f(a) + f (b)]^-±(b-aff" (x), F) где члены, отброшенные при замене точного равенства прибли- приближенным, содержат старшие производные и более высокие степени длины отрезка интегрирования. Заметим, что содержащие f (х) и /' (х) члены разложения E) уничтожились и не дали вклада в погрешность; это нетрудно было предвидеть, ибо формула тра- трапеций по самому выводу точна для многочлена первой степени. Вообще говоря, длина отрезка Ь — а не мала, поэтому оста- остаточный член F) может быть велик. Для повышения точности на отрезке [а, Ь] вводят достаточно густую сетку а = х0 < xt < х2 <.. • ...<ixN = Ь. Интеграл разбивают на сумму интегралов по шагам сетки и к каждому шагу применяют формулу D). Получают обобщенную формулу трапеций ь n i = 1 N i= 1 На равномерной сетке она упрощается: ь f (x) dx p« a N K^~l2 ?* ' i = I a h = Xi — Xt-.x = const. Поскольку в оценке F) были отброшены члены, содержащие более высокие степени длины интервала, то выражение остаточ- остаточного члена (8) является асимптотическим, т. е. выполняющимся при Л->0 с точностью до членов более высокого порядка мало- малости. Но для справедливости этой оценки необходимо существо- существование непрерывной f" (х); если f" (х) кусочно-непрерывна, то удается сделать лишь мажорантную оценку |П*)|. (9)
88 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV Таким образом, обобщенная формула трапеций имеет второй порядок точности относительно шага сетки. На равномерной сетке это видно непосредственно, а на квазиравномерной сетке, порожденной преобразованием x — l,(t), остаточный член G) можно привести к виду ъ если используемые в этой формуле производные непрерывны. Для произвольной неравномерной сетки асимптотическая оценка в виде суммы G) справедлива, но неудобна для использования; можно пользоваться мажорантной оценкой (9), подразумевая под шагом h = max fa — ) 3. Формула Симпсона. Вычислим интеграл по обобщенной формуле трапе- трапеций сначала на равномерной сетке с шагом h, а затем на сетке с вдвое более крупным шагом; вторая сетка получается из первой выбрасыванием узлов через один. Из вида остаточного члена (8) следует, что результат, полученный по формуле, трапеций, можно уточнять методом Рунге. Проводя гакое уточне- уточнение для отрезка, содержащего узлы х0, хъ х2, получим формулу Симпсона Fl4F(h)F = у [ 4/i (у /.+/i +у/,) -2А (~-h +у/*)] = (И) Обобщенная формула Симпсона для равномерной сетки и четного числа шагов N имеет вид ^^Т^+4^1+2^+4/з + 2/4+...+2/^2 + 4/лг_1 + /лг). A2) Для квазиравномерных или произвольных неравномерных сеток формул такого типа не составляют. Исключение главного члена погрешности формулы трапеций означает, что мы перешли к аппроксимации параболой, и формула Симцсона точна для любого многочлена второй степени. Однако нетрудно проверить, что для f (х) = х3 эта формула также дает, точный результат, т. е. она точна для мно- многочлена третьей степени! Это объясняется' тем, что' на равномерной сетке остаточный член формулы трапеций разлагается только по четным степе- степеням шага и однократное применение метода Рунге увеличивает порядок точно- точности на два. Как и для формулы трапеций, погрешность формулы Симпсона вычисля- вычисляется подстановкой разложения E), в котором теперь надо удержать большее число членов и для каждой пары интервалов (хг_ь X;) и (xt, xj+1) за центр разложения взять узел %i. Из предыдущего рассуждения видно, что главный вклад в погрешность дает только пятый член разложения A/24) {x — xjff^ (xj). Подставляя этот член в выражение суммарной погрешности двух соседних
§ 1] ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ интервалов, легко найдем 89 Rt = 90 ¦1-Х После суммирования по парам соседних интервалов получим 6 й*_ 180 A3) т. е. формула Симпслна имеет четвертый порядок точности, а численный коэф- коэффициент в остаточном члене очень мал. Благодаря этим обстоятельствам фор- формула Симпсона обычно дает хорошую точность при сравнительно небольшом числе узлов (если четвертая производная функции не слишком велика). Асимптотическая оценка A3) выведена в предположении существования непрерывной четвертой производной. Если / (х) кусочно-непрерывна, то спра- справедлива только мажорантная оценка, аналогичная (9). Пример. Вычислим интеграл F= \ex dx&& 1,7183. В таблице 9 приве- Таблица 9 ft 1 0,5 0,25 Трапеций 1,8591 1,7539 1,7272 Симпсона 1,7189 1,7183 дены результаты вычислений по формулам трапеций и Симпсона при разных шагах. Вторая формула обеспечивает го- гораздо более высокую точность при том же шаге. Заметим, однако, что формулу Симп- Симпсона можно было вообще не 'вводить. Проведем расчеты по формуле трапеций на последовательности сгущающихся вдвое сеток и применим однократный процесс Рунге не к формуле, а непо- непосредственно к найденному на каждой сетке значению интеграла. Результат будет тот же, что и при расчете по формуле Симпсона; попутно, будет оценена фактическая погрешность формулы трапеций. К самой формуле Симпсона, как следует из вида ее остаточного члена, тоже можно применять метод Рунге. Это эквивалентно применению рекуррент- рекуррентного процесса Рунге к формуле трапеций. 4. Формула средних. Если на отрезке [а, Ь] взять единствен- единственный узел квадратурной, формулы х0, то. функция аппроксими- аппроксимируется многочленом нулевой степени — константой f(x0). Поскольку симметрия формулы численного интегрирования приводит к повы- повышению ее точности, то выберем в качестве единственного узла середину отрезка интегрирования х^=1/2(а+Ь). Приближенно заменяя площадь криволинейной трапеции площадью прямоуголь- прямоугольника (рис. 17), получим формулу средних A4)
90 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV Погрешность этой формулы вычислим стандартным приемом — подстановкой разложения E); в данном случае за центр разло- разложения надо брать середину отрезка, т. е. узел квадратурной формулы. Несложные выкладки по- показывают, что ь R = \f{x)dx-{b-a)f(x)^ о ^~(b- affix). A5) При вычислении уничтожился не только первый, но и второй член разложения Тейлора. Это связано с симметричным построением фор- формулы средних и означает, что формула точна для любой линей- линейной функции. Так же как и для формулы трапеций, для повышения точно- точности вводится достаточно подробная сетка x-t и составляется обоб- обобщенная формула средних N N A6) I=1 i=\ A7) На равномерной сетке она имеет вид N Ь i — 1 Замечание 1. Остаточный член формулы средних примерно вдвое меньше, чем у формулы трапеций. Поэтому если значения функции одинаково легко определяются в любых точках, то лучше вести расчет по более точной формуле средних. Формулу трапеций употребляют в тех случаях, когда функция задана только в узлах сетки, а в серединах интервалов неизвестна. Замечание 2. Знаки главного члена погрешности у фор- формул трапеций и средних разные. Поэтому, если есть расчеты по обеим формулам, то точное значение интеграла лежит, как пра- правило, в вилке между ними. Деление этой вилки в отношении 2:1 дает уточненный результат, соответствующий формуле Симпсона. Замечание 3. К формуле средних тоже можно применять метод Рунге и либо непосредственно уточнять значение интеграла, либо строить формулы повышенной точности. Те формулы, кото- которые при этом будут получаться, и те, которые были рассмотрены в предыдущих пунктах, —частные случаи так называемых фор- формул Котеса,
§ IJ ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ 91 5. Формула Эйлера. Аппроксимация подынтегральной функции интерполяционным многочленом Эрмита приводит к квадратур- квадратурным формулам, содержащим производные в узлах. Мы не будем рассматривать общий случай и выведем только формулу с пер- первой производной. Для этого приближенно выразим остаточный член формулы трапеций F) через значения производных в узлах ЯТрап ~ - 4- (Ь - af f" (х) ~ -1- ф - af [f (a) - /' (&)]. A8) Прибавляя эту величину к правой части формулы трапеций, получим формулу Эйлера (или Эйлера —Маклорена) F^\{b-a) [f (a) + f (b)] + ~(b-af [/' (с) - f (b)]. A9) Остаточный член этой формулы вычислим стандартной под- подстановкой разложения Тейлора для f(x). Предполагая существо- существование непрерывной четвертой производной, выпишем в формуле E) пять членов разложения и подставим их в, выражение погреш- погрешности. Выполнив выкладки, получим асимптотическую оценку ъАцф-аурУ(х). B0) Видно, что из-за симметрии формулы уничтожился член, содер- содержащий /'" (х); значит, формула Эйлера точна для многочлена третьей степени. Ее остаточный член имеет тот же вид, что и остаточный член формулы Симпсона; но его численный коэффи- коэффициент в пересчете на один интервал оказывается вчетверо меньше. Отметим, что остаточный член B0) можно выразить, анало- аналогично A8), через разности третьих производных в узлах и т. д. Так строят формулы Эйлера — Маклорена высших порядков, но в практических вычислениях они применяются редко, и мы не будем их рассматривать. Обобщенную формулу Эйлера можно написать на произволь- произвольной сетке. Особенно простой вид приобретает формула на рав- равномерной сетке, ибо производные во внутренних узлах сетки при этом взаимно уничтожаются: B1)
92 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV Это показывает, что небольшая добавка к формуле трапеций сильно увеличивает точность, повышая ее с 0(№) до О (/г4). Если в таблице заданы значения только самой функции, а не ее производных, то обобщенную формулу Эйлера можно приме- применять, подставляя разностные выражения для f'o, f'N. Но эти выра- выражения должны иметь второй порядок точности, чтобы соответст- соответствовать общей точности формулы (получающиеся при этом фор- формулы называются формулами Грегори). Если заменить производные односторонними разностями f'o «=: (ft — fo)/h, f'N я« (fN — fN^)/h, то общий порядок точности понижается до третьего. 6. Процесс Эйткена, У всех рассмотренных выше обобщенных формул на равномерных и квазиравномерных сетках ошибку можно разложить в ряд по степеням шага типа C.17). Значит, к ним ко всем применим метод Рунге. Но для его применения надо знать, каков порядок точности исходной формулы. Предположим, что порядок точности р существует, но неиз- неизвестен нам. Оказывается-, и в этом случае можно уточнить результат, если расчеты проведены на трех (или более) сетках. Чтобы упростить алгоритм расчета, выберем три сетки с по- постоянным отношением шагов, т. е. с шагами h^^h, h2 — qh, h3 = q2h. Обозначим приближенное значение интеграла на k-ii сетке через Fk. и ограничимся главным членом погрешности; тогда можно написать k= 1,2,3. B2) Это система трех уравнений для определения неизвестных F, а, р. Вводя вспомогательные обозначения $=ahp, y = qp, преобра- преобразуем эту систему к следующему виду: F-F1 = p, F-F2 = pY F-F3 = py. B3) Перемножая крайние уравнения B3) и сравнивая с квадратом среднего уравнения, получим ч Р2у2 = (F — Fх) (F — F3) — (F — F2J; отсюда легко получить уточненное значение интеграла F = F1 + (F1-F,y/BFi-F1-F3}. B4) Попарно вычитая уравнения B3) друг из друга, получим или Следовательно, эффективный порядок точности исходной формулы B2) равен р = (In q)~4n [(Fs-Fa)/(F, -Fj]. B5) Описанный алгоритм был предложен Эйткеном в 1937 г. для ускорения сходимости итерационных процессов последовательного приближения, в кото- которых ошибка убывает примерно по геометрической прогрессии (см. главу V, § 2),
§ 1] ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ Погрешность численного интегрирования при изменении шага в q раз меняется приблизительно в qP раз; поэтому если сетки последовательно сгущаются в одно и то же число раз, то ошибка убывает именно по требуемому" закону. Замечание. Вычислять уточненное значение следует именнр по формуле B4), не преобразовывая ее. В данной записи из Fl вычитается поправка, в которой числитель и знаменатель имеют одинаковый порядок малости, поэтому заметной потери точности не происходит. Если же привести все члены в формуле к общему знаменателю, то в вычислениях придется удерживать много зна- знаков, чтобы избежать потери точности при округлениях. i _ Пример. Рассмотрим вычисление интеграла F = J Ух dx = а/з- и У подынтегральной функции даже первая производная не огра- ограничена, поэтому все приведенные ранее априорные оценки погреш- погрешности неприменимы. Мы не знаем, каков здесь эффективный порядок точности каждой из рассмотренных ранее формул чис- численного интегрирования. Составим таблицу 10 значений функции и вычислим интеграл по формулам трапеций и Симпсона при разных шагах (таблица 11). т X 0,00 0,25 0,50 0,75 1,00 а бл и ца 10 f(x) = Vx 0,0000 0,5000 0,7071 0,8660 1,0000 1,00 0,50 0,25 Трапеций 0,5000 0,6036 0,6433 Таблица 11 Симпсон 0,6381 0,6565 Эйткен 0,6680 Видно, что обе формулы дают результаты невысокой точности. Плохая точность формулы Симпсона означает, что формула тра- трапеций фактически имеет не второй порядок точности и уточне- уточнение методом Рунге здесь бессмысленно. А уточнение первого столбца таблицы процессом Эйткена существенно улучшает резуль- результат; попутно выясняется, что в данном примере эффективный порядок точности формулы трапеций ря«1,38. Эффективный порядок точности оказался не целым числом! С этим приходится встречаться, если функция имеет особенность, а формула интегрирования явно этого не учитывает, или если особенность имеет сама формула (это возможно в нелинейных формулах интегрирования, рассмотренных в § 2). Если никаких особенностей нет, то эффективный порядок точ- точности может только слегка отличаться от теоретического благо- благодаря наличию в погрешности не только главного члена, но и членов более высокого порядка малости. В этом случае при Л->0 эффективный порядок стремится к теоретическому.
Й4 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV г% этом основан быстрый метод контроля программ для ЭВМ. Зададим функцию, не имеющую особенностей, проведем расчеты на сгущающихся сетках и проверим, согласуется ли эффективный порядок точности с теоретическим. Сильное расхождение свиде- свидетельствует об ошибке в программе. 7. Формулы Гаусса — Кристоффеля. Параметрами формулы интегрирования C) являются узлы и веса. Однако, строя формулы трапеций, Симпсона, Эйлера, мы заранее задавали узлы и по ним находили веса. Поэтому мы не полностью использовали возмож- возможности общей формулы. Только в-формуле средних мы подобрали положение узла из соображений симметрии, что привело к сущест- существенному улучшению формулы. Формула C) с п узлами содержит всего 2я параметров; столь- столько же коэффициентов у многочлена степени 2п— 1. Значит, параметры можно подобрать так, чтобы квадратурная формула C) была точна для любого многочлена степени не выше 2п — 1 *). Покажем, как находятся узлы и веса этих формул. Будем считать, что вес положителен р(х)>0 и непрерывен на (а, Ь); он может обращаться в нуль или в бесконечность ь на концах отрезка так, чтобы существовал Sjp{x)dx. Известно**), а что при выполнении этих условий существует полная система алгебраических многочленов Рт{х), ортогональных на [а, Ь] с заданным весом: ь \ Рк (х) Рт (х) р (х) dx = 6*m \\Pk (x) Hi,. B6) a Все нули этих многочленов действительны и расположены на интервале (а, Ъ). Составим по узлам интегрирования многочлен n-й степени п «л (х) = П (х — хк). Функция / (х) = со„ (х) Рт(х) при т < п — 1 есть многочлен степени не выше 2п— 1; значит, для нее формула Гаусса — Кристоффеля точна. Тогда получим ь п \ соя (х) Рт (х) р (х) dx = 2 скап (xk) Pm (хк) = 0, B7) *) Первую такую формулу для р (х) з= 1 построил Гаусс. Случай произ- произвольного веса рассмотрел Кристоффель. **) Смотри, например, [24].
§ 11 ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ &5 так как &n(xk) = 0. Значит, многочлен со,, (х) ортогонален всем многочленам Рт (х) степени т ==g п — 1. Если разложить <в„ (х) в ряд по нашим ортогональным много- многочленам и этот ряд подставить в условие ортогональности B7), то получим т. е. все коэффициенты разложения bm = 0 при т^п—1. Это значит, что о>„ (х) с точностью до численного множителя совпа- совпадает с Рп{х). Значит, узлами формулы Гаусса — Кристоффеля являются нули многочленов соответствующей степени Рп (х), орто- ортогональных на [а, Ь] с весом р (х). Веса интегрирования нетрудно определить, если узлы уже найдены. Функция I 4=1, кфт есть многочлен степени п — 1, т. е. для нее формула Гаусса — Кри- Кристоффеля точна. Подставляя ее в формулу C) и учитывая, что эта функция равна нулю во всех узлах, кроме яг-го, получим веса формулы Гаусса — Кристоффеля П (x-xk)/{xm-xk)\dx. B8) ) -xk)\ ) Из этого выражения ничего нельзя сказать о знаке веса. Но если подставить в формулу интегрирования многочлен rfn (x) степени 2п — 2, для которого формула также точна, то получим соотно- соотношение ь из которого видно, что все веса положительны. Подставляя в фор- формулу Гаусса f(x) — \, получим соотношение 2ch=]p(x)dx, B9) *=1 о из которого следует равномерная ограниченность весов. Для наиболее употребительных весовых функций р (х) уз- узлы и веса формул Гаусса — Кристоффеля приведены в Приложе- Приложении вместе с соответствующими ортогональными многочленами.
96 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV Формулы Гаусса — Кристоффеля называют также формулами наи- наивысшей алгебраической точности, поскольку для произвольного многочлена степени выше 2и — 1 формула C) с п узлами уже не может быть точной. Заметим, что в принципе можно не обращаться к ортогональным много- многочленам, а просто подставить в C) функции вида f{x)—xm и получить систему уравнений для определения узлов и весов интегрирования b Mm = j xmp (x) dx. a (Величины Мт называются моментами весовой функции.) Однако это нелиней- нелинейная система; найти и исследовать ее решение очень трудно даже при неболь- небольших п. Рассмотрим некоторые частные случаи. а) Собственно формула Гаусса соответствует р(х) — \. Линей- Линейным преобразованием аргумента можно перейти к отрезку а = — 1, Ь~= 1. На нём ортогональны с единичным весом многочлены Лежандра. Если обозначить их узлы и соответствующие веса через 1ь, Ук, то обратным линейным преобразованием можно полу- получить узлы и веса для произвольного отрезка C1) В частности, при /г = 1 долучаем формулу средних. Погрешность формулы Гаусса (выражение для которой мы приводим без вывода) пропорциональна той производной, которая соответствует низшей неучтенной степени аргумента; верхняя граница погрешности равна max R\=- '- y—L-M2n^ ^ ¦ М2п, 1 B + 1)[B«)!]з 2,5 |М Ъп) [а. Ь] Формула Гаусса рассчитана на функции, имеющие достаточно высо- высокие производные, причем не слишком большие по абсолютной величине. Для- таких функций формула обеспечивает очень высо- высокую точность при небольшом числе узлов, ибо численный коэф- коэффициент в остаточном члене быстро убывает с ростом п. б) Формула Эрмита позволяет интегрировать на отрезке [—1, + 1] с весом р (х) — 1/]/1 — х2. При этих условиях ортого- ортогональны многочлены Чебышева первого рода Тп (х). Соответствующие
§11 ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ 97 узлы и веса интегрирования равны Отметим, что веса во всех узлах одинаковы. На произвольный отрезок эти узлы и веса преобразуются так же, как в формуле Гаусса. Погрешность формулы Эрмита не превышает max\R\ = nM2n/[2n-1Bn)\]. в) По формулам Гаусса — Кристоффеля возможно вычисление несобственных интегралов на полупрямой Os?a:<oo; если весо- весовая функция равна р (х) — хае •*, то ортогональными будут мно- многочлены Лагерра L"(x). To же относится к интегралам на всей прямой — со<Ж + со при весе р (х) = е~х2, только ортогональ- ортогональными будут многочлены Эрмита. Соответствующие примеры имеются в § 2. 8. Формулы Маркова. Потребуем, чтобы квадратурная формула C) была точна для многочлена как можно более высокой степени при дополнительном условии, что одна или обе границы также являются узлами интегрирования. Очевидно, если число узлов равно п и одна из границ —узел, то формула может быть точна для многочлена степени In— 2; если обе границы являются узлами —то для многочлена степени 2я — 3. Соответствующие формулы называют формулами Маркова. Они рассчитаны на гладкие функции и по точности м&чо уступают формулам Гаусса — Кристоф- Кристоффеля (для той же точности в формулах Маркова надо брать на один узел больше). Общие формулы разбирать не будем. Приведем только таблицу 12 узлов и весов для случая, когда оба конца отрезка являются узлами, а весовая функ- функция р(х) = 1; для простоты положим а = -— 1, 6 = + 1, ибо преобразовать узлы и веса для произвольного отрезка можно по формулам C1). Отметим, что в этом случае формула Маркова при п = 2 совпадает с формулой трапеций, а при я = 3 — с формулой Симпсона. Таблица 12 п 2 3 4 5 — 1; 1 — 1; 0; 1 -1; -1/5; 1/5; 1 — 1; —3/7; 0; 3/7; 1 Ч 1; 1 1/3; 4/3; 1/3 1/6; 5/6; 5/6; 1/6 1/10; 49/90; 64/90; 49/90; 1/10 Замечание 1. Формулы Маркова и формулы Гаусса —Кри- —Кристоффеля рассчитаны на получение очень высокой точности уже при небольшом числе узлов и ^4— 10. Поэтому для них не строят обобщенных формул типа G); исключениями являются только перечисленные выше формулы средних, Трапеций и Симпсона. Замечание 2. В математической литературе подробно раз- разбираются так называемые квадратурные формулы Чебышева. Это формулы типа C), в которых все веса одинаковы и равны
98 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV Ск=(Ь — а)/п, а положение узлов подбирается так, чтобы формула была точна для многочлена как можно более высокой степени. Однако серьезного практического значения эти формулы не имеют. Для функций высокой гладкости удобнее формулы Гаусса, а для недостаточно гладких функций — обобщенные формулы трапеций и средних. 9. Сходимость квадратурных формул. Стремится ли сумма C) при я->-оо к точному значению интеграла, и если стремится, то с какой скоростью? Обобщенная формула средних A6) является интегральной суммой. Следовательно, для любой непрерывной функции она сходится к точному значению интеграла при стремлении к нулю max (Xi — Xi-j). Это справедливо и для обобщенной формулы тра- трапеций G). Она тоже является интегральной суммой, соответ- соответствующей несколько иному выбору интервалов: нулевой интер- интервал—от Хо ДО Х\/2,'ПерВЫЙ — ОТ Х\/2 ДО Хз,2, ВТОрОЙ —ОТ Хз/2 ДО Хь/2 И Т. Д. Обобщенная формула Симпсона получается линейной комби- комбинацией двух обобщенных формул трапеций на равномерной сетке. При сгущении сетки каждая из последних формул сходится к общему пределу — точному значению интеграла. Значит, и формула Симпсона сходится для любой непрерывной функции. Более тонкими рассуждениями можно доказать сходимость формул Гаусса — Кристоффеля при п -> оо для любой непрерыв- непрерывной функции. Значительно сложнее вопрос о скорости сходимости; он связан с оценкой остаточного члена формул. Напомним, что если R = O(hp), то мы называем формулу сходящейся с р-м порядком точности. В большинстве квадратурных формул мы находили вид глав- главного члена погрешности; он выражался через интеграл от неко- некоторой производной функции. Попутно мы отмечали, что если заменить под интегралом производную на максимум ее модуля, ь т. е. заменить \\(& (х) dx>-^ ф — а) Мр, то мы получим мажорант- а ную оценку погрешности. Такие оценки определяют скорость сходимости. Согласно этим оценкам погрешность формул средних и трапеций есть О (/г2), а формулы Симпсона —О (/г4).* Эти оценки пригодны, если функция имеет ту производную, которая входит в оценку остаточного члена, причем эта произ- производная соответственно непрерывна или кусочно-непрерывна. Наличие у функции более высоких производных не улучшает оценку. Зато если у функции нет требуемой ограниченной про- производной, то сходимость может быть хуже, как мы видели в при- примере из п. 6.
§1] ПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ 99 Скорость сходимости наиболее распространенных квадратург ных формул для недостаточно гладких функций сейчас хорошо изучена. В таблице 13 приведены полученные в [25] мажорант- мажорантные оценки погрешности некоторых формул на классе функций, имеющих на [а, Ь] кусочно-непрерывную р-ю производную, огра- ограниченную по модулю константой Мр (примерно такие же оценки получаются, если /(р) (х) не ограничена, но интегрируема с квад- квадратом). Стрелка в таблице 13 означает перенос оценки из пре- предыдущего столбца. Таблица 13 Формула ^\ Трапеций Средних Симпсона Гаусса при ге = 4, Ь — а — 2 1 b~ah\l Ь-а\ ' 5 18 0.276М! 2 Ь-а , 12 НМ'1 4 81 ч 0,022М2 3 —>¦ 0,0024УМ3 4 —>¦ Ь—а 0,0003М4 Много Из таблицы 13 видно, что для функций малой гладкости, имеющих лишь первую или вторую производную, лучшие резуль- результаты дает обобщенная^ формула средних. Для функций высокой гладкости выгодны формулы Гаусса (отметим, что для функций малой гладкости формулы Гаусса дают примерно ту же точность, что и простейшие формулы, но формулы Гаусса с большим чис- числом узлов довольно сложны и поэтому невыгодны для таких функций). Простой и рекуррентный метод Рунге для обобщенных формул также s целесообразно применять только при достаточно высокой гладкости функций: если существует кусочно-непрерыв- кусочно-непрерывная ограниченная /^ (х), то можно рассчитывать лишь на точ- точность O(hp). Рассмотрим корректность численного интегрирования. Суще- Существование и единственность суммы C) очевидны, и надо исследо- исследовать только устойчивость. Во всех рассмотренных выше формулах веса положительны, поэтому при варьировании подынтегральной функции вариация суммы не превышает 2 | с/, j) • max | б/А j так что устойчивость по входным данным есть. Строго говоря, квадратурные формулы C) неустойчивы отно- относительно ошибок округления. Эти ошибки носят случайный
100 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV характер, но в среднем растут, как Уп, при увеличении числа узлов, так что график полной ошибки похож на пунктирную линию на рис. 15. Но эта неустойчивость слабая, и она прояв- проявляется только при расчете с небольшим C — 5) числом цифр. § 2. Нестандартные формулы 1. Разрывные функции. Пусть функция и ее производные кусочно-непрерывны; в точках разрыва подразумевается сущест- существование односторонних производных всех требуемых порядков. Разобьем отрезок [а, Ь] на отрезки так, чтобы на этих отрез- отрезках функция и некоторое число р ее низших производных были непрерывны; на концах этих отрезков в качестве значений функ- функции и производных возьмем соответствующие односторонние пре- пределы. Представим интеграл в виде суммы интегралов по отрезкам непрерывности. Применим к каждому отрезку квадратурную формулу порядка точности q, q^p. Если одновременно и оди- одинаково сгущать сетки на всех отрезках непрерывности, то поря- порядок точности ответа будет q, как и для непрерывных достаточно гладких функций. В этом случае методом Рунге — Ром'берга можно повысить порядок точности до р. Если же применять квадратурные формулы к разрывным или не гладким функциям, не выделяя особые точки указанным образом, то при сгущении сетки сходимость хотя и будет, но с невысокой скоростью и без четко выраженного порядка точ- точности. Мажорантную оценку ошибки вида О (hv) при этом обычно можно найти, но асимптотической оценки вида R^ahv, как пра- правило, не существует. При этом применять метод Рунге или про- процесс Эйткена будет нельзя. Пример. Рассмотрим F= $ (*|*|)<&= G/3). —1 Здесь подынтегральная функция непрерывная и гладкая, но вто- вторая производная имеет разрыв при х — 0. Если для этой функ- функции выделить отрезки непрерывности, то формула Симпсона дает точный ответ. Если же сгущать равномерную сетку делением пополам, то точка х = 0 никогда не будет узловой и следует ожидать плохой сходимости. Это подтверждается расчетами, при- приведенными в таблице 14. 2. Нелинейные формулы. Ранее мы видели, что нелинейная аппроксимация может существенно повысить точность расчетов, особенно для быстропеременных функций. В случае интегриро- интегрирования подбор подходящего приближения становится очень слож-
§2] НЕСТАНДАРТНЫЕ ФОРМУЛЫ 101 ным, ибо интеграл от аппроксимирующей функции должен точно вычисляться, иначе метод будет практически бесполезен. Фор м ул а~~—~_^__ Трапеций Симпсона 3 4,5000 3/2 2,6250 2,0000 3/4 2,4375 2,3750 Та 3/8 2,3555 2,3282 блица 14 0 2,3333 2,3333 Обычно стараются найти выравнивающие переменные, в кото- которых уже два свободных параметра обеспечивали бы удовлетвск рительную аппроксимацию. На отрезке [а, Ь] вводят сетку и на каждом интервале сетки функцию заменяют нелинейной интер- интерполяционной функцией, в которой параметры выражены через табличные значения функции. Например, если функция близка к экспоненте, то согласно B.19) / (X) [(X - *ц) 1П Если на каждом интервале проинтегрировать это выражение вместо исходной функции, то получим обобщенную квадратурную формулу Xi-х^) (ft -/м C3) i = 1 Разумеется, для неэкспоненциальных функций эта формула не обеспечит хорошей точности. Такие формулы напоминают обобщенную формулу трапеций, ибо они построены при помощи двухпараметрической интерпо- интерполяции лагранжева типа, которая для каждого интервала сетки выполняется отдельно. Если воспользоваться интерполяцией эрмитова типа, то получим формулы, сходные с обобщенной формулой средних. Например, если по-прежнему считать f(x)&& я^ае13* и потребовать правильной передачи функции и производ- производной в точке *,-_i/2, то получим Р* = Д-- 1/2/Д-1/2, аг = //_1/2Х Хехр(—p,-Xf 1/2). Использование этой аппроксимации на каждом шаге дает такую квадратурную формулу: n 2 1=1 'i-1/2 {exp [p, (Xi - Xi _ i/2)] - -exp[ i = ft -щ/fi -1/2. C4) Эта и предыдущая формулы написаны для произвольной сетки. Можно показать, что если исходная и аппроксимирующая функции имеют непрерывные вторые производные, то формулы
!02 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV такого типа имеют второй порядок точности. Оценим, например, погрешность формулы C4). Для этого разложим на интервале (xt-lt Xi) функцию ф(л;) = 1п/(л;) в ряд Тейлора ф (Х) = ф/_ 1/2 + (X — Xi- 1/2) ф?_ 1/2 + -j(x~Xt- 1/2J 4>i- 1/2 + • • • Используемые здесь производные можно найти, поскольку ф' {x) — d(\nf)ldx = f (x)lf(x) и т. д. Возвращаясь к функции f (х) и учитывая, что | ф" (х) | <J 1 в силу исходного предположения о почти экспоненциальном виде функции, получим /<*) = <***> = _*. ex Ux — x- ) '¦ + 1 (х-х- <J ¦ 4- Н-|(х-^_1/2JфГ_,/2 Если проинтегрировать последнее выражение по отрезку [xt г, xt] и просуммировать по всем отрезкам, то единица в квадратных скобках приведет к квадратурной формуле C4), а второй член даст главную часть погрешности N 1 V -t Ji— 1/2ф1— 1/2. = 1 где коэффициенты At выражаются некоторым образом через зна- значения интегрируемой функции и ее производных. Заменяя эти- коэффициенты их максимальными значениями, получим оценку погрешности N \R\^ max I Л/1 • шах (хь — **-iJ • У! (xt — jc;_x) = О (max Щ, ' * ttl i что и требовалось доказать. Нелинейные формулы повышенного порядка точности, анало- аналогичные формулам Симпсона или Гаусса, не употребляют, ибо их слишком сложно строить. Повышенный порядок точности получают (разумеется, если функции имеют требуемые непрерыв- непрерывные производные) таким приемом: строят подходящую несложную нелинейную формулу невысокого порядка точности и проводят по ней расчеты на последовательности сгущающихся равномер- равномерных или квазиравномерных сеток; полученные результаты уточ- уточняют методом Рунге — Ромберга или процессом Эйткена. Однако этот прием применим только при не очень крупном шаге (см. п. 3).
§ 2] НЕСТАНДАРТНЫЕ ФОРМУЛЫ 103 Отметим, что линейные однородные квадратурные формулы C) имеют те же свойства, что и сам интеграл: при умножении функ- функции на число сумма умножается на то же число, а при сложении функций соответствующие квадратурные суммы складываются. Для нелинейных квадратурных формул эти свойства могут не выполняться (то же относится к задачам интерполяции и диффе- дифференцирования). Например, формулы C3) и C4) не аддитивны. 3. Метод Филона. В радиотехнических задачах часто встре- встречаются функции f(x), описывающие несущее высокочастотное колебание еШх с модулированной амплитудой. Это быстропере- менные функции, и их производные /(^ (х) ~. о>р велики. Поэтому при интегрировании их по формулам § I приходится брать настолько мелкий шаг, чтобы выполнялось условие со/i-^l, т. е. чтобы одна осцилляция содержала бы много узлов интегриро- интегрирования. Это приводит к большому объему вычислений. Для уменьшения объема вычислений надо использовать апри- априорные сведения о подынтегральной функции. Такие функции можно представить в виде f (х) — у (х) ехр (тх), где частота <о известна, а амплитуда у (х) мало меняется за период основного колебания. Выбирая для у(х) несложные полиномиальные аппрок- аппроксимации, можно получить квадратурные формулы, называемые формулами Филона [45]. Построим, например, аналог формулы средних. Для этого при вычислении интеграла по отдельному интервалу сетки заме- заменим амплитуду ее значением в середине интервала. Погрешность этой замены определим, разлагая амплитуду по формуле Тейлора г (х) =y{x)-yk- 1/2я« (х-хк-1/2 Умножим амплитуду на несущую частоту, проинтегрируем по интервалу (хк-17 хк) и сложим интегралы по всём интервалам. После несложных выкладок получим квадратурную формулу XN N F = J у(х) ё«* dx «Д J /* -1/2 sin (f hk), hk = xk- **_!, C5) Xq k = 1 и ее погрешность xN 2 ^-./2(sin^-^cos^)exP(^_1/2). C6) /s—1
104 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV Если шаг интегрирования настолько мал, что со/г<4, то триго- тригонометрические функции в этих формулах можно разложить в быстро сходящиеся ряды. При этом нетрудно видеть, что фор- формула C5) действительно переходит в обобщенную формулу сред- средних A6), и то же имеет место для погрешности. Для формулы средних погрешность есть малая величина О (№). Однако для квадратурной формулы C5) малость шага гаранти- гарантирует малость погрешности, только если со/г<1, что при высокой несущей частоте требует очень малого шага /1<ш~1. Если же шаг не настолько мал и удовлетворяет условию со~1<Я>^1, то погрешность по порядку величины есть R = O{N(a^y'x). Следова- Следовательно, для малости погрешности C6) необходимо, чтобы ампли- амплитуда была почти постоянна, т. е. ее производная должна быть малой. Кроме того, можно сделать важный вывод: если со/г> 1, то метод Рунге — Ромберга для уточнения результата применять нельзя, ибо при этом зависимость погрешности от шага носит сложный (не степенной) характер. Поэтому для построения формул Филона высокой точности приходится использовать более сложные аппроксимации ампли- амплитуды. Например, воспользуемся линейным приближением У (х) ^^ Ук-1~Т ' " (X Xk-i), Xk-i^ X^X/t. Умножая на несущую частоту и интегрируя по одному интер- интервалу, легко получим xk-i суммирование по всем интервалам сетки дает /„—/ 2; ^ sin-<p Для равномерной сетки эту формулу удобнее представить в виде 2 Легко проверить, что при ш/г<1 полученные квадратурные фор- формулы переходят в обобщенную формулу трапеций. Если же ш/г> 1, то погрешность этих формул по порядку величины равна R = O(N(x>~ayxx); она мала, если закон изменения амплитуды близок к линейному.
§ 2] НЕСТАНДАРТНЫЕ ФОРМУЛЫ 105 Аналогично строятся формулы Филона для квадратичного или более сложных законов изменения амплитуды. Если амплитуда почти постоянна или почти линейна и т. д., то применение соответствующей формулы Филона нередко позво- позволяет интегрировать довольно крупным шагом h^xa'1' (например, шагом, равным длине несущей волны или еще более крупным). Описанные же в § 1 полиномиальные формулы требовали бы гораздо более мелкого шага /i-^co, т. е. большего объема вычислений. Однако формулы C5) — C8) годятся только в том случае, если несущая частота постоянна. Если частота «плывет» (напри- (например, при фазовой модуляции колебаний), то надо составлять другие формулы. 4. Переменный предел интегрирования. Пусть надо вычислить В принципе при каждом значении х его можно рассматривать как интеграл с постоянными пределами и вычислять одним из приведенных выше способов. Однако если надо определять интег- интеграл для очень многих значений х, то это невыгодно. Целесооб- Целесообразнее выбрать сетку и численным интегрированием высокой точности составить таблицу значений интеграла на этой сетке Fn = F(xn). Тогда и последний интеграл можно вычислять по простым формулам, ибо промежуток интегрирования мал. Возможен другой способ. Имея таблицу F(xn), можно нахо- находить F (х) интерполяцией по этой таблице. Так как одновременно всюду известна производная интеграла F' (х) = f (x) p (х), то можно воспользоваться эрмитовой интерполяцией, обеспечивающей высо- высокую точность. 5. Несобственные интегралы. Д л я интегралов с беско- бесконечными пределами есть несколько приемов вычисления. Прием 1—введение такой замены переменных, чтобы пре- превратить пределы интегрирования в конечные. Например, для интеграла со \f(x)dx, a>0, а замена x = a/(l — t) превращает полупрямую [а, со) в отрезок [0, 1]. Если после преобразования подынтегральная функция
106 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV вместе с некоторым числом производных остается ограниченной, то можно находить интеграл стандартными численными методами. Прием 2 —обрезание верхнего предела. Выберем настолько большое Ь, чтобы 00 \f{x)dx ь был меньше допустимой ошибки вычислений. Тогда его можно отбросить, а \f{x)dx а вычислить по квадратурной формуле. Вблизи верхнего предела подынтегральная функция мала, поэтому вычисление выгодно вести на квазиравномерных сетках, шаг которых велик при хрыЬ. Для уменьшения объема вычислений целесообразно при- приближенно вычислить отброшенную часть интеграла и учесть как поправку; это позволяет выбирать меньшее значение Ь. Прием 3 — использование формул Гаусса — Кристоффеля. Из подынтегральной функции надо выделить положительный мно- множитель, который можно рассматривать как вес для данных пре- пределов интегрирования. Например, дадим способ вычисления интегральной экспоненты B.50). Сдвигая нижний предел, приве- приведем интеграл к форме Рассматривая е~( как весовую функцию и обозначая через ?,-, yt нули многочленов Лагерра L'n (t) и соответствующие веса квад- квадратурной формулы, получим 2м?5- C9) Это выражение можно использовать как аппроксимирующую формулу. Например, одному и двум узлам интегрирования соот- соответствуют с • / \ е~х с ¦ / \ (* 4~ 3) е~х Если первая из этих формул пригодна лишь при больших аргу- аргументах, то вторая дает удовлетворительную точность ~ 5%. уже при х — 1, а при больших аргументах точность еще лучше, Прием 4 —построение нелинейных квадратурных формул, применимых на бесконечном интервале. Например, формула C4) при Р,<0 допускает стремление xt к бесконечности, если x,_i/2
§ 2] НЕСТАНДАРТНЫЕ ФОРМУЛЫ 107 остается конечным. Для практического применения таких формул удобно ввести квазиравномерную сетку на [а, со), ибо ее послед- последний интервал обладает требуемым свойством: его правая граница удалена в бесконечность, а середина остается конечной. Кроме того, на квазиравномерных сетках можно уточнять результат методом Рунге—Ромберга. Есл~и пределы интегрирования конечны, зна- значит, f(x) обращается в бесконечность в каких-то точках отрезка [а, Ь]. Будем считать, что вблизи особой точки \f (х) |=scM- \х — х\а, где —1<Сос<сО; случай а<—1, когда интеграл существует в смысле главного значения, надо разбирать отдельно. Особые точки разбивают отрезок на части. Рассмотрим приемы вычисле- вычисления интеграла по отдельному отрезку, у которого особыми точ- точками являются только одна или обе границы. Прием 1—аддитивное выделение особенности. Постараемся разбить подынтегральную функцию на сумму f (х) = ц> (х) 4-ty (х) > где ц>(х}— ограниченная функция, a ty(x) интегрируется аналити- ь ь у ь ческими методами. Тогда ^ г|э (х) dx вычисляем точно, а \ ф (х) dx а находим обычными численными методами. Заметим, что обычно разбиение на сумму делается выделением особенности в наиболее простом виде. Например, если f (х) = \f\/x A -\-х2), а интеграл вычисляется от точки х = 0, то основная особенность имеет вид ¦ф (х) = 1 f\/~x; если положить ф (х) = f (х) — -ф (л:) = 1 /УхA то полученная функция будет ограничена, что и тре- требуется. Прием 2 — мультипликативное выделение особенности. Пред- Представим подынтегральную функцию в виде / (х) = ф (х) р (х), где ф(х) ограничена, a p(*) положительна и интегрируема на отрезке. Тогда можно рассматривать р (х) как весовую функцию и приме- применять квадратурные формулы Гаусса — Кристоффеля. Если на обоих концах отрезка функция имеет особенности степенного вида, то узлами интегрирования будут нули многочленов Якоби. Например, т Здесь использовались многочлены Чебышева первого рода (см. Приложение). Прием 3 —построение нестандартных квадратурных формул, явно учитывающих характер особенности. Так, для приведенного выше интеграла D0) на отдельном интервале сетки (xbl, xi) можно аппроксимировать подынтегральную функцию выражением exp (Xi _ 1/2)/У 1 —х2, поскольку числитель — медленно меняющаяся
108 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ 1ГЛ. IV гладкая функция и основная особенность связана со знаменате- знаменателем. Эта аппроксимация легко интегрируется и приводит к квад- квадратурной формуле 1 \ — 1 1' у¦ dx (arcsin xt — arcsin х^ eXi ~ = —l, XN=l. D1) По погрешности аппроксимации подынтегральной функции можно заключить, что остаточный член этой формулы на произвольной сетке не превышает O(hmax). На специальной сетке xt = cos~ эта формула еще более точна, ибо при этом она переходит в квад- квадратурную формулу Гаусса — Кристоффеля D0), но это уже слу- случайное обстоятельство. Обычно хорошо составленная нестандарт- нестандартная формула имеет один и тот же порядок точности на равно- равномерных и неравномерных сетках. § 3. Кратные интегралы 1. Метод ячеек. Рассмотрим двукратный интеграл по прямо- прямоугольнику G {a^x^b, a^y^fJ). По аналогии с формулой средних можно приближенно заменить функцию на ее значение в центральной точке прямоугольни- прямоугольника. Тогда интеграл легко вычис- вычисляется: 1 р а п У у////, ш ! , y)dxdy^Sf(x, у), D2) dU A Рис. 18. Для повышения точности можно раз- разбить область на прямоугольные ячей- ячейки (рис. 18). Приближенно вычисляя интеграл в каждой ячейке по формуле средних и обозначая через Si, xit yt соответственно площадь ячейки и координаты ее центра, получим =Цfix, уд- D3) Справа стоит интегральная сумма; следовательно, для любой не- непрерывной / (х, у) она сходится к значению интеграла, когда периметры всех ячеек стремятся к нулю.
§ 31 КРАТНЫЕ ИНТЕГРАЛЫ 109 Оценим погрешность интегрирования. Формула D2) по самому ее выводу точна для f (х, у) = const. Но непосредственной подста- подстановкой легко убедиться, что формула точна и для любой линей- линейной функции, т. е. она соответствует аппроксимации поверхности, z = f (х, у) плоскостью. В самом деле, разложим функцию по фор- формуле Тейлора / (х, у) = f (х, у) + lf'x + т^ +1 ?f*x + W'xy +14%y + • • •, D4) где l — x — x, i\ = y — y, а все производные берутся в центре ячейки. Подставляя это разложение в правую и левую части квадратурной формулы D2) и сравнивая их, аналогично одно- одномерному случаю легко получим выражение погрешности этой формулы , y)dxdy-Sf(x, д)ъ ^-ls[(b-amx + (f>-arryyl D5) ибо все члены разложения, нечетные относительно центра сим- симметрии ячейки, взаимно уничтожаются. Пусть в обобщенной квадратурной формуле D3) стороны пря- прямоугольника разбиты соответственно на N и М равных частей. Тогда погрешность интегрирования D5) для единичной ячейки равна l \(bJr I fP\V1 Суммируя это выражение по всем ячейкам, получим погрешность обобщенной формулы = 0(N2 + M~2), D6) т. е. формула имеет второй порядок точности. При этом, как и для одного измерения, можно применять метод Рунге — Ромберга, но при одном дополнительном ограничении: сетки по каждой пе- переменной сгущаются в одинаковое число раз, т. е. отношение N/M остается постоянным. Обобщим формулу ячеек на более сложные области. Легко сообразить, что для линейной функции / (х, у) формула типа D2) будет точна в области произвольной формы, если под S под- подразумевать площадь области, а под х, у — координаты центра
по ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV тяжести, вычисляемые по обычным формулам S=\\dxdy, х = j ^ хdxdy, y = -j ^ ydxdy. D7) Разумеется, практическую ценность это имеет только для обла- областей простой формы, где площадь и центр тяжести легко опреде- определяются; например, для треугольника, правильного многоуголь- многоугольника, трапеции-. Но это значит, что обобщенную формулу" D3) можно применять к областям, ограниченным ломаной линией, ибо такую область всегда можно разбить на прямоугольники и тре- треугольники. Для области с криволинейной границей формулу D3) приме- применяют иным способом. Наложим на область G прямоугольную сетку (рис. 19). Те ячейки сетки, все точки которых принадле- принадлежат области, назовем внутренними; если часть точек ячейки принадлежит области, а часть —нет, то назовем ячейку гранич- граничной. Площадь внутренней ячейки равна произведению ее сторон. Площадью гра- граничной ячейки будем считать площадь той ее части, которая попадает внутрь G; эту площадь вычислим приближенно, заменяя в пределах данной ячейки истинную гра- границу области на хорду. Эти площади подставим в D3) и вычислим интеграл. Оценим погрешность формулы D3). В каждой внутренней ячейке ошибка со- составляет О (N~2) по отношению к значению интеграла по данной ячейке. В каждой граничной ячейке отно- относительная ошибка есть O(N~1), ибо центр прямоугольной ячейки не совпадает с центром тяжести входящей в. интеграл части. Но самих граничных ячеек примерно в N раз меньше, чем внутрен- внутренних. Поэтому при суммировании по ячейкам общая погрешность будет. О (АН), если функция дважды непрерывно дифференцируема, а граница области есть кусочно-гладкая кривая; это означает второй порядок точности. Вычисление площади граничной ячейки довольно трудоемко, ибо требует определения положения границы внутри ячейки. Можно вычислять интегралы по граничным ячейкам более грубо иди вообще не включать их в сумму D3). Погрешность при этом будет О (Л?), и для хорошей точности потребуется более подроб- подробная сетка. Метод ячеек переносится на большее число измерений. Мы видели, что к области произвольной формы его трудно приме- применять; поэтому всегда желательно заменой переменных преобразо- Рис. 19.
§ 3J КРАТНЫЕ ИНТЕГРАЛЫ HI вать область интегрирования в прямоугольный параллелепипед (это относится практически ко всем методам вычисления кратных интегралов). 2. Последовательное интегрирование. Снова рассмотрим инте- интеграл по прямоугольнику, разбитому сеткой на ячейки (рис. 18). Его можно вычислить последовательным интегрированием = [F(y)dy, = \f{x, y)dx. Каждый однократный интеграл легко вычисляется на данной сетке по квадратурным формулам типа C). Последовательное интегрирование по обоим направлениям приводит к кубатурным формулам, которые являются прямым произведением одномерных квадратурных формул F Ы «* 2 df (*<¦, Уу)> / = 2 CjF {yj), с i ИЛИ ,-, у,), Ci/ = CiCj. D8) Например, если по каждому направлению выбрана обобщен- обобщенная формула трапеций, а сетка равномерная, то веса кубат'урной формулы равны Су/(пхПу) = 1, 1/2 и 1/i соответственно для внут- внутренних, граничных и угловых узлов сетки. Легко показать, что для дважды непрерывно дифференцируемых функций эта формула имеет второй порядок точности и к ней применим метод Рунге — Ромберга. Вообще говоря, для разных направлений можно использовать квадратурные формулы разных порядков точности р и q. Тогда главный член погрешности имеет вид R — O(hpx-\-h<j\. Это надо учитывать в методе Рунге: при сгущении сеток надо сохранять отношение h^/hf постоянным, чтобы закон убывания погрешности был известным. Многократно сгущать сетку при этом условии нелегко, если рфц; поэтому желательно для всех направлений использовать квадратурные формулы одинакового порядка точ- точности. Можно подобрать веса и положение линий сетки так, чтобы каждая одномерная квадратурная формула была точна для много- многочлена максимальной степени, т. е. была бы формулой Гаусса;
112 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV тогда = \ Ф - а) (Р - а) xt = ~ (а + Ь) + у F - а) Ь, D9) у (Р -а) ЕУ, л, (рг(у) где %, у — нули многочленов Лежандра и соответствующие веса. Эти формулы рассчитаны на функции высокой гладкости и дают для них большую экономию в числе узлов по сравнению с более простыми формулами. Например, для т измерений кубатурная фор- формула Симпсона с Ът узлами и формула D8)—D9) с 2т узлами дают примерно одинаковую точ- точность, хотя формула Гаусса при т — 2 имеет вдвое меньше уз- узлов, а при т = 3 —втрое меньше, чем кубатурная формула Симп- Симпсона. Произвольная область. Метод последовательного инте- интегрирования можно применять к области произвольной формы, например, с криволинейной границей. Для этого проведем через область хорды, параллельные оси х, и на них введем узлы, рас- расположенные на каждой хорде так, как нам требуется (рис. 20). Представим интеграл в виде Рис. 20. , y)dx. <Pt (У) Сначала вычислим интеграл по х вдоль каждой хорды по какой- нибудь одномерной квадратурной формуле, используя введенные узлы. Затем вычислим интеграл по у; здесь узлами будут слу- служить проекции хорд на ось ординат. При вычислении интеграла по у имеется одна тонкость. Если область ограничена гладкой кривой, то при г/->а Длина хорды стремится к нулю не линейно, а как У^у — а; значит, вблизи этой точки F (у) ~]/ у — а. То же будет при г/->р\ Поэтому интегрировать непосредственно F (у) по формулам высокого порядка точности бессмысленно. Целесообразно выделить из F (у) основ- основную особенность в виде веса р (у) — V ($ — у) (у— а), которому соответствуют ортогональные многочлены Чебышева второго рода
§ 4] МЕТОД СТАТИСТИЧЕСКИХ ИСПЫТАНИЙ 113 (см. Приложение). Тогда второе интегрирование выполняется по формулам Гаусса — Кристоффеля р п i=i г Р —а E0) где 4>(y) = F(y)/p(y), а ?,- = cos[я//(л + 1)] и у,-—.нули и веса многочленов Чебышева второго рода. Чтобы можно было применять эту формулу, надо ординаты хорд на рис. 20 заранее выбрать в соответствии с узлами E0). Если это не было сделано, то придется ограничиться интегриро- интегрированием F (у) по обобщенной формуле трапеций, причем ее эффек- эффективный порядок точности в этом случае будет ниже второго (см. пример в § 1, п. 6). Кроме методов ячеек и последовательного интегрирования есть другие методы, в которых используется кубатурная формула вида / (г;). i Можно поставить задачу —найти оптимальные узлы и веса, т. е. дающие ми- минимальную погрешность на заданном классе функций. Частный случай этой задачи —нахождение весов и узлов, при которых формула точна для много- многомерного многочлена максимальной'степени. Оптимальные узлы и веса удается найти только для областей наиболее простой формы, таких как квадрат, круг, сфера. Зато их использование за- заметно. уменьшает объем расчетов. Это хорошо видно из таблицы 15, в клетках которой приведены минимальные числа узлов, при которых m-мерная кубатур- кубатурная формула может быть точна для многочлена степени п при последователь- последовательном интегрировании по формулам Гаусса и при использовании оптимальных /n-мерных коэффициентов. Таблица 15 . m 1 2 3 ——, п. — Последовательные Гаусса и оптималь- оптимальные Последовательные Гаусса Оптимальные Последовательные Гаусса Оптимальные 0 1 1 1 1 1 1 1 1 1 1 1 2 2 4 2 8 3 3 2 4 4 8 5 4 3 9 5 27 9 5 3 9 7 27 14 6 4 16 10 64 21 7 4 16 12 64 30 § 4. Метод статистических испытаний 1. Случайные величины. Пусть мы измеряем значение некото- некоторой величины \ (например, отклонение при стрельбе), на кото- которую влияет большое число различных факторов. Мы не можем
114 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV учесть их действие, поэтому заранее не известно, какое значение примет эта величина. Величину ? называют случайной с плотностью распределения р (х), если вероятность того, что величина примет значения между хх и х2, равна \p(x)dx. По смыслу вероятности, р (х) неотрица- неотрицательна и•нормирована -j- со р (х) 5s 0, § р (х) dx = 1. E1) — со Очевидно, если значения ? всегда заключены между а, Ь, то р(х) = § вне указанных пределов и интеграл E1) "надо брать только по отрезку [а, Ь]. Величина \ может быть дискретной, т. е. принимать только определенные значения хг с вероятно- вероятностями pi (например, уровни энергии квантовой системы). Дискрет- Дискретную величину можно формально объединить с непрерывной, если положить где b(x — Xi) есть б-функция. Если по значениям случайной величины вычисляется какая- либо функция /(?), то значения этой функции также являются случайными величинами. Такую функцию иногда называют слу- случайной. Равномерно распределенная величина. Рассмот- Рассмотрим следующую случайную функцию: I Y®= \ p(x)dx. E2) — со Она принимает значения OsCysgl и монотонно зависит от ?. Вероятность того, что у лежит между уг = у (?х) и у2 = у (|а), равна вероятности того, что \ лежит между \х и |2. А последняя ве- роятность есть \р{х)йх = уг — ух, т. е. она равна длине интер- вала по у и не зависит от положения этого интервала. Это зна- значит, что у (I) с равной вероятностью принимает любое значение на отрезке [0, 1]. Поэтому ее называют случайной величиной, рав- равномерно распределенной на отрезке [0, 1]. Плотность распределе- распределения у равна р(у)==1 при OsSy^l и P(y) = O вне этого отрезка. 2. Разыгрывание случайной величины. Из всех случайных ве- величин проще всего разыгрывать (моделировать) равномерно рас- распределенную величину у. Рассмотрим, как это делается.
§4] МЕТОД СТАТИСТИЧЕСКИХ ИСПЫТАНИИ 115 Возьмем какое-то устройство, на выходе которого с вероят- вероятностью V3 могут появляться цифры 0 или 1; появление той или другой цифры должно быть случайным. Таким устройством может быть бросаемая монета, игральная кость (четно —0, нечетно—1) или специальный генератор, основанный на подсчете числа радио- радиоактивных распадов или всплесков радиошума за определенное время (четно или нечетно). Запишем у как двоичную дробь уп=0, а^аз... и на место последовательных разрядов будем ставить цифры, выдаваемые генератором: например, уп = 0,010110... Поскольку в первом раз- разряде с равной вероятностью могут стоять 0 или 1, это число с равной вероятностью лежит в левой или правой половине отрезка 0==су=^1. Поскольку во втором разряде тоже 0 и 1 рав- равновероятны, число с равной вероятностью лежит в каждой поло- половине этих половин и т. д. Значит, двоичная дробь со случайными цифрами действительно с равной вероятностью принимает любое значение на отрезке 0^у<1. Строго говоря, разыграть можно только конечное количество разрядов k. Поэтому распределение будет не вполне требуемым; математическое ожидание My окажется меньше V2 на величину г^2^к~1 (ибо значение у~0 возможно, а значение у —1 невоз- невозможно). Чтобы этот фактор не сказывался, следует брать много- многоразрядные числа; правда, в методе статистических испытаний точность ответа обычно не бывает выше 0,1% = 10~3, а условие е<2~* дает &>10, что на современных ЭВМ перевыполнено с большим запасом. Псевдослучайные числа. Реальные генераторы слу- случайных чисел не свободны от систематических ошибок: несиммет- несимметричность монеты, дрейф нуля и т. д. Поэтому качество выдавае- выдаваемых ими чисел проверяют специальными тестами. Простейший тест — вычисление для каждого разряда частоты появления нуля; если частота заметно отлична от 1/2, то имеется систематическая ошибка, а если она слишком близка к 1/2, то числа не слу- случайные—есть какая-то закономерность. Более сложные те- тесты—это вычисление коэффициентов корреляции последователь- последовательных чисел или групп разрядов внутри числа; эти коэффициенты должны быть близкими к нулю. Если какая-то последовательность чисел удовлетворяет этим тестам, то ее можно использовать в расчетах по методу статисти- статистических испытаний, не интересуясь ее происхождением. Разрабо- Разработаны алгоритмы построения таких последовательностей; символи-
116 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV чески их записывают рекуррентными формулами Yi = /(Yi-i) илн yt = f(Vi-i, Y/-2. •••> Yi-*)- Такие числа называют псевдослучайными и вычисляют на ЭВМ. Это обычно удобнее, чем использование специальных генераторов. Но для каждого алгоритма есть свое предельное число членов последовательности, которое можно использовать в расчетах; при большем числе членов теряется случайный характер чисел, напри- например — обнаруживается периодичность. Первый алгоритм получения псевдослучайных чисел был предложен Ней- Нейманом. Возьмем число из 2г цифр (для определенности десятичных) и возведем его в квадрат. У квадрата оставим 2г средних цифр, откинув г последних и г (или г — 1) первых. Полученное число снова возведем в квадрат и т. д. Значе- Значения Y; получаются умножением этих чисел на 10~2/\ Например, положим /-=1 и выберем начальное число 46; тогда получим ( 46 ->-2П 6-*-121 -^144-*-196-*- 361->-1296 ... \ y = 0,46 0,11 0,12 0,14 0,19 0,36 0,29... Но распределение чисел Неймана недостаточно равномерно (преобладают значе- значения у<х/г. чт0 хорошо видно на приведенном примере), и сейчас их редко употребляют. Наиболее употребителен сейчас несложный и неплохой алгоритм, связанный с выделением дробной части произведения Ъ = {Ау,-1}, E4) где А — очень большая константа (фигурная скобка обозначает дробную часть числа). Качество псевдослучайных чисел сильно зависит от выбора величины А: это число в двоичной записи должно иметь достаточно «случайный» вид, ^хотя его последний разряд следует брать единицей. Величина у0 слабо влияет на каче- качество последовательности, но было отмечено, что некоторые зна- значения оказываются неудачными. При помощи экспериментов и теоретического анализа исследо- исследованы и рекомендуются такие значения: А = 513 и у0 = 2~36 для БЭСМ-4; Л = 517 и уо = 2~40 для БЭСМ-6. Для некоторых амери- американских ЭВМ рекомендуются А = 517 и у0 = 2~42; эти цифры свя- связаны с количеством разрядов в мантиссе и порядке числа, поэтому для каждого типа ЭВМ они свои. Замечание 1. В принципе формулы типа E4) могут давать очень длинные хорошие последовательности, если записывать их в нерекуррентном виде Yn = M"Yo} и все умножения выполнять без округления. Обычное округление на ЭВМ ухудшает качество псевдослучайных чисел, но тем не менее до 105 членов последо- последовательности обычно годятся.
§4] МЕТОД СТАТИСТИЧЕСКИХ ИСПЫТАНИЙ П7 Замечание 2. Качество последовательности улучшается, если ввести в алгоритм E4) небольшие случайные возмущения; например, после нормализации числа yt полезно засылать в пос- последние двоичные разряды его мантиссы двоичный порядок числа Ау1_г. Строго говоря, закономерность псевдослучайных чисел должна быть незаметна по отношению к требуемому частному примене- применению. Поэтому в несложных или удачно сформулированных зада- задачах можно использовать последовательности не очень хорошего качества, но при этом необходимы специальные проверки. Произвольное распределение. Для разыгрывания случайной величины с неравномерным распределением р (х) можно воспользоваться формулой E2). Разыграем у и определим | из равенства 6/ У;= J p(x)dx. — СО Если интеграл берется в конечном виде и формула несложна, то это наиболее удобный способ. Для некоторых важных распреде- распределений — Гаусса, Пуассона — соответствующие интегралы не берутся и разработаны специальные способы разыгрывания. 3. Вычисление интеграла. Значение случайной функции f (|) заключено между f(x) и f{x-\-dx), если i заключено между х и x-\-dx; вероятность этого события равна p(x)dx. Нетрудно понять, что математическое ожидание случайной функции и ее дисперсия соответственно равны U(x)dx, E5) f. E6) — со Таким образом, одномерный интеграл можно рассматривать как математическое ожидание случайной функции /(|), аргумент кото- которой есть случайная величина с плотностью распределения р(х). На этом основан первый способ статистического вычисления интегралов. Математическое ожидание можно приближенно вычислить на основании центральной предельной теоремы теории вероятностей; если г\ есть случайная величина, то среднее арифметическое мно- многих испытаний N
118 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV тоже есть случайная величина с тем же математическим ожида- ожиданием M^n = Mr\, причем при N -> оо распределение ?лг стремится к гауссову (нормальному) распределению с дисперсией D?,N — -jjDr]. При большом числе испытаний дисперсия ?yv мала, т. е. зна- значение среднеарифметического с хорошей вероятностью будет близко к математическому ожиданию. Поэтому можно положить + оо N E7) где I — случайная величина с плотностью распределения р(х). Оценим дисперсию отдельного испытания по формуле E6), заме- заменяя в ней математические ожидания на суммы типа E7); тогда дисперсия среднеарифметического приближенно равна ГГТ (i 2 /2 &> - [i 2 / &)]1 ¦ E8) Появление делителя N —I вместо Af перед фигурной скобкой обо- обосновывается в теории вероятностей; правда, это существенно только при очень малых числах испытаний. Ответ в методе статистических испытаний носит вероятност- вероятностный характер и в принципе может сколь угодно сильно отли- отличаться от точного значения интеграла. Однако, согласно свойст- свойствам нормального распределения, с вероятностью 99,7% ошибка не превосходит 31/Адг. Вероятной называют ошибку 0,675 ]/ДЛг, соответствующую 50%-ной вероятности; реальная ошибка обычно близка к этой величине — примерно вдвое больше или меньше. Таким образом, выполняя расчеты по формулам E7) —E8), мы одновременно с интегралом получаем неплохую апостериорную оценку ошибки. При увеличении числа испытаний N погрешность ответа будет убывать примерно, как l/j/ЛЛ Скорости современных ЭВМ позво- позволяют использовать в расчетах A/^IO6; поэтому на точность выше 0,1% в методе статистических испытаний трудно рассчиты- рассчитывать. В сложных задачах погрешность возрастает до 1 —10%. Поскольку погрешность имеет вероятностный характер, то зависимость \J\/~N относится не к самой погрешности, а лишь к ширине доверительного интервала. Поэтому нельзя приписы- приписывать методу статистических испытаний строгий порядок точности (вроде р = 1/2) я нельзя применять метод Рунге — Ромберга к рас- расчетам, сделанным с различными N.
§41 МЕТОД СТАТИСТИЧЕСКИХ ИСПЫТАНИЙ 119 Второй способ статистического вычисления применяется к интегралам вида § / (х) dx, причем на отрезке интегрирования о O^.f(x)^\. Произвольный интеграл можно привести к такому виду линейной заменой масштабов. Возьмем случайные числа у,-, равномерно распределенные на единичном отрезке. Будем рассматривать последовательные пары чисел (V2i. Y21+1) как координаты (xit у;) точек в единичном квад- квадрате на плоскости х, у (рис. 21). Эти точки будут случайными и равномерно распределенными в этом квадрате. Поэто- Поэтому вероятность попадания точки под кри- кривую y = f(x) равна площади, заключенной под кривой, т. е. искомому интегралу. Условие попадания точки под кривую есть 72;+1</(Угг); та Д°ля общего числа испытаний, которая удовлетворяет этому условию, дает приближенное значение ин- интеграла. 4. Уменьшение дисперсии. Точность ме- метода статистических испытаний можно уве- увеличить, выбирая специальную-случайную величину. Обозначим g (x) =f{x) p (х), тогда исходный интеграл примет вид F = ^ g (x) dx. Положим g(x) = f (x) p (х), где функция — оо р (х) ^ 0 и нормирована на единицу, так что ее можно считать плотностью распределения некоторой случайной величины. Как надо выбрать р(х), чтобы сделать вычисления наиболее точными, т. е. дисперсию результата — минимальной? В дисперсии отдельного испытания E6) последнее слагаемое [Mf (l)f равно квадрату искомого интеграла и тем самым не зави- зависит от выбора р(х). Значит, надо требовать Рис. 21. Добавляя условие нормировки плотности, перепишем эту задачу следующим образом: -j-co -J- со $ [g4x)/p(x)]dx = m\n, ^ p(x)dx=\. — СО —CO Приравняем нулю вариационные производные по плотности -(-со -(-00 5 <& = О, I 8p(x)dx = 0.
120 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV Очевидно, для равенства вариационных производных нулю необ- необходимо и достаточно, чтобы [g (х) /р (х)]2 = const, и ли р (х) = с 1 g (х) \. При этом дисперсия не только минимальна, но даже равна нулю, если g(x) знакопостоянно. В самом деле, тогда f(x) = \, и даже одно испытание сразу даст точный результат. Конечно, на практике взять p\x)—c\g(x)\ не удается. Для разыгрывания -случайной величины с такой плотностью необходимо решить уравнение Yi= \ \g(x)\dx, — CXI т. е. вычислить искомый интеграл, да еще с переменным верхним пределом! Поэтому обычно подбирают р(х) так, чтобы 1 \ p(x)dx — с» просто вычислялся, а само р (х) было по возможности ближе Kg"(л;). Смысл увеличения точности нетрудно понять. Ecmip(x)^\g(x)!, то / (х) почти постоянна и все отдельные испытания дают близкие результаты. Пример. Вычислим оо F =\e-*'dx. Положим р(х) —схе~х\ где константу с = 2е определим из усло- условия нормировки. Случайную величину с такой плотностью разы- разыграем по формуле Здесь удобнее считать переменным нижний предел интегрирова- интегрирования, что также допустимо. Теперь легко получаем N (=i Приемы уменьшения дисперсии позволяют уменьшать объем вычислений; они широко применяются не только при вычислении интегралов. Например, Бюффон заметил, что можно определить число я, бросая иглу на сетку параллельных линий и регистри-
§ 4] МЕТОД СТАТИСТИЧЕСКИХ ИСПЫТАНИЙ 121 руя процент случаев, когда игла пересекается с линией (рис. 22). Но для получения трех верных знаков требуется примерно 104 испытаний. Оказывается, если брать скрепленные крестом иголки, то для той же точности надо в 25 раз меньше испытаний, а три скрепленные снежинкой иголки дают экономию в 135 раз. Замечание. Нередко подынтегральная функция имеет на разных участках существенно разное поведение, и ввести хоро- хороший единый вес на всем отрезке интегрирования не удается. Тогда выгодно представить интеграл в виде суммы интегралов по отдельным участкам и вычислять каждый из них со своим весом. Это уменьшает дисперсию результата. 5. Кратные интегралы. Второй способ легко обобщается на многомерные интегралы / = $ / (х, у, z) dx dy dz по единичному в кубу G (для определенности мы выбираем трехмерное простран- пространство) ,_ если Os^f(x, у, г)^1 внутри этого куба. Рассмотрим куб G в четырехмерном пространстве х, у, г, и я случайные равно- равномерно распределенные в нем точки; координатами этих точек будут по- 1. следовательные четверки случайных /> / чисел y«+*, k = 0, I, 2, 3. Доля слу- /yj Z~ чайных точек, удовлетворяющая не- \ ^\ равенству уц+3<!(уа, Y4;+i. Уа+г), \ даст приближенное значение иско- \ мого интеграла. Напомним, что чем больше чис- число измерений, тем более жесткими Рис- 22- тестами надо проверять качество случайных или псевдослучайных чисел, используемых в рас- расчете. Замечание 1. Для функций произвольного вида можно получить при том же числе узлов точность в несколько раз более высокую; если использовать не случайные точки, а отрезки так называемых .^^-последовательностей. Это последователь- последовательности многомерных точек, которые обеспечивают более равномер- равномерное распределение и самих точек в пространстве, и всех их проек- проекций на грани и ребра многомерного куба. Особенно выгодно в расчетах с такими последовательностями выбирать числа точек N — 2r, ибо фактическая ошибка при этом оказывается обычно много меньше, чем по оценке дисперсии. Замечание 2. Для гладких функций можно получить более хорошие результаты при несложном построении сетки, если выбрать число узлов N = km, где т — число измерений. Разобьем единич- единичный куб на N кубиков со стороной l/k, в каждом кубике выбе- выберем одну случайную точку и вычислим по этим точкам интеграл. Дисперсия этого метода есть AN = O(N-l'2-Vm), т. е. она меньше
122 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV оценки О(Л/~1/2), получающейся при обычном применении метода Монте-Карло,. Первый способ. Дисперсия второго способа велика, и обычно первый способ статистического вычисления интегралов точнее. Пусть р (х, у, г)^0 есть многомерная плотность распре- распределения некоторой случайной величины. Тогда, аналогично одно- одномерному случаю, \f(x, у, z)p(x, у, z) dx йу dz = Mf (?, г\, ?)я« с N f(li, т)„ Ь). E9) Как найти случайную трехмерную точку с заданным распреде- распределением плотности по тройке равномерно распределенных случай- случайных чисел y3i, у3>+1> 7зг+2? Для этого надо свести разыгрывание многомерной плотности к последовательным разыгрываниям одно- одномерных случайных величин с плотностями R(x), R(y), R(z). Для разыгрывания координаты х построим одномерную плотность распре- распределения по этой координате при произвольных остальных координатах R{x)= $ |j р(*, у, z) dy dz. — со Очевидно, функция R (х) неотрицательна и нормирована на единицу, т. е. удовлетворяет предъявляемым к плотности требованиям E1). Поэтому формула разыгрывания есть 7з«= ] R(x)dx. — об Теперь одна координата разыграна. Надо найти плотность распределения по второй координате при фиксированной первой координате и произвольной третьей. Если первую координату фиксировать, а по третьей проинтегрировать, то полученное выражение не удовлетворяет условию нормировки (интеграл по у не равен 1). Нормируя его, получим искомую плотность -{- со R(y; ii)=-R(i() $ р (It, у, г) dz. — со Вторая координата разыгрывается по формуле Плотность распределения по третьей координате при фиксированных пер- первых двух координатах пропорциональна р (|^, г|;, г). Для нормировки надо положить Я (г; I,, nd^R'HUR-1^ Ь)Р(Ь. 1ь г); тогда интеграл по г равен единице. Соответственно формула разыгрывания
§ 4] МЕТОД СТАТИСТИЧЕСКИХ ИСПЫТАНИЙ 123 имеет вид Подставляя полученные координаты в E9), вычислим искомый интеграл. Все, что говорилось в п. 3 о точности расчета, полностью относится к много- многомерному случаю. Нелегко подобрать такой вид плотности р(х, у, z), чтобы она содержала основные особенности подынтегральной функции и при этом явно бы вычислялись все интегралы, возникающие при разыгрывании координат. Обычно пытаются выделить плот- плотность вида р(х, у, г) = р1 (х) р2(г/) Рз.(г), ибо тогда каждая коор- координата разыгрывается независимо от остальных по формуле вида E2), и легче подобрать интегрируемые выражения для одно- одномерных плотностей; к общему виду прибегают, только если точ- точность такого представления недостаточна. Какими методами удобнее вычислять интегралы — сеточными или статистическими? Точность метода статистических испытаний невелика, и для однократных интегралов он явно невыгоден. Для многих измерений положение резко меняется. Пусть функция т переменных интегрируется по сеточным формулам р-то порядка точности, причем сетка имеет п шагов по каждой переменной. Тогда полное число узлов есть N = nm, а погрешность расчета ег^п~р (разумеется, предполагается сущест- существование р-х кусочно-непрерывных производных функции). Поэтому число узлов, требуемое для достижения данной точности е, есть N r^ (l/e)m/P; оно экспоненциально растет при увеличении числа измерений. При интегрировании методом статистических испытаний погреш- погрешность е^АМ/2. Поэтому полное число узлов есть А/^A/еJ независимо от числа измерений. Очевидно, если число измерений т<2/?, то сеточные методы требуют меньшего числа узлов и более выгодны. Если т>2р, то статистические методы выгодней. И чем больше число измере- измерений, тем больший выигрыш дают статистические методы. В многомерном случае редко можно рассчитывать на,лучший . порядок точности, чем р = 2; тогда трехмерные интегралы выгод- выгодней вычислять сеточными методами, а пятимерные — уже стати- статистическими. Если же функция имеет только первые производные, то /7 = 1, и статистические методы становятся выгодными даже для трехкратных интегралов. 6. Другие задачи. Методы статистических испытаний применяют не толь- только - к численному интегрированию, а и во многих других случаях: задачи массового обслуживания, нахождение критических параметров ядерного реак- реактора, расчет защиты от излучения и т. д. Например, рассмотрим расчет надежности сложной конструкции, состоящей из многих элементов. Каждый элемент обычно испытывают на изготовляющем
124 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ [ГЛ. IV его заводе и снимают так называемую кривую отказов (рис. 23, а); это вероят- вероятность выхода элемента из строя после t часов работы. Чтобы снять такую кривую, надо заставить большую партию элементов работать до поломки. Ясно, что испытывать так готовую конструкцию слишком дорого. Рассмотрим конструкцию, состоящую из четырех элементов, причем поломка любого элемента выводит конструкцию из строя. Самый ненадежный элемент мы дублируем так, что после, поломки элемента включается дублер (рис. 23, б). Тогда конструкция сломается, если сломаются оба третьих элемента или любой другой. Если время жизни отдельного элемента есть t^, то время жизни конструкции равно T = mm(tlt U, t3 + t3, О- F0) Проведем математическое испытание конструкции. Разыграем выход каж- каждого элемента из строя при помощи равномерно распределенных случайных чисел у<- Откладывая Yi на оси ординат кривой отказов первого элемента, Pit) — 2 / 1 j 3' б) Рис. 23. получим на оси абсцисс его время жизни (рис. 23, а). Время жизни второго элемента определим по числу ^2 и т- ЯЛ разумеется, отказ каждого дублирую- дублирующего элемента надо разыграть отдельно. Затем по формуле F0) найдем время жизни конструкции в данном испытании. Повторяя такое испытание много раз можно найти среднее время работы конструкции т-~Ут- ~ N Li ' и построить ее кривую отказов. Если надо испытать слегка измененную кон- конструкцию, это можно сделать по той же программе, изменив в ней только формулу" F0). ЗАДАЧИ 1. Составить из обобщенных формул трапеций (8) и средних A7) такую линейную комбинацию, чтобы сократились главные части их погрешностей. Показать, что при этом получается обобщенная формула Симпсона A2). 2. Доказать для формулы трапеций на квазиравномерной сетке асимпто- асимптотическую оценку погрешности A0). 3. Построить трех-Гочечные разностные выражения для /' (х) на концах отрезка интегрирования. Подставляя их в формулу Эйлера B1), вывести квадратурную формулу Грегори. Найти погрешность этой формулы. 4. Для примера интегрирования функции f (х) — х\х\, приведенного в таблице 14, найти по таблице 13 мажорантную оценку погрешности приме- примененных квадратурных формул. Проверить, насколько фактическая ошибка
ЗАДАЧИ 125 на каждой сетке отличается от мажорантной. Убедиться, что фактическая погрешность не имеет вида J?=sa/iv. 5. Найти погрешность нелинейной квадратурной формулы C3) на равно- равномерной сетке. 6. Найти погрешность квадратурной формулы Филона C8), аналогичной формуле трапеций. 7. Для слабо меняющихся функций формулы средних и трапеций близки по точности. Почему их аналоги для быстро осциллирующих функций C5) и C7) имеют существенно разную точность? 8. Вывести формулу Филона, соответствующую квадратичной аппроксимации амплитуды по трем соседним узлам. Сравнить ее с формулой Симпсона. 9. Найти асимптотическое выражение погрешности квадратурной фор- формулы D1). 10. Найти формулу для определения числа я способом Бюффона (§ 4, п. 4) и дисперсию этого способа; для этого удобно свести бросания к вычислению интеграла статистическими методами. Сделать то же для иголок, скрепленных крестом и снежинкой.
ГЛАВА V СИСТЕМЫ УРАВНЕНИЙ В главе V рассмотрены методы решения систем алгебраических уравнений. В § 1 изложено решение линейных систем методом исключения Гаусса, а также вычисление определителя и обращение матрицы; дан обзор других методов решения этих задач. В § 2 приведены различные методы нахождения корня одного трансцендентного уравнения. В § 3 некоторые из этих методов обобщены на системы нелинейных уравнений. § 1. Линейные системы 1. Задачи линейной алгебры. Выделяют четыре основные задачи линейной алгебры: решение системы линейных уравнений Ах = Ь, где Л—квадратная матрица и х, Ь — векторы; вычисление опре- определителя; нахождение обратной матрицы; определение собствен- собственных значений и собственных век- векторов матрицы. В этом параграфе мы подробно рассмотрим первую задачу и попутно решим вторую и третью. Четвертая задача суще- существенно сложней, и ей посвящена следующая глава. Известно, что если deM=0, то система линейных уравнений или не имеет решения, или имеет бесчисленное множество решений. Если же det/l^O, то система имеет решение, притом единственное. Дальше мы будем рассмат- рассматривать только последний случай.. Все эти случаи хорошо иллюстрируются геометрически на системе двух уравнений (рис. 24). Каждому уравнению соответст- соответствует прямая в плоскости х, у, а точка пересечения этих прямых есть решение системы (для п уравнений решение есть точка пере- пересечения всех п гиперплоскостей в n-мерном пространстве). Если det^4=O, то наклоны прямых равны, и они либо параллельны, либо совпадают. В противном случае прямые имеют единственную точку пересечения. Рис. 24.
§ 1] ЛИНЕЙНЫЕ СИСТЕМЫ 127 На практике кроме существования и единственности решения важна еще устойчивость относительно погрешностей правой части и элементов матрицы. Формально перепишем линейную систему в виде х = А гЬ. Варьируя это равенство и определяя вариа- вариацию обратной матрицы из соотношения 6? = 6 (АА г) —А6А'1 -f- +6ЛЛ~1 = 0, получим 8х = А1(8Ь-6А -х). Формально устойчивость есть, ибо при det А ФО обратная матрица существует. Но если матрица А1 имеет большие элементы, то можно указать такой вид погрешности исходных данных, который сильно изменит решение. В этом случае систему называют плохо обусловленной (по-видимому, плохая обусловленность была изве- известна еще Гауссу). Очевидно, у плохо обусловленных систем det Л я« «йО; однако заметим, что,этот признак плохой обусловленности является необходимым, но недостаточным. Плохо обусловленная система геометрически соответствует почти параллельным прямым. При этом небольшое изменение наклона или сдвиг одной прямой сильно меняют положение точки пересечения (рис. 24, пунктир). В многомерном случае геометриче- геометрическая картина может быть более сложной. Так, для трех переменных возможен случай плохой обусловленности, когда соответствующие трем уравнениям плоскости пересекаются под большими углами (т. е. далеки от параллельности), но линии их попарного пересече- пересечения почти параллельны. В теоретических исследованиях обусловленность часто характеризуют числом х = ||Л|| • ||Л!! Это число зависит от того, какая норма-матриц выбрана, но при любой норме хЗ=1. Чем больше это число,,тем хуже обу- обусловленность системы; обычно х~103—10* уже означает плохую обусловлен- обусловленность. В практических расчетах этим определением плохой обусловленности пользуются редко, ибо для его проверки надо находить обратную матрицу, что при плохо обусловленной матрице А нелегко сделать. Чаще ограничиваются проверкой условия det^=»O, хотя оно является необходимым, но недостаточ- недостаточным, что видно из простого примера. Положим Л = е?, где ? — единичная матрица; тогда det Л = ея, и даже при не очень малых е детерминант высо- высокого порядка п очень мал. Но система с диагональной матрицей хорошо обусловлена, и для нее критерий х= \\A\\ • \\А1~Ц\ = 1 наиболее благоприятен. Методы решения линейных систем делятся на прямые и итера- итерационные. Прямые методы дают решение за конечное число дей- действий, просты и наиболее универсальны; они рассматриваются в этом параграфе. Для систем небольшого порядка п<200 при- применяются практически только прямые методы. Итерационные методы приведены в § 3; они выгодны для систем специального вида, со слабо заполненной матрицей очень большого порядка п?«103-~-105. Сравнительно недавно для решения плохо обусловленных систем стали применять методы регуляризации.
128 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V 2. Метод исключения Гаусса. Как известно из курса линей- линейной алгебры, решение системы линейных уравнений можно выра- выразить по правилу Крамера через отношение определителей. Но этот способ неудобен .для вычислений, ибо определитель найти не проще, чем непосредственно решить исходную систему «u^i + «12*2 + • • • + а1пхп = blf «21*1 + «22*2 + • ¦ • + «2«*« = Ь2, A) ««2*2 + • • • или короче Далее мы увидим, что решить эту систему можно примерно за 2/3п3 арифметических действий. Но даже если использовать для вычисления определителей наиболее быстрый метод, описанный в п.З, то для нахождения всех требуемых по правилу Крамера определителей надо 2/3п* действий! Таким образом, формула Кра- Крамера удобна для теоретического исследования свойств решения, но очень невыгодна для его численного нахождения. Начнем исследование системы A) с частного случая, когда численное решение находится особенно просто. Пусть матрица системы треугольная, т. е. все элементы ниже главной диагонали равны нулю. Тогда из последнего уравнения сразу определяем хп. Подставляя его в предпоследнее уравнение, находим хп~х и т. д. Общие формулы имеют вид ** U* к\ i=k+i I если a« = 0 при k~>l. Метод Гаусса для произвольной системы основан на приведе- приведении матрицы системы к треугольной. Вычтем из второго уравне- уравнения системы A) первое, умноженное на такое число, чтобы уничтожился коэффициент при хг. Затем таким же образом вычтем первое уравнение из третьего, четвертого и т. д. Тогда исклю- чатся все коэффициенты первого столбца, лежащие ниже главной диагонали. Затем при помощи второго уравнения исключим из третьего, четвертого и т. д. уравнений коэффициенты второго столбца. Последовательно продолжая этот процесс, исключим из матрицы все коэффициенты, лежащие ниже главной диагонали. Запишем общие формулы процесса. Пусть проведено исклю- исключение коэффициентов из k— 1 столбца. Тогда остались такие
§ 11 ЛИНЕЙНЫЕ СИСТЕМЫ 129 уравнения с ненулевыми элементами ниже главной диагонали: %at?x, = bl*>, k^i^n. C) /=* Умножим k-ю строку на число m>k> D) и вычтем из m-й строки. Первый ненулевой элемент этой строки обратится в нуль, а остальные изменятся по формулам E) ft?+1> = bS?-cmft&?), k<m, l^n. Производя вычисления по этим формулам при всех указанных индексах, исключим элементы &-го столбца. Будем называть такое исключение циклом процесса. Выполнение всех циклов называется прямым ходом исключения. Запишем треугольную систему, получающуюся после выполне- выполнения всех циклов. При приведении системы к треугольному виду освободятся клетки в нижней половине матрицы системы A). На освободившиеся места матрицы поставим множители cmk; их сле- следует запоминать, ибо они потребуются при обращении матрицы или уточнении решения. Получим itkXk — bi , F) C21 C31 C«l "is •• a23 • * a'31 Cn3 .. • ai« • ain ¦ a?! ь<» bT ьз' Треугольная система F) легко решается обратным ходом по формулам B), в которых всем коэффициентам надо приписать вверху (в скобках) индекс строки. Сделаем несколько замечаний. Исключение по формулам D)—E) нельзя проводить, если в ходд расчета на главной диаго- диагонали оказался нулевой элемент afl = 0. Но в первом столбце промежуточной системы C) все элементы не могут быть нулями: это означало бы, что detA=O. Перестановкой строк можно пере- переместить ненулевой элемент на главную диагональ и продолжить расчет.
130 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V Если элемент на главной диагонали а<*> мал, то эта строка умножается на большие числа cmk, что приводит к значительным ошибкам округления при вычитаниях. Чтобы избежать этого, каждый цикл всегда начинают с перестановки строк. Среди эле- элементов столбца а%\, m^k, находят главный, т. е. наибольший по модулю в k-м столбце, и перестановкой строк переводят его на главную диагональ, после чего делают исключения. В методе Гаусса с выбором главного элемента погрешность округления обычно невелика. Только для плохо обусловленных систем устойчивость этого метода оказывается недостаточной. Погрешность округления можно еще уменьшить, если выби- выбирать в каждом цикле элемент а^), т, l^k, максимальный по модулю во всей матрице. Однако точность при этом возрастает не сильно по сравнению со случаем выбора главного элемента, а расчет заметно усложняется, ибо требуется перестановка не только строк, но и столбцов. Этот способ невыгоден для ЭВМ и применяется только при расчетах с небольшим количеством знаков на клавишных машинах. Для контроля расчета полезно найти невязки: п rk = bk- Yi akixh 1<&=гсп. G) i= 1 Если они велики, то это означает грубую ошибку в расчете (ошибка в программе, сбой ЭВМ). Если они малы, а система хорошо обусловлена, то решение найдено достаточно аккуратно. Правда, для плохо обусловленных систем малость невязок не гарантирует хорошей точности решения. Метод Гаусса с выбором главного элемента надежен, прост и наиболее выгоден для линейных систем общего вида с плотно заполненной матрицей. Он требует дримерно п2 ячеек в опера- оперативной памяти ЭВМ, так что на БЭСМ-4 можно решать системы до 60 порядка. При вычислениях производится ^2/3п3 арифме- арифметических действий; из них половина сложений, половина умно- умножений и п делений. 3. Определитель и обратная матрица легко вычисляются методом исключения. В самом деле, вычитание строки из строки не меняет значение определителя. Значит, в процессе исключения элементов D)—E) абсолютная величина определителя не меняется, а знак может измениться благодаря перестановке строк. Опреде- Определитель же треугольной матрицы F) равен произведению диаго- диагональных элементов. Поэтому он вычисляется по формуле:, ±f{atl, (8)
§ 1] ЛИНЕЙНЫЕ СИСТЕМЫ 131 где знак зависит от того, четной или нечетной была суммарная перестановка строк. Для вычисления определителя требуется примерно п2 ячеек памяти и 2/3п3 арифметических действий. На примере вычисления определителя можно убедиться в экономичности хороших численных методов. Вспомним формальное определение определителя как суммы всевозможных произведений элементов, взятых из разных строк и столбцов. Таких произведений имеется п\ == \/~2пп (п/е)п, и прямое их вычисление уже при небольших /г=»ЗО требует астрономического числа действий — более 1030, что вряд ли когда-нибудь станет под силу ЭВМ. А метод исключения легко позволяет вычислять определители сотого и более порядка. Перейдем к вычислению обратной матрицы. Обозначим ее элементы через аш. Тогда соотношение АА~1 = Е можно записать так: (9) k= Видно, что если рассматривать 1-й столбец обратной матрицы как вектор, то он является решением линейной системы (9) с матрицей А и специальной правой частью (в которой на 1-й месте стоит единица, а на остальных —нули). Таким образом, для обращения матрицы надо решить п си- систем линейных уравнений с одинаковой матрицей А и разными правыми частями. Приведение матрицы А к треугольной по формулам D)—E) делается при этом только один раз. В дальней- дальнейшем при помощи чисел cmk по формуле E) преобразуются все правые части, и для каждой правой части делается обратный ход. При хорошей организации вычислений для обращения матрицы этим методом требуется примерно 2п2 ячеек оперативной памяти ЭВМ и 2п3 арифметических действий (можно уложиться в 3/2п2 ячеек, но это сильно усложняет программу и увеличивает время счета). Заметим, что при обращении матриц контролировать рас- расчет вычислением невязки R — E — AA'1 невыгодно: перемноже- перемножение матриц требует столько же действий Bп3), как и обращение матрицы! Любопытно отметить, что обращение матрицы сводится к реше- решению п систем линейных уравнений, а требует лишь втрое больше действий, чем решение одной системы уравнений. Это объясняется тем, что при решении линейной системы большая часть вычисле- вычислений связана с приведением матрицы к треугольному виду, что при обращении матрицы делается только один раз. Обратный ход и преобразования правых частей выполняются много быстрее. Поэтому, если требуется несколько раз решить линейную систему с одной и той же матрицей, то выгодно привести матрицу к треугольной форме F) только однажды, используя величины стк во всех последующих вычислениях.
Щ СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V 4. О других прямых методах. Есть очень много других прямых методов решения задач линейной алгебры. Рассмотрим формальные характеристики наиболее известных методов. Метод оптимального исключения имеет ту же скорость и требует той же памяти, что и метод Гаусса. Но если матрица вводится в оперативную память ЭВМ не вся сразу, а построчно, то для метода Гаусса требуется 1/2га2 ячеек, а для метода оптимального исключения достаточно 1/4п2 ячеек. Практи- Практическая ценность этого преимущества невелика, ибо построчный ввод означает много обращений к внешней памяти, т. е. сильное увеличение времени расчета. Кроме того, при построчном вводе невозможно выбрать главный элемент, что сказывается на ошибках округления. Метод окаймления мало отличается от метода оптимального исключения и имеет те же характеристики. Метод отражений требует вдвое большего числа действий, чем метод Гаусса (оперативная память та же). Метод ортогонализации втрое медленнее метода Гаусса. Им интересовались в надежде на то, что он позволит решать плохо обусловленные системы. Но выяснилось, что при больших п сама ортогонализация приводит к большой потере точности (сравните с разложением функции по неортогональным функ- функциям), и лучше использовать методы регуляризации. Метод Жордана имеет ту же скорость, что и метод Гаусса; при решении линейных систем он не дает никаких преимуществ. Но при обращении матрицы он требует меньшей оперативной памяти — всего я2 ячеек. Для решения хорошо обусловленных линейных систем общего вида метод • Гаусса является одним из лучших; при обращении матрицы немного выгоднее метод Жордана. Но для систем специального вида (например, содержащих многсг нулевых элементов) существуют более быстрые методы. Некоторые из них будут изложены далее. 5. Прогонка. Пусть матрица А содержит много нулевых эле- элементов, расположенных в матрице не беспорядочно, а плотными массивами на заранее известных местах. Тогда расчет по методу Гаусса можно организовать так, чтобы не включать эти элементы. Тем самым объем вычислений и требуемая память уменьшаются, зачастую очень сильно. На рис. 25 приведены структуры матриц, которые нередко встречаются в задачах физики и техники и допускают такое ускорение расчета; горизонтальными линиями изображены поло- положения ненулевых элементов, окаймлены границы массивов нулевых и ненулевых элементов. К таким матрицам относятся ленточные (а),, ящичные (в), квазитреугольные (д), почти треугольные (е) и многие другие*). Можно показать, что при обходе нулевых эле- элементов решение системы с почти треугольной матрицей требует *) Напомним принятую терминологию. Матрица называется верхней тре- треугольной, если все элементы ниже главной диагонали равны нулю (а^ = 0 при i > k); аналогично определяется нижняя треугольная матрица. Почти треуголь- треугольной называется матрица, элементы которой удовлетворяют соотношению а^ = = 0 при i>?+l, т. е. ненулевые элементы имеются не только в верхнем треугольнике, но и в примыкающей к нему «боковой диагонали». Трехдиаго- нальной называется матрица, у которой ненулевые элементы имеются только на главной диагонали и примыкающих к ней, т. е. <з^ = 0 при \i~k\> I. Нетрудно записать определения других типов матриц, изображенных на рис. 25.
ЛИНЕЙНЫЕ СИСТЕМЫ 133 всего 2п2 действий, а с ленточной — даже 1/ik2n, где k — ши- ширина ленты, т. е. выигрыш во времени счета очень велик. Выбор наибольшего элемента в таких расчетах делать нельзя, ибо перестановка столбцов разрушает специальную структуру матрицы. В матрицах с симметричной структурой недопустим N \ \ \ \ — В) В) ж) Рис. 25. даже выбор главного элемента. Но обычно в этом нет необходи- необходимости, поскольку подобные физические задачи приводят, как правило, к хорошо обусловленным матрицам с большими элемен- элементами на главной диагонали, для которых ошибки округления в методе Гаусса невелики. Наиболее важным частным случаем метода Гаусса является метод прогонки, применяемый к системам с трехдиагональной матрицей (они часто встречаются при решениях краевых задач для дифференциальных уравнений второго порядка). Такие системы обычно записывают в каноническом виде = сп = 0. A0)
134 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V Формула A0) называется разностным уравнением второго порядка, или трехточечным уравнением. В этом случае прямой ход (без выбора главного элемента) сводится к исключению элементов а;. Получается треугольная система, содержащая в каждом уравне- уравнении только два неизвестных, xt и xiJrV Поэтому формулы обрат- обратного хода имеют следующий вид: 1. t = rt, rt-1,..., 1. A1) Уменьшим в формуле A1) индекс на единицу и подставим в уравнение A0): at (liXi + r\t) - biXt + ctxi+1 = dh Выражая отсюда Xi через xi+1, получим Чтобы это выражение совпало с A1), надо, чтобы стоящие в его правой части дроби были равны соответственно |i+1 и T]i+i- Отсюда получим удобную запись формул прямого хода i=\, 2,... , п. Попутно можно найти определитель трехдиагональной матрицы detA=f[ (afa-bi). A3) Вычисления по формулам прогонки A2) —(И) требуют всего Зп ячеек памяти и 9п арифметических действий, т. е. они гораздо экономнее общих формул метода исключения. В формулах прямого и обратного хода начало счета «замаски- «замаскировано»: для начала (развязки) расчета формально требуется задать величины |г, т^ и хп+1, которые неизвестны. Однако перед этими величинами в формулах стоят множители аг или ?„+1~с„, равные нулю. Это позволяет начать вычисления, полагая, напри- например, Ъ1 = г\1 = х„+1 = 0. Покажем, что если выполнено условие преобладания диагональ- диагональных элементов l&i|S3=|a<l + ki| A4) (причем хотя бы для одного i имеет место неравенство), то в фор- формулах прямого хода A2) не возникает деления на нуль, и тем самым исходная система A0) имеет единственное решение. Для этого предположим, что | |j | < 1 при некотором значении индекса. Тогда легко проверяется цепочка неравенств \ai\\li\)^ \ci\/(\ci\+]ai\-\ai\x\li\)<L
§ 1] ЛИНЕЙНЫЕ СИСТЕМЫ 135 Поскольку можно положить ?1 = 0, отсюда по индукции следует | Н; | <С 1; значит, | bt — аг|,- [ > | ct \ Ss О, что и требовалось доказать. При выполнении условия A4) формулы прогонки не только безавостны, но и устойчивы относительно ошибок округления и позволяют успешно решать системы уравнений с несколькими сотнями неизвестных. Условие A4) является достаточным, но не необходимым усло- условием устойчивости прогонки. Конечно, можно построить примеры неустойчивости при несоблюдении этого условия. Но в практи- практических расчетах для хорошо обусловленных' систем типа A0) прогонка часто оказывается достаточно устойчивой даже при нарушении условия преобладания диагональных элементов. Заметим, что к линейным системам с трехдиагональнои матри- матрицей обычно приводят трехточечные разностные схемы для диф- дифференциальных уравнений второго порядка (глава VIII, § 2). 6. Метод квадратного корня. Этот метод пригоден только для линейных систем с эрмитовой*) матрицей А—Ан, и формулы расчета при этом несколько сложней, чем в методе Гаусса. Зато метод квадратного корня вдвое быстрей метода Гаусса. Метод основан на представлении эрмитовой матрицы системы в виде произведения трех матриц A=SHDS. A5) Здесь D — диагональная матрица с элементами du = ±\, S — верхняя треугольная матрица (sik = 0 при Ok), a SH — эрмитово сопряженная к ней нижняя треугольная матрица. Для полной определенности разложения потребуем вещественности и положи- положительности диагональных элементов sit > 0. Перепишем соотношение A5) ц, следующем виде: п min (k, I) (¦ = 1 i = \ ограничение верхнего предела в сумме связано с обращением в нуль элементов S ниже главной диагонали. Последнее равен- равенство можно записать в такой форме: *) Напомним, что матрица называется эрмитовой, если aik — a%i\ эрмитова матрица с вещественными элементами является симметричной.
I36 СИСТЕМЫ УРАВНЕНИИ [ГЛ. V или окончательно k-i / \ dkk = sign akh - 2 du} sik |a , \ *=1 / **-2^«|8«|», Об) Ski = (о« - Д] (tiiS?kSit)/(skkdkk) при А + 1 < / < п. В этих формулах сначала полагаем k — 1 и последовательно вычисляем все элементы первой строки матрицы S; при 6 =* 1 все суммы в формулах A6) отсутствуют. Затем полагаем & = 2 и вычисляем вторую строку и т.- д. Когда все элементы матриц найдены, то решение линейной системы Ах = Ь сводится к последовательному решению трех систем, двух треугольных и одной диагональной: что делается обычным обратным ходом по формулам Ух = &i/Sudn> 1-Х 08) / п 1 « о 1 Определитель матрицы вычисляется по формуле п del A =XI ^»s«- 09) Метод квадратного корня требует примерно 1lin? арифмети- арифметических действий, т. е. при больших га он вдвое быстрей метода Гаусса, и занимает вдвое меньше ячеек памяти. Это понятно, ибо метод использует информацию о симметрии'матрицы. Кроме того, для ленточной, ящичной и некоторых других структур матрицы А (рис. 25, а—г) матрица 5 будет иметь анало- аналогичную структуру, т.е. содержать массивы нулевых элементов на заранее известных местах. Учет этого позволяет сильно сократить объем вычислений,' как и в методе Гаусса. Однако заметим, что для ленточных матриц с узкой лентой, особенно для трехдиагональных, метод квадратного корня по скорости мало отличается от метода Гаусса и может быть даже медлен-
§ 11 ЛИНЕЙНЫЕ СИСТЕМЫ 137 ней, ибо среди производящихся в нем действий есть извлечение корня, медленно выполняемое на ЭВМ. Наиболее частый на практике случай эрмитовой матрицы — это вещественная симметричная матрица А. Тогда никаких комплексных чисел при вычислениях не возникает, так что матрица S тоже вещественная. Если вдобавок матрица А положи- положительно определенная (для этого необходима и достаточна положи- положительность всех ее главных миноров), то все du=\, и формулы A6) —A9) можно немного упростить. Расчет по формулам A6) невозможен, если при некотором значении индекса элемент sAi = 0 (в частности, su- = 0 при аи = 0). От этого можно избавиться, переставляя на место akh другой диагональный элемент аи ф 0, т. е. надо переставить и строки и столбцы, на пересечении которых лежат эти два элемента. Метод квадратного корня применяют в основном при числен- численном решении интегральных уравнений Фредгольма с симметричным ядром, ибо эта задача сводится к линейной системе с симмет- симметричной матрицей, обычно не содержащей нулевых элементов (при регуляризации таких задач симметрия матрицы сохраняется). 7. Плохо обусловленные системы. Если система Ллс = & плохо обусловлена, то это значит, что погрешности коэффициентов матрицы и правых частей или погрешности округления при расче- расчетах могут сильно исказить решение. Для уменьшения погреш- погрешностей округления можно было бы провести на ЭВМ расчет с двойным или тройным числом знаков. Но при наличии погреш- погрешности коэффициентов это бесполезно, и нужно регуляризовать исходную задачу. Исходную систему A) можно переписать в эквивалентной форме (Ах — Ь, Ах — Ь) = 0. Если коэффициенты матрицы или правые части известны не точно, то решение также является приближенным. Поэтому на самом деле мы можем требовать только приближенного равенства (Ах — Ь, Ах — &)«^0. Задача становится неопределенной, и для определенности надо добавить какие-то дополнительные4 услови-я. Таким условием может быть требование, чтобы решение как можно меньше отклонялось от заданного вектора х0, т. е. чтобы скалярное произведение (х — х0, х — х0) было минимально. Тогда регуляризованная задача формулируется следующим образом: (Ах — Ь, Ах — Ь)+а(х-х0, х — jco) = min, a>0. B0а) Это можно переписать в эквивалентной форме (х, А"Ах)-2(х, A"b) + (b, b) + + а[(х, Х)~2{х, *0)+ (•*„, *o)] = mint B06) где а —малый положительный управляющий параметр и Ан —
138 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V эрмитово сопряженная матрица. Варьируя х в [20), получим следующее уравнение: х0, B1) где Е — единичная матрица. Решая его (например, методом исключения Гаусса), найдем регуляризованное значение ха, завися- зависящее от параметра а. Остановимся на выборе параметра. Если а = 0, то система B1) переходит в плохо обусловленную систему вида A). Если же а велико, то регуляризованная система B1) будет хорошо обуслов- обусловленной благодаря присутствию в левой части хорошо обусловлен- обусловленной матрицы аЕ; но сама система B1) при большом а сильно отличается от исходной системы, и регуляризованное решение ха не будет близким к искомому решению. Поэтому слишком малое или слишком большое а непригодны. Очевидно, оптимальным будет наименьшее значение а, при котором обусловленность системы B1) еще удовлетворительна. Для фактического нахождения оптимума вычисляют невязку га = Аха — Ь и сравнивают ее по норме с известной погрешно- погрешностью правых частей 66 и с влиянием погрешности коэффициен- коэффициентов матрицы ЬА-х. Если а слишком велико, то невязка заметно больше этих погрешностей, если слишком мало —то заметно меньше. Проводят серию расчетов с различными а; оптимальным считают тот, в котором || га \\ ^ || 8Ь \\-{-\\8А -х\\. Для выбора х0 нужны дополнительные соображения; если их нет, то полагают хо = О. Обоснование изложенного метода дано в главе XIV. Заметим, что матрица системы B1) эрмитова, так что для ее решения можно применять метод квадратного корня. § 2. Уравнение с одним неизвестным 1. Исследование уравнения. Пусть задана непрерывная функ- функция / (х) и требуется найти все или некоторые корни уравнения /(л') = 0. B2) Эта задача распадается на несколько задач. Во-первых, надо исследовать количество, характер и расположение корней. Во-вторых, найти приближенные значения корней. В-третьих, выбрать из них интересующие нас корни и вычислить их с требуе- требуемой точностью. Первая и вторая задачи решаются аналитическими и графи- графическими методами. Например, многочлен Рп (х) = |] akx*
§ 2] УРАВНЕНИЕ С ОДНИМ НЕИЗВЕСТНЫМ 139 имеет п комплексных корней, не обязательно различных, и все корни лежат внутри круга \XP I "II I Правда, эта оценка не оптимальная; модули всех корней могут быть много меньше правой части неравенства, в чем легко п убедиться на примере многочлена Р(х)— ? (x — k). 4=1 Когда ищутся только, действительные корни уравнения, то полезно составить таблицу значений f(x). Если в двух сосед- соседних узлах таблицы функция имеет разные знаки, то между этими узлами лежит нечетное число корней уравнения (по меньшей мере один). Если эти узлы близки, то, скорее всего, корень между ними только один. Но выявить по таблице корни четной кратности сложно. По таблице можно построить график функции y = f(x) и графически найти точки его пересечения с осью абсцисс. Этот способ более нагляден и дает неплохие приближенные значения корней. Во многих -задачах техники такая точность уже доста- достаточна. В технике еще популярны графические методы решения урав- уравнений (номография). Построение графика зачастую позволяет выявить даже корни четной кратности. Иногда удается заменить уравнение B2) эквивалентным ему уравнением ф (х) = -ф (х), в котором функции у1 = (р(х) иу2 = $(х) имеют несложные графики. Например, уравнение л:sin*—1 = 0 удобно преобразовать к виду sinx=\fx. Абсциссы точек пере- пересечения этих графиков будут корнями исходного уравнения. Приближенные значения корней уточняют различными итера- итерационными методами. Рассмотрим наиболее эффективные из них. 2. Дихотомия (деление пополам). Пусть мы нашли такие точки х0, хх, что f(xo)f(xx)^O, т. е. на отрезке [х0, хх] лежит не менее одного корня уравнения. Найдем середину отрезка х.2 = (xo4-^i)/2 и вычислим / (х2). Из двух половин отрезка выберем ту, для которой / (х2) f (Хгран) «? 0. ибо один из корней лежит на этой половине. Затем новый отрезок опять делим пополам и выберем ту половину, на концах которой функция имеет разные знаки, и т. д. (рис. 26). Если требуется найти корень с точностью е, то продолжаем деление пополам до тех пор, пока длина отрезка не станет меньше 2е. Тогда середина последнего отрезка даст значение корня с требуемой точностью. Дихотомия проста и очень надежна: к простому корню она сходится для любых непрерывных функций f(x), в том числе недифференцируемых; при этом она устойчива к ошибкам округле- округления. Скорость сходимости невелика; за одну итерацию точность
140 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V увеличивается примерно вдвое, т. е. уточнение трех цифр тре- требует 10 итераций. Зато точность ответа гарантируется. Перечислим недостатки метода. Для начала расчета надо найти отрезок, на котором функция меняет знак. Если в этом отрезке несколько корней, то заранее неизвестно, к какому из них сойдется процесс (хотя к одному из них сойдется). Метод неприменим к корням четной кратности. Для корней нечетной высокой кратности он сходится, но менее точен и хуже устойчив к ошибкам округления, возникающим при вычислении f(x). Наконец, на системы уравнений дихотомия не обобщается. Дихотомия применяется тогда, когда требуется высокая надежность счета, а скорость сходимости малосущественна. ха ¦Zj Рис. 26. Рис. 27. 3. Удаление корней. Один из недостатков дихотомии — сходи- сходимость неизвестно к какому корню —имеется почти у всех итера- итерационных методов. Его можно устранить удалением уже найден- найденного корня. Если хх есть простой корень уравнения B2) и f (х) липшиц- непрерывна, то вспомогательная функция g(x)=f (х)/(х — х1) непрерывна, причем все нули функций f(x) и g(x) совпадают, за исключением хх, ибо g^^^O. Если хг — кратный корень уравнения B2), то он будет нулем g(x) кратности на единицу меньше; остальные нули обеих функций по-прежнему будут одинаковы. Поэтому найденный корень можно удалить, т. е. перейти к функции g(x). Тогда нахождение остальных нулей f (х) сведется к нахождению нулей g(x).^ Когда мы найдем какой-нибудь ко- корень х2 функции g(x), то этот корень тоже можно удалить, вводя новую вспомогательную функцию го (х) —'g(x)/(x — Jf2)=f(x)/(x — хх) х Х(х — х2). Так можно последовательно найти все корни f(x). Строго говоря, мы находим лишь приближенное значение корня Ы|. А функция g (x) =f(x)/(x — Xi) имеет нуль в точке хх И полюс в близкой к ней точке хх (рис. 27); только на некото-
§ 2] УРАВНЕНИЕ С ОДНИМ НЕИЗВЕСТНЫМ 141 ром расстоянии от этого корня она близка к g(x). Чтобы это не сказывалось при нахождении следующих корней, надо вы- вычислять каждый корень с высокой точностью, особенно если он кратный или вблизи него расположен другой корень уравнения. Кроме того, в любом методе окончательные итерации вблизи определяемого корня рекомендуется делать не по функциям типа g(x), а по исходной функции }(х). Последние итерации, вычис- вычисленные по функции g(x), используются при этом в качестве нулевого приближения. Особенно важно это при нахождении многих корней, ибо чем больше корней удалено, тем меньше нули вспомогательной функции G(x)=f (*)/JJ (x — Зс,) соответст- t вуют остальным нулям функции f(x). Учитывая эти предосторожности и вычисляя корни с 8—10 верными десятичными цифрами, зачастую можно определить де- десятка два корней, о расположении которых заранее ничего не известно (в том числе корней высокой кратности р~5). 4. Метод простых итераций. Заменим уравнение B2) экви- эквивалентным ему уравнением х = ф(х). Это можно сделать многими способами, например, положив <р(х) == х-f-ty(x)f (x), где ty(x) — произвольная непрерывная знакопостоянная функция. Выберем некоторое нулевое приближение х0 и вычислим дальнейшие при- приближения по формулам *„+1 = Ф(*я), п = 0, 1, 2, ... B3) Очевидно, если хп стремится к некоторому пределу х, то этот предел есть корень исходного уравнения. Исследуем условия сходимости. Если у(х) имеет непрерыв- непрерывную производную, тогда хпп — х=ц>(хп) — ф(х) = (х„-х) ф' (|), B4) где точка | лежит между точками хп и х. Поэтому если всюду ф' (х) | sg q <. 1, то отрезки | х„ — х | убывают не медленней чле- членов геометрической прогрессии со знаменателем q < 1 и после- последовательность хп сходится при любом нулевом приближении. Если )ф'(х)|>1, то в силу непрерывности | ф' (х) \ больше еди- единицы и в некоторой окрестности корня; в этом случае итерации не могут сходиться. Если |ф'(х)|<1, но вдали от корня |ф'(х)[>1, то итерации сходятся, если нулевое приближение выбрано достаточно близко к корню; при произвольном нулевом приближении сходимости может не быть. Эти рассуждения переносятся на липшиц-непрерывные функ- функции практически без изменении. Очевидно, что чем меньше q, тем быстрей сходимость. Вблизи корня асимптотическая сходимость определяется величиной | ц>' (х) | и будет особенно быстрой при <р' (л) = 0.
142 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V Значит, успех метода зависит от того, насколько удачно выбрано ф(х). Например, для извлечения квадратного корня, т.е. решения уравнения х2 — а, можно положить ц>(х) — а,/х или (f(x) = 1/.2[x-\-(a/x)] и соответственно написать такие итерацион- итерационные процессы: X 4-1 == ИЛИ X j-i === ~ %п Первый процесс вообще не сходится, а второй сходится при любом хо>О; сходится он очень быстро, ибо ф'(х)=0. Второй процесс используют при извлечении корня на клавишных машинах. Каков практический критерий сходимости, т. е. когда надо прекращать итерации B3)? Из B4) видно, что если ф' (х) < О, то итерации попеременно оказываются то с одной, то с другой стороны корня, так что корень заключен в интервале (хп, хп^). Это надежная, хотя несколько грубая оценка. Но она неприме- неприменима при ц>'*(х) > 0, когда итерации сходятся к корню монотонно, т. е. с одной стороны. Вблизи корня итерации сходятся примерно как геометриче- геометрическая прогрессия со знаменателем q — {xn — xn.^l(xn-x — xn _2). Чтобы сумма дальнейших ее членов не превосходила е, должен выполняться критерий сходимости \-я хп-1 хп хп-2 <g B6) При выполнении этого условия итерации можно прекращать. Легко заметить, что выражение в левой части есть поправка Эйткена D.24). Если последние три простые итерации уточнить процессом Эйткена, то это обычно заметно повышает точность расчета и позволяет ограничиться меньшим числом итераций. Метод простых итераций и почти все другие итерационные методы имеют важное достоинство: в них не накапливаются ошибки вычислений. Ошибка вычислений эквивалентна некото- некоторому ухудшению очередного приближения. Но это отразится только на числе итераций, а не на точности окончательного результата. Подобные методы устойчивы даже по отношению к грубым ошибкам (сбоям ЭВМ), если только ошибка не выбра- выбрасывает очередное приближение за пределы области сходимости. При обработке эксперимента возникают стохастические задачи, где ошибки определения функции велики и носят случайный характер. Погрешность функ- функции б/ приводит к погрешности корня 8х = 8/ {x)/f (х). Однако поскольку ошибки носят случайный характер, то методами статистики можно определить корень гораздо более точно, чем по указанной оценке. Рассмотрим простые итерации *л+1=хп-anf (хп) sign Г (х) B7а)
§2] УРАВНЕНИЕ С ОДНИМ НЕИЗВЕСТНЫМ 143 при дополнительных условиях B76) которым удовлетворяет, например, последовательность ап = A/п). Доказано [47], что хп->-х при п->со с вероятностью единица. Использование в фор- формуле B7а) знака производной не означает, что надо вычислять эту производ- производную: достаточно лишь определить ее знак по разности двух значений функции. Напомним, что стремлением к пределу с вероятностью единица'йазывается сходимость к пределу х в подавляющем большинстве случаев (т. е. при раз- разных нулевых приближениях и разных выборах последовательностей а„), хотя в отдельных случаях процесс может не сходиться или сходиться к другому пределу. Стохастические процессы сходятся медленно, поэтому к детермини- детерминированным задачам их нецелесообразно применять. 5. Метод Ньютона. Он называется также методом касатель- касательных или методом линеаризации. Если хп есть некоторое прибли- приближение к корню х, а / (х) имеет непрерывную производную, то уравнение B2) можно преобразовать следующим образом: Хд Рис. 28. Приближенно заменяя /' (g) на значение в известной точке хп, получим такой итерационный процесс: 11,1 ки ХП+1 Хп „ /„ ч • \^°) I \гп/ Геометрически этот процесс означает замену на каждой итерации графика y = f(x) касательной к нему (рис. 28). Метод Ньютона можно рассматри- рассматривать как частный случай метода про- простых итераций, если положить ф(х) = = x-[f(x)/f'(x)]. Тогда ф'(х) = (//"//'2). Если х есть р-кратный корень урав- уравнения B2), то вблизи него /(#)*=« f=&a(x — x)p\ отсюда нетрудно получить ф' (х) = (р— \Iр, т. е. 0й^ф'(л)<1. Для простого корня р = 1 и ф' (х) = 0. Используя результаты п. 4, можно сформули- сформулировать следующие условия сходимости итераций B8). Если нуле- нулевое приближение выбрано достаточно близко к корню, ньютонов- ньютоновские итерации сходятся; скорость сходимости велика для про- простого корня и соответствует скорости геометрической прогрессии для кратного корня. При произвольном нулевом приближении итерации сходятся, если всюду | //" j < (f'f; в противном случае сходимость будет не при любом нулевом приближении, а только в некоторой окрестности корня. Сходимость вблизи любого корня монотонна, что легко видеть из рис. 28; но вдали от корня возможна немонотонность итера- итераций. Отметим, что рис. 28 указывает еще на одно достаточное
144 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V условие сходимости итераций. Пусть /" (х) ^ 0 справа от корня на отрезке [х, а]; если х0 выбрано также справа от корня на этом отрезке, то итерации B8) сходятся, причем монотонно. То же будет, если. f" (x) sg: 0 слева от корня на отрезке [Ь, х], и на этом же отрезке выбрано нулевое приближение. Таким образом, итерации сходятся к корню с той стороны, с которой / (х) /" (х) ^ 0. Оценим скорость сходимости вблизи простого корня. По определению простых итераций, х — ха = ф (х) — ф (хп-г). Разлагая правую часть по формуле Тейлора и учитывая равенство ф' (х) = 0, получим = Va (Xn-t - xf ф" (I), (*„-!, х), B9) Таблица 16 т. е. погрешность очередного приближения примерно равна квад- квадрату погрешности предыдущего приближения. Например, если (rt— 1)-я итерация давала 3 верных знака, то n-я даст примерно 6 верных знаков, а (п+1)-я — примерно 12 знаков. Это иллю- иллюстрирует быструю сходимость вблизи корня. Разумеется, вда- вдали от корня подобные сообра- соображения неприменимы'. Если вычисляется корень высокой кратности, то /' (х) в знаменателе формулы B8) ста- становится малой вблизи корня. Чтобы не было потери точности, отношение / (x)/f (x) надо вы- вычислять достаточно аккуратно. К остальным погрешностям рас- расчета метод Ньютона хорошо устойчив. Для нахождения корней произвольной дифференцируемой функции чаще всего применяют метод Ньютона, особенно если известны разумные начальные приближения для корней. Пример. Рассмотрим решение уравнения f(x) ==x2 — а = 0. Тогда общая формула метода Ньютона B8) принимает вид п 0 1 3 4 V метод Ньютона 1,0000 2,5000 2,0500 2,0001 хп> метод секущих 1,0000 2,5000 1,8571 1,9836 — хп 2хп : Мы получили вторую формулу B5), которая, как отмечалось раньше, позволяет очень быстро находить квадратный корень с помощью только сложения и деления. Для иллюстрации в таб- таблице 16 приведен ход итераций при извлечении квадратного корня из а = 4. Видно, что сходимость очень быстрая; несмотря на неважное нулевое приближение, уже третья итерация дает точность 0,005%. Попутно можно заметить, что вблизи корня итерации сходятся с одной стороны, т. е. монотонно, хотя первая итерация дает переброс на другую сторону корня.
§2] УРАВНЕНИЕ С ОДНИМ НЕИЗВЕСТНЫМ 145 6. Процессы высоких порядков. В методе простых итераций выберем функ- функцию ф (х) так, чтобы выполнялось ф' {х) = ф" (х) ==...= ф'Р-1> (х) = 0, ф'Р> (х) ^ 0. C0) Итерационный процесс B3) с такой функцией называют стационарнщм про- процессом р-го порядка. Скорость сходимости этого процесса вблизи корня можно получить из следующих равенств: Если ] ф'р) (х) | ^ Мр, то отсюда следует I) \Xo-xfn. C1а) C16) Сходимость при р = 1 называют линейной (это собственно метод простых итераций), при р = 2 — квадратичной (например, метод Ньютона), а при р = 3 — кубической. Очевидно, чем больше р, тем быстрей сходятся итерации вблизи корня; к сожалению, тем меньше область гарантированной сходимости этих приближений. Фактически у процессов высокого порядка выход на их асимптотическую скорость сходимости C1) обычно наступает только тогда, когда итерации уже почти сошлись, т. е. для получения всех верных разрядов числа осталось сделать одну—три итерации. Поэтому такие процессы (за исключением метода парабол) редко употребляются. 7. Метод секущих *) [48]. В методе Ньютона требуется вы- вычислять производную функции, что не всегда удобно. Можно заменить производную первой разде- раздей ленной разностью, найденной по двум i последним итерациям, т. е. заменить касательную секущей. Тогда вместо процесса B8) получим Ля+1 Лн (хп) C2) ftt) •Zj X? Xf Рис. 29. Xg Для начала процесса надо задать х0 и хг (рис. 29). Такие процессы, где для вычисления очередного приближения надо знать два предыдущих, называют двухшаговыми. Эти, казалось бы, небольшие изменения сильно влияют на характер итераций. Например, сходимость итераций может быть немонотонной не только вдали от корня, но и в малой окрест- окрестности корня. Скорость сходимости также изменяется. Иллюстра- Иллюстрацией служит приведенный в таблице 16 расчет по методу секу- секущих; для удобства сравнения с методом Ньютона первые два *) В математической литературе это название нередко употребляют для другого метода, который по его геометрической интерпретации следовало бы называть методом хорд.
146 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V приближения взяты одинаковыми. Видно, что метод секущих сходится медленнее. Скорость сходимости можно оценить, разлагая все функции в C2) по формуле Тейлора с центром х. Получим с точностью до бесконечно малых более высокого порядка 1-х), <* = -щгщ- C3) Решение этого рекуррентного соотношения естественно искать в виде х„+1 — х = аа (х„ — хД аналогичном B9) или C1а). Под- Подставляя эту форму в соотношение C3), получим сф = 1, р2 —р — 1 =0. C4) Только положительный корень р квадратного уравнения C4) соответствует убыванию ошибки, т. е. сходящемуся процессу. Следовательно, в методе секущих 1 { f ч C5) +1)^1,62, A/C)^0,62, в то время как в методе Ньютона ошибка убывает быстрей (соответствуя Р —2). Но в методе Ньютона на каждой итерации надо вычислять и функцию, и производную, а в методе секущих — только функцию. Поэтому при одинаковом объеме вычислений в методе секущих можно сделать вдвое больше итераций и полу- получить более высокую точность. В знаменателе формулы C2)-стоит разность значений функции. Вдали от корня это несущественно; но вблизи корня, особенно корня высокой кратности, значения функции малы и очень близки. Возникает потеря значащих цифр, приводящая к «разболтке» счета. Это ограничивает точность, с которой можно найти корень; для простых корней это ограничение невелико, а для кратных может быть существенным. • Заметим, что приводить формулу C2) к общему знаменателю не следует: увеличится потеря точности в расчетах. От «разболтки» страхуются так называемым приемом Гарвика. Выбирают не очень малое е, ведут итерации до выполнения условия \хп+1 — хп\<.? и затем продолжают расчет до тех пор, пока \хп+1 — хп\ убывают. Первое же возрастание обычно озна- означает начало «разболтки»; тогда расчет прекращают и последнюю итерацию не используют. 8. Метод парабол. Метод секущих можно рассматривать как замену функции f (х) интерполяционным многочленом первой По трем последним
§21 УРАВНЕНИЕ С ОДНИМ НЕИЗВЕСТНЫМ 147 итерациям можно построить интерполяционный многочлен второй степени, т. е. заменить график функции параболой. Запишем интерполяционный многочлен в форме Ньютона <^2 (*) = / (х„) + (Х- Х„) f (хп, *n-i) + (* - Х„) (X - Xn-Jf (Хп, *„_!, *л_2). Приравнивая его нулю, получим квадратное уравнение az2 + bz + c = 0, C6a) где b^aiXn-Xn-J + fiXn, *„-!), c = f(xn). Тот из двух корней квадратного уравнения C6), который меньше по модулю, определяет новое приближение х„+1 = хп-\-г. Очевидно, для начала расчета надо задать три первых при- приближения х0, ху, х2 (обычно наугад выбирают три числа), т. е. процесс является трехшаговым. Метод парабол построен по образцу методов третьего порядка. Однако замена производных разделенными разностями приводит к существенному уменьшению скорости сходимости. Рассужде- Рассуждениями, аналогичными рассуждениям в п. 7, можно показать, что вблизи простого корня выполняется соотношение -х\ Г" 6/' (х) 0,42 C7) т. е. сходимость даже медленнее квадратичной. Вблизи кратного корня сходимость еще медленнее (хотя и более быстрая, чем линейная). Заметим, что строить аналогичные методы с исполь- использованием интерполяционного многочлена еще более высокой сте- степени невыгодно: сходимость все равно будет медленней квадра- квадратичной, а расчет сильно усложняется. В методе парабол «разболтка» счета вблизи корня сказывается еще сильней, чем в методе секущих, ибо в расчете участвуют вторые разности. Тем не менее корни можно найти, с хорошей точностью; для определения оптимального числа итераций удобно пользоваться приемом Гарвика, описанном в п. 7. Метод парабол имеет важное достоинство. Даже если все пре- предыдущие приближения действительны, уравнение C6) может привести к комплексным числам. Поэтому процесс может естест- естественно сойтись к комплексному корню исходного уравнения. В методах простых итераций, касательных или секущих для сходимости к комплексному корню может потребоваться задание комплексного начального приближения (если / (х) вещественна при вещественном аргументе). Корни многочлена. Метод парабол оказался исключи- исключительно эффективным для нахождения всех корней многочлена высокой степени. Если / (х) — алгебраический многочлен, то, хотя
148 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V сходимость метода при произвольном начальном приближении и не доказана, на практике итерации всегда сходятся к какому- нибудь корню, причем быстро. Для многочлена частное / (х)/(х — х) есть тоже многочлен; поэтому последовательно удаляя найденные корни, можно найти все корни исходного многочлена. Замечание 1. Если /(х) — многочлен высокой степени, то возникают дополнительные трудности. Многочлен быстро возра- возрастает при увеличении аргумента, поэтому в программе для ЭВМ должна быть страховка от переполнения. Обычно вводят масш- масштабные множители, величина которых связана с диапазоном изме- изменения аргумента. Замечание 2. Наибольшие по модулю корни многочлена высокой степени могут быть очень чувствительны к погрешности коэффициентов при старших степенях. Например, корнями мно- многочлена 20 k= 1 являются последовательные целые числа xk = 1, 2,..., 20. А слегка измененный многочлен Р20 (х) = Р20 (х) — 2~23х19 имеет такие корни: 1,0; 2,0; ...; 8,0; 8,9; 10,l±0,6i; ...; 19,5±1,9»; 20,8 (здесь приведен только один знак после запятой). Кратные или близкие корни могут быть слабо устойчивыми даже при меньших степенях многочлена. Замечание 3. Для удаления вычисленных корней надо., делить многочлен. Это вносит погрешность округления в коэф- коэффициенты и влияет на точность нахождения следующих корней. На практике отмечено, что если сначала удалять меньшие по модулю корни, точность падает мало, но если надать удаление с больших корней, точность может упасть катастрофически. Поэтому за начальное приближение берут хо = —1, xt = -\-l. х% = 0; тогда итерации обычно сходятся к наименьшему по модулю корню. Его удаляют и по такому же начальному приближению ищут следующий корень и т. д. При такой организации вычис- вычислений потеря точности будет небольшой. 9. Метод квадрирования. Этот метод позволяет найти все корни много- многочлена. Запишем многочлен и-й степени двумя способами: Рп (*) = S а*** = оя П <* - **)• <38) k-o i=i где xi — корни многочлена. Сравнивая обе формы записи, получим равенства
§21 УРАВНЕНИЕ С ОДНИМ НЕИЗВЕСТНЫМ 149 Виета п C9) Предположим, что корни величине: | xj; | :> | х2 \^>... *j ближенные значения корней многочлена сильно различаются по абсолютной • | хп |. Тогда из равенств Виета получаются при- при«1 D0) Если модули корней мало различаются, то эти формулы слишком неточны. Но квадраты модулей будут различаться сильней, чем сами модули. Поменяем в многочлене C8) знаки всех корней, что эквивалентно смене знака у всех нечетных коэффициентов. Умножая измененный многочлен на исходный, полу- полу21 а"хк\\ 21 (-1)»-'01*4=4 П (x*-*m) = =1 J L'=l J m=l D1) Многочлен Qn (г) имеет n-ю степень и называется квадрированным многочленом. Его корни равны квадратам корней исходного многочлена. Нахождение квад- рированного многочлена сравнительно трудоемко; его коэффициенты можно вычислять по формулам = 2! (— i a = min (I, n-t). D2) Для фактического выполнения этих вычислений удобно записать произведения коэффициентов с нужными знаками в форме таблицы 17; знаки ставятся в шахматном порядке. Произведения суммируются по косым строкам, как указано стрелками. Таблица 17 а0 а2 ап -а10о ^ а2а, ад а2 ^0^2 ¦ * * — IZjuNj • • • ±о«оа ап + а1пп ±.агап апап Для квадрированного многочлена корни по формулам D0), где вместо а/, надо вставить bk, определятся точнее. Если результат будет мало отличаться от предыдущего, то на нем можно остановиться. Если отличие заметное, то квадрирование надо повторить. Повторяя квадрирование много раз, получим
150 СИСТЕМЫ УРАВНЕНИИ [ГЛ. V быстро сходящийся итерационный процесс (можно показать, что его сходимость будет квадратичной). При различающихся по модулю корнях после многократного квадрирова- ния выполняются соотношения Ьп-i bn > Ьп-, Ьп-, bo b\ Если среди корней есть равные по модулю (в частности, кратные), то это соотношение нарушается. Например, если второй корень будет двукратным, то получим bn-i bn ^* Ьп-2 bn^i Ьп-з Ьп-2 bn-i bn-s Если корни равны только по модулю, но хк Ф ^-(например, комплексно- сопряженные корни), то это случайное совпадение. Такие корни удобнее всего разделять сдвигом. Рассмотрим многочлен R (х) — Рп (х—?), где g — случайно выбранное комплексное число. Корни многочлена R(x) будут уже не равны между собой по модулю, ибо они отличаются от корней исходного многочлена на комплексную величину |. Кратные корни разделить сдвигом нельзя. Для них надо составлять спе- специальные формулы, явно учитывающие, какой корень какую кратность имеет. Определить кратность корней можно по поведению отношений соседних коэф- коэффициентов. Обратный переход от корней квадрированных уравнений к корням исход- исходного уравнения осуществляется последовательным извлечением квадратного корня. При этом появляются ложные корни; их надо обнаружить подстановкой в исходное уравнение и отбросить. Метод квадрирования позволяет легко выполнить все расчеты на клавиш- клавишных машинах. Он не требует задания какого-либо нулевого приближения. Но для программирования на ЭВМ этот метод не особенно удобен. Во-первых, после нескольких квадрирований в расчете возникают обычно большие числа, и возможно переполнение, от которого приходится страховаться введением масштабных множителей. Во-вторых, при наличии кратных корней требуется произвести довольно громоздкий логический анализ и применить нестандарт- нестандартные формулы вычисления. § 3. Системы нелинейных уравнений 1. Метод простых итераций. Систему нелинейных уравнений можно кратко записать в векторном виде /(*) = 0 D3) или более подробно в координатном виде Такие системы решают практически только итерационными мето- методами. Нулевое приближение в случае двух переменных можно найти графически: построить на плоскости (xlt x2) кривые h(xi> х2) = 0 и 1г{хх, х2) = 0 и найти точки их пересечения. Для трех и более переменных (а также для комплексных корней) удо- удовлетворительных способов подбора нулевых приближений нет. Рассмотрим метод, простых итераций, называемый также мето- методом последовательных приближений. Аналогично одномерному
§ 3] СИСТЕМЫ НЕЛИНЕЙНЫХ УРАВНЕНИЙ 151 случаю, заменим нелинейную систему D3) эквивалентной систе- системой специального вида x = (f>(x). Выберем некоторое нулевое приближение и дальнейшие приближения найдем по формулам * ф(*) или % + ъ (<?ь\хм) 1<?< Если итерации сходятся, то они сходятся к решению уравнения (предполагается, что решение существует). Сходимость итераций исследуем так же, как для одной пере- переменной. Обозначим компоненты решения через xh и преобразуем погрешность очередной итерации = Ф* (xU)) - щ(х) = [дщ (h)/dl] p (*<*>; ~х) - где / — направление, соединяющее многомерные точки Xм и л:, а \к — некоторая точка, лежащая между ними на этом направле- направлении. Это равенство означает, что вектор погрешности нового приближения равен матрице производных, умноженной на вектор погрешности предыдущего приближения. Если какая-нибудь норма матрицы производных {d<$h(%il)ldXi\, согласованная с неко- некоторой нормой вектора, меньше единицы, то норма погрешности убывает от итерации к итерации по геометрической прогрессии. Это означает линейную сходимость метода. На практике удобней рассматривать матрицу с элементами Mki = max | d(fii/dXi\. Нормы этой матрицы мажорируют соответ- соответствующие нормы матрицы производных, поэтому достаточным условием сходимости является ||MW||<;1. При использовании разных норм матриц это условие принимает такие формы: п п п 2]Л1„<1, или 2^«<1. или 2 M\i<\. D5) i=i k=\ k,i= l Каждая норма матрицы согласована с определенной нормой век- вектора, но в конечномерном пространстве все нормы эквивалентны. Значит, если итерации сходятся в одной норме, то они сходятся и во всех остальных нормах. Поскольку сходимость линейная, то оканчивать итерации можно по критерию сходимости B6), выполнение которого надо проверять для каждой компоненты. Линейная сходимость довольно медленна; поэтому полезно уточнять результат процессом Эйткена по трем последним итерациям.
152 СИСТЕМЫ УРАВНЕНИЙ [ГЛ. V Сами вычисления в методе последовательных приближений просты. Но зато сложно найти такую систему х = ц>(х), которая была бы эквивалентна исходной системе f(x) = О и одновременно обеспечивала бы сходимость. Сходимость метода нередко удается улучшить. В методе простых итераций найденное приближение *^s используетея только для вычисления следую- следующей итерации. Можно использовать его уже на данной итерации для вычисле- вычисления следующих компонент: Xk —fk\Xl • Xi ' ••¦• xk—l • xk • xk+l' "•• xn)' D6) Сходимость этого варианта метода тоже линейная; детально ее исследовать не будем. При ручных расчетах можно еще ускорить сходимость за счет пере- перестановок отдельных уравнений на основе анализа их невязок /•?' = = *jf'"-<Pj(¦*'*') = *j?'—xjijS~^''; но для расчетов на ЭВМ это неудобно, ибо обычно такой анализ полуинтуитивен и плохо алгоритмизируется. 2. Метод Ньютона. Пусть известно некоторое приближение x(s) к корню л;. Как и для одной переменной, запишем исходную систему D3) в виде f(x{s)-\-Ax) — 0, где Ах = х — x{s). Разлагая эти уравнения в ряды и ограничиваясь первыми дифференциалами, т. е. линеаризуя функцию, получим п l^k^n. D7) Это система уравнений, линейных относительно приращений Д*^'- все коэффициенты этой системы выражаются через последнее приближение хи). Решив эту систему (например, методом исклю- исключения), найдем новое приближение jtu+1) = x(s) + Ajcu). Как и для одной переменной, метод Ньютона можно фор- формально свести к методу последовательных приближений, положив (f(x) = x — [df/dx]-1f(x), где [df/dx]1 есть матрица, обратная матрице производных. Аналогично проводится теоретический анализ условий сходимости. Однако достаточное условие сходи- сходимости, записанное в координатной форме, здесь имеет настолько сложный вид, что проверить его выполнимость почти никогда не удается. Отметим только очевидный результат: в достаточно малой окрестности корня итерации сходятся, если <М[д//дл;]=^0, причем сходимость квадратичная. Следовательно, если нулевое приближение выбрано удачно, то метод Ньютона сходится, причем очень быстро (обычно за 3 — 5 итераций). Поэтому на практике этот метод используют чаще всего. В отличие от метода простых итераций, для метода Ньютона хорошим критерием окончания итераций является условие
§ з] СИСТЕМЫ НЕЛИНЕЙНЫХ УРАВНЕНИЙ 153 sg;e. В самом деле, вблизи корня ньютоновские итерации сходятся квадратично, поэтому если этот критерий выполнен, то ||лси+1) — л;||я«е2<^е. Выбирая е«й l(h5—КИ, можно получить решение с десятком верных знаков. Вычисления в методе Ньютона несколько сложнее, чем при простых ите- итерациях, ибо на каждой итерации требуется находить матрицу производных и решать систему линейных уравнений. Поэтому в некоторых учебниках реко- рекомендуют такой прием: вычислить матрицу [df/dx]'1 только на начальной ите- итерации и использовать ее на всех остальных итерациях. Однако сходимость при этом видоизменении становится линейной, причем обычно не с малой константой, ибо матрица производных на начальной ите- итерации может заметно отличаться от окончательной. Поэтому скорость сходи- сходимости заметно уменьшается и требуемое число итераций возрастает. п 3. Методы спуска. Рассмотрим функцию Ф(х)— 2 \fk(x)\2. Она неотрицательна и обращается в нуль в том и только в том случае, если /(л:) = 0. Таким образом, решение исходной системы уравнений D3) будет одновременно нулевым минимумом скаляр- скалярной функции многих переменных Ф(х). Иногда бывает проще искать такой минимум, чем решать систему уравнений. Методы поиска минимума будут рассмотрены в главе VII. В основном это ситерационные методы спуска, т. е. движения в направлении убывания функции. Все методы спуска для гладких функций- сходятся, но зачастую — довольно плохо. Поэтому на хорошую точность полученного решения трудно рас- рассчитывать; однако этим способом обычно можно найти разумное приближение, которое потом можно уточнять методом Ньютона. Надо помнить, что метод спуска в зависимости от выбора нулевого приближения может сойтись к любому минимуму функции. А функция Ф (л:) может иметь ненулевые локальные минимумы, которые не являются решениями исходной системы уравнений. 4. Итерационные методы решения линейных систем иногда дополняют, а иногда заменяют прямые методы. Решая линейную систему A) общего вида методом исключения, попутно можно проверить, насколько хорошо она обусловлена. Решение, найденное прямым методом, из-за ошибок округления будет приближенным. Нетрудно проверить, что поправки к нему удовлетворяют уравнениям п »= 1 где г/, — невязки G). Это линейная система с той же матрицей, что исходна* система A). Решим ее, используя ранее найденные коэффициенты сот/; (т. е. почти не увеличивая общего объема вычислений). Ранее отмечалось, что в методе Гаусса невязки малы. Если величины АХ{ тоже окажутся малыми, то система хорошо обусловлена; если большими — то плохо. В последнем слу- случае зачастую удается уточнить решение, рассматривая D8) как итерационный процесс Ньютона и делая 2—3 итерации,
154 СИСТЕМЫ УРАВНЕНИИ [ГЛ. V Для уточнения обратной матрицы тоже есть итерационный процесс с квад- квадратичной сходимостью A71+i=A71 + A71Rs, RS = E-AA71. D9) Однако каждая итерация этого процесса требует 4и3 арифметических дейст- действий, т. е. вдвое больше, чем прямое обращение матрицы по методам Гаусса или Жордана. Поэтому в практических вычислениях этот процесс теперь не применяют. При очень плохой обусловленности матрицы оба описанных метода уточ- уточнения могут потребовать" вычислений с двойным и более числом знаков, но тогда лучше применять регуляризирующие алгоритмы. Есть важная группа задач, приводящая к линейным системам с сотнями и тысячами неизвестных. Это решение двумерных и трехмерных уравнений в частных производных эллиптического типа при помощи разностных схем. Матрицы таких систем слабо заполнены, но расположение нулевых элементов таково, что метод исключения не может полностью использовать особенности структуры матрицы и приводит к большому объему вычислений. Кроме того, в методе исключения матрицы таких систем не помещаются в оперативной памяти ЭВМ, а обращение к внешней памяти еще более увеличивает время расчета. Подобные линейные системы зачастую выгодно решать итерационными ме- методами. Современные итерационные методы мы рассмотрим в главе XII, посвя- посвященной эллиптическим уравнениям. Здесь упомянем только два старых метода, уже не используемых в практических вычислениях, но удобных для некоторых теоретических оценок. Один из них —стационарный метод простых итераций, основанный на при- приведении системы Ах = Ь к эквивалентной системе специального вида: x = Cx + d. E0) Запись итерационного процесса очевидна. Для сходимости итераций доста- достаточно, если какая-нибудь норма || С \\ < 1. В этой задаче известно даже необ- необходимое и достаточное условие сходимости—модули всех собственных значе- значений матрицы С должны быть меньше единицы; но на практике этим условием трудно воспользоваться, ибо найти собственные значения обычно сложнее, чем решить линейную систему. К виду E0) систему можно привести, например, выделением диагональных элементов **\ ^ I В этой записи легко учесть наличие нулей в матрице А и при умножении матрицы ка вектор суммировать только по ненулевым элементам. При исполь- использовании различных норм матрицы достаточные условия сходимости итераций принимают вид У,|^<Л, „ли У «-<!, или У У \ 1фк к E2) что означает преобладание диагональных элементов матрицы (сравните условия устойчивости метода прогонки A4)). Если метод сходится, то корень уравнения существует. Таким образом, преобладание диагональных элементов матрицы в смысле одного из неравенств E2) является признаком того, что система линейных уравнений A) имеет решение, т. е. det А Ф 0. Этим признаком мы будем часта пользоваться при исследовании разрешимости неявных разностных схем.
ЗАДАЧИ 155 Заметим, что чем меньше ||С||, тем быстрей сходятся итерации. Наилуч- Наилучшие современные методы основаны на специальных способах •выбора матрицы С, при которых ее норма становится минимальной в некотором смысле. Второй — метод Зейделя. Для уравнения E1) он имеет такой вид: ^+I) 2 ^"V E3) Необходимое и достаточное условие его сходимости не совпадает с условием сходимости простых итераций, и в разных условиях он может быть выгоден или невыгоден. Отметим один признак сходимости: если матрица А—эрмитова и положительно определенная, то метод Зейделя в форме E3) совпадает с мето- методом покоординатного спуска для решения задачи на минимум квадратичной формы (х, Ах) — 2 (&, jc) = min; как будет показано в главе VII, метод по- покоординатного спуска сходится, что обеспечивает сходимость метода Зейделя в данном случае. ЗАДАЧИ 1. Записать для почти треугольной матрицы (рис. 25, д) формулы метода исключения Гаусса с обходом нулевых элементов. 2. Показать, что при преобразовании эрмитовых матриц, изображенных на рис. 25, а—г, в произведение A5) структура треугольных матриц подобна структуре исходных матриц. 3. Доказать, что первый итерационный процесс B5) не сходится, а второй сходится при любом (положительном) нулевом приближении. 4. Найти асимптотическую скорость сходимости метода секущих C2) вблизи корня кратности р. 5. Доказать, что скорость сходимости метода парабол вблизи простого корня определяется формулой C7); исследовать сходимость вблизи кратного корня. 6. Доказать, что метод квадрирования сходится квадратично. 7. Вывести формулы метода квадрирования для случая, когда наибольший по модулю корень —двукратный. 8. Доказать, что итерационный процесс D9) для нахождения обратной матрицы сходится квадратично.
ГЛАВА VI АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ В главе VI рассмотрены методы нахождения собственных значений и соб- собственных векторов квадратных матриц. В § 1 изложены необходимые сведени я по линейной алгебре, рассмотрена устойчивость проблемы собственных значе- значений и даны простые (но сравнительно медленные) численные методы решения. Наиболее быстрые численные методы нахождения всех собственных значений и собственных векторов эрмитовых матриц разобраны в § 2, а неэрмитовых матриц — в § 3. В § 4 изложены методы, которые оказываются более выгод- выгодными при определении не всех, а некоторых собственных значений и собст- собственных векторов. § 1. Проблема и простейшие методы 1. Элементы теории. Напомним некоторые сведения из курса линейной алгебры. Если А — квадратная матрица п-го порядка и Ах = Хх при хфО, то число Я, называется собственным значе- значением матрицы, а ненулевой вектор х — соответствующим ему собственным вектором. Перепишем задачу в виде {А-Щх = 0, хфО. A) Для существования нетривиального решения задачи A) должно выполняться условие det(A-XE) = 0. B) Этот определитель является многочленом п-й степени от Я,; его называют характеристическим многочленом. Значит, существует п собственных значений — корней этого многочлена, среди кото- которых могут быть одинаковые (кратные). В принципе можно вы- вычислить характеристический многочлен и найти все его корни. Если найдено некоторое собственное значение, то, подставляя его в однородную систему A), можно определить соответствую- соответствующий собственный вектор. Будем нормировать собственные век- векторы*). Тогда каждому простому (не кратному) собственному *) Нормировкой (на единицу) вектора х называют умножение его на || х Ц; нормированный вектор имеет единичную длину..
§ 1] ПРОБЛЕМА И ПРОСТЕЙШИЕ МЕТОДЫ 157 значению соответствует один (с точностью до направления) собст- собственный вектор, а совокупность всех собственных векторов, соот- соответствующих совокупности простых собственных значений, ли- линейно-независима. Таким образом, если все собственные значения матрицы простые, то она имеет п линейно-независимых собствен- собственных векторов, которые образуют базис пространства. Кратному собственному значению кратности р может соответ- соответствовать от 1 до р линейно-независимых собственных векторов. Например, рассмотрим такие матрицы четвертого порядка: А = а О О О О а О О О 0 а О .0 0 0 fl с — a 1 О О О a 1 О О 0 a 1 L0 О О aJ a О О О О "а 1 О О iO а 1 О [О О aJ C) У каждой из них характеристическое уравнение принимает вид det (А — ХЕ) = (а — ЯL = 0, а следовательно, собственное значение Х — а и имеет кратность р = 4. Однако у первой 'матрицы есть четыре линейно-независимых собственных вектора \ 1 W «4=1 D) это легко проверить, поочередно подставляя векторы D) в равен- равенство A). У второй же матрицы имеется только один собственный вектор ег. В самом деле, пусть ее собственный вектор х имеет компоненты хс тогда уравнение A) примет для нее вид О 0 О О 1 О О О 0 1 0 0 0' 0 1 0- [Х\ 1 х2 ' ' х3 \ Xt, = 0, Л = а. ,о7 откуда х% = х3 = л4 = 0, а х1—1 в силу условия нормировки. Вторую матрицу называют простой жордановой (или классиче- классической) подматрицей. Третья матрица имеет так называемую кано- каноническую жорданову форму (по диагонали стоят либо числа, либо жордановы подматрицы, а остальные элементы равны нулю). Ее собственными векторами являются ех и е2; в этом легко убедиться при помощи выкладки, аналогичной только что про- проделанной. Таким образом, если среди собственных значений матрицы есть кратные, то ее собственные векторы не всегда образуют базис. Однако и в этом случае собственные векторы,- соответст- соответствующие различным собственным значениям, являются линейно- независимыми.
158 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI Задача на собственные значения легко решается для некото- некоторых простых форм матрицы: диагональной, трехдиагональной, треугольной или почти треугольной. Например, определитель треугольной (в частности, диагональной) матрицы равен произве- произведению диагональных элементов. В этом случае А — ХЕ тоже тре- треугольная или диагональная матрица. Поэтому собственные зна- значения треугольной (диагональной) матрицы равны диагональным элементам. Легко проверить, что диагональная матрица имеет п собственных ортонормированных векторов е{ = {0, ..., О, 1, 0 0}г, соответствующих собственным значениям Xi = au; наоборот, матрица с такими собственными векторами диагональна. Многие численные методы решения задач на собственные зна- значения основаны на приведении матрицы к одной из перечислен- перечисленных выше простых форм при помощи преобразования подобия. Матрица G = F~1AF называется подобной матрице А. Пусть ц, у суть собственное значение и собственный вектор матрицы G; тогда r\y = Gy = F~*AFy, что после умножения слева на матрицу F дает ц (Fy) — A (Fy). Отсюда видно, что ц и Fy суть собственное зна- значение и собственный вектор матрицы А. Следовательно, преобра- преобразование подобия не меняет собственных значений матрицы и по определенному закону преобразует ее собственные векторы. Особенно удобны преобразования подобия при помощи уни- унитарных матриц *). Если ортонормированный базис преобразовать унитарной матрицей, то он останется ортонормированным. Если подобно преобразовать эрмитову матрицу при помощи унитарной, то она остается эрмитовой; в самом деле, В = UHAU, В" = {UHA U)H = UHA" {иИ)И = U"AU = В. Если А — нормальная матрица, то при подобном унитарном пре- преобразовании она остается нормальной; читателям предлагается проверить это. Известно, что для любой матрицы А есть такое унитарное преобразование, что UHAU является верхней треугольной матри- *) Напомним принятую терминологию. Матрица В называется эрмитово сопряженной к матрице А, если она получена из нее транспонированием (зеркальным отражением от главной диагонали) с последующей заменой эле- элементов комплексно-сопряженными, т. е. В = АН, если 6,-^ = а|[. Матрица эрми- эрмитова, если она эрмитово сопряжена самой себе: А — Ан, и косоэрмитова, если она удовлетворяет соотношению А=—Ан. Вещественная эрмитова матрица называется симметричной, а косоэрмитова — кососимметричной. Унитарной на- называется матрица, обратная своей эрмитово сопряженной: UH = U~1; вещест- вещественные унитарные матрицы называют ортогональными. Матрица называется нормальной, если она перестановочна со своей эрмитово сопряженной, т. е. ААН = АНА. Легко видеть, что эрмитовые, косоэрмитовые и унитарные мат- матрицы являются частными случаями нормальных.
§ 1] ПРОБЛЕМА И ПРОСТЕЙШИЕ МЕТОДЫ 159 цей; если Л—нормальная матрица, то это унитарное преобразо- преобразование приводит ее к диагональной форме. Непосредственно для практических вычислений теорема Шура ничего не дает, ибо неизвестен способ нахождения такого уни- унитарного преобразования. Но одно косвенное следствие является важным. После указанного преобразования нормальная матрица А становится диагональной; тогда ее новые собственные векторы образуют ортонормированный базис е,. Следовательно, собствен- собственные векторы исходной нормальной матрицы получаются из орто- нормированного базиса et унитарным преобразованием и сами образуют ортонормированный базис. Это существенно, ибо в практике вычислений часто встре- встречаются нормальные матрицы, особенно их такие частные случаи, как эрмитовы, косоэрмитовы и унитарные матрицы. Ортогональ- Ортогональные же преобразования обеспечивают наибольшую устойчивость алгоритма по отношению к ошибкам округления. Действия с не- неортогональными базисами и преобразованиями при больших по- порядках матрицы нередко приводят к «разболтке» счета (это уже отмечалось в главе II в связи с вопросами аппроксимации). Не всякую матрицу с кратными собственными значениями можно подобно преобразовать к диагональной форме, но ее заве- заведомо можно преобразовать к канонической жордановой форме. Если же матрица имеет только простые собственные значения, то существует преобразование подобия (не обязательно унитарное), приводящее ее к диагональной. В самом деле, такая матрица имеет п. линейно-независимых собственных векторов. Матрица F, столбцами которой, являются координаты этих векторов, преоб- преобразует базис et в базис из собственных векторов. Значит, пре- преобразование подобия с матрицей F приводит А к диагональной форме. 2. Устойчивость. Для исследования устойчивости проблемы собственных значений надо наряду с матрицей А рассмотреть эрмитово сопряженную к ней матрицу Ан. Поскольку при тран- транспонировании матрицы ее определитель не меняется, а замена всех матричных элементов комплексно сопряженными величинами приводит к замене определителя тоже комплексно сопряженным числом, то det(AH— X*E) — [det(A—%Е)]*. Отсюда видно, что если Ki есть собственное значение матрицы А, то det (Ля — Х*Е) = 0, то есть Xf есть собственное значение матрицы Ан. Следовательно, собственные значения эрмитово сопряженных матриц комплексно- сопряжены друг другу. Обозначим собственные векторы матриц А и Ан соответст- соответственно через Xi и yt. Докажем, что собственные векторы сопря- сопряженных матриц, соответствующие различным (точнее, не ком- комплексно-сопряженным друг другу) собственным значениям, взаимно
160 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI ортогональны. Для этого напишем тождества Скалярно умножим *) первое равенство слева на у/, а второе —¦ справа на Xi и вычтем одно из другого; получим (yJt AXi)-(A"y/t xi) = (yj, hXi)-(lfy/, Xi). Выражение в левой части этого равенства равно нулю. Вынося X из скалярных произведений правой части этого равенства, полу- получим (h — Xj)(yj, jc,) = O или (У/, х{) = 0 при 1к1ф%), E) что и требовалось доказать. Отсюда следует, что у эрмитовых матриц собственные значе- значения вещественны, а собственные векторы образуют ортогональную систему (поскольку yt = Xj). Рассмотрим устойчивость проблемы собственных значений. Для простоты ограничимся случаем, когда собственные векторы матрицы образуют базис, а данное собственное значение — простое. Если немного изменить матричные элементы, то поправки к собственному значению и соответствующему вектору с точно- точностью до величин второго порядка малости удовлетворяют линеа- линеаризованному уравнению A &Xi + 8A -Xi^SXi-Xi + XiSXi. F) Разложим поправку 8Х{ по невозмущенным собственным векто- векторам. Вектор jtj + S-*^ определен с точностью до множителя; подбе- подберем этот множитель так, чтобы диагональный коэффициент раз- разложения обратился в нуль: Подставляя это разложение в F) и умножая слева на различные собственные векторы сопряженной матрицы, получим (У*, xt) b%i ъ (уи ЬА ¦ Xi), Ъц ilj - К) (yJt Xj) ъ* (yj, 8A ¦ Xl). Поскольку вариация матрицы может быть любой, то максимумы правых частей обоих последних равенств равны |1 х \\ ¦ \\у \\ х хтах|бан). Тогда максимально возможные ошибки собственного значения и компонент собственного вектора не превышают (с точ- *) Напомним, что для комплексных векторов скалярное произведение п равно (а, &)=2 аРк- 4=1
§ 1] ПРОБЛЕМА И ПРОСТЕЙШИЕ МЕТОДЫ 161 ностью до отброшенных в ходе выкладок бесконечно малых более высокого порядка) следующих значений: \Ьа к, I н G) Здесь через х,- обозначен так называемый t-й коэффициент пере- перекоса матрицы (8) (yt, yt) = /. Уд cos (fi' где <р; есть угол между соответствующими векторами данной матрицы и эрмитово сопряженной к ней. Заметим, что для эрмитовой матрицы все коэффициенты пере- перекоса равны единице, поскольку соответствующие векторы орто- ортогональны. А для типичной жордановой клетки а 1 а а* О выполняется условие (хъ у^ — О, т. е. коэффициент перекоса обращается в бесконечность. Очевидно, что для любых матриц I v-i | 5э 1. Выводы из оценки G) можно сформулировать следующим образом. Собственное значение устойчиво относительно вариации матричных элементов, если соответствующий ему коэффициент перекоса мал; если этот коэффициент перекоса очень велик, то устойчивость может быть плохой. Собственный вектор устойчив по матричным элементам, если все коэффициенты перекоса мат- матрицы невелики, а данное собственное значение — простое. Значит, все собственные значения эрмитовых матриц мало чувствительны'к погрешностям матричных элементов. А собствен- собственные значения жордановых подматриц могут быть очень чувстви- чувствительны к погрешностям. Проиллюстрируем последнее на примере неэрмитовой матрицы 20-го порядка: А = 0 0 0 0 е 20 19 0 0 0 0 20 18 0 0 0 .. 0 .. 20 .. 0 .. 0 .. . 0 . 0 . 0 . 2 . 0 0 0 0 20 1 (9) где через е обозначено малое возмущение нулевого углового элемента. Характеристическое уравнение этой матрицы имеет вид 20 det (Л - Щ = Ц (k - X) - 2019е = 0. A0)
162 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI При е = 0 младший коэффициент характеристического многочлена есть о0 = 20! ^=2,5х Ю18, а наименьшее по модулю собственное значение Я20=1. Если же положить е = 20'19х20! я«5х К)-7, то коэффициент а0 обращается в нуль, а тогда ki0 = 0. Таким обра- образом, и коэффициенты и сами корни характеристического много- многочлена могут быть очень чувствительны к малым погрешностям матричных элементов, что означает слабую устойчивость задачи. Это согласуется со сделанным в § 2 главы V замечанием о том, что корни многочлена высокой степени нередко чувствительны к погрешностям коэффициентов. Но для эрмитовых матриц собственные значения хорошо устой- устойчивы по матричным элементам. Даже для неэрмитовых матриц опасна вариация не любого коэффициента; например, к возму- возмущениям элементов главной диагонали собственные значения мало чувствительны. 3. Метод интерполяции. Если мы найдем характеристический многочлен, то все его корни нетрудно вычислить, например, мето- методом парабол. В методе парабол для нахождения одного корня обычно требуется около 10 раз вычислить многочлен. Поэтому важно найти способ быстрого вычисления характеристического ¦многочлена. Те методы решения проблемы собственных значений, которые позволяют определить характеристический многочлен за конечное число действий, назы- называются прямыми. Методы, в которых характеристический многочлен опреде- определяется как предел некоторого итерационного процесса, называются итерацион- итерационными. Это разделение носит несколько условный характер, ибо даже если характеристический многочлен найден за конечное число действий, то его корни приходится определять итерационным процессом. Однако оно имеет практический смысл, поскольку нахождение характеристического многочлена высокой степени гораздо более трудоемко, чем отыскание его корней. Простейшим прямым методом является метод интерполяции (предложенный, по-видимому, Ш. Е. Микеладзе в 1948 г.) Изве- Известно, что многочлен п-й степени однозначно определяется своими значениями в п-\-1 узле. Произвольно выберем п-\-1 значение %{к) в качестве таких узлов. Вычислим в них значение /(Я(*>) = = det (Л — Я(*> Е) и построим по этим значениям интерполяцион- интерполяционный многочлен Ньютона при помощи формул B.6) и B.8). В силу единственности этот многочлен будет характеристическим. Он при этом получается в форме многочлена с заданными коэффициен- коэффициентами, так что дальнейшие вычисления для нахождения его кор- корней потребуют малого числа действий. Описанный алгоритм несложен и легко программируется на ЭВМ. В нем следует использовать стандартную программу вычис- вычисления определителя методом исключения (глава V, § 1, п. 3). При этом характеристический многочлен определяется примерно за 2/3п* арифметических действий, из которых половину состав- составляют сложения и половину — умножения. Видно, что для мат-
§ 1] ПРОБЛЕМА И ПРОСТЕЙШИЕ МЕТОДЫ 163 риц невысокого порядка nsglO нахождение характеристического многочлена методом интерполяции требует не более 0,5 сек на ЭВМ БЭСМ-4, что вполне приемлемо. Если известны границы, в которых расположены собственные значения, то целесообразно размещать узлы интерполяции Я(*> в этих границах, причем лриблизительно равномерно. Это умень- уменьшает ошибки округления, возникающие при нахождении разде- разделенных разностей в формуле Ньютона, т. е. улучшает устойчи- устойчивость алгоритма. Для определения границ спектра можно вос- воспользоваться оценкой | X; | s^ || А ||, справедливой для любой нормы матрицы (это следует из того, что спектральная норма || А \\х = = max|?i;| есть наименьшая из норм матрицы). Хотя эта оценка в среднем завышена, но она достаточно разумна для тех матриц, с которыми приходится встречаться на практике, и тех норм (см. § 2 главы I), которые просто вычисляются. Метод интерполяции прост и применим для матриц произволь- произвольной структуры, а также для более сложных проблем. Например, общую задачу det [pik {Щ = 0, где каждый элемент матрицы есть некоторый многочлен от Я, решают практически только этим методом; разумеется, число узлов по Я выбирают в соответствии со степенью результирующего многочлена. Лишь в частном слу- случае этой задачи — так называемой обобщенной проблемы собствен- собственных значений det (Л— АБ) = 0, разработаны более экономичные методы. Однако, чем выше порядок матрицы, тем менее выгоден метод интерполяции. Во-первых, число выполняемых арифметических действий возрастает с ростом порядка очень быстро —как п*. Во- вторых, при составлении интерполяционного многочлена Ньютона вычисляются разделенные разности, что при высоких порядках приводит к большой потере точности. Поэтому при nj> 10 (а в слу- случае кратных или близких собственных значений и при меньших п) метод интерполяции дает плохие результаты. Для матриц высокого порядка применяют более сложные, но зато более устойчивые и экономичные методы, изложенные в следующих параграфах. Существуют прямые методы Леверье, А. Н. Крылова, А. М. Данилевского, Самуэльсона и Ланцоша, позволяющие вычислить все коэффициенты характе- характеристического многочлена произвольной матрицы примерно за ns арифметиче- арифметических действий. Они экономичней метода интерполяции. Однако в § 2 главы V отмечалось, что корни многочлена высокой степени могут быть очень чувствительны к погрешностям коэффициентов. Кроме того, и коэффициенты и сами корни характеристического многочлена нередко слабо устойчивы по матричным элементам, как было показано в п. 2. Поэтому ука- указанные выше экономичные методы оказались достаточно устойчивыми только для матриц невысокого порядка п <? 10, а при наличии кратных или близких собственных значений—для еще меньшего порядка. Но при таких порядках матрицы экономия по сравнению с методом интерполяции невелика и не оправ- оправдывает применения этих довольно сложных и капризных методов.
164 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI 4. Трехдиагольные матрицы. В интерполяционном методе мы находили явное выражение для характеристического многочлена только затем, чтобы иметь способ экономного вычисления этого многочлена при заданных Я. Однако для трехдиагональных мат- матриц (даже очень высокого порядка) есть способ быстрого вычис- вычисления det(A — IE) без нахождения явного выражения характери- характеристического многочлена. Это существенно, ибо матрицы общего вида можно привести к трехдиагольной форме преобразованием подобия. Рассмотрим этот способ. Обозначим главный минор m-го порядка матрицы Л —Я? через Dm(K). Разложим . такой минор по элементам последней строки; в ней всего два ненулевых элемента (рис. 30), так что получим От(Ц = = (атт - Я) Dml (Я) - ат> т^В,п, m-i (Я), A1) Рис 30. где через Вт, „^ (Я) обозначен минор, до- дополняющий элемент ат,т-\- Этот минор содержит в последнем столбце только один ненулевой элемент ат-\:т, поэтому его целесообразно разложить по элементам по- последнего столбца: Подставляя A2) в A1), найдем рекуррентное соотношение, выра- выражающее минор высшего порядка через низшие: Dm (Я) = (атт - Я) ?>„,_! (Я) - ат> т^ат -lt А-2 (*) • A3) Для начала расчета по рекуррентной формуле надо задать два первых минора. Удобно формально положить D_x (Я) = 0, Do (Я) = 1. A4) Подставляя эти значения в A3) и вычисляя Dx (Я) и D2(K), легко убедиться, чтСрезультат получается правильным. Следовательно, такой способ начала счета приемлем. Однократный расчет величины определителя по формулам A1) —A4) требует всего Ъп арифметических действий, причем среди них нет делений, и вычисления очень быстрые и устой- устойчивые. Таким образом, имеется быстрый способ нахождения характеристического многочлена при заданном значении Я. Имеется способ нахождения характеристического многочлена, более эко- экономичный при многократных вычислениях. Преобразуя рекуррентное соотно- соотношение A3), можно получить коэффициенты характеристического многочлена в форме Горнера. Однократное же вычисление многочлена по схеме Горнера требует всего 2п действий. Однако устойчивость этого процесса для высоких порядков матрицы, по-видимому, хуже, а формулы расчета более сложны.
§ I] ПРОБЛЕМА И ПРОСТЕЙШИЕ МЕТОДЫ 165 Еще один несложный способ вычисления характеристического многочлена заключается в следующем. Вычтем заданное значение к из диагональных эле- элементов пц, а затем найдем определитель получившейся трехдиагональной мат- матрицы по формулам прямого хода прогонки E.12) — E.13). Однако этот способ менее экономичен и устойчив, чем расчет по формуле A3). Корни многочлена Dn (к) удобнее всего находить методом пара- парабол (см. § 2 главы V). Этот метод для многочленов не слишком высокой степени (/г<50) достаточно устойчив и позволяет найти все корни с 5 —7 верными знаками, даже если среди корней есть кратные. В библиотеках многих ЭВМ- имеются стандартные про- программы вычислений всех корней многочлена методом парабол. Иногда для нахождения всех корней характеристического многочлена употребляют метод Ньютона, но детали такого алго- алгоритма хуже отработаны. В основном метод Ньютона применяют к частичной проблеме собственных значений. Заметим, что при любом способе вычислений для нахождения всех корней требуется удалять уже полученные корни, т. е. пере- k ходить к вспомогательной функции G (К) = ?>„ (^)/JJ (к — X;). i = 1 Поскольку явного выражения характеристического многочлена мы не выписываем, то для вычисления G(K) надо находить отдельно числитель и знаменатель при требуемых значениях Я. Это немного увеличивает объем расчетов. Описанным способом все собственные значения трехдиагональ- трехдиагональной матрицы находятся довольно легко, причем для этого тре- требуется всего около 50«2 арифметических действий *), т. е. способ экономичен. Поэтому для трехдиагональных матриц этот способ является основным. 5. Почти треугольные матрицы. Для такой матрицы также можно напи- написать формулы, позволяющие легко вычислить определитель при заданном значе- значении X. Это удобно делать методом исключения Гаусса, учитывая большое количество нулей в матрице определителя. Используем формулы метода исключения E.3) — E.5). Для определенности будем считать нашу матрицу верхней почти треугольной. Тогда видно, что cmk = Q при т>&-(-1, а каждый цикл исключения сводится всего лишь к вы- вычитанию двух строк. Достаточно при этом помечать изменяющиеся величины штрихом, опуская верхний индекс цикла. После этого формулы k-vo цикла примут вид причем а^_|_[ k = 0. Последовательно полагая k=\, 2, ..., п — 1, аннулируем все поддиагональные элементы. После этого определитель легко вычисляется *) Метод парабол обычно сходится менее чем за 10 итераций, а одна итерация требует 5п действий. Эти цифры мы будем использовать при описа- описании других методов,
166 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI по формуле Чио E.8): uetA=f[a'kk, a'n = an. A6) Поскольку нас интересует det(A — 'KE), то для его вычисления надо в форму- формулах A5) — A6) вместо нештрихованных величин а^ всюду подставить а^ — Я. Этот способ позволяет вычислить определитель за rfi арифметических действий. Как и для трехдиагональной матрицы, корни характеристического много- многочлена можно находить методом парабол. Тогда нахождение всех корней потре- потребует около Югс3 действий. Видно, что метод оказывается не быстрым, но довольно простым и устойчивым. Дальше мы увидим, что есть заметно более быстрые способы нахождения собственных значений почти треугольной мат- матрицы, основанные на преобразовании матрицы к трехдиагональной форме. Но они более сложны и менее устойчивы. 6. Обратные итерации. Если собственное значение известно, то собственный вектор удовлетворяет системе A). Но любой чис- численный метод дает вместо точного собственного значения Kt при- приближенное значение %, так что det (А — Я;?) ф 0, хотя отличается от нуля очень мало. В таком случае задача (A— XiE)x = Q при использовании приближенного собственного значения имеет только тривиальное решение х = 0. Поэтому в численных расчетах нахо- находить собственные векторы непосредственно из системы A) нельзя. Для нахождения собственных векторов удобен метод обрат- обратной итерации, заключающийся в следующем. Выберем наудачу вектор b и рассмотрим линейную неоднородную систему (A-liE)x = b. A7) Определитель этой системы отличен от нуля, так что она имеет единственное решение. Покажем, что найденный из нее вектор х окажется почти равным собственному вектору Х{, соответствую- соответствующему данному собственному значению Kh Для простоты ограничимся случаем, когда матрица п-го порядка имеет п линейно-независимых собственных векторов Xj — например, матрица нормальная (для случая произвольных матриц ниже приведен численный пример). Тогда собственные векторы образуют базис, по которому можно разложить векторы х и Ь: * = .? ?/•*/. b= XVjXf A8) /=i /=i Подставляя это разложение в систему A7), перенося все члены влево и учитывая, что Ax;- — XjX/, получим 2[&,(>у-*/)-Р.<]*/=0. A9) Поскольку собственные векторы линейно-независимы, то их линей- линейная комбинация обращается в нуль только в' том случае, когда
§ 1] ПРОБЛЕМА И ПРОСТЕЙШИЕ МЕТОДЫ 167 все ее коэффициенты равны нулю. Поэтому из A9) следует Видно, что если X/ ***%, то коэффициент |;- будет очень большим; в противном случае он невелик. Рассмотрим следствия из этого в трех основных случаях. Первый с л у ч а й — собственное значение Xt простое. Тогда из всех коэффициентов Еу, l^j^n, только один коэффициент \t оказывается очень большим. Это означает, что найденный век- вектор х почти совпадает с собственным вектором xt (с точностью до нормировочного множителя), что и требовалось доказать. Заме- Заметим, что поскольку найденный вектор х оказывается очень боль- большим, то его обычно нормируют. Из B0) видно, что при обратной итерации (т. е. при пере- переходе от Ь к х) компонента C,- усиливается по сравнению с дру- другими компонентами C,- примерно во столько раз, во сколько погрешность данного собственного значения меньше разности соседних собственных значений. Поэтому чем точнее найдено Xt (очевидно, хорошая точность особенно важна при наличии близ- близких собственных значений), тем ближе х будет к xt. Если соб- собственные значения найдены слишком грубо, или случайно век- вектор Ь выбран неудачно, так что (Зг очень мало, то разница между х и Xi может оказаться заметной. Тогда подставляют найденный вектор х в правую часть уравнения A7) вместо b и организуют итерационный процесс (A-llE)x^=x(s-1\ xW = b. B1) Обычно он сходится настолько быстро, что двух итераций вполне достаточно. Напомним, что на каждой итерации обязательно надо нормировать найденные х^\ чтобы не получать в расчетах слиш- слишком больших чисел, вызывающих переполнение на ЭВМ. Замечание 1. Очень эффективен один простой способ вы- выбора Ь. В качестве его компонент в декартовых координатах возьмем последовательные многоразрядные псевдослучайные числа yk (см. § 4 главы IV). Тогда вероятность того, что р1; ока- окажется очень малым, будет ничтожна. Второй с л у ч а й — собственное значение Хг кратно; напри- например, Яг = Я2 =. .. = ХР, l<zps^n. Напомним, что в этом случае собственные векторы xlf x2, ¦¦¦, хр определены неоднозначно; любая их линейная комбинация удовлетворяет уравнению А I |] а,х,\ = |] а/Ах, = Ях ? а,х, и является собственным вектором. Т. е. они порождают р-мерное
168 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI подпространство, любой базис которого можно взять в качестве системы искомых собственных векторов. Теперь из B0) следует, что большими оказываются коэффи- коэффициенты |х, la, ..., |р, причем степень их усиления одинакова; остальные коэффициенты остаются малыми. Значит, найденный из A7) вектор х будет приближенно линейной комбинацией хх, jc2, ..., хр, а тем самым — искомым собственным вектором. Если точность полученного приближения недостаточна, то обратную итерацию повторяют снова по формуле B1). Чтобы найти все собственные векторы для кратного собствен- собственного значения, возьмем столько линейно-независимых векторов b(k), какова кратность корня. Обратными итерациями получим столько же векторов Jc(*>, которые и будут искомыми; они будут линейно- независимыми, поскольку преобразование A7) невырожденное. Остается только ортогонализовать найденные векторы, если это требуется по условиям задачи. Напомним, что в качестве декартовых координат векторов й(А) целесообразно брать псевдослучайные числа; здесь это имеет то дополнительное преимущество, что векторы автоматически полу- получаются линейно-независимыми. Третий случай —когда матрица имеет кратные корни, но число ее собственных векторов меньше п — выходит за рамки нашего доказательства. Однако метод обратных итераций здесь также применим в той форме, - которая описана для кратных корней. Разница лишь в том, что если р-кратному собственному значению соответствуют всего q собственных векторов (q<Lp), то из полученных обратной итерацией векторов x(k) только q будут линейно-независимыми. Это выясняется при их ортогона- лизации: первые q векторов ортогонализуются «без приключений», а при ортогонализации следующих векторов их компоненты обращаются почти в нуль (в пределах погрешности расчета). Каков объем расчетов в методе обратной итерации? Нахож- Нахождение собственного вектора требует (при одной итерации) не более 2/3ns действий, так что для нахождения всех их надо около п4 арифметических действий. Таким образом, при больших поряд- порядках матрицы метод неэкономичен, но при п^Ю вполне удовле- удовлетворителен. Особенно употребителен этот метод из-за своей про- простоты, универсальности и хорошей устойчивости алгоритма. В некоторых частных случаях расчеты существенно упроща- упрощаются и ускоряются. Наиболее важен случай трехдиагональной матрицы. При этом линейная система уравнений A7) для определения компонент собственных векторов также будет трехдиагональной, и ее решают экономичным методом прогонки по несложным формулам E.10) —E.12). Для вычисления одного собственного вектора в этом случае требуется Юп, а для всех — \0п2 арифме- арифметических действий.
§ 1] ПРОБЛЕМА И ПРОСТЕЙШИЕ МЕТОДЫ 169 Для почти треугольной матрицы в методе обратных итераций требуется решать линейную систему с почти треугольной матрицей, что делается специ- специальным вариантом метода исключения. Если учесть, что случайный вектор в правой части A7) можно задавать уже после приведения матрицы в методе исключения Гаусса к треугольной форме, то нахождение каждого собствен- собственного вектора требует 3/2п2 действий (тот же прием для трехдиагональной матрицы позволяет сократить число действий до In). А для нахождения всех собствен- собственных векторов требуется соответственно 3/2я3 арифметических действий. Отметим одну существенную деталь. Поскольку det (A — V:)^ я« 0, то при нахождении собственных векторов в формулах пря- прямого хода метода исключений (прогонки) на главной диагонали появится хотя бы один очень малый элемент. Чтобы формально можно было вести расчёт, диагональные элементы не должны обращаться в нуль; для этого надо, чтобы погрешность соб- собственного значения была не слишком мала, т. е. составляла бы 10—15 последних двоичных разрядов числа на ЭВМ. Если корни характеристического многочлена находят методом парабол (или секущих), то такая погрешность получается естественно, ибо из-за ошибок округления эти методы перестают сходиться в очень малой окрестности корня. Но если корни определялись методом Ньютона, то при этом могли быть найдены верно все знаки соб- собственного значения; тогда, чтобы избежать деления на нуль, приходится специально вносить в Kt небольшие погрешности. Пример. Возьмем жорданову подматрицу С4 четвертого порядка C) и приближенное собственное значение К = а—е. В качестве Ь выберем вектор с единичными декартовыми координатами. Тогда уравнение A7) примет вид е 1 0 0i 0 е 1 0 0 0 s 1 0 0 0 е х3 I \exa+xt I 1 xj \ ext I \\j B2a) Последовательно находим компоненты вектора х: 1. к ' Затем нормируем вектор, умножив все компоненты на —е~4: ^ = 1+0(8), х.2 = О(&), х3 = О(е*), лг4==0(83). B2в) Полученный вектор х=е,-\~0 (г) приближенно равен собственному вектору жордановой матрицы (см. п. 1), что нам и требовалось. Попутно заметим, что в промежуточных выкладках B26) возникали высокие обратные степени nor» решности е, чего не бывает у матриц с п собственными векторами. Это пока- показывает, что случай матриц, содержащих жордановы подматрицы высокого порядка, труден для численных расчетов на ЭВМ, ибо в них легко возникают переполнения,
170 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИИ [ГЛ, VI § 2. Эрмитовы матрицы 1. Метод отражения. Существуют экономичные и устойчивые методы нахождения всех собственных значений матриц высокого порядка*). Они основаны на приведении матрицы преобразованием подобия к трехдиагональной или другим простым формам, для которых проблема собственных значений решается легко. Сейчас мы рассмотрим метод отражений, который позво- позволяет подобно преобразовать произвольную матрицу к почти треугольной форме за A0/3)/г3 арифметических действий, а эрми- тову матрицу к трехдиагональной фор- ме —всего за i/.Jn3 действий. Поскольку для трехдиагональной матрицы все соб- собственные значения находятся очень эко- экономично, то для эрмитовых матриц ме- метод отражения является самым быстрым из известных методов решения полной проблемы собственных значений. Рассмот- Рассмотрим его. Произведем в n-мерном векторном пространстве отражение относительно не- некоторой гиперплоскости, проходящей че- через начало координат. Преобразование полностью определяется заданием нормали w к гиперплоскости. Эта нормаль есть нор- нормированный вектор-столбец п (w, w) = wHw = 2 w*wt = 1. B3) t=l где wH есть вектор-строка, эрмитово сопряженный к столбцу. Возьмем произвольный вектор у и разложим его на две состав- составляющие: параллельно нормали yt = w (w, у) и перпендикулярно ей. При отражении вектора его перпендикулярная составляющая остается неизменной, а параллельная —меняет знак (рис. 31), поэтому отраженный вектор г отличается от исходного на удво- удвоенную величину параллельной компоненты г =у — 2w (w, у). B4) Это преобразование вектора можно записать в канонической форме умножения на матрицу отражения R: B5) *) Практически все описанные в §§ 2 — 3 методы хорошо применимы к матрицам, порядок которых не превышает сотни. Для матриц произвольного типа сл> 100 удовлетворительных методов решения общей проблемы собст- собственных значений пока нет,
§ 2] ЭРМИТОВЫ МАТРИЦЫ 171 где умножение столбца w справа на строку той же длины wH дает, по правилам умножения прямоугольных матриц, квадрат- квадратную матрицу. Заметим, что равенства B4)—B5) в координатной форме записываются следующим образом: п zi = yi-2wi^ wjyh Исследуем свойства матрицы отражения. Эта матрица эрмитова, что непо- непосредственно вытекает из следующей цепочки преобразований: RH = (E — 2wwH)H = E — 2(wH)HWH = E — 2wwH = R. B7) Возведем матрицу отражения в квадрат: 2 = (?_2wwH) (E — 2wwH) =E — 4wwH + 4wwH ww H Преобразуем последний член правой части, используя ассоциативность умно- умножения матриц и условие нормировки B3): ww ww = w (w w) ю = ww • Тогда последний член сократится с предпоследним, и мы получим RR = E, или R = R~\ B8) т. е. матрица отражения равна своей обратной. А сравнивая B7) и B8), убедимся, что Rfi = R^1, так что матрица отражений унитарна. Последнее свойство для нас наиболее важно, поскольку для эрмитовых матриц наиболее выгодны унитарные преобразования подобия. В § 1 было показано, что они сохраняют эрмитовость матрицы. Поэтому если мы унитар- унитарным преобразованием подобия приведем матрицу к верхней почти треугольной форме, то в силу эрмитовости она будет трехдиагональной. Заметим, что произведение любого числа унитарных матриц есть также унитарная матрица. В самом деле, если матрицы U, V W унитарны, то (uv.. w)'1 = w1.. у-ли~1 = wH...vHuH-= {uv. ..w)H. Поэтому если мы применяем к эрмитовой матрице последовательность унитар- унитарных преобразований подобия, то она эквивалентна одному результирующему унитарному преобразованию подобия, и эрмитовость матрицы сохраняется. Покажем, что для произвольной матрицы А можно подобрать такую конечную последовательность отражений, которая приво- приводит матрицу к верхней почти треугольной форме. Для этого очередное отражение должно уничтожать самый длинный ненуле- ненулевой столбец в нижней части матрицы А. Действие первых двух отражений показано на рис. 32, где жирными точками обозна- обозначены ненулевые элементы матрицы, а кружками — нулевые; третье отражение обращает в нуль обведенные элементы третьего столбца. Будем считать, что уже уничтожен q—\ столбец, и разобьем матрицу А на клетки, как показано на рис. .32. Квадратная клетка Ах есть верхняя почти треугольная матрица, а в прямо- прямоугольной клетке A:j только последний столбец отличен от нуля.
172 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI Сделаем отражение при помощи вектора ги' = {оМ, у которого первые q компонент нулевые: wf = 0 при i «^ q (дальше верхний индекс вектора будем обычно опускать). Тогда видно, что если матрицу отражения разбить на клетки того же размера, что у матрицы А, то недиагональные клетки будут нулевыми: ! О • • I* • • • о о о о о о о о А3 1 А/, B9) Рис. 32. Из курса линейной алгеб- алгебры известно, что если матрицы одинаковым образом разбиты на клетки, то они перемножаются по таким же формулам, как если бы эти клетки были обыкновен- обыкновенными элементами. Тогда искомое преобразование подобия прини- принимает следующий вид: В = R-4R = 1 C0) Левая верхняя клетка результирующей матрицы В имеет нуж- нужную нам форму — верхнюю почти треугольную. Поскольку у клетки А3 только последний столбец отличен от нуля, то у клетки B3 = WA3 элементы последнего столбца равны btq — Oiq — aWi, q+l^i^n, C1) где п а = 2 У. wja/7; C2) остальные же элементы этой клетки равны нулю. Нам надо так подобрать вектор w, чтобы обратились в нуль все элементы столбца C1), кроме верхнего. Очевидно, для этого надо положить Wi = aig/a при <7 + 2 ==S г =гс/г C3) и найти, чему равна постоянная а. Заметим, что умножение вектора w на множитель е'ф не меняет матрицы отражения; тогда из C2) следует, что а также определена только с точностью до этого множителя. Его всегда можно выбрать так, чтобы а была вещественной положительной, что будем предполагать вы- выполненным.
§ 2] ЭРМИТОВЫ МАТРИЦЫ 173 Из C1) следует, что wq+1 = (ag+lig-bg+bg)/a. C4) Подставляя C3)—C4) в условие нормировки B3), получим п Подстановка тех же выражений в формулу C2) дает а2 = 2 |] \alg\a-2b*+lt<lag+1,g. C6) Последнее слагаемое в правой части этого равенства должно быть вещественным, поскольку остальные члены вещественны. Поэтому должно выполняться соотношение argi>|+i, q = nk — &xgaq.vi<q, где k — любое целое число. Для улучшения счетной устойчивости алгоритма выгодно полагать k = ± 1: тогда последний член в пра- правой части C6) будет положительным, и величина а никогда не станет близкой к нулю. Таким образом, 1>?. C7) Учитывая этот выбор аргумента и приравнивая друг другу пра- правые части равенств C5) и C6), получим Jg+i, g .Vя C8) Заменяя в C6) сумму при помощи равенства C8) и учитывая C7), упростим выражение для а: 1 +1.?|)]1/2. C9) Формулы C7)—C9) и C3)—C4) полностью определяют матрицу очередного отражения. Эти формулы составлены так, что для вещественной матрицы А при вычислениях не возникает комп- комплексных величин, а формула C7) для вычисления аргумента принимает при этом вид sign Ь?+1>? = —sign а?.,.,,,. Последовательно полагая q=\, 2, ..., п — 2, определяя соот- соответствующие векторы wq и производя отражения, мы приведем произвольную матрицу А к верхней почти треугольной форме. Если исходная матрица А была эрмитова, то результирующая матрица будет трехдиагональной. Рассмотрим, как экономно организовать вычисления. Формулы для определения матрицы отражения не требуют большого объема
174 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI расчетов. Основное число действий уходит на перемножение матричных клеток в формуле C0). Заметим, что клетка Аг не ме- меняется, а в клетке B3 = WA3 имеется только один ненулевой элемент bg+li я, уже вычисленный при нахождении матрицы отра- отражения; следовательно, эти клетки не нужно специально вычис- вычислять. При нахождении остальных двух клеток умножение на матрицу отражения W надо выполнять специальным образом; например, умножим А4 на W справа, тогда Ai-2(Aiw)wH. D0) Вместо того, чтобы перемножать две матрицы, мы пользуемся ассоциативностью умножения и сводим вычисление к двукратному умножению матрицы на вектор, что примерно в п раз быстрее. Умножение на W слева выполняется аналогично. Заметим, что если матрица А эрмитова, то возможна дополнительная экономия: тогда Вг — В"нВ4 = В", так что клетку В% можно вообще не вычис- вычислять, а в клетке Bi достаточно найти только нижнюю половину элементов. Устойчивость численного алгоритма теоретически исследована недостаточно. Однако практика вычислений показала, что преоб- преобразования унитарными матрицами достаточно устойчивы. Поэтому основное, на что надо обращать внимание, — это чтобы ошибки округления не сказались бы на унитарности матриц отражения. Для контроля следует проверять выполнение условия нормировки B3); если оно соблюдается с очень высокой точностью (верны почти все двоичные разряды), то устойчивость обычно хорошая. Когда матрица А приведена к трехдиагональной (или верхней почти треугольной) форме, то для этой формы собственные зна- значения Х{ и собственные векторы yt находятся легко. Найденные собственные значения одновременно являются собственными зна- значениями исходной матрицы А. Для нахождения собственных век- векторов Xi исходной матрицы надо применить преобразование отражения *г = (ад-..Яя-2);У,-. D1) Вычисления по этой формуле также надо делать экономично, выполняя каждое умножение на очередную матрицу Rq как два умножения на вектор по формуле B4). Подсчет числа операций показывает, что для эрмитовых матриц метод отражения позволяет найти все собственные значе- значения примерно за (D/3) п3 -f- 50/г2) арифметических действий, а все собственные векторы —еще за Bп3-\-Юп2) действий. Это самый быстрый из известных методов. Его скорость настолько велика, что позволяет на ЭВМ класса БЭСМ-6 вести расчет для матриц порядка п ^100; фактическую границу его применимости опре- определяет устойчивость, которая при расчете с обычной точностью
§ 2] ЭРМИТОВЫ МАТРИЦЫ 175 теряется при меньших значениях п (расчет с двойным числом знаков более устойчив, но и более трудоемок). К сожалению, метод отражений не дает дополнительной эко- экономии в случае ленточных и других аналогичных специальных структур матриц, потому что такие структуры не сохраняются в процессе расчета. Для не-эрмитовых матриц метод отражения менее выгоден, ибо результирующая матрица является верхней почти треуголь- треугольной, а для нее описанный в § 1 метод нахождения собственных значений, довольно трудоемок. В итоге такой подход требует около 13я3 арифметических действий для вычисления всех собст- собственных значений и еще (9/2) п3 действий для нахождения всех собственных векторов. Зато численная устойчивость алгоритма хорошая. 2. Прямой метод вращений. Этот метод немного уступает по скорости ме- методу отражений, однако формулы расчета в нем несколько проще. Он также устойчив и позволяет привести преобразованием подобия неэрмитову матрицу к почти треугольной форме, а эрмитову — к трехдиагональной. Метод основан на специально подобранном вращении координатной системы. Поэтому исследуем свойства вращений. Любое вращение можно свести к по- последовательности элементарных (плоских) вращений — поворотов в двумерной4 плоскости, проходящей через k-ю и 1-ю оси координат; остальные оси коорди- координат при этом неподвижны. Для комплексных векторов матрица элементар- элементарного вращения имеет следующий вид: 1. о 1 а...— | О а 1 а = cos .. .k-я р = е'* sin ф, D2) ...1-я' Остальные недиагональные элементы этой матрицы —нули. Для вещественных векторов надо полагать i|>=0. Непосредственным перемножением легко прове- проверить, что U,,U^i = E, т. е. матрица вращения унитарна (напомним, что пре- преобразования с унитарными матрицами обычно устойчивы). Очень важно помнить, что если из-за погрешностей расчета окажется, что cc2 + j P \2 ф 1, или р и р* в D2) не точно сопряжены друг другу, то. унитар- унитарность матрицы нарушается. Тогда при преобразовании подобия нарушится эрмитовость матрицы А и сильно ухудшится устойчивость всех методов вра- вращения, которые будут описаны далее. Поэтому в численных расчетах следует определять аир по таким формулам, чтобы указанные соотношения выпол- выполнялись с очень высокой точностью. Построим формулы для преобразования матрицы А при элементарном вращении. Матрица В = /Ш« отличается от матрицы А элементами k-то и /-го столбцов; остальные элементы у них совпадают: D3) 1 = ац при j ф k, I и 1 ^ i ^ п.
176 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ, VI Аналогично, матрица C=U^B отличается от матрицы В только элементами k-n и 1-й строк: Ы ki и . и ы и —• — ^щ Cji = bji при ] Ф k, I и l^t^n. Следовательно, матрица C = U^AU отличается от матрицы А лишь двумя стро- строками и двумя столбцами. Формулы для вычисления элементов этих строк и столбцов написать нетрудно, но в этом нет необходимости; удобнее програм- программировать на ЭВМ непосредственно формулы D3)—D4). Заметим, что если матрица А эрмитова, то матрица С также будет эрмитова; тогда в изменив- изменившихся столбцах .и строках достаточно вычислить только половину элементов и тем самым вдвое уменьшить объ- объем расчетов. Найдем такую последо- последовательность элементарных вращений, которая приводит произвольную (неэрмитову) матрицу А к верхней поч- почти треугольной форме. Можно так подобрать _, л, угол поворота в матрице ' Пии чтобы уничтожить эле- Рис. 33. мент с;, ь_ъ расположенный непосредственно перед ле- левым нижним углом подматрицы плоского поворота (рис. 33, а). Из формул D3) и D4) видно, что для этого надо положить \ \ \ I «*, к-1 D5a) Сами углы вычислять нет необходимости, ибо в формулы для преобразования матричных элементов они не входят. Отметим, что для вещественных матриц величина р тоже будет вещественной; тогда формулы D5) удобнее записать следующим образом: Ok, k-l Va%, k-i D56) г — 1 Теперь будем аннулировать те элементы матрицы и в том порядке, как это указано цифрами на рис. 33, б. Первый элемент уничтожается при помощи матрицы ?/23, обозначенной на рисунке сплошным квадратом. Второй уничто- уничтожается вращением {/24, обозначенным пунктирным квадратом. При втором вра- вращении в матрице А меняются элементы вторых и четвертых строк и столбцов. Значит, аннулированный элемент «1», лежащий в третьей строке, так и оста- останется равным нулю. Продолжая эти рассуждения, можно убедиться, что однажды уничтожен- уничтоженный элемент при такой последовательности исключения будет оставаться рав- равным нулю. Поэтому после окончания всех исключений матрица станет верхней почти треугольной матрицей (fly = 0 при t>/ + l). Это справедливо для про- произвольной -(неэрмитовой) матрицы. Если исходная матрица А эрмитова, то благодаря сохранению эрмитовости при унитарном преобразовании подобия она приводится к трехдиагональной форме. В этом случае для экономии времени при каждом вращении достаточно
§ 2] ЭРМИТОВЫ МАТРИЦЫ 177 вычислять только изменившиеся элементы нижней половины матрицы (уже обратившиеся в нуль элементы в дальнейшие расчеты не включают). Для полученной трехдиагональнои (или почти треугольной) матрицы можно вычислять собственные значения и собственные векторы способами, изложен- изложенными в § 1. Найденные собственные значения будут одновременно собствен- собственными значениями исходной матрицы. А собственные векторы л',- исходной мат- матрицы связаны с собственными векторами трехдиагональнои матрицы соотно- соотношением Xi = U23U2i...Un-i,nyi. D6) Проще всего вычислять их, последовательно умножая требуемый вектор у слева на матрицы вращения. Структура матриц такова, что при умножении на Uы меняются только #-я и 1-я компоненты вектора 4 х,-=у,- при \фк, I. Предварительное перемножение самих матриц вращения потребовало бы боль- большего числа действий (это особенно невыгодно, если нужна только часть собст- собственных векторов). На приведение эрмитовой матрицы к трехдиагональнои форме и нахожде- нахождение всех собственных значений в методе вращений требуется около 2и3 + 50п2 арифметических действий и п2 ячеек оперативной памяти. Для нахождения каждого собственного вектора надо затратить еще Зна действий. Собственные значения и собственные векторы в этом методе определяются устойчиво (если унитарность Uki не нарушена ошибками округления). 3. Итерационный метод вращений. Несмотря на свою быстроту, описанные выше прямые методы не вполне удовлетворительны. Так, их алгоритм состоит из разнородных частей: преобразования исходной матрицы, вычисления корней многочлена, нахождения собственных векторов обратными итерациями. Кроме того, их формулы не упрощаются для некоторых употребительных спе- специальных форм матриц (например, ленточных); тем самым они невыгодны для таких матриц. Поэтому разработан и используется ряд итерационных методов, в общем случае более медленных, но обладающих какими-то частными преимуществами. Для эрмитовых матриц наиболее известен итерационный метод вращений, предложенный Якоби в 1846 г.; но в численных рас- расчетах он начал использоваться только после появления работы [52]. Метод основан на подборе такой бесконечной последовательности элементарных вращений, которая в пределе преобразует эрми- эрмитову матрицу А в диагональную. При этом используются пре- преобразования вращения с матрицами D2) такого же типа, как и для прямого метода вращений, но последовательность поворотов и их углы подбираются совершенно иным способом. Рассмотрим, как действует элементарное вращение на сфери- сферическую норму матрицы (точнее, квадрат этой нормы): D8)
178 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ, VI Для определенности рассмотрим сначала умножение справа, В = = AUkl. Из формулы D3) видно, что при этом элементы k-то и /-го столбцов меняются так, что попарные суммы квадратов мо- модулей сохраняются: элементы остальных столбцов остаются неизменными. Отсюда следует, что |И(/||? = ||Л||?, т. е. сферическая норма матрицы А не меняется при умножении справа на матрицу вращения. Ана- Аналогичное утверждение легко доказать для умножения на матрицу V или UH слева*). Описываемый метод основан на сохранении сфе- сферической нормы при вращениях. Разобьем сумму, входящую в сферическую норму D8), на диагональную и недиагональную части: ^=2 \аа\\ S2 = j] К|*. D9) 1 =i i, j = 1 При элементарном преобразовании вращения U^iAUki недиа- недиагональные элементы aik, au и аы, ati при i Ф k, l меняются так, что попарные суммы квадратов их модулей сохраняются; это легко видеть из формул D3)—D4). Кроме этих элементов вне диагонали есть еще один меняющийся элемент —это аы. Поэтому величина S2 меняется при элементарном вращении настолько, насколько изменится \аы\2. Будем подбирать вращения так, чтобы S2 уменьшалась. Чтобы максимально уменьшить S2 за одно вращение, подбе- подберем угол поворота так, чтобы аннулировать элемент а№ Для простоты ограничимся вещественными эрмитовыми (т. е. симмет- симметричными) матрицами. Тогда аы = atk — вещественные числа, и матрицы вращений Ukl тоже вещественны. Из формул D4) и D3) с учетом вещественности всех величин следует сы = bkla + Ьпр = аы (а2 - р2) + (аи - ам) ар\ Полагая cw = 0 и вспоминая условие нормировки D2), получим систему уравнений для определения параметров поворота а2 + р2=1, a)aV E0) Возводя второе уравнение E0) в квадрат и исключая из него р2 при помощи первого уравнения, получим биквадратное уравнение *) Это является частным случаем общего утверждения, которое мы не до- доказываем: сферическая норма любой матрицы не меняется при умножении с любой стороны на унитарную матрицу.
§ 2] ЭРМИТОВЫ МАТРИЦЫ 179 для определения а: а4 - а2 + ah [Aa%{ + (akk - а,,J] = 0. Можно выбрать любой из четырех корней этого уравнения, тогда р определится однозначно. Для определенности положим 2ak, где u = — E1) Сами углы поворота находить не требуется. Итак, при каждом вращении Sa уменьшается, a Sx соответ- соответственно увеличивается, поскольку S = S1-fS2 сохраняется. Если подобрать такую последовательность вращений, чтобы S2->-0, то все недиагональные элементы после достаточного числа поворо- поворотов станут пренебрежимо малыми и матрица А преобразуется в диагональную. Диагональные элементы полученной диагональной матрицы и будут искомыми собственными значениями. Но унич- уничтожить все недиагональные элементы за конечное число поворо- поворотов нельзя, ибо, в отличие от прямого метода вращений, здесь при очередном повороте ранее уничтоженный элемент снова может стать ненулевым. Какой именно недиагональный элемент целесообразно аннули- аннулировать при очередном повороте? Конечно, если уничтожать мак- максимальный по модулю внедиагональный элемент, то скорость убывания S2 будет наибольшей. При ручных расчетах это наи- наилучший способ. Но на ЭВМ перебор элементов матрицы для определения максимального элемента требует неприемлемо боль- большого числа действий. А если Аннулировать элементы в заранее определенном порядке — циклом, то сходимость будет очень мед- медленной. Наиболее выгодным оказалось уничтожение так назы- называемого оптимального элемента. Составим суммы квадратов модулей внедиагональных элементов строк: E2) Выберем из этих сумм наибольшую, а в ней выберем наиболь- наибольший по модулю элемент; его называют оптимальным. Поиск оптимального элемента сводится к перебору двух строк (строки сумм rh а в выбранной сумме —строки |fly|), т. е. требует ма- малого числа действий. Суммы E2) вычисляются тоже экономично, ибо при каждом вращении из них меняются только две —rk
180 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI и ги причем их можно вычислять по таким формулам: k — a\k — a%t, /gg\ — r'k\ штрихи относятся к значениям после вращения. Доказательство сходимости. Оптимальный элемент составляет не менее \/(п — 1) части суммы E2) своей строки, а эта сумма —не менее 1/п части S2. Следовательно, за одно вращение недиагональная часть сферической нормы уменьшается 2 не менее чем на _„ долю своей величины (ибо уничтожаются два симметричных элемента). Значит, за N вращений S3 убывает не медленнее, чем и тем самым стремится к нулю при A/Woo. Следовательно, про- процесс Якоби с выбором оптимального (и тем более максимального) элемента всегда сходится. Исследуем сходимость вблизи решения, считая собственные значения простыми. Пусть все внедиагональные элементы уже малы, ау-^е. Тогда из формул E1) следует, что угол поворота имеет тот же порядок малости: р^е, аяа 1 — О (г2). Подстановка в формулы D3)—D4) показывает, что при этом неуничтожаемые внедиагональные элементы меняются на О(е2). Значит, за один цикл вращений *.) все внедиагональные элементы станут ^ е2, что означает квадратичную сходимость. Итак, вдали от решения сходимость не хуже линейной, а вблизи решения - квадратичная, т. е. быстрая. Это позволяет получать все собственные значения с высокой точностью. Обычно процесс сходится за 6 —8 циклов вращений, или за C -~- 4) п2 элементар- элементарных вращений. Интересно, что чем больше кратных собственных значений, тем быстрей сходится метод. Поскольку собственные векторы диагональной матрицы суть е,, то собственными векторами матрицы А будут столбцы матрицы U — Y\LUH. Заметим, что если внедиагональные элементы ai} — = О (е), то S2 = 0 (е2), так что диагональные элементы отличаются от собственных значений на 0(е2). Поэтому для нахождения соб- собственных значений достаточно положить е?^ 10 6, чтобы получить правильно 10 знаков. Но чтобы получить с той же точностью *) Циклом будем называть процесс с последовательным перебором всех поддиагональных элементов, или условно — п (п—1)/2 последовательных пово- поворотов при другом способе выбора аннулируемых элементов.
§ 3] НЕЭРМИТОВЫ МАТРИЦЫ 181 собственные векторы, надо или вычислять их по формулам .^.. E4) при 1Ф1 или делать еще один цикл вращений. Хотя теоретически в методе Якоби могут накапливаться ошибки, фактически устойчивость и точность очень высоки. Кратные соб- собственные значения получаются столь же точно, как и простые, а собственные векторы практически ортого- ортогональны друг другу. Метод Якоби с выбором оптимального G) • • О элемента требует обычно около ЗОп3 ариф- арифметических действий и п2 яч'еек памяти для нахождения всех собственных значений. Для нахождения всех собственных векторов тре- требуется еще около 20п3 действий. Таким П образом, этот метод раз в 10 медленнее ме- метода отражений. Основное его достоинство — надежность и единообразность вычислений, Рис 34. что позволяет легко запрограммировать ме- метод. Итерационный метод вращений применяется там, где важна точность, надежность и простота расчета и менее существен объем вычислений. Замечание. Этот метод можно ускорить в 1,5 — 2 раза,' не теряя его достоинств. У произвольных матриц недиагональная часть сферической нормы в среднем много больше диагональной, S2/S1 ~л,а у трехдиагональных в сред- среднем S2/Si~2. Значит, трехдиагональная матрица является выгодным началь- начальным приближением для итерационного метода Якоби. Поэтому целесообразно предварительно привести исходную эрмитову матрицу к трехдиагональной форме при помощи прямого метода вращений и затем первым ходом метода Якоби аннулировать все нечетные или все четные поддиагональные элементы (рис. 34). После этого можно переходить на обычный вариант итерационного метода вращений с выбором оптимального элемента. § 3. Неэрмитовы матрицы 1. Метод элементарных преобразований. В принципе можно привести преобразованием подобия неэрмитову матрицу к почти треугольной форме при помощи отражений или вращений. Для матриц такой формы задача на собственные значения решается сравнительно быстро и устойчиво способом, описанным в § 1. Однако существует втрое более быстрый (хотя несколько менее устойчивый) метод элементарных преобразований; он позволяет привести произвольную матрицу к трехдиагональной форме всего за 2п3 арифметических действий. Для неэрмитовых матриц это самый быстрый из известных методов.
182 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI Метод является двухходовым. Первым ходом матрица приво- приводится к верхней почти треугольной форме, а вторым —к трех- диагональной форме. Каждый ход состоит из последовательности элементарных преобразований подобия, напоминающих отражения; преобразования первого хода поочередно обращают в нуль столбцы в нижней части матрицы, а преобразования второго хода — сгроки в верхней части матрицы. Первый ход. На его q-u шаге для преобразования подо- подобия используется матрица следующего вида: 1 0 0 ... о- IW 1 0 ... 0 0 1 ... 0 0 0 ... 1J E5) Исследуем свойства этой матрицы. Нетрудно проверить, что NHN ф Е, так что эта матрица не унитарна (именно поэтому элементарные преобразования менее устойчивы по отношению к ошибкам округления). Изменим знаки всех компонент у,-, т. е. возьмем матрицу N (— v); непосредственным перемножением легко убеждаемся, что N (v) N (— v) — Е. Следовательно, обратная к E5) матрица определяется просто: N^^^Ni—v). E6) Аналогично методу отражений, матрицы E5) применяются для обращения а нуль нижней части q-ro столбца, если уже аннули- аннулированы предыдущие столбцы (рис. 32). Разобьем матрицу А на клетки тех же размеров, что и в E5), и запишем преобразова- преобразование подобия на данном шаге ^- 1 • Г^^2] • [?!0 1 = 0\Nq(-v)\ Us-Mj [0\Nq(v)\ Ai ! A,Nq(v) I Г5>;5Л ( ) У клетки А3, а следовательно, и у клетки Bz — Nq(— v) As только последний столбец является ненулевым; элементы этого столбца результирующей матрицы получаются поэлементным перемноже- перемножением клеток: bq+li9 = aq+lig, big = aig —vfig+1г11 при g + 2^i^tt. E8) Поэтому, чтобы обратить в нуль все элементы клетки В3, кроме углового элемента й?+1)?, надо положить vi =_^- при <7 + 2==Sf<n. E9) aq + l. q Последняя формула определяет матрицу искомого элементарного
§ 3] НЕЭРМИТОВЫ МАТРИЦЫ 183 преобразования. Она существенно проще, чем формулы для нахож- нахождения нужной матрицы отражения в п. 2. Само преобразование E7) очень несложно. Благодаря специ- специальной структуре матрицы N умножение на нее выполняется так же быстро, как умножение на вектор. Например, поэлементно перемножая матрицы, найдем клетку B2 = A2Ng(v): hij = alj при " . F0) ь«,г+1=а/>?+1+ 2j a'/v/ при i^j^?; при умножении справа на Ng меняется только первый столбец клетки А2, а остальные столбцы клетки В2 равны соответству- соответствующим столбцам клетки А2. Произведение С^ = AJSIq{v) вычис- вычисляется также по формулам F0), только с одним отличием: первый индекс элементов принимает значения q -f- I sg; i sg п. Умножение слева на Nq приводит к другим выражениям; так, для четвертой клетки В4 = Nq (— v) C4 поэлементное перемножение дает Vn./ = C? + 1./ ПРИ <7+1 bij = Cij — ViCg+lt/ при т. е. меняются почти все элементы клетки. Формулы E8)—F1) полностью определяют очередной шаг первого хода. Они эконо- экономичны, так что метод элементарных преобразований позволяет привести произвольную матрицу к почти треугольной форме всего за E/3) п3 арифметических действий, т. е. вдвое быстрей, чем в методе отражений. Но для эрмитовых матриц метод элементарных преобразований невыгоден, ибо при неунитарных преобразованиях эрмитовость не сохраняется. Тем самым результирующая матрица будет почти треугольной, а не трехдиагональной, как в методе отражений; вдобавок выигрыша в скорости по сравнению с методом отражений в этом случае нет. Однако расчет по полученным формулам еще недостаточно устойчив. Если в ходе расчета на очередном шаге возникает малый ведущий элемент а?+1, ?, то согласно формулам E9) компо- компоненты vt будут велики. При вычислении остальных клеток матрицы элементы умножаются на эти компоненты, и погрешность сильно возрастает. Чтобы сделать метод устойчивым, выбирают главный (т. е. наибольший по модулю) элемент аннулируемого столбца arq| = max|aiq \ при q-\-2^r, i^n F2) и перестановкой (<7+1)-й и г-н строк делают его ведущим. Тогда будет выполняться неравенство [ v{ \ =sc; 1, и погрешность практи- практически не будет нарастать. Формально перестановку двух строк
184 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI можно записать как умножение слева на матрицу перестановки Р: q+l r А — o-i- 1 : 1! ....О-... F3) (все элементы, стоящие вне главной диагонали, кроме отмеченных здесь, равны нулю). Непосредственным перемножением легко убе- убедиться, что Р — Р 1 = /зя, так что свойства матрицы перестановки похожи на свойства матрицы отражения. Но перестановка строк меняет собственные значения матрицы. Чтобы собственные значения не менялись, надо сделать преобра- преобразование подобия А" = Р~1АР. Используя свойства матриц пере- перестановок и ассоциативность умножения, получим Отсюда видно, что после перестановки строк надо умножить полу- полученную матрицу справа на Р. Поэлементным перемножением легко убедиться, что умножение справа на Р есть просто перестановка соответствующих столбцов матрицы А' (перестановка выполняется на ЭВМ быстрее, чем арифметические действия). Таким образом, устойчивое элементарное преобразование подо- подобия имеет следующий вид: B = N(—v)PAPN(v). F4а) Важно помнить, что если перемножение этих матриц проводить в строго определенном порядке А -+РА ->N (— v) (PA) -> (N (— v) PA) P -> -*~(N(—v)PAP)N(v), F46) то устойчивость будет хорошей (хртя, по-видимому, метод отра- отражений более устойчив). Если же после перестановки строк сразу переставить столбцы, то это может привести к уменьшению веду- ведущего элемента и потере устойчивости. В принципе после приведения матрицы к почти треугольной форме можно определить собственные значения способом, описанным в § 1. Но решение этим способом полной проблемы собственных значений для почти треугольной матрицы в несколько раз более трудоемко, чем приведение произвольной матрицы к почти треугольной форме. Поэтому, чтобы использовать высокую скорость метода эле- элементарных преобразований, надо привести матрицу к еще более удобной форме. Ниже приведен способ быстрого, преобразования почти треугольной матрицы в трехдиагональную. Второй ход. Сначала заметим, что если матрица А была нижней почти треугольной (т. е. % = 0 при i+ !</)> то при
3] НЕЭРМИТОВЫ МАТРИЦЫ 185 преобразовании подобия E7) с матрицей N она останется нижней почти треугольной. В самом деле, клетка Ах при этом преобра- преобразовании не меняется; В клетке Аг ненулевым был только левый нижний элемент а?, ?+1; из формул F0) видно, что в клетке В2 тоже только он будет отличен от нуля, причем bgig+1 — ag<q+1. Клетка В4 также имеет нужную форму; в этом нетрудно убедиться, произведя поэлементное умножение. Мысленно транспонируем все преобразования первого хода; согласно правилам матричной алгебры для этого надо транспони- транспонировать все матрицы, а во всех произведениях изменить порядок перемножения матриц на обратный. При транспонировании iV (и) получим матрицу м = .Щ 0 : М 0 0 0 1 0 0 0 1 0 0 0 1 F5) • • Х'Х XXX о о »,• • • • о о о1* • • • о о о]о • • • О О OIO О • • Рис. 35. \n-q причем М.-1 (v) = M (— v). Тогда предыдущий вывод принимает такую форму: если для верхней почти треугольной матрицы произ- производится преобразование подобия при по- помощи матрицы F5), то результирую- результирующая матрица остается верхней почти треугольной. Применим цепочку преобразований по- подобия М~ММ к матрице, полученной в результате первого хода. На каждом шаге элементарную матрицу М (v) будем под- подбирать так, чтобы аннулировать элементы правой половины очередной строки (см. рис. 35, где точками обозначены ненулевые элементы, кружка- кружками — элементы, обращаемые в нуль на первом ходе, крестиками — обращаемые в нуль на начальных шагах второго хода; элементы, аннулируемые на очередном шаге, обведены). Благодаря такому выбору результирующая матрица должна стать нижней почти треугольной. Но в силу сказанного выше она одновременно оста- остается верхней почти треугольной. Тем самым она будет трехдиа- гональной, что и требовалось. Все формулы второго хода легко получить, применяя описан- описанное выше транспонирование к формулам первого хода. Например, пусть аннулированы первые q— 1 строк, и надо аннулировать q-ю строку. Тогда подбор элементов искомого преобразования производится аналогично формуле E9): </<«, F6) и т. д. Поскольку на втором ходе в клетке А3 имеется только
186 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИИ [ГЛ. VI один ненулевой элемент, а в клетке Л4 около половины элемен- элементов — нулевые, то преобразование подобия почти треугольной матрицы к трехдиагональной форме требует всего п3/3 арифмети- арифметических действий, т. е. является очень быстрым. Однако, если на некотором шаге второго хода ведущий эле- элемент аъ „+1 окажется очень малым, то расчет становится неустой- неустойчивым. А улучшать устойчивость перестановкой строк и столбцов здесь уже нельзя, ибо такая перестановка нарушает структуру матрицы (она перестает быть верхней почти треугольной). Поэтому, чтобы ослабить влияние ошибок округления, нередко производят расчет второго хода и вычисление характеристического многочлена трехдиагональной матрицы с двойной точностью. В отдельных случаях и это не помогает; тогда производят какую-либо переста- перестановку столбцов исходной матрицы и такую же перестановку строк и повторяют расчет с самого начала. Правда, на практике срывы процесса довольно редки. Всего двухходовой метод элементарных преобразований тре- требует 2п3 действий для приведения матрицы к трехдиагональной форме, около 60п2 действий для нахождения всех собственных значений и собственных векторов трехдиагональной матрицы, и еще 2я3 действий для преобразования этих векторов в собствен- собственные векторы исходной матрицы. Это всего лишь в 7—8 раз больше, чем нужно для решения очень простой задачи — линейной системы того же порядка! Таким образом, метод элементарных преобразований является очень быстрым и в большинстве случаев устойчивым. 2. Итерационные методы. Существует много методов, основанных на беско- бесконечной последовательности преобразований подобия, приводящей матрицу к неко- некоторым специальным формам, для которых полная проблема собственных значений легко решается. Итерационные методы сложнее прямых, а для матриц произ- произвольного вида заметно уступают прямым методам по скорости (и зачастую—по устойчивости). Но поскольку известные прямые методы не совсем удовлетвори- удовлетворительны, то пренебрегать итерационными методами не следует. Ниже даны крат- краткие сведения о наиболее известных итерационных методах; подробное- изложе- изложение их алгоритмов имеется, например, в монографиях [5, 41]. Метод обобщенных сращений (развитый Эберлейн и В. В. Воеводиным в 1962—1965 гг.) основан на преобразовании матрицы к квазидиагональной форме, когда по главной диагонали расположены клетки, порядки которых равны кратности соответствующих собственных значений, а все остальные эле- элементы матрицы равны нулю (разумеется, приближенно, ибо процесс итераци- итерационный). Если все собственные значения простые, то процесс сходится к диа- диагональной матрице. Для клеток, соответствующих кратным собственным значениям, надо находить собственные значения и собственные векторы специальным алгоритмом, т. е. в метод включаются дополнительные процедуры. Это неудобство имеется во всех итерационных методах. Но поскольку порядок таких клеток обычно невелик, то это не вызывает серьезных затруднений. Шаг процесса состоит из двух .частей. На первом полушаге делается эле- элементарное- преобразование матрицей типа N или М, в которой только одна из компонент v отлична от нуля; ее величина подбирается так, чтобы как
§ 3] НЕЭРМИТОВЫ МАТРИЦЫ 187 можно сильнее уменьшить Ц А \\Е. Поскольку для любой матрицы \\А\\гЕ^- п ^ \] | Xi |2, причем только для нормальных матриц имеет место равенство, (= 1 то такое преобразование приближает матрицу к нормальной. Второй полушаг — это вращение типа Якоби; для вещественной матрицы угол поворота <р опре- определяется из условия tg 2ф = (аы + atk)l{akk — aa). Процесс организован так, что полный шаг для эрмитовых матриц точно совпадает с циклическим вариантом метода Якоби. Значит, вычисления в общем случае требуют более 50п3 арифметических действий, т. е. метод довольно медленный. Зато он является одним из наиболее устойчивых. Ортогональный степенной метод (предложенный В. В. Воеводиным в 1962 г.) основан на преобразовании матрицы к квазитреугольной форме, когда на глав- главной диагонали стоят клетки, а ниже их все элементы равны нулю. У таких матриц собственные значения равны собственным значениям диагональных кле- клеток, но собственные векторы определяются сложней и значительно менее точно. Ортогональный степенной метод устойчив и веегда сходится. Скорость схо- сходимости линейная, со знаменателем типа [x = max | XiJXi+i \, где X;— собствен- собственные значения, расположенные в порядке возрастания модулей (причем кратные значения считаются за одно). Следовательно, требуемое число итераций довольно велико, особенно если среди собственных значений есть близкие. Одна итера- итерация требует A0/3) п3 арифметических действий, так что метод оказывается весьма медленным. Треугольный степенной метод (предложен Бауэром в 1957 г.) также осно- основан на преобразовании матрицы к квазитреугольной форме. Сходимость его тоже линейная, но одна итерация требует всего E/3) п3 действий, а при неболь- небольшом усложнении алгоритма—даже B/3) га3 действий. Зато этот метод менее устойчив, чем ортогональный степенной метод, особенно если собственные зна- значения комплексные, или в расчетах появляются матрицы с близкими к нулю главными минорами. Зачастую для сохранения устойчивости приходится видо- видоизменять алгоритм. ЛР-алгоритм (предложен Рутисхаузером и Бауэром в 1955 г.) тоже содержит преобразование матрицы к квазитреугольной форме. Он разработай только для вещественных матриц с вещественными собственными значениями. Метод всегда сходится, причем вблизи решения квадратично; одна итерация требует G/3) га3 действий. Таким образом, по скорости этот метод превосходит ортогональный степенной; зато он уступает ему по устойчивости. QR-алгоритм (предложен В. Н. Кублановской и Френсисом в 1961 г.)' основан на преобразовании матрицы к квазитреугольной форме. По устойчи- устойчивости и характеру сходимости он аналогичен ортогональному степенному методу. Этот метод очень выгоден для верхних почти треугольных матриц: в ходе пре- преобразований их структура не разрушается, и благодаря этому одна итерация требует всего 6п2 арифметических действий (т. е. время расчета уменьшается в п/2 раз по сравнению с общим случаем). Детали этого алгоритма хорошо отработаны, и существуют основанные на нем стандартные программы. LP-алгоритм (предложен Рутисхаузером в 1955 г.) рассчитан только на вещественные матрицы с вещественными собственными значениями. Он близок к треугольному степенному методу, не очень устойчив и сходится медленно (построены даже примеры зацикливания процесса). Зато для почти треуголь- треугольных матриц он требует всего 2л2 действий на одну итерацию, а для ленточ- ленточных матриц дает еще большую экономию. 3. Некоторые частные случаи. Косоэрмитова матрица А умно- умножением на i превращается в эрмитову матрицу B = iA; для эрмитовой же матрицы проблема собственных значений решается
188 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI гораздо легче, чем для неэрмитовых. Для комплексных матриц этот способ наиболее удобен. Для вещественных косоэрмитовых (кососимметричных) матриц он несколько менее выгоден, ибо после умножения на / приходится все остальные действия выполнять с комплексными числами. Обобщенная проблема собственных значений Ах = КВх F7) особенно легко решается, если матрицы А и В эрмитовы и одна из них — положительно определенная. Будем считать, что поло- положительно определена вторая матрица (если положительно опре- определена матрица А, то задачу F7) надо переписать в виде Вх = AM) ) Разложим матрицу В методом квадратного корня (см. главу V, § 1) в произведение двух треугольных B = SHS; благодаря поло- положительной определенности матрицы В в этом разложении отсут- отсутствует диагональная матрица. Тогда можно переписать исходную задачу F7) в следующем виде: Су = Ху, тде у = 5л:, С = (S")-1 ASLl. F8) Вычисление треугольной матрицы S, ее обращение и нахождение матрицы С выполняются за 4я3 действий. Легко проверить, что С —эрмитова матрица; таким образом, задача свелась к хорошо изученной. Замечание. Запись задачи F7) в виде (В~ХА)х = Хх невы- невыгодна, ибо матрица В~гА не будет, вообще говоря, эрмитовой. Нормальную матрицу А по теореме Шура можно привести к диагональной форме унитарным преобразованием подобия. Например, если уничтожены все элементы нижней половины, то в силу нормальности матрицы полученная верхняя треугольная матрица будет диагональной. Чтобы реализовать эту идею, были предложены разные варианты итера- итерационного метода вращений: циклическое аннулирование поддиагональных эле- элементов, или уменьшение поддиагональной части сферической нормы. Однако они оказались неудачными: были построены примеры, в которых эти процессы сходились к недиагоАалъным матрицам. Удовлетворительным оказался довольно искусственный вариант. Рассмотрим преобразование V^AU^, производимое унитарными матрицами вращения (оно не является преобразованием подобия). Если углы поворота справа и слева раз- разные, то их можно подобрать так, что на каждом повороте недиагональная часть сферической кормы уменьшается, а бесконечная цепочка преобразований при- приводит матрицу к диагональной форме: VHAU-+ D, где V == Д V«. 11 = \\jJki- Теперь рассмотрим преобразование подобия B — UHAU, выполненное най- найденной матрицей поворота. Можно доказать, что в матрице В равны нулю (разумеется, приближенно) все недиагональные элементы, кроме тех, которые лежат на пересечении строк и столбцов, для которых диагональные элементы вспомогательной матрицы D равны между собой по модулю: &,-* = 0, если 4\Ф \d I
§ 4] ЧАСТИЧНАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ 189 Сделаем такую перестановку столбцов и строк с одинаковыми номерами (а это — преобразование подобия), чтобы в матрице D равные по модулю диагональные элементы заняли соседние места вдоль диагонали. Такая пере- перестановка приводит матрицу В к квазидиагональной форме, после чего задача на собственные значения легко решается (если размеры клеток невелики). § 4. Частичная проблема собственных значений 1. Особенности проблемы. Во многих задачах интересны не все собственные значения, а только небольшая их часть. Матрицы очень высоких порядков обычно получаются при конечно-разностном решении задач на собственные значения для дифференциальных уравнений. В этом случае достаточно вычис- вычислить только несколько низших собственных значений, соответ- соответствующих малому числу нулей собственной функции (а высокие собственные значения матрицы все равно плохо аппроксимируют соответствующие собственные значения дифференциального опера- оператора в силу свойств конечно-разностных методов). В задачах диффузии нейтронов имеют физический смысл только одно или два собственных значения, и т. д. В этих случаях решать полную проблему собственных значений невыгодно. Обычно применяют итерационные процессы, ?ходя- щиеся к одному собственному значению и собственному вектору. Большинство этих процессов для особенно важных на практике ленточных матриц записывается очень экономно. Для описанных ниже процессов нужно задавать нулевое при-' ближение. Если оно удачно выбрано, то число итераций заметно уменьшается. Зачастую хорошее нулевое приближение можно получить из физических соображений. 2. Метод линеаризации. Запишем задачу на собственные значения A) через компоненты собственного вектора: F, (х, А) = 21 ai"x" ~ ^ = °- К»^ л- F9) Задачу F9) можно рассматривать как систему уравнений с п+1 неизвестным хг, х2, ..., х„, К; эта система нелинейна благодаря наличию членов КХ{. Для решения нелинейрой системы целесооб- целесообразно применить метод Ньютона. Давая всем переменным малые приращения bxit 6А и линеаризуя уравнения F9) относительно приращений, получим /, ClikOXk — л OXi — X( oA = — Гi\X , л ), 1 ^ I =g; fl, (iV) здесь индекс s обозначает номер итерации. Система G0) содержит и
190 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI уравнений, линейных относительно неизвестных приращений. Этих неизвестных п-f-l; но поскольку собственный вектор определен с точностью до множителя, то, не нарушая общности, можно положить или Ьхг = 0, или Ьх„ — 0. После этого число уравнений будет равно числу неизвестных приращений. Напомним, что ньютоновский процесс вблизи решения сходится квадратично. Число итераций зависит от выбора нулевого прибли- приближения. При удачном приближении достаточно 3—5 итераций. А если за 10 итераций процесс не сошелся, то скорее всего он не сойдется, и надо изменить нулевое приближение. Заметим, что при неудачном нулевом приближении процесс иногда сходится не к искомому собственному значению, а к другому. Матрица линейной системы G0) отличается от матрицы А по структуре мало —только добавлением одного ненулевого столбца. Поэтому для матрицы А общего вида на одну итерацию тре- требуется 2/3п3 арифметических действий, для почти треугольной матрицы — всего 2п2 действий, а для ленточной матрицы даже т2п/2 действий (где т — ширина ленты). Метод линеаризации успешно применяется к матрицам порядка яя» 100 — 1000. Он особенно выгоден для трехдиагональных матриц; для них получение одного собственного значения и собственного вектора требует обычно ~ 50 п арифметических действий. 3. Степенной метод (счет на установление) применяется для получения наибольшего по модулю собственного значения. Пусть I ^i I > IК I Ss | Я3 [ Ss ••¦ Построим такой итерационный процесс: x<-'+v = AxW. G1) Он не сходится в обычном смысле. Разложим нулевое прибли- приближение по собственным векторам матрицы: xw = 2 %txt- Тогда i легко убедиться, что JC(S) = ^j] Ajg,-jc» и при достаточно большом i числе итераций л^'я^Я^л^, т. е. вектор x(s) сходится к собствен- собственО 1) ^^* р ^^ р ному вектору по направлению. Очевидно, при этом jt(s+1) ^ Процесс сходится линейно со знаменателем g^l^Ail- Счи- Считается, что процесс практически сошелся, если отношения соот- соответствующих координат векторов jtts+1) и x[s) с требуемой точ- точностью одинаковы и не меняются на последних итерациях. При этом для более точного получения собственного значения целесообразно положить I _ 1/ (х < х > Отметим, что при расчетах на ЭВМ на каждой итерации после вычисления Х1 вектор x(s+1) надо нормировать, чтобы не получать переполнений или исчезновений чисел.
§ 4] ЧАСТИЧНАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ 191 Формально при ?i = 0 итерации сходятся к следующему собст- собственному значению. Однако из-за ошибок округления |х не может быть точно нулем, а при малом |г процесс по-прежнему сходится к первому собственному значению, только за большее число итераций. Если наибольшее собственное значение кратное, но соответст- соответствующий элементарный делитель матрицы линеен, то итерации схо- сходятся обычным образом. Но если ^ФК^, а их модули равны или если элементарный делитель матрицы нелинеен (жорданова клетка), то процесс не сходится. Если (Х11 я« | Я2 |, то сходимость очень медленная; этот случай нередко встречается в простейших итерационных методах реше- решения разностных схем для эллиптических уравнений (глава XII). Тогда сходимость можно ускорить процессом Эйткена (см. гла- главу IV, § 1). Одна итерация для матрицы общего вида требует 2«2 арифме- арифметических действий, а для ленточной матрицы—2тп действий. Из-за медленной сходимости степенной метод применяют только к матрицам, содержащим очень много нулевых элементов (и даже к ним—довольно редко). В математической литературе описана вариация степенного метода, имею- имеющая квадратичную сходимость: xls>=Asx'°>, где As = As_l As^ и А0 = А. Од- Однако если матрица А имеет много нулевых элементов, то ее степени уже та- такими не будут. Поэтому этот вариант обычно не экономичен. 4. Обратные итерации со сдвигом. Напишем итерационный процесс, обратный по отношению к степенному процессу: G3) Очевидно, он сходится в указанном в п. 3 смысле к наиболь- наибольшему по модулю собственному значению матрицы Л, т. е. к наи- наименьшему по модулю собственному значению матрицы А (ибо соб- собственные значения матриц А и А1 обратны друг Другу). Все, что говорилось в предыдущем пункте о характере сходимости, разумеется, справедливо и в этом случае; сходимость будет до- довольно медленной. Однако здесь положение можно существенно улучшить мето- методом сдвига, который заключается в следующем. Пусть нам приб- приближенно известно некоторое, не обязательно наименьшее, собст- собственное значение Я,-. Тогда так называемая сдвинутая матрица (A—XiE) будет иметь собственные значения Я —V У этой мат- матрицы интересующее нас собственное значение Я; — Яг будет на- намного меньше по модулю, чем остальные. Поэтому обратные ите- итерации со сдвинутой матрицей (которые мы запишем в несколько иной форме) () G4а)
192 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ [ГЛ. VI будут быстро сходиться и определят требуемое нам собственное значение X/ — Х[. Напомним, что после каждой итерации надо нормировать вектор, чтобы избежать переполнений. С учетом этого вместо G4а) получим последовательность формул /x{s\ y<*> G46) | /, Л, Здесь индекс k относится к компонентам векторов, а скобки (...) означают некоторое усреднение по всем компонентам: например, среднеарифметическое. Если исходное приближение было хорошим, то иногда процесс сходится за несколько^ итераций; тогда выгодно непосредственно решать линейную систему G3). Если же требуемое число итера- итераций велико, то лучше обратить матрицу {А — ХгЕ). Выгодней всего при решении линейной системы G4) методом исключения Гаусса использовать полученные на первой же итерации вспомогательные коэффициенты cmk (см. главу V, § 1, п. 1) на каждой последую- последующей итерации; но это не предусмотрено в обычных стандартных программах. Если сдвиг постоянный, то итерации сходится линейно. Можно получить квадратичную сходимость, если уточнять сдвиг в ходе расчета следующим образом: /4S)\ „(i+1)_ y's> <75) W x "FT Для матриц, имеющих ортогональную систему собственных век-, торов (например, эрмитовых матриц), сходимость вблизи корня будет даже кубической. Заметим, что допускать слишком точное совпадение Xt с собственным значением нельзя, ибо матрица системы G5) становится плохо обусловленной; об этом уже гово- говорилось в § 1, п. 6 в связи с нахождением собственных векторов. Поэтому, когда в ходе итераций у величины Х^ устанавливаются (т. е. перестают меняться) 5—7 знаков, то итерации следует прекращать. Замечание 1. Переменный сдвиг собственного значения G5) нельзя включать с первой итераций; сначала надо получить гру- грубую сходимость итераций с постоянным сдвигом. Замечание 2. Обратные итерации особенно удобны, если матрица заранее приведена преобразованием подобия к почти треугольной форме. Тогда одна обратная итерация выполняется
ЗАДАЧИ 193 методом исключения с выбором главного элемента всего за 2п2 действий. Теоретически для ленточных матриц возможна еще большая экономия, но преобразование подобия почти треугольной матрицы к трехдиагональной форме не всегда устойчиво. Выводы. Обратные итерации с постоянным и особенно с переменным сдвигом — очень эффективный метод расчета. Для нахождения собственных векторов этот метод считается наиболее точным. Сходимость при хорошем подборе Я настолько быстрая, что метод пригоден и для близких или случайно равных по модулю собственных значений (ибо после сдвига они хорошо различаются), и даже при наличии у матрицы нелинейного эле- элементарного делителя. ЗАДАЧИ 1. Доказать, что если матрица n-го порядка имеет п собственных векторов ei={(>i-n\, 1 =?k ^ n, то она диагснальна. 2. Найти собственные векторы треугольной матрицы, считая все собствен- собственные значения простыми. 3. Доказать, что нормальная матрица при унитарном преобразовании подобия остается нормальной. 4. Показать, что если матрица А ленточная, то преобразование подобия матрицами отражения C0) не сохраняет ее структуры. 5. Какие элементы необходимо вычислять в формулах D3) — D4) при пре- преобразовании подобия матрицами вращения для эрмитовой матрицы А? 6. Доказать, что сферическая норма произвольной матрицы не меняется при умножении с любой стороны на унитарную матрицу. 7. В итерационном методе вращений вывести для определения параметров поворота комплексных матриц формулу, аналогичную E1). 8. Показать, что в итерационном методе вращений формулы E4) опреде- определяют собственные векторы с точностью О (е2), где г-—максимум модулей вне- диагональных элементов; если же в этих формулах положить 3>; = ег-, то точ- точность ухудшается до О (е). 9. Получить все формулы расчета матричных элементов для второго хода метода элементарных преобразований. 10. Написать формулы восстановления собственных векторов исходной матрицы по собственным векторам трехдиагональной матрицы в методе элемен- элементарных преобразований. 11. Показать, что если матрица А ленточная, то элементарное преобра- преобразование подобия E7) разрушает ее структуру. 12. а) Какой вид примут формулы метода линеаризации G0)ь если недо- недостающее уравнение получать из условия нормировки собственного вектора п V |х/!2=1? б) Как построить экономичный алгоритм решения полученной i = i при этом линейной системы, если матрица А является трехдиагональной? 13. Доказать, что метод обратных итераций с переменным сдвигом G5) сходится квадратично вблизи простого собственного значения.
ГЛАВА VII ПОИСК МИНИМУМА В главе VII рассмотрены способы нахождения такого значения аргумента, которое минимизирует некоторую зависящую от него скалярную величину. В § 1 изложена задача о минимуме функции одного переменного, лежащая в основе всех более сложных задач. В § 2 рассмотрена задача о минимуме функции многих переменных в неограниченной области. В § 3 область измене- изменения переменных ограничена; наряду с общим случаем рассмотрена частная задача линейного программирования, важная в приложениях к зкономике. В § 4 разобрана задача о минимизации функционала, когда аргумент сам является функцией одного или нескольких переменных. § 1. Минимум функции одного переменного 1. Постановка задачи. Пусть имеется некоторое множество X, состоящее из элементов х, принадлежащих какому-нибудь метри- метрическому пространству, и на нем определена скалярная функция Ф(х). Говорят, что Ф{х) имеет локальный минимум на элемен- элементе х, если существует некоторая конечная е-окрестность этого элемента, в которой выполняется Ф(х)<Ф(х), \\х-х\\^г. A) У функции может быть много локальных минимумов. Если же выполняется Ф(х) = \п1Ф(х), B) Л то говорят о достижении функцией абсолютного минимума на данном множестве X. Естественно требовать, чтобы функция Ф (л:) была непрерывной или, по крайней мере, кусочно-непрерывной, а множество X было компактно*) и замкнуто**) (в частности, если X само является *) Множество компактно, если из каждого бесконечного и ограниченного его подмножества можно выделить сходящуюся последовательность. **) Множество замкнуто, если предел любой сходящейся последователь- последовательности его элементов принадлежит этому множеству.
§ 1] МИНИМУМ ФУНКЦИИ ОДНОГО ПЕРЕМЕННОГО 195 пространством, то это пространство должно быть банаховым). Если эти требования не соблюдены, то вряд ли возможно построить разумный алгоритм нахождения решения. Например, если Ф(л:) не является кусочно-непрерывной, то единственным способом решения задачи является перебор всех элементов х, на которых задана функция; этот способ нельзя считать приемлемым. Чем более жестким требованиям удовлетворяет Ф (л:) (таким, как суще- существование непрерывных производных различного порядка), тем легче построить хорошие численные алгоритмы. Перечислим наиболее важные примеры, множеств, на которых приходится решать задачу нахождения минимума. Если множе- множество X является числовой осью, то A) или B) есть задача на минимум функции одного вещественного переменного. Если X есть n-мерное векторное пространство, то мы имеем дело с зада- задачей на минимум функции п переменных. Если X есть простран- пространство функций x(t), то A) называют задачей на минимум функ- функционала. Для нахождения абсолютного минимума есть только один способ: найти все локальные минимумы, сравнить их и выбрать наименьшее значение. Поэтому задача B) сводится к задаче A), и мы будем в основном заниматься задачей поиска локальных минимумов. Известно, что решение задачи A) удовлетворяет уравнению ?-<>• C) Если множество X есть числовая ось, то написанная здесь про- производная является обычной производной, и тогда уравнение C) есть просто одно (нелинейное) уравнение с одним неизвестным. Для я-мерного векторного пространства соотношение C) оказы- оказывается системой нелинейных уравнений дФ/дх, = 0, 1 «s; i «s; n. Для пространства функций уравнение C) является дифферен- дифференциальным или интегро-дифференциальным. В принципе такие урав- уравнения можно решать численными методами, описанными в гла- главах V и XIV. Однако эти уравнения нередко имеют сложный вид, так что итерационные методы их решения могут очень плохо сходиться или вообще не сходиться". Поэтому в данной главе мы рассмотрим численные методы, применимые непосредственно к задаче A), без приведения ее к форме C). Пусть X является некоторым множеством, принадлежащим какому-то пространству. Тогда A) называют задачей на минимум в ограниченной области. В частности, если множество X выделено из пространства с помощью ограничивающих условий типа равенств, то задачу A) называют задачей на условный экстремум; такие задачи методом неопределенных множителей Лагранжа часто можно свести к задачам на безусловный экстремум. Однако при
196 ПОИСК МИНИМУМА ti-л. vii х1 х3 хг Рис. 36. численном решении обычно удобнее иметь дело непосредственно с исходной задачей A), хотя при ее решении в ограниченной области возникают свои трудности. Функция Ф(*) может иметь на множестве X более одного локального минимума. В конкретных прикладных задачах далеко не всегда удается заранее исследовать свойства функции. Поэтому желательно, чтобы численный алгоритм позволял определить число минимумов и их расположение и аккуратно найти абсолют- абсолютный минимум. Задачу называют детерминированной, если погрешностью вычис- вычисления (или экспериментального определения) функции Ф (х) можно пренебречь. В противном случае задачу называют стохастической. Мы будем рассматривать в основном детерминированные задачи. Для решения стохастических задач есть специальные методы, но они очень мед- медленные, и применять их к детермини- детерминированным задачам невыгодно. 2. Золотое сечение. В этом параг- параграфе мы рассмотрим задачу нахожде- нахождения минимума функции одной дейст- действительной переменной. Эта одномерная задача нередко возникает в практиче- практических приложениях. Кроме того, боль- большинство методов решения многомерных задач сводится к поиску одномерного минимума. Сейчас мы рассмотрим метод золотого сечения, применимый к недифференцируемым функциям. Будем считать, что Ф (х) задана и кусочно-непрерывна на отрезке a^xs^b, и имеет на этом отрезке (включая его концы) только один локальный минимум. Построим итерационный процесс, сходящийся к этому мини- минимуму. Вычислим функцию на концах отрезка, а также в двух внут- внутренних точках xlt x2, сравним все четыре значения функции между собой и выберем среди них наименьшее. Пусть наимень- наименьшим оказалось Ф^). Очевидно, минимум расположен в одном из прилегающих к нему отрезков (рис. 36). Поэтому отрезок [х%, Ь] можно отбросить и оставить отрезок [а, х2]. Первый шаг процесса сделан. На отрезке [а, дг2] снова надо выбрать две внутренние точки, вычислить в них и на концах отрезка значения функции, и сде- сделать следующий шаг процесса. Но на предыдущем шаге вычисле- вычислений мы уже нашли Ф (л;) на концах нового отрезка а, х2 и в одной его внутренней точке xv Поэтому достаточно выбрать внутри [а, х%] еще одну точку х3, определить в ней значение функции и про-- вести необходимые сравнения. Это вчетверо уменьшает объем вычислений на одном шаге процесса.
§ 1] МИНИМУМ ФУНКЦИИ ОДНОГО ПЕРЕМЕННОГО 197 Как выгодно размещать точки? Всякий раз мы делим остав- оставшийся отрезок на три части (причем одна из точек деления уже определена предыдущими вычислениями) и затем отбрасываем один из крайних отрезков. Очевидно, надо, чтобы следующий отрезок был поделен подобно предыдущему. Для этого должны выполняться соотношения b — х2 = хх — а, *_а = ^_ха . Решение этих уравнений дает Ь-х2 _ хх-а _е t 2 _^0K8_ D) Ъ-а Ь-а После проведения очередного вычисления отрезок сокращается в 1— ?я«0,62 раза; после п вычислений функции он составляет A—У" долю первоначальной величины (три первых вычисле- вычисления в точках а, Ь, хх еще не сокращают отрезок). Следовательно, при п-+оо длина оставшегося отрезка стремится к нулю как геометрическая прогрессия со знаменателем 1— ?^0,62, т. е. метод золотого сечения всегда сходится, причем линейно. Запишем алгоритм вычисления. Для единообразия записи обозначим а поочередно вводимые внутренние точки будут х2, х3,... На пер- первом шаге полагаем согласно D) х2 = х0 + Ъ(х1-х0), х3 = х1-1(х1~х0). E) После сравнения может быть отброшена точка с любым номером, так что на следующих шагах оставшиеся точки будут перенуме- перенумерованы беспорядочно. Пусть на данном отрезке есть четыре точки Xi, Xj, xk, xt, из которых какие-то две являются концами отрезка. Выберем ту точку, в которой функция принимает наимень- наименьшее значение; пусть это оказалось х{. Ф (*,)<<!>(*,), Ф(хк), Ф(Х1). F) Затем отбрасываем ту точку, которая более всего удалена *) от Хи пусть этой точкой оказалась xt: \xi — Xi\>\X] — Xi\, \xk-xt\. G) Определим порядок расположения оставшихся трех точек на числовой оси; пусть, для определенности, ** < Xi < Xj. (8) *) Это верно не при всяких делениях отрезка, но для деления, в соот- соответствии D) это справедливо.
198 ПОИСК МИНИМУМА [ГЛ. VII Тогда новую внутреннюю точку введем таким соотношением *): Xi, (9) и присвоим ей очередной номер. Минимум находится где-то внутри последнего отрезка, Xk^X^Xj, Поэтому итерации прекращаем, когда длина этого отрезка станет меньше заданной погрешности б: Xj-xk<8. A0) Метод золотого сечения является наиболее экономичным ана- аналогом метода дихотомий применительно к задачам на минимум. Он применим даже к недифференцируемым функциям и всегда сходится; сходимость его линейна. Если на отрезке [а, Ь] функция имеет несколько локальных минимумов, то процесс сойдется к одному из них (но не обязательно к наименьшему). Этот метод нередко применяют в технических или экономи- экономических задачах оптимизации, когда минимизируемая функция недифференцируема, а каждое вычисление функции —это дорогой эксперимент. Метод золотого сечения рассчитан на детерминированные задачи. В стохастических задачах из-за ошибок эксперимента можно непра- неправильно определить соотношения между значениями функций в точ- точках; тогда дальнейшие итерации пойдут по ложному пути. Поэтому если различия функций в выбранных точках стали того же порядка, что и ошибки эксперимента, то итерации надо прекращать. По- Поскольку вблизи минимума чаще всего 6Ф ~ (ЬхJ, то небольшая погрешность функции приводит к появлению довольно большой области неопределенности бх^У^бФ. 3. Метод парабол. Метод золотого сечения надежный, но медленный. Если Ф (л;) дифференцируема, то можно построить гораздо более быстрые методы, основанные на решении уравнения ф' (х) = 0. Напомним, что корень х этого уравнения является точкой минимума, если Ф"(х)>0, и точкой максимума при Ф" (ху< 0. На практике часто Ф (л:) имеет и первую производную и вторую. Поэтому для нахождения нулей первой производной при- применяют метод линеаризации, что приводит к такому итерационному процессу: _ Ф' (xs) ,.<л xs+!=xs- ф,(^ ; A1) в простейших задачах нулевое приближение можно выбрать гра- графически. Формулу A1) можно получить несколько иным способом. Разложим Ф (х) в точке xs по формуле Тейлора, ограничившись *) См. предыдущую сноску.
§ 11 МИНИМУМ ФУНКЦИИ ОДНОГО ПЕРЕМЕННОГО 199 тремя членами, т. е. аппроксимируем кривую параболой Ф (х) ** Ф (*,) + (х - xs) Ф' (xs) + \ (х - xsf Ф" (х,); минимум этой параболы достигается в точке, определяемой фор- формулой A1). Итерационный процесс A1) является ньютоновским; вблизи простого корня уравнения Ф' (х) = 0, т. е. вблизи экстре- экстремума с ненулевой второй производной, он сходится квадратично. Если же Ф" (х) = О, то сходимость в достаточно малой окрестности экстремума есть, но она^ более медленная —линейная. Обычно для первой и тем более второй производной полу- получаются очень громоздкие выражения. Поэтому выгоднее заменить их конечно-разностными аппроксимациями. Наиболее часто берут^ симметричные разности C.6)—C.7) с постоянным шагом, что приводит к формуле Это эквивалентно замене кривой на интерполяционную параболу, построенную по трем точкам xs — h, xs, xs-\-h. Обычно выбирают вспомогательный шаг h *=« 0,1 — 0,01 при ручных расчетах с неболь- небольшим числом знаков и h *=« 0,01 —0,001 при расчетах на ЭВМ; тогда характер сходимости вблизи экстремума вплоть до расстоя- расстояний r^h2 практически не отличается от квадратичного. Фор- Формула A2) наиболее, часто употребляется в практических расчетах. Этот способ кажется неэкономным, ибо на каждой итерации надо вычис- вычислять три значения функции. Построение параболы по трем последовательным итерациям, как это делалось в методе парабол при нахождении корней много- многочлена, дает OY -_у ,г - Ф (Xs, Х3_г) .. Zxs+i = Xs + xs -l — TfTTT—Z Z—Г * ' W (*S< XS-1< xS-2) и требует только одного вычисления функции за итерацию. Однако ранее уже отмечалось, что такая замена производных разделенными разностями умень- уменьшает скорость сходимости. Можно показать, используя описанную в главе V, § 2, п. 7 технику, что вблизи невырожденного минимума .Ф" (X) Во-первых, отсюда видно, что \xs+x — x\<.\xs—x\, только если выпол- выполнено условие | xs — х | < [ 6Ф"/Ф'" |; это приблизительно показывает размеры окрестности корня, в которой итерации сходятся. Эта окрестность может быть небольшой, если Ф'" (х) велика. Во-вторых, асимптотическая скорость сходимости определяется показа- показателем степени при | xs—х | в правой части соотношения A4). Этот показатель невелик; поэтому сходимость ¦ настолько медленна, что три итерации по этой формуле только немного сильней уменьшают погрешность, чем одна итерация по формуле A2). А поскольку формула A3) недостаточно испытана на прак- практике, то нет уверенности, что она окажется лучше.
200 ПОИСК МИНИМУМА [ГЛ. VII Заметим, что во всех вариантах метода парабол для успешной работы необходимы «кухонные» поправки к алгоритму. В ходе вычислений надо проверять, движемся ли мы к минимуму: вторая разность, стоящая в знаменателе формулы A2), или вторая про- производная в знаменателе формулы A1) должна быть положитель- положительной. Если она отрицательна, то итерации сходятся к максимуму, и надо сделать какой-то шаг в обратном направлении, причем достаточно большой. Вычислив новое приближение, надо обязательно проверить, уменьшилась ли функция. Если оказалось, что Ф(х$+1)>Ф(х5), то значение xs+1 нельзя использовать и надо просто сделать от точки xs какой-то шаг в сторону убывания функции. Обычно делают шаг величиной т (xs+1 — xs) с т = 1/2 и проверяют условие убывания функции; если оно снова не выполнено, то уменьшают т вдвое и делают шаг опять из точки xs, и так до тех пор, пока не добьются убывания функции. Фактическая скорость работы программы очень сильно зависит от того, насколько тщательно обдуманы эти поправки к алгоритму. Если функция имеет несколько локальных минимумов, то итерационный метод может сойтись к любому из них. Удалять найденные минимумы можно только в том случае, когда мы рас- располагаем явным выражением, для Ф' (х) и решаем не исходную задачу A), а уравнение Ф'(х) = 0; тогда удаляют уже найден- найденные корни этого уравнения при помощи техники, описанной в главе V. Если так сделать не удается, то выбирают несколько началь- начальных приближений в разных участках отрезка [а, Ь], и из каждого начального приближения проводят какой-нибудь итерационный процесс поиска минимума. Некоторые из этих итерационных про- процессов могут сходиться к одному и тому же локальному мини- минимуму, а некоторые —к другим. Остается сравнить найденные ло- локальные минимумы между собой и выбрать наименьший (если это требуется по условиям задачи). Описанный способ не дает гарантии того, что будут найдены все минимумы (и тем самым, что будет найден абсолютный мини- минимум). Но для недостаточно изученной функции такой гарантии не дают никакие способы. 4. Стохастические задачи. Опишем один алгоритм, рассчи- рассчитанный на стохастические задачи. Он основан на предположении, что ошибки определения функции Ф (х) имеют статистическую природу, т. е. они целиком случайны, а систематической погреш- погрешности нет. Тогда можно определить минимум со сколь угодно высокой точностью (фактически игнорируя область неопределен- неопределенности бх^У^бФ), если воспользоваться таким итерационным
§ 2J МИНИМУМ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ 201 процессом: Xn+x = xn - f- [Ф (*„ + Ья) - Ф (*„ - bn)l A5) где а„, bn — последовательности положительных чисел, удовлетво- удовлетворяющие следующим условиям: п—\ п=\ При выполнении этих условий хп -> х с вероятностью единица при п—>-со (напомним, что стремление с вероятностью единица означает «почти всегда стремится», а не «обязательно стремится»). Условиям A6) удовлетворяют, например, ал=1/я и Ьп = п~1/з. Этот алгоритм является обобщением алгоритма Роббинса — Монро, описанного в главе V, на задачи поиска минимума.' Он сходится весьма медленно, ибо изменение аргумента за шаг равно \хп+\ — хп \^2ап |Ф' (хп) |, а величины ап убывают очень медленно, как видно из второго условия A6). Поэтому применять этот алгоритм к детерминированным задачам невыгодно. § 2. Минимум функции многих переменных 1. Рельеф функции. Основные трудности многомерного случая удобно рассмотреть на примере функции двух переменных Ф (х, у). Она описывает некоторую поверхность в трехмерном пространстве с координатами х, у, Ф. Задача Ф (х, у) = тт означает поиск низшей точки этой поверхности. Как в топографии, изобразим рельеф этой поверхности линиями уровня. Проведем равноотстоящие плоскости Ф = const и найдем линии их пересечения с поверхностью Ф(х,у); проекции этих линий на плоскость х, у называют линиями уровня. Направление убывания функции будем указывать штрихами, рисуемыми около линий уровня. Полученная картина напоминает топографическое изображение рельефа горизонталями. По виду линий уровня условно выделим {три типа рельефа: котловинный, овражный и неупорядоченный. При котловинном рельефе линии уровня похожи на эллипсы (рис. 37, а). В малой окрестности невырожденного минимума рельеф функции котловинный. В самом деле, точка минимума гладкой функции определяется необходимыми условиями . ^ о дх ~ ду ~U> и разложение функции по формуле Тейлора вблизи минимума
202 ПОИСК МИНИМУМА [ГЛ. VII имеет вид Ф (X, у) = Ф (X, у) + у fixJ Ф*х + A8) причем квадратичная форма A8) —положительно определенная *), иначе эта точка не была бы невырожденным минимумом. А линии уровня знакоопределенной квадратичной формы —это эллипсы. а) У д) Z л г) Зтг 2 Рис. 37. Случай, когда все вторые производные равны в этой точке нулю и минимум определяется более высокими производными, по существу ничего нового не дает, и мы не будем его специально рассматривать (линии уровня вместо эллипсов будут похожими на них кривыми четвертого порядка). Отметим, что условию A7) удовлетворяют также точки мак- максимумов и седловые точки. Но в точках максимумов квадратичная *) Квадратичная форма \\ aikzizk называется положительно определен- <•, k ной, если при любых г^ (за исключением обращающихся одновременно в нуль) она положительна.
§ 21 МИНИМУМ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ 203 форма A8) отрицательно определенная, а в седловинах она зна- копеременна. Вблизи минимума функция мало меняется при заметных изменениях переменных. Поэтому даже если мы не очень точно определим те значения переменных, которые должны минимизиро- минимизировать функцию, то само значение функции при этом обычно будет мало отличаться от минимального. Рассмотрим овражный тип рельефа. Если линии уровня ку- кусочно-гладкие, то выделим на -каждой из них точку излома. Геометрическое место точек излома назовем истинным оврагом, если угол направлен в сторону возрастания функции, и гребнем — если в сторону убывания (рис. 37, б). Чаще линии уровня всюду гладкие, но на них имеются участки с большой кривизной; гео- геометрические места точек с наибольшей кривизной назовем раз- разрешимыми оврагами или гребнями (рис. 37, в). Например, рельеф функции Ф(х, y) = lQ(y-sinx)* + 0,\x2, A9) изображенный на этом рисунке, имеет ярко выраженный изви- извилистый разрешимый овраг, «дно» которого —синусоида, а низшая точка — начало координат. В физических задачах овражный рельеф указывает на то, что вычислитель не учел какую-то закономерность, имеющую вид связи между переменными. Обнаружение и явный, учет этой закономерности облегчают решение математической задачи. Так, если в примере A9) ввести новые переменные \ — х, r\—y — smx, то рельеф становится котловинным. Неупорядоченный тип рельефа (рис. 37, г} характеризуется наличием многих максимумов, минимумов и седловин. Примером может служить функция Ф(х,у) = (\ + sin*х) A + sin2 у), B0) рельеф которой изображен на этом рисунке; она имеет минимумы в точках с координатами xk = nk, yt = nl и максимумы в точках, сдвинутых относительно минимумов на я/2 по каждой координате. Все эффективные методы поиска минимума сводятся к построе- построению траекторий, вдоль которых функция убывает; разные методы отличаются способами построения таких траекторий. Метод, прис- приспособленный к одному типу рельефа, может оказаться плохим на рельефе другого типа. 2. Спуск по координатам. Казалось бы, для нахождения минимума достаточно решить систему уравнений типа A7) методом линеаризации или простых итераций и отбросить те решения, которые являются седловинами или максимумами. Однако в реальных задачах минимизации эти методы обычно сходятся в настолько малой окрестности минимума, что выбрать подходящее
204 ПОИСК МИНИМУМА [ГЛ. VII нулевое приближение далеко не всегда удается. Проще и эффек- эффективнее провести спуск по координатам. Изложим этот метод на примере функции трех переменных Ф (х, у, г). Выберем нулевое приближение х0, у0, z0. Фиксируем значения двух координат y = yQ, z = z0. Тогда функция будет зависеть только от одной переменной х; обозначим ее через /х (л;) = = Ф(л:, г/0, г0). Используя описанные в § 1 методы, найдем мини- минимум функции одной переменной /х (л;) и обозначим его через хх. Мы сделали шаг из точки (л:0, у0, г0) в точку (хх, у0, г0) по на- направлению, параллельному оси х; на этом шаге значение функ- функции уменьшилось. ^ Рис. 38. Затем из новой точки сделаем спуск по направлению, парал- параллельному оси у, т. е. рассмотрим /а(у)=Ф(*1. У> го). найдем ее минимум и обозначим его через yL. Второй шаг приводит нас в точку (xlt уг, z0). Из этой точки делаем третий шаг —спуск параллельно оси z и находим минимум функции fs (г)—Ф(х1, ylt z). Приход в точку (xlt уг, гх) завершает цикл спусков. Будем повторять циклы. На каждом спуске функция не возрастает, и при этом значения функции ограничены снизу ее значением в минимуме Ф = Ф(х, у, 2)._Следовательно, итерации сходятся к некоторому пределу Ф;>=Ф. Будет ли здесь иметь место равенство, т. е. сойдутся ли спуски к минимуму и как быстро? Это зависит от функции и выбора нулевого приближения. На примере функции двух переменных легко убедиться, что существуют случаи сходимости спуска по координатам к искомому минимуму и случаи, когда этот спуск к минимуму не сходится. В самом деле, рассмотрим геометрическую трактовку спуска по координатам (рис. 38). Будем двигаться по выбранному направлению, т. е. по некоторой прямой в плоскости х, у.
§ 2] МИНИМУМ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ 205 В тех участках, где прямая пересекает линии уровня, мы при движении переходим от одной линии уровня к другой, так что при этом движении функция меняется (возрастает или убывает, в зависимости от направления движения). Только в той точке, где данная прямая касается линии уровня (рис. 38, а), функция имеет экстремум вдоль этого направления. Йайдя такую точку, мы завершаем в ней спуск по первому направлению, и должны начать спуск по второму направлению (поскольку направления мы сейчас выбираем параллельно координатным осям, то второе направление перпендикулярно первому). Пусть линии уровня образуют истинный овраг. Тогда возможен случай (рис. 38, б), когда спуск по одной координате приводит нас на «дно» оврага, а любое движение по следующей координате (пунктирная линия) ведет нас на подъем. Никакой дальнейший спуск по координатам невозможен, хотя минимум еще не достигнут; процесс спуска по координатам в данном случае не сходится к минимуму. Наоборот, если функция достаточно гладкая, то в некоторой окрестности минимума процесс спуска по координатам сходится к этому минимуму. Пусть функция имеет непрерывные вторые производные, а ее минимум не вырожден. Для простоты опять рассмотрим функцию двух переменных Ф(х, у). Выберем некото- некоторое нулевое приближение х0, у0 и проведем линию уровня через эту точку. Пусть в области G, ограниченной'этой линией уровня, выполняются неравенства, означающие положительную определен- определенность квадратичной формы A8): Фхх^а>0, Фуу^Ь>0, |Ф^|^с, ab>c\ B1) Докажем, что тогда спуск по координатам из данного нулевого приближения сходится к минимуму, причем линейно. Значения функции вдоль траектории спуска не возрастают; поэтому траектория не может выйти из области G, и неравен- неравенства B1) будут выполняться на всех шагах. Рассмотрим один из циклов, начинающийся в точке А (рис. 38, а). Предыдущий цикл окончился поиском минимума по направлению у, следова- следовательно, (Фу)л = 0 и \Фх\А = 11ф0. Первый шаг нового цикла спускает нас по направлению х в точку В, в которой Фл. = 0 и \фу\ = ч\ф0. Поскольку вторые производные непрерывны, можно применить теорему о среднем; получим где через р обозначены расстояния между точками. Отсюда получаем с^^ац. Выполним второй шаг цикла —спуск по направлению у в точку С, после которого (Ф,/)с = 0 и|Ф*|с = |2'
206 ПОИСК МИНИМУМА [ГЛ. VII Аналогичные рассуждения дают соотношение сt\~^b\^. Объединяя эти неравенства, найдем Следовательно, за один цикл Фх уменьшается в q раз: то же справедливо для Фу, если рассмотреть цикл, сдвинутый на один шаг, т. е. начинающийся в точке В и кончающийся в точке D. Значит, когда число циклов /г->оо, то все первые производные линейно стремятся к нулю: Первые производные одновременно обращаются в нуль в точке минимума и вблизи него являются линейными однородными функциями приращений координат. Поэтому координаты точек спуска линейно стремятся к координатам точки минимума, т. е. в данном случае спуск по координатам сходится, причем линейно. Случай B1) заведомо реализуется в достаточно малой окре- окрестности невырожденного минимума, ибо эти условия эквива- эквивалентны требованию положительной определенности квадратичной формы A8). Таким образом, вблизи невырожденного минимума достаточно гладкой функции спуск по координатам линейно схо- сходится к минимуму. В частности, для квадратичной функции этот метод сходится при любом нулевом приближении. Фактическая скорость сходимости будет неплохой при малых ц, когда линии уровня близки к эллипсам, оси которых параллельны осям координат. Для эллипсов, сильно вытянутых под значитель- значительным углом к осям координат, величина q я« 1 и сходимость очень медленная. Если сходимость медленная, но траектория уже попала в близ- близкую окрестность минимума, то итерации можно уточнять процес- процессом Эйткена; разумеется, при этом надо брать в качестве исход- исходных значения не на трех последних спусках, а на трех циклах спусков (т. е. не точки А, В, С, а точки В, D и третья точка, которой нет на рис. 38, а). Разрешимый овраг напоминает сильно вытянутую котловину (см. рис. 38,6). При попадании траектории спуска в такой овраг сходимость становится настолько медленной, что расчет практи- практически невозможно вести. Отметим, что в стохастических задачах наличие ошибок эквивалентно превращению истинных оврагов и гребней в разрешимые; расчет при этом можно продолжать, хотя практическая ценность такого расчета невелика: сходимость очень медленная. Метод спуска по координатам несложен и легко программи- программируется на ЭВМ. Но сходится он медленно, а при наличии овра- оврагов—очень плохо. Поэтому его используют в качестве первой попытки при нахождении минимума.
§ 2J МИНИМУМ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ 207 Пример. Рассмотрим квадратичную функцию Ф(х, у) — — х2 + У2 + ХУ и выберем нулевое приближение хо—1, уо = 2. Выполняя вычисления, получим Уточнение по Эйткену дает х = г/ = О, т. е. точное положение минимума (заметим, что делать уточнение о использованием нуле- нулевого приближения нельзя; читателям предлагается объяснить, почему). 3. Наискорейший спуск. Спускаться можно не только парал- параллельно осям координат. Вдоль любой прямой г — ro + at функ- функция зависит только от одной переменной, Ф (rQ-\-at) = ц> (t), и минимум на этой прямой находится описанными в § 1 методами. Наиболее известным является метод наискорейшего спуска, когда выбирается а = — (gradO)r==ro, т. е. направление, в кото- котором функция быстрее всего убывает при бесконечно малом движе- движении из данной точки. Спуск по этому направлению до минимума определяет новое приближение гг. В этой точке снова опреде- определяется градиент и делается следующий спуск. Однако этот метод значительно сложнее спуска по координа- координатам, ибо требуется вычислять производные и градиент (это нередко делают конечно-разностными методами) и переходить к другим переменным. К тому же, по сходимости наискорейший спуск не лучше спуска по координатам. При попадании траектории в истинный овраг спуск прекращается, а в разрешимом овраге сильно замедляется. Если функция является положительно определенной квадра- квадратичной функцией Ф (/¦) = (/•, Аг) + ф, г)+с, B2) то формулы наискорейшего спуска приобретают несложный вид. Вдоль прямой r = rn-\-at функция B2) квадратично зависит от параметра t: Ф @ = Ф (/¦„ + at) = Ф (/"„} + BArn + b, a)t + (a, Aa) t\ B3) Из уравнения (йц>/Ш) = 0 легко находим ее минимум t = - BАгя + Ь, а)/2 (а, Аа), B4) дающий нам следующую точку спуска: *? B5) Направление наискорейшего спуска определяется градиентом квадратичной функции B2): а = - (grad Ф), = - BArn + b). B6)
208 ПОИСК МИНИМУМА [ГЛ. VII Подставляя это значение в формулы B4) —B5), получим окон- окончательные выражения для вычисления последовательных спусков. Если воспользоваться разложением всех движений по базису, состоящему из собственных векторов матрицы А, то можно дока- доказать, что для квадратичной функции метод наискорейшего спуска линейно сходится, причем rn+i-r ^q\rn-r , где q = B7) Рис. 39. здесь X — собственные значения положительно определенной матрицы А (они вещественны и положительны). Если Xmin<^Xmax, что соответствует сильно вытянутым эллипсам —линиям уровня, то q яа 1 и сходимость может быть очень медленной. Есть такие на- начальные приближения (рис. 39), когда точно реализуется наихуд- наихудшая возможная оценка, т. е. в B7) имеет место равенство. Причины нетрудно понять. Во- первых, в данной точке любую прямую, в том числе невыгодную для спуска, можно сделать на-, правлением градиента, если спе- специально подобрать изменение мас- масштабов по осям. Во-вторых, каж- каждый спуск кончается в точке, где его направление касается ли- линии (поверхности) уровня. Градиент перпендикулярен поверх- поверхности уровня. Следовательно, в методе наискорейшего спуска каждый спуск перпендикулярен предыдущему. В двумерном случае это означает, что мы совершаем спуск по координатам, повернутым так, что одна ось параллельна градиенту в начальной точке. Для улучшения метода наискорейшего спуска предлагают «кухонные» поправки к алгоритму— например, совершают по каж- каждому направлению спуск не точно до минимума. Наиболее любо- любопытным представляется такое видоизменение алгоритма. Будем делать по направлению, противоположному градиенту, только бесконечно малый шаг и после него вновь уточнять направление спуска. Это приводит к движению по кривой r{t), являющейся решением системы обыкновенных дифференциальных уравнений: Вдоль этой кривой йФ/сИ = (d<?>/dr) (dr/dt) = — (grad ФJ < 0, т. е. функция убывает, и мы движемся к минимуму при t-+-{-oo.
§ 2] минимум функции многих Переменных 209 Уравнение B8) моделирует безынерционное движение материаль- материальной точки вниз по линии градиента. Можно построить и другие уравнения —например, дифференциальное уравнение второго порядка, моделирующее движение точки при наличии вязкого трения. Однако от идеи метода еще далеко до надежного алгоритма. Фактически систему дифференциальных уравнений B8) надо чис- численно интегрировать (см. главу VIII). Если интегрировать с большим шагом, то численное решение будет заметно отклоняться от линии градиента. А при интегрировании малым шагом сильно возрастает объем расчетов. Кроме того, если рельеф имеет изви- извилистые овраги, то трудно ожидать хорошей сходимости этого метода. Алгоритмы наискорейшего спуска и всех его видоизменений сейчас недостаточно отработаны. Поэтому метод наискорейшего спуска для сложных нелинейных задач с большим числом пере- переменных (т^>,Ь) редко применяется, но в частных случаях он может оказаться полезным. 4. Метод оврагов. Рассмотрим задачу Ф (г) = min. Выберем произвольно точку р0 и спустимся из нее (например, по координатам), делая не очень много шагов, т. е. не требуя высокой точности сходимости. Конечную точку сцуска обозначим г0. Если рельеф овражный, эта точка окажется вблизи дна оврага (рис. 40). Теперь выберем другую точку pt не слишком далеко от первой. Из нее также сделаем спуск и попадем в некоторую точку гг. Эта точка тоже лежит вблизи дна оврага. Проведем через точки г0 и гх на дне оврага прямую — приблизительную линию дна оврага, л передвинемся по этой линии в сторо- ну убывания функции и выберем но- новую точку Ра = /-1±(г1-г0)Л, A = const>0. ( ' В формуле B9) выбирается плюс, если Ф (Г]) < Ф (го), и минус в об- Рис. 40. ратном случае, так что движение на- направлено в сторону понижения дна оврага. Величина h называется овражным шагом и для каждой функции подбирается в ходе расчета. Дно оврага не является отрезком прямой, поэтому точка р2 на самом деле лежит не на дне оврага, а на склоне. Из этой точки снова спустимся на дно и попадем в некоторую точку л2. Затем соединим точки гх и гг прямой, наме- наметим новую линию дна оврага и сделаем новый шаг по оврагу. Продолжим процесс до тех пор, пока значения функции на дне оврага, т. е. в точках г„, убывают. В случае, когда Ф (Гп+l) > Ф (/-я), процесс надо прекратить и значение гп+1 не использовать. Метод оврагов рассчитан на то, чтобы пройти вдоль оврага и выйти в котловину около минимума. В этой котловине значения минимума лучше уточнять другими методами.
210 поиск минимума [гл. vii Методом оврагов удается находить минимумы достаточно сложных функ- функций от 5—10 переменных. Но этот метод довольно капризен. Для каждой функции приходится подбирать свой овражный шаг, визуально наблюдать за ходом расчета и вносить коррективы. Программирование этого метода на ЭВМ несложно. 5. Сопряженные направления. Методы наискорейшего спуска или спуска по координатам даже для квадратичной функции требуют бесконечного числа итераций. Однако можно построить такие направления спуска, что для квадратичной функции Ф (/¦) = (/•, Аг) + ф, г) + с C0) (где г есть я-мерный вектор) с симметричной положительно определенной матрицей А процесс спуска сойдется точно к мини- минимуму за конечное число шагов. Положительно определенная матрица позволяет ввести норму вектора следующим образом: ||лг||2 = (лг, Ах)>0 при хфО. C1) Нетрудно проверить, что все аксиомы нормы при этом выполнены. Определение C1) означает, что под скалярным произведением двух векторов х и у теперь подразумевается величина (х, Ау). Векторы, ортогональные в смысле этого скалярного произведения (х,Ау) = 0, C2) называют сопряженными (по отношению к данной матрице А). Ниже мы увидим, что поочередный спуск по сопряженным направ- направлениям особенно выгоден при поиске минимума. На этом основана большая группа методов: сопряженных градиентов, сопряженных направлений, параллельных касатель- касательных и другие. Для квадратичной функции они применяются с одинаковым успехом. На произвольные функции наиболее хорошо обобщается метод сопряженных направлений, у которого детали алгоритма тщательно отработаны; этот метод излагается в дан- данном пункте. а) Сначала рассмотрим, как применяется этот метод к квад- квадратичной форме C0). Для этого нам потребуются некоторые свой- свойства сопряженных векторов. Пусть имеется некоторая система попарно сопряженных векторов Xt. Нормируем каждый из этих векторов в смысле нормы C1); тогда соотношения между ними примут вид (xh Axj) = btJ. C3) Докажем, что взаимно сопряженные векторы линейно-независимы. Из равенства хг= ^] ВД следует (xlt Ax1)= ^ ai(xlt Axt) = Q,
§2] МИНИМУМ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ 211 что противоречит положительной определенности матрицы. Это противоречие доказывает наше утверждение. Значит, система п сопряженных векторов является базисом в я-мерном пространстве. Для данной матрицы имеется бесчисленное множество базисов, состоящих из взаимно сопряженных векторов. Пусть мы нашли некоторый сопряженный базис xt, I s^i^n. Выберем произвольную точку г0. Любое движение из этой точки можно разложить по сопряженному базису п г = го+%сцх,. C4) Подставляя это выражение в правую часть формулы C0), преоб- преобразуем ее с учетом сопряженности базиса C3) к следующему виду: Ф (/-) = Ф (/-о) + J] [а? + 2а< (xt, Аг0) + а, (xt, b)}. C5) Последняя сумма состоит из членов, каждый из которых соот- соответствует только одной компоненте суммы C4). Это означает, что движение по одному из сопряженных направлений xt меняет только один член суммы C5), не затрагивая остальных. Совершим из точки г0 поочередные спуски до минимума по каждому из сопряженных направлений Х{. Каждый спуск мини- минимизирует свой член суммы C5), так что минимум квадратичной функции точно достигается после выполнения одного цикла спусков, то есть за конечное число действий. Поясним геометрический смысл сопряженного базиса. Если осями координат сделать главные оси эллипсоидов уровня квад- квадратичной функции, то один цикл спусков по этим координатам приводит точно в минимум. Если перейти к некоторым аффин- аффинным координатам, то функция останется квадратичной, но коэф- коэффициенты квадратичной формы изменятся. Можно формально рас- рассмотреть нашу квадратичную функцию с измененными коэффи- коэффициентами как некоторую новую квадратичную форму в декартовых координатах и найти главные оси ее эллипсоидов. Положение этих главных осей в исходных аффинных координатах будет неко- некоторой системой сопряженных направлений. Разный выбор аффин- аффинных координат естественно приводит к разным сопряженным базисам. б) Сопряженный базис можно построить способом параллель- параллельных касательных плоскостей. Пусть некоторая прямая параллельна вектору х, а квадра- квадратичная функция достигает на этой прямой минимального значе- значения в точке /¦„. Подставим уравнение этой прямой г'=го-\-ах в выражение C0) и потребуем выполнения условия минимума
212 поиск минимума [гл. vii функции ф (а) == Ф (г0 + ах) в точке г — г0, т. е. при а = 0. Для этого воспользуемся выражением C5), где в сумме оставим только один член: и положим (dcp/da)a^0 = 0. Отсюда следует уравнение, которому удовлетворяет точка минимума: (х, 2Л/-0 + &) = 0. C6) Пусть на какой-нибудь другой прямой, параллельной первой, функция принимает минимальное значение в точке rx; тогда ана- аналогично найдем (л:, 2Агх-\-Ь) = 0. Вычитая это равенство из C6), получим (х, А(г1-г0)) = 0. C7) Следовательно, направление, соединяющее точки минимума на двух параллельных прямых, сопряжено направлению этих прямых. Таким образом, всегда можно построить вектор, сопряженный произвольному заданному вектору х. Для этого достаточно про- провести две прямые, параллельные х, и найти на каждой прямой минимум квадратичной формы C0). Вектор гх — г0, соединяющий эти минимумы, сопряжен х. Заметим, что прямая касается линии уровня в той точке, где функция на данной прямой принимает минимальное значение; с этим связано название способа. Пусть имеются две параллельные m-мерные плоскости, порож- порожденные системой сопряженных векторов xt, 1 =s=:/=s=:/n <я. Пусть квадратичная функция достигает своего минимального значения на этих плоскостях соответственно в точках г0 -и rv Аналогич- Аналогичными рассуждениями можно доказать, что вектор rx — rQ, соеди- соединяющий точки минимума, сопряжен всем векторам х-г. Следова- Следовательно, е_сли задана неполная система сопряженных векторов jc;, то этим способом всегда можно построить вектор f± — r0, сопря- сопряженный всем векторам этой системы. Рассмотрим один цикл процесса построения сопряжен- сопряженного базиса. Пусть уже построен базис, в котором последние т векторов взаимно сопряжены, а первые п — т векторов не сопря- сопряжены последним. Найдем минимум квадратичной функции C0) в какой-нибудь m-мерной плоскости, порожденной последними т векторами базиса. Поскольку эти векторы взаимно сопряжены, то для этого достаточно произвольно выбрать точку г0 и сделать из нее спуск поочередно по каждому из этих направлений (до минимума!). Точку минимума в этой плоскости обозначим че- через гг. Теперь из точки гх сделаем поочередный спуск по первым п — т векторам базиса. Этот спуск выведет траекторию из пер- первой плоскости и приведет ее в некоторую точку /*2. Из точки гг
§ 21 МИНИМУМ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ 213 снова совершим по последним т направлениям спуск, который приведет в точку г3. Этот спуск означает точное нахождение минимума во второй плоскости, параллельной первой плоскости. Следовательно, направление г3 — гг сопряжено последним т век- векторам базиса. Если одно из несопряженных направлений в базисе заменить направлением Гз — fi, то в новом базисе уже т-\-\ направление будет взаимно сопряжено. Начнем расчет циклов с произвольного базиса; для него можно считать, что т=1. Описанный процесс за один цикл увеличивает на единицу число сопряженных векторов в базисе. Значит, за п— 1 цикл все векторы базиса станут сопряженными, и следую- следующий цикл приведет траекторию в точку минимума квадратичной функции C0). в) Хотя понятие сопряженного базиса определено только для квадратичной функции, описанный выше процесс построен так, что его можно формально применять для произвольной функции. Разумеется, что при этом находить минимум вдоль направления надо методом парабол, не используя нигде формул, связанных с конкретным видом квадратичной функции C0). В малой окрестности минимума приращение достаточно глад- гладкой функции обычно представимо в виде симметричной положи- положительно определенной квадратичной формы типа A8). Если бы это представление было точным, то метод сопряженных направлений сходился бы за конечное число шагов. Но представление при- приближенно, поэтому число шагов будет бесконечным; зато сходи- сходимость этого метода вблизи минимума будет квадратичной. Благодаря квадратичной сходимости метод сопряженных на- направлений позволяет находить минимум с высокой точностью. Методы с линейной сходимостью обычно определяют экстремаль- экстремальные значения координат менее точно. Замечание 1. Реально даже для квадратичной функции процесс не всегда укладывается в п циклов. Построение сопря- сопряженного базиса означает ортогонализацию в метрике, порожден- порожденной матрицей А. Ранее отмечалось, что в процессе ортогонали- зации теряется точность; при большом числе переменных погреш- погрешность настолько возрастает, что процесс приходится повто- повторять. Замечание 2. Теоретически безразлично, какое из несопря- несопряженных направлений выкинуть из базиса в конце цикла. Обычно выкидывают то направление, при спуске по которому на данном цикле функция изменилась менее всего. Поскольку для произ- произвольной функции понятие сопряженности ввести нельзя, то направление наиболее слабого убывания выкидывают независимо от того, под каким номером оно стоит в базисе. Любопытно, что это оказывается выгодным даже для квадратичной функции, хотя
214 ПОИСК МИНИМУМА [ГЛ. VII на основании этого критерия иногда можно выкинуть сопряжен- сопряженное направление, оставив несопряженные; зато уменьшается потеря точности при ортогонализации. Замечание 3. Описанный выше цикл метода включает два спуска по сопряженным направлениям и один — по несопряжен- несопряженным. Более выгоден цикл, при котором сразу после нахождения нового сопряженного направления по нему делают спуск из точки /, приходя в некоторую точку /. Тогда спуск из г2 в г4 будет спуском в плоскости всех новых сопряженных направле- направлений, т. е. его можно считать первой группой нового цикла спу- спусков. Поэтому из точки /*4 сразу можно спускаться по несопря- несопряженным направлениям. При этом новое направление ставят в базис на последнее место и выкидывают то направление, на котором функция слабее всего уменьшилась при спусках от точки гх до точки /. Наи- Наименее выгодным может оказаться и новое направление; тогда сле- следующий цикл спусков будет сделан со старым базисом. Метод сопряженных направлений является, по-видимому, наи- наиболее ^эффективным методом спуска. Он неплохо работает и при вырожденном минимуме, и при разрешимых оврагах, и при нали- наличии слабо наклонных участков рельефа — «плато»", и при большом числе переменных — до двух десятков. 6. Случайный поиск. Методы спуска неполноценны на неупо- неупорядоченном рельефе. Если локальных экстремумов много, то спуск из одного нулевого приближения может сойтись только к одному из локальных минимумов, не обязательно абсолютному. Тогда для исследования задачи применяют случайный поиск. Предполагают, что интересующий нас минимум (или все мини- минимумы) лежит в некоторой замкнутой области; линейным преоб- преобразованием координат помещают ее внутрь единичного «-мерного куба. Выбирают в этом кубе N случайных точек способами, опи- описанными в § 4 главы IV; если о расположении экстремумов зара- заранее ничего не известно, то наилучшие • результаты дают ЛПХ- последовательности точек. Даже при миллионе пробных точек вероятность того, что хотя бы одна точка попадет в небольшую окрестность локального минимума, ничтожно мала. В самом деле, пусть диаметр котло- котловины около минимума составляет 10% от пределов изменения каждой координаты. Тогда объем этой котловины составляет 0,1ге часть объема «-мерного куба. Уже при д>6 ни одна точка в котловину не попадет. Поэтому берут небольшое число точек N яаE — 20) п и каж- каждую точку рассматривают как нулевое приближение. Из каждой точки совершают спуск, быстро попадая в ближайший овраг или котловину; когда шаги спуска сильно укорачиваются, его прек- прекращают, не добиваясь высокой точности. Этого уже достаточно,
§ 3J МИНИМУМ В ОГРАНИЧЕННОЙ ОБЛАСТИ 215 чтобы судить о величине функции в ближайшем локальном мини- минимуме с удовлетворительной точностью. Сравнивая (визуально или при помощи программы) оконча- окончательные значения функции на всех спусках между собой, можно изучить расположение локальных минимумов функции и сопоста- сопоставить их величины. После этого можно отобрать нужные по смыслу задачи минимумы и провести в них дополнительные спуски для получения координат точек минимума с высокой точностью. Обычно в прикладных задачах нужно в первую очередь добиться того, чтобы исследуемая функция приняла минимальное или почти минимальное значение. Но вблизи минимума значение функции слабо зависит от изменения координат. Зачем [тогда нужно находить координаты точки минимума с высо- высокой точностью? Оказывается, что это имеет не только теоретический, но и практический смысл. ¦ ч Пусть, например, координаты—это размеры деталей механической кон- конструкции, а минимизируемая функция есть мера качества конструкции. Если мы нашли минимум точно, то мы находимся в самом центре котловины около минимума. В этом случае вариации координат влияют на функцию слабее, чем в точках, расположенных ближе к краям котловины. А безопасные вариации координат имеют в данном примере смысл допусков на точность обработки деталей. Значит, при аккуратном вычислении координат минимума мы можем разрешить большие допуски, т. е. удешевить обработку деталей. Метод случайного поиска зачастую позволяет найти все локаль- локальные минимумы функции от 10 — 20 переменных со сложным релье- рельефом. Он полезен и при исследовании функции с единственным минимумом; в этом случае можно обойтись заметно меньшим числом случайных точек. Недостаток метода в том, что надо заранее задать область, в которой выбираются случайные точки. Если мы зададим слишком широкую область, то ее труднее детально исследовать, а если выберем слишком узкую область, то многие локальные минимумы могут оказаться вне ее. Правда, положе- положение несколько облегчается тем, что при спусках траектории могут выйти за пределы заданной области и сойтись к лежащим вне этой области минимумам. § 3. Минимум в ограниченной области 1. Формулировка задачи. Пусть в /г-мерном векторном про- пространстве задана скалярная функция Ф(х). Рассмотрим задачу на минимум с дополнительными условиями двух типов: Ф (х) = min, ф,- (х) = 0, 1 ==с i =ss m, 0 1 </</> C8) Условия типа равенств выделяют в пространстве некоторую (п — т)- мерную поверхность; поэтому должно выполняться неравенство т<С.п.. Условия типа неравенств выделяют «-мерную область, ограниченную гиперповерхностями tyj (х) = 0; число таких условий
216 поиск минимума [гл. vii может быть произвольным. Следовательно, задача C8) есть поиск минимума функции я переменных в (я — т)-мерной об- области G. Функция может достигать минимального значения как внутри области, так и на ее границе. Эта задача и особенно последний случай трудны для расчета. Вид дополнительных условий в любой реальной задаче не слишком прост, так что явно ввести в обла- области G собственную (п — т)-мерную систему координат практиче- практически никогда не удается. Значит, при численном расчете мы вынуж- вынуждены вести спуск не на (я — т)-мерной поверхности, а во всем я-мерном пространстве. Тогда даже если нулевое приближение лежит в области G, естественная траектория спуска сразу выхо- выходит из этой области; особенно сложно «заставить» траекторию идти вдоль границы области. В математических задачах экономики поиск минимума при дополнительных условиях называют (в зависимости от типа функ- функций) линейным, нелинейным и т. д. программированием. 2. Метод штрафных функций. Рассмотрим задачу на абсолют- абсолютный минимум во всем я-мерном пространстве для такой вспомо- вспомогательной функции: C9) {т р ¦> I] ф! (х) + ? ttf (x)[\- sign fy (x)]I = min, ц>0. Прибавляемые к Ф (х) члены взяты таким образом, что они обра- обращаются в нуль, если дополнительные условия в C8) выполнены. Если же условия нарушены, то эти члены положительны, т. е. они увеличивают F(x), причем тем больше, чем сильнее нару- нарушены дополнительные условия. Это своеобразный штраф за нару- нарушение условий. Если коэффициент штрафа \х достаточно велик, то за грани- границами области G функция F (х) быстро возрастает. Значит, мини- минимум F (х) расположен или внутри области G, или снаружи вблизи ее границы. Если он лежит в области G, то он совпадает с мини- минимумом Ф(х), ибо там дополнительные члены в условии C9) обра- обращаются в нуль. Если же минимум F (х) лежит снаружи, то мини- минимум х исходной функции лежит на границе; при разумных предположениях о свойствах функций Ф(л^), % (х) и чру (jc) дока- доказано, что его отличие от минимума л;й вспомогательной функции не превышает , — _ . const где величина константы зависит от конкретных свойств функций C8). Поэтому если взять последовательность ji.ft->co и найти для нее минимумы хк вспомогательной функции F (x; |xft), то xk~>x.
§ 3] МИНИМУМ В ОГРАНИЧЕННОЙ ОБЛАСТИ 217 Задачу C9) на безусловный экстремум удобнее всего решать методом случайного поиска со спуском по сопряженным направ- направлениям: здесь естественно задана область, где надо выбирать случайные точки. При малых значениях ц. согласно оценке D0) точность может быть плохой. Но при большом ji благодаря дополнительным чле- членам в C9) вблизи границы области появляются глубокие овраги и крутые откосы, так что методы спуска сходятся медленно. Полезен следующий прием, заметно ускоряющий сходимость. Сначала берут небольшое \iy и легко находят соответствующий минимум Ху. Затем берут большее значение ц2, а значение Ху используют в качестве начального приближения для спуска; поэтому спуск будет не длинный, и новый минимум х2 опреде- определится быстро. Эту процедуру повторяют до тех пор, пока «штраф» — фигурная скобка в C9) — не станет достаточно малым. Тогда можно считать, что точка Xk близка к границе области G и хорошо аппроксимирует минимум х. Метод штрафных функций медленный и не слишком надеж- надежный. Он применим только при небольшом числе переменных /г<10. Но существенно более хороших методов для общей нели- нелинейной задачи C8) пока нет. Перспективным кажется метод штрафных оценок, являющийся комбинацией описанного метода и метода неопределенных множителей Лагранжа; однако он еще мало изучен. 3. Линейное программирование. При оптимизации экономиче- экономических планов возникают задачи на минимум линейной функции, п переменных при наличии линейных дополнительных условий трех типов: п L (х) = 2 с^ = min, D1 а) *,Зэ=0, lsgt<n, D16) 2>/i*i = fy. 1</</п, D1 в) 2 M. D1r) (=i Каждое из условий типа неравенств D16) или D1 г) определяет полупространство, ограниченное гиперплоскостью; все эти усло- условия вместе определяют выпуклый «-мерный многогранник J, яв- являющийся пересечением соответствующих полупространств. С ма- математической точки зрения условия D16) и D1 г) однотипны; но по традиции их записывают указанным образом. Условия типа равенств D1 в) выделяют из «-мерного пространства (п — т)-мерную
218 ПОИСК МИНИМУМА [ГЛ. VII плоскость. Ее пересечение с областью J дает выпуклый (п — т)- мерный многогранник G; наша задача состоит в том, чтобы найти минимум линейной функции D1а) в этом многограннике G. Примером такой задачи является распределение производства однотипной продукции по разным заводам. Пусть xi — выпускаемое г'-м заводом количество продукции (оно должно быть неотрицательным), ci — себестоимостью одного изде- изделия на этом заводе, aji при \>т—расход сырья /-го вида и а,-; при 2 =s;/:<:/п —расход заработной платы и других аналогичных показателей /-го вида при выпуске единицы продукции на данном заводе. Положим ац=1; тогда Ьх будет суммарным выпуском продукции по всем заводам, by, 2s?/=s; =g т, —полной заработной платой и аналогичными данными по всей отрасли, суммы D1 г)—расходом сырья по всем заводам, a L — себестоимостью общей продукции. Требуется, чтобы себесгоимость продукции была минимальной, выпуск продукции, расход заработной платы и т. д. — заданными, а фонды сырья bj, т < /, не перерасходовались. Нас интересует, как распределить неотрицательные плановые задания ж; по заводам так, чтобы удовлетворить всем этим требованиям. Отметим терминологию, установившуюся в экономике. Вектор х, удовлет- удовлетворяющий всем дополнительным условиям, называют планом; если он, к тому же, соответствует вершине многогранника G, то опорным планом. Решение экстремальной задачи D1) называют оптимальным планом, столбцы прямо- прямоугольной матрицы А —векторами условий, а столбец Ь — вектором ограничений. В задачах экономики обычно все коэффициенты а, Ь, с^эО, хотя для после- последующего изложения это несущественно. Многогранник условий G—выпуклый (он может быть и неог- неограниченным). Поэтому внутри него линейная функция L (х) не может достигать минимума. Ее минимум (если он существует) достигается обязательно в какой-нибудь вершине многогранника. При вырождении он может достигаться во всех точках ребра или даже р-мерной ограничивающей плоскости (р <Сп — т). Поэ- Поэтому теоретически задача линейного программирования проста. Достаточно вычислить значения функции в конечном числе точек— в вершинах многогранника и найти среди этих значений наи- наименьшее. Сложность заключается в другом. Типичное в экономике число переменных — это сотни и даже тысячи. При этом число вершин многогранника G становится астрономическим. Для того чтобы оценить это число, рассмотрим способ нахождения вершин. Находить вершины самого многогранника G неудобно. Лучше преобразовать задачу к канонической форме, не содержащей ус- условий третьего типа. Для этого введем в качестве новых перемен- переменных невязки условий третьего типа: m. D2) 4=1 Доопределим коэффициенты экстремальной задачи D1) следующим образом: С/ = 0, aji = bjiiJrM-N при n<is^N, К/^УИ. D3)
§ 3] МИНИМУМ В ОГРАНИЧЕННОЙ ОБЛАСТИ 219 Тогда задача линейного программирования примет каноническую форму: L (х) з= ^] cixt = min, D4a) , l^i^N, D46) N ^b/, l^j^M (M<N). D4b) Многогранник новых канонических условий образован пересечением новой (N — М)-мерной плоскости условий с первым координат- координатным углом. Значит, все его вершины лежат на координатных гиперплоскостях, т. е. у каждой вершины часть координата- нули, а остальные координаты положительны. Будем считать, что строки норой матрицы А линейно-незави- линейно-независимы: в противном случае или одно условие лишнее, или система условий, несовместна. Тогда ранг этой прямоугольной матрицы равен М, и среди ее столбцов найдется по крайней мере один набор из М линейно-независимых столбцов. Все линейно-независимые наборы столбцов матрицы А соответствуют точкам пересечения плоскости условий с координатными гиперплоскостями. Чтобы найти вершину, возьмем один такой набор столбцов. Для удобства записи перенумеруем переменные так, чтобы пер- первыми стояли столбцы, соответствующие этому набору (базису). Перепишем условия второго типа D4в) в следующем виде: М N ^ % М- D5) Обозначим через а#, 1^/, i^M, элементы матрицы, обратной к базисной квадратной матрице, стоящей в левой части системы D5). Приравнивая внебазисные координаты нулю и решая эту систему, получим координаты точки пересечения плоскости условий с ко- координатной гиперплоскостью м v D/ Если найденные координаты неотрицательны, точка пересечения принадлежит первому координатному углу, т. е. является верши- вершиной многогранника канонических условий. Если хотя бы одно Xi < 0, эту точку надо отбросить и исследовать другой набор столбцов матрицы Л. Если мы забракуем все точки, это
220 ПОИСК МИНИМУМА [ГЛ. VII означает, что условия первого и второго рода образуют несов- несовместную систему. Различные столбцы матрицы А могут образовать См наборов. Поэтому в самом неблагоприятном случае {Mf=aM2N) многогран- многогранник условий может иметь до Cn/2^^2n вершин. Если N^100, то это число настолько велико, что простой перебор вершин не- невозможен. Нетрудно подсчитать, что для ЭВМ типа БЭСМ-6 простой перебор посилен только при N<Z15. 4. Симплекс-метод позволяет найти решение задачи линейного программирования за гораздо меньшее число действий. Изложим идею метода. Найдем какую-нибудь вершину многогранника и все ребра, выходящие из этой вершины. Пойдем вдоль того из ребер, по которому функция убывает. Придем в следующую вершину, най- найдем выходящие из нее ребра и повторим процесс. Когда мы при- придем в такую вершину, что вдоль всех выходящих из нее ребер функция возрастает, то минимум достигнут. Поскольку L (х) — линейная функция, а многогранник условий выпуклый, то этот процесс всегда сходится к решению задачи, причем за конечное число шагов. При канонической форме записи многогранника условий из каж- каждой его вершины исходит N — М ребер. Выбирая одно ребро, мы выбрасываем из рассмотрения е.^утшны, лежащие на осталь- остальных траекториях. Следовательно, за k шагов мы рассматриваем (N — Мук-ю часть вершин, проходя мимо остальных. Нам надо найти искомую вершину среди См вершин многогранника. При- Приравнивая число вершин См величине (N — M)k, получим, что ми- минимум достигается примерно за k^N шагов, т. е. достаточно быстро. Выведем формулы шага. Первую вершину находим по фор- формуле D6). Чтобы найти ребро, надо одну из внебазисных пере- переменных Х[ сделать положительной; тогда координаты точек ребра можно выразить через нее из D5) при помощи обратной матрицы м Xi='Xi — Xi 2] cty%, l=s5tscM, %1 = хп D7) j'= i остальные внебазисные координаты остаются равными нулю. Будем увеличивать xt до тех пор, пока одна из базисных коор- координат не обратится в нуль. Это будет при м 5«=|л%>0; D8) минимум ищется только среди тех индексов i, для которых S^X), ибо только эти координаты вдоль данного ребра уменьшаются и,
§ 3] МИНИМУМ В ОГРАНИЧЕННОЙ ОБЛАСТИ 221 следовательно, могут обратиться в нуль. Если все суммы Sa при данном / отрицательны, то это ребро неограниченное и весь многогранник условий — тоже. Подставляя найденное xt в формулы D7), получим координа- координаты новой вершины и вычислим в ней значение функции L{x) = Lt. Поочередно меняя каждую внебазисную переменную, найдем все N — М ребер, выходящих из исходной вершины и проводящих в смежные вершины. Сравним все значения функции в смежных вершинах L, и выберем из них наименьшее. Если оно меньше, чем значение функции в исходной вершине Lo, то переместимся в наинизшую из новых вершин и повторим процесс. Если же minLl^L0, то минимум уже достигнут в исходной вершине. Для всех неограниченных ребер, исходящих из вершины, надо проверять знак производной функции мм м i = 1 / = 1 i=l Если эта величина отрицательна, то задача линейного програм- программирования вообще не имеет решения (xnmL(x)~— оо). Если же она неотрицательна, то это ребро не ведет к минимуму, и оно нас не интересует. Нетрудно оценить, что для выполнения всех шагов и получе- получения минимума требуется примерно до 10 N2M2 арифметических действий. Это уже приемлемо для крупных современных ЭВМ. Симплекс-метод является примером высоко специализирован- специализированного метода. Он пригоден только для нахождения минимума линейной функции в многомерном выпуклом многограннике опре- определенного вида — симплексе. Зато он позволяет решать задачи с огромным числом переменных. 5. Регуляризация линейного программирования. Задача линей- линейного программирования часто оказывается плохо обусловленной. Так, себестоимость единицы продукции или норм расхода сырья на разных заводах не должна сильно отличаться. Поэтому даже заметное перераспределение заказов между заводами слабо влия- влияет на суммарную стоимость продукции. Соответственно малая вариация суммарной стоимости приводит к большой вариации распределения заказов. По тем же причинам небольшое изменение себестоимости или других показателей на отдельных заводах сильно меняет опти- оптимальный план, так. что решение очень чувствительно к вариациям коэффициентов. А сами эти коэффициенты не вполне точно изве- известны. Поэтому на практике задача D1) нередко оказывается настолько плохо обусловленной, что не удается даже проверить, совместна ли система дополнительных условий, т. е. может ли существовать решение поставленной задачи.
222 ПОИСК МИНИМУМА [ГЛ. VII Для регуляризации задачи линейного программирования вос- воспользуемся тем же способом, что и для решения плохо обуслов- обусловленных линейных систем (см. главу V, § 1). Будем искать нор- нормальное решение х, т. е. наименее уклоняющееся от некоторого заданного вектора jc0. Обычно в качестве х0 берут ранее со- составленный план. Тогда регуляризованное решение будет почти не уступать оптимальному по величине L (х) и в то же время мало отличаться от старого плана, так что перестройка планов будет небольшой. Возьмем исходную задачу в канонической форме D4) и рас- рассмотрим формулы регуляризации. Надо минимизировать положи- положительную функцию L (х) или, что то же самое, функцию I? (х). Дополнительным условием служит система уравнений Ах = Ь с прямоугольной матрицей. Поскольку коэффициенты системы известны не точно, то достаточно найти приближенное решение. Тогда требование приближенного соблюдения этих условий экви- эквивалентно введению штрафной функции |л||Ллг —6||2, т. е. постанов- постановке следующей задачи: L2(x) + \x\\Ax-b\}2 = min, ц>0. E0) Здесь норму будем определять, как \\y\\2 — (у,у); тогда все мини- минимизируемые выражения будут квадратичными функциями х, что облегчит вычисления. Заметим, что пока мы не учитывали требо- требования неотрицательности компонент решения. Условием близости решения к заданному вектору можно счи- считать малость величины ||jc — jc0 II или, в более общем виде, ма- малость величины N QM=]]p,fe-^J- P.->0. E1) Эту величину также можно считать штрафом и прибавлять в каче- качестве дополнительного слагаемого в левую часть E0); тогда полу- получаем регуляризованную задачу M[x] = L*(x) + ii\\Ax-b\\2 + kQ[x] = mm, ц,Х>0. E2) Отклонение регуляризованного решения от х0 не должно быть большим. Но х0 есть некоторый план; следовательно, его компо- компоненты неотрицательны. Значит, если у решения, найденного из условия E2), и будут отрицательные компоненты, то неболь- небольшие по абсолютной величине, что в итоге несущественно. Поэ- Поэтому при решении регуляризованной задачи E2) условия неотри- неотрицательности D46) обычно можно не принимать во внимание. Величина М [х] является квадратичной формой, так что нахож- нахождение ее минимума (путем обычного дифференцирования по коор- координатам) сводится к решению системы линейных уравнений. Пос- Поскольку задача регуляризована, то полученная линейная система
§ 4] МИНИМИЗАЦИЯ ФУНКЦИОНАЛА 223 будет хорошо обусловлена; тогда ее решение даже при большом числе неизвестных N ^ 200 легко вычислить методом исключения Гаусса. Более сложен вопрос о выборе параметров регуляризации \i и Я. Величину [л подбирают так, чтобы для найденного регуляризован- ного решения выполнялось условие ЦЛлг —ft|| я«'||б6||, где db — допустимая погрешность вектора Ь, связанная с тем, что его компоненты и коэффициенты матрицы А известны неточно. Ана- Аналогичным образом величину Я связывают с погрешностями коэф- коэффициентов С; и с допустимыми отклонениями функции L (х) от своего минимального значения. При численном решении задачи E2) приходится, находить серию регуляризованных решений, соответствующих разным зна- значениям параметров |i и Я, и выбирать оптимальные параметры. Несмотря на это, общий объем вычислений в описанном методе, по-видимому, не больше, чем в симплекс-методе для нерегуляри- зованной задачи D4). § 4. Минимизация функционала 1. Задачи на минимум функционала. Если каждой функции у (х) из некоторого множества функций У сопоставлено число Ф [*/(*)], то говорят, что на множестве У задан функционал. Задача минимизации функционала формулируется так: найти функцию у (х) е У, на которой функционал достигает своей точной нижней грани на этом множестве: Ф [у (х)] = inf Ф [у (х)], у(х), у (х) <= У. E3) Иногда эту задачу называют минимизацией функционала по аргу- аргументу, а просто минимизацией называют нахождение числа Ф = inf Ф [у (х)], когда не требуется определять функцию, минимизи- минимизирующую этот функционал. Не всякий функционал и не на всяком множестве имеет мини- минимум. Например, решения задачи E3) не существует, если функ- функционал не ограничен снизу на заданном множестве: решения может также не существовать, если множество не компактно в себе, или функционал разрывен и т. д. (хотя условия непре- непрерывности или компактности не являются, вообще говоря, необ- необходимыми). Но мы не исследуем постановки задач и дальше будем предполагать, что конкретные решаемые нами задачи типа E3) корректно поставлены. Дадим несколько примеров задач на минимум функционала. Пусть требуется решить операторное уравнение E4)
224 Поиск минимума [гл. vn Составим функционал , р(*)>0. E5) Очевидно, он равен нулю при Ay(x)=f(x) и положителен, если Ау (х) Ф f (х) на сколь угодно малом, но конечном интервале Ах. Таким образом, найдя функцию у(х), на которой функционал E5) достигает своего абсолютного минимума, мы получим решение уравнения E4). Заметим, что этот функционал ограничен снизу на любом множестве функций и непрерывно зависит от Ау(х). Описанный способ решения операторных уравнений называется методом наименьших квадратов. Если задача E4) некорректно поставлена (например, неустой- неустойчива по правой части), то наиболее употребительным общим мето- методом регуляризации является замена исходной задачи на задачу минимизации функционала А. Н. Тихонова: \ ] = min, a>0, E6) где так называемый стабилизатор п [у (х)] — специально подоб- подобранный положительный функционал, обладающий свойствами нормы; он несколько напоминает штрафную функцию. В главе XIV будет показано, что для стабилизаторов типа « [У (*)] = $ \Р (*) У2 (х) + q (х) у" (х)} их, р(х),q (x) > 0, E7) а решение задачи E6) непрерывно зависит от f(x), причем при правильном подборе а оно одновременно достаточно близко в чебышевской норме к решению у (х) уравнения E4). Уравнение E4) может привести и к другим функционалам. Пусть оператор А аддитивен, положителен и симметричен, так что (у, Лг/)>0 при уфОп (z, Ay) = {Az, у), где под скалярным произведением подразумевается интеграл от произведения функ- функций. Рассмотрим функционал Ф[у(х)] = (у, Ay)-2(y,f), E8) где Покажем, что задача на минимум этого функционала эквивалентна задаче решения операторного уравнения E4).
§ 4] МИНИМИЗАЦИЯ ФУНКЦИОНАЛА 225 В самом деле, запишем произвольную функцию у (х) в следую- следующем виде: . E9) Подставляя это выражение в правую часть формулы E8), получим Ф [У (*)] = Ф [У (*)] + 2Я (г, Ag-f) + к* (г, Аг). F0) Если у (х) есть решение уравнения E4), то второе слагаемое в правой части F0) обращается в нуль; последний же член в пра- правой части неотрицателен благодаря положительности оператора Л. Значит, Ф[г/] = Ш1 Ф[у], т. е. функционал E8) достигает мини- минимума на решении операторного уравнения E4). Наоборот, если у (х) в представлении E9) есть функция, на которой функционал E8) достигает минимума, то первая вариа- вариация функционала на этой функции равна нулю. Следовательно, (<№/сй)л_0 = 0, каково бы ни было z(x). Применяя это условие к F0) и одновременно полагая z (#) = Ау(х) — f(x), получим (Ay-f, Ay-f) = O, что выполняется только при Ау(х) =/(*). Это означает, что функция, на которой функционал E8) достигает минимума, является решением операторного уравнения E4). Утверждение доказано. Классическим примером применения описанного приема является краевая задача р(х)>0, q(x)>0, y(— oo) = i/(+co) = 0. Интегрированием по частям легко убедиться в симметричности и положитель- положительности дифференциального оператора и получить следующее выражение для функционала E8): 4-ОО Ф [У Ш = J \р (х) (~J + 9 (х) У2 (х) - 2/ (х) у (х)} dx. F2) Отметим, что оператор А включает в себя не только дифференциальное (или интегральное) уравнение, но также краевые условия, если последние имеются. Краевые условия должны некоторым образом войти в функционал, соответст- соответственно изменив его вид. Например, для задачи на ограниченном отрезке с кра- краевыми условиями третьего рода ~ Ш [р {х) %] + q {х) у (х) =/ м> р (х)' q W > 0> F3а) аоу (а) + am' (а) = а, $& (Ь) + $1У' ф) = р, F36)
226 поиск минимума [гл. vii надо минимизировать в классе достаточно гладких функций функционал ь Ф \У (*)] = J {р (*) (JJ+ q (х) {/2 (х) - 2/ (х) у Ц dx+ а + ^ [2ау (а) - аоу* (а)] + ^ [Poi/2 F) - Щ F)]. F4) От функций, минимизирующих этот функционал, уже не надо требовать удов- удовлетворения краевым условиям —они автоматически будут им удовлетворять. В теоретической физике встречаются функционалы более сложные, чем квадратичные. Например, в статистической модели атома Томаса — Ферми при температуре абсолютного нуля энергия выражается через электронную плотность следующим образом: ] = J ^{*^>(,)-^р (r) + ?p(r) J^WJ Fб) Поскольку при нулевой температуре и заданном объеме энергия минимальна, то нахождение электронной плотности сводится к задаче на условный экстремум дли этого функционала (допол- (дополнительное условие заключается в том, что полное число элек- электронов равно заряду ядра). К еще более сложным функционалам приводят задачи- оптималь- оптимального управления, в которых ищется минимум функционала Ф[у(х)], причем функция у(х) является решением задачи'Коши для диф- дифференциального уравнения ^ = F(x, y(x), и(х)), у@)=у0. Тре- Требуется найти такую управляющую функцию и(х), при которой заданный функционал минимален. К задачам оптимального управ- управления относится, например, определение оптимального режима расхода горючего u(t) при запуске ракеты, приводящего к макси- максимальной высоте подъема Ф при заданном начальном количестве горючего. 2. Метод пробных функций. Общая схема численного решения заключается в сведении задачи E3) к поиску минимума функции многих переменных. Рассмотрим класс V'„ пробных функций задан- заданного вида vn(x; a) = vn(x; alt аг, ..., ап), содержащих п свобод- свободных параметров и принадлежащих множеству V'„. На этом классе функций рассматриваемый функционал будет функцией п перемен- переменных—свободных параметров: Ф[vn(x; a)] = Fn(a) = Fn(alt a2) ..., ап); F6) численное нахождение минимума функции многих переменных было подробно рассмотрено в предыдущих параграфах. Найдя
§ 4] МИНИМИЗАЦИЯ ФУНКЦИОНАЛА 227 минимум функции Fn (а) и соответствующие ему значения пара- параметров с, мы определим функцию vn (x; а), на которой функционал достигает своего минимума в классе V'„. Можно ли считать найденную функцию vn (х; а) приближен- приближенным значением искомого решения у (х)? Чтобы выяснить это, рассмотрим предельный переход п~>оо. Построим бесконечную последовательность классов функций Vn (принадлежащих заданному множеству Y) с увеличивающимся числом параметров так, чтобы каждая функция предыдущего класса получалась из функции последующего класса фиксирова- фиксированием некоторого значения последнего параметра: vn^{x; alt й2, ..., ап-г) = vn(x; av a2, ..., an-lt dn). F7) Тогда каждый класс Vn вложен в классы с большим индексом. Если обозначить через Ф„ минимум функционала на этом классе (x; a)], F8) п ТО Фх ^5 Ф2 ^5 Ф3-Эг . .. Ss Ф = inf Ф [у (х)]. Последовательность Ф„ не возрастает и ограничена снизу; значит, она сходится к пределу, который больше или равен Ф. Если ПтФ„ = Ф, то последовательность функций vn(x; а), на которых /t-кю достигается минимум функционала в классах Vn, называют ми- минимизирующей (или минимизирующей функционал). Рассмотрим два понятия, нужных для дальнейшего изложения. Будем называть функционал Ф[у(х)] непрерывным, если он непрерывно зависит от у(х), т. е. если фиксировать у(х), то для любого е>0 найдется такое б(е), что при J| y(x) — у(х)\\ <б (е) будет выполняться неравенство | Ф[у] — Ф[у]| <е. Очевидно, наличие или отсутствие этого свойства зависит как от вида функ- функционала, так и от выбора нормы функции. Например, наиболее распространенные функционалы имеют вид Ф [У (х)] = \f (х, У (х), у' (х), ..., у^ (X)) dx, F9) а где / — непрерывная функция всех своих аргументов. Их можно рассматривать в пространстве Ор) с нормой \\у\\ = тах{\у(х)\, \у'(х)\, ..., | у(Р] (х) \}; тогда непрерывность функционала оче- очевидна. А в чебышёвском пространстве С(о) такой функционал уже не будет, вообще говоря, непрерывно зависеть от у (х).
228 поиск минимума [гл. vii Бесконечная система функций заданного вида {»„} называется полной, если при п->со она может аппроксимировать в данной норме со сколь угодно высокой точностью любую функцию мно- множества Y. Это значит, что для любой заданной функции у (х) е Y и любого б>0 существует такое N, что при n^>N в классах Vn найдутся функции vn(x), удовлетворяющие условию \\у(х) — — vn(x)\\<C.b. Понятие полноты также существенно связано не только с выбором системы vn(x; а), но также с выбором нормы и множества У. Достаточные условия сходимости vn (x; а) искомому решению дает следующая Теорема, а) Если система функций vn(x; а) полная, а функ- функционал Ф[у(х)] непрерывен, то последовательность vn(x; a) является минимизирующей, б) если требования пункта (а) выполнены и функционал удовлетворяет дополнительному условию Ф[у(х)]-Ф[у(х)]^а\\у(х)-у(х)\\$, а, C >0, G0) то последовательность vn (x, а) сходится к решению у (х) задачи E3). Доказательство. Поскольку функционал непрерывен, то для искомого решения у (х) задачи E3) и для заданного е най- найдется такое б, что если \\у — г/||<6, то е>Ф[г/] — Ф[у]^0 (в последнем неравенстве не надо ставить знак модуля, ибо Ф[у] есть минимальное значение функционала). Но система {vn} полная; следовательно, для функции у (х) и данного б существует такое N, что во всех классах Vn при n>N найдутся функции vn(x; а), удовлетворяющие условию \\vn(x; а) — r/(x) || <б. Тогда выпол- выполняется неравенство е > Ф [vn (х; а)] — Ф 5= 0. Поскольку Ф„ = — ml<t>[vn(x; а)], то отсюда следует неравенство е > Ф„ — Ф ^= 0. Оно означает, что Нт Ф„ = Ф, так что первое утверждение теоремы доказано. Применяя к последнему неравенству условие G0), получим \\vn(x, а) — у (х) || ^(е/аI^, так что второе утверждение теоремы также доказано. Замечание 1. Сходимость vn (x; а)~>у (х) доказана в смысле той нормы, которая входила в определения полноты системы функций, непрерывности функционала и условие G0). Пусть в исходных определениях подразумевались разные нормы; в усло- условиях полноты — аппроксимация в [|-|li> в условии непрерывности функционала — малость \\8у\\2 и в условии G0) —неравенство при || ¦ ||з- Если существует такая норма ||-||4, которая не сильнее || • ||х и || • Из, но не слабее || • ||2, то при переходе к этой норме все не-
§ 41 МИНИМИЗАЦИЯ ФУНКЦИОНАЛА 229 равенства сохранятся*). Тогда из теоремы следует сходимость минимизирующей последовательности в || • ||4. Замечание 2. Пусть функционал Ф[у] определен на мно- множестве Y, но при этом известно, что искомое решение принад- принадлежит некоторому подмножеству Yo. Например, функционал F4) определен на множестве кусочно-гладких функций, а решение является кусочно-гладкой функцией, удовлетворяющей краевым условиям F36). В этом случае достаточно искать решение только среди функций подмножества Yo и проверять полноту системы пробных функций {vn} и непрерывность функционала лишь по отношению к этому подмножеству. Это может существенно облег- облегчить решение поставленной задачи. Замечание 3. Нетрудно доказать, что если функционал непрерывен, то для сходимости последовательности vn (х; а) к у (х) необходимо, чтобы эта последовательность была минимизирующей. Замечание 4. Существуют функционалы, для которых по- последовательности vn (x; а) являются минимизирующими, но при этом ни к какой предельной функции не сходятся. Это нередко встречается в задачах оптимального управления. Такие задачи относятся к некорректно поставленным и требуют регуляризации. В задачах для конкретных функционалов исследование схо- сходимости сводится к выбору подходящей полной системы функ- функций \vn) и нормы и проверке условий теоремы. Норму обычно выбирают из соображений простоты доказательства, но эта норма не должна быть слишком слабой, иначе результат не будет пред- представлять практической ценности. Метод пробных функций в своей наиболее общей постановке применяется не часто. Если функционал имеет достаточно слож- сложный вид, как в примере F5), или если выбрана система функций vn (x; а), нелинейно зависящих от свободных параметров,- то по- получающаяся при этом функция F (а) имеет достаточно общий вид. Обычно ее минимум удается найти численными методами, только если число переменных (свободных параметров) не превышает п г^ Ю — 20. Такого числа параметров не всегда достаточно, чтобы уверенно констатировать сходимость. Поэтому для конкретных функционалов сложного вида обычно стараются исследовать качественный характер решения и выби- выбирают пробные функции с небольшим («. ~3—10) числом пара- параметров так, чтобы по своему качественному поведению — асим- асимптотике, полюсам и т. д.—они были бы близки к искомому решению. Проводят исследование непрерывности функционала и полноты системы. Затем выполняют расчеты с различным числом *) Напомним, что норма || • Hj называется более сильной, чем || • ||2, если для любой допустимой функции у (х) выполняется неравенство || у \\± ^ Э=С|| у ||2, где С = const.
230 ПОИСК МИНИМУМА [ГЛ. VII параметров и смотрят, сходятся ли полученные значения Ф„ и функции. vn(x; а) к какому-то пределу. Если последовательность {vn} выбрана удачно, то величина Ф„ будет близка к своему пределу Ф уже при небольшом п. Напри- Например, для функционала энергии атома F5) пробная функция всего / 4 \—3/2 с четырьмя параметрами р (х) я» ? акхк) обеспечивает точ- ность расчета полной энергии существенно лучше 1%. Само иско- искомое решение (в данном примере — распределение электронов в атоме) находится при этом с меньшей, но удовлетворительной точностью. Однако оценить фактическую точность найденного приближе- приближения на основании таких расчетов не удается. Далее мы рас- рассмотрим два частных случая метода пробных функций, когда можно получить и более высокую точность, и неплохую оценку погрешности. 3. 'Метод Ритца. Ряд важных математических задач сводится к минимизации квадратичного функционала. Примером является решение корректно или некорректно поставленных задач для линейного операторного уравнения E4), приводящее к одному из функционалов E5), E6) или E8). Если в качестве пробных функ- функций взять обобщенные многочлены п vn (х; а) = % (х) + 2] я*Ф* (*). G1) то на них квадратичный функционал будет квадратичной функ- функцией параметров ак. Задача на нахождение минимума квадратич- квадратичной функции F (а) посредством дифференцирования по перемен- переменным ак сводится к системе алгебраических линейных уравнений; ее нетрудно численно решить даже при числе параметров пг^> ~ 100 —200*). Этот частный случай метода пробных функций называют методом Ритца. Обсудим выбор функций щ(х). Его целесообразно связать с краевыми условиями для задач типа E4), которые обычно ли- линейны. Пусть, для определенности, это условия первого рода у(а)=а, «/(&) = р. G2) Выберем какую-нибудь гладкую функцию <р0 (х) так, чтобы она *) В Отдельных случаях число параметров быёает еще бйльше. Майример, б KiaH-Говбй химии При решении уравнения Шредингера для несферйческбго многоцентрового поля молекулы берут п ~ 1000.
§ 41 МИНИМИЗАЦИЯ ФУНКЦИОНАЛА 231 удовлетворяла этим краевым условиям, например, Чо(х) = * + %Ет{х-а), G3а) или a)sin=|?=g. G36) Остальные функции выберем так, чтобы они удовлетворяли одно- однородным краевым условиям типа G2) и при этом образовывали бы полную систему. Например, согласно теореме Вейерштрасса любую непрерывную функцию можно аппроксимировать со сколь угодно высокой точностью алгебраическими или тригонометриче- тригонометрическими многочленами. Поэтому можно положить <р„(х) = (х-а)*{Ь-х), A=l, 2 G3в) или <pft(*) = sin"*fr(l~a)' *=1. 2, ... G3г) В этом случае пробные функции G1) при любых коэффициентах ak удовлетворяют неоднородным краевым условиям G2) и являются полными на множестве непрерывных функций, удовлетворяющих этим краевым условиям. Согласно замечанию 3 к теореме п. 2 такой выбор пробных функций допустим. Пример. Рассмотрим задачу на минимум квадратичного функционала E8) с вещественным симметричным положительным оператором А: Ф [У (х)] = (У, Ау) - 2 (f, у) = min. G4) Подставляя в этот функционал пробные функции Ритца G1), получим квадратичную функцию свободных параметров п п Ф [vn (х; а)] = F (а) = ?] 2] akam (фь А (рт) + k= I m= 1 Приравнивая нулю производные этой квадратичной функции по параметрам, получим для определения параметров линейную систему уравнений п 2] й/п(фл. Лфт) = — (фА, Лф0 —/), l^k^n. G5) m= I Дадим схему исследования сходимости, не останавливаясь на деталях. В этом примере удобно ввести норму, связанную с данным положительным оператором А: И У II?! = (У. Ау). G6)
232 поиск минимума [гл. vii Сделаем естественное предположение, что эта норма не слабее || • ||с. В самом деле, для операторов А типа F1) такая норма содержит интеграл от квадрата функции и ее производной, а среднеквадратичная близость и функций, и их производных есть более сильное требование, чем равномерная близость функ- функций. Для таких операторов система тригонометрических функций G3г) будет полной по норме G6). Действительно, для любой функции у (х), непрерывно дифференцируемой г раз, ее тригонометрический ряд Фурье среднеквадратично сходится к ней вместе со своими r-ми производными. А сходимость по норме G6) отличается от среднеквадратичной только наличием весовых множителей р (х), q (x) под интегралом F2), что несущественно. Найдем вариацию функционала G4) на произвольной функции ЬФ[у] = Ф[у + 6у}-Ф[у] = (8у, А?у) + 2(ду, Ay-f). G7) Первое слагаемое этой вариации равно || 5у \\д, т. е. является бесконечно малой второго порядка; второе слагаемое, по предположению о силе нормы G6), является бесконечно малой не ниже первого порядка относительно ||бу||д. Отсюда следует непрерывность функционала. Наконец, заметим, что решение у искомой задачи G4) удовлетворяет уравнению Ay=f. Подставляя это решение в G7), получим Таким образом, последнее условие G0) теоремы о сходимости выполнено и метод Ритца в данном примере сходится. Заметим, что для не квадратичных функционалов Ф[г/] линей- линейные по параметрам пробные функции G1) не дают никаких пре- преимуществ, ибо получающиеся функции параметров F (а) = = Ф [и„ (х; а)] все равно оказываются не квадратичными. Поэтому метод Ритца фактически применяют только для квадратичных функционалов. 4. Сеточный метод. Введем сетку по аргументу х и заменим все производные и интегралы, входящие в функционал, некото- некоторыми разностями и суммами узловых значений функции Ук = у(Хк)- Тогда функционал аппроксимируется некоторой вспомогательной функцией многих переменных — значений решения в узлах: Ф[у(х)]я^F(у0> ух, у2, ..., уп) = т\п. G8) Решая задачу F(у0, ..., у„) = тт численными методами, мы непосредственно получим приближенные значения решения в узлах сетки. Зная их, решение при остальных значениях аргумента (не совпадающих с узлами сетки) можно найти интерполяцией. Например, рассмотрим сферически-симметричный сжатый атом в модели Томаса — Ферми; его энергия задается функционалом F5), где интегралы берутся по сферической атомной ячейке радиуса R. Вводя равномерную сетку 0 = r0 <.rx<....<Crn = R и вычисляя интегралы по формуле прямоугольников, получим п Е<^~ У, (ar?Pi/3 — P^iPi + VfP»9i), G9a)
§ 41 МИНИМИЗАЦИЯ ФУНКЦИОНАЛА 233 где атомный потенциал <р(г) сам зависит от неизвестной электрон- электронной плотности р (г): а коэффициенты а, |3, у выражаются через физические константы. Надо найти минимум энергии при дополнительном условии нор- нормировки причем это условие также надо приближенно записать в сеточ- сеточной форме. Выражения G9а), G96) достаточно сложные, и при большом числе узлов сетки найти минимум численными методами трудно. Очевидно, что для произвольных функционалов число узлов сетки, которое практически возможно использовать в расчетах, очень невелико: оно не превышает пг^ 10 — 20. Однако даже при таком числе узлов нередко удается получить неплохую точность при умеренном объеме расчетов, используя прием сгущения сеток. Для этого выполняют серию расчетов на сгущающихся вдвое сетках с числами интервалов п=1, 2, 4, 8 и 16. Поскольку порядок точности выбранных разностных формул дифференциро- дифференцирования и интегрирования обычно известен, то проводят уточнение результатов, полученных на разных сетках, рекуррентным мето- методом Рунге. При этом непосредственно наблюдают, сходится ли численный расчет к пределу при увеличении п, и производят апостериорную оценку погрешности. На каждой сетке минимум функции F(у0, ..., уп) находят обычно каким-либо итерационным методом спуска. Для умень- уменьшения числа итераций (а тем самым, объема вычислений) орга- организуют расчет следующим образом. Сначала выполняют расчет на самой редкой сетке, где неизвестных мало (при и=1 всего два — у0 и уг) и объем вычислений заведомо невелик даже при плохом нулевом приближении. Найденный на этой сетке профиль у (х) интерполируют на следующей, более подробной сетке, и используют на ней в качестве нулевого приближения. Вновь найденный профиль снова интерполируют и т. д. Для квадратичных функционалов при использовании линей- линейных формул численного дифференцирования и интегрирования задача G8), как и в методе Ритца, сводится к нахождению мини- минимума квадратичной функции. Например, возьмем функционал F2), но на ограниченном отрезке а^х^Ь; введем на этом отрезке равномерную сетку с шагом h и аппроксимируем интеграл при
234 ПОИСК МИНИМУМА [ГЛ. VII помощи обобщенных формул трапеции и средних: 4ЙЬ) \ -iJ - ft - i/2 @ + yi-г)} • (80) Отыскание минимума опять сводится к решению линейной системы уравнений с неизвестными г/,-, 0==ct=g:n, легко выполняемому численными методами. Это позволяет брать очень большое число узлов. Тогда имеет смысл ставить вопрос о теоретическом иссле- исследовании сходимости приближенного решения к искомому при п-*-оо. Обоснования сходимости мы не будем давать. Укажем только один случай, когда применима сформулированная в п. 2 теорема. Пусть функционал имеет вид F9), т. е. явно содержит функ- функцию и ее производные вплоть до р-й. Построим последователь- последовательность сеток так, чтобы предыдущая сетка содержалась в после- последующей; это можно делать сгущением сеток вдвое, причем сетки могут быть даже неравномерными. В качестве пробных функций возьмём сплайны 5 (х) порядка не ниже р (см. главу II, § 1). Эти сплайны являются многочле- многочленами степени р, коэффициенты которых линейно выражаются через узловые значения искомой функции г/,-; их производные порядка ниже р непрерывны, а р-я производная всюду суще- существует и кусочно-непрерывна. Нетрудно убедиться в том, что условие вложения классов пробных функций V„ во все после- последующие классы при этом выполнено, и что такими пробными функциями при п -> со можно со сколь угодно высокой точностью аппроксимировать любую р раз непрерывно дифференцируемую функцию вместе с ее производными вплоть до у{р) (х). Следова- Следовательно, система сплайн-функций обладает свойствами, нужными для применения теоремы о сходимости. В качестве примера рассмотрим квадратичный функционал типа F2), содержащий первую производную: ь Ф М = $ {Р (*) ($)' + Я (*) У2 (х) - 2/ (х) у (х)} их. (81) а Сплайн должен иметь порядок тоже не ниже первого. Ограни- Ограничимся простейшим сплайном первого порядка — ломаной линией, проведенной через точки (xiy уг): yy (82)
§ 4] МИНИМИЗАЦИЯ ФУНКЦИОНАЛА 235 Надо разбить интеграл (81) на сумму интегралов по отдельным интервалам сетки и каждый из этих интегралов вычислить, используя заданный закон интерполяции (82). Например, по- поскольку S'(x) = (yi-yi_1)f(xi-x^1) при xi-.1<x<xh то 1=1 Аналогично вычисляются остальные слагаемые в (81). Получающиеся выражения имеют более сложный вид, чем при не сплайновой аппроксимации (80); использование сплайнов высших порядков привело бы к еще более сложным выражениям (зато получающиеся при этом сеточные схемы имели бы более высокий порядок точности). Тем не менее, поскольку сами сплайны линейно зависят от узловых значений функции, то под- подстановка их в квадратичный функционал приводит к задаче на минимум квадратичной формы. Поэтому такой подстановкой пользуются даже для многомерных функционалов, к которым сводятся краевые задачи для эллиптических уравнений в частных производных г Коснемся построения сплайнов в многомерных задачах. Если область G двумерна, то ее можно разбить на треугольные ячейки (у граничных ячеек одна сторона может быть не прямой). В каж- каждой ячейке gi по узловым значениям функции двух перемен- переменных г (х, у) в трех вершинах ячейки однозначно строится про- простейший линейный сплайн S(x, y)~ar\-hlx-\-ciy, где (х, y)^gh он соответствует аппроксимации поверхности г (х, у) плоскостью. Сплайновые плоскости соседних ячеек пересекаются по прямым, проходящим через выбранные узлы поверхности z (x, у); эти пря- прямые проектируются точно на границы ячеек. Следовательно, дву- двумерный линейный сплайн, построенный указанным образом, явля- является непрерывным и кусочно-гладким в области G. Описанный способ построения линейного сплайна естественно обобщается на случай любого числа измерений. При этом область G следует разбить на многомерные симплексы. Но для" построения сплайнов более высокого порядка этот несложный алгоритм не годится: в этом случае он не гаранти- гарантирует непрерывности и требуемой гладкости сплайновой поверх- поверхности на границах ячеек. Требования непрерывности функции и некоторого числа ее производных на границах ячеек надо фор- формулировать в виде дополнительных уравнений, которым должны удовлетворять коэффициенты сплайнов. Надо, чтобы полное число уравнений равнялось полному числу коэффициентов; это будет не при любой форме ячейки.
236 поиск минимума [гл. vii Например, рассмотрим двумерный кубический сплайн 5 (х, у) = з — 2 актХкУт в прямоугольных ячейках со сторонами, парал- k + m=--0 лельными осям координат. Потребуем непрерывности на границах сплайна вместе со вторыми производными. Этот сплайн имеет 10 коэффициентов в расчете на одну ячейку. Совпадение сплайна с функцией z (х, у) в вершинах ячейки дает 4 уравнения. Потре- Потребуем на обеих сторонах ячейки, параллельных оси х, непрерыв- непрерывности S (х, у), Sy и Sm; дифференцируя их по ,х, нетрудно убе- убедиться, что тогда на этих сторонах величины Sx, Sxx и Sxy тоже будут непрерывны. Аналогично потребуем непрерывности величин S (х, у), Sx и Sxx на сторонах, параллельных оси у. Это дает по 3 уравнения на каждой стороне ячейки, но эти уравнения связывают коэффициенты двух ячеек. Следовательно, всего непрерывность дает 6 уравнений в расчете на одну ячейку. Таким образом, полное число уравнений равно полному числу коэффициентов, и сплайн определяется однозначно (с точностью до условий на границе области G). ЗАДАЧИ 1. Вывести итерационную формулу A2) поиска минимума функции одной переменной Ф (х), заменяя истинную'кривую интерполяционной параболой, проведенной через три точки xs—h, xs, xs-\-h. 2. Дать аналогичный вывод формулы A3), строя интерполяционную пара- параболу по точкам xs, xs_!, x5_2. 3. Доказать оценку A4) для скорости сходимости процесса A3); для этого можно воспользоваться схемой доказательства, данного в главе V, § 2, п. 7. 4. Написать уравнение для линий уровня квадратичной формы A8); найти главные оси полученных эллипсов и определить отношение длин главных осей. 5. Написать линейную систему уравнений, решение которой минимизирует регуляризованную задачу линейного программирования E2). 6. Построить какую-нибудь полную систему функций в методе Ритца, если вместо краевого условия первого рода G2) задано условие второго рода у'(а) = а, i/'F) = p. 7. Провести аккуратное доказательство сходимости метода Ритца для функционала F2), используя схему, данную в § 4, п. 3. 8. Написать систему уравнений для определения сеточных значений функ-' ции Hi, к которой приводится задача минимума функционала F2) после раз- разностной замены (80). Убедиться, что эта линейная система имеет трехдиаго- нальную матрицу и решение ее методом прогонки устойчиво. 9. Показать, что двумерный квадратичный сплайн 2 ¦S (*, у)= 2] актХтУк иа треугольной сетке и трехмерный квадратичный сплайн на сетке из тетра- тетраэдров определяются однозначно (с точностью до условий на границе области G).
ГЛАВА VIII ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ В главе VIII рассмотрены основные методы численного решения различных типов задач для обыкновенных дифференциальных уравнений. В § 1 изложены постановка и методы решения задачи с начальными условиями (задачи Коши); эти методы применяются и при решении других типов задач. В § 2 даны постановки и методы решения краевых задач, а в § 3 —задач на собственные значения. § 1. Задача Коши 1. Постановка задачи. Обыкновенными дифференциальными уравнениями можно описать задачи движения системы взаимо- взаимодействующих материальных точек, химической кинетики, электри- электрических цепей, сопротивления материалов (например, статический прогиб упругого стержня) и многие другие. Ряд важных задач для уравнений в частных производных также сводится к задачам для обыкновенных дифференциальных уравнений. Так бывает, если многомерная задача допускает разделение переменных (напри- (например, задачи на нахождение собственных колебаний упругих балок и мембран простейшей формы, или определение спектра собствен- собственных значений энергии частицы в сферически-симметричном поле), или если ее решение зависит только от некоторой комбинации переменных (так называемые автомодельные решения). Таким образом, решение обыкновенных дифференциальных уравнений занимает важное место среди прикладных задач физики, химии и техники. Конкретная прикладная задача может приводить к дифферен- дифференциальному уравнению любого порядка, или к системе уравнений любого порядка. Но известно, что обыкновенное дифференциаль- дифференциальное уравнение р-ro порядка при помощи замены u(k) (х) == uk (x) можно свести к эквивалент- эквивалентной системе р уравнений первого порядка «о,
238 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII где щ(х) = и(х). Аналогично, произвольную систему дифферен- дифференциальных уравнений любого порядка можно заменить некоторой эквивалентной системой уравнений первого порядка. Поэтому в дальнейшем мы будем, как правило, рассматривать системы уравнений первого порядка u'k (х) = fh (x, ult ыа, .... Up), I «S k< р, (la) записывая и.х для краткости в векторной форме u'(x) = f(x, и(х)), A6) U = {ии «2,... , ир}, /= {fv /а, ... , /р}. Известно, что система р-ro порядка Aа) имеет множество решений, которое в общем случае зависит от р параметров с = = {clt с2,... , ср} и может быть записано в форме и = и(х; с). Для определения значений этих параметров, т. е. для выделе- выделения единственного (или нужного) решения, надо наложить р дополнительных условий на функции ии (х). Различают три основных типа задач для обыкновенных диф- дифференциальных уравнений: задачи Коши, краевые задачи и задачи на собственные значения. Задача Коши (задача с начальными условиями) имеет дополнительные условия вида uk{l) = 'f\k, !<*</), B) т. е. заданы значения всех функций в одной и той же точке х = %. Эти условия можно рассматривать как задание координат начальной точки (?, %, %,..., г\р) интегральной кривой в (/?+ 1)- мерном пространстве (х, и1г щ,... , ир). Решение при этом обычно требуется найти на некотором отрезке ^<jt<X (или X ==сх«S|), так что точку х = Ъ, [можно считать начальной точкой этого отрезка. Напомним *), что если правые части A) непрерывны и огра- ограничены в некоторой окрестности начальной точки (|, %, г\2,... ..., rip), то задача Коши A) —B) имеет решение, но, вообще говоря, не единственное. Если правые части не только непре- непрерывны, но и удовлетворяют условию Липшица по переменным ик, то решение задачи ,Коши единственно и непрерывно зависит от координат начальной точки, т. е. задача корректно поставлена. Если вдобавок правые части имеют непрерывные производные по всем аргументам вплоть до g-го порядка, то решение и{х) имеет q -f 1 непрерывную производную по х. 2. Методы решения. Их можно условно разбить на точные, приближенные и численные. К точным относятся методы, позволяющие выразить решение дифференциального уравнения *) См., например, [37].
§ 1] ЗАДАЧА КОШИ 239 через элементарные функции, либо представить его при помощи квадратур от элементарных функций. Эти методы изучаются в курсах обыкновенных дифференциальных уравнений. Нахожде- Нахождение точного решения задачи A) —B), а тем более — общего реше- решения системы A) облегчает качественное исследование этого реше- решения и дальнейшие действия с ним. Однако классы уравнений, для которых разработаны методы получения точных решений, сравнительно узки и охватывают только малую часть возникающих на практике задач. Например, доказано, что решение несложного уравнения и'(х) = х2 + и*(х) C) не выражается через элементарные функции. А уравнение можно точно проинтегрировать и найти общее решение у In (х* + и2) + arctg ~ = const. E) Однако для того, чтобы составить таблицу значений и(х), надо численно решить трансцендентное уравнение E), а это нисколько не проще, чем непосредственно численно проинтегрировать урав- уравнение D)! Приближенными будем называть методы, в которых решение получается как предел и (х) некоторой последователь- последовательности уп(х), причем уп(х) выражаются через элементарные функ- функции или при помощи квадратур. Ограничиваясь конечным чис- числом п, получаем приближенное выражение для и(х). Примером может служить метод разложения решения в обобщенный степен- степенной ряд, рассматриваемый в курсах обыкновенных дифференциаль- дифференциальных уравнений; некоторые другие приближенные методы будут изложены в этой главе. Однако эти методы удобны лишь в том случае, когда большую часть промежуточных выкладок удается сделать точно (например, найти явное выражение коэффициентов ряда). Это выполнимо лишь для сравнительно простых задач (таких как линейные), что сильно сужает область применения приближенных методов. Численные методы —это алгоритмы вычисления прибли- приближенных (а иногда — точных) значений искомого решения и (х) на некоторой выбранной сетке значений аргумента х„. Решение при этом получается в виде таблицы. Численные методы не позво- позволяют найти общего решения системы A); они могут дать только какое-то частное решение, например, решение задачи Коши A) — B). Это основной недостаток численных методов. Зато эти методы применимы к очень широким классам уравнений и всем типам
240 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII задач для них. Поэтому с появлением быстродействующих ЭВМ численные методы решения стали одним из основных способов решения конкретных практических задач для обыкновенных диф- дифференциальных уравнений. Численные методы можно применять только к корректно поставленным (или регуляризованным) задачам. Заметим, однако, что для успешного применения численных методов формальное выполнение условий корректности может оказаться недостаточным. Надо, чтобы задача была хорошо обусловлена, т. е. малые измене- изменения начальных условий приводили бы к достаточно малому изменению интегральных кривых. Если это условие не выполнено, т. е. задача плохо обусловлена (слабо устойчива), то небольшие изменения начальных условий или эквивалентные этим измене- изменениям небольшие погрешности численного метода могут сильно исказить решение. В качестве примера плохой обусловленности рассмотрим задачу и'(х) = и — х, 0 < х ==?100, (ба) ы@)=1. F6) Общее решение уравнения Fа) содержит одну произвольную постоянную и(х; с)= 1 При начальном условии F6) она равна с — О, так что «A00) = 101. Однако небольшое изменение начального условия й@) = 1,000001 слегка меняет постоянную: c=10; тогда ffiA00) ?«2,7х 1037, т. е. решение изменилось очень сильно. В этом параграфе рассмотрены методы решения задачи Коши. Для простоты записи мы почти всюду ограничимся случаем одного уравнения первого порядка. Алгоритмы для случая системы р уравнений A6) легко получаются из алгоритмов, составленных для одного уравнения, формальной заменой и (х) и f(x, и) на и{х) и f(x, и). 3. Метод Пикара. Это приближенный метод решения, являю- являющийся обобщением метода последовательных приближений (см. главу V, § 2). Рассмотрим задачу Коши для уравнения первого порядка u'(x) = f(x, u{x)), l^x^X, u(Q=r\. G) Интегрируя дифференциальное уравнение, заменим эту задачу эквивалентным ей интегральным уравнением типа Вольтерра X "(*) = Л+ $/(*. u(x))dx. (8)
$ 1] ЗАДАЧА КОШИ 241 Решая это интегральное уравнение методом последовательных приближений, получим итерационный процесс Пикара X У*(х) = ti + \f(т, ys-iWdx, !/,Msti (9) (приближенное решение, в отличие от точного, мы будем обозна- обозначать через у). На каждой итерации этого процесса интегрирова- интегрирование выполняется либо точно, либо численными методами, описан- описанными в главе IV. Докажем сходимость метода, предполагая, что в некото- некоторой ограниченной области G (х, и) правая часть / (х, и) непре- непрерывна и удовлетворяет по переменной и условию Липшица , / (х, Uj) — / (х, и2) \s^L\u1 — u,l\. Поскольку область G(x, и) ограничена, то выполняются соотношения \ х — ?! sg: а, \и — ц\^.Ь. Обозначим погрешность приближенного решения через zs (x) = ys (x) — и (х). Вычитая (8) из (9) и используя условие Липшица, получим Решая это рекуррентное соотношение и учитывая, что | г0 (х) = \r\ — u (x)\^b, найдем последовательно Отсюда следует оценка погрешности ^(=t)' (.0) Видно, что max | zs (х) \ -> 0 при s->oo, т. е. приближенное реше- решение равномерно сходится к точному во всей области G (х, и). Пример. Применим метод Пикара к задаче Коши для урав- уравнения C), решение которого не выражается через элементарные функции ц'(х)=л:24-«2, ы@) = 0. В этом случае квадратуры (9) вычисляются точно, и мы легко получаем у0 (х) = 0, уг (х) = -^ х3, у2 (х) = ~ х3 A + ~- Уз (х) = у X3 [ 1 + зГ х* + 93 *8 у X [ 1 + зГ х + 93 * + 19845 Х и т. д. Видно, что при xs=c 1 эти приближения быстро сходятся и позволяют вычислить решение с высокой точностью,
242 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Из этого примера видно, что метод Пикара выгодно приме- применять, если интегралы (9) удается вычислить через элементарные функции. Если же правая часть уравнения G) более сложна, так что эти интегралы приходится находить численными методами, то метод Пикара становится не слишком удобным. Метод Пикара легко обобщается на системы уравнений спосо- способом, описанным в п. 2. Однако на практике чем выше порядок системы, тем реже удается точно вычислять интегралы в (9), что ограничивает применение метода в этом случае. Имеется много других приближенных методов. Например, С. А. Чаплыгин предложил метод, являющийся обобщением алгебраического метода Ньютона на случай дифференциальных уравнений. Другой способ обобщений метода Ньютона предложил Л. В. Канторович в 1948 г. В обоих этих методах, так же как и в методе Пикара, итерации выполняются при помощи квадратур. Однако квадратуры в них имеют гораздо более сложный вид, чем (9), и редко берутся в элементарных функциях. Поэтому эти методы почти не применяют. 4. Метод малого параметра. Достаточно простыми оказываются вычисления методом малого параметра, предложенным Пуанкаре в 1892 г. Пусть правая часть уравнения u' = f(x, и; к) зависит от параметра и известно частное решение у0 (х) при некотором значении параметра к = к0. Будем искать решение в виде ряда и(х)=?(к-к0Гуп(х). A1) п = 0 Подставляя этот ряд в исходное уравнение и разлагая f (x, и; к) по формуле Тейлора по степеням (к — к0), получим для опреде- определения уп (х) линейные уравнения yn(x) = an(x)t/n(x)-\-vn(x), л = 1, 2, 3,... A2) Здесь коэффициенты ап (х) выражаются через производные f(x, и; 1) при и = уо(х), к = к0, а функции vn(x) выражаются через Ук(х), Ое^й<п. Тем самым нахождение у„(х) сводится к квад- квадратурам. Достаточным условием сходимости ряда A1) является аналитичность / (х, и; к) по всем аргументам. При практическом применении метода малого параметра спе- специально вводят в правую часть уравнения G) параметр так, чтобы, при некотором его значении легко находилось частное решение; после этого действуют по описанной схеме. Например, для уравнения C) можно прибавить к правой части член ки2, положив, таким образом, f (х, и; к)=х2-\-A-\-к) и2; тогда при ко = — I сразу видно частное решение у0 (х) = у хь-\-с, где постоян- постоянная с определяется из начального условия. Метод малого параметра естественно переносится на уравне- уравнения высоких порядков или на системы уравнений. При этом
§ 1] ЗАДАЧА КОШЙ 243 вместо цепочки последовательно решаемых линейных уравне- уравнений A2) возникают цепочки систем линейных дифференциальных уравнений. Однако все выкладки становятся существенно более громоздкими. 5. Метод ломаных. Это простейший численный метод. В прак- практике вычислений он употребляется очень редко из-за невысокой точности. Но на его примере удобно пояснить способы построе- построения и исследования численных методов. Рассмотрим задачу Коши G) и выберем на отрезке [|, X] некоторую сетку {хп, Os^n^N} значений аргумента так, чтобы выполнялись соотношения I — х0 < хг < х2 < ... < xN = X (сетка может быть неравномерной). Разлагая решение и (х) по формуле Тейлора на интервале сетки хп^х.^хп+1 и обозначая и (х„) = ы„, получим +2-K+..., hn = xn+1-xn. A3) Стоящие в правой части производные можно найти, дифферен- дифференцируя уравнение G) требуемое число раз: u' = f(x,u), W=±f(x,u)=fx + ffa A4) и т. д. В принципе, если f(x, и) имеет q-e непрерывные произ- производные по совокупности аргументов, то в разложении A3) можно удержать члены вплоть до O(hq+1). Однако использовать для расчетов формулу A3) с большим числом членов невыгодно. Во-первых, даже при сравнительно простой правой части выражения для произюдных могут оказаться громоздкими. Во-вторых, если правая часть известна лишь приближенно, то находить ее производные нежелательно. В про- простейшем случае, подставляя A4) в A3) и ограничиваясь только первым членом разложения, получим схему ломаных *): Уп^1 = Уп + К[(хп, уп), hn = xn+1-xn. A5) Поскольку при такой замене можно найти только приближен- приближенные значения искомой функции в узлах, то будем обозначать эти значения через уп в отличие от точных значений ип = и(хп). Для численного расчета по схеме ломаных достаточно задать началь- начальное значение г/0 = т1- Затем по формуле A5) последовательно вычисляем величины ylt y2, ..., yN. Геометрическая интерпретация этой схемы дана на рис. 41, где изображено поле интегральных кривых. Использование только первого члена формулы Тейлора означает движение не по интег- интегральной кривой, а по касательной к ней. На каждом шаге мы *) Она была предложена Эйлером и называется также схемой Эйлера.
244 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII заново находим касательную; следовательно, траектория движе- жения будет ломаной линией. Исследуем сходимость метода ломаных, предполагая правую часть f (x, и) непрерывной и ограниченной вместе со своими первыми производными: \f\^Mlt \fx\^,M2, \fn\^M3 (отсюда ] " | М следует, что ] и" ММ) ( = М2 Рассмотрим погрешность при- приближенного решения 2Я = */й — un. Вычитая A5) из A3), получим соотношение, связывающее пог- погрешности в соседних узлах сетки: 7 ! ч = 7 -4- h \f (x 11 \ — -fix uVI-- / \ХП1 ип)\ о A6) Рис. 41. (члены более высокого порядка ма- малости здесь опущены). Последо- Последовательно применяя рекуррентное соотношение A6), выразим пог- погрешность на произвольном шаге через погрешность начальных данных /я—I т—\ ^ГК т — 2 п A7) Отсюда нетрудно дать асимптотическую оценку погрешности. Заметим, что при малых шагах сетки т—1 т—\ ехр n=o xm-i причем в качестве верхнего предела интеграла можно взять хт, ибо ошибка при этом остается в пределах общей точности преоб- преобразований. Аналогично преобразуя второй член A7), получим zm = z0 exp dx)- Иdx h ехр Здесь h (x) — непрерывная функция, дающая в каждом узле хп величину шага hn; в качестве такой, функции можно выбрать линейный сплайн.
ЗАДАЧА КОШИ 245 Рассмотрим структуру погрешности A8). Первое слагаемое справа связано с погрешностью начального значения zQ = y0 — u0, которая умножается на ограниченную (благодаря ограниченности производных) величину. Начальное значение можно задать точно и считать, что z0 — 0. Остановимся на втором слагаемом. Оно обусловлено тем членом формулы Тейлора A3), который был отброшен при выводе схемы ломаных A5). Оценим это слага- слагаемое сверху; заменяя все функции под интегралами их модулями и вынося maxh(x) за знак интеграла, получим :М(хт) max hn = где A9а) : 9M e S m ' \ ' Таким образом, при h-*-0 приближенное решение сходится к тон- тонному равномерно (на ограниченном отрезке \х — хо\^а) с первым порядком точности. Замечание 1. Оценка погрешности A9) является мажорант- мажорантной. Для функций со знакопеременными производными эта оценка может быть сильно завышена по сравнению с асимптотической оценкой A8). Замечание 2. Экспоненциальный член в оценке A8) харак- характеризует расхождение интегральных кривых (см. рис. 41); если он очень велик, то исходная задача Коши плохо обусловлена. Пример. Проинтегрируем по схеме Эйлера задачу Коши для уравнения C): и'(х-) = л-2 + ы2, O=ssx=ssl, и@) = 0. В таблице 18 даны численные решения у(х), полученные на сет- сетках с шагами h—\, 1/2 и ги, столбик у (х) будет пояснен в п. 10. Приведено также точное решение и(х), вычисленное методом Пикара (см. пример в п. 3). Видно, что схема Эйлера для полу- получения удовлетворительной точности требует гораздо более малого шага, чем использованный здесь. Таблица 18 X 0,00 0,25 0,50 0,75 1,00 А= 1 0,000 — — — 0,000 й = 0,5 0,000 — 0,000 — 0,125 /1 = 0,25 0,000 0,000 0,016 0,078 0,220 Уп /1 = 0,25 0,000 0,008 0,031 0,114 0,316 «и 0,000 0,005 0,042 0,143 0,350
§ 1] ЗАДАЧА КОШИ 251 Ограничимся только написанными членами, так как уже они обеспечивают четвертый порядок точности. Для вычисления решения в следующей точке запишем дифференциальное уравне- уравнение в интегральной форме хп +1 хп +1 ««+! = ««+ $ f(x, u(x))dx = un + $ F(x)dx B9) и подставим в него интерполяционный многочлен B8). Получим формулу Адамса для переменного шага у2 n-Jin-J X X/=¦(*„, *„_!, а:л_2, а:л^3), где /in = j:n+1-хл. C0) Эта формула имеет четвертый порядок точности. Если отбросить последнее слагаемое, получим формулу третьего порядка точно- точности. Аналогично получаются формулы низших порядков. Формула первого порядка совпадает со схемой ломаных. Чаще пользуются менее громоздким вариантом формулы C0), рассчитанным на постоянный шаг интегрирования. Вместо раз- разделенных разностей вводят конечные разности &pFn — = p\F (xn, *„_!, ..., хп_р), приблизительно равные р-й производной в точке (хп-\-хп-р)/2, и получают yn^yn + hFr+^hWFb + ^WFt + ^tttfF*. C1) Остаточный член этой формулы равен B5L/750) /i5/7IV (я). Метод без изменений переносится на системы уравнений пер- первого порядка типа B5). Чтобы начать расчет методом Адамса, недостаточно знать у(х0). Для начала расчета по формуле C0) надо знать величину реше- решения в четырех точках xQ, xlt x2, х3 (а при формуле р-го порядка точности —в р точках). Поэтому надо вычислить недостающие значения уп каким-либо другим методом — методом Рунге —Кутта, или разложением по формуле Тейлора A3) —A4) с достаточно большим числом членов. При работе на ЭВМ это вдвое увеличи- увеличивает объем программы. Кроме того, формулы C0) громоздки, а несложные формулы C1) рассчитаны только на постоянный шаг и требуют нестандартных действий при смене шага: надо перейти к формулам C0), сделать по ним четыре шага и снова вернуться
ЗАДАЧА КОШИ 247 B1), равномерно сходится к точному решению с погрешностью О (max hn), т. е. двучленная схема Рунге—Кутта имеет второй порядок точности. Формула B1) имеет неплохую точность и нередко исполь- используется в численных расчетах. При этом обычно полагают либо Уп+1 Рис. 42. Рис. 43. а=1, либо а = 1/2. В первом случае получается схема особенно простого вида ^ ^ ) B2) Ее смысл поясняется рис. 42. Сначала делаем половинный шаг по схеме ломаных, находя уп + 1/2 = г/„ -^- ~- Л/„. Затем в найден- найденной точке определяем наклон интегральной кривой y'n+i/2 = = f(xn+1/2, уп+1/2)- По этому наклону определяем приращение функции на целом шаге yn+i = yn + hy'n+i/2- Геометрическая интерпретация второго случая yn + hfn)] B3) изображена на рис. 43. Здесь мы сначала грубо вычисляем по схеме ломаных значение функции yn+i — yn-\-hfn и наклбн интеграль- интегральной кривой у'п+1 =}(хп+1, уп+1) в новой точке. Затем находим средний наклон на шаге y'n+l/2 = (y'n + yn + \)/2 и по нему уточ- уточняем значение г/л+1. Схемы подобного типа нередко называют «предиктор — корректор». Табл ица 19 0,00 0,50 1,00 /г= 1 0,000 0,250 /1 = 0,5 0,000 0,031 0,317 /1 = 0,5 0,000 0,042 0,339 и М 0,000 0,042 0,350
248 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII В таблице 19 приведен численный расчет по схеме B2) того же примера, который рассмотрен в таблице 18 (п.5). Из таблицы видно, что схема второго порядка точности дает существенно лучшие результаты, чем схема ломаных; уже расчет на грубой сетке с /i = 0,5 можно считать удовлетворительным. Методом Рунге—Кутта можно строить схемы различного порядка точности. Например, схема ломаных A5) есть схема Рунге—Кутта первого порядка точности. Наиболее употребительны схемы четвертого порядка точности, образующие семейство четы- четырехчленных схем. Приведем без вывода ту из них, которая записана в большинстве стандартных программ ЭВМ: Уп+1 = Уп + 4 (К + 2k2 + 2k3 k1 = f(xn, yn), &2=/(*я + -2' Уп + ^kij, B4) + ~, yn + ^k.2y ki = f(xn + h, yn + hk3) (при величинах km и шаге h следует также ставить индекс сетки и, но для простоты записи мы его опускаем). Формулы более высокого порядка точности практически не употребляются. Пятичленные формулы имеют всего лишь четвертый порядок точности; шести- членные имеют шестой порядок, но слишком громоздки. Кроме того, высокий порядок реализуется лишь при наличии у правой части непрерывных произ- производных соответствующего порядка. Схемы Рунге—Кутта имеют ряд важных достоинств. 1) Все они (кроме схемы ломаных) имеют хорошую точность. 2) Они являются явными, т. е. значение уп+1 вычисляется по ранее найденным значениям за определенное число действий по опре- определенным формулам. 3) Все схемы допускают расчет переменным шагом; значит, нетрудно уменьшить шаг там, где функция быстро меняется, и увеличить его в обратном случае. 4) Для начала расчета достаточно выбрать сетку хп и задать значение уо = г\; далее вычисления идут по одним и тем же формулам. Все эти свойства схем очень ценны при расчетах на ЭВМ. На случай систем уравнений схемы Рунге—Кутта легко пере- переносятся, как во всех других методах, при помощи формальной замены у, f (х, у) на у, f(x, у). Нетрудно произвести покомпо- покомпонентную запись этих схем. Например, для системы двух урав- уравнений u'(x)=f(x, и(х), v(x)), v' (x)=g(x, u(x), v(x)), обозначая через у, z приближенные значения функций и (х),
§ 1] ЗАДАЧА КОШИ 249 v(x), запишем аналогичную B4) четырехчленную схему следую- следующим образом: 1 ) B6а) - h (q± + 2q2 + 2q3 -f <j-4), где ki = f(xn, yn, zn), qi = g{xn, yn, zn), h = / (xn + у й> Уп + у ft^i> г« + Л^ + у/г, г/„ + -2^1. Zn + ~2hcl + h + hk z+h 2) B66) Напомним, что именно эта схема четвертого порядка точности (разумеется, записанная для системы произвольного числа урав- уравнений) лежит в основе большинства стандартных программ чис- численного решения задачи Коши на ЭВМ.' Замечание. Погрешности различных схем Рунге—Кутта связаны с максимумами модулей соответствующих производных f (х, и) громоздкими выражениями типа A8)—A9). Наглядное представление о величине этих погрешностей можно получить в одном частном случае, когда / = /(х). При этом дифференциаль- дифференциальное уравнение сводится к квадратуре, а все схемы численного интегрирования переходят в квадратурные формулы. Легко убе- убедиться, что схема B2) переходит в формулу средних D.16), схема B3)—в формулу трапеций D.7) с шагом h, а схема B4) —¦ в формулу Симпсона D.11) с шагом /г/2. Напомним, что мажо- мажоранты остаточных членов этих формул на равномерной сетке с указанными шагами соответственно равны Ясред = -24-ft maX I/ I- ^трап = "l2~ ] / |, , B7) ^симп — 2880 uldA I/ I- Численные коэффициенты в остаточных членах B7) малы; это является одной из причин хорошей точности схем Рунге— Кутта.
250 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Какими из формул Рунге—Кутта целесообразно пользоваться в каждом конкретном случае и как выбирать шаг сетки? Если правая часть дифференциального уравнения непрерывна и ограничена вместе со своими четвертыми производными (и эти производные не слишком велики), то хорошие -результаты дает схема четвертого порядка B4) благодаря очень малому коэффи- коэффициенту в остаточном члене и быстрому возрастанию точности при уменьшении шага. Если же правая часть не имеет указанных производных, то предельный порядок точности этой схемы не мо- может реализоваться. Тогда не худшие (хотя, по-видимому, и не лучшие) результаты дают схемы меньшего порядка точности, равного порядку имеющихся производных; например, для дву- двукратно непрерывно дифференцируемых правых частей — несложные схемы B1)—B3). Шаг сетки следует выбирать настолько малым, чтобы обеспе- обеспечить требуемую точность расчета; других ограничивающих шаг условий в методе Рунге—Кутта нет. Но выражения остаточных членов типа. A8)—A9) слишком громоздки; поэтому априорными оценками точности для выбора шага в практических расчетах не пользуются. Удобнее делать расчеты со сгущением сетки, давая апостериорную оценку точности (подробнее это будет рас- рассмотрено в п. 11). Встречаются важные задачи, в которых функции являются достаточно гладкими, но настолько быстро меняющимися, что схемы Рунге—Кутта как низкого, так и высокого порядка точ- точности требуют неприемлемо малого шага для получения удовле- удовлетворительного результата. Такие задачи требуют использования (а нередко —разработки) специальных методов, ориентированных на данный узкий класс задач. 7. Метод Адамса. Будем рассматривать правую часть урав- уравнения f(x, и) не на всей плоскости ее аргументов х, и, а только на определенной интегральной кривой и (х), соответствующей искомому решению. Тогда она будет функцией только одного аргумента х\ обозначим ее через Пусть нам уже известно приближенное решение в несколь- нескольких точках сетки: уп, «/„_lt ..."., уп-т- Тогда в этих точках известны также F (xk) =f(xk, ук). В окрестности этих узлов можно приближенно заменить F (х) интерполяционным многочленом; запишем его для неравномерной сетки в форме Ньютона B.8): F(x) = F (хп) + (х-хп) F (хп, хп_1) + xn^1)F(xn, *„_!, хл_2) + xn^)F{xn, *„_!, хп^, хп-3) + ... B8)
§ 1] ЗАДАЧА КОШИ 251 Ограничимся только написанными членами, так как уже они обеспечивают четвертый порядок точности. Для вычисления решения в следующей точке запишем дифференциальное уравне- уравнение в интегральной форме хп +1 хп +1 «л+1 = «л+ $ f(x, u(x))dx = un + $ F(x)dx B9) и подставим в него интерполяционный многочлен B8). Получим формулу Адамса для переменного шага + у2 hi (ЗАЛ + 8A«ft,,-i + 4АЛ,-а + 6АЦ- i + Ghn-Jin-J X х/=¦(*„, х„_!, xn_2, xn^3), где А„ = д:я+1-д:„. C0) Эта формула имеет четвертый порядок точности. Если отбросить последнее слагаемое, получим формулу третьего порядка точно- точности. Аналогично получаются формулы низших порядков. Формула первого порядка совпадает со схемой ломаных. Чаще пользуются менее громоздким вариантом формулы C0), рассчитанным на постоянный шаг интегрирования. Вместо раз- разделенных разностей вводят конечные разности ApFn == = р\ F (хп, хп-.1г ..., хп_р), приблизительно равные р-й производной в точке (хп-\-хп-р)/2, и получают A C1) Остаточный член этой формулы равен B5L/750) /i5/7IV (я). Метод без изменений переносится на системы уравнений пер- первого порядка типа B5). Чтобы начать расчет методом Адамса, недостаточно знать у(х0). Для начала расчета по формуле C0) надо знать величину реше- решения в четырех точках xQ, xlt x2, х3 (а при формуле р-го порядка точности —в р точках). Поэтому надо вычислить недостающие значения уп каким-либо другим методом — методом Рунге —Кутта, или разложением по формуле Тейлора A3) —A4) с достаточно большим числом членов. При работе на ЭВМ это вдвое увеличи- увеличивает объем программы. Кроме того, формулы C0) громоздки, а несложные формулы C1) рассчитаны только на постоянный шаг и требуют нестандартных действий при смене шага: надо перейти к формулам C0), сделать по ним четыре шага и снова вернутьсй
252 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII к формулам C1). Все это делает метод Адамса неудобным для расчетов на ЭВМ. Внешне этот метод привлекателен тем, что за один шаг при- приходится только один раз вычислять f (х, и), которая может быть очень сложной. А в четырехчленной схеме Рунге —Кутта того же порядка точности f(x, и) вычисляется за шаг четыре раза. Однако коэффициент в остаточном члене B7) схемы Рунге — Кутта B4) меньше в 960 раз, чем в схеме C1)! Значит, при одинаковой точ- точности схема Рунге — Кутта B4) позволяет брать шаг в >^960 = 5,7 раза крупнее, т. е. фактически вычислять f(x, и) даже меньшее число раз, чем в методе Адамса. Поэтому сейчас метод Адамса и аналогичные методы (напри- (например, Милна) употребляются реже метода Рунге—Кутта. 8. Неявные схемы. Предыдущие методы были явными, т. е. значение уп+1 определялось за заранее известное число действий. Пример неявной схемы получим, если запишем дифференциаль- дифференциальное уравнение в интегральной форме B9), а интеграл по одному интервалу сетки приближенно вычислим по формуле трапеций Уп+1 = Уп+ 2-/lU(xn, yn)+f(xn+i, Уп+i)]- C2) Решая это алгебраическое уравнение, можно определить уп+1, которое и будет приближенным значением искомого решения и (х„). Схема C2) имеет второй порядок точности, допускает счет нерав- неравномерным шагом, не требует специальных приемов для начала счета. Но у этой схемы есть серьезные недостатки. Во-первых, неизве- неизвестно, имеет ли уравнение C2) вещественный корень, т. е. раз- разрешима ли задача. Можно привести пример, когда при большом шаге корня нет. Пусть f(x, и) —и2 и и@) = 1; тогда на первом шаге ух = 1 + -у h A -\-у\) и при /г;> A +1^2) * вещественного корня нет. Во-вторых, даже если корень есть, то как его найти? Метод Ньютона применять нежелательно, так как для этого надо диф- дифференцировать fix, и). Метод деления пополам не обобщается на системы уравнений. Остается метод последовательных прибли- приближений ?\, = уп + ~ h U (хп, уп) + f (Хп+1, уЧ+!')]. C3) Однако он сходится к корню, только если h\f,,|<2, т. е. при достаточно малом шаге. Если в ходе расчета /„ возрастает, то итерации C3) могут перестать сходиться. От последней трудности можно избавиться, заодно уменьшив объем вычислений. Для этого ограничим заранее число итераций
$'l] ЗАДАЧА КОШИ 253 и рассмотрим C3) как самостоятельную явную схему. Очевидно, вопроса о существовании корня при этом не возникает; уп+1 всегда определяется, даже если алгебраическое уравнение C2) вещест- вещественного корня не имеет. Роль числа итераций хорошо видна на примере уравнения z/= /(«). Естественное нулевое приближение есть y'n\i — yn, так что первая и вторая итерации Y п + hfn)] являются соответственно схемой ломаных A5) первого порядка точности и схемой Рунге— Кутта второго порядка точности B3) типа «предиктор— корректор». Дальнейшие итерации уже не уве- увеличат порядка точности, так как он не может быть выше, чем в исходной схеме C2); они влияют только на коэффициенты в остаточном члене и увеличивают время счета. Таким образом, неявные схемы с заданным числом итераций мало отличаются от схем Рунге — Кутта и бывают удобны лишь для некоторых нестандартных задач. Но они приводят к инте- интересной идее ограничения числа итераций. Есть эмпирическое правило, в общем случае не обоснованное. Пусть для решения дифференциального уравнения написана неяв- неявная схема р-го порядка точности. Разрешим ее методом последо- последовательных приближений аналогично C3) и зададим число итера- итераций. Тогда при одной итерации получим схему первого порядка точности, при двух —второго и так далее, при р итерациях — р-го порядка точности. Дальнейшее увеличение числа итераций уже не увеличивает порядок точности. Это правило оказывается полезным даже для уравнений в частных производных. По существу схема с заданным числом итераций есть новая явная схема. Поэтому здесь не возникает вопроса о существовании корня или сходимости итераций, подоб- подобных C3). 9. Специальные методы. Из всех численных методов интегри- интегрирования обыкновенных дифференциальных уравнений, рассчитан- рассчитанных на произвольные уравнения (точнее, на классы уравнений, у которых правые части имеют определенное число непрерывных и ограниченных производных), наилучшие результаты и при рас- расчетах на ЭВМ, и при ручных расчетах дают методы Рунге — Кутта. Поэтому, приступая к решению какой-либо конкретной задачи Коши, обычно пробуют решить ее одной из описанных в п. 6 схем. Но выше отмечалось, что встречаются задачи с быстропере- менными решениями, когда все схемы Рунге — Кутта для получе- получения удовлетворительной точности требуют неприемлемо малого
254 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII шага. Характерным примером такой задачи является система уравнений химической кинетики. Сначала разберем задачу химического распада одного вещества u'(t)= -a(t, и) и, «@)^=и0>0, a(t, и)>0; C4) здесь и — концентрация вещества, t — время, а — скорость рас- распада, которую считаем зависящей от t и и (ибо она зависит от температуры, а температура определяется выделением тепла при реакции и внешними условиями охлаждения). Запишем для уравнения C4) схему ломаных A5) Уп+i = Уп [1 - та D, */л)], т = tn+1 — tn. C5) По смыслу задачи, концентрация вещества должна быть положи- положительной. Но если скорость распада настолько велика, что хотя бы в одной точке сс„> 1/т, то численное решение C5) будет знако- знакопеременным, что физически бессмысленно. Применение вместо A5) схем Рунге —Кутта более высокого порядка точности лишь немного ослабляет указанное ограничение шага, не устраняя его (см. задачу 7). Для одного уравнения C4) эта трудность несущественна: если скорость распада a (t, и) велика, то вещество распадается за малое время t^a1, так что число шагов сетки N = t/x будет умеренным. Но в системах уравнений химической кинетики при- присутствуют вещества с самыми различными константами распада или синтеза (нередко от а--^ 108 сек до а~ 10~2 сек). Тогда общий промежуток времени будет определяться самой медленной реакцией (t r~^ 100 сек), а допустимый шаг интегрирования — самой быстрой реакцией (т^Ю8 сек). Ясно, что такой объем расче- расчетов— около 1010 шагов — совершенно неприемлем*). Для подобных задач приходится использовать специальные методы, разработанные именно для данных узких классов урав- уравнений; для других классов уравнений эти методы обычно оказы- оказываются непригодными. Способы построения специальных методов основаны на изучении и использовании свойств общих решений исследуемого класса уравнений. Рассмотрим некоторые способы. Большинство способов основано на том, что для исходного уравнения и' (x)—f (х, и) стараются найти такое вспомогательное уравнение v'(x)=g(x, v), чтобы решение последнего возможно более просто выражалось через элементарные функции, и при этом на заметном отрезке изменения аргумента выполнялось бы и (х) «=* v (х). Иными словами, ищется, приближенное решение, имеющее достаточно простой вид. *) Кроме того, при таком числе шагов существенно сказывается некоррект- НОсть задачи, связанная с ошибками округления.
§ 1] ЗАДАЧА КОШИ 255 Для нахождения приближенных решений можно применить метод Пикара или другие аналогичные методы. Нередко удается добиться успеха, слегка упрощая правую часть исходного урав- уравнения. Например, если в задаче C4) положить a(t, u)^ao = const, тогда вспомогательное уравнение будет &'(/)=— aov, а его решением при заданном начальном условии является v(t) = uox хехр[ — ao(t —10)]. Первый способ построения специальных схем удобен для знакопеременных решений (например, быстро осциллирующих). В нем рассматривается разность w(x) — u(x) — v (х). Вычитая вспомогательное уравнение из исходного, получим уравнение, ко- которому удовлетворяет эта разность w'(x)=f(x, v(x) + w)-g(x, v(x)); C6) здесь v (х) — известная функция. Если v (x) действительно явля- является хорошим приближением к решению, то функция w (x) неве- невелика, поэтому уравнение C6) должно легко интегрироваться обычными схемами Рунге — Кутта. Второй способ выгоден для знакопостоянных решений (например, растущих по экспоненциальному или степенному закону). В нем рассматривается отношение w (х) = и (х)/v (х), а для систем уравнений — отношения wk (х) = uk (x)/vk (x). Нетрудно убедиться, что это отношение удовлетворяет уравнению w> W = -щ~и {х> wv (х» ~ ws (*• v Ш C7) где v (х) — известное приближенное решение. Аналогично предыду- предыдущему случаю, полученное уравнение должно хорошо интегриро- интегрироваться численно схемами Рунге — Кутта. Пример. Если для уравнения распада C4) воспользоваться приближенным решением v(t)=uoexp[—ao(t —10)], то специаль- специальная схема C7) примет следующий вид: в"' @ = — К — «(t, wv (t))] w; при слабо меняющейся a (t, и) малость правой части очевидна. Третий способ' заключается в том, что вспомогательное уравнение рассматривается не на большом промежутке изменения аргумента, а на одном шаге сетки хп^х^хп+1. Берется его при- приближенное решение vn(x), удовлетворяющее начальному условию vn {xn) = yn^u (хп). Поскольку интервал сетки "невелик, то на нем приближенное решение будет близко к точному, поэтому можно положить и (xn+i) ^yn+i = vn (xn+i)- Этот способ означает написание такой разностной схемы, которой решение воспомога- тельного уравнения удовлетворяет точно, а решение исходного уравнения — приближенно, но с малой погрешностью.
256 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Пример. Рассмотрим уравнение, возникающее в задачах так называемой дифференциальной прогонки: и'(х)=-[и* + р(х)], р(х)>0. C8) Если положить р (х) я« const = рл +1/2 при хп s^ х «S хп+1, то вспо- вспомогательное уравнение примет вид v' (х) = — (v2 + р), р = const. Оно интегрируется в элементарных функциях arctg %У- — arctg -~ — — h У"р. У 9 У 9 Это соотношение явно разрешается, давая такую специальную схему: Уп+i = у рп +1/2 -~г- ,— / /¦—=г • У Рп+ 1/2+ Уп *§ (Й У Prt+ 1/2J Если можно считать hY'p <^1, то схема C9а) упрощается: Схемы C9а) и C96) дают неплохие результаты даже в тех слу- случаях, когда условие устойчивости прогонки нарушено, а точное решение задачи C8) имеет полюсы. При использовании третьего способа обычно удается построить схемы первого или второго порядка точности, но с малым оста- остаточным членом (точнее, мала по величине комбинация производ- производных, входящая множителем в остаточный член); схемы более высокого порядка точности построить этим путем трудно. Пер- Первый и второй способы позволяют использовать схемы Рунге— Кутта высокого порядка точности, но остаточный член при этом будет не очень мал, ибо решения и (х) и v (х) на большом отрезке изменения .аргумента могут заметно отличаться, и правые части уравнений C6) или C7) становятся большими. Однако первый и второй способы также можно применить к одному интервалу сетки; на этом пути можно построить специальные схемы высо- высокого порядка точности с малым остаточным членом. Заметим, что все эти способы по существу эквивалентны специально подоб- подобранным нелинейным интерполяциям искомого решения. Упомянем четвертый способ, заключающийся в построе- построении так называемых точных разностных схем, которым точно удовлетворяет решение исходной задачи. Коэффициенты таких
§ 1] ЗАДАЧА КОШИ 257 схем обычно являются функционалами от коэффициентов исход- исходного уравнения (и могут зависеть также от искомого решения). Но техника построения точных схем более сложна, и мы их не будем рассматривать, отсылая читателя к монографии [30]. 10. Особые точки. Решение может иметь в отдельных точках отрезка интегрирования особенности, обусловленные обращением в бесконечность правой части / (х, и) или какой-нибудь ее про- производной. Сначала рассмотрим- случай, когда начальная точка х = х0 является особой. Есть три основных способа численного интегрирования таких решений. Рассмотрим их на примере задачи и'(х)=^/7+иЦх), ц@) = 0, D0) где правая часть в начальной точке обращается В' бесконечность; очевидно, начинать интегрирование по схеме Рунге — Кутта любого порядка точности при этом невозможно. Первый способ-—это найти такую замену переменных, которая преобразует уравнение к виду, не имеющему особенно- особенностей. Для задачи D0) достаточно сделать замену аргумента x = t2; тогда эта задача принимает вид который допускает применение стандартных численных методов. Второй способ — построить в небольшой окрестности осо- особой точки приближенное решение, выраженное через элементар- элементарные (или другие легко вычисляющиеся) функции. Например, выбирая нулевое приближение у0 (х) = 0 и применяя к задаче D0) метод Пикара; получим (x)Vx y(x) V + 2 Отступим от особой точки на конечное расстояние в некоторую точку хх и вычислим в ней решение с требуемой точностью на основе найденного приближения. Точка хх уже не особая; ее можно считать первым узлом разностной сетки и вести из нее интегрирование стандартными численными методами. Следует помнить, что если точка хх лежит близко к х0, то правая часть уравнения или ее производные еще велики в этой точке и стандартные численные методы дают заметную погрешность вблизи точки xv Поэтому желательно выбирать точку х1 подальше от х0. Но тогда, чтобы вычислить и (хг) с нуж- нужной точностью, необходимо строить достаточно хорошее прибли- приближенное решение: например, брать высокие приближения метода Пикара.
258 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Третий способ — составить для данной задачи специальную схему, позволяющую вести численное интегрирование непосред- непосредственно от особой точки. Например, проинтегрируем уравнение D0) по одному интервалу сетки, и первое слагаемое в подынтеграль- подынтегральном выражении проинтегрируем точно, а второе — по формуле прямоугольников с использованием левого конца интервала; тогда получим хп)у2п. D1) Это явная схема, напоминающая схему ломаных A5). Она постро- 1 ена по образцу схем первого порядка точности. Но имеет ли эта схема на самом деле точность О (h) — заранее не очевидно, ибо производные правой части уравнения D0) не ограничены; этот вопрос требует дополнительного исследования. Если решение имеет особенности во внутренних точках отрезка интегрирования, то при этом обычно нельзя сказать заранее, в каких именно точках: правая часть /(х, и) зависит от решения, которое нам не известно. В этом случае целесообразно применять третий способ — составлять специальные схемы, не теряющие своей применимости вблизи особых точек. Примером является схема C9), позволяющая вести сквозной расчет даже при наличии у решения особенностей типа полюсов. 11. Сгущение сетки. Как получить требуемую точность расчета? Априорные оценки точности для этого мало полезны. Во-первых, остаточные члены выражаются через производные решения, которое до начала расчета неизвестно. Во-вторых, априорные оценки обычно являются мажорантными и могут во много раз превосходить фак- фактическую ошибку расчета. Имеются стандартные программы численного интегрирования дифферен- дифференциальных уравнений с так называемым «автоматическим выбором шага». В них каждый шаг выбирается так, чтобы вносимая на нем погрешность не превышала заданной величины. Но при этом не учитывается, что эта погрешность в ходе дальнейших расчетов умножается на величину типа экспоненты в A8), т. е. может сильно возрасти. Кроме того, общее число шагов заранее не опреде- определено. -В результате фактическая точность расчета по подобным программам обычно неизвестна. Поэтому основным практическим приемом является апостери- апостериорная оценка точности. Для ее получения расчет проводят на двух или более сгущающихся сетках и применяют правило Рунге или Рунге — Ромберга (см. главу III, п. 3). Напомним, в чем оно заклю- заключается. Вспомним априорную оценку погрешности схемы ломаных A8). Запишем ее, опуская первое слагаемое, связанное с неточным
§ 1] ЗАДАЧА КОШИ 259 заданием .начальных данных: х I х \ г (х) = 1 ¦ J dxh (х) и" (х) exp J /„ dja ; D2) здесь h(x) есть некоторая функция, значение которой в каждом узле сетки дает величину шага. Для схем более высокого порядка точности р остаточный член имеет аналогичную структуру, но со- содержит hp (x) и соответствующие производные решения или правой части / (х, и). Если сетка равномерная, h (x) = h = const, то остаточный член типа D3) для схемы р-го порядка точности пропорционален ftp. Поэтому при сгущении равномерной сетки применима оценка точности по Рунге. Если имеются численные решения на двух сетках у(х; К) и у(х; rh), где г>1, то погрешность решения на сетке с меньшим шагом составляет К)~У*Н)-УХ;Л). D3) Вместо оценки точности можно погрешность D3) прибавить к численному решению, уточнив его: ~/ >\ / i \ i У (х\ К)—у (х; rli) ,, .ч у(х; h) = y(x\ h)+ y( ' >rP^l D4) но тогда вопрос о погрешности уточненного решения остается открытым. Приведенное рассуждение справедливо и в том случае, если сетки с разным числом узлов не равномерны, но их можно опи- описать функциями h(x), отношение которых есть hi (x) /hu (x) = r = = const. Это выполняется, например, для квазиравномерных сеток (описанных в главе III, п. 4). При выводе оценок типа A8) старшими членами формулы Тей- Тейлора A3) пренебрегают. Если их учесть (считая правую часть уравнения непрерывно дифференцируемой достаточное.число раз), то погрешность выразится суммой, где последующие слагаемые содержат более высокие степени h (x) и соответствующие производ- производные. В этом случае можно уточнять численное решение по пра- правилу Ромберга или по рекуррентному правилу Рунге, используя расчеты на k различных сетках. Применение этих правил экви- эквивалентно построению некоторой схемы более высокого порядка точности q = p-\-k—\, где р — порядок точности исходной схемы. Разумеется, фактически получить точность О (Л?) можно только для q раз непрерывно дифференцируемых решений и(х). Правило Рунге применимо для сеток с любым отношением шагов г. Но используют его преимущественно для целого г, когда все узлы менее подробной сетки являются узлами более
260 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII подробной; особенно удобно сгущать сетки вдвое (рис. 44). При этом как для равномерных, так и для квазиравномерных сеток условие совпадения узлов выиолняется. В тех узлах, которые являются общими для нескольких сеток, можно уточнить у (х) непосредственно по правилу Рунге D4). Так, в п-м узле можно увеличить порядок точности на двойку, в (п + 2)-м— на единицу, а в (п+1)-м — нельзя увеличить (рис. 44). Разумеется, если •— • • 4/!(г) мы не уточняем решение, а лишь оцениваем погреш- * « ' »— * «Zh{x) ность, то достаточно найти ее по формуле D3) только • • «—» * ' » « «h(x) в части узлов. Рис 44 Однако можно уточнить функцию во всех узлах са- самой подробной сетки, если немного усложнить вычисления. Например, для двух нижних сеток на рис. 44 это делается так. Используем совпадающие узлы сеток для определения поправок к значениям функции Ьт = [у(хт; h)-y{xm\ rh)]/(r?-l), m = n, и+ 2. D5а) Значение поправок в остальных узлах найдем простейшей интер- интерполяцией. Для равномерных или квазиравномерных сеток можно положить Ал+1 = 4(А„ + Ая+2). D56) Затем вычислим уточненные значения У(хт; h)=y(xm; h) + Am, m = n, п+l, п + 2. D5в) Этот способ легко обобщается на произвольное число сеток. Такое уточнение выгодно для специальных схем третьего типа, имеющих невысокий порядок точности; выполнить уточнение обычдо проще, чем составить специальную схему высокого порядка точности. Примеры применения правила Рунге даны в таблице 18 (п. 5) и таблице 19 (п. 6), содержащих численное решение задачи и'= ** + «», 0<x<1, н@) = 0. В таблице 18 интегрирование выполнено по схеме ломаных A5), и для уточнения использованы сетки с А=1 и /г = 0,5; видно, что, несмотря на плохую точность исходной схемы, уточненное решение не сильно отличается от искомого. В таблице 19 уточ- уточнено численное решение, найденное по неплохой схеме Рунге — Кутта второго порядка точности B2); это уточнение уже близко к искомому решению, несмотря на очень грубую сетку.
§ 2] КРАЕВЫЕ ЗАДАЧИ 261 § 2. Краевые задачи 1. Постановки задач. Краевая задача — это задача отыскания частного решения системы Aа): ~uk(x)=fk(x, их, и2, ..., ир), на отрезке а^х^Ь, в которой дополнительные условия нала- налагаются на значения функций uk (x) более чем в одной точке этого отрезка. ' Очевидно, что краевые задачи возможны для систем порядка не ниже второго. Свое первоначальное название этот тип задач получил по простейшим случаям, когда часть дополнительных условий зада- задается на одном конце отрезка, а остальная часть — на другом (т. е. только в точках х = а и х = Ь). Примером является задача нахождения статического прогиба и (х) нагруженной струны с закрепленными концами ц"(х) = _/(;к), a^x^b, u(d) = u(b) = 0; D6) здесь / (х) — внешняя изгибающая нагрузка на единицу длины струны, деленная на упругость струны. Для уравнений или систем более высокого порядка, где число дополнительных условий больше двух, постановки краевых усло- условий более разнообразны. При этом возможны случаи, когда часть условий задана во внутренних точках отрезка [а, Щ; их нередко называют внутренними краевыми условиями. Например, статический прогиб нагруженного упругого бруска удовлетво- удовлетворяет уравнению четвертого порядка "IVM =/(*). a^x^b; D7a) если этот брусок лежит в точках хь l=sSf^4, на опорах, то дополнительные условия имеют вид u(xi) = 0, 1й^г^4, й<%<х2<х3<^<й, D76) т. е. все они заданы в разных точках. Сами дополнительные условия могут связывать между собой значения нескольких функций в одной точке (или даже в раз- разных точках); тогда для системы р-го порядка A) они примут вид
262 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Существуют задачи с еще более сложными по форме дополнитель- дополнительными условиями, например, условиями нормировки ь \u%(x)dx=\,. D9) а обычными в квантовой механике, и т. д. Несмотря на разнообразие форм краевых условий, краевые задачи решаются в основном одними и теми же численными ме- методами, что оправдывает их объединение в один тип. Остановимся на методах решения. Найти точное решение краевой задачи в элементарных функ- функциях удается редко: для этого надо найти общее решение си- системы A) и суметь явно определить из краевых условий значе- значения входящих в него постоянных. К приближенным методам решения краевых задач относятся разложение в ряды Фурье, методы Ритца и Галеркина. Ряды Фурье применяют к линейным задачам; этот метод излагается в курсах математической физики (см. [2, 40]) и здесь рассматри- рассматриваться не будет. Остальные два метода применимы и к некото- некоторым нелинейным задачам. Метод Ритца разбирался в главе VII, а метод Галеркина будет рассмотрен в этом параграфе. Для численного решения краевых задач применяют метод стрельбы и разностный метод. Метод стрельбы основан на сведе- сведении краевой задачи к некоторой задаче Коши для той же системы уравнений. В разностном методе задача приближенно заменяется решением алгебраической системы уравнений с очень большим числом неизвестных (неизвестными являются значения решения в узлах сетки). В случае нелинейных задач оба метода являются итерационными; при этом построение хорошо сходящихся итера- итерационных процессов само оказывается достаточно сложным. 2. Метод стрельбы (называемый также баллистическим). Это численный метод, заключающийся в сведении краевой задачи к некоторой задаче Коши для той же системы дифференциальных уравнений. Рассмотрим его на примере простейшей задачи для системы двух уравнений первого порядка с краевыми условиями достаточно общего вида и'(х)=/(х, и, и), v'{x)=g(x, и, v), а^х^Ь, E0а) Ф(«(а), v(a)) = 0, я|з(м(Ь), v(b)) = 0. E06) Выберем произвольно значение и(а)=ч\, рассмотрим левое краевое условие как алгебраическое уравнение ф(т), v(a))=0 и определим удовлетворяющее ему значение и(а) = ?(л)- Возьмем значения и(а) = ч\, v(a) = t, в качестве начальных условий задачи Коши для системы E0а) и проинтегрируем эту задачу Коши
§ 2] КРАЕВЫЕ ЗАДАЧИ 263 любым численным методом (например, по схемам Рунге —Кутта). При этом получим решение и (х; r\), v (х; ц), зависящее от ц, Как от параметра. Значение ?, выбрано так, что найденное решение удовлетворяет левому краевому условию E06). Однако правому краевому усло- условию это решение, вообще говоря, не удовлетворяет: при его под- подстановке левая часть правого краевого условия, рассматриваемая как некоторая функция параметра г\: гКтО = Ч>(и(Ь; 11) о(Ь; 11)), E1) не обратится в нуль. Надо каким-либо способом менять параметр ц, пока не подберем такое значение, для которого ij)(r))?«O с требуемой точностью. Таким образом, решение краевой задачи E0) сводится к нахождению корня одного алгебраического уравнения ^(Л) = 0. E2) Эта алгебраическая задача изучена в главе V, § 2. Рассмотрим, какие методы ее решения целесообразно применять в данном случае. Простейшим является метод дихотомии. Делают пробные « выстрелы » — расчеты с наудачу выбранными значениями т)г, до тех пор, пока среди величин ty(i\i) не окажется разных по знаку. Пара таких значений r\i, r\i+1 образует «вилку». Деля ее последо- последовательно пополам до получения нужной точности, производим «пристрелку» параметра г]. Благодаря этому процессу весь метод получил название стрельбы. Однако нахождение каждого нового значения функции \|э (л\) требует численного интегрирования системы E0а), т. е. доста- достаточно трудоемко. Поэтому корень уравнения E2) желательно находить более быстрым -методом, чем дихотомия. Если правые части уравнений E0а) и левые части краевых условий E0б) имеют непрерывные и ограниченные первые производные, то ty (ц) также будет иметь непрерывную производную *). В этом случае можно построить аналог метода Ньютона. Нам пока известен только способ вычисления ^ (т)), а нужно научиться определять также производную dty(r\) _ д$ ди (b; r() df dv (b; ц) ,.„ dx\ du (b) дц ¦*" dv (b) дц ' y ' Входящие сюда производные по параметру от решения задачи К°ши можно найти, если продифференцировать по этому параметру систему E0а). Вводя обозначения , . ди (х; ri) . dv (x; г\) .-.. |х(х; тО ijpJi, v(*;r)) = —^ E4) *) Это следует из теорем о зависимости решения задач Коши от пара- параметра (см.[371).
E5a) dv v ' 264 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII и дифференцируя E0а) по параметру, получим -^- = Ы*, «. v)\i(x)+fv(x, и, v)v(x), dv -^ = gn(x, и, v) \i{x)-\-sv(x, u, v)v(x), Одно из начальных условий для этой системы очевидно: ц (а) = ди (а)/дг\= 1; второе условие нетрудно найти, дифференцируя левое краевое условие E06) по г|. Отсюда получим ц (а) = 1, v(a) = —фи(г), ?)/<Ыт], ?)• E56) Интегрируя систему E5а) с начальными условиями E56) совместно с задачей Коши для системы E0а), определим вспомогательные функции ц (х), v (x). Подставляя их значения при х = Ь в E3), найдем значение производной пра- правого краевого условия по пристрелочному параметру. Новое значение пара- параметра определяется по формуле касательных E.28): Однако описанный способ требует интегрирования лишней пары дифферен- дифференциальных уравнений, что приводит к усложнению и двукратному увеличению трудоемкости каждой итерации. Поэтому им пользуются не часто. Можно избежать этого усложнения, если решать уравнение E2) разностным аналогом метода Ньютона — методом секущих. Для этого первые два расчета делают с наудачу выбранными значе- значениями т|0, t)j, а следующие значения параметра вычисляют по формуле E.32): Вместо этого процесса можно использовать метод парабол, в ко- котором также не требуется располагать явным выражением произ- производных, а достаточно лишь знать об их существовании. Напом- Напомним, что последние три метода быстро сходятся вблизи корня; сходимость вдали от корня зависит от того, насколько удачно выбрано нулевое приближение. Линейные задачи решаются методом стрельбы особенно просто. Пусть система E0а) и краевые условия E06) линейны; и' (*) = «1 ДО и + Pi (*) v + Yi (x), a^x^b, E8a) v' (х) == а2 (х) и + р2 (х) v + у2 (х), рги (а) + qjv (a) = rx p2u (b) + q2v (b) = r2. E86) Тогда начальные условия соответствующей задачи Коши примут вид «(a) = tj, v(a) = ? = (r1 — pii\)/q1. E8в) Нетрудно сообразить, что решение задачи Коши E8а), E8в) будет линейно зависеть от параметра т), поэтому ij)(r]) также
, 2] КРАЕВЫЕ ЗАДАЧИ 265 будет линейной функцией. Но линейная функция одного аргу- аргумента полностью определяется своими значениями в любых двух точках rig и ¦%, а ее график является прямой, т. е. совпадает со своей секущей. Значит, найденное по формуле секущих E7) значение tj2 является точным корнем уравнения E2), так что расчет с этим значением параметра даст искомое решение. Таким образом, для решения линейной краевой задачи E8а)—E86) достаточно трижды решить задачу Коши. Замечание. Для линейных задач можно несколько умень- уменьшить объем расчетов, если воспользоваться тем, что общее реше- решение линейной неоднородной системы равно сумме ее какого-нибудь частного решения и общего решения соответствующей однородной системы. Найдем частное решение неоднородной системы E8а), E8в), соответствующее значению ^0 = 0. и обозначим его через ио(х), vo(x). Затем рассмотрим соответствующую однородную задачу Коши и' (х) = at (х) и + р\ (х) v, v' (х) = а2 (х) и + Р2 (*) ». и(а)=% = 1, V(a) = — вычислим ее решение и обозначим его через иг(х), v1(x). Тогда общее решение неоднородной задачи Коши, удовлетворяющее (в силу выбора начальных условий) левому краевому условию E86), является однопараметрическим семейством и (х) = и0 (х) + сих (х), v (х) = v0 (х) + сох (х). E9) Значение параметра с выбираем так, чтобы удовлетворить правому краевому условию E86): с Pa«i №) + № Ф) Затем найдем искомое решение по формуле E9), что позволяет избежать третьего интегрирования задачи Коши. Метод стрельбы прост, применим как к линейным, так и к нелинейным задачам и позволяет использовать при численном интегрировании схемы Рунге —Кутта (или другие) высокого порядка точности. К большинству задач типа E0) он применяется успешно. Затруднения возникают в тех случаях, когда краевая задача E0) хорошо обусловлена, а соответствующая ей задача Коши плохо обусловлена. При этом численное интегрирование задачи Коши определяет функцию ij) (ti) с большой погрешностью, что осложняет организацию итераций. В этом случае пробуют поставить начальные условия на дру- другом конце отрезка х = Ь, т. е. интегрировать задачу Коши справа налево; нередко при этом устойчивость улучшается. Если изме-
266 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII нение направления интегрирования не помогает, то такую крае- краевую задачу решают либо специальными, либо разностными методами. Одним из специальных методов для линейных краевых задач является дифференциальная прогонка (ее идея предложена в [1], а подробное описание алгоритма имеется," например, в [3, 4]). Этот метод хорошо устойчив именно в том случае, когда задача Коши для исходной линейной системы плохо обу- обусловлена; этот факт вызывал одно время большой интерес к прогонке. Однако при хорошей устойчивости линейной задачи Коши прогонка становится недо- недостаточно устойчивой. Поэтому в настоящее время дифференциальная прогонка употребляется не часто. Обычно используются ее разностные аналоги, рассмат- рассматриваемые ниже; они обеспечивают удовлетворительную устойчивость расчета в большинстве интересных случаев. 3. Уравнения высокого порядка или системы большого числа уравнений имеют соответствующее число краевых условий, и способы задания этих условий достаточно разнообразны. Поэтому к таким задачам применять метод стрельбы много труднее, чем к простейшей задаче E0). Рассмотрим тот (сравнительно несложный) случай, когда для системы р уравнений ult «2, ..., up), Kft</7, a^x^b, F0a) дополнительные условия заданы только на концах отрезка и имеют следующий вид: <pA(«i(a). ••¦. Mfl)) = ° K*<m. F06) <P*(«iC), •¦¦. «p (*>))= 0 m+l^k^p. F0в) Для определенности, будем полагать mp Выберем за исходный тот конец отрезка [а, Ь], где задана большая часть краевых условий; в нашем случае это будет левый конец х = а. В качестве пристрелочных параметров возьмем р — т каких-то функций uk(x) из полного набора, например, ug(a) = r\q, l^q^p — m. F1а) Если подставить эти значения в левые краевые условия F06), то эти условия образуют систему алгебраических уравнений от- относительно начальных значений остальных функций; решая эту систему, найдем ид(а)=%(ц1, тJ, ..., цр..т), p-m+l^q^cp. F16) Рассмотрим задачу Коши для системы уравнений F0а) с началь- начальными условиями F1а, б). Решение этой задачи, которое можно найти численным интегрированием, удовлетворяет левому крае- краевому условию F06) и зависит от параметров ц = {у]17 %>••-. Чр-т)- Подстановка этого решения в правые краевые условия F0в)
КРАЕВЫЕ ЗАДАЧИ 267 определяет вспомогательные функции параметров Ф* (л) = Ф* К Ф, Л)> •-., ирф, т])), /п+К?<р; F2а) те значения параметров, которые удовлетворяют системе алгебра- алгебраических уравнений Чк (%, Лг, • • •. Лр-т) = 0. m + 1 «S ? ===: р, F26) определяют искомое решение краевой задачи F0). Напомним, что решение системы алгебраических уравнений высокого порядка само по себе является нелегкой задачей. Здесь оно осложняется тем, что вычисление функций ф^ (ц) очень тру- трудоемко, ибо требует численного интегрирования системы диффе- дифференциальных уравнении. Явный вид этих функций неизвестен, так что преобразовать систему F26) к эквивалентной форме Щ = Ф? (л) и применять метод последовательных приближений затруднительно. А если мы захотим, как в п. 2, построить аналог метода Ньютона, то для вычисления матрицы производных (д(рк/дцд) надо будет дополнительно записать и численно интегрировать систему р(р — т) дифференциальных уравнений. Отсюда видно, что «пристрелка» большого числа параметров очень сложна. Поэтому для нелинейных задач метод стрельбы употребляют в основном тогда, когда р — т~ 1. Такие поста- постановки краевых задач нередко встречаются в системах большого числа уравнений. Линейные, уравнения. В этом случае метод стрельбы сильно упрощается и позволяет легко решать задачи при любом числе параметров р — т. В самом деле, функции ф& (л) будут линейными, т. е. они однозначно определяются по своим значе- значениям в р — m-j-1 точке r\s, I ^s^p — m-\-\. Значит, выполнив р — /п-f-l интегрирование задачи Коши F0а), F1) с разными наборами параметров, можно найти искомый набор параметров ц. Тогда (р — m-f2)-e интегрирование даст решение краевой за- задачи F0). Вычисления при этом удобно вести следующим образом. Сна- Сначала возьмем некоторый набор параметров л?. Лз> ••¦> Лр-m и обозначим полученные значения функций F2а) через Фа = Ф*(л°). m-f-1 ^k^p. Затем изменим первый параметр на величину Ал=1, т. е. возьмем набор л'{+1> Л*> Лз> •••> Лр-m и обозначим полученные значения функций через ф&. Затем возьмем набор л?» Ла+1» Лз> •••> Лр-m и т- Д- Выполнив полный цикл вычислений, можно записать каждую функцию в виде многомерного интерпо- интерполяционного многочлена Ньютона первой степени B.33): р — т
268 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VH1 Приравнивая эти функции нулю, получим систему линейных алгебраических уравнений для определения искомых параметров г\д: р — т р — т 2 (Ф2-Ф1Н= Ц (Ф2-Ф2К-Ф2. m+\^k^n. F3) Заметим, что можно уменьшить на единицу число интегриро- интегрирований системы линейных дифференциальных уравнений, если воспользоваться приемом, описанным в п. 2; но при большом значении р — т это лишь незначительно сокращает общий объем вычислений, а организацию расчета усложняет. 4. Разностный метод; линейные задачи/ Подробно рассмотрим разностный метод на примере простейшей краевой задачи для линейного уравнения второго порядка с краевыми условиями первого рода u"(x)-p(x)u(x)=?f(x), a^x^b, F4a) и(а)=а, и(Ь) = р. F46) Введем на [а, Ь] сетку а = х0 < хх < х2 <... < Xjv = b, которую для упрощения выкладок будем считать равномерной. Прибли- Приближенно выразим вторую производную от решения через значения решения в узлах сетки ип = и (хп); например, воспользуемся простей- простейшей аппроксимацией C.7): и" (хп) «=г ^ («„_! — 2ип + ы„+1), h = хп+1 — хп = const. F5) Такую аппроксимацию можно записать в каждом внутреннем узле сетки хп, 1 =^n=sCjV— 1. Если подставить ее в уравнение F4а), то уравнение станет приближенным; точно удовлетворять этому уравнению будет уже не искомое решение и (х), а некото- некоторое приближенное решение уп^и (хп). Выполняя эту подстановку и обозначая рп = р(хп) и /„ = /(*„), получим y^1-B + h2pn)yn + y^1 = h2fn, l^n^N-L F6a) Эта система состоит из N—1 алгебраического уравнения, а не- неизвестными в ней являются приближенные значения решения в узлах сетки. Число неизвестных уп, O^n^N, равно ЛГ-f 1, т. е. оно больше, чем число уравнений F6а). Недостающие два уравнения легко получить из краевых условий F46): Уо = а, #лг = Р- F66) Решая алгебраическую систему F6а, 6), найдем приближенное решение. При таком подходе возникает три вопроса. 1) Существует ли (вещественное) решение алгебраической системы типа F6)? 2) Как
§ 2] КРАЕВЫЕ ЗАДАЧИ 269 фактически находить это решение? 3) Сходится ли разностное решение к точному в какой-либо норме при стремлении шага сетки к нулю? В качестве иллюстрации проведем полное исследование рас- рассмотренного выше прлмера, дополнительно требуя р(*)>0. Сначала рассмотрим вопрос о существовании разност- разностного решения. Исходная задача F4) была линейной, разностная аппроксимация F5) —тоже линейна. Благодаря этому система F6а, б) оказалась системой линейных алгебраических уравнений. Поскольку рп > О, то в матрице этой системы диагональные эле- элементы преобладают: в каждой строке модуль диагонального эле- элемента больше суммы модулей остальных элементов. Как отмеча- отмечалось в главе V, § 3, п. 4, при этом решение линейной системы существует и единственно. Вычислить решение линейной системы всегда можно методом исключения Гаусса. В данном случае благодаря использованию трехточечной аппроксимации F5) система F6) имеет трехдиаго- нальную матрицу. Поэтому решение экономично находится част- частным случаем метода Гаусса — методом алгебраической прогонки (см, главу V, § 1, п. 5). Докажем утверждение: если р (х) и f (x) дважды непре- непрерывно дифференцируемы, то разностное решение равномерно схо- сходится к точному с погрешностью О (h2) при h-*-0. При сделашгом предположении и (х) имеет четвертую непре- непрерывную производную; тогда для погрешности аппроксимации F5) справедливо соотношение C.12): jp («„_! - 2ип + И„+1) - U" (Хп) = -^h2UIV A„), Хп_х <ln< Х„+1. Значит, точное решение удовлетворяет разностному уравнению h«IV (У \^n^Nl и„_!- B + h'pn) ип + и„+1 = Щп ~ Вычитая из него уравнение F6а), получим уравнение, которому удовлетворяет погрешность zn = уп — и (хп)', его удобно записать в следующем виде: B + htpn)Zn = zn-1 + znn+^uIV(ln), Кп^ЛГ-1, F7а) zo = O, 2^ = 0. F76) Последние два уравнения являются очевидным следствием того, что уравнение F66) точно передает граничное условие первого рода. Выберем такую точку хПо, где | гп \ достигает своего максимума; очевидно, это не граничная точка. Учитывая условие р,г>0,
270 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII сравним в этой точке модули правой и левой частей уравнения F7а): Пй) I <"По \ ^^ | ^По — 1 "| | ^Ло ~\~ 1 ~1 Го | \5^0/ I • Заменяя в правой части |zno+i| на |zno|, мы только усилим неравенство и после сокращений получим оценку погрешности ,IV ,t ч 2 max | zn F8) Утверждение доказано. Сейчас была найдена мажорантная оценка погрешности. При некоторых дополнительных ограничениях можно получить асимп- асимптотическую оценку типа zn = t (xn) h2 + о (h2), где t (x) — некоторая функция (общая теорема о таких оценках будет доказана в главе IX). Из наличия асимптотической оценки следует воз- возможность применения правила Рунге—Ромберга для апостериор- апостериорной оценки точности или для уточнения решения при помощи расчетов на сгущающихся сетках. Остановимся на устойчивости расчета. Если р(х)>0, то задача Коши для уравнения F4а) плохо обусловлена, причем чем больше р(х), тем хуже ее устойчивость. А из оценки F8) видно, что погрешность нашего разностного решения при боль- большом р (х) мала. Отсюда видно, что хорошо построенные разност- разностные схемы нечувствительны к неустойчивости задачи Коши. В обратном случае р (х) < 0 не выполняется достаточное усло- условие устойчивости алгебраической прогонки E.14). Однако в прак- практике численных расчетов нарушение этого условия обычно не вызывает заметного ухудшения устойчивости. Только в редких случаях, когда определитель алгебраической системы F6) почти равен нулю, точность расчета резко падает из-за возрастания ошибок округления. Чтобы легко опознать и исключить такую потерю устойчи- устойчивости, можно провести расчет на трех (или более) сетках с раз- различными шагами. Если при убывании /г все разностные решения близки между собой и стремятся к некоторому пределу со ско- скоростью O(h2)*), то это свидетельствует о хорошей устойчивости. Пример. Возьмем частный случай задачи F4), соответствую- соответствующий р (х) < 0: tf(x) + u(x) = -x, и@) = «(~) = 0- F9) и воспользуемся разностной схемой F6). Если выбрать шаг сетки /i = n/4, то алгебраическая система фактически будет со- *) В общем случае — со скоростью, соответствующей порядку точности схемы.
§2] КРАЕВЫЕ ЗАДАЧИ 271 стоять из одного уравнения, а при Л = п/8 —из трех уравнений. Разностное решение уп для этих случаев приведено в таблице 20. К этим двум решениям применено правило Рунге, и уточненное решение р„ тоже представлено в таблице; для сравнения дано точное решение u(x) = -wsmx — x. Из таблицы видно, что рас- рассмотренная разностная схема дает неплохие результаты даже на сетке с большим шагом. Таблица 20 хп я/8 я/4 Зл/8 h 0 = л/4- ,3503 Уп h 0 0 0 = л/8 ,2122 ,3311 ,2778 "п 0,2090 0,3247 0,2746 0 0 0 «И ,2084 ,3253 ,2731 Заметим, что, зная разностное решение в узлах сетки, можно интерполяцией получить приближенное решение при произволь- произвольных значениях х. Точность интерполяции целесообразно согласо- согласовывать с точностью разностного решения: например, для схемы F6) интерполировать многочленом первой степени, имеющим точность О (h2), а уточненное решение у интерполировать много- многочленом второй степени. 5. Разностный метод; нелинейные задачи. Выше была постро- построена несложная разностная схема для простейшей задачи. Перей- Перейдем к более общим случаям. Наибольшие трудности вызывают нелинейные задачи. Рассмот- Рассмотрим краевую задачу для нелинейного уравнения второго порядка и" (х) =f(x, и), и (а) =а, и ф) = G0) с краевыми условиями первого рода. Будем предполагать, что / (х, и) ограничена и непрерывна вместе со своими вторыми про- производными, так что существует ограниченная и непрерывная uiv (x). Обозначим через УИ1 = гаах|/н|, М2 = max | «IV |. Аналогично п. 4, введем на [а, Ь] равномерную сетку х„ и заменим вторую производную разностным выражением F5). Под- Подставляя его в дифференциальное уравнение G0), получим систему нелинейных алгебраических уравнений Уп 1 - 2уп + Уп+i = Щ (Хп, уп), \N-l, G1) последние два уравнения аппроксимируют краевые условия.
272 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Докажем сходимость разностного решения к точному, дополнительно предполагая, что fa^m1'^>0. Поскольку для по- погрешности аппроксимации производной F5) справедливо соотно- соотношение C.12): у2 и™ «„_! - 2«„ + ип+1 = fcV (*„) у2 точное решение удовлетворяет разностным уравнениям Вычитая эти уравнения из G1), обозначая погрешность гп = = уп — ип и учитывая, что f(xn, (/„)-/(*„, un) = (fu)nzn, получим для погрешности систему уравнений G2) Пусть ^„0 есть узел, в котором | гп \ максимален. В этом узле перепишем соотношение G2) в форме неравенства Усилим это неравенство, заменяя в правой части тогда получим на |2Я G3, Это означает, что при h-*-0 разностное решение равномерно схо- сходится к точному со вторым порядком точности. Займемся фактическим нахождением разностного ре- решения. Алгебраические системы общего вида решают методами последовательных приближений или линеаризации. Однако, если взять метод последовательных приближений в естественной форме E.44): 2tf + 1)^ то нетрудно убедиться, что критерии сходимости этого метода E.45) не выполняются. Положение улучшается, если придать методу последовательных приближений специфическую форму
§ 2] КРАЕВЫЕ ЗАДАЧИ 273 Тогда для определения у%> на каждой итерации получается ли- линейная система, решаемая алгебраической прогонкой. Исследуем сходимость итераций G4). Рассмотрим погрешность итерации ??' = у® — уп. Она удовлет- удовлетворяет системе уравнений, получаемой вычитанием G1) из G4): = 0 ?W=O G5) Решим эту трехдиагональную систему методом прогонки. Для данной системы рекуррентные соотношения E.12) для коэффици- коэффициентов прогонки нетрудно преобразовать к такому виду: Формулы обратного хода прогонки E.11) также преобразуются N k-l A=rt+1 p=\ и дают искомое решение системы G5). Для правых частей системы G5) выполняется неравенство Подставляя его в G6), получим Отсюда следует II^MIc^gll^-'MI,, где 9 = yiV%2M1 = lF-oJM1. G7) Это означает, что итерации G4) сходятся при выполнении условия G8) Из соотношения G8) следует, что сходимость линейная, т. е. довольно медленная. Условие G8) является достаточным, но оно- близко к необхо- необходимому: более сложные оценки показывают, что если (Ь — aJ Mt > >я2, то итерации G4) могут расходиться.
274 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Целесообразнее решать уравнения G1) методом Ньютона. Соот- Соответствующие формулы нетрудно записать, линеаризуя правые части этих уравнений: - B + h%)n Д ?> + Д <^, = h*f<? - yf_, + 2*/f fi\,, Линеаризованную систему также решают алгебраической прогон- прогонкой. Сходимость итераций исследуют описанными выше приемами. Потребуем, чтобы /„ 5smx>0. Тогда сравнивая G9) и G1), можно получить для поправки* ?^> — iff — yn такое неравенство: f-(s) || г==: I fun (X, u) \\2fa(x, u) 11с ===== I nc(s-"ir2. Это означает, что если нулевое приближение взято не слишком далеко от корня (например, удовлетворяет условию то итерации G9) сходятся, причем квадратично. Поэтому метод Ньютона обычно выгодней метода последовательных приближений, несмотря на более громоздкие формулы. Замечание. Если итерации G9) или G4) сходятся, то в силу непрерывности и гладкости функции f(x, и) они сходятся к решению системы G1). Тем самым устанавливается существо- существование разностного решения в этих случаях. Для нелинейных задач очень эффективна комплексная органи- организация расчета, позволяющая при небольшом объеме вычислений получать высокую точность. Опишем ее. Возьмем первую сетку с очень малым числом интервалов iV ==2 — 8; остальные сетки получим из нее последовательным сгущением вдвое. На первой сетке начальное приближение выбе- выберем каким-либо приближенным способом: методом Галеркина,. или разложением по малому параметру. Поскольку для первой сетки порядок алгебраической системы мал, качество нулевого приближения здесь малосущественно. Когда итерации сошлись, полученное разностное решение интерполируем (например, линейно) на второй сетке и возьмем на ней в качестве нулевого приближения. Тогда итерации обычно быстро сходятся; в методе Ньютона достаточно 2—4 итераций. Интерполируем это решение на следующей сетке и т. д. Общий объем расчетов при этом невелик и примерно эквивалентен 5—8 итерациям последней сетки.
§ 2] КРАЕВЫЕ ЗАДАЧИ 275 В заключение разностное решение на всех сетках уточним по рекуррентному правилу Рунге. Это настолько повышает точ- точность, что даже в сложных задачах позволяет ограничиться небольшим числом интервалов последней сетки GV = 32 — 128). Если проводится серия расчетов при варьировании парамет- параметров исходной задачи, то целесообразно результат расчета одного варианта брать в качестве нулевого приближения для первой сетки следующего варианта. Рассмотрим некоторые другие усложнения задачи. 1) Сетка может быть неравномерной. В этом случае надо использовать соответствующую аппроксимацию производных, на- например, Напомним, что эта аппроксимация имеет погрешность О (h2) на квазиравномерных сетках и О (К) на произвольных сетках. Иссле- Исследование разностной схемы G1), проведенное выше, легко обобщается на случай неравномерной сетки. 2) Можно использовать аппроксимации, явно учитывающие вид общего решения исходного дифференциального уравнения; при этом получаются спе- специальные схемы (см. § 1, п. 9). Составим, например, для задачи F4) с р (х) < 0 такую схему, чтобы она была точна при р = const, f(x) = const. При этом ограничении общее решение уравнения F4а).имеет вид ?(*) = - ^ + А sin (V\7\x)+B cos ( где А, В — произвольные постоянные. Легко проверить, что на равномерной сетке подстановка этого решения в разностную схему ^)], Кп=?=#-1, (80) (краевые условия учитываются аналогично G1)) дает тождество. Следовательно, эта схема точна в указанном смысле. Она позволяет получать хорошую точ- точность расчета быстро осциллирующих решений даже на грубой сетке, если р (х) и f (х) являются медленно меняющимися функциями. Однако заметим, что применять правило Рунге для уточнения разностных решений, полученных подсхемам типа (80), можно не всегда. Причина этого была подробно рассмотрена в связи с формулами Филона (глава IV, § 2, п. 3). 3) Дифференциальное уравнение может иметь более высо- высокий порядок. Аппроксимация старших производных требует большего числа узлов, и каждое уравнение типа G1) или F6а) будет содержать соответственно большее число неизвестных. По- Поэтому для решения алгебраической линейной (или линеаризован- линеаризованной) системы вместо алгебраической прогонки надо использовать несколько более трудоемкие способы. Но принципиальных ослож- осложнений это не вызывает.
276 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII 4) Возможны более сложные краевые условия. Рассмотрим, например, нелинейное условие третьего рода и'(а) = у (и (а)). (81) Если подставить в него аппроксимацию «оя^^ —мо)//г, то ее погрешность O(h) велика, что ухудшает общую точность расчета. Чтобы записать разностное краевое условие повышенной точно- точности, рассмотрим формулу Тейлора и (*J = и (хо) + hu' (х0) + \ А V (*„) +. • • и на основании уравнения G0) положим и" (xo) — f(xo, м0), а из краевого условия (81) возьмем и'(х0) = q> (и0). Тогда получим \ 0/1 - У о) = Ф (У о) + у / (Хо, У о) ¦ (82) Другие способы аппроксимации краевых условий будут рассмот- рассмотрены в главе IX. Подведем итоги. Разностный метод имеет свои трудности, связанные в основном с решением алгебраической системы урав- уравнений. Однако эти трудности успешно преодолеваются. Метод естественно переносится на уравнения высокого порядка, причем трудоемкость вычислений почти не возрастает. Его численная устойчивость обычно хорошая. Поэтому для уравнений второго порядка разностный метод успешно конкурирует с методом, стрельбы, а для уравнений бо- более высокого порядка, особенно при сложной постановке крае- краевых условий, оказывается выгоднее стрельбы. 6. Метод Галеркина. Краевая задача для уравнения А (и (х)) = = 0 сводилась в главе VII, § 4 к отысканию минимума функ- функционала типа (Аи, Аи) или (и, Аи). Затем решение и(х) прибли- приближенно заменялось отрезком разложения по некоторой полной системе функций, а коэффициенты разложения находились из условия минимума функционала. Этот способ для функционалов первого типа называют методом наименьших квадратов, а для второго — методом Ритца. Метод наименьших квадратов неудобен тем, что под интегра- интегралом возникают квадраты старших производных, входящих в опе- оператор А, и вычисления становятся громоздкими. Метод Ритца имеет тот недостаток, что не для всякого оператора А удается найти эквивалентный функционал (обычно нужна самосопряжен- самосопряженность оператора). Более удобен на практике метод Б. Г. Галер- Галеркина (или Бубнова —Галеркина), свободный от этих недостатков. Изложим этот метод. Пусть дано уравнение с некоторыми краевыми условиями (для определенности — первого рода) Л (и(*))=/(*), a^x^b, u(a)=a, u{b)^$. (83)
§ 2] КРАЕВЫЕ ЗАДАЧИ 277 Как и в методе Ритца (см. главу VII, § 4, п. 3), будем искать приближенное решение в виде суммы п и (х) яа уп (х) = ф0 (х) + 2 скщ (х), (84) k= где ф0 (х) — некоторая непрерывная функция, удовлетворяющая неоднородным краевым условиям (83), а щ(х), 1 =~;&<оо, — ка- какая-то система линейно-независимых функций, полная в классе непрерывных функций, определенных на отрезке [а, ft] и обра- обращающихся в нуль на его концах. Докажем, что если для некоторой функции F (х) и полной системы функций ц>к (х) выполняется соотношение ь \F (x) cpk (x)dx = 0 при lsg?<oo, а то F (х) н= 0 на [a, ft]. Для этого из полной системы ц>к (х) после- последовательной ортогонализацией построим полную ортогональную систему ty/t(x). Очевидно, тогда т— 1 причем Cfc>r=?O, иначе ц>к{х) были бы линейно-зависимы. Разлагая по новой системе придем к соотношению ь k 0 = \F(x)q>k(x)dx= 2 Y*S*« = O, fe = l, 2, ... я т = 1 Полагая й=1, получим Yi = 0. Полагая k~2, получим Ya~O И т. д. Следовательно, все 7; = 0 и f (х)=0, Отметим, что если исходная система ф^ (х) уже ортогональна, то доказательство ста- становится тривиальным. Таким образом, если бы мы нашли такую функцию и (х), чтобы A(u(x)) — f(x) было ортогонально щ(х) при любых k 5=1, то это означало бы, что A(u(x))=f(x) и задача (83) была бы решена *). Если же ортогональность есть только при k^n, то в разложе- *) Ортогональности A (u)—f к <р0 (я) не требуется, ибо <р0 (х) не входит в полную систему функций фА (х).
278 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII ние A (u) — f по фА (х) входят упп и более старшие коэффициенты, т. е. A («)«=/. Возьмем вместо и (х) приближенное решение в форме (84) и потребуем, чтобы \[A(yn(x))-f(x)]cpk(x)dx = O, 1 (85) Это дает нам алгебраическую систему для определения коэффи- коэффициентов ск. Найдя из нее коэффициенты, получим приближенное решение (84). В этом и заключается метод Палеркина. Вопрос об условиях сходимости у„ (х) при п-+со к точному решению и о скорости сходимости здесь не рассматривается. Если оператор А (и) нелинейный, то система (85) тоже будет нелинейной. При этом больше чем 3—4 коэффициента трудно найти. Если же оператор линейный, то алгебраическая си- система (85) линейна и можно решать задачу с большим числом коэффициентов. Отметим, что для линейных уравнений второго порядка метод Галеркина приводит точно к тем же уравнениям, что и метод Ритца. Пример. Рассмотрим задачу F9). Положим <ро(х) = О и вы- выберем полную систему функций <pk(х) — хь ((л/2) — х), 1 ^k<oo. Тогда, если ограничиться одним членом суммы (84), то легко получить, что ^ = 511/D0-л2) ^0,521, п=1. Если возьмем два члена суммы, то получим сг^ 0,815, с2^ 0,377, и = 2. Соответствующие приближенные решения, вычисленные в несколь- нескольких точках отрезка, приведены в таблице 21; для сравнения там же дано точное решение. Хотя в этой задаче решение яв- является плавно меняющейся фун- функцией, метод Галеркина при небольшом числе членов дает неважные результаты. Обратим внимание на то, что при увеличении п не только добавляются новые коэффициенты, но и меняются старые, что не очень удобно. Легко заметить, что если задача линейная, а система ц>к (х) ортогональная, то уже найденные ск не будут меняться при увеличении п. Поэтому ортогональные системы обычно удобнее неортогональных. Метод Галеркина для нелинейных задач используют лишь для нахождения грубого приближения; для линейных задач им можно Таблица 21 X л/8 л/4 Зя/8 i/i W 0,241 0,322 0,241 Уг (X) 0,445 0,685 0,582 " (X) 0,208 0,325 0,273
§ 2] КРАЕВЫЕ ЗАДАЧИ 279 найти решение с хорошей точностью. Результат очень чувстви- чувствителен к тому, насколько удачно выбрана система функций ср*. (х) для данной задачи. Отметим также, что при нелинейном краевом условии вида, например, и' (а) = g (и (а)) линейная комбинация (84) с произволь- произвольными коэффициентами с^ уже не будет удовлетворять этому крае- краевому условию. Поэтому метод Галеркина применим только к за- задачам с линейными (относительно и (х) и ее производных) крае- краевыми условиями, хотя допустим и нелинейный оператор А (и). 7. Разрывные коэффициенты. Во всех предыдущих пунктах явно или неявно предполагалось, что правые части рассматри- рассматриваемых дифференциальных уравнений непрерывны вместе с неко- некоторым числом своих производных. Однако в задачах о слоистых средах коэффициенты уравнений (коэффициентами являются раз- различные свойства вещества — плотность, теплопроводность, упру- упругость и т. д.) обычно разрывны на границах раздела двух сред, т. е. во внутренних точках [a, ft]. Бегло рассмотрим, как переносятся на этот случай развитые выше методы. Сделаем это на примере уравнения (86а) Сначала обсудим характер решения. Если q(x) или f(x) кусочно- непрерывны, то и" (х) также лишь кусочно-непрерывна. Очевидно, в точке разрыва аппроксимировать вторую производную разно- разностным соотношением нельзя. Еще сложней случай разрыва k(x) в некоторой точке х. При этом решение краевой задачи становится, вообще говоря, не единственным. Существует множество обобщенных решений, каж- каждое из которых удовлетворяет своему условию согласования в точке х. Для выделения единственного решения требуется по- поставить в этой точке внутреннее краевое условие; оно выбирается из физических соображений и должно входить в полную поста- постановку задачи. Пусть, например, (86а) есть уравнение теплопроводности в стержне, составленном из разных материалов, a k(x) — коэффи- коэффициент теплопроводности. Тогда дополнительным условием будет непрерывность температуры и теплового потока W = — kux в точке соединения [«<*)]!+;=0, [*(*)??>:=(>. (866) Поэтому и в методе стрельбы, и в разностном методе все точки разрыва коэффициентов выбирают в качестве узлов сетки; такие сетки называют специальными. В методе стрельбы до прихода (для. определенности слева) в такую точку пользуются «левыми» значениями коэффициентов.
280 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Придя в эту точку, при помощи внутреннего краевого условия формируют новые начальные условия. Например, в задаче (86) это будут условия и(Х + 0) = и(Х-0), их Щ^ Затем продолжают численное интегрирование, пользуясь уже «правыми» значениями коэффициентов. В разностном методе для точки разрыва вместо аппроксима- аппроксимации дифференциального уравнения (86а) можно записать аппрок- аппроксимацию внутреннего краевого условия (866), или можно соста- составить такую разностную схему, которая применима во всех точ- точках, включая точку х *). В методе Галеркина систему функций щ (х) следует выбирать так, чтобы линейная комбинация (84) при. любых значениях коэф- коэффициента ck удовлетворяла внутреннему краевому условию. § 3. Задачи на собственные значения 1. Постановки задач. Задачи на собственные значения — это краевые задачи для системы р уравнений первого порядка [ » = {«!, Ut, ..., Up], f={h, /„..., />}, в которых правые части зависят от параметров %г, значения которых неизвестны и должны быть определены из самой задачи; число дополнительных (краевых) условий соответственно равно p-\-q. Функции uk(x), lsc&sgp, и значения параметров Хг, l^r^q, удовлетворяющие всем уравнениям и краевым усло- условиям, называются собственными функциями и собственными зна- значениями задачи. Задачи на собственные значения часто встречаются в физике и технике**). Например, определение собственных колебаний струны приводит к задаче для линейного уравнения второго по- порядка с одним параметром а собственных колебаний упругого стержня —к линейному урав- уравнению четвертого порядка (краевые условия зависят от способа закрепления струны или стержня). Дифференциальное уравнение *) Это так называемые консервативные схемы, способ построения которых будет изложен в следующих главах. **) Много примеров таких задач приведено в [17].
§ 3] ЗАДАЧИ НА СОБСТВЕННЫЕ ЗНАЧЕНИЯ 281 второго порядка возникает при нахождении спектра атома водо- водорода. Нахождение уровней энергии многоэлектронного атома в приближении Хартри — Фока приводит к задаче для системы нелинейных уравнений, в которой число функций и число пара- параметров равно числу электронов атома. Исследование корректности постановки задачи на собственные значения еще более сложно, чем для краевых задач. Исследо- Исследованы в основном линейные задачи с одним параметром. Однако в курсах теории колебаний и квантовой механики имеется немало примеров, из которых видно, что в зависимости от постановки задачи собственные значения могут существовать или не сущест- существовать, быть вещественными или комплексными; спектр собствен- собственных значений может быть дискретным, сплошным, состоящим из полос или являющимся комбинацией перечисленных случаев. Наиболее употребительными численными методами решения задач на собственные значения являются метод стрельбы и раз- разностный метод, подробно рассмотренные ниже. Из приближенных методов упомянем методы Ритца и Галеркина. 2. Метод стрельбы. В задачах на собственные значения имеются естественные пристрелочные параметры — величины V, поэтому такие задачи нередко решают методом стрельбы. Основ- Основные черты этого метода те же, что и для краевых задач; рас- рассмотрим детали метода на двух примерах. Простейший пример —задача для одного уравнения первого порядка с одним параметром и двумя краевыми условиями u'(x) = f(x, и; К), и(а)=а, w(fr) = p\ (87) Если отбросить правое краевое условие и выбрать некоторое значение X, то (87) превратится в задачу Коши. Численно ин- интегрируя ее, получим решение и (х; X), удовлетворяющее левому краевому условию и зависящее от параметра %. Вообще говоря, и (Ь; %)Ф§, т. е. это решение не удовлетворяет правому крае- краевому, условию. Тогда будем варьировать к до тех пор, пока не получим и (Ь\ X) я» р с требуемой точностью. Разумеется, при варьировании используют обычные методы нахождения корня алгебраического уравнения, как ато было сделано в § 2, п. 2. Другой пример—это классическая задача на собственные зна- значения уравнения второго порядка при нулевых краевых условиях ]u(x) = O, u(a) = u(b)^0. (88) Уравнение имеет второй порядок и содержит одно собственное значение; следовательно, задача требует трех дополнительных условий. Но в силу линейности и однородности решение опреде- определено с точностью до множителя; это и есть неявное задание третьего условия. Формально третье условие здесь удобно задать в форме и' (а) = 1 (что возможно, если р (а) и q (а) конечны).
282 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Тогда можно взять для исходного уравнения задачу Коши с на- начальными условиями и (а) = 0, и' (а) — 1 и вести пристрелку пара- параметра к до выполнения правого краевого условия. Заметим, что линейность уравнения и краевых условий не упрощает стрельбу, ибо зависимость и(х; к) от параметра все равно остается нелинейной. Метод стрельбы удобно применять, если стрельба является однопараметрической, как это было в рассмотренных примерах. Если это требование не выполнено, то алгоритмы стрельбы сильно усложняются и становятся менее надежными; тогда выгодней использовать разностный метод. Метод стрельбы трудно применять также в том случае, если задача Коши плохо обусловлена. Тогда малая вариация к может резко изменить решение и (х) и даже вывести его за пределы представимых на ЭВМ чисел. При этом невозможно организовать процесс решения алгебраического уравнения типа и(Ь; \) = 0. Иногда, как и в краевых задачах, помогает смена направления интегрирования (но ее применяют только, если от этого не уве- увеличивается число параметров пристрелки). 3. Фазовый метод. Классическая задача для уравнения вто-" рого порядка (88) имеет много важных физических приложений. В частности, к этому уравнению приводит квантовомеханическая задача об уровнях энергии частицы, движущейся в заданном одно- одномерном (например, сферически-симметричном) поле. В последнем случае задача Коши для уравнения (88) оказывается очень плохо обусловленной: общее решение уравнения обращается в беско- бесконечность на обоих концах отрезка (х=0 и х = со). Поэтому при- применять метод стрельбы трудно. Но эта задача настолько важна, что для нее разработаны специальные схемы. Рассмотрим одну из них —фазовый метод. Воспользуемся тем, что качественное поведение решения известно. Решение имеет осциллирующий характер, причем амп- амплитуда может сильно зависеть от координаты. Введем амплитуду р и фазу ф решения при помощи соотношения и (х) = р (х) sin ф (х). (89а) Это соотношение неоднозначно определяет амплитуду и фазу. Для определенности подчиним их дополнительному соотношению и' (х) = р (х) cos ф (х). (896) Наглядный смысл его состоит в том, что если взять вектор с ко- координатами и, и', т. е. перейти в фазовую плоскость, то р и ф будут амплитудой и фазой этого вектора.
§ 31 ЗАДАЧИ НА СОБСТВЕННЫЕ ЗНАЧЕНИЯ 283 Дифференцируя (89а) и (896) и сравнивая их между собой, получим соотношения и" — р' cos ф — ф'р sin ф, р' sin ф = A — ф') р cos ф. Исключая при помощи этих соотношений и формул (89) функ- функцию и (х) и ее производные из уравнения (88), после несложных преобразований расщепим (88) на уравнения для амплитуды и фазы: р' (дс) р (х) {р (х) cos Ф (х) + [q (х) +к - 1] sin Ф (х)} cos Ф (х), (90) ф' (х) = cos2 ф (х) + р (х) sinф (х) cos (f(x)-\-[k-\-q (x)] sin2 ф (x). (91) Граничные условия (88) при этом естественно приписываются фазе. Если надо найти решение, соответствующее квантовому числу п, т. е. имеющее п полуволн на [а, Ь], то следует положить ф(а) = 0, <р(&) = ял. (92) Таким образом, мы получили задачу на собственные значения (91)—(92) только для уравнения фазы. Она легко решается мето- методом стрельбы, поскольку задача Коши для уравнения (91) хорошо обусловлена. Важной особенностью этой задачи является то, что правому краевому условию (92) удовлетворяет только одно опре- определенное Я„ из всего спектра исходной задачи (88). Поэтому стрельба всегда сходится именно к требующемуся собственному значению. После нахождения фазы уравнение для амплитуды легко ин- интегрируется в квадратурах { x p(x) = p(a)expj—$[p(|)cos I a Амплитуда определена с точностью до множителя и не меняет знака, как и должно быть по смыслу задачи. Замечание 1. Задача (88) может иметь и другие типы кра- краевых условий. Если исходное краевое условие имеет вид и' (Ь) =0, то для фазы надо взять условие ф (Ь) = л (п — х/г)• Несколько сложней асимптотическое условие и (go) = 0, возникающее в за- задаче на отрезке аг=сх<схз; обычно в таких задачах выполняется р(оо) = <7(оо) = 0. Тогда нетрудно построить асимптотику реше- решения и(х)'~ехр(—V—hx) при х-»-оо и получить отсюда асим- асимптотическое краевое условие для фазы Л sin ф (х) -*¦ 0 при ЛГ-+- + 00'
284 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Замечание 2. Фаза ф(х) может быть немонотонной функ- функцией. Однако, если при некотором х значение фазы ф(х) = л/г, то ф' (х) = 1; поэтому каждую линию ф = лк интегральная кривая пересекает лишь однажды, а немонотонность может проявляться только между этими линиями. При таком поведении интеграль- интегральных кривых стрельба с использованием дихотомии надежно схо- сходится к собственному значению, а при использовании метода Ньютона область сходимости нередко оказывается очень узкой. Замечание 3. Для преодоления последнего недостатка пред- предложена замена функций, несколько более сложная, чем (89), но зато делающая ц>(х) монотонной функцией. При этом стрельба с использованием метода Ньютона сходится за небольшое число итераций. 4. Разностный метод обычно используется в тех случаях, когда стрельба оказывается многопараметрической, или если задача Коши для исходного дифференциального уравнения плохо обусловлена. Формулируется он так же, как для краевых задач. Введем на [а, Ь] сетку {хп, O^ns^N] и заменим в исходной задаче все производные некоторыми разностными соотношениями. Тогда вместо дифференциального уравнения и краевых условий получим систему алгебраических уравнений Fk(x0, xlt ..., xN, г/0, Ui Ук"> ty = 0, O^k^N+l (93) (для простоты записи мы ограничиваемся случаем одного собст- собственного значения). Эта система содержит N + 2 уравнения, и из нее надо определить такое же число неизвестных: К, у0, ух, ..., yN. Возникают те же вопросы, что и в краевых задачах. Имеет ли алгебраическая система (93) решение? Если имеет, то как его фактически вычислить? Если разностное решение найдено, то насколько оно близко к точному решению? Сейчас мы рассмотрим линейные задачи, для которых на эти вопросы ответить легче. Пусть исходная задача является линейной и однородной отно- относительно и(х), как, например, задача (88). Воспользуемся линей- линейными разностными аппроксимациями производных. Тогда система (93) будет относительно уп линейной однородной, т. е. это будет алгебраическая задача на собственные значения матрицы. Так, для задачи (88) при простейших аппроксимациях на равномерной сетке получим систему A - -1 Ар„) (/„._! - B - h"qn - W) уп + A + \ Ар») yn+i = О, 1<па-1, (94) где уо = ух = ® в силу краевых условий. Эта система содержит N— 1 уравнение; из нее надо определить к, уг, у2, ••• . Уы-\-
§ 3] ЗАДАЧИ НА СОБСТВЕННЫЕ ЗНАЧЕНИЯ 285 Задача (94) имеет спектр собственных значений, состоящий из ЛГ — 1 числа (по порядку матрицы). Первые собственные зна- значения являются приближениями к первым собственным значе- значениям Хт из дискретного спектра исходной задачи (88). Если разностная схема составлена так, что матрица алгебраической системы (93) является эрмитовой, то приближенные собственные значения будут вещественными. Собственные значения и собственные векторы линейной си- системы (93) вычисляют методами, описанными в главе VI. Поскольку во многих приложениях матрица системы трехдиагональная (реже —пятидиагональная), а нужны только несколько первых собственных, значений, то выгодно применять метод Дервюдье (см. главу VI, § 4, п. 2). При небольшом числе интервалов сетки удобно также находить корни характеристического много- многочлена методом парабол, вычисляя сам многочлен по рекуррент- рекуррентным соотношениям (см. главу VI, § 1, п. 4). Сходимость разностного решения к точному при Л-»-0 хорошо исследована только для задач Штурма —Лиувилля *) Оказывается, что простейшая схема (94) дает не очень хорошие, а при разрывных коэффициентах — даже неверные результаты. Следует составлять консервативные разностные схемы (они будут подробно рассмотрены в главах X и XI). Если коэффициенты уравнения непрерывны вместе со своими вторыми производными, то простейшие консервативные схемы обеспечивают равномерную сходимость уп к и (х) с погрешностью О (к2). Так называемая на- наилучшая консервативная схема обеспечивает погрешность О (h2) даже при коэффициентах, кусочно-непрерывных со своими вто- вторыми производными, если выбраны специальные разностные-сетки (в которых эти точки разрыва являются узлами). Пример. Рассмотрим частный случай задачи Штурма —Ли- —Лиувилля и" (х) + Ъи (х) = О, и @) = и A) = 0. (95) Точное решение этой задачи есть кт = п2т2, ит (х) = sinnmx, /га=1, 2, ...; оно нужно для сравнения с численными расчетами. Простейшей разностной схемой для этой задачи является схема (94), в которой надо положить pn — qn = 0. Эта схема имеет вто- второй порядок точности. Выполняя расчеты для сеток с числом интервалов JV = 2, 3, 4, приближенно определим три первых собственных значения. *) Это исследование и доказательства приведенных ниже утверждений см. в [30].
286 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII Они представлены в таблице 22 вместе с точными значениями кт. Из таблицы видно, что с малой погрешностью определяются только те собственные значения, номер которых заметно меньше N. При сгущении сетки приближенные значения быстро стремятся к точным. Очень эффективным оказывается уточнение по правилу Рунге —Ромберга, также приведенное в таблице; уточнение^ по двум сеткам дает неплохую точность, а уточнение \ по трем сеткам — отличную. Таблица 22 N h Я2 h 2 8,00 — 3 9,00 27,0 4 9,37 32,0 54,6 Уточненное по Рунге 9,88 38,4 Точное 9,87 39,5 88,8 На этом примере хорошо видно, что сочетание схемы невы- невысокого (обычно второго) порядка точности с правилом Рунге выгодно: оно обеспечивает высокую точность расчета при неслож- несложном алгоритме. Схемы высокого порядка точности обычно довольно громоздки, и организация расчета по ним сложнее. 5. Метод дополненного вектора. Для разностного метода, осо- особенно в случае сложных нелинейных задач, важным и трудным является вопрос о фактическом вычислении разностного решения, ибо алгебраическая система (93) имеет заведомо высокий поря- порядок. Для многих задач удобно находить это решение методом дополненного вектора. Изложим этот метод. Заметим сначала, что метод стрельбы (и многие конкретные разностные алгоритмы) можно схематически описать следующим образом. Выбирается некоторое приближение^10'; затем вычис- вычисляется соответствующее ему приближение г/@) (х). По этой функ- функции находится новое приближение ?iA) и т. д. При этом собст- собственное значение и собственная функция считаются элементами разных метрических пространств. Будем рассуждать иначе. Разностную собственную функцию У = {Уо, У1< ••-. Уы} можно считать вектором в (Af-f 1)-мерном пространстве. Увеличивая размерность пространства на единицу, рассмотрим собственное значение как новую компоненту этого вектора, yN+1=l. Новый вектор Y={y0, уъ ..., yN, yN+1} назо- назовем дополненным. Относительно компонент дополненного вектора алгебраическая система (93) перепишется в каноническом виде + l. (96) У\, Ум, Эта система нелинейна, даже если исходная задача была линей- линейной относительно и(х), как в примере (88).
§ 3] ЗАЛЕЧИ НА СОБСТВЕННЫЕ ЗНАЧЕНИЯ 287 Решать систему (96) будем методом Ньютона. Линеаризуя (96), получим на каждой итерации систему уравнений N+1 Ej^l8^=-Fk(rs)), 0^k^N + \, (97) линейную относительно приращений неизвестных 8y{s> = у'^+1) — у^К Если искомое решение алгебраической системы (96) не особенное, т. е. в нем det (dF/dY) ф О, то при не слишком плохом нулевом приближении итерации (97) быстро сходятся к разностному ре- решению. Отметим, что для линейных задач на собственные значе- значения этот итерационный процесс совпадает с методом Дервюдье (см. главу VI, § 4, п. 2). Удовлетворительное нулевое приближение для итераций (97) можно найти приближенными методами (метод Галеркица, разло- разложение по малому параметру и т. д.), а в прикладных задачах его нередко удается получить из качественных соображений. Исключительно эффективна в таких задачах комплексная органи- организация расчета, подробно описанная в § 2, п. 5. Замечание 1. Метод дополненного вектора особенно поле- полезен для уравнений, у которых задача Коши плохо обусловлена: он подавляет такую неустойчивость. Замечание 2. Метод легко переносится на более общие задачи вида А (и (х), Я) = 0, где оператор А может быть интегро- дифференциальным (краевые условия предполагаются включен- включенными в определение оператора). Вводя сетку хп и аппроксимируя разностными выражениями все производные и интегралы, входя- входящие в оператор, получим алгебраическую систему (96) и решим ее итерационным процессом (97) *). Замечание 3. Недостатком метода является то, что при неудачном выборе нулевого приближения итерации (97) могут не сойтись, или в задачах со спектром собственных значений итерации могут сойтись не к искомому собственному значению. Замечание 4. В методе дополненного вектора требуется решать систему линейных уравнений (97). Это легко делать, только если матрица системы целиком помещается в оперативной памяти ЭВМ (например, на БЭСМ-6 это будет при числе неиз- неизвестных N <С 150). Это приводит к ограничению допустимого числа интервалов сетки. Если требуется решить задачу для системы большого числа дифференци- дифференциальных уравнений (например, уравнения Хартри — Фока для многоэлектрон- многоэлектронного атома), то даже при довольно грубой сетке число узловых значений *) Здесь обсуждается только вопрос о вычислении разностного решения. Вопрос о его сходимости к точному решению при h -»- 0 надо рассматривать отдельно; он связан со свойствами оператора А и выбором аппроксимации.
288 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. VIII всех функций будет велико, и метод дополненного вектора применять трудно. В подобных задачах успешно применяется так называемый непрерывный аналог метода Ньютона, имеющий линейную сходимость итераций, но зато позво- позволяющий оперировать с очень большим числом неизвестных. Этот метод яв- является специальным вариантом метода последовательных приближений, орга- организованным так, что итерации всегда сходятся. 6. Метод Галеркина. Многие приближенные методы пригодны для нахождения собственных значений и собственных функций задач, у которых краевые условия линейны относительно функ- функции и ее производных. Среди этих методов к наиболее простым вычислениям приводит метод Галеркина. Метод формулируется почти так же, как для краевых задач. Ищем решение задачи А(и(х), k) = f(x) в виде линейной комби- комбинации отрезка полной системы функций ф*(х), k^l: ^1 b, (98) k=i выбранной так, чтобы удовлетворялись краевые условия. Потре- Потребуем, чтобы выполнялись условия ортогональности \ [А (уп (х), к) - f (x)] щ (x)dx = 0, К k <: N. (99) а Эти условия образуют алгебраическую систему п уравнений с п + 1 неизвестным сг, с2, ..., с„, к. Недостающее уравнение надо полу- полудить из одного из краевых условий. По тем же соображениям, что и в краевых задачах, удобнее пользоваться ортогональными системами функций щ (х). В Линей- Линейных задачах вычисления при этом заметно упрощаются. Пример. Рассмотрим задачу (95) и"(х)-{-ки(х) = 0, и@) = иA) = 0 и воспользуемся полной системой многочленов q>k(x) =xk(l — х), которые заметно отличаются от точного решения задачи. Одним из дополнительных условий является условие нормировки реше- решения. Благодаря линейности задачи его можно формулировать разными способами; для удобства вычислений зададим его в форме уп @) = 1, что означает q == 1. Тогда, полагая п = 1 и 2, легко получим первые приближения л=1, к1 =10, yl{x) = x(\-x), ki =10, г/' =хA-х), Я"=21, уи=х{\-х)-~хЦ\-х). Первое собственное значение определилось с хорошей точностью, второе —с много худшей.
ЗАДАЧИ 289 Методом Галеркина можно довольно хорошо находить наи- наименьшие собственные значения. Но точность определения собст- собственных функций обычно заметно хуже. Обоснование метода Галеркина сложно. В частном случае, если дифференциальный оператор А линеен и однороден относи- относительно и(х), система (99) является задачей на определение соб- собственных значений матрицы. Для задачи Штурма—Лиувилля метод Галеркина приводит к тем же самым алгебраическим урав- уравнениям, что и метод Ритца (сходимость которого в задачах Штурма—Лиувилля доказана). ЗАДАЧИ 1. Доказать теорему о сходимости метода Пикара, сформулированную в § 1, п. 3. 2. Вывести оценку A0) скорости сходимости метода Пикара. 3. В методе малого параметра вывести формулы для коэффициентов ап и функций vn (х) в уравнениях A2). 4. Найти приближенное решение уравнения C) методом малого пара- параметра. 5. Для системы двух уравнений B5) написать схемы Р.унге—Кутта второго порядка точности, аналогичные B2) и B3). 6. Для уравнения химического распада C4) составить схемы Руиге—Кутта второго и четвертого порядка точности и выяснить ограничения на шаг в этих схемах, следующие из положительности решения. 7. Составить для уравнения химического распада C4) специальную схему интегрирования по третьему способу из § 1, п. 8. 8. Вычисляя в D1) интеграл от второго слагаемого по формуле трапеций, получить неявную специальную схему; исследовать ее точность и найти огра- ограничение на шаг сетки. 9. Написать формулы метода стрельбы применительно к краевой задаче D6) для одного дифференциального уравнения второго порядка. 10. Составить формулы метода Ньютона для нахождения корня уравнения F26), возникающего при решении краевой задачи F0) методом стрельбы. 11. Решить краевую задачу F9) методом Галеркина, выбрав ортогональную систему функций cpfe (х) = sin 2kx; сравнить результат с примером, приведенным в § 2, п. 6. 12. Для итерационного процесса при решении задачи ва собственные зна- значения (87) баллистическим методом составить а) формулы методу секущих, б) формулы метода Ньютона. 13. Для задачи на собственные значения (95) найти разностным методом при N = 2 и Л7 = 4 первую собственную, функцию и уточнить ее-по правилу Рунге; ответ сравнить с точным решением.
ГЛАВА IX УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ В главе IX рассмотрены методы численного решения задач для уравнений в частных производных. В § 1 обсуждены некоторые постановки задач и дан обзор методов, которыми решаются подобные задачи. Остальные параграфы содержат изложение основ наиболее широко применяемого и хорошо изучен- изученного метода —разностного. В § 2 рассмотрены способы построения разностных схем и введено понятие аппроксимации. В § 3 даны методы исследования устой- устойчивости разностных схем. В § 4 доказаны основные теоремы о сходимости разностного решения к точному. § 1. Введение 1. О постановках задач. Движение систем малого числа частиц математически описывают, как правило, обыкновенными диффе- дифференциальными уравнениями. Если же число частиц очень велико, то следить за движением отдельных частиц практически невоз- невозможно. При этом удобнее рассматривать систему частиц как сплошную среду, характеризуя ее состояние средними величи- величинами: плотностью, температурой в данной точке и т. д. Математические модели сплошной среды приводят к уравне- уравнениям в частных производных, которым удовлетворяют упомя- упомянутые средние величины. Например, изменение температуры в не- неподвижном теле описывается уравнением теплопроводности с {и, г, t) ~ = div [k {и, г, f) grad и] + q (и, г, t), A) где и — температура, с —теплоемкость, k — коэффициент теплопро- теплопроводности и q — плотность источников тепла. К уравнениям в частных производных приводят задачи газо- газодинамики, теплопроводности, переноса излучения, распространения нейтронов, теории упругости, электромагнитных полей, процессов переноса в газах, квантовой механики и многие другие. Независимыми переменными в физических задачах обычно являются время / и координаты г; бывают и другие переменные, например, скорости частиц v в задачах переноса. Решение тре- требуется найти в некоторой области изменения независимых пере-
§ 1] ВВЕДЕНИЕ 291 менных G(t, r, v, ...). Полная математическая постановка задачи содержит дифференциальное уравнение, а также дополнительные условия, позволяющие выделить единственное решение среди семей- семейства решений дифференциального уравнения. Дополнительные условия обычно задаются на границе области G. Если одной из переменных является t, то чаще всего рассмат- рассматривают области вида G(t, r, ...)=g(r, ...)Х[*О, Т], B) т. е. решение ищут в некоторой пространственной области g (г, ...) на отрезке времени t^^t^T. В этом случае дополнительные условия, заданные при t = t0, называют начальными, а дополни- дополнительные условия, заданные на границе Г (г) области g (r),— гра- граничными или краевыми. Задачу, у которой имеются только начальные условия, назы- называют задачей Коми. Например, для уравнения теплопроводности A) в неограниченном пространстве можно поставить задачу с на- начальными условиями и (г, д = ц(г). C) Если [х (г) — кусочно-непрерывная ограниченная функция, то реше- решение задачи A), C) единственно в классе ограниченных функций (при некоторых ограничениях на коэффициенты уравнения; см. [40]). Задачу с начальными и граничными условиями называют сме- смешанной краевой задачей или нестационарной краевой задачей. Для уравнения A) дополнительные условия такой задачи могут иметь, например, вид и (г, g = И (г), r^g (г), и (г, Or = Hi (г, t), to^t^T. D) Для этого уравнения допустимы и другие граничные условия, например, содержащие нормальную производную решения. Встречаются задачи, в которых область G (t, r) имеет другой вид. Примером является задача с условиями на характеристиках (см. [40]), возникающая при изучении процессов сушки, сорбции газов и многих других. При исследовании установившихся состояний или стационарных (не зависящих от времени) процессов в сплошной среде форму- формулируются математические задачи, не зависящие от времени. Их решение ищется в областиg(r),a дополнительные условия являются граничными. Такие задачи называют краевыми. Мы ограничимся рассмотрением корректно поставленных задач, когда для некоторого класса начальных и граничных данных решение (в заданном классе функций) существует, единственно и непрерывно зависит от этих данных. Будем также предполагать, что решение непрерывно зависит от всех коэффициентов уравнения.
292 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Для уравнении в частных производных существуют физически интересные задачи, являющиеся некорректно поставленными: обратные задачи теплопро- теплопроводности, задачи на развитие неустойчивостей и другие. Так, рассмотренный в главе I пример Адама ра связан с возникновением релей-тейлоровской неустой- неустойчивости, когда слой тяжелой жидкости налит поверх слоя легкой жидкости. Но здесь мы такие задачи не будем рассматривать (см. [39] и приведенную там библиографию). В этой главе излагаются методы численного решения уравне- уравнений в частных производных и способы обоснования этих методов. Они применимы к широким классам уравнений и различным типам задач для них. Но примеры, иллюстрирующие изложение и конкретные применения этих методов, рассмотренные в главах X —XIII, касаются наиболее распространенных и хорошо изу- изученных задач для уравнений первого и второго порядков, линей- линейных относительно производных. Напомним классификацию таких уравнений. Они имеют сле- следующий вид (для простоты мы ограничиваемся случаем двух переменных): Auxx + 2BuXil + Cuyy + Dux + Euy + F = 0. E) Коэффициенты уравнения E), вообще говоря, зависят от и, х, у. Если коэффициенты не зависят от переменных, то это линейное уравнение с постоянными коэффициентами. Если F линейно зависит от и, а остальные коэффициенты от и не зависят, то это линейное уравнение с переменными коэффициентами. Если коэффициенты зависят от и, то уравнение E) называется квазилинейным. Если Л = В = Сs= 0, но ОфО и ЕфО, то уравнение E) имеет первый порядок и называется уравнением переноса. Уравнения второго порядка классифицируются по знаку дискри- дискриминанта В2 — АС: у гиперболических уравнений дискриминант положителен, у параболических — равен нулю, у эллиптических — отрицателен. Те физические процессы, которые описываются разными пере- перечисленными здесь типами уравнений, существенно отличаются друг от друга. Соответственно полные постановки задач для этих типов уравнений имеют свои особенности, подробно рассмотренные в [40]; мы будем кратко напоминать их в соответствующих главах. Заметим, что уравнение с переменными коэффициентами может иметь разный тип в разных точках области G (х, у). В практике вычислений встречается немало подобных задач, причем нередко — еще неисследованных теоретически. При этом сформулировать полную постановку задачи и обосноватб ее корректность зачастую бывает нелегко. 2. Точные методы решения. В курсах уравнений математи- математической физики изложен ряд методов, позволяющих для некоторых классов задач найти точное решение (см. [40]). К таким методам
§ 1] ВВЕДЕНИЕ 293 относятся метод распространяющихся волн, метод разделения переменных, метод функций источника и другие. Например, для простейшей задачи теплопроводности ut = kuxx, O^x^a, O^t, k = const > О, и (О, 0 = и (а, 0 = 0, и (х, 0) = ц (х), ^ где функция ц (х) кусочно-непрерывна, методом разделения пере- переменных решение представляется в виде ряда со и (х, 0=2 <Хпе~п2пШ/аг sin ^, Gа) где величины ап являются коэффициентами Фурье начальных данных а ^(x)sm^dx. G6) Таким образом, получено явное выражение решения через началь- начальные данные. Подставляя G6) в Gа) и меняя порядок интегрирования и сум- суммирования, выразим решение через начальные данные и функцию источника а u(x,f) = \G{x,l,t)\),{l)dt, (8a) о где функция источника равна G (х, 1,0 = 42 е~Лгп2кШ sin ^ sin ^. (86) п = \ Для задачи Коши на бесконечной прямой выражение для функ- функции источника имеет следующий вид (см. [40]): ^1У"Ш- (8в) Точные методы позволяют получить явное выражение решения через начальные данные, что облегчает дальнейшие действия с решением. Например, выражения G) —(8) позволяют многое сказать о качественном поведении решения. В самом деле, в формуле Gа) пространственные гармоники sin (ппх/а) множатся на величины ехр (— л2п2Ш/а2), затухающие при возрастании времени; это затухание тем быстрей, чем больше номер гармоники. Но чем меньше амплитуды высоких гармоник,
294 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX тем более плавно меняется функция. Следовательно, с течением времени решение задачи F) должно сглаживаться. Наоборот, при движении в обратную сторону по времени ампли- амплитуды высоких гармоник возрастают тем быстрей, чем больше п; при п-*~оо скорость роста гармоник неограниченно увеличивается. Отсюда легко понять, что обратная задача теплопроводности неустойчива. Заметим, что функция источника на бесконечной прямой поло- положительна: <3аз(х, ?, 0>0 ПРИ ^>0. Следовательно, если в реше- решение (8а) с бесконечными пределами интегрирования подставить начальные данные вида ц (х) > 0 на [а, Ь], р (х) = 0 вне [а, Ь], то при ;>0 решение будет отлично от нуля в любой точке бесконечной прямой. Это означает, что в случае линейной тепло- теплопроводности скорость распространения тепла бесконечна. Таким образом, точные методы очень полезны. Однако они применимы в основном к линейным задачам в областях простой формы (прямоугольник, круг и т. п.), когда дифференциальное уравнение и краевые условия линейны относительно и (г, t) и ее производных. При этом выкладки удается довести до конца обычно лишь для уравнений с постоянными или кусочно-постоян- кусочно-постоянными коэффициентами. 3. Автомодельность и подобие. Для уравнений в частных производных существуют такие частные решения, когда и (х, t) является функцией одной переменной ?, роль которой играет некоторая комбинация независимых переменных х, t. Такие реше- решения называются автомодельными. Построим пример автомодельного решения. Рассмотрим одно- одномерное уравнение теплопроводности, в котором коэффициент теплопроводности зависит от температуры по степенному закону ди (х, t) д Г, . . ди (х, t) , , ч , _ , А _ п /п. —^T'[k^—кН| k(u) = koum, ko>0, m>0. (9) Такая зависимость часто встречается в физических задачах; напри- например, коэффициент электронной теплопроводности плазмы прибли- приблизительно пропорционален и5/2. Будем искать частное решение уравнения (9), имеющее вид бегущей волны и(х, t) =/(?), l = x-d. При подстановке такого решения уравнение (9) преобразуется в обыкновенное дифференциальное уравнение 4+!(*•/* f И-
§ 1] ВВЕДЕНИЕ 295 Однократное интегрирование этого уравнения дает соотношение Т"/*(?)-!¦ = «Mist. A1) Если функция / (|) обращается в нуль хотя бы в одной точке |0, то константа в правой части A1) равна нулю и соотношение A1) нетрудно проинтегрировать еще раз: Доопределим решение при ?>?0, полагая /(|)=0, что удовле- удовлетворяет уравнению (9). Таким образом, получим искомое решение и(х, 0 = 0, Чтобы это решение могло существовать, начальные и граничные условия должны быть с ним согласованы. Например, если урав- уравнение (9) рассматривается при t > 0 на полупрямой х^х0, то следует задать ус- условия и (х, 0) = 0, х^=х0, A3) Рис- 45- Автомодельное решение A2) представ- представляет собой температурную волну, бегу- бегущую с постоянной скоростью по нулево- нулевому фону температуры (рис. 45). Скорость движения волны с определяется скоростью роста температуры на границе A3). Точка % — xb-\-ct является фронтом волны. Про- Профиль температуры всюду непрерывен, но на фронте он имеет вертикальную касательную (ди/дх)- = оо, и производная в этой точке терпит разрыв. Автомодельные решения довольно часто удается найти для линейных и квазилинейных уравнений или систем уравнений, коэффициенты которых зависят от переменных х, t и решения и по степенным законам. Для построения решения надо «угадать» подходящую комбинацию независимых переменных и описанным выше приемом свести уравнение в частных производных к обык- обыкновенному дифференциальному уравнению. Выразить решение этого уравнения через элементарные функции, подобно A2), удается далеко не всегда, но найти это решение численным интегриро- интегрированием несравненно проще, чем численно решить исходное урав- уравнение в частных производных.
296 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Если уравнение в частных производных описывает сложный физический процесс, то автомодельные решения дают отдельные режимы протекания процесса и позволяют исследовать многие его особенности. Поэтому автомодельные решения широко исполь- используются в современной физике (см. [36]). АвтОмодельность является частным случаем подобия. В теории подобия при помощи анализа физических размерностей коэффи- коэффициентов уравнения ищутся такие преобразования всех переменных и функций, относительно которых уравнение инвариантно. Напри- Например, уравнение (9) не изменится при таком преобразовании: х-^ах, t~*-at, u->alJ'nu. A4) Если для уравнения известно преобразование подобия, то, найдя каким-либо способом одно частное решение, мы при помощи этого преобразования получим целое семейство решений. Это особенно ценно, если задача настолько сложна, что частные решения удается- находить только трудоемкими численными методами. Разумеется, автомодельные решения или преобразования подо- подобия существуют далеко не для всех классов уравнений, а лишь при некоторых видах коэффициентов уравнения и начальных и граничных условиях. Однако многие важные физические задачи точно или приближенно удовлетворяют этим ограничениям. 4. Численные методы. Задачи для нелинейных уравнений с коэффициентами достаточно общего вида или даже линейные задачи, но в областях сложной формы, редко удается решить классическими методами. Основным способом решения таких задач являются численные методы. Среди них чаще всего применяют разностные методы благодаря их универсальности и наличию хорошо разработанной теории. Для применения разностного метода в области изменения переменных G(r, t) вводят некоторую сетку. Все производные, входящие в уравнение и краевые условия, заменяют разностями (или другими алгебраическими комбинациями) значений функции и (г, t) в узлах сетки. Получающиеся при этом алгебраические уравнения называют разностной схемой. Решая полученную алге- алгебраическую систему, найдем приближенное (разностное) решение в узлах сетки. Как и в главе VIII, возникают вопросы: существует ли реше- решение алгебраической системы и единственно ли оно; как это реше- решение фактически^вычислить (за возможно меньшее число действий); при каких условиях это разностное решение стремится к точному и какова скорость сходимости? Есть еще два вопроса, которые для обыкновенных дифференциальных уравнений были неслож- несложными: как выбрать сетку и как составить разностную схему на этой сетке?
§ 1] ВВЕДЕНИЕ 297 Пример. Составим простейшие разностные схемы для одно- одномерной задачи линейной теплопроводности на ограниченном отрезке Щ = kuxx, 0<x<a, и (х, 0) = [х (х), и @, 0 = На @» , A5а) и (а, 0 = 1*2@- A56) Решение ищется в области G = [0 ssc х =<:а] х [0 ^ t =<: Т]. Введем в G прямоугольную сетку (для простоты равномерную), образованную пересечением линий xn = nh, O^n^N, ntm = mx, Osgmsg/W; величины h, x являются шагами сетки по перемен- переменным х, t (рис. 46). Значения функции в узлах сетки будем обо- обозначать и™ = и(хп, tm). X Л7+/ о— П-1 П+1 Л а) п-1 ¦от п В) 77+/ Рис. 46. Рис. 47. Возьмем около узла (х„, tm) конфигурацию узлов, изображен- изображенную на рис. 47, а. Заменим в уравнении A5а) производную щ разностным отношением (ы?+1 — и%)/х, а производную «^ — отно- отношением (u™f\ — 2«^+1 + «Jf+l)/^2- Тогда дифференциальное урав- уравнение приближенно заменится (аппроксимируется) разностной схемой *) 1*=2я^#-1. A6) Число уравнений A6) меньше числа неизвестных г/^+', O^n^N; недостающие уравнения выводятся из начальных и граничных данных A56): Конфигурацию узлов, используемую для составления разностной схемы, называют шаблоном. Для одной и той же задачи можно составить много разност- разностных схем. Например, если для задачи A5) выбрать изображенный *) Напомним, что разностной схеме удовлетворяет разностное решение, которое мы обозначаем у™.
298 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX на рис. 47, б шаблон, то вместо A6) получим другую схему: 4i Г-1. A8) Начальные и граничные условия для этой схемы можно записать в форме A7). В этой, главе рассмотрены способы составления и исследова- исследования разностных схем, применимые для разных типов задач. В сле- следующих главах излагаются те разностные схемы, которые дают хорошие результаты при решении некоторых распространенных типов уравнений математической физики, возникающих в зада- задачах переноса, теплопроводности и диффузии, акустики и газоди- газодинамики, стационарных электрических полей. Есть численные методы, близкие к разностным. Например, в методе прямых сетка вводится только для части переменных; эти переменные рассматриваются как дискретные, а одна пере- переменная (обычно время" t) остается непрерывной. Производные по дискретным переменным заменяются разностями. При этом уравнение в частных производных аппроксимируется" дифферен- дифференциально-разностными уравнениями, которые представляют собой систему большого числа обыкновенных дифференциальных урав- уравнений. Метод прямых оказывается в некоторых случаях удобным. Для некоторых важных классов задач развиты специальные численные методы, обычно основанные на каких-либо грубых физических моделях процессов. Так, для задач многомерной газо- газодинамики разработан метод частиц в ячейке; для задач разрежен- разреженной плазмы предложен метод «водяного мешка» и ряд других (см. [6]); в задачах переноса нейтронов комбинируют разностный метод с разложением угловой части функции распределения частиц по сферическим гармоникам и т. д. Численные методы позволяют решить сложнейшие задачи для систем многомерных уравнений. Однако для сложных задач чис- численные методы очень трудоемки и рассчитаны на использование мощных ЭВМ. В этих случаях даже вывод разностной схемы, составление программы и ее отладка могут занимать несколько месяцев, а разработка математической модели или новых типов разностных схем нередко требует нескольких лет. Поэтому численные методы целесообразно использовать в соче- сочетании с аналитическими методами. Например, ищут такие упро- упрощенные постановки задачи или частные случаи, когда можно найти точные или автомодельные решения и преобразования подо- подобия. При помощи преобразования подобия по каждому найден- найденному численному решению строят семейство решений. Все это позволяет с меньшими затратами труда провести детальное иссле- исследование исходной задачи,
§2] АППРОКСИМАЦИЯ 299 § 2. Аппроксимация 1. Сетка и шаблон. Для большинства разностных схем узлы сетки лежат на пересечении некоторых прямых линий (в много- многомерных задачах —гиперплоскостей), проведенных либо в естест- естественной системе координат, либо в спе- специально подобранной по форме области G. Для двумерных задач в прямоуголь- прямоугольной области G наиболее часто употребля- употребляют прямоугольную сетку (см. рис. 46), которую мы ввели при составлении схем A6) и A8). Заметно реже используют треугольную (рис. 48) или шестиугольную сетку. Для трехмерных задач наиболее употребительна сетка из прямоугольных параллелепипедов (рис. 49); другие виды сеток, например из прямоугольных трехгранных призм (рис. 50), используются редко. Существуют некоторые разностные схемы, например, для задач двумерной и трехмерной газодинамики, где узлы сетки расположены неупорядоченно. Но такие схемы сколько-нибудь заметного распространения не получили. Если одна из переменных имеет физический смысл времени t, то сетку обычно строят так, чтобы среди ее линий (или гипер- гиперплоскостей) были линии t — tm. Совокупность узлов сетки, лежа- лежащих на такой линии или гиперплоскости, называют слоем. Рис. 48. Ы ф г * У х2 У j^ jS у у s~ -у . - / / \ if . _^-— Ч \ X, Рис. 49. Рис. 50. На каждом слое выделяют направления — линии, вдоль которых меняется только одна пространственная координата. Например, для переменных х, у, t есть направление х (t = const, у = const) и направление у (t = const, x = const). Если область G (x, t) имеет форму прямоугольника, то часть узлов прямоугольной сетки естественно ложится на границу области (см. рис. 46); эти узлы называются граничными, а осталь- остальные узлы — внутренними. Начальные и краевые условия, нало- наложенные на решение на границе F(G), можно в этом случае
300 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Рис. 51. считать заданными в граничных узлах сетки. Именно так было сде- сделано при выводе соотношений A7) в примере из § 1, п. 4. В случае двух пространственных переменных х, у граница области G(х, у) нередко бывает ломаной линией. Для таких областей всегда можно ввести такую треугольную сетку, чтобы естественные узлы сетки (пересечения линий сетки) легли на гра- границу (см. рис. 48). Иногда удается добиться этого, используя прямоуголь- прямоугольную сетку. j Если граница Г (G) криволинейная, то естественные узлы сетки на гра- границу могут не попадать (рис. 51). В этом случае можно взять точки пе- пересечения линий сетки с границей в качестве дополнительных узлов; тогда краевые условия следует задавать в этих узлах. Можно сделать иначе: гра- границу Г (G) приближенно заменить ломаной, проходящей через ближайшие к границе естественные узлы (жирная линия на рис. 51); тогда краевые условия, заданные на F(G), надо каким-либо обра- образом перенести на эту ломаную. Если область G является кругом (кольцом), цилиндром или шаром, то часто переходят к системам координат, связанных с видом области: полярным, цилин- цилиндрическим или сферическим. Если в таких координатах ввести прямоугольную сетку, то естественные узлы сетки лягут на границу. Иногда для построения хорошей сетки в областях сложной формы прибегают к конформному отобра- отображению на *вадрат, в котором введена прямоугольная сетка. Составляя разностные схемы A6) и A8), мы использовали во всех внутренних точках области однотипную разностную аппрок- аппроксимацию производных. Иными словами, при написании каждого разностного уравнения около некоторого узла сетки бралось одно и то же количество узлов, образующее строго определенную кон- конфигурацию. Эту конфигурацию узлов называют шаблоном данной разностной схемы (см. рис. 47). Узлы, в которых разностная схема записана на шаблоне, называются регулярными, а остальные узлы — нерегулярными. Не- Нерегулярными являются обычно граничные узлы, а иногда также лежащие вблизи границы узлы (такие, что взятый около этого узла шаблон выходит за границу области). Так, в примере из § 1, п. 4 нерегулярными были граничные узлы, и в них разно- разностная схема имела нестандартную форму A7). Составление разностной схемы начинается с выбора шаблона. Шаблон не всегда определяет разностную схему однозначно, но существенно влияет на ее свойства; например, далее мы увидим, что на шаблоне рис. 47, б нельзя составить хорошей схемы для задачи A5). Для каждого типа уравнений, и краевых задач тре-
§ 2] АППРОКСИМАЦИЯ 301 буется свой шаблон. В следующих главах сформулированы (на основе свойств решаемых уравнений) некоторые общие соображе- соображения, которые позволяют подбирать шаблоны, пригодные для пос- построения хороших разностных схем. Существуют разностные схемы, вообще не имеющие шаблона (пример такой схемы будет приведен в главе X). Но логическая структура таких схем сложна, что вызывает заметное увеличение объема программ и времени счета на ЭВМ. Поэтому такие схемы мало употребительны. 2. Явные и неявные схемы. Обсудим вопрос о фактическом вычислении разностного решения. Большая часть физических проблем приводит к уравнениям, содержащим время в качестве одной из переменных. Для таких уравнений ставится обычно сме- смешанная краевая задача, типичным случаем которой является A5). К подобным задачам применяют послойный алгоритм вычис- вычислений. Рассмотрим его на примере схем A8) и A6). В схеме A8) на исходном слое т = 0 решение известно в силу начального условия. Положим т = 0 в уравнениях A8). Тогда при каждом значений индекса п уравнение содержит только одно неизвестное^; отсюда можно определить t/? при l^n^N— 1. Значения yd и yh определяются из краевых условий A7). Таким образом, значения решения на первом слое вычислены. По ним аналогичным образом вычисляется решение на втором слое и т. д. Схема A8) в каждом уравнении содержит только одно значе- значение функции на следующем слое; это значение нетрудно явно выразить через известные значения функции на данном слое. Поэтому такие схемы называются явными. Схема A6) содержит в каждом уравнении несколько неизвест- неизвестных значений функции на новом слое; подобные схемы назы- называются неявными. Для фактического вычисления решения пере- перепишем схему A6) с учетом краевого условия A7) в следующей форме: На каждом слое схема A9) представляет собой систему линейных уравнений для определения величин */" + '; правые части этих уравнений известны, поскольку содержат значения решения с пре- предыдущего слоя. Матрица линейной системы трехдиагональна, и решение можно вычислить алгебраической прогонкой. Рассмотренный сейчас алгоритм достаточно типичен. Он ис- используется во многих неявных разностных схемах для одномер- одномерных и многомерных задач. Дальше мы будем вместо индекса вре- времени т часто применять сокращенные обозначения: и (х„, tm) = и„, и (х„, tm+1) — ип, и (х„, tm-d = un. B0)
302 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX В этих обозначениях разностная схема A8) примет вид -^ (Уп - Ы = р (Уп+i - 2Уп + Уп-i)¦ 3. Невязка. Рассмотрим операторное уравнение общего вида (не обязательно линейное): Au = f, яла Лм-/ = 0. B1) Заменяя оператор А разностным оператором Ah, правую часть / — некоторой сеточной функцией фА, а точное решение и — разностным решением у, запишем разностную схему: = 4>h, или Ллг/-срл = О. B2) Если подставить точное решение и в соотношение B2), то реше- решение, вообще говоря, не будет удовлетворять этому соотношению: Ahu — Фл=т^0. Величину г|) = фл-Лл« = (Л«-/)-(Лли-фл) B3) называют невязкой. Невязку обычно оценивают при помощи разложения в ряд Тейлора. Например, найдем невязку явной разностной схемы A8) для уравнения теплопроводности A5а). Запишем это уравнение в каноническом виде: Поскольку в данном случае / = Фл = 0, то /ди\ , (д*и\ 1 .* . , k , п , . = \ш L ~ k UsL - г («я -"») + «г ("«+1 - 2"« + "я-О- Разложим решение по формуле Тейлора около узла (хп, tm), предполагая существование непрерывных четвертых производных по х и вторых по t: л 1 (*», tm) + ±h*uxx(xn, tm)± B4) где tm<Bm<tm+1, xn-1<%n-1<xn<ln+1<xn+i- Подставляя эти разложения в выражение невязки и пренебрегая, в силу непре-
§ 2] АППРОКСИМАЦИЯ 303 рывности производных, отличием величин ?n±i> 8ОТ от хп, tm, найдем (x + h*). B5) ) ( + ) /я Таким образом, невязка B5) стремится к нулю при т->0 и /z-vO. Выражение B5) дает невязку только в регулярных узлах схемы A8). Сравнивая A7) и A56), легко получим невязку в нерегулярных узлах г|зс = г|)лг = О. Замечание 1. Решение задачи теплопроводности с постоян- постоянным коэффициентом A5) в области G = @<ix<.d) x@<^=^ Т) непрерывно дифференцируемо бесконечное число раз. Однако учет пятых и более высоких производных в разложениях B4) прибав- прибавляет к невязке B5) только члены более высокого порядка малости по т и h, т. е., по существу, не меняет вида невязки. Замечание 2. Пусть по каким-либо причинам решение исход- исходной задачи дифференцируемо небольшое число раз; например, в за- задачах с переменным коэффициентом теплопроводности, гладким, но не имеющим второй производной, решение имеет лишь третьи непрерывные производные. Тогда в разложении B4) последними будут члены ±№иххх<&пл11, tm)/6, не точно компенсирующие друг друга. Это приведет к появлению в невязке B5) члена типа huxxx= О {К), т. е. невязка будет иметь меньший порядок малости, чем для четырежды непрерывно дифференцируемых решений. Замечание 3. Преобразуем выражение невязки с учетом того, что входящая в него функция и (х, t) есть точное решение исходцого уравнения и для нее выполняются соотношения ии = щ (kuxx) = k ^ (ut) = k?uxxxx. Подставляя это выражение в B5), получим xxx)n. B6) Если выбрать шаги по пространству и времени так, чтобы т = = /i2/Fft), то главный член невязки обратится в нуль и останутся только члены более высокого порядка малости по т и h (которые мы опускали). Этот прием применяется при построении разностных схем повы- повышенной точности. 4. Методы составления схем. Есть три основных способа состав- составления разностных схем на заданном шаблоне: метод разностной аппроксимации, интегро-интерполяционный метод и метод неопре- неопределенных коэффициентов. Метод разностной аппроксимации заключается в том, что каждая производная, входящая в дифференциальное уравнение и краевые условия, заменяется каким-либо разностным
304 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX выражением (включающим только узлы шаблона). Именно так были составлены схемы A6) и A8). Этот метод очень прост и в допол- дополнительных пояснениях не нуждается. Метод разностной аппроксимации позволяет легко составить схему первого или второго порядка аппроксимации на прямоуголь- прямоугольной сетке для уравнений с непрерывными (и достаточно глад- гладкими) коэффициентами. Однако этот метод трудно или даже невоз- невозможно применять в более сложных случаях: для уравнений с раз- разрывными коэффициентами, на не прямоугольных сетк"ах, для уравнений высокого порядка на неравномерных сетках и т. д. Схемы повышенной точности в этом методе составляют, иссле- исследуя выражение невязки аналогично замечанию 3 в п. 3. И нтегр о-и нте р п о л яц ион ный метод, один из вари- вариантов которого называется методом баланса, наиболее надежен и применим во всех случаях. п^ п-~ Л п+у n+i В этом методе после выбора шаб- шабот+/ Л п+у I лона область G (r, t) разбивают на ячейки, определенным образом связанные с шаблоном. Диффе- Дифференциальное уравнение интегри- интегрируют по ячейке и по формулам Рис. 52. векторного анализа приводят к интегральной форме, соответствую- соответствующей физическому закону сохранения. Приближенно вычисляя полученные интегралы по каким-либо квадратурным формулам, составляют разностную схему. Например, для уравнения теплопроводности с переменным коэффициентом ut = (kux)x выберем шаблон, изображенный на рис. 52 (см. также рис. 47, а), и сопоставим ему ячейку, пока- показанную пунктиром. Обозначая средние точки интервалов сетки полуцелыми индексами, выполним интегрирование по ячейке: tm + l xn+l/2 0 = J dt \ dx[ut~(kux)x] = tm xn—\/2 xn + i/2 л *m+l = $ (U-U)dx— \ [(kux)n + 1/2 - {kUx)n _ l /2] (U. xn—l/2 hn Это соотношение является точным. В правой части приближенно вычислим первый интеграл по формуле средних, а второй —по формуле правых прямоугольников. Получим следующее выра- выражение: (Уя - Уп) (хп +1/2 — Хл -1/2) = т [(kyx)n +1 /2 - (kyx)n -1 /г]- Заменяя в правой части производные разностями и учитывая,
§ 2] АППРОКСИМАЦИЯ 305 что на равномерной сетке лгп +1/2 — xn-i/2 = h, получим разност- разностную схему ~ (Уп - Уп) = ^ ]k п + 1 /2 Qn±l -Уп) -к-\ /2 (Уп - Уп-1)] • B7) Если k = const, то схема совпадает с неявной схемой A6). Интегро-интерполяционный метод особенно полезен для урав- уравнений с негладкими или разрывными коэффициентами, поскольку именно интегральная запись законов сохранения выделяет из всех математически допустимых решений таких уравнений физически правильное обобщенное решение. Метод неопределенных «коэффициентов заключа- заключается в том, что в качестве разностной схемы берут линейную комбинацию значений разностного решения в узлах шаблона. Коэффициенты этой линейной комбинации определяют из усло- условия, чтобы невязка схемы имела как можно более высокий поря- порядок малости относительно х и h. Например, для уравнения щ — Ыхх на шаблоне рис. 52 будем искать разностную схему в следующем виде: Щп~\ + Р#л + УУп+i + бг/л = 0. B8) Подставим сюда разложения B4), ограничиваясь для простоты членами О (х) и О (/i2), и вычтем схему B8) из исходного уравнения. Получим невязку (индекс п всюду опускаем) о|з = щ — kuxx — (а + р + У + S) и + тб щ + Чтобы сократились выписанные здесь члены, надо положить Отсюда находим коэффициенты: ' Л2' " А2 ' т ' т ' Подставляя их в B8), получим разностную схему A6). Метод неопределенных коэффициентов применим на косоуголь- косоугольных сетках. Например, при его помощи нетрудно составить пяти- пятиточечную схему для уравнения ut = kuxx на треугольной сетке с шаблоном рис. 53: L(" I ' \ — (l J k\l J_ \W3 2k\ ^OQ\
306 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Возможны случаи, когда часть коэффициентов схемы типа B8) определяют из условия наивысшего порядка малости невязки, а часть коэффициентов выбирают из других соображений. Метод неопределенных коэффициентов (как и метод разност- разностной аппроксимации) применим к уравнениям с непрерывными и достаточное число раз дифференцируемыми коэффициентами и реше- решениями. Из-за сравнительной громоздкости он применяется реже двух ранее описанных методов. Краевые условия. Остановимся на записи разностной схемы в нерегулярных узлах (на границе или вблизи нее). В этих узлах для записи разностных уравнений необходимо привлекать краевые условия. Например, в разностных схемах A6) и A8) для уравнения теплопроводности щ = Ыхх нерегулярными являются граничные узлы п = 0, n — N. Для первой краевой задачи «@, 0 = М9. "(а. 9 = МО в этих узлах нетрудно написать раз- разностные уравнения A7): ГП х? i и У i Ъ П-1 Л 77+1 #0 = M*m). i/N = 1^2 (tm), Рис> которые являются точными (их невязка равна нулю). Более сложен случай второй краевой задачи для того же уравнения (дальше будем рассматривать только левое условие): МО, 0 = М0. Ма,9 = М9- C0) Можно аппроксимировать производную односторонней разностью: x(#i-#o) = M^h-i)- C1) Однако невязка этого разностного уравнения равна % = (йхH - ^ (Ъ ~ йо) = - \ ихх = О (А), C2) т. е. имеет меньший порядок малости, чем невязка B5) в регу- регулярных узлах. Это приводит к понижению общей точности рас- расчета. Рассмотрим способы написания разностного краевого условия нормальной точности 0{h2). Сделаем это на примере явной схемы {18). Способ фиктивных точек очень нагляден. Введем вне отрезка 0 =g: x =sg; а фиктивную точку X-i = х0 — h и будем считать исходное уравнение справедливым при Х-Х^х, Тогда разностное
АППРОКСИМАЦИЯ 307 уравнение A8) можно написать при д = 0: Y (&> - Уо) = Д2 (У л - 2Уо + Уд- Заменим в левом краевом условии C0) производную симметрич- симметричной разностью: (fty) M') Исключая из последних двух уравнений фиктивную точку, полу- получим разностный аналог краевого условия: ¦ь(У1-Уо) = \ъ(*яд+-2я(Уо-Уо)- C3) Заметим, что это уравнение содержит только одно значение с нового слоя у0, т. е. оно явное. Метод уменьшения невязки менее нагляден, но более универсален. Выразим и (xlf t) при помощи формулы Тейлора: и{хи f) = u{x0, t)+hux(x0, t)+~h2uxx + ... На основании краевого условия C0) положим их(х0, t) = [i1(t), а из уравнения теплопроводности A5а) найдем uxx = ut/k. Под- Подставляя эти величины в формулу Тейлора, получим и(хи 9 = и(*о, t) + h[i1(t) + ^ut + ... Заменяя здесь щ^(уй — у0Iх, снова придем к краевому усло- условию C3). В последнем способе можно учесть большее число членов ряда Тейлора и получить краевые условия не только нормальной, но и повышенной точности. 5. Аппроксимация и ее порядок. Пусть имеется область G переменных х = {хи ..., хр} с границей Г и поставлена корректная задача для некоторого уравнения с граничными условиями: Au(x)-f(x) = 0, *<=G, C4a) R и (х) - ц (х) = 0, л;<=Г. C46) Введем в области G + Г сетку с шагом h, состоящую из мно- множества внутренних (регулярных) узлов соЛ и множества гранич- граничных (нерегулярных) узлов yh. Заменим задачу C4) в регуляр- регулярных узлах разностным аналогом уравнения C4а): -фл(*)=О, л;<=сол, C5а)
308 уравнения в частных производных [гл. ix а в нерегулярных узлах — разностным аналогом краевых усло- условий C46): (индексом h отмечены величины, определенные только на сетке; мы будем опускать его там, где это не вызовет недоразумений). Близость разностной схемы C5) к исходной задаче C4) будем определять по величине невязки: vh (х) = (Ru - и) - {Rhu - Ха), х е ya- Определение. Разностная схема C5) аппроксимирует за- задачу C4), если II Ч> ||п-> 0, || v \\и -> 0 при h -> 0; C6) аппроксимация имеет р-й порядок, если || ф цфд = О (Ар), || v \\Xh = О (Л") при h -> 0. C7) Обсудим вопрос о выборе норм в этом определении. Функции и(х), f(x), ц,(;с) определены обычно на отрезке а ^ х sg b или во всех точках некоторой области пространства большего числа измерений. Для них можно ввести такие нормы, как чебышевская (локальная): ||и(*)Пс= max |и(*)|, C8а) или гильбертова (среднеквадратичная): г» -11/2 II" Wilt. =Кр (*)«»(*)<** - PW>O C86) (выражения написаны для одномерного случая). Часто исполь- используют связанные с оператором А энергетические нормы, напоми- напоминающие формулы для полной энергии колебательной системы, например: (Ь \ 1/2 II" (х)II = {\ [Pi (х) ul (x) + Ро (х) и* (х)] dx\ , C8в) Pl (х) > 0, р0 (х) > 0. Употребляются и другие нормы. Напомним (см. главу I), что из локальной близости функций следует их среднеквадратичная близость; поэтому ||»|1с называют более сильной, чем ||'||^ Нетрудно проверить, что энергетическая норма C8в) сильней || • ||с< Выбор той или иной нормы в конкретной задаче определяется двумя соображениями. Желательно, чтобы разностное решение у
§ 2J АППРОКСИМАЦИЯ ^09 было близко к точному решению в возможно более сильной норме; например, в задачах на разрушение конструкций малость деформаций в || ¦ \\l2 не гарантирует сохранения конструкции, а малость в || ¦ |]с — гарантирует. С другой стороны, чем слабее || ¦ ||„, тем легче построить сходящуюся в этой норме разностную схему и исследовать ее. Заметим, что функции и(х), f(x), \i(x) принадлежат, вообще говоря, разным классам. Например, если и (х) есть четырежды дифференцируемая функция и А = ((Р/с1х2), то f (х) является дважды дифференцируемой функцией. Поэтому каждую из этих функций можно оценивать в своей норме: ||-||«, II-II/. II • Нц,- Функции yh, фЛ, ih определены только на сетке, поэтому-для них надо ввести сеточные нормы \\-\\У/1, II - ПФ/г, 1Н1%Л- Их вводят так, чтобы при /г->0 они переходили в выбранные 11 - Ни* 11-11/. || ¦ Цц. За разностные аналоги чебышевской и гильбертовой норм можно принять соответственно / N \ 1/2 \\у\\е= max \уя\, \\у\\1г=[У\рпУУгп) . C9) О < п < N \i^\ I В выборе разностных аналогов норм существует некоторый произвол. Например, сумму в C9) можно брать по я = 0, 1, ..., N — 1, что соответст- соответствует выбору другой квадратурной формулы для интеграла C86). Этим поль- пользуются, определяя сеточные нормы так, чтобы облегчить доказательство схо- сходимости. Как надо понимать А-> 0? Для равномерной сетки это не требует пояс- пояснений. На неравномерных сетках рассматривают совокупность шагов hn как некоторую сеточную функцию и вводят какую-либо норму шага, например: in—\ \i/2 А=||Ая||с = тахАя или А=||Ал||,2= 21 Щ - п V» = о / Эту норму считают «величиной шага» в определениях аппроксимации, порядка аппроксимации и т. д. Если невязку оценивают в || • ||с, то аппроксимацию называют локальной. Для уравнений с достаточно гладкими решениями наличие локальной аппроксимации и ее порядок легко прове- проверяются; в таких задачах нередко ограничиваются установлением локальной аппроксимации. Однако наиболее сильные результаты по сходимости разностных схем связаны с использованием более слабых норм для невязки (но сильных норм для решения). Замечание 1. Факт наличия или отсутствия аппроксима- аппроксимации и порядок аппроксимации зависят не только от операторов А и Ан*), но также от классов, к которым принадлежат и(х), f(x), и от выбора норм. Чем сильнее норма или чем шире классы функций, тем ниже, вообще говоря, порядок аппроксимации *) Операторы краевых условий для краткости обычно будем опускать.
310 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX (последнее видно по замечанию 2 к п. 3, если оценивать невязку в ||-||f). Замечание 2. Как правило, решение и(х) исходной за- задачи C4) неизвестно, так что использовать его для получения невязки затруднительно. В этом случае берут достаточно широ- широкий класс V функций v(x), которому и{х) заведомо принадлежит (обычКо это класс функций, непрерывных вместе с достаточным числом своих производных). Если на всех функциях класса V имеется аппроксимация порядка р: \\Av(x)-Ahv{x) + <t>h{x)-f(x)\\9fl = 0(hP) при ft-*0, то, очевидно, аппроксимация на решении и (х) имеет порядок не ниже р. В подобных случаях аппроксимация на решении и (х) может иметь порядок выше р. В замечании 3 к п. 3 мы видели, что для уравнения щ = Ыхх явная разностная схема A8) при т = = h2/Fk) имеет в классе сколь угодно гладких функций v (x) аппроксимацию O(h2), а на решений — более высокого порядка (четвертого, как нетрудно проверить). Случай многих переменных имеет некоторые осо- особенности. Определение аппроксимации остается в основном преж- прежним; надо только требовать стремления к нулю шагов по всем переменным. Порядок аппроксимации может быть разный по разным переменным. Например, для двух переменных соотно- соотношение при т + 0, /i->0 D0) означает р-й порядок по времени и q-н по пространству. Это хорошо видно на примере схемы A8) с невязкой B5). Аппроксимация вида D0), погрешность которой стремится к нулю при любом законе стремления шагов к нулю, называется безусловной или абсолютной. Если же погрешность аппроксима- аппроксимации стремится к нулю при одних законах убывания шагов и не стремится при других, то аппроксимацию называют условной. Например, если при т-*-0, h-yO, D1) то аппроксимация условная: кроме т->0, /z->0, надо дополни- дополнительно требовать, чтобы (xrjhs) -*¦ 0. Если аппроксимация условная, то разностный оператор А^ при разных законах изменения т (Л) может аппроксимировать разные дифференциальные операторы. Например, можно проверить, что 1 (Л * * _ \У И s fit "I с\ f. \&ft-?l '' У Я—1/ ' _. \{//14-1 У ft I i/л—1/ \ i Т Z/J Т
§ 3] УСТОЙЧИВОСТЬ 311 при x — ch аппроксимирует оператор л-А + А dt + дх • а при т = с/г2 —оператор Поэтому, если нет специальных соображений, лучше пользоваться разностными схемами с безусловной аппроксимацией. § 3. Устойчивость 1. Неустойчивость. Для некоторых разностных уравнений малые ошибки, допущенные на каком-либо этапе вычисления решения, при дальнейших выкладках сильно возрастают и делают невозможным получение сколько-нибудь пригодного результата. При численном дифференцировании и суммировании рядов Фурье мы встречались с некорректными задачами, где бесконечно малая ошибка входных данных может привести к большой ошибке решения. Теперь рассмотрим пример неустойчивой разностной схемы решения задачи Коши для уравнения и' (х) =аи (х). Выбе- Выберем следующую схему: j (Уп п~Уп) + —~?- (Уп - Уп-д = Щп • D3) При (Т=1 она переходит в схему ломаных (8.15), устойчивость которой была доказана. Рассмотрим случай аф\. Для простоты отбросим ошибку аппроксимации и исследуем только рост ошибки начальных данных. Тогда ошибка дуп будет удовлетворять тому же уравнению D3), ибо оно линейное одно- однородное. Удобно исследовать рост ошибки специального вида byn = ztl. Подставляя ее в D3), получим аг2 + A — 2а — сс/г) z — A — а) = 0. D4) Если h<^\, то корни этого квадратного уравнения равны zx = = 1 + 0 (A), z2 = 1 - (I/a) + 0(h). Тогда при а< х/2 будет | z21 > 1, т. е. ошибка такого вида, возрастает за шаг в несколько раз. Значит, by{x) = z* = z<?—x°)lh неограниченно возрастает при h-yO, и счет неустойчив. Если учесть еще ошибку аппроксимации, то получим типич- типичные графики зависимости погрешности решения от шага, приве- приведенные на рис. 54. Сплошная линия соответствует устойчивой схеме, штрихи— неустойчивой. При уменьшении шага ошибка сначала для всех схем убывает, потому что уменьшается погреш- погрешность аппроксимации. Для устойчивых схем при /i->0 ошибка стремится к конечной величине, связанной с ошибкой начальных данных. Если сама ошибка начальных данных исчезает при /i->-0,
312 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX то мы получим график, изображенный пунктиром; т. е. устойчи- устойчивые схемы позволяют получить сколь угодно высокую точность (если отсутствуют ошибки округления). Если же схема неустойчива, то при малых шагах погреш- погрешность начальных или любых других данных сильно возрастает в ходе расчета и при А-»-0 ошибка стремится к бесконечности. Значит, график ошибки имеет ненулевой минимум, и мы в принципе не можем получить сколь угодно высокую точность приближенного' решения. Правда, для неустойчивых схем есть некоторый оптимальный шаг, дающий наилучшую точность (это напоминает сходимость асимптотических рядов). Но эта наилучшая точность обычно настоль- Рис 54. ко плоха, что считать по неустойчивым схемам практически невозможно. Теоретически счет по неустойчивым схемам возможен, если начальные данные таковы, что погрешность их задания при /i-»-0 убывает быстрее, чем нарастает неустойчивость. Но класс начальных данных, удовлетворяющих этому условию, обычно крайне узок и не охватывает даже малой части инте- интересных случаев. Как правило, погрешности входных данных и аппроксимации убывают при /i->0 по степенному закону, а величина 2^"~а^'''1 возрастает много быстрей. Отметим, что на устойчивость могут сильно влиять способы аппроксимации не только старших производных уравнения, но и младших производных и особенно краевых условий. 2. Основные понятия. Разностная схема C5) устойчива, если решение системы разностных уравнений непре- непрерывно зависит от входных данных <р, % и эта зависимость равно- равномерна относительно шага сетки. Иными словами, для каждого е>0 найдется такое б(е), не зависящее от шага h (по крайней мере, для достаточно малых /г), что если Иф'-ф'ЧЦ^б, lbcT-XnllxA<8. D5) Если разностная схема C5) линейна, то разностное решение линейно зависит от входных данных. В этом случае 6(е) = Ле, где К — константа, не зависящая от h. Поэтому для линейных схем определение устойчивости D5) принимает следующий вид: W - yl%h < mw - <p"lk+MJlx1 - xnllXft, D6)
§ 3] УСТОЙЧИВОСТЬ 313 где М, М1 — константы, не зависящие от п. Напомним, что в D5) и D6) вариации решения и входных данных рассматриваются каждая в своей норме. Дальше мы встретимся с примерами разностных схем, устой- устойчивых при одном выборе норм и неустойчивых — при другом. Если независимых переменных несколько, то вводят понятия условной и безусловной устойчивости., Устойчивость называется безусловной, если D5) или D6) выполняется при произвольном соотношении шагов по различным переменным, лишь бы они были достаточно малы. Если для выполнения D5) или D6) шаги по разным переменным должны удовлетворять дополнительным соотношениям, то устойчивость называется условной. Например, дальше будет доказано, что явная схема A8) для уравнения теплопроводности устойчива только при %^h?/2k. Непрерывную зависимость разностного решения от ф назы- называют устойчивостью по правой части, а непрерывную зависимость от % — устойчивостью по граничным условиям. Устойчивость по граничному условию на гиперплоскости t = t0 называют устойчи- устойчивостью по начальным данным. Все простейшие типы уравнений, кроме эллиптического, в качестве одной из переменных содержат время. Для таких уравнений обычно ставится эволюционная задача — смешанная задача Коши. Даже эллиптические уравнения нередко численно решаются посредством счета на установление, т. е. при помощи постановки вспомогательной задачи Коши. Поэтому исследованию устойчивости эволюционных задач мы уделим особое внимание. Рассмотрим разностные схемы, содержащие только один известный и один новый слой, как A6) или A8). Такие схемы называют двуслойными. Их можно составить для любого уравне- уравнения. В самом деле, дифференциальное уравнение любого порядка по времени можно свести к системе уравнений первого порядка по времени, а для аппроксимации первой производной по вре- времени достаточно двух слоев. Для двуслойных схем решение смешанной задачи Коши на некотором слое t* можно рассматривать как начальные данные для всех последующих слоев. Двуслойная разностная схема называется равномерно устой- устойчивой по начальным данным, если при постановке начальных данных на любом слое t* (t0 «с t* < T) она по ним устойчива, причем устойчивость равномерна по t*. Запишем условие равно- равномерной устойчивости, ограничиваясь случаем линейных схем: t*)-yu(t*)\\, to^t*<t<T, D7) где константа К не зависит от t* и h; здесь у1, уп — решения разностной схемы ЛЛг/ = ф с разными начальными данными и одной и той же правой частью.
314 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Очевидно, из равномерной устойчивости по начальным дан- данным следует обычная устойчивость по начальным данным (но не наоборот). Признак равномерной устойчивости. Если Ahyl = = Ahyn, то для равномерной устойчивости по начальным данным достаточно, чтобы при всех т выполнялось {l + Cx)\\yi-y"\\, x = tm+1-tm, C^O. D8) Доказательство. Условие D8) означает, что если на некотором слое имеется ошибка Ьу, то при переходе на следую- следующий слой \\6y\\ возрастает не более чем в A + Сх) =^ ес% раз. Для перехода от t* к t надо сделать m = {t — t*)/x шагов по времени; при этом ошибка возрастет не более чем в еСтх — ес <'-'*)<; <-ес (г - ад раз_ Отсюда следует: \\by{t)\\^K\\by{t*)\\, К = еС<г-«, D9) что и требовалось доказать. Признак D8) мы будем часто использовать при доказатель- доказательстве устойчивости конкретных схем. Из D9) видно, что если константа С велика, то, хотя схема формально устойчива, фактическая ошибка можег сильно возрастать в ходе расчета; в этом случае схема является слабо устойчивой. Очевидно, чем больше промежуток времени T — t0, иа котором ищется решение, тем меньшая величина С обеспе- обеспечивает хорошую устойчивость расчета. При Т-э-со схема будет устойчивой, только если С = 0. Если точное решение задачи сильно возрастает или убывает с течением времени, то более интересна не абсолютная ошибка, а относительная l|oy (Oll/!ly (Oil- Можно классифицировать устойчивость по нарастанию относи- относительной ошибки. Пусть, например, и (х, t) ~ exp {C^t). Тогда разностную схему, удовлетворяющую признаку D8), будем называть слабо устойчивой при ехр [(С — Со) (Т — ^о)] ^ 1, хорошо устойчивой —в обратном случае и асимпто- асимптотически устойчивой при Т~>оо, если С^С$. Для многослойных схем определение и признаки равномерной устойчивости по начальным данным имеют более сложный вид; мы не будем их рассматривать. Теорема. Пусть двуслойная разностная схема Ahy—y рав- равномерно устойчива по начальным данным и такова, что если два разностных решения Ahyk — (pk равны на некотором слое, yl=yn, то на следующем слое выполняется соотношение !|?1-?Ц|Кат||ф'-ф11||, а = const. E0) Тогда разностная схема устойчива по правой части. Доказательство. Наряду с решением у рассмотрим реше- решение у, соответствующее возмущенной правой части Ану — ф; поскольку исследуется устойчивость только по правой части, то можно считать, что у {to) = у {t0)-
§ 31 УСТОЙЧИВОСТЬ 315 Введем последовательность сеточных функций wm(f), опреде- определенных при t^tm-t следующими условиями: aw (tm) = wm (tm), m = 1, 2, .... Ф при tm^^ E1) Ф при *mssS*. Эти функции определены так, что wm(t) = y(t) при tm^ ==? г! ==? tm. Заметим, что в тех же обозначениях можно записать wo(t) = y(t). Сравним функции wm(t) и wm+1(t). На слое tm они совпадают по определению. Тогда из E0) и E1) следует, что ф - ф ||. При t^tm+1 эти функции удовлетворяют разностной схеме с одной и той же правой частью ф, но с разными начальными данными на слое /т+1. Поэтому в силу определения D7) на по- последнем слое tM будут выполняться неравенства II wm+i (tM) - wm (tM) || ==s К И wm+1 (tmJrl) - wm (tm+1) \\ ^c ax К II ф - Ф ||. Отсюда при помощи неравенства треугольника получим м — 1 т 0 < ахМК II ф - ф II = a (tM - g К \\ Ф - ф II, т. е. имеет место устойчивость по правой части, что и требова- требовалось доказать. Следствие. Если неравенства D8) и E0) выполнены, то разностная схема устойчива и по начальным данным, и по пра- правой части. Замечание. Теорема была доказана для конечного про- промежутка времени. В бесконечной по t области, если выполнено условие E0), можно доказать следующие достаточные признаки устойчивости по правой части: а) Если при переходе со слоя на слой ошибка начальных данных не возрастает (Csg;0), то схема устойчива по возмуще- возмущениям правой части с конечным суммарным импульсом t)\dxdt<s. б) Если при переходе со слоя на слой ошибка начальных данных убывает как A — Сх), С>0, то схема устойчива по отношению к постоянно действующим возмущениям | бф (х, t) \ <С е. 3. Принцип максимума. Есть несколько способов исследова- исследования устойчивости разностных схем: принцип максимума, метод
316 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX разделения переменных, метод операторных неравенств и некото- некоторые другие. Сейчас мы рассмотрим принцип максимума, который применяют к уравнениям переноса, а также к параболическим и эллиптическим уравнениям. Он позволяет доказывать устойчи- устойчивость в || • ||с. Сформулируем признак устойчивости явных и неявных дву- двуслойных линейных разностных схем. Запишем двуслойную схему в следующем виде: E2) где суммирование на каждом слое производится по узлам шаб- шаблона около я-го узла. Коэффициенты ak перенумеруем так, чтобы а01 = тах |а& |. Тогда: а) схема равномерно устойчива по начальным данным, если Ст)|а„ = const. E3) б) схема устойчива по правой части, если выполнено E3) и ak У. Т х = const > 0. E4) кфй Доказательство, а) Фиксируем правую часть E2) и внесем ошибку 8у на исходном слое. Тогда ошибка 6z/ на новом- слое удовлетворяет уравнению k I Отсюда для любого узла п следует неравенство I &Уп Применим это неравенство к узлу п, в котором | Ьуп \ достигает своего максимума; при этом в правой части заменим 18yn+k | и | byn±i | их максимальными значениями, что только усилит нера- неравенство. Тогда получим ]ао|тах \ max \6уп Ьуп\ или ОСп —
§ 3] УСТОЙЧИВОСТЬ 317 Но в силу неравенства E3) 21Р,|<A+Ст)|а„|-2] |а*КA+Ст)(|ао|-2] l«*lV Поэтому т. е. выполнен признак D8). Первое утверждение доказано. б) Зафиксируем в E2) решение на исходном слое и внесем погрешность в правую часть. Тогда погрешность решения на новом слое удовлетворяет уравнению Отсюда следует неравенство кфО Аналогично предыдущему, выберем узел п и заменим справа все величины их максимумами. Легко получим, что Отсюда с учетом E4) следует, что - т. е. выполнено условие E0). Второе утверждение доказано. Замечание 1. Доказательство непосредственно применимо к схемам с переменными (зависящими от х, t) коэффициентами. Его можно обобщить на некоторые квазилинейные схемы, в кото- которых коэффициенты зависят от у. Замечание 2. Краевые условия двуслойных линейных схем также имеют форму E2). Поэтому данный признак позво- позволяет устанавливать устойчивость по краевым условиям. Замечание 3. Принцип максимума дает достаточное усло- условие устойчивости; невыполнение критериев E3) и E4) еще не означает неустойчивости схемы. Изложенным методом обычно удается доказать устойчивость только схем точности О (т), да и то не всех; для обоснования устойчивости схем более высокого порядка точности по т при- применяют другие методы. Пример. Рассмотрим нестационарную краевую задачу для уравнения теплопроводности с постоянным коэффициентом A5): ut = kuxx + f, и@, 0 = М0» и(а, t) = n2(t).
318 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Запишем для нее неявную схему A6) —A7) на равномерной сетке: 1 k () (Р2^ Переписывая эту схему в форме E2), получим ао = -7 + Ж' а-1=а1 = Ж' Р0==Т при l*^n<:N-l; «о = 1» Ро = О ПРИ п — 0 и n = N; остальные коэффициенты равны нулю. Видно, что при любых соотношениях шагов по t и х условие E4) выполнено в регу- регулярных узлах, а условие E3) — во всех узлах сетки. Следова- Следовательно, схема безусловно устойчива по начальным данным, пра- правой части И краевым условиям. Для' эллиптических уравнений- обычно дается другая формулировка прин- принципа максимума. Кроме того, для нестационарных задач имеется ряд моди- модификаций принципа максимума: метод роста единичной ошибки, метод индекса разностной схемы и т. д. Мы их рассматривать не будем. 4. Метод разделения переменных. Этот метод применяется для строгого обоснования многих линейных схем и нестрогого, но плодотворного исследования большинства нелинейных задач, возникающих в практике вычислений. При его помощи устанав- устанавливается устойчивость в || ¦ \\i2. Рассмотрим применение метода к линейным двуслойным схе- схемам, записанным в канонической форме: л В^- + Ау = ц>, E5) где В, А — некоторые разностные операторы, действующие на у (или у) как функцию пространственной переменной. Напри- Например, для явной схемы A8) имеем В = Е, Ауя = ~~ (уп+1 - 2уп + уп^). При фиксированной правой части погрешность решения удов- удовлетворяет однородному уравнению Вду = (В- хА) Ьу. E6) Будем искать для этого уравнения частное решение с разделя- разделяющимися переменными Ьу (хя, tm) = рУ\ q = 0, ± 1, ± 2, ... E7) При этом 6г/ = рд Ьу, так что р? есть множитель роста q-н гар- гармоники при переходе со слоя на слой. Подставляя E7) в E6),
§ 3] УСТОЙЧИВОСТЬ 319 получим уравнение для определения pq: РдВе'о* = (В — хА) е^х. E8) Будем считать, что схема E5) имеет постоянные коэффициенты и задана на равномерной сетке. Тогда уравнение E8) после сокращения множителя exp (iqx) не будет зависеть от коорди- координаты х (или ее индекса п). Следовательно, величина рд не будет зависеть от х или t. Признак устойчивости. Схема E5) с постоянными коэффициентами устойчива по начальным данным, если для всец q выполняется неравенство. С = const. E9) Доказательство. Система функций eiqx (О ==?q ==?N — 1) полна и ортогональна на равномерной сетке {хп, O^ns^N}. Разложим произвольную ошибку начальных данных 8у(х, tQ) в ряд Фурье по этой системе (см. гл. II, § 2, п. 4): &у(хя, д= 2 ageiqxn. ,7 = 0 Поскольку для линейного уравнения E5) справедлив принцип суперпозиции, то метод разделения переменных дает для ошибки на слое tm следующее выражение: Ьу (хп, tm) = 2 l Используя ортогональность гармоник, получаем отсюда V N-l < max | pq Г N ^ | ag\* - max | p, p« || by (t0) Щ. Я q = 0 Я При помощи условия E9) преобразуем это неравенство к виду что совпадает с признаком D8). Утверждение доказано. Замечание 1. Из признака устойчивости E9) и дополни- дополнительного условия E4) следует устойчивость схемы по правой части в ||-||/е. Замечание 2. Фактически константа С в E9) не должна быть большой, иначе устойчивость будет слабой (см. п. 2). Поэтому при проверке этого признака обычно полагают С — 0.
320 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Признак неустойчивости. Если хотя бы для одного q величину \ pq | нельзя мажорировать величиной 1 -\-Сх, то схема E5) неустойчиза. Доказательство. Пусть в начальных данных имеется ошибка вида eeigx с данным q. Тогда к моменту t — mx она воз- возрастет в р'" раз, что по модулю больше величины A + Ст)т = = (\-\-Cx)tlx>Ct при сколь угодно большом С. Неограниченный рост ошибки означает неустойчивость схемы. Пример. Исследуем устойчивость явной схемы A8) для уравнения теплопроводности. Для этой схемы уравнение E8) принимает вид (рд _ 1) е<ч*п = *1 (е{ч (хп + h) _ 2elqx* + elq (xn ~ ")). Отсюда вытекает, что множитель роста , Akx . 2 ah Тогда условие E9) с учетом замечания 2 приобретает вид —lssSpysgl. Это неравенство выполняется для любого ц, только если <1, или т<-^-. F0) Таким образом, явная схема A8) условно устойчива. Метод разделения переменных применим к многослойным линейным схемам с постоянными коэффициентами, в частности к схемам, аппроксимирующим задачи для дифференциальных уравнений второго порядка по времени (соответствующие при- примеры будут рассмотрены в главе XIII). Сейчас остановимся на двух нестрогих обобщениях этого метода. Замораживание коэффициентов. Если линейное дифференциальное уравнение имеет переменные коэффициенты или используется неравномерная сетка, то задача сводится к ли- линейной разностной схеме с переменными коэффициентами. В этом случае уравнение E8) содержит' неустранимую зависимость от п. Следовательно, множитель роста р? также зависит от л и его нельзя считать постоянным для данной гармоники. «Заморозим» коэффициенты схемы, т. е. возьмем в качестве постоянных коэффициентов значения коэффициентов схемы в не- некотором узле п, и найдем рд из E8). Будем считать разностную схему устойчивой, если при любых q и п выполняется признак E9). Этот способ оказался очень эффективным приемом исследова- исследования устойчивости схем. В настоящее время он обоснован для многих классов параболических и эллиптических уравнений с гладкими коэффициентами (в ряде случаев достаточно непре-
§ 3J УСТОЙЧИВОСТЬ 321 рывности коэффициентов) и для некоторых узких классов гипер- гиперболических уравнений. В практике вычислений для любых урав- уравнений с гладкими коэффициентами и решениями критерии устой- устойчивости, полученные этим способом, хорошо согласуются с ре- результатами численных расчетов. Однако способ «замороженных» коэффициентов применим не всегда. Для ряда задач с разрывными, недифференцируемыми и даже кусочно-гладкими коэффициентами построены примеры*), в которых использование этого способа приводит к ошибочным заключениям. Линеаризация. Сложные задачи математической физики приводят к нелинейным разностным схемам у)^ц>, F1) где Вг, В2 — нелинейные операторы, действующие на у иг/ как на функции пространственной переменной. Нарастание ошибок (пока эти ошибки малы) описывается линеаризованным урав- уравнением Ё^A + ^^-8У = 8ц,. F2) 6у ьУ + 8У 8ц,. ду 6у Обычно Buy являются А/-мерными векторами; тогда дВ/бу является матрицей производных (дВ^дуи). Устойчивость уравне- уравнения F2), линейного относительно ошибок, можно исследовать способом «замороженных» коэффициентов. Уравнение для множи- множителя роста q-n гармоники принимает вид "=°- F3) Способ линеаризации при исследовании многих сложных раз- разностных схем (например, схем, возникающих в задачах газоди- газодинамики) дает критерии устойчивости, хорошо подтверждаемые практикой численных расчетов. Однако он не является строго обоснованным и в некоторых случаях может привести к невер- неверным результатам. Метод разделения переменных можно строго обббщить на многие классы линейных схем с переменными коэффициентами (на неравномерных сетках), а также применять его для доказательства устойчивости по краевым условиям. Для этого надо вместо гармоник exp (iqx) использовать систему yq (x) собст- собственных функций разностной задачи и соответствующие собственные значения р?. Однако точно найти спектр раз- разностной схемы удается лишь в сравнительно простых случаях, так что иссле- исследовать этим методом устойчивость схем для сложных задач математической физики удается не часто. *) См., например, [33], стр. 383.
322 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX 5. Метод энергетических неравенств. Метод основан на ис- использовании энергетических норм, порождаемых самими разност- разностными операторами. При его помощи доказана устойчивость и даны априорные оценки точности многих разностных схем с перемен- переменными коэффициентами, некоторых квазилинейных схем и т. д. Рассмотрим идею метода *) на примере стационарной (не со- содержащей времени) разностной схемы где разностный оператор Л—линейный, самосопряженный и положительный. В этом случае существует обратный оператор Л*1, который тоже является линейным, самосопряженным и положи- положительным. При помощи положительного оператора можно ввести норму \\У\\\ = (Ау,у)>0 при уф 0, F4) где ( , ) — скалярное произведение на сетке; аналогично стро- строится норма || • ||д-1, называемая негативной. Проделаем цепочку преобразований: || у \\% = (Ау, у) = (Ф, А \) = (Л-!ф, ф) = || ф Ий- Отсюда вытекает соотношение || у\\л = II ц>\\а-», которое означает устойчивость по правой части. Пусть, например, оператор A=Ah является второй разностью, т. е. аналогом —d2ldx2, а и(х) и ее производные достаточно быстро убывают при | л: ] —*- оо. Тогда непрерывный аналог нормы F4) есть (сеточное выражение не так наглядно, и мы его не при- приводим) ) f как отмечалось в п. 2, эта норма сильней, чем |] • ||с. Оператор А1 в этом случае является двойной суммой — аналогом двойного интеграла, и порожденная им норма равна + оо х | -foo ix ,2 11ф11*-.= \ 4>(x)dx j d\ J Ф(Т1)Л1= J dxl — OO —DO—DO —OO \— Это слабая норма. Из приведенных рассуждений видно, что метод энергетических неравенств для ряда задач позволяет доказывать устойчивость при использовании сильных норм для решения у и слабых норм для правой части ф**). *) Подробное изложение метода см. в [30, 33]. **) В подобных случаях нередко удается доказать сходимость схем с более высоким порядком точности, чем при использовании других методов.
§ з] устойчивость 323 Для конкретной реализации этого метода надо проверить, обладает ли оператор А требуемыми свойствами, определить ска- скалярное произведение на сетке, построить сеточный оператор А~г и проверить аппроксимацию в ||-|1л->- Все эти действия связаны обычно с громоздкими вычислениями. 6. Операторные неравенства. Общая теория устойчивости раз- разностных схем, основанная на установлении неравенств между разностными операторами, образующими схему, построена А. А. Самарским (см. [30, 33]). Она позволяет для многих клас- классов линейных схем получить необходимые и достаточные условия устойчивости и априорные оценки точности. Рассмотрим одно из таких условий устойчивости. Напомним некоторые свойства операторов, отображающих гильбертово пространство Н в себя *). Оператор А называется неотрицательным (А^О), если (Ах, х)^0 для любого ненуле- ненулевого хеЯ, называется положительным (Л>0) при (Ах, ж)>0 и положительно определенным при (Ах, х)^г(х, х), е>0. Нера- Неравенство А^В понимается в. том смысле, что А—В^О. Оператор А называют самосопряженным, если (Ах, у) = (х, Ау) для любых х, у^Н. Квадратным корнем из самосопряженного неотрицательного оператора А называют такой оператор В, что В-В = А; его обозначают Л1/2, он существует и является само- самосопряженным и неотрицательным. Исследуем устойчивость двуслойной линейной разностной схемы, записанной в канонической форме: у. F5) Теорема. Если операторы А и В самосопряженные, не зави- зависят от номера слоя т, и выполняется условие В^-|Л>0, F6) то схема F5) устойчива по начальным данным в энергетической норме H-IU: \\§\\а^\\у\\а- F7) Доказательство. Для исследования устойчивости по начальным данным достаточно рассмотреть однородное уравнение F5). Полагая ф = 0 и умножая F5) слева на АхпВ~х, получим *) Более подробно о свойствах операторов см., например, в [20].
324 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Полагая г\ = А1/2у и замечая, что Ау = А^2и\, преобразуем это урав- уравнение в явную разностную схему: где Е — единичный оператор; оператор S является самосопря- самосопряженным. Перепишем неравенство F6) в следующем виде: о<я-1<^/1- Умножая его слева и справа на положительный оператор Л1/2, получим Вычитая это неравенство из Е, получим — Е < Е - хА WB-W Ч* = S < Е. Это означает, что 1ЛI = (л, л) = (Sti, 5л) < (л, Л) = || л ||?,. F8) Норма II ¦ ||/2 просто связана с энергетической нормой: II Л !!!• = (Л, Л) = (А 1/2У, А ^у) = (Ау, у) = \\у \&. F9) Из F8) и F9) следует F7), что и требовалось доказать. Замечание. При доказательстве не требовалось постоянства коэффициентов схемы F5). Тем самым, признак устойчивости F6) справедлив для разностных схем с переменными коэффициентами. В этом параграфе излагалась техника исследования устойчи- устойчивости уже составленной схемы. А как надо составлять схему, чтобы она была устойчивой? Некоторые математические способы построения устойчивых схем были предложены А. А. Самарским в [30}. Высказывались идеи о рассмотрении разностных схем как некорректных задач с дискретными переменными и регуляризации их по А. Н. Тихонову. Для ряда конкретных задач на основании физических анало- аналогий (скорости распространения возмущений) можно предсказать, будет ли схема устойчива и как ее надо составить, чтобы она была устойчива. В следующих главах будет приведено много таких примеров. § 4. Сходимость 1. Основная теорема. В этом параграфе мы рассмотрим задачу, для дифференциального уравнения с граничными условиями
§ 4] сходимость 325 которая на сетке, состоящей из множества регулярных узлов щ и множества нерегулярных узлов yh, аппроксимирована разност- разностной схемой Ahy{x) = <p(x), х?ЕсоЛ, Rhy(x) = x(x), xey4. G1) В конечном итоге нас будет интересовать близость разностного решения у(х) к точному решению и (х)\ поскольку у{х) опреде- определено только на сетке юЛ + Тл. то сравнивать эти решения надо в сеточной норме. Определение. Разностное решение у(х) сходится к реше- решению и (х) задачи G0), если || у(х)-и (х) \\н -у 0 при h -> 0; G2) разностное решение имеет порядок точности р, если || у{х)-и (х) \\Vh = О (hP) при h -v 0. G3) Анализируя сходимость схемы ломаных (8.15) для обыкновен- обыкновенного дифференциального уравнения, мы видели, что погрешность решения вызвана погрешностью начальных данных и погрешно- погрешностью аппроксимации, усиливающимися (или ослабляющимися) в ходе расчета. Интуитивно ясно, что для хорошей точности рас- расчета достаточно, чтобы эти погрешности были малы и в ходе рас- расчета не сильно возрастали. Строго говоря, в любых расчетах присутствуют ошибки округ- округления; поэтому при Л->0 надо одновременно увеличивать количество десятичных знаков, удерживаемое в расчете. Но в современных ЭВМ относительная ошибка округления на одну операцию не превышает 10~10, т. е. пренебрежимо мала по срав- сравнению с ошибками аппроксимации при тех шагах h, которые фактически используются. Поэтому в большинстве случаев ошиб- ошибками округления можно пренебречь. Определение. Разностная схема G1) корректна, если ее решение существует и единственно при любых входных данных ф и %, принадлежащих заданным классам функций, и схема устойчива. Строго говоря, для нелинейных схем разностное решение может быть не единственным или существовать не при всяких входных данных. В этом случае схему называют корректной в окрестности решения г/[ф, %], если (по крайней мере при дос- достаточно малом К) для любых ф, %, достаточно близких к ф, %, в некоторой малой окрестности г/[ф, %] имеется единственное решение у[ц>, %|, устойчивое по ф, % в смысле определения D5). Отметим, что если граница области G состоит из нескольких кусков Тк, то обычно операторы Rk и правые части \ik (x) гра- граничных условий на этих кусках различны. Разностные операторы
326 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX Rhk и правые части %k на соответствующих множествах нерегу- нерегулярных узлов yhk также будут различны. Для того чтобы реше- решение разностной схемы G1) существовало, все они должны быть согласованы между собой, т. е. должны удовлетворять опреде- определенным соотношениям на линиях или в точках стыка кусков гра- границы. Например, для первой краевой задачи теплопроводности ut = kuxx, и (х, 0) = (j, (x), 0 sg: x sg; a, u@, o = Hi(O. «(«. 0 = M0. ^°- условиями согласования будут соотношения jj, @) = jix @), jx(a) = = (j,2@), или, соответственно, % @) = %i @), %(a) = %2 @). Теорема*). Если решение u[f, ц] задачи G0) существует, разностная схема G1) корректна и аппроксимирует задачу G0) на данном решении, то разностное решение сходится к точному. Доказательство. Напишем цепочку преобразований: Ahu = Ahu — Аи -\- f = Ahu ~ Л ы + / — ф + ф = — я|з (х) + Ф (х), где ij) (а-) есть, по определению, невязка разностной схемы. Делая аналогичное преобразование для краевых условий, получим G4) Равенства G4) представляют собой разностную схему G1) с пра- правыми частями, измененными на величину невязки. Поскольку разностная схема устойчива, то для любого е>0 найдется такое б(е), что \\у — и\\У1г^г, если || я|з ||Фл <б(е), || v ||Xft ==s6 (e). В силу аппроксимации для любого б>0 найдется такое /ioF), что ||я1з||Фл^б, ||v||Xft«s8 при /г</го(б). Следовательно, для любого е>0 найдется такое /го(б(е)), что \\у—и\\у^г при h^h0. Сходимость доказана. Замечание 1. Некоторые начальные или граничные усло- условия аппроксимируются точно; примером являются граничные условия первого рода и (a, t) = \i(t), если узел xN сетки распо- расположен на границе х = а. Устойчивости по таким условиям можно не требовать, ибо никакой ошибки в расчет они не вносят (кроме ошибки округления). Устойчивость по правой части требуется почти во всех слу- случаях, поскольку погрешность аппроксимации в G4) эквивалентна некоторой погрешности правой части. *) Ее кратко формулируют так: «Из аппроксимации и устойчивости следует сходимость».
§ 41 СХОДИМОСТЬ 327 Замечание 2. Аппроксимацию часто проверяют не на реше- решениях задачи G0), а на некотором широком классе функций, кото- которому принадлежит решение (обычно на классе функций, непре- непрерывных и ограниченных вместе с некоторым числом своих производных). Из замечания 2 в § 2, п. 5 следует, что такая аппроксимация достаточна для доказательства теоремы о сходи- сходимости. Замечание 3. При исследовании аппроксимации и устойчи- устойчивости конкретных разностных схем нередко используют разные нормы для одной и той же функции. Например, при установле- установлении локальной аппроксимации для ф(х) берется ||ф||с, а при спектральном исследовании устойчивости — || ф ||/г. Доказатель- Доказательство сходимости в этом случае справедливо, только если аппрок- аппроксимация установлена в нормах ||ф||, ||%11 более сильных (или тех же самых), чем нормы, использованные для правых частей в определении устойчивости. Замечание 4. Если аппроксимация или устойчивость услов- условные, то сходимость имеет место при выполнении условий устой- устойчивости и аппроксимации (т. е. при определенных соотношениях между шагами по разным переменным). Замечание 5. Устойчивость является, как нетрудно убе- убедиться, необходимым условием сходимости. В самом деле, если схема неустойчива, то найдутся такие сколь угодно малые ошибки входных данных, которым соответстйует значительная погреш- погрешность решения. Сходимости при этом не может быть. Пример. Рассмотрим явную схему A8) для уравнения тепло- теплопроводности A5). В § 2, п. 3 была установлена аппроксимация этой схемы с погрешностью B5), равной || я|з ||С = О ix-\-h2). В § 3, п. 4 было доказано, что она условно устойчива в || • ||/2 при х^h2Bk) С учетом замечания 3 отсюда следует сходимость в норме \\у — и \ если выполнено условие x^h2/Bk). Отметим, что на самом деле имеет место сходимость в \\у— и \\с; но для доказательства этого факта надо обосновать устойчивость схемы в нормах ||ф||с, \\у\\с- 2. Оценки точности. Для линейных задач оценки погрешно- погрешности, как априорные мажорантные, так и апостериорные асимпто- асимптотические, можно получить на основании приведенных ниже теорем. Теорема 1*). Если условия теоремы из п. 1 выполнены, опе- операторы Ah и Rhk линейные, а порядок аппроксимации равен р, то сходимость имеет порядок не ниже р. Доказательство. Пусть задача G0) и разностная схема G1) линейны, а граница Г состоит из кусков Tk (k= I, 2, ..., К). *) Ее кратко формулируют так: «Для линейных схем порядок точности не ниже порядка аппроксимации».
328 уравнения в частных производных [гл. ix Условие устойчивости D6) для линейной схемы принимает вид 1№<Л*0||ф||ф+ ? Мк\\Ъ\\г G5) k=i (начальные условия, если задача их содержит, входят в сумму по граничным условиям). Рассмотрим погрешность разностного решения z (х) = у (х) — и (х). Вычтем соотношение G4) из разностной схемы G1) и заметим, что благодаря линейности схемы Ahy~Ahu = Ah(y—u) = Ahz. Тогда г(х) удовлетворяет схеме с разностными операторами G1): Ahz{x) = ty(x) х<=аЛ, RhkZ(x)^Vk(x), xeyhk, G6) где в правых частях стоят невязки. Применяя к G6) условие устойчивости G5), получим К II г ||й < Мо || ф ||ф + 2 М* Иv* НхА- G7) Поскольку схема G1) имеет порядок аппроксимации р, то ИФИф^аоА", ||vA||XA<aAA", 1<А^Л". G8) Подставляя эти выражения в G7), получим априорную мажорант- мажорантную оценку погрешности: к \\y-u\\y^MhP, M= 2 Мкак, G9) k = 0 что доказывает теорему. Замечание 1. Для доказательства требовалась линейность только разностных операторов, но фактически линейными разност- разностными операторами можно аппроксимировать только линейные дифференциальные или интегральные операторы. Замечание 2. Если условия теоремы 1 выполнены, то порядок точности может быть выше порядка аппроксимации. В таких случаях более полное исследование задачи нередко по- показывает, что для сходимости в данной норме || • \\у достаточно устойчивости по более слабой норме || • ||ф, в которой порядок аппроксимации выше. Замечание 3. При оценках погрешности конкретных схем константы Mk определяются в ходе доказательства устойчивости; они постоянны для данной схемы. Величины ак выражаются обычно через нормы некоторых производных и (х) и тем самым зависят от решения (см. выражения невязки B5) или B6)). Замечание 4. Для нелинейных схем можно сформулиро- сформулировать аналогичную теорему. При этом следует пользоваться опре-
§ 4i сходимость 329 делением устойчивости D5), которое можно записать так: \\у-у\\^г, если ||<р-фК60(е), 1х*-Х*|<6* («), Тогда, если б* (е) = (г/Мк)т>', 0 й^ & ==? Я, то порядок точности будет не ниже q = min (p/mk); при mk == 1 снова приходим к тео- 0 s? k sg К реме 1. Замечание 5. Для случая многих переменных порядок аппроксимации по разным переменным может быть неодинаковым. Очевидно, порядок точности по разным переменным также может быть различным. Пример. Явная схема A7)—A8) для первой краевой задачи теплопроводности A5), разобранная в примере к п. 1, имеет погрешность аппроксимации B5): < \2 *Л2 Ии^л-л-И, + -2- т ||и«||с. Начальные данные и краевые условия аппроксимируются точно, и устойчивости по ним можно не требовать; согласно замечанию 1 в§ 3, п. 4 условие устойчивости по правой части имеет вид или Отсюда следует априорная оценка \\У - «II/, < (t -10) max (-2 т ll"«ll/, + г2 kh% W»xxxx\\i) = О (т + /i2), (81) т. е. схема имеет первый порядок точности по времени и вто- второй — по пространству. Для практических вычислений важное значение имеет сле- следующая Теорема 2. Пусть задача G0) и разностная схема- G1) ли- линейны, разностная схема корректна и аппроксимирует задачу так, что существуют ij)(x)= Hm/i P(Au-Ahu + <p-f), jteG, (82a) ft-> 0 vk (x) = lim hP (Rku - Rhku + %к-Ы> «е Гъ (826) h -* 0 Пусть существует решение I (x) задачи А2(х) = Ц(х), шЙ, Rkz(x) = vk(x), *еГ*. (83) и на этом решении разностные операторы Ah, Rhk аппроксими- аппроксимируют дифференциальные операторы. At Rk. Тогда погрешность
330 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX решения G1) имеет следующую асимптотику: у(х)-и (х) = hn (х) + о (№) при h -*• 0, х <ее щ + ул- (84) Доказательство. Пользуясь линейностью операторов, нетрудно установить следующее равенство: аналогичные равенства записываются для граничных условий. При h -*¦ 0 правые части всех этих равенств стремятся по норме к нулю: последняя скобка — на основании предположения об аппроксимации на функции z (x), а остальные члены — согласно условию (82). Тогда, благодаря устойчивости разностных операторов Ah, Rhk, выражение в квадратных скобках в левой 'части этих равенств стремится по норме к решению задачи G1) с нулевой правой частью, которое тождественно равно нулю. Теорема доказана. Замечание 1. Теорему можно обобщить на случай многих переменных, даже если порядок аппроксимации по разным пере- переменным неодинаковый. В случае двух переменных возможна сле- следующая асимптотика погрешности: у(х, t)-u(x, f)=x921(x, t) + hP22(x, t) + o(T* + hP), (85) или иная, в зависимости от характера аппроксимации. Теорема 2 обосновывает использование метода Рунге для апостериорной асимптотической оценки погрешности или для уточнения результата. Например, явная схема A8) для уравнения щ — Ыхх имеет невязку B6), равную \р(х, t) = (^kh2~l-k2x)uxxxx(x, t). По- \ 1 скольку решение этого уравнения дифференцируемо любое число раз, то легко проверить выполнение условий теоремы 2 и опре- определить погрешность: у (х, t)-u (x, t) = (^| - Щ z (x, t) + о (r + h*), (86) где z удовлетворяет уравнению zt — kzxx = uxxxx и соответствую- соответствующим начальным и граничным условиям. Возьмем сетку а1 с шагами h и т и сгущенную сетку ю11 с шагами h/r и т/г2 (обычно полагают г = 2). На второй сетке погрешность по каждой переменной, как видно из (86), умень- уменьшается в г2 раз. Обозначая разностные решения на этих сетках соответственно, через у1 и у11, определим погрешность (см. гл. III, п. 3 и гл. VIII, § 1, п. 11):
§ 41 СХОДИМОСТЬ 331 Эту погрешность можно использовать для оценки точности раз- разностного решения, а можно вычесть ее из разностного решения, тем самым уточнив его. Замечание 2. Если функция г(х) такова, что к ней самой применима теорема 2, то можно использовать рекуррентный ме- метод Рунге, несколько раз сгущая сетку. Изложенная в этой главе теория разностных схем применима к разностным схемам, аппроксимирующим корректно поставлен- поставленные задачи для обыкновенных дифференциальных уравнений, уравнений в частных производных и интегральных уравнений. Теория переносится на решение уравнений в частных производ- производных методом прямых. Хотя в большинстве формулировок фигу- фигурировало только одно уравнение и одна переменная, но теория очевидным образом обобщается на системы уравнений или слу- случай многих переменных. Теория разностных схем применяется также для доказательства существо- существования решения точной задачи G0) и установления его свойств. В качестве примера приведем без доказательства одно утверждение: Теорема 3. Если для задачи G0) существует хотя бы одна коррект- корректная разностная схема G1), аппроксимирующая задачу на функциях и (х) е[/, то решение и (х) задачи G0) в классе U существует и единственно. Если пра- правые части ф (л:), % (*) непрерывны равномерно по h, то и (х) непрерывно зави- зависит от f(x), ц{х). 3. Сравнение схем на тестах. Для любой задачи даже на фиксированных сетке и шаблоне можно составить много разност- разностных схем. Естественно, возникает вопрос: какую из схем исполь- зоеэть при решении реальной задачи? Как правило, традицион- традиционных оценок сходимости и точности для ответа недостаточно. Это связано с несовершенством теоретических методов исследования схем. 1) Для большинства нелинейных задач (например, газодина- газодинамических) нет доказательства сходимости или хотя бы устойчи- устойчивости разностных схем. Соображения об их устойчивости и схо- сходимости основаны на анализе линеаризованных задач. 2) Оценки точности схем являются асимптотическими при стремлении шага к нулю. Но быстродействие и память современ- современных ЭВМ не настолько велики, чтобы можно было относительно сложные реальные задачи считать достаточно малым шагом. Например, для трехмерной задачи сетка из 27 000 узлов, соответ- соответствующая оперативной памяти ЭВМ БЭСМ-б, содержит всего 30 интервалов по каждой переменной. Реально может оказаться, что схема первого порядка точности на грубых сетках даст более точный результат, чем схема второго порядка точности, хотя на подробных сетках соотношение будет обратным.
332 УРАВНЕНИЯ В ЧАСТНЫХ ПРОИЗВОДНЫХ [ГЛ. IX 3) Обычно априорные оценки точности схем далеки от опти- оптимальных. Они бывают завышены в десятки и сотни раз, и только в исключительных случаях удается получить неулучшаемые оценки. Но даже эти неулучшаемые оценки относятся к достаточно широ- широкому классу решений, а для конкретного решения могут быть сильно завышены. 4) Даже наличие доказательства сходимости разностной схемы не гарантирует хорошего качества полученного по схеме решения. Сходимость в гильбертовой норме обеспечивает передачу только некоторых интегральных характеристик решения. Сходимость в чебышевской норме обеспечивает хорошее качество решения лишь при достаточной подробной сетке. В расчетах на грубых сетках при сходящейся схеме нередко возникает «разболтка», де- делающая результаты расчета фактически неприемлемыми. Большой опыт численных расчетов показывает, что, помимо аппроксимации и устойчивости, разностные схемы должны удов- удовлетворять добавочным критериям, обеспечивающим передачу не- некоторых качественных свойств решения. Хорошо известным кри- критерием является консервативность схем или, в более общей форме, инвариантность'разностных уравнений относительно определенной группы преобразований. Другие употребительные критерии — это аппроксимационная вязкость схем или диссипативность первого дифференциального приближения и монотонность схем. Вероятно, в дальнейшем будет создана достаточно строгая качественная теория разностных схем, позволяющая ответить на многие вопросы. Но даже после создания такой теории важным элементом работы останется экспериментальное исследование схем, т. е. проверка их на небольшой системе тестов. Тестом может служить задача, которая содержит специфи- специфические трудности данного класса задач и точное решение которой известно. Это решение может задаваться формулой или нахо- находиться численно; в качестве тестов нередко используют автомо- автомодельные решения. Для проверки схемы следует провести серию из трех или более расчетов задачи-теста с последовательным сгу- сгущением сеток и сравнить разностное решение с точным. Точность схемы оценивают по норме погрешности разностного решения. Для более полного изучения схемы проверяют сходи- сходимость в разных нормах (обычно в С и La). При этом обязательно сравнивают фактическую скорость убывания погрешности при ft-»-0 с теоретическим порядком точности схемы. Возможны случаи, когда ожидаемый теоретический порядок точности не совпадает с фактическим. О чем это может свидетель- свидетельствовать? Отметим некоторые типичные ситуации. а) Метод теоретического исследования был строгим, а факти- фактический порядок точности ниже теоретического. Возможны две причины. 1) Численный расчет был неправильным; например,
ЗАДАЧИ 333 программа для ЭВМ содержала ошибки. 2) При теоретическом анализе аппроксимация определялась на функциях более гладких, чем использованное в качестве теста решение и (х, t). б) Метод теоретического исследования был строгим, а факти- фактический порядок точности выше теоретического. Это означает, что теоретическое исследование было недостаточно полным. Может быть, при доказательстве устойчивости использовались более силь- сильные нормы для правых частей, чем в действительности необходимо; или погрешность аппроксимации определялась не на решении дан- данной задачи, а на заметно более широком классе функций. в) Метод исследования был нестрогим; например, устойчивость нелинейной схемы изучалась методом разделения переменных. В этом случае теоретическое исследование вообще не дает ответа, а лишь позволяет сделать довольно вероятный прогноз. Сравне- Сравнение же на тестах позволяет установить здесь точный характер сходимости, правда, только на отдельных примерах. Исследовать надо не только разностные схемы, но и сетки. Разные классы задач предъявляют разные требования к сеткам. Но лишь в отдельных случаях эти требования удается четко сформулировать; например, если точное решение имеет разрыв или другую особенность, то желательно совместить с ней узел сетки. В остальных же случаях приходится сравнивать сетки тоже на тестах. Зачастую удачный выбор сетки повышает точность расчета не меньше, чем усовершенствование разностной схемы. ЗАДАЧИ 1. Для уравнения (9) найти автомодельное решение вида и{х, 0 = /(?). \-x\t, и соответствующие ему начальные и граничные условия. 2. Найти выражения невязки для случая, рассмотренного в § 1, п. 3, замечание 3. 3. Вывести разностную схему B9) и найти ее невязку. 4. Определить невязку разностного краевого условия C3) и сравнить ее с C2). 5. При доказательстве теоремы в § 3, п. 2 использовано определение рав- равномерной устойчивости D8) для линейных схем; обобщить это определение и доказательство теоремы на случай нелинейных схем. 6. Доказать утверждения, сделанные в замечании к теореме из § 3, п. 2. 7. Доказать замечание 1 об устойчивости по правой части в § 3, п. 4. 8. Доказать утверждение, сделанное в замечании 4 к теореме 1 из § 4, п. 2, и дать для нелинейных схем априорную оценку точности типа G9). 9. Обобщить теорему 2 из § 4, п. 2 на случай разного порядка аппрок- аппроксимации по различным переменным.
ГЛАВА X УРАВНЕНИЕ ПЕРЕНОСА В главе X рассмотрены основные разностные схемы для простейшего уравнения в частных производных — уравнения переноса. В § 1 построены схемы бегущего счета для линейного уравнения переноса, как одномерного, так и многомерного. На их примере дана геометрическая интерпретация устойчивости разностных схем и введены понятия монотонности, аппроксима- ционной вязкости и первого дифференциального приближения разностных схем, полезные при качественном анализе разностных решений. В § 2 рассмотрено простейшее квазилинейное уравнение переноса и иссле- исследованы качественные особенности его решений. Введено понятие консерватив- консервативности разностных схем и изложен метод псевдовязкости; на их основе построены схемы для решения данной задачи. § 1. Линейное уравнение 1. Задачи и решения. Существует много задач о распростране- распространении частиц в веществе: определение нейтронных потоков в реак- реакторе, теплопроводности в газах, обусловленной диффузией атомов и электронов, и т. д. Такие задачи приводят к уравнению пере- переноса, которое может быть интегро-дифференциальным. Например, основное уравнение кинетической теории газов — уравнение Больцмана имеет следующий вид: Ж + "' Ж + F Ui = ui(r, va i), u'i = ui(r, vU t). Здесь щ — функция распределения i-ro сорта частиц; она зависит от времени, координаты и скорости частицы. Интегральный член в A) описывает столкновения частиц. Решение нелинейных интегро-дифференциальных. уравнений типа A) очень сложно и выходит за пределы нашего курса. Мы ограничимся изучением только линейного дифференциального уравнения переноса: % + с (х, t)gradu=f{x,f), x = К, х2,..., хр), B)
§ 1] ЛИНЕЙНОЕ УРАВНЕНИЕ 335 где с —вектор скорости переноса. Как будет видно в дальнейшем, для этого уравнения многомерность не вносит принципиальных осложнений. Все основные идеи можно пояснить на одномерном уравнении где скорость с будем считать постоянной, если специально не оговорено противное. Если в уравнении C) правая часть / = 0, то общее решение этого уравнения имеет вид бегущей волны: и (х, t) = y(x — ct) D) (отсюда видно, что с есть скорость переноса). Для определен- определенности положим с>>0, тогда волна бежит слева направо. Вид решения D) подсказывает, как можно корректно поставить пол- полную задачу для уравнения C). Смешанная задача Кош и. За- Зададим начальные и граничные данные на отрезках, показанных на рис. 55 жир- жирными линиями: и(х, 0) = [ О а, Г. E) Рис. 55. Тогда решение задачи C), E) однозначно определено в области G = [0 sg; х ^ d\ x xfOsgis^T1]. Если начальные и гранич- граничные данные непрерывны вместе со своими р-ми производными, причем выполнены условия согласования в точке стыка кусков границы (для случая /(х, 0 = 0 они имеют следующий вид: @) i @) 0 = (б) и f (x, t) непрерывна вместе с (р—1)-ми производными, то реше- решение и (х, t) непрерывно в- G вместе с р-ми производными. Задача Кош и. Зададим начальные данные на полубеско- полубесконечной прямой: и(х, 0)=ц(я) при — со<.х^а. Тогда решение однозначно определено в области G = (— сю<ХйСа]х[0г?;^< < + сю). Гладкость решения соответствует гладкости начальных данных ц(х) и правой части / (х, i). Характеристики уравнения C) имеют вид x — ct = const и при постоянной скорости с являются прямыми линиями. Решение D) однородного уравнения C) постоянно вдоль такой линии; поэтому говорят, что начальные и граничные условия переносятся по характеристикам.
336 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X Решение неоднородного уравнения C) меняется вдоль характе- характеристик. Это изменение легко найти, если перейти к новым координатам, связанным с характеристиками: \ — x — ct, y] = x + ct. G) При их помощи уравнение C) преобразуется к виду 2с| = Ф(Б, 11), Ф(Б,т,)=/(ф., 2=±). (8) Следовательно, вдоль характеристики | = const решение и можно найти, интегрируя по т] обыкновенное дифференциальное уравне- уравнение (8), в котором | играет роль параметра. Так можно опре- определить решение в любой точке области G, поскольку при с — const характеристики покрывают всю область. Этот способ построения точного решения легко обобщается на уравнение с переменным коэффициентом с(х, t). Он показывает, что для корректной постановки задачи необходимо, чтобы через любую точку области G проходила одна и только одна характе- характеристика. Это выполняется, если функция с (х, t) непрерывна во всей области G-j-Г. Сохранение монотонности является важным свойст- свойством однородного уравнения переноса. Если для него поставлена задача Коши с монотонными начальными данными и (х, 0) = \i(x), — оо <с х sg; а, то в любой момент t профиль и (х, t) тоже будет монотонным*). Монотонность сохраняется и в смешанной задаче Коши, если граничное значение и (О, t) тоже монотонно зависит от t и согласовано с начальными данными. В уравнении переноса монотонность является тривиальным следствием из вида общего решения D). Однако во многих урав- уравнениях начальная монотонность решения сохраняется, хотя общее решение не имеет вида одной бегущей волны. При определенных условиях это имеет место даже в задачах теплопроводности и газодинамики. Поэтому монотонность — достаточно общее и важ- важное свойство многих уравнений. 2. Схемы бегущего счета. Эти схемы предназначены для реше- решения смешанной задачи Коши C), E). Они легко обобщаются на случай любого числа измерений. Схемы бегущего счета являются наиболее простыми и позволяют численно решать даже очень сложные задачи переноса с хорошей точностью при умерен- умеренном объеме вычислений. Рассмотрим задачу C), E) и построим в области G = [0 =^ х s=; «S а] х [0 «с t =sS T] прямоугольную сетку, для простоты равно- равномерную с шагами /гит. Выберем четыре шаблона, изображен- *) Профилем (по ха) называют зависимость функции F(Xi,..., xp, t) от одной из пространственных переменных ха.
§ 1] ЛИНЕЙНОЕ УРАВНЕНИЕ 337 ные на рис. 56 — 59. Составим на трехточечных шаблонах (рис. 56 — 58) простейшие схемы с использованием односторон- односторонних производных: Y (Уп -yn)+J (Уп ~ Уп-l) = фл, фл = / [Xn — -тг, fm + -9- , Y (Уп-l - Уп-l) + J (Уп - Уп-l) = Фл, -zr (Уп -Уп)+ТГ (Уп ~Уп-д = Фл, (9) A0) (П) а на четырехточечном шаблоне (рис. 59) — схему с симметризован- ными производными: oz (Уп + Уп-г -Уп-Уп-д+§п (У 2т Уп-1-Уп-i) = Фл- A2) Правую часть мы для определенности выбираем в центре ячейки, соответствующей шаблону, хотя возможен и другой выбор. Рис. 57. Рис. 58. Рис. 59. Организация расчета по этим схемам очень проста. Хотя формально схема (9) является явной, а остальные три — неявными, фактически при расчете смешанной задачи Коши они ведут себя, как явные. В самом деле, во всех четырех схемах значение уп явно выражается через значения уп-х, у„, уп-г (или любые два из них). Значение решения на нулевом слое yn — ^i (xn) известно из началь- начального условия. На следующем (первом) слое значение yo = \^i(h) в силу граничного условия, и можно вычислить tjx; зная ух, можно вычислить уг, затем у3. Так последовательно вычисляются слева направо все уп первого тслоя. Затем, зная решение на пер- первом слое, точно так же вычисляем его на втором слое, на третьем и т. д. Замечание 1. Явная схема (9) пригодна для решения задачи Коши на полубесконечной (или бесконечной) прямой; неявные схемы бегущего счета к такой задаче неприменимы. Правда, в практике численных расчетов задача Коши для урав- уравнения переноса в неограниченной области почти не встречается.
338 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X Из описанного алгоритма видно, что для каждой из схем (9) —A2) разностное решение при любых ф„ существует и един- единственно. Поэтому для доказательства сходимости остается иссле- исследовать аппроксимацию и устойчивость схем. Заметим, что краевое условие и @, t)=\i^(t) для всех схем аппроксимируется точно; поэтому устойчивости по нему не требуется. Схема (9). Исследуем ее погрешность аппроксимации. Пусть начальные и граничные данные дважды непрерывно дифференци- дифференцируемы и удовлетворяют условиям согласования типа F) с р = 2, а правая часть f(x, t) имеет непрерывные первые производные. Тогда решение и (х, t) дважды непрерывно дифференцируемо; разложим его по формуле Тейлора в узле (хп, tm): йп = ип + хщ + -2- х2ии, Отсюда легко определим невязку схемы (9): (ди . да ^ ^ . A3) При сделанных предположениях схема (9) имеет аппроксимацию, в || • ||с с первым порядком. Устойчивость исследуем при помощи принципа максимума. Критерий равномерной устойчивости по начальным данным (9.53) с константой С = 0 принимает вид Он выполняется только при так называемом условии Куранта: . A4) Таким образом, схема (9) является условно устойчивой в || > ||с. Методом разделения переменных можно доказать необходимость условия A4). Рассматривая отдельную гармонику exp(iqx) и подставляя в (9) величины легко получим множитель роста этой гармоники: p^l-^l-e-'**). A5)
§ 1] ЛИНЕЙНОЕ УРАВНЕНИЕ 339 Если ст>/г, то для тех гармоник, у которых cos qh — —1, множитель роста равен 2ст 1-- т. е. амплитуды этих гармоник неограниченно нарастают при т-*-0. Устойчивости нет, что и требовалось доказать. Непосредственно видно, что дополнительное условие устойчи- устойчивости по правой части (9.54) выполняется, причем %— 1. Поэтому схема устойчива по правой части в || • ||с при выполнении усло- условия A4). Тогда из теорем о сходимости следует, что если решение и (х, t) непрерывно вместе со своими вторыми производными, то схема (9) при выполнении условия Куранта A4) сходится в || • ||е со ско- скоростью 0{x-\-h), т. е. с первым порядком точности. Схема A0) исследуется аналогично; при исследовании аппроксимации разложение по формуле Тейлора удобнее вести, около узла (*„_!, tm-\-x). На дважды непрерывно дифференцируе- дифференцируемых решениях эта схема при выполнении условия устойчивости cx^h A6) обеспечивает сходимость со скоростью О(т + /г). Схема A1) безусловно устойчива и на дважды непрерывно дифференцируемых решениях сходится со скоростью O(x-\-h). Схема A2) симметричная, и при исследовании ее аппрокси- аппроксимации целесообразно разлагать и (х, t) по формуле Тейлора около центра ячейки (хп — -~, tm-\-~\. Тогда после довольно громоздких выкладок определяем невязку: ) A7) Схема имеет второй порядок аппроксимации, если решение и (х, t) триждв1 непрерывно дифференцируемо. Устойчивость схемы A2) при помощи принципа максимума установить не удается. Однако можно провести исследование методом разделения переменных. Для гармоники exp (iqx) нетрудно получить выражение для множителя роста. Полагая в A2) Фл = 0, уп — exp (iqxn), у = рду, найдем rq (h+cz) + (hcx)e-^h K ' Отсюда видно, что |р?| = 1 для любой гармоники при любых соотношениях шагов. Следовательно, схема равномерно устойчива по начальным данным в. ||-|к» причем устойчивость безусловная.
340 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X Дополнительный критерий устойчивости по правой части (9.54) после умножения на т принимает для схемы A2) следую- следующий вид: сх ~ ¦ к, х — const > 0. Убедимся, что для х = 2 это неравенство выполняется при любых т и h. В самом деле, если cx^h, то левая часть неравенства равна 2. Если же rc>/i, то левая часть неравенства равна Bст/Л)>2. Поскольку критерий выполнен, то схема безусловно устойчива по правой части. Из сказанного выше следует, что на трижды непрерывно дифференцируемых решениях и (х, f) схема A2) безусловно сходится в норме || • ||;2 со скоростью О (т2 + Щ. Судя по результа- результатам численных расчетов, схема обеспечивает второй порядок точности и в || • ||с. Замечание 2. Схемы бегущего счета сходятся на решениях меньшей гладкости и даже на разрывных решениях (разумеется, не равномерно, а в среднем). Например, теоретический анализ и примеры численных расчетов [65, 66] показали, что схема A1) сходится на кусочно-непрерывных решениях в || • \\, с погреш- погрешностью О {{х-\-И)х/2р). Любопытно, что порядок точности оказался не целым! Замечание 3. Схемы бегущего счета очевидным образом обобщаются на случай неравномерной сетки. Например, схему (9) можно записать следующим образом: х hn Критерии устойчивости A4) и A6) принимают при этом соответ- соответственно вид: х^ mm (hjcn) и тяглах (hjcn). B0) п п Интересно сравнить схемы (9) —A2) между собой. Схема A2) имеет второй порядок точности и на достаточно гладких реше- решениях при не слишком больших шагах т и h дает лучшие результаты на примерах-тестах. Но на разрывных решениях или для быстропеременных решений на грубой сетке она оказывается плохой; в этих случаях удовлетворительные результаты дают схемы (9) -A1). Схемы (9) —A1) имеют первый порядок точности. Первые две из них условно устойчивы, что неудобно при Численных расчетах. Схема A1) безусловно устойчива и очень надежна в расчете; однако по точности она уступает схемам (9) и A0), в чем нетрудно убедиться, сравнив невязки этих схем.
§11. ЛИНЕЙНОЕ УРАВНЕНИЕ 341 Дальше мы увидим, что схемы (9) и A0) можно объединить в единую явно-неявную схему, безусловно устойчивую и превос- превосходящую схему A1) по точности. 3. Геометрическая интерпретация устойчивости. Ограничимся устойчивостью по начальным данным. Рассмотрим однородное уравнение C) с / (х, t) — 0, общее решение которого имеет вид и (х, t) — ф (х — ct), т. е. переносится по характе- характеристикам x — ct — const без изменения. Рассмотрим схему (9) а) с шаблоном, изображен- х"~1 х ным на рис. 60 (см. так- также рис. 56). Построим ха- Рис 60. рактеристику, проходящую через искомый узел (х„, tm+1); она обозначена стрелкой на рис. 60. Эта характеристика пересекает исходный слой tm в точке х — хп — сх. Схему (9) без правой части можно интерпретировать следующим образом. Линейно интерполируя разностное решение между узлами исходного слоя, найдем / _\ X ft X | X "Л—1 У \х) = Уп-\ ^ г Уп ^ — ст ,, 4-11 — Уп- B1) Затем найденное значение перенесем без изменения по характери- характеристике в искомый узел, т. е. положим уп = у{х)- Если выполнено условие устойчивости схемы сх ^ h, то хп-г ^ ^х<,хп\ в противном случае jc<Jfn_1. Иными словами, схема (9) устойчива, если уп вычисляется по ранее найденным значениям у при помощи интерполяции (рис. 60, а); схема неус- неустойчива, если используется экстраполяция (рис. 60, б). Причина этого состоит в том, что при точной по- постановке задачи в узел (х„, tm+1) приходят возмуще- возмущения только из точки х исходного слоя tm. Если точка х лежит вне отрезка [хп-г, хп], то, сохраняя непрерывность и гладкость решения, можно сильно изменить его на этом отрезке (на слое tm), не меняя значения и(х, tm). Значение йп = и(х, tm) при этом сохраняется, а значе- значение уп сильно изменяется, поскольку оно вычисляется по изме- изменившимся значениям уп, уп-х. Значит, уп не может сходиться к йп. Схемы A0) и A1) тоже можно интерпретировать как линейную интерполяцию по двум уже вычисленным значениям, с последую- последующим переносом по характеристике. В частности, безусловная устойчивость схемы A1) связана с тем, что приходящая в искомый узел характеристика (стрелка на рис. 61) при любых т и h пересе- пересекает отрезок, соединяющий исходные узлы (пунктир на рисунке). Рис 61.
342 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X Схема A2) интерпретируется тоже как интерполяция, но не двухточечная линейная, а трехточечная квадратичная (что, есте- естественно, приводит к более высокому порядку точности). Какую бы сторону ячейки на рис. 59 ни пересекала приходящая в узел (хп, tm-n) характеристика — горизонтальную или вертикальную, эта сторона связывает узлы с ранее бычисленными значениями у; поэтому экстраполяции здесь нет, что приводит к безусловной устойчивости схемы A2). Таким образом, прослеживая положение характеристик, не- нетрудно так выбрать шаблон и составить на нем разностную схему, чтобы схема была устойчива. Приведем несколько при- примеров. Явно-неявная схема. Будем считать, что шаги по времени хт = tm+1 — tm и по пространству hn = хп.п — хп не по- постоянны, а коэффициент с(х, t) уравнения C) переменный. При- Приступая к вычислению уп, проверим критерий Куранта A4) в дан- данной ячейке. Если он выполнен, то проведем вычисления по схеме (9): Т~(Уп — Уп) + -^-(Уп~уп-1) = Ч>п при cnxm^hn-v B2а) 1т пп1 В противном случае воспользуемся схемой A0): 1 -=- (Уп-i-yn-i) + -]~ (Уп-Упл) = Фя ПРИ с„тт> А„_3- B26) Очевидно, явно-неявная схема B2) безусловно устойчива, причем ее невязка меньше, чем у безусловно устойчивой схемы A1). Схему B2) обычно применяют в тех случаях, когда точное реше- решение является недостаточно гладким или быстропеременным. Схема без шаблона. Проведем через искомый узел (хп> tm+1) характеристику и определим точку ее пересечения с исход- исходным слоем х — хп — сх. Найдем на исходном слое такую пару узлов хр, хр+1, между которыми заключена точка х. Определим у (х) линейной интерполяцией по значениям ур, ур+1: У(х)= /+1_v Ур+ v т-Ур+1, Хр^х<хр+1. B3) хр+1 *р хр+1 — Хр Перенесем вычисленное значение по характеристике в искомый узел, т. е. положим уп = у (х). Очевидно, схема B3) абсолютно устойчива; но по точности и удобству вычислений она уступает схеме B2) и поэтому редко применяется. В схеме B3) положение узлов р, р-\-\ относительно узла п не фиксировано. Если скорость с(х, t) переменна или сетка хп неравномерна, то п — р будет непостоянной величиной. Таким образом, эта схема не имеет шаблона.
§ 1] ЛИНЕЙНОЕ УРАВНЕНИЕ 343 Рис. 62. Случай с<0. В этом случае наклон характеристик на плоскости (х, t) отрицателен; характеристики зеркально отражены относительно вертикали по сравнению со случаем с>0. Соответ- Соответственно меняется постановка задачи: для отрезка О^х^а гра- граничное условие теперь должно задаваться справа, при х = а. Очевидно, шаблоны для устойчивых схем можно получить зеркальным отражением соответствующих шаблонов рис. 56—59. Например, вместо шаблона рис. 56 берут шаблон рис. 62, получая устойчивую при \с\х^h схему. Направление бегущего счета также меняется: рас- расчет на каждом слое ведут справа налево. Отметим, что шаблоны рис. 57 и 58 зеркальны друг другу; это означает, что при с<0 схема A0) становится безусловно устойчивой, а схема A1) —условно устойчивой. Симметричная схема A2) не меняется при отражении, так что она устойчива при любом знаке скорости; но направление счета, разумеется, зависит от знака скорости. Знакопеременная с(х, t). В этом случае задача в области G(x, t) поставлена корректно, если заданы значения решения на тех и только тех границах, с которых характеристики идут внутрь области. Пусть, например, скорость с (х, t) непрерывна в области G — [0 ss х «с а] х [0 ss; t «s Т] и меняет знак только при х — х, причем с@, 0>0, с (a, t)<0. Вид характеристик в этом случае изобра- изображен на рис. 63. Корректной будет постановка задачи с двумя гранич- граничными условиями: c(x, и(х, и@, и (a, «, = /(*, t), B4) Фактически здесь имеется зона влияния каждой границы; эти зоны разделены линией х = х (пунктир на рисунке). В каждой зоне можно построить схему бегущего счета со своим направлен нием движения. Можно поступить и иначе. Возьмем шаблон рис. 64 и построим на нем неявную схему B5) По направлению характеристики (стрелки на рисунке) видно,
344 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X что при любом знаке с и любых шагах т и h значение у„ вычис- вычисляется интерполяцией. Методом разделения переменных нетрудно показать, что схема B5) безусловно устойчива при любом знаке с. Схема B5) содержит три точки нового слоя. В главе IX отме- отмечалось, что в подобных случаях разностное решение находят прогонкой. Достаточное ус- условие устойчивости прогон- прогонки E.14) в этом случае выполняется только при «с— \ \ с>о" / < \ \ \ / f Я /c<ff C>ff/ c<ff j с 11 sg h, хотя обычно мож- можно вести расчет и при нару- нарушении этого условия. Замечание. Геометри- Геометрическая интерпретация дает необходимое, но не достаточное условие устойчивости. Напри- Например, рассмотрим явную схему на шаблоне рис. 65: Рис. 64. Рис. 65. -% (Уп+1 - Уп-l) = фп- B6) При | с | т =ss h она соответствует интерполяции на исходном слое. Однако она неустойчива при любом соотношении шагов (абсолютно неустойчива), что легко доказать методом разделения переменных. В самом деле, подставляя в B6) Ф„==0, yn = eiqx, t/n±i = e'?u-'. Уп = РУп, получим множитель роста отдельной гармоники: pq = 1 —т- cos GЛ. Для гармоники с cos qh = — 1 этот множитель р? = 1 4- (cx/h) неограниченно велик при h ->¦ 0. Значит, устойчивости нет. Поэтому геометрическую интерпретацию используют как спо- способ быстрой оценки качества шаблона и схемы и отбраковки заведомо плохих схем. Устойчивость выбранных при ее помощи схем обязательно проверяют методами, изложенными в главе IX (в большинстве случаев отобранные этим способом схемы оказы- оказываются устойчивыми). 4. Многомерное уравнение. Схемы бегущего счета естест- естественно обобщаются на многомерное уравнение переноса. Рас- Рассмотрим, для определенности, задачу с двумя пространственными переменными в области G = [0 =^ хх ^ а] х [0 =sg х2 ==с Ь] х [0 s^ t =s? T]: Xl + czuXa=f(x1, x2, t); и ta, х2, 0) = цх (xlt jca), и @, за, t) = u(xlt 0, 0 = M*i> t). (хг, t), B7a)
§ 1] ЛИНЕЙНОЕ УРАВНЕНИЕ 345 Скорости переноса по осям сх, с2 считаем положительными и, для простоты, постоянными. Построим, например, многомерный аналог абсолютно устой- устойчивой схемы A1). Введем по переменной хх сетку {х1п, 0 ==cn=s?./V}, а по переменной х2 — сетку {xim, O^ms^M}. Значения решения в узлах этой сетки обозначим следующим образом: и (х1п, хш, t) — ипт, u(xln, х2т, t + x)=unm. B8) Возьмем шаблон, изображенный жирными линиями на рис. 66, и составим на нем схему -^ (Упт — Упт) +~j^ (Уп г ~ Уп-1, т) +-jr~ (Упт ~ Уп, m-l) = Чпт, B9) где hlt /z2 — шаги по соответствующим направлениям. Исследовать схему B9) несложно. Из принципа максимума сразу следует безусловная устойчивость этой схемы. Ее невязка опреде- определяется разложением по формуле Тейлора и равна О (т -f- ht -f- h2). Следовательно, схема B9) сходится в || • ||е с первым порядком точности *). Вычисления проводятся послойно. Зна- Значение упт в узле, отмеченном на рис. 66 двойным кружком, выражается по форму- формуле B9) через значения в нескольких дру- других вершинах ячейки. Когда решение на слое t вычислено, тсГего значения на слое t-\-x можно вычислять по этой формуле вдоль направлений хх (см. рис. 67, а, где последовательность вычислений указана стрелками). Заметим, что последовательность вычислений может-быть иной. Например, можно вести расчет на слое вдоль направлений хг (рис. 67, б). В принципе, не обязательна даже послойная организация расчета; достаточно, чтобы после- последовательность расчета соответствовала какому-то порядку заполнения первого координатного угла в пространстве (xlt x2, t) ячейками, при котором новая ячейка прикладывается тремя гранями к ранее уложенным ячейкам или коор- координатным плоскостям. Двумерный аналог симметричной схемы A2), имеющий второй порядок точности, нетрудно написать методом баланса. Для этого проинтегрируем уравнение B7а) по ячейке, преобразуем трех- трехкратные интегралы в двукратные и вычислим последние по фор- формуле трапеций. Детали настолько очевидны, что мы на них не будем останавливаться. Рис. 66. *) Разумеется, если решение дважды непрерывно дифференцируемо. В даль- дальнейшем обычно будем опускать такие оговорки, подразумевая существование у решения требуемого числа непрерывных производных.
346 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X Таким образом, в уравнении переноса многомерность не при- приводит к принципиальным усложнениям. Вычислительный алгоритм остается простым и экономичным. В декартовых координатах даже формулы расчета имеют обычно простой вид, хотя в криволинейных координатах (цилиндрических, сферических и т. д.) они могут быть громоздкими. --ч Л 1 1 1 1 1 ' 1 . 1 ^\ ' 1 1 1 / 1 "\ ' \ \ . 1 \ \ . В) Рис. 67. 5. Перенос с поглощением. Для неоднородного уравнения пере- переноса C) от способа аппроксимации правой части / (х, t) зависит только порядок аппроксимации. Для получения схемы второго порядка A2) следует выбирать фя так, чтобы выполнялось условие В схемах первого порядка достаточно было требовать, чтобы для этого можно, например, положить фя равным / (х, t) в любой точке ячейки. На устойчивость выбор фи не влияет. Положение несколько изменится, если правая часть / зависит от решения и. Рассмотрим это на примере простейшей линейной зависимости / = — Ьи, когда уравнение переноса принимает вид = — bu. C0) Будем искать решение этого уравнения в виде и (х, t) = = v (х, 0ехр(—Ы). Подставляя его в C0), получим для v(x, t) однородное уравнение переноса vt-\-cux = 0, общее решение кото- которого является бегущей волной v (x, t) — v (x — ct, 0). Следовательно, общее решение задачи Коши для уравнения C0) имеет вид u{x,t) = erbtu{x-ct,Qi). C1) Оно описывает перенос частиц по характеристикам при наличии поглощения (если Ь > 0) или размножения (если Ь •< 0) частиц.
§ 1J ЛИНЕЙНОЕ УРАВНЕНИЕ 347 Дальше мы ограничимся случаем Ь > 0, когда точное решение экспоненциально убывает со временем. Рассмотрим два варианта явной схемы (9): -- (Уп ~ У„) + j (Уп ~ Уп-д = - Ьуп, C2) Y (Уп ~ Уп) + -g (уп - Уп-i) = — Ьуп, C3) отличающиеся только аппроксимацией члена с поглощением. Обе схемы имеют первый порядок аппроксимации. Исследуем их устой- устойчивость методом разделения переменных. Делая стандартную подстановку гармоники exp(i^), получим для схемы C2) множитель роста Если выполнено условие Куранта сх «с /г, то для любых гармоник справедливо неравенство |рг| ^A -\-bxy1 < 1, так что схема C2) не только устойчива, но и хорошо обусловлена: ошибки не нара- нарастают, а неограниченно убывают при t-*-oo. Для схемы C3) множитель роста Если положить сх = h, то для гармоники с ехр (— iqh) = — 1 выполняется соотношение |р? | = 1 -\-Ьх, т. е. устойчивость слабая. Таким образом, характер устойчивости схем C2) и C3) является не вполне одинаковым. Это различие проявляется сильней, если рассмотреть асимпто- асимптотическую устойчивость схем (соответствующую поведению отно- относительной погрешности || 8у 11/Ц и || при ?->сх>). Точное решение убывает, как e~bt, так что его гармоники за один шаг затухают, как еЛх ^* A -\-Ьх)-х. Гармоники схемы C2) затухают не медленнее, так что схема C2) асимптотически устойчива прист^Л. Наобо- Наоборот, у схемы C3) при cx = h нет асимптотической устойчивости: гармоника с ехр (— iqh) = — 1 не только не убывает, а даже возрастает. Этот пример показывает, что на устойчивость может влиять способ аппроксимации не только высших производных данного уравнения, но и всех остальных членов. Замечание. Общее решение C1) положительно, если началь- начальные данные были положительны. Нетрудно показать, что схема C2) сохраняет это свойство общего решения. Если же схему C3) переписать в форме Ул~[1 т '
348 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X то нетрудно видеть, что при достаточно большом коэффициенте Ь > 0 (и не слишком малом шаге т) возможны случаи, когда уп становится отрицательным при уп, уп^>0. Фактически это при- приводит к дополнительному ограничению на шаг т схемы C3). В задачах с сильным поглощением это ограничение, формально не связанное с устойчивостью, может оказаться достаточно жестким. 6. Монотонность схем. В п. 1 отмечалось, что решение одно- однородного уравнения переноса C), соответствующее монотонным начальным данным, в любой момент времени имеет монотонный профиль. Сохраняется ли это свойство у разностного решения? Иными словами, пусть профиль уп монотонен; будет ли моно- монотонным профиль уп? Однородные разностные схемы, сохраняющие монотонность про- профиля разностного решения, называются монотонными. Признак монотонности. Двная двуслойная линейная однородная схема 2]я+* C4) монотонна тогда и только тогда, когда все р Доказательство. Из C4) следует равенство Уп-х - Уп = 2 Рг (Уп-1+i - У пи)- C5) i Если профиль уп монотонен (для определенности—невозрастающий), то все скобки в правой части C5) неотрицательны. Тогда, если все Р;5=0, то у„-г — г/я 5= О и профиль уп также невозрастающий. Достаточность условия Р^5гО доказана. Предположим, что хотя бы один коэффициент |3ft < 0. Выберем такой невозрастающий профиль: yn+i=l при l^k-l, улн = 0 при l^k. Подставляя его в C5), получим т. е. монотонность нарушена: имеется локальное возрастание про- профиля уп. Необходимость условия рг5г0 доказана. Замечание 1. Признак монотонности относится к разност- разностным схемам, аппроксимирующим как уравнение переноса, так и любые другие типы уравнений. Замечание 2. Если двуслойная линейная однородная схема неявна, то ее можно преобразовать к явной форме C4), где пре-
$ II ЛИНЕЙНОЕ УРАВНЕНИЕ 349 делы суммы по / бесконечны, и затем применить признак моно- монотонности. Теорема. Двуслойная линейная монотонная схема для уравнения переноса и/-\-сих = 0 не может иметь второй или более высокий порядок точности. Доказательство. Предположим, что имеется линейная монотонная схема второго (или более высокого) порядка точно- точности. Запишем ее в форме C4), где все {3/^=0. Построим равно- равномерную сетку xn = nh. Выберем в качестве начальных данных задачи Коши квадра- квадратичную функцию (?994 (У°- C6) 2; 4 ' vn - V 2 j 4 В этом случае решение есть также квадратичная функция и его третьи производные равны нулю. Невязка схем второго порядка точности выражается через третьи производные. Поэтому при квадратичных начальных данных C6) разностное решение для нашей схемы должно совпадать с точным решением. На первом слое точное и разностное решения равны соот- соответственно , , IX-CX 1 \2 1 , / СХ 1 \2 1 и(х, *) = [— у] -4'> 0» = (л - 7Г " J -Т- C7) Подставляя разностные решения на исходном C6) и новом C7) слоях в разностную схему C4), получим равенство h В правой части этого равенства стоит неотрицательная величина. Но левая часть при не целом ct/h в одной из точек хп отрица- отрицательна. Полученное противоречие доказывает теорему. Следствие. Линейные монотонные схемы для уравнения пе- переноса могут иметь только первый порядок точности. Примеры. Схема (9) явная, и при выполнении условия устойчивости ctsg/г ее коэффициенты неотрицательны. Следова- Следовательно, она монотонна. Безусловно устойчивая схема A1) неявная. Запишем ее в сле- следующем виде: У Уменьшая индексы на единицу, получим выражение г/л_х через г/и_а. Подставим его в правую часть C8). Продолжая процедуру
350 УРАВНЕНИЕ ПЕРЕНОСА [гл. х уменьшения индекса, приведем схему к явной форме: Уп = У L. сх У А + ст jLi \h-\-cx 1=0 Уп-1- C9) Все коэффициенты здесь положительны; следовательно, схема A1) монотонна при любых т и h. Схема A2) линейна и имеет второй порядок точности на трижды непрерывно дифференцируемых решениях уравнения пе- переноса. Из теоремы следует, что эта схема немонотонна. Рис. 68. Различие монотонных и немонотонных схем особенно четко проявляется при расчетах задач с разрывными точными реше- решениями (см. рис. 68, жирная линия —точное решение). Расчет по монотонной схеме A1) дает сглаженное разностное решение (кружки), а расчет по немонотонной схеме A2)— характерную «разболтку» (точки); эта «разболтка» не является неустойчивостью. Сходную «разболтку» дают немонотонные схемы на быстропе- ременных решениях, особенно если шаг сетки не мал. Именно поэтому приходится решать подобные задачи при помощи моно- монотонных схем, несмотря на их невысокую точность O(x-\-ti). Наоборот, если решение достаточно гладкое и шаг сетки мал, то даже расчет по немонотонным схемам не нарушает монотон- монотонности решения. Например, для схем второго порядка точности монотонность разностного решения обычно сохраняется, если huxxlux\<;\. В этих случаях для расчетов используют схемы точности О(т2 + /г2) или более высокой. Таким образом, фактически немонотонность проявляется на сетках со сравнительно большим шагом. Особенно сильно она сказывается при расчетах многомерных задач, ибо для них ско- скорость или объем оперативной памяти даже лучших ЭВМ не позво- позволяют брать малый шаг. В то же время расчет таких задач по монотонным схемам с погрешностью О (т + h) дает хорошее качест- качественное поведение разностного решения, но невысокую точность. Теорема о монотонности доказана только для линейных схем. Были по- попытки построить нелинейные монотонные схемы второго порядка точности.
§ Ц ЛИНЕЙНОЕ УРАВНЕНИЕ 351 В частности, были предложены нелинейные монотонные схемы [70], имеющие на достаточно гладких решениях аппроксимацию О(тг + /г2) почти во всех точ- точках; эффективный порядок точности этих схем, определенный на задачах-тестах, близок ко второму при большом h и стремится к первому при h -»¦ 0. Эти схемы дают неплохие результаты при расчетах многомерных задач с быстро- переменными решениями. Другое перспективное направление связано с использованием схем треть- третьего порядка точности. Как показали исследования, их фактическая немоно- немонотонность на разрывных решениях существенно слабее, чем у схем второго пот рядка точности: амплитуда «разболтки» меньше, и «разболтка» быстро затухает при удалении от разрыва. 7. Диссипативные схемы. Когда устойчивость линейных раз- разностных схем исследуется методом разделения переменных, то для каждой гармоники определяют ее множитель роста pq при переходе со слоя на слой. Отметим, что число пробных гармоник не бесконечно. Поскольку рассматривается разностная, т. е. ди- дискретная, задача Фурье на сетке {хп, O^scn^N}, то надо исполь- использовать только гармоники exp Bniq/N), 0 ==5 q ^ N — 1, образующие полную систему по отношению к функциям, периодическим на этой сетке. Схема устойчива, если где aq — не зависящие от h константы. Если хотя бы у одной гармоники а>0, то устойчивость слабая. Если для всех гармо- гармоник а<0, то схема заведомо хорошо обусловлена; но это тре- требование слишком жесткое, и ему удовлетворяет очень мало схем. Рассмотрим более мягкое требование, также обеспечивающее хо- хорошую обусловленность. Схема обладает аппроксимационной вязкостью, если aq < 0 при q Ф 0 и а0 = 0. Это требование реализуется у многих схем. Например, схема (9) имеет множитель роста A5), который с учетом замечания об ограниченности числа гармоник принимает вид Легко проверить, что если ст</г, то ро=1 и |р?|<1 при q — = 1, 2, .... N — 1. Еслн'ст = /г, то для всех гармоник |р„| = 1. При cx^>h большинство гармоник неограниченно растет. Таким образом, схема (9) обладает аппроксимационной вязкостью при cx<C.h\ это условие почти совпадает с условием устойчивости. Аналогично доказывается, что схема A0) обладает аппрокси- аппроксимационной вязкостью при cx>h, а схема A1) —при любом соот- соотношении шагов т и /г. У схемы второго порядка точности A2) множитель роста A8) таков, что | р? | = 1 для всех гармоник. Следовательно, схема (.12) не обладает аппроксимационной вязкостью.
352 уравнение переноса [гл. х При наличии аппроксимационной вязкости гармоники с </=??= О затухают, напоминая тем самым точное решение (9.7а) парабо- параболического уравнения. В точном решении параболического урав- уравнения разрывы начальных данных сглаживаются со временем. Из рис. 68 было видно, что расчет по схеме с аппроксимационной вязкостью A1) приводит к аналогичному сглаживанию разрыва начальных данных, а расчет по схеме без аппроксимационной вязкости A2) — нет. Понятие аппроксимационной вязкости применимо к линейным схемам. Для произвольных разностных схем, как линейных, так и нелинейных, можно ввести понятие первого дифференциального приближения. Пусть дифференциальное уравнение Аи — \ имеет решение, у которого непрерывны производные достаточно высокого порядка, и составлена разностная схема Ahy = y порядка аппроксимации р. Невязка этой схемы выражается через некоторые производные от решения и(х), и ее можно представить в следующем виде: ^(x) = Au-Ahu + (p-f = hpBu + o(hp), D0) где В —некоторый дифференциальный оператор (обычно опера- оператор В содержит производные, порядок которых на р превышает порядок старших производных дифференциального оператора А). Запишем равенство D0) двумя способами: Это означает, что разностная схема Ahy = <$ аппроксимирует диф- дифференциальное уравнение Au = f с порядком р и аппроксимирует уравнение (А — hpB) u = f с порядком выше р. Первым дифференциальным приближением разностной схемы Ahy = ф называют уравнение (А - hpB) u = f, Bu = lim [ЬгЦ (*)]. D1) ft-» 0 Разностная схема аппроксимирует свое первое дифференци- дифференциальное приближение более точно, чем исходное уравнение. Поэтому следует ожидать, что свойства разностного решения будут во многом напоминать свойства точных решений уравне- уравнения D1). Пусть уравнение D1) является диссипативным, т. е. описы- описывает какой-либо физический процесс с затуханием: теплопровод- теплопроводность (это сильное затухание), колебания в вязкой среде (сла- (слабое затухание) и т. д. Такие процессы приводят к более или менее быстрому сглаживанию разрывов начальных данных.
§ 1] ЛИНЕЙНОЕ УРАВНЕНИЕ 353 Обычно в этих случаях разностное решение тоже имеет сглажен- сглаженный вид. Наоборот, если уравнение D1) является недиссипативным, например чисто колебательным, то разрывы его решений не сгла- сглаживаются. В разностном решении при этом легко возникает слабо затухающая (или совсем не затухающая) «разболтка». Примеры. Рассмотрим однородную разностную схему (9), полагая / = ср = 0. Ее невязка A3) принимает вид г|з = = (chuxx — rutt)/2. Учитывая, что для однородного уравнения пе- переноса C) выполняется условие U(t = c2uxx, преобразуем невязку к виду г|5 = с (h — c%) ихх/2. Отсюда легко получить первое диффе- дифференциальное приближение разностной схемы (9): И/ = -j (h — сх) ихх — сих. D2) Если ст</г, то уравнение D2) относится к параболическому типу. Действительно, выше было показано, что расчет по раз- разностной схеме (9) приводит к сглаживанию разрывов (если сх </г). Случай cx>h для уравнения D2) соответствует обратной за- задаче теплопроводности, которая относится к некорректно постав- поставленным задачам. С этим обстоятельством связана неустойчивость схемы (9) при нарушении условия Куранта. Рассмотрим однородную разностную схему A2). Если учесть, что для однородного уравнения переноса выполняется соотно- соотношение Шн = — cuttx = сгщхх = — с3иххх, то главный член невязки A7) этой схемы принимает вид г|з = = c(h2 — cH2) иххх/12. Следовательно, ее первым дифференциаль- дифференциальным приближением является уравнение Ш + сих-~с(Ь?-сН*)иххх = 0, D3) которое не содержит диссипативных членов. Действительно, из рис. 68 было видно, что схема A2) не сглаживает разрывы ре- решения. Если разностная схема обладает аппроксимационной вязкостью или ее первое дифференциальное приближение является уравне- уравнением с диссипативными членами, то схему называют диссипатив- ной. Обычно в расчетах по таким схемам разболтки не возникает или она невелика; поэтому понятие диссипативности плодотворно используется при качественном анализе разностных схем. Однако это понятие не является строгим, и полученные при его помощи выводы надо проверять другими методами.
354 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X § 2, Квазилинейное уравнение 1. Сильные и слабые разрывы. Решение линейного уравнения переноса может иметь разрывы только в том случае, если они содержатся в начальных или граничных данных. В квазилиней- квазилинейном уравнении даже при непрерывных и достаточно гладких на- начальных данных могут возникать разрывы решения. Характер этих разрывов удобно исследовать на простейшем квазилинейном уравнении переноса ди х, t, w>0, D4) Рис. 69. которым мы и ограничимся в данном параграфе. Оно напоминает линейное уравнение переноса, в котором роль скорости переноса играет величина самого решения и(х, t). Полная постановка задачи при знакопеременной скорости сложна; мы рассмотрим только наиболее важный случай и>0. Тогда начальные и граничные значения решения, заданные на положительных полуосях координат х, t, определяют решение в первом квадранте. Эти значе- значения переносятся по характеристикам х — — ut = const. Рассмотрим характер реше- решения при четырех основных типах началь- начальных данных. Первый случай. Начальные и краевые значения — непрерывные функ- функции, причем и (х, 0) монотонно не убы- убывает, и @, t) монотонно не возрастает и они непрерывно согла- согласованы в начале координат. Наклон (тангенс угла наклона) характеристик в каждой точке плоскости (х, t) равен 1/ы (х, t). В данном случае наклон моно- монотонно и непрерывно убывает слева направо. Поэтому первый квадрант всюду плотно покрыт характеристиками (рис. 69), при- причем через каждую его точку проходит одна и только одна ха- характеристика. Эта характеристика переносит в данную точку граничное значение. Решение однозначно определено и непре- непрерывно во всем первом квадранте. Если краевые значения гладки (и согласованы в начале координат), то решение также будет гладким. Второй случай. Краевые значения монотонны указанным выше образом, но имеют разрывы. Для простоты положим ы @, t) = a, и(х, 0)=а при х<х0, и(х, 0) = Ь>а при х^>х0, так что разрыв не нарушает предыдущее условие монотонности. Левее разрыва характеристики на плоскости (х, t) имеют на- наклон I/a, a правее разрыва — меньший наклон \[Ь (рис. 70, а).
§2] КВАЗИЛИНЕЙНОЕ УРАВНЕНИЕ 355 Проведем обе характеристики из точки разрыва начальных дан- данных; на рисунке они показаны жирными стрелками. Левее левой и правее правой из них через каждую точку плоскости проходит одна и только одна характеристика, т. е. решение определено и единственно. А между ними нет ни одной характеристики и ре- решение не определено. Потребуем корректности задачи, т. е. устойчивости решения относительно бесконечно малых возмущений начальных данных. Это позволит нам доопределить решение. Сгладим разрыв началь- начальных данных, заменив его непрерывным монотонным переходом на бесконечно узком интервале. Тогда в пустом угле появится «веер» характеристик и наклон каждой характеристики определит зна- значение решения на ней (рис. 70, б). I / ; t х0 8) Рис. 70. Легко видеть, что доопределенное решение будет иметь сле- следующий вид: и (х, f)=a при х — х0 «S at, и (х, t) = (х — xo)/t при at^x — х0^Ы, и(х, t) = b при Ы^х — х0. D5) Поэтому оно непрерывно на всей плоскости, кроме точки х = х0, t — О. Значит, такой разрыв начальных данных сглажи- сглаживается со временем. Но след разрыва остается: на жирных харак- характеристиках производные решения будут разрывны. Во всех осталь- остальных точках решение будет гладким, если начальные данные были гладкими. Разрыв производных называют слабым разрывом решения. Слабые разрывы квазилинейного уравнения переноса распро- распространяются по характеристикам, как и в линейном уравнении переноса. Третий случай. Пусть нарушено данное выше условие монотонности. Опять положим и (х, 0) = а при х<.х0, и(х, 0) = = Ь при х>х0, но теперь потребуем, чтобы а>Ь>0. Тогда характеристики будут иметь вид, изображенный на рис. 71.
356 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X равно не меняется, 't так В угле, образованном жирными характеристиками, через каждую точку проходят две характеристики, приносящие в нее разные значения функции! Вне этого угла решение однозначно опреде- определено, а внутри угла оно неоднозначно. В этом случае непрерывное решение построить не удается. Сглаживание разрыва начальных данных не помогает: ход харак- характеристик на некотором расстоянии от точки х — х0, t — О все что неоднозначность остается. Значит, однозначное решение должно быть раз- разрывным, т. е. оно будет обобщенным решением дифференциального уравне- уравнения. Обобщенное решение удовлетворяет некоторому интегральному уравнению, которое получается из определенной дивергентной формы записи данного дифференциального уравнения. Разные дивергентные формы записи одного и того же уравнения приводят к разным разрывным решениям, хотя гладкие ре- решения для всех дивергентных форм одинаковы. Дивергентная форма, соответствующая физическому закону сохранения, опре- определяет правильное решение (его называют также допустимым). Уравнение D4) не имеет физического смысла, и естественного закона сохранения для него нет. Постулируем такую дивергент- дивергентную форму: ди д /и3 \ х Рис. 71. = 0. D6) Будем искать решение, имеющее единственный разрыв. Пусть наклон линии разрыва соответствует скорости D, т. е. разрыв бежит, как волна. По поведению характеристик видно (рис. 72), что искомое решение имеет вид D7) и(х, t)=a при x — и (х, t) = b при х — х0 > Dt. Проинтегрировав D6) по площади прямоугольника со сторонами т и h = Dx, получим $(иЬав-и5«) dt = (a-b)h+ Отсюда скорость распространения разрыва равна D8)
§2] КВАЗИЛИНЕЙНОЕ УРАВНЕНИЕ 357 Разрыв самого решения называют сильным разрывом (а в газо- газодинамике—ударной волной). Сильный разрыв квазилинейного уравнения распространяется не по характеристике. В теории квазилинейных уравнений доказывается, что только такое обоб- обобщенное решение устойчиво относительно малых возмущений начальных данных. Четвертый случай, когда функция и (х, 0) непрерывна, но убывает на каком-то интервале, сводится к третьему. По- прежнему пересечение характеристик приводит к образованию сильного разрыва (рис. 73). Местная скорость разрыва будет определяться по формуле типа D8) приносимыми в данную точку значениями решения и уже не будет постоянной. Существенно, Рис. 73. что здесь при непрерывных и гладких начальных данных с тече- течением времени возникают сильные разрывы решения. Число раз- разрывов со временем тоже может измениться. Замечание 1. Если вместо D6) мы постулируем другой закон сохранения, например: дх D9) то скорость ударной волны изменится. Но для слабых ударных волн, на которых решение мало меняется, скорость ударной волны будет отличаться от D8) в 1 + 0 (е2) раз, где т. е. изменится очень мало. Замечание 2. Разрывные решения линейных уравнений можно рассматривать как предел последовательности непрерыв- непрерывных и гладких решений. Для квазилинейных уравнений это сделать не удается. 2. Однородные схемы. Выше встречались случаи, когда на недостаточно гладких решениях (т. е. имеющих малое число непрерывных производных) порядок аппроксимации и порядок
358 УРАВНЕНИЕ ПЕРЕНОСА 1ГЛ. X точности разностной схемы был ниже, чем на более гладких решениях. Особенно сильно ухудшается точность расчета, если искомое решение содержит сильные или слабые разрывы; некото- некоторые разностные схемы при этом приводят даже к грубо ошибоч- ошибочным результатам. Удовлетворительные результаты на таких решениях дают два типа схем — однородные схемы (которые не надо путать с линей- линейными однородными схемами для линейных однородных уравнений) и схемы с явным выделением особенностей решения. Однородные схемы (называемые также схемами сквоз- сквозного счета) более просты и широко распространены в практике численных расчетов. В этих схемах шаблон и разностные аналоги производных выбираются так, чтобы нужная аппроксимация была обеспечена всюду, в том числе и на особенностях решения. Поэтому весь расчет ведется по однотипным разностным уравне- уравнениям без явного выделения особенностей. Например, из рис. 68 видно, что схема A1) позволяет рас- рассчитывать перенос разрывных начальных данных без явного выде- выделения этого разрыва. Однородные схемы не громоздки, требуют умеренного объема вычислений, и каждая хорошая схема пригодна для широкого класса задач. Программы для ЭВМ, составленные на их основе, также позволяют без заметных переделок рассчитывать широкий круг задач. Зато точность расчета по однородным схемам обычно ниже, чем в схемах с выделением особенностей. По однородным схемам успешно проводят расчеты даже таких сложных задач, как задачи многомерной магнитной газодинамики, в которых возникает большое число ударных, тепловых и других волн, являющихся разрывами. Схемы с выделением особенностей. В них каждую особенность решения выделяют и детально описывают. В промежутках между особенностями решение непрерывно и достаточно гладко; в этих промежутках дифференциаль- дифференциальное уравнение аппроксимируют разностной схемой. Уравнения, описывающие особенности, служат своеобразными внутрен- внутренними краевыми условиями, связывающими между собой разностные уравнения в соседних промежутках. Особенности решения могут быть связаны с разрывами или нарушением гладкости начальных данных и коэффициентов уравнения, с возникновением ударных волн, с образованием слабых разрывов при столкновении ударной волны с какой-либо особенностью решения. Число особенностей с течением времени может меняться. К каждому типу особенностей нужен индивидуаль- индивидуальный подход. Очевидно, явно учесть все особенности можно только в наиболее Простых задачах. Схемы с выделением даже небольшого количества особенностей очень громоздки. Они нестандартны, т. е. каждый сравнительно узкий класс задач требует разработку своей схемы расчета- Но зато их точность существенно выше, чем точность прочих схем. Поэтому их используют в задачах, имеющих мало существенных особенностей и требующих особенно высокой точности расчета. Такие схемы мы рассматривать не будем.
§ 2] КВАЗИЛИНЕЙНОЕ УРАВНЕНИЕ 359 3, Псевдовязкость. Основную трудность для вычислений по разностным схемам представляют сильные разрывы решения. Эффективный прием расчета задач с разрывными решениями заключается в следующем. Подберем такую «малую» добавку к исходному уравнению, чтобы его разрывные решения превра- превратились в непрерывные и достаточно гладкие. Тогда составить разностную схему для численного расчета этих- гладких решений уже несложно. Гладкие решения присущи уравнениям с диссипативными членами типа вязкого трения. Поэтому добавляемый в исходное уравнение член должен играть роль вязкости. Его называют псевдовязкостью, а также искусственной или математической вязкостью. Рассмотрим подробно указанный способ на примере квази- квазилинейного уравнения переноса D4). Заменим его следующим уравнением: ди . ди . 82 д /ди\2 где последний член является псевдовязкостью, а коэффициент е2 мал. Очевидно, на дважды непрерывно дифференцируемых функ- функциях последний член при малых е невелик, так что для всех достаточно гладких решений исходного уравнения D4) найдутся близкие к ним гладкие решения уравнения. E0). Выясним, нет ли среди гладких решений уравнения E0) такого, которое напоминало бы ударную волну D7): при x<C.Dt, <а при x>Dt, движущуюся со скоростью D — (a-\-b)/2. Будем искать автомо- автомодельное решение в виде бегущей волны иг(х, t) = f(x-Dt). Подставляя его в E0), получим Приравнивая каждый из сомножителей нулю, получим два типа решений: /х = const, f2 = D + const • sin —-—. Из них можно сконструировать решение, похожее на размытую
36° УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X при X-^ sin^ при -f<^_^<f, E1) при Y<x~Dt- Это решение не только непрерывно, но даже имеет кусочно-непре- кусочно-непрерывную вторую производную. При е->0 оно переходит в удар- ударную волну- D7). Таким образом, и гладкие и разрывные решения исходного уравнения D4) можно рассматривать как предел соответствующих гладких решений уравнения E0) при е-*-0. Значит, вместо чис- численного решения квазилинейного уравнения переноса можно чис- численно решать уравнение E0) при достаточно малом 8. Решения последнего уравнения гладки, и их можно находить при помощи обычных однородных разностных схем. Замечание 1. Коэффициент псевдовязкости обычно связы- связывают с шагом сетки. Например, если в уравнении E0) положить e = vh, v = const, E2) то любой сильный разрыв «размазывается» на одно и то же число jtv«=;3v интервалов сетки. Тогда при h-*-0 уравнение с псевдовязкостью E0) автоматически переходит в исходное урав- уравнение D4), а сглаженная ударная волна E1) — в ударную вол- волну D7). Пример. Составим простейшую (далеко не лучшую) раз- разностную схему для уравнения E0), а тем самым —и для урав- уравнения D4); сетку для простоты предполагаем равномерной: у (Уп ~yn)+j Уп (Уп - Уп-д + ^ [(Уп+1 ~ УпJ - (Уп ~ Уп-iJ] = 0. E3) Это явная схема, так что разностное решение существует и единственно. Не проводя полного исследования схемы, определим только условие ее устойчивости. Схема E3) нелинейна, поэтому сначала линеаризуем ее и получим уравнение для роста погрешности Ьу: 1*1 1 = О. E4)
§ 21 КВАЗИЛИНЕЙНОЕ УРАВНЕНИЕ 361 Коэффициенты при Ьу переменные; применяя принцип «заморо- «замороженных» коэффициентов, будем считать их постоянными. Попутно произведем замены yn — yn-ils^hux и т. д. Тогда E4) примет вид — {Ьуп - Ьуп) + uxbyn + j (8уп - Ьуп^) + ~h ихх фуп + 1-&ул-д + +1 их (Ьуп + х - 28уп + Ьуп _ х) = 0. E5) Рассматривая рост ошибки, имеющей вид 8г/я^ехр {iqxn), и делая в E5) стандартную подстановку: Ьуа = ei4x, Ьуа±1= е{" <x±h\ Ьуп = определим множитель роста гармоники: Рд = 1 -f (I -e-»h) - х [их + i|3 uxx sin qh-^uxsin2§]. E6) Если согласно E2) выбран коэффициент псевдовязкости г<~^Н- то величина в квадратных скобках ограничена равномерно по шагу h. Тогда последний член в E6) есть О (т) и не нарушает устой- устойчивости. Первые же два члена аналогичны множителю A5) и приводят к условию устойчивости типа Куранта: и(х, t)x^h, E7) где роль скорости играет величина решения и (напомним, однако, что для нелинейных схем этот способ исследования устойчивости является не строгим, а лишь правдоподобным). Схема E3) является примером однородной схемы для расчета задач с произвольным числом движущихся разрывов, причем число разрывов может меняться с течением времени. Заметим, что для обеспечения хорошей точности расчета зона сглажива- сглаживания разрыва должна быть небольшой, C—5 интервалов) и сумма зон сглаживания всех разрывов должна быть мала по сравне- сравнению с общим числом узлов сетки N. Тем самым, фактически общее число разрывов не может быть большим. Замечание 2. Псевдовязкость вида E0) обеспечивает схо- сходимость к тем обобщенным решениям уравнения D4), которые соответствуют дивергентной форме D6). Для другого уравнения или даже для другой дивергентной формы того же уравнения эта псевдовязкость, вообще говоря, непригодна. Замечание 3. Псевдовязкость E0), называемая квадратич- квадратичной, имеет один заметный недостаток: не все решения уравне- уравнения E0) являются дважды дифференцируемыми. В самом деле, нетрудно проверить, что кусочно-гладкое решение D5) также удовлетворяет этому уравнению. На таких решениях однородные
362 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X схемы, рассчитанные обычно на дважды или трижды непрерывно дифференцируемые функции, имеют пониженный порядок аппрок- аппроксимации. Этот недостаток устраняется, если использовать для уравне- уравнения D4) другую псевдовязкость, называемую линейной: Щ + иих = гихх, е = О (h). E8) Уравнение E8) напоминает уравнение теплопроводности, все решения которого многократно дифференцируемы. Его нетрудно исследовать аналогично уравнению E0). Однако линейная псевдо- псевдовязкость тоже не лишена недостатков. 4. Ложная сходимость. На практике для нелинейных урав- уравнений и схем редко удается строго доказать сходимость; напри- например, сходимость разностных схем для уравнений газодинамики не доказана. Поэтому зачастую пользуются следующими сообра- соображениями. Проверим локальную аппроксимацию схемы и затем на численных расчетах со сгущением сеток убедимся, что раз- разностное решение при h-*-0 сходится к какой-то предельной функции. Поскольку нет расходимости, то расчет устойчив, а из устойчивости и аппроксимации следует сходимость к реше- решению исходной задачи. Эти рассуждения справедливы, если точное_ решение доста- достаточно гладко. Если же решение имеет сильные или слабые раз- разрывы, то локальной аппроксимации в точках разрыва нет и предыдущие рассуждения могут привести к неверному результату. Пример. Приведем разностную схему, которая сходится, но не к точному решению. Возьмем схему E3) для уравнения с псевдовязкрстью E0) и тем самым для квазилинейного уравнения переноса D4); поло- положим в ней 8 = 0, т. е. выбросим псевдовязкость. Тогда схема примет вид \(Pn-yJ + jya(y«-yn-d = O, E9) напоминающий явную схему (9) для линейного уравнения пере- переноса. Проведем по схеме E9) расчет движения сильного раз- разрыва D7). Пусть начальные данные таковы, что уп = а при so, уп = Ъ при п^п0. * ' Выберем шаг по времени x = h/b. Подставляя F0) в E9), нетрудно убедиться, что на следующем слое разностное решение будет равно рп = а при яй?п0, Уп = Ь при rtSstt+l * '
КВАЗИЛИНЕЙНОЕ УРАВНЕНИЕ 363 Это значит, что разрыв продвинулся за один временной шаг ровно на один интервал сетки и сохранил свою форму. Очевидно, так же он будет двигаться и на всех других шагах по времени. Таким образом, в этом расчете сильный разрыв будет дви- двигаться без сглаживания, точно сохраняя форму, но с неправиль- неправильной скоростью Значит, при br — h-^0 разностное решение F0)—F1) сходится к предельной функции и(х, 0 = а при х — xo<cbt, b при х- 01, F2) тт которая отлична от точного решения D7). Таким образом, для задач с разрывными или недостаточно гладкими решениями (а также при раз- разрывных или недостаточно гладких коэф- коэффициентах уравнения) визуально наблю- наблюдаемая сходимость разностного решения к пределу при т-*-0, h-+0 может ока- оказаться ложной. 5. Консервативные схемы. Ложной сходимости можно избежать, используя консервативные схемы. Эти схемы со- составляют методом баланса, исходя из физических законов сохранения и соблюдая дополнительное пра- правило, описанное ниже. Сначала разберем законы сохранения на примере уравне- уравнения D4). Запишем ту дивергентную форму этого уравнения D6), которая в п. 1 была условно принята за правильную: Рис. 74. ди . д F3) Выбирая отдельную ячейку сетки (рис. 74) и интегрируя по ней уравнение F3), получим точное интегральное соотношение F4) Уравнение F3) можно проинтегрировать не по отдельной ячейке, а по всей области
364 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X и получить аналогичное интегральное соотношение: J (и* _ ыо) dx + ±^ (urN -ul)dt = O. F5) Это соотношение напоминает физические законы сохранения: первый интеграл дает изменение ^udx за истекшее время, а вто- второй есть разность потоков V2 jj ^ через правую и левую гра- границу. Соотношение F5) является законом сохранения для дан- данной задачи. Очевидно, соотношение F4) является законом сохранения для каждой отдельной ячейки; оно содержит потоки и другие вели- величины на границах этой ячейки. Просуммируем F4) по всем ячей- ячейкам области G: N М — 1 1 1 п = 1т = О 4 {u%-u*n-ddt = 0. F6) Легко видеть, что интегралы по тем границам ячеек, которые лежат внутри G, попарно уничтожаются; остаются только инте- интегралы по наружной границе, и F6) совпадает с F5). Иными словами, закон сохранения во всей области есть точное следствие закона сохранения в отдельных ячейках. Не всякая разностная схема обладает таким свойством. На- Например, возьмем схему с ложной сходимостью E9), умножим обе части на т/г и просуммируем по всем ячейкам: N М — 1 2 У т/г I — (ут +1 — ут) + -г Ут (Ут — ут Л1 = 0. Преобразуем второе слагаемое в квадратных скобках: . . 1 , ., ,ч,1/ чо Уп \Уп — Уп-l) — ~n \Уп Уп — 1JT ~п \Уп — Уп -i) • Тогда F7) легко привести к следующему виду: N М -1 2h (у™ ~ Уп)+т 2 т [{у?/J ~ (yff]+д=о» F8) п—1 т=0 ?де А = у У У T(C-^n'-iJ>°- F9) п=1т=0
§ 2] КВАЗИЛИНЕЙНОЕ УРАВНЕНИЕ 365 Первая и вторая суммы в F8) являются разностными аналогами интегралов в F5); они не содержат значений у™ во внутренних узлах области G. Но остается еще третья (двойная) сумма F9), содержащая внутренние узлы неустранимым образом и заведомо не равная нулю. Поэтому при расчете по схеме E9) разностный закон сохра- сохранения во всей области G нарушается на величину А. Такие схемы называют неконсервативными, а величину А называют дисба- дисбалансом схемы. Построим консервативную схему, т. е. такую, у которой дис- дисбаланс равен нулю. Для этого в интегральном соотношении F4) аппроксимируем интегралы линейными квадратурными форму- формулами. Если, для определенности, воспользоваться фор- мулой прямоугольников с теми же узлами, что в предыдущей схеме, то получим явную схему следую- следующего вида: — {Чп — Уп)-\-п7 (м\ — Цп — \) = 0. G0) Рип 7с Суммирование G0) по всем ячейкам дает именно две первые суммы в F8), и дисбаланса не возникает. Выбирая другие шаблоны, можно построить различные консер- консервативные схемы для уравнения D4). Например, если вычислить интегралы в F4) по шаблону рис. 75, то получим неявную схему &-&_i) = 0. G1а) Это —схема бегущего счета, и для выполнения вычислений ее удобно переписать в следующем виде: 2Н ' "* -г, G16) здесь из двух корней квадратного уравнения G1а) согласно усло- условию и(х, t)>0 выбран положительный. Суммируя G1а) повеем ячейкам, получим разностный закон сохранения: N М 2h (ум _ уо\ 4- -I У т UyiiY - (t/Pf] = 0. G2) п=1 т—\ Вторая сумма немного отличается от второй суммы F8), но это отличие несущественно. Дисбаланс отсутствует, так что схема G1) консервативна. Схема G1) любопытна во многих отношениях. Она является схемой сквоз- сквозного счета; хотя ее сходимость строго не доказана, она успешно используется для расчета сильных разрывов даже в отсутствие псевдовязкости (по-види-
366 УРАВНЕНИЕ ПЕРЕНОСА [ГЛ. X мому, это связано с наличием достаточно большой аппроксимационной вяз- вязкости схемы). Схема монотонна. Есть обобщения этой схемы, сохраняющие все ее хорошие свойства и существенно повышающие точность расчета [70]. Интерес к таким схемам объясняется тем, что многие изложенные здесь идеи удается перенести на случай газодинамики и других сложных и важных задач. Консервативные схемы выражают закон сохранения на сетке, т. е. они качественно похожи на исходное интегральное уравне- уравнение. Неконсервативные схемы этим свойством не обладают. По- Поэтому, по сравнению с неконсервативными схемами, консерватив- консервативные схемы обычно приводят к существенному улучшению точ- точности расчета как разрывных, так и гладких решений. Построены схемы, одновременно удовлетворяющие большому числу различных физических законов сохранения (см. [34]). Эти схемы, названные полностью консервативными, оказались полез- полезными в задачах магнитной газодинамики, физики разреженной плазмы и ряде других. Таким образом, понятие консервативности широко исполь- используется при составлении и исследовании разностных схем. Заметим, однако, что различные полезные свойства схем (кон- (консервативность, монотонность, высокий порядок' аппроксимации) нередко противоречат друг другу, так что может не существовать схемы, одновременно удовлетворяющей всем этим требованиям. Кроме того, не для всех классов уравнений консервативность является необходимым условием сходимости, и составлено немало хороших, хотя и неконсервативных схем. ЗАДАЧИ 1. Получить для схемы (9) априорную оценку точности. 2. Исследовать сходимость схем A0) и A1). 3. Получить невязки схем A0) и A1) и сравнить их между собой и с не- невязкой A3) схемы (9). 4. Записать схемы A0)—A1) для случая неравномерной сетки. 5. Исследовать устойчивость схемы B5) методом разделения переменных. 6. Показать, что схема B5) имеет аппроксимацию О(т+/г2). 7. Проверить аппроксимацию и устойчивость схемы B9) для двумерного уравнения переноса B7а). 8. Составить для двумерного уравнения переноса B7а) явную схему, ана- аналогичную схеме (9), и исследовать ее устойчивость. 9. Составить для двумерного уравнения переноса B7а) симметричную схему, аналогичную схеме A2), и исследовать ее. 10. Показать, что схема C2) для уравнения переноса с поглощением C0) сохраняет положительность решения (т. е. разностное решение положительно, если положительны начальные данные) при любом Ь^0, если ст=ёА. 11. Исследовать, монотонна ли схема A0) и при каком условии. 12. Определить скорость ударной волны, соответствующую дивергентной форме D9) записи уравнения D4). Сравнить эту скорость со скоростью D8) и убедиться в правильности замечания 1 к § 2, п. 1.
ЗАДАЧИ 367 13. Исследовать квазилинейное уравнение переноса с линейной псевдовяз- псевдовязкостью E8); показать, что среди его решений есть сглаженная ударная волна a+bexp V^—(x—xQ — Dt)\ «e(*. 0 = ЛЛ Г 14. Для уравнения с линейной псевдовязкостью E8) составить какую- нибудь разностную схему и исследовать ее устойчивость. 15. Исследовать устойчивость нелинейных схем G0) и G1). 16. Исследовать аппроксимацию схем G0) и G1) на дважды непрерывно дифференцируемых решениях. 17. Доказать монотонность схемы G1).
ГЛАВА XI ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ Глава XI посвящена численному решению уравнений параболического типа. В § 1 рассмотрены одномерные задачи, начиная от случая простейшего уравнения с постоянными коэффициентами ,и кончая квазилинейным уравне- уравнением с разрывными коэффициентами в криволинейных координатах. Разобраны основные разностные схемы, используемые для решения таких задач. В § 2 обсуждены принципиальные трудности, возникающие при переходе к случаю многих измерений; изложены продольно-поперечная прогонка, даю- дающая хорошие результаты при решении задач с двумя пространственными переменными, и локально-одномерный метод, пригодный при любом числе измерений. § 1. Одномерные уравнения 1. Постановки задач. К параболическим уравнениям приводят задачи теплопроводности, диффузии и ряд других. Типичной пол- полной постановкой одномерной задачи является, например, первая краевая задача для случая линейной теплопроводности в однород- однородной среде: щ(х, f)=kuxx(x, t) + f(x, t), 1 k = const > 0, 0 < x < a, 0 < t ==? T, J u(x, 0) = p(x), 0 ==?*==?a, A6) и@, 0 = M0. «(^. 0 = M0. O^t^T. B) Она включает в себя задание самого уравнения, начальных дан- данных на некотором отрезке и краевых условий на обоих концах этого отрезка. Наиболее хорошо изучены линейные задачи, в которых и урав- уравнение и краевые условия линейны. Для таких задач рассматри- рассматривают три типа краевых условий. Условия первого рода B) при- применительно к уравнению теплопроводности означают, что на гра- границах задана зависимость температуры и от времени. Условия второго рода МО, 0 = 14@. М<*. 0 = 14@ C)
§ 1] ОДНОМЕРНЫЕ УРАВНЕНИЯ 369 соответствуют заданию тепловых потоков через границы. Условия третьего рода и @, t) + alUx@> 0=14@. " fa» t) + a2ux(a, 0=МО D) возникают, если на границах имеется линейный (ньютоновский) теплообмен с окружающей средой. Для задачи A) с краевыми условиями B), C) или D) корректность постановки доказана (см., например, [40]). Часто встречаются и нелинейные задачи. Например, в главе IX было рассмотрено квазилинейное уравнение (9.9), связанное с задачами теплопроводности в плазме. Краевые условия также могут быть нелинейными; так, остывание черного тела за счет излучения с поверхности приводит к краевому условию В главе IX отмечалась важная качественная особенность реше- решений параболических уравнений: разрывы начальных данных сгла- сглаживаются с течением времени. Другое любопытное свойство следует из вида функции точеч- точечного источника на бесконечной прямой для линейного уравне- уравнения A) *): Если />0, то G(x, I, 0>0 при сколь угодно больших х и |. Следовательно, при 1~>Ь температура в каждой точке х зависит от начальных данных во всех точках ? бесконечной прямой, сколь угодно удаленных от х. Поэтому говорят, что в случае линейной теплопроводности скорость распространения тепла и область влияния бесконечны. Строго говоря, параболическое уравнение лишь приближенно описывает процесс теплопроводности. На самом деле скорость распространения тепла конечна и не превышает (при молекуляр- молекулярной или электронной теплопроводности) тепловой скорости час- частиц. Влияние же удаленных точек, как видно из выражения для функции Грина E), ослабевает очень быстро; отрезку времени At соответствует характерная зона влияния Ах^УkAt. Эти" соображения надо учитывать при построении разностных схем, поскольку, как отмечалось в главе X, правильный учет зоны влияния необходим для устойчивости схемы. 2. Семейство неявных схем. Рассмотрим простейшие, но хоро- хорошие разностные схемы для уравнения теплопроводности A) *) Вывод этой формулы см., например, в [40].
370 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI с постоянным коэффициентом: ut = kuxx + f, 0<.х<.а, 0<.t^:T (k = const >0). Возьмем в области G = [0 «? х ==? а] х [0 й^ t sc T] прямоуголь- прямоугольную сетку (рис. 76), для простоты равномерную, с шагами /гит. Выберем шеститочечный шаблон, изображенный на рисунке жир- жирными линиями, и составим на нем следующую двуслойную схему: Y (У* — Уг) = -^г (Уп-1 — %Уп + Уп+i) + ^° (Уп-i — 2г/л + Уп+i) + Ф«> l^ftsSAf— 1 (а = const). Fa) Здесь записано меньше уравнений, чем имеется неизвестных уп. Недостающие два уравнения находим из краевых условий; напри- например, краевые условия первого рода B) дают соотношения У0 = ^1 (tmn). УМ = \h (tm+l) • F6) В качестве правой части фл часто вы- выбирают значение q>n — f(xn, tm + t/2). Схема Fа, б) содержит параметр а; он является весовым множителем при Рис. 76, пространственной производной с верх- верхнего слоя. Поэтому Fа, 6) есть одно- параметрическое семейство схем. Меняя вес о, можно добиться улучшения тех или иных свойств схемы. Исследуем схему Fа, б). Существование решения и его вычисление. Если сх = О, то схема F). переходит в рассмотренную ранее явную схему (9.18). Разностное решение при этом легко вычисляется, его существование и единственность очевидны. Если сг=?^О, то схема F) существенно неявна. Перепишем ее в следующем виде: [ X tf-1; G) На каждом слое уравнения G) образуют линейную систему с неизвестными уп, O^n^N. Система G) имеет трехдиагональ- ную матрицу и решается методом прогонки. При сх>0 решение существует и единственно, а прогонка устойчива, ибо диагональ- диагональный член матрицы G) преобладает: его модуль больше суммы модулей недиагональных членов.
§ П ОДНОМЕРНЫЕ УРАВНЕНИЯ 371 Таким образом, при а^=0 решение разностной схемы F) существует и единственно при любых ограниченных начальных и краевых данных и правой части. Это решение легко вычис- вычисляется, причем за небольшое число действий. Замечание 1. При о = 1 схема F) использует только четыре точки шаблона и называется чисто неявной. При а =1/2 схему называют схемой с полусуммой или симметричной (имеется в виду симметрия по времени, ибо схема F) симметрична по про- пространству при любом а). Аппроксимация. Разложим решение в узлах шаблона рис. 76 по формуле Тейлора, выбирая за центр разложения точку (хп, t-\-xl2)*). Тогда получим со ^\Y-di + hdx) 4 т.2 тЛ Л2 т3 тгй + -g- uit + -j- Щх + ~y uxx + -$- иш + -у- ч-ttx + т/г2 /г3 т4 %3h + -j- м^л + "q" "ллглг + 384 Щш -\—48" Utttx ~^ . т2Л2 т/г3 .Л* . ~\ [g~ ^«лл- Т—]2~ utxxx ~Т~ 4~ "•«'•«¦¦1;-«: "Г • • ч где все производные отнесены к центру разложения. Разложение для «„_! получается из (8) изменением знака h, разложение для ип+1 — изменением знака т; для определения йп надо в (8) положить h = 0 и т. д. Подставляя эти разложения в выраже- выражение невязки схемы Fа), получим (щ-kuxx-tf+Jll -\{йп~и wn+l) T ^2 ("л-1 *"Мя "т" "л+1. 3 __„ ..I _ = kx {а — -ту) щхх + 4- (kuttxx — -о- иш) + (9) Отсюда видно, что если положить <pn*=fn==f (xn, t + r/2), то при <зфх1% схема F) имеет аппроксимацию О{%-\-№)\ симмет- симметричная схема с a = V2 имеет более хорошую аппроксимацию ОB + /2) *) Для обозначения середины временного шага будем часто употреблять запись F (x, t+x/2) = F (х).
372 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI Надо проверить аппроксимацию не только уравнения, но и начальных и краевых условий. Начальное условие A6) и крае- краевые условия первого рода B) мы аппроксимировали точно, положив у°п = \х{хп), yT = n1(tm), i/N = ih(tm). Аппроксимация краевых усло- условий второго или третьего рода уже не была бы точной, а содер- содержала бы некоторую погрешность, как это отмечалось в главе IX. Замечание 2. Для k = const за счет специального выбора веса и правой части можно построить схемы повышенной точности. Для решения и (х, f) дифференциального уравнения Aа) справед- справедливо соотношение 32 и к f Щхх = ~fafiUt~ RUxxxx + Jxx- Подставляя его в (9), преобразуем невязку: % = -J (kuUxx - у ц,„) + [т/г2 (о - |) + нгг] ихххх + + [/Ца - у) fxx + фя - /el + о (т2 + /г2). A0) Если положить то обе квадратные скобки в A0) обратятся в нуль и погреш- погрешность аппроксимации схемы F), A1) будет равной О(т2) +о(/г2). Удерживая в формуле Тейлора (8) большее число членов, можно показать, что невязка A0) при этом равна ^ = 0 (t2 + /i4). Замечание 3. Можно заменить fxx в A1) второй простран- пространственной разностью, получая следующее выражение для правой части: Ф/+/ + / Этот вариант схемы повышенной точности имеет аппроксимацию также 0 (т2 + Л4). Замечание 4. Приведенные оценки аппроксимации спра- справедливы, если непрерывны те производные решения и (х, t), кото- которые входят в выражение главного члена невязки. Устойчивость. Исследуем устойчивость по начальным данным методом разделения переменных. Поскольку схема F) линейна, то для этого достаточно положить в ней фя = 0 и сде- сделать стандартную подстановку г/„ = ехр (inqxn/a), уп = рдх xexp(mqxja). Тогда легко получить множитель роста гармоники
§ 1] ОДНОМЕРНЫЕ УРАВНЕНИЯ 373 Он вещественный, причем при любом а ^ 0 справедливо неравен- неравенство p?sg 1. Следовательно, схема F) устойчива, если при любом q выполняется условие —1 ^рд. Нетрудно проверить, что это спра- справедливо при Последнее неравенство является условием равномерной устойчи- устойчивости схемы F) по начальным данным (в \\-\\t,)- Примененный здесь простейший вариант метода резделения переменных не является строгим. Однако для схемы на равномерной сетке F) нетрудно проверить, что функции Vg (xn) = sin (nqxn/a), I sS q s? N — 1, xn = nh, A5) являются собственными функциями разностной задачи Штурма — Лиувилля для F). Соответствующие им собственные значения имеют вид A3), причем ц ^ N— 1. При их помощи можно получить строгое необходимое и достаточ- достаточное условие устойчивости, практически не отличающееся от A4). Дополнительное условие устойчивости по правой части (9.54), как легко видеть из F), выполняется при любых т. и h. Следо- Следовательно, схема устойчива по правой части, если выполнено условие A4) равномерной устойчивости по начальным данным. Для чисто неявной схемы, симметричной схемы и схемы повышенной точности условие A4) выполняется при любом соот- соотношении шагов т и h; таким образом, эти схемы безусловно устойчивы. Для явной схемы условие A4) выполняется только при i^h2/Bk), т. е. схема условно устойчива, что мы уже уста- установили в главе IX. Замечание 5. Справедливо более сильное утверждение: все эти схемы устойчивы в |) ¦ ||с. В общем случае для доказатель- доказательства этого утверждения приходится применять более сложную технику. Однако из принципа максимума нетрудно получить достаточное условие устойчивости в норме || • |]с: Оно более жестко, чем условие A4), но в случае явной и чисто неявной схем из него следует сделанное выше утверждение. Сходимость. Из сказанного выше следует, что на решениях и (х, t), имеющих достаточное число непрерывных производных, семейство схем F) с весом Osgcrsgl обеспечивает равномерную сходимость при выполнении условия устойчивости A4). Для схем с офх1ъ погрешность \\у — и\\с~0{%-{-№), т. е. схемы имеют первый порядок точности по времени и второй — по пространству. Для симметричной схемы (а —1/2) погрешность равна О(т2 + /г2), т. е. порядок точности по обеим переменным
374 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ 1ГЛ. XI второй. Схема повышенной точности с весом A1) и соответственно выбранной ф„ имеет погрешность O(x2-f/t4), Замечание 6. Поскольку схема F) двуслойная, то она без изменения переносится на неравномерную сетку по t (разу- (разумеется, при шаге по времени хт надо ставить его индекс). На неравномерную сетку по х эта схема легко обобщается. Достаточно соответствующим образом записать разностный аналог простран- пространственной производной: — ип хп+1 — хп~1 \ хп+1 ~ хп хп~ хп-\ В этом случае схема по-прежнему сходится в \-\с с погреш- погрешностью 0 (ft.2); однако доказательство этого утверждения значи- значительно сложнее й проводится методом энергетических неравенств (см. [30]). Подведем итоги. Поскольку погрешность почти для всех значений а есть О (/г2), то для получения хорошей точности при расчете по схемам F) надо брать довольно малый шаг h. В этом случае явная схема устойчива при настолько малом t==c/z2/B&), что для доведения расчета до заданного момента Т требуется сделать очень много шагов по времени, т. е. выполнить большой объем вычислений. Поэтому явные схемы для решения параболических уравнений почти никогда не употребляются. Обычно для расчетов берут двуслойные неявные безусловно устойчивые схемы. Чаще всего используют симметричную схему или схему повышенной точности, обеспечивающие хорошую точ- точность расчета при не слишком малых шагах т и h. Чисто неяв- неявная схема в случае k — const редко, употребляется из-за невы- невысокой точности (хотя при k = k(u) она часто выгодна благбдаря своей монотонности). 3. Асимптотическая устойчивость неявной схемы. Исследуем, при каких условиях схема F) позволяет рассчитывать задачи с нулевыми краевыми значениями для очень больших промежут- промежутков времени*), т. е. каковы условия асимптотической устойчи- устойчивости схемы. Выход решения параболического уравнения A) на асимпто- асимптотику при t-+oo определяется скоростью затухания начальных данных. Приведенное в главе IX разложение решения u(x,t) в ряд Фурье (9.7): и(х, 0= 0 = 1 *) Это нужно в задачах фильтрации нефти в пласте при многолетней эксплуа- эксплуатации скважин, задачах прогрева слоя вечной мерзлоты и ряде других.
§ 1J ОДНОМЕРНЫЕ УРАВНЕНИЯ 375 показывает, что медленнее всего затухает первая гармоника. Ей соответствует множитель роста ^i OH. A7) a2 ~"= Л2 4?т sin2 + 0 nqh sin2 ¦ nqh "** Ф 2a Чтобы схема F) была асимптотически устойчивой, ее множи- множители роста A3) не должны превосходить по модулю величины plf т. е. должно выполняться условие -l; A8) здесь мы преобразовали выражение A3) для рд к более удобному виду. Разумеется, достаточно выполнения этих неравенств с точ- точностью до членов О (т2), потому что наличие таких членов при- приведет к умножению амплитуд гармоник на величину [1 + 0 (%2)]'/х = = 1 + Ю(т), чем при т^-0 можно пренебречь, даже если t ве- велико. Нетрудно проверить, что правое неравенство A8) всегда выпол- выполняется. В самом деле, pq монотонно убывает при увеличении sin (nqhlBa)), т. е. при увеличении q. Поэтому наибольшим является pi, которое с учетом малости h равно ^, (я/г/2аJ . р1 (Л2/4^т)+о(лЛ/2аJ ^ а2 и совпадает с рх с точностью до членов О (т.2). Рассмотрим левое неравенство A8). Величина рд минимальна при q = N — \, когда sin (nqh/2a) «а 1. Подстановка этого значе- значения в левое неравенство A8) после несложных выкладок приво- приводит к условию асимптотической устойчивости =^ 2 ^ 4а2 Акт:' Оно несколько более жестко, чем условие обычной устойчи- устойчивости A4). Его можно переписать в следующем виде: Стоящий слева квадратный трехчлен отрицателен, если т лежит между его корнями:
376 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI Один из корней отрицателен, а другой положителен. Поэтому условие асимптотической устойчивости A9) принимает вид т ^§-k [2а - 1 + УBо - IJ + {nhlaf}. B0) В частности, симметричная схема асимптотически устойчива не при любом т, а только при Таким образом, схема F) при любом а формально является лишь асимптотически условно устойчивой. Однако фактически устойчивость условна только при a^Va + O (h), когда ограни- ограничение на шаги принимает вид т eg/г-const. Если же a>V2, то условие B0) требует, чтобы выполнялось неравенство т «^ ==g[2a2 Ba— 1)/л2&] = const, и по существу схема является асим- асимптотически безусловно устойчивой. Замечание. При больших t схемы с a>>V2 дают низкую точность. Поэтому для таких расчетов обычно используют схему с a=V2- 4. Монотонность. Точное решение и (х, f) уравнения ut = kuxx при определенных условиях сохраняет монотонность. Например, если начальные данные монотонны и температура на концах отрезка постоянна, то профиль температуры будет монотонен в любой момент времени. То же будет при постановке задачи Коши на бесконечной прямой. Выясним, сохраняет ли схема F) монотонность решения. Ограничимся задачей на бесконечной прямой, хотя при исполь- использовании результатов надо помнить, что краевые условия тоже влияют на монотонность (если разностное краевое условие не точное, то его неудачное написание может привести к немоно- немонотонности схемы). Для случая а = 0 результат почти очевиден. Получающаяся при этом явная схема имеет форму A0.34): 1 Уп= 2 РУ P 1 P P Необходимым и достаточным условием монотонности является неотрицательность коэффициентов рг. Видно, что если выполнено условие устойчивости этой схемы 2kx^h2, то коэффициенты неотрицательны и схема монотонна. В противном случае явная схема немонотонна.
§ II ОДНОМЕРНЫЕ УРАВНЕНИЯ 377 При о=*=0 запишем неявную схему F), полагая ф„ = 0 и выделяя преобладающий член на новом слое: Л2 \-i Г * , ^ , 1—0 J [у + у + ,22, Напишем для уп„х и уп+1 аналогичные выражения и подставим их в правую часть B2). При этом появятся другие значения с нового слоя; будем их исключать тем же способом. Коэффи- Коэффициенты при значениях yn±i на новом слое в правой части будут при этом убывать в геометрической прогрессии. Поэтому в пре- пределе соотношение B2) перейдет в явную схему вида A0.34) с бесконечной суммой, т. е. с бесконечной зоной влияния. Очевидно, если выполнено условие ^. B3) то все коэффициенты в B2) неотрицательны. Тогда все коэффи- коэффициенты в соответствующей явной схеме также будут неотрица- неотрицательны. Следовательно,, неравенство B3) есть достаточное условие "монотонности схемы F). Можно получить необходимое и достаточное условие моно- монотонности, приведя схему B2) после выполнения громоздких выкладок к явной форме A0.34): Уп = РоУя + ? P/ (Уп-i + Уп+д, B4а) /= 1 где при B46) Очевидно, Р/^яО при /5=1 и отрицательным может быть только коэффициент р0. Он неотрицателен, если B-е) А» Это условие необходимо и достаточно для монотонности схемы F); оно несколько слабее ограничения B3). Таким образом, неявные схемы монотонны только при очень малом шаге по времени %<~^№. По абсолютно устойчивым неяв- неявным схемам расчеты обычно проводят с шагом Xr^h, не гаран-
378 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI тирующим монотонности. Единственное исключение — чисто неяв- неявная схема с а=1, которая монотонна при любых шагах. Напомним, что достаточно гладкое решение на подробных сетках можно хорошо находить и по немонотонным схемам. На грубых же сетках, особенно при разрывных начальных данных, симметричная схема может привести к «разболтке» счета. Чисто неявная схема даже в этих условиях дает плавно меняющееся разностное решение, хотя точность его невысока. Замечание. Монотонные схемы для параболического урав- уравнения могут иметь второй порядок точности по пространству. Но, как и для уравнения переноса, для параболического урав- уравнения не известно ни одной монотонной схемы, которая имела бы второй порядок точности по времени (хотя никаких теорем о невозможности построения таких схем не доказано). 5. Явные схемы. Явные схемы имеют важное достоинство: они просто записываются и легко программируются на ЭВМ. Поэтому предпринималось много попыток построить для парабо- параболического уравнения ut = kuxx-\-f хорошую явную схему. Однако все эти попытки были неудачными. Например, Ричардсоном была предложена трехслойная схема, использую- использующая шаблон рис. 77 с аппроксимацией производных двусторонними разностями: 1 * v k 2^ (Уп — Уп)=р fei-i — 2Уп + Уп+i) + /л- B6) Из симметрии схемы легко усмотреть, что локальная погрешность ее аппрок- аппроксимации есть О(т2 + Л2). Однако схема Ричардсона непри- непригодна для расчетов, ибо она безусловно неустойчива. В са- самом деле, используем метод разделения переменных и сде- о лаем подстановку yn = exp (iqxn)tlyn = pqyn; поскольку схема трехслойна, надо дополнительно положить 1/„ = A/р?) уп. Тогда для множителя роста получим квадратное уравнение Рис. 77: Р* + 5" Рд sin2 §-1=0, B7) один из корней которого при любом q Ф 0 по модулю больше единицы на величину О {kxlhP). Дюфорт и Франкел в 1953 г. видоизменили схему Ричардсона, заменив в правой части B6) величину уп на (j/ra + J/n)/2: 1 * ^ k «¦ 2^ (Уп—Уп) = Л2 (Уп-1 — Уп~Уп + Уп-и)+!п- B8) Эта схема также явно разрешается относительно уп. Методом разделения пере- переменных нетрудно показать, что она безусловна устойчива. Однако погрешность аппроксимации схемы B8) равна О (т2 + й2 + т2/Л2), т. е. аппроксимация услов- условная. Поэтому сходимость имеет место, только если (т/й)->-0 при Л->-0. Фактически, чтобы в расчетах по схеме B8) получить точность О (й2), надо положить kx ~ Л2, как в явной схеме F). Правда, коэффициент пропорциональ- пропорциональности а = (кг/Л2) можно брать любым, ибо его величина влияет только на
§ 1] ОДНОМЕРНЫЕ УРАВНЕНИЯ 379 А rh точность расчета, а не на устойчивость. Поэтому схема Дюфорта—Франкела удобнее явной схемы F), но ненамного. Плохие качества явных схем обусловлены одним принципи- принципиальным ограничением: явная схема для параболического уравнения может сходиться, только если (х//г)->-0 при h-^-О. В самом деле, пусть решение в точке нового слоя выражается через г точек исходного слоя, т. е. через отрезок длиной rh (рис. 78). Тогда оно выражается через отрезок нуле- нулевого слоя длиной mrh = rth/x; этот отрезок будет зоной влияния. Для точного решения зона влияния бес- бесконечна. Значит, сходимость к точ- точному решению при х-+0, h-^-О воз- возможна, только если дополнительно (rth/x) -+¦ оо, т. е. (т/Л) -»- 0, что и ^_ требовалось доказать. ч— Этот результат можно уточнить. В п. 1 отмечалось, что для проме- промежутка времени т эффективной зо- зоной влияния является отрезок h*-^Y~kx: Следовательно, условие сходимости явных схем должно иметь вид kx-<h2. Поэтому для параболического уравнения неявные безусловно устойчивые схемы дают лучшие результаты, чем явные. Отметим одну любопытную схему для уравнения теплопроводности — схему бегущего счета на шаблоне рис. 79. На четных слоях счет идет слева направо (рис. 79, а) по формулам V7 mrh Рис. 78. 1 д +} хп> (—^ B9а) а на нечетных слоях ванным формулам справа налево (рис. 79, б) по симметрично преобразо- -^(Уп — Уп)=ы (Уп-1 — Уп — Уп + Уп+д+f t+- B96) Организация расчета здесь так же проста, как в явных схемах. В то же время _ зона влияния бесконечна благодаря наличию двух точек В) о———о верхнего слоя в каждом уравнении B9); поочередная смена направления расчета обеспечивает бесконечность зоны влия- влияния в обоих направлениях. Методом разделения переменных нетрудно проверить, что схема B9) безусловно устойчива. Невязка каждого из уравнений B9а) и B96), вычисленная разложением относи- относительно центров, показанных на шаблонах рис. 79 крести- крестиками, есть О (т2+тй + /г2-)-т/Л). Если бы расчет произ- производился Только по одному из этих уравнений, т. е. ис- использовалась бы односторонняя схема бегущего счета, то именно таким был бы порядок точности. Однако при сложении погрешностей прямого и обратного хода на после- последовательных слоях происходит их частичная компенсация. Поэтому двусто- а) Рис. 79.
380 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI ронняя схема бегущего счета B9), как показывает более детальный анализ, сходится со скоростью 0(тг + /г2 4-г2/й2). C0) Тем самым, она по своим свойствам близка к схеме Дюфорта — Франкела B8). 6. Наилучшая схема. Рассмотрим, как следует обобщать схему F) на уравнение теплопроводности с переменным коэффи- коэффициентом теплопроводности, которое имеет следующий вид: [*<*0?]+К*0 CD Случай непрерывных и /ладких коэффициентов несложен, и отдельно мы его разбирать не будем. Исследуем более об- общий случай, когда k(x, t) и f(x, *) —кусочно-непрерывные функции. Разрывы коэффициентов уравнения C1) возникают, например, на границах областей в задачах для слоистых сред или на ударных вол- волнах в движущейся среде. В точках разрыва коэффициентов решение и (х, t) будет иметь особенности, т. е. оно ¦vY//yi единственным. Для выделения допустимого решения из множества обобщенных решений надо выяснить, какие величины всюду непре- р „0 рывны, согласно физическому смыслу за- задачи. Для теплопроводности, как уже отмечалось в главе VIII, § 2, п. 7, непрерывны температура и (х, t) и поток тепла W = — k(du/dx). Заметим, что производные этих величин разрывны; их имеет разрывы в точках разрыва k(x, /), a Wx разрывна в точках разрыва f(x, t). Чтобы получить сходимость к допустимому обобщенному решению, составим методом баланса консервативную разностную схему. Уравнение C1) записано в дивергентной форме, соответст- соответствующей закону сохранения энергии. Удобнее заменить его систе- системой уравнений *"_§?:+/, w=-k%-. C2) Ot иХ ОХ Выберем шаблон и связанную с ним ячейку (рис. 80) и запишем первое уравнение C2) в виде закона сохранения энергии для
§ и этой ячейки: ОДНОМЕРНЫЕ УРАВНЕНИЯ 381 хп- 1/2 f(x,f)dxdt. C3a) Второе уравнение C2) проинтегрируем по интервалу сетки: C36) Справедливость формулы C36) очевидна; если коэффициент k (x, t) непрерывен на интервале сетки; но благодаря аддитивности ин- интегрирования формула остается справедливой при наличии раз- разрывов k(x, t) внутри [хп, хп+1]. Припишем значения температуры узлам сетки, а значения тепловых потоков — серединам интервалов (крестики на рис. 80). Аппроксимируем интегралы в C3) квадратурными формулами. При этом § W dt вычислим по двухточечной формуле с весом а на верхнем слое, а в C36) вынесем среднее значение потока за знак интеграла: xn+i что допустимо в силу непрерывности потока. Получим консерва- консервативную разностную схему, называемую наилучшей: У" Уп+t Г где . 1 ^п — хп+1 — Хп> "я — ~2 ("л-l + «я) = -^я + 1/2 —-^я— 1/2 i 1/2 (х, 1) < + т 'я + 1/2 —1/2 C4а) Wn+l/2=Kn+l/2 г . Wn+1/2 =Ип+1/2-2-Г^ . C46) C4в) C4г) C4Д)
382 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI При вычислениях интегралы C4г), C4д) также аппроксимируют несложными квадратурными формулами. Например, если k(x, f) и / (х, t) непрерывны всюду, за исключением узлов хп, то можно воспользоваться одной из следующих формул: лл -f- 1/2-"^ Rn -f 1/2 ^- ~2 \Kn ~T~ Kn Xn xn — 1/2 T i Xn+\/2 xn r 4>n ^ * ]n—l/2-\ * fn + 1/2 , "я "« где черта означает, что величина отнесена к моменту времени I. Под узловыми значениями разрывных величин здесь надо пони- понимать соответствующие односторонние пределы. Название схемы C4) связано с ее высокой точностью. Например, можно показать, что для однородного стационарного уравнения C1) наилучшая схема является точной, если интегралы C4г) вычисляются точно. Это означает, что разностное решение уп при любых величинах шагов совпадает с и (хп, t) (хотя разностные значения Wп ¦ w2 могут не совпадать с точными значениями пото- потоков в точках хп_^_ ,у2). Исследуем схему C4). Подставляя C46) в C4а), получим ли- линейную трехточечную (по пространству) схему. Для определения уп надо решить линейную систему с трехдиагональной матрицей, что выполняется методом прогонки. Легко видеть, что диагональ- диагональные члены матрицы преобладают; это обеспечивает единственность разностного решения и устойчивость прогонки. Устойчивость по начальным данным исследуем методом операторных неравенств. Ограничимся случаем задачи Коши на бесконечной прямой, когда и(—со, t) = u(-\- со, t) = 0. Перепишем двуслойную схему C4) в канонической форме: В-——-\-Ау = ц>, C6а) где C66) Уп-п — Уп - Уп — Уп-i ' ОС, Введем скалярное произведение (v, ш)= 2] nnVnWn- C7) п = — со Нетрудно убедиться, что операторы А и В неотрицательные и самосопряженные. В самом деле, , У) = (У. Ау) = -\- СО -f- СО — \ «V Уп+1 — Уп | V „v Уп — Уп-i = — 7, Уп*п+\/2 1 г" 7, УпКп-1/2—Z •
§ 1] ОДНОМЕРНЫЕ УРАВНЕНИЯ Сдвигая во второй сумме индекс на единицу, получим C8) Равенство C66) означает, что В = Е + втА; тогда (By, у) = — (у, By) —(у, у)-\-(у, Л «/):>= О, что доказывает наше утвержде- утверждение об операторах Л и В. Заметим, что из C8) следует оценка IIЛ ||^4тах(х//г2). C9) Пусть выполнено условие Учитывая, что 0=^Л ^ \\ А \\ Е, т. е. Е^А/\\А\\, получим: — (a — a0) iA 2s 0. Это означает, что В 2s 1/ixA; следовательно, по теореме из главы IX, § 3, п. 6 схема C4) устойчива в норме || • Нд. Таким образом, неравенство D0) является достаточным условием устой- устойчивости схемы C4). Если выполнено условие 8^|-^тш(ВД, D1) то, в силу неравенства C9), условие D0) имеет место. Поэтому неравенство D1)* также является достаточным условием устойчи- устойчивости схемы C4). Сходимость для своего доказательства требует оценок аппроксимации. Это связано с громоздкими выкладками (см. [30]), поэтому приведем только окончательный результат. Пусть k (х, 0й/ (х> 0 кусочно-непрерывны вместе со своими первыми и вторыми производными, причем разрывы неподвижны (т. е. линии разрыва на плоскости (х, t) параллельны оси t). Выберем специальную сетку по х, т. е. такую, что все точки раз- разрыва коэффициентов и их указанных производных являются ее узлами; эта сетка будет, вообще говоря, неравномерной. За сред- средний шаг этой сетки примем hc=Y"(h, h) со скалярным произве- произведением C7).
384 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI Тогда наилучшая схема C4) при выполнении условия устойчи- устойчивости D1) равномерно сходится на специальных сетках с точностью O(xVJrh°i), где v = 2 при весе а = 1/2 и v = l при аф1^. Если k(x, t) и f (x, t) дважды непрерывно дифференцируемы, то наилучшая схема при выполнении условия устойчивости рав- равномерно сходится на произвольных (неравномерных) сетках с точ- точностью O(xv + hl). Монотонность схемы имеет место при достаточно малом шаге по времени: за одним очевидным исключением: чисто неявная схема с 0 = 1 монотонна при любых шагах. Доказательство этого утверждения аналогично доказательству условия B3). Замечание. Коэффициенты разностной схемы вычисляются с некоторыми ошибками, что может привести к искажению ре- решения. Устойчивость разностного решения относительно измене- изменения коэффициентов называется коэффициентной устойчивостью (ко-устойчивостью). Доказано (см. [30]), что наилучшая схема при выполнении условия D1) является ко-устойчивой. 7. Криволинейные координаты. Нередко приходится решать одномерные задачи с цилиндрической или сферической симметрией. Например, цилиндрическая симметрия имеется в задачах об осты- остывании длинного цилиндра или в задачах о шнуровых электри- электрических разрядах, где требуется определить теплопроводность и диффузию магнитного поля. Сферически-симметричными являются задачи о теплоотводе от ядра к поверхности звезды *). Естественной системой координат в таких задачах является, соответственно, цилиндрическая (г, ф) или сферическая (г, 8, ф). Вследствие одномерности все величины не будут зависеть от углов 6, ф. Тогда параболическое уравнение с переменными коэф- коэффициентами в соответствующих координатах примет вид (r''W) + f{f), W = -k(r,t)pr. D3) Здесь v —показатель симметрии, равный 0, 1, 2 соответственно для плоского, цилиндрического и сферического случаев. Для уравнения D3) можно построить консервативную схему, являющуюся обобщением наилучшей схемы C4). Для этого про- проинтегрируем первое уравнение D3) по элементу объема r^'dr dt *) Но в тех слоях звезды, где есть конвекция, перенос тепла описывается не параболическим уравнением.
§ II ОДНОМЕРНЫЕ УРАВНЕНИЯ в пространстве г, t, а второе уравнение —по радиусу: 385 '/1+1/2 '¦/1—1/2 t + x * t + x rn+\/2 I dt I f(r,f)r"dr, D4a) ' Oj-1/2 Y un+1-un-— D46) Уравнение D4а) есть интегральная запись закона сохранения энергии. Вычислим интеграл в его левой части: гп + 1/2 01+1/2 rn—\/2 rn—1/2 где Vn есть объем кольцевого или сферического слоя: V» = ^ГТ \Гп + 1/2 — Гп - \/2)- D5) Аппроксимируя остальные интегралы так, как в п. 6, получим разностную схему с весами: -Z {Уя - Уп) = U- (rl - 1/2W^n - 1 /2 — rl + 1,2Wn + 1/2 ) + 1-0 ifn — 1/2 Wn - 1/2 — fn + 1/2 Wn ¦ Wn + 1/2 = H/i + 1/2 Vn , УП+1, hn-=rn+,—l "я 1/2 : ln ' t + x '/1+1/2 D6) • »-? J* J г" -1/2 Исследование этой схемы проводится аналогично исследованию схемы C4). Обратим внимание на постановку граничного условия при г = 0 для цилиндрического или сферического случаев (v = 1 или 2). На оси или в центре симметрии естественное граничное условие есть W@, 0 = 0. D7) Для аппроксимации этого условия удобно выбрать пространствен- пространственную сетку так, чтобы r1 = 1/ih0, г0 — — 1/2Л0; при этом узел г0
386 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI будет фиктивным. Тогда точка г —0 является серединой первого интервала, и разностный аналог краевого условия D7) примет вид Уо = Ух- D8) Замечание. Такой способ выбора сетки нередко применяют на внешней границе, а также в плоском случае, если на границе задано краевое условие второго рода {ux)T^n==\i(t). 8. Квазилинейное уравнение. Значительную трудность для численных расчетов представляет случай квазилинейного уравне- уравнения теплопроводности, которое мы запишем, для определенности, в плоском случае: U и), k^O. D9) 1) В таких задачах коэффициент теплопроводности нередко сильно зависит от температуры *) и при высоких температурах может стать очень большим. Поэтому явные схемы для уравне- уравнения D9) совершенно непригодны из-за сильного ограничения на шаг, и расчет надо вести по безусловно устойчивым неявным схемам с весом а^1/г. 2) У квазилинейного уравнения теплопроводности существуют решения и (х, t), производные которых обращаются в отдельных точках в бесконечность. Примером такого решения является рас- рассмотренная в главе IX бегущая тепловая волна (9.12), у которой на фронте их — сю. Такие решения близки к разрывным, и при их расчете по немонотонным, хотя и устойчивым схемам легко возникает «разболтка», т. е. пилообразные профили. Поэтому для численного решения уравнения D9) удобно использовать чисто неявные схемы с весом а = 1, которые устой- устойчивы и монотонны при любых шагах. Рассмотрим (ограничиваясь для простоты записи равномерной сеткой) два варианта таких схем, которые будем называть линейным: V Фп — Уп)=Щ [*п + 1/2 (Уп+i - Уп) -Хп-1/2 {Уп - Уп-д] + фя. E0) и нелинейным: — (Уп-Уп)=]р[Кп+\12(Упъ-Уп)-Нп-1/2(Уп-Уп-1)]+Ч>п. E1) Здесь х определяется формулами типа C5а), например: n, t, Уп) + к(Хп+г, t, yn+1)] *) Например, по закону k (и) я» иа, где а = 6/2 для электронной теплопро- теплопроводности и а ~ 5 — 8 для лучистой теплопроводности.
§ 1] ОДНОМЕРНЫЕ УРАВНЕНИЯ 387 ИЛИ Xn+\/2=k[xn+i/2, t + %, -jWn аналогично определяется ср. Можно показать, что обе схемы абсолютно устойчивы, консер- консервативны, монотонны и на четырежды непрерывно дифференци- дифференцируемых решениях имеют погрешность аппроксимации 0(%-\-h2). Сравним эти схемы между собой. Линейный вариант E0) проще. Мы называем его линей- линейным, ибо х„±1/2 зависит только от решения у с известного слоя; поэтому уравнения E0) содержат у„ линейно*). Из линейности и преобладания диагональных элементов матрицы следует сущест- существование и единственность разностного решения уп. Это решение вычисляется прогонкой, так что формулы расчета просты и легко программируются на ЭВМ. Нелинейный вариант E1) содержит дополнительную зависимость х (у) от значения у на новом слое, благодаря чему алгебраическая система E1) нелинейна относительно уп. Очевидно, если т->0, то уп-*-Уп> поэтому при достаточно малом т сущест- существует вещественное решение системы E1). Но при большом т система E1) может и не иметь вещественного решения. Вычислять решение системы E1) можно двумя способами. Первый способ —метод последовательней приближений, в кото- котором значения х и ф берутся с предыдущей итерации: E2) (в качестве нулевого приближения здесь, естественно, берутся значения с известного слоя). Величины у® находятся из E2) прогонкой. Итерации E2) сходятся линейно и обычно не быстро; они могут и расходиться**). В последнем случае можно вести расчет с фиксированным числом итераций, обычно с двумя или тремя итерациями. Отметим, что при одной итерации E2) нели- нелинейная схема E1) совпадает с линейным вариантом E0). Сложней, но заметно эффективней второй способ решения системы E1) —метод Ньютона. Учитывая.^что xn+i/2 =и(р„, ?я+1), подставим в уравнения E1) уп = у$' + 6^s). Проводя линеариза- *) Зависимость от уп остается нелинейной, так что схема E0) в строгом смысле слова нелинейна; это надо учитывать при исследовании ее устойчивости. **) См. гл VIII, § 2, п. 5, где рассмотрена сходная система (8.71).
388 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI цию, получим довольно громоздкие уравнения, линейные и трех- трехточечные относительно ду%>: Ra 1 5хЛ+1/2,а м] с , [№ , л , °Уп+1\ «я+ 1/2 А р? (Уп+1 - Уп) \ — ОЦп -+ И«+ 1/2 + * "ХЯ+ '/2 /* А ч . ^П— 1/2 /A AS х„ _ 1/2 -?— (г/я+1 - г/я) Ц -r-i- (уп - уп^) - дУп дуп , СА Г* дХп-1/2 /А Л .] L dyn-i J дуп (У — (Уп — Уп) — «л + 1/2 (</я+1 - Уп) + И/, _ i/2 (&я ~ г/и-i) - /г2фя, индекс итерации s в основном уравнении опущен. На каждой итерации уравнения E3) решают прогонкой. Полученный итера- итерационный процесс сходится, если шаг т не слишком велик, при- причем вблизи корня сходимость квадратична. Если сходимость не- недостаточно быстрая (число итераций превышает 5—10), то целе- целесообразнее не ограничивать число итераций, а уменьшать шаг т. Практика численных расчетов показала, что фактическая точ- точность расчета по нелинейной схеме E1) обычно существенно лучше, чем по линейному варианту E0). Это позволяет вести расчет более крупным шагом т, так что объем вычислений, тре- требующийся для достижения заданной точности, получается меньше. Поэтому нелинейная схема E1), несмотря на свою сложность, выгоднее линейного варианта E0), особенно при решении боль- больших задач *). Включение точки. В квазилинейных задачах возможно обращение k {и) в нуль при достаточно малых значениях темпе- температуры **). Наиболее типичным является случай k(u)?=&§ua, когда k = 0 при и = 0. При этом надо обращать особое внимание на выбор формулы типа C5а) для вычисления х. Например, полагать *п + 1/2 = ИЛИ _ 2k(yn)k(ynJrl) 2 *) Большими задачами называют сложные задачи современной математи- математической физики, описываемые системой большого числа уравнений в частных производных; в число этих уравнений может входить и уравнение теплопро- теплопроводности. **) В физических задачах при достаточно малой температуре теплопровод- теплопроводность становится пренебрежимо малой (исключая случаи сверхпроводимости и сверхтекучести); при высоких температурах теплопроводность заведомо не обра- обращается в нуль.
§ 2] МНОГОМЕРНОЕ УРАВНЕНИЕ 389 нельзя: если в точке хп начальная температура г/? = 0, то в при- примыкающих к этой точке интервалах хп_!/2 = х„+1/2 = 0) и тепло в эту точку никогда не проникнет (точка «не включится»). Поэтому надо выбирать такую формулу вычисления х„ 4-1/2 = = к{Уп, г/я+i). чтобы выполнялось х„4-1/2 =й= О, если k(x, t, и)фО хотя бы в некоторой части отрезка [хп, xnJrl]. Этому условию удовлетворяют, например, формулы +\/2, t, -g-(Уп+Уп+д) E4а) или +v t, yn+1)]. E46) При дважды непрерывно дифференцируемом коэффициенте тепло- теплопроводности на произвольных сетках, а при кусочно-непрерыв- кусочно-непрерывном коэффициенте с кусочно-непрерывными вторыми производ- производными—на специальных сетках они имеют аппроксимацию 0(h2). § 2. Многомерное уравнение 1. Экономичные схемы. Для уравнения переноса хорошие одномерные схемы—схемы бегущего счета — естественно обобщались на случай многих измерений. Однако попытка обобщить на случай многих измерений хорошие одномерные схемы расчета теплопро- теплопроводности J- неявные схемы типа F) и C4) — наталкивается на принципиальные трудности. Рассмотрим их на примере двумерного уравнения теплопровод- теплопроводности с постоянным коэффициентом, для которого задана первая краевая задача в прямоугольной области: , x2, t), k — const>0, E5a) 0<jc1<c, 0<x2<b, 0<t^T; и (О, x2, ^) = |xx (лг2, f), и (а, x2, t) = \i2(x2, t), u(xv 0, 0 = ^з(^1. 0> u(xi> b, f) = \ii(x1, i), E56) M/-v» v 0^ — 11 (y v ^ ^л-j^ j -^2> ^/ — r^ \ 1* 2/" Введем прямоугольную сетку {х1л, х2т, O^n^N, Qs^m^M} (рис. 81), причем для простоты шаги по каждой переменной hx, h2 выберем постоянными. Возьмем изображенный на рис. 82 шаблон, имеющий на каждом слое форму креста, и составим на нем неявную двуслойную схему с весами, являющуюся обобщением схемы F) на двумерный случай: -- (Упт - Упт) = (Лх+Ла) [аупт + A - о) упт], E6)
390 где ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ —¦ 1,2 да+i, m ! = Ш \Уп, т-и ^Упт \ Уп, т- %)• [ГЛ, XI E7) Разностная запись первого краевого условия сводится к заданию решения упт в граничных узлах сетки, т. е. при п = 0, n = N, т = 0 и т = М. а Рис. 81. Рис. 82. Легко проверить, что погрешность аппроксимации этой схемы на решениях с непрерывными четвертыми производными равна О (tv + /гI + /г|), где v = 2 при or = Va и v = l при оф1/^ Методом разделения переменных, подставляя гармоники упт = exp (iqxln + + irx2m) и определяя их множители роста pqr, можно получить условие устойчивости схемы (бб) в || ¦ \\i2: rt ~^=» [ E8) похожее на одномерное условие A4). При выполнении условия устойчивости E8) схема E6) среднеквадратично сходится с точ- точностью О (tv + h\ + Щ • Нетрудно написать обобщение схемы E6) и условия устойчи- устойчивости E8) на любое число измерений р. Оценим число действий, требующихся для выполнения расчета до момента времени Т по такой схеме в случае р измерений. При 0 = 0 схема E6) становится явной и значение упт непо- непосредственно вычисляется по значениям с предыдущего слоя. Поэ- Поэтому общее число действий для перехода со слоя на слой пропор- пропорционально числу узлов сетки; оно >~~>Np, если число узлов по каждой пространственной переменной равно N. Но явная схема устойчива только при сделать r^ N2 действий. Значит, для расчета до момента времени Т надо шагов по времени и полный расчет потребует r
§ 21 МНОГОМЕРНОЕ УРАВНЕНИЕ 391 Если вести расчет по абсолютно устойчивому варианту схемы " 2), то можно брать %~h. Но тогда на каждом слое надо решать линейную систему Np уравнений. Даже с учетом того, что ее матрица ленточная с шириной ленты 2Np~1, решение этой системы методом Гаусса требует r^N3p~2 действий. Поскольку для расчета до момента Т теперь надо делать N шагов по вре- времени, то полный расчет требует r^N'ip~1 действий. Значит, для двумерной задачи (р = 2) неявная схема E6) и явная схема приводят примерно к одинаковому объему вычисле- вычислений, а в § 1 мы видели, что явная схема обладает плохими свойствами и невыгодна для расчетов. При р5=2 неявная схема E6) даже невыгодней явной. Однако для многомерного параболического уравнения постро- построены абсолютно устойчивые схемы, позволяющие вести расчет шагом т~А и требующие только ~NP действий для перехода со слоя на слой (т. е. число действий в расчете на одну точку сетки не зависит от шагов ha). Такие схемы называются эконо- экономичными. Подавляющее большинство многомерных расчетов проводится по * таким схемам. В следующих пунктах 5тя+г'*""~ мы рассмотрим два основных вида эко- экономичных схем для параболического уравнения — продольно-поперечную и локально-одномерную схемы. в__ 2. Продольно-поперечная схема, m называемая также схемой переменных Рис. 83. направлений, является одной из луч- лучших двумерных экономичных схем. Выберем изображенный на рис. 83 шаблон, содержащий полуцелый слой t = t-\-x[2, и со- составим на нем эту схему: 0^ (Упт — Упт) = Ь-гУпт + КУпт + ]пт, E9а) 0^ (Упт - Упт) = ^хУпт + КУпт + ]пт, E96) где разностные операторы Ла определены формулами E7). Как обычно, под д подразумевается значение на полуцелом слое t. Исследуем продольно-поперечную схему. Вычисление разностного решения. Переход на полу- полуцелый слой делается при помощи уравнений E9а). Согласно опре- определению оператора Лх каждое такое уравнение содержит три неизвестных значения: уп-ьт> Упт и уп+ьт\ остальные значения у берутся с исходного слоя. Иными словами, при таком переходе схема неявна по направлению хх и явна по направлению х2. При любом фиксированном индексе т уравнения E9а) образуют отно- относительно неизвестных упт линейную систему с трехдиагональной
392 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI матрицей. Поэтому значения упт легко вычисляются одномерной прогонкой по индексу п, т. е. по направлению хг. Наоборот, при переходе при помощи уравнений E96) с полу- полуцелого слоя на целый схема явна по направлению хх и неявна по хг. Поэтому решение упт на целом слое вычисляется тоже одномерной прогонкой, но в поперечном направлении хг. Нетрудно подсчитать, что для перехода с целого на целый слой нужно всего 20 — 30 действий на каждую точку сетки независимо от величин шагов, так что схема экономична. Как и в одномерной схеме F), диагональные матричные эле- элементы в уравнениях E9) преобладают; следовательно, прогонка устойчива, а разностное решение существует и единственно. Устойчивость продольно-поперечной схемы исследуем методом разделения переменных. Множители роста гармоники на первом и втором полушаге по времени могут быть различ- различными. Поэтому положим Подставляя соотношения F0) в схему E9), получим множители роста ¦-rj-sma-T2 / l+-rFsin2Y-b F1a) F16) Нетрудно заметить, что для всех гармоник при любых шагах выполняется неравенство \p'qrp"qr\-^\- Таким образом, при пере- переходе с одного целого слоя на следующий целый слой ошибки начальных данных не нарастают, и. схема E9) равномерно и безус- безусловно устойчива по начальным данным. Нетрудно проверить, что дополнительный признак устойчи- устойчивости по правой части (9.54) выполняется на каждом полушаге по времени. Следовательно, схема E9) устойчива по правой части. Замечание 1. Если k%>h\, то существуют такие гармо- гармоники, которые усиливаются при переходе с целого слоя на полу- полуцелый; например, |ром|>1- Зато при переходе с полуцелого на следующий целый слой эти гармоники настолько затухают, что в целом усиления не происходит. Аналогично, при kx > h\ есть гармоники, усиливающиеся при переходе с полуцелого слоя на целый. Замечание 2. Суммарный множитель роста pqr = p'qrp"qr таков, что |pqr| = 1 только при q = r=0; для всех остальных гармоник р?/.|<1. Следовательно, продольно-поперечная схема обладает аппроксимационной вязкостью и расчет по ней должен приво- приводить к сглаживанию разрывов.
§ 21 МНОГОМЕРНОЕ УРАВНЕНИЕ 393 Аппроксимация. При переходе с целого на полуцелый слой каждая пространственная разность вычисляется несиммет- несимметрично по времени и погрешность равна O(x-\-h2). Но ошибка на второй половине слоя компенсирует первую, и в итоге при переходе с целого слоя на целый погрешность локальной аппрок- аппроксимации на равномерных сетках есть О (%г-\-к\-\-Щ). В этом легко убедиться при помощи следующего преобразо- преобразования. Вычитая уравнение E96) из E9а), получим Упт ~ ~2 \Упт Т Упт) J" А2 \\jnm Упт)• (Ь^) Сложим уравнения E9) и подставим в них полученное значение yntn, исключив тем самым полуцелый слой: 11 т — Y (Упт - Упт) = у (Л1 + Л2) (упт + упт) - т AXA2 (упт - упт) + fnm. F3) Предпоследний член справа есть х2иХ2Хи/4 = О (т2), а остальные члены в F3) совпадают с симметричным вариантом схемы E6), который соответствует сг=1/2 и имеет аппроксимацию O(x2-\-h\-\- + hi). Поскольку продольно-поперечная схема отличается от этого варианта на член О(т2), она также имеет второй порядок аппрок- аппроксимации по всем переменным. Остановимся на аппроксимации краевых условий E56). На целом слое в уравнения продольно-поперечной схемы E9) входят значения решения упт на сторонах прямоугольника Х2 = О и Х2 = Ь; очевидно, надо положить У по = Рз (хт> Ц< Упм = Л. (*1«. ')• l^n^N-l. F4а) Дня полуцелого слоя требуются значения дпт на сторонах Х! = 0 и х1 — а. Полагать (у — 1Ла)гран = 0 невыгодно, ибо полуцелый слой не вполне соответ- соответствует моменту 7 и такая аппроксимация внесла бы погрешность 0 (т). Следует воспользоваться уравнением F2), отнесенным к стороне ^ = 0: Йт = -2"(ит + Мт)—Т'Ла^ш —Цш). l^m^M— U F46) ана.аогичное условие записывается для стороны Xj, = a. Граничные условия F4) обеспечивают погрешность аппроксимации 0 (т2). Сходимость. Проведенное исследование аппроксимации и устойчивости показывает, что схема E9) безусловно сходится в || • ||;г, причем в прямоугольной области на равномерной сетке и при краевом условии F4) она имеет точность О (хг-\-Щ-\-h%) на решениях с непрерывными пятыми производными. Более сложными методами можно доказать равномерную схо- сходимость со вторым порядком точности. Отметим некоторые усложнения исходной задачи E5).
394 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ, XI Произвольная область. Пусть для уравнения E5а) в области произвольной формы заданы краевые условия перво- первого рода [и-\х(х, 0]г = 0. Тогда разностное краевое условие F46) не удается применить, ибо неясно, как вычислять Л2^. Приходится ограничиться усло- условиями Л ) 'f F5) [у-ц(*, t)\y = 0, где у — множество граничных узлов. Погрешность аппроксимации условия F5) на полуцелом слое равна О(т). Поэтому в произ- произвольной области схема E9) сходится с точностью О(т + /г|4-/г1). Если область ступенчатая, т. е. составлена из прямоуголь- прямоугольников со сторонами, параллельными осям координат, то в ней можно написать краевое условие повышенной точности F46). В этом случае схема E9) имеет второй порядок точности. Переменный коэффициент теплопроводности. Для уравнения теплопроводности с переменным коэффициентом можно составить два варианта продольно-поперечной схемы, являющихся обобщением наилучшей схемы C4). В первом вари- варианте на всех слоях — исходном, полуцелом и новом целом —раз- —разностный коэффициент теплопроводности х приписывают полуце- полуцелому слою i; во втором варианте на этих слоях берут соответ- соответственно %(t), x(i) и %(}). Оба варианта успешно применяются на практике. Второй вариант лучше исследован теоретически; для него доказана без- безусловная сходимость в прямоугольной области с точностью О (т3 + + ^i + ^l), если коэффициент k(x, t) непрерывен со своими вто- вторыми производными. Анизотропная теплопроводность в простейшем случае приводит к тому, что по каждому направлению имеется свой коэффициент ka(x, t). В этом случае уравнение теплопро- теплопроводности принимает вид 2 ды ^К д Г ди П ~аг= Z -аНМ*. f)-mr\+f(x> 0- F6) 01 imi ОХа |_ ' ОХа J а= 1 Продольно-поперечная схема, ее обобщения и все теоретические обоснования переносятся на этот случай практически без изме- изменений. 3. Локально-одномерный метод. Продольно-поперечная схема на задачи с числом измерений р ^ 3 непосредственно, не обобща- обобщается. В самом деле, введем р — 1 промежуточный слой и на
§ 2J МНОГОМЕРНОЕ УРАВНЕНИЕ 395 каждом слое составим схему типа E9), неявную по одному направлению и явную по остальным. Во-первых, такая схема несимметрична и имеет аппроксимацию лишь О (т). Во-вторых, она оказывается условно устойчивой при k%<.h2 и, тем самым, неэкономичной. Экономичные многомерные разностные схемы можно строить локально-одномерным методом, также используя промежуточ- промежуточные слои. Эти схемы имеют лишь суммарную аппроксимацию. На промежуточных слоях они вообще не аппроксимируют исход- исходное дифференциальное уравнение; но погрешности аппроксима- аппроксимации промежуточных слоев при , суммировании гасят друг друга так, что на целом слое аппроксимация есть. При этом разност- разностное решение следует сравнивать с точным только на целых слоях, не придавая промежуточным слоям самостоятельного смысла. Рассмотрим многомерное параболическое уравнение F6); для простоты ограничимся случаем анизотропной теплопроводности с постоянными коэффициентами: р 2 4" А к fc const F7) a=l X Аппроксимируем это уравнение симметричной неявной схемой, которую назовем исходной: р \^ F8) где Ла — разностные операторы, аппроксимирующие Аа с погреш- погрешностью О (hr); обычно для них используют формулы E7), соот- соответствующие г = 2. Благодаря симметричной форме исходная схема имеет погрешность Однако эта схема неэкономична, потому что не найдено хорошего алгоритма вычисления у. Наряду с исходной схемой построим локально-одномерную схему. Введем промежуточные слои и на каждом слое в правой части F8) вместо _?] Ла возьмем рАа; в левой части поставим а шаг х/р. Обозначим решение на промежуточных шагах через wa (а=1, 2, ..., р). Тогда функции wa будут удовлетворять разно-
396 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI стным уравнениям и начальным условиям следующего вида: ~{wa — wa) = Y^a{wa + wa), cc = l,2,...,p; F9а) Щ = У> W2 ==• Щ, w3=w2, ..., wp= wp-lt у = шр. F96) Поскольку Ла — одномерные операторы, то каждая wa является решением одномерной разностной схемы; поэтому схему F9) назы- называют локально-одномерной. Исследуем ее. Устойчивость. Каждое уравнение F9а) является одно- одномерной неявной симметричной схемой типа схемы F) при сг = 1/2- Последняя схема безусловно устойчива, так что ошибка началь- начальных данных не возрастает ни на одном промежуточном слое. Следовательно, схема F9) также безусловно устойчива и позво- позволяет вести расчет с шагом xr^h. Вычисление разностного решения несложно. Каждое уравнение F9а) решается одномерной прогонкой. По тем же при- причинам, что и в случае схемы F), прогонка устойчива, а разност- разностное решение у существует и единственно. Для нахождения решения на новом целом слое надо выпол- выполнить прогонки по всем р направлениям. Это требует ~ Юр дей- действий на каждую точку сетки независимо от величин шагов ha. Таким образом, локально-одномерная схема экономична. Аппроксимацию исследуем, сравнивая схему F9) с ис- исходной. Для этого перепишем F9) в следующем виде: 'a, Wa = Wa-1. G0) Операторы Аа попарно перестановочны; операторы Ла получаются тоже попарно перестановочными. Последовательно применяя G0) и используя перестановочность операторов, нетрудно установить следующее равенство: (Й(Е-т*Ц-.-(й(? + т*л.))*- Раскроем произведения операторов и положим wx—y, wp = y. Пренебрегая членами высокого порядка по т, получим запись схемы F9): а, «+Т- 2 a« 2 а, Р
§ 21 МНОГОМЕРНОЕ УРАВНЕНИЕ 397 ИЛИ р ~(у-у)~^2Аа{У + у)-1 2 Л<А>(У-У) + О(т2). G1) а=1 а, р На решениях с непрерывными пятыми производными двойная сумма в G1) есть 0(т2), поэтому G1) отличается от исходной схемы только членами О (т2). Но погрешность аппроксимации исходной схемы равна Следовательно, погрешность аппроксимации симметричной локально-одномерной схемы F9) на целых слоях есть Заметим, что для получения погрешности аппроксимации О (т2) в граничных условиях надо к естественным граничным условиям добавлять поправки типа F46). Сходимость схемы F9), как следует из сказанного выше, является безусловной с погрешностью O/t2+2j/&V \ а ) Замечание. В некоторых случаях расщепление многомер- многомерной задачи на последовательность одномерных бывает точным. Например, многомерный перенос по характеристике точно экви- эквивалентен последовательности.одномерных переносов по проекциям этой характеристики на координатные плоскости. Остановимся на некоторых усложнениях задачи F7). Переменные коэффициенты ka(x, t) приводят к тому, что операторы Аа становятся неперестановочными и Ла —тоже. В этом случае погрешность аппроксимации схемы F9) возрастает доО/т+^/ZaV Поэтому для уравнения V а / 2 A» + f(* 0. Aau = ^-[ka(x, t)^-\ G2) Ж- 2 [ а=1 нередко ограничиваются чисто неявной локально-одномерной схемой \{wa-w^ = Aawa-\-ya, wa = wa-it Jj V^f G3a) с естественными граничными условиями [ ^v = °; G36)
398 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI здесь операторы Ла построены по образцу одномерной наилучшей схемы C4). Схема G3) безусловно устойчива и имеет точность в норме П - 11с- Для уравнения G2) можно добиться точности 0(т2), строя симметричный по времени алгоритм. Введем полуцелый слой t и перейДем на него по симметричной локально-одномерной схеме F9) в прямом порядке а= 1,2,...,/?. Переход с полуцелого на новый слой t совершим по той же схеме, но в обратном порядке а = р, /? — 1, .. •, 1 • При этом в естественные краевые условия надо вносить поправки, аналогичные F46). Квазилинейное уравнение с ka(x, t, и). Чисто неявная локально-одномерная схема G3) естественно обобщается на этот случай. Аналогично § 1, п. 8, можно на промежуточном слое либо полагать ха = — ка(х, t, wa) и обходиться однократной про- прогонкой по данному направлению, либо пола- полагать ха = ха(л;, i, wa) и решать одномерную схему G3а) прогонкой с итерациями. Произвольная область G(x) с кри- криволинейной границей. Покроем эту область прямоугольной сеткой, равномерной по каж- каждой переменной (двумерный случай'изображен на рис. 84). Точки пересечения линий сетки с границей также возьмем в качестве узлов сетки и запишем в них естественное разностное краевое условие G36). Во внут- внутренних узлах аппроксимируем дифференциальное уравнение G2) чисто неявной локально-одномерной схемой G3а). Пусть граничные значения ц(л;, t) и коэффициенты уравне- уравнения G2) достаточно гладки, так что точное решение и(х, t) непрерывно вместе со своими четвертыми производными всюду в G(x), включая границу области. Тогда построенная указан- указанным образом схема безусловно устойчива и равномерно сходится с точностью Рис. 84. (доказательство см. в [30]). В областях специальной формы —сфере или цилиндре — удоб- удобнее пользоваться не декартовыми координатами, а соответствую- соответствующими криволинейными. Это позволяет получить более хорошую аппроксимацию вблизи границы и повышает фактическую точность расчета. Но при этом есть тонкости в аппроксимации вблизи центра или оси, на которых мы не останавливаемся.
ЗАДАЧИ 399 4. Метод Монте-Карло. Этот метод можно применять к зада- задачам, которые обычно формулируют в терминах уравнений с част- частными производными. Рассмотрим его на несложном примере. Пусть частицы блуждают по узлам двумерной пространствен- пространственной сетки (рис. 84) так, что за один шаг по времени частица может перейти с вероятностью л/4 в любой из четырех соседних узлов. Тогда, если на данном шаге в узле есть упт частиц, то на следующем шаге все они уйдут в соседние узлы. Но зато из каждого соседнего узла примерно четверть бывших там частиц придет в этот узел, так что Упт — ~4~ U/n+l, т ~Г Уп-\,\т ~Т~ Уп, т+1 ~Т Уп, т-\) • Вычитая из обеих частей упт, запишем Упт Упт == " Lw«+1. т ^Упт ~г Уп-i, т) ~Т G4) Уравнение G4) совпадает с явным вариантом разностной схемы E6) для уравнения теплопроводности, если в этой схеме поло- положить а=0 и выбрать шаги специальным образом: Поэтому вместо решения разностных уравнений можно разыграть случайный процесс. Поместим в каждый узел сетки число частиц, пропорциональное начальному значению упт* На каждом шаге для каждой частицы будем разыгрывать переход в один из соседних узлов. Перераспределение частиц будет соот- соответствовать изменению решения со временем. Вопрос о границе и условиях на ней довольно сложен и здесь не рассматривается. В обычных задачах теплопроводности этот метод гораздо менее точен, чем локально-одномерные .методы. Но в очень слож- сложных задачах, где число измерений велико и написать разностную схему трудно, метод Монте-Карло может оказаться более про- простым и быстрым способом решения. ЗАДАЧИ 1. Найти невязку схемы F) с весом и правой частью A1). 2. Найти невязку схемы F) с весом A1) и правой .частью A2). 3. Записать схему F) на неравномерной сетке и найти ее погрешность локальной аппроксимации: .а) на произвольной неравномерной сетке, б) на квазиравномерной сетке. 4. При каком соотношении шагов т и А будет асимптотически устойчива схема повышенной точности F) с весом A1)? 5. Исследовать аппроксимацию схемы Ричардсона B6). 6. Доказать безусловную устойчивость схемы Дюфорта — Франкела B8).
400 ПАРАБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XI 7. Исследовать аппроксимацию схемы Дюфорта — Франкела B8). 8. Доказать безусловную устойчивость схемы B9). 9. Найти невязки схем B9а) и B96) и определить суммарную невязку схемы B9). 10. Для уравнения U( = kuxx построить схему на шаблоне рис. 85 и дока- доказать, что она устойчива при 2kx 5= Л2. Г 1 Рис. 85. 11. Доказать, что наилучшая схема C4) монотонна при выполнении усло- условия D2). 12. Исследовать устойчивость схемы D6) для параболического уравнения в криво линейных координатах. 13. Исследовать аппроксимацию схемы E6) для двумерного уравнения E5). 14. Доказать, что двумерная схема E6) устойчива при выполнении усло- условия E8). 15. Разобрать структуру матрицы линейной системы E6). Как изменится эта структура при обобщении схемы E6) на случай трех измерений?
ГЛАВА XII ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ Глава XIt посвящена методам решения краевых задач для эллиптических уравнений. В § 1 решение таких задач сводится к решению эволюционных задач для параболических уравнений до выхода на стационарный режим; последнее выполняется при помощи многомерных разностных схем, изложен- изложенных в гл. XI, § 2. Обсужден выбор оптимального шага по времени (или на- набора переменных шагов) в таких расчетах. В § 2 рассмотрены вариационные методы решения эллиптических уравне- уравнений и вариационные способы составления стационарных (не эволюционных) разностных схем. В последнем случае указаны прямые и итерационные методы вычисления разностного решения. § 1. Счет на установление 1. Стационарные решения эволюционных задач. К эллипти- эллиптическим уравнениям приводит ряд физических задач: определение прогиба нагруженной мембраны, давления газа в неоднородном силовом поле, стационарного (не зависящего от времени) рас- распределения тепла в теле и т. д. Все эти задачи имеют общее свойство: предполагается, что внешние воздействия не зависят от времени, а начальные условия были заданы достаточно давно, так что физическая система успела выйти на стационарное реше- решение и (г), не зависящее от времени. Примером полной математической постановки является задача с краевыми условиями первого рода, называемая задачей Ди- Дирихле; требуется найти непрерывное решение задачи Ли(г) = —/(г), /-GG, ыг(г) = ц(г), A) где G (г) есть многомерная замкнутая область с границей Г. В отличие от эволюционных задач, разобранных в предыдущих главах, постановка A) не содержит начальных условий. Обоб- Обобщением задачи A) является следующая задача: div[k(r)gradu (r)] = -/(/¦), r<=G, иг(г) = ц(г), ft(r)>0. B)
402 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII Задачи с другими краевыми условиями мы не будем рассматри- рассматривать. Задачу B) будем называть стационарной. Наряду с ней рас- рассмотрим эволюционную задачу для параболического уравнения с теми же граничными условиями и произвольно выбранными начальными данными: vT {r, t) = n (r), v {г, 0) = v0 (г). Исследуем, насколько решение v (r, t) эволюционной задачи отличается от решения и (г) стационарной задачи. Вычитая B) из C) и учитывая, что du(r)/dt — 0, найдем, что разность w(r, t) = v(r, t) — u(r) удовлетворяет однородному параболиче- параболическому уравнению с однородными краевыми условиями: wT (r, 0 = 0, w (/, 0) = w0 (r) = v0 (г) - и (г). Поскольку начальные данные в C) были выбраны произвольно, то без ограничения общности можно считать, что начальные данные задачи D) также выбраны произвольно. В курсах математической физики показано (см., например, [40]), что при помощи метода разделения переменных решение задачи D) можно представить в следующем виде: оо w(r,t)=^cge-^wg(r). E) Здесь wg (r) и Хд — собственные функции и собственные значения многомерной задачи Штурма — Лиувилля: div[k(r)gradwg] + \w9(r) = 0, r^G, wg(r)F = 0, F) а сд = \ w (г, 0) wg (r) dr а являются коэффициентами Фурье начальных данных D) по си- системе функций wg(r). Собственные значения задачи F) положи- положительны и образуют неубывающую последовательность 0<Я1^Я2^Я3^ .... G) а собственные функции wq (r) образуют полную ортонормиро- ванную систему в G (г).
§ 11 СЧЕТ НА УСТАНОВЛЕНИЕ 403 / 1/2 / оэ \1/2 (г, 0 ||,а = 2 ^<T2V ^ е~ V Ц 4) = е~ V II ш0 (г) \ / \ Из E) и G) нетрудно получить неравенство е~ V II ш0 (г) (8) Оно означает, что разность да (г, i) = u(r, t) — u(r) при ?->со экспоненциально стремится к нулю по норме || • ||,2, так что решение v (r, t) эволюционной задачи C) среднеквадратично схо- сходится к решению и (г) стационарной задачи B) при t-^-co. Замечание 1. Пусть граничные и начальные условия таковы, что решения задач B) и C) имеют в G (г) непрерывные производные, ограниченные равномерно по t. Тогда сходимость v (r, f) к и (г) будет равномерной. Таким образом, вместо задачи B) для эллиптического урав- уравнения можно взять эволюционную задачу C) для параболиче- параболического уравнения с тем же пространственным оператором, произ; вольно выбрать начальные данные и вычислить решение v(r, t) при достаточно большом t. Стационарный (не зависящий от вре- времени) предел и (г), к которому стремится v (r, t) при t-*~oo, и будет решением стационарной задачи B). Этот способ называется счетом на установление. Он позво- позволяет осуществить численное решение эллиптических задач хорошо разработанными методами решения параболических задач, напри- например, продольно-поперечной схемой для двумерных задач и ло- локально-одномерными схемами в случае большего числа измерений. Установление стационарного решения происходит довольно быстро благодаря экспоненциальному характеру затухания на- начальных данных. Из (8) видно, что если нужна точность г^е, то надо вести вычисления до момента 7^1п± (9) где Хх есть наименьшее собственное значение соответствующей задачи Штурма — Лиувилля F). Замечание 2. На стационарное решение выходят не только решения параболических задач. То же происходит при других диссипативных процессах со стационарными граничными условиями, например при колебаниях с вязким трением, описы- описываемых уравнением A0) Можно формулировать эволюционную задачу для этого уравне- уравнения; однако это менее удобно. Замечание 3. Можно составить разностную схему, непо- непосредственно аппроксимирующую исходную задачу B). Но в § 2
404 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII мы увидим, что вычислять разностное решение при этом обычно приходится итерационными методами. Оказывается, что соответ- соответствующие итерационные алгоритмы можно интерпретировать как некоторые разностные схемы для эволюционной задачи C). 2. Оптимальный шаг. Для расчета эволюционной р-мерной задачи C) до момента Т используют экономичные разностные схемы. При этом шаги т и ha (l=sCasS/?) выбирают достаточно малыми, чтобы обеспечить требуемую близость разностного реше- решения у к точному решению v (r, /) эволюционной задачи. Однако если шаг т выбран слишком малым, то расчет до момента Т потребует большого числа шагов, что неоправданно увеличит объем вычислений. Очевидно, должен существовать оптимальный шаг т0; рассмотрим, как его найти. Для простоты ограничимся двумерной задачей Дирихле в прямоугольнике: UxlXl + Uxixt = — f(x), 0<xl<a, 0<*2<Ь, иг(х) = р(х), x = {xv х2). Ей соответствует эволюционная задача для уравнения , A2) которую будем решать на равномерной сетке {xln = nhv x%m = = пгкл, O^n^N, OsgimsgM} с шагами h1 = a/N, h2 = b/M. Продольно-поперечная схема. Для исследования этой схемы возьмем ее запись A1.63) в двуслойной форме: 4-(Р -У) =у (Ai + Л2) (у +у)-\ ЛХЛ2 (у -f и преобразуем ее к канонической форме: 1? ф, Ф = /, A3а) где Л = — (Ai + Ajj), В = [Е—~- А^Е — yA2j. A36) Поскольку в уравнении A2) коэффициент теплопроводности k = 1, а сетка равномерна, то == ~р~ \Уп\1, т "Упт Т Уя-1, т)> ; Aзв) пт == "^F v^/я. m+i ^J/nm т" ^/я, /n-i) ¦ Если численный расчет доведен до выхода на стационарное решение, то у f^y. Тогда схема A3) в пределе переходит в не-
§ 1] СЧЕТ НА УСТАНОВЛЕНИЕ 405 эволюционную (не содержащую времени) разностную схему , ф = /(*), A4) которая, как нетрудно заметить, аппроксимирует стационарную задачу A1). Очевидно, в этом случае оптимальным будет тот шаг т0, при котором разностное решение выйдет на стационарное за наименьшее число шагов. Для этого надо, чтобы начальные данные за один шаг затухали возможно сильнее. Затухание начальных данных можно исследовать методом разделения переменных, взятым в стро- строгой форме (поскольку нас интересуют точные значения границ спектра one- ратора). Собственные функции разно- разностного оператора — (А1-\-А2) в пря- прямоугольнике на равномерной сетке равны, как нетрудно проверить, A5) Подставляя их в схему A3) и полагая множители роста гармоник: Рис. 86. ¦ = PgrWgr, определим 2т . , , = -7T-sirr 2а 2т A6) Очевидно, все |рдГ|<1, т. е. все гармоники затухают; это озна- означает, что схема A3) обладает аппроксимационнои вязкостью. Какие гармоники затухают наиболее медленно и, тем самым, сильнее всего препятствуют выходу на стационарный режим? Нетрудно заметить, что входящий в pqr сомножитель уд = = A1— а?)/A -\-aLq) заключен в пределах (—1, +1) и монотонно убывает при увеличении номера q (рис. 86, жирная линия). Наибольшим по модулю может быть множитель либо с q=\, либо с q = N — l. Считая Af достаточно большим, можно поло- положить n(N — l)hi sm _ Sln 1 и представить экстремальные множители (при в виде а? A7)
406 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII Аналогично, второй сомножитель A — |}r)/(l-f-pV) максимален по модулю либо при г=\, либо при г = М— 1. Поэтому \рдг\ максимален либо при q = r=l, либо при q = N—\, r = M—\, причем Чем больше шаг т, тем меньше рп и больше pNb м-ц причем оба они близки к 1 *); это значит, что первая и последняя гар- гармоники затухают медленно, причем при малом шаге т быстрей затухает последняя, а при большом —первая гармоника. Выберем шаг т0 так, чтобы pufr0) = pjv-i, л-iW; из A8) видно, что 1/2 A9) Если изменить шаг по сравнению с т0, то либо первая, либо последняя гармоника будет затухать медленнее, чем при т = т0. Следовательно, тп есть оптимальный шаг. Число шагов К (е), нужное для достижения заданной точно- точности е, определяется условием (max | рдг | )к = е. При оптимальном шаге наибольшие множители роста равны Pii fro) = Рлг-i, м-1 fro) ^ехр [— л (-щ + ~у2(-^- + -р-)'/2]• B0) Поэтому минимально необходимое число шагов есть Сравнивая время счета на установление (9) и величину опти- оптимального шага A9), нетрудно убедиться, что К fro) = Т/хй. Отметим, что при a = b, M — N выполняется т0г^а2/Л^ и K()N В дифференциальном уравнении A2) установление происходит за доста- достаточно большой промежуток времени. Почему же не взять для разностной схемы очень большой шаг по времени, если устойчивость это позволяет? Ка- Казалось бы, тогда мы быстрей добьемся установления. Но это не так. Спектр дифференциального оператора таков, что гармоники затухают' тем быстрей, чем больше их номер, причем |р?|-»-0 при </-»-оэ; соответствующая кривая показана пунктиром на рис. 86. А Затухание собственных функций разност- разностного оператора имеет, вообще говоря, другой качественный характер, как видно из того же рисунка. *) При нечетном числе измерений р для последней гармоники р-*-— 1 и вместо него во всех выкладках надо использовать |р| = —р.
§ 1] СЧЕТ НА УСТАНОВЛЕНИЕ 407 Локально-одномерная схема A1.69) с полусуммой по времени в двумерном случае может быть записана в виде B2а) B26) где операторы Ла имеют вид A3в) и коммутируют друг с дру- другом. Умножая уравнение B2а) слева на (E-^-1/ixA2), а уравне- уравнение B26) —на (Е — 1/2тЛ1), исключим у и запишем B2) в виде двуслойной схемы: = [Е -f у АгДЕ -f ~ Л2) у + т (фх + ф2) + 4^2 Преобразуем ее к канонической форме: 1 ? —1ЛХ)() = ф14-ф24-у(Л2ф1-Л1ф3). B3) Видно, что левая часть B3) совпадает с левой частью продольно- поперечной схемы A3). Поэтому шаг т0, обеспечивающий наи- наиболее быстрое затухание начальных данных, для схемы B3) определяется также формулой A9). Нетрудно понять, как обобщить выражения оптимального шага A9) и минимального числа шагов B1) на случай произ- произвольного числа измерений для локально-одномерной схемы с по- полусуммой. Запишем эти выражения в простейшем случае, когда задача Дирихле поставлена в р-мерном кубе со стороной а и по каждой стороне взято N узлов сетки: т = .?¦!_ К (Т ) = JL1П 1. B4) Однако если положить (р14- ф2 = / (х), то правая часть B3) будет отличаться от f(x) на величину О(т). Поэтому установив- установившееся разностное решение будет отличаться от и (х) на O(x-\-h2), и, тем самым, общая точность расчета будет хуже, чем по про- продольно-поперечной схеме. Замечание. Для улучшения точности приравняем f(x) правой части B3). Для этого достаточно произвольно выбрать Ф^л:), а ф2(лг) определить из уравнения 4 B5)
408 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII Это линейное уравнение с трехдиагональной матрицей; оно легко решается одномерной прогонкой по направлению xv Произвольная область. Выбрать оптимальный шаг удается только в простейших задачах, когда точно известны границы спектра разностного оператора. В областях сложной формы мы можем, подставляя в формулу A9) характерные раз- размеры области и число узлов сетки, определить лишь порядок величины т0. Поэтому надо представлять, как зависит число шагов К (г), требуемое для установления с заданной точностью, от величины шага т. При ts^t0 затухание начальных данных определяется мно- множителем р1Х, так что число шагов Кг (т) находится из условия р? = е. Из формулы A8) с учетом малости т следует, что рп(т) ?«ехр (—const-т); тем самым, Отсюда нетрудно получить, что Кг (t) = —- К (т0) при т sg: т0. B6а) Аналогично находим Ке (т) = — К (to) при т0 sg; т. B66) Кривая К8 (т) изображена на рис. 87 жирной линией. Ее минимум соответствует оптимальному шагу. Видно, что в низ- низшей точке кривая имеет разрыв производной. Значит, умерен- умеренное отклонение величины шага т от оптимума может заметно увеличить требуемое число шагов (во столько раз, во сколько т отличается от т0). Критерии установления. Из сказанного выше следует, что для задач в достаточно общей постановке B), C) заранее неизвестно, какое число шагов надо сделать до установления. Поэтому на практике вычисления прекращают при выполнении какого-нибудь правдоподобного, хотя и нестрогого критерия. Нередко пользуются простейшим критерием Hp-jMKe; B7а) однако он недостаточно надежен, поскольку разностное решение устанавливается медленно. Если учесть, что установление проис- происходит почти по геометрической прогрессии, то нетрудно получить более надежный критерий: l-v), где v = |Lj^ji. B76)
§ 1] СЧЕТ НА УСТАНОВЛЕНИЕ 409 Для схемы типа A3) расчет иногда оканчивают по условию малости невязки: \\Ay-f\\^e. B7в) Комплексная организация расчета, описанная в гл. VIII, § 2, п. 5, очень полезна даже в одномерных задачах. С увеличением числа измерений ее эффективность быстро воз- возрастает. Напомним ее. В области G (х) строится последовательность сгущающихся вдвое сеток. На самой грубой сетке начальные условия выби- выбираются произвольно; поскольку число узлов этой сетки невелико, то объем вычислений тоже невелик. После установления решение интерполируется на более подробной сетке и выбирается на ней в качестве начальных условий; это в несколько раз уменьшает требующееся для установления число шагов. Затем решение уточняется по способу Рунге с использованием всех сеток. 3. Чебышевский набор шагов. Счет на установление можно проводить с переменным шагом по времени. Для тех задач, в которых известны границы спектра разностных операторов, построены специальные наборы шагов xk (I sg&^K), обеспечива- обеспечивающие гораздо более быстрое затухание-начальных данных, чем при расчете с постоянным оптимальным шагом. Чебышевский набор. Пусть разностная схема счета на установление приведена к двуслойной канонической форме: ву*-у*-' +Ayi,-i = yt B8) Будем предполагать, что Л и В —самосопряженные положительно определенные операторы, удовлетворяющие неравенствам B9) Затухание начальных данных z° определяется однородным уравнением B8), которое можно записать в следующей форме: Е* = (?-гйСК*-\ C0а) где С Л В>* C06) - х„С). C1) Для наиболее быстрого затухания начальных данных последова- последовательность шагов xk надо выбрать так, чтобы || Рк (С) || была минимальна при заданном числе шагов К. Отсюда, вытекает, что РК (С) 1°: , Рк (С) = л: п 4=1
410 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. ХП Поскольку А и В — самосопряженные операторы, то оператор С тоже самосопряженный, причем из B9) следует неравенство гЕ. C2) В этом случае норму операторного многочлена Р% (Q можно оценить по формуле *) ||Р*(С)|К max \Рк(г))\, где Рк (у\) — алгебраический многочлен. Для того чтобы максимум модуля алгебраического многочлена был минимален на отрезке [ylt y2], этот многочлен с точностью до множителя должен совпадать с многочленом Чебышева пер- первого рода для этого отрезка **). Используя данные в Приложении корни многочленов Чебышева и учитывая, что корнями Рк(ц) являются величины 1/Ть получим чебышевский набор шагов: l<fc<K. C3) Определяя множитель, отличающий Рк (ri) от многочлена Чебышева на отрезке [ylt y2], можно найти коэффициент затуха- затухания начальных данных после расчета с набором шагов C3): п_УъУъ. Если необходимая точность расчета г <^ 1, то в оценке C4) можно пренебречь членом р2К. Тогда требуемое число шагов равно K<e>ln Заметим, что сначала надо найти требуемое число шагов по фор- формуле C5); только после этого можно вычислить искомый набор шагов C3). Замечание. В случае области сложной формы или задачи с переменными коэффициентами B) точные границы энергети- энергетической эквивалентности операторов B9) установить обычно не удается. Приходится оценивать их, занижая Yi и завышая Y2 (в неизвестные числа раз v1 и v2). Поскольку всегда Y2^Yi. то [In A/p)] я^/г Vyi/fi- Отсюда видно, что требуемое число шагов C5) возрастает в ")А^2 раз по сравнению со случаем, когда границы спектра известны точно. *) Доказательство этого неравенства имеется, например, в [15]. **) О многочленах Чебышева и их свойствах см., например, в [9, 24].
§ II СЧЕТ НА УСТАНОВЛЕНИЕ 411 Постоянный шаг. Оптимальный постоянный шаг выби- выбирается так, чтобы начальные данные наиболее сильно затухали за один шаг. Там самым, он является частным случаем чебышев- ского набора, соответствующим К=1. Формулы C3), C4) при- принимают при этом вид fe C6> Продольно-поперечная схема A3) или локально- одномерная схема с полусуммой B2) не подходят, строго говоря, под разобранный выше случай, потому что они содержат опера- оператор () (Е- явно зависящий от номера шага. Однако для этих схем в п. 2 были определены оптимальный шаг A9) и соответствующая ему скорость затухания начальных данных. Ограничиваясь задачей Дирихле в р-мерном кубе со стороной а и одинаковым числом узлов N по каждой коорди- координате, запишем: % Сравнивая эти выражения с C6) и учитывая, что Y2^Vi' полу- получим нестрогую, но удовлетворительную оценку границ спектра: ^ ^ C7) Подставляя оценку C7) в C4) и C5), получим, что для рассмотрен- рассмотренных схем Таким образом, счет на установление по экономичным схемам с чебышевским набором шагов требует всего K^I^Af шагов, в то время как расчет с постоянным оптимальным шагом требует существенно большего числа шагов: К(т0) ^АЛ Используя в разностной схеме переменный оператор' В^, можно найти другие наборы шагов, обеспечивающие еще более быстрое установление. Например, для продольно-поперечной схемы в случае задачи Дирихле A) в прямоугольнике построен жорданов набор шагов (см. [81]). ПРИ котором „ In N , 4 Однако для более сложных задач наборы шагов с подобными характеристиками найти пока не удалось.
412 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII Порядок шагов. Чебышевский набор шагов позволяет проводить экономичный расчет на установление даже по явной схеме A1.56) с сг = О. Запишем эту схему в виде Операторы схемы C9) постоянны, и нетрудно показать, что для задачи Дирихле в кубе y1 = n2plc?, у.2 = 4рЛГ2/а2. Поэтому для расчета по схеме C9) с чебышевским набором шагов требуется число шагов что по объему вычислений эквивалентно экономичным схемам с постоянным оптимальным шагом. Заметим, что схема C9) устойчива только при т--^то = Л2/Bр). Среди шагов чебышевского набора C3) есть такие, которые больше т0 и меньше т0. Большие шаги вызывают рост по- погрешностей, а малые — затухание. В целом их действие тако- таково, что если выполнить все К (е) шагов, то ошибка затухает в е^1 раз. Слово «если» употреблено не случайно. Нередко ошибки на промежуточных шагах возрастают в 1010—1030 раз по сравне- сравнению с начальными, выходят за допустимые на ЭВМ пределы, и расчет не удается довести до конца. Поэтому, хотя чебышев- ский набор шагов для схемы C9) был найден более полувека назад, в практических вычислениях его долго не могли исполь- использовать. Однако если шаги выполнять в определенном порядке, то расчет становится возможным. Идея упорядочения -заклю- -заключается в том, что сразу вслед за шагом, увеличивающим ошибку, надо выполнять шаг, уменьшающий ее. Правило перестановки особенно просто, если число шагов равно 2Г. Тогда надо располо- расположить шаги в естественном порядке и сгруппировать парами: первый —последний, второй — предпоследний и т. д. Затем пары так же группируются в четверки: первая — последняя. Аналогично группируются четверки, восьмерки и т. д. Например, для 16 шагов окончательный порядок такой: 1, 16, 8, 9, 4, 13, 5, 12, 2, 15, 7, 10, 3, 14, 6, 11. При использовании упорядоченного чебышевского набора шагов ошибка на отдельных шагах может нарастать, но никогда в ходе расчета не превзойдет начальной ошибки, а в конце расчета будет соответствовать оценке ||Р#||.
§ 2] ВАРИАЦИОННО-РАЗНОСТНЫЕ МЕТОДЫ 413 § 2. Вариационные и вариационно-разностные методы 1. Метод Ритца. Вариационные методы применяются к эллип- эллиптическим уравнениям в частных производных независимо от числа измерений. Рассмотрим, например, задачу: dh[k(x)gtadu]-p(x)u(x) = — f(x), x<=G, D1a) ur = \i(x). D16) Дифференциальный оператор А = — div [k grad (•)] + Р является самосопряженным. Поэтому задача D1) эквивалентна задаче на минимум функционала Ф[и] = (Аи — 2/, и), которую при помощи формул векторного анализа можно записать в виде $ [k (х) (grad иJ + р (х) и2 (х) - 2/ (л:) и (х)] dx = min, мг = ц (х). D2) Возьмем некоторую функцию уо(х), удовлетворяющую гра- граничному условию D16), и полную систему функций q>i(x), 1=1, 2, ... , обращающихся в нуль на границе. Будем искать при- приближенное решение задачи D2) в следующем виде: п и (х) ъ уп (х) = ф0 (х) + 2 сгФ; (х). D3) 1 = 1 Подставляя D3) в D2), получим задачу на минимум квадратичной функции неизвестных коэффициентов ct; для простоты ограни- ограничимся случаем ф0 (#) = 0, соответствующим «г = 0: [п п crct(k grad (pr grad (pt + pyr(pt) - 2f 2lcrq>r\dx = mm. D4) J Приравнивая нулю производные по коэффициентам, получим для определения ct систему линейных уравнений п 2 С[\ (kgrad ц>гgrad % + рфгф/) dx = \ ftp,dx, 1 «сrsgп. D5) i=i в в Обоснование сходимости метода Ритца при rt-voo рассматри- рассматривалось в главе VII. При практическом применении метода Ритца успех сильно зависит от выбора системы функций ф, (л:). При неудачном выборе этой системы для получения удовлетворитель- удовлетворительной точности может потребоваться очень много членов ряда D3). Если область имеет несложную форму, то нередко выбирают систему с разделяющимися переменными; например, для прямо- прямоугольника полагают (pim{x) = lt(x1)^m(xi), а для круга ф;ш (jc) = = |j (r) т]т(9). Отметим, что если в одномерной задаче для полу-
414 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII чения удовлетворительной точности требовалось ~ п членов ряда, то в аналогичной р-мерной задаче обычно надо брать <~^пр членов. Ограничиваясь малым числом членов, можно легко получить грубую оценку решения. Замечание 1. Метод Ритца применим к многомерной задаче Штурма —Лиувилля (задаче на собственные значения). Замечание 2. Если оператор в задаче типа D1) не само- самосопряженный, то вместо метода Ритца применяют метод Галер- кина. 2. Стационарные разностные схемы. Такие схемы можно составлять, непосредственно аппроксимируя производные раз- разностями, или при помощи интегро-интерполяционного метода. Например, для многомерного уравнения ки = — f (X) простейшая разностная замена производных приводит к схеме a=i рис gg. Составлять разностные схемы можно так- также вариационными методами. Для этого спе- специальным образом выбирают пробные функции уп{х), например, считая их сплайнами, построенными по узловым значениям у. Пример. Рассмотрим решение двумерного уравнения А« = = —/на прямоугольной сетке с шагами hu h2. Эквивалентная задача на минимум в этом случае имеет вид ф М = J [ferad «J - 2/ (*)" (*)] dxj. dx2 = min D7) в (для простоты мы опускаем краевые условия). Разобьем каждую прямоугольную ячейку на две треугольных (рис. 88) и в тре- треугольных ячейках аппроксимируем и (х) линейными функциями; например, в нижнем треугольнике g(x) \Л) /-^ у \yi) — ynwit и \лх Хщ) Ц/л-fl, m ynr, ^ynm), *e«f- D8) Совокупность этих функций образует линейный сплайн. Очевидно, (grad г/J = ц (г/л+1> т - ynmf +1 (уп_ т+1 - упт)\ x^g. Аппроксимируя правую часть f (х) в ячейке g(x), например,
§ 2J ВАРИАЦИОННО-РАЗНОСТНЫЕ МЕТОДЫ 415 константой fnm, легко вычисляем интеграл по этой ячейке: J [(grad# - 2fy] dx = ^[± (ул+1, „-ynmf + g 12 "Г p~ \Уп, т + 1 Упт) д~/лт 'Упт~Т~Уп + ъ тЛ~Уп, m + l) • Аналогично вычисляется интеграл по верхней треугольной ячейке. Суммируя эти интегралы, получим ц(Уп + 1, т- УптJ + Щ (Уп + 1, т + 1~ Уп.т + iJ + п, т 11 2 ~Г Jjz (Уп, т + 1 Упт) "TJtf Wn+i, m+l Уп + 1,т) д" / пт хУпт ~Г Jjz (У, + 1 У) Jtf 2 1 п, m + l) /Л + 1, m + l \Уп + 1, m + l~T Уп + i, т~гУп, m + l) I == = min. D9) Функционал Ф[у} — Р(Упт) является квадратичной функцией узловых значений. Приравнивая нулю производные функционала по г/гат и учитывая, что эта величина входит в четыре члена двойной суммы D9), получим разностную схему Jf \Уп + 1, т. ' ?Упт"Т~Уп-1, т) г^? \Уп, т+1 ^Упт~тУп, m-l) "Г "f" ~q B/лт "Ь/л +1, ш+/л-1, т + /л, т + 1-Ь/л, ш-l) = 0- E0) Это — стационарная схема; легко видеть, что она аппроксими- аппроксимирует непосредственно исходное дифференциальное уравнение. Замечание. При помощи вариационного метода удобно составлять разностные схемы высокой точности. Для этого реше- решение и (х) и правую часть f (x) аппроксимируют сплайнами бо- более высокого порядка, обычно кубическими (такая аппроксимация обсуждалась в гл. VII, § 4, п. 4). 3. Прямые методы решения. Для стационарных схем ти- типа D7) наиболее сложным является вопрос о фактическом вычи- вычислении разностного решения. В самом деле, р-мерная схема D6) является линейной алгебраи- алгебраической системой с Np неизвестными (если по каждой координате взято Af интервалов). Матрица этой системы в двумерном случае изображена на рис. 89. В общем случае эта матрица ленточная, причем лента слабо заполнена и имеет полуширину Л^1. Вычисление разностного решения методом исключения Гаусса (который не может использовать слабое заполнение ленты) тре-
416 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ, XII бует ^N3p~2 действий, т. е. .~Л^~2 операций на узел сетки*). При большом N это число действий неприемлемо велико; кроме того, лента матрицы не помещается в оперативной памяти ЭВМ. Поэтому прямое решение линейной системы D6) методом Гаусса возможно только в двумерных расчетах, и то при небольшом N <з 50. Замечание. Если строить схемы высокого порядка точно- точности (например, сплайновые) или использовать последовательность сгущающихся сеток (обычно при N = 4, 8, 16, 32) с уточнением по способу Рунге, то даже при небольшом числе узлов удается получить удовлетворительную точ- точность расчета. Для некоторых важных частных случаев эллиптических задач разра- разращу,, ботаны очень быстрые прямые мето- методы; перечислим и-х (они подробно изложены, например', в [3, 6, 31]). Быстрое преобразование Фурье применимо к задаче Ди- Дирихле в прямоугольнике. Оно осно- основано на том, что если число интер- интервалов по каждой переменной Na разбивается на множители, то вычислять коэффициенты дискретного преобразования Фурье можно не по формулам Бесселя типа B.44), а по более эко- экономичным рекуррентным формулам. Если Na = 2Г«, то метод является особенно быстрым и требует всего 4 log3 N действий на каждый узел сетки. Рассмотрим этот метод сначала на примере одномерной задачи для уравнения с постоянными коэффициентами и" — jam = — / (дс) и краевыми условиями первого рода (без ограничения общности их можно взять периодическими). Составим разностную схему на равномерной сетке {xn = nh, OsgnsgAf}: Рис. 89. us (Ул-i-2У* + Уп+i) -№ = -' E1) Будем искать разностное решение в виде разложения Фурье: N — 1 уп= 2 aqwn9, где w — exp Bni/N) E2) *) Аналогичная ситуация возникла в неявной схеме A1.56) для многомер- многомерного уравнения теплопроводности.
§ 2] ВАРИАЦИОННО-РАЗНОСТНЫЕ МЕТОДЫ 417 Подставим разложение E2) в соотношение E1), умножим на w~nP = ехр (—2ninp/N) и просуммируем по и от 0 до N — 1. Заме- Замечая, что w(n -1) ? _ 2ffi,n? ~j- да(л+1) q = — 4ffi>"? sin2 ?р , и учитывая условие ортогональности гармоник (см. гл. II, § 2, п. 4), найдем U / ( ^ '2 ^Р I \ /t^1^ где N — 1 п = О являются дискретными коэффициентами Фурье правой части урав- уравнения. Формулы E3), E4) позволяют найти искомое разностное решение. Однако эти формулы неэкономичны. Необходимо вычислить N коэффициентов Ьр, причем нахождение каждого коэффициента по формуле E4) требует примерно 2N операций. Следовательно, задача E1) решается за 2N2 операций, т. е. много медленнее, чем в методе прогонки. Если число интервалов сетки составное, N — KL, то фор- формулу E4) можно преобразовать так, что требуемое количество операций уменьшится. Представим индексы п и р в следующем виде: Запишем формулу E4) в виде двойной суммы: t-IK-l 2> !_ р KL ,4j jLi /, = о /a = о Отбросим в показателе степени последнее слагаемое, ибо до*-* = 1, и получим следующее выражение коэффициентов Фурье: L- 1 b(p) = bp = i- 2 b(llt Pi)w-p!', 0^ps>Pl + Kpt^N-\t E5) ' /, == о где E6)
418 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII Вычисление N коэффициентов Ъ (р) по формуле E5) требует 2NL операций; вычисление LK = N вспомогательных коэффициентов k.(^i> Pi) по формуле E6) производится еще за 2NK операций. Следовательно, число операций, необходимое для нахождения коэффициентов Фурье по формулам E5), E6), равно 2N(L-\-K); оно существенно меньше, чем 2N2 (например, при K = L = V~N меньше в УЫ/2 раз). Если К в свою очередь разбивается на множители, то фор- формулу E6) следует преобразовать аналогичным образом. Это позво- позволяет еще уменьшить объем вычислений. Приведем без вывода рекуррентные формулы вычисления коэф- коэффициентов Фурье для случая N = Lr: L — I 2 bVi> л) «'-"'•. 2 b (llt h lk> Pk)~ L — I , E7) L — 1 1 VI причем Число вспомогательных коэффициентов k-то ранга b(llf ..., lk, pk) равно N, поэтому для вычисления коэффициентов всех рангов по формулам E7) требуется около 2NLr операций. Если учесть, что L — N1/r, то нетрудно найти оптимальное число сомножителей гопт я« In Af и оптимальное значение LonT «=* f=^e^iZ. Но для программирования считается более удобным, если N = 2Г и L = 2; в последнем случае требуемое число опера- операций равно 4Af. log2 N, что мало отличается от оптимального слу- случая и почти не уступает по скорости методу прогонки. Обобщение этого метода на случай многих измерений очевидно. Пусть, например, для уравнения с постоянными коэффициентами «,,*, + и*,*, — цы = — /(*!, х2) поставлена первая краевая задача в прямоугольной области. Введем равномерную сетку {xln = nhx, x2m = mft2, O^n^N, 0^
§ 2] ВАРИАЦИОННО-РАЗНОСТНЫЕ МЕТОДЫ 419 ^/ийсМ} и составим разностную схему ~fiz \Ул-1, т ~ 2Упт "t" Ул+i, т) 4~ + it, (yn, m_! - 2упт + уп, m+i) - цг/лт = — Ф„т. E8) Будем искать разностное решение в виде разложения Фурье N — 1 М — 1 р = о , = о га (ЬУ) ©! = exp Bni/N), w2 = exp Bni/M). Аналогично одномерному случаю, получим следующие выраже- выражения для коэффициентов Фурье: а* = ъря / (щ ^п2 f + щ sin2 H + ц), F0) где JV— 1Л1 — 1 1 п = 0 m = 0 Запишем последнюю формулу в следующем виде: N — 1 п:\ F2) т = 0 Каждая сумма в формулах F2) имеет тот же вид, что и в фор- формуле E4). Поэтому, если N и М разлагаются на множители, то каждую сумму можно вычислить по рекуррентным формулам типа E7). Если при этом N —Ц1 и М = Ь\\ то число операций на каждый узел сетки, аналогично одномерному случаю, есть О(г-^х-\-г^^ ~О (log {NM)). Следовательно, быстрое преобразо- преобразование Фурье даже в многомерном случае по экономичности мало уступает самому быстрому одномерному методу — прогонке. Метод декомпозиции, или нечетно-четной редукции, применим для той-, же задачи, что и быстрое преобразование Фурье. Он использует исключение всех нечетных точек из системы уравнений типа D6). При Na = 2a исключение выполняет-
420 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII ся рекуррентно и число действий на узел сетки составляет O(log2yV). Матричная прогонка применима даже для случая обла- областей сложной формы. Число действий на узел сетки в этом методе есть O(N2). Но если требуется решить на данной сетке большую серию задач с различными правыми частями и гранич- граничными значениями, то, сохраняя и используя результаты проме- промежуточных вычислений, можно сократить это число действий до O(N). Быстрые прямые методы обобщены в настоящее время на за- задачи в круге и области ступенчатой формы (в этих случаях их скорость падает). Однако для областей произвольной формы, а 'также для уравнения достаточно общего вида B) удовлетвори- удовлетворительных прямых методов пока не найдено. 4. Итерационные методы. В случае сложных задач неэволю- неэволюционные разностные схемы Ay — — f решают итерационными ме- методами. Простейшим из них является метод Якоби E.51), отно- относящийся к методам последовательного приближения. Для дву- двумерного уравнения D6) он имеет вид -- 4- —\ ик = — (uk - 1 4- uk - * ч _1 г /'//'Ь — 1 _i_«/ -1 ч _j_ f h\ ~hlj ynm h\ \yn + l, m I »n — 1, m)> hi \У". m —l ~»n, m + 1/ ' ' nm ' где k — номер итерации. Это выражение можно формально пере- переписать следующим образом: а= 1 Большинство итерационных методов можно символически запи- записать в аналогичной форме: если В и т не зависят от номера итерации k, то процесс назы- называют стационарным. Итерационный процесс F3) можно рассматривать как раз- разностную схему расчета некоторой эволюционной задачи. Эту за- задачу можно найти, определяя нулевое или первое дифферен- дифференциальное приближение разностной схемы F3). Физический смысл найденной задачи не имеет значения; важно только, чтобы она соответствовала диссипативному процессу, т. е. обеспечивала бы установление стационарного решения. Тем самым, несущественно, что именно аппроксимирует оператор В; он должен только: а) обеспечивать возможно более быстрое затухание начальных дан-, ных и б) легко обращаться, чтобы решение у* вычислялось за малое число действий.
§ 2] ВАРИАЦИОННО-РАЗНОСТНЫЕ МЕТОДЫ 421 Продольно-поперечная и локально-одномерная схемы, которые можно формально рассматривать как итерационные процессы F3) для решения системы Ау —— /, удовлетворяют этим двум требо- требованиям. Однако этим требованиям удовлетворяют также некото- некоторые схемы, невыгодные для расчета параболических задач. Одной из таких схем является Попеременно-треугольная схема, которую мы рассмотрим на примере двумерного уравнения Запишем вспомогательное параболическое уравнение: !. Х2). Выберем шаблон, показанный на рис. 90, и составим на нем чисто неявную разностную схему о (уу) ( которую можно переписать в канониче- канонической форме: (Е - тЛх - тЛ2) 1=М-(А1 + Л2) у = Ф. F4) Как отмечалось выше, эта схема неэко- Рис. 90. номична, поскольку обращение оператора Е — хА1 — хА2 требует в общем случае большого числа операций на каждый узел сетки. Введем треугольные операторы пт = ~?? (Упт Уп-1, т)\~Тл \Упт Уп, m-l)> пт — ^2 КУпт Ул+i, т) Т да \Упт Уп, m+l)> определенные на треугольных шаблонах (шаблон для R± показан на рис. 90 жирными линиями). Нетрудно заметить, что Ax + A2 = =—(^1 + ^2). чт0 позволяет записать схему F4) следующим образом: (? + т7?1 + т^2)Ы-(Л1 + Л2)г/ = Ф. F6) Слегка изменим схему F6), добавляя в левую часть член %2RxR^(y —уI%, имеющий порядок малости О (т2). Возникающий при этом оператор Е + xRlJrxR2JrT2R1R2 факторизуется, т. е. представляется в виде произведения операторов EJrxR1 и ?
422 ЭЛЛИПТИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XII Полученную схему называют попеременно-треугольной: (Е + xRJ (Е + %Яг) Ы _ (Al + Л2) у = Ф. F7) Операторы E-\-xRa легко обращаются, так что алгоритм вычис- вычисления разностного решения в этой схеме несложен и требует небольшого числа операций на каждый узел сетки. В самом деле, такие операторы уже встречались пр» составлении схемы бегу- бегущего счета A0.29) для многомерного уравнения переноса; орга- организация вычислений в этом случае была подробно разобрана в гл. X, § 1, п. 4. Схема F7) также решается посредством бегу- бегущего счета. На каждом слое сначала обращают оператор E-^-xR-^, вычисления при этом начинают с узла (х10, х20) и ведут, напри- например, по направлениям xlt доходя в конечном итоге до узла (xlN, х2М). Затем обращают оператор E-\-xR%, начиная вычисле- вычисления с узла (Xjjv, х2М) и ведя их в обратном порядке. Попеременно-треугольная схема естественно переносится на случай любого числа измерений. Она легко обобщается на диффе- дифференциальные уравнения с переменными или разрывными коэффи- коэффициентами и области G(x) сложной формы. При этом схема для исходной задачи Ау —— / записывается в виде "Ук~1 -1 = f, F8) , Вк где D = DH > 0 — диагональный оператор, выбираемый так, чтобы возможно сильнее уменьшить отношение у2/ух границ эквивалент- эквивалентности B9) операторов А и Bk, а треугольные операторы Ra выб- выбраны так, чтобы выполнялось Rx -\- R2 — А, Ri, = R" (нетрудно за- заметить, что в схеме F7) эти условия выполнены, причем D = E). Если используется чебышевский набор шагов, то процесс F8) схо- сходится за К = О [y~N In -j итераций. Градиентные методы. Можно заменить линейную задачу Ау — —/задачей на минимум квадратичной функции F(y). Если матрица А положительно определенная, то удобно взять задачу F (у) = {Ау, у)+ 2 (/, у) = rain. F9) Для произвольной матрицы А (которая встречается в задачах со смешанными производными) можно положить F(y)se(Ay+f, Ay+j) = rnin. G0) Задачу на минимум можно решать методом наискорейшего спуска, что для случая F9) выполняется по формулам F.22) —F.26).
ЗАДАЧИ 423 Скорость сходимости метода наискорейшего спуска, согласно оценке F.27), такая же, как и у экономичных схем с постоян- постоянным оптимальным шагом, т. е. K(e) = O(N In A/s)). Она меньше, чем у схем с чебышевским набором шагов. Достоинством метода является то, что для его применения не надо знать границы спектра оператора А. ЗАДАЧИ 1. Найти время, необходимое для установления стационарного режима в эволюционной задаче (Ю), и исследовать характер установления. 2. Найти оптимальный шаг для счета на установление по локально-одно- локально-одномерной схеме типа B2) в случае задачи Дирихле A) в трехмерном параллеле- параллелепипеде. 3. Найти оптимальный шаг и необходимое число шагов К (е) для счета на установление по явной схеме C9) в случае задачи Дирихле в р-мерном па- параллелепипеде, когда сетки равномерны, а число узлов по каждой переменной Na свое. 4. Для условий задачи 3 построить упорядоченный чебышевский набор шагов при К = 64. 5. Обосновать критерий установления B76). 6. Для решения задачи D1) методом Ритца написать аналог системы D5) при (po(jc)^O. 7. Составить вариационным методом разностную схему, аналогичную E0), используя для / (*) сплайновую аппроксимацию типа D8). 8. Составить формулы наискорейшего спуска для задачи G0). 9. Доказать справедливость рекуррентных формул E7). Указание: пола- полагая последовательно N = LNU Л/,=1л/2 и т.д., использовать для индексов сле- следующую замену переменных:
ГЛАВА XIII ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ Глава ХШ посвящена разностным схемам для уравнений в частных произ- производных гиперболического типа. В § 1 рассмотрено гиперболическое уравнение второго порядка — волновое уравнение, которое можно заменить эквивалентной системой двух уравнений первого порядка. На примере одномерной задачи подробно разобраны явные и неявные разностные схемы решения эшх уравне- уравнений. Дано обобщение этих схем на случай любого числа измерений. В § 2 рассмотрены одномерные уравнения газодинамики, являющиеся ги- гиперболической системой квазилинейных уравнений первого порядка. Построены две однородные разностные схемы («крест» и неявная консервативная схема), дающие хорошие результаты при решении многих прикладных задач. Приведен вид псевдовязкости, используемый, в этих схемах. § 1. Волновое уравнение 1. Схема «крест». К гиперболическим уравнениям приводят задачи колебания струны, движения сжимаемого газа, распростра- распространения возмущений электромагнитных полей и многие другие. Типичным примером одномерной задачи является задача малых колебаний натянутой струны с распределенной по длине нагруз- нагрузкой f (x, t): uu = (?uxx + f(x, 0, 0<д;<а, 0<t^T; (la) и(х, 0) = ц1(х), щ{х, 0)=ц2(х), 0<х<а; A6) "(О, 0 = 1*» @. и (а, 9 = МО. 0<*<Г Aв) (это же уравнение описывает плоские акустические волны в газе при наличии внешнего силового поля /). Краевые условия пер- первого рода Aв) соответствуют заданному закону движения концов струны; возможны и другие типы краевых условий. Заметим, что, в отличие от параболической задачи A1.1), ги- гиперболическая задача A) требует постановки двух начальных условий: не только начального смещения от положения равнове- равновесия и, но и начальной скорости вещества щ. Составим несложную и эффективную разностную схему для задачи A). Выберем по х, t прямоугольную сетку, для простоты
§ II ВОЛНОВОЕ УРАВНЕНИЕ 425 равномерную, и возьмем изображенный на рис. 91 шаблон. Ап- Аппроксимируя прозводные разностями, получим трехслойную схему 1а с2 с граничными условиями По форме шаблона эту схему называют «крест». Исследуем ее. Вычисление решения. На нулевом слое решение изве- известно из начального условия {/п — Ш (*л)> O^n^N. C) На первом слое решение также можно вычис- вычислить по начальным данным. Простейший спо- 0 соб состоит в том, что полагают \id) риг qi Более хорошие результаты дает использование следующего члена разложения: ^ (Уп -Уп) ^ tit (xn, 0) + ~utt(xn, 0); выражение для ии в это соотношение надо подставить из урав- уравнения Aа). Окончательно получим ~~[с2 d%l?"] +f(xn, 0)], Kn<JV-l, D6) где ц.1Л-Л можно заменить второй разностью. Схема Bа) явная и позволяет выразить уп через значения у с двух предыдущих слоев. Поэтому, начиная со второго слоя, разностное решение вычисляется по этой схеме. Описанный алгоритм показывает, что, после того как выбрана одна из начальных формул Dа, б), разностное решение суще- существует и единственно. Аппроксимация. Разложим точное решение по формуле Тейлора с центром в узле (х„, tm), предполагая наличие непре- непрерывных четвертых производных: А2 Ь? /г* и™х 1 = u±hux + ^-uxx±JQ- uxxx + -gj- uxxxx, y ии ± ^ иш + ~ щш.
426 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII Используя эти разложения, легко найдем невязку схемы Bа): ), E) ~ и невязку начального условия Dа): Ч> = l*i (*«) -1 («А - ий) = - |«« = О (х), Fа) или начального условия D6): F6) Начальное условие C) и краевые условия B6) аппроксимируются точно. Таким образом, схема B) — C) с начальным условием D6) имеет аппроксимацию О (т2 + Я2). Использование начального усло- условия Dа) ухудшает аппроксимацию до O(x + h2). Устойчивость исследуем методом разделения переменных, полагая в схеме Bа) f = 0, yn = etQX", y=pqy, y = pgy. G) Для множителя роста гармоники получим квадратное уравнение l=0. (8) По теореме Виета произведение его корней p'Qpq — 1. Значит, усло- условие устойчивости |р?|=^1 может быть выполнено, если |р?| = = |pj| = l. Для уравнения с действительными коэффициентами (8) это означает, что корни образуют комплексно сопряженную пару; для этого дискриминант уравнения не должен быть поло- положительным: n I ex ¦ ah 1. Чтобы это неравенство выполнялось для любых гармоник, необ- необходимо и достаточно соблюдение условия Куранта: ст<Я. (9) Таким образом, схема «крест» условно устойчива. Замечание 1. Если сх = h, то для некоторых гармоник Я7 становится кратным корнем уравнения (8). Это приводит к сла- слабой неустойчивости счета: амплитуда этих гармоник при т->0
§ 1J ВОЛНОВОЕ УРАВНЕНИЕ 427 растет, как m—(t/x). Поэтому в условии Куранта (9) стоит стро- строгое неравенство. Сходимость. Из сказанного выше следует, что схема B) с начальными условиями C), D6) при выполнении условия Куранта (9) сходится со скоростью О (т2 + h2). Из наших рассуждений вытекает сходимость схемы в |Н1/2; но методом энергетических неравенств можно доказать, что схо- сходимость равномерная. Схема B) обеспечивает хорошую точность расчета решений и (х, t), имеющих непрерывные четвертые производные. Она позво- позволяет рассчитывать менее гладкие и даже разрывные решения, хотя в последнем случае точность расчетов невелика и обычно возникает легкая «разболтка», связанная с немонотонностью схемы. Условие устойчивости (9) естественное, поскольку для получения хорошей точности тоже надо полагать ex ~ h. Поэтому схему «крест» часто используют для практических расчетов. Замечание 2. Схема B) написана для случая постоянных шагов /гит. Если шаги переменные, то надо заменить произ- производные по пространству и времени соответствующими выражениями C.2), которые обеспечивают локальную аппроксимацию O(x2-\-h2) только в случае квазиравномерных сеток по х и t. Поэтому для трехслойных схем, в отличие от двуслойных, рез- резкие смены шага хт в ходе расчета опасны: это может привести к ухудшению точности. Замечание 3. Для задач с краевыми условиями первого рода ur = \i(t) удобно выбирать сетку так, чтобы узлы х0 и xN были концами отрезка [0, а]. Если же на одном из концов задано краевое условие второго рода ия(а, f) = p(t), A0) то целесообразно полагать xN.1 — a — 1/2h, xN = a-\-1/2h, чтобы граница была полуцелой точкой. Тогда естественное разностное краевое условие () l*(O обеспечивает аппроксимацию О (/г2). Такой выбор сетки полезен и для других типов уравнений. 2. Неявная схема. Если схема условно устойчива, то случай- случайное небольшое нарушение условия устойчивости может привести к быстрому нарастанию погрешностей, вплоть до «авостов» при расчетах на ЭВМ. Поэтому многие вычислители предпочитают использовать безусловно устойчивые неявные схемы. Построим хорошую неявную схему для задачи A). Возьмем изображенный на рис. 92 шаблон и составим схему с весами при
428 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII пространственных производных на разных слоях: О2) tyn. = -jp (Упп - 2yn+Уп-i); чтобы все веса были неотрицательны, следует брать OsSor^Vg. В граничных узлах решение определяется из краевых усло- условий B6). Исследуем построенную схему. Значения решения на нулевом и первом слоях вычисляют, как и в п. 1, по формулам C) и D6). На остальных слоях схема A2) с крае- f ? выми условиями B6) образует относительно у —° линейную систему уравнений с трехдиагональ- ной матрицей, в которой диагональные эле- —оД- менты преобладают; решение этой системы существует, единственно и вычисляется мето- методом прогонки. ° Разложением решения по формуле Тейло- Рис. 92. ра нетрудно установить, что на решениях с непрерывными четвертыми производными схема A2) аппроксимирует уравнение Aа) с погрешностью O(x2-{-h2) при любом а. Устойчивость проверяется методом разделения переменных. Делая подстановку G), получим для множителя роста квадрат- квадратное уравнение 1-2A-2о)р; „ _ ex qh A3) "~ 1 Р/7 —— bill . Vq h 2 На основании тех же рассуждений, что и в п. 1, можно сделать следующий вывод: устойчивость будет только при комплексно сопряженных корнях, т. е. при |a?|«Sl. Отсюда вытекает усло- условие устойчивости схемы: ?LJ(l-4a)<l. A4) Из неравенства A4) видно, что при o^1/i схема A2) безусловно устойчива. Если а<х/4, то схема условно устойчива при ctss: <A(l-4a)-'/.. Таким образом, при выборе веса 1/4s=:asc; 1/2 неявная схема A2) безусловно сходится с точностью О (т2 +/z2). Замечание 1. Схема A2) при а = 0 переходит в схему «крест», а условие. устойчивости A4) —в условие Куранта (9).
§ 1] ВОЛНОВОЕ УРАВНЕНИЕ 429 Замечание 2. Обобщим неявную схему A2) на случай задачи с переменной скоростью звука: *jL = -^(k(x,f)^) + f(x,f), k(x, t)^c*{x, 0>0, A5) где коэффициенты k(x, t), f (x, t) переменны и кусочно-непрерывны вместе со своими вторыми производными, причем разрывы непод- неподвижны (т. е. лежат на линиях х = const). Предполагается, что на этих разрывах выполняются условия сопряжения [и] = 0, [ких] = 0. Выберем по t равномерную сетку, а по х — специальную нерав- неравномерную сетку (у которой все точки разрыва коэффициентов являются узлами). Построим аналог наилучшей консервативной схемы A1.34), используя во всех пространственных операторах значения k (x, t) со среднего слоя: it \Уы®-Уп® (t чУя@-уя-1@1 пп "л-1 J A6) '=='m-l> *mi 'm+i> "л == ¦"¦n+l ¦"¦л» *л == " ("я "Г "n-l)» 1 fln J К (X, tm) dt Известно, (см. [30]), что при сделанных предположениях (и до- достаточно гладких начальных и граничных данных) эта схема равномерно сходится со скоростью О (т2-f- max h%), если выпол- выполнено условие устойчивости A4). Из схемы A6) нетрудно получить схемы для гладких и для постоянных коэффициентов на произвольных неравномерных по х сетках. В случае k — const и равномерной сетки схема A6) сов- совпадает со схемой A2). 3. Двуслойная акустическая схема. Уравнение второго порядка Aа) можно заменить эквивалентной ему парой уравнений пер- первого порядка. Для этого введем потенциалы скоростей и правой части: X X v(x, t) = Ц(?, t)dl, F(x, f) = [f(%, t)dl. A7) о о
430 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII Функции и (#, t), v (x, t) удовлетворяют системе уравнений аку- акустики «< = »*, vt = c'ux + F(x, t). A8a) Начальные условия A6) с учетом A7) примут вид и (х, 0) -^ (х), v (х, 0) = l^(g) d|, A86) о а граничные условия Aв) останутся без изменения: «@, 0 = 1*8@. и (а, 0 = 1*4@- A8в) Задача акустики A8) нередко оказывается более удобной для численного решения, чем волновое уравнение A); в частности, она позволяет построить дву- двуслойные разностные схемы, допускающие неравномерную сетку по t. Неявная схема. Бу- дем рассматривать в узлах неравномерной пространст- пространственной сетки величины уп<^ Рис. 93. ъи(хп, 0, O^n^N, а в серединах интервалов — ве- величины Zn^vixn + i/,, 0> 0^n^N—l. Возьмем шаблон, изоб- изображенный на рис. 93, и составим на нем схему с весами - (zn - г„) = ~К (уп+1 - уп) + A - ofi) (уп+1 ~Уп)] + Фл, A9а) " (Уп-Уп) = -j~ 1а2^п~ Zn-J + A - <т2) (г„ - гп.л)], A96) ь 'hi fin = ^л+i ^л > Ял = ~2 (fin ~т~ ^п ~ i) i подразумевается, что O^^sc; I, 0s^d2s?; 1. Исследуем эту схему, подробно останавливаясь только на наиболее важных деталях и для простоты ограничиваясь равномерной по х сеткой. Схема A9) составлена симметрично по переменной х, если положить <pn = F (хп + у2, 0; поэтому нетрудно сообразить, что она имеет аппроксимацию О(т + /г2). Если взять а1 = 02 = 1/^ и <S>n = F(xn + i/lt tm-Jf-x/2), то схема становится вдобавок симметрич- симметричной по времени и приобретает аппроксимацию O(x2-\-h2). Устойчивость исследуем методом разделения переменных, рассматривая возмущения функций у .и z в виде гармоник B0)
§ 11 ВОЛНОВОЕ УРАВНЕНИЕ 431 с одной и той же частотой и множителем роста, но с разными амплитудами аир. Подставляя B0) в A9) и полагая <pn = 0, получим для амплитуд систему линейных однородных уравнений 1 (р - 1) ос - I (а2р + 1 - а2) A - ei"h) р = 0, 0 Чтобы она имела нетривиальное решение, ее определитель дол- должен обращаться в нуль. Это дает квадратное уравнение для нахождения множителей роста р: ; B2а) 8=1 + 2уда1аг 5s 1, ц = 1 - уд (а± + аъ - 2аха2), sin^J^0 {22б) Оба корня уравнения B2а) меньше единицы по модулю тогда и только тогда, если B3) Первое из этих неравенств очевидно, поскольку по теореме Виета p'qp"q = у/г; второе доказывается несложными, но громоздкими выкладками. Неравенства B3) выполняются для всех гармоник только в том случае, если ^JBax-l)B02-1)^-1, B4) что является условием устойчивости схемы A9). При выполнении этого условия схема сходится со скоростью, соответствующей порядку аппроксимации. Из неравенств B4) вытекает, что если аг ^ Va и cr2 ^ х/2, то схема A9) безусловно устойчива. Если ог-\-ог^\, но один из весов меньше 1/2, то схема условно устойчива при сх < h/YBo1-\)(\-2o2). B5) Если ст1 + ст2<1, то схема безусловно неустойчива. Рассмотрим два частных случая схемы A9). Явная схема. Положим ^ = 0, а2=1; тогда схема A9) принимает вид ~(in-Zn) = Y(y»+i-yn) + FZ+4:> 0^n^N-\, B6a) \(Уп-Уп) = ^(гп-гп-1), l^n^N-l, B66) и становится явной. В самом деле, величины гп явно выражаются из уравнения B6а) через значения величин на исходном слое.
432 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII После того, как вычислены все значения гп> можно найти у'1 также по явным формулам B66). Из B5) следует, что схема B6) устойчива при выполнении условия Куранта сх < !г. Заметим, что схема B6) является схемой типа «крест». В самом деле, будем считать, что величина zn^v (хп+уг, tm) сдвинута на полшага по х, а величина упр^и(хп, ^m + i/2) —на полшага по t относительно узлов сетки (рис. 94). Тогда этой схеме соответ- соответствует шаблон из двух крестов, показанных на рисунке жир- жирными линиями. Зададим согласованные с этим шаблоном граничные данные: = 1*4 Cm B6в) и начальные данные, уточненные аналогично D6), где надо вместо т взять т/2: У°п = Ц! (*„) + ~ Щ (хп) +1- [с2 ^^L + f(xn, 0)], " I B6г) 1 1 \Zn-f 1 1 1 1 Л У~п~~ Л г* L —* ( Тогда схема B6) при выполнении условия Куранта ст<Л схо- сходится со скоростью О(т2 + ^2)- Симметричная схема. Положим ох = о2 = 1/2; тогда схема A9) является безусловно устойчивой и сходится со скоро- скоростью О(т2 + ^2)- Эта схема двуслой- двуслойна, поэтому она позволяет произволь- произвольно менять шаг т в ходе расчета, обес- обеспечивая при этом точность O(maxxjn). Кроме того, поскольку значения у0 и z° соответствуют моменту i = 0, началь- начальные данные для расчета берут непо- непосредственно из постановки задачи A8): Уп+1 Рис. 94. B7) без каких-либо сдвигов по времени; такая аппроксимация началь- начальных условий является точной. Однако при любых значениях весов а1( а2 (если только один из них не равен нулю) схема A9) неявна. Рассмотрим, как целе- целесообразно вычислять разностное решение в этом случае. Опре- Определим zn из уравнения A9а) и напишем аналогичное выра- выражение для zn-v Подставляя эти выражения в A96) и полагая
§ 1] ВОЛНОВОЕ УРАВНЕНИЕ 433 для простоты h = const, получим 1 Т К (У п+i j (zn-zn-1) B8) Это линейная система относительно неизвестных у, имеющая трехдиагональную матрицу с преобладанием диагональных эле- элементов; ее решение легко вычисляется прогонкой. Найдя у, нетрудно определить г по явным формулам A9а). Таким образом, симметричная схема A9) приводит к неслож- несложному вычислительному алгоритму, безусловно устойчива и имеет хорошую точность. Она является одной из лучших схем для рас- расчета задач акустики. По аналогии с ней строятся надежные одно- однородные схемы расчета газодинамических и других сложных задач. Замечание 1. Разностное решение схемы A9) можно, вообще говоря, вычислять методом последовательных приближений: = гп + ^- К {yf+ !-№) + A - <?i) {Уп.х - Уп)\ + Ф„, B9) ] Однако это эквивалентно применению последовательных прибли- приближений к решению системы B8), когда в левой ее части берется уA+1) а в правой — y{sK Этот метод, записанный в форме y(s+1) = ) i|>, сходится при 1|С||<С1- Выбирая одну из норм: |С||=тах[У Сяь|\=4^ получим для сходимости итераций условие типа Куранта: сх < —Д=г. C0) Поэтому метод последовательных приближений невыгодно при- применять к вычислению разностного решения безусловно устойчивых схем. Замечание 2. Для задач с разрывными или недостаточно гладкими решениями нередко используют чисто неявную схему A9) при at = a2 = 1, поскольку она подавляет «разболтку» счета. Однако на достаточно гладких решениях эта схема существенно уступает по точности симметричной схеме.
434 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. ХШ 4. Инварианты. Рассмотрим запись системы уравнений акус- акустики через инварианты: r(x, t)~v — cu, s(x, t) = v + cu. C1) Умножая первое из уравнений A8а) на с, прибавим его ко второму уравнению A8а) и вычтем. Получим систему уравнений, которым удовлетворяют инварианты: /7 + crx = F (х, t), st- csx = F (x, t). C2a) Из соотношений A86) нетрудно получить для инвариантов началь- начальные условия: г (х, 0) = jj щ (|) d% -ф1 (х), s (х, 0) =\ ц2 (I) 4 + Ф1 (*), C26) о о а из соотношений A8в)— краевые условия: (s-rb-o = -!m,(*), (s-'),-<, = !-МО- C2в) Видно, что инвариант г(д;, t) удовлетворяет уравнению переноса вправо (т. е. с положительной скоростью), а инвариант s(x, t) — уравнению переноса влево. В случае однородной задачи (F — n3 = = ^4 = 0) величины г, s переносятся по соответствующим характе- характеристикам без изменения, с чем и связано их название. Для инвариантов можно составить разностные схемы, анало- аналогичные схемам бегущего счета для уравнения переноса. Шаблон каждой схемы должен учитывать направление характеристики соответствующего уравнения. Простейшей будет явная схема: (гп — гп)+^- (гп -- гп-г) = Fn, —(sn -sn) — ~(sn+1 — sn) = Fn. C3) Она действительно является схемой бегущего счета, и организация вычислений здесь почти такая же, как для одномерного уравнения переноса. Нетрудно показать, что при выполнении условия ex «S h эта схема устойчива, монотонна и равномерно сходится с порядком точности O(x-\-h) на дважды непрерывно дифференцируемых решениях. Счет по неявным схемам типа A0.10)—A0.12) уже не будет бегущим: для развязки счета надо знать граничное значение инварианта на новом слое,- а оно выражается через то значение другого инварианта, которое считается последним. Поэтому для определения инвариантов получается линейная система с матрицей специального вида, схематически изображенного на рис. 95. Такая система решается методом исключения; экономные формулы исключения для этого случая называются формулами циклической прогонки (см. [83] и допол- дополнение к [30]).
§ и ВОЛНОВОЕ УРАВНЕНИЕ 435 Схемы для инвариантов можно переписать в терминах исход- исходных переменных. Так, складывая и вычитая уравнения C3), полу- получим для внутренних точек области 2Л Уп-l) Г ' C4, -^(zn+1-2znJrZn-1)+Fn. Каждое из уравнений C4) содержит члены, соответствующие явной схеме F) для уравнения теплопроводности с коэффициентом k — ch/2. Отсюда понятно, что исходная схема C3) будет хорошо сглаживать разрывы началь- начальных данных, т. е. иметь аппроксимационную вязкость. Условие устойчивости явной схе- схемы F) 2kx s? h2 совпадает с условием устойчи- устойчивости исходной схемы. Схемы в инвариантах обладают многими до- достоинствами. Однако широкого распростране- распространения они не получили, потому что их нелегко обобщить на нелинейные задачи. 5. Явная многомерная схема. Волновое уравнение в р-мерной изотропной среде (либо в неизотропной среде, если у тензора упругости отличны от нуля только диагональные компоненты) имеет вид р Рис. 95. , t), а=1 д ~дх~а \ ¦"а — л„ (^а (X, I) -з- J, X — [Х1, Х2, .. . , Хр1 €Е и. C5а) Рассмотрим задачу нахождения решения уравнения C5а) с началь- начальными условиями и с краевыми условиями первого рода: и (х, 0) = ^ (*), щ (х, 0) = ц2 (х), X<=G; U(X, C56) Обычно многомерные разностные схемы составляют непосред- непосредственно для задачи C5). В принципе, можно заменить уравне- уравнение C5а) системой уравнений первого порядка; однако это менее выгодно, чем в одномерном случае. Схема «крест» строится аналогично одномерной схеме B) на шаблоне, вид которого для двух измерений показан на рис. 96. При произвольном числе измерений эта схема для уравнения C5а) имеет вид C6) а—1
436 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII в случае переменных коэффициентов операторы Ла выбираются аналогично наилучшей консервативной схеме A6). Схема C6) — явная трехслойная; организация вычислений по ней одинаково проста при любом числе измерений. Нетрудно / " \ проверить, что она имеет аппроксимацию 0\т?-\- ^] ha • Ее устой- чивость можно исследовать методом разделения переменных, под- подставляя в C6) многомерную гармонику: ц = оц, у — оЪ. C7) ZJ \ ZJ ' •j I Z/ \ / a=l / Учитывая, что Aa#->-4-%sin2-^, C8) получим для множителя роста квадратное уравнение р2 — 2A — 2у)р + 1 = 0, 7 = т2 > -— sin2-^-2-. Это уравнение аналогично одномерному уравнению (8); анализ его корней показывает, что схема C6) устойчива при выполнении условия х<(У Vl ^ ~ , C9) являющегося обобщением условия Куранта (9). Это естественное условие, а точность схемы неплохая. Поэтому схему «крест» исполь- используют в расчетах, если не требуется особенно \ высокой надежности («безавостности») вычисле- вычислений. Таким образом, численный расчет многомер- многомерных задач акустики не вызывает принципиаль- принципиальных затруднений. 6. Факторизованные схемы. В «больших за- задачах», где небольшое нарушение условия ус- Рис. 96 тойчивости любого из разностных уравнений в ходе расчета легко приводит к «авостам» ЭВМ, целесообразно использовать безусловно устойчивые много- многомерные экономичные схемы, несмотря на то что они сложнее явных схем. Для гиперболических уравнений локально-одномерные схемы имеют сравнительно громоздкий и искусственный вид. Более удобны в данном случае.факторизованные схемы (схемы с расщеплением); рассмотрим их.
§ Ц ВОЛНОВОЕ УРАВНЕНИЕ 437 Исходная схема. Для многомерной задачи C5) рассмотрим аналог неявной схемы с весами A2), который будем называть исходной схемой: D0) операторы Ла — трехточечные и вычисляются по формуле A6). Эта схема симметрична по пространству и времени, поэтому легко \ / \ видеть, что она имеет аппроксимацию О [ т2 + 2 ^а ПРИ любых \ a=l / значениях веса а. Методом разделения переменных можно пока- показать, что при o^1/i схема D0) безусловно устойчива. Однако исходная схема, которую можно переписать в виде = Г2? + т2A-2о) 2 Ла1(/-(?-т2а % Ла)г/+т2/, D1) L а=1 J \ а=1 / содержит на верхнем слое выражение By, где В = Е- х2о j] Aa. D2) Оператору В, встречавшемуся (почти в той же форме) в схеме A1.68) для многомерного уравнения теплопроводности, соответ- соответствует ленточная матрица типа, изображенного на рис. 89 (гл. XII, § 2, п. 3). Решение линейной системы D1) не сводится к одно- одномерным прогонкам, и оператор В оказывается труднообратимым. Поэтому исходная схема D0) неэкономична. Факторизованная схема. Оператор D2) можно при- приближенно заменить факторизованным оператором П а=1 = ?-т2а J] Аа + х'а^Х ? ЛаЛр+ ... =В + О(т*), D3) а=1 о = 1 р=1+а т. е. приближенно расщепить В на произведение одномерных операторов. Заметим, что перестановочности операторов Ла для этого не требуется. Заменяя в исходной схеме D1) оператор В
438 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII на С, получим факторизованную схему: П а=1 U A - 2а) 2 Ла1 г/ - (f - т2а 2 ЛаЪ + г% D4) а=1 J \ а=1 отличающуюся от исходной. Исследуем ее. Аппроксимация. Преобразуя факторизованную схему D4) к форме типа D0) и учитывая соотношение D3), получим = 1>АЛ°У + A-20)y+ay] + f-x^ 5 а=1 а=1 р= что отличается от схемы D0) на члены О (т2). Поскольку исход- исходная схема D0) имеет второй порядок аппроксимации, то факто- ризованная схема D4) также имеет аппроксимацию О (т2 + Не- Неустойчивость исследуем методом разделения переменных, подставляя в D4) многомерную гармонику C7). С учетом соотно- соотношения C8) получим для множителя роста квадратное уравнение = 0; D5а) Уравнение D5а) аналогично уравнению B2а); поэтому оба его корня не превышают единицы по модулю только в том случае, если выполняются неравенства B3): Первое из этих неравенств для коэффициентов D56) всегда спра- справедливо. Второе неравенство заменим несколько более жестким требованием | ц | ^ v; нетрудно проверить, что оно выполняется при ^-<1- D6) а=1 Это и есть достаточное условие устойчивости схемы D4). В част- частности, если o^s1/^ то условие D6) выполняется при любых шагах т, ha и схема является безусловно устойчивой.
§ 2] ОДНОМЕРНЫЕ УРАВНЕНИЯ ГАЗОДИНАМИКИ 439 Безусловная сходимость факторизованной схемы D4) со скоростью О (т2 + 2%) при 1Д < а < 1/2 следует из сказанного выше. Вычисление разностного решения сводится к последова- последовательности одномерных прогонок по всем направлениям ха. В самом деле, факторизованный оператор С есть произведение одномерных трехточечных операторов Е — ггоАа, а каждый такой оператор обращается одномерной прогонкой. Тем самым, схема D4) эко- экономична. Таким образом, для многомерных задач акустики факториза- факторизацией удается построить безусловно устойчивые экономичные схемы, сходящиеся со скоростью О (т2 \ § 2. Одномерные уравнения газодинамики 1. Лагранжева форма записи. Одномерные уравнения газоди- газодинамики являются хорошим приближением для описания ряда интересных задач: плоского течения сжимаемого газа в трубе, взрыва сферического или длинного цилиндрического заряда в газе, кумулятивных эффектов в мишенях при управляемом термоядерном синтезе (в последней задаче существенна также теплопроводность и другие эффекты) и т. д. Мы рассмотрим простые, но эффективные разностные схемы решения уравнений газодинамики без тепло- теплопроводности *). Уравнения газодинамики могут записываться в различных формах — эйлеровой и лагранжевой. В эйлеровой форме произ- производные по времени выражают изменение величин в данной точке пространства, а в лагранжевой — изменение характеристик данной материальной точки. Эти производные связаны соотношением Если нас интересуют параметры потока в заданной простран- пространственной области (течение газа в трубе), то естественно выбрать эйлеровы координаты. Если нам нужно исследовать поведение некоторой массы вещества, то целесообразно применение лагран- жевых координат. Особенно выгодны лагранжевы координаты для задач в слоистых средах, потому что они позволяют легко следить за границами раздела различных сред. Большинство одномерных задач относится ко второму типу (в многомерном случае это не так). Поэтому здесь мы рассмотрим только уравнения газодинамики в лагранжевых координатах. *) Уравнения газодинамики и исследование простейших газодинамических течений приведены, например, в [11, 19], а более подробное изложение методов решения —в [27, 28, 34].
440 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII Сначала запишем их в такой форме, когда производная по вре- времени лагранжева, а пространственные координаты — обычные: = 0, D7) = 0, D8) = 0; D9) здесь р —плотность, © — скорость, р — давление и г(р, р) — внут- внутренняя энергия единицы массы, зависимость которой от давления и плотности считается известной. Уравнение D8) выражает закон сохранения импульса и во всех численных расчетах используется именно в такой форме. Уравнение изменения энергии D9) обычно удобнее преобразовать. Если подставить в него divf, определенную из уравнения D7), то получим особенно простую форму записи: Если умножить уравнение D8) на © и прибавить к уравнению D9), то получим другую форму — закон сохранения полной энергии: = 0. E06) Уравнение неразрывности D7) выражает закон сохранения массы. Его тоже обычно преобразуют, но уже после приведения урав- уравнений к одномерной записи. В том, что указанные уравнения являются законами сохранения, нетрудно убедиться. Например, проинтегрируем E06) по объему dV, занятому некоторой массой вещества, второй интеграл преобразуем к поверхностному, а в первом интеграле заменим р dV на dm, после чего производную по времени можно вынести за знак интеграла. Тогда получим dt Здесь первый интеграл есть полная (внутренняя и кинетическая) энергия данной массы газа; второй равен работе в единицу времени сил давления на поверхности, ограничивающей данную массу газа. Действительно, это закон сохранения энергии. Одномерные задачи бывают трех типов: с плоской, цилиндриче- цилиндрической или сферической симметрией. Введем показатель симметрии v, равный для этих случаев соответственно 0, 1 или 2. Масса слоя толщиной йг в этих случаях равна (рис. 97) dm = prvdr E1)
§2] ОДНОМЕРНЫЕ УРАВНЕНИЯ ГАЗОДИНАМИКИ 441 с точностью до численного множителя, равного 1, 2л или 4л. При помощи соотношения E1) введем массовую координату данной материальной точки: m(r) = ] E2) По закону сохранения вещества массовая координата материаль- материальной точки не меняется со временем; поэтому такая координата позволяет легко следить за каждой час- частицей вещества и, в частности, за грани- границей раздела слоев. Преобразуем уравнения газодинамики в одномерном случае к лагранжевой форме. В качестве первого уравнения возьмем определение скорости: Ж = «• E3) Уравнение неразрывности D7), выража- Рис. 97. ющее закон сохранения массы, заменим имеющим тот же смысл соотношением E1), записывая следую- следующим образом: -A- (rv+1) = -^ii-. E4) от ' р v ' В уравнениях импульса D8) и энергии E06) перейдем к произ- производной по массовой координате, то есть в одномерных выражениях заменим дг на дт при помощи соотношения E1), и получим dv dt Уравнение энергии можно взять также в форме E0а): де , .. д I 1 E5) E6а) E66) Система E3)—E6) является лагранжевой формой записи уравне- уравнений одномерной газодинамики. В большинстве численных расче- расчетов используется эта именно форма.
442 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII 2. Псевдовязкость. Уравнения E3)—E6) составляют гипербо- гиперболическую квазилинейную систему. Из курса газодинамики из- известно, что среди ее решений есть сильные разрывы — ударные волны. В главе IX мы видели, что для разностного расчета таких решений надо изменять уравнения, вводя в них специально по- подобранные диссипативные члены. В газодинамике такие члены удается найти из физических соображений. Дело в том, что уравнение газодинамики сравни- сравнительно грубо описывают поведение газа. Эти уравнения выво- выводятся из кинетического уравнения Больцмана для функции рас- распределения молекул. Если при выводе учесть эффекты диффузии молекул, то в уравнениях газодинамики появятся так называемые вязкие члены. Например, уравнение импульса D8) примет вид (см. [19]) PJ = -gradp + TiAe + Sgraddive> t,>\-i\>0, E7) где т) и Z, являются коэффициентами физической вязкости. Учет физической вязкости приводит к изменению качественного харак- характера решения: плоские ударные волны превращаются в анали- аналитические решения, в которых скачки сглажены и имеют эффек- эффективную ширину порядка длины свободного пробега молекул. Качественно это легко понять на примере плоского течения, где уравнение E7) принимает форму напоминающую уравнение теплопроводности; видно, что вязкий член должен сглаживать разрывы решения. Обычно в численных расчетах довольствуются только вторым вязким членом в уравнении E7) и считают коэффициент ? слабо меняющимся. Тогда этот член можно объединить с давлением: — grad p + t, grad div v яа — grad (p — t, div v), E9) и рассматривать величину wx = — I div v F0) как вязкое давление. При этом в уравнение энергии вместо обыч- обычного давления также ставят величину p-\-wv называя ее полным давлением. Вязкость wx называется линейной. Она приводит к «разма- «размазыванию» ударной волны со скачком скорости 8v на интервал
§ 21 ОДНОМЕРНЫЕ УРАВНЕНИЯ ГАЗОДИНАМИКИ 443 где V —показатель политропы вещества. Физический коэффициент вязкости очень мал и дает ничтожно малое сглаживание. Для расчетов по разностным схемам необходимо сглаживание на не- несколько интервалов сетки. Поэтому в численных расчетах вели- величину ? приходится увеличивать на много порядков по сравнению с ее физическим значением. Для численных расчетов необходимо введение вязкости лишь в окрестности ударных волн. Но вязкий член в E9) присутствует во всех точках пространства. Поскольку в численных расчетах коэффициент ? выбирается много больше физического коэффици- коэффициента, то наличие псевдовязкости, помимо положительного эф- эффекта—сглаживания разрывов, — приводит к отрицательному — внесению заметной погрешности. Чтобы уменьшить эту погрешность, Нейман и Рихтмайер [72] предложили выбирать коэффициент псевдовязкости большим в окрестности скачков скорости 8v и малым в зонах гладких течений, где скорости соседних точек близки. Для этого они положили ? = &,|div«M, F2) где ?о ~ коэффициент, небольшой по величине. Такая псевдовяз- псевдовязкость называется квадратичной, потому что она приводит к вяз- вязкому давлению: Щ = — ?о (sign div «) ¦ (div v)\ F3) Переписывая F2) в виде ?я« ?0 (бу/бг) и подставляя в F1), не- нетрудно убедиться, что квадратичная псевдовязкость сглаживает скачок бу любой интенсивности на один и тот же интервал: i- <64> Обычно коэффициент псевдовязкости ?0 выбирают так, чтобы бг равнялось 2—3 шагам разностной сетки. В главе X, § 2 было проведено строгое исследование квадратичной псевдо- псевдовязкости на примере простейшего квазилинейного уравнения A0.44); при этом для зоны сглаживания сильного разрыва было получено выражение A0.51)— A0.52), сходное с F4). Линейная вязкость приводит к монотонным (или почти моно- монотонным) разностным решениям, так как ей соответствуют анали- аналитические точные решения, которые хорошо аппроксимируются разностными схемами; зато фронты скачков при этом сильно сгла- сглажены. Квадратичная вязкость приводит к более крутым фронтам; но ей соответствуют точные решения с разрывами первой или второй производной, поэтому разностное решение немонотонно вблизи слабых и сильных разрывов. Нередко используют комби-
444 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII нацию линейной и квадратичной вязкости w = a,1wl-\-a2w.1 с экс- экспериментально подобранными коэффициентами. Поскольку divt> =— р-г(др/д(), то вязкое давление положи- положительно при сжатии и отрицательно при разрежении вещества. Сильными разрывами являются только ударные волны, поэтому для сглаживания разрывов можно вводить вязкость только при сжатиях. При (др/д()<сО присутствие псевдовязкости не обяза- обязательно и даже уменьшает точность расчета. Поэтому обычно по- полагают Г?1 divt> + ?0(divt>J при div©<0, W=\0 при divt^O. F5) Этот вид псевдовязкости независимо предложен рядом авторов (см. [27]). 3. Схема «крест». Это наиболее простая и довольно точная однородная разностная схема счета газодинамики. Ее шабло,н приведен на рис. 98; значения радиусов приписываются узлам сетки, значения скорости — границам пространственных интерва- интервалов на полуцелых слоях, а значения плотности, давления и внут- внутренней энергии— серединам интервалов на целых слоях. Построение схемы напоминает акустический «крест». Для про- простоты записи выберем равномерные по массе и времени шаги т л и т и аппроксимируем систему E3)— ^ E66) следующими разностными урав- rn 1 I "T' нениями: nte*-*-&*)'"> F6а) xvn, F66) T -ЧН-1. F6B) | rn+\ — rn' рис- 98. *» = ея+4(?„ + ?п)(--^-У F6г) Z \Рл Рл/ . Эти уравнения записаны в том порядке, который удобен для вычислений. Обсудим разностное выражение для вязкого давления F5). Чтобы выполнить предельный переход от разностной схемы к урав- уравнениям газодинамики, надо сначала устремить т и т к нулю при фиксированном коэффициенте вязкости, а затем построить серию таких предельных решений для неограниченно уменьшающихся значений ?. Но это очень трудоемко. Поэтому на практике объ- объединяют эти предельные переходы в один общий, полагая ?0 = = (Аор (бгJ и t,x — \х.грсЬг, хотя законность такой процедуры не
§ 2] ОДНОМЕРНЫЕ УРАВНЕНИЯ ГАЗОДИНАМИКИ 445 доказана (плотность введена в формулу для того, чтобы коэффи- коэффициенты \ilt были безразмерны). Таким образом, вязкое давление F5) принимает вид n = \>.орп (W/i+i — vnf — \iicpn (vn+1 - vn) при vnn — vn<0, F7а) n = 0 при vn+1 — ул5э0. F76) где с ?=&У др/др — скорость звука. Выражение F7) написано для плоского случая; но обычно им пользуются при любой симмет- симметрии задачи. Аппроксимация. Из вида шаблона на рис. 98 и симмет- симметричного написания схемы F6) нетрудно заметить, что на тече- течениях без сжатий, когда псевдовязкость F7) обращается в нуль, схема «крест» имеет локальную аппроксимацию О(т2 + /г2). На течениях со сжатиями (в том числе — с ударными волнами) псевдовязкость отлична от нуля. Правда, квадратичный член в F7а) имеет величину О (/г2); но линейный член имеет величину О (h) и, тем самым, ухудшает порядок аппроксимации. Кроме того, вязкие члены записываются не вполне симметрично по вре- времени. В итоге аппроксимация ухудшается до O(t-\-h). Нахождение разностного решения. Схема F6) — явная; вычисления по ней проводятся следующим образом. Пусть все величины на исходном слое известны. Тогда из разностного уравнения импульса F6а) находим vn во всех интервалах; затем из второго уравнения F66) определяем г„, а из уравнения F6в) - р„. Последним решается уравнение энергии F6г). Формально оно является неявным алгебраическим уравнением для определения гп (Рп, Рп) в данном интервале. Но при каждом значении ин- индекса п уравнения F6г) решаются независимо, не образуя свя- связанной системы уравнений, так что разностная схема, по суще- существу, остается явной. Замечание 1. Уравнение энергии в F6) можно сделать явным, используя в нем только значение gn с исходного слоя: ?n = ?n + gn[ — )¦, F8) \Рп Рп) Это несколько упрощает расчет, не влияет на устойчивость, но заметно ухудшает точность, так как погрешность аппроксимации становится О(т + /г2) даже на гладких течениях. Такой вариант используется редко. Устойчивость схемы можно исследовать методом разде- разделения переменных, линеаризируя схему и замораживая коэффи- коэффициенты. Громоздкие выкладки приводят к условию устойчивости типа Куранта. Например, на гладких течениях с нулевой вязко-
446 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. ХШ стью схема устойчива при Для идеального газа s = pV7(y — 1) и условие F9) принимает вид cxsgAr, где с = Уур/р есть адиабатическая скорость звука. На течениях с ненулевой вязкостью ограничение на шаг несколько более сильное; при квадратичной вязкости условие устойчивости принимает вид где Ас — скачок скорости на ударной волне. Хотя это исследо- исследование не является строгим, тем не менее данное условие устой- устойчивости хорошо подтверждает- ko(s,t) ся на практике. Таким образом, «крест» — ус- условно устойчивая схема. Отме- Отметим любопытное обстоятельст- 'V< ¦ во. Для расчета гладких тече- ^ ний вязкость не нужна. А если рассчитать без вязкости удар- Рис- "• ную волну (выбирая небольшое т/Аг, удовлетворяющее условию G0)), то получим «разболтку», изображенную на рис. 99. Этот расчет устойчив, поскольку амплитуда колебаний не возрастает со временем. Но сходимости к физически правильному реше- решению при т-vO, /г~>0 нет, так как на разрыве потеряна аппро- аппроксимация. Сходимость газодинамической схемы «крест» не доказана. Однако эта схема успешно используется в расчетах примерно с 1950 г. и проверена на многих трудных задачах с известными точными решениями. При стремлении шагов к нулю наблюдалась сходимость к правильному решению, если шаги удовлетворяли условию устойчивости. Замечание 2. Схема F6) неконсервативна; однако ее дис- дисбаланс стремится к нулю при т = const -h->0. Замечание 3. Газодинамические задачи с очень тонкими слоями особенно трудны для расчета. В самом деле, если гл+1«^г„, то для вычисления р„ с удовлетворительной точностью по фор- формуле F6в) надо знать радиусы с очень высокой точностью, срав- сравнимой с ошибками округления на ЭВМ. В подобных задачах иногда приходится вести расчет с двойным числом знаков или специально видоизменять разностную схему.
§ 2] ОДНОМЕРНЫЕ УРАВНЕНИЯ ГАЗОДИНАМИКИ 447 4. Неявная консервативная схема. Есть ряд задач, в которых локальная скорость звука в некоторых участках много больше скорости наиболее важных физических процессов. В таких зада- задачах условие Куранта слишком сильно ограничивает шаг и выгод- выгоднее использовать абсолютно устойчивые схемы. Составим неявную схему. Припишем все сеточные величины целым слоям по времени и выберем шаблон, изображенный на рис. 100. Аппроксимируем консервативную систему E3)—E6а) следующими разностными уравнениями: Vn = vn + ^rZ(gn-i-gn)> g = P + w; G1a) гя = гя+тоя; G16) ря = (v +1) гщЩ1 - ;«v+'); G1в) wn = цор„ (vn+1 — vny- приу„+1<у„, иначе wn — Q; G1г) е +i(u2 +v2)=e + — (у2 +v2) + + ^ [rnVn (gn~x + gn) - rZ+xVn+X (gn + gn+x)]• G1 Д> Это — консервативная схема. Первые два уравнения взяты чисто неявными для хорошего подавления «разболтки» счета. Уравне- Уравнение энергии симметрично по времени; чисто неявным его брать невыгодно, по- 4j скольку при этом точность расчета за- заметно ухудшается. Вычисление разностного ре- решения здесь "существенно сложней, чем для явной схемы F6). Аналогично зада- задачам акустики (§ 1, п. 3, замечание 1) и"х 1""*' можно показать, что применять метод Рис. 100. последовательных приближений для ре- решения всей цепочки уравнений G1а)—G1д) невыгодно: итера- итерации сходятся при выполнении условия ст<Дг, что лишает неявную схему всех ее преимуществ. Поэтому систему G1) линеаризируют и, как в задачах аку- акустики, преобразуют к форме, решаемой прогонкой. Рассмотрим ход решения в случае разных режимов газодинамических тече- течений, для простоты ограничиваясь плоским случаем (v = 0). Изотермический случай. Если температура вещества постоянна*), то давление р = р(Т, р) зависит только от плотно- плотности. При этом уравнение энергии E6) становится излишним, *) Это приближение справедливо в случае очень высоких температур, когда тепловые потоки настолько велики, что практически мгновенно вырав- выравнивают температуру во всех точках пространства.
448 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. XIII поскольку система E3)—E5) при заданной зависимости р (р) пол- полностью определяет решение. Соответственно в численном расчете следует ограничиться уравнениями G1а)—G1г). Положим vn — Vn)jr8vn. Подставляя это выражение в уравне- уравнение G1а) и линеаризируя это уравнение относительно прираще- приращений всех величин на новом слое, получим ;.»+*.-,.+?<*.«-. -*¦")+?[&)„«»-(§)>]. <72< Из уравнений G1в) и G16) найдем вариации бр„ = — тFг„+1 — бг„)/(г„+1 - г„J, бгл=тбу„. G3) Подставляя их в G2), получим для определения 8v линейную систему с трехдиагональной матрицей: Xn_i6yn-! - A + Х„_! + «п) 6у„ + Хя8уя+1 = = #>-*„-?$'!,-гЛ. G4) х -^ т У7а*УЧо решаемую прогонкой. Пренебрегая пока вязкостью (т. е. полагая g = p), организуем вычисления следующим образом. Выберем в качестве нулевого приближения Гп ~Тп, Vn —Vn, pn — р„, gn — рп. A0) Затем определим из уравнений G4) значения 6и, а по ним при помощи уравнений G1 в), G16) найдем ris+l)-r 4-to(s + 1) n<s + '> m , Tn — rn-\-TVn , pn — n +1 n G6) Это позволяет вычислить gn+l) = P (pis+1)) и выполнить следую- следующую итерацию. Сходимость итерационного процесса G4), G6) исследована в [34]. Этот процесс является ньютоновским; поэтому он сходится, если начальное приближение G5) недалеко отстоит от корня, т. е. если шаг т не слишком велик. Это приводит к некоторому ограничению на г; однако, как показано в [34], такое ограни- ограничение несравненно слабее, чем условие Куранта. Имеются1 при- примеры успешных численных расчетов задач с тонкими слоями, в которых шаг т в 105 раз превышал значение, допускаемое ло- локальным критерием Куранта F9).
§ 2] ОДНОМЕРНЫЕ УРАВНЕНИЯ ГАЗОДИНАМИКИ 449 Включение вязкости G1 г) можно провести двумя спо- способами. В первом способе линеаризация выполняется так, как описано выше, а к давлению добавляется вязкий член, взятый с предыдущей итерации: G7) Это означает, что вязкость включена в итерационный процесс методом последовательных приближений. Такой способ прост, но ухудшает сходимость итераций: уменьшает скорость сходимости и усиливает ограничение на шаг т, хотя не слишком сильно. Второй способ — полная линеаризация —сложнее, но надежнее. Линеаризируя уравнение G1а), учтем зависимость g не только от р, но и непосредственно от v через вязкость G1 г): фл dvn+1 dvn При этом вместо G2) и G4) получаются более громоздкие выра- выражения, которые мы не приводим. Однако такой процесс является чисто ньютоновским и хорошо сходится. Неизотермический случай требует включения в ите- итерационный процесс уравнения энергии G1д), что часто делают способом двухкруговых итераций (последовательных прогонок). Сначала считаем энергию гп (или температуру) известной во всех точках нового слоя. Тогда в каждой точке р (гп, р„) — рп (рп), т. е. применимы формулы изотермического случая G4), G6); по ним проводят первый малый круг итераций. Когда эти итерации сойдутся, полученные значения г, v, p подставляют в уравнение энергии G1д). Неизвестными в нем остаются значения е; их можно определить, линеаризируя урав- уравнение G1д) с учетом зависимости р(е): Ул+19„+1 бБл+1 + A + У„+А - У А) бБ„ - t>A-l 6Б„_1 = = ел — ?п$) + 4- (vn+1 — fn) — 4- (Vn+1 — vh) + ], ^ = -t(§)(*- G9) Итерации G9) образуют второй малый круг. На каждой итера- итерации трехточечное уравнение G9) решается прогонкой. Найденные значения гп передают в уравнения G4), G6) и снова проводят первый малый круг итераций и т. д. Это взаим- взаимное согласование уравнений импульса и энергии составляет боль- большой круг итераций.
450 ГИПЕРБОЛИЧЕСКИЕ УРАВНЕНИЯ [ГЛ. ХШ Обычно считают нормальным, если малые круги сходятся за 3—5 итераций, а большой круг —за 2—3. Большее число ите- итераций указывает на целесообразность уменьшения шага т. Замечание. Можно провести итерации в один круг, если полностью линеаризировать систему G1), считая р = р(е, р). Однако при этом получаются существенно более громоздкие урав- уравнения в вариациях, для решения которых надо применять мат- матричную прогонку (см. дополнение к [30]). Устойчивость. Методом разделения переменных в линей- линейном приближении можно показать, что схема G1) безусловно устойчива. Таким образом, шаг т ограничивает только условие сходимости итераций при решении нелинейной системы G1). Аппроксимация и сходимость. Схема G1) не сим- симметрична по t и поэтому даже на гладких течениях имеет аппрок- аппроксимацию О (х-\-1г2). Тем самым, на гладких течениях схема «крест» может оказаться более точной. Однако при расчете течений с ударными волнами и другими особенностями неявная схема дает существенно лучшие резуль- результаты, чем схема «крест». Поэтому она широко применяется в прак- практике вычислений, особенно в «больших задачах». Сходимость схемы G1) строго не доказана, но многократно проверена на сложных задачах-тестах с известными точными решениями. 5. О других схемах. Схемы F6) и G1) являются однородными. Имеется много близких к ним алгоритмов, отличающихся деталями написания отдель- отдельных членов разностных схем или другой организацией итерационных процес- процессов решения нелинейных разностных уравнений. Из них следует отметить пол- полностью консервативные схемы, в которых автоматически выполняются разност- разностные законы сохранения не только массы, импульса и полной энергии, но также законы сохранения энтропии и внутренней энергии. В настоящее время по- построены полностью консервативные схемы для задач одномерной газодинамики в лагранжевых и эйлеровых переменных, задач магнитной газодинамики и двумерных газодинамических течений (подробнее ем. в [34]). Есть иначе построенные однородные схемы. Из них отметим схему распада разрыва. Она составлена так, что в акустическом приближении *) перехо- переходит в явную схему бегущего счета для инвариантов C3), обладающую хоро- хорошей аппроксимационной вязкостью. Благодаря этому схема позволяет рассчи- рассчитывать любые разрывы без введения псевдовязкости. В акустическом приближении схема распада разрыва монотонна; в, газо- газодинамике на' сильных ударных волнах возможна немонотонность, хотя факти- фактически она невелика. Схема имеет аппроксимацию О(т+Л), поэтому для рас- расчета гладких течений она невыгодна. Но фронты ударных волн она воспроиз- воспроизводит хорошо, с малым сглаживанием. Схема распада разрыва — явная и имеет ограничение на шаг типа Dx^Ar, где D —скорость ударной волны. Это ограничение, а также громоздкость схемы препятствуют широкому ее применению. *) Если р, р, е лишь слабо колеблются около равновесных значений, то уравнения газодинамики переходят в уравнения акустики (см., например, [40]).
ЗАДАЧИ 451 Помимо однородных схем существуют схемы с явным выделением особен- особенностей, в которых точно прослеживается движение всех сильных и слабых раз- разрывов. Одна такая схема предложена и подробно описана в [87]. Но такие схемы очень сложны, и их применяют только в тех случаях, когда требуется особенно высокая точность расчета. ЗАДАЧИ 1. Составить схему «крест» для задачи A) при неравномерных сетках по х и t и исгледовять аппроксимацию схемы. 2. Найти невязку схемы A2). 3. Для волнового уравнения (I) составить схему с весом 0 на шаблоне рис. 101 и провести исследование этой схемы; показать, _ что при а < V3 схема безусловно неустойчива, при 0 >; ° 9 ° О 5э 1/2 — безусловно устойчива и при 0 > 1/2 обладает ап- проксимационной вязкостью. .4. Установить аппроксимацию схемы A9). 5. Проверить исследование устойчивости схемы A9), 0 данное в § 1, п. 3. 6. Доказать, что схема B6) имеет аппроксимацию Рис- Ю1. 7. Составить схему типа «крест» для задачи A8), приписывая значения уп узлам сетки, а г^—центрам ячеек xn_^,/s, tm^_^t; написать для нее началь- начальные данные точности О (т/2 + /г2) 8. Провести полное исследование схемы C3). 9. Рассмотреть, как в схеме C3) вычисляется разностное решение в гра- граничных узлах. 10. Вывести формулы циклической прогонки для случая матрицы, изобра- изображенной на рис. 95. 11. Исследовать устойчивость многомерной схемы с весами D0). 12. Провести полную линеаризацию системы G1а) —G1г) для случая изо- изотермической газодинамики с учетом вязкости и свести задачу к решению трех- трехточечного уравнения относительно 6о. -«1-0
ГЛАВА XIV ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ В главе XIV рассмотрены простейшие методы решения интегральных урав- уравнений. Корректно поставленным задачам посвящен § 1. В нем изложены неко- некоторые типичные постановки задач и даны методы их решения: разностный метод и некоторые приближенные методы. В § 2 рассмотрены некорректно поставленные задачи для линейных интег- интегральных уравнений первого рода. Изложена теория построения регуляризи- рующих алгоритмов по А. Н. Тихонову. Для некоторых некорректных задач, возникших в предыдущих главах, даны алгоритмы решения, доведенные до схем численного расчета. § I. Корректно поставленные задачи 1. Постановки задач. Интегральным называют уравнение, в котором неизвестная функция и (х) стоит под знаком интеграла. Одномерное нелинейное интегральное уравнение имеет вид \K(x,Z,u(t))dl = F(x,u(x)), a^r^b, A) а где ядро К (х, ?, и) и правая часть F (х, и) — заданные функции. К интегральным уравнениям приводят многие физические задачи. Так, задача восстановления переданного радиосигнала и (t) по принятому сигналу / (t) сводится к решению интеграль- интегрального уравнения типа свертки: \K{t-T)u{x)dx = f{t), B) о где ядро К (?) зависит от свойств приемной аппаратуры и среды, через которую проходит сигнал. Заметим, что даже для задач, записанных в терминах урав- уравнений в частных производных, первичной обычно является фор- формулировка в виде интегральных законов сохранения, т. е. интег- интегральных уравнений. В предыдущих главах такие формулировки использовались, например, для построения консервативных раз- разностных схем.
§ I] КОРРЕКТНО ПОСТАВЛЕННЫЕ ЗАДАЧИ 453 Интегральные уравнения в некоторых отношениях удобнее дифференциальных. Во-первых, интегральное уравнение содержит в себе полную постановку задачи. Например, интегральное урав- уравнение u(x) = uo + \f& u(\))dl C) эквивалентно задаче Коши для дифференциального уравнения ^L = f{x, и), и(хо) = ио. D) Тем самым, для уравнения C) не требуется задавать никаких дополнительных условий, начальных или граничных (см. также задачу 1). Во-вторых, в интегральных уравнениях переход от одной переменной ко многим является естественным. Так, многомерным аналогом A) является уравнение $ К (х, 1, u&))dt = F(x, u(x)), о E) х = {хи х%, ..., xp}<==G(x), отличающееся от A) только тем, что интегрирование проводится по многомерной области G. Поскольку оба уравнения не требуют дополнительных условий и полностью определяют задачу, ана- аналогия является полной. Тем самым, теоретическое обоснование постановок и методов решения одномерных задач непосредственно обобщается на случай многих измерений. Наоборот, в дифференциальных уравнениях переход от одной переменной к нескольким, т. е. от обыкновенных дифференциаль- дифференциальных уравнений к уравнениям в частных производных, является принципиальным усложнением, приводит к новым постановкам задач и требует новых методов для их обоснования. Далее мы ограничимся рассмотрением одномерного уравнения A) и некоторых его частных случаев. Линейные задачи. Лучше всего изучены уравнения, в которые неизвестная функция и (х) входит линейно (см. [23]). Их можно записать в виде Ь u(x)--k\K{x,l)u{l)dk = f{x), a^x^b. F) а Это уравнение называют уравнением Фредгольма второго рода: ядро К(х, I) этого уравнения определено на квадрате a sg х ^ Ь, Если ядро К (х, |) отлично от нуля только на треугольнике a^l^x^b (т. е. К (х, ?) = 0 при х<|), то уравнение F)
454 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV переходит в уравнение Волыперра второго рода: Это уравнение теоретически исследовать или численно решить много проще, чем уравнение Фредгольма. Если в уравнениях F) и G) отбросить член и(х), оставив только и (|) под знаком интеграла, то получим уравнения Фред- Фредгольма и Вольтерра первого рода. Задачи для уравнений первого рода являются некорректно поставленными и будут рассмотрены в § 2. Для уравнений второго рода задачи корректно поставлены; остановимся на этих задачах. Для однородного уравнения Фредгольма второго рода F) ставится задача на собственные значения: u(x)=k\K(x,l)u(^)dl a^x^b. (8) а Требуется найти такие значения параметра Я = А,;, при которых уравнение (8) имеет нетривиальные решения м = ф,-(х); Xt назы- называют собственными значениями ядра К (х, ?), а фг (х) — собственными функциями. Если ядро вещественное и симметричное, К (х, ?) = /С(|, х) = = К* (х, Н), то оно имеет по меньшей мере одно собственное зна- значение. Все собственные значения такого ядра вещественны, а его собственные функции ортогональны друг другу. Заметим, однако, что система собственных функций срг (л;) может быть неполной и даже конечной. Неоднородное уравнение Фредгольма F) при значении параметра к, не равном ни одному из собственных значений }н ядра, имеет решение и(х), притом единственное. Если ядро К(х', ?) и правая, часть f (х) непрерывны вместе со своими /j-ми производными, то решение также р раз непре- непрерывно дифференцируемо. В этом легко убедиться, продифферен- продифференцировав F) р раз: При сделанных предположениях правая часть этого равенства непрерывно зависит от х, что доказывает наше утверждение. Для симметричного ядра решение неоднородного уравнения F) представляется в виде разложения Шмидта: ь ~x ф< (*) $ / (?) % (I) й%; (9)
§ 1] КОРРЕКТНО ПОСТАВЛЕННЫЕ ЗАДАЧИ 455 если ядро К (х, |) и правая часть f (х) интегрируемы с квадра- квадратом, то этот ряд сходится абсолютно и равномерно. В данном случае из формулы (9) непосредственно видно, что при Хф%1 решение и(х) существует, единственно и непрерывно зависит от }(х), что означает кор-ректность задачи F). Пусть параметр К равен одному из собственных значений Я,- ядра К{х, 1). Тогда неоднородное уравнение Фредгольма F) при произвольной правой части f(x), вообще говоря, не имеет реше- решения. Однако при некоторых правых частях f(x) оно может иметь решение, притом не единственное (соответствующие примеры будут рассмотрены в п. 4). Таким образом, при Х = Я(- в классе непре- непрерывных или даже достаточно гладких правых частей / (х) задача F) является .некорректно поставленной. Уравнение Вольтерране имеет собственных значений: если в уравнении G) положить f (х) = 0, то оно будет иметь только тривиальное решение и (х) = 0. Поэтому неоднородное уравнение G) всегда имеет решение, притом единственное. 2. Разностный метод. Это простейший численный метод, позво- позволяющий получать решение одномерных задач с хорошей точно- точностью, а двумерных —с удовлетворительной. Он рассчитан на при- применение ЭВМ, хотя оценки с небольшим числом узлов сетки можно производить вручную. Рассмотрим одномерное нелинейное уравнение A). Возьмем на [а, Ь] какую-нибудь квадратную формулу, например линей- линейную формулу с узлами хп и весами сп: (Ю) п= 1 (нелинейные квадратурные формулы почти никогда не исполь- используются). Введем в квадрате [as^x^b, a-^^^b] сетку хп, \т, где хп и \т являются узлами формулы A0). Заменяя интеграл в уравнении A) суммой A0), получим систему алгебраических уравнений для определения приближенных значений в узлах Уп ^^ U (Хп)'- N 2 стК(хп, хт, ym) = F(xn, yn), l^n^N. A1) Эту систему целесообразно решать методом Ньютона. На вопрос о сходимости у„ к и (x,t) при заданном типе квадратурной фор- формулы и N-уоо в настолько общей постановке трудно ответить. Рассмотрим линейные задачи. Для них обоснование сходи- сходимости (при использовании линейных квадратурных формул)-фак- формул)-фактически содержится в теории Фредгольма. Это обоснование гро- громоздко и здесь не приводится (см., например, [23]).
456 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV Однородное уравнение Фредгольма (8) линейно, поэтому для него система A1) также линейна. Запишем ее в сле- следующем виде: N j 2 СтКптУт = ^Уп, l^tt^N, Кпт = К {хп, Хт). A2) т= 1 Система A2) представляет собой задачу на определение собст- собственных значений матрицы К' порядка N с элементами Кпт — — КптРт- Эта матрица имеет N собственных значений ЦЫ), 1 =^ <лг^Л/, которые являются приближением к первым собственным значениям Kt ядра К(х, |). Разностное решение A2) вычисляют методами, описанными в главе VI. Матрица К.' является, вообще говоря, плотно запол- заполненной и неэрмитовой; поэтому фактически вычислить разностное решение удается только при небольших N<50. Получить в этом случае^ хорошую точность можно лишь для нескольких первых собственных значений, причем ядро и правая часть должны быть достаточно гладкими и не быстр опеременными. Замечание 1. Пусть ядро, правая часть и искомое реше- решение достаточно гладки и квадратурная формула A0) имеет на них аппроксимацию О (hp). Поскольку алгоритм сходится, то он устой- устойчив. Задача (8)— линейная, поэтому из аппроксимации и устойчи- устойчивости следует сходимость со скоростью О (hp). Сходимость можно исследовать численно, проводя расчеты на последовательности сгущающихся сеток и устанавливая стремле- стремление уп и некоторой предельной функции при ft~>0. Неоднородное уравнение Фредгольма F) приводит к линейной неоднородной -алгебраической системе N уп-Ь 2 cmKnmym = fn, l^n^N, fn = f(xn). A3) m= 1 Разностное решение легко вычисляется методом исключения Гаусса; на ЭВМ типа БЭСМ-6 скорость и оперативная память позво- позволяют использовать в расчете до iV«=:150 узлов. Таким образом, в этой задаче нетрудно получить более высокую точность расчета, чем в задаче на собственные значения. Линейная система A3) имеет единственное решение, если К^= ф№\ Но hf)?*&%[, причем при большом N разница между ними невелика. Следовательно, описанный алгоритм хорошо обусловлен, если параметр' К не лежит в малой окрестности одного из собст- собственных значений Kt ядра. Если K^^Xi, то система A3) становится плохо обусловленной. При некоторых числах узлов Af возможен сбой алгоритма: если слу-
§ II КОРРЕКТНО ПОСТАВЛЕННЫЕ ЗАДАЧИ 457 чайно значение K{N) близко подходит к X, то разностное реше- решение уп на этой сетке может сильно отличаться от и(х). Обычно нам неизвестны собственные значения ядра- Поэтому для обнаружения и исключения последнего случая все расчеты надо проводить на последовательности сгущающихся сеток. Если при сгущении сетки уп сходится к некоторой предельной функ- функции и{х), то эта функция есть искомое решение (см. замечание 1). Если расчет на одной из сеток выпадает из общей закономер- закономерности, то имело место случайное совпадение к^Цм\ Если на всех сетках Уп не стремится к пределу при/г->0, то Яя^Аг. Уравнение Вольтерра G) получают из уравнения Фредгольма F), полагая К (х, Н) = 0 при х<.\. Алгебраическая система A3) становится при этом треугольной: п уп-К 2 СтКптУт = !п, l^tl^N, A4) m= I и решается обратным ходом метода Гаусса всего за 3/2iV2 дей- действий. Поэтому здесь объем вычислений остается умеренным даже при iV^«1000, что позволяет проводить расчеты с очень высокой точностью. Выбор квадратурной формулы. Большинство задач приходится решать, используя сравнительно небольшое число узлов N. Поэтому для получения хорошей точности целесообразно выбирать квадратурные формулы высокого порядка точности, разумеется, если К{х, Н) и }(х) имеют достаточное число непре- непрерывных производных. Обычно наилучшие результаты для достаточно гладких реше- решений дают квадратурные формулы Гаусса или Гаусса — Кристоф- феля; при числе узлов k их порядок точности р = 2/г. Можно также использовать простейшую формулу трацеций, последова- последовательна сгущая сетки вдвое от Nx = 2 до Nk = 2h и уточняя реше- решение способом Рунге; это также дает результат с порядком точ- точности p = 2k*), но требует использования существенно большего числа узлов, чем в формулах Гаусса. Нередко ядро К (х, I) или правая часть / (х) недостаточно гладки и даже имеют разрывы. Наиболее типичен разрыв ядра или его производных при х = ? (на диагонали квадрата а ^ х ^Ь, я^?=^Ь); встречаются особенности, и на других линиях в пло- плоскости (х, Н). В этих случаях использовать формулы Гаусса не- нецелесообразно. Удобнее построить специальную сетку хп так, чтобы особые линии пересекали линии сетки х = хп только в узлах *) Каждая лишняя сетка позволяет повысить порядок точности на 2, по- поскольку погрешность формулы трапеций разлагается по четным степеням шага А.
458 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV / у / У / / У У у \ — хт (рис. 102). Затем в качестве A0) выбирают обобщенную формулу трапеций D.7), причем в интервалах, примыкающих к особой линии, используют соответствующие односторонние пре- пределы функций. Если вне особых линий все функции непрерывны вместе с достаточным числом своих производных, то при сгущении спе- специальной сетки можно уточнять решение способом Рунге. Полезцо предварительно так преобразовать исходное уравне- уравнение, чтобы гладкость решения повысилась. Например, если ядро непрерывно, a f (х) разрывна, то и(х) тоже разрывна. Полагая z(x) — u(x) — — f(x), получим вместо F) уравнение A5) S В уравнении A5) правая часть уже непрерывно зависит от х, так что его решение z (x) непрерывно. Поэтому чис- численно решать уравнение A5) проще, чем исходное уравнение F). Замечание 2. Уравнение Вольтерра G) формально сво- сводится к уравнению Фредгольма F), но ядро при этом имеет осо- особенность (обычно разрыв) на диагонали х = \. Поэтому для урав- уравнения Вольтерра следует выбирать обобщенную формулу трапе- трапеций и проводить уточнение способом Рунге. Многомерные задачи допускают, в принципе, приме- применение описанного метода; надо только в A0) и других формулах под хп подразумевать узлы многомерной кубатурной формулы хп. Однако получить удовлетворительную точность' при умеренном объеме расчетов удается лишь для достаточно гладких К (х, |) и f(x), когда можно использовать кубатурные формулы высокого порядка точности (например, произведение одномерных формул Гаусса с небольшим числом узлов k по каждой переменной). В более сложных случаях развивают специальные методы; многие из них используют симметрию задачи и слабую зависи- зависимость' решения от части переменных. 3. Метод последовательных приближений. Это простейший приближенный метод. Запишем для неоднородного уравнения Фредгольма F) итерационный процесс: Рис. 102. Щ (х) = 0, Ыя+1 (х) = (x, I) un (I) d\. A6)
§ 1] КОРРЕКТНО ПОСТАВЛЕННЫЕ ЗАДАЛИ 459 Нетрудно показать, что при ограниченном ядре и достаточно малом значении \К\ этот процесс сходится к решению уравне- уравнения F). Доказательство. Обозначим погрешность n-й итерации через zn (х) — ип (х) — и (х). Вычитая F) из A6), получим ь znn(x) = klK(x, l)zn{l)dl. A7) а Отсюда следует неравенство ||гл+111с^\><\Ф-а) \\К(х, |)||с\\г„ (х)\\с. A8) Тем самым, если выполнено условие q = \k\(b~d)\\K(x, ЮИс<1. A9) то итерации A6) сходятся равномерно по х, причем сходимость линейная. При достаточно малом \Х\ условие A9) выполняется. В практических вычислениях квадратуры, возникающие в этом методе, редко удается выразить через элементарные функции. Поэтому обычно ограничиваются нахождением первых прибли- приближений. Замечание 1. Для уравнения Вольтерра G) метод после- последовательных приближений сходится равномерно по х при любых значениях X. Действительно, в этом случае вместо A7) справед- справедливо соотношение гяп(х) = х\к(х, l)zn(l)dl. B0) а Выкладки, полностью аналогичные доказательству сходимости метода Пикара (гл. VIII, § 1, п. 3), приводят к оценке \\гп{х)\\с^{\ЩЪ-а)\\К{х, t)\\c}n\\z0 (x)\\c. B1) При п->-оо правая часть этого неравенства стремится к нулю при любых значениях Я, что доказывает наше утверждение. Замечание 2. Оценку A8) можно переписать в следующем виде: \\г„ (х)\\с *S q" \\z0 (х)\\с, Цп — &. B2) Отсюда видно, что метод последовательных приближений для уравнения Фредгольма эквивалентен разложению в ряд по сте- степеням параметра X. Это можно строго показать, выражая ип{х) через ui(x)=f(x) при помощи рекуррентного соотношения A6).
460 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV Пример. Рассмотрим уравнение и(х)-к\е-1*+«ы (\) й\ = х. B3) о Применяя процесс A6), получим «„(*) = 0, иг(х)=х, щ(х) — х-\-%е'х, щ(х) = х + hr* +1 *Ar*, и4 (*) = х + (к + ~ Я2 + \ и т. д. В этом случае удается найти точное решение ^ = x + -2^Te-. B4) Нетрудно заметить, что последовательные приближения здесь сходятся только при |Х|<2. 4. Замена ядра вырожденным. Ядро уравнения Фредгольма называется вырожденным, если оно является суммой конечного числа членов вида *(*,&)= 2 Ап{х)Вп{1) B5) п = 1 (для уравнения Вольтерра ядро не может быть вырожденным, иначе оно тождественно равнялось бы нулю). Решение уравнения с вырожденным ядром находится за конечное число действ™. В самом деле, подставляя ядро B5) в неоднородное уравнение F), представим решение в виде суммы конечного числа членов: и (*)=/(*) +А, 2аЛ(х), B6а) п= 1 anJ\Bn{l)u{l)dl. B66) а Подставляя B6а) в B66), получим линейную систему для нахож- нахождения коэффициентов ап: |] \бпт-Ц Вп (I) Am (I) dt\am = 5 Вп (I) f (I) d%, l^n^N. B7) m= 1 L a J a Решая эту систему и подставляя найденные значения ап в B6а), найдем искомое решение. Для однородного уравнения Фредгольма (8) надо положить во всех формулах f (х) = 0. Тогда система B7) становится одно- однородной и представляет собой задачу на нахождение собственных
§ 1] КОРРЕКТНО ПОСТАВЛЕННЫЕ ЗАДАЧИ 461 значений матрицы N-ro порядка. Отсюда видно, что вырожден- вырожденное ядро B5) имеет ровно N собственных значений V Произвольное ядро нередко удается хорошо аппроксимировать вырожденным ядром. Например, разложим К(х, ?) в ряд Фурье по некоторой полной ортонормированной системе функций Вп (?); коэффициенты этого разложения будут функциями от х: со Ъ К (х, I) = ? Ап (х) Вп (?), Ап (х) = ] В* (I) К (х, I) &Ь B8) п — 1 а В качестве B5) можно взять отрезок разложения B8). Тогда формулы B5)—B7) позволяют найти приближенное решение. Оценки точности таких приближений мы не рассматриваем, по- поскольку они громоздки и неудобны в практических вычислениях. Замечание. Пусть в неоднородном уравнении F) с вырож- вырожденным ядром B5) правая часть /(>:)=? О и такова, что выпол- выполняется \f(t)Bn(l)dl = O, l^n^N. B9) а Тогда при X, равном одному из собственных значений ядра Яь система B7) имеет нетривиальное решение, причем не единствен- единственное. Тем самым, в данном случае существует решение и (х) урав- уравнения F). Пример. Рассмотренное в п. 3 уравнение B-3) имеет вырож- вырожденное ядро К(х, |) = е~*е~ь. У него должно быть ровно одно собственное значение; Определим его. Полагая в B7) N = 1 и /(х) = 0, легко получим откуда %х — 2. Заметим, что точное решение B4) неоднородного уравнения B3) при А, —Ях не существует. 5. Метод Галеркина (который для интегральных уравнений обычно называют методом моментов). Будем искать решение в виде разложения по полной системе функций ^(х): N u(*W(x) + *2aftiM*); C0) ft= I поскольку от и (х) не надо специально требовать удовлетворения каким-либо краевым условиям, то от системы я|зл (х) ничего, кроме полноты, требовать не надо. Подставляя разложение C0) в неоднородное уравнение Фред- гольма F) и требуя ортогональности невязки ко всем функциям
462 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV г|з*(х), 1*^&*^ЛГ, получим линейную алгебраическую систему уравнений для нахождения ак: N ь ь ь *mk = \ ¦фш (х) ^k(x)dx-l\\K (x, l) Цт (x) % (I) dx dl, C1) а аа b b В случае задачи на собственные значения (8) надо полагать в C0) и C1) f(x) = O. Метод применим и к нелинейному уравнению A), но тогда он приводит к нелинейной алгебраической системе. Основной трудностью, препятствующей применению метода моментов, является сложность вычисления двукратных интегра- интегралов, входящих в C1). Поэтому обычно ограничиваются малым числом членов суммы C0). Замечание. Если система tyk (x) ортогональна, то метод моментов эквивалентен приближенной замене ядра на специаль- специальное вырожденное ядро: N Ш) § 2. Некорректные задачи 1. Регуляризация. Если в интегральном уравнении A) правая часть F (х, и (х)) не зависит от решения, т. е. и (х) входит только под знак интеграла, то задача оказывается некорректно постав- поставленной. Классическими примерами некорректных задач являются уравнение Фредгольма первого рода: \K(x,l)u(i}dl=f(x), c^x^d, C3) а и уравнение Вольтерра первого рода: \К(х, 6)u(|)d? = /W, c^x^d. C4) В отличие от уравнений второго рода, ядро уравнения Фредголь- Фредгольма C3) задано на прямоугольнике [c^x^d, а^%^Ъ\, а в урав-
§ 2] НЕКОРРЕКТНЫЕ ЗАДАЧИ 463 нении Вольтерра C4) —на трапеции [cscx^sd, а-^?==?л:]*), при- причем функции и (|) и / (х) определены на разных отрезках и при- принадлежат разным классам функций U и F. Покажем, что задача C3) неустойчива по правой части и, тем самым, некорректна. Для этого рассмотрим высокочастотное возмущение с конечной амплитудой бы (?) =ехр(ш|), сю^>1. Ему соответствует возмущение правой части б/ (х) = \ К (х, ?) бы (|) d\ = J К (х, I) е'<* d\. а а Интегрируя по частям, получим б/(*) =-!¦«"* *(,, Э|!;*в-^ \ Щ^е**сЦ = о(±). C5) а Это означает, что для достаточно больших частот величина || б/ ||с = = О A/со) оказывается сколь угодно малой. Следовательно, су- существуют такие сколь угодно малые возмущения правой части б/ (х), которым соответствуют большие возмущения решения 8и (I), т. е. задача C3) неустойчива. Для уравнения Вольтерра C4) справедливы те же рассужде- рассуждения. Напомним, что в главе III мы уже сталкивались с некор- некорректностью задачи численного дифференцирования функции f (х); эта задача сводится к решению уравнения ]иЦ) dl = f(x), C6) а т. е. является частным случаем уравнения Вольтерра первого рода, с ядром К(х, I) = 1 (при ?==?*). Кроме того, задачи C3), C4) имеют решение не при любых непрерывных правых частях f(x). Так, задача C6) имеет реше- решение только для дифференцируемых f(x). Другим примером слу- служит уравнение C3) с вырожденным ядром; подставляя в это урав- уравнение выражение для ядра B5), получим Ц Мя (х) = f(x), Р„ = \Вп (|) и (I) d\. ( 37) A = 1 а Это равенство выполнимо для таких }(х), которые представимы в виде линейной комбинации функций Ап(х); для других правых частей задача C3) не имеет решения. В обоих этих примерах, даже если при некоторой f(x)=~f(x) существует решение, имеются такие малые изменения правой части б/(х), при которых решение не существует. *) При с < а эта трапеция превращается в два треугольника.
464 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV Очевидно, непосредственно решать некорректные задачи при неточно заданной правой части бессмысленно. Если f (х) задана с погрешностью б/ (ху, то соответствующее решение и$ (I) или не существует, или отличается от искомого решения й(?) на величи- величину бы (?), которая может быть большой. Даже если / (х) задана точно, ко отыскание решения выпол- выполняется численными методами, то неизбежно вносятся погрешности метода и округления. Это снова приводит к большой погрешности решения 8иA). Регуляризирующий алгоритм. Пусть требуется найти решение и (I) некорректно поставленной задачи: А[х, «©] = /(*), ы®€=?/, f(x)e=F. C8) Здесь А — некоторый оператор, не обязательно интегральный, a U я F — нормированные пространства. Предполагается, что для произвольной / (х) е F решение задачи C8) может не существо- существовать; однако имеются некоторые f~(x) e F, для которых существу- существуют решения й (?) е U. Ранее, изучая разрывные решения квазилинейных уравнений, мы вводили в исследуемое уравнение дополнительные члены, изме- изменяющие свойства решений в нужную нам сторону. Попробуем и здесь изменить уравнение C8), введя в него дополнительные чле- члены с малым положительным параметром регуляризации а. Сим- Символически запишем измененную задачу: Aa[x,ua{l)] = f(x), C9) а ее решение обозначим через ма(?). Определение. Оператор Аа называют регуляризирующим, если а) задача C9) является корректно поставленной в классе пра- правых частей F при любом (не слишком большом) а > 0 и б) сущест- существуют такие функции а (б) и б(е), что если ||/ — / \\F^8 (г), то И«а(в)— U||i/sSe. Замечание. Функции а (б) и б (е) зависят также от f (х). Таким образом, если найден регуляризирующий оператор Аа, то задача C9) имеет решение при любых / (х) ef, в том числе отличающихся от f (х) на любого вида погрешность б/(х); эта задача устойчива, так что ее можно решать обычными численны- численными методами. При правильно подобранном параметре а ее реше- решение иа (|) достаточно мало отличается от нужного нам решения п (|) исходной задачи C8). Для одной и той же задачи можно построить много различ- различных регуляризирующих алгоритмов. Кроме того, при заданном пространстве F разные алгоритмы могут давать решения иа (I), принадлежащим различным пространствам U. Различают регуля-
§ 21 НЕКОРРЕКТНЫЕ ЗАДАЧИ 465 ризацию слабую (U есть гильбертово пространство), сильную (чебы- (чебышевское пространство) и р-го порядка гладкости (пространство С() *)) Можно формально превратить задачу C8) в корректно поставленную, если ограничиться рассмотрением правых частей / (а-), принадлежащих некоторому более узкому классу Fo. Например, для задачи численного дифференцирования C6j в качестве Fo возьмем пространство С'1'. Малость ||б/|| ^ означает, что max 16/' (х) \ невелик; поэтому такой вариации- правой части соответствует малая вариация || Ьи (g) ||c. Однако такой подход не конструктивен. Зачастую / (х) содержит заметную погрешность, например, она может быть экспериментально определяемой вели- величиной. Поэтому постановки большинства прикладных задач таковы, что в ка- качестве F приходится выбирать чебышевское или даже гильбертово пространство, причем решение и (|) необходимо получить в чебышевском пространстве. 2. Вариационный метод регуляризации. Рассмотрим уравнение Фредгольма первого рода C3). Будем считать, что его ядро непре- непрерывно и таково, что в случае /(х)==0 уравнение имеет только тривиальное решение и (I) == 0. Тогда при любой правой части f{x)^F решение либо единственное, либо не существует; тем самым, интегральный оператор А[х, и®] = \К(х, l)u{l)dl D0) а отображает U в F взаимно однозначно. Исходную задачу C3) можно записать в вариационной форме: d \{А[х, u(l)]-f(x)}4x^mm, D1) с где оператор А определен формулой D0). Рассмотрим измененную задачу. M[a,f(х),иA)] = 1{А[х,иA)]-}(х)}Чх + апп[и(Ъ)]^™™, D2а) с где так называемый тихоновский стабилизатор п-го порядка Qn равен ф^(^J D26) а весовые функции pk (l) непрерывны и неотрицательны, причем *) Это пространство функций и (|), а^|г? 6, непрерывных и ограниченных вместе со своими р-ми производными, причем | и || (р) =тах { | и |, | и' |, ...
466 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV (если нет специальных оснований для их выбора, то обычно полагают рА(?) = 1). Введем в множестве функций U норму || и \\Ь = йя[ы]; получен- полученное пространство называют пространством Соболева W\- Множе- Множество правых частей F будем считать гильбертовым простран- пространством. Докажем методами функционального анализа, что алго- алгоритм D2) является регуляризирующим (другое доказательство см. в п. 3). Теорема 1. Задача D2) имеет решение иа (I) при любых /(*)<= F и а > 0. Доказательство. При а > 0 функционал М [а, /, и] огра- ограничен снизу. Тем самым, при данных а и f (x) он имеет точную нижнюю грань. Выберем некоторую минимизирующую последо- последовательность М;(?), i = 0, 1, 2, ..., так, что ^Af, Mi = M[a, f, ut], M= inf M[a, f, и]. U Упорядочим эту последовательность так, чтобы Mt не возрастали. Тогда Йя [и,] «S ^ М, <: - Мо = const. D3) Таким образом, последовательность щ (I) принадлежит множеству иA), для которых Qn [и] sg; const. Такое множество является ком- компактом в U. Поэтому из последовательности щ (I) можно выде- выделить подпоследовательность ицк) (?), сходящуюся по норме к неко- некоторой иа(^)е1/. В силу непрерывности функционал М [a, f, и] на этой функции иа (!¦) достигает своей точной нижней грани. Тем самым, иа (|) е?/ есть решение задачи D2), что доказывает теорему. Теорема 2. Алгоритм D2) является регуляризирующим для задачи D1). Доказательство. Используем следующие обозначения: й (?) — решение исходной задачи D1) с правой частью / (х); йа (Ё,) — решение измененной задачи D2) с приближенной правой частью f (х); введем также функцию fa(x) = A[x, ua(l)]- Поскольку функционал М[а, /, и] достигает минимума на йа, то М[а, f, йа]=~;М[а, /, й]. Отсюда, используя определение функционала D2а), получим апп[па]^М[а, f, па]^М[а, f, п] = D4)
§2] НЕКОРРЕКТНЫЕ ЗАДАЧИ 467 Пусть приближенные правые части удовлетворяют условию ll/-/lk,sSC]/a, С = const. D5) Тогда из D4) следует Sn[«a]«sC2 + Qn = const, Qn = Qn[fl]. D6) Значит, решения па принадлежат компактному множеству Uo функций из U. Заметим, что п также принадлежит Uo. Множество Fo функций fa (х) есть образ множества Uo при отображении А. Интегральный оператор А непрерывен и таков (по предположению), что обратное отображение единственно. Поэтому обратное отображение Fo в компактное множество ?/„ при помощи нерегуляризованного оператора Ал непрерывно в || •]][/• Следовательно, по заданному е>0 всегда найдется такое Р(е), что если ||/а-/II «S Р (е), то \\йа — п\\^е. Заметим, что II /а - /II2 = I (/а - /J dx= I {А [X, йа] - /}« dX^ Отсюда с учетом D5) следует II /а -7 II < II /а - /I! + II/ - /II < Va [С + Vc* + Qa)- D7) Выберем а так, чтобы выполнялось a<ao(e), a0 (e) = [р (e)/(c + V C* + Qn)f- D8) Тогда правая часть неравенства D7) будет меньше Р(е), откуда следует \\па — п\\^е. Таким образом, по заданному е нашлись такое &0 (е) и такое 6(а) = С]Лх, что если asg:ao(e) и ||f—/|| =^б (а), то \\йа — й||^е, что и требовалось доказать. Следствие. Задача D2) корректно поставлена. В самом деле, подставим в теорему 2 всюду вместо А регу- ляризирующий алгоритм D2). Тогда малость ||па — п\\ означает, что регуляризованное решение йа непрерывно зависит от /. Замечание 1. Теоремы 1 и 2 справедливы не только для линейных интегральных операторов D0), но вообще для непре- непрерывного оператора А, при котором решение задачи Л[н]=/ единственно (если существует). Соответственно от стабилизатора У достаточно требовать, чтобы множество функций и, для которых У [ujsg const, было компактно в U. Замечание 2. Сходимость в пространстве WS означает, что п-я производная сходится среднеквадратично, а сама функция
4о8 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV и ее производные вплоть до (п — 1)-й — равномерно. Таким образом, использование стабилизатора D26) обеспечивает слабую регуля- регуляризацию при п = 0, сильную при п=\ и (га — 1)-го порядка гладкости при п > 1. Выбор а. В ряде прикладных задач известно, что правая часть имеет характерную погрешность ||f —/||я«б. Если при этом выбрать а настолько малым, что нарушится критерий D5), то устойчивость расчета станет недостаточной, так что регуляри- зованное решение йа будет заметно «разболтанным». Если а настолько велико, что не соблюден критерий D8), то регуляри- зованное решение йа чрезмерно сглажено, что также нежелательно; например, если точное решение й имеет узкие максимумы (типа резонансных пиков в физических задачах), то у йа они могут отсутствовать или иметь существенно меньшую высоту. Вдобавок непосредственно проверить выполнение критериев D5) и D8) не удается, поскольку функция р (е) неизвестна (и, вообще говоря, зависит от С и /). Поэтому оптимальный выбор параметра регуляризации а является сложной проблемой. Обычно на практике проводят расчеты с несколькими зна- значениями параметра, составляющими геометрическую прогрессию (например, а = 10, 10~2, 10 3, 10~4, 10 6). Из полученных результатов выбирают наилучший либо визуальным контролем, либо по какому-нибудь правдоподобному критерию. Примером такого критерия является требование, чтобы невязка, полученная при подстановке найденного йа в исходное уравнение, была сравнима с погрешностью правой части: d \ 1/2 \{А[х, ue(S)W(*)}2<**) . D9) Очевидно, воспроизводить правую часть с точностью много выше б бессмысленно; поэтому, если в расчете получено г <; б, то следует увеличить а. Наоборот, погрешность много больше б недопустима, так что если г^-б, то надо уменьшить а. Визуальный контроль заключается в том, что выбирают наименьшее значение а, при котором еще не наблюдается заметной «разболтки» регуляризованного решения па. Выбор п. При чрезмерно большом п регуляризованное решение сильно сглаживается. Значение « = 0 обеспечивает лишь среднеквадратичную сходимость йа (|) к й(?). Поэтому наиболее часто используют я=1. Помимо вариационного способа регуляризации существует ряд других: метод подбора, метод квазиобращения, методы с использованием преобразований Лапласа и Меллина и т. д. Они рассмотрены в [39] и цитированных там работах.
НЕКОРРЕКТНЫЕ ЗАДАЧИ 469 3. Уравнение Эйлера. Учитывая явный вид D0) оператора А, перепишем задачу D2) следующим образом: « 2 \ Р* (D Wk) № 4 + \ dx\\ К (х, I) и © 4-/ (х)\ = min. E0) 4 = 0 а с (.а J Составим для этой вариационной задачи уравнение Эйлера. Для этого приравняем нулю вариацию левой части по и (|): k = 0 a + \dxh KXx, 11) и (л) di\ - f (х)\ \К(х,?)8и (|) cfg = 0. E1) с [а ) а Интегралы, стоящие под знаком суммы, вычислим последователь- последовательным интегрированием по частям: А—1 /¦ = 0 \бш 1=6 [pk (I) u^ (I)] d\. E2) Подставляя E2) в E1) и меняя порядок суммирования в двойной сумме по краевым вариациям, найдем и^© 2 (-i)*-'-^[p*(g)«ift)( + а |=а d b Полагая в этом выражении б-функцию в качестве вариации 8и (I), получим" искомое уравнение Эйлера; оно будет интегро-диффе- ренциальным: п Ь E3a)
470 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV с ядром и правой частью d d Q (?, n) = $ /С (х, I) К (х, л) dx, Ф (!) = $ К (x, !) / (x) dx E36) и краевыми условиями п qr[u(a)] = qr[a(b)] = Q, l^r^n; qr [и] = У (-1)*^- (р*и<*>). E3в) Заметим, что ядро Q (H, л) определено на квадрате [a, b; a, b], симметрично и непрерывно, а правая часть Ф (|) непрерывна. Формулировка задачи D2) в виде уравнения Эйлера E3) позволяет доказать, не пользуясь аппаратом функционального анализа, что построенный алгоритм является регуляризирующим; при этом для простоты будем полагать ри (!) = 1. Теорема 1. Задача E3) корректно поставлена при любом а>0. Доказательство. Сначала рассмотрим простейший слу- случай п = 0. При этом исчезают все краевые условия E3в) и про- производные в уравнении E3а), и задача E3) превращается в инте- интегральное уравнение Фредгольма второго рода: Г))«(Л)*1 = Ф(?) E4) с ядром и правой частью E36). Пусть %.h щ (!) — собственные значения и собственные функ- функции ядра Q(!, т|). Поскольку ядро имеет вид E36), то они удовлетворяют уравнению ь й и, (t) = Я; J щ (ц) йц \ К (х, |) К (х, л) dx. а с Умножая обе части уравнения на «;(!) и интегрируя, получим О < \ и] (!) d\ = Я,- \ dx [\ К (х, !) щ (!) Щ . а с Уа ' Отсюда видно, что все собственные значения ядра Q (!, ц) поло- положительны. Поэтому, согласно теории интегральных уравнений Фред- Фредгольма (см. § 1, п. 1), при любом а>0 уравнение E4) имеет решение ма(?)> причем это решение единственно и непрерывно зависит от правой части Ф (!) и, тем самым, от f(x). Таким образом, при п = 0 задача E3) и эквивалентная ей задача D2) корректны.
§ 2] НЕКОРРЕКТНЫЕ ЗАДАЧИ 471 При п > 0 задачу E3) также можно свести к интегральному уравнению. Построим функцию Грина G(§, т) для дифферен- дифференциального оператора, стоящего в левой части E3а), при краевых условиях E3в). Рассматривая все интегральные члены в E3а) как правую часть дифференциального уравнения, выразим через них решение при помощи функции Грина: ь ь ъ oH(g)+$a(Ti)dT]$G(i, t)Q(t, tj) dt = \ G(?, т) Ф (т) dr. E5) a a a Таким образом, и (?) удовлетворяет уравнению Фредгольма вто- второго рода, причем его ядро имеет только положительные собст- собственные значения. Следовательно, задача E3) корректна при любом п, если а > 0, что и требовалось доказать. Замечание 1. Интегро-дифференциальное, уравнение E3а) содержит производные решения вплоть до порядка 2«. Поэтому иа (?) имеет 2п непрерывных производных. Теорема 2. Пусть А[х, й] = /; тогда при п=\ и поло- положительном сс-э-0 решение па (I) задачи E3), соответствующее правой части f (х), равномерно сходится к п (?). Доказательство. При «=1 решения иа (|) задачи E3) с любой правой частью являются дважды непрерывно дифферен- дифференцируемыми. Применяя неравенство Коши — Буняковского, найдем ..2 | + б \u'a(%)\dx) ^ \ dx- 1{ua\ E6) Рассмотрим множество решений па(%), соответствующих одной и той же правой части }(х), но разным значениям параметра а > 0. Полагая / = / в неравенстве D4), получим Q1[sa]<Qi, О1 = Й![й]. E7) Из неравенств E6) и E7) следует S , E8) что означает равностепенную непрерывность множества функций паA). Кроме того, согласно определению функционала Qx при p*(i) = i. (b - a) min | па (I) Iе < Qx [йа] < Qx. E9)
472 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV Из E9), E7) и D26) вытекает, что ь F0) т. е. функции иаA) равномерно ограничены. Теперь предположим, что функции ua(Q не сходятся равно- равномерно к и (|) при а ->¦ 0, т. е. для некоторого е > 0 найдется такая последовательность aft-»-0, что || йа (?) —й(?) |]с5ге. Построим на отрезке a^l^b последовательность "сгущаю- "сгущающихся вдвое сеток. Узлы этих сеток образуют счетное множество 0 f точек. Перенумеруем эти узлы, i : 1 как указано на рис. 103. Тогда z для отрезка этого множества, со- i 1 > стоящего из первых N узлов, 5 4 длина интервала между соседними 1 ' -J ' —' узлами не превышает 3 Ю ft 12 13 П 15 15 Из последовательности ограни- 1 '"¦|''" ' ' -| ' ' |м ' ченных в совокупности функций ^afr (l) можно выбрать подпосле- Рис- 103' довательность, сходящуюся в узле Ъг. Из этой подпоследовательно- подпоследовательности выберем подпоследовательность, сходящуюся в узле |2, и т. д. В итоге построим подпоследовательность ua,(i)> сходящу- сходящуюся в каждом узле ^ к некоторому пределу й(Ь). ^ыберем сколь угодно малое е > 0 и положим N — 18 (Ь — a) x XQje-2. Возьмем настолько мал©еао(е), .чтобы при а<а„(е)"во всех узлах ^ с номерами i==^.N выполнялось неравенство I "aft (h) — й (h) \ <- е/3. Интервал между соседними узлами на- настолько мал, что в силу E8) значения «2а (^) в соседних узлах будут различаться меньше, чем на е/3. Тогда значения ufo) в соседних узлах с номерами i^N будут различаться меньше чем на е. Отсюда, во-первых, следует, что функцию й{1) можно дооп- доопределить во всех точках отрезка а ^ | ^= b так, что она будет непрерывной. Во-вторых, подпоследовательность йа, (g) равно- равномерно сходится к доопределенной функции йA). Функции йа/1A) являются решением задачи D2) с правой частью f(x). Подставляя их в эту задачу и переходя к пределу при aft->0, мы убеждаемся, что' йA) является решением этой задачи при а = 0, т. е. решением задачи D1). Поскольку реше-
§ 2] НЕКОРРЕКТНЫЕ ЗАДАЧИ 473 ние последней задачи единственно, то й(?)=й(?), что противо- противоречит сделанному в ходе доказательства предположению. Это противоречие доказывает теорему. Теорема 3. Алгоритм D2) при п — \ обеспечивает силь- сильную регуляризацию. Доказательство. Пусть точной правой части /(х) соот- соответствуют точное решение й(|) и регуляризованное решение па (?), а приближенной правой части / (х) соответствует регуляризован- регуляризованное решение йа (?). Зададим сколь угодно малое s> 0. По теореме 2 найдется такое ссо(8). ч™ II йа — й \\с «S е/2 при а==:ао(е). Согласно теореме 1 задача D2) корректна, так что при любом заданном а>0 найдется такое б(а), что если II/ —/II =^6(а), то II So-Sailed е/2. Следовательно, если asgao(e) и II/ —/||<;б(а), то II йа - й ||с «S || па - па Не + || йо - S ||с sS e. Это соответствует определению сильной регуляризации (см. п. 1); теорема доказана. Замечание 2. Поясним действие регуляризации простыми рассуждениями. Пусть правая часть Ф (t) получила возмущение ре'т»; тогда решение получит возмущение уеш^. Прибавляя эти возмущения в E3а) и оценивая каждое слагаемое по порядку величины, получим »"+i)~p- k = o I Рассмотрим поведение возмущений при больших частотах. Если а = 0, то y>~~j(u§, т. е. возмущения решения велики, и расчет неустойчив. Регуляризации нет. Если а^=0, но « = 0, то у--^C/а, т. е. возмущения решения по порядку величины равны возмущениям правой части, и расчет становится устойчивым. Чем больше <#, тем меньше возмущения решения и «разболтка» в численном расчете. Но сдвиги фаз отдельных гармоник приводят к тому, что сходимость будет только среднеквадратичной (слабая регуляризация). Если п = 1, то у г^ C/асо2 и возмущения решения для высоких частот малы. Значит, расчет хорошо устойчив и па (I) равно- равномерно сходится к й(|) (сильная регуляризация). При п>1 амплитуды уа настолько быстро убывают при со->оо, что обес- обеспечивается равномерная сходимость не только регуляризованного решения, но и его (п— 1)-й производной. 4. Некоторые приложения. Некорректные задачи встречаются в практике вычислений довольно часто. К ним относятся, напри-
474 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV мер, сглаживание и дифференцирование экспериментально изме- измеренных функций, суммирование рядов Фурье с неточно задан- заданными коэффициентами, решение плохо обусловленных линейных систем, задачи оптимального управления, аналитическое продол- продолжение функций, линейное программирование (оптимальное пла- планирование), обратные задачи теплопроводности и геологической разведки, восстановление переданного сигнала по принятому при наличии искажений аппаратуры и многие другие. Некоторые из этих задач встречались в предыдущих главах. Покажем, как они регуляризируются вариационным методом. Для определенности ограничимся сильной регуляризацией, пола- полагая в=1 в формулах D2) или E3). Сглаживание функции. Пусть функция f(x), а «с х ==?b, измерена экспериментально и содержит заметную случайную погрешность. Тогда математическая задача имеет вид и (х) = f (х) ¦ ее можно записать в каноническом виде А [х, u(%)] = f (х)-, пола- полагая А [х, иA)]=ви(х). Подставляя последнее выражение в изме- измененную задачу D2), составим уравнение Эйлера E3): 0, и'(а)=и'ф) = О. F1) Таким образом, сглаженная функция и (х) удовлетворяет ли- линейному обыкновенному дифференциальному уравнению второго порядка, для которого поставлена вторая краевая задача. Методы численного решения этой задачи подробно разобраны в главе VIII. Замечание 1. Весовые функции рп (х) и рг (х) выбирают, исходя из дополнительных сведений о виде функции / (л;) и вели- величине погрешности bf(x). Например, ри(х) целесообразно брать большими в тех диапазонах значений х, где погрешность б/ (х) особенно велика. Если подобных сведений нет, то обычно пола- полагают р0 (х) = pi (х) = 1. Замечание 2. На концах отрезка [а, Ь] погрешность сглаживания может быть значительна, поскольку краевые условия второго рода в F1) не соответствуют, вообще говоря, истинному поведению функции. Замечание 3. Можно уменьшить погрешность сглаживания вблизи концов отрезка [а, Ь], если воспользоваться регуляриза- регуляризацией более высокого порядка (см. задачу 10). Однако, как отмечалось в п. 2, при этом могут исказиться качественные особенности решения (типа, например, узких экстремумов). Дифференцирование. Задачу дифференцирования и (х) — = /'(*), ass^xs^b, можно записать в виде уравнения Вольтерра первого рода C6):
§ 2] НЕКОРРЕКТНЫЕ ЗАДАЧИ 475 или, формально, в виде уравнения Фредгольма первого рода с разрывным ядром: ь lK(x,l)u(&)d? = f(x)-f(a), a^x^b; F2a) а /С(лг,|) = 1 при а^ К(х, ?) = 0 при 1>х Поскольку требование непрерывности ядра не является сущест- существенным, применим к этой задаче алгоритм E3). Легко получим ь Q (I, ii) = \К (х, I) К (х, r])dx = b — max (g, ц), а Ф A) = \ [/ (х) - / (а)] К (х, l)dx = l [f (х) - / (a)} dx. Отсюда вытекает, что регуляризованное решение удовлетворяет следующему интегро-дифференциальному уравнению и краевым условиям: Г d ( №ч da \ .*.. , + \(b-l)u (Ti) dr\ + \(b-11) и (il) d4 = \ [f (x) - f (a)] dx, F3) ц'(а) = 0, ы'(Ь) = 0. К этой задаче также относятся сделанные выше замечания о выборе весовых функций, о значительной погрешности на концах отрезка [a, b] и возможностях ее уменьшения. Суммирование ряда Фурье. Пусть задана полная орто- нормированная система функций q>s(x), которую можно рассмат- рассматривать как систему собственных функций некоторой задачи Штурма — Л иувилля: W-0, F4) Ф» = 0, ф'(&) = 0. Требуется просуммировать ряд Фурье s=l коэффициенты которого $s заданы приближенно. Эту задачу можно рассматривать как сглаживание неточно заданной функции f(x). Воспользуемся для ее решения уравне- уравнением F1), где в качестве ро(х) и р1 (х) выбраны веса, входящие
476 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ ГЛ. XIV в задачу Штурма — Лиувилля F4). Будем искать регуляризован- ное решение также в виде ряда Фурье: F6) Подставляя F6) и F5) в F1) и учитывая F4), пдлучим где XS1> 0 —собственные значения задачи Штурма—Лиувилля F4). Этот способ регуляризации приводился без доказательства в гл. II, § 2, п. 3. Плохо обусловленные линейные системы Au—f, где и и /—конечномерные векторы, можно регуляризировать, записы- записывая их непосредственно в вариационной форме D2) и выбирая 0 | a f = {а, а). F8) Формально п = 0 соответствует слабой регуляризации. Но в ко- конечномерном пространстве все нормы эквивалентны, поэтому схо- сходимость регуляризованного решения к точному при а->-0 явля- является равномерной. Уравнение F8) означает, что среди решений, приближенно удовлетворяющих исходной задаче, ищут вектор наименьшей длины. Часто рассматривают более общую постановку: 1Ии-/||2 + а||и-и0||2 = тт, F9) которая определяет нормальное решение — приближенное реше- решение, наименее отличающееся от заданного вектора и0. Ее исполь- используют, например, в задачах линейного программирования (см. гл. VII, § 3). Поскольку F9) является квадратичной формой относительно и, то нахождение ее минимума сводится к решению линейной алгебраической системы G0) Благодаря слагаемому аЕ эта система хорошо обусловлена, по крайней мере, при не слишком малых а>0. Поэтому ее не- нетрудно решить методом исключения Гаусса. Описанный алгоритм применяют также для решения систем с вырожденной матрицей А. 5. Разностные схемы. При вариационном методе регуляризации численно решать приходится либо задачу на минимум функционала D2), либо краевую задачу для интегро-дифференциального урав- уравнения Эйлера E3). К этим задачам целесообразно применять разностные методы.
§ 2] НЕКОРРЕКТНЫЕ ЗАДАЧИ 477 Дадим пример построения разностной схемы, исходя из ва- вариационной формулировки D2). Введем на прямоугольнике [c«S «sx<d, a^l^b] сетку {х„, %т, O^n^N, O^m^M} так, что хо = с, XN — d, ?o = С \м —Ь. Для простоты ограничимся слу- случаем равномерных сеток xn = c-\-nhx, %m = a-\-mh%, сильной регу- регуляризации и единичных весовых функций р0 (?) = р2 (g) = 1. Задача D2) при указанных ограничениях принимает вид d Ь J [6 (*)]» dx + a J [«» © + ('IJ] <*? = min, G1a) с а b(x) = \K{x,l)u{l)di-f{x), G16) а где величина, обозначенная через Ь(х), имеет смысл невязки ис- исходной нерегуляризованной системы при подстановке в нее регу- ляризованного решения. Аппроксимируем входящие в -G1) интег- интегралы квадратурными формулами, использующими значения функ- функций в узлах сетки. Для этого jj (ы'J й\ вычислим по формуле средних D.17), одновременно заменяя производную разностью: Остальные интегралы вычислим по формуле трапеций D.8): ь м $ Ц G3) а т — о М и (ё) rfg^^^g 2 ст/С„,„мт, /С™ = /С (*„, U; G4) F, G5) а от = о где ст=1 при lsSmss Ья=1 при l*Qn^ Подставляя G2) — G6) в G1) и обозначая разностное решение через ут, получим вместо G1) алгебраическую задачу N f M -12 hx 2 bnlht 2 СтКптУт-fn] + М М — 1 на минимизацию квадратичной формы.
478 ИНТЕГРАЛЬНЫЕ УРАВНЕНИЯ [ГЛ. XIV Для решения этой задачи приравняем пулю производные от левой части G7) по ут. Получим систему уравнений, линейных относительно ут: м щт - - Л (Ут) +hgy aQmtVi = Ф«, 0 < т < М; G8а) 1) При 1 =?=/П =S= M - 1, * , ! G86) Ы = А, (</i — Уо), Л (г/л() = , б (у л* 1 — где Q^ = ^ 2 ЬЛптКпЬ Фт = Нх^ЬпКпт!п- G8в) /1=0 п = О Матрица системы G8) является, вообще говоря, плотно заполненной; поэтому обычно эту систему решают методом исключения Гаусса. На исследовании полученной разностной схемы не будем останавливаться, поскольку сходные вопросы были рассмотрены в главе VII, § 4. Отметим только, что схема G7) или G8) имеет аппроксимацию О(к1-\-Щ), если ядро и правая часть непрерывны со своими вторыми производными. Замечание 1. Если умножить уравнение G8а) на ст, то матрица этой линейной системы станет симметричной. Тогда для решения этой системы можно будет применить метод квадратного корня (который вдвое быстрей метода Гаусса). Замечание 2. Нетрудно видеть, что Qm[ и Фт являются разностными аналогами ядра и правой части E36) интегро- дифференциального уравнения Эйлера. Выражение А (ут), возник- возникшее при дифференцировании последней суммы в G7), есть раз- разностный аналог дифференциального оператора в уравнении E3а). Поэтому система G8) аппроксимирует также задачу регуляриза- регуляризации в_ форме уравнения Эйлера E3), причем выражения A(yQ) и Л (Ум) учитывают краевые условия E3в). ЗАДАЧИ 1. Показать, что интегральное уравнение (Р — a) x-i- (ba — af>) — (b — а) и (х) = b x = (x-a) I (b-t)f&, и ©) d? + (b-x)I (l-a)f (|, и (%)) d\ G9) x a эквивалентно краевой задаче для дифференциального уравнения и" (*)=/ (х, и), и (а) = а, и F) = р.
ЗАДАЧИ 479 2. Записать уравнение G9) в каноническом виде A); найти выражение для ядра К (х, I, и). 3. Для уравнения Вольтерра G) составить разностную схему и полный ал- алгоритм вычисления разностного решения, используя формулу трапеций с рав- равномерным шагом. 4. Для двумерного уравнения Фредгольма F) составить разностную схему, используя в качестве кубатурлой формулы произведение одномерных формул Гаусса. 5. В методе последовательных приближений для уравнения F) выразить ип (х) через «х (х) при помощи рекуррентного соотношения A6). 6. Доказать, что из соотношения B0) следует оценка B1). 7. Учитывая, что уравнение B3) имеет вырожденное ядро, а) найти его точное решение; б) сделать то же для f (х) = sin х. 8. В уравнении B3) так подобрать правую часть f(x), чтобы при % = 2 существовало решение. 9. Доказать утверждение, сформулированное в § 1, п. 5, замечании 1. 10. Для задачи сглаживания функции u{x) — f{x) написать уравнение и краевые условия вариационной регуляризации с м=2. Обсудить влияние л на погрешность сглаживания вблизи границ, для простоты полагая рп{х) = \ и Рк (х) = 0 при k < п. И. Регуляризировать задачу р-кратного дифференцирования и(х)—рР^ (х), используя запись этой задачи в виде интегрального уравнения (p- (x-l)P-i и (I) dl=f (x). (80) 12. Аппроксимировать разностной схемой краевую задачу для уравнения Эйлера E3); сравнить ее с разностной схемой G8). 13. Составить разностную схему для регуляризации однократного диффе- дифференцирования, если f (x) задана а) на равномерной сетке, б) на неравномерной сетке.
ГЛАВА XV СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА В главе XV рассмотрены основные вопросы статистической обработки результатов эксперимента: определение наиболее достоверного значения изме- измеряемой величины и погрешности этого значения по нескольким измерениям, оценка достоверности различия двух близких величин, установление достовер- достоверной функциональной зависимости между двумя величинами и аппроксимация этой зависимости. Глава носит вспомогательный характер. Материал в ней изложен в спра- справочной форме, без доказательств. Обоснование и более подробное изложение приведенных методов имеется, например, в [7, 26, 43]. 1. Ошибки эксперимента. Численные методы часто применяют при математическом моделировании физических и других процес- процессов. Результаты расчетов в этом случае сравнивают с экспери- экспериментальными данными и по степени их согласованности судят о качестве выбранной математической модели. Чтобы обоснованно сделать заключение о соответствии или несоответствии, вычисли- вычислитель должен знать, что такое погрешность эксперимента и как с ней обращаются, а также уметь в случае необходимости про- провести статистическую обработку первичных данных эксперимента. Кроме того, задача статистической обработки эксперимента представляет самостоятельный интерес, поскольку она очень важна в тех приложениях, когда или требуется особенно высо- высокая точность (например, уравнивание триангуляционных сетей в геодезии), или разброс отдельных измерений превосходит исследуемый эффект (что нередко встречается в физике элементар- элементарных частиц, химии сложных соединений, испытании сельскохозяй- сельскохозяйственных сортов, медицине и т. д.). Обычно, чем точнее эксперимент, тем более сложной аппара- аппаратуры он требует и дороже обходится. Однако хорошо продуман- продуманная математическая обработка результатов в ряде случаев позво- позволяет выявить и частично исключить ошибки измерений; это может оказаться не менее эффективным, чем использование более дорогой и точной аппаратуры. В этой главе будет рассмотрена статистическая обработка, позволяющая существенно уменьшить и аккуратно оценить случайную ошибку измерений.
ГЛ. XVI СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 481 Ошибки эксперимента условно разбивают на систематические, случайные и грубые; рассмотрим их подробнее. Систематические ошибки — это те, которые не меня- меняются при многократном повторении данного эксперимента. При- Примерами таких ошибок являются пренебрежение выталкивающим действием воздуха при точном взвешивании или измерение тока гальванометром, нуль которого неправильно установлен. Разли- Различают три вида систематических ошибок. а) Ошибки известной природы, величину которых можно опре- определить; их называют поправками. Так, при точном взвешивании рассчитывают поправку на выталкивающее действие воздуха и прибавляют ее к измеренной величине. Внесение поправок позво- позволяет существенно уменьшить (или даже практически исключить) ошибки такого рода. Заметим, что иногда расчет поправок бывает самостоятельной сложной математической задачей. Например, некорректно постав- поставленная задача A4.2) о восстановлении переданного радиосигнала по принятому является, по существу, нахождением поправки на искажение принимающей аппаратуры. б) Ошибки известного происхождения, но неизвестной вели- величины. К ним относится погрешность измерительных приборов, определяемая их классом точности. Для таких ошибок обычно известна только верхняя граница, а как поправки их учесть нельзя. в) Ошибки, о существовании которых мы не знаем; например, используется прибор со скрытым дефектом или изношенный, фактическая точность которого существенно хуже, чем обозначено в техническом паспорте. Для выявления систематических ошибок всех видов обычно заранее отлаживают аппаратуру на эталонных объектах с хорошо известными свойствами. Случайные ошибки вызываются большим числом факто- факторов, которые при повторении одного и того же эксперимента могут действовать по-разному, причем учесть их влияние прак- практически невозможно. Например, при измерении длины предмета линейка может быть неточно приложена, взгляд наблюдателя может падать не перпендикулярно шкале и т. д. При многократном повторении эксперимента результат вслед- вследствие случайной ошибки будет, различным. Однако такое повто- повторение и соответствующая статистическая обработка позволяют, во-первых, определить величину случайной ошибки и, во-вторых, уменьшить ее. Повторяя измерение достаточное число раз, можно уменьшить случайную ошибку до требуемой величины (целесо- (целесообразно уменьшать ее до величины 50—100% от систематиче- систематической ошибки). Грубые ошибки — это результат невнимательности наблю- наблюдателя, который может записать одну цифру вместо другой. При
482 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV единичном измерении грубую ошибку не всегда можно опознать. Но если измерение повторено несколько раз, то при статистиче- статистической обработке выясняют вероятные пределы случайной ошибки. Измерение, существенно выходящее за полученные пределы, счи- считается грубо ошибочным и не учитывается при окончательной обработке результатов. Таким образом, если измерение повторено достаточно много раз, то можно практически исключить грубые и случайные ошибки, так что точность ответа будет определяться только систематиче- систематической ошибкой. Однако во многих приложениях это требуемое число раз оказывается неприемлемо большим, а при реально осу- осуществимом числе повторений случайная ошибка может быть опре- определяющей. 2. Величина и доверительный интервал. Пусть измерение про- проводят несколько раз, причем условия эксперимента поддержи- поддерживают, насколько возможно, неизменными. Поскольку строго соб- соблюдать неизменность условий невозможно, результаты отдельных измерений xt будут несколько различаться. Их можно рассматри- рассматривать как значения случайной величины I, распределенной по некоторому закону, заранее нам неизвестному. Очевидно, математическое ожидание М? равно точному зна- значению измеряемой величины х (строго говоря, точному значению плюс систематическая ошибка). Обработка измерений основана на центральной предельной теореме теории вероятностей: если | есть случайная величина, распределенная по любому закону, то (¦ = 1 есть также случайная величина, причем Щп = Щ, ОЛ„=|О|, A) а закон распределения величины г\п стремится к нормальному (гауссову) при п-^-оо. Поэтому среднеарифметическое несколь- нескольких независимых измерений я'вляется приближенным значением измеряемой величины, причем с тем большей надежностью, чем больше число измерений п. Однако равенство хя«М| не является точным, и нельзя даже строго указать предел его ошибки; в принципе х может сколь угодно сильно отличаться от М?, хотя вероятность такого собы-
ГЛ. XV] СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 483 тия ничтожно мала. Ошибка приближенного равенства B) носит вероятностный характер и описывается доверительным интервалом Р, т. е. границей, которую с доверительной вероятностью р0 не превышает разность \х — М?|. Символически это записывают следующим образом: р{\х-Щ\^$}=р0. C) Доверительный интервал зависит от закона распределения | (а тем самым —от постановки эксперимента), от числа измерений п, а также от выбранной доверительной вероятности р0. Из C) видно, что чем ближе р0 к единице, тем шире оказывается дове- доверительный интервал. Доверительную вероятность р0 выбирают, исходя из практи- практических соображений, связанных с применениями полученных результатов. Например, если мы делаем игрушечный воздушный змей, то вероятность благополучного полета ро = 0,8 нас устроит, а если конструируем самолет, то даже вероятность р0 — 0,999 недостаточна. Во многих физических измерениях ро = 0,95-7-0,99 считается достаточной. Замечание 1. Пусть требуется найти величину z, но изме- измерять удобнее величину х, связанную с ней известным соотноше- соотношением z = f(x); например, нас интересует джоулево тепло, а изме- измерять легче ток. При этом следует помнить, что Щ = \ f (х) р (х) dxф f (Ml) = f (J хР (х) dx); так, среднее значение переменного тока равно нулю, а средний джоулев нагрев отличен от нуля. Поэтому, если мы вычислим сначала х, а затем положим z = f(x), это будет грубая ошибка. Следует по каждому измерению xt вычислять z-t = / (л:,-) и далее обрабатывать полученные значения zt. Ширина доверительного интервала. Если известна плотность распределения рп(у) величины г\п, то доверительный интервал можно определить из C), разрешая уравнение Mti + P Мт1„ = Mg, D) относительно р. Выше отмечалось, что при п ->• со распределение г\п стремится к нормальному *): *) В самом худшем случае, когда \ есть равномерно распределенная слу- случайная величина, распределение г\п близко к норйальному при /г~30, а интег- интеграл в C) близок к интегралу от нормального распределения при существенно меньших п.
484 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV здесь D\]n — дисперсия распределения, а величину ап называют стандартным отклонением или просто стандартом *). Подставляя E) в D) и полагая р = tan, т. е. измеряя дове- доверительный интервал в долях стандарта, получим соотношение F) Интеграл ошибок, стоящий в правой части F), табулирован, так что из этого соотношения можно определить доверительный интервал t(p0). Зависимость t(p0) дается в таблице 23 строкой, соответствующей л = оо. Из таблицы 23 видно, что доверительный интервал E = Зсг„ соответствует доверительной вероятности р0 = 0,997, так что отклонение х от М| более чем на Зсг„ маловероятно. Но откло- отклонение более чем на ап довольно вероятно, поскольку ширине C = оп соответствует ро = О,7. Таким образом, если известна дисперсия D?, то нетрудно определить стандарт ап = У~О%/п и, тем самым, абсолютную ширину доверительного интервала р\ В этом случае даже при выполне- выполнении одного измерения можно оценить случайную ошибку **), а увеличение числа измерений позволяет уменьшать доверитель- доверительный интервал, поскольку ап ^ п~Х12. Критерий Стьюдента. Чаще всего дисперсия D? неиз- неизвестна, поэтому выполнить оценку ошибки указанным выше спо- способом обычно не удается. При этом точность однократного изме- измерения неизвестна. Однако, если измерение повторено несколько раз, можно приближенно найти дисперсию: п Li v ' ; ' « Li 2* w 1=1 t=l i=1 Точность этого выражения невелика по двум причинам: во-пер- во-первых, число членов суммы обычно мало; во-вторых, использова- использование замены Щ?^х вносит ошибку О(\/п), значительную при малых п. Более хорошее приближение дает так называемая несмещенная оценка дисперсии: п Dg ^s = n j *) Для произвольного закона распределения T^Dr) называют среднеквад- среднеквадратичным отклонением. **) Однако при я=1 считать распределение Pi 0/) = р (*) нормальным и пользоваться формулой F), вообще говоря, нельзя. Этот вопрос будет рас- рассмотрен ниже,
ГЛ. XVI СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 485 где величину s называют стандартом выборки. Далее будем пользоваться только оценкой (8). Оценка (8) также является приближенной, поэтому нельзя пользоваться формулой F), заменяя в ней сг„ на sfYn. Надо вносить в нее поправку, тем большую, чем меньше п. Если рас- распределение у]п считать нормальным при любых п, то связь дове- доверительного интервала со стандартом выборки устанавливается критерием Стьюдента: = t(p0, n)sn, sn = ~, У п (9) где коэффициенты *) Стьюдента t (p0, п) представлены в таблице 23. Таблица 23 1 2 3 4 5 6 7 8 9 10 15 20 30 60 оо Критерий Чебышева 0,5 1,0 0,8 0,8 0,7 0J ОД 0,7 0J 0,7 ОД 0,7 0,7 0,7 0,7 0,7 1,4 Коэффициенты Стьюдента 0,7 2,0 1,3 1,3 1,2 1,2 1,1 1,1 1,1 1,1 1,1 1,1 1,1 1,1 1,0 1,0 1,8 0,8 3,1 1,9 1,6 1,5 1,5 1,4 1,4 1,4 1,4 1,4 1,3 1,3 1,3 1,3 1,3 2,2 0,9 6,3 2,9 2,4 2,1 2,0 1,9 1,9 1,9 1,8 1,8 1,8 1,7 1,7 1,7 1,6 3,2 0,95 13 4,3 3,2 2,8 2,6 2,4 2,4 2,3 2,3 2,2 2А 2,1 2,0 2,0 2,0 4,5 Про. 0,98 32 7,0 4,5 3,7 3,4 3,1 3,0 2,9 2,8 2,8 2,6 2,5 2,5 2,4 2,3 7,1 п) 0,99 64 9,9 5,8 4,6 4,0 3,7 3,5 3,4 3,3 3,2 2,9 2,8 2,8 2,7 2,6 10 0,995 127 14 7,5 5,6 4,8 4,3 4,0 3,8 3,7 3,6 3,3 3,2 3,0 2,9 2,8 14 0,998 318 22 10 7,2 5,9 5,2 4,8 4,5 4,3 4,1 3,7 3,5 3,4 3,2 3,1 22 0,999 637 32 13 8,е 6,9 6,0 5,4 5,0 4,8 4,6 4,! 3,8 3,7 3,5 3,3 32 Очевидно, при больших п с хорошей точностью выполня- выполняется en^sn. Поэтому при л-^-оо критерий Стьюдента перехо- переходит в формулу F); выше отмечалось, что этой формуле соответ- соответствует строка п = оо таблицы 23. Однако при малых п довери- доверительный интервал (8) оказывается много шире, чем по критерию F). Пример 1. Выбрано р„ = 0,99 и выполнено 3 измерения; по таблице 23 доверительный интервал равен E = 9,9s/j/3 = 5,7s. *) Их называют также квантилями Стьюдента.
486 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV К сожалению, не все физики и инженеры знакомы с понятием довери- доверительного интервала и критерием Стьюдеита. Нередко встречаются эксперимен- экспериментальные работы, в которых при малом числе измерений пользуются критерием {6) или даже считают, что значение sn является погрешностью величины X, и вдобавок оценивают дисперсию по формуле G). Для приведенного выше примера при первой ошибке был бы дан ответ {5 = l,5s, при второй —E = 0,6s, а при третьей —E = 0,7s, что сильно отличается от правильного значения. Замечание 2. Зачастую одна и та же величина х измерена в разных лабораториях на разном оборудовании. Тогда следует найти среднее и стандарт по формулам B) и (8), где суммирова- суммирование проводится по всем измерениям во всех лабораториях, и определить доверительный интервал по критерию Стьюдента. Нередко при этом суммарный стандарт s оказывается больше, чем стандарты Sj, определенные по данным отдельных лабораторий. Это естественно. Каждая лаборатория делает при измерениях систематические ошибки, и часть систематических ошибок в раз- разных, лабораториях совпадает, а часть —различается. При совмест- совместной обработке различающиеся систематические ошибки переходят в разряд случайных, увеличивая стандарт. Значит, при совместной обработке разнотипных измерений обычно систематическая ошибка значения х будет меньше, а случайная — больше. Но случайную ошибку можно сколь угодно уменьшить, увеличивая число измерений. Поэтому такой спо- способ позволяет получить окончательный результат с большей точ- точностью. Замечание 3. Если в разных лабораториях используется оборудование разного класса точности, то при такой совместной обработке надо суммировать с весами ру. 12 (b2 где рг относятся, как квадраты точности приборов. Произвольное распределение. Чаще всего число измерений п невелико и заранее неясно, можно ли считать распре- распределение у\п нормальным и пользоваться приведенными выше критериями. Для произвольного распределения р (х) справедливо нера- неравенство Чебышева ! Отсюда можно оценить доверительный интервал:
ГЛ. XV] СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 487 Коэффициент A— ро)~1/2 в этой оценке приведен в дополнитель- дополнительной строке таблицы 23. Из таблицы видно, что если в качестве доверительной веро- вероятности принять р0 = 0,9,5, то для произвольного закона распре- распределения с'известной дисперсией доверительный интервал не пре- превышает 5а„. Для симметричного одновершинного распределения аналогичные оценки показывают, что доверительный интервал не превышает За„; напомним, что для нормального распределе- распределения он равен 2<т„ (при выбранном ро = 0,95). Разумеется, если вместо оп используют найденное по тем же измерениям значение sn, то надо строить критерий, аналогичный критерию Стьюдента. Оценки при этом будут существенно хуже приведенных. Проверка нормальности распределения. Из срав- сравнения критериев F) и A1) видно, что даже при невысокой дове- доверительной вероятности р0 ==s 0,9 оценки доверительного интервала при произвольном распределении вдвое хуже, чем при нормаль- нормальном. Чем ближе р0 к единице, тем хуже соотношение этих оценок. Поэтому целесообразно проверять, существенно ли отли- отличается распределение р (х) от нормального. Распространенный способ проверки — исследование так назы- называемых центральных моментов распределения: mh= \ (x-m)kp(x)dx, Л= 1,2,... A2) —со Два первых момента, по определению, равны m1 = 0, m2 —D? = = а2. Для нормального распределения два следующих момента равны т3 = 0, т4 = 3а4. Обычно ограничиваются этими момент тами. Вычисляют их фактические значения по проведенным изме- измерениям и проверяют, согласуются ли они со значениями, соот- соответствующими нормальному распределению. Удобно вычислять не сами моменты, а составленные из них безразмерные комбинации — асимметрию A = cr3m3 и эксцесс Е = = о-*ть — 3; для нормального распределения они обращаются в нуль. Аналогично дисперсии, вычислим их по несмещенным оценкам: ¦--—— У (г р^-' где s определяется формулой (8). Собственные дисперсии этих величин известны и зависят только от числа измерений: (« + 3)(п
488 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV причем собственное распределение А является симметричным. Поэтому, если выполняются соотношения A5) то по критерию Чебышева A1) отличие А и Е от нуля недосто- недостоверно, так что можно принять гипотезу о нормальности распре- распределения р (х). Формулы A3) —A5) непосредственно относятся к распределе- распределению единичного измерения. На самом деле надо проверить, нор- нормально ли распределение среднеарифметического г\п при выбранном и. Для этого делают большое число измерений N = гп, разбивают их на г групп по п измерений в каждой и среднее значение в каждой группе х рассматривают как единичное измерение. Тогда проверка выполняется по формулам A3)—A5), где вместо и надо подставить г. Разумеется, такую тщательную проверку проводят не в каж- каждой измеряемой точке, а лишь во время отработки методики эксперимента. Замечание 4. Аналогично проверяют любые естественнонаучные гипо- гипотезы. Производят большое число экспериментов и выясняют, нет ли среди них событий, маловероятных с точки зрения этой гипотезы. Если найдутся такие события, то гипотезу отвергают, если нет —условно принимают. Выбор п. За счет увеличения числа измерений п можно неограниченно уменьшать доверительный интервал. Однако сис- систематическая ошибка ро при этом не уменьшается, так что сум- суммарная ошибка все равно будет больше pY Поэтому целесообразно выбрать п так, чтобы ширина доверительного интервала состав- составляла 50—100% р0. Дальнейшее увеличение числа измерений бес- бессмысленно. Чтобы найти удовлетворяющее этому требованию и, надо отдельные точки измерить достаточное число раз, вычислить стандарт s, убедиться в нормальности распределения г\п и на осно- основании критерия Стьюдента (9) подобрать такое п, чтобы выпол- выполнялось неравенство ^(Ро. «X —Ро, A6) где коэффициенты Стьюдента t(p0, n) даются таблицей 23. Из таблицы 23 видно, что при п = 2 доверительный интервал чересчур велик, так что следует производить не менее 3—4 изме- измерений. При дальнейшем увеличении п коэффициенты Стьюдента убывают слабо и доверительный интервал sn сужается почти пропорционально п~х12, т. е. довольно медленно. Поэтому обычно считают нецелесообразным брать я>5—10, так как возраста- возрастающая трудоемкость эксперимента не оправдывается достигаемой точностью.
ГЛ. XV] СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 489 Пример 2. Отношение систематической ошибки к стандарту выборки оказалось po/s == 0,8, и принята доверительная вероят- вероятность ро = 0,95. Возьмем соответствующий столбец таблицы 23 и будем перебирать по очереди и = 2, 3, ..., пока не получим t (р0, п)/У~п =^0,8; этому условию удовлетворяет п = 9. Обнаружение грубых ошибок. Отличить грубую ошибку от случайной не всегда легко. Если число измерений мало, то широк доверительный интервал и даже значительные отклонения от среднего в него укладываются. Если же п велико, то возрастает вероятность того, что хотя бы одно измерение сильно отклонится от среднего случайно, т. е. на законном основании. Пусть сделано п измерений и вычислены среднее х и стан- стандарт s. Чтобы с вероятностью р1 ни одно из этих измерений не отличалось от М? более чем на, некоторое б, каждое изме- измерение должно оставаться в указанных пределах с вероятностью п. у pv т. е. должно выполняться условие р{|х,-М?|<6} = 1. A7) Предполагая, что I имеет нормальное распределение, срав- сравнивая A7) с критерием Стьюдента (9) и учитывая, что величина s вычислена по всей выборке, а применяется к отклонению единичного измерения, получим s. A8) Вместо неизвестной величины Щ мы вынуждены подстав- подставлять в A7) величину X, имеющую доверительный интервал E = = t(p0, n)slYn. Сравним неравенства поскольку они носят вероятностный характер, то к ним надо применять не неравенство треугольника, а суммирование ква- квадратов, что дает \xi-x\<yW+$*. A9) Подставляя сюда найденные б и р\ можно сделать следующий вывод: Если для всех измеренных величин выполняется оценка | xt - х | < s [> [VJv n) + it2 (Po, «)] '/2. B0) то нет оснований считать одну из них грубо ошибочной. Если какое-либо измерение не укладывается в пределы B0), то его можно считать грубо ошибочным и отбрасывать. Общепринятых критериев для выбора вероятности рх нет; естественно полагать р1=р0-
490 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV Пример 3. Пусть проведено и =10 измерений и выбрано р1 = р0 = 0,9. Тогда pJ/n = 0,99 и вычисления по формуле B0) при помощи таблицы 23 дают | х,— х| ==g;3,3s. Если при той же ве- вероятности р0 взять п—100, то получим условие \xt — х\ eg 4,8s. 3. Сравнение величин. Сначала рассмотрим задачу сравнения величины х, измеряемой в эксперименте, с константой а. Вели- Величину х можно определить лишь приближенно, вычисляя среднее х по п измерениям. Надо узнать, выполняется ли соотношение M?Ssa. В этом случае ставят две задачи, прямую и обратную: а) по известной величине х найти константу а, которую Mi- превосходит с заданной вероятностью р0; б) найти вероятность р0 того, что М? ^ а, где а — заданная константа. Очевидно, если х<а, то вероятность того, что М|^я, меньше V2- Этот случай не представляет интереса, и далее будем счи- считать, что х Зь а и Ро^1/^- Задача сводится к задачам, разобранным в п. 2. Пусть по п измерениям определены х и его стандарт sn: Число измерений будем считать не очень малым, так что х есть случайная величина с нормальным распределением. Тогда из кри- критерия Стьюдента (9) при учете симметрии нормального распреде- распределения следует, что для произвольно выбранной вероятности рх выполняется условие p{Ml-x^-t(Pl, n)sB} = ~(l + Pa). B2) Полагая р0 —1/2 A + Pi)> перепишем это выражение в следующем виде: рЩ^а}=р0, a = X-tBpo-l, n)sn, B3) где t (plt n) — заданные в таблице 23 коэффициенты Стьюдента. Тем самым, прямая задача решена: найдена константа а, кото- которую с вероятностью р0 превышает М?. Обратная задача решается при помощи прямой. Перепишем формулы B3) следующим образом: /Bро-1, л)=*=?, р{М?5эа} = р0. B4) Это значит, что надо вычислить t по известным значениям а, х, §„, выбрать в таблице 23 строку с данным- п и найти по величине t соответствующее значение pv Оно определяет искомую вероят- вероятность po = 1/2(l+Pi)-
ГЛ. XV] СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 491 Две случайные величины. Часто требуется устано- установить влияние некоторого фактора на исследуемую величину — например, увеличивает ли (и насколько) прочность металла опре- определенная присадка. Для этого надо измерить прочность исход- исходного металла х и прочность легированного металла у и сравнить эти две величины, т. е. найти z — y — x. Сравниваемые величины являются случайными; так, свойства металла определенной марки меняются от плавки к плавке, по- поскольку сырье и режим плавки не строго одинаковы. Обозначим эти величины через | и tj. Величина исследуемого эффекта равна М? = Мт] — М?, и требуется определить, выполняется ли условие Таким образом, задача свелась к сравнению случайной вели- величины ? с константой а, разобранному выше. Прямая и обратная задачи сравнения в этом случае формулируются следующим об- образом: а) по результатам измерений xt и yt найти константу а, которую М? превосходит с заданной вероятностью р0 (т. е, оце- оценить величину исследуемого эффекта); б) определить вероятность р0 того, что M?Ssa, где а —Же- —Желательная величина эффекта; при а = 0 это означает, что надо определить вероятность, с которой Мт) 5з М|. Для решения этих задач надо вычислить z и дисперсию этой величины. Рассмотрим два способа их нахождения. Независимые измерения. Измерим величину х в п экспериментах, а величину у — вт экспериментах, независимых от первых п экспериментов. Вычислим средние значения по обыч- обычным формулам: п т *=4 2*<-' я=4 2 *• B5) (=1 ;=1 Эти средние сами являются случайными величинами, причем их стандарты (не путать со стандартами единичных измерений!) при- приближенно определяются несмещенными оценками: 2а *'"-*)' sm» =m(m-l) «• = 1 / = 1 Поскольку эксперименты независимы, то случайные величины х и у также независимы, так что при вычислении 2 их математи- математические ожидания вычитаются, а дисперсии складываются: 2^М? = Мт)-М|^?-*, B7)
492 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV Несколько более точная оценка дисперсии такова: п 1+1" п ' т Таким образом, г и ее дисперсия найдены, и дальнейшие вычи- вычисления производятся по формулам B3) или B4). Согласованные измерения. Более высокую точность дает другой способ обработки, когда в каждом из и эксперимен- экспериментов одновременно измеряют х и у. Например, после выпуска по- половины плавки в оставшийся в печи металл добавляют присадку, а затем сравнивают образцы металла из каждой половины плавки. При этом, по существу, в каждом эксперименте измеряют сразу значение 2г = г/,— х{ одной случайной величины ?, которую надо сравнить с константой а. Обработка измерений тогда произво- производится по формулам B1)—B4), где вместо х надо всюду подста- подставить z. Дисперсия при согласованных измерениях будет меньше, чем при независимых, поскольку она обусловлена только частью слу- случайных факторов: те факторы, которые согласованно меняют | и,т], не влияют на разброс их разности. Поэтому такой способ позволяет получить более достоверные выводы. Пример. Любопытной иллюстрацией сравнения величин яв- является определение победителя в тех видах спорта, где судейство ведется «на глазок» — гимнастика, фигурное катание и т. д. Таблица 24 ~-~-^^^ Судья Всадница ^^\^_ Линзенхофф Петушкова Судейские 1 254 230 2 257 243 оценки в 3 232 220 4 245 257 баллах 5 241 235 Среднее 245,8 237,0 Место I II В таблице 24 приведен протокол соревнований по выездке на Олимпийских играх 1972 г. Видно, что разброс судейских оценок велик, причем ни одну оценку нельзя признать грубо ошибочной и откинуть. На первый взгляд кажется, что достоверность опре- определения победителя невелика. Рассчитаем, насколько правильно определен победитель, т. е. какова вероятность события М?>0. Поскольку оценки обеим всадницам выставлялись одними и теми же судьями, можно вос- воспользоваться способом согласованных измерений. По таблице 24 вычисляем I — + 8,8 и snz = 5,9; подставляя в формулу B4) эти значения и а = 0, получим t (ри п) = 1,5. Выбирая в таблице 23
ГЛ. XV] СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 493 строку и = 5, находим, что этому значению t соответствует р1 = = 2р0 — 1 = 0,8. Отсюда ро = 0,9, т. е. с вероятностью 90% золо- золотая медаль присуждена правильно. Сравнение по способу независимых измерений даст несколько худшую оценку, поскольку оно не использует информацию о том, что оценки выставляли одни и те же судьи. Сравнение дисперсий. Пусть требуется сравнить две методики эксперимента.. Очевидно, точнее та методика, у которой дисперсия а2 единичного измерения меньше (разумеется, если при этом не увеличивается систематическая ошибка). Значит, надо установить, выполняется ли неравенство ох>оу. О дисперсиях единичных измерений судят по стандартам вы- выборок п т sl=^т 2{Xi - *J> s*=?=т 2 ^ -9J' B9) вычисленным соответственно пояит измерениям. Эти стандарты сами являются случайными величинами. Однако сравнивать их на основании критерия Стьюдента нельзя, поскольку распреде- распределение s не гауссово. Нетрудно видеть, что оно является асим- асимметричным: значения s <L 0 невозможны, а сколь угодно большие S >» 0 ВОЗМОЖНЫ. Дисперсии сравнивают по критерию Фишера. Если J>F(n, т; р0), C0) sy то с вероятностью р0 первая дисперсия больше второй. Коэффи- Коэффициенты Фишера*) для случаев п = т, п — сю,т = оо приведены в таблице 25. При малых п, т эти коэффициенты довольно ве- велики; поэтому различие дисперсий можно установить только в том случае, если это различие велико или велико число экспериментов. Замечание. Критерий Фишера позволяет также найти от- отношение дисперсий. Если выполнено неравенство f>aF(n, m; р0), C1) У то с вероятностью р0 первая дисперсия в а раз больше второй. Методы, изложенные в пп. 2 и 3, применимы не только к измерениям не- непрерывных величин, но и для суждения об очень большой партии объектов (генеральной совокупности) по небольшой случайной выборке из п объектов. Эти формулы и критерии применяются в статистике, социологии, выборочной оценке больших партий товара и т. д. В статистике и социологии законы рас- распределения величин нередко сильно отличаются от нормального, и выяснение закона распределения играет там большую роль. *) Их называют также квантилями Фишера.
494 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА Таблица 25 Коэффициенты Фишера F (n, /in; р0) [ГЛ. XV Ра д_1=т—1 1 2 3 4 5 6 12 24 оо т — 1 1 2 3 4 5 6 12 24 оо п — 1 1 2 3 4 5 6 12 24 со 0,8 9,5 4,0 2,9 2,5 2,2 2,1 1Л 1,4 1,0 16 4,5 3,0 2,4 2,1 2,0 1,5 1,3 1,0 1,6 1,6 1,6 1,5 1,5 1,4 1,3 1,2 1,0 0,95 161 19 9,3 6,4 5,0 4,3 2,7 2,0 1,0 254 19 8,5 5,6 4,4 3,7 2,3 1,7 1,0 3,8 3,0 2,6 2,4 2,2 2,1 1,8 1,5 1,0 0,975 0 Случай ,990 п = 648 4052 39 15 9,6 7,2 5,8 3,3 2,3 1,0 Случай 1018 40 14 8,3 6,0 4,9 2,7 1,9 1,0 Случай 5,0 3,7 3,1 2,8 2,6 2,4 1,9 1,6 1,0 99 29 16 11 8,5 4,2 2,7 1,0 п = 6366 100 26 13 9,0 6,9 3,4 2,2 1,0 т = 6,6 4,6 8,8 3,3 3,0 2,8 2,2 1,8 1,0 0,995 т 16211 199 47 23 15 11 4,9 3,0 1,0 оо 25 465 200 42 19 12 8,9 3,9 2,4 1,0 7,9 5,3 4,3 3,7 3,4 3,1 2,4 1,9 1,0 0,999 4.1X10S 999 141 53 30 20 7,0 3,7 1,0 6,4X10^ 1000 124 44 24 16 5,4 3,0 1,0 11 6,9 5,4 4,6 4,1 3,7 2,7 2,1 1,0 4. Нахождение стохастической зависимости. Пусть требуется исследовать зависимость z(x), причем обе величины z и х изме- измеряются в одних и тех же экспериментах. Для этого проводят серию экспериментов при разных значениях х, стараясь сохра- сохранить прочие условия эксперимента неизменными. Измерение каждой величины содержит случайные ошибки (систематические ошибки здесь рассматривать не будем); следо- следовательно, эти величины являются случайными. Закономерная
ГЛ. XV] СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 495 связь случайных величин называется стохастической*). Будем рассматривать две задачи: а) установить, существует ли (с определенной вероятностью) зависимость z от х или величина z от х не зависит; б) если зависимость существует, описать ее количественно. Первую задачу называют дисперсионным анализом, а если рассматривается функция многих переменных г(х, у, ...) —то многофакторным дисперсионным анализом. Вторую задачу назы- называют анализом регрессии. Если случайные ошибки велики, то они_ могут маскировать искомую зависимость и выявить ее бывает нелегко. Без ограничения общности можно считать, что величина х измеряется точно. В самом деле, если z от х не зависит, то ошибка 6х ни на что Не влияет. Если же зависимость существует, то ошибка бх эквивалентна дополнительной ошибке зависимой переменной 6z = (dz/dxNx. Таким образом, достаточно рассмотреть случайную вели- величину ?,(х), зависящую от х как от параметра. Математическое ожидание этой величины М? (х) = z (x) зависит от х; эта зависи- зависимость является искомой и называется законом регрессии. Дисперсионный анализ. Проведем при каждом значе- значении xt небольшую серию измерений и определим г1} A =г^/==^;пг). Рассмотрим два способа обработки этих данных, позволяющих исследовать, имеется ли значимая (т. е. с принятой доверитель- доверительной вероятностью) зависимость z от х. При первом способе вычисляют стандарты выборки единичного измерения по каждой серии отдельно и по всей совокупности измерений: 2 (z ^ s2 2 j п. _ 1 / = 1 Л/ где N = 2]ni ~~ полное число измерений, а Л У = 1 i, I являются средними значениями соответственно по каждой серии и по всей совокупности измерений. Сравним дисперсию совокупности измерений cr2^s2 с диспер- дисперсиями отдельных серий ст'я«я|. Если окажется, что при выбран- выбранном уровне достоверности р0 можно считать G>ot для всех i, то зависимость z от х имеется. Если достоверного превышения *) С такой связью мы уже встречались в стохастических задачах нахож- нахождения корня уравнения (гл. V, §2, п. 4) и минимума функции (гл. \Ш,§1,п.4).
496 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV нет, то зависимость не поддается обнаружению (при данной точ- точности эксперимента и принятом способе обработки). Дисперсии сравнивают по критерию Фишера C0). Поскольку стандарт s определен по полному числу измерений N, которое обычно достаточно велико, то почти всегда можно пользоваться коэффициентами Фишера F (со, т; р0), приведенными в таблице 25. Второй способ анализа заключается в сравнении средних 2t при разных значениях xt между собой. Величины zt являются случайными и независимыми, причем их собственные стандарты выборки равны Поэтому их сравнивают по схеме независимых измерений, опи- описанной в п. 3. Если различия 2,- значимы, т. е. превышают дове- доверительный интервал, то факт зависимости г от х установлен; если различия всех Zi незначимы, то зависимость не поддается обнаружению. Многофакторный анализ имеет некоторые особенности. Вели- Величину г (х, у) целесообразно измерять в узлах прямоугольной сетки (xh уk), чтобы удобнее было исследовать зависимость от одного аргумента, фиксируя другой аргумент. Проводить серию измере- измерений в каждом узле многомерной сетки слишком трудоемко. Достаточно провести серии измерений в нескольких узлах сетки, чтобы оценить дисперсию единичного измерения; в остальных узлах можно ограничиться однократными измерениями. Диспер- Дисперсионный анализ при этом проводят по первому способу. Замечание 1. Если измерений много, то в обоих способах отдельные измерения или серии могут с заметной вероятностью до- довольно сильно отклониться от своего математического ожидания. Это надо учитывать, выбирая доверительную вероятность р0 доста- достаточно близкой к 1 (как это делалось в п.2 при установлении пре- пределов, отделяющих допустимые случайные ошибки от грубых). Анализ регрессии. Пусть дисперсионный анализ указал, что зависимость г от х есть. Как ее количественно описать? Для этого аппроксимируем искомую зависимость некоторой функцией z(x)^^f(x, а), а — {а1, а2, ..., ат]. Оптимальные зна- значения параметров ак найдем методом наименьших квадратов, решая задачу flw(xi)[zl-f(xh a)f = min, C4) где w (xt) — веса измерений, выбираемые обратно пропорционально квадрату погрешности измерения в данной точке (т. е. wt^ (Dzi)'1). Эта задача была разобрана в главе II, § 2. Остановимся здесь лишь на тех особенностях, которые вызваны присутствием боль- больших случайных ошибок.
ГЛ. XVI СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 497 Вид f(x, а) подбирают либо из теоретических соображений о природе зависимости z(x), либо формально, сравнивая график г (х) с графиками известных функций. Если формула подобрана из теоретических соображений и правильно (с точки зрения тео- теории) передает асимптотику z(x), то обычно она позволяет не только неплохо аппроксимировать совокупность экспериментальных данных, но и экстраполировать найденную зависимость на другие диапазоны значений х. Формально подобранная функция f(x, a) может удовлетворительно описывать эксперимент, но редко при- пригодна для экстраполяции. Проще всего решить задачу C4), если / (х, а) является алгебраи- алгебраическим многочленом 2 akXk- Однако такой формальный выбор функции редко оказывается удовлетворительным. Обычно хорошие формулы зависят от параметров нелинейно {трансцедентная рег- регрессия). Трансцедентную регрессию наиболее удобно строить, под- подбирая такую выравнивающую замену переменных Z (г), X (х), чтобы зависимость Z (X) была почти линейной (см. гл. II, § 1, п. 8). Тогда ее нетрудно аппроксимировать алгебраическим многочленом: Z^P(X, a). Выравнивающую замену переменных ищут, используя теоре- теоретические соображения и учитывая асимптотику г (х). Дальше будем считать, что такая замена уже сделана. Замечание 2. При переходе к новым переменным задача метода наименьших квадратов C4) принимает вид C5) где новые веса связаны с исходными соотношениями C6) Поэтому, даже если в исходной постановке C4) все измерения имели одинаковую точность, так что wt = 1, то для выравниваю- выравнивающих переменных веса не будут одинаковыми. Корреляционный анализ. Надо проверить, действи- действительно ли замена переменных была выравнивающей, т. е. близка ли зависимость Z (X) к линейной. Это можно сделать, вычислив коэффициент парной корреляции Р VDI ¦ DC f N N 1/ 2^№-х*J-Е«М^-гJ V /=1 (=1 Нетрудно показать, что всегда выполняется соотношение |р|<;1.
498 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV Если зависимость Z (X) строго линейная (и не содержит слу- случайных ошибок), то р— + 1 или р = —1 в зависимости от знака наклона прямой. Чем меньше (р|, тем менее зависимость Z(X) похожа на линейную. Поэтому, если |р|«^1, а число измерений N достаточно велико, то выравнивающие переменные выбраны удовлетворительно. Подобные заключения о характере зависимости по коэффици- коэффициентам корреляции называют корреляционным анализом. При корреляционном анализе не требуется, чтобы в каждой точке Xi проводилась серия измерений. Достаточно в каждой точке сделать одно измерение, но зато взять побольше точек на исследуемой кривой, что часто делают в физических экспериментах. Замечание 3. Существуют критерии бдизости |р| к 1, поз- позволяющие указать, является ли зависимость Z (X) практически линейной. Мы на них не останавливаемся, поскольку далее будет рассмотрен выбор степени аппроксимирующего многочлена. Замечание 4. Соотношение | р | ^ О указывает на отсутствие линейной зависимости Z(X), но не означает отсутствия какой- либо зависимости. Так,. если Z = X2 на отрезке —l^X^l, то р = 0. Оптимальная степень многочлена. Подставим в за- задачу C5) аппроксимирующий многочлен, степени т: Р (X) = |] akXK C8) Тогда оптимальные значения параметров ак удовлетворяют системе линейных уравнений B.43): ли= 2 v,x'+l, в,- 2 nwrt, t=l i=i и найти их нетрудно. Но как выбрать степень многочлена? Для ответа на этот вопрос вернемся к исходным переменным и вычислим дисперсию аппроксимационной формулы с найденными коэффициентами. Несмещенная оценка этой дисперсии такова*): x, a9, alt ..., ат)]^ N N *) В формулах типа C2) имелся делитель вида N — 1; он связан с тем, что при вычислении стандарта выборки используется одна величина г, опреде- определенная по той же выборке. В D0) используется т+1 коэффициентов а^, опре- определенных по выборке, поэтому появляется делитель N — (т+1)>
ГЛ. XV] СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА 499 Очевидно, при увеличении степени многочлена т дисперсия D0) будет убывать: чем больше взято коэффициентов, тем точней можно аппроксимирозать экспериментальные точки. Сравним Dm с дисперсиями sf единичных измерений C2), определенными по небольшим сериям экспериментов хотя бы в не- нескольких точках Х[. Если Dm > sf для всех i, то погрешность аппроксимации больше погрешности, с которой измерены значе- значения zt. Надо увеличивать т до тех пор, пока отличие Dm от sf хотя бы для одного i не перестанет быть значимым по критерию Фишера C0). Наоборот, если Dm<.s}, то надо уменьшать т. Если полученная таким образом оптимальная степень т0 удовлетворяет условию mo^N, то выравнивающие переменные выбраны удачно; если mo^N, то следует подобрать другую за- замену переменных. Замечание 5. Описанный способ нахождения оптималь- оптимального числа параметров т0 можно применять при произвольном виде функции / (х, а); но сами коэффициенты в этом случае вычисляются не по формулам C9). Точность коэффициентов. Коэффициенты ак опреде- определяются по случайным величинам zt и поэтому сами являются случайными величинами. Какие их значащие цифры достоверны, а какие можно отбросить? На первую половину вопроса ответить нетрудно. Проведем математический эксперимент. Зная дисперсию единичных измере- измерений sf, искусственно внесем в величины Zi случайные ошибки 6z{, распределенные по нормальному закону с дисперсиями s* (это делается методами Монте-Карло), и вычислим соответствующие ак. Повторим эту процедуру многократно. Для каждого ак получим набор случайных значений, по которому вычислим среднее ak и стандарт s(ak). Отсюда по критерию Стьюдента (9) найдем для ак доверительный интервал и, тем самым, выясним, какие значащие цифры коэффициента достоверны. Однако, вообще говоря, недостоверные цифры коэффициента ак нельзя отбрасывать. Коэффициенты ак можно округлять только все одновременно, меняя их на взаимно согласованные величины Аак. Для такого округления многочлен Рт (X) представляют в виде линейной комбинации: ^ ^X), D1) где Qi (X) — алгебраические многочлены, ортогональные на системе точек Xi (lsgtsgyV) с весами Wt*). Коэффициенты уг можно округлять независимо друг от друга в пределах их доверитель- доверительных интервалов. *) См. Приложение.
500 СТАТИСТИЧЕСКАЯ ОБРАБОТКА ЭКСПЕРИМЕНТА [ГЛ. XV ЗАДАЧИ 1. Для примера, приведенного в таблице 24, определить достоверность победителя способом независимых измерений и сравнить результат с резуль- результатом, полученным способом согласованных измерений. 2. Учитывая, что веса в формулах C4) и C5) обратно пропорциональны дисперсиям, обосновать выражение веса C6). 3. Показать, что коэффициент парной корреляции C7) всегда по модулю не превышает 1. 4. Найти коэффициент парной корреляции C7) на отрезке —1 sg x sg 1 для а) линейной функции г — ах-\-Ь, б) квадратичной функции г = ак2-\-Ь; предполагается, что о>,- = 1. 5. Установить связь между коэффициентом парной корреляции C7) и наклоном сглаженной кривой C.28).
ПРИЛОЖЕНИЕ ОРТОГОНАЛЬНЫЕ МНОГОЧЛЕНЫ Общие соотношения. Многочлены Р„ (х) называются ортогональ- ортогональными с весом р (х) на отрезке [а, Ь], если они удовлетворяют следующим соотношениям: Ь \ Рп (х) Рт (х) р (х) dx = Nn6nm, р (х) > 0; а по традиции наиболее употребительные многочлены нормируют не на единицу. Все корни ортогональных многочленов вещественные, простые и расположены на интервале (а, Ь); между каждой парой соседних корней многочлена Рп (х) расположен один и только один корень многочлена Рп_\ (х). Дальше ограничимся только так называемыми классическими ортогональ- ортогональными многочленами Якоби (и их частными случаями — многочленами Лежандра и Чебышева), Лагерра и Эрмита. Они удовлетворяют дифференциальному уравнению ~ [а (*) р (х) ^-J + Л„р (х) Рп(х) = 0, а < х < Ь. Их удобно вычислять либо по обобщенной формуле Родрига Рп(х) = [BJ9 (х)} -^ [вп (х) р(*)], либо, зная два первых многочлена, при помощи рекуррентных соотношений апРя+х W = Ф„х — сп) Рп (х) — dnPn_x (х). Конкретный вид всех встречающихся в этих формулах функций и значения констант приведены в таблице 26. Далее приведены некоторые многочлены с небольшими индексами п, их корнн |(л' и соответствующие им веса у|га* формулы Гаусса — Кристоффеля. Многочлены Лежандра. L0(*)=l; L1(x) = x; L2(х) = -^-(Ъх%— 1); ?з(*) = у E*3-3*); ?4(*) = -1-C5**-30л:2+3); L6(x) = y F3д5-70ж»+15х). п = 3; ~|1 = |з=
Таблица 26 Ортогональные многочлены Многочлен Обозначение a, b РМ а(х) Nn Вп ап bn On dn Якови -1, +1 A— x)a(l+x)$; a, в>—1 1— X* 2«+Р+1Г(а+п + 1)Г(В + «+1) И«+а+В + 1) (-1)»/BЛ.П!) 2(л+1) (я + а + В + 1) Bп + а + В) Brt-f-ct + B) Bп+а + В + 1)Х (В2—а2) Bп+а4-В + 1) 2(« + aK. + P)B« + « + p + 2) Лежандра -1, +1 1 1-Х* 2 п(л+1 (— 1)"/Bп • л!) п+1 2п+1 0 п Чебышева первого рода -1, +1 1 -у при пфО п при п = 0 п2 1 2 0 1 Чебышевз второго рода «/»(*) -1, +1 У 1 —х2 1-х2 п(п + 2) 1 2 0 1 Лагерра Lf (х) 0, 4-со Хае-Х. X nix ХГ(о+п+1) п (-1)" 1 1 2n + a+l n(n+a) Эрмита Нп (х) — со, 4~°° е 1 2п 1 2 0 2п
ОРТОГОНАЛЬНЫЕ МНОГОЧЛЕНЫ 503 „ = 5; -Ь = Ь = У C5 + 2^/63, - |2 = ^ ?3 ?! =Ys= C22- 13У0)/900, у2 = Т4= C22 + 13 УТб) /900, Y3 = A28/225). Многочлены Лагерра (ct = O). L1»'(x)=\; L'j" (х) = х — 1; ??" (х) = х2-4х+2; /,з°' (х) = хЗ-9х2 + 18лг —6; Li' (х) = xl—l6х3 + 72л;2 — 96л;+24. я=1; |1=1; Vl=l " = 2; |1 = 2-У2, ?2 = 2+У2; Т1 = B+Уг)/4, ?2=B-УЗ)/4. Мн огоч л ен ы Эрмита. Н0(х) = \; Н1(х) = 2х; Я2(х) = 4х2 —2; Н3 (х) = 8л-з - 12л; Я4 (х) = 1 бх1 — 48х2 +12; Нъ (х) = 32хв — 160хз + 120*. я=1; |1 = 0; Vi = V^- - 6i = Ь=УЗ/2, ^2=0; Ti = Тз = Уя/6, у2 = 2 Уя/3. Yi = T« = K" C-Уб)/12, у2 = п = 5; —Ei = gfi ?1 = у5=Уя G-2У10)/60, 72 = Т1 = Уя G + 2У10)/б0, 7з = Многочлены Чебышева первого рода. Г0(х)=1; Г!(х) = х; Т2 (х) = 2х2 -1; Г3(х) = 4х3-3х; Т4(х) = 8х4-8х2+1; Тъ (*)¦= 16x^-20x3+5х; Гв (х) = 32хв — 48х4 + 18х2 - 1; Т7 (х) = 64х7 — 112х3 + 56х3 — 7х. 1\п) = cos [я (i-l/2)In], yp^njn, ls?is?rt. Многочлены Чебышева второго рода. {/0(x)=l; U1(x) = 2x; (У2 (х) = 4х2- 1; U3 (х) = 8х^-4х; ?/4 (х) = 16х4 -12x2 +1; t/5 (х) = 32х» _ З2хз+6х. л=1; у1 = я/2. л = 2; ^1 = Т2 = я/4. п = 3; у1 = Тз = я/8, у2 = я/4. п = 4; Т1 = Т4 = яE-У5)/40, Y2 = Vs = n E+Уб)/40. 71 ? уа 7 Многочлены на системе точек. Многочлены Ра (х) называют ортонормированными на системе точек Xj с весами р; A sg i =< Л/), если они
504 приложение удовлетворяют соотношениям N Систему таких многочленов можно построить, пользуясь рекуррентным соот- соотношением KPn+i (х) = (х- а„) Р„ (х) + bnPn_i (х), где N N / = 1 1=1 а \„ определяется из условия нормировки. Для начала расчета по этим фор- формулам надо положить N \—1/2
ЛИТЕРАТУРА Учебники и монографии 1. Айне Э. Л., Обыкновенные дифференциальные уравнения, Харьков, Гостехиздат, Украина, 1939. 2. Арсенин В. Я., Методы математической физик-и и специальные функ- функции, «Наука», 1974. 3. Бахвалов Н. С, Численные методы, «Наука», т. I, 1975. 4. Бе резин И. С, Жидков Н. П., Методы вычислений, ч. I, «Наука», 1966, ч. II, Физматгиз, 1962. 5. Воевод и н В. В., Численные методы алгебры; теория и алгорифмы, «Наука», 1966. 6. Вычислительные методы в физике плазмы. Сборник под ред. Б. Олдера, С. Фернбаха, М. Ротенберга, «Мир», 1974. 7. Г нед е н ко Б. В., Курс теории вероятностей, Гостехиздат, 1950. 8. Годунов С. К., Р я бен ь к и й В. С, Введение в теорию разностных- схем, Физматгиз, 1977. . • 9. Гончаров В. Л., Теория интерполирования и приближения функций, Гостехиздат, 1954. 10. Дьяченко В. Ф., Основные понятия вычислительной математики, «Наука», 1977. 11. Зельдович Я. Б., Райзер Ю. П., Физика ударных волн и высоко- высокотемпературных гидродинамических явлений, Физматгиз, 1963. 12. Ильин В. А., Позняк Э. Г., Аналитическая геометрия, «Наука», 1968. 13. И л ь и н В. А., П о з н я к Э. Г., Линейная алгебра, «Наука», 1974. 14. Ильин В. А., Позняк Э. Г., Основы математического анализа, «На- ¦ ука», ч. I, 1971, ч. II, 1973. 15. К а нто р о в и ч Л. В., А к и лов Г. П., Функциональный анализ, «Нау- «Наука», 1977. 16. К а р т а ш е в А. П., Рождественский Б. Л., Обыкновенные диффе- дифференциальные уравнения и основы вариационного исчисления, «Наука», 1976. 17. Коллатц Л., Задачи на собственные значения, «Наука», 1968. 18. Крылов В. И., Бобков В. В., Монастырный П. И,, Вычисли- Вычислительные методы, «Наука», т. I, 1976, т. II, 1977. 19. Ландау Л. Д., Лифшиц Е. М„ Механика сплошных сред, Гостех- Гостехиздат, 1954. 20. Люстерник Л. А., Соболев В. И., Элементы функционального ана- анализа, «Наука», 1965. 21. Мак-Кракен Д., Дорн У., Численные методы и программирование на ФОРТРАНе, «Мир», 1969. 22. Марчук Г. И., Методы вычислительной математики, «Наука», 1977.
506 ЛИТЕРАТУРА 23. Ми х лин С. Г., Лекции по линейным интегральным уравнениям, Физ- матгиз, 1959. 24. Никифоров А. Ф., Уваров В. Б., Основы теории специальных функций, «Наука», 1974. 25. Никольский С. М., Квадратурные формулы, Физматгиз, 1974. 26. Пустыльник Е. И., Статистические методы анализа и обработки на- наблюдений, «Наука», 1968. 27. Рихтмайер Р. Д., Мор тон К., Разностные методы решения краевых задач, «Мир», 1972. 28. Рождественский Б. Л., ЯненкоН. Н., Системы квазилинейных уравнений и их применение к газовой динамике, «Наука», 1968. 29. Рябенький В. С, Филиппов А. Ф., Об устойчивости разностных уравнений, Гостехиздат, 1956. 30. Самарский А. А., Введение в теорию разностных схем, «Наука», 197]. 31. Самарский А. А., Теория разностных схем, «Наука», 1977. 32. Самарский А. А., Андреев В. Б., Разностные методы для решения эллиптических уравнений, «Наука», 1976. 33. Самарский А. А., Гулин А. В., Устойчивость разностных схем, «Наука», 1973. 34. Сам а р с к ий А. А., Попов Ю. П., Разностные схемы газовой дина- динамики, «Наука», 1975. 35. С в ешн и к о в А. Г., Тихонов А. Н., Теория функций комплексной переменной, «Наука», 1974. 36. Седов Л. И., Методы подобия и размерности в механике, Гостехиздат, 1957. 37. Степанов В, В., Курс дифференциальных уравнений, Гостехиздат, 1953. 38. Соболь И. М., Численные методы Монте-Карло, «Наука», 1973. 39. Тихонов А. Н., Арс.енин В. Я., Методы решения некорректных задач, «Наука», 1974. 40. Тихонов А. Н., Самарский А. А., Уравнения математической фи- физики, изд. 4-е, «Наука», 1972. 41. Уилкинсон Дж. X., Алгебраическая проблема собственных значений, «Наука», 1970. 42. Хемминг Р., Численные методы. Для научных работников и инжене- инженеров, «Наука», 1972. 43. Худсон Д., Статистика для физиков, «Мир», 1970. Отдельные выпуски и статьи 44. Тихонов А. Н., Об устойчивых методах суммирования рядов Фурье, ДАН СССР, 1964, 156, № 2, 268—271. 45. Филон; L. N. G. Filon, Proc. Roy. Soc, Edinb., 1928—1929, 49. 46. Соболь И. М., Псевдослучайные числа для машины «Стрела». Теория- вероятностей и ее применение, 1958, 3, № 2, 205—211. 47. Робби не, Монро; Н. Robbins, S. Monro, A stochastic approximation method. Annals of Math. Stat., 1951, 22, 400—407. 48. Вегстейн; J. H. Wegstein, Accelerating convergence of iterative pro- processes. Comm. Assos. Comput. Mach., 1958, 1, № 6, 9—13. 49. Мюллер; D. E. Muller, A method for solving algebraic equations using an automatic computer. Math. Tables Aids Comput., 1956, 10, № 56, 208—215. 50. Хаусхолдер; A. S. Householder, Unitary triangularization of a non- symmetric matrix. J. Assoc. Comput. Machinery, 1958, 5, № 4, 339—342. 51. Г и в е н с; W. Givens, Numerical computation of characteristic values of a real symmetric matrix. Oak Ridge National Laboratory, ORNL-1574 A954).
ЛИТЕРАТУРА 507 52. Голдстейн, Мер рей и Нейман; Н. Н.. Goldstine, F. J. Murray, J. von Neumann, The Jacobi method for real symmetric matrix. J. Assoc! Comput. Machinery, 1959, 6, № 1, 59—96. 53. Дервюдье; .L. Derwidue, Une methode mecanique de calcul des vecteurs propers d'une matrice queiconque. Bull. Soc. Roy., Liege, 1955, 24, № 5, 149—171. 54. Кифер; J. Kiefer, Sequential minimax search for a maximum. Proc. Am. ' Math. Soc, 1953, 4, № 3, 502—506. 55. Джонсон; S. M. Johnson, Optimal search for a maximum is fibonaccian. RAND corp. report P-856, 1956. 56. Кифер, Вольфовиц; J. Kiefer, J. Wolfowitz, Stochastic estimation of the maximum of a regression function. Annals of Math. Stat., 1952, 23, 462—466. 57. Гельфанд И. М., ЦетлинМ. Л., Меюд оврагов. УМН, 1962, 17, № 1, 3—25. 58. Пауэлл; М. J. D. Powell, An efficient method for finding the minimum of a function of several variables without calculating derivatives. Gompu- ter Journ., 1964, 7, № 2, 155—162. 59; СобольИ. М., Исследование асимптотического поведения решений линей- линейного дифференциального уравнения второго порядка при помощи полярных координат. Матем. сб., 1951, 28 G0), № 3, 707 — 713. 60. Уваров В. Б., Алдонясов В. И., Фазовый метод определения соб- собственных значений для уравнения Шредингера. ЖВМ и МФ, 1967, 7, № 2, 436 — 440. 61. Калиткин Н. Н., Решение задач на собственные значения методом дополненного вектора. ЖВМ и МФ, 1965, 5, № 6, 1107 — 1115. 62. Жидков Е. П., Макаренко Г. И., Пузынин И. В., Непрерывный аналог метода Ньютона в нелинейных задачах физики. ЭЧАЯ, 1973, 4, 127—166. 63. Самарский А. А., Соболь И. М., Примеры численного расчета температурных волн. ЖВМ и МФ, 1963, 3, № 4, 702 — 719. 64. Тихонов А- Н., Самарский А. А., Об однородных разностных схемах. ЖВМ и МФ, 1961, 1, № 1, 5 — 63. 65. Кузнецов Н. Н., Асимптотика решений конечноразностной задачи Коши. ЖВМ и МФ, 1972, 12, № 2, 334-351. 66. Волчинская М. И., Гольдин В. Я., Калиткин Н. Н., Сравни- Сравнительное исследование разностных схем для уравнений акустики. ЖВМ и МФ, 1974, 14, № 4, 919 — 927. 67. Карлсон; В. G. Carlson, The Sn method. Los Alamos Report, 1953. 68. Гольдин В. Я-, Характеристическая разностная схема для нестационар- нестационарного кинетического уравнения. ДАН СССР, 1960, 133, № 4, 748 — 751. 69. Годунове. К., Разностный метод численного расчета разрывных реше- решений уравнений гидродинамики. Матем. сб., 1959, 47 (89), № 3, 271 — 306. 70. Гольдин В. Я-, Калиткин Н. Н., Шишова Т. В., Нелинейные разностные схемы для гиперболических уравнений. ЖВМ и МФ, 1965, 5, № 5, 938 — 944. 71. Жуков А. И., Предельная теорема для разностных операторов. УМН, 1959, 14, № 3, 129-136. 72. Нейман, Рихтмайер; J. von Neumann, R. D. Richtmyer, A method for the numerical calculations of hydrodynamical shocks. J. Appl. Phys., 1950, 21, № 2, 232 — 237. 73. Пи смен, Рэчфорд; D. W. Peaceman, H. H. Rachford, The numerical solution of parabolic and elliptic differential equations. J. Soc. Industr. Appl. Math,, 1955, 3, № 1, 28 — 42. 74. Дуглас; J. Douglas, On the numerical integration of ихх + иУ11 = щ by implicit methods. J. Industr. Appl. Math., 1955, 3, № 1, 42 — 65.
508 ЛИТЕРАТУРА 75. Дьяконов Е. Г., Разностные схемы с расщепляющимся оператором для многомерных нестационарных задач. ЖВМ и МФ, 1962, 2, № 4, 549 — 568. 76. Коновалов А. А., Метод дробных шагов решения задачи Коши для многомерного уравнения колебаний. ДАН СССР, 1962, 147, № 1, 25 — 27. 77. Самарский А. А., Об одном экономичном разностном методе решения многомерного параболического уравнения в произвольной области. ЖВМ и МФ, 196?, 2, № 1, 25-56. 78. Яненко Н. Н., Об одном разностном методе счета многомерного урав- уравнения теплопроводности. ДАН СССР, 1959, 125, № 6, 1207—1210. 79. Я н е н к о Н. Н., Об экономических неявных схемах (метод дробных шагов). ДАН СССР, 1960, 134, № 5, 1034—1036. 80. Фрязинов И. В., Экономичные симметризованные схемы решения крае- краевых задач для многомерного уравнения параболического типа. ЖВМ и МФ, 1968, 8, № 2, 436 — 443. 81. В а ш п р е с с; Е. L. Wachspress, Extended application of alternating-direction- implicit iteration model problem theory. J. Soc. Industr. Appl. Math., 1963, 11, № 3, 994-1016. 82. Лебедев В. И., Финогенов С. А., О порядке выбора итерационных параметров в чебышевском циклическом итерационном методе. ЖВМ и МФ, 1971, 11, № 2, 425 — 438. 83. Абрамов А. А., Андреев В. Б., О применении метода прогонки к нахождению периодических решений дифференциальных и разностных уравнений. ЖВМ и МФ, 1963, 3, № 2, 377 — 381. 84. Лаке; P. D. Lax, Weak solutions of nonlinear hyperbolic equations and their numerical computation. Comm. Pure Appl.'Math., 1954, 7, № 1, 159— 193. 85. Самарский А. А., Арсенин В. Я., О численном решении уравнений газодинамики с различными типами вязкости. ЖВМ и МФ, 1961, 1, № 2, 357 — 360. 86. Русанов В. В., Разностные схемы третьего порядка точности для сквоз- сквозного счета разрывных решений. ДАН СССР, 1968, 180, № 6, 1303—1305. 87. Алалыкин Г. Б., Годунове. К-, Киреева И. Л., Плинер Л. А., Решение одномерных задач газовой динамики в подвижных сетках, М., «Наука», 1970. 88. Т и х о н о в А. Н., О решении некорректно поставленных задач. ДАН СССР, 1963, 151, № 3, 501—504. 89. Тихонов А. Н., О регуляризации некорректно поставленных задач. ДАН СССР, 1963, 153, № 1, 49 — 52.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Автомодельные решения 294 Адамса метод 250 Анализ регрессии 495, 496 Анизотропная теплопроводность 394, 395 ' Аппроксимационная вязкость 351 Аппроксимация 308 — абсолютная 310 — безусловная 310 — дробно-линейная 63 — краевых условий 385, 393, 427 — локальная 309 — условная 310 Асимметрия 487 Бегущая температурная волна 295 Бегущий счет 337, 344, 379 Бесселя формулы 62 Большие задачи 388 Включение точки 388 Вольтерра уравнение второго рода 454 — первого рода 462 Выбор веса 60, 486, 497 Выравнивающая замена переменных 42 Вырожденное ядро 460 Вычисление корней многочлена 147, 148 — кратных интегралов методом Монте- Карло 121 — последовательного интег- интегрирования 111 _ _ _ _ ячеек 108 — несобственных интегралов 105 — обратной матрицы 131 — определителя 130 Галеркина метод 276, 288, 461 Гарвика прием 146 Геометрическая интерпретация устой- устойчивости 341, 379 Гивенса метод вращений 175 Гильбертово пространство 20 Двухкруговые итерации 449 Дервюдье метод 189 Дирихле задача 401 Дисбаланс 365 Дисперсионный анализ 495 Диссипативные схемы 353 Дифференцирование быстропеременных функций 80 — интерполяционного многочлена Ньютона 70 , погрешность 71 — на квазиравномерных сетках 80 — на равномерной сетке 73 Дихотомия 139, 263 Доверительная вероятность 483 Доверительный интервал 483 Допустимое решение 356 Жорданов набор шагов 411 Жорданова подматрица 157 — форма матрицы 157 Замораживание коэффициентов 320 Зейделя метод 155 Инварианты акустические 434 Интегрирование осциллирующих функ- функций 103 — разрывных функций 100 Интегро-интерполяционный метод 304 Интерполяционный многочлен Ньютона 30 — — —, погрешность 32 , —, апостериорная оценка 33 — — Эрмита 36 — — —, погрешность 37 Интерполяция квазилинейная 43 — лагранжева 28 — линейная 28 — многомерная 47 •— — на произвольной сетке 50 — — последовательная 49 — — треугольная 49
510 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Интерполяция монотонная 47 — нелинейная 41 — обратная 35 — сплайнами 44 —, сходимость 39 — эрмитова 36 Квадратурные формулы, априорные оценки точности 99 , веса.86 Гаусса — Кристоффеля 94 — — Маркова 97 — — нелинейные 100 — —, погрешность 86 — — Симпсона 88 средних 89 , сходимость 98 трапеций 86 , погрешность 87 — —, узлы 86 Эйлера — Маклорена 91 Комплексная организация расчета 274, 287, 409 Конечные разности 31 Консервативные схемы 365. 447 Корректность 24 Корреляционный анализ 497 Коши задача 238, 291 плохо обусловленная 240 Коэффициент парной корреляции 497 — перекоса матрицы 161 Коэффициентная устойчивость 384 Краевые задачи 261, 291 — — нестационарные 291 Критерии установления 408 Куранта условие 338, 436 Лагерра многочлены 503 Лежандра многочлены 501 Линеаризация разностной схемы 321 Линейное программирование 217 Локально-одномерные схемы 396 Матриц виды 132, 158 — нормы 21 Матрица вращения 175 — отражения 170 — сдвинутая 191 Метод баланса 304, 363, 380 — баллистический 262 — вращений итерационный 177 — — —, выбор оптимального элемен- элемента 179 — — прямой 175 — выбранных точек 63 — выравнивания 42 — декомпозиции 419 Метод дополненного вектора 286 — золотого сечения 196 — исключения Гаусса, выбор главного элемента 130 , обратный ход 129 , прямой ход 129 — итерированного веса 64, 68 — касательных 143 — квадратного корня 135 — квадрирования 148 — линеаризации 143, 152, 263, 274 — ломаных 243 — малого параметра 242 — моментов 461 —. наименьших квадратов 59, 224 , выбор весов 60 — — —, оптимальное число коэффи- коэффициентов 60 — неопределенных коэффициентов 305 — оврагов 209 — отражений 170 — парабол 146, 198 — последовательных приближений 141, 150, 272, 458 — — —, стохастические задачи 142 — простых итераций 141, 150 — прямых 298 — разностной аппроксимации 303 — секущих 145, 264 — сопряженных направлений 210 — стрельбы 262, 266, 281 , линейные задачи 264, 267 — уменьшения невязки 307 — фиктивных точек 306 — штрафных функций 216 Минимизация функционала по аргу- аргументу 223 Многочлены обобщенные 28 — ортогональные 501 на системе точек 503 Модуль непрерывности 19 Монотонность схем 376, 384 Наилучшая схема 381 Наилучшее приближение 51 — — равномерное 66 среднеквадратичное 53 Наискорейший спуск 207 , сходимость 208 Направление 299 Невязка 302 Независимые измерения 491 Непрерывный аналог метода Ньютона 288 — функционал 227 Неявные схемы 252, 301 Нормальное распределение 483, 487
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 511 Нормальное решение 222, 476 Нормы 19 — векторов 21 — матриц 21 подчиненные 22 — — согласованные 22 — негативные 322 — энергетические 308 Ньютона интерполяционный многочлен 30 — метод 143, 152, 263, 274 Обратные итерации 166 — — с переменным сдвигом 192 со сдвигом 191 Овраг 203 — разрешимый 203 Однородные схемы 358 Операторов виды 323 — свойства 323 Оптимальное управление 226 Особые точки дифференциальных урав- уравнений 257 Оценки погрешности апостериорные 33, 330 априорные 33, 328 Ошибки грубые 481, 489 — систематические 481 — случайные 481 Первое дифференциальное приближе- приближение 352 Пикара метод 240 Плохая обусловленность 25, 240 линейных алгебраических систем 127, 130, 137, 476 Подобие 296 Погрешность метода 23 — неустранимая 22 — округления 23 Показатель симметрии 384, 440 Полностью консервативные схемы 366, 450 Попеременно-треугольная схема 421 Порядок точности 325, 327 не целый 93, 340 Последовательность точек ЛПТ 121 — функций минимизирующая 227 Потенциал скоростей 429 Предиктор-корректор 247 Преобладание диагонального элемента 134, 154 Преобразование подобия матриц 158 Признак равномерной устойчивости 314, 316, 319 Принцип максимума 315 Прогонка 132 Прогонка дифференциальная 266 Продольно-поперечная схема 391 Пространство С 19 Псевдовязкость 359 — квадратичная 361, 443 — линейная 362, 442 Псевдослучайные чирла 115 Разделенные разности 29 с кратными узлами 37 Разрывные коэффициенты 279, 380 Разыгрывание случайной величины 117 — — — многомерной 122 равномерно распределенной 115 Регуляризация дифференцирования по Тихонову 474 по шагу 83 сглаживанием 83 — линейного программирования 221 — суммирования ряда по Тихонову 58, 475 ¦ ' — — — по числу членов 57 Регуляризирующий оператор 464 Рельеф функция 201 Решение уравнения обратной интерпо- интерполяцией 35 Ритца метод 230, 413 Рунге — Кутта метод 246 — — —, оценка точности 249 Рунге метод 75, 259, 332 рекуррентный 77, 331 Рунге — Ромберга метод 76 Сглаживание функции 60, 62, 474 Сетки квазиравномерные 78 — специальные 279, 383 Сильный разрыв 357 Симплекс-метод 220 Слабый разрыв 355 Слой 299 Случайная величина 114 > , плотность распределения 114 — —, равномерно распределенная 114 , , разыгрывание 115 — —, разыгрывание 117 Собственные значения 156, 280 Согласованные измерения 492 Сплайн 46 — многомерный 235 Способ параллельных касательных 211 Спуск по координатам 203 Стандарт 484 — выборки 485 , несмещенная оценка 484 Степенной метод 190 Стохастическая зависимость 495
512 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Стохастическая задача нахождения минимума 194 Стьюдента коэффициенты 485 — критерий 485 Субтабулирование 34 Схема двуслойная 313 — —, каноническая форма 318 — «крест» 425, 435, 444 — ломаных 243 — с весами 370 — с выделением особенностей 358, 430 — с полусуммой 371 Сходимость 325 — векторов по направлению 21 — квадратичная 145 — кубическая 145 — линейная 145 — ложная 362 — равномерная 19 — среднеквадратичная 20 Счет на установление 190, 403 , критерий установления 408 — — —, оптимальный шаг 404 Тихоновский стабилизатор 405 Точки повышенной точности числен- численного дифференцирования 72 Треугольный оператор 421 Удаление найденных корней 140 Узлы сетки нерегулярные 300 — — регулярные 300 Уменьшение дисперсии метода Монте- Карло 119 Устойчивость 24, 312 — асимптотическая 314, 374 — безусловная 313 — по начальным данным 313 — — — — равномерная 313 — слабая 25, 314 — собственных значений и векторов матриц 159 — условная 313 Фазовый метод 282 Факторизованные схемы 437 Филона формулы 103 Фишера коэффициенты 494 — критерий 493 Фредгольма уравнение второго рода 453 первого рода 462 Фурье преобразование быстрое 416 — — дискретное 62 Характеристический многочлен 156 Хаусхолдера метод отражений 170 Центральные моменты распределения 487 Циклическая прогонка 434 Чебышева критерий 486 — многочлены 503 Чебышевская система функций 28 Чебышевский набор шагов 409 — упорядоченный 412 Чисто неявная схема 371 Шаблон 297, 300 Эйлера метод 243 — уравнение 469 Эйткена экстраполяционный процесс 92 Экономичные схемы 391 Экстраполяция 33 — многомерная 48 Эксцесс 487 ' Эрмита многочлены интерполяционные 36 — — ортогональные 503 Явно-неявная схема 342 Явные схемы 301 Якоби метод вращений 177 — многочлены ортогональные 501