Текст
                    к. №. НАММ1Ы0

Ве11 Те1ерЬопе ЬаЬога1опез

ШМЕЮСАЬ МЕТН008

ЕОК 8С1ЕМТ18Т8

АШ ЕЫО1ЫЕЕК8

МС СВАШ-Н1Ы. ВООК СОМРАКУ, 1ЫС.

КЕ\У УОКК, 8АК РКАКС18СО, ТОВОКТО, ЬОКООК
1962

Физико- Математическая Библиотека Инженера Р. В. ХЕММИНГ ЧИСЛЕННЫЕ МЕТОДЫ для научных работников и инженеров Перевод с английского В. Л. АРЛАЗАРОВА, Г. С. РАЗИНОЙ и А. В. УСКОВА под редакцией Р. С. ГУТЕРА ИЗДАНИЕ ВТОРОЕ, ИСПРАВЛЕННОЕ ИЗДАТЕЛЬСТВО «НАУКА» ГЛАВНАЯ РЕДАКЦИЯ ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ МОСКВА 1972
518 X 37 УДК 518 Численные методы для научных работников и инженеров. Хе м м ин г Р. В. Книга посвящена численным методам математического анализа, исполь- зуемым на современных электронных вычислительных машинах. Она состоит из четырех частей. Часть I, Дискретное исчисление конечных разностей (гл. 1-6), излагает основные понятия конечных разностей, суммирования конечных числовых рядов и конечных рядов Фурье. Часть II, Приближение многочленами (гл. 7-20), содержит изложение классических численных методов интерполяции, численного интегрирования и численного решения дифференциальных уравнений, основанных на аппрок- симации функции обычными алгебраическими многочленами. При этом рас- сматриваются приближения в смысле точного совпадения в узлах, в смысле .наименьших квадратов и в смысле наименьшего отклонения по Чебышеву. Часть III, Немногочленные приближения (гл. 21-27), посвящена аппрок- симации функций с помощью экспоненциальных, а также с помощью рядов и интеграла Фурье. Часть IV, Алгоритмы и эвристические методы (гл. 28-32), кроме некото- рых известных алгоритмов для отыскания корней функции и для ряда задач линейной алгебры, рассматривает примеры моделирования, применения метода Монте-Карло и некоторые игровые задачи. Отдельная заключительная глава посвящена вопросам организации вычислительной работы. Третья и четвертая части книги содержат ряд новых задач и методов. Изло- жение всех численных методов сопровождается разбором примеров из вычис- лительной практики автора. Таблиц 32, рисунков 43, библиографических ссылок 44. Второе издание печатается с матриц предыдущего, исправлены лишь заме- ченные опечатки. Р. В. Хеммане ЧИСЛЕННЫЕ МЕТОДЫ (для научных работников и инженеров) М., 1972 г., 400 стр. с илл. Редактор Г. Я. Пирогова Техн, редактор С. Я. Шкляр Корректоры М. Ф. Алексеева, М. Л. Липелис Печать с матриц. Подписано к печати 5/1 1972 г. Бумага 60x901/10. Физ. печ. л. 25. Условн. печ. л. 25. Уч.-изд. л. 23,02. Тираж 27000 экз. Цена книги 1 р. 83 к. Заказ № 18. Издательство «Наука». Главная редакция физико-математической литературы. 1 1 707 1 , Москва, В-71, Ленинский проспект, 15. Ордена Трудового Красного Знамени Московская типография № 7 «Искра революции» Главполиграфпрома Комитета по печати при Совете Министров СССР. г. Москва, Трехпрудный пер., 9, 2-2-4 68-72
Предисловие редактора перевода ................................. 12 Из предисловия автора .......................................... 14 ЧАСТЬ 1 ДИСКРЕТНОЕ ИСЧИСЛЕНИЕ КОНЕЧНЫХ РАЗНОСТЕЙ Глава 1. Исчисление разностей................................. 17 § 1.1. Введение и система обозначений...................... 17 § 1.2. Разностный оператор................................ 19 § 1.3. Повторные разности.................................. 21 § 1.4. Таблицы разностей................................... 23 § 1.5. Факториалы.......................................... 27 § 1.6. Деление многочленов................................ 29 § 1.7. Числа Стирлинга первого рода........................ 32 § 1.8. Числа Стирлинга второго рода........................ 34 § 1.9. Пример.............................................. 35 § 1.10. Альтернативные замечания........................... 36 § 1.11. Общие замечания и справки.......................... 37 Глава 2. Погрешности округления................................. 37 § 2.1. Введение............................................ 37 § 2.2. Область ответа...................................... 38 § 2.3. Двойная точность.................................... 39 § 2.4. Счет со значащими разрядами......................... 39 § 2.5. Статистический подход .............................. 40 § 2.6. Случайное округление................................ 41 § 2.7. Переменная точность................................. 41 § 2.8. Оценка шума в таблице............................... 41 § 2.9. Теория «младшего значащего разряда»................. 47 § 2.10. Теория «старшего значащего разряда»................ 49 § 2.11. Анализ распространения ошибки при небольшом вычисле- нии ...................................................... 52 § 2.12. Общие замечания и библиография..................... 53 Глава 3. Исчисление сумм........................................ 53 § 3.1. Введение и система обозначений...................... 53 § 3.2. Формулы суммирования................................ 56 § 3.3. Суммирование по частям.............................. 58 § 3.4. Общие замечания .................................... 59 Глава 4. Вычисление бесконечных рядов....................... 59 § 4.1. Введение............................................ 59 § 4.2. Метод Куммера....................................... 61
§ 4.3. Некоторые специальные суммы........................ 62 § 4.4. Метод Эйлера....................................... 62 § 4.5. Нелинейное преобразование.......................... 66 § 4.6. Степенные ряды .................................... 67 § 4.7. Разложение по специальным функциям................. 68 § 4.8. Интегралы как приближения сумм .................... 68 § 4.9. Дигамма-функция.................................... 69 Глава 5. Уравнения в конечных разностях........................ 71 § 5.1. Система обозначений............................... 71 § 5.2. Пример разностного уравнения первого порядка...... 72 § 5.3. Пример уравнения второго порядка.................. 74 § 5.4. Линейные разностные уравнения с постоянными коэффи- циентами ................................................ 75 § 5.5. Пример............................................ 76 Глава 6. Конечные ряды Фурье................................... 78 § 6.1. Введение........................................... 78 § 6.2. Ортогональность на дискретном множестве точек...... 79 § 6.3. Точность разложения................................ 81 § 6.4. Вычисление коэффициентов........................... 83 § 6.5. Метод двенадцати ординат........................... 85 § 6.6. Методы с минимумом умножений....................... 87 § 6.7. Разложение по косинусам............................ 87 § 6.8. Локальные ряды Фурье............................... 88 ЧАСТЬ п ПРИБЛИЖЕНИЕ МНОГОЧЛЕНАМИ - КЛАССИЧЕСКИЙ ЧИСЛЕННЫЙ АНАЛИЗ Глава 7. Введение в многочленные приближения................. 90 § 7.1. Ориентация......................................... 90 § 7.2. Альтернативные формулировки........................ 92 § 7.3. Узловые точки, информация.......................... 95 § 7.4. Класс функций...................................... 96 § 7.5. Согласие........................................... 97 § 7.6. Точность........................................... 98 Глава 8. Интерполяция многочленами. Данные с произвольными промежутками................................................... 99 § 8.1. Философия.......................................... 99 § 8.2. Интерполяционные многочлены........................ 99 § 8.3. Метод интерполяции Лагранжа....................... 103 § 8.4. Интерполяционная формула Ньютона.................. 106 § 8.5. Другая форма для таблицы разделенных разностей.....109 § 8.6. Погрешность многочленной аппроксимации.............110 § 8.7. Трудности приближения многочленом..................113 § 8.8. О выборе узловых точек............................ 116 Глава 9. Интерполяция многочленами. Равноотстоящие узлы. . . 117 § 9.1. Формула Ньютона для интерполирования...............117 § 9.2. Интерполирование в таблицах....................... 118 § 9.3. Ромбовидная диаграмма............................. 119 § 9.4. Замечания к выведенным формулам....................123 § 9.5. Смешанные интерполяционные формулы.................124
Глава 10. Единый метод нахождения интерполяционных формул 125 § 10.1. Введение ......................................... 125 § 10.2. Несколько типичных формул интегрирования...........127 § 10.3. Фиксированные узлы.................................132 § 10.4. Некоторые примеры формул...........................135 § 10.5. Значения функции и производной в фиксированных точках 137 § 10.6, Свободные узлы; квадратура Гаусса...............139 § 10.7. Смешанный случай...................................141 § 10.8. Замечания..........................................142 § 10.9. Линейные ограничения на веса.......................144 § 10.10. Формула Грегори...................................147 § 10.11. Выводы......................................... . 150 Глава 11. О нахождении остаточного члена формулы..................152 § 11.1. Потребность в остаточном члене.................. . 152 § 11.2. Порядок остаточного члена...........................152 § 11.3. Функция влияния.....................................153 § 11.4. Случай, когда О (з) имеет постоянный знак ..........156 § 11.5. Случай, когда функция влияния меняет знак...........158 § 11.6. Слабое место в методе рядов Тейлора.................160 Глава 12. Формулы для определенных интегралов................161 § 12.1. Введение..........................................161 § 12.2. Формулы Ньютона—Котеса........................... 164 § 12.3. Использование формулы Грегори.................... 166 § 12.4. Открытые формулы..................................168 § 12.5. Квадратура Гаусса.................................169 § 12.6. Формулы интегрирования смешанного гауссового типа . . . 170 § 12.7. Суммирование рядов................................171 § 12.8. Эффекты замены переменной.........................172 § 12.9. Интегралы с параметром........................... 173 Глава 13. Неопределенные интегралы.......................173 § 13.1. Описание содержания главы и система обозначений .... 173 § 13.2. Несколько простых формул для неопределенных интегра- лов 175 § 13.3. Общий метод..........................................177 § 13.4. Ошибка вследствие отбрасывания членов................178 § 13.5. Устойчивость........................................ 181 § 13.6. Шум округления...................................... 184 § 13.7. Итоги .............................................. 186 § 13.8. Некоторые общие замечания........................... 187 § 13.9. Экспериментальная проверка устойчивости..... 189 § 13.10. Пример интеграла свертки, иллюстрирующий идею устой- чивости .................................................... 189 Глава 14. Введение в дифференциальные уравнения............. 191 § 14.1. Природа и смысл дифференциальных уравнений........191 § 14.2. Поле направлений ................................ 192 § 14.3. Численное решение................................ 193 § 14.4. Пример........................................... 195 § 14.5. Устойчивость метода простого прогноза............ 197 § 14.6. Устойчивость коррекции........................... 198 § 14.7. Несколько общих замечаний.........................200 § 14.8. Системы уравнений............................... 201
Глава 15. Общая теория методов прогноза и коррекции...........202 § 15.1. Введение ..........................................202 § 15.2. Ошибка от отбрасывания членов......................204 § 15.3. Устойчивость.......................................205 § 15.4. Помехи округления..................................209 § 15.5. Прогноз по трем точкам.............................209 § 15.6. Прогнозы типа Милна................................210 § 15.7. Прогнозы типа Адамса—Башфорта......................212 § 15.8. Общие замечания о выборе метода....................213 § 15.9. Выбор прогноза.....................................214 § 15.10. Некоторые формулы.................................215 § 15.11. Выбор шага и оценка точности......................216 § 15.12. Экспериментальная проверка........................219 Глава 16. Специальные методы интегрирования обыкновенных дифференциальных уравнений.....................................220 § 16.1. Введение и общее описание..........................220 § 16.2. Методы Рунге—Кутта.................................221 § 16.3. Методы для уравнения второго порядка, когда отсутст- вует у’....................................................222 § 16.4. Линейные уравнения.................................224 § 16.5. Метод, который использует значения у, у’ и у"......225 § 16.6. Случай, когда решение трудно аппроксимировать много- членом ....................................................226 § 16.7. Краевые задачи.....................................229 Глава 17. Метод наименьших квадратов. Теория..................232 § 17.1. Введение.......................................... 232 § 17.2. Метод наименьших квадрэтов.........................232 § 17.3. Другие критерии....................................234 § 17.4. Ошибки с нормальным распределением.................234 § 17.5. Проведение подходящего многочлена..................237 § 17.6. Ортогональные функции..............................240 § 17.7. Общие свойства ортогональных функций ..............242 § 17.8. Неравенство Бесселя и полнота......................244 § 17.9. Метод наименьших квадратов и коэффициенты Фурье . . . 245 § 17.10. Ортогональные многочлены.........................247 § 17.11. Классические ортогональные многочлены............249 § 17.12. Сравнение метода наименьших квадратов и разложения в степенные ряды.............................................250 § 17.13. Метод наименьших квадратов с ограничениями; продол- жение примера из § 1.9.. . ............. 251 § 17.14. Последние замечания о методе наименьших квадратов . . 252 Глава 18. Метод наименьших квадратов. Практика...............252 § 18.1. Общие замечания о многочленном случае..............252 § 18.2. Трехчленное рекуррентное соотношение...............253 § 18.3. Построение квазиортогональных многочленов..........255 § 18.4. Немногочленный случай..............................255 § 18.5. Нелинейные параметры...............................256 Глава 19. Многочлены Чебышева.................................257 § 19.1. Введение...........................................257 § 19.2. Некоторые тождества................................259 § 19.3. Критерий Чебышева................................. 260 § 19.4. Экономизация ......................................262
§ 19.5. Механизация процесса экономизации.................263 § 19.6. Смещенные многочлены Чебышева.....................265 § 19.7. т-процесс Ланцоша.................................266 § 19.8. Видоизменение т-метода............................268 § 19.9. Несколько замечаний о чебышевском приближении.....270 § 19.10. Критерий совпадения моментов.....................270 Глава 20. Рациональные функции.................................272 § 20.1. Введение..........................................272 § 20.2. Непосредственный подход...........................273 § 20.3. Чебышевское приближение рациональными функциями . . . 274 § 20.4. Обратные разности (симметричные)..................275 § 20.5. Пример............................................278 ЧАСТЬ III НЕМНОГОЧЛЕННЫЕ ПРИБЛИЖЕНИЯ Глава 21. Периодические функции. Аппроксимация Фурье...........280 § 21.1. Цель этой теории.............................. . 280 § 21.2. Замена переменных и выбор узлов...................281 § 21.3. Ряды Фурье; периодические явления.................282 § 21.4. Интерполяция периодических функций................285 § 21.5. Интегрирование....................................288 § 21.6. Метод общего оператора............................290 § 21.7. Несколько замечаний относительно общего метода....293 Глава 22. Сходимость рядов Фурье.............................294 § 22.1. Сходимость степенных рядов и рядов Фурье..........294 § 22.2. Функции с простым разрывом........................295 § 22.3. Функция, имеющая непрерывные производные более вы- сокого порядка............................................297 § 22.4. Улучшение сходимости ряда Фурье...................298 § 22.5. Спектр мощности...................................299 § 22.6. Явление Гиббса.................................. 300 § 22.7. Сигма-множители Ланцоша...........................301 § 22.8. Сравнение методов сходимости......................303 § 22.9. Техника дифференцирования по Ланцошу..............304 Глава 23. Непериодические функции. Интеграл Фурье............305 § 23.1. Цель главы........................................305 § 23.2. Обозначения и краткое изложение результатов.......306 § 23.3. Интеграл Фурье....................................310 § 23.4. Преобразование Фурье некоторых функций............311 § 23.5. Функции с ограниченным спектром и теорема выборки . . 313 § 23.6. Теорема свертки ..................................315 § 23.7. Эффект конечного суммирования.....................316 Глава 24. Линейные фильтры. Сглаживание и дифференцирова- ние ...........................................................317 § 24.1. Введение....................................... 317 § 24.2. Пример простого сглаживающего фильтра............318 § 24.3. Пример построения фильтра........................319 § 24.4. Фильтры вообще...................................320 § 24.5. Анализ простых формул для дифференцирования......321 § 24.6. Как избежать вычисления производных?.............322
§ 24,7. Метод Филона.....................................323 § 24.8. Заключительные замечания.........................325 Глава 25. Интегралы и дифференциальные уравнения.............326 § 25.1. Содержание главы.................................326 § 25.2. Метод передаточной функции для интегрирования....327 § 25.3. Общие формулы интегрирования.....................331 § 25.4. Дифференциальные уравнения.......................332 § 25.5. Построение фильтров по методу Чебышева...........334 § 25.6. Некоторые детали метода Чебышева.................336 Глава 26. Экспоненциальная аппроксимация.....................340 § 26.1. Введение ........................................340 § 26.2. О нахождении формул, использующих экспоненты, когда показатели экспонент известны ........................... 340 § 26.3. Неизвестные показатели...........................342 § 26.4. Предупреждения ..................................343 § 26.5. Экспоненты и многочлены..........................344 § 26.6. Остаточные члены.................................344 Глава 27. Особенности...................................... 344 § 27.1. Введение.........................................344 § 27.2. Пример интеграла с особенностью в бесконечности ..... 345 § 27.3. Особенность в линейном дифференциальном уравнении . . 346 § 27.4. Общие замечания..................................349 ЧАСТЬ IV АЛГОРИТМЫ И ЭВРИСТИЧЕСКИЕ МЕТОДЫ Глава 28. Нахождение нулей...................................350 § 28.1. Алгоритмы и эвристические методы.................350 § 28.2. Метод деления пополам для нахождения корня функции . . 351 § 28.3. Линейная интерполяция............................352 § 28.4. Параболическая интерполяция......................352 § 28.5. Некоторые общие замечания........................353 § 28.6. Метод Берстоу для нахождения комплексных корней мно- гочлена ................................................. 355 Глава 29. Системы линейных алгебраических уравнений..........359 § 29.1. Введение ........................................359 § 29.2. Метод исключения Гаусса..........................360 § 29.3. Варианты метода Гаусса...........................362 § 29.4. Метод Гаусса—Зайделя.............................363 § 29.5. Повышенная точность..............................364 § 29.6. Общие замечания..................................364 Глава 30. Обращение матриц и собственные значения............365 § 30.1. Введение ........................................365 § 30.2. Обращение матрицы методом исключения по Гауссу .... 365 § 30.3. Задача нахождения собственных значений...........366 § 30.4. Наименьшие собственные значения..................368 § 30.5. Несколько замечаний..............................368 Глава 31. Некоторые примеры моделирования....................369 § 31.1. Введение ........................................369 § 31.2. Простой пример дискретного моделирования.........370
§ 31.3. Пример моделирования складских операций.............374 § 31.4. Трехмерные крестики — нолики........................375 § 31.5. Общие замечания о дискретном моделировании..........379 §31.6. Непрерывное моделирование...........................380 Глава 32. Случайные числа и методы Монте-Карло...................381 § 32.1. Понятие случайного числа............................381 § 32.2. Генерирование случайных чисел в машине, работающей в двоичной системе............................................382 § 32.3. Генерирование случайных чисел на десятичной машине . . 386 § 32.4. Другие распределения................................386 § 32.5. Метод Монте-Карло...................................388 § 32.6. Еще одна иллюстрация метода Монте-Карло.............389 § 32.7. Метод жулика........................................390 Глава #+ 1- Искусство вычислять для инженеров и ученых... 391 М+1.1. М— 1.2. М— 1.3. М-р-1.4. М+1.5. М— 1.6. М-4-1.7. А'+ 1.8. М—1.9. § § § § Важность вопроса................................. Что мы собираемся делать с ответом?.............. Что мы знаем?.................................... Обдумывание вычислений........................... Повторение предыдущих шагов...................... Оценка усилий, необходимых для решения задачи . . . Изменения первоначального плана.................. Философия........................................ Заключительные замечания......................... 391 392 393 394 395 395 396 397 398 Литература........................................................399
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА Имя Р. В. Хемминга — известного американского ученого, бывшего президента ассоциации по вычислительным машинам, руководителя математической службы «Ве11 Те1ерЬопе ЬаЬога1опез» — и его работы в области вычислительной математики и теории информации доста- точно хорошо известны и не нуждаются в особых рекомендациях. Трудно, однако, удержаться от использования предоставившейся воз- можности рекомендовать читателю замечательную книгу. Книга «Численные методы для научных работников и инженеров» бесспорно является выдающимся явлением в математической литера- туре. Она удивительным образом сочетает широту охватываемого материала, глубину подхода к нему и практичность в лучшем смысле этого слова, нигде не переходящую в узкий практицизм. Среди уже довольно многочисленных книг по вычислительной ма- тематике книга Р. В. Хемминга выделяется и по содержанию и по форме. Прежде всего, в ней нашли широкое и полное отражение идеи П. Л. Чебышева. Не только в зарубежной, но и в нашей русской ли- тературе многочисленные аспекты чебышевских идей и методов чис- ленного анализа не получали еще столь полного и широкого осве- щения. Другой особенностью книги, относящейся к ее содержанию, является большое внимание, уделяемое различного рода немногочлен- ным приближениям. В книге достаточно подробно рассмотрена ап- проксимация функции рациональными и экспоненциальными, а также функциями с ограниченным спектром. Последнее особенно интересно и имеет большое значение для практики применения численных методов. Указанные особенности содержания легко объясняются заметным отпечатком, наложенным на него личными научными интересами ав- тора, и являются следствием единого и нового подхода к вычисли- тельной математике — с точки зрения теории информации. Эта точка зрения проводится систематически, и ее преимущества будут легко замечены читателями. Еще больший отпечаток наложили личные научные интересы и вкусы автора на форму изложения, стиль и манеру письма. Книга написана весьма субъективно, и от этого интерес к ней особенно возрастает.
Если верить бытующей «классификации», согласно которой рабо- тающие в области вычислительной математики делятся на тех, кто доказывает сходимость вычислительных процессов и существование решений, и тех, кто применяет вычислительные процессы и получает решения, то Р. В. Хемминг является видным представителем вычисли- телей второго из этих типов. Огромный личный опыт вычислителя не позволяет ему ограничиваться бесстрастным изложением того или иного вычислительного метода, не освещая своего отношения к нему. Многие методы иллюстрируются автором примерами из его собствен- ной вычислительной практики. Эти качества особенно важны для книги по вычислительной математике, где «искусство вычислителя» и «маленькие хитрости» лишь в редких случаях не позволяют умень- шить вычислительную работу в сотню-другую раз или увеличить точность во столько же. При изложении вычислительных методов автор уделяет большое внимание физической сущности рассматриваемых математических задач. В основу всей книги положены два тезиса, неоднократно повторяе- мых. Это «цель расчетов — понимание, а не числа» и «прежде чем решать задачу, подумай, что делать с ее решением». Большой интерес представляет (М-ф- 1)-я глава книги, посвященная вопросам организации вычислительной работы и взаимоотношениям вычислителей с заказчиками. Как справедливо отмечает автор, на эти темы писать не принято, несмотря на всю их практическую важность. Эта глава, разумеется, наиболее субъективна, и легко представить чи- тателей, не разделяющих высказываемых автором воззрений. Для них хорошо процитировать лишь заключительный абзац, завершающий книгу. Впрочем, еще лучше, если читатель прочтет его в тексте. При работе над переводом мы полностью сохранили структуру книги и стремились к тому, чтобы как можно точнее передать на русском языке текст и дух подлинника. Сохранена без изменения и библиография в конце книги; мы ограничились лишь указаниями на то, какие из цитируемых автором книг имеются в русском переводе. Несколько замечаний, которые счел возможным сделать редактор, от- носятся главным образом к согласованию терминологии или дополни- тельным литературным ссылкам. Все они вынесены в подстрочные примечания и их принадлежность редактору всюду оговорена. Мы надеемся, что книга Р. В. Хемминга будет по достоинству оценена читателями. У нее есть все основания стать настольной кни- гой для всех, кто занимается вычислительной работой или связан с нею — от руководителей институтов и отделов до квалифицированных лаборантов.
ИЗ ПРЕДИСЛОВИЯ АВТОРА Эта книга написана для научных работников и инженеров, кото- рые собираются использовать современные цифровые вычислительные машины как средство для своих исследований. Она может также слу- жить первоначальным учебником численного анализа. Автор убежден, что таким читателям, для того чтобы они могли понять, какое отно- шение имеют полученные на машине результаты к их проблемам, нужен не справочник и не сводка отдельных результатов, а скорее связное изложение основных идей вычислительной математики. Как утверждает девиз этой книги, мы ищем смысл, а не числа. Книга отличается от имеющихся по следующим пунктам: 1. Есть много прекрасных книг, написанных с точки зрения людей, пользующихся арифмометрами; в этой книге предполагается, что будет использована большая цифровая вычислительная машина. Раз- личие здесь не в том, что можно работать с большими задачами, а в том, что появляется совершенно другой подход к ним. 2. Имеется ряд очень хороших книг, которые являются собранием не- связанных глав (часто написанных разными авторами) и которые не в состоянии дать единое представление об области в целом. Одна из главных целей этой книги — показать, как можно объединить раз- ные частные результаты в рамках общих идей и методов. Таким образом, читатель может надеяться понять отношение между некоторыми из многих различных формул для одной и той же цели. Он сможет также выводить много новых формул для удовлетворения своих тре- бований. 3. Существует ряд хороших книг, написанных математиками для математиков. В этой книге мы старались подать материал в форме, удобной для тех, кто больше заинтересован в использовании новых мощных вычислительных средств чем в красоте вывода формул или в дальнейших исследованиях. 4. В большинстве книг преобладает использование для численных методов полиномиальных приближений. При таком подходе остаточ- ный член обычно выражается через производную высокого порядка, которую редко удается оценить даже и грубо. В нашей книге используется метод функций с ограниченным спектром, который хорошо известен электротехникам, но мало исполь-
дуется в вычислительной математике. В этом случае ошибка выража- ется через саму функцию. Модель с ограниченным спектром легче применять к физическим задачам, чем полиномиальную модель, и по- этому первая значительно облегчает планирование и интерпретацию вычислений. Метод функций с ограниченным спектром связывает также вычисления с теоремой выборки теории информации и с рядом других теорий. 5. В литературе по численному анализу существует тенденция уделять основное внимание решению систем линейных алгебраических уравнений, обращению матриц, нахождению собственных значений матриц и корней многочленов. На практике потребитель должен по- лучить от вычислительного центра не только подпрограммы вычисле- ния элементарных функций, но также и подпрограммы указанных выше вычислительных процессов. Поэтому, если потребитель может при обращении к такой подпрограмме потребовать выполнения соот- ветствующего его задаче критерия и понять полученные результаты (а также при условии, что подпрограммы не съедают слишком много машинного времени), то ему не так уж важно, как эти подпрограммы составлены. В самом деле, сомнительно, чтобы потребитель захотел решать вырожденную систему линейных уравнений. Скорее он захочет узнать, отчего она оказалась вырожденной, чтобы понять, что неверно в по- становке задачи. Поэтому здесь эти вычислительные методы обсуж- даются ровно настолько, сколько требуется, чтобы читатель понял, на что нужно обратить внимание и чего можно ожидать. Предпола- гается, что если встретятся затруднения, то он обратится к соответ- ствующему специалисту. 6. Книга не содержит числовых примеров с многими десятичными знаками. Автор намеревался привести много табулограмм, но посте- пенно понял две вещи. Во-первых, простые примеры, просчитанные с небольшой точ- ностью, которые читатель может проследить глазами или, в крайнем случае, с логарифмической линейкой, много более поучительны, чем десятизначные вычисления, на которые читатель лишь взглянет и сразу перевернет страницу. Во-вторых, в наши дни большая часть планирования и програм- мирования задач делается в действительности при полном отсутствии рабочих примеров. Иногда возражают, что тем больше имеется при- чин приводить в книге много тщательно разобранных примеров. Автор не согласен с этим возражением. Если придется разраба- тывать план и писать программу без каких-либо числовых примеров, то чем скорее мы усвоим это и научимся обходиться без примеров, тем лучше. Конечно, очень полезно иметь за плечами год или два опыта решения задач на арифмометре, но это требует больших потерь времени.
В любой книге, задуманной как учебник годичного курса, прихо- дится опускать много полезного материала. В результате в этой книге отсутствует ряд вещей: 1. В книге ничего не говорится о программировании. Предпола- гается, что читатель знаком с каким-либо языком программирования, например ФОРТРАН или АЛГОЛ. 2. Ради сохранения разумного объема книги пришлось исключить функции нескольких переменных. Поэтому в книгу не включена такая важная тема, как дифференциальные уравнения в частных производ- ных. Это серьезное упущение, но мы можем отослать читателя к другим книгам, например Вазова и Форсайта [9]. 3. Как уже указывалось, решение систем линейных алгебраических уравнений, обращение матриц, отыскание собственных значений матриц и корней многочленов рассмотрены лишь настолько, чтобы дать читателю представление, что можно сделать, чего можно ожи- дать и что следует искать. 4. Рассмотрение алгоритмов вообще явно недостаточно; но разум- ная теория только начинает появляться в литературе. В настоящем состоянии хаоса подробное изложение темы не кажется подходящим для первоначального курса. 5. Эта книга написана за один год, когда автор читал такой курс в Стенфордском университете. Большая часть материала приводится не по источникам, а по беглым записям и на основании пятнадцати- летней вычислительной практики, когда нас интересовало главным образом получение результатов. Поэтому новые и неизвестные факты перемешаны в книге со старым и хорошо известным. Материал книги распределен следующим образом. Первая часть охватывает дискретное исчисление конечных разностей, являющееся основой большинства численных методов. В ней не возникает вопрос о пределах ошибок аппроксимации. Во второй части предполагается, что по узловым точкам проведен интерполяционный многочлен. В ней содержится то, что можно назвать классической частью численного анализа. Материал третьей части основан на предположении, что между узловыми точками функция аппроксимируется функцией с ограничен- ным спектром. Эта часть связывает многие разделы вычислительной математики с другими областями, как теорема выборки теории инфор- мации, проектирование фильтров и передаточная функция в электро- технике и т. п. В третьей части также кратко изложены вопросы при- ближения экспонентами и работа с особенностями. Четвертая часть начинается с алгоритмов, рассматривает эвристические методы и слу- чайные процессы и кончается главой об искусстве вычислений. Не следует считать, что автору принадлежит все то новое, что может встретиться читателю в этой книге. Тем не менее автор пол- ностью берет на себя ответственность за изложение и возможные ошибки.
ДИСКРЕТНОЕ ИСЧИСЛЕНИЕ КОНЕЧНЫХ РАЗНОСТЕЙ ГЛАВА 1 ИСЧИСЛЕНИЕ РАЗНОСТЕЙ § 1.1. Введение и система обозначений Первая часть книги посвящается изучению функций одного перемен- ного, определенных на дискретном множестве равноотстоящих точек. Например, /($)> /(яН-2/г), ..., —1)й] есть множество значений функции /(х) в п равноотстоящих точках х — а, а-\-Н, а-]-(п—1)/г. В качестве другого примера такой функции можно указать по- следовательность частичных сумм ряда Г (г=1, 2, .... п). й —1 В первой части всюду, кроме гл. 4, в которой идет речь о бес- конечных рядах, число значений функции конечно. Поэтому вопросы существования и ограниченности здесь обычно не представляют труд- ностей; легко видеть, выполнены или не выполнены те или иные ус- ловия. Ограничившись такими простыми случаями, можно рассмотреть большую часть методов численного анализа только в конечноразност- ных соотношениях, не касаясь более сложных вопросов. Поскольку вычислительная машина может выполнить лишь конечное число операций, ясно, что предельный переход непосредственно ма- шиной выполнен быть не может. В связи с этим в численном анализе приходится заниматься вопросами получения оценок результатов пре- дельных переходов при помощи конечного числа действий. Стоит вспомнить, что дифференциальные уравнения, встречающиеся на практике, обычно возникают из физических задач через посредство конечноразностных схем. Если обратный переход от непрерывного случая к дискретному невозможен, то имеются основания сомневаться в физическом смысле соответствующих уравнений.
Во второй части предполагается, что в промежутке между задан- ными точками (узлами) наша функция представляется или аппрокси- мируется многочленом или рациональной функцией; в третьей части рассмотрено представление функциями с ограниченным спектром *), суммой показательных функций или функциями какого-либо другого вида, определяемого характером особенностей. Во всех случаях, одна- ко, мы будем оперировать со значениями функций на данном дискрет- ном множестве точек. Иногда бывает выгодно использовать множество неравноотстоящих узлов. Но даже и в этом случае идеи и формальные преобразования часто связаны с идеями и преобразованиями для равноотстоящих узлов. Таким образом, методы, используемые в конечноразностных схемах с равноотстоящими точками являются основой большей части числен- ного анализа. Первая часть книги существенно использует параллели между ис- числением разностей и дифференциальным исчислением. Предполага- ется, что читатель знаком с дифференциальным исчислением. Все труд- ности, которые могут возникнуть у читателя в главах 1, 3 и 5, будут, вероятно, объясняться недостаточным пониманием соответствующего материала в дифференциальном исчислении. Большинство современных вычислительных машин работает в ре- жиме «плавающей запятой». Для десятичной системы счисления это означает, что числа пишутся в виде гс = 0,31415927-101, 10гс = 0,31415927-103, ”/„ = 0,31415927.10°, и т. д. Это — общепринятое обозначение**), и мы всегда будем пред- полагать, что вычисления ведутся с плавающей запятой, если только не оговаривается противное. В этой книге предполагается, что все вычисления производятся на универсальной вычислительной машине и что вычислительным центром обеспечены: удовлетворительная система программирования, удовлет- ворительная система контроля и разумная библиотека подпрограмм. Единственным ручным вычислением предполагается расчет, необ- ходимый, чтобы убедиться, что данная программа работает надлежа- щим образом, а также счет, требуемый для оценки времени решения на вычислительной машине. *) Термин «функция с ограниченным спектром» есть техническое выра- жение, приблизительно означающее, что у функции существуют частоты толь- ко в данной полосе. Так, функция, имеющая частоты в полосе от 1 до 10 периодов в секунду, описывает определенный класс функций с ограниченным спектром. Точное определение будет дано в соответствующем месте книги (см. гл. 23). **) Во многих машинах показатель степени (порядок) записывается раз- личными условными способами; в частности, например, к показателю степени прибавляют те или иные константы. Для наших целей это не имеет никакого значения.
Замена переменного хь = а -ф- кк в первом примере этого параграфа новой переменной 1к = Хк~а—к (А = 0, 1, 1) (1.1-1) приводит рассмотренный случай к удобной стандартной форме. Благо- даря этому в первой части, если не сделано никаких оговорок, выра- жение /(х) будет рассматриваться для значений х = 0, 1, п.— 1. Иногда удобно пользоваться обозначениями /(О)=/о, С точки зрения результата вычислений обычно бывает безразлично, изменим ли мы данную задачу в соответствии с единицей измерения, или же преобразуем разностное выражение в соответствии с шагом в задаче. Это аналогично ,преобразованию окружности (х — а)2 + (у — = г* в аналитической геометрии заменой переменных х — а —х', у — Ь —у' в окружность Это преобразование можно рассматривать с двух точек зрения. Можно считать, что- изменяется координатная система, что приведет к новым координатам для тех же самых точек окружности. В другом случае можно принять, что окружность переходит в новое положение, тогда как координатная система остается неподвижной. . Упражнения 1.1- 1. Пусть х принимает значения 11, 9,7, ..., —11. Найти преобразо- вание, которое приводит его к стандартной форме 0, 1, ..., 11. Ответ: I = (— х 11 ):2. 1.1- 2. Привести к стандартной форме х = 3; 3,5; 4,0; 4,5; ...; 10. Ответ: I = 2 (х — 3). § 1.2. Разностный оператор Основным оператором в исчислении конечных разностей является разностный оператор А, определенный равенством ДНх) = К^4-/г)-Кх). (1-2-1) Этот оператор знаком читателю из анализа, где он используется при определении производной. Тесная связь между производной и
разностью является основой большинства применений конечноразност- ных выражений для приближения выражений из дифференциального исчисления. Оператор А можно представлять как существующий отдельно и действующий на функцию /(х) точно так же, как мы часто рассмат» <1/ (х) с! „ „ . риваем производную —- как оператор -т-, действующий на т(х), их ах и интеграл §/(х)йх— как интегральный оператор ^...(1х, действую- щий на функцию /(х). Разностный оператор линеен, как дифференциальный и инте- гральный, т. е. если а и Ь постоянны, то А [а/(х) + Ь§(х)] = а Д/(х) Ь Д^(х). (1.2-2) Линейное свойство оператора делает оператор А особенно простым для применения во многих случаях. В качестве примера рассмотрим функцию у — ах* Ьх 4- с. Используя (1.2-2), получим Ду — а Дх2 Ь кх с Д1 = а [(х й)2 — х2] 4~ [Iх 4“ — х] + 4~с[1 — 1 ] = 2а(гх4-аЛ* -ф-ЬН. (1.2-3) Разностный оператор, действуя на произведение, дает А |/(х) = Нх 4~ й) ё(.х 4" — /(х) ё(х) = =/(х 4- й) §(х 4- й) — %х 4- й) ^(х) 4- /(х 4- /г) §(х) — /(х) §(х) == = /(х 4- /г) Д^ (х) 4- § (х) Д/(х) ИЛИ д [/(х) ^(х)] = /(х) Д§-(х) 4- §(х 4- й) д/(х). (1.2-4) Если исключить то, что аргумент одной из функций есть х 4- й, формула (1.2-4) соответствует формуле дифференциального исчис- ления [/(х)^'(х)]=/(х)§/ (х)4-^(х)/'(х). Аналогично для отношения функций имеем д/(х)^/(х + й) /(х) ^(х'1 ?(х4-й) ?(х) _/ (х + ЛЩх) (х + й) / (х) 4- [/ (х) (х) -/ (х) $ (х)] = ё <,Х)§ (х-р й) — ^(х) Д/(х) —/ (х)Ь§(х) ~ Й(х)^(х4-Й) 1
что опять напоминает соответствующую формулу для дифференциаль- ного исчисления, а именно: а /(х) _ ^(х)/' (х) —/(х)^(х) йх % (х) (х) В книгах по анализу обычно дается длинная таблица формул для производных. Аналогичная таблица используется и в исчислении раз- ностей. Приведем следующую короткую таблицу: Д 81П (ах Ь) = 2 81П соз ^х 4~ уу + . С1 .2-6) Д соз (ах -ф- Ь) = — 2 §1п зш ^х 4" у) + > О-2-7) Д1§(ах4~6)= зш айзес(ах4-$)8ес[а(х4-й)4~^]> (1-2-8) ^.ах — ах(а’1—1), (1.2-9) Д2Л' —2Х(2Л — 1), (1.2-10) Д 1пх = 1п (1 4-у)- (1.2-11) Роль, которую играет' число е в дифференциальном исчислении, в исчислении конечных разностей в некотором отношении играет число 2. Именно, если <4 = 2, то 1±ах—ах. В частности, если а —2 и 1г — 1, то Д2Л — 2х. Упражнение 1.2-1. Проверить равенства с (1.2-6) по (1.2-11). § 1.3. Повторные разности Так как Д/(х) есть функция от х, то, применив к ней снова опе- ратор Д, можно получить Д[Д/(х)] = Д*/(х). (1.3-1) Это обозначение соответствует обозначению для второй производной в дифференциальном исчислении а а/(х) _ <р/(х) _ ср/(х) Лх Лх (йх)2 йх2 ’ Вообще Д^/(х) = Д[Д'-1/(х)]. (1.3-2) В примере у (х) = ах* 4- Ьх 4- с мы имели (уравнение (1.2-3)) Ду (х) = 2а1гх 4- а№ -|- Ыг\ тогда Д4(х)=--2а/г2.
Продолжая тем же способом, получаем Д3у(х) = 0. Тот факт, что Д3у(х) = 0, — не случайность, а следствие важной теоремы: Основная теорема исчисления разностей. Для мно- гочлена степени п у (х) = До —а,х —(- а%х% —{—... —1~ апхп (ап 0) п-я разность постоянна и равна апп\Ип, (и-|-1)-я разность равна нулю. Доказательство легче всего понять, рассмотрев предварительно такую лемму: Лемма. Если у (х) — многочлен степени п, то ^у (х) есть мно- гочлен степени п — 1 (т. е. степень Ду (х) ровно на единицу меньше, чем степень у(х)\ Доказательство леммы. Для функции у (х) — хп, исполь- зуя разложение по биному *), находим Ду(х) = (х4-й)п — хп= С(п’ ^^~кхк — хп = й = 0 = п!гхп-х 4- +... Таким образом, при применении оператора Д член хп становится мно- гочленом степени п—1 со старшим коэффициентом равным пИ. Используя свойство линейности (уравнение (1.2-2)), находим, что опе- ратор Д уменьшает степень каждого члена в многочлене на единицу. Член пхп~х1гап не может уничтожиться, следовательно, лемма до- казана. Доказательство теоремы. Применив к многочлену и-й степени доказанную лемму п раз, убедимся, что его л-я разность по- стоянна и коэффициент при ап есть л!/гл. Следующие разности обра- щаются в нуль. Этим теорема доказана. Приведенная теорема имеет большое значение в классической части численного анализа. Упражнение 1.3-1. Полагая й=1, вычислить вторую и четвертую раз- ности многочлена у = х4— 4х34~6ха— 4х-(-1- Ответ: Д2у = 12х2 4- 2; ДД = 24. *) Мы используем для биномиальных коэффициентов более старое обо- /п\ значение С (п, к) вместо популярного в настоящее время (или любого \ й/ другого с верхним или нижним, или тем и другим вместе индексами), так как прежнее обозначение легче набрать, оно может быть напечатано вы- числительной машиной и лучше выглядит в середине предложения и фор- мулы.
§ 1.4. Таблицы разностей Если приходится использовать высокие разности, полезно пред- ставлять их расположенными в виде таблицы (см. таблицу 1.4-1, где принимается /г=1), хотя, возможно, разности не расположены в та- ком порядке в машине. Таблица 1.4-1 Таблица разностей X У (X) (X) Д-У (X) Д3_у (х) 0 У(0) Ду (0) 1 у (I) АУ (1) Д2у (0-1, Д’у (0) 2 У (2) Ду (2) Д2у(1) Д3у(1) 3 у(3) Ду(3) Д2у (2) Д*у (2) 4 У (4) Ду (4) Д*у(3) 5 У (5) Таблица 1.4-2 Таблица разностей для X . С 81П ,, 81 (х) = \ —-— м о X 81 (X) д Д2 дз 0,0 0,0000 999 0,1 0,0999 997 —2 —6 0,2 0,1996 989 —8 —1 0,3 0,2985 980 —9 —5 0,4 0,3965 —14 966 —2 0,5 0,4931 950 —16 —3 0,6 0,5881 931 —19 —3 0,7 0,6812 909 —22 —3 0,8 0,7721 884 —25 —3 0,9 0,8605 856 —28 1,0 0,9461 В качестве примера таблицы разностей рассмотрим значения интегрального синуса (таблица 1.4-2). По общепринятым обозначе- ниям разности пишутся так, как если бы запятая в десятичном числе следовала за последними разрядами, отведенными для значения функ- ции. Чтобы проверить арифметику, заметим, что в таблице 1,4-2 сумма чисел в любом столбце разностей, прибавленная к верхнему числу соседнего столбца слева, равна нижнему числу в том же столб- це слева. Из только что доказанной теоремы следует, что если у(х) есть многочлен степени п относительно х, то л-я разность будет
константой. Если бы мы хотели протабулировать многочлен степени п в нескольких равноотстоящих точках, то, в принципе, можно вычис- лить верхние числа в каждом столбце и построить всю остальную таблицу, пользуясь только сложением. Для иллюстрации возьмем квадратный трехчлен у (х) = Зха — 6л -)- 9; у (0) == 9 и вычислим его значения в точках от х = 0 до х ~ 10 с шагом й = 1. Мы имеем Д у (х) = 6х — 3, Д у (0) = — 3, Д2^(х)—6, Д^(0) = 6. Построим эту таблицу (таблица 1.4-3, отправные числа набраны жир- ным шрифтом). С другой стороны, можно было бы вычислить пер- вые три значения и воспользоваться ими Таблица 1.4-3 для отыскания разностей. У('х)=3л'-’—6x4-9 В этом примере для вычисления оче- редного значения квадратного трехчлена потребовалось два сложения; вообще чтобы вычислить очередное значение многочлена и-й степени, требуется п сложений. Большинство вычислений сейчас де- лается в системе плавающей запятой, но первоначальные исходные данные, кото- рые часто снимаются непосредственно с автоматически регистрирующих прибо- ров, бывают тогда в системе фиксирован- ной запятой. При этих обстоятельствах указанный метод вычисления многочлена особенно полезен. Некоторое внимание следует, впрочем, уделить распростране- нию ошибки вследствие использования приближенного значения разности в вы- числениях. Хотя таблицы 1.4-2 и 1.4-3 начинают- ся с нуля, часто полезно представлять таблицу распространяющейся неограни- ченно в обоих направлениях и, в частно- сти, представлять интересующее нас текущее место находящимся в нуле. Таблица 1.4-4 показывает, как единственная ошибка на одну единицу в функции у/(х) = 0 распространяется в таблице разностей. Допустим, что ошибка была при х = 0. Тогда _у(0)=1, а все другие значения у(х) — 0.
Таблица 1.4-4 Таблица распространения ошибки X У Д2>- Д3.у Д4у Д5у Двд; —3 6 б б —2 0 —1 0 I 0 1 1 —3 —4 10 0 1 —2 6 —20 —1 3 —10 1 0 1 —4 15 0 —1 5 2 0 0 1 —6 0 0 —1 3 0 0 0 1 0 0 : 0 4 0 0 0 0 0 • 5 0 0 0 • 6 0 • • Числа в к-м столбце разностей равны (—1/С(к, г). Чтобы дока- зать это, введем оператор сдвига Е, который определяется правилом (принимаем 1г = 1) (1-4-1) Ясно, что оператор линеен, так как Е [а/(х) + Ь§(х)\ = аЕ [/(х)] + ЬЕ [^(х)]. Повторное его применение дает Еп [/(х)] = ЕЕЕ...Е [/ (х)] =/(х Н- я). п. раз Исходя из этого, мы определяем для п — О 2?°[/(.х)]=/(х), а для отрицательного показателя ^"|/(х)]=/(х —л).
Мы уже замечали, что иногда удобно представлять оператор отдельно от функции, на которую он действует. Если в тождестве отбросим настоящую функцию, то получим операторное равенство. Пример такого равенства: Д = 5—1, (1-4-2) где 1 — тождественный оператор 1 • /(х) — /(х). Правильность этого •операторного равенства следует из простого замечания Ду (х)—у (х 4- 1) — у (х) = Е [у (х)] — 1 -у (х) = (Е — 1)у (х). Таким же образом следует, что Д* = (Е — 1)"= 2(— \)к~гС(к,г)Ег. (1.4-3) г=0 Для любой функции у (х) операторное равенство для дает формулу к &ку(п) = 2(- 1)^С(Мт(«+г), (1.4-4) г = 0 •которую часто называют «разностной формулой Лагранжа» (основа- ние для такого названия будет приведено позже). Из уравнения (1.4-4) можно найти отдельные разности, не вычисляя всей таблицы разностей. Применим теперь это разложение к функции у целочисленного .аргумента. х, определенной двумя левыми столбцами таблицы 1.4-4: у(х) — х 4= О, х = 0. Все члены суммы в правой части формулы (1.4-4) обратятся в нуль, .кроме одного, который и даст соответствующий биномиальный коэф- фициент. Формулу (1.4-4) можно использовать в обратную сторону, когда известно значение разности, а одного значения функции нет. В ка- честве характерного примера предположим известным, что шестые разности или в точности равны нулю, или настолько малы, что их можно считать приближенно равными нулю, а нам не хватает одного значения функции. Обозначим его у0, а смежные значения будут у_3, у 3, У-1> У1> Уъ Уз- Тогда, используя (1.4-4) с /г = 6 и п = —3, имеем У_з — бу 15_у.1 — 20у0 15уг — 6у2 у3 = О .или Уо = 2о1(У-з+-Уз) — 6(У-2 + .Уз) "Ь 1$(У-1 “Ь-У1)Ь (1-4-5)
Эта формула очень полезна, когда одно значение в гладкой таб- лице отсутствует из-за невнимательности. Однако подобной формулой надо пользоваться с осторожностью, так как отсутствующее значение может явиться следствием особенности в функции (например, деления на нуль). Заметим, что разности четного порядка использовать для этой цели много легче, чем разности нечетного порядка, так как для четных разностей имеется единственный максимальный член. Упражнения 1.4-1. Вычислить /(га) = га2— 79л-)- 1601 для га от 0 до 10. (Замечание: /(га) простое число для га=1, 2, ..., 79.) 1.4-2. Вычислить таблицу кубов от 10 до 20, используя таблицу разностей. 1.4-3. Предположим, что значение при х = 0,6 в таблице 1.4-2 отсут- ствует; считая, что четвертые разности равны нулю, вычислить 81(0,6). 1.4-4. Вычислить приближенно 81 (1,1), используя (1.4-4). § 1.5. Факториалы В анализе важную роль играет функция хп. В ряде Тейлора ОО /(*)= 2 а^> п = 0 например, произвольная функция разложена по степеням х. Эта ве- дущая роль функции хп в большой степени определяется тем, что она удовлетворяет соотношению -^хп-=пхп^ (я>1). Естественная аналогия требует построения в исчислении разностей системы функций %п(х), которые удовлетворяют аналогичным соот- ношениям Д§га (X) = П§п_1 (х) (П 2= 1). (1.5-1) Соотношению (1.5-1) удовлетворяют факториальные многочлены.*), определенные равенствами §п(х) = х{п} = х(х— 1)(х — 2) ,..(х — 1) &(х) = хв=1. (1.5-2) Действительно, д& (*) = & (х + 1) — §„ (х) = == [(х -ф-1) — (х — п 1)] х (х — 1) ... (х — п 2) = = ПХ (X — 1) . .. [х — (и — 1) 4- 1 ] = ПХ<П~1> = П^п_! (X). *) Не путайте с га! — га (га — 1) (га—2) ... 2-1, которое является значе- нием х1"' при х — п.
Заметим, что из х°=1 следует 0(0) = 1, соответствующее стандарт- ному 0!= 1, и что х(,1) имеет ровно п сомножителей. Пусть данная функция /(х) может быть разложена по факто- риальным многочленам, аналогично разложению Тейлора по степе- ням х, т. е. СО /(X) = Ьй + Ьгх + Ь.гх^ 4- Ь3х(3} +... = У, * = 0 Предположим также, что разностный оператор линеен для бесконеч- ных сумм и что можно брать разности почленно. В этом разложении при х — 0 получаем 7(0)=*0. Применяя оператор А к обеим частям равенства, получим ОО Д/(х)~ У Ьккх{к-^. * = 1 Снова полагая х = 0, имеем Д/(0) —Продолжая действовать та- ким образом, получим Дя7(х) =2 Ъкк {к — 1)... {к — п 4- 1) х^~п> к — п и, полагая х = 0, Д«/(0) = И! Ьп. .Мы получаем, следовательно, формальный аналог ряда Тейлора СО со 2С{х’(1-5-2 з *> *=0 *=0 где С(х, к) — биномиальные коэффициенты, которые могут быть за- писаны как -гт-. Если ограничиваться многочленами, то ряд Тейлора будет содер- жать конечное число членов и вопрос о сходимости не возникнет. Аналогично разложение (1.5-3) для многочленов степени п будет ко- нечным п, к = 0 так как по основной теореме (§ 1.3) Дп+1 /(х) = 0 и все разности «более высокого порядка обратятся в нуль. Выражение (1-5-4) известно .как интерполяционная формула Ньютона.
Определение факториала может быть обобщено тем же путем, каким пользуются для обобщения определения степени в алгебре. Используя определение (1.5-2), имеем Если теперь формально положить п — 0, то получим х<»> = 1=х^(х — т/~т> или (х~т^ Заменяя х — т на у, приходим к формуле .Л-т) _ 1 ______________}___________ /1 Р1.ЯЧ у (у-|-и)(т1 (у-4-т) (у-\-т — 1) ... (у4-1) ’ ' которая служит определением факториалов для отрицательных цело- численных показателей. Заметим, что если т уЬ 0, то х[т)х(-т) , г(о) Упражнения 1.5- 1. Используя формулу Ньютона, найти многочлен, который прини- мает следующие значения (все / (п)— простые числа при п < 41): И 0 1 2 3 4 5 /(«) 41 43 47 53 61 71 Ответ: Р (п) = га2 4~ п -ф 41. 1.5- 2. Показать, что а< - з 1 1 1 (-И) * ~120’ ~ («4-1)1* § 1.6. Деление многочленов Деление многочленов иногда дается в элементарном курсе алге- бры. Оно будет часто использоваться, а потому заслуживает внима- тельного рассмотрения. Мы покажем, как использовать деление много- членов для того, I чтобы по коэффициентам многочлена найти коэф- фициенты его разложения по факториальным. Если многочлен /(х) = х4 4~ 6ха — 7х 8
делить на х — 2 до тех пор, пока останется лишь константа, мы по- лучим __ х* -]-0 • х3 4- 6х2 — 1х + 8 | х — 2 — Делитель х' %х3______________ х3 4- 2х2 -4- 10x4“ 18 = Частное 2д-’ 4~ 6л'2 ~ 2х3 — 4х8 Юх2 — 1х ~10х8—20х 13x4- 8 ~ 13х —26 34 = Остаток, т. е. _/(х) _ х34-6х8—7х4-_8 = хз 2х2 4- Юх Ч- 13 4------- х—2 х— 2 11 11 х — 2 или Многочлен Делитель Частное Остаток ' I I I I ’ /(х) = х4 4“ 6х2 — 7х 4~ 8 = (х — 2) (х® 4“ 2х2 4“ Юх 4“ 13) 4~ 34 При х = 2 получим /(2)=34, так что остаток от деления на х — 2 есть в точности /("2). Таким образом, мы имеем следующую теорему. Теорема об остатке*). Если многочлен /\х) разделить на х — а, то получится / (х) = (х — а) 0 (х) 4- Н, где С)(х) есть частное, а Н— остаток и /(а) = Я Если Я. — 0, то а есть корень р(х) — Ъ. Форма записи деления может быть упрощена, если заметить, что степени х можно было бы не писать (при условии, что отсутству- ющие степени снабжаются нулевыми коэффициентами). Кроме того, коэффициенты частного на верхней линии совпадают со старшими коэффициентами на соответствующих линиях схемы и не нуждаются в записи. Наконец, вместо х — а можно просто писать а и склады- вать, вместо того чтобы вычитать внутри выражения. Тогда запись принимает вид Делитель = 2 | 1 0 6 — 7 8 2 4 20 26 (1.6-1) Частное = 1 2 10 13 34 = /? = остаток *) У нас ее принято называть теоремой Безу. (Прим, ред.)
Так как /?=/(«), то приведенный алгоритм можно рассматривать как способ вычисления значения многочлена. В этом случае схема принимает вид у (х) = {[(х4-0)х4~6]х— 7}хЧ~8. (1.6-2) Заметим, с одной стороны, что для л = 6 эта схема*) не является наиболее экономной по числу действий, если мы хотим многократно вычислять значения одного и того же многочлена шестой степени **) (например, в библиотечной программе). Так, схема Рг — х (X й1), Ръ — Ч-х Ч~(Р1Ч- аз)> р — (Р* Ч- а1) (Р1 4“ аз) Ч~ яв использует на одну операцию меньше. Коэффициенты а1 могут быть найдены через коэффициенты А{ многочлена Р (х) = Х§ —{— А^Х^ ^8^4 Ч~ -4дХ'^ АрС^ 4- АаХ 4- /4^. Вычисление коэффициентов а1 достаточно сложно, но его нужно сде- лать только один раз. Приведем еще один пример использования деления многочленов. Если нужно вычислить значение многочлена Р(х) с действительными коэффициентами в комплексной точке х1 = а 4- 1Ь (/ = ]/ — 1), то можно образовать квадратный трехчлен [х2 — 2ах 4- (а2 Ч- и, разделив многочлен на этот действительный квадратный трехчлен, получить Р (х) = [х2 — 2ах 4- (а2 Ч~ ^®)] Р (х) Ч- ггх Ч~ гч- (Сокращенную формулу, подобную (1.6-1), можно написать и для квад- ратного трехчлена.) Положив х — хь найдем Р(Х1) = Г1Х1Ч-Г3. В таком случае Р (х1) Ч~ Р (хъ) — г 1 (Х1 Ч~ хъ) Ч~ 2^2 = 2 (г^а —|— г2); часто бывает нужно вычислить не Р (х^, а именно эту величину. *) У нас ее принято называть схемой Горнера. (Прим, ред.) **) Наблюдение принадлежит Моцкину. См. 1. Т о <1 <1, Мойуайоп Гог \Уогкй1§ т ИитеНса! Дпа1у818, Соттип. Риге апс! Арр1, МаЙг., уо1. 8, рр. 97—116 (1955). [Русский перевод: Тодд, Мотивы для работы в области численного анализа. Мат. просвещение, вып. 1 (1957), 76—86. См. также В. Я. Пан, Некоторые схемы для вычисления многочленов с вещественными коэффициентами, ДАН СССР 127, № 2 (1959), 266—269. (Прим, ред.)]
Вернемся теперь к задаче разложения данного многочлена в сумму по х(п). Чтобы сделать это, надо разделить последовательно много- член на х, частное на (х—1), следующее частное на (х — 2) и т. д., сделав п шагов. Так как деление на х тривиально, то для приведен- ного выше многочлена Р (х)=х* 4- 6х'2 — 1х 4- 8, беря по очереди делители 0, 1, 2, 3, получаем 1 | 1 0 6 —7 | 4-8 1 1 7 2 111 7 1 О 2 6 I 3 | 1 3|13 3 1|6 или, в соответствии с (1.6-2), Р(х) = ({[1(х — 3)4-6] (х— 2) 4-13} (х— 1)4-0)х4-8, (1.6-3) Р (х) — <г<4’ 4- 4- 1 Зх(31 4- О х(1 ’ 4- 8. (1.6-4) Равенство (1.6-3) дает удобную форму для вычислительных работ, а (1.6-4) более отчетливо выделяет коэффициенты. Упражнения 1.6-1. Представить х3 в виде суммы факториальных многочленов. Ответ: х181 4-Зх<21 -]-х<11. 1.6-2. Пусть Р(х) = хъ— 5х’ 4~3.г2 4“ 1; вычислить Р (1 -}- О 4~Р (1—/)• Ответ: 34. § 1.7 *. Числа Стирлинга первого рода*) Так как функции х1”' важны в исчислении разностей, а № — в дифференциальном исчислении, ясно, что могли бы быть полезны соотношения между этими функциями. Чтобы выразить х''г‘' через степени х, напишем х^ = 2 8(п, к)х” (1.7-1) *=о и вычислим коэффициенты 8(п, к). Эти коэффициенты называются числами Стирлинга первого рода. Для п=1 находим х(1) = х = 6'(1, 0)4~<8(1, 1)х, откуда <8(1, 0)=0; <8(1, 1)=1. *) Параграфы 1.7 и 1.8, помеченные звездочкой, не будут использо- ваться в тексте нигде, кроме § 1.9.
Для п = 2 х(х- 1) = х2 — х = 5(2, 0) + $(2, 1)х-)-$(2, 2)х« откуда $(2, 0) = 0; 8(2, 1) = — 1; 5(2, 2)=1. Вместо того чтобы действовать таким же образом дальше, получим общее рекуррентное соотношение, написав х<п+1) = (х — п)х™. Отсюда, использовав дважды (1.7-1), получаем «4-1 л У $(«-)-1, к)хк = (х — п) У, 8(п, к)хк = ь=1 *=1 = 2 [5(я, к— 1) — п8(п, А)] хк 5 (п, п)х™—п8(п, 0). (1.7-2) к=\ Очевидно, что для всех п справедливо 8(п, я)=1, тогда как для и^>0 имеем 8(п, 0) = 0. Приравняв коэффициенты в уравнении (1.7-2), получим рекуррентное соотношение, которое дает возможность на- ходить числа Стирлинга последовательно: 8(п-}- 1, к) = 8(п, к—\) — п8(п, к) (к=1, 2, ..., л). (1.7-3) Для чисел Стирлинга нет простой формулы, как для биномиальных коэффициентов. Таблица 1.7-1 дает некоторые из этих чисел. Таблица 1.7-1 Числа Стирлинга первого рода 5(п, й) п 1 2 3 4 5 1 2 3 4 5 1 —1 2 -6 24 1 —3 11 —50 1 —6 35 1 —10 1 Упражнение 1.7-1. Распространить таблицу 1.7-1 еще на одну строку,' п = 6. 2 ₽. В, Хсмминг
§ 1.8* . Числа Стирлинга второго рода Числа Стирлинга второго рода выражают Xя через факториаль- ные многочлены хп — У, <р(л, к)х^. (1.8-1) л=1 Как и в предыдущем параграфе, вычислим сначала несколько значе- ний, а затем найдем общее рекуррентное соотношение. Для я=1 имеет место х = <р(1, 0)-|-<р(1, 1)х, откуда <р(1,0) = 0; <р(1,1)=1. Для п — 2 напишем х^ = у(2,0)-[-у(2,1)х-\- + ср (2, 2) х (х—1), откуда ср (2, 0) == 0; ©(2, 1)=1; ср (2, 2)=1. Рекуррентное соотношение следует из равенства х™ — х хп: У, ?(»+1. к')х{к}~х У ср (я, к)х(к} = У ср (л, к)(х — к)х{11) -[- й=! к=1 * = 1 4- У ку (п, к) х^ — У ср (я, к) х(А+1) У, ку (п, к) х^'1 = *=1 *=1 *=1 — У [ср (я, к — 1)-\-ку(п, /г)] х(*’ ср (я, п)х("+1) — <р (щ 0). Л=1 Ясно, что ср (и, я)=1для любого п, тогда как для л^>0 имеем ср (я, 0) = 0. Приравняв коэффициенты при подобных членах в факториалах (так как они линейно независимы), получим рекур- рентное соотношение ср(л—[~1> й) = ср(л, к—Г)-\-ку(п, к). (1.8-2) Из этого соотношения можно построить таблицу чисел Стирлинга второго рода (см. таблицу 1.8-1). Таблица 1.8-1 Числа Стирлинга второго рода Упражнение 1.8-1. Распространить таблицу 1.8-1 еще на одну строку, дли п == о.
§ 1.9. Пример Приведем пример использования формулы Ньютона и чисел Стир- линга. Задача состоит в том, чтобы вычислить У а(у) = с1х, 0«5 1, если значения /(х) заданы в точках х = 0; 0,1; 0,2; ...; 1,0. Очевидно, что при верхнем пределе, когда х=у, подынтеграль- ное выражение становится неопределенным. Заметим также, что ре- зультат интегрирования должен быть продифференцирован по у; но если дифференцировать по у под знаком интеграла, то полученный в результате интеграл будет расходиться. Таким образом, предложен- ная задача требует некоторого внимания. Начнем с замечания, что если бы /(х) было равно хп, то нужно было бы вычислить простое выражение Здесь естественно положить х = узш29, с1х = 2 у 81п 9 соз 6 М, и мы получим, что для /(х) = хп искомая функция равна я/2 бу у у л у у 2л+1’ где «^2 ^«л+1 = 5П+1 0 й?9 = } 3 5 Ь о Далее, заметим, что если /(*) = У, апхп, п.= 0 то 10 ! ё(у\=-^ У (2п + 1) У^а„уп. * У Если теперь допустить, что истинная функция /(х) может быть аппроксимирована достаточно точно многочленом десятой степени по 2*
данным узловым точкам, то остается только найти ап. Один из спо- собов нахождения а„ — использование формулы Ньютона (1.5-4) с шагом по х — 0,1: [ (х) = /(0) 4- 10хД/(0) + —— V да/(0) + (1 0х),10’Д< °/(0) (в разностях принимается к = 0,1), чтобы затем через числа Стир- линга первого рода (уравнение (1-7-1)) получить коэффициенты ап при степенях х. Как будет показано позже, использование десятых разностей может оказаться опасным; но в задаче, из которой родился этот пример, где данные были грубыми и ожидаемый результат не намного лучше, он выглядел удовлетворительным. Об этом можно судить по следующим фактам: (1) график аппроксимирующего много- члена выглядел разумно; (2) результаты были совместимыми с дру- гими частями физической теории, которая изучалась, и (3) результаты стимулировали дальнейшую работу. § 1.10. Альтернативные замечания Выбор определения разностного оператора (равенство (1.2-1)) Д/(х)=/(х + /г)-/(х) был произвольным. Можно было бы вместо этого выбрать обратные разности 7/(х)=/(х)-/(х-й). Что произошло бы, если бы мы это сделали? В частности, возраста- ющие факториальные многочлены *) — х (х 4- к) (х 4~ 2й) . • • [х 4~ (л — 1) к] дали бы, аналогично (1.5-1), Отсюда можно получить обратную формулу Ньютона, соответствую- щую (1.5-4). Аналогично возникли бы новые числа Стирлинга первого и второго рода ^(л, к) и с (л, к). Они связаны со старыми числами Стирлинга равенствами 2(л, к)==(— \)п*к 8(п, к) = \8(п, к)\, к) = (— 1Г+* <р (л, к). Таким образом, теория, совершенно аналогичная теории, которая была развита выше, могла бы основываться на обратных разностях. Фор- мулы, которые получаются из такой теории, полезны специалисту, но, вероятно, являются роскошью для потребителя. *) В отличие от введенных в § 1.5 они обозначаются 1га,х, (Прим, ред.)
Центральные разности и средние разности приводят еще к двум способам записи, которые иногда применяются, но они также являются просто способами записи и дают небольшое удобство лишь в неко- торых случаях; следовательно, они, по-видимому, не стоят беспокой- ства потребителя. § 1.11. Общие замечания и справки Мы дали лишь краткое введение в исчисление конечных разно- стей, хотя на эту тему написаны целые книги. Одной из лучших является книга Жордана [19]*). Исчисление конечных разностей может быть применено для по- лучения многих интересных результатов, таких как Д’ (п, А) (к, = Ъ (п, т), ь=о где 8 (я, т)—«символ Кронекера», равный нулю, если т^п, и единице, если т = п. Справедливость формулы следует из простого замечания, что если разложить факториал по степеням х, а затем, наоборот, степени х по факториалам, то все коэффициенты, кроме коэффициента при начальном факториале, обратятся в нуль. Такие результаты редко применяются в практических вычислениях, но инте- ресны с точки зрения математики. Многие книги используют операторные методы. Мы используем лишь операторы Д и Е в нескольких простых конечных случаях и тщательно избегаем применения подозрительных бесконечных процес- сов с символическими операторами. Операторные методы часто являются многообещающими, но их применение предполагает хорошее знакомство с ними, которого потребитель может и не иметь. Кроме того, автор полагает, что формальные манипуляции часто скрывают смысл формул и, следовательно, затрудняют понимание исследуемой задачи. ГЛАВА 2 ПОГРЕШНОСТИ ОКРУГЛЕНИЯ § 2.1. Введение Уже при ручных вычислениях сравнительно рано приходится стал- киваться с эффектами округления, возникающими вследствие того, что в процессе вычислений сохраняется лишь конечное число деся- тичных знаков. Впрочем, для ручных вычислений эта проблема менее ---------------- *) Числа в квадратных скобках относятся к библиографии в конце книги.
важна, нежели для машинных, Это объясняется несколькими при- чинами. Во-первых, объем работ, которые могут быть выполнены вручную, весьма ограничен по сравнению с тем, что делается на современных быстродействующих вычислительных машинах. Во-вторых, в процессе ручного счета человек может непосредственно наблюдать многие из эффектов округления и предпринять требуемые меры в случае, когда нужно предостеречься от ошибки. В-третьих, ручные вычисления обычно производятся способом, который может быть назван «вычис- ление с переменной длиной числа, с квазификсированной-квазиплава- юшей запятой», в котором длина числа регулируется так, чтобы из- бежать грубых ошибок округления; машинное же вычисление ведется обычно с плавающей запятой и с фиксированной длиной числа. В-четвертых, при ручных вычислениях обычно нетрудно оценить мак- симальную величину ошибки, которая может возникнуть вследствие округления. В машинных вычислениях получение такой оценки очень дорого, из-за чего приходится прибегать к статистическим оценкам. Таким образом, в универсальных вычислительных машинах часто бывает неизбежен статистический подход к оценкам погрешности: лучше действовать с известным риском, чем не действовать вовсе. По этим причинам ранее разработанные теории оценки эффектов округления, как правило, непригодны для современных машинных вычислений. Действительно удовлетворительных теорий, пригодных для этой цели, в настоящее время нет. Мы ограничимся лишь крат- ким обсуждением некоторых фрагментов таких теорий, из которых многие находятся в зачаточном состоянии. Из вычислительной практики возникло несколько широко при- меняемых методов использования вычислительной машины для уста- новления наличия ошибок, а также и некоторые методы использования вычислительной машины для оценки величины ошибки. Последнее особенно необходимо, так как прежде, чем писать программу для машины, важно иметь какие-то соображения об ожидаемой точности. § 2.2. Область ответа По-видимому, самым простым и успешным подходом к проблеме округления является определение области ответа. Каждая величина изображается здесь на самом деле двумя числами: максимальным и минимальным значениями, которые она может принимать. В некотором смысле каждое число заменяется областью, в которой лежит точное значение величины; этим и объясняется название. При выполнении действий над величинами новая область вычисляется соответствующим образом из данных областей, используя подходящие округления. Поэтому на каждой стадии вычислений существуют надежные границы, в которых лежит верный ответ.
Применение этого приема можно осуществить переделкой машины или программой, заменяющей такую переделку. В обоих случаях это более чем удваивает работу и требует вдвое больше памяти, чем при обычных вычислениях. В задачах средней сложности такой подход может быть успешно применен, и получением областей определения можно фактически воспользоваться. С другой стороны, в сравнительно больших задачах границы области ответа часто так далеки одна от другой, что ответ является почти никчемным. Несмотря на то, что верный ответ часто действительно находится около середины полученной области, надеяться на это опасно. В са- мом деле, предположим, что последняя выполненная операция есть умножение и что оба /сомножителя имели область от 0 до 1. Если считать, что ответы находятся около середины области, то оба сомно- жителя должны иметь верные значения около 0,5. Но окончатель- ный результат имел бы тогда ту же самую область, а его верное значение находилось бы около 0,25, что лежит далеко от середины области и потому противоречит сделанному допущению. Таким обра- зом, ощущение, что верное значение должно быть около середины области, не всегда оправдано С несомненностью мы добились лишь знания области, но у нас нет никаких сведений относительно того, в какой части области лежит верный ответ. Упражнение 2.2-1. Составить блок-схему вычисления области в случае произведения двух чисел, когда известны области этих чисел. § 2.3. Двойная точность Другим распространенным методом опенки является решение задачи с обычной и двойной точностью. Принято верить, что совпадающие в двух ответах разряды верны. Выполнив дважды несколько типич- ных вычислений, мы можем вести остальной счет с обычной точностью, полагая, что и в них верно то же самое количество разрядов. Опасности этого метода очевидны. Тем не менее он широко применяется и с удовлетворительными результатами. Он несколько напоминает «область ответа» хотя бы тем, что требует такого же увеличения памяти и объема вычислений. Однако этот метод дает обычно более точные ответы, чем метод «области ответа». § 2.4. Счет со значащими разрядами Основным соображением, которое лежит в основе счета со зна- чащими разрядами, является то, что большие потери точности, как правило, происходят при вычитании двух близких чисел. При этом образуется несколько нулей в начале числа, которые потом удаляются
при нормализации в операциях с плавающей запятой. Если заблокиро- вать последний сдвиг, сохранив стоящие впереди нули, то результат будет более или менее верно показывать число значащих разрядов. Возникло два варианта такого метода. В одном из них сохраняются ведущие нули и выдаются числа, которые содержат лишь значащие разряды. В другом — сдвиг фактически делается, но число нулей сохраняется в виде индекса, аналогичного показателю в системе с пла- вающей запятой. Оба варианта нетрудно воспроизвести соответствующими програм- мами. Опыт работы с обоими вариантами этого метода мог бы более подробно осветить их роль в вычислениях. § 2.5. Статистический подход Статистический подход базируется на заманчивой мысли, что округление есть случайный процесс, и, следовательно, можно по- пытаться построить модель округления, основываясь на теории вероят- ностей. Этот подход начинается со следующего парадокса: если повто- рить вычисление, то результат окажется в точности тем же самым (в предположении, что машина работает правильно) и, следовательно, результат не является случайной переменной. Ситуация несколько напоминает бросание монетки. При каждом бросании мы полагаем, что если достаточно много знать о силах и распределении веса в монетке, то можно подсчитать, упадет ли она на герб или на решку. Мы предпочитаем, однако, не прибегать к такой большой работе и представить себе модель, в которой герб или решка есть случайная переменная. Таким же образом, хотя и предполагается, что можно высчитать результат, мы предпочитаем рассматривать его как случайную переменную. Полученное число рассматривается как верный ответ плюс эффект случайного округления. Для того чтобы формально применить статистику, нужно создать (на самом деле или мысленно) множество ответов. Хотя существует много путей создания множества, примем временно следующую умо- зрительную модель. Представим, что вычисление может быть сделано с бесконечной точностью, и мы хотим присоединить погрешности округления после каждого арифметического шага — погрешности, аналогичные помехам в теории информации, где они обычно рас- сматриваются как присоединенные к ожидаемому сигналу. Наша задача теперь — найти распределение множества или по край- ней мере оценить это распределение. Произведем на машине одно вычисление. Если полученный ответ характерен для множества отве- тов построенной нами модели, то мы сможем сделать обоснованные выводы для дальнейшего счета. Если нет, то не сможем. Однако в любом случае полученный нами результат обладает свойствами, отличными от свойств большей части множества ответов модели.
Действительно, допустимые для машины погрешности округления обладают тем специфическим свойством, что в результате округления получается число с нулями, начиная с некоторого разряда. Поэтому, вероятно, наш ответ будет обладать также и некоторыми другими частными свойствами. Разные теории округления отличаются главным образом тем, как они пытаются найти распределение множества, которое мы представили. Ясно, что мы не сможем в действительности составить множество и должны будем оценить его по тем немногим сведениям, которые сможем получить. § 2.6. Случайное округление Одним из очевидных методов получения образцов требуемого множества является следующий: построить случайное округление либо воспроизводящей программой, либо действительными изменениями машины, и повторить вычисления несколько раз. Можно надеяться из распределения полученных ответов получить правильные оценки истинного распределения множества. Основное возражение против этого метода: требование большого количества времени и денег. Действительно, нужно много раз повто- рить счет, чтобы получить достаточно надежную оценку отдельных флуктуаций и, таким образом, иметь возможность судить, насколько можно быть уверенным в ответе. Даже чтобы оценить среднее зна- чение с достаточной точностью, требуется довольно много случаев. § 2.7. Переменная точность В последнее время появилось предложение повторять решение задачи несколько раз, причем при каждом проходе держать на один разряд меньше, чем в предыдущем. Исходя из полученных решений формулируется оценка точности наиболее точного решения. Интуитивно кажется очевидным, что такое же число проходов со случайным округлением, как в § 2.6, дало бы более надежную оцен- ку (так как в этом случае ответы были бы более тесно связаны с искомым результатом). Однако этот вопрос не исследован в до- статочной степени ни теоретически, ни экспериментально. § 2.8. Оценка шума в таблице Предлагаемый метод применим в том случае, когда составлена таблица чисел и каждое число имеет ошибку округления, не завися- щую от остальных. Это — та частая в практической работе ситуация, когда нужно сосчитать много вариантов задачи для равноотстоя- щих узлов независимого переменного. Таким образом, мы пытаемся
ответить на следующий вопрос: пусть дана таблица ответов вычисления [(х) для группы равноотстоящих х\ что является предполагаемым «шумом округления» в этих ответах? Заметим, что мы никоим образом не пытаемся найти никаких систематических ошибок. Мы хотим лишь, получив результат и до- бавив еще немного вычислений, оценить шум в ответах. Таблица 1.4-1 показывает, как единственная ошибка распространя- ется в таблице разностей. Используя линейное свойство оператора А, можно представить таблицу разностей затабулированной функции как сумму таблицы разностей истинной функции и таблицы разностей шума. Эта последняя в свою очередь может быть представлена как сумма таблиц разностей элементарных шумов, причем г-я таблица соответствует шуму ег на г-м месте в первом столбце таблицы шума. Суммарный шум в /г-й разности, в соответствии с (1.4-1), есть к ^^п = ^~\Г-гС(к,г)^г. (2.8-1) г=0 Его границы могут быть легко найдены из ограничения на отдельный шум в таблице. Если ограничено величиной е, т.е. | ег то ь | ДЙ6Л |ге2’С(^,г)г = 2йе. (2.8-2) г=0 Для к — 10, например, это представляет тысячекратное увеличение шума. Поскольку границы шума в к-1\ разности так пессимистичны, имеет смысл возвратиться к статистическому подходу. Естественно предположить, что отрицательная и положительная ошибки е„ равно- вероятны, и поэтому среднее значение М (е) множества е„ есть нуль. Нас интересует дисперсия О (А* ел) распределения к-И разности. Пусть дисперсия О(е,г) шума округления ел есть а3, так что о8 = О (е„) = Мь(е8) - № (е„) = М (в8), где среднее значение берется, конечно, по множеству. Для дисперсии к-й разности, используя (2.8-1) и тот факт, что среднее значе- ние ел есть нуль, получим к О (А* е„) = М [2 (- 1)*"С(Л, г) бл+г]3. г=С Выполнив возведение в квадрат, находим м [Е(- ЧЧ- 1ГС(А,г)С(А^)8л+гел+5] = Г,в = М С2(А, г)^ф 2 V/- с (к, г) С (к, в) ел+, . Г
Для упрощения этого выражения используем следующие обсто- ятельства. По предположению шумы округления ел независимы и М(ел) = 0. Отсюда следует, что М (е„+г • ел+5) = 0 при Кроме того, известно, что к %С*(к, г)—С(2к, к) г=0 (упражнение 2.8-2). Таким образом, получаем М[2С2(/г, г)Н] = = С2 (к, г) М (в?) = с3С (2к, к) = о2 (2.8-3) Таблица 2.8-1 дает представление о росте коэффициента усиления шума, который есть просто У С(2к, к). Таблица 2.8-1 Коэффициенты усиления округления Поря- док раз- ности Дисперсия С 12к, к} Среднеквад- ратичное значение (лума УС (2к, к) Максимум шума 2& Поря- док раз- ности Дисперсия С &к, к) Средне- квадратич- ное значе- ние шума Максимум шума 2^ V С &к, к) 1 2 1,414 2 4 70 8,367 16 ! 2 6 2,449 4 5 252 15,875 32 3 20 4,472 8 6 924 30,397 64 Теоретический результат, который здесь получен, требует усред- нения величины из множества ел. На практике это сделать невоз- можно и мы прибегаем к обычному в такой ситуации приему: заме- няем среднее значение множества ел средним значением функции (стандартный прием, использующийся в эргодической теории). Можно было бы думать, что среднее значение к-х разностей в таблице 1.4-1 дает неплохую оценку среднего значения множества (в предположении, что применяется эргодический принцип), но, к со- жалению, к-е разности сильно коррелированы. Действительно, коэффициент корреляции для смежных значений равен у (- \)г С (к, г) (— 1)г-1С(й,г— 1) _ у С (к, г) С (к, г— 1) ~ УС (2к, к) ус (2к, к) ~ С (2к, к) С (2/г, ЙД-1) С(2й, к) ь ПИ (2-8-4)
(см. упражнение 2.8-3). Когда к—>оо, коэффициент корреляции стре- мится к -1 и показывает, что числа в к-м столбце случайны, но не независимы, как часто полагают; они имеют устойчивую тенденцию чередовать знаки -ф-, —, —, ... Сильная отрицательная корреляция у последовательных к-х раз- ностей дает возможность обнаруживать отдельные ошибки в таблице. Этот метод лучше всего понимается на примере. Рассмотрим таб- лицу 2.8-2, где, как обычно, пишутся лишь последние знаки разно- стей. Поведение четвертых разностей, наибольшие значения которых сгруппированы около 35°, заставляет предполагать ошибку в функ- ции для 35° Поэтому мы предполагаем, что четвертые разности постоянны и что при 35° есть ошибка. Так как структура четвертых разностей известна (уравнение (1.4-3)), 1, —4, 6, —4, 1, то можно пытаться приближенно удовлетворить следующим урав- нениям: 41=— 4®4-С, —59 —6е + С, 37 = —4г-ф-С. Решая их, получаем приблизительно е = —10, так что правильное значение функции в 35° должно быть 6,421. Подставив 6,421 вместо 6,411, получим таблицу разностей: 8 —4 —50 1 —468 9 6,421 —41 1 —509 10 —31 —3 7 0 Продемонстрировав сильную корреляцию, которая существует между последовательными числами в столбце к-х разностей, и про- иллюстрировав, как этим можно воспользоваться, вернемся к нашей главной задаче оценки шума в таблице. Предварительно предположим, что дисперсия о4 шума в таблице значений функции известна; мы хотим оценить дисперсию шума в к-м столбце. Если истинные значе- ния функции в нашей таблице были значениями многочлена, его раз- ности, начиная с некоторого порядка, должны были бы обратиться в нуль, а то, что осталось бы в таблице разностей, было бы след- ствием^ шума. Затруднения состоят в том, что функция не обяза- тельно является многочленом; более того, даже если эта функция — многочлен, то, не зная его степени, мы не знаем, какого порядка разности нужно взять.
Таблица 2.8-2 Гра- дусы Сп^ д Д2 дз Д4 Теорети- ческие четвертые разности вследствие ошибки е 0 8,346 — 44 5 8,302 — 131 —87 4 10 8,171 —214 —83 7 3 15 7,957 —76 — 1 —290 6 20 7,(567 —360 —70 12 6 25 7,307 —418 —58 — 2 —14 +е 30 6,889 —478 —60 39 41 —59 —4е 35 6,411 —499 —21 —20 +& 40 5,912 —540 —41 17 37 —4г 45 5,372 —564 —24 7 — 10 50 4,808 —581 —17 5 — 2 55 4,227 —593 —12 5 0 60 3,634 —600 — 7 3 — 2 65 3,034 —604 — 4 1 — 2 70 2,430 —607 — 3 3 2 75 1,823 —607 — 0 — 1 — 4 80 1,216 —608 — 1 1 2 85 0,608 —608 0 90 На практике в благоприятных случаях разности имеют тенденцию сначала уменьшаться по величине, а затем увеличиваться, одновре- менно испытывая сильные колебания из-за отрицательной корреляции. В этом случае обычно считают первый столбец разностей, следующий за минимальным, существующим вследствие шума, хотя, насколько известно автору, соответствующие исследования по этому вопросу не
проводились. Таким образом, среднее значение квадратов разностей в этом столбце мы принимаем за оценку квадратов разностей, усред- ненных по множеству. Разделив это среднее значение на С(2к, к), получаем оценку квадрата уровня шума в исходной таблице. Таблица 2.8-3 Гамма-функция Г (х) X Г (Ж) А № да Д4 1,0 1,000 —49 1,1 0,951 —33 +16 1,2 0,918 —21 +12 —1 3 1,3 0,897 —10 +11 —2 —1 1,4 0,887 - 1 + 9 0 +2 1,5 0,886 4- 8 + 9 —2 —2 1,6 0,894 +15 + 7 0 +2 1,7 0,909 4-22 + 7 +2 +2 1,8 0,931 +31 + 9 1,9 0,962 В качестве примера рассмотрим таблицу округленных значений Г(х), приведенных в таблице 2.8-3. Среднее значение [Д4Г(х)]3== = (91 4444): 6—у. Разделим его на С(8,4) = 70: 13 ~3- Уд- = 0,062 ~ — оценка шума в таблице. Теоретическая оценка основана на равномерном распределении случайного округления 1/2 о|= х2с1х = ~ — 0,0833. (2.8-5) ->1/2 Ввиду того, что таблица, взятая в этом примере, невелика, бли- зость полученных оценок б! = 0,25, с2 = 0,29 можно считать хорошим подтверждением теории. Точное вычисление ошибки округления дает а3=0,32.
Упражнения 2.8-1. Раскрыв обе части равенства (1 4-<)в+& = (1и при- равняв коэффициенты при одинаковых степенях I, получить С (а 4- Ь, г) = 2 С (а, $)С(Ь, г — 8). 5=0 2.8-2. В упражнении 2.8-1, положив а=^Ь — г, получить С (2г, г) = 2] С2 (г, з). 5=0 2.8-3. В упражнении 2.8-1, положив а = Ь = п, г = л-|~1> получить С (2п, п 1) — 2 С (п, з) С (п, з — 1). Г 5=0 § 2.9. Теория «младшего значащего разряда» Рассмотрим одну из двух новых теорий, цель которых показать» как развиваются эффекты округления. Они могут быть названы «теории округления в малом». Откажемся здесь от статистической модели § 2.5 и построим наше множество, полагая числа, над кото- рыми производятся арифметические операции, варьирующимися. Таким образом можно будет изучать, как распространяются ошибки округ- ления в типичном небольшом куске вычи- слений. Когда вычисленные числа округляются, кажется разумным предположить, что совер- шаемая ошибка (в действительности измене- ние вследствие округления) равномерно рас- пределена между — Уз и у, последнего зна- чащего разряда. Другими словами, любое значение ошибки столь же возможно, как любое другое в этом интервале. На вероятност- ном языке вероятность Р -с ® х%} = Рис. 2.9-1. Плотность рас- пределения ошибки округ- ления для одного числа. = — X, (Х] -С-^з в (—’/з, *Д)) (рис. 2.9-1). В этой модели допускается непрерывное распределение и игнорирует- ся тот очевидный факт, что действительное распределение машинного округления должно быть дискретным, так как могут встречаться лишь некоторые округления (например, потому что машина оперирует с числами конечной длины). Посмотрим теперь, что происходит, когда складывается несколько чисел. Будем ; предполагать, что все числа в плавающем виде имеют один и тот же порядок и что он не меняется ни в одном из сло- жений и вычитаний. Для начала рассмотрим сложение двух чисел. Очевидно, ошибка суммы лежит в интервале от — 1 до 1 последнего значащего разряда.
Пусть 6] — ошибка первого слагаемого, — ошибка второго, е — ошибка суммы. Рассмотрим вероятность того, что г — — а(п^О). Выбор в! ограничен интервалом от — */2 до */2 — а, а ц опреде- ляется исключительно выбором г}. Таким образом, плотность вероят- ности есть 1/2—0 Р (а) = р (а) — = 1 — а. —^/з Аналогично поступаем применительно к положительным ошибкам. Таким образом, мы получаем треугольное распределение, изображен- ное на рис. 2.9-2. Вместо того чтобы рассматривать суммы трех чисел, затем четы- рех, пяти и т. д., обратимся к центральной предельной теореме, которая, по крайней мере интуитивно, ши- роко известна. В нашем случае, когда сред- нее значение ошибки равно нулю, эта тео- рема гласит, что если число округленных чисел, которые складываются, увеличивается, то функция распределения для ошибки сум- мы стремится к нормальному распределению Рис. 2.9-2. Плотность рас- р 1Х е х । ах\ - - (х/0)2 пределения ошибки ок- 1 1 1 п|/2г- ругления для суммы чисел. с некоторым соответствующим а, которое будет определено позже. Фактически эта схо- димость столь быстрая, что часто сумма 10 или 12 случайных чисел, выбранных из равномерного распределения, используется как хорошее приближение к единственному числу, выбранному из нормального, распределения (см. § 32.4). Мы уже вычислили (2.9-1) Для суммы независимых ошибок округления е = • •• 4-®п имеем О (г) = О (2= $$ ... ' • йгл' Используя равенства 1/2 '/8 (1г1 = 1 и § = О, -1/2 -‘/г получим 0(е) = 2^8‘^^^
Таким образом, приравнивая дисперсию двух распределений, полу- чаем о’=л/12. Если п достаточно велико, нормальное распределе- ние является хорошей аппроксимацией. Для нормального распределе- ния существует симметричный интервал, в котором с вероятностью 60% лежит ошибка: от —0,6745а до -(-0,6745а. 7 Таким образом, мы видим, что длина половины интервала растет как Уп, тогда как полный интервал растет как п. Это — одна из при- чин того, что метод области ответа, который, естественно, дает пол- ную область, так пессимистичен по сравнению со статистическими оценками. Эту модель не следует принимать всерьез, несмотря на сложное математическое изложение, так как гипотеза, что во время сложений не происходит сдвигов при выравнивании порядков и нормализации, слишком нереалистична. Каждый раз, когда происходит сдвиг, имеется тенденция возвратиться к равномерному распределению. Таким обра- зом, при сложении и вычитании на последние значащие разряды действуют как бы две противоположные силы: одна толкает в на- правлении нормального распределения, тогда как другая — к равно- мерному. Упражнение 2.9-1. Используя распределение ошибки округления суммы двух чисел (рис. 2.9-2), получить распределение ошибки суммы четырех чисел. § 2.10. Теория «старшего значащего разряда» Чтобы понять распространение ошибок округления при операциях умножения и деления, необходимо исследовать распределение старших значащих разрядов. Пусть хг и — два числа с ошибками округ- ления г! и е2. Если эти числа перемножить, то получим (X] -|- 85) (Х% 82) = Х^Х^ Луе-з -|- -(- 818$. Если шум вследствие округления достаточно высок, дополнительные ошибки округления, которые возникают в процессе умножения, малы по сравнению с шумом округления в произведениях х^ и х^. Таким образом, старшие разряды в хг и х2 влияют на распростра- нение ошибок округления через умножение и, аналогичным образом, через деление. Мы хотим показйть, что разные старшие разряды встречаются неодинаково часто. Так как это обычно воспринимается с удивле- нием, мы, во-первых, обратимся к некоторым экспериментальным Данным. Сто физических констант, имеющих физическую размерность, были выбраны случайным образом (не допускались безразмерные
отношения или чистые числа) из «Справочника по физике и химии» [15]. Наблюдаемое распределение старшего разряда показано в таб- лице 2.10-1. В третьем столбце стоят теоретические значения, вычисленные по формуле 100 [1п (п -]- 1) — 1пл], описывающей логарифмическое рас- пределение. Маленькие разности показывают, что в теории, утвер- ждающей, что старшие разряды распределены логарифмически, есть какой-то смысл. Из физических соображений можно привести много разных аргу- ментов, чтобы подтвердить этот результат. Прежде всего рассмотрим распределение старших разрядов во всех физических константах. Эти константы рассеяны в боль- шом интервале чисел. Посмотрим теперь, к чему приведет измене- ние масштаба. Физические констан- ты, естественно, тоже изменятся, но трудно поверить, что вид рас- пределения старших разрядов из- менится очень сильно. Если же изменений не происходит вообще, то можно показать, что распре- деление логарифмическое. Другой интуитивный аргумент за то, что распределение не будет равномерным, заключается в сле- дующем. Рассмотрим одноразряд- ную вычислительную машину с плавающей запятой и предполо- жим, что распределение старших разрядов равномерно. Если исследовать все суммы или произве- дения, которые могут быть получены, то обнаружится сильное сме- щение в сторону чисел с меньшими старшими разрядами. Это рассуждение может быть проведено более строго. Будем считать, что мантисса г нормализованного ' числа принимает значения от 1 до 10, именно Таблица 2.10-1 Распределение старших разрядов случайно выбранных физических констант 1 г <. 10. Предположим, что г распределено в этом интервале равномерно с плотностью 1/9. Можно получить следующие результаты. 1. Мантисса произведения двух чисел, выбранных независимо иа упомянутого распределения, имеет плотность распределения 10 1п 10 - 9 1п а
2. Частное имеет плотность распределения 3. Длинная последовательность независимых умножений или умно- жений и делений с любым (разумным) первоначальным распределе- нием всегда приводит к распределению, плотность которого быстро стремится к предельной функции г 1п 10 ’ Кривые для этих трех распределений показаны на рис. 2.10-1 вместе с перво- начальным равномерным рас- пределением, из которого выбирались числа. Докажем первое утвер- ждение. Посмотрим, как в произведении может полу- читься число с мантиссой г. Выберем произвольно пер- вый множитель. Плотность вероятности выбранного зна- чения есть Теперь, если то второй множитель определяется однозначно и равен Юг , „ есть — и в любой х1 Таким образом, мы —, тогда как если х1^г, то второй множитель 1 из этих точек плотность вероятности равна -д-. получаем общую плотность вероятности г 10 ё;+$ 1П' +101п 10~ 101П2> = 1г __ 10 1п 10—91пг ~ 81 Вернемся теперь к поведению старших разрядов при сложении. Необходимо сделать предположения относительно величины сдвигов при выравнивании порядков перед сложением. Разумная гипотеза, которая, по-видимому, соответствует опыту, заключается в сле- дующем: х- в половине случаев сдвига нет; в четверти случаев есть сдвиг на один разряд; в одной восьмой случаев сдвиг на два разряда; в одной шестнадцатой случаев сдвиг на три разряда и т. д.
Если два числа взяты из равномерного распределения 1 10, то в первом случае плотность суммы треугольная, идущая от нуля при 2 = 2 к пику при г= 11 и падающая опять до нуля при г —20 (рис. 2.10-2). Так как площадь должна быть 1, то мы имеем пик, равный у. Все числа от 10 до 20 имеют старший разряд 1, и это вы- Рис. 2.10-2. Плотность распреде- Очевидно, предположение равно- ления для суммы. мерного распределения быстро при- водит к преобладанию единиц в стар- шем разряде. Не тратя больше времени и места на детальный анализ других случаев, укажем еще, что наличие сдвига изменит построен- ное распределение, но во всех случаях будет получаться преобла- дание старшей цифры 1. Таким образом, даже для сложения видно, что равномерное распределение старших разрядов — предположение нереалистичное. Таким образом, в арифметике с плавающей запятой распростра- нение ошибок через длинные цепи операций не так сурово, как это предсказывает модель равномерного распределения, так как благо- приятное распределение старших разрядов влияет на распространение ошибки через операции умножения и деления. Упражнения 2.10-1. Доказать второе из приведенных утверждений. 2.10-2. Рассмотреть теорию для операции вычитания. § 2.11. Анализ распространения ошибки при небольшом вычислении Анализ распространения ошибки совсем прост в элементарных случаях, но в более громоздких он очень сложен. Элементарная тео- рия основана на применении очевидного приближения ' <1х и мы иногда будем его использовать. Более сложные ситуации будут встречаться в различных местах этой книги, но общая трактовка выходит за пределы начального курса. Это высказывание не должно быть истолковано в том смысле, что сам предмет не важен.
§ 2.12. Общие замечания и библиография Последние три теории, если их можно назвать теориями, пыта- ются исследовать, как растет округление в отдельных операциях. Такие теории, развитые дальше, чем это сделано здесь, необходимы, когда нужно сделать разумную оценку точности вычислений до того, как вычисление сделано, используя лишь общую структуру и раз- меры задачи. Поэтому в известном смысле различные фрагменты теорий, которые мы дали, не конкурируют, но скорее дополняют Друг друга. Вероятно, любая теория, в которой округление понимается в ста- тистическом смысле и не учитывается распределение старших разря- дов, не является достаточно точной. Неравномерное распределение старших разрядов обычно не обсуждается и не повлияло на развитие численного анализа, хотя известно давно. Таким образом, хорошей библиографии по этому вопросу нет. Новичок в вычислительной работе всегда считает, что если ему везет, то он может пренебрегать эффектами округления; поэтому он старается игнорировать теории округления. И если он счастливый, то он действительно может это делать; но когда задачи становятся больше и запутаннее и когда от его результатов начинает многое зависеть, он постепенно вынужден думать о предмете, который в на- стоящее время развивается беспорядочно и убого. Будем надеяться, что лучшие и более полные теории будут найдены в недалеком будущем. Несомненно, когда человек столкнется с необходимостью оценки точности задуманного вычисления до того, как затрачены деньги на программирование, отладку и т. д., он вынужден будет подумать о двух последних моделях округления и, вероятно, захочет, чтобы они были более развиты. Опыт работы показывает, что ошибки округления слишком часто коррелированы, допущение их независи- мости несправедливо, а значит, ограничиться продвижением лишь в на- правлениях, намеченных рассмотренными выше теориями, не удастся. ГЛАВА 3 ИСЧИСЛЕНИЕ СУММ § 3.1. Введение и система обозначений Исчисление разностей, введенное в гл. 1, было затем в гл. 2 использовано при рассмотрении важного вопроса об ошибках округ- ления. В этой главе мы возвращаемся к главной теме первой части и беремся за исчисление сумм. Исчисление сумм связано с исчислением
разностей, как интегральное исчисление с дифференциальным. Здесь, как и в интегральном исчислении, нахождение обратного опе- ратора, в сущности, основано на догадке. Самым удобным обозначением для исчисления сумм является онре- * деление / (х) как суммы /(«)+/(« ++ + Это обозначение (заметим, что во всей этой главе мы считаем й = 1) применяется Булем [3], Жорданом [19] и многими другими * *); однако оно не является употребительным в других областях математики, и использование его могло бы привести к путанице. По-видимому, лучше все же иметь дело с затруднениями, которые возникают от применения неудобного, но общепринятого обозначения ь 2 /(X)=/(а) + Г (а + 1) +... + /(Ь). х—а Методы суммирования будут целиком основываться на использо- вании прямого разностного оператора Д/(х)=/(х+1)-/(х), а не обратного разностного оператора V и не центрального раз- ностного оператора. Просуммировав последнее равенство от х — а до х = Ь—1, получим 6-1 2 д/(^)=/(^)-/(«)• (3.1-1) х=а Это соответствует равенству ь а в интегральном исчислении. Основная теорема исчисления сумм состоит в том, что если две функции, определенные на дискретном множестве точек, имеют одни и те же первые разности, то они различаются не более чем постоянным слагаемым. Это наводит на мысль о неопреде- ленной сумме, соответствующей неопределенному интегралу, и адди- тивной константе в таблице неопределенных сумм. <ь *) Тьюки предлагал обозначение У] как более удобное. х—а
В исчислении бесконечно малых таблица неопределенных инте- гралов основывается на соответствующей таблице производных; таким же образом таблица неопределенных сумм основывается на таблице разностей. Из = пх^, применяя (3.1-1), получим ^(Л+1) __д(П+11 (« Ф - О- (3.1-2) Для примера положим п = 0, тогда ь-\ У1 = а = Ь — а. Используя общую ратора 2’ мы можем превращения степеней линта второго Этим методом рода (§ формулу (3.1-2) и очевидную линейность опе- находить суммы многочленов путем простого х в факториалы или при помощи чисел Стир- 1.8), или повторяя деление многочленов (§ 1.6). можно показать, что («+!)« 2 (п-[- 1) га (2га 4- 1) 2-*3=2[х<3)+Зх(’)+- х=\ 1 _ (п-Н)»(2п-Н) ~ 6 х=1 Зга2 ф-Зга—1 5 (3.1-3) (га 4-1) гар 2я24-2га — 1 2 I 3 / Л=1 (я4-1)га(2га4-1) Зга44~6га6 * 8 — Зга4~1 6 7 Г (га 4- 1) гаТ-Зга’4-6га8 — па — 4га 4-2 [ 2 ] 6
Упражнения 3.1-1. Проверить формулы для ха и х5, применяя метод деления много- членов. 3.1-2. Используя равенство ДС (я, к) = С (я 4-1, к) — С (п,к)=*С (п,к— 1), показать, что т 2 С (х, 6) == С (т 4-I, й + 1). х— к п 3.1 -3. Показать, что (2х—1) = па, х=1 У! (2х— 1)8 = п2 (2я2 —1). "1 2(2х-1)« х=1 __п (4я*— 1). ~ 3 ’ § 3.2. Формулы суммирования Формула суммирования для х(га) верна также для отрицательных показателей (п — 1); например, У 1 (х_ П(-2) ___1_____। 1 _ &х(х-{-1) ' —1 т-4-1И~1 ш—{—1* Ж=1 Х=1 (3-2-1) Подобным же образом, т т у . 1___________= У (х — 1У-3> = ”г-3,-0.~?’ = 2^(х4-1)(х + 2) М -2 1 1 — 2" [т?2 ~ (от 4-1) (и 4-2)]' Разностная формула Да* = (а — 1) ах\ приводит к суммированию геометрической прогрессии о ат+1 — 1 о — 1 • Формулы для разностей синуса и косинуса Д 81п (ах 4- Ь) — 2 81п ~ соз 4“ ^] > Д соз (ах 4- Ь} ~ — 2 81п у з!п [а 4" у) 4“
приводят к полезным формулам т 81пГа[т-|-'Т/ + Я — 8’п —5- + 4 соз (ах -ф- Ь) = —О----------1--------------------= х=о 2 ЯП у . Га (т -ф- 1)1 Гат , ,1 ЯП - у -у-1-I С08 + й I = 1 ------< (3.2-3) ЯП у Можно ввести еще много других аналогичных формул, но мы не- будем обременять ими читателя. Упражнения 3.2-1. Вычислить 1 —|—2 —|—4 —|—8-|— 16 —2е4. 3.2-2. Показать, что 27У—1 2Л’-1 V г-х п V ** п ~ У соз -г? = 0, 7 ат -ту- = 0. Ж=0 Х=0 3.2-3. Показать, что 2ЛГ-1 2пкх -тх , .. . ' . . _.п соз соз —= Л-5 (т, к), (0 < т -ф- к < 2Л1); х=0 2ЛГ-1 V ~кх . птх _ 7 СОЗ -ту- 81П -УТ- = 0; х=о 2ЛГ-1 У У. ъкх . птх ... . .. яп -ту- яп = М (т, к), (0 < т -ф- к < 2Л1)» /V /V х=о 3.2-4. Вычислить л ! х (х -ф-1) (х -ф- 2) (х -ф- 3)"
3.2-5. Вычислить лг-1 У 51Пга 6 (0 -ф. О, +7Г, ±2я, т=О Ответ: (1 — 8111^0) (1 —81П 0) * § 3.3 Суммирование по частям При интегрировании, кроме таблицы интегралов, применяются два метода: 1) замена переменного, 2) интегрирование по частям. Первый из этих двух методов непригоден для исчисления сумм, за- висящих от равноотстоящих аргументов. Это делает вычисление сумм в аналитическом конечном виде, вообще говоря, более трудным, чем вычисление интегралов. С другой стороны, в исчислении сумм есть очень сильный метод, аналогичный интегрированию по частям. Интегрирование по частям основывается на формуле для производной от произведения Ф (гго) — ийъ -ф- у (1и. Из этого равенства формула для интегрирования по частям $ и (1у = ну — $ V Фи находится интегрированием. Аналогично из формулы для разности произведения Д (иу) = и Дц -ф- V (х -ф-1) Ди .суммированием получаем и Дп = и (т) у (т) — и (0) у (0) — ъ (х — О (х)- х=0 х=0 Можно выбрать у так, чтобы у (0) = 0 (или любому другому задан- ному значению). В качестве примера применения суммирования по частям рассмот- рим выражение
Вообще применение суммирования по частям сильно напоминает применение интегрирования по частям. Например, суммирование У X 81П Ла. выполняется двукратным применением суммирования по частям и при- ведением подобных членов. В этих преобразованиях нет новых идей,, а только скучная алгебра. Упражнения 3.3- 1. Показать, что ' зга 0 х — 5'П $ — атО (п 4- 1) — втОп] л-=1 3.3-2. Вычислить 1 -]-8 яп2 СО8 х. можно просуммировать и предста- угой стороны, неожиданно часто- § 3.4. Общие замечания Лишь немногие конечные ряды вить компактной формулой. С д] суммируются некоторые специальные ряды, например, содержащие би- номиальные коэффициенты. Советуем читателю, прежде чем обра- щаться к вычислению ряда с помощью машины, попытаться просум- мировать его руками. Удачное суммирование часто приводит к объяс- нению первоначальной задачи. Специальные методы суммирования рядов, слишком многочисленны, чтобы рассматривать их здесь. Вероятно, лучшим справочником по суммированию рядов является Жолли [18]- См. также [1]. ГЛАВА 4 ВЫЧИСЛЕНИЕ БЕСКОНЕЧНЫХ РЯДОВ § 4.1. Введение В большинстве книг о бесконечных рядах на многих страницах, рассматриваются сходимость, расходимость и «суммируемость» рядов, но почти все они совершенно пренебрегают действительным вычисле- нием (суммированием) рядов. Одна из причин этого состоит в том, что существует очень мало методов для суммирования рядов в конеч- ном виде. Конечно, если возможно в конечном виде провести неопре- деленное суммирование и ряд сходится, то бесконечный ряд также-
можно просуммировать, устремив верхний предел к бесконечности. В качестве примера мы имели (равенство (3.2-1)) п У_____!___=1______I— X (х+ 1) «+ 1 ’ Отсюда ОО X (х + 1) *=1 Вообще СО У /--.-л-А—г-ь—п = тг-Ц • гг-Цгг > 2). (4. Г-1) х (х+1) ... (х + к—1) к — 1 (к — 1)! '7 ' ’ Х=1 Задачу анализа нередко можно свести к вычислению бесконечного ряда. При этом часто требуется больше работы, чтобы вычислить ряд, чем чтобы решить первоначальную задачу; но иногда представ- ление рядом является преимуществом. Дело в том, что, суммируя ко- нечное число членов ряда, легче следить за точностью вычислений, чем действуя иным способом. Так, для вычисления о для значений х, меньших 1, можно разложить экспоненту в беско- нечный ряд. Интегрируя почленно, получим X X со О о *=о (— 1)к 12к к\ 2(—1)й х2/е+1 72*4-пй"- к=0 Если мы интересуемся значениями х, меньшими 1, и хотим иметь восемь верных знаков, то достаточно взять 11 членов ряда. Действи- тельно, ряд знакопеременный, его члены монотонны, он сходится и первый отброшенный член имеет знаменатель приблизительно 9,2 • 108. Если бы мы пытались вычислить значение интеграла каким-нибудь приближенным методом интегрирования, то задача оценки ошибки была бы более трудной. Упражнения 4.1-1. Доказать формулу (4.1-1). 4.1-2. Написать ряд для 1 х . . 81 (х) = \ я-п-- /И. и с Сколько членов нужно взять для вычисления 81 (2т.) с восемью десятичным! знаками?
§ 4.2. Метод Куммера Если данный ряд сходится быстро, то выбор способа вычисления его суммы не представляет затруднений. Если ряд сходится медленно, то мы ищем ряд с известной суммой, который сходится приблизи- тельно с той же скоростью, что и данный ряд. Слова «приблизительно с той же скоростью» в действительности означают, что общий член разности этих двух рядов стремится к нулю быстрее, чем общий член ис- ходного ряда. Найдя подходящий ряд, мы сводим задачу к вычислению суммы ряда, представляющего разность двух рядов; последний по опре- делению сходится более быстро. В этом и состоит идея метода Куммера. Пусть данный ряд есть 5 = 5 ах Х—Г и предположим, что мы знаем сумму со === схах^ х=г где сх-+с при х->оо. Тогда ОО х=г В качестве примера рассмотрим ряд СО 2 (^тп5’ х=\ который сходится как Взяв СО = 2 (х-1)х(х+1) = 1) х=2 в качестве ряда для сравнения, при условии, что член с х—1 взят отдельно, получим ОО __ 1 1 . V х4 — х1 — (х4-4-2х2-4-1) 4 * 4 ‘ 21 х(х2 —1)(х2-(-1)2 — 2 оо Ч -2Л,,.-Т)^' + „. = 0,39711677... Новый ряд сходится как 1/дЛ
Упражнения ОО ОО 4.2-1. Использовать У,—-—~т~п &ля приближения У А’ (АГ —р- 1) ^ЯВИ X 1 I 4.2- 2. Приблизить результат упражнения 4.2-1 с помощью СО у_________!_______. х (х + О (х + 2) / Продолжать до й-го шага. § 4.3. Некоторые специальные суммы Метод Куммера требует рядов для сравнения и знания их сумм. Одна из самых полезных последовательностей рядов для сравнения, кроме рядов (4.1-1), есть последовательность сумм СО ^=2^ (Л = 2,3,...), (4.3-1) Х=1 являющихся значениями дзета-функции Римана СО п=\ (см. таблицу 8.7-1 для х — Ч, 3,..., 17). Значения для четных целых г известны в конечном виде, 5а = Ц2) = ^; 54 = ^; но для нечетных чисел конечный вид неизвестен. В многочисленных книгах и таблицах *) имеется много других рядов, имеющих известные суммы, и читатель, несомненно, знаком с теми, которые возникают из разложения элементарных функций в ряд Маклорена. § 4.4. Метод Эйлера Другим методом численного суммирования рядов является метод Эйлера. К нему можно прийти следующим образом. Рассмотрим конечный ряд (4-4-1) й=0 *) См. [18] и [1].
Применим формулу суммирования по частям 0-1 0—1 2 и (к) Д ъ {к) = [и (к) V (к)]ьа - 2 * (к + П Ди (к\ а а Положим и(к) = ак, Дт» (к) = 11г. Так как мы можем использовать любую аддитивную постоянную, то возьмем 0-1 х=0 Тогда 1— I* 1— I * НО п—1 2 Аа* = («1 — Ло)4*(аз — а1)4~• 4~(а« — апл)~— а0, 0=0 так что (4.4-2) принимает вид п— 1 ап а0 I ( V 0-к Д - _____________ о = Т=7-Й + т^2^Д^ <4-4'3> 0=0 Мы применяем суммирование по частям к третьему члену, заме- тив, что он имеет тот же вид, что и исходный ряд, только ак заме- нено на Да* в (4.4-3): п— 1 ^Аа* I п—1 Дап<я . I VI 1 —<4-1__^ 2^ Таким образом, в результате применения суммирования по частям Дважды получим
После г таких преобразований выражение (4.4-1) примет вид 2 -= га 2 Ш' +(га)' 2 - Л=0 1=0 А=0 4=0 Так как первоначальный ряд сходится, то для данного г^>0 суще- ствует такое л0, что при я)>и0 справедливо | ап | <у Следователь- но, по (1.4-3), |Дгал|еСе. Последний член в полученном выражении стремится поэтому к нулю при п —> оо, и мы имеем СО г—\ со 2 а^к==\~12(ь=тУд‘а°+(т^У'2 *ЙДГа*- <4-4-4) к=О 1=0 к=0 Предположим, что члены ряда (4.4-1) изменяются достаточно гладко, так что второе слагаемое справа стремится к нулю при г->-со. Тогда остается ряд ОО ОО 2 а^к=1^? 2 (гаУд/а«- <4-4-5) *=о г=о Рассмотрим пример применения указанного метода. Если дан ряд СО У, ик, у которого стремится к I, то можно написать к=о ик ОО ОО о о где 2^+1 стремится к 1, и применить метод Эйлера. Наиболее часто этот метод применяется для ( = —1. По (4.4-5) находим СО ОО 2 (-1 у* «*=4 2 Цг-Д'а°- (4-4-6) 6=0 1=0 Иногда преобразование Эйлера делает ряд сходящимся быстрее, но иногда и нет. Рассмотрим следующие примеры. Пример 1. СО V (“О* 2л " 2* • к=О
Мы имеем — 1 д — 1 1 _ -1 Д» _1 ап 2я ’ ап 2я+1 2я — 2Я+1 ’ а а° — и, таким образом, по (4.4-6) получаем ряд СО СО ОО у <—9й - 1 V (-1)1 О1- 1 V 1 ~2^~ ~~ 2 Д, 2‘ ' 2' ~ 2 4 4Т' Й=0 1=0 1=0 который сходится быстрее первоначального. Пример 2. У (-1)* 2 з* • к=0 Легко видеть, что 3‘ Таким образом, преобразование Эйлера дает ряд у (-р* -1 у (-1)* (~2)‘ . 1 у 1 3й 2 2‘ 3» 2 Д; 3‘ ’ к=О 1=0 1=0 который сходится несколько медленнее, чем заданный. Пример 3. Аналогично со оо у (—р* 1 у /зу. 2 2д8 ] ’ к=0 1=0 последний ряд сходится более медленно. «Точка перелома» |а{| для применения метода Эйлера к такому знакопеременному ряду, по-видимому, лежит между 1/2 и 1/3. На практике обычно суммируют первые несколько (скажем, 10) членов непосредственно и применяют преобразование Эйлера к остав- шимся *) Упражнения 4.4-1. Применить метод Эйлера к ряду 1 Й2*‘ *) См. [4], а также 3. В. Коззег, Тгапз1огтаПопз 1о Зреед йте Сопуег- ёепсе о! Зепез, }. КезеагсН. Ка(. Виг. ЗТапдагйз, уо1. 46, 1951. 3 Р. В. Хемминг
4.4-2. Показать, что СО со к=0 к=Л 4.4-3. Сложить первые восемь членов ряда для 1п 2 и применить метод Эйлера к оставшимся. Ответ: 1 —1/2 + 1/3 —...—1/8 = 0,63452381 оставшаяся часть равна-^--0,11724074. § 4.5. Нелинейное преобразование Большинство преобразований, применяемых в математике, линейны, но нелинейное преобразование частичных сумм ряда часто очень полезно. Если бы Т было линейным, мы имели бы Т(С8п) = СТ(8п) Т(8п+ип)= Т(8п)+Т(ип). Второе условие, вообще говоря, неверно. Однако справедливо более слабое равенство Г(5„ + С)=Г(5Й) + С (С-соп81). Это преобразование полезно в тех случаях, когда ряд ведет себя, грубо говоря, как геометрическая прогрессия. В качестве иллюстра- ции эффективности преобразования рассмотрим ряд Лейбница гс = 4 —4/34-4/5 —4/7-]- ... Сходимость его так медленна, что практически незаметна, но одно применение преобразования дает следующее: п 5п п 5п 0 4,00000 5 2,97605 3,14271 1 2,66667 3,16667 6 3,28374 3,14088 2 3,46667 3,13333 7 3,01707 3,14207 3 2,89524 3,14524 8 3,25237 3,14125 4 3,33968 3,13968 9 3,04184
Теория этого преобразования и многих родственных ему, которые часто даже более сильны, хорошо изучена и не будет рассматри- ваться здесь. Это преобразование полезно не только для обработки медленно сходящихся и расходящихся рядов, но также и для многих итерацион- ных последовательностей, так же как метод Ньютона для нахождения нулей функции. Если сходимость имеет в каком-то смысле скорость геометрической прогрессии, то преобразование часто улучшает дело. Упражнение 4.5-1. Применяя преобразование (4.5-1), вычислить ОО 2Г (— !)*-> Т ——~ до четвертого десятичного знака. к=1 § 4.6. Степенные ряды Степенные ряды широко применяются в математике, особенно в линейных задачах. Но даже в нелинейных задачах степенные ряды — полезный инструмент. Так как в нелинейных задачах вычисление по- следовательных коэффициентов часто очень трудоемко, вычислительная машина должна находить их сама. Для данного числа коэффициентов легко написать программы сложения, вычитания, умножения, деления, подстановки одного степенного ряда в другой и обращения ряда. Преимущество использования степенных рядов или многочленов, как в задаче § 1.9, в том, что большую часть действий над коэффи- циентами можно выполнить один раз перед началом вычислений. Абстрактное математическое описание того, что было сделано в задаче § 1.9, выглядит так: 11 точек могут рассматриваться как одна точка в 11-мерном пространстве. Первая операция получения факториального многочлена Ньютона преобразовала точку исходного пространства в соответствующую точку 11-мерного пространства коэф- фициентов. Использование чисел Стирлинга для вычисления непосред- ственного многочленного представления было равносильно изменению базиса пространства коэффициентов. Последующие операции были преобразованиями в пространстве коэффициентов, тогда как окончатель- ное вычисление было преобразованием обратно в исходное простран- ство. Таким образом, большинство действий производилось в пре- образованном пространстве, а не в исходном пространстве данных и ответа. Это характерно для метода степенных рядов; мы оперируем с коэффициентами разложения и возвращаемся к данному простран- ству только в конце. Подобные замечания относятся как к асимпто- тическим рядам, так и к методам, обсуждающимся в этой главе. Упражнения 4.6- 1. Составить блок-схему для программы умножения двух степенных рядов с к членами, чтобы получить к членов в результате. 4.6- 2. То же самое для деления. 3*
4.6- 3. То же самое для подстановки одного ряда в другой. 4.6- 4. К данному интегралу № = (1х применить метод § 1.9 и принять /(л) = лгА. Показать, что §•(?) = — (п 4* 2)! Т'/г+Ч (д |-2). Вывести отсюда, что если §(Т) может быть аппрокси- мирована х е(Т)=^апТ^, п = 0 ТО Д' _ V апХп 2 («4-2)1 с (п +2)* п — 0 § 4.7. Разложение по специальным функциям Кроме разложения в степенные ряды, в анализе часто приме- няется разложение по специальным функциям, таким как полиномы Лежандра Рп(х), полиномы Лагерра Ьп(х), полиномы Эрмита Нп(х), функции Бесселя }п(х) и т. д. При поверхностном рассмотрении мо- жет показаться, что эти разложения бесполезны из-за трудности вычисления значений самих специальных функций. Однако известно, что большинство семейств специальных функций удовлетворяет трех- членному рекуррентному соотношению вида /п+1 (х) = А (п, х)/„(х)4-5(л)/„_1(х). В тех случаях, когда специальные функции суть многочлены, много- члены нулевого и первого порядков особенно легко вычислять для каждого значения х. Таким образом, работа с разложением в ряд по специальным функциям не больше, чем работа по вычислению степенного ряда. Следует обратить внимание на накопление ошибки при исполь- зовании рекуррентного соотношения для вычисления последователь- ных функций; но обычно ошибка не слишком быстро растет для умеренных (скажем, порядка 15) значений индекса п. § 4.8. Интегралы как приближения сумм Определенный интеграл определяется как предел суммы. Поэтому интегралы могут быть использованы для приближенного вычисления сумм. Одна из формул такого типа указывается в § 12.3 и может
быть записана так: /о 4" Л 4" • • • 4~ /л — § /(х) ^х 4“ у /о + у Л — - 1 (д/о _ д/„_х) + 1 (ду0 + ду„_2) _ — 720 —А3Аг-з)4" 1^0(Д4/о4- ^Ил-г) 4~ ••• (4.8-1) Родственной формулой является формула Эйлера — Маклорена ([431, стр- 127—128) ' /о 4- Л 4“ • • 4” Л — § /(X) Ах 4- у А 4~ у /л — -у Ио — /л] 4~ + 4) Ио" - /л'] - зойо Ио5' - /л + . • (4.8-2) § 4.9. Дигамма-функция В заключение этой главы вспомним формулу С гт+1 \ хтах = ^-г-}+С, 3 т 4- 1 1 которая неприменима, когда т——1. Действительно, при т =—1 этот интеграл определяет новую функцию 1пх. Аналогично формула суммирования я- 1 «г-, ълт+1'! У = _|_ с т4-1 1 <=1 неприменима при т —— 1 и соответственно определяет новую функ- цию, названную дигамма-функцией и обозначенную Р(х) Р(х)=У.~-р (4.9-1) Г=1 где 7 = 0,5772156649... (константа Эйлера) и, следовательно, Р (0) = — 7- Эта формула применяется, когда х — целое число. Другой вид ОО Р = 2 Т77Г4Г ~ р (0) = - (4-9'2) г = 1 Дает возможность распространить определение Р (х) на нецелые зна- чения. Надо доказать, следовательно, что это новое определение для
целых х совпадает со старым. Для этого достаточно установить, что Р (х) удовлетворяет уравнению (Аналогично при доказательстве того, что функция удовлетворяет формуле интегрирования, проверяют, что ее производная есть подын- тегральная функция.) Применяя (4.9-2), находим ' ^Иг + х-М) г(г + х)]~ г=1 ОО со ~~ 2 [(г-|-х) (г+ *+ 1)] 2 [г + х Г-1-Х-1-1 ] х-4- 1 • г= 1 Г= 1 Между дигамма-функцией и натуральным логарифмом существует следующее соотношение: Р(х) = 11т (1п (х + п -I- 1)--।---— ...------г—V л-*оо\ 1 *+' * + 2 * + «/ Есть другая связь между известными функциями 1п [Г(1 +х)] = Д(х). Дальнейшим дифференцированием мы получим так называемую три- гамма-функцию СО да1" 1Г(1+х)|=2(м^='='и. 1 тетрагамма-функцию 00 да1" 'г ч +*)! = - 22(7т3г=-';-» пентагамма-функ ци ю 00 да1” 1Г(1+^=«2(Г^7=р"м И т. д. Эти функции протабулированы [35] и могут применяться для суммирования рядов, общий член которых есть рациональная функция. Для примера предположим, что мы имеем ряд С__ Рц-2 (X) 2. р„(х) • х—\
где Рп(х)— многочлен степени п и Р„.,2 (х) по крайней мере на две степени меньше, чем Рга(х). Используя элементарные дроби, мы мо- жем написать (считая, что а, есть нули Р„(х)) Г А)____I А8 I I______&к I_____Вх___I__________I |х— в) ‘ х— а2 I ••• Г х — вк‘ (х —а^)2 ' (х— а%У ।____В/;___। .___Лр___।__________। ।___М/г 1 ' (х — а^У “Г । (х — аут^~(х — а2)т‘ ' (х— а^т ]' Здесь нельзя отделить первую группу членов, так как отдельные к ряды расходятся. Однако легко видеть, что = следовательно, г = 1 можно написать не меняя значения суммы группы. Теперь мы имеем ряд в виде, в котором он может быть легко просуммирован. В качестве примера рассмотрим (см. [35]) (4x4-2) (4x4-1) (4х-(-3)2 1 I 3 4х-]-1 ' 4 _1__|_1______1—1 4x4-3 ~ 2 (4х 4-3)2| — А_ р (_- р (— — р (—14-—РI —1 4 \2] 16 \4] 16Г\4) '32Г\4]‘ ГЛАВА 5 УРАВНЕНИЯ В КОНЕЧНЫХ РАЗНОСТЯХ § 5.1. Система обозначений Разностные уравнения в исчислении разностей соответствуют дифференциальным уравнениям в дифференциальном исчислении. Так, например, для неизвестной функции у можно иметь дифференциаль- ное уравнение / 4- 2 у = х или разностное уравнение Ду 4~ Цу ~ х. (5-М)
Любопытно, что в этом виде аналогия между дифференциальными и разностными уравнениями не полная. Но если мы подставим Ду=у(хф- 1) — у(х) в (5.1-1), то получим уравнение у(х+ 1)-|-у (х) — х. (5.1-2) Ясно, что всегда можно перейти от одного вида разностного уравнения к другому. Мы будем всегда пользоваться второй формой записи. В ней уравнение можно решить в основном так же, как мы решаем уравнение у'-^-у — х. Дело в том, что в этой форме более ясно раскрывается природа задачи. Так, если дано уравнение Д2у + 2Ду-^у = /(х), то можно считать, что мы имеем разностное уравнение второго по- рядка. Но оно приводит к уравнению /(х) =у (х + 2) — Чу (х + 1)(х) ф- 2 |у (х -ф-1) — у(х)] + у (х)= = у(х4-2), которое тривиально. Максимальный порядок разности аргументов неизвестной функции определяет порядок разностного уравнения. Так как между разностными и дифференциальными уравнениями есть прямая аналогия, стоит повторить некоторые детали того, как решаются дифференциальные уравнения. Как и раньше, все приемы, кроме замены независимого переменного, применяются в обоих случаях. § 5.2. Пример разностного уравнения первого порядка Чтобы решить дифференциальное уравнение у' + у = х, (5.2-1) сначала рассматривается однородное уравнение У' + У=О (5.2-2) и ищется общее решение однородного уравнения. Мы предполагаем, что при должном выборе т решением однородного уравнения бу- дет у=.етх. Подставляя в уравнение, получаем тетх ф- етх = О, етх(т + 1) —О, т ф- ! — 0 (етх 0), т ~ — 1,
откуда у = Се~х, (5.2-3) где С—произвольная постоянная. Затем ищется частное решение полного уравнения. Принимая во внимание правую часть, положим, у = ах 4~ Ь. Дифференциальное уравнение (5.2-1) дает а ах -|- Ь — х, так что а= 1, Ь— — 1 и у — х—1 (5.2-4) есть частное решение (5.2-1). Итак, общее решение есть сумма (5.2-3) и (5.2-4): у = Се~х -|- (х —- 1), т. е. сумма общего решения однородного уравнения и частного решения. Конечно, этот метод применим только к линейным урав- нениям. Для разностного уравнения у(*4- 1) + у (х) — х делается то же самое. В однородное уравнение У (Х + О + У Iх) = 0 мы подставляем вместо етх у~рх, что является простым изменением обозначения, так как можно поло- жить ет—р. Получаем ^0+1) = о, откуда Р=—1 и у = С(—1)*. Для полного уравнения мы опять предполагаем, что у = ах Ь. Разностное уравнение дает а (х 4- 1) 4~ & 4- 0х 4~ & ==: х> —— I, а 1/2,
так что а 2^ = 0, Ь—— 1/4 и у — х/2 — 1/4. Тогда общее реше- ние есть т=С(-1Г+|-1 Таким образом, мы видим тесную связь линейных уравнений первого порядка различных типов. § 5.3. Пример уравнения второго порядка Для линейных уравнений более высокого порядка применяется та же техника. Рассмотрим, например, числа Фибоначчи, которые оп- ределены уравнением Ти+1== Уп Н- Уп~1 с Уо = О, У1=1. Прежде всего ищем общее решение. Пробуя получаем или Таким образом, Уп = Условие Уо = 0 дает а условие У1 = 1: У1 = 1 У—рп, р- — р — 1 =0 1 ±/5 Из этих уравнений получаем /5 И Этот пример выбран прежде всего потому, что само разностное уравнение дает возможность легко вычислять по очереди последова- тельные числа. Так Уо = О, Уз—2, у6 = 8, у9 = 34, У1 = 1> Уг—3, у7=13, у10 = 55, у2=1, Уз = 5, у8 = 21, уп = 89.
Никакого сомнения в существовании решения не возникает, но общее решение, очевидно, слишком трудно применить на практике, хотя оно, может быть, полезно для вычисления некоторых отдельных чисел. § 5.4. Линейные разностные уравнения с постоянными коэффициентами Продолжим аналогию с линейными дифференциальными уравне- ниями. В случае двойного корня характеристического уравнения мы ищем решения как в виде етх, так и хетх. Рассмотрим, например, уравнение у" — 2/ -|- у = 0. Полагая у = ет*, получаем от2 — 2/га 4~ 1 — 0 или /И! = 1, т3=1. Тогда ех и хех удовлетворяют уравнению и общее решение есть у = Сгех -|- С*хех. Рассмотрим теперь разностное уравнение у (х 2) — 2у (х 4* 1) 4“ У (х) = 0. Подставляя у=рх, получаем р’-—2р 4- 1 = 0, Р1 = 1, р2=1- Тогда каждое из решений (1)*=1, х(\)х — х удовлетворяет урав- нению и общее решение есть у = С] 4- С%х. Вспомним, что аналогичным образом мы действуем, когда правая часть неоднородного уравнения содержит член, который есть в ре- шении однородного уравнения. В случае У -\-у = е~х однородное уравнение /4-у = 0 имеет решение у — Се~х. Поэтому частное решение всего уравнения мы пытаемся найти в виде у = кхе х, ке х — кхе х 4- кхех ==е х, к = 1.
Окончательно получаем у = Се~ж + хе~х = (С + х) ех. Точно так же, рассматривая разностное уравнение у(х+ 1) —у(х)=1, мы составляем однородное уравнение у(х4-1) — у(х) = 0. Оно имеет решение у = С, где С — произвольная постоянная. Поэтому, когда мы угадываем частное решение, то пробуем у = /гх. Подставляя его, видим, что Л = 1, следовательно, общее решение первоначального уравнения есть у = С + х. Милн-Томсон [27] рассматривает решение разностных уравнений более подробно. Он показывает, в частности, как знание одного решения однородного линейного разностного уравнения дает воз- можность понизить порядок уравнения на единицу. § 5.5. Пример Цель этого параграфа — дать пример применения разностных уравнений и показать, как некоторые идеи и методы из области обыкновенных дифференциальных уравнений можно естественным об- разом применять к разностным уравнениям. Задача ставится так: найти интегралы 1(п) = хл е х ат х (1х (п^ 0), К (л) = хпе х соз х <1х о и, в частности, показать, что /(4А4-3) = 0. Интегрирование по частям дает систему разностных уравнений 1(п) = ^[1(п- 1) + К(ц-1)], К(п) = ^[-Цп-1) + К(п-1)]. (5.5-1) Из стандартных таблиц интегралов находим 1(0) = К(0) = у.
Эти разностные уравнения имеют переменные коэффициенты у; поэтому 1{п) имеет множитель л, /(л—|— 1) имеет множитель (л —|— 1) и т. д., так что 1{п) ведет себя, как п\. Таким образом, мы прихо- дим к подстановке [ (и) — п! / (и), К (и) — п! к (и). При этом мы не учли множитель ~ в коэффициентах разностных уравнений. Приняв во внимание и его, получаем преобразование К») = / («). К (п) = § к (л), (5.5-2) которое приводит к системе / (я) =7 (Л — 1) + к (п — 1), /(0) = у, 1 (5.5-3) к (л) = — / (л — 1) 4- к (л — 1), *(0) = у. Если бы это была система обыкновенных дифференциальных уравнений, мы или пытались бы вспомнить, как решаются системы, или свели задачу к одному уравнению второго порядка, продиффе- ренцировав одно уравнение и исключив одну переменную. Послед- нее, по-видимому, легче приспособить к разностным уравнениям. Напишем верхнее уравнение (5.5-3) в виде /(»+1)=/(л)-|-А(п) (5.5-4) и, используя его во втором уравнении (5.5-3), исключим к (п). За- тем, используя первое из уравнений (5.5-3) для исключения к (л—1), получаем /(л 4-1)—2/(л) 4-2/(л—1) — 0. (5.5-5) Это — линейное разностное уравнение второго порядка с постоян- ными коэффициентами. Начальные условия находим из (5.5-3) и (5.5-4): /(0) = 4’ /(1)=1- (5-5-6) Общее решение (5.5-5) есть (здесь 1~У—1) /(п) = С1(1 +0"4-С3(1 — а начальные условия (5.5-6) дают (441 = 4 (1 4* 0 4- Со_ (1—0=1, или Ч—м ——
Таким образом, /(«)=4 К1 + 0я"1 + О-ОМ и /(«)=Д[(1 +г+и - /)яч (на самом деле /(л) и /(л), как видно из полученных выражений,— действительные числа). Чтобы решить вторую часть задачи, заметим, что (1 4-1/ = 1 4г -4- бга 4- 4/3 + г4 = — 4 = (1 — о1- Следовательно, / (4А 4- 3)=(-4)*} (3) = [(14- 2/ 4- и 4-1 - 2/ 4- г2]=о. Таким образом, 7(4Л4-3) = 0. Упражнение 5.5-1. Пусть /й(Ф)==( 3 соз 0 — соз Ф о Показать, что для к, равного целому числу, 4+г(Ф) — (2созФ)4+1(Ф)4-4(Ф)=0, /о=О, — п и, следовательно, 4(«) ГС 81П кФ 81П Ф " ГЛАВА б КОНЕЧНЫЕ РЯДЫ ФУРЬЕ § 6.1. Введение Ряды Фурье У (ак соз кх 4~ Ьк 51п кх), (6.1-1) <ЯИМ *=] где 2тс ак — /(х) соз кх йх> о — - /(-V) з1п кхйх, (6.1-2)
сыграли важную роль в развитии математики *). Наряду с обычной теорией, в которой функция предполагается известной на всем ин- тервале длины 2тс, существует теория, рассматривающая функции, заданные на дискретном множестве равноотстоящих точек. Мы будем полагать, что имеется 2 А'' равноотстоящих точек, и оставим случай нечетного числа точек 2М-|- 1 в качестве упражнения для читателя. Разложение в ряд Фурье основано на ортогональности функций 1, соз кх, 81п кх по отношению к интегрированию по отрезку [0, 2л] 2х соз кх соз тх Лх = о 2л $ З1п кх з!п тх Лх — о О, 2 л, О, к, к^т, к = т 0, /г — т ~ 0, кф т, к = тф 0, (6.1-3) 2л 81п кх соз тх йх = 0. о § 6.2. Ортогональность на дискретном множестве точек Примечательно, что если вместо интегрирования мы используем суммирование, то функции 1, соз х, соз 2х, ..., соз (А/—1)х, соз №с, 31П х, 81П 2х, .... 81п (А/—1)х оказываются ортогональными на дискретном множестве точек Преобразование ТС приводит нас к системе функций: . - 2~ (А—1)л л . 1, СОЗ ^Х, СО5 ^х, ..., соз -—-~-—х, соз-^№г, к .2л . (Д'— 1) л ЗШд^Х, 81П X, ..., 81П ----—х- (6.2-2) *) Элементарное изложение рядов Фурье см. [17].
Соотношения ортогональности между ними (А-С № т-е^.14) 2Л'~ I 0, если 14, если к ф т, к —т 0, 7 $ш кх 81п тх — ы м 2Л-1 У 81п у кх соз тх — 0 , (6.2-3) х = 0 гл -1 0, если к т, У соз кх соз тх ~ 14, если к — т^$, 14, , х=‘° 2Д/, если к = тг=0, 14, ..., были доказаны в упражнении (3.2-3). Они могут рассматриваться как аналоги условия перпендикулярности (ортогональности) в обыч- ном трехмерном пространстве. (См. § 17.6.) Если функция может быть записана в виде м — 1 = У, [ак соз кх-\- Ьк 81п ~ кх^ ~ соз кх, (6.2-4) * = 1 то можно использовать соотношения ортогональности для определе- ния коэффициентов разложения. Чтобы получить ак (к= 1,..., 14— 1), умножим обе части равенства на соз тх и просуммируем по всем х. Получим 2Л'—1 У /(х) соз тх — ]4ат (\^т^,14—1), (6.2-5) X = 0 так как по (6.2-3) все остальные члены равны нулю. Заменяя соз ~ тх на 8ш ~ тх, получаем 2Л- I У /(х) 81П у тх — 141>т (1^т^114—Г). (6.2-6) х = 0 Окончательно имеем 2Л - 1 2Л'~ I У /'(х)=2Л^^ = Л/а0, У /(х) соз тсх==2М^-^ = .Мглг. (6.2-7) х=0 х = 0 Последние две формулы имеют тот же вид, что (6.2-5) и показы- вают, почему выгоднее писать разложение с а0/2 и а^/2, а не с аа И йдг.
Упражнение 6.2-1. Рассмотреть разложение для нечетного числа 2Л7 —ф- 1 узловых точек. Л’ Ответ: /(х) = -^ф- [ак С08 ^у'-фТ х + 81п‘ЛУ-фТ / ' § 6.3. Точность разложения В рассматриваемом разложении 2Л-'’ значений /~(х) (х = 0, 1, ... ..., 2/У—1) определяют 2 Л' коэффициентов ак, Ьк и естественно ожидать, что сумма ряда в данных точках будет в точности равна значениям начальной функции (т. е. что система функций является полной по отношению к группе используемых точек). Чтобы дока- зать это предположение, зафиксируем х~х и перегруппируем сум- му, применяя равенства (6.2-5)—(6.2-7), чтобы исключить ак и Ьк. л-1 з1п Т?кх 51п Т/кх} + х к = 1 I 1 -1 -ф- у соз КХ СОЗ КХ = Л-1 соз ~ к (х — X) -ф- у СОЗ КХ соз КХ . Теперь напишем Л-1 Л-1 Л-1 У СО$^к(Х— х) — -^^ соз к (х— х)-ф-у соз^Л(х— х) к = \ и во второй сумме используем тот факт, что соз у к (х — х) — соз (2Л/ — к) (х — х), чтобы получить Л I Л-1 2Л—I У соз ~ к (х — X) = у 2 СО577 а (х—Х) -ф- у 2 соз^г к (х—X). к = \ й = Л-Н Используя это, имеем 2Л-1 /(^)== 27у2/(^)[ 2 С08-^А(Х —Х)1. х Ц й = 0
Но выражение в квадратных скобках равно V л , , если 7 соз к (х — х) = { I 0, если Х = X, х Ф х, так что от суммы остается лишь член х — х и № = Таким образом, обе части уравнения дают одно и то же число. Существует хорошо известное соотношение между суммой квад- ратов коэффициентов и суммой квадратов значений функции Л’-1 2 21/(*)н=44 + 2(а|++4] • <б-з-1) х Л=1 Чтобы доказать его, образуем сумму квадратов значений функции Л-1 21я*)г=2 [-у+2 4со8 7кх+Ьк 51п 71кх}+4 с°8 х х к — 1. и выполним умножение. Соотношения ортогональности (6.2-5)—(6.2-7) дают 2 имг2=44 • 2ы+(44 •т х к что совпадает с (6.3-1). Этот результат может быть использован для вычисления суммы квадратов ошибок, когда используются члены лишь до к — М<^17—1. Пусть /м(х) — сумма первых М гармоник, так что м /лг(Л;) = -^ + 24 С08 71 кх + Ьк 51П /1=1 ' Тогда Л-1 2^~~А1)2::=2[ 2 51п^4+тсо8тс4== х х к = М-\-\ Лг~~ 1 м =4 2 (а*+^)+?]=2/2~44+2(а|+л4 (6-3‘2) * = Л14-1 х к=\ Другими словами, использование членов лишь до к — М в разложе- нии функции (6.2-4) дает нам приближение к /(х), ошибка которого в смысле наименьших квадратов определяется равенством (6.3-2). Исследуя, как уменьшается (6.3-2) при увеличении М, мы можем оценить значение взятых дополнительно членов в разложении Фурье.
§ 6.4. Вычисление коэффициентов Коэффициенты разложения (6.2-4) даются формулами 2Л’-1 аи = У СОЗ кх (к = 0, 1, 2, ..., Ы), х = 0 2ЛГ-1 Ьк = ^ 5‘П (А==1’ 2’ !)• л = 0 Показано, что эти коэффициенты можно легко вычислить, зная лишь соз — к и зш к, без непосредственного вычисления других значе- ний синуса и косинуса. Это делается следующим образом: пусть 77о = О, /71 =/(277 — 1), соз к) - ит_^^2Ы-т) (т = 2, 3, ..., 277 — 1). Тогда 2ЛГ-1 №* = 2 С05 77 кх ~ (С08 7/ к} ^-Л'л ~ ^лг-«+Л°)> Ж = 0 2ЛГ-1 Ж= 2 /(х)51п /7 Ах=(81п/7^) ^-1- (6.4-2) (6.4-3) Прямое формальное доказательство не показывает механизма ра- боты этого метода, так что мы дадим несколько более длинное дока- зательство, которое к тому же даст еще и дополнительный результат. Начнем с определения 7о=О, Ц = 1, 7ОТ = (2 соз 0 7т_1 — Ут_ъ (т = 2, 3, ...) и покажем сначала, что 81п т1 81п I (6.4-5) Так как (6.4-5) верно для /и = 0; 1, то достаточно проверить, что 2сО5<81П(1П--- \)1 81П(»1—2)Г (2 соз I) Ут_! — Ут_<1 81П I 81П I ат т1 81п (т — 2) I — зт (т — 2) I з1П т1 — к т* 8111 I 81111
Мы замечаем также, что соз I (Ут) - Ут х = \ т/ т-1 дщ у [ат (т 4- 1) ^ + зт (т — 1) /] — 8ш (т — 1) I 81П I ат (т 4- 1) I — ап (т — 1) I , =----—1у -----------— == соз т.1. 2 ат I (6.4-6) Таким образом, зная значения з!п I и соз /, мы можем вычислить, применяя (6.4-4)—(6.4-6), значения зш 2(, соз 2^, зт 3/, соз 3(, ... ..., з!п к1, соз М. При этом мы делаем не более, чем ( Зк умножений | ( 2/г умножений ] 1 ( или г к ( 2к вычитаний ] [ Зк вычитаний ) При вычислении значений этим методом происходит, конечно, посте- пенная потеря точности, но обычно она незначительна. Покажем теперь, как применить равенства (6.4-4)—(6.4-6) к дока- зательству (6.4-3), используя (6.4-2). Во-первых, рассмотрим случай, когда все /(х) = 0, кроме /(_/), и положим 1—^к. Из (6.4-2) видно сразу, что С7о= С\ = . .= = 0, = /(/)• Таким образом, (72Лг_у соответствует Уь за исключением того, что все 77, которые вычисляются, будут в /(/) раз больше, чем соответ- ствующие V. Когда мы дойдем до 17^^, мы сделаем ровно / шагов и ему будет соответствовать У}-. По (6.4-5) и (6.4-6) результаты, которые мы нашли в (6.4-3), равны /(/) 81П ]' к, /(]) соз / ~ к. Вернемся теперь к произвольной функции /(х). Она может быть представлена в виде суммы функций только что рассмотренного типа. В силу линейности (6.4-2) и (6.4-3) отдельные результаты для каж- дой из компонент можно сложить, что и доказывает (6.4-3). Для нахождения каждой пары ак, Ьк требуется около 6/7 арифме- тических операций, так что для всех 2 Л7 коэффициентов нужно сде- лать около б№ действий. Если бы матрица синусов и косинусов была в памяти машины и для получения коэффициентов мы просто умно- жали бы матрицу на вектор, то при этом пришлось бы затратить 8/Д действий. Таким образом, можно сказать, что предложенный метод экономит машинное время даже по сравнению с очень благоприят- ной ситуацией, когда дана матрица синусов и косинусов.
Из двух значений з!п-^, соз используя метод 7-обозначений, можно получить з!п к, соз к (/г = 2, 3, ..., — 1). Основной процесс в 7-обозначении теперь дает требуемые коэффи- циенты. При соответствующем переплетении 7- и 67-процессов в каж- дый момент необходимо лишь 2/У ячеек для текущих данных и не- сколько счетчиков Программы для вычисления 7 и Ц также довольно короткие, а следовательно, не занимают много места в памяти. ,§ 6.5. Метод двенадцати ординат Особый случай, когда число точек равно 12 (;У—6), представ- ляет интерес, так как часто встречается и легко выполняется вруч- ную. Мы имеем и и 6а,, = V /(х) соз ~ кх, 6Ьк = /(•*) 81п х=0 х — 0 Разбивая каждую сумму по х на две: от 0 до би от 7 до 11, и положив во второй части х— 12—х', получим 6 5 6ай — /(х) соз кх -ф- /(12 — х’) соз кх', *=0 х'=1 6кк = 51п кх — 2 — У) 81П | кх. х—О 7(0) /(1) <(2) 7(3) 7(4) /(5) 7(6) /(11)/(10)/(9) /(8)/(7) ’ Сумма 5 (0) 8 (1) 8 (2) 8 (3) 8 (4) 8 (5) 8 (6) Разность 1(\)( I (2) I (3) I (4) I (5) Тогда имеем 6 5 6ай = з (х) соз кх, 6Ьк = 6 (х) 81п кх.
Разобьем опять отрезок на две части, на этот раз от 0 до 3 и от 4 до 6, положив х = 6—х' во втором отрезке. Тогда 3 2 6ак — $ (х) соз у кх -]- (— 1)й з (6 — х’) соз кх', л’=0 х'—О 3 2 64 = I (х) 81п у кх — (— I)6 ^(6 — х’) 8*п х—1 х'=1 Теперь можно написать з(0) з(1) з(2) з(3) <(1) <(2) ЦЗ) з (6) з (5) з (4) I (5) I (4) Сумма и(0) й(1) и(2) и(3) р(1) р(2) р(3) Разность о(0) г>(1) г»(2) <?(1) <?(2) Результат, выписанный полностью, выглядит так: ‘6а0 = я (0) и (1) 4~н (2) 4-11 (3) — Iм (0) 4~11 (3)1 4~ [н (О 4-« (2)]> 6а1 = ©(0)4- 1^(1) 4-1т,(2)^140)4-1*42)] 4- ба* = я(0) 4- -- [и (1) — и (2)] — и (3) ~ [я (0) — и (3)] 4- 4-1[и(1)-„(2)]> 6а3 -= V (0) — V (2), 6а4 = и (0) — у и (1) — | я (2) -4 и (3) == [и (0) 4- и (3)] — ~ [и (1) 4- и (2)], 6а3 = ®(0)-^-г/(1)4-4*'(2) = [*’ (0) 4-|г42)]-ХД г41), 6а6 = и (0) — [я (1) — и (2)] — и (3) = [и (0) — и (3)] — [и (1) — и (2)], 6*1 = ± р (1) + ^-р (2) + р(3) = [у Р (1) +р (3)] 4- ^-Р (2), 6й.3.-=-^-[9(1) + 7(2)]> 6Ь3^р(1)-р(3), 6й4 = Х^4<7(1)-?(2)], 6*8 = 1 р (1) - р (2) 4-р (3) = [1 р (1) 4-р (3)] - р (2).
Здесь приходится делать меньше 60 арифметических операций и большинство из них — простые сложения. Это можно сравнить с 6Д'-— 6:| = 216 операциями, необходимыми в методе § 6.4. Программа, конечно, несколько длиннее, но писать ее очень легко, так как нет сложной логики и требуется лишь одно «непростое» число —- = 0,866 025 407 5. Общие методы могут и должны применяться в случаях, отличных от М=6. Упражнение 6.5-1. Найти вручную разложение Фурье для /(х)=х(12—х) (х = 0, 1..11). § 6.6. Методы с минимумом умножений Вообще в задачи этой книги не входит вдаваться в детали того, как организовывать вычисление, чтобы экономить машинное время. Однако показать, как можно эффективно вычислять ряды Фурье, необходимо, так как обычно предпочитают многочленные разложения, а также потому, что при использовании сумм Фурье обычно тратится много лишнего машинного времени. Число умножений можно свести к минимуму, выполняя сначала все сложения и максимально используя приведение тригонометриче- ских функций к значениям в первой четверти. Вот почему работает метод § 6.5. Всякий раз, когда порядок гармоник является делителем числа 2Д/, некоторые из возможных значений тригонометрической функции не требуются. Поэтому на практике часто используются зна- чения 2 ТУ, равные 12, 24 и 60. § 6.7. Разложение по косинусам Если допустить, что функция /(х) периодическая с периодом 2Д7, то при использовании значений х = 0, 1, ..., 2 ТУ—1 или —(№—1), — (ТУ—2), ..., 0, 1, ..., ТУ результат будет один и тот же. Теперь предположим, что задана функция, определенная для х — 0, 1, ..., ДТ, и мы хотим разложить ее в ряд только по косинусам. Определим /(—х)=/(х)для х=1, 2, ..., —1. Теперь /(х)— четная функ- ция. Когда мы находим разложение Фурье, то получаем, что все Т>А = 0, так как л ^ = 77 2 ГЮ^яХ, х=-Л+1
а синус — нечетная функция. Таким образом получаем разложение но косинусам. Формулы для ай можно упростить- Л- 1 = 2 /'(х)соз^х = л^-дг-р! .V— 1 х= 1 Определяя / (х) как нечетную функцию, можно аналогичным об- разом получить разложение по синусам. Заметим также, что если мы имеем область 0то замена Х = у (1 соз О делает функцию четной периодической функцией ’7. Эта замена дает ряд преимуществ в вопросах сходимости, которые будут обсуждаться в гл. 22. Упражнения 6.7-1. Функция / (х) определена на интервале О-СххТк/2. Показать, что можно продолжить функцию на —так, чтобы встречались лишь нечетные (четные) гармоники косинусов. 6.7-2. Рассмотреть в деталях задачу нахождения рядов Фурье только по синусам. По четным (или нечетным) гармоникам синусов. § 6.8. Локальные ряды Фурье Во многих задачах явление меняется медленно, и идея «локальных рядов Фурье», коэффициенты которых медленно меняются с течением времени, совершенно естественна. Также более естественно центри- ровать область около начала и использовать значения от — А'-)- 1 до Ы, чем от 0 до 27/— 1. Таким образом, из равенств (6.2-5)—(6.2-7) имеем х ат(0 = ^ 2 /(^ + 0соз^ тх, х = - ХЦ-1 ЪтУ) = ^ /'(* + 0 81П X- - - Л' 4-1 1, 2, ...» Л/— 1.
Легко получить 1) и из а(Г) и Например, А аот(<+1) = ^- /<х + ^+ О со<у 1ПХ' х=-Х+1 Положим х-4-1^ х', тогда лг4-1 = 2 /(х' + 0со8^от(х' —1) = х' = — .№ Я = ^{ 2 /С^Н-Осоз ^да(х'—1)4- л'==—Л’+! 4-(-1П/(^+1+0-/(- ЛН-0]}. Раскрывая косинус, получаем “т(Е+ 1) = [ат(0со8 /и + &т(0 81п + + Цг1 [/(?/+ 1 + 0 - Г(~ К+ 0]. Заметим, что мы пользуемся фиксированными (для данной частоты) пт . пт множителями со8 и зт и складываем или вычитаем два новых значения функции. Аналогично для синусов: Ьт (*-Н) = [— ат (0 81п т 4- Ьт (0 соз т^.
ПРИБЛИЖЕНИЕ МНОГОЧЛЕНАМИ -КЛАССИЧЕСКИЙ ЧИСЛЕННЫЙ АНАЛИЗ 'ГЛАВА 7 ВВЕДЕНИЕ В МНОГОЧЛЕННЫЕ ПРИБЛИЖЕНИЯ § 7.1. Ориентация Первые работы любого вычислителя обычно связаны с вычислением значений функции. Главными инструментами здесь являются «общее чутье» и «маленькие хитрости». Цель этой книги — показать главные идеи в области вычислений; мы будем лишь изредка иллюстрировать аспект «маленьких хитростей», хотя они до сих пор являются важной частью искусства вычисления. Второе, с чем обычно сталкиваются, — это интерполяция недостаю- щих в таблице значений, например в логарифмической или тригоно- метрической таблице. Вообще говоря, при интерполяции нам дано несколько узлов функции и нужно вычислить приближенно некоторые значения, которых нет в таблице. В большинстве таблиц сделано пред- положение, что функция ведет себя между последовательно взятыми точками, как прямая, хотя иногда предполагается, что она ведет себя, как квадратный трехчлен и даже многочлен более высокой степени. Часто думают, что главные проблемы численного анализа сосре- доточены вокруг интерполяции; но это не так. К ним относятся скорее такие операции, как интегрирование, дифференцирование, нахождение нулей, максимизация и т. д. в случаях, когда все, что мы имеем или можем вычислить, — это некоторые узлы функции, причем и они обычно известны не точно, а приближенно, так как бывают испорчены по- грешностью округления. Классический численно-аналитический подход заключается в том, чтобы использовать некоторые узлы функции для получения прибли- жающего многочлена и затем выполнить аналитическую операцию над этим многочленом. Этот процесс может быть назван «аналитической заменой» ([38], стр. 51), так как функция, которую невозможно об- работать, заменяется другой функцией, над которой уже можно выпол- нить аналитическую операцию. Например, в способе Ньютона для
нахождения нуля функции у —/(х) дается приближенное значение X} и вместо кривой используется прямая У~ У1=У1(^ — *1), которая касается графика функции в точке (хь у1]). Подставляя _у = 0, получаем значение х, являющееся корнем этой новой функции, Х = Хг— У1 Это новое значение х используется как следующее приближенное значение корня. Поскольку с многочленами легко обращаться, большая часть клас- сического численного анализа основывается на приближении многочле- нами. Однако для многих целей предпочитаются другие классы функций; они будут изучаться после того; как будет рассмотрена аппроксима- ция многочленами. Выбрав узлы и класс приближающих функций, мы должны еще выбрать одну определенную функцию из этого класса посредством некоторого критерия — некоторой меры приближения или «согласия». Самый широко применяемый критерий состоит в требовании того, чтобы приближающая функция совпадала с заданными значениями в узловых точках. Другой более общий критерий — «наимень- шие квадраты» — означает, что «сумма квадратов отклонений между данными узлами и приближающей функцией в узловых точках должна быть минимальной». Однако иногда применяются и другие- критерии. Прежде чем начать вычисления, мы должны решить также, какую точность мы хотим иметь в ответе и какой критерий мы изберем для измерения этой точности. Все изложенное можно сформулировать в виде четырех вопросов: 1. Какие узлы мы будем использовать? 2. Какой класс приближающих функций мы будем использо- вать? 3. Какой критерий согласия мы применим? 4. Какую точность мы хотим? Упражнение 7.1-1. Взяв три члена ряда Тейлора , . , . . , (к— х,р у" (хЛ у = у(х1) + (х — х1)у'(х1)+ , приблизить функцию в точке лу, обобщив формулы Ньютона для нахожде- ния корней функции. Ответ; х — х1 У(*1) У' (*1) У (-У1) У" (ат)1 2у2(^) ]
§ 7.2. Альтернативные формулировки В описанном только что процессе, найдя приближающую функцию, мы затем применяем к ней аналитическую операцию и вычисляем результат в некоторой точке или точках. Обычно окончательный ре- зультат оказывается линейной комбинацией значений в первоначальных узлах. Это подсказывает, что можно прийти непосредственно от узло- вых точек к ответу, не получая по дороге аппроксимирующей функции. Чтобы сделать эти замечания более определенными, предположим, что имеется некоторый линейный оператор Ь, действующий в неко- тором классе функций, так что Ь [а/ (х) + Ь§ (х)] = аЬ [/ (х)] + Ы. (х)]. (7.2-1) Интегрирование, дифференцирование и интерполяция — типичные примеры линейных операторов. Нахождение нуля — не линейный оператор. Результат 1[/(х)] будем искать, исходя из данных в узлах зна- чений функции и ее производных. Таким образом, мы ищем формулу вида к [/ (х)1= 0*1) 4~ ^/(-^з) 4~ • • • 4“ ап/ (хга) 4~ ~Ь ^1/' (х1) 4~ ^з/'(-^з) + • • • + (х«) 4~ • • • “4 ^1/(* (-^1) + + (*з) + • • • 4" М(А-1) (*«)• (7.2-2) где многие коэффициенты могут быть равны нулю. Для простоты представим, что у нас есть лишь значения функции, а все коэффи- циенты Ь, с, ..., к равны нулю. Предположим, что используется приближение многочленом и тре- буется точное совпадение его с данными значениями в узловых точках. Возможны три эквивалентных способа определения коэффициентов аг. Первый способ, который уже рассматривался, состоит в нахожде- нии приближающего многочлена и применении к нему оператора Л; это — так называемый метод аналитической замены. Второй способ состоит в том, чтобы разложить /(х) в ряд Тей- лора, подставить разложение в левую и правую части и приравнять коэффициенты при одинаковых производных. Поясним его построе- нием, например, формулы Симпсона 1 /(х)йх = а_1/(-1) + ав/(0) + а1/(1). (7.2-3) -1 Так как /(X) =/(0) 4- х/' (0) + (0) + х~ Г (0) 4-^/1У (0) + • •>
то в левой части равенства будем иметь I /(хЫх = 2/(Он|Г(0)-|Г(0) + -. - 1 тогда как справа «щ/ (~ 1) = «щ/ (0) - а_,Г (0) + ^Г(0)- «о/(0) — «о/(0), «1/(1) = «1/(0) + «,/' (0) + § Г (0) +Г (0) + Г (0) + ... Приравнивая, пока это возможно, коэффициенты при /(0), /'(0), ..., получаем 2 = йо —йр 0 = — С1\ —|— йр 2 , -д- - «_1 «1> о — «—1 “Г «и 2 у = «„1 /- «1 + Е, где Е — ошибка. Решение этих уравнений дает значения а_1 — аг = 1 /3, а0 = 4/3, которые приводят к обычной формуле 1 ^/(л;)йх=1/3/_1 + 4/3/0+1/3/1гх (7.2-4) - 1 Третий способ требует, чтобы формула была точной для после- довательности функций /(х) — 1, х, х\ ... до возможно более высо- кой степени. Он полезен для получения специальных формул, и мы будем использовать его для этой цели в большинстве случаев. Однако при решении конкретной задачи метод аналитической замены, при котором в первую очередь строится приближающая функция для исходных данных, часто бывает лучше, так как он дает возможность получающему результаты видеть своими глазами, какая именно аппрок- симация делается. Так, в примере § 1.9, когда находился аппрокси- мирующий многочлен, мы вычисляли его в точках посредине между узловыми и строили получившиеся значения, чтобы видеть, какой график они дают. Покажем, что эти три способа эквивалентны и дают один и тот же ответ. Третий способ, который делает формулу точной для различных степеней х до некоторой степени, скажем п, делает формулу точной
также и для любого многочлена степени, не превосходящей п. Таким образом, если функция есть многочлен степени п (или меньшей), то формула точная. Но если функция есть многочлен, то ее ряд Тейлора оканчивается членом л-го порядка и второй способ даст тот же резуль- тат. Обратное также верно, следовательно, второй способ эквивален- тен третьему. Чтобы показать, что первый способ, который заключается в на- хождении интерполяционного многочлена и оперировании с ним, экви- валентен двум другим, необходимо иметь в распоряжении некоторую теорию интерполяционных многочленов, а ее мы будем развивать лишь в следующей главе. Пока предположим, что если даны значения Д (/— 1, 2, ..., п) функции, то можно построить многочлен*) р(х) = А1(х)/1 + Аа(х)Л + ... + Ап(х)/л, (7.2-5) который для /(х)=1, х, х\ ..., х"1 совпадает с /(х). Применив оператор А [/(х)] к левой и правой частям (7.2-5), получим формулу типа (7.2-2), которая является точной для функций 1, х, х\ хп1. Обратно, так как А[/(х)] линеен, то формула, точная для функ- ций 1, х, ..., хл), точна и для любой их линейной комбинации, следовательно, для линейной комбинации (7.2-5). Таким образом, тре- тий способ эквивалентен первому. Третий способ, которым мы будем пользоваться для нахождения формул, является наиболее употребительным. Однако, чтобы найти формулу этим общим приемом, часто требуется больше работы, чем если применить различные трюки, которые приводятся в учебниках. В защиту нашего метода мы скажем: «Принимая во внимание огром- ное количество имеющихся теперь знаний, лучше применять один общий метод, до некоторой степени непроизводительный, чем изучать мно- жество специальных трюков». Окончательные формулы также безразличны к методу их полу- чения. Метод, будучи общим, легко дает новые формулы и обеспе- чивает аппарат для дальнейшего исследования. В последнее время принятие такого единообразного метода направлено к постепенному перекладыванию всей работы на вычислительную машину. Одна из особенностей этой книги — использование идей теории информации. Может быть, это просто предрассудок автора, но кажется разумным рассматривать универсальную вычислительную машину как «перерабатыватель» информации. Многие из идей теории информации тесно связаны с функциями с ограниченным спектром, которые рас- сматриваются в третьей части этой книги. Хотя, как мы видели в главе 2, теория, которая рассматривает шум как основной элемент, еще недостаточно развита, некоторый сдвиг в этом направлении на- *) Многочлены Ьп определены в § 8.3; их не следует путать с линейным оператором к в равенстве (7.2-1).
мечен в новых книгах и публикациях. Лучшее, что мы можем сделать в настоящий момент, это запомнить, что почти каждое число, которое мы получаем, будет иметь некоторое «шумовое загрязнение». Поэтому необходимо исследовать формулы, которые здесь приводятся, в свете того, как они будут распространять шум. Упражнение 7.2-1. Вывести правило трапеций первым, вторым и третьим способами. § 7.3. Узловые точки, информация Первым из четырех вопросов, заданных в конце § 7.1, был воп- рос «.какие узлы мы будем использовать»! В принципе это — воп- рос статистики, особенно области, называемой «планированием экспе- риментов». На практике узловые точки часто заданы внешними обстоятельствами или мы пользуемся множеством равноудаленных точек. В последнем случае мы лицом к лицу сталкиваемся с теоремой выборки из теории информации, которая приводится в третьей части, но на самом деле объясняет многое из материала второй части. Таким образом, в некотором отношении многое во второй части является несколько поверхностным. Чтобы увидеть, что проблема выбора узлов реальна, представьте, что вас просят вычислить интеграл 1 § / (х) йх о для некоторой сложной функции, которую вы не можете проинтег- рировать аналитически. Вас попросили в действительности оценить площадь области под кривой, основываясь на ряде узлов (скажем, их п), или, что то же самое, оценить среднее значение /(х). Идеально, нужно знать о функции очень много, чтобы расположить узлы наи- лучшим образом. Допуская различные свойства функции, мы получаем различные способы расположения узлов (вследствие привычки автора слова «узлы» и «информация» часто будут применяться взаимозаме- няемо). Другим примером задачи, в которой возникает вопрос «где лежит информация!» — является задача нахождения производной в точке (хотя, в противоположность интегралу, производная — локальная ха- рактеристика). Здравый смысл диктует использование информации, близкой к точке, в которой надо оценить производную. С другой стороны, если узлы взять слишком близко, то шум в вычислении или измерении узловых точек будет мешать вычислению с хорошей точ- ностью. Таким образом, соответствующий ответ на вопрос «где взять узлы?» требует оценки шума, который портит всю информацию. Как было замечено раньше, соответствующей теории шума нет, но разви- тие медленно идет в этом направлении.
§ 7.4. Класс функций Второй из четырех вопросов был: «какой класс аппроксимирующих функций мы будем применять»? Существуют три класса или группы функций, широко применяе- мых в численном анализе. Первая группа включает в себя линейные комбинации функций 1, х, х\ хп, что совпадает с классом всех многочленов степени п (или меньше). Второй класс образуют функции соз а1х, зш й{Х. Этот класс имеет отношение к рядам Фурье и интегралу Фурье. Они рассматриваются в третьей части. Третья группа образуется функ- циями Эти функции часто встречаются в реальных ситуациях. К ним, например, приводят обычные задачи накопления и распада. Они также рассматриваются в третьей части (см. гл. 26). Каждая из этих трех групп обладает одним важным свойством: конечное множество функций такой группы переходит само в себя, когда х заменяется на Например, если Р(х)— многочлен степени п, то Р (х к) — также многочлен степени п по х, хотя, конечно, их коэффициенты различны. То же самое относится к двум другим группам. Это свойство важно, так как оно подразумевает, что, когда мы выбираем множество аппроксимирующих функций, нам не требуется иметь сведений о начале отсчета. Использование любого другого конечного множества аппроксимирующих функций (кроме комбинации этих трех) подразумевает существование естественного начала от- счета, так как выбор начала отсчета будет влиять на результат *). Если в задаче есть особенность, это автоматически определяет есте- ственное начало отсчета; обычно характер особенности подсказывает, какую группу аппроксимирующих функций надо использовать (см. третью часть, гл. 27). Но в большинстве задач нет естествен- ного начала отсчета, и мы вынуждены выбирать одну из этих трех групп или комбинации их, если выбор не должен повлиять на ответ. Множество линейных комбинаций 1, х, х'\ хп имеет еще одно важное свойство, а именно: как множество оно также не изме- нится при замене х на кх. Другие две группы этим свойством не обладают. Таким образом, если в задаче нет естественного масштаба, то мы вынуждены использовать многочлены или воздействовать на *) Мы не будем доказывать здесь это утверждение, но просто исполь- зуем его, чтобы объяснить, почему рассматриваются в основном эти три группы.
ответ самим выбором масштаба. Но даже если множество аппрокси- мирующих функций обладает свойством независимости от масштаба, во многих задачах, особенно тех, в которых функции зависят от времени, есть естественный масштаб. Поэтому преобладание много- членов над другими двумя группами весьма прискорбно. Сравнительно запущенное состояние использования двух других групп означает, что теории их не были развиты так же далеко, как для многочленов, и в результате мы считаем эти теории более трудными, чем они есть. Отношения двух многочленов, или, проще, рациональные функции,, также обладают свойством независимости от масштаба и для них существует постепенно развивающаяся и вполне удовлетворительная теория (см. гл. 20). Мы обычно не сталкиваемся с константами, воз- веденными в многочленную степень, или многочленами, возведенными в многочленную степень; каждый из этих классов также обладал бы свойством независимости от масштаба. § 7.5. Согласие Третьим из четырех вопросов был волрос: «каким критерием согласия мы будем пользоваться»? Классическим является ответ: «точное совпадение в узловых точках», который имеет преиму- щество простоты теории и выполнения вычислений, но также и не- удобство из-за игнорирования шума. В основном вторая часть книги посвящена точному совпадению, но нужно помнить, что этот крите- рий пренебрегает особенно важными аспектами типичной вычисли- тельной ситуации. Мы уже видели, что критерий точного совпадения в узловых точках в случае использования многочленов дает то же, что получение формулы, точной для 1, х, х\ ..., хп. Другой относительно хороший критерий — это «наименьшие квадраты». Он означает, что сумма квадратов отклонений в узловых точках должна быть сделана наименьшей возможной или, проще, минимизирована. Этот критерий использует избыточную информацию, чтобы получить некоторое сглаживание шума. Он популярен у мате- матиков вследствие красоты математической теории, которая ему со- ответствует, и у физиков, потому что они полагают, что наименьшие квадраты—это принцип природы. Но человек, занимающийся вычи- слениями, имеет право смотреть на этот критерий с подозрением в каждом конкретном случае (см. главы 17 и 18). Третий критерий связывается с именем Чебышева. Основная идея его состоит в том, чтобы уменьшить максимальное отклонение до минимума. Последний критерий становится особенно популярным в наши дни (см. гл. 19). Очевидно, возможны и другие критерии. Выбор какого-либо из них обычно определяется физической задачей, из которой возникла вычислительная. Мы попытаемся дать краткую характеристику различным критериям, когда будем вводить их, но 4 Р. В. Хемминг
гак как это — учебник по численным методам, то мы не станем тратить время на то, чтобы обучить читателя умению находить нужный критерий. Однако выбор критерия часто сильно влияет как на то, что должно быть сделано, так и на результат, который получится; поэтому этот вопрос заслуживает внимательного рассмотрения перед началом вычислений. § 7.6. Точность Последним из четырех был вопрос: «какую точность мы хотим получить-»? Внешний вид ответа, который обычно дается, таков: «3 или 4 десятичных знака в ответе». Во многих задачах этого недостаточно: такой ответ игнорирует основную сторону вопроса. Рассмотрим, например, решение системы линейных алгебраических уравнений для неизвестных х{. Нам нужно ответить на следующие вопросы: 1. Должны ли быть точными хр 2. Должны ли быть маленькими остатки уравнений после того, как вычисленные подставлены в них? 3. Должна ли данная группа уравнений быть близкой к группе уравнений, для которой Х[ суть точные ответы? Очевидно, что в определенной конкретной ситуации может го- диться еше какая-либо другая мера точности. Обычно отвечают утвердительно на первый вопрос; но лишь иногда такой ответ является самым подходящим. Второй критерий часто является надлежащим, потому что стре- мятся обратить в нуль уравнения и вычислить хг, которые дают это обращение в нуль. Третий критерий также очень полезен и постепенно все больше и больше используется в приложениях, так же как и в формальном анализе ошибок. В известном смысле говорят: «Так как ни ваши измерения, ни ваша физическая теория не являются точными, то как близко к ним я должен подойти в своих вычислениях?» Во многих отношениях это — самый основной критерий, критерий, из которого делаются предположения для других критериев. Ошибки в известном весе снаряда или планеты или даже в величине светового давления могут превратиться в равноценные ошибки, допускаемые на каждом шагу вычисления траектории, и учет этого обстоятельства имеет боль- шее значение, чем задание произвольной «допустимой ошибки», кото- рое будет достигнуто в конце траектории. Таким образом, мы видим, что путь, на котором мы отвечаем на четыре вопроса: 1. Какие узловые точки мы выберем? 2. Какой класс аппроксимирующих функций мы выберем? 3. Какой критерий согласия мы выберем? 4. Какую точность мы хотим?
может значительно влиять на ответы, которые получатся из вычисле- ния. Также должно быть ясно, что ответы на эти вопросы должны быть найдены в первоначальной задаче, а не в математических трак- татах или даже в книгах по численному анализу. Здравая вычисли- тельная практика требует постоянного исследования изучаемой задачи не только перед организацией вычисления, но также в процессе его развития и особенно на той стадии, когда полу- ченные числа переводятся обратно и истолковываются на языке первоначальной задачи. ГЛАВА 8 ИНТЕРПОЛЯЦИЯ МНОГОЧЛЕНАМИ. ДАННЫЕ С ПРОИЗВОЛЬНЫМИ ПРОМЕЖУТКАМИ § 8.1. Философия Существуют два главных применения интерполяционных формул. Прежде всего, они применяются для целей замены графически задан- ной функции аналитической. Изредка они используются и для того, чтобы выделить зависимость ответа от параметра, как в примере в § 1.9. Второе главное применение их — для интерполяции в таблицах. В наши дни на универсальных цифровых вычислительных машинах интерполяцией пользуются не слишком охотно. Вместо того чтобы находить значения из таблиц, записанных в машину, предпочитают пользоваться формулами. Формулы для вычисления значений часто находят полуэмпирически и независимо от техники интерполяции многочленами. С другой стороны, высокоразвитое искусство изготов- ления таблиц *) делает понятньш разработанность интерполяционных методов. Собирающемуся составить таблицы решительно не рекомен- дуется приступать к делу, не изучив прежде хорошо известную тех- нику и возможные ловушки. § 8.2. Интерполяционные многочлены Многочлен степени п у (х) = а0 + «1-* + 4-... 4- апхп = У, а„хк (8.2-1) имеет п 4* 1 коэффициент. Естественно полагать, что п -ф-1 усло- вие, наложенное на многочлен в общем виде, позволит однозначно См., например, [10]. 4
определить коэффициенты. В частности, можно потребовать, чтобы много- член проходил через иф*1 точку (х;, ф.) (1=1, 2, ..., л 4*1) с х, Ху. То, что многочлен проходит через точки (хг, у,) означает выполнение условий п У1= Ел акх1 (/= 1, 2, 1). к = 0 Определитель для этих л 4* 1 линейных уравнений относительно не- известных ак есть определитель Вандермонда 1 X] Х1 ...х" 1 х9 х| ...X" 1 Л«+1 • • • X п р! = /(Х1, х8, хп+1), который, как мы сейчас покажем, не равен нулю, если хг х,- для / ф ]. Ясно, что определитель есть функция от х1; х2,..., хп+1. Если считать его сначала функцией от хп+], то он есть многочлен степени п и обращается в нуль всякий раз, когда х„+1—Ху (для /=1,2, ...л). Таким образом, /(хь х2,х„+1) содержит множители п | | (4«+1 == (-^«4-1 Л-1) (Л-и+1 ЛГ$). . . (Х„+) Хп). Рассматривая определитель как функцию от х„, мы видим точно так же, что существуют множители п-1 1 1 (хп -^1)== (хп Х1) (хп х2)... (хп хп1) 1=1 и вообще все множители «4-1 П (•*/—•**) />г=1 встречаются в нашем определителе. Произведение всех этих множи- телей есть многочлен степени п (П — 1) 4- (Л — 2) 4-... -ф 1 = --(”+
Но определитель также есть многочлен той же самой степени; сле- довательно, п ® = с П (*/-*Д (8.2-2) />г = 1 где С—некоторая константа, которую еще надо найти. Чтобы опре- делить С, рассмотрим выражение, которое получается при умножении членов главной диагонали 1 • х2 • х1... хпп±\. Раскрывая произведение, мы находим точно такой же член, и, сле- довательно, С=1. Таким образом, определитель_Вандермонда не равен нулю, если хг ф X] для I /. Возвращаясь к нашей главной задаче о нахождении многочлена по п -ф-1 точке (х,-, уф, мы видим, что ее всегда можно решить и найти коэффициенты ак по правилу Крамера или каким-нибудь другим способом. Подставив эти значения в общий вид многочлена (8.2-1), мы можем представить результат в виде у 1 х х'2 ... Xя у1 1 X] Х1 ... х" у». 1 х2 х| ... X" 1 2 Я У п+1 1 ^п+1 Хпу\ . . . Хпу\ (8.2-3) Впрочем, этот результат можно проверить, рассуждая следующим образом: во-первых, выражение (8.2-3) должно быть многочленом степени п по х, так как определитель можно разложить по элемен- там верхней строчки, и, во-вторых, он проходит через п -ф-1 точку (хг, уф, так как подстановка этих значений в верхнюю строку делает две строки определителя одинаковыми. Возможно, что коэффициент при хп есть нуль (условия того, чтобы это было так, достаточно ясны) и что степень многочлена меньше, чем п. Чтобы охватить и этот случай, утверждению, что многочлен имеет степень п, часто при- дают смысл: степень п или меньше. В вырожденном случае, когда все у,- равны, многочлен имеет степень 0 и у (х) = С. Все изложенное можно подытожить, сказав, что если есть п -ф-1 узловая точка функции, то можно найти многочлен степени п, кото- рый совпадает (пренебрегая ошибками- округления) с функцией в узло- вых точках. Насколько близки обе функции между узловыми точ- ками, будет исследовано в § 8.6, но, предположив, что они близки, мы можем использовать многочлен вместо функции в дальнейших
аналитических процессах: интегрировании, дифференцировании, отыска- нии нулей и т. д. Вместо требования, чтобы многочлен проходил через некоторые данные точки, можно потребовать, чтобы он в некоторых заданных точках имел данный наклон. Так, уравнение У 1 X хг X3 1 х? Та 1 х1 Ха У1 0 1 2X1 Зх! У 0 1 2х.> 3x1 определяет многочлен третьей степени по х, проходящий через (хр У1) с наклоном у[ и через (х2, >>) с наклоном у'г (так как для дифференцирования этого определителя по х достаточно продиффе- ренцировать почленно его верхнюю строку). Если в точке дано значение у, то вовсе не обязательно в ней должно быть указано значение у; то же относится и к более высо- ким производным. Ограничением на выбор условий является требова- ние, чтобы минор члена у обязательно не был равен нулю. В про- тивном случае многочлена может не существовать. Это означает, что должно быть дано по крайней мере одно значение функции у/, по крайней мере два условия на у{ и у'ь три на у;, у\, у1 и т. д. вплоть до производной самого высокого порядка. Только что сформулированное условие не является достаточным. Рассмотрим, например, три равноотстоящие точки, которые мы обо- значим — 1,0, 1. В каждой точке нам даны функция у1 и вторая производная (в физических терминах положение и ускорение). Минор при у равен 1 — 1 1 — 1 1 — 1 1 0 0 0 0 0 1 1 1 1 1 1 = 0. 0 0 2 — 6 12 — 20 0 0 2 0 0 0 0 0 2 6 12 20 Таким образом, эти шесть условий не определяют многочлена пятой степени.
Упражнения 8.2- 1. Напишите многочлен, проходящий через (х,, с тангенсом угла наклона у[ и второй производной у’ и имеющий тангенс угла наклона у'3 в х2. у 1 X X2 X8 У1 1 X, X? х| Ответ: у; 0 1 2х, Зх2 = 0. У'! 0 0 2 бХ; у’., 0 1 2х2 Зх2 8.2- 2. Показать, что если использовать условия на у, у', у",..., у<л*11 в одной точке хг, то многочлен будет представлять оборванный ряд Тейлора. 8.2- 3. Найти нетривиальный многочлен у (х) такой, что У (— 1) =У (0) =у (1) =/' (— 1) =У" (0) =у" (1) =0. Исследовать его. Один из возможных ответов: у (х) = Зх5 — Юх8 + 7х. (Замечание: еш тех также обладает этими свойствами.) § 8.3. Метод интерполяции Лагранжа Другой подход к задаче интерполяции — метод Лагранжа. Основ- ная идея этого метода состоит в том, чтобы прежде всего найти многочлен, который принимает значение 1 в одной узловой точке и 0 во всех других. Легко видеть, что функция — (х — хд) (х — х8)... (х — хл0 (х — ху+1)... (х — хя+1) __ Л ' (х7—х1)(х/—х3)...(х,-—х^ОСху—х/+1)...(х,—х„+1) "+1, П (X— X;) 1 = 1 — П-Н П (Х!~ Х‘> I — 1 (где штрих у знака произведения означает «исключая /-е значение») является требуемым многочленом степени п; он равен 1, если х — Х/. и 0, когда х = х,, ]. Многочлен 1у(х)_уу принимает значение в /-й узловой точке и равен нулю во всех других узлах. Из этого следует, что п-\- 1 У(х) = Щ есть многочлен степени п, проходящий через п 1 точку (х,, уг).
Можно спросить, совпадает ли многочлен Лагранжа с многочле- ном (7.2-3), построенным в предыдущем параграфе. Их разность — многочлен степени не выше п и она обращается в нуль в п -|-1 узловой точке х — х{, следовательно, она тождественно равна нулю. Таким образом, можно сделать следующее важное замечание: если дана и -ф-1 узловая точка, то соответствующий многочлен степени п, про- ходящий через эти точки, однозначно (в пределах ошибок округле- ния) определен, независимо от того, как он строится и какие обо- значения использованы. Это необходимо подчеркнуть, потому что не- которые книги по численному анализу могли бы навести читателя на мысль, что различные формулы изображают разные многочлены, или из-за того, что они получены разными способами, или из-за различия в обозначениях. Если используются разные узловые точки, то, ко- нечно, многочлены могут быть различными, но одинаковые узловые точки должны приводить к одинаковым многочленам (в пределах ошибок округления). Интерполяционная формула Лагранжа неудобна для практического использования. Преобразования позволяют привести ее к несколько более удобному для вычисления виду. Рассмотрим частный случай, когда все_уг = 1. Тогда у(х)=1 для всех х, так что тождественно п +1 1= 2 ТДх). /=1 Мы можем теперь разделить правую часть формулы Лагранжа на это выражение, положив А1==—~У---------; 7 П (X/—х{) I после деления числителя и знаменателя на (х — х/) получим п + 1 У! [А!У)1(Х~Х;)] У (х) = . У ИДХ — Х/)] /=| Иногда это выражение называют «барицентрической формулой». Ее легче применять, чем формулу Лагранжа. Рассмотрим теперь задачу нахождения интерполяционного много- члена, который в каждой точке х1 принимает значение у( и имеет производные у)(/=1, ... , п—|— 1). Такой многочлен называется мно- гочленом Эрмита. Ясно, что он имеет степень 2п -ф- 1 (так как должны быть удовлетворены 2п -ф- 2 условия).
Нас больше интересует метод, применяемый при построении мно- гочлена, чем окончательный результат. Этот метод есть естественное продолжение метода Лагранжа. Мы ищем такие многочлены Н( (х) и /?, (х) степени не выше что при I / Н/(х/) = 0, йу(х(.) = 0, Н'< (хг) — 0, йу (х;) = 0, /гу(ху) = 0, лб(х7)=о, й;(ху) = 1. После того как эти многочлены будут найдены, решение поставлен- ной задачи можно будет записать в виде п 4-1 у(х)= 24яДх)-1;У+/гУ(хШ]- /=1 Прежде всего построим йу(х). Если /гу(хг) = 0и /гу(х,.) = 0, то/гу(х) должен содержать множитель (х — хг)2 (для I уб /)• Если йу(ху) = 0, но йу(ху)^6 0, то существует простой множитель (х — ху). Чтобы получить йу(ху) = 1, следует взять ь / ч (X — Хд)2(х — х2)2 ... (х —хЛ1)2(х —ху) (х —ху+1)2 ... (х —х„+1)3 Л ’ (х,—х,)2 (ху—х2)2 ... (ху—хЛ1)2 (ху—х/+1)2 ... (х,-—х„+1)2 ’ Читатель легко убедится, что йу(х) обладает требуемыми свойствами. Построение 77у(х) почти такое же. Опять мы имеем множители (х — х€)а (для I /), но в то же время требуем, чтобы /7у(ху)=1, /7/(ху) = 0. Будем искать /7у(х) в виде и , ч _ (X —Х1)2(Х —Х2)2 (X — Ху.;)3 (ох4-й)(х — ху+1)а ...(х —хп+1)2 > * ’ (х,—х1)2(х/—х2)2 ... (х,— хм)2(х/— х/+1)2 ... (X/—х„+1)2 • Условие /7У (ху) = 1 требует, чтобы ах; Ь — 1. Взяв производную от Н] и положив в ней х = ху, получим 9 9 2 Н; (ху)=^—7- + Т + ••• + 77=77 + л / л । л ? —— л 2 Л / л । 2 2 -----------Ц ,_|---------= 0. 1 1 х/—х/41 ‘ । X/—хя+1
Таким образом, « +1 а =— 2 У —-—. Ь—\—ах> X — Хр 1 и требуемая формула построена. Этот метод построения многочленов, обладающих специфическими свойствами, используется в теории численных методов весьма часто и им следует овладеть. Мы применили его в двух конкретных слу- чаях — при построении интерполяционных полиномов Лагранжа и Эрмита; но читатель должен уяснить себе общий метод подбора у,-, Уй уГ в х^ Как будет видно при исследовании погрешности интерполяционных формул, использование производных в близких точ- ках весьма - увеличивает точность формулы. Упражнение 8.3-1. Указать способ получения интерполяционной фор- мулы, которая имеет значения у:, у1 и у; в каждой точке х/. § 8.4. Интерполяционная формула Ньютона Рассмотренные методы нахождения интерполяционного многочлена по я-ф1 точке подразумевали, что множество используемых узлов известно. Часто известным является лишь требуемая точность, а мно- жество узлов, которые следует использовать, определяется информа- цией о том, как вычисляется функция. Интерполяционная формула Ньютона, которая будет изложена, представляет собой просто другой способ написания интерполяционного многочлена. Она полезна, потому что число используемых узлов может быть легко увеличено или уменьшено без повторения всего вычисления. Формула Ньютона из § 1.5 есть просто ее частный случай, когда узловые точки равно- удалены. Как и раньше, обозначим многочлен, проходящий через п-\- 1 точку (х;, уг)(/=1, 2, ..., через Рп = Рп(х}. Можно написать (х) = у, + (х — Х0 РпЛ (х), где Рга-1(х) — некоторый многочлен степени п—I. Ясно, что рп (%,) —у} и следует заботиться лишь об п точках (/ = 2, 3, ... ..., п-(- 1). Предыдущее уравнение может быть записано в виде и, следовательно, требуется, чтобы Рп-, (х,) Рп - Рп (А) = (' = 2,3, .... и-4-1). ЛI Л । л । Л |
Тем самым нужно, чтобы Рп Л (х) проходил через точки 4 0;) (г=2-3.................."+1)- Величины = *1] = 1*1> хг] называются разделенными разностями и обычно записываются в квад- ратных скобках *). На следующем шаге надо написать Рп-1 О) = 01, Х%] 4- (X — Х3) (X) и требовать, чтобы Рл_2(х) принимал значения разделенных разностей от разделенных разностей II , , ,, [х,-, Х.1— |х., Х.1 , IIXI, Х1], |х3, Х1]] = I '.---------- = 1X1, Х3, Х1|. Л I Л 2 Нетрудно видеть, что разделенные разности первого порядка не зависят от порядка аргументов в квадратных скобках. Покажем теперь, что это верно и для разделенных разностей второго порядка. Если начать с трех точек (Х1, У1), (х3, Уъ), (Х3, Уз), то получим единственный многочлен второй степени, проходящий через три точки. Его можно записать так: У=У1 + (х — х1){[хз, Х1] 4- (х — Ха) [х3, х3, х,]}. Если теперь взять точки в таком порядке: (хда уа), (хь, уь), (хс, ус), то получим У=Уа + (Х — Ха){[Хь, Ха] 4- (X — Х6) [хс, хь, Хо]}. Так как оба этих уравнения определяют один и тот же квадратный трехчлен, то коэффициенты при ха должны быть одинаковы, так что два символа [Хз, х3> х1] = [х(9 хь, аа] выражают одно и то же. Вообще определяем I .. .. „ 1 _____ [•*!> Хл_2, Хл-1] [хп Хг, Хл_2, Хп] |Х|, Х.2> Х3, . .., Х„]------------------------------------------ ЛП-1 ---лп и в точности таким же способом показываем, что разности не зависят от порядка х;. Заметим, что знаменатель есть разность неповторяю- щихся значений х, взятых в том же порядке. *) Используются и другие обозначения, например / [х,, хх) и р [хг, хх].
Один из способов построения таблицы необходимых значений следующий: хг | у?___________________ I [Х2, Л1] *_____________________________ А« | _Уз [х3, Х<>) Ад] * ! [*8, -у 11 1х4, х3, х8, хк\ * Т3 ! у.___________________[х4, Ха, Ад] I [-У4, *1]___________________—__________ х, ; уа __________________________ Звездочки означают числа, использующиеся как опорные значения при вычислении значений многочлена. Из этой таблицы можно написать У(х)=У!4-(х —Х!)([ха, Хг]-]- (х — х2) {[х3, Х2, Хд] — + (х-х3) [...]}], В качестве примера рассмотрим таблицу логарифмов X 1,1 [>,] 1 0,0000* 0,30100* 2 0,3010 0,23855 —0,06245* +0,01230* 3 0,4771 0,20070 —0,05015 4 0,6021 Звездочки означают опорные значения. Отсюда получаем у (х) = 0 + (х — 1) {0,3010 4- (х — 2) [(— 0,06245) -4-(х — 3) (0,01230)]}. В частности, у (2,5) = А | 0,3010 -{-1 [(- 0,06245) 4- (— 1) (0,01230)]} = = 0,40001. Верное значение 1ё 2,5 = 0,3979. Упражнение 8.4-1. Укажите способ добавления еще одной данной точки в конце таблицы разделенных разностей. Покажите также, как добавить одну точку наверх. В первом случае какое изменение следует сделать в мно- гочлене Ньютона?
§ 8.5. Другая форма для таблицы разделенных разностей Таблица разделенных разностей, которая лежит в основе интер- поляционной формулы Ньютона, может быть написана в другой, иногда более полезной форме. Заметим, что Г .. I __ |Лн х^1 •••' ХП~ 11 ~ [-^11 Х2> •••> ХП-2, Хп\ 1Х1’ хг, ..., Хп)----- - ---------------------- л П-1 ~~ лп ___ [А11, -Л*2, • • , ХП—1] - [-^2> , Хп] хг—хп '• В частности, V 1 — 01" ^1—1(ХЬ *3)] _______ [Хп Х3] — [хг, Х3] И1> -г3’ хз] — ~ ~ „ • Л 2 --Л 3 Л, 1 Л з Таким образом, можно написать I [>] [»1 1»>1 хх х2 Х3 Хь У1 [х2, Хх] У-2 [х3, х* хг\ [х3, х.>] [х4, Х3, Х2, Хх] Уз [х4, х3, х.2] У4 {Хь, х3] Несмотря на то, что числа в этой таблице отличаются от чисел в предыдущем разделе, числа в верхнем ряду, которые только и используются в формуле Ньютона, те же самые. Взяв тот же самый пример для 1§х, получаем X 'г* 1,1 1„] [„,] 1 0,0000 0,3010 2 0,3010 0,1761 —0,06245 +0,01230 3 0,4771 0,1250 —0,02555 4 0,6021 В таком виде мы легко можем добавить строку и к тому и к дру- гому концу таблицы и надеяться, что числа в таблице изменятся гладко. Хотя теоретически нет необходимости располагать точки в порядке возрастания (или убывания) Х;, гладкость в таблице нару- шается, если такого порядка нет. Первые разделенные разности —се-
кущие линии и, следовательно, близки к первым производным в интер- вале (хп, хл+1). Аналогично вторые разделенные разности являются локальными приближениями ко вторым производным и т. д. Упражнения 8.5-1. Используя таблицу вычислить интерполяционный многочлен Ньютона. Показать, чтоу = х5. 8.5-2. Вычислить таблицу разностей обоими способами (§§ 8.4 и 8.5) для у=81пх с шагом в 30°: X 0 30° 60° 90° 51П X 0,0000 0,5000 0,8660 1,0000 Найти аппроксимационный многочлен. 8.5-3. Как прибавить одну точку внизу таблицы и вычислить следующую разделенную разность, если в памяти вычислительной машины хранится лишь верхний ряд таблицы разделенных разностей? Как прибавить одну точку наверху и найти новую строку? § 8.6. Погрешность многочленной аппроксимации Задав функцию /\х), мы брали п-г-1 узловую точку (х,, у,-) 2, ..., п -1) и находили многочлен Рп(х), проходящий че- рез эти точки. Затем мы собирались использовать многочлен вместо первоначальной функции, и поэтому важно рассмотреть вопрос о том, как сильно могут отличаться функция и многочлен в точках, отлич- ных от узловых (где они совпадают в пределах ошибки округления). В качестве примера рассмотрим функцию у (х) = х. В §§ 8.4 и 8.5 мы находили многочлен, аппроксимирующий функцию. Исследуем значения разности 1§х — Р(х) в узловых точках и средних точках между ними, где можно ожидать, что она довольно велика. X 18 х Р (X) 18 х - Р (х) X 18 х Р (XI 18 х - Р (X) 1,0 0,0000 0,0000 0,0000 3,0 0,4771 0,4771 0,0900 1,5 0,1761 0,1707 0,0054 3,5 0,5441 0,5414 0.0027 2,0 0,3010 0,3010 0,0000 4,0 0,6021 0,6021 0,0000 2,5 0,3979 0,4000 —0,0021
Теоретическое выражение для разности между первоначальной, функцией ((х) и аппроксимационным многочленом Р(х) может быть найдено, если заметить, что разность равна нулю во всех узловых точках, и написать У (х) — Р (х) = (х — х^ (х — х2)... (х — хл+1) К (х), где /< (х) выбрано соответствующим образом. Для произвольного х* имеем у (х*) — Р (х*) — (х* — хг) (х* — х,_)... (х* — х„+1) К(х*) = 0. Теперь рассмотрим функцию Ф (х) = у (х) — Р (х) — (х — х0 (х — х,3)... (х — хп+1) К(х*). Если у(х) имеет (/г-г1)-ю производную, то функцию Ф(х) можно продифференцировать п-|— 1 раз. Так как Р(х) — многочлен сте- пени п, а К (х*) — константа, то ф(л+1’(х)=Уя+1)(х) —(л-ф-1)! /С(х*). Но Ф(х) обращается в нуль га-]-2 раза (в точках х* их^ х.7, ..., хя+1). Следовательно, по теореме о среднем значении Ф' (х) обращается в нуль по крайней мере п + 1 раз в интервале, содер- жащем все значения (включая х*). Продолжая применять эту тео- рему, находим, что Ф(и+1) (х) обращается в нуль по крайней мере п + 2 — к раз и что Ф(ге+1) (х) обращается в нуль по крайней мере однажды. Таким образом, в интервале значений х существует та- кое х, что у<л+1)(х)==(«+1)!/<(х*). Отсюда можно получить значение константы /<(х*). Подставив его в первоначальное выражение, получаем рг1-*ТД- (х*~Х1)(х*—х2)...(х*—хя+^у«+1’(х) )Чх ) — н(х (п+1)! Так как х* произвольно, то вместо х* можно написать х: у (х) = Р (х) + (-у-^П+х-(+ . (8 б.,} Используя это выражение, чтобы оценить ошибку, сделанную при интерполяции в таблице логарифмов, получим (х — 1) (х — 2) (х — 3) (х — 4) , У) 4! У (Х>- Оценивая ошибку при х —3Д, получаем (+)(-+) (-г+(~+Д 6 _15 X. 41 ' ,х‘ 64 ’ х‘ *
О значении х известно лишь, что 1^х=^4. В худшем случае 15 ошибка равна 0,23, тогда как в лучшем случае 0,001; в дей- ствительности же она около 0,0054, что показывает, с какой малень- кой точностью мы можем оценить ошибку, используя полученное выражение. Следует заметить, что среднее значение х~х(х) зависит от х и в действительности для какого-либо значения х может существовать несколько значений х. Следовательно, х не обязательно непрерывная функция от х. Этот последний факт иллюстрируется применением теоремы о среднем значении к функции у(х) — х(\—х)2 и выбором « —0 в обычной форме теоремы о среднем значении: у (х)=(1 _ у ’ х— а х 4 ' Таким образом, у'(х)^0 и при х, меняющемся от 0 до 1, х ме- няется от 0 до ^з, при х, меняющемся от 1 до 2, х меняется от ’/з до 0, а когда х становится больше 2, перепрыгивает через интер- вал, где У<^0, к х^>1. Следовательно, х==х(х) не непрерывная функция от х. Исследуем теперь частный случай интерполирования по формуле Эрмита, где и функция и производная заданы в каждой из п 1 узловых точек. Чтобы найти ошибку, заметим, что у(х)— Р(х) имеет двойной нуль в каждой х,- и можно положить У (х) — Р (х) = [(X — Х1) (х — х2)... (х — х„+1)]2 К (х). Продолжая как и выше, находим У (х) = р (х) + _(л' - .у*т) (Х). (8.6-2) Детали выкладок предоставляем проделать читателю. Форма остаточного члена, которой мы пользовались, соответ- ствует остаточному члену в ряде Тейлора, известному как остаточный член в форме Лагранжа. Упражнения 8.6-1. Найти остаточный член в случае, когда в каждой узловой точке известны функция и первые две производные (см. упражнение 8.3-1). 8.6-2. Показать, что остаточный член в случае, когда в лу определены функция и первые /и,— 1 производные, равен (х — ххУп‘‘ (х — х2)тз ... (х — хл+1)тп+1 -У- , (8.6-3) где т = /«! + т2 -|-... + тл+1. (Замечание: это не самый общий случай; в любой точке, где дана производная, мы также требуем, чтобы были заданы и все производные более низкого порядка. В § 8.2 мы так не делали; насколько известно автору, формулы остаточного члена в общем случае опубликовано не было.)
§ 8.7. Трудности приближения многочленом Принято, как это сделано в предыдущем параграфе, выражать ошибку приближения многочленом в терминах соответствующей про- изводной от функции, которая была аппроксимирована. Обычно ду- мают, что «для большинства разумных функций» такие выражения для ошибки становятся маленькими для достаточно большого п. К сожалению, это не так. Ограничим наше рассуждение аналитическими функциями, т. е. функциями, имеющими сходящийся ряд Тейлора СО п = 0 во всех точках хп интересующей нас области. Если к тому же функ- ция целая, т. е. ее ряд сходится всюду в конечной части комплекс- ной плоскости, как для б1п х, ехр х, многочлена от хит. д., то, действительно, все производные достаточно высокого порядка малы. Но если функция имеет особенность в конечной части комплексной плоскости, как 1%х, 1одх, рациональная функция от х и т. д., то ряд Тейлора должен иметь конечный радиус сходимости /?, а это в свою очередь означает, что для бесконечного числа значений п (®>0) и 1Уп)(х0)1^ п\ (7? + е)«- Другими словами, верхняя грань и-й производной растет как п\. В качестве примера > рассмотрим у = 1пх, , 1 У =~> 1 <,(”) --У-1)”"1 О*-!)1 У уп Таким образом, даже если кривая у = 1пх выглядит гладкой вблизи некоторых значений х, тем не менее, когда п становится
большим, производные в этой точке делаются очень большими по величине и ведут себя как п\. Это — общий случай: для «большинства функций» некоторые из производных более высокого порядка имеют тенденцию расти как п\. Ограниченными производными обладают лишь некоторые целые функ- ции *). Даже у производных от многочленов есть тенденция расти по величине до л-й производной, которая равна аои!; после нее все про- изводные становятся нулями. Конечно, у функции многие из произ- водных высокого порядка могут быть маленькими. Например, четная функция имеет все свои производные нечетного порядка равными нулю, но если функция не является целой, то существует также бес- конечное число производных четного порядка, которые имеют тен- денцию вести себя как п\. Было бы приятно, если бы приходилось иметь дело лишь с це- лыми функциями, которые обладают ограниченными производными, но в действительности оказывается, что если функция является целой, то весьма вероятно, что вся проблема может быть решена аналити- чески, тогда как если, необходимо применять численные методы, то функция, как правило, ведет себя несколько хуже. В качестве обоснования многочленных приближений часто цити- руется ([20], стр. 19) теорема Вейерштрасса, которая утверждает, грубо говоря, что непрерывная функция на замкнутом отрезке может быть равномерно приближена многочленами. Однако метод точного совпадения в узловых точках, которым мы воспользовались, не является способом, которым определяются многочлены Вейерштрасса; следовательно, теорема, хотя, возможно, и многообещающая, не при- менима. Хорошо известным примером является простая функция ([39], стр. 35 — 39) у (х) ~ р_|_х8. С ростом числа равноотстоящих узлов отклонение аппроксимационного многочлена от функции между неко- торыми узлами не уменьшается. Таким образом, даже для равноот- стоящих узлов нельзя полагаться на то, что многочлен будет хорошей аппроксимацией, если единственным требованием, которому должен удовлетворять такой многочлен, является точное совпадение в узло- вых точках. Объясняется этот факт, конечно, тем, что производные растут слишком быстро. В качестве примера рассмотрим функцию Римана, заданную табли- цей 8.7-1. Верхний ряд разностей не имеет тенденции быстро падать, что происходит из-за очевидной особенности при х — 1. Следует заметить однако, что если таблица дана через полшага по отношению к другой таблице той же самой функции, то ее пер- *) Обратное неверно: производные целой функции не обязательно огра- ничены. Например, если у = хех, то у'п‘ (0) — п-у1.
вне разности вдвое меньше, вторые в четыре раза меньше и т. д„ чем разности второй таблицы. Это наводит на мысль об эмпириче- ском правиле: если разности в таблице стремятся к нулю быстро, то, вероятно, был взят слишком маленький шаг, а таблица слишком велика, тогда как, если разности не становятся маленькими, следует рассмотреть более мелкий шаг. Таблица 8.7-1 ОО Дзета-функция Римана С (лг) — — *=1 X С (XI д; д". д3с дЧ дЧ 2 1,64493 —0,44287 3 1,20206 —0,11974 0,32313 —0,24878 4 1,08232 7435 —4855 0,20023 —0,16688 —0,04539 5 1,03693 2580 3335 —0,01959 —1520 —2403 6 1,01734 —0,00899 1060 —588 932 —596 7 1,00835 472 —252 336 —199 —0,00427 8 1,00408 220 137 —0,00207 —115 —75 9 1,00201 —0,00102 105 —53 62 —35 10 1,00099 —0,00050 52 —26 27 —16 11 1,00049 —0,00024 26 —15 11 —0 12 1,00025 —0,00013 11 —4 11 —11 13 1,00012 —0,00006 7 —4 0 +3 14 1,00006 —0,00003 3 — 1 3 —4 15 1,00003 —0,00001 2 —2 —1 16 1,00002 —0,00001 0 17 1,00001 Последнее и, возможно, самое серьезное возражение против аппроксимации многочленами заключается в том, что она редко имеет какое-либо физическое значение, которое приводит к полезным пред- ставлениям.
С другой стороны, теория аппроксимации многочленами проста, хорошо развита, требует минимума вычислений и полезна. Опыт по- казывает, что приближение многочленами во многих случаях дает хороший результат, хотя остаточный член часто либо вообще трудно оценить, либо его оценка очень пессимистична. Значения таблицы разностей могут быть весьма похожими на значения производной, и они показывают, насколько велик вклад от увеличения числа членов в интерполяционном многочлене Ньютона. Однако использование разностей как индикатора значений производной иногда опасно; так, для целого числа х все значения зткх равны нулю, так что таблица разностей, также состоящая из нулей, заставляет предположить ну- левую ошибку в аппроксимации 8Штсх = 0, что едва ли верно. Здесь ошибка очевидна, но в некоторых случаях она может быть пропу- щена. Упражнение 8.7-1. Вычислить п-к> производную от 1 1 / 1 1 \ ЛГ----л 1-1-х2—' 9- \х I х I / ) 1)’ 1 — А \ л I X “р- I у § 8.8. О выборе узловых точек Проблема того, какие узловые точки выбирать, возникает всякий раз, когда приходится интерполировать. Если бы мы имели полную свободу выбора, то выбрали бы именно то значение х, для которого собираемся интерполировать, сделав, таким образом, задачу тривиаль- ной. Но часто случается, что мы имеем обширную группу значений (х;, _у,-), которые можем использовать и ни одно из которых не со- впадает с желаемым значением х. Если о величине производной, встречающейся в выражении для ошибки, ничего не известно, то можно лишь выбрать наши узловые точки так, чтобы минимизировать коэффициент (см. уравнение (8.6-3) в упражнении 8.6-2) (х — х,)'”1 (х — х2)“2... (х — хп)тп перед выражением для производной. Здравый смысл и минимизация этого множителя требуют одного и того же: использования информации, близкой к месту, в котором нужно интерполировать. При применении интерполяционной формулы Ньютона У (х) =у (хО 4- (х — Х1) ([х2, Х1]-}-(х — х2){[х3, Х2, X!]})... возникает желание держать х близким именно к хг. Это желание следует сдерживать; выгоднее равновесие всех множителей, входящих в ошибку. Таким образом, следует выбирать значения х(- сгруппиро- ванными, если возможно, по обе стороны от требуемого значения х.
Иногда возникает другой вопрос (ответ на который не может быть дан здесь просто). Допустим, что мы хотим интерполировать значения на всем интервале. Где нужно выбрать узловые точки, чтобы минимизировать максимальную ошибку? Ответ на этот вопрос дается теорией многочленов Чебышева, изложенной в гл. 19. ГЛАВА 9 ИНТЕРПОЛЯЦИЯ МНОГОЧЛЕНАМИ. РАВНООТСТОЯЩИЕ УЗЛЫ § 9.1. Формула Ньютона для интерполирования Очень часто имеющаяся информация о функции (в виде значений в узловых точках) задана на множестве равноотстоящих значений х. В этом случае большая часть формул, вычислений, как, впрочем, и затрагиваемых идей, заметно упрощается. Для разностей при равноотстоящих значениях обычно применяют обозначения первой части: — Уп- Это — обычное для исчисления разностей обозначение, но Дх = /г здесь фиксировано: ^хп = хп^—хп=к. Мы имеем также д2Ул — У п+2 — 2у'„+1 Уп и т. д. Эти разности соответствуют разделенным разностям [х2, = й ’ Ду2 Ду, и вообще [Хя, Хч, — [х8, х3] — [х3, х,] _ к к _______Д’^ х3 — х, 2к ~2\к3 [Х1, х2, ..., х„] —(я_1)1 Разности приближают производные в точках, лежащих посередине между используемыми узлами: ~ кп I > пЛХ ЛПУ\Х + у ) Ох"
I 18 Эти соотношения дают возможность аппроксимировать выражения в дифференциальном исчислении конечноразностными. Формула Ньютона в этих новых обозначениях для равноотстоя- щих узловых точек имеет вид (см. уравнение (1.5-4) и § 8.4) У = Фо + (^ —-*о)^+(•* — •*») — л)т^г + + (Х — хд)(х — х0 — Ь)(х ~ хй ~ 2/г)^+ ... Полагая хо = О, получим + + й) ^° + х(х — й)(х — 2й)^р + .... и если дальше положить Л=1, то получается (ср. с уравне- нием (1.5-4)): у = у« + хкуь + х(х — 1) ДА_5_х(х— 1)(х —2)^4- ... Упражнение 9.1-1. Напишите остаточный член формулы Ньютона, где информация задана в точках —п, —(п— 1),-.., О, 1, 2, ... , п и исполь- зуются разности 2/г-го порядка. Оцените максимум коэффициента при про- изводной. § 9.2. Интерполирование в таблицах Одним из главных применений интерполяционных формул с равным шагом является их применение для интерполирования в таблицах с равноотстоящими аргументами. Типичным примером является инте- грал ошибок, таблица разностей которого дана в таблице 9.2-1. Раз- ности ведут себя хорошо в том смысле, что они стремятся к нулю, оставаясь довольно гладкими в столбце третьих разностей. Начиная с четвертых разностей и особенно в пятых разностях преобладает уже шум округления. Поэтому для этой таблицы нельзя надеяться, при- меняя какую-нибудь интерполяционную формулу, идти далее четвертых разностей. В принципе, интерполяционный многочлен может быть получен по формуле Ньютона для интерполирования и, не считая эффектов округления, ответ будет точно таким же, какой получился при исполь- зовании интерполяционного многочлена, полученного другим спосо- бом, использующим те же самые узловые точки. Тем не менее на практике применяется много других формул, и для общего образо- вания, чтобы читатель мог понять методы, приводящиеся в предисло- виях к большинству таблиц, мы разберем некоторые из них, наиболее популярные.
Таблица 9.2-1 I 02 I С ~~ ~2 Интеграл ошиоок - г_____ \ е |/2л .1 о Г / е'1 д Д2 дз Д4 Д5 0,00 0,0000 987 0,25 0,0987 928 — 59 —50 0,50 0,1915 819 — 109 —31 + 19 + 4 0,75 0,2734 — 140 +23 679 - 8 — 10 1,00 0,3413 531 — 148 + 5 + 13 + 4 1,25 0,3944 388 — 143 ф-22 + 17 — 11 1,50 0,4332 267 — 121 4-28 + 6 -10 1,75 0,4599 174 - 93 ф-24 — 4 + 4 2,00 0,4773 - 69 0 105 4-24 - 7 2,25 0,4878 60 — 45 + 17 — 7 + з 2,50 0,4938 32 - 28 4-13 — 4 — 4 2,75 0,4970 17 — 15 4- 5 — 8 + ю 3,00 0,4987 7 - 10 4- 7 + 2 - 9 3,25 0,4994 4 — 3 0 — 7 + 9 3,50 0,4998 1 — 3 4- 2 + 2 3,75 0,4999 1 — 1 4,00 0,5000 § 9.3. Ромбовидная диаграмма Ромбовидная диаграмма является приспособлением для доказатель- ства того, что огромное число формул, которые кажутся различными, в действительности все одинаковы. Мы определили биномиальные коэффициенты в § 1.3: С (и + к, п) = (и-\-к) (и-^-к— 1) (и-\-к—2) ... — ЯН~ О п\
Числитель и знаменатель этой формулы содержат по п сомножителей. Коэффициент С(п—ф-А, й)> если ег0 рассматривать как функцию от и, есть многочлен степени п. На рис. 9.3-1 изображена ромбовидная диаграмма. Линия, начинаясь в точке на левом краю и следуя по / ' у(-2У- 1 уНУ 7 у (ОУ 7 у(^У / У(2У 1 у(зу- 1 У^С'и +3,1) '^^Агу(-4)^'с(и+4,3) &4у(-3) ^^Лу{-3) ^У(и+3,2) Д3у(-4) ^С(и+4,4) У^С{и+2,1) ^^Дгу(-3)^С(и+3,3) ^^у(~4) Ду (-2)^С(и +2,2)^^у,_3} ^С(и +3,4) У^С(и+1,1) ^^йгу(-2)^С(и+2,3) ^^Д4у(-3) Ду(-1)^С(и+1,2) ^^у (-2) У^С(и+2,4) У^С(и,1) Д2у(и+1,3) ^^А4у(-2) '^Ду(О) С(и,2) ^^УД3уН)'^С(и+1,4) У^С(и-1,1) ^^Д2у(0)^ С(и,3) ^^Д4у(-1) ^Ду(1) ^С(и-1,2) ^УД3у(0)<Г С(и,4) У^С(и-2,1) ^^Дгу(1) У^С(и-1,3) ^^Д^(О) ^2Ду(2) У^С(^-2,2)^^Д3у(/) ^С(и-1,4) \С(и-3,1) ^^Дгу(2)'^С(и -2,3) ^^у(1) ^Ду(З) У^С(и-3,2) ^33у(2) У^С(и-2,4) Рис. 9.3-1. Ромбовидная диаграмма. •какой-либо дорожке поперек страницы, определяет интерполяционную формулу, если применять следующие правила: 1а. Для шага слева направо — складывать. 16. Для шага справа налево — вычитать. 2а. Если тангенс угла наклона шага положительный, то использо- вать произведение разделенной разности на коэффициент, находящийся под ней. 26. Если тангенс угла наклона шага отрицательный, то использо- вать произведение разделенной разности на коэффициент, находя- щийся над ней. За. Если шаг горизонтальный и проходит через разность, брать произведение разности на среднее арифметическое из коэффициентов, расположенных выше и ниже ее. 36. Если шаг горизонтальный и проходит через коэффициент, брать произведение коэффициента на среднее арифметическое из раз- ностей, расположенных выше и ниже его.
В качестве примера применения правил 1а и 26 рассмотрим путь, начинающийся с _у(0) и идущий направо вниз. Мы получаем фор- у (и)=у (0)4-С (и, 1)Ду(0) + С (и, 2)Д2Х0) + С(щ 3) Д3у (0) +.. .= =У (0) + ику (0) + и 1} Да> (0) + и (а ~ (Ц~~ 2) Д3ф (0) + ... , которая является формулой Ньютона. Если бы мы пошли направо вверх, мы применили бы правила 1а и 2а и получили бы вторую фор- мулу Ньютона у (и) =у (0)4-С (и, 1) Ду(— 1) + С(п+ 1, 2) Д*у(~2) + + С (и + 2, 3) Д3_у (- 3) 4-... = у (0) + «Д.у(-1)4- _|_.(ц + 1)» ДЯу(—2) 4-11±2Ц^±22А.ДЗу(_3)4_ ... (9.3-1) Чтобы получить формулу Стирлинга, начнем с у(0) и пойдем го- ризонтально направо, применяя правила За и 36: у (и) =у (0) 4- и 4- с(ц + 1> 2) + С(п, . 2) Д2^ 4-С(п +1, з)^-^-4- ...=фо+« + + 4,^К1 + «(«8-1) аз^+.А^...+ ... (9.3-2) Если мы начнем посредине между у(0) и у(1), то получим формулу Бесселя у (и) = 1 С(“' Ч + дЛ + с (0. 2) ^-^У. + . ...=а+А+(„ -4) ду, . а-к.+ач + (9.3.3) Если мы пойдем зигзагом, соответствующим образом, то можно получить интерполяционную формулу Гаусса у(м)=уо4-ндуо 4--- (к2~1} Д54-1) + й(--3ГД3>(-04- (9.3-4) Можно выбирать все виды путей и каждый будет давать некото- рую формулу. Нам нужно только доказать, что все это — действи- тельно интерполяционные формулы. Для доказательства потребуется показать следующее: 1. Что получается по крайней мере одна правильная формула; так как из диаграммы мы нашли интерполяционную формулу Ньютона,, то этот шаг доказательства уже сделан. 2. Что вклад по любому замкнутому пути равен нулю и, следо- вательно, что мы можем преобразовать один путь в любой другой.
3. Что если две формулы кончаются в одном и том же месте, то они одинаковы. Это необходимо доказывать, так как точки входа в ромбовидную диаграмму не обязаны быть одинаковыми для разных формул. С(и^-п-П йпу(з-/) ^4) (2) С(и-зЦп-1) ^лу(з)'^4(и-з,п+?) Рис. 9.3-3. Рис. 9.3-2. Чтобы доказать второе утверждение, возьмем ромб (рис. 9.3-2): Путь 1‘. С(и — 8, п) &пу (з—1)ф- + С (и— 8-ф-1, и!)Д"+1у(«—1). Путь 2: С (и— 8, п) Ьпу ($) -ф- С (и — 8, п-\- 1) Дл+1у(8—1). Т-Г о г X ±пу(8— 1)-ф-Длу(«) , Путь 3: С (и — 8, п) ————1— — -ф- | (ц— 8Ф~ 1, га-ф- 1)-(-С (и— 8, лф- 1) дл+1^ । Вспоминая, что справа налево получаются отрицательные члены (правило 16), мы должны лишь показать, что все три пути одина- ковы. Но Путь 1 — Путь 2 = С (и — 8, п) | Длу (з — 1) — Дпу («)] ф- ф- [С(л — 8ф-1, лф-1) — С(и — 8, лф- 1)] Дл+фу (8 — 1) = = С(И — 8, Л) [ — Дл+4 (8 — 1)] -Ф- । . Л — 8 ф— 1 — (И — 8 — 11} * п 4-1 , ,. + С(И — 8, Л) — ----------------д +1У (8 - 1) = = С(И — 8, л)[ — дл+‘у(8— 1) ф- ДЛ+1У (8— 1)] = 0. Кроме того, путь 3 равен среднему арифметическому путей 1 и 2. Таким образом, второй шаг доказательства закончен. Чтобы провести третий шаг доказательства, используем рис. 9.3-3. Путь 1 — у (8 ф— 1)-ф С(и — 8—1, 1) Ду(8)—С(и — 8, 1) Ду(8)-ф-5. Путь 2 у-Т!-И (;<» .-^,1) ($) _ — С (н * 1) Ду (Д/ 5*. Путь 3=у'($)4 X
где 5 есть оставшаяся часть' формулы. Теперь, используя равенство у(«+ 1) — у(8)-=Ду(8), получаем Путь 1 —у (8) + Ду (8) (и — 8) Ду (8) — Ъу (8) — — (п — 8) Ду (8) 5 — У (8) 4- 5 — Путь 3. Аналогично путь 2 можно свести к пути 3. Таким образом, мы можем сделать вывод, что интерполяционная формула зависит от окончательных значений и не зависит от пути, использованного для достижения их. Упражнение 9.3-1. Проверить формулы (9.3-2) — (9.3-4). § 9.4. Замечания к выведенным формулам Как сравнить эти разные формулы между собой и с формулой Лагранжа, найденной раньше? Значение, получаемое при интерполя- ции, зависит от используемого многочлена, а многочлен зависит от выбранных узловых точек. Остаточный член имеет форму (см. § 8.6) (х —хх)(х—х8) ... (х-хя.1)у»+1' (х) («+1)1 Коэффициент при производной минимизируется, если х берется в се- редине интервала узловых точек. Поэтому, когда интерполируемая точка находится в середине интервала, обычно используют четное число узловых точек, а когда она лежит около узловой точки — нечетное. Формулы, получаемые из ромбовидной диаграммы, содержат в явном виде разности, и эти разности дают некоторое представле- ние о точности, но эти формулы требуют больше арифметических действий, чем метод интерполяции Лагранжа. Зато метод Лагранжа непосредственно не использует разности, так что нет показателя точ- ности. Это — один из парадоксов численного анализа: использование разностей дает некоторые указания на точность примененного метода, в то время как метод Лагранжа минимизирует количество арифмети- ческих действий. В результате разностные методы обычно приме- няются при исследованиях, а метод Лагранжа — в обычной повседнев- ной работе. Коэффициенты Лагранжа для равноотстоящих узлов широко про- табулированы [32]. Некоторые коэффициенты для кубической интер- поляции даны в таблице 9.4-1. Заметим, что симметрия позволяет нам читать таблицу сверху, используя записи слева, или снизу, используя записи справа.
Таблица 9.4-1 Кубическая интерполяция Лагранжа Г (х) = А_х (х) / (-1) + А0 (х) / (0) + А, (х) / (1) + А2 (х) / (2) X А-1 ^0 А, А, 0 0 1 0 0 1,0 0,1 —0,0285 0,9405 0,1045 —0,0165 0,9 0,2 —0,0480 0,8640 0,2160 —0,0320 0,8 0,3 —0,0595 0,7735 0,3315 —0,0455 0,7 0,4 —0,0640 0,6720 0,4480 —0,0560 0,6 0,5 —0,0625 0,5625 0,5625 —0,0625 0,5 А А, Ло X Упражнения. 9.4-1. Используя интерполяционные коэффициенты Ла- гранжа, вычислить интеграл ошибок в точке 1,40 по таблице 9.2-1. 9.4-2. Используя таблицу 9.4-1, вычислить значение в таблице для х = 0,35. § 9.5. Смешанные интерполяционные формулы Иногда бывают полезны некоторые другие формулы, не получаю- щиеся непосредственно из ромбовидной диаграммы. Они обычно опи- раются на то, что любая разность может быть исключена примене- нием формулы ДПУ (8 4- 1) ~ ДПу (8) == ДЛ+5/ (8). Ценой этого исключения является включение дополнительной разно- сти некоторого другого порядка. Например, в интерполяционной формуле Бесселя можно исключить все разности нечетного порядка; это даст формулу У («) = (1 - и) У (0) + иу (1) + Д*у( - 1) + 4- Чи-Н) и(а —Ч д2у (0) 4- ..., которая известна как формула Эверетта и очень популярна, так как создателю таблицы нужно опубликовать лишь функцию и разности четного порядка. Аналогично можно начать почти с любой формулы и исключить разности любого порядка (ценою добавления разностей тех порядков, которые мы оставляем в формуле). Мы могли бы, если бы хотели, исключить, скажем, разности как второго, так и третьего порядков, используя лищь функцию, разности первого порядка, а также четвер- тые и более высокие разности. Проведение этой идеи до конца при- ведет к формуле Лагранжа, которая вообще не использует разностей,
но использует много значений функций. Исключение разностей про- изводится главным образом для экономии знаков и места при печа- тании таблиц, и делается это за счет дополнительной работы со сто- роны потребителя. Надлежащее равновесие зависит от обстоятельств и не может быть достигнуто раз навсегда. Второй прием, которым часто пользуются, называется «отбрасы- ванием». Здесь используется тот факт, что коэффициенты последова- тельных разностей в различных интерполяционных формулах, как, например, Эверетта, бывают пропорциональными друг другу, и по- этому, если высокие разности, взятые с соответствующими коэффи- циентами, при печатании таблиц объединить с низкими, то большая часть эффекта применения разностей высокого порядка в интерполировании автоматически достигается использованием формулы низкого порядка. Так, в формуле Бесселя отношение коэффициента при Д4 к коэф- фициенту при Д2 равно значение этого выражения лежит между — 4/6 и — 3ДС. Следова- тельно, если мы добавим СД4 к Д2 и таким образом образуем стол- бец модифицированных вторых разностей, мы допустим ошибку (в1У — Свп)Д4. Число С часто берут равным —0,184, как среднее между — 76 и — 3/16. Мы опять напоминаем читателю, что создание таблиц — это боль- шое искусство, и отсылаем читателя к Фоксу [10] или к классиче- ским руководствам Копала [20] и Хильдебранда [14]. Упражнения 9.5- 1. Найти формулу, которая использует лишь функцию и третью и шестые разности, исключением других из интерполяционной формулы Бесселя. 9.5- 2. То же, что в упражнении 9.5-1, но используя формулу Стирлинга. ГЛАВА 10 ЕДИНЫЙ МЕТОД НАХОЖДЕНИЯ ИНТЕРПОЛЯЦИОННЫХ ФОРМУЛ § ЮЛ. Введение Цель этой главы — дать единый метод для нахождения интерпо- ляционных формул. В отношении четырех основных вопросов: 1. Каковы узловые точки? 2. Каков .класс функций? 3. Каков критерий согласия? 4. Какова точность?
мы ограничимся в главах 10—16 классом многочленов и критерием точного совпадения. Преимущество предлагаемого метода в том, что он не только делает более легким изучение единого разностного метода, но и, что более важно, приводит к возможности вывода соответствующей формулы самой вычислительной машиной. Поверхностные размышления о механизации численного анализа наводят на мысль, что все формулы могут быть зашифрованы каким- нибудь подходящим образом и расположены на запоминающей ленте машины. Потребитель должен лишь знать, какая формула ему нужна, и вызывать ее по ее шифру каждый раз, когда она понадобится. Я полагаю, что такой способ действия неудачен. Имеющийся опыт работы с обширной библиотекой подпрограмм, охватывающей огром- ное, плохо определенное поле человеческой мысли, показывает, что среди записанных на библиотечной ленте подпрограмм слишком часто не оказывается нужных. Эту проблему можно рассматривать как задачу извлечения инфор- мации. Пусть мы хотим найти конкретный кусок информации, скажем, коэффициенты интерполяционной формулы седьмого порядка. Вместо извлечения информации мы предлагаем использовать ее восстановление. Вместо того чтобы искать на ленте формулу, кото- рая может быть, а может и не быть на ней, мы напишем программу, которая будет выводить любую формулу из широкого класса. Этот прием не является совершенной новостью в вычислительной математике. Так, мы обычно заново вычисляем значения элементар- ных трансцендентных функций, вместо того чтобы справиться по таб- лице. Последние работы в области доказательств теорем наводят на мысль, что предлагаемый метод выведения формул заново всякий раз, когда мы нуждаемся в них, не такая уж невозможная задача, как могло показаться сначала. Какой из двух методов, нахождение или восстановление информа- ции, является наилучшим или, может быть, следует использовать их смесь — это отчасти вопрос экономический. Когда число формул, которые надо иметь, велико, то могут быть очень высокими цена хранения и время поиска, если же формула имеет длинную, сложную структуру, становится дорогостоящим время восстановления. Для ограниченного класса формул, который мы собираемся рассмотреть, оказывается, что метод восстановления вполне осуществим. Предлагаемый метод имеет несколько достоинств. Во-первых, он является мощным стимулом для дальнейших исследований. Во-вторых, он таков, что потребитель может выбрать формулу, соответствующую ситуации, и не пытаться найти уже выведенную формулу, которая работает приближенно. В-третьих, он делает обучение много проще, так как применяется лишь один метод. Наконец, он в духе современ- ной прикладной математики: распределяя работу между человеком и вычислительной машиной, мы хотим переложить сколько можно на
нее в той части работы, которую машина может сделать наилучшим образом. В этой главе мы сосредоточимся на формальных методах вывода формул. В гл. 11 будут исследованы методы оценки ошибки, сделан- ной при применении формулы. В гл. 12 мы исследуем и сравним между собой несколько характерных формул для численного инте- грирования. Читатель, которому нужна конкретная формула интегри- рования, должен прежде всего поискать ее в других местах этой книги. В случае неудачи ему следует вернуться сюда и найти, как ее вывести. В главах 13 и 15 мы изложим развитие техники нахождения формул. § 10.2. Несколько типичных формул интегрирования Прежде чем углубиться в изучение метода систематического выве- дения формул, рассмотрим несколько типичных примеров. На самом деле этот метод затрагивает много больше, чем только формулы интегрирования, но здесь проще говорить в терминах численного интегрирования. Можно подумать, что численное дифференцирование проще, чем интегрирование, но это не так. Задача приближенного вычисления производных из данных с погрешностями будет рассмот- рена несколько позже. В § 7.3 отмечалось, что задача численного интегрирования 1 эквивалентна оценке среднего арифметического значения /(х) о на отрезке 0^х^1 по п узлам. Это — статистическая задача по- следовательной выборки и планирования экспериментов, и статистики начинают думать над такими проблемами. Однако, так как их резуль- таты до сих пор скудны *), мы вернемся к классическим методам, которые заранее определяют как положения хь где должны быть взяты узлы, так и веса соответствующие этим узлам. Не будем использовать аналитическую замену, т. е. построение интерполяционного многочлена, проходящего точно через узловые точки, и последующего интегрирования этого многочлена между преде- лами интегрирования; вместо этого найдем коэффициенты формулы непосредственно. Не будем также пользоваться методом рядов Тей- лора, а сделаем формулу точной для полиномов возможно более вы- сокой степени. В § 7.3 было показано, что эти три метода эквивалентны, а третий метод является самым легким для практического применения. Простейшая нетривиальная формула для вычисления интеграла использует одну узловую точку, а именно: 1 § / (х) Лх — / (Х1), I) *) См. 3. Н. НаИоп, ТЪе51з, РппсеГоп СшуегзНу, РппсеТоп, № 1
где и х1 подлежат определению. За счет выбора двух свободных параметров можно сделать формулу точной для /(х)=1 и /(х) = х. Используя эти две функции, получим уравнения ' с 1 |1(1х=1=да1, и ( х йх — = т^уХр о о откуда те>1== 1, = Таким образом, имеем формулу 1 ^/(х)о?х=/^. (10.2-1) о Разумно оценивать ошибку этой формулы, используя следующую более высокую степень х, в данном случае х2: 1 х’(/х=1 = 1-|-В, или Е* = ^. о В следующей главе будет показано, что ошибка, или остаточный член, как его часто называют, есть Л3Е2/"(0)_ ЛУ "(в)_/"(9) 2! 24 24 ’ где 6 — некоторое число из интервала (0,1) и 1г — длина (в данном случае й=1). Стандартная формула трапеций использует два узла интервала; 1 / (х) йх = ®о/(О) + ®! / (1). о (10.2-2) интервала в концах Подставим опять /(х)=1 и /{х) = х 1 = -Ь “Г, у = ®1- Из этих уравнений получаем 1 § /(х)йх = у [/(0)4- /(!)]. (10.2-3) о Чтобы оценить ошибку, возьмем опять функцию х2: у = 4“ + ^ или (10.2-4) что вдвое больше ошибки формулы (10.2-2) с единственным узлом.
Можно поместить два узла в произвольные точки 1 $ / (х) <1х — ®>1 /(х^ 4- ®-2 /(-Мг)- (10.2-5) о Имея четыре свободных параметра, используем функции 1, х, х\ х3: 1 ='О>1 4-Ш2, 1 , ~ — И^Х! 4- Ш,Х2, 1 2 , 8 (10.2-6) у = 4~ и>2х2, А- = и<1х[ 4- ®,х“. Можно решить эти уравнения непосредственно, но проще перейти в другую систему координат, начало которой находится в середине отрезка интегрирования. Можно также изменить масштаб, не меняя условия, что формула должна быть точной для 1, х, х2, х3. Поэтому преобразуем задачу так: 1 /(х)г/х = ®1/(х1)4-гг>2/(х2), (10.2-7) -1 что приводит к уравнениям: 2 = 4- 0 = ^1х} 4- 2 у = а>1х14- ®2х|, • о — о)1х14~ ®2х|. Теперь исключим ггьх2 из второго и четвертого уравнений и полу- чим О = да1Х1 — и\х^х\ (ге'1х1 Ф 0) *) или -^2’ - •^*2’ (Знак плюс дал бы лишь одну узловую точку.) Второе из четырех уравнений теперь дает ^ = «>2, а первое уравнение дает ?е»1 = г»4==1. Наконец, третье уравнение дает 2 с, 2 1 — 2х или х, = . 3 у 3 *) ^1х1 = 0 противоречит системе уравнений. 5 Р. В. Хемминг
Формула, следовательно, такова: /(х)±к = /(----тМЧ- 3 \ }/ 3 / 1 \/ 3 / 1 -4- х Если положить у = —Е— > то для первоначального интеграла (10.2-5) получаем 1 Г 1\ / 1 у \ /О) Лу — у [/\—%—/ + /\—— / = О = у[/(0,2И3)4-/(0,7887 ...)]. (10.2-8) Такого типа формулы, в которых мы не фиксируем заранее узлы и веса, называются гауссовыми; впоследствии они будут изучены более детально. В качестве другого примера предположим, что изве- стны как функция, так и ее производная в крайних точках отрезка. Тогда можно написать 1 /(х) Лх=^0/(0) + /(1) 4- (0) даз/'(1) О и, подставляя /(х)=1, х, х*, х3, получаем уравнения: 1 = аУо 4- и>а4~да34- ®3, 4 = 4- 2ж’3, V = ©>1 4- Зи>3, которые легко решаются: 1111 ®з = —утр ®'1 = ’у> ®’о==-2. Имеем формулу § /(х) Лх =1 [/(0)4-/(!)] 4- ~ И' (0) (1)]. о (10.2-9)
Чтобы оценить ошибку, подставим /(х) = х4: 1 = + 4®-3 -{- 54, 5'1 = ^. Используя результаты предыдущей главы, получаем ошибку В качестве последнего примера, рассмотрим интеграл 1 /(х) 81ПрГ(/х = ®.1/(-1)4-Е’о/(°)4-®1/(1). (10.2-10) -1 Метод никоим образом не зависит от свойств функции в1п х и так же хорошо приложим к интегралам вида ь § К (х) /(х) о?х, а хотя веса будут зависеть от выбора /<(х). Имея три параметра, подставим 1, х, х'-: 0 — 4- И»1, 8 0 = ИХ, 4~ Полученные уравнения легко решаются: 4 «>! = —= —; дао = О, к что дает для (10.2-10) 1 Г* л 4 \ /(X) 81П уХЙХ ==^[/(1) —/( — 1)]. (10.2-11) -1 Упражнения 10.2- 1. Получить формулу Л Г(х)япхах=(\ — -1) [/(Л) — г( —л)1 + — у)] • — п б’
10.2- 2. Получить формулу $ /(х)г/х = А [7^0)4-16/(й)+7/(2Л)]+^[П0)—Г(2й)1 +-^2^ о 10.2- 3. Получить формулу $ / (*) =4 [з/ (- 4) + 2/ (0) + 3 / (4)]+Л8/7 (в). § 10.3. Фиксированные узлы Исследование единого метода для нахождения формул начнем с рассмотрения простого случая, когда узлы определены заранее. Пусть !(/) — некоторый линейный оператор (см. § 7.2), действую- щий на /(х); типичным примером Ь(/) мы считаем интегрирование. По аналогии с методом, использованным в § 8.2, чтобы найти интер- поляционную формулу, можно просто написать определитель А (/) А ••• /л «о 1 1 ... 1 X) х2 ... х„ х% х; ... где тк— это й-й момент оператора А, т. е. результат применения оператора 1 к функции хк, тк — Ь (хй). Мы предпочтем, однако, применить методы предыдущего параграфа. Каждый из примеров предыдущего раздела имел похожую группу определяющих уравнений общего вида т-ч — щ + ®’з От) = 'го)х) 4-®3х3 4-... 4- хюпхп, т* ='0){х\ + ®4х| 4-®3х$ 4-... 4- ®„х^> тп-1 = 1 + '+•••+ “’ЛГ1-
Матрица неизвестных Х = (х?) имеет определитель (определитель Вандермонда), который отличен от нуля, если х1 х}- (см. § 8.2). Мы намерены исследовать аналитическое обращение матрицы X. Можно, конечно, обращать матрицу каждый раз численно, но если бы это делалось, то возникли бы вопросы точности, на которые трудно ответить; действительно, в конкретных задачах часто бывает трудно обратить матрицу. Если же дана аналитическая форма обратной матрицы, то относительно легко оценить точность вычисления. Чтобы найти обратную матрицу, введем фундаментальные многочлены (ср. § 8.3) лг(х) = (х —Х1)(Х —х2) ... (х — х1_1)(х —х1+1) ... (х — х„) = п—1 = (*= 1, 2, ...» п), (10.3-2) А=0 где /-й многочлен не содержит /-го множителя (х — х,). Отметим тот важный факт, что (*;) = 0 (/ /) и (Х() 0. Это обстоятельство подсказывает способ обращения X. Так как X ГХ=\, то первая строка X 1 должна состоять из элементов вида ^1, к ”1 (Х1) • Действительно, умножение на /-й столбец X дает С1, к^ (л» _ г-1 (х^ 1, /=1, 0> / # 1- Вообще т-я строка X 1 может быть написана в виде б-т, к ~'т(хт)’ где Ст к — симметричные функции соответствующих узлов, которые легко находятся при помощи умножений и сложений; они являются многочленами относительно узлов х,. Частный случай равноотстоящих узлов, когда они симметрично расположены около начала координат, стоит затабулировать. Обрат- ные матрицы для этого случая обозначены через 8п и протабулиро- ваны ниже. Числа в скобках, следующих за 5, указывают положение о / 3 1 1 3\ узлов, так что д41——у, у, у! означает, что узлы нахо- 3 1 1 3 _ дятся в ----------2", у, у. Если матрицу умножить справа на стол- бец вектора моментов, вектор-столбец результата даст веса.
'Универсальные матрицы / ° 2 — 1 — 2 1 0 — 16 16 4 — 4 ^ = ^(-2, -1, 0, 1, 2)=1 24 0 — 30 0 6 0 16 16 — 4 — 4 \ 0 — 2 — 1 2 1 1 45 — 18 — 200 80 80 — 32\ — 375 250 1560 — 1040 — 240 160 _ ] 2250 — 4500 — 1360 2720 160 — 320 3840 2 2 50 4500 — 1360 — 2720 160 320 ’ — 375 — 250 1560 1040 — 240 — 160 45 18 — 200 -80 80 32/ /О — 12 4 15 —5 -3 1\ 0 108 — 54 — 120 60 12 —6 0 —540 540 195 —195 — 15 15 5’ = 72б 720 0 — 980 0 280 0—20 • 0 540 540 — 195 —195 15 15 0 — 108 — 54 120 60 —— 12 — 6 0 12 4 - -15 —5 3 V
§ 10.4. Некоторые примеры формул Исследуем разновидности формул, которые можно получить из этих матриц. Рассмотрим 53 = 6’3(—1, 0, 1): Предположим, требуется вывести формулу Симпсона для интегриро- вания 1 -1 Нужно найти моменты /м0, т{> тг, которые определяются как С > + (— 0я тк — х = — -1 Считая их вектором-столбцом т, умножим его слева на 53, чтобы получить веса в виде вектора-столбца 'ж что, как известно, является правильным ответом (см. (7.2-4)). Далее, рассмотрим нахождение «половинной формулы Симпсона» для о /(х)с(х = а_1/(— 1) + <го/(0) + в1/(1)- -1 Моменты равны , 1 1 т0—1, Ш1- — у, л>г, = у. Следовательно,
Попытаемся теперь найти формулу вида Вектор моментов здесь и мы имеем (10.4-3) Последним примером § 10.2 (уравнение (10.2-10)) была формула для интеграла 1 /(х)зт — хйх, -1 моменты которого 0, и 0. Следовательно, имеем что совпадает с (10.2-11). Предположим, что нужно проинтерполировать в точке х, используя те же самые три узла. На этот раз вектор моментов зависит от положения точки х, в которой мы интерполируем. Получаем или обычное: / (х) = /(- 1) + (1 - х2) /(0) + /(1), что, конечно, является правильным ответом.
Этот последний пример наводит на мысль, что можно найти фор- мулы для неопределенных интегралов так же, как и для определен- ных. Если подумать еще немного, становится ясно, что такие инте- гралы, как О 5 х $ / (х) Фх, ^/(х)йх, $ К (х) /(х) (1х, -10 0 могут быть найдены в том же самом виде при условии, что мы мо- жем найти необходимые моменты. Упражнения 10.4-1. Получить результат упражнения 10.2-1. 10.4-2. Найти интерполяционный многочлен четвертой степени, соответ- ствующий (10.4-4). ,10.4-3. Найти формулы для У (0), у" (0), у" (0),у‘" (0), используя 5*. § 10.5. Значения функции и производной в фиксированных точках Часто случается, что в узловых точках мы либо уже имеем как значения функции, так и значения производных, либо, найдя значения функции, можем, затратив лишь небольшую дополнительную работу, найти производные. Хотя можно использовать несколько производных, ограничим наше рассмотрение случаем одной производной; к более сложным случаям легко перейти, если понята основная идея вывода таких формул. Для стандартизации поместим сначала все значения функции, а следом за ними значения производной, как в (10.2-9). Несмотря на справедливость общего правила «никогда не игнориро- вать любую информацию, которую вам случится иметь», иногда бывает слишком дорого использовать все, что имеешь. Итак, правая часть формулы имеет вид + • • • + «'„/(Лп) + «’л+хЛ (*1) + • • • + (хп). Таким образом, подлежащая обращению матрица есть 1 .. 1 0 0 .. 0 Х1 Хп 1 1 . 1 Ху .хг„ 2Ху 2х, •• 2х„ а-2/2—1 •* Хп 1 (2п — 1)х2л~2 (2п — 1)х2"-2. . (2п — 1)л'У 2 На этот раз мы хотим найти коэффициенты многочлена, удовлетво- ряющего всем уравнениям Р(х 0 = 0, Р'(х0 = 0, (1—1, 2, ..., п),
за исключением одного (ср. с § 8.3 и интерполяцией Эрмита). Исклю- ченное условие зависит от строки; как в § 10.3, первая строка исключает уравнение Р1(Х1) = 0, вторая Р-.!(Ха) = 0, третья Р3 (х3) = О, л-я Рп (хп) = О, («+1)-я Р„+.1(х1)=0, 2л-я Р'чп (х„) = 0. Соответствующие многочлены легко построить. Для (л-|-й)-й строки возьмем п Рп+к (*) ~ (X — хА)Ц' (х — Х^ /=1 (штрих означает пропуск /—А). Для й-й строки (1г ^п) попробуем произвольный линейный множитель ах-+-Ъ: п рк (х) = (ах + Ь) П (* — Х]У- /=1 Отношение а к Ь (а это все, что нам нужно) находится из уравне- ния Р'к(хк)—$. Иногда нужный многочлен имеет степень ниже; на это укажет невозможность определить это отношение. В качестве примера построим обратную матрицу для двух точек х = 0 и х=1. Многочлен для первой строки имеет вид Р} (х) = (ах Ь) (х — I)3, Р[ (0) = 0 = а — ЧЪ. Положим для удобства Ь=\, чтобы иметь Р1(0)=1. Это дает а — с2 и Р1(х)=1-]-0х—Зх3-|-2х3. Первая строка обратной матрицы есть, следовательно, 1, 0, — 3, 2. Для второй строчки получаем многочлен —2х3-}-Зх3, так что строка в матрице есть 0, 0, 3, — 2. Третьей строке соответствует многочлен х — 2х3-|-х3, четвертой — х3 —х3. Таким образом, обратная матрица имеет вид Если использовать ее для вывода формулы (10.2-9) (моменты равны , 1 1 1 \ 1, у, у, у!, то получим в точности то же выражение.
Упражнения 10.5-1. Показать, что обратная матрица'для случая, когда значения функ- ции и первой производной заданы в точках х = —1, 0, 1, есть /0 0 ~2/4 1 0 — 2 0 1 0 0 0 ‘/4 5/4 -8/4 -3/4 0 0 ‘/4 -*/4 -Х/4 */4 0 1 0 —2 0 11 \0 0 -‘/4 -*/4 ‘/4 10.5-2. Применить результат упражнения 10.5-1 к интегралу в упражне- нии 10.2-2. § 10.6. Свободные узлы; квадратура Гаусса В § 10.2 исследовалась пара формул (10.2-1) и (10.2-8), в кото- рых положения всех узлов, так же как и все веса, считались пара- метрами. Общая формула такого типа Ь п, к (х) /(х) йх = У, хи а 1--1 А(х)>0, (10.6-1) имеет 2л параметров и может быть сделана точной для /(х) = 1, ., х2л 1. Мы получаем определяющие уравнения лг0 — г»! 4~ XV} . тх — хе>1х1 —XV %Х^ 4* хе>3х3 . 4- Х1)пХп, т2 — хе^х* 4- ®«х| + И13х| 4- . . 4- да„х2, (10.6-2) XV X2"-1. 1 пп лг =©1х2»-14-®,х2',*14- ... 1 11 1 2 2 1 Существует хорошо известный метод для решения этой частной системы нелинейных уравнений. Сначала определим узловой многочлен п п (х) = П (X — Хг) = У СЙХ*. 1=1 к=О (10.6-3) Заметим, что л(хг) = 0 (/=1, 2, .... л).
140 ЕДИНЫЙ МЕТОД НАХОЖДЕНИЯ ИНТЕРПОЛЯЦИОННЫХ ФОРМУЛ |ГЛ. 10 Умножив первое из уравнений (10.6-2) на Со, следующее на С\ и т. д., п-е на С„=1 и сложив, получим У сктк = У, ®г-те (хг) = 0. *=о г=1 Теперь сдвинем каждый коэффициент вниз на одно уравнение и, повторив процесс, найдем У Сктк+1 = У (X;) = 0. *=0 1=1 Если проделать все это п раз, то получится система линейных уравнений относительно Ск (/г = 0, 1, ..., п — 1) п усл+; = о (/ = 0, 1, ..., Л —1). (10.6-4) й=0 Определитель назван «персимметричным» (см. [30], стр. 419). Если ]| тк^ || # 0, то можно решить систему относительно Ск (приняв С„=1). Если определитель равен нулю, то может случиться одно из двух. Во-первых, уравнения могут быть несовместными. Пример: 1 х/(х)с1х==ХЮ1/(Х1'), -1 2 дао = О = 1®1 1, т1 = у = п>1 • 0 — противоречие. Следовательно, такой формулы нет. Во-вторых, ранг матрицы может оказаться равным п — 1. Тогда в группу определяющих уравнений (10.6-2) добавляем еще одно и выводим еще одно уравнение (10.6-4), включающее тк^ и Ск. Этот процесс повторяется до тех пор, пока не получится п линейно неза- висимых уравнений для Ск, которые могут быть, а могут и не быть совместными. Каждое дополнительное уравнение указывает на повы- шенную точность формулы. По коэффициентам Ск узлового много- члена (10.6-3) " (х) — хп С„_1хл 1 Оф = 0 можно найти нули те (х), которые являются узлами хг. Теперь все свелось к предыдущему случаю с известными узлами и можно использовать первые п определяющих уравнений (10.6-2), чтобы найти веса
В качестве примера рассмотрим уравнения (10.2-6), которые мы не стали решать в § 10.2 из-за громоздкости выкладок. Там получи- лось (10.2-5) и (10.2-6): \/(х) ах = ©/(х) 4- ^(х^, о 1 = 4- 1 . У — Ш^Х, 4- 1 , , у — Х-, 4- щх?, 1 3 , у = т>1х^ 4- ®9х|, к (х) = (х — х,) (х — х2) = х2 4- С\х 4- Со. Множители для образования новых уравнений указаны во втором столбце справа. Используя их, получаем с° + (т)с1 +т=0’ (т)с« + (т)С1 +т=0’ откуда Со=|, С, = -1. Следовательно, и (х) — х2 — х 4- -|- как и раньше (см. (10.2-8)). § 10.7. Смешанный случай Часто случается, что в качестве узловых мы хотим использовать одну или обе концевые точки. Рассмотрим использование лишь одной из концевых точек. При этом, конечно, теряется один из 2и пара- метров. Определяющие уравнения (10.3-1) запишем в виде тк = 4- У, хе>1Х- (А = 0, 1, ..., 2л — 2), 1=2 где а — данная узловая точка.
Частично исключим а, умножая каждое уравнение на а и вычитая его из следующего уравнения: п тк~тк^— атк = (к —О, 1,..., 2л — 3). 4=2 Теперь образуем узловой многочлен, используя лишь неизвестные узловые точки п л—1 гс (х) = Ц (х — х;) = САхй, 1=2 6=0 и повторим процесс исключения, примененный в предыдущем разделе: п—1 п ^Сктк^—^'0)1(Х1 — а)~(х;) = 0 (/ = 0, 1,..., л —2). 6=0 1=2 После этого можно найти Ск и неизвестные хь как и раньше. Упражнения 10.7- 1. Рассмотреть случай, когда в формуле должны быть использованы обе концевые точки. 10.7- 2. Рассмотреть общую задачу исключения любого числа фиксирован- ных узлов. § 10.8. Замечания В этом параграфе будут рассмотрены попытки применить разо- бранные выше методы. Таким образом, он не является частью про- граммы для нахождения формулы, но является исследованием того, что получится в процессе отыскания формулы. Нет сомнения, что можно перейти от определяющих уравнений (10.6-2) к уравнениям (10.6-4) п ^Сктк^=Ъ. 6=0 Если ранг матрицы (тА+у) недостаточно высок, чтобы позволить найти Ск, то мы добавляем еще одно определяющее уравнение и опять пробуем решить систему и т. д. В конце концов, мы либо повысим ранг до требуемой величины и решим систему, либо получим несовместные уравнения, показывающие, что такой формулы нет (либо нам надоест). Каждый раз добавляется еще одно определяющее уравнение и получается формула, которая является точной для сле- дующей степени х; маловероятно, кроме самых травиальных случаев, что процесс не остановится очень быстро. Следующая трудность возникает при попытке найти корни узло- вых многочленов. Покажем, что во многих случаях отыскиваемые
узлы действительны, различны и лежат в интервале интегриро- вания. Прежде всего, рассмотрим случай, когда узлы не фиксированы и К(х)^0. Так как формула точна для всех степеней х вплоть до 2п—1, то имеем ]и(х) здесь то же, что и в уравнении (10.6-3)] Л п \К(х~)71 (х) = у1, ж;х* к (Х[) = 0 (к = 0,..., п — 1) а 1=1 (Ю.8-1) (так как все значения ^(х^, встречающиеся справа, равны нулю). Теперь предположим, что я (.г) имеет меньше, чем п различных нулей в области интегрирования. Пусть хь х3_, ..., хт будут нули нечетной кратности на отрезке интегрирования. Многочлен имеет степень т^п—1, следовательно, по (10.8-1) получаем ъ $ К (х) ъ (х) р (х) йх = 0. а Но в интервале интегрирования подынтегральная функция имеет постоянный знак и не может быть тождественным нулем. Следова- тельно, мы пришли к противоречию. Таким образом, в интервале интегрирования есть п действительных различных нулей "(х) и мы гарантированы, что искомые действительные корни в самом деле существуют. В случае, когда фиксирована одна концевая точка а, мы имеем узловой многочлен т:(х) степени п—1. Образуем ь ^ЛГ(х)(х— а)«(х) хк(1х — 0 (к — 0, I,..., п — 2) а и допустим, что к (х) имеет лишь т<^п — 1 различных корней не- четного порядка в интервале. Построив, как и раньше, произведение р(х), получаем ь (х) (х —- а) л (х) р (х) йх = 0. а Это приводит к противоречию.
В качестве упражнения предоставляем читателю показать, что аналогичные соображения применимы и в случае, когда фиксированы обе концевые точки. Можно также показать, что веса в свободных узлах положи- тельны. Это — интересный результат; он показывает, что формула будет стремиться сопротивляться погрешностям в исходных данных, так как не будет взаимных уничтожений из-за весов с противополож- ными знаками (хотя возможны уничтожения из-за функции, имеющей противоположные знаки в различных узлах). Для гауссового случая свободных узлов узловой многочлен определяется равенством (ср. (10.3-2)) ~к (*) = (X — Х1) (X — Х3) ... (X — Хк л) (X — ХА+1) ... (X — х„). Так как ~Цх) имеет степень 2л — 2, то 5 К (х) 4 (х) Лх — У, А (Х{) = 4 (хк). а 1=1 Следовательно О)к 0 при условии, что К(х) 0. Подобный же прием применяется в случаях, когда используются одна или обе концевые точки. Когда фиксированный узел лежит внутри интервала, этот результат, вообще говоря, неверен, хотя могут быть найдены частные случаи, когда он верен. Не удается показать, что веса положительны, когда фиксированы все узлы, потому что в действительности это неверно: они могут быть и отрицательны. Если попробовать обобщить формулу гауссового типа, используя значения функции и ее первой производной в тех же узлах, то мы найдем (по крайней мере в нескольких случаях, которые исследованы), что нули узлового многочлена — комплексные числа. Упражнение 10.8-1. Исследовать случай, когда фиксированы обе кон- цевые точки. Показать, что все нули действительны, различны и находятся в интервале интегрирования и что все веса положительны. § 10.9. Линейные ограничения на веса Иногда случается, что нам даны или желательны линейные огра- ничения на веса. Такие ограничения, вероятно, могут связывать веса, соответствующие фиксированным узлам, но они вряд ли могут на- лагаться на веса, соответствующие свободным узлам: трудно знать, в каком порядке они будут обозначены, — упорядочить их по вели- чине является трудной математической задачей. Главное исключение: когда одно и то же ограничение применяется ко всем известным весам.
Хорошо известный пример ограничений на веса дает интегрирова- ние по Чебышеву, где 41>1 — . — 41>п = -да и все узлы свободны. Это дает «4-1 параметр и соответственно п 4- 1 определяющее уравнение п тк = 4ю'^х^ (А — 0, г=1 Полагая к = 0, находим Остальные уравнения принимают вид 1=1 Тождества Ньютона позволяют выразить суммы степеней корней через коэффициенты Ск узлового многочлена. Отсюда получается узло- вой многочлен, что позволяет найти нули Известно, что, когда К(х)=1, все узлы действительны, различны и находятся в интервале интегрирования для л=1, 2,..., 9 и только для этих п. Ральстон * *) опубликовал интересный пример смешанного типа интегрирования, в котором фиксированы два узла и одна линейная связь. Именно, формула —1 1=1 подчинена условиям: Х1 = — 1, хп— 1, 41)1 = — 41),г Здесь имеется, следовательно, 2п— 3 параметра и формулу можно сделать точной для 1, х,..., 4. Определяющие уравнения суть п-1 2 = О =~ — 2®1] 4- 41)гх{, 2 VI 2^’ О — — 2и>1 4~ 2 хе,1хь ___________ 2^=8= *) А. КаШоп, Л. Аззос. СотриГш^ МасУипегу, уо1. 6, рр. 384—394,1и1у 1959.
146 ЕДИНЫЙ МЕТОД НАХОЖДЕНИЯ ИНТЕРПОЛЯЦИОННЫХ ФОРМУЛ (ГЛ. 10 Чтобы сделать последующую выкладку более легкой и в то же время не вполне тривиальной, возьмем случай п == 5, который дает 2л — 3 = 7 уравнений. Узловой многочлен есть К (х) — (Х — Хо) (X — Х3) (X — Хц) — хл Сгхъ 4~ Сгх 4- Обычный процесс исключения приводит к п — 1 (в этом случае, четырем) уравнению: Со -}~'уСз = — НфС] — у С1 у — — ОТ1С0 — И’1С2, уС0 -|-уС3 = —®!С1 — у С! 4~у — — —®']С2. Легко видеть, что можно образовать п — 3 (=2) уравнения, кото- рые не включают членов второго порядка и';С;(7 = 0, 1, 2), 9 9 9 9 4со + 4с3 = О, 4с1 + 4 = О. Имеется, следовательно, п — 3 линейных неоднородных уравнения с неизвестными Со, Съ..., Сп_3 или на одно неизвестное больше, чем уравнений. Решая уравнения в зависимости, скажем, от Со, получаем Подставив их в первые два уравнения системы, получим -1^ = -!®!, ,1 = + 2Со®1. В общем случае, так же как при п = 5, исключая Со, приходим к квадратному уравнению для •а>1. В случае л = 5 Выбор знака щ определяет одну из двух симметричных формул. Зная ®>1, можно легко найти С1 и узловой многочлен к (х) = х3 — 5 ~ х" — у х 4- . Такие же соображения, как в § 10.8, показывают, что нули действи- тельны, различны и находятся в интервале интегрирования.
Упражнение 10.9-1. Показать, что случаю Ральстона при п = 6 соответ- ствует узловой многочлен к (х) = х4 4-------|- х2 —- —ф . 3/6 х3 3 . 7/бх 21 § 10.10. Формула Грегори В обоих рассмотренных случаях, содержащих линейные ограниче- ния на коэффициенты, большинство узлов было свободно. В этом параграфе рассматривается случай равноотстоящих фиксированных узлов со многими связями. Вводится новая концепция формулы, имеющей произвольное число узлов и определенное общее располо- жение весов. Для определенности исследуем формулы, веса которых расположены так:. а Ь Ь Ь Ь ... Ь Ь Ь а, (10.10-1) а Ь с с с ...с с Ь а, (10.10-2) а Ь с Л с1 ... Л с Ь а (10.10-3) и т. д. Так как каждая формула имеет на один параметр больше, чем предыдущая, то можем надеяться найти семейство формул с воз- растающей точностью. Формула (10.10-1), например, предполагает, что с использованием я-|-1 узла интеграл пЛ $/(х) <1х = а/(0) 4- &/(й) + /»/(2/г) -ф-... -ф- Ь/[(п — 1) /г] -ф- а/(пН) о может быть найден точно как для /(х)=1, так и для /(х') = х. Это приводит к двум уравнениям (используя равенство (3.1-3)): пИ — Ь(п — 1) Ц- 2а и п2Л2 ,, п (п — 1) . , —= Ыг —$-----------Н апп, которое совпадает с первым. Подставив теперь Т\х) = х\ получаем н3Л3 —1)(2«—1) . , „ — Ыг —------4--------- -ф- аИ-п\ 3 6 1 Решение этих двух уравнений дает п , п п , п‘ ... п 2 (ггф-!) 2 2 (я-|-1) ’ п? — 1 ' п? — 1 Таким образом, формула является точной для многочлена второй степени. Коэффициенты зависят от числа интервалов п, а это часто является неудобством. Можно потребовать, чтобы первое выведенное
уравнение было верно для всех п, и не пытаться сделать формулу точной для хг. Этот подход дает Ь = !г, а — т. е. известное правило трапеций. Схемы расположения весов выбраны симметричными; это означает, что если какая-нибудь из таких формул является точной для всех степеней х вплоть до некоторой четной, то она является точной для следующей более высокой нечетной степени. Этот эффект уже на- блюдался в предыдущем примере, когда и 1, и х давали одно и то же уравнение. Чтобы убедиться в справедливости этого замечания в общем случае, заметим, что преобразование х — х — у переводит начало координат в середину области интегрирования. После этого все нечетные степени автоматически интегрируются точно, так как обе части уравнения вследствие симметрии обращаются в нуль. При обратном преобразовании начала нечетная степень дает и все более низкие степени. Если формула является точной для этих более низких степеней, то для них обе части равенства уничтожаются и формула оказывается верной для оставшейся старшей нечетной степени. Остается рассмот- реть только четные степени х, так как симметричность задачи авто- матически обеспечивает точность для нечетных степеней. Постараемся найти формулы, в которых схемы расположения ве- сов не зависят от количества взятых узлов, при условии, конечно, что их настолько много, чтобы появились все параметры. Эти фор- мулы могли бы быть найдены раз навсегда независимо друг от друга, но одно простое замечание сводит задачу к тому, чтобы, преобразо- вывая каждую формулу по очереди, получать следующую из этого семейства. Третья схема (10.10-3), например, может быть записана в виде /(х) йх = (правило трапеций)А1 [Д/(0) — Д/(л — 1)]-ф- о + А,[Д7(0) + Д2/(и-2)]. Добавление разностных членов не повлияет на точность формулы для 1 и х. Очевидно также, что существуют такие константы Аг и Д2, что формула сведется к схеме (10.10-3). В общем случае формула пк /(х)й?х = (правило трапеций)-}-А1 [Д/(0)— Д/(« — !)]-}- о 4- А, [Д'У(О) + Д7(л - 2)} + А [Д 7(0) - Д7(й - з)] + 4-А[Л7(0) + ду(и-4)14-...
дает метод, при котором все коэффициенты могут быть, очевидно, найдены по очереди. В самом деле, пара коэффициентов определяется одновременно вследствие симметрии, которая обеспечивает точность формулы для нечетной степени. Таким образом, чтобы определить А; и А2, потребуем, чтобы формула была точной для х2. Используя ре- зультаты § 3.1, имеем (для й = 1) = + _(2„_1)] + Лг[2 + 2]. Приравнивая коэффициенты при одинаковых степенях в обеих частях равенства, получаем п: 0 = — 2Аи 1: 0 = 2^4-4^. Последние два уравнения дают . _ ! _ 1 —12> 24’ Подставляя /(х) = х4, получим подобным образом 19 3 ~ 720 ’ А = — Тёо » а при /(х) = х6 имеем л _ 863 л _ 275 60 480 ’ Лб 24 192 ’ Итак, мы получаем формулу Грегори у /(*)^=(у/о + /1 + А + --- + /п-1 + у/га)Ч- + [Д/о - - ^4 [А7о + + + 7^ 1Д3^о - ~ 4г<Д^ + + • • • Часто более полезна формула Грегори в форме Лагранжа, в которой линейный оператор выписан через значения функции; именно с нее мы начали этот параграф. Коэффициенты этой формы даны в
150 ЕДИНЫЙ МЕТОД НАХОЖДЕНИЯ ИНТЕРПОЛЯЦИОННЫХ ФОРМУЛ [ГЛ. 10 следующей таблице, где столбец слева дает коэффициент Ак наивыс- шего порядка. По симметрии нам нужен лишь один конец формулы: Ло: ~ 1 1 1 1 ... л 5 13 . , , 12 12 1 1 •" Д 28 23 > 1 3' 24 24 24 ” 251 897 633 739 Лз’ 720 720 720 720 Соответствующая формула, которая использует производные вместо разностей, известна как разложение Эйлера — Маклорена и иногда бывает полезна, но при использовании на машине она требует про- граммирования производных (см. уравнения (4.8-2)). Упражнения 10.10-1. Используя методы этого параграфа, вывести соответствующие формулы для /(х) йх = а/ + 6/(у) + С^(4) + " +с^(п — + + ЬПп — ~2 1 + а/ (п— у). 10.10-2. Используя те же узлы, что и в упражнении 10.10-1, выполнить работу по нахождению коэффициентов первых четырех разностных членов. § 10.11. Выводы Основной целью этой главы было показать, как выводить различ- ного рода формулы; мы не слишком углублялись в рассмотрение имеющихся результатов. Одной из причин этого является обилие формул. Их существует значительно больше, чем можно поместить в одной книге, и исследование всех результатов может обрасти та- кой массой деталей, что обескуражит даже самого пылкого любителя численного анализа. Когда методы нахождения формул поняты, легко найти конкретную формулу, необходимую в конкретном случае. Мы отмечаем также возможность действительно выполнять на ма- шине большую часть работы по выведению формул. Чтобы помочь этому, мы даем блок-схему (рис. 10.11-1) метода вывода формул, не имеющих линейных ограничений на веса. Здесь п — количество узлов лу, пх — количество фиксированных х;> 2л — л) — минимальное количество моментов тк, заданных машине .(при случае машина будет требовать дальнейших моментов).
Соответствующая блок-схема для случая заданных линейных свя- зей не включена сюда из-за неопределенности типов формул, которые Рис. 10.11-1. могли бы понадобиться. Как было замечено раньше, линейные связи, вероятно, должны налагаться на веса для фиксированных узлов или,, как при интегрировании по Чебышеву, единообразно на все веса сво- бодных узлов.
ГЛАВА 11 О НАХОЖДЕНИИ ОСТАТОЧНОГО ЧЛЕНА ФОРМУЛЫ § 11.1. Потребность в остаточном члене Описав до некоторой степени единый метод нахождения формул, рассмотрим теперь единый метод нахождения соответствующих оста- точных членов. Как и в случае нахождения формул, единый метод не всегда самый короткий и элегантный, но его достоинства, по-ви- димому, перевешивают большую иногда трудоемкость. В этой главе мы сосредоточим внимание на нахождении формулы остаточного члена, игнорируя эффекты округления. Как и в случае интерполяции многочленом, остаточный член будет записан в виде некоторой производной (или производных) высшего порядка. Это— традиционная форма, но она имеет все недостатки, обсуждавшиеся в § 8.7. Здесь мы займемся выводом остаточного члена и отложим обсуж- дение полученных результатов до следующей главы, где собраны вместе некоторые формулы и их остаточные члены. Очевидно, чита- телю должна быть ясна необходимость остаточного члена. Прежде чем предпочесть/ одну формулу другой, мы хотели бы знать их оста- точные члены, хотя величина остаточного члена и не является един- ственным критерием для выбора формулы. § 11.2. Порядок остаточного члена В качестве примера линейного оператора будем снова использо- вать формулу приближенного вычисления определенного интеграла, хотя метод работает и в случае неопределенного интегрирования, интерполяции и некоторых других линейных операторов. Обозначим через Ек = Ек(х) ошибку формулы, когда мы подставляем хк вместо /(.г). Наш метод вывода формулы показывал (кроме формулы Гре- гори), что Ек = $ для й = 0, 1, ..., т—1, где т — количество сво- бодных параметров в формуле. Мы ожидаем, что Ет ф 0, но готовы к тому, что оно равно нулю, так как мы уже знаем, что в некоторых случаях, таких как формула Симпсона, точность выше, чем количество свободных параметров. Проверим, равно ли Ет нулю. В том случае, когда все узловые точки заданы, Ет есть рациональная функция данных моментов и дан- ных узловых точек. Но в случае квадратуры Гаусса, на- пример, необходимо решить алгебраическое уравнение для уз- ловых точек X]. Узловой многочлен, корни которого нужно найти, чтобы получить узловые точки, дает соотношение, позволяющее вы- разить степени Хр большие п (количество неизвестных, узловых то-
чек), через степени, меньшие п. Это выражение включает коэффи- циенты Ск узлового многочлена. Теперь степени ху-, меньшие п, умно- жаются на их веса чи)} и, следовательно, выражаются через моменты тк- В результате опять получается рациональная функция от момен- тов *). Проверка Ет = 0 является, таким образом, рациональной опе- рацией над данными моментами и данными узлами, и если можно выполнить достаточно много алгебраических действий с рациональ- ными выражениями, то можно решить вопрос о том, равно или нет Ет нулю, без помех округления, которые возникают при нахождении корней узлового многочлена. Если мы найдем, что одно значение Ет равно нулю, то попробуем следующее, и так до тех пор, пока не найдем такое т, что Ет О, или же мы устанем и бросим; последнее маловероятно, кроме три- виальных случаев, так как одна или две степени дополнительной точности — это обычно все, что можно получить. Упражнения 11.2-1. Определить т для равенства (10.2-8), используя методы § 11.2. 11.2-2. Определить т для формулы Симпсона (10.4-1). 11.2-3. Определить т для упражнения 10.2-1. § 11.3. Функция влияния Уточним сначала, какой класс формул мы собираемся исследовать. Для определенности будем говорить об операции интегрирования, хотя допустимы и другие линейные операторы. В правой части равенства используются значения функции и ее производных; но мы будем требовать, чтобы старшая производная имела порядок меньший, чем точность формулы, которая в преды- дущем параграфе обозначалась через т—1. Таким образом, рассмат- риваются формулы вида Ь п п п $ /(х) </х = 2 ак/(хк) + 2 (’к/' (хк) + • • + 2 <Хк) 4- Я а к — 1 к »= 1 к = 1 (11.3-1) где некоторые из аА, Ьк, ..., тк могут быть нулями. Следует заме- тить, что узловые точки хк могут лежать внутри или снаружи об- ласти интегрирования. Предполагается, что эта формула точна для 1, х, ..., х"1'1- и Ет 0, где т определено, как в предыдущем па- раграфе. *) Моменты тк не обязаны, конечно, быть рациональными, и, вообще говоря, может возникнуть вопрос о том, уничтожаются или нет все члены в выражении Ет через моменты; но на практике это обычно не причиняет беспокойства.
Чтобы получить выражение для остаточного члена К, начнем с ряда Тейлора + (11.3-2) А Эта формула может быть проверена интегрированием последнего члена по частям т раз (таким образом, она представляет собой просто тождество). Мы выбираем А как минимум из а и всех хк. Под- ставим теперь выражение (11.3-2) в формулу (11.3-1) в обе части, т. е. вместо /(х) и вместо /'(хк), {х^, /(т"3)(^). Ошибка Я (/) в формуле (11.3-1) есть разность между двумя частями равенства. Сумма всех членов разложения Тейлора, кроме интегрального, есть многочлен от х степени не выше т—1. Атак как формула (11.3-1) является точной для 1, х, ...,хт~1 (т. е. Ек = 0-, к = 0, —1), то после подстановки останутся лишь интегральные члены. Мы имеем, следовательно, Ь х Л = Я (/)= § (т "Т)Т 5 ^т) ~ Лх ~ а А хк -2-5г=тИ д”«г-*- - 5/1"'<я) - 5)“" *—• хк $ ГтЧз)(хк-8У^<1з. (11.3-3) Упростим (11.3-3) с помощью следующего приема. Определим для />° О , если х — « О, , (11.3-4) (х — я), если х — (X —8^ = Если / = 0, то „ ( о> (х —$)“ = ( если х — 8 0, если х — «>0, но /=0 не может встретиться в нашем случае, так как старшая производная имеет порядок т — 2
Легко видеть, что ^~х(х — х)™ ~' = (т. — 1) (х — х)™ “2, (х — х)“ “1 = (т — 1)(т — 2) (х — х)™ -3 (11.3-5) и т. д., до тех пор, пока порядок производной меньше, чем т—1. Кроме того, ь § (х — х)" - Чх = ~-8)± . (11.3-6) Используя эти новые обозначения, мы можем увеличивать верх- ний предел интегрирования по х до В в уравнении (11.3-3), где В выбирается как максимум из а и всех хк. Это увеличение в верхнем пределе не влияет на значение интеграла, так как каждый член есть нуль при 8^>Хк. Учитывая эти замечания и выполняя дифференцирование с исполь- зованием (11.3-5) и интегрирование с использованием (11.3-6), полу- чаем для (11.3-3) « = /?(/) = п. — У ак(Хк~з)+- 6=1 п. У, 1)(хл — х)“~2 —... ь = | ...— У, тк(т — 1)(т — 2)...3-2(хк — х)+]<&. (11.3-7) 6 = 1 1 Произведение (т — 1)! на выражение в квадратных скобках зависит от х и исследуемой формулы, но не зависит от функции /(х). Таким образом, пишем в Д = /? (/)==$/("*> (х) О (х)</х; А (11.3-8) О(х) называется «функцией влияния». В частности, /(х) — хт дает возможность вычислить интеграл от О(х) из (11.3-7): в В(/) = В(хт) = О(8)а$ = Ет Ф 0. (11.3-9) А Заметим, что эта функция выведена для (11.3-1) и неприменима к другим видам формул.
Исследование О($) показывает, что она определена на [А, В] и является многочленом степени т на каждом отрезке, ограниченном соседними узловыми точками и пределами интегрирования а, Ь. § 11.4. Случай, когда О (в) имеет постоянный знак В большинстве важных случаев оказывается, что функция влияния О($) имеет постоянный знак. Если это так, то остаточный член (фор- мула (11.3-8)) в /? = /?(/) = ^(5) С (8) аз А удовлетворяет условиям теоремы о среднем значении, и, используя (11.3-9), можно написать в 0(8)^ = -^-/<т’(9) (А^в^В). А Теперь встает задача — узнать, имеет ли 0(8) постоянный знак. Для начала рассмотрим ошибку правила трапеций К(/)= ^х)ах-Ш±Л, о которая является точной для /(х)—1 и для х. Таким образом, Тогда из (11.3-7) получаем В этом случае Д = а = х1 = 0; В~Ь = хг=1; 0($) является мно- гочленом на всем отрезке [А, В], а именно: который, очевидно, имеет постоянный знак (рис. 11.4-1). В качестве второго примера рассмотрим формулу Симпсона 1 ( /(х) Лх -*1 — /(-1) + 4/(0)+/(1) 3 Краткое исследование показывает, что т = 4; следовательно, исполь- зуя (11.3-7), 310(8; ==(1 ~—(—1 -~5)+ _ (— 1 — з)++4 (~ 8)++(1 —
Здесь А=а = х1 =—1; В = Ь = х3= 1; —0. Следовательно, нужно рассматривать два отрезка: [—1, 0] и [0, +1]. 1^>з^>0: 3! О(д) = = (1 - 5)3 <0, — 1: (1~8)‘ 0-8)’ 4 (-«)’ — 1 Ч-68* Ч-8з3 + 38* _ 3’0(4— 4 3 3 12 ==(1-Н)3(^±^)<0 (рис. 11.4-2). Эти примеры показывают, что если формула симметрична, то 0(5) также симметрична. Доказательство вытекает из замечания, что если Рис. 11.4-2. формула симметрична, то мы должны получить ту же самую ошибку, проинтегрировав /(х) и /(—х). А так как мы имеем свободный выбор функции /(х), любое отсутствие симметрии в О(х') может быть использовано, чтобы получить разные ответы. Функция влияния 0(4 определена на отрезке [4, В], который разбит на интервалы узлами хк и пределами интегрирования а и Ь. Она непрерывна на [А, В] и на каждом подынтервале является мно- гочленом степени (для однократных интегралов; для повторного интегрирования эта степень может быть и выше). Задача сводится к тому, чтобы определить, имеют ли эти много- члены нули в своих подынтервалах. Прямой подход состоит в том, чтобы найти нули этих многочленов и затем проверить, лежат ли они в соответствующих подынтервалах. Однако этот способ может по- требовать много машинного времени. С другой стороны, для больших промежутков вычисление 0(5) в близких точках и вычерчивание гра- фика едва ли возможны, хотя простота этого метода очевидна. Ал- гебраический метод, который был применен в приведенных примерах, вероятно, труден для программирования на машине, хотя для ручной проверки он часто пригоден. Таким образом, вполне удовлетворитель- ный способ проверки, меняет ли знак 0(5), вряд ли существует. Но, во всяком случае, следует ясно представлять себе, что 0(5) зависит лишь от формулы и, следовательно, проверка должна проводиться для любой данной формулы лишь один раз.
Упражнения 11.4-1. Проверить, что формула в упражнении (10.2-1) для интеграла п / (Х) 51П хйх —те имеет функцию влияния <?(«) постоянного знака, хотя ядро К (х) = зт х меняет знак. 11.4-2. Проверить формулу упражнения (10.2-2). § 11.5. Случай, когда функция влияния меняет знак Если 0(5) меняет знак, то следует отметить три обстоятельства. Во-первых, тогда существуют функции /(х), для которых нет такого 9, чтобы была верной теорема о среднем значении. Чтобы показать, это, предположим, что 0(5) является положительной всюду, кроме маленького интервала, в котором она отрицательна, и что интеграл от 0(5) положителен. Рассмотрим такую функцию /(х), что ^т^(х) положительна и непрерывна, но мала вне этого маленького интервала и очень велика внутри. Тогда интеграл в §/(т) (5) О(л)(1$ (11.5-1) л отрицателен, но (9) и интеграл от 0(5) оба положительны. Сле- довательно, не существует нужного 9. Подобные аргументы могут быть приведены для других 0(5). Во-вторых, в этом случае можно оценить сверху модуль интег- рала (11.5-1). Для 10(5)| верна теорема о среднем, откуда легко получается оценка: в В | (5) 0(5) </5 | Я/<тЧ5) I I 0(5) 1^5 = Л Л в в = |/(т) (9)1 • $ I 0(5) I (15 хд шах | /<т’ (5) | • $ | 0(5) | (15; А А где максимум взят по всем х(А^х^В). Интеграл в § | 0(5) | С?5 А можно вычислить аналитически или численно. Это опять необходимо сделать только один раз для любой данной формулы. В-третьих, хотя знак 0(5) меняется, мы все же можем найти остаточный член. В качестве иллюстрации рассмотрим функцию 0(5)
на рис. 11.5-1. Точка х = С выбрана так, что две заштрихованные площади равны по величине, т. е. в 0(8) аз = 0. с Мы имеем (см. уравнения (11.3-8) или (11.5-1)) в св ^=Я(/) = 5/1т)(5)С(5)Й5 = ^+ А С А Проинтегрируем второй член по (Замечание: Н(В) — 77 (С) = 0.) С(8).. Рис. 11.5-1. Частный вид О (з). Рис. 11.5-2. Другой вид 0(8). Тогда с в К=(0(3) аз+^т) (з) н(з) |я — $/<т+1> (з) н (з)а8 = А С с в = \ /<т> (х) О(з) аз — $рт+1) (з) и (з) аз. А С Теперь можно применить теорему о среднем значении к каждому интегралу с в к=/1") (во о(8) аз—/<т+1> (б2)\н(з) аз. А С Если О(з) такая, как показано на рис. 11.5-2, то можно просто положить /7(8) = ^ 0(8) аз А и интегрировать (11.5-1) по частям в Я(/)=.^т>(8)Н(з)^- \/^(з)Н(8)аз = А 11 —/<т> (В) и (В) — (9) и (з) аз.
Мы не будем анализировать общий случай, так как эти резуль- таты не используются в тексте. Заметим только, что такие формы остаточного члена могут быть иногда полезны. § 11.6. Слабое место в методе рядов Тейлора Так как существует остаточный член для рядов Тейлора в виде *) /(а + х) =/(а) + (х - а)(а) + (а) +... I (х-аУ1-1 I (х-й)т/^’ (о + Ох) ‘ (т — 1)! ' ’ -'“г т\ естественно попытаться использовать метод рядов Тейлора (второй метод § 7.2), чтобы получить ошибку формулы. Пусть используется метод рядов Тейлора. Коэффициенты формулы определены так, чтобы степени х уничтожались с обеих сторон вплоть до степени т, которая по предположению не уничтожается. Зафиксируем мысленно значение х. Тогда получим ряд из членов (а 0;х;) для различных 0г (« + 9г х.) + а3/<т» (а + 02х,) + •• + ** Г(т) (“ + хк), где, конечно, 9, зависят от х;, 0г = 0, (х;). Мы хотим теперь заменить это выражение таким: (Я1 + я3 + • • • 4~ (а -ф- 0х) для каких-то новых значений 0 (и ожидаем, что многие члены уничтожатся). При каких обстоятельствах существуют такие 9? Как известно из метода функции влияния, если О(х) сохраняет знак, то такое 0 существует, а если у О (я) знак не постоянный, то существуют некоторые функции/(х), для которых такого 0 нет. Таким косвенным путем можно ответить на вопрос. Кажется, прямого спо- соба найти ответ нет, но если ответ найден, то есть возможность действовать двумя различными способами, а такой выбор иногда по- лезен. В случае формулы гауссового вида с несколькими свободными узловыми точками существует специальная техника **) определения остаточного члена проще, чем через функцию С(х), и это наводит на мысль, что есть некоторая надежда найти другой единый метод. *) Это выражение называют формой Лагранжа для остаточного члена, а иногда все выражение называется расширенной теоремой о среднем. **) См. Хильдебранд [14] или Копал [20].
Г ЛА В А 12 ФОРМУЛЫ ДЛЯ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ § 12.1. Введение Между вычислением определенного интеграла ь /(х) Лх а и неопределенного интеграла, который можно записать в виде /(х) с1х, а имеется существенное различие. Результатом вычисления первого яв- ляется одно число, тогда как результатом второго является таблица. В этой главе будет рассмотрено вычисление определенных интегралов. Следующая глава посвящена неопределенным. Определенный интеграл можно вычислять, как применяя единую формулу на всем отрезке, так и разбивая отрезок интегрирования и применяя формулу к каждой из его частей. Примером последнего яв- ляется широко используемая формула Симпсона в+2га/1 ___ $ /(х)ах = 4 [/(а) + 4/(а Н- /г) + 2/(а + 2/г) + 4/(а + 3/г) +... /(а-|-2лй)], (12.1-1) которая выводится последовательным применением формулы $ Дх)«1х = |р(а)-}-4/(а-}-й)4-/(а-|-2/г)] к каждому двойному интервалу. Обычное соображение в пользу применения единой формулы для всего отрезка заключается в том, что для одинакового числа узловых точек такая формула имеет остаточный член более высокого порядка. Но если в комплексной плоскости вблизи интервала интегрирования есть особенности подынтегральной функции, то остаточный член вы- сокого порядка скорее всего будет большим. Конечно, при И —> 0 ос- таточный член более точной формулы стремится к нулю быстрее, чем Для формулы низкой точности. К сожалению, место, где это преиму- щество начинает работать, обычно неизвестно, даже если интеграл вычислен при двух различных разбиениях, когда, например, второе 6 Р. В, Хемминг
включает первое. Поэтому на практике часто предпочитают составную формулу. Другим основанием для предпочтения одной формулы другой яв- ляется влияние округления узловых значений подынтегральной функ- ции на результат интегрирования. Это влияние измеряется суммой квадратов весов. Если формула должна быть точной, когда /(х) кон- станта, то сумма весов постоянна. Требуется минимизировать гг 2 ПРИ условии, что сумма 'ав1 постоянна. Как известно, лучше 1=1 всего взять все равными между собой. Любое отклонение от ра- венства вызывает некоторое увеличение ошибок округления сверх минимума. Однако этот эффект не так велик, как можно было бы предполагать. Например, в составной формуле Симпсона (12.1-1) ко- лебания в весах вдвое дают среднеквадратичный эффект (4/3)24-(2/3)\ _10_ , 2 9 ’ по сравнению с единицей, которая получается, когда все веса равны. Если некоторые веса отрицательны, то суммарная погрешность может быть значительно больше, как, например, в формулах Ньютона — Ко- теса (см. § 12.2) высокого порядка. Задача численного интегрирования, как было замечено в § 7.3, есть задача выбора узловых точек, по которым можно оценить сред- нее значение подынтегральной функции. Изложенные до сих пор в этой книге методы состояли в аппроксимации многочленом подын- тегральной функции, или множителя подынтегральной функции, и по- следующем интегрировании многочлена. Таким образом, подынтеграль- ная функция /(х) рассматривается как произведение двух сомножи- телей: К(х) и $(х). При этом мы требуем выполнения трех свойств. Во-первых, функция К(х) не должна изменяться за все время поль- зования формулой; она может, конечно, быть просто единицей. Во-вторых, моменты тк ь тк==\1К(.х)х1г Лх (12.1-2) а должны находиться аналитически. В-третьих, функция §(х) должна допускать достаточно хорошую аппроксимацию многочленом степени п. При выполнении этих требований машина может вывести формулу для вычисления интеграла. Методы гл. 10 показывают, что искомая формула существует и может быть найдена машиной, если задать узлы, при условии, что любая производная в узловой точке задается вместе со всеми производными низших порядков. Если некоторые или все узлы не заданы и выбираются методом интегрирования, то сущест- вует риск, что какие-либо узловые точки могут оказаться комплекс-
ними числами. Это, однако, не должно быть непреодолимым препят- ствием к применению формулы, хотя, конечно, несколько обеску- раживает. В качестве примера применения вышеупомянутого метода рассмот- рим вычисление интеграла 1 (12.1-3) о Множитель 1пх имеет особенность при х — 0, и, следовательно, вся подынтегральная функция не приближается многочленом в этом интер- вале. Положив К(х) = 1пх, получим моменты тк = ~ 1 о (12.1-4) После этого остается аппроксимировать многочленом функцию 1 что сделать нетрудно, просто взяв интерполяционный многочлен, как это делалось во второй части, или разложив эту функцию в ряд Маклорена и проинтегрировав почленно. К сожалению, нельзя в явном виде сформулировать условия, при выполнении которых функция может быть легко аппроксимирована многочленом. Остаточные члены на практике обычно трудно найти, и нам придется решать вопрос о том, как разбить /(х) на два множителя К(х) и §(х), из других соображений. Прежде всего, если /(х) имеет особенность, то, очевидно, она должна войти в К(х). Другое соображение состоит в том, что мно- гочлен степени п не может иметь больше чем п корней и поэтому не может достаточно хорошо приближать сильно колеблющуюся функцию. И наконец, следует учесть, что многочлен не остается ограниченным в окрестности бесконечности. До некоторой степени эти рассуждения вместе с условиями, что К(х) не должна меняться от раза к разу и что моменты К (х) нужно уметь находить анали- тически, определяют выбор К(х). Изложив эти общие соображения, обратимся к рассмотрению некоторых конкретных формул. Перечис- ление конкретных формул отчасти дает основу для вывода новых формул. С другой стороны, их обычно хватает для решения отно- сительно простых задач. Упражнения 12.1-1. Используя универсальные матрицы § 10.3, найти пятиточечную формулу для 1 — / (х) 1п х (1х. о (Замечание: привести область интегрирования к интервалу (—2, 2) и затем вычислить моменты, используя (12.1-4).) 6*
12.1-2. Найти коэффициенты для 1 \ Ах ~ а~ 1 а~ Ч^-Чг + °о/о + аЧ^1Ь + Й1А- _ ] Г 1 х 12.1-3. Рассмотреть формулу упражнения 10.2-3 как составную. Сравнить с формулой Симпсона. 12.1 -4. Доказать, что если 2 = С, то Еаа? = ш1п тогда и только тогда, когда все да, равны между собой. § 12.2. Формулы Ньютона — Котеса Логически самые простые формулы для интегрирования — те, ко- торые используют множество равноотстоящих узлов, — получаются интегрированием многочлена, проходящего через узлы Узлы *) 0, /г, 2И, ..., л/г приводят к формулам Ньютона — Котеса пН 5 /(х)г/х = ага/(0)4-аг1/(Л) + и»2/(2/г) + ®>,/(и/г). о Первый частный случай формулы Ньютона — Котеса — это хорошо известное правило трапеций й $ /(х) йх = ~ И(0) +/(/г)] -1 /г3/' (9), (12.2-1) 6 второй — формула Симпсона: 2/х $ /(х) г/х = 41/(0) 4- 4/(/г)+/(2/г)] - ± /г5/'7 (9); (12.2-2) о третий — правило трех восьмых: зл § /(х)г/х = 4[/(0)+3/(/г)+3/(2/г)4-/(3/г)]-^/г5/ге (9). (12.2-3) о Таблица 12.2-1 дает коэффициенты для формулы п1г $ /(х) йх = АП [5о/(О) + В^Ь) + Д/(2А) +.. • 4- В^(лА)] + о где п — число интервалов, а не число узловых точек. Коэффи- циенты симметричны, и, следовательно, достаточно дать лишь часть таблицы. *) Заметим, что здесь используется л-)-1 узловая точка, а не п, как это делалось раньше.
Т а б л и ц а 12.2-1 п А йо В* в4 Кп 1 1/2 1 1 -(1/12) АУ” (в) 2 1/3 1 4 1 - (1/90) АУ 1У (0) 3 3/8 1 3 3 1 — (3/80) АУ 1у(0) . 4 2/45 7 32 12 32 7 — (8/945) АУу| (0) 5 5/288 19 75 50 50 75 19 — (275/12096) А7/71 (0) 6 1/140 41 216 27 272 27 216 — (9/1400) АУУШ (0) 7 7/17 280 751 3577 1323 2989 2989 1323 — (8183/518400) АУУ111(0) 8 4/14 175 989 5888 —928 10496 —4540 10496 9 9/89 600 2857 15741 1080 19344 5778 5778 10 5/299 376 16067 106300 —48525 272400 —260550 427368 § 12.2] ФОРМУЛЫ НЬЮТОНА-КОТЕСА
Некоторые коэффициенты становятся отрицательными при п — 8. Для л —9 они все положительны, но для п существуют и от- рицательные коэффициенты. Это приводит к росту ошибок округле- ния; по этим причинам формулы Ньютона — Котеса более высокого порядка используются редко. Порядок остаточных членов возрастает на два при переходе от нечетного номера к следующему чет- ному, так что формулы четного порядка предпочтительнее. Обратим внимание на появление степеней И в остаточном члене. Если брать не единичное разбиение, то степени /г автоматически воз- никнут в определяющих уравнениях (10.3-1). Можно либо провести выкладки с настоящим /г, либо считать, что 1г = 1, и соответствую- щие степени Н вписать потом (для равноотстоящих узлов); обычно лучше последнее. Если надо сравнить эти формулы для одного и того же интер- вала, то следует помнить, что /г равно длине интервала интегриро- вания, деленной на п, и внести соответствующие поправки в остаточ- ные члены. Формулы Ньютона — Котеса могут быть получены многими спосо- бами. Вероятно, самый простой путь нахождения коэффициентов основан на том обстоятельстве, что формула Грегори, написанная с включением всех разностей, которые могут быть вычислены по уз- лам, является точной для многочленов максимальной степени и, сле- довательно, в форме Лагранжа она должна быть такой же, как если бы она была выведена непосредственно. Таким образом, для случая п = 4 имеем 4 /(х) ах=Ъ + А + А + А +1А + (Д/о - Д/з) - О - (Д То + Д2А) + Т20 (ДЗА - ДЗА) ~ 4) <Д'А + д4/о) = __14 с | 64 г . 24 , , 64 , . 14 ,. — 45АФ45/1 -Н45/2-Г45/3 + 45 Л- Упражнения 12.2- 1. Применить формулы Ньютона — Котеса для п=2, 4, 6, 8 к 1 $ е~х(1х. Сравнить с правильным ответом, о 12.2- 2. Рассмотреть рост погрешности округления в формулах Ньютона —• Котеса. 12.2- 3. Вывести формулу Ньютона — Котеса из формулы Грегори при л = 6. § 12.3. Использование формулы Грегори Как было показано, отбирая нужным образом члены в формуле Грегори, можно получить коэффициенты формулы Ньютона — Котеса. Это объясняет, почему формула Грегори так полезна на практике;
она и гибкая и точная. Часто, чтобы избежать отрицательных коэф- фициентов (которые дают большой рост погрешности округления) и производных высокого порядка в остаточном члене (который мо- жет быть очень велик), применяют составные формулы, как, напри- мер, составную формулу Симпсона 2лА $ /О') ~ -у (/о 4/14- 2Л 4~ 4/з 4~ • • • 4~ 4Ага_14- />п). о Если в формуле Грегори ограничиться вторыми разностями, то остаточный член будет того же порядка, а ошибки округления меньше, так как большинство коэффициентов будут близки по величине и сумма квадратов будет ближе к минимуму. Таблица 12.3-1 Вычисление интеграла $ е х~ <1х о 0,5 0,6 0,7 0,8 0,9 1,0 1,1 0,88622 69524 5 С точностью до 11-го десятичного знака 69254 8 69285 0,88622 72808 23 598 32 0 0,88674 Таким образом, широко используемая формула Грегори /(х) (1х = у /о 4- А 4- • • • 4" /и-14~ у Л 4~ 12 (А/о — Д/л-1) — о _ 1 (ду0 4- ду„_2) 4- (Д % - Д7„_3) - А (Д70 + д*/^) +... для равноудаленных узлов является наиболее полезной и гибкой. При вычислении такого интеграла, как СО § е~х~(1х, ОО концевые поправки к сумме равноотстоящих равновзвешенных значе- ний функции (разности, стоящие на обоих концах формулы Грегори)
не дают никакого вклада. Этот результат установлен как теоретиче- ски, так и экспериментально при условии, что расстояние между узлами не слишком велико. Хартри *) дал таблицу результатов (см. таблицу 12.3-1), получающихся при вычислении по формуле СО со 7= е~х'2 ах==}1[~-’~ оо к = 1 При й = у совпадение прекрасное. Но, к сожалению, неизвестно, как с увеличением /г падает точность. Анализ остаточного члена формулы Грегори — слишком трудная тема. Упражнение 12.3-1. Написать блок-схему для формулы Грегори с ав- томатическим ограничением порядка разностей. Объясните условия этих ограничений. § 12.4. Открытые формулы Формулы Ньютона — Котеса иногда называют замкнутыми, потому что они включают конечные точки интервала, в противоположность открытым формулам, которые не используют конечные значения: пЛ $ /(х)с?лг = ®1/(/г)-4-^/'(2/г)-|- ... — 1)/г]. О Перепишем формулу в виде пН 5 Дх) ах = АН [В^п) + в,/(2/г) +. • • + В^^п - 1)Л]] + Кп. о Коэффициенты даны в таблице 12.4-1. Т а б л и ц а 12.4-1 п А В1 С, Д, Кп 3 3/2 1 1 (ЗЛ3/4)/" (0) 4 4/3 2 —1 2 (14/45) (0) 5 5/24 11 1 1 11 (95/144) № (0) 6 3/10 11 —14 26 —14 (41/140) Л’Л1 (0) Эти формулы иногда используются при численном интегрировании дифференциальных уравнений. Потребителю следует быть осторож- *) См. также К- А. Р 1 511 е г, РЫ1. Ггапз. Коу. Зое., ГопОоп, А 222, 1922.
ным при использовании формул открытого типа, если вычислить значение подынтегральной функции в конце интервала не удается, так как трудности вычисления, быть может, означают, что там имеется особенность, а тогда допущение о возможности аппроксимации подын- тегральной функции многочленом может оказаться неправильным. Между формулами открытого и замкнутого типа существуют про- межуточные формулы (принадлежащие Маклорену), которые исполь- зуют узлы в средних точках п интервалов п'г \ У Л / Л \ | Г / ЗЛ \ [ | г» / 2Л ~~ 1 1 \ = + ... 6 Упражнение 12.4-1. Вывести формулы типа Маклорена в форме Ла- гранжа из упражнения 10.10-1. § 12.5. Квадратура Гаусса Название «гауссова квадратура» ассоциируется со случаем, когда все узлы свободны. Существуют три широко используемых случая: отрезок [— 1, 1] с подынтегральным весовым множителем, равным единице (Гаусс — Лежандр); область [0, со) с подынтегральным ве- совым множителем е~х (Гаусс — Лагерр) и область (— оо, оо) с подын- тегральным весовым множителем (Гаусс — Эрмит). В каждом случае второе имя присоединяется потому, что узловые точки ока- зываются нулями соответствующих ортогональных многочленов сте- пени п. Случаи Лежандра (л от 1 до 16) и Лагерра (л от 1 до 15) затабулированы Национальным бюро стандартов [31]*). Мы показали, что узловые точки все различны, действительны и лежат в интервале интегрирования, а веса все положительны. Остаточный член пропорционален производной порядка 2л а где к (х) = (х — Х1) (х — х2) ... (х — хл). Исследовано много других частных случаев, в которых ядро К(х) имеет особенности на одном или на обоих концах области интегри- рования. Особый интерес представляет случай Гаусса — Чебышева 1 п Д/1— х2 ‘ " *) Аналогичные таблицы и для больших значений п имеются в книгах: В. И. Крылов и Л. Т. Шульгина, Справочная книга по численному интегрированию, «.Наука», М., 1966 и А. С. К р о н р о д, Узлы и веса квад- ратурных формул, «Наука», М., 1964. (Прим, ред.)
Узловые точки оказываются такими: X] = соз 2/-1 •2п тогда как все веса оказываются равными Другие частные случаи, вероятно, лучше всего посмотреть в [20] и [28]. Гауссовы методы интегрирования весьма эффективны при прибли- женном вычислении интеграла по немногим узловым точкам при условии, что функция (исключая ядро) может быть хорошо аппрокси- мирована многочленом. Это справедливо для большинства примеров из учебников; многое зависит от близости особенностей к области интегрирования. Широко распространено мнение, что так как методы квадратур Гаусса столь хороши, они чувствительны к незначительным ошиб- кам. Небольшое рассуждение показывает, что если узел задан с ошибкой, то приближенное значение интеграла изменяется на вели- чину этой ошибки, умноженную на производную подынтегральной функ- ции и вес в этом узле. То же самое,, конечно, верно для любого метода интегрирования. Тот факт, что все веса гауссовой квадратуры положительны, обеспечивает для нее отсутствие интерференции. Упражнение 12.5-1. Показать, что формула /и) /)+7(0)+/(КД точна для многочленов пятой степени. § 12.6. Формулы интегрирования смешанного гауссового типа Эффективность гауссового подхода к интегрированию и исполь- зуемые этим методом математические соображения позволяют решить многие конкретные задачи. В настоящем параграфе будут перечис- лены некоторые из них. Радо исследовал случай, когда некоторые узлы заранее фиксированы *). Основной интерес представляет случай, когда в число узлов включены обе концевые точки. Причина этого интереса состоит в том, что, когда составная формула применяется ко всему отрезку, значения функции в общих концевых точках *) Аналогичный случай рассматривался также А. С. Кронродом и за- табулирован им для п от 1 до 40 в книге, упомянутой на стр. 169. (Прим, ред.)
должны вычисляться лишь однажды. Копал [20] затабулировал этот случай для всех значений п от 3 до 11. Ральстон (см. § 10.9) исследовал интересный случай, когда веса на концах отрезка отличаются только знаками. В составной фор- муле веса взаимно уничтожаются, за исключением двух крайних кон- цов. Таким образом, точность улучшается благодаря свободному весовому параметру, а цена вычисления повышается лишь слегка, и чем длиннее область интегрирования, тем эта дополнительная цена относительно меньше. Во всех этих случаях остаточный член обычно имеет вид ь — А (х) тс3 (х) С^'(1х, а где СУ— произведение множителей в фиксированных узловых точках. Упражнение 12.6-1. Рассмотреть применение формулы в упражнении 10.2-2 как составной формулы. Сравнить ее с составной формулой Симпсона. § 12.7. Суммирование рядов Формула Грегори выражает интеграл как сумму значений подын- тегральной функции, вычисленных в равноудаленных точках, с рав- ными весами, плюс поправки, затрагивающие лишь концевые точки. Если область интегрирования уходит в бесконечность, то сумма ста- новится бесконечным рядом. Можно, наоборот, выразить сумму бесконечного ряда как не- собственный интеграл, плюс поправочные члены в начале (такие же по- правки на бесконечности обращаются в нуль вследствие сходимости ряда). Например, 2____Г <^х । 1 И \____1Л____1_\ , 1 /_1___2 , П _ ' 2 Н'2,'! 12\22 12/'24\32 25"+’1»)----- * = 1 I = 1+ ...= 1,588 ... (верный ответ =1,64 ...). Часто бывает выгодно сложить несколько первых (скажем, 10) чле- нов отдельно и применить интеграл к остальным. Может случиться, что интеграл, возникший из ряда, не может быть вычислен аналитически. Тогда можно или проинтегрировать его численно, или сделать замену переменных и приближенно вычислить интеграл по формуле Грегори. При переходе от рядов к интегралу и обратно дважды возникают поправочные члены на концах. Выиг- рыш, который можно получить при таких преобразованиях, состоит в том, что получающийся новый ряд сходится гораздо быстрее пер- воначального.
§ 12.8. Эффекты замены переменной В двух формулах Гаусса ОО § е~х'2 /(х) с1х, — ОО ОО е~хЕ{х)<1х о изменение масштаба является единственной степенью свободы. Ис- пользуя второй интеграл в качестве примера, запишем его как 1=^ е~лх [е-(1-а)*/(х)] (1х. о Если положить ах =6 (а)>0), /= 1 $ е-°Р(9) М, О где Е (6)= е— 1<1 —«)/а]в то можно применить ту же формулу интегрирования к этому новому интегралу, как и к первоначальному. Выбор значения а зависит от того, насколько хорошо соответствующая Е (0) аппроксимируется многочленом заданной степени. Вообще говоря, если большинство слагаемых ®;Е(х/-) оказались малыми, то следует думать, что а вы- брано неудачно. Такое изменение масштаба ставит вопрос о замене переменной. Снова используя § е~хЦх)(1х, о получим х— — 1п 0. Тогда придем к интегралу 1 $/(—1П 6) <Й. о Возникает вопрос: «какую функцию /(х) или /(— 1п 6), соответ- ственно в областях аппроксимации (О х «С со) или (О «С 0 1) легче приблизить многочленом»? Заключительное замечание на тему о замене переменных: обычно заменой переменных можно исключить особенности. В приведенном ранее примере (§ 1.9) рассматривался интеграл й С /(х) 3 Лх.
Подстановка х=у з!п2 0 приводит его к виду я/2 5 51па0') 81П 9йг9, О т. е. устраняет особенность. § 12.9. Интегралы с параметром Часто бывает необходимо вычислить интеграл вида Е(Х) — /(х, о для некоторых значений параметра X. Опыт работы показывает, что обычно при дифференцировании по параметру можно найти дифференциальное уравнение для р (X), и это уравнение может быть решено в том смысле, что оно сводится к интегралу вида х Л(Х) = 4(Х)4-^(Х)г/Х. о В этом виде каждый шаг вперед по X дает другое решение Р (X). В большинстве случаев этот метод является более эффективным подходом к задаче. Другое соображение состоит в том, что часто интеграл от сильно осциллирующей подынтегральной функции может быть превращен в дру- гой с быстро убывающей неколеблющейся подынтегральной функцией. Можно сказать, что эти несколько замечаний сделаны на тему, как не вычислять интеграл. В действительности практика осущест- вления этих советов относится к той области классического «фор- мульно-аналитического» математического анализа, которой редко владеют в наши дни и которая не относится к предмету нашей книги. ГЛАВА 13 НЕОПРЕДЕЛЕННЫЕ ИНТЕГРАЛЫ § 13.1. Описание содержания главы и система обозначений Основной целью этой главы является введение двух новых поня- тий. Первое — это неустойчивость, возникающая иногда при исполь- зовании уже вычисленных значений функции для получения ее сле- дующего значения. Этот эффект можно сравнить с неустойчивостью в системах с «обратной связью».
Обратная связь есть использование части выхода в некоторый момент в качестве входа в несколько более позднее время. Иногда этой задержкой во времени можно пренебречь, а иногда нельзя. Вероятно, простейшим физическим примером является обратная связь усилителя (рис. 13.1-1). Выход есть сумма двух входов слева, умно- женная на коэффициент усиления, взятый равным —109. Мы имеем (>' + гох)(— Ю9)=х или 1010у 10» +10 — Юу Таким образом, выходной сигнал равен входному, умноженному на— 10, и совершенно не зависит от небольших изменений в характеристиках Коэффициент усиления=-7О$ усилителя (т. е. нечувствителен к точному значению коэффициен- та усиления). При некоторых обстоятель- ствах, если существует доста- точная задержка при возвраще- нии сигнала с выхода на вход, система осциллирует или, как часто говорят, «шумит». Такие ситуации часто возникают в пу- бличных аудиториях, которые имеют микрофон (у) и выход усилитель- ной ' системы (л:). Выход из громкоговорителя задерживается на время, которое требуется звуку, чтобы добраться от громкоговори- теля до микрофона, и если не позаботиться о регулировке, то ре- зультат будет слышен аудитории в виде шума. Теория систем с обратной связью хорошо развита и не может быть изложена здесь подробно. Следует лишь уяснить, что когда результат некоего процесса используется в качестве входа в него же на более поздней стадии, то есть риск получить нежелательные колебания, период и режим которых зависят от данного процесса. Второй новой идеей является развитие приема, которым мы поль- зовались для вывода формул. До сих пор использовались все имею- щиеся параметры, чтобы сделать формулу верной для возможно боль- шего числа степеней х. Другими словами, мы стремились сделать порядок остаточного члена возможно более высоким. Как оказывается, чтобы справиться с неустойчивостью и другими эффектами, такими как, например, накопление ошибок округления, необходимо оставить некоторые коэффициенты общей формулы неопределенными до нахож- дения остаточного члена и лишь тогда выбрать для них значения, которые окончательно и дадут нужную формулу.
Вычисление неопределенного интеграла у (х) == $ / (х) йх (13.1-1) а эквивалентно решению дифференциального уравнения у' (х)=/(х), у (а) — 0. (13.1-2) Значения подынтегральной функции будем обозначать через у', а ответ — через у. Эти обозначения хорошо согласуются с системой обозначений, принятой при рассмотрении дифференциальных уравне- ний более общего вида у'(х) = Г(х, у), у(а) = Ь (13.1-3) (см. гл. 15). Естественно, что при этом класс формул, среди которых следует искать нужную, сужается. Сделаем также незначительные изменения в обозначениях. До сих пор у (х) и ух использовались для обозначения одного и того же. Теперь мы будем применять индекс- ные обозначения; точки, в которых мы вычисляем ответ, будем нуме- ровать 0, 1, 2, ..., шаг по-прежнему обозначается через й, а начало отсчета — через а. Таким образом, у(а-\-пИ) и уп есть одна и та же величина. Путаницы при этом не возникает, а обозначения становятся значительно проще. § 13.2. Несколько простых формул для неопределенных интегралов Вероятно, самая простая формула аппроксимации одного шага неопределенного интеграла такая: = Уп“Н ^Уп+Ча’ (13.2-1) где /=/(х) или X у = у'Лх. а Очевидно, это — формула средней точки (10.2-1) и она дает ошибку вдвое меньше, чем обычное правило трапеций (10.2-3) Уп+1=Уп-|--2 (Уп4-1 Ч~Уа). Формула средней точки лучше также с точки зрения эффекта округ- ления.
Более точная формула, которая может быть найдена при исполь- зовании универсальной матрицы § 10.3, есть У«+1 = Уп ~Ь 24 (—Уп—> 1+ 13ул-н —Ултр)- (13.2-2) Ее остаточный член равен ~ й6/(0) 0,0153/г5/8’ (6). (13.2-3) Если для вычисления интеграла используется эта формула, то нужно сосчитать функцию в двух дополнительных точках, лежащих вне области интегрирования (по одной на каждом конце). Если значения подынтегральной функции не могут быть найдены в этих точках из-за особенностей /(х), то предположение, что подынтегральная функция может быть хорошо аппроксимирована многочленом, вероятно, неверно. Для концов интервала можно использовать другую формулу, а именно: У1 = Уп + 24 (9уо + 19^ - бу2 Д- уз) *)• (13.2-4) Для вычисления неопределенных интегралов широко используется формула Симпсона (10.4-1). В наших теперешних обозначениях она принимает вид Уп+1 — Уп-1 у (Уп,-1 4~ 4уп 4~Уп4-1)> (13.2-5) с остаточным членом — 0,01 Ш8/*) (9), (13.2-6) который несколько меньше, чем (13.2-3). Когда формула Симпсона используется стандартным образом, воз- никает одна трудность, которая вообще не очень серьезна, но при случае может досадить. Формула Симпсона дает значение интеграла на два шага вперед, а чтобы начать цепочку для нечетных узлов, используется специальная «половинная формула Симпсона» (10.4-2). Результатом этого прыжка на два шага вперед является то, что накап- *) На самом деле мы, конечно, 24 /г когда выпечатываем умножаем на вычисляем ^Уп и только в конце счета, Поэтому при том же количестве вычислений мы избегаем накопления ошибок округления.
ливающиеся ошибки по нечетным и четным точкам до не- которой степени не зависят друг от друга, особенно из-за разницы в весах, с которыми один и тот же узел входит в четные и нечетные последовательности. Все это способствует возникновению колебаний. Хотя эти колебания происходят вследствие сделанных ошибок и по- этому дают некоторую меру точности результатов, иногда они могут оказаться очень неприятными. Колебаний можно избежать, если вы- числять лишь цепочку четных точек, а для каждой нечетной точки использовать «половинную формулу Симпсона». Упражнения 13.2- 1. Вывести формулы (13.2-2) и (13.2-4) с их остаточными членами. 13.2- 2. Сравнить метод формулы Симпсона с формулой соответствую- щей точности, основанной на формуле Грегори (§ 10.10). § 13.3. Общий метод Можно исследовать много специальных формул в отдельности, но мы вернемся к общему методу и исследуем целый класс сразу. При приближенном вычислении следующего значения интеграла уп+1 можно было бы пользоваться старыми значениями интеграла у№ уп_1, а также значениями подынтегральной функции у'п-ъ уп, у'пуъ ••• Здесь мы сознательно ограничимся формулой вида У п+1 — аоУо 4" а1Уп-1 4“ 4~ Л 1 4~ 4_^оУп4"^1Хл—'4_^^п-2)4~^в ^5/)’ (13.3-1) О! которая использует три старых значения интеграла и одно новое и три старых значения подынтегральной функции. Немедленно возникает вопрос: «почему бы не попробовать более разумный метод, использующий значения подынтегральной функции в точках, расположенных симметрично относительно той, значение в которой надо вычислить»? Такой метод, вероятно, дал бы более точные формулы, но мы не будем так делать по причинам, которые выяснятся при исследовании общего дифференциального уравнения (13.1-3) в гл. 15. На семь параметров в формуле (13.3-1) наложим пока лишь пять условий, а именно, что формула должна быть точной для у=1, х, ..., хп или, что то же самое, точной для у=1, (х — И), ... ..., (х— /г)4, и сохраним два параметра для других целей. Раньше 1, х, хг, ... были подынтегральными функциями, теперь же под у=1, х, х2, ... мы понимаем ответ. Но интеграл от степени х есть сте- пень х на единицу большая, поэтому нужно еще объяснить, зачем мы прибавили условие точности для у=1. Здесь мы не дадим объясне- ния этому, однако укажем, что невыполнение этого требования влечет нежелательные следствия.
Используя указанные метров, получим пять условий и взяв а1 и в качестве пара- йд — 1 — = 1(19 4-13^4-8^), ах = Ьу = 1(-5 4Г13гг14-32гг2), 1 (13.3-2) == = 24 (1 — а1 4~ 4%), Ъ = ^(9~ «1), = -^(— 19-4 Наг—8а2). Мы вычислили Е8 (и другие коэффициенты) так, как если бы шаг /г был равен единице. Разбор одного примера с разбиением И покажет читателю, почему было решено, что такой способ нахождения коэф- фициентов (который действительно несколько меняет смысл Е^) пред- почтительнее на практике. Это не приводит к путанице в понима- нии Е,л. Упражнение 13.3-1. Вывести уравнения (13.3-2) § 13.4. Ошибка вследствие отбрасывания членов Общий вид формулы (13.3-1) написан так, как если бы функция влияния О(х) (см. § 11.3) имела постоянный знак (§ 11.4). Необходимо ее исследовать и найти, какие значения ар а3 делают это предполо- жение верным. Руководствуясь гл. 11, находим, во-первых, значение т = 5 (за исключением специальных а1( а3 (см. § 11.2)). Из функции влияния § 11.3 находим А~ — 2/г, так что формула (11.3-2) приобретает вид У (х) =У (- 2/г) + (х 4- 2/г)У (- 2/г) + 1±^У' (- 2/г) + + ^+_Жу"(_2/г)4-(_ 2/г)-4 X 4-у § УВ)(У(Х — 8)4з. -2Л (13.4-1) Если подставить это выражение в общую формулу (13.3-1), то окон- чательно придем к формуле (11.3-8) с л /? О) = У(5) (5) 0(5) йз, -2Л
где 0(5) задана следующим равенством (заметим, что для получения этого равенства не надо интегрировать): 0(5) = ^! {(/г — «)+ — а0(— 8)+ —а1 (—й — 5)^ — а3(—2й — з)^ — - 4Й [Ь (й - зД + Ьв (- з)4 + М~ й - зД. + 4-^(—2/г —8)!р]}. (13.4-2) Если 0(5) имеет постоянный знак (§ 11.4), то л Я (х”) = 51 § О (з) йз — Е3й”, -гл где Е8 есть результат подстановки _у(х) = х8 для разбиения с й = 1. Задача состоит в том, чтобы найти такие значения а1г при кото- рых 0(5) имеет постоянный знак. Таким образом, нам надо найти нули 0(з) для каждой пары аь аг. Так как это сделать трудно, при- бегнем к обычному приему и обратим задачу, положим С(з) = О и исследуем полученные в результате значения а1; а2. Используя (13.3-2), напишем 0(5) как линейную функцию от а1г а%: О($) = Оо (5) Ч~ а101 (5) о-гО-1 (5), где Со («)=4, -«)+ - (- < - 4й < - 4 (- <+ + |й (- И - < -|(- 2Й - зд], Ох («)=4 [<- < - (-н - <+4 < - 4А < - _ 13 й (_ /г _ < + |(- 21г - <], 03 (з) = [(-*)+ ~ (~ 2й - 5)!р - | к (- 5)^ - (- к - <- Мы должны исследовать 0(з) в следующих трех интервалах: Й^5^гО, 0 5г 5 Дх — й и — Й 5 —2Й. В первом интервале равенство (Л — з)3 — з) — ~ п 4- Й! 4] = о дает . 6з = 3 +
что описывает семейство вертикальных прямых в плоскости (а!: а^). Прямые двигаются от а1 = 9 до а{ — 3, когда $ проходит от К до О (рис. 13.4-1). Во втором интервале имеем ^(/г — 5)4 — $4 — у /г (Н — з)® у йз3^ + + «з[+ 4 - 4® + у /гз® ] Ц- а.2|> + 8з] = о. прямые, которые продолжают двигаться Это уравнение описывает влево, но постепенно накло- няются до тех пор, пока при з = — Л Эта прямая проходит через точку (1, 0) с наклоном 1 :2. В третьем интервале полу- чаем прямую, вращающуюся около точки (1, 0) до по- ложения Рис. 13.4-1. Область постоянства знака О (з) Выше и слева от этой пря- (прямые— линии уровня С? (з) =0 для ука- мой (см. рис. 13.4-1) функ- занных значений з). ция влияния б?(з) не имеет нулей *) и, следовательно, сохраняет постоянный знак. Таким образом, в этой области оста- точный член имеет вид ^ГТ(8)(9). Вне этого района мы не имеем такого остаточного члена. Дальше этот вопрос исследоваться не будет. В этой области ошибка выражается через Е$ согласно (13.3-2). Прямые «постоянной ошибки» изображены на рис. 13.4-2 светлыми *) Существует также область справа внизу, в которой С? (з) не меняет знака, но как величина остаточного члена, так и эффекты округления удер- живают нас от использования таких формул; в дальнейшем мы будем игно- рировать эту область.
линиями. Эти линии показывают, что при прочих равных условиях мы должны попытаться держаться ниже и правее, где остаточный член Рис. 13.4-2. Линии равной ошибки (Е— значе- ние ошибки вдоль каждой линии). маленький. Наклон линий 11:8 показывает изменение отношения двух параметров; если увеличивать на 11 единиц, а ах на 8, то ошибка остается той же самой. § 13.5. Устойчивость Исследуем сначала полученные формулы на тривиальном случае / = 0. (13.5-1) Если уже здесь возникнут затруднения, то в более общем случае / = /(х) (13.5-2) их следует ожидать и подавно. Если в качестве точки плоскости (а1; а.,) выбрать а^ =—1Л а3 = 0, то формула примет вид Ул+1 == 2Уп ~ Уп-1- Рассмотрим, что случится с решением у — 0, если допустить в у№, небольшую ошибку е (представим себе, что она произошла от округ- ления). Легко вычислить таблицу 13.5-1. Таким образом, ошибка все время возрастает. В качестве другого примера выберем а1=1, а.2=1. Уравнение есть У п+1 — — Уп~}~ У п-1 и получается таблица 13.5-2. Теперь ошибка раскачивается и также- растет.
Таблица 13.5-1 У-а = 0 л = 2е У-1 = 0 у, = Зе Уо = е Уз = Таблица 13.5-2 У-2 = 0 у2 = 2е У-1 = 0 у8 = — 2е Уо = * У4 = Зе У1 = — е у6 = — Зе Эти два примера показывают, что это явление надо исследовать ^подробнее; ясно, что некоторые точки (а,, а2) очень плохо выбраны. Общая формула (13.3-1), которая исследуется, является линейным разностным уравнением с постоянными коэффициентами, и можно применить методы гл. 5. Так как значения у' есть значения подын- тегральной функции, которые вычисляются независимо от значений у, то рассмотрим разностное уравнение в виде У п+1 ~ а«Уп — ЗДм — а,уп_л — Рп. (13.5-3) Прежде всего, решим однородное уравнение У п+1 — (1 — й! — а^уя — ад,., — а.2уп_$ — 0. (13.5-4) Для этого положим у„ = р" и получим характеристическое уравне- ние р3 — (1 — Я! — а2) р2 — агр — а2 = 0 или (Р —' О [Р3 Ч- (а1 4~ ач) Р + а%1 — 0- (13.5-5) Пусть р! и р2 — нули квадратичного множителя. Решение (13.5-4) при условии, что никакие два корня не совпадают, есть Уп = С) (Р1)п + (рз)" -ф- С3. (13.5-6) Когда два корня равны, как это случилось в двух верхних приме- рах, формулу (13.5-6) надо изменить. Если каждый из двух корней
в (13.5-6) по модулю больше единицы, то решение будет расти по- добно геометрической прогрессии по мере того, как п увеличиваете» (при условии, что соответствующие коэффициенты не нули). Поэтому исследуем в плоскости (а1; а.,) область, для которой |р/|<^1. Самый легкий путь — определить границы этой области. Рис. 13.5-1. Область устойчивости на плоскости. Сначала исследуем границу, вдоль которой корень становится рав- ным 1. Для этого положим р=1 в квадратичном множителе. Это определяет прямую 14-й1 + 2а.2 = 0, = (13.5-7) Далее, исследуем, где р =—1; положим в квадратичном множителе- р = —1. Это определит прямую (13.5-8). Теперь исследуем, где корни становятся комплексными. Граничная кривая определяется уравнением (й1 -5“ п2)2 - 4Од = О или а1 = ±2]/— а2 (13.5-9} (эта кривая показана на рис. 13.5-1). Внутри параболы корни ком- плексные, взаимно сопряженные и оба имеют модули
Таким образом, область, в которой ) р,-1 <С 1. ограничена прямой а3=1, (13.5-10) которая как раз пересекает параболу (13.5-9) там, где она касается прямых (13.5-7) и (13.5-8). Эти три прямые образуют треугольник (рис. 13.5-1), внутри которого и должны лежать характеристические корни, чтобы метод интегрирования имел ошибку, которая не растет как геометрическая прогрессия. Вне этой области некоторые | рг | ^> 1. Легко видеть, что два иллюстрирующих примера здесь соответ- ствуют точкам, которые лежат на краю области и дают двойные корни в характеристическом уравнении, а тройной корень в свою очередь приводит к линейному росту. Когда | рг-1<^ 1, мы говорим, что метод устойчивый; когда | рг | = 1, мы говорим, что он условно устойчивый (лишь для простых корней). Решение однородного уравнения (13.5-4) должно быть добавлено к решению полного уравнения (13.5-3). Когда решается (13.5-3), любая ошибка округления будет начальным условием для решения однородного уравнения и породит решение, которое стремится к бес- конечности (если только не окажется, что рг по модулю не больше единицы) независимо от поведения Рп. Нежелательные решения возникают оттого, что дифференциальное уравнение первого порядка заменяется разностным уравнением третьего порядка. Корень р=1 соответствует желаемому решению, а другие два рг — нежелательным решениям. При требовании | рг | .. 1 они не оказывают большого влияния на окончательный ответ. Упражнения 13.5-1, Рассмотрите пример а1 = —1, о2 = 0 и покажите, используя уравнение (13.5-6), что вычисленная таблица совпадает с теоретической. 13.5-2. То же самое, что и в упражнении 13.5-1, для а1 = 1, а2 = 1. 13.5-3. Рассмотреть случай а1 — 2, а2 = 0. Показать, что, в соответствии с теорией, ошибка растет в геометрической прогрессии. 13.5-4. Рассмотреть поведение ошибки при пересечении каждой из трех граничных линий области устойчивости. § 13.6. Шум округления Значения уп, которые мы вычисляем, будут, вообще говоря, иметь некоторый уровень шума округления а. На первый взгляд кажется, что коэффициент усиления шума округления равен = («6 ~Г а1 Однако, так как значение уп+1 вычисляется из значений уп, уп1 и шум в Ул+1 связан (коррелирован) с шумом в уп, упЛ, уп_^ по- этому следует отнестись к вопросу более внимательно.
Рассмотрим решение уравнения / = 0, которое есть тождественный нуль; предположим, что возникла малень- кая ошибка округления. Решение (13.5-6) есть Ул = С1(р1)'’ + С3(р3)я + С3. (13.6-1).. Если метод устойчив и | рг | <^ 1, то Уп С3> когда п оо. Вычислив С3 из начальных данных Кз = 0, у_1 = 0, у0 = е, имеем |Ч-|-С3 = 0, ^+^ + Сз = 0, С1 + С2 + С3 = е. Решая систему относительно С3, получаем с __________?_______ 3 1 —(Р1 + Ра) + Р1Рэ' Используя квадратичный множитель в (13.5-5), находим Р1 Ч~ Р2------- — (Й1 “Г аг)> Р1Р-2 — а1- Следовательно, С3 = 1;—о = 1 -р 2(^2 где (13.6-2) 1 — 2(2% Таким образом, чтобы ошибка округления е не росла, надо чтобы 1^1-----| 1 -|- аг 2а21 1 «ё 1 и чем меньше, тем лучше. Так как обычно приходится иметь дело с положительным выражением 1 —2а2, то условие, чтобы изоли- рованная ошибка е не росла, состоит в том, чтобы точка (аъ а.2) лежала выше прямой а9 = -^-. (13.6-3) Эта область ограничена на рис. 13.5-1 пунктирной линией. Упражнение 13.6.-1. Теория округления, приводящая к уравнению (13.6-3), была развита для единственной изолированной ошибки. Однако каждый шаг будет порождать некоторую ошибку. Как изменить аргумента- цию применительно к этому случаю?
§ 13.7 Итоги Таблица 13.7-1 перечисляет ряд хорошо известных методов, ко- торые попадают в общий класс (уравнение (13.3-1)), исследуе- мый нами. Т а б л и ц а 13.7-1 Некоторые методы интегрирования Адамс — Башфорт Симпсон Правило трех вось* мых 1/3 1/2 2/3 «5» «0 1 0 0 1/3 1/2 0 9/8 01 0 1 0 1/3 1/2 2/3 0 а. 0 0 1 1/3 0 1/3 -1/8 ь, 9/24 1/3 3/8 13/36 17/48 25/72 3/8 19/24 4/3 9/8 39/36 51/48 91/72 6/8 Ь, —5/24 1/3 9/8 15/36 5/36 3/48 43/72 —3/8 ь. 1/24 0 3/8 1/48 9/72 0 Ё,, Усиление — 19/6 —4/3 —9/2 —3 —9/4 43/18 —3 шума^ 1 1, о, 1, 0 1, 0, 0,1, 0,0 1/2_ 2/3 3/7 1,13 1 1 1 1//3 1//2 /5/3 /82/8 Точка «!—1, аа = 0 дает метод Симпсона и расположена на •границе области устойчивости. Точка а1 = 0, а3=1 дает правило трех восьмых (12.2-3) и также лежит на границе области устойчивости. Точка а! = 0, а3 = 0 дает формулу «Адамса — Башфорта», на- званную так потому, что она использована в методе Адамса — Баш- форта интегрирования дифференциальных уравнений (см. гл. 15). Все другие методы общего вида (13.3-1) являются линейными комбинациями этих трех. Рис. 13.5-1 дает соответствующую инфор- мацию. Каждая точка в плоскости (аь а2) соответствует методу интегрирования. Во-первых, мы стремимся выбрать точку внутри треугольника устойчивости, хотя можно осмелиться в некоторых случаях выйти на границу, как в методе Симпсона и правиле трех восьмых. Во- вторых, следует держаться направления вниз направо, чтобы иметь возможно меньшее Е6 (рис. 13.4-2). В-третьих, мы хотим держаться выше пунктирной линии (рис. 13.5-1), чтобы сохранить как можно меньший шум. Таким образом, за исключением беспокоящей тенденции к коле- банию, формула Симпсона — одна из лучших в рассмотренной общей форме (которая не включает (13.2-2)). Потребителю следует отобрать себе собственный метод, подходящий для конкретного соотношения
факторов в каждой проблеме; нельзя предложить единственную, самую хорошую формулу при всех обстоятельствах. Методы из таблицы 13.7-1, названные 1/3, 1/2 и 2/3, являются смесью основных методов^ и интересны в некоторых приложениях. Упражнение 13.7-1. Развить теорию § 13.3 до § 13.7 (используя только, один параметр аг) для формул общего вида А*у11У) (0) Уп+1 = ач Уп + а1 У п-1 + I1 (1>-1Уп —1 + Ь^Уп + &1Уп — 1) + ---- и сравнить с известными результатами. Ответ: § 13.8. Некоторые общие замечания Внимательный читатель, вероятно, заметил, что был исследован, лишь один особый класс формул; но возможны и другие формулы. Например, можно рассматривать формулы, в которых использовались бы как значение подынтегральной функции (у'), так и значение произ- водной подынтегральной функции (у"). В этом классе естественно ожидать более хороших формул в смысле эффективности вычислений, так как часто производная легко вычисляется из различных кусков- вычисления подынтегральной функции. Это потребовало бы большей кодировки (больше ошибок) и для случайной задачи, возможно, было бы плохой стратегией. Однако для часто повторяющейся задачи такие формулы могли бы значительно сократить машинное время и должны быть исследованы. Мощные формулы типа Гаусса не приспособлены для неопреде- ленного интеграла из-за трудности подгонки специфического раз- биения к последовательным шагам.
Применение формул средней точки (13.2-1) (значения у в средних точках, значения у в узловых), насколько известно автору, недоста- точно исследовано. Оно также должно дать интересные результаты. Выбор В8 в качестве остаточного члена нашел широкое распро- странение в практике и учитывает смесь различных факторов. Спе- циальные случаи, конечно, требуют другого выбора. Главной целью этой главы было ввести идею устойчивости и метод выделения параметров для ее достижения. Поэтому мы не вдавались в сложный вопрос о том, как начать интегрирование, пока нет предыдущих значений, стоящих в правой части общих •формул. Иногда для этой цели могут быть использованы формулы § 13.2. Упражнения 13.8-1. Исследовать класс формул р № ^й5У6’ (0) = Абу51(0), так как = (0<«<й), и этот случай особенно предпочтителен. 13.8-2. Развить метод для начала интегрирования в общем виде (13.3-1) с должной заботой о точности.
§ 13.9. Экспериментальная проверка устойчивости Читателю не следует пугаться разработанной выше сложной теории. Если надо исследовать обширный класс формул, необходим примерно такой метод, но если рассматривается отдельная формула, то часто удовлетворяются ее экспериментальной проверкой. Предположим, что рассматривается формула У п+1 — —у У п-1 Ч" 48 (1 бУп-н + 85_у„4~ 61уге-1 + 7уге_2). Легко увидеть, подставив у—1, х, х2, х\ х\ удовлетворяют ли они точно этому уравнению. Что касается устойчивости, то просто берут У_3 — 0, у_1 — 0, у о = в и вычисляют 5 7 У1 = —е, У8 = —у-е, ... В данном случае ясно, что метод неустойчив. Чтобы иметь уверен- ность, что эксперименты охватывают все возможные начальные ситуа- ции, нужно проявить некоторое внимание (испытать каждое у 0 хотя бы раз). Обычно конкретное испытание начинается с линейной комбинации всех таких членов. Простая экспериментальная проверка того, что метод нестабилен, убедительна и легко применима. Обратное заключение относительно устойчивости требует большего внимания. Этот метод иллюстрируется в следующем параграфе. § 13.10. Пример интеграла свертки, иллюстрирующий идею устойчивости Колебания с геометрическим ростом амплитуды являются типич- ными для неполадок с устойчивостью. Следующий пример показывает, как различные идеи могут применяться в конкретных случаях. Задача состояла в том, чтобы найти Ф(0, если ф(7) была задана в точках ^ (^ = 10(~14>4 + ‘0’2), 1 = 0, 1, 2), уравнение, связывающее Ф (?) и ф (/), было ^ф(^—т)ф(т)йт: = ^ (13.10-1) о или эквивалентное I $Ф(ОФ(/ —о с^ = 1, о (13.10-2) причем ф(/) была монотонно возрастающей.
Был выбран и испытан метод вычислений, выглядевший разумным. Результаты расчетов дали колебания с растущей амплитудой. Период колебаний был фиксированным, а рост амплитуды — более или менее геометрическим; отсюда было сделано предположение, что это — след- ствие неустойчивости. Исследование процесса вычисления проводилось для ф(/)= 1, но с единственным возмущением; такие данные приво- дили к колебаниям. После некоторого изучения была принята следующая новая схема вычисления. Мы положили о Таким образом, /(0) = 0 и /' (Ч) = <[> (т). Дальше ввели обозначения /;(7 = 0, 1,.,., л) с 4— = 10-14,4>.. •) 10|~!4’6 + °’зг') и допу- стили, что ф(У) между /0 и является константой. Чтобы вычислить /'(Г), применили для интегрирования правило трапеций Ж+1)=Ж) + 4 1Ф (^1)+Ф (^)1 (^+1 - . так как данные не оправдывали сколько-нибудь более сложного метода. Теперь из (13.10-2) получается ^+г = ф Ф (^«+1 — х) = У. 5 ф (') Ф (#л+1 — т) 0 1=0 Г; В каждом из интегралов в сумме можно сделать аппроксимацию '1+1 4+1 5 ФИФС^! —<)^ = ф(Л--н/2) 5 — (1 ‘I == Ф (^'+ Чз) [/(^1 ^<+1) /(^г+1 ^)]> где ^ + 1/2 есть среднее значение у (/г+1 /Д Таким образом, =- 2 ’ф (^+*/2) 1Ж+1 - - тп+1 - ^-)]+ + Ф + Ча)/(^л+1 — 6»)’ Решая это уравнение относительно Ф(^л-|_1/2), получили ^И+1 - У1 Ф _р 1/2 ) [/ (^Л+1 ^1) / (^В+1 ^/+1)] ф(^+ч2)=—----------------------------------------------(13.10-3)
Это дает метод для последовательного вычисления каждого значения где первое значение ф1/’=77ГТ- (13.10-4) Причина того, что уравнения (13.10-3) и (13.10-4) оказались удачными, а некоторые другие способы аппроксимации — нет, кроется в том, что ошибка в вычислении Ф (I) (вследствие ошибочных данных или даже просто численного округления произведения) не растет по величине на следующих этапах вычисления. Чтобы наглядно по- казать это, вычислим коэффициент при Ф()га —1/2) в выражении для Ф(^п4-1/2). Этот коэффициент равен __/ (6г+1 ^п-1) / (^я+1 ^я) / (бг-н / (^л+1 бг+1) ’ так как /(0) = 0. Применим теорему о среднем значении к числи- телю и к знаменателю отдельно: __Ф (^я+1 ®1) (^Я ^Я-1)____ГФ (^я+1 ®1) 1 Г^Л бг-11 /, О 1 О. Ф (^л+1 (^л+1 ^л) кФ (^л+1 3 |А+1 6,1 ’ где 1я^>01^>(Л4, ^„+1 )> ^> ^„. Каждая из скобок по модулю меньше единицы, так что ошибка в Ф(^п_1/2) умножается на число, меныпее единицы. Таким образом, ошибка колеблется и быстро исчезает. Так как функции Фиф входили в уравнение симметрично (ср. (13.10-1) и (13.10-2)), то в качестве проверки исходная функция ф была вычислена тем же методом из полученной функции Ф(^). Рас- хождение получилось в пределах экспериментальной ошибки. Из этого примера видно, что неустойчивость можно исследовать и без характеристического уравнения (ср. (13.5-5)). Однако общая идея обратной связи все же используется. Предыдущее исследование охватило лишь обратную связь от одного члена; на практике обычно бывает необходимо сделать нёил»орое исследование, чтобы убедиться, что дополнительная обратная связь от других членов не вызывает неустойчивости. ГЛАВА 14 ВВЕДЕНИЕ В ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ § 14.1. Природа и смысл дифференциальных уравнений Наши современные взгляды на фундаментальные законы природы часто излагаются в виде дифференциальных уравнений. Например, закон Ньютона / = та — т ~гг
есть дифференциальное уравнение второго порядка. В качестве дру- гого примера рассмотрим колонию бактерий, растущую в питатель- ной среде. Когда колония изучается в целом, естественно предполо- жить, что в момент I скорость роста пропорциональна имеющемуся количеству у (I), так что У (0 — ку (Г). Таким образом, дифференциальные уравнения часто дают самое простое математическое описание явлений природы. Если возможно, дифференциальное уравнение решается в точном виде. Учебники дифференциальных уравнений часто оставляют впе- чатление, что в точном виде можно решить большинство дифферен- циальных уравнений, но опыт работы не подтверждает этого. Для получения приближенных решений пригодны различные аналитические методы, и перед тем, как обратиться к численному решению, надо исследовать также и их. Пусть дано дифференциальное уравнение у' — х2 — у'2. (14.1-1) Что подразумевается под его решением? Оставляя в стороне фор- мальное математическое определение, интуитивно мы имеем в виду кривую у~у(х), в каждой точке (х, у) которой тангенс угла на- клона кривой у'(х) дается уравнением (14.1-1). Это — локальное свойство. Решение уравнения означает распространение этого локаль- ного свойства на большую область. Конечно, решением является не одна кривая, а скорее всего через любую точку (х0, у$) проходит решение уравнения (14.1-1). § 14.2. Поле направлений Идеи предыдущего параграфа могут быть изображены графически. В плоскости (х, у) мы выбираем различные точки и строим тангенс угла наклона, равный х2 — у2. В каждой такой точке чертим корот- кую линию с вычисленным тангенсом угла наклона. Эти линии пока- зывают локальное направление решения, и при некотором воображе- нии можно легко нарисовать различные решения при условии, что точки, через которые проводится линия, расположены достаточно часто. Однако часто бывает проще воспользоваться другим методом. Мы называем линии, вдоль которых все короткие штрихи имеют один и тот же наклон, изоклинами (линиями одинакового наклона). В рассматриваемом примере находим, что изоклины с тангенсом угла наклона к—гиперболы: х2 — у2 = к. Поле направлений, изо- браженное при помощи изоклин, приведено на рис. 14.2-1,
Следует отметить несколько обстоятельств. Если график решения имеет максимум, то он должен лежать на нулевой изоклине. Анало- гично точки перегиба можно обна- ружить, положив у’ — 0: у' = 0 — 2х — 2уу’ — = 2[х — у(х* — /)], 1 + /ГГ47 Х~ 2у Этой кривой на рис. 14.2-1 нет. Использованием поля направ- лений, несмотря на его просто- ту, не следует пренебрегать. Часто оно выявляет природу за- дачи, так что правильный подход может дать достаточно точное численное решение. В практике автора несколько раз изображе- ние поля направлений сильно помогло решению поставленной задачи, а в одном случае аккуратный чертеж, сделанный на чертежной до- ске, дал достаточную точность, чтобы полностью ответить на вопрос задачи. Упражнения 14.2- 1. Начертить поле направлений и решения уравнения у' = — &ту. 14.2- 2. Начертить поле направлений и решения уравнения у' = х—у3. § 14.3. Численное решение Если мы хотим получить лишь одно решение, проходящее через данную точку, то было бы бесполезной тратой времени проводить все поле направлений. Скорее следует начать с данной точки, вы- числить локальное направление, а затем вычислить тангенсы угла наклона в нескольких близких точках. Так следует продолжать, проводя наклоны лишь там, где по нашим предположениям должно быть решение. Этот путь может быть сведен к арифметике. Берем данную на- чальную точку, вычисляем тангенс угла наклона и движемся в этом направлении на небольшое расстояние (смысл слова «небольшое» зависит от конкретной ситуации, но обычно довольно очевиден) и выбираем следующую точку. Используя ее как начальную точку, повторяем процесс сколько нужно. Рассматривая рис. 14.3-1, легко заметить недостаток этого ме- тода. Если верное решение загибается вверх, то кривая, которую мы вычисляем, всегда отходит вниз от этого решения, потому что для 7 Р. В. Хемминг
получения каждой следующей точки используется тангенс угла на- клона касательной в предыдущей. Следовало бы быть умнее: посмотреть предварительно вперед, заметить тангенс угла наклона там, а затем продолжать движение арифметического начального и конечного в направлении среднего Рис. 14.3-1. Грубое численное решение. тангенсов. Это предложение легко си- стематизировать. Чтобы узнать, где мы собираемся взять следующую точку, используем формулу У п+1= Уп~14“ ™Уп- (14.3-1) (Мы берем тангенс угла наклона у'п в середине удвоенного интервала, чтобы избежать очевидной систематической ошибки.) Ошибка будет равна Л3 4-у"'(0). (14.3-2) О * Напишем теперь корректирующую формулу Ул+1—Уп~\-^ ”+ 2 (14.3-3) ошибка которой Л3 (Н.3-4) Первый вопрос, который возникает, когда мы пользуемся этой методикой, — с чего начать? Вычисление по первой формуле требует, кроме текущего тангенса угла наклона, знания одной старой точки. Один из способов получения первой точки состоит в использова- нии разложения решения в ряд Тейлора относительно начальной точки, коэффициенты которого находятся из уравнения и его произ- водных: + 4_~зуТо (14.3-5) Так как ошибка на каждом шагу зависит от третьей производной, продолжать ряд Тейлора дальше членов с /г3 или /г4 не следует. Эта схема прогноза и последующего исправления имеет несколько приятных свойств. Разность между предсказанным и исправленным значениями равна [4У" (90 +У" (00] (6). (14.3-6) Если предположить, что у'" не меняет знака в интервале, то эти два значения находятся по разные стороны от верного значения (для
этого шага). Таким образом, метод дает сразу и способ оценки точ- ности. Если ошибка слишком велика, интервал /г можно уменьшить до п —-2> что уменьшает ошибку примерно в восемь раз. Читатель должен ясно понимать, что мы обращались с нашими символами несколько вольно. Мы оценили новое значение форму- лой (14.3-1), ошибка которой (14.3-2). Это значение используется для того, чтобы вычислить и, следовательно, хотя мы написали Ул-1-1, как если бы оно было верным, это не так. Ошибка выра- жается вторым членом формулы / (х, У - ^У"’ (9)) у) + Г - 4/" (9)1 • \ / ^У О 3 Обычно сначала строят прогноз, а потом исправляют, и если два полученных значения недостаточно близки, то повторяют исправление несколько раз, используя самое последнее значение, пока изменение не станет достаточно малым. В принципе, лучше сократить интервал, чем производить повторные вычисления по корректирующей формуле, § 14.4. Пример Рассмотрим уравнение У =/4-1, у(0) = 0 Д0^х<1) (14.4-1) (выбранное потому, что решение у = 1§х известно и можно исполь- зовать его для проверки). Прежде всего, найдем несколько первых членов ряда Тейлора (14.3-5), продифференцировав уравнение: / =/+!> У" = 2уу', у"' = 2уу"2 (у')*, У V = 2уу 2уу'" 4уу; у (0)=1, У" (О) = о, У"(0) = 2, уУ(0) = 0. Следовательно, . ч л । 1 । п । Л'а о < 0 • Л"1 . . х' , У (х) — 0 -(- х • 1 -у - 0 -щ- 2 -----... = х 4* тр 4~ • • • Используем грубое разбиение Н = кх — 0,2. В качестве первой точки имеем Ь =у (0,2) = 0,2 4- И- = 0,203 и (с помощью логарифмической линейки) находим У —у (0,2) = (0,203)2 4- 1 = 1,0412. 7*
Теперь мы готовы начать построение решения р* = у0 2/?У = 0 -|- 0,4 • (1,0412) — 0,4165 и вычисляем, используя уравнение (14.4-1), Л =1,173. Дальше вычисляем поправочное значение из (14.3-3) с3=0,203 0,1 (1,0412+ 1,173) —0,424. Согласно (14.3-2) известно, что р% имеет ошибку Л8 уУ"(М и по (14.3-4) <\ имеет ошибку А8 -^-Г(93)- Если У" приблизительно постоянна в нашем интервале, то Р-‘ = ^У"- (14.4-2) Таким образом, ошибка в корректирующем значении примерно равна —~(р — с). Следовательно, надо добавить -1- (р — с) = — 0,002, О о чтобы получить окончательное значение у = с + 1(р-С) = 0,422. Теперь можно повторять цикл, пока не получим х = 1 (см. таблицу 14.4-1). Таблица 14.4-1 Численное решение уравнения У=У + 1 (у(0) = 0) X У У' р Р' С р — с Р—С 5 0 0,2 0,4 0 0,203 0,422 1 1,0412 1,178 0,41648 1,173 0,424 —0,008 —0,002 0,6 0,683 1,466 0,674 1,455 0,685 —0,011 —0,002 0,8 1,027 2,047 1,008 2,016 1,031 —0,023 —0,004 1,0 1,546 1,502 3,256 1,557 —0,053 -0,011 Корректир. значение Ошибка 1,557 0,011
В качестве проверки находим, что верное значение ^(1) = 1,557, тогда как найденное нами у>(1)== 1,546. Абсолютная ошибка 0,011 дает относительную ошибку 0,011 . . _ X 100 = 0,7 процента, которая довольно хороша, если учитывать разбиение и использова- ние логарифмической линейки. Упражнения 14.4- 1. Решить численно уравнение у’—У, у(0)=1, взяв й=0,2 для 0е=л-бС1. 14.4- 2. Решить численно уравнение у'—у*— ып8 х, у(0)=0, взяв /г=-5- для 0^х^2л. о § 14.5. Устойчивость метода простого прогноза Иногда предполагают, что формулу прогноза (14.3-1) ^+1=^-1 ~[-2Иуп (14.5-1) можно использовать без дальнейшей корректировки. Исследуем устойчивость такого метода. Пусть г(х)— точное решение уравнения /=/(х, г), (14.5-2) а уп — вычисленное решение при х — хп. Если значение уп подста- вить в дифференциальное уравнение, то оно удовлетворит ему, так как вычисленное значение у' было найдено из уравнения. Таким образом, пренебрегая ошибками округления, имеем Уп=/(х, уп). (14.5-3) Вычитая (14.5-3) из (14.5-2), получаем «я = гл — у'п=/(х, гп)—/(х, уп)=:д^^-&п — Агп, (14.5-4) . д/ 0 где А = -^, а 0 лежит между у„ и гп- Когда мы подставляем верное решение в разностное уравнение прогноза, то получается ошибка е (х), так как верное решение, вообще говоря, не удовлетворяет этому разностному уравнению, т. е. гя+1 = г-л_1 + 2/г4 + ея. (14.5-5) Теперь, вычитая уравнение (14.5-1) из (14.5-5), получаем ел+1 ~ еЯ-1 2Агл-|-(14.5-6) Мы занимаемся оценкой локального роста ошибки ел. Поэтому дГ . с можно принять, что еп и — А постоянны. Если же они изменяются
не медленно, значит шаг интегрирования слишком велик. При этих предположениях можно подставить (14.5-4) в (14.5-6); получается ел+1 — ел-1 + 2йАгл -|- еп, или ел+1 — 2А/гел — — еп> (14.5-7) что является линейным разностным уравнением с постоянными коэф- фициентами. Характеристическое уравнение этого разностного уравнения есть р2 — 2 Акр — 1=0. (14.5-8) Следовательно, его решение ел = С! (Р1)"+ €№)"> (14.5-9) где Р)==Л/г-|-]/'А2лЯГ1, р2 = Л/г — ]/Л2/г2+1. (14.5-10) Если Д = ^'>0, то р1 ~> 1, а ду^ ’ случае один из двух членов если А 0, то | Ра 12> 1 - В любом р" или р« становится большим при л-*оо. В этом случае говорят, что метод неустойчив. Мы видим, что при сделанных предположениях повторное примене- ние прогноза (14.5-1) является неустойчивым методом. (См., однако, § 14.6.) Упражнение 14.5-1. Попытайтесь численно решить уравнение у' =—у, у(0)=1, к = 0,1 для 1, используя лишь прогноз, и сравните ре- зультаты с теорией. § 14.6. Устойчивость коррекции Предположение, что коррекция повторяется до тех пор, пока не прекратится изменение у, может быть исследовано тем же способом, каким мы пользовались для прогноза. Формула коррекции У«-1-1=3/п4--2‘(3//1+1-|-Ул) (14.6-1) приводит аналогичным путем к характеристическому уравнению Ак (14.6-2) при условии, что
При рассмотрении итерационного процесса, применяемого для коррекции, исследуем сначала -у. Пусть с1 — значения у„+1 в /-й ите- рации. Вычислим поправку ^•+1 — с,- = 4 сг) — 7(х, см)] = й д/ : х Ак , . — 2 2 С{~^' Очевидно, процесс будет сходиться, если коэффициент сходимости (14.6-3) Возвращаясь к (14.6-2), замечаем, что р дается первыми тремя членами разложения еЛЛ плюс незначительная ошибка в четвертом члене. В простом уравнении у' = Ау (А>0) имеем *- = А ду и решение в точке хп есть уп == СеА/т, что совпадает с (14.6-2) (если пренебречь членами с И3). Таким образом, видно, что мы заблуждаемся, считая критерием неустойчивости выполнение неравенства | рг | | еАк | 1. Очевидно, если решение растет как геометрическая прогрессия, ошибки, кото- рые растут с той же самой скоростью или меньше, не обязательно будут губить решение. С другой стороны, если А<^0, то ошибки должны убывать по крайней мере так же быстро, как е(лй)", иначе они будут преобладать в вычисленном решении. Тот факт, что ошибки ограничены, не помогает в случае убывающего решения. Вообще говоря, важным фактором при оценке ошибки является число кривых — решений, которые мы пересекаем. Все сказанное наводит на мысль, что от решений дифференциаль- ных уравнений нужно требовать относительной устойчивости, которая определяется как скорость роста ошибки по отношению к росту решения. Когда относительная устойчивость по модулю меньше еди- ницы, шум вследствие изолированного округления или другой ошибки будет расти не быстрее, чем решение. С точки зрения этого нового критерия нам надо пересмотреть вы- воды § 14.5 об использовании простого прогноза. Если предполагать,
что | Ак | 1, то характеристические корни рг уравнения (14.5-10) могут быть представлены в виде Р1=Ак 4- КГ+(Ж=АН +14- ж -1 м/г)4 +..., Рз = Ак - /Т+7Ж = Ак - [1 4- — 1 (Л/г)44-.., или Р1 = 1 4-ЛЛ 4-^^4-...ъеА>1, а само решение растет как ем. Отсюда видно, что если Л.^>0, то можно надеяться, что повторное использование прогноза даст разум- ные результаты, но если Л<^0, то (р2)я будет расти по величине и колебаться, в то время как верное решение убывает. Следовательно, метод повторного применения прогноза относительно нестабилен только, когда Л<^0 (см. упражнение 14.5-1). Возвращаясь к итерационному процессу корректировки, мы видим, что характеристическое уравнение имеет лишь один корень (уравне- ние (14.6-2)) и решение ведет себя так же, как и ошибка; таким образом, итерационный метод коррекции относительно стабилен. Упражнение 14.6-1. Показать, что при использовании простого прогноза результат численного интегрирования у'=у, у (0) = 1, Н = 0,2 для 0 согласуется с теорией. § 14.7. Несколько общих замечаний Мы дали четыре примера анализа устойчивости: первый относится к неопределенным интегралам, второй — к особому интегралу со сверткой, последние два — к дифференциальным уравнениям. Заметим, что устойчивость для интегралов и для дифференциальных уравне- ний — не одно и то же; для дифференциальных уравнений существуют пути обратной связи от производных, чего нет в случае интегралов. Необходимость анализа устойчивости возникает всякий раз, когда старые значения используются для вычисления новых, и таким обра- зом получается обратная связь ошибок. Не существует простого пра- вила, относящегося ко всем случаям, но ясно, что устойчивость тесно связана с обратной связью. На последнюю тему написано много книг. Было показано также, что для дифференциальных уравнений идея устойчивости ведет по ложному пути и относительная устойчивость является более разумным критерием.
Анализ устойчивости, который был проведен на простом примере предыдущего параграфа, был неполным. Мы проанализировали про- гноз и коррекцию отдельно, пренебрегая эффектами их взаимодей- ствия и игнорируя заключительную часть метода — уравнение (14,4-2). Для исследования, конечно, можно написать сложную систему дифф&> ренциальных уравнений и построить соответствующее характеристи- ческое уравнение, но результаты будут очень запутанными. Мы пред- почтем сделать несколько замечаний о том, как взаимодействуют прогноз и коррекция. Неустойчивость прогноза имеет очень малень- кое влияние на относительную устойчивость результата после при- мененной один раз коррекции. Заключительный этап также не вызы- вает больших затруднений по сравнению с исследованием относитель- ной устойчивости коррекции. Ту же идею, которая была использована, чтобы уничтожить ошибку скорректированного значения, можно использовать, чтобы подправить прогнозированное значение и, таким образом, уменьшить ошибку в оценке прогнозированной производной, входящей в окон- чательное значение. Чтобы сделать это, следует прибавить к прогно- 4 зированному значению---е-(Рп— сп) последнего цикла. Если суще- О ствует тенденция к колебанию, это только подчеркнет ее. С другой стороны, нет сомнения, что если неустойчивость и округление незна- чительны, такой член хорошо влияет на точность всего вычисления. Упражнение 14.7-1. Разработать формулы прогноза, поправки, коррек- ции и окончательного значения для интегрирования системы. § 14.8. Системы уравнений Дифференциальное уравнение п-го порядка может быть сведено к системе п уравнений первого порядка про- стым изменением в обозначениях. Напишем У=Уо, У'=У1> Уг=у'1=Уъ У"' =№ =№ • • • > У(п1) = У пл, и мы имеем эквивалентную систему: Л=Я> У'г = Уз, у'п-\=Нх, Уч, У1, Уъ .... уп 1).
Чтобы применить изложенный метод интегрирования к системе, мы просто применим операторы одновременно ко всем уравнениям. Связи между уравнениями проявляются только при вычислении про- изводных. Другими словами, уравнения обрабатываются отдельно, но параллельно. Метод поля направлений обычно применяется лишь к одному уравнению первого порядка, но в случае системы двух уравнений первого порядка, в которых правая часть не зависит от перемен- ной х: / =/{У, г), = г), деление одного уравнения на другое дает уравнение первого порядка без х. Поле направлений для этого уравнения дает у в зависимости от г, а иногда достаточно показать, как ведет себя у в зависимости от г, не определяя х, для которого точка (у, г) встретилась на кривой. ГЛАВА 15 ОБЩАЯ ТЕОРИЯ МЕТОДОВ ПРОГНОЗА И КОРРЕКЦИИ § 15.1. Введение В главах 13 и 14 были введены основные понятия и указаны не- которые технические приемы реализации методов прогноза и коррек- ции для численного интегрирования обыкновенных дифференциальных уравнений. Теперь мы используем все это, чтобы развить общую тео- рию методов прогноза и коррекции. Эта теория включает методы Милна и Адамса—Башфорта как частные случаи. Таким образом, мы можем сравнить эти широко применяемые методы с другими в рам- ках единой теории. Методы прогноза и коррекции для интегрирования обыкновенных дифференциальных уравнений широко используются благодаря сле- дующим преимуществам: 1. Разность между прогнозированным и скорректированным зна- чениями дает оценку ошибок, сделанных на каждом шагу и, следо- вательно, может быть использована для контроля величины шага, применяемого при интегрировании. 2. На каждом шагу надо вычислять производную один или два раза по сравнению с четырьмя для метода Рунге—Кутта (гл. 16), что для систем высокого порядка может значительно экономить время на вычисления. 3. Легко ловить различные ошибки.
Некоторый недостаток состоит в том, что методы сложны для программирования и не являются «самоначинающимися». Этот вопрос будет обсужден в гл. 16. При использовании методов прогноза и коррекции для интегри- рования обыкновенных дифференциальных уравнений возникают раз- ного рода трудности. Вот их главные источники: 1. Ошибки от отбрасывания членов, которые возникают при аппроксимации производных. 2. Распространение ошибок — неустойчивость, которая возникает при решении аппроксимирующих разностных уравнений, не соответ- ствующих решениям исходных дифференциальных уравнений. 3. Усиление ошибок округления из-за комбинаций коэффициентов в конечноразностных формулах. В этой главе мы достаточно подробно исследуем широкий класс формул и покажем, что выбор конкретной формулы есть компромисс между весьма противоречивыми желаниями. Так как при интегриро- вании обыкновенных дифференциальных уравнений формула коррек- ции играет наиболее важную роль, естественно исследовать коррек- цию сначала и притом более внимательно. После исследования коррекции мы займемся изучением прогноза. Хорошо ознакомившись как с прогнозом, так и с коррекцией, мы сможем затем исследовать задачу выбора шага и оценки точности решения при интегрировании обыкновенных дифференциальных урав- нений. Наконец, мы сделаем выводы и обсудим некоторые экспери- ментальные результаты. Исследованные методы имеют ошибку от отбрасывания членов порядка /г3; опыт работы показывает, что ими пользуются наиболее широко. В гл. 14- был разработан метод прогноза и коррекции по- рядка /г3. Предоставляем читателю самостоятельно разработать про- межуточную теорию методов порядка /г4. Метод третьего порядка гл. 14 не имеет свободных параметров; методы четвертого порядка, изложенные в упражнениях, вводят два новых коэффициента, один из которых используется, чтобы повысить порядок ошибки от отбрасывания членов, а другой — для устойчи- вости; методы пятого порядка имеют еще два коэффициента, из ко- торых снова один используется для отбрасывания членов и один для устойчивости, и т. д. для методов более высокого порядка. В большинстве случаев ошибка от отбрасывания членов при ко- нечной аппроксимации производных дифференциального уравнения или системы дифференциальных уравнений на каждом шагу значитель- но превосходит ошибки округления. Однако при построении специа- лизированных вычислительных машин стремятся сделать длину чисел и, следовательно, основной уровень точности, как можно меньшими. В таких ситуациях ошибка от отбрасывания членов может быть при- мерно той же величины, что и ошибка округления, и последнюю
нельзя игнорировать при выборе методов интегрирования для данной задачи. Кроме того, в наши дни все более часто случается, что в некоторых задачах, таких как вычисление траекторий Луны и пла- нет, счет с восьми- и даже десятизначной точностью может давать значительные ошибки округления, и тогда некоторые из описанных здесь методов становятся полезными. § 15.2. Ошибка от отбрасывания членов Самая общая формула линейной коррекции, использующая инфор- мацию о функции и первой производной в последних трех точках решения и оценку производной в точке, которая должна быть вы- числена, имеет вид Уп+1 — ачУп а1Уп-1 ~Ь аъУп-ъ ~Ь к (&-1Уп+\ 4“ Ьйуп -ф- + М„_1 + ^у;_2) + 58^^. (15.2-1) Можно использовать и другие линейные формы, но эта включает большое число общих методов и, кроме того, ею мы уже пользова- лись в гл. 13 (уравнение (13.3-1)), когда исследовали неопределен- ные интегралы. Однако в отличие от гл. 13 теперь мы имеем обрат- ную связь не только через значения старого решения, но и через члены с производными; следовательно, изучение устойчивости будет здесь более сложным. Выписанная формула предполагается точной для многочленов до четвертой степени, т. е. для у=1, х, х'2, х3, хУ Используя эти пять условий и взяв и а3 в качестве параметров, получаем (см. урав- нение (13.3-2)) а0 — 1 — — а» &о — 24 (19 13й1 -ф- 8 а.,), — 24 (—5 -ф-13а1 -ф- 32а.ф 1 (15.2-2) = 24 (1 — «1 -ф- 8а$), = -д- (— 19 -ф-11 ал — 8 а.,). Пять коэффициентов из семи используются, чтобы уменьшить ошибку от отбрасывания членов. При помощи двух других мы, вместо того чтобы еще дальше уменьшать ошибку от отбрасывания членов, постараемся уменьшить ошибки второго и третьего типов. Как и в гл. 14, разность прогнозированного и скорректированного значений будет использована как для того, чтобы дать оценку ошибки, так и для того, чтобы «уничтожить» главный член ошибки.
Обычный метод нахождения остаточного члена основан на ис- пользовании ряда Тейлора (см. (11.3-2) и (13.4-1)) у(х)=)-(4) + (х-4)У(А) + Мг(4) + ... • • •+у[л) +яг ( >,л+1) (*) (х - *)я аз А с А= — 2й и л = 4. Следуя гл. 13, получаем л /?(у) — $ ут (8) О(з) (1з, —2Л где 0(5)— функция влияния: 0(5) = (Л — 5)* — а0 (— «)* —а^—И — з)* — а3 (—2Я — з)* — - 4Л [Ь (Л - 5)* + Ьй (- 5)’ 4- Ь^-И - в)* + й2(—2Л - 8)’] (15.2-3) и (см. (11.3-4)) ( (а — 5)й, если а — 5^0 (к 4> 0), (а з)+ । о, если а — 8 < о. Если 0(5) имеет постоянный знак, то существует такое 9 (—2/г<^9<^/г), что ошибка может быть записана в виде к у(8,(9)$ 0(5) Лз. (15.2-4) — 2Л Если 0(5) меняет знак, то найдутся функции /(5), для которых ошибка не может быть представлена в виде (15.2-4). Исследование § 13.4 дает показанную на рис. 13.4-1 и 13,4-2 область постоянства знака 0(5). Она-то и представляет для нас основной интерес. На тех же рисунках для нее показаны линии рав- ной ошибки от отбрасывания членов. § 15.3. Устойчивость Следуя § 14.5, допустим, что г = г(х) есть решение / = /(х, г), (15.3-1) гл+1 = а02л 4- а1гп-\ 4“ аЪ2п-Ъ 4~ 4- (^-12л+14- 4- ^12п—14- ^л—2) 4~ел> (15.3-2) а у = уп— вычисленное решение. уп), (15.3-3) Ул+1 — ааУп 4” а1 Уп л 4- °^Упл 4” 4~ /г(6л,Ул+1 4- ^«Уп 4“ &1У1-1 4~^>л—г)- (15.3-4)
Положим еп = гга — уп и, вычитая соответственно равенства (15.3-2) и (15.3-4), получим ®л+1 — а0еп + а2®п-2 “Ь Н~ к (^-1®Л-М Н- ^0®л “Г ^1®л—1 + ^2®л—2) + е№ (15.3-5) тогда как (15.3-1) и (15.3-3), если использовать теорему о среднем значении, дагот е; = /(х„, г„)—/(х„, у„) = д-(^’-6- (15.3-6) где 9 — обычное среднее значение. При изучении роста ошибки гл разумно допустить, что еп и ^~~А обе постоянны; на практике они медленно изменяются от шага к шагу. Подставив (15.3-6) в (15.3-5), получаем (1 — Ь_]Ак) еп+1 = (а0 Ц- Ь0Ак) &п (о^ -ф- ЬгАк) 4~ (д,2 -ф- Ь3А1г) е„_2 -ф- еп, (15.3-7) т. е. линейное разностное уравнение с постоянными коэффициентами. В уравнении (15.3-7) не встречается порознь ни /г, ни А, но всюду только величина Ак. Хотя Ак может меняться в широких пределах, надо разумно оценить значения, которые можно ожидать. Чтобы хоть как-то представить себе их, рассмотрим простые уравнения у' — ±Ау, у(0) = 1. Ошибку от отбрасывания членов на каждом шагу примем равной /г5А5 ! 1 Е-, -77Г- Нт, — это типичное значение для —• см. таблицу 13.7-1). Мы 40 \40 5! ’ 7 ’ приходим к таблице 15.3-1. Таблица 15.3-1 Ошибка от отбрасывания членов как функция от | Ак | |АЛ| 0,1 0,2 0,3 0,4 0,5 ~ЧсГ 2,50 X Ю'г 8,00 X Ю~в 6,07 X ИГ5 2,56 х Ю~4 7,88 х 10~4 Таким образом, чтобы ошибка от отбрасывания членов была до- статочно мала, необходимо, чтобы | Ак | йС и для точных решений
Конечно, другие уравнения будут иметь другие формулы для более высоких производных (возможно, производные будут расти быстрее, чем простые степени), и вообще нельзя сказать ничего кон- кретного относительно того, какой будет | А1г | по сравнению с Е Л5?161 . Тем не менее мы примем для большинства интересующих На рис. 15.3-1 показана область устойчивости в случае А/г = 0. Когда АН уЬ 0, однородное разностное уравнение, соответствующее (15.3-7), приводит к характеристическому уравнению = . (15.3-8) ^-1Р3 + ^оР +^Р + *2 Это уравнение более сложное, чем соответствующее уравнение в гл. 13 из-за дополнительной обратной связи от членов с производными. Ре- шение (ср. с (13.5-6)) есть ел = С, (Р1)я + С9 (р.2)л + С3 (р3Г. (15.3-9) Решение первоначального дифференциального уравнения (15.3-1) имеет тенденцию расти как уп = Се(ЛЙ) п,
и вообще то, с чем мы будем иметь дело, — это не абсолютный рост ошибки, а ее рост относительно локального роста решения. Таким образом, мы добиваемся не устойчивости, когда | р* [ <С а относи- тельной устойчивости, когда |рг~АЛ|^1. (15.3-10) Один из корней, который по-прежнему будет обозначаться р3, ведет себя так + (15.3-п) для маленьких \Ак\. Таким образом, р3е- АЛ 1 и, следовательно, лишь р, и р$ могут привести к относительной не- Треугольник, вдоль которого при Ак — 0 корни принимают значения |ре~ АЛ | = | р | = 1, переходит при Ак, не равном нулю, в фигуру несколько более слож- ную Для р = —еАЛ получается линейное уравнение аа9-4-у = 0, (15.3-12) где а, р и 7 — комбинации Ак, еАН, <?2АЛ и <?ЗАЛ. Но другие две сто- роны треугольника становятся гиперболами. На рис. 15.3-1 и 15.3-2
показана для отрицательных значений АН одна ветвь гиперболы до пересечения с прямой (15.3-12). Значения внутри другой ветви должны быть устойчивы, а в промежутке между ветвями должны быть неу- стойчивые значения, так что они, кроме, возможно, специальных слу- чаев, не могут быть полезны. Рис. 15.3-1 и 15.3-2 показывают обла- сти устойчивости для корней р4 и р4. Для больших значений | АН | корень р3 далек от значения еАЛ и ошибкой от отбрасывания членов нельзя пренебрегать. Упражнения 15.3- 1. Начертить прямую (15.3-12) для и исследовать область устойчивости. 15.3- 2. Используя упражнение 13.7-1, разработать соответствующую теорию для дифференциальных уравнений. Найти область устойчивости в зависимости от а, и АН. § 15.4. Помехи округления Теория распространения помех округления для дифференциального уравнения очень похожа на соответствующую теорию для неопреде- ленных интегралов, изложенную в § 13.6. Для АН = 0 прямая (13.6-3) а.2 — — у разделяет область роста и область убывания ошиб- ки округления. Внутри области устойчивости коэффициент усиления шума дается формулой (13.6-2) дг = .....-_____ й 1а,2й2 ' Когда АН 0> граница между двумя областями более сложна, но здесь не стоит этим заниматься; просто нужно помнить, что лучше быть выше линии, чем ниже ее. Чтобы не был слишком большим некоррелированный шум, хорошо сохранять ^=(а?4-«14-«1)1/а достаточно малым. § 15.5. Прогноз по трем точкам В соответствии с формулой коррекции (15.2-1) хотелось бы иметь прогноз, использующий информацию о последних трех точках, а именно: уп^.\ — Л>Уп 4- АгУп-1 Ч- АъУп~я 4~ 4~ Н (Вйуп 4~ 4“ Вцуп-2) 4- Дв ---1- •.. (15.5-1)
Коэффициенты можно найти или обычным путем, или положив в уравнении (15.2-2) /> ^ = 0. Результаты До = — 8 — А.>> Во = 17 3 Вх = 14-|-4А2 3 ’ А, = 9, В,= -1 + а2 3 А% = А%, Ё.= 40 —4Аа 3 (15.5-2) Большое значение А1г равное девяти, означает, что даже в самом лучшем случае получится большое усиление шума № = ^4-Д1 + ^)1/8>9 в прогнозе. Для того чтобы в прогнозе по трем точкам избежать большого усиления шума, можно сделать формулу точной только до х3 вклю- чительно, оставив остаточный член порядка /г4. Это приводит к се- мейству прогнозов: Ло=1-А-Л, д,=~^+8^ + 1м-, А = = (15.М) /Ц-/12> Д = 9-Д. Чтобы воспользоваться разностью п-го прогноза и коррекции для оценки ошибки (д-|-1)-го прогноза, следует определить рп+1 из Шп+1 ~Рп+1 ~(Рп~ сп) = сп^ (рп+1 — рп). Такая схема иногда бывает полезной, хотя может требовать очень большого количества вычислений, особенно, когда требуется точное решение дифференциальных уравнений. Мы не будем обсуждать ее дальше; ясно, что она имеет остаточный член пятого порядка. § 15.6. Прогнозы типа Милна Если мы хотим иметь семь параметров, чтобы использовать их в поисках подходящего прогноза, то можно прибавить или одно более старое значение функции, а именно уп 3, или одно старое значение производной, а именно уй-з- Первое предложение включает прогноз Милна, и мы назовем его прогнозом «типа Милна», а второе содер- жит прогноз Адамса—Башфорта п называется соответственно.
Попробуем сначала найти формулу вида У п+1 — АцУп + А1Уп-1+ АъУп-ч + АзУп-з + + & (Вйуп + В1уп-\ В^Уп-ъ) + Ёв —-------. (15.6-1) Обычный метод дает Ао — — 8 — 4.2 + 843, г? 17-]-А2—9Д3 — 3 г== 9 — 43 - 43, 51 5.2 _ 14-ф-4Л3 — 18Л3 3 —1 + А2 -|-9А3 3 (15.6-2) 43 ~ 43, Ез — 40 — 442 + 72А3 3 Чтобы остаточный член этой формулы имел указанный вид, не- обходимо, чтобы функция влияния С(5) = (1г — 5)1 — 40 (— 5)1 -- Ах (— /г — 5)* — Д2 (—2/г — 5)| — - А3 (—ЗВ - 5)1 - 4/г [Во (- 5)1 + В. (- /г - 5)1 - В, (—2/г - 5)Ц была постоянного знака для —3/г. В плоскости (43, 43) ли- ния, вдоль которой 0(5) = 0, движется снизу к оси 43 = 0, когда 5 меняется от /г к —2/г, и остается на 43 = 0 для —2/г^5^—3/г. Таким образом, чтобы остаточный член имел нужный вид, ограни- чимся случаем Д32э0. Если попробовать уменьшить ошибку от отбрасывания членов, выбрав А3 = 0, то найдем, что А1 = 9, а это достаточно неприятно. С другой стороны, если попробовать минимизировать усиление шума +, = (+ +4| + + + 4|)4 то получим __ 4 . _ 9 . __ 4 _113 Л° 114’ А1~ 114’ - 114’ Лз—114’ Это очень близко к прогнозу Милна У п+1 = Уп.з + у (2+ — У п-1 + 2у'п-2) + й8Т(8) (9) с До = А1 = 43 = О и 43=1. Выигрыш кажется нестоящим. Таким образом, исследуя этот метод, мы приходим к прогнозу Милна. Как было замечено в § 14.4, его можно объединить в схему гл. 14 с любой подходящей коррекцией. Конечно, возможен и дру- гой выбор параметров 4а и 43.
В. В,= В. 59-{- ^,4-32/1, 24 37 —5А!4-8А2 24 24 251 — 19Л —8А2 (15.7-2) Еъ = Упражнение 15.6-1. Исследовать прогнозы вида у = А у А-А у -Му у'+В у' 1)-1-Я.-4у(1У>(9)-, •/л+1 (гп • 1 ' о-'л 1 1 I щ > используя Д2 как параметр. Ответ: А„ = —4 —5А2, А! = 5 + 4А2, Аа = А2, 50 = 4 + 2А2, й1=2-)~4А2, Е± = 4 — 4Л2. Если Л2 = 1, то Е4 = 0 и Е5 = 12. § 15.7. Прогнозы типа Адамса—Башфорта Если вместо того, чтобы воспользоваться дополнительным значе- нием функции, возьмем дополнительное значение производной у'п_з, то получим формулу Ул+1 — А<>Уп 4" + А1Ул-2 ~Ь ~Ь И (Вауп + В^уп—1 -ф- Ва,уп—2 -ф- йз-Уя-з) -ф- й5 —, (15.7-1) коэффициенты которой равны Ао= 1 — А1 — Ар А} = Ар А^ = Ао, _55 + 9Л1 + 8Л3 ^о— 24 В этом случае функция влияния О($) имеет нули в плоскости (Ар А4) вдоль линий, первая из которых — прямая А1 = § — для 5 — —2/г поднимается и приобретает отрицательные тангенсы угла наклона с увеличением 5, не накладывая существенных ограничений на коэффициенты. Ряд случаев, включая прогноз Адамса—Башфорта, приведен в таблице 15.7-1. Значение коэффициента усиления шума для/г-»-0 здесь то же самое, что и для коррекции, и его можно не повторять. Упражнение 15.7-1. Исследовать прогнозы вида Уп+1 = Аоуга +А1уга_1ф-Л (Воу’пА-Вру'^ -А-В2у'п_2) +^4 —, используя Ак как параметр. Ответ: Ао = 1 — Ар Во = —-^441; 52= 5 ; А, = Ар Ё1 = 9-Ар
15.7-1 1, 2)] Таблица Прогнозы типа Адамса — Башфорта [Значения — Еъ вычислены для случая аг-= А,- (г = 0, Адамс — Баш форт Высокая точность Правило «3/8» «1/3» «1/2» «2/3» Ло 1 0 0 1 3 1 2 0 Л. 0 1 0 1 2 1 У 2 3 Л3 0 0 1 1 3 1 У 55 8 21 94 НО 191 ^0 24 У 8 36 48 72 59 5 9 63 99 . 107 24 3 8 36 48 72 37 1 15 57 69 108 о3 24 3 8 36 48 72 9 1 3 13 17 25 Оа 24 3 ~У 36 48 72 251 по 243 121 161 707 6 3 6 3 4 18 <4 СП Гл 270 210 270 260 255 250 6 6 6 6 6 6 § 15.8. Общие замечания о выборе метода При построении конкретных формул прогноза и коррекции при- ходится уравновешивать три до некоторой степени несовместимые цели: 1. Уменьшение ошибки от отбрасывания членов. 2. Большой запас устойчивости. 3. Защита от неполадок с округлением. Лучше всего начать с выбора коррекции, так как она играет более важную роль. Рис. 13.5-1 показывает область, из которой можно выбрать коррекцию. Ясно, что коррекция Милна (а1=1, а2 = 0) примерно так же точна, как наилучшая, какая может быть найдена. Рис. 15.3-1 показывает меру устойчивости. Если А = положительно на всем интервале интегрирования, то метод Милна хорош. Но если А = ^ может быть отрицательным, то коррекция
Милна неустойчива, и нужно выбирать компромиссное решение между двумя неприятностями: неустойчивостью и ошибкой от отбрасывания членов, измеряемыми соответственно величинами д/ . кА-у-' (9) А- к = Ак и - сГ- к ду 5! Между этими двумя выражениями нет определенного соотношения, хотя ясно, что оба имеют тенденцию быть или большими, или малень- кими по величине одновременно. Мы положим Ак —— 0,4, считая, что при расчетах с умеренной точностью такой выбор для большинства уравнений оградит нас от беспокойств относительно неустойчивости. Сравнение рис. 13.5-1 и 15.3-1 показывает, что вдоль прямой части контура Ак= — 0,4 ошибка от отбрасывания членов почти одинакова. Неполадки с округлением наводят на мысль подвинуться вправо , % 1 о вверх и выбрать для коррекции точку = а.2 = — . и некотором О о 2 „ 1 смысле это на метод Милна и на «правило трех восьмых». О о Милн и Рейнольдс *) предлагают использовать метод Милна, перио- дически применяя правило трех восьмых, но предложенное смешение этих методов на каждом шагу более удовлетворительно обеспечивает устойчивость. Хотя, взяв Ак = — 0,4, мы надеялись вообще избавиться от неустойчивости, следует заметить, что при решении уравнений с боль- д/ ду шим отрицательным нужно выбирать более устойчивый метод. Из рис. 15.3-1 видно, что точка («1 = — 0,20, а., = 0,15) дает очень устойчивый метод, но зато он имеет достаточно большую I ошибку от отбрасывания членов. Упражнение 15.8-1. В упражнении 15.3-2 исследовать выбор корректи- рующей формулы четвертого порядка. § 15.9. Выбор прогноза При выборе формулы прогноза существует сильный соблазн использовать в этой формуле для А{ те же значения, какие будут приняты для в формуле коррекции. Тогда при вычислении траек- торий движения Луны или планет можно вычислять линейную комби- нацию значений у (положений) программой, считающей с двойной, а выражения для у' — с обычной точностью и притом достичь боль- шого увеличения точности. *) Л. Аззос. Сотрийпд Масйшегу, со1. 6, рр. 196—203, апрель 1959.
Такое соответствие коэффициентов А; и я; исключает, конечно, прогнозы типа Милна, имеющие несколько ббльшую точность, чем методы Адамса. Здесь мы исследуем только те случаи, в которых подобный выбор А; и а; возможен. Разность между прогнозированным и скорректированным значе- ниями у„+1 оценивает пятую производную. При равенстве А{ и а, члены с у уничтожаются и мы имеем Рп+1 — сл+1 — [В^п + ВуУп-1 -ф- В^уп~% -ф- В^Уп-3 — (Ь_^пуХ -ф- Ь^Уп -ф- 4“ Ьууп-\ -ф- Ьч_уп—г)], (15.9-1) что вообще может быть вычислено совершенно точно. Упражнение 15.9-1. Исследовать соответствующую теорию методов чет- вертого порядка. § 15.10. Некоторые формулы Можно использовать тот факт, что рп — сп обычно более или менее постоянна от шага к шагу, для уничтожения ошибки в прог- нозе, равной 5! Чтобы уничтожить эту ошибку, естественно использовать величину /А, . . /у/гу'51 Ё —Е^п С^~~ 5! ‘ (На первом шагу, когда отсутствует рп — сп, мы положим рп — сп — 0.) Тем же способом можно попытаться исправить коррекцию; поправку естественно взять равной р ,, (Рл+1 сл+1) к, —С5 01 Применим все это, например, к так называемому «правилу двух третьих». Формулы в этом случае имеют следующий вид: Прогноз: „ ____ ^Угг- ! г «4-1---- з (191у„ - 101уп _, + 109уф _ 2 - 2 бу ’п _ з) ф- -I-.707 I 91 ЙО 11 У Изменение: 707 , тп+У----Рп+1 750 (Рп сп)'
Коррекция: сп+1 — -----з------Г + ^тп+\ + 91у„ 4* 43у„ _! 9ул-г) — 2160 ^У^' Окончательное значение: __ .43 Уп+1 — ^п+1 ~Г узо Фга+1 ^л+1)' Здесь получается точный ответ, если у(3' (х) постоянна, так что этот метод можно назвать методом шестого порядка. Следует заметить, что если _у„+1 близко к тя+1, то можно не вы- числять производную Ул-рь а использовать значение т’п^-\. Если е=Уг+1 — /Яп-|-1, то, предполагая, что | А1г | — 0,4, в следующем прогнозированном значении получим ошибку, равную I | < е 2,65 • I АI • Н 1,06в. 72 | ду ] 11 Другим случаем, заслуживающим внимания, является правило одной второй (которое есть среднее арифметическое методов Милна и Адамса — Башфорта): РП+1 = М>^+^ (1~ 99У;_, +694,-2- 161 , х --Рп\Л [уф хРп Сп), + (17от-+1 + 51^ + + Уп—г) - йУ _ , 9 Уи+1---сплЛ "Т” (70 №п+1 Сп-Г})- Этот метод имеет несколько меньшую ошибку от отбрасывания чле- 2 нов, чем «правило двух третьих». Однако Д7 =-=- и АС = 0,7071 по 3 $ сравнению с и А7а = 0,75 для «правила двух третьих». Упражнение 15.10-1. Построить соответствующую теорию для методов четвертого порядка и получить конкретные формулы. § 15.11. Выбор шага и оценка точности Кроме формул интегрирования для каждого шага, необходимо иметь формулы для деления пополам и удвоения шага и критерий, указывающий на необходимость изменения шага. Нам нужно также получить несколько первых значений решения, для чего мы исполь- зуем здесь метод Рунге — Кутта (см. гл. 16).
Существуют две причины для деления пополам (или уменьшения каким-либо другим способом) величины шага интегрирования: пер- вая— большая ошибка от отбрасывания членов, вторая — неустойчи- вость. Защита от неустойчивости во время вычисления зависит от л п умения оценить А = Если мы оценим производные и для /ил+1 и для у„+1, получим у ГПп^) — уп+1) А(отл+1—ул+1). Периодическая оценка А при помощи двух вычислений производной на одном шаге необходима для того, чтобы обезопасить себя от неприятностей с неустойчивостью, когда нет других способов оценки величины А. Если обнаружено, что А слишком велико для обычной величины шага /г, то можно либо уменьшить /г, либо обратиться к более устой- чивой формуле. Если при этом ошибка от отбрасывания членов мала, то скорее всего хорошо заменить формулу на более устойчивую, хотя и с большей ошибкой от отбрасывания членов. С другой сто- роны, если обе ошибки близки к допуску, то следует уменьшить /?. Мы неоднократно показывали, что ошибка от отбрасывания чле- нов измеряется величиной (Еъ — Е^ Рп — 5! Но уже когда используются формулы, предложенные в предыдущем параграфе, это не так. Действительно, там же было замечено, что если бы у(в) была константой, то ошибка от отбрасывания членов была бы равна нулю. Истинная ошибка измеряется не величиной рп — с№ а изменением рп — сп от шага к шагу. Кажется соблазни- тельным взять в качестве меры ошибки величину <Рл+1 — сл+1) — (Рп — сп) и в зависимости от ее значения решать вопрос о том, нужно ли делить шаг пополам. К сожалению, эта величина очень сильно зави- сит от местного шума в вычислении (исключая, конечно, случаи, когда с большим числом знаков ведутся вычисления очень низкой точности). Поэтому использовать ее в качестве критерия необходимости умень- шения шага рискованно. Таким образом, мы оказываемся в очень неудачном положении, зная, что ошибка шага от отбрасывания чле- нов много меньше, чем величина рп — сп, но не зная насколько. Оценка скорости изменения рп — сп, скажем, с помощью такой разности (Рп — сп) (Рп-М) — сп-1о)’ быть может, и полезна, но здесь использоваться не будет.
Чтобы уменьшить шаг вдвое, нужно иметь значения уя_1/2 и _уя_«/3. Имея уп, упЛ, уп_ъ и их производные, мы можем вычислить _ул_1/2 по ним, сделав формулу точной для 1, х, ..., х0 (что делает ошибку зависящей от _у(6)). Такую формулу легко получить, исполь- зуя упражнение 10.5-1: Тл-1/2 = _[28 72у„_1-|- 11_Уп_5|-]- & (— 9уц -ф- 36_уя_1 -ф- 3_уя _ 2)], Чтобы получить _ул_з/2, можно перевернуть формулу: _Уп-а/а = -[28' [113Ч-ф- ?2у„_1 -ф- 45_уя_3 — /г (Зуп -ф- 36уя_1 — 9уя_2)]. В тех случаях, когда шаг нужно удвоить, можно поступать одним из следующих способов: 1. Хранить дополнительное старое значение и использовать его при удвоении шага. 2. Начать сначала. 3. Использовать для первых двух шагов специальные формулы. Первый метод, кроме всего прочего, нехорош тем, что требует специальной заботы о том, чтобы не было двух удвоений шага подряд и чтобы старое значение существовало (не вылезало за начало). В некоторых программах вопрос об увеличении или уменьшении шага вдвое решается путем сравнения величины рп+1 — сП4Л с двумя константами сл и ск. Когда требуется разделить шаг пополам, только что вычисленные значения в и —1 точке отбрасываются, интервал делится пополам интерполяцией и шаги повторяются опять. Однако, если требуется деление пополам на первом шаге прогноза и коррек- ции, то все начало должно быть повторено. Следует позаботиться о том, чтобы сохранить соотношение ^>100сй. В противном случае существует риск, что из-за случайных колебаний машина может уменьшить или увеличить последующие шаги. Может быть принята иная точка зрения: если машинные ошибки вообще вероятны, то внезапный скачок |ря — сп |, возможно, происхо- дит скорее вследствие сбоя машины, чем из-за слишком большого шага. Метод, при котором в случае деления шага последнее посчи- танное значение отбрасывается, исключает машинную ошибку за счет деления пополам и последующего удвоения. Чтобы следить за вне- запными скачками, можно использовать специальный тест, и если такой скачок действительно произошел, шаг может быть просто повторен.
§ 15.12. Экспериментальная проверка Простейший подход к задаче выбора метода для численного интегрирования некоторого дифференциального уравнения состоит в использовании вычислительной машины для решения разными мето- дами ряда специально подобранных случаев (выбираемых обычно так, чтобы они имели известные решения). Хотя такой способ проверки иногда необходим, он редко бывает достаточным. Чтобы проверить только что изложенную теорию, было испробо- вано на трех уравнениях большое количество методов. Уравнение Начальное условие Аналитическое решение У=_У у(0)=1 у = ех (15.12-1) У=—У у(0)=1 у = е~х (15.12-2) у' = — 2ху- у(0) = 1 <15Л2-3> Уравнения решались для при различной величине шага й. Были выбраны именно эти уравнения из-за того, что первые два имеют, по существу, «локально линейный режим» общего уравнения и ясно обнаруживают неполадки из-за неустойчивости. Третье имеет решение, которое часто является трудным для аппроксимации много- членами. Использовались лишь методы, в которых формулы прогноза и коррекции имеют одни и те же коэффициенты для значений функции у; кроме того, был также испробован классический метод Милна. Так как во всех примерах вычисление производной ведется по очень простой формуле, в половине испытаний для воспроизведения шума округления был добавлен равномерный случайный шум. Результаты, которые слишком объемны, чтобы приводить их здесь, могут быть кратко изложены следующим образом. 1. Были проверены условия устойчивости. Использование модифи- кации, основанной на рп — сп, подчеркивает колебания вследствие не- устойчивости, а использование рп_[ — спЛ помогает предупредить эту тенденцию к неустойчивости. 2. Для умеренно точных решений использование модификации прогноза и окончательного значения уменьшало ошибку примерно в 10 раз (при условии, что соблюдалась устойчивость), так что фд- I РпЛ Сп+Х I | — Ул+1 I- Всякий раз, когда величина шага, а следовательно, и ошибки оказы- вались слишком маленькими, эти два шага не помогали, так как округ- ление преобладало над маленькими эффектами коррекции.
3. Для уравнения у’~у правило «трех восьмых», несмотря на его большую ошибку от отбрасывания членов, было очень хорошим. 4. Если исключить неустойчивые методы, то в среднем методы Адамса — Башфорта, «двух третьих» и «одной второй», по-видимому, не различаются существенно; возможно лишь некоторое преимущество у первого. Эти результаты не следует принимать как окончательные, и даль- нейшее изучение специальных ситуаций, возможно, раскроет много больше. Область численного интегрирования дифференциальных урав- нений является очень сложной, и полное изучение ее не относится к вводному курсу. Поэтому мы оставим тему экспериментальной про- верки, не создав, надеемся, впечатления, что она не является важной. ГЛАВА 16 СПЕЦИАЛЬНЫЕ МЕТОДЫ ИНТЕГРИРОВАНИЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ § 16.1. Введение и общее описание Методы прогноза и коррекции предыдущей главы требуют спе- циальных приемов для нахождения достаточного числа начальных значений, чтобы начать прогноз. Вероятно, самыми широко исполь- зуемыми начальными методами являются методы Рунге — Кутта. Хотя эти методы можно применять и на каждом шагу, эффективность в этом случае, вероятно, будет низкой. Типичный метод Рунге — Кутта требует четырех вычислений производных для каждого шага вперед, тогда как методы прогноза и коррекции требуют одного или двух на шаг. В то же время оба метода имеют почти одинаковую ошибку от отбрасывания членов. Методы Рунге — Кутта не содержат в себе никакой оценки точности решения на каждом шагу; следова- тельно, невозможно догадаться, когда нужно уменьшить или удвоить величину шага. Высказывалась идея использования двух интегрирова- ний с разной величиной шага, но это, очевидно, так увеличивает машинное время, что предложение не следует принимать всерьез. Когда система уравнений должна решаться многократно, стоит исследовать уравнения и посмотреть, нельзя ли использовать их осо- бенности, чтобы уменьшить количество требуемых вычислений. Так, например, линейные дифференциальные уравнения второго порядка (с переменными коэффициентами) имеют достаточно специфическую структуру. Поэтому применение специальных методов существенно уменьшает количество вычислений по сравнению с тем, когда урав- нение второго порядка записывается в канонической форме, т. е. в виде двух уравнений первого порядка, и затем решается по общей схеме.
Изобретено великое множество специальных методов. Здесь мы можем рассмотреть только некоторые из них; поэтому мы просто покажем, как можно вывести пару специальных методов. Построения иллюстрируют те же общие идеи, какие были использованы в пре- дыдущих главах, и еще раз показывают силу общих методов. § 16.2. Методы Рунге — Кутта Существует много вариантов широко используется следующий: метода Рунге — Кутта; наиболее дано /=/(х, у), у(хп)=уп, (16.2-1) вычисляется последовательно й1 = /г/(х„, у„), ^ = /2/^+4’ ^« + 4')’ = Л/ [хп Ч- у ’ ^4 = к/(хп /г, уя 4* к3), Уп±\=Уп 4- з" (^14~ 4- 2^з 4~ К)- (16.2-2) Этот процесс можно представить геометрически. В точке (хп, уп) вычисляется тангенс угла наклона (к^к)-, используя его, мы идем на половину шага вперед и смотрим тангенс угла наклона здесь. Исполь- зуя новый тангенс угла наклона (к^к), мы опять начинаем из (хп, уп), идем вперед на половину шага и опять берем пробу тангенса угла наклона. Взяв этот последний тангенс угла наклона (к3/к), мы опять начинаем из (хя, уп\ но делаем теперь полный шаг вперед, где смотрим тангенс угла наклона (к^к). Четыре тангенса углов наклона усредняем с весами 1/е, 2/6, 2/в> */» и, беря этот средний тангенс угла наклона, делаем окончательный шаг от (хя, уп) к (хя+1, ^я+1). Если /(х, у) на зависит от у, то усреднение можно производить по формуле Симпсона. Этот метод имеет остаточный член, пропор- циональный /гв. Существуют варианты метода, касающиеся того, где следует брать узловые точки и, следовательно, какие веса придавать им на различ- ных шагах. Существуют также методы более низкого порядка, использующие меньше узловых точек на шаг. Очевидно, в этом методе пропадает зря вся предыдущая инфор- мация и каждый полный шаг делается заново, а следовательно, этот метод едва ли является таким же эффективным, как методы, которые используют старую информацию. Очевидно также, что не существует
проверки того, является ли шаг слишком маленьким или слишком большим, и хотя, возможно, изучение к1 может дать ключ к этому, его обычно не применяют. Кажется, метод получения этих уравнений не используется в дру- гих местах численного анализа, и поэтому его не стоит давать здесь *). Общий смысл построения их в том, что функции /(х, у), которые находятся справа, все расписываются в ряды по степеням /г и соот- ветствующие производные приравниваются, чтобы устранить более низкие степени /г. В результате уравнения (16.2-2) являются точными для многочленов степени 4 (или ниже). § 16.3. Методы для уравнения второго порядка, когда отсутствует у' Можно исследовать много частных случаев, но в этом параграфе мы ограничимся общей ситуацией; рассмотрим дифференциальное уравнение второго порядка с отсутствующей первой производной. Часто, когда производная присутствует, простое преобразование уда- ляет ее. Для исследования этой проблемы применим те же методы, какие использовались в гл. 15. Начнем с коррекции при интегрировании дифференциального уравнения = у), (16.3-1) которую представим в виде Уп+1 — аоУп ~г а1Уп-1 4“ аяУп-<1 4“ (&-1Уп+14“ &оУп 4~ 4~ ^1Уп— 1 4~ ^Уп-2). (16.3-2) Метод последней главы может навести на мысль экономить два па- раметра, но простая проверка показывает, что использование в ка- честве единственного параметра позволит нам надежно решить проб- лему устойчивости. Таким образом, мы можем сделать метод точным для 1, х,..., х9. Результаты приведены в таблице 16.3-1. Метод в последней колонке имеет нулевой остаточный член; сле- довательно, он имеет более высокую точность, чем остальные. Но кратный характеристический корень означает, что распространяю- щаяся ошибка еп будет вести себя как — б?1 4“ С3Я3, что наводит на грустные размышления. В других случаях имеем ~п = С1 С<>11 4~ Сз («2)". *) См. [20].
Т а б л и ц а 16.3-1 <22 — — 1 а3 = - 1/2 «2 = 0 а3 = 1/2 = 1 ао==2-|-а2 1 3/2 2 5/2 3 а1 = — 0 Ч~ 2«2) 1 0 —1 —2 —3 °2 ~ —1 -1/2 0 1/2 1 Ь_1 = 1/12 1/12 1/12 1/12 1/12 1/12 />о = (1О — а2): 12 11/12 21/24 10/12 19/24 9/12 = (1 — 10а2): 12 11/12 12/24 1/12 —8/24 —9/12 === д2: 12 1/12 1/24 0 —1/24 —1/12 Е6 = — 3 За2 —6 —9/2 —3 —3/2 0 Р1> Рз “ М 1, 1, —1 1, 1, —1/2 1, 1, 0 1, 1, 1/2 1, 1, 1 Кратный корень р = 1 является неизбежным, если формула делается точной для 1 и х, а линейный рост ошибки происходит от ошибки в У (которая не появляется явно), распространяясь линейно с п. Преимущество двух нулевых коэффициентов при выборе (см. [26], формула (44.1)) а.2 = 0 делает формулу очень привлекательной уи+1=2у„ - (у"п+, +1 оу;+>;_!) - . (1 е.з-з) Это можно также записать в виде У«+1 = 2у„ -уя_! + Л2 (у; + . (16.3-4) По симметрии легко проверить, что 0(5) 0 для — Удобный прогноз для этой коррекции такой (приводим его здесь без вывода): уп+1=2уя_, -уя_з+^(у;+уи+у;-2)+луч (1 в.з-5) или Уге+1 = 2уп_1 - Уп-з + 4/г2 (у;_! + . (16.3-6) «Прогноз минус коррекция» дает так что ошибка при коррекции приблизительно равна
в то время как ошибка в прогнозе 16 . 17 (Рп Сп)' Этот результат может быть использован, чтобы улучшить точность- Характеристические корни прогноза суть 1, — 1, I, — I и не создают трудностей. Упражнения 16.3- 1. Вывести равенство (16.3-5). 16.3- 2. Показать, что справедливо равенство (16.3-5), исследовав функ- цию С. § 16.4. Линейные уравнения Линейные дифференциальные уравнения встречаются очень часто, и, несмотря на обширную теорию, связанную с ними, иногда прихо- дится решать их численными методами. Свойство линейности делает их более легкими для решения, чем общие уравнения. В качестве примера рассмотрим уравнение у"=/(х)у + ^(х), (16.4-1) которое является частным случаем уравнения, рассмотренного в § 16.3 (так как У не содержится в нем явно). Используя коррек- цию в виде (16.3-4), имеем Подставляя (16.4-1) вместо у”, находим △Ул-1 — [/ (*Л-1)Уя-1 + ё (-^«-1)] = & [/<хп)Уп + §•(*„)], Д2{[ 1 — ^/(^л-1)] ~ ^/(х„)у„ /г'2 -у Д2#,.,). Теперь напишем Г, Л2 ,, Л [1 — 12^Хп)р'п— Упг так что А9 Уя_1 = |/(*я)Уп + ёп + д<2&л]. Таким образом, окончательно Уя+1 = 2 У„ - + Л* [/(х„)у„ + ёп +1 Д3^,], (16.4-2) где уя =-----------• (16-4-3) 1 уз / (хп)
Этот метод часто приписывают Нумерову *); он очень полезен и эффективен. Очевидно, что подобные преобразования, сделанные с целью исключить прогноз, могут быть произведены всякий раз, когда уравнение линейное, и мы не будем рассматривать все воз- можные случаи. Упражнения 16.4-1. Вычислить решение У" + ху = 0, у(0) = 1, у'(0)=0 2 для 0<х ==с 1, Л = уф, используя метод Нумерова. 16.4- 2. Показать, что не требуется прогноза для линейного уравнения у = Р(х)у + О (х). § 16.5. Метод, который использует значения у, у' и у" Мы отмечали несколько раз, что когда функция вычислена, часто бывает недорого (в смысле машинного времени) вычислить и произ- водную функции. Итак, пусть задано уравнение / = /(х, у); (16.5-1) тогда Упражнение 13.8-1 дает формулу (й^1 = 1/3) уи+1 =у„ + 4 04+1+у'п) + й(~^+1 <9)- (1б-5‘3> По-видимому, это — превосходный выбор для формулы коррекции. Так как встречается лишь член с уп, то не существует посторонних корней характеристического уравнения, порождающих неустойчивость. Ясно, что ошибка от отбрасывания членов очень мала и округление также находится под контролем. Мы должны поэтому найти прогноз в общем виде Уп+1 = ЛоУп + А1Уп-1 + (Вцуп -ф- Вхуп_ 1) -ф- й2 (Соу„ -ф- С’1уф_|). Обычный процесс нахождения коэффициентов, делающих прогноз точным для 1, х, х-, х3, х\ дает результаты, приведенные в таблице 16.5-1. В частности, при А1=1 получаются очень привлекательные коэффициенты, хотя А1 — 0 дает несколько меньшую ошибку. *) См. [12]. 8 Р. В. Хемминг
Упражнения 16.5-1. Разработать детали метода прогноза и коррекции для случая А1=1, включая модификации прогноза и окончательных значений. 16.5-2. Исследовать функцию влияния для случая А{ = 1. § 16.6. Случай, когда решение трудно аппроксимировать многочленом До сих пор всюду предполагалось, что рассматриваемые функции хорошо приближаются многочленами на интервале разумной длины. Единственное исключение было сделано в § 12.1, где рассматрива- лись интегралы, представимые в виде ь ь ^/(х')<1х='\>К(х')§(х)Лх. а а Мы заметили там, что если известны моменты ь тк=^К (х) хкЛх а и функция §(х) хорошо аппроксимируется многочленом, то интеграл может быть легко вычислен, независимо от того, хорошо ли прибли- жается многочленом функция /(х). Таким образом аппроксимирова- лась лишь часть подынтегральной функции. Такие ситуации возникают и при решении дифференциальных уравнений; часто решения, которые ищутся, очень плохо прибли- жаются многочленами разумной степени при разумной величине шага. И если известно, как ведет себя какая-либо функция, входящая в ре- шение, то можно попытаться использовать это, аппроксимируя не решение, а лишь часть его.
Для примера предположим, что решается уравнение ау" -ф- Ьу' су = /(х), у(хв) = у„, У(Хо)=Уо> (16.6-1) где а, Ь и с — константы и /(х) легко аппроксимировать; скажем, /(х)<=«Р(-ф-^Х —Хгл) ДЛЯ Х^^Х^Х/. Таким образом, /(х) аппроксимируется последовательностью прямо- линейных отрезков. Непосредственной подстановкой легко найти частное решение (16.6-1) У (*) = (X) = Р1 4- <3; (X — Хи). Решение однородного дифференциального уравнения приводит к ха- рактеристическому уравнению ат? -ф- Ьт -ф- с = О с корнями — Ь + /А2 — 4ас — Ь — У Ь2 — 4ас ------2а .....т* =-------------2а-------• Следовательно, решение (16.6-1) в г-м интервале (хгл^х^х4) на- чинается точкой У(-*ч-1)=Л-1> У(х>-1)= Уг_1 и дается формулой у (х) = (\ет1 'х~х^ + (\ет* (х~х^ + Дг. (х). Чтобы определить С) и С2, используем начальные условия для интер- вала У1-1 — С) -ф- С.> 4- Р{ (X; л), уф_1 = тгСх 4~ ГПцСц 4~ Р'[ (Хгл). Теперь вычислим начальные условия для следующего интервала: у(х,-) = у,-, /(хг)=У„ и мы готовы к следующему шагу. Если одно или оба значения отрицательные и большие, то- решение плохо аппроксимируется многочленом и, написав решение- в виде суммы многочлена и экспоненциальной части, мы избегнем многих неприятностей. Использованный метод никоим образом не за- висит от того, что для аппроксимации /(х) были взяты линейные- многочлены, и, вообще говоря, многочлены более высоких порядков были бы более экономичны в смысле машинного времени. Метод не- связен и с выбранным нами уравнением второго порядка, порядок уравнения мог бы быть любым. Исследуем теперь другой класс задач, в которых аппроксимируем многочленом не окончательный ответ, а только некоторую часть его. 8*
Большие отрицательные характеристические корни типичны для многих задач, возникающих в контрольных системах, при получении скорости изменения сигнала, в задачах распределения пространствен- ного заряда, в химии горения. Простейший вид уравнений такого рода / = /(х,у), где Один из подходов к этому уравнению основан на предположении, что производная хотя большая и отрицательная, изменяется мед- ленно. Мы пишем приблизительно равно А = сопз1) у’ = /(х,у)-]-Ау — Ау, у'— Ау=/(х, у) — Ау = Р (х, у), где, конечно, Решая уравнение при помощи обычного интегрирующего множителя е~Ах, имеем X у (х) = С1бл *о' -|- еА <*—*<>) е~А *»' р (0, у (9)) </9. Теперь мы сталкиваемся с задачей получения формул для интегра- лов вида л /(/г)=г^-л9^(0) М, о которую легко решить, следуя уже развитым методам. Прогноз не может использовать значение §•(/?), но может использовать ^(0), §(—й), а также 2(0), 2(—й),..., тогда как в корректирующую формулу мо- жет входить прогнозированное значение §(К). Детали оставляем чита- телю. Здесь предполагается лишь, что разность Р(х,у) = Цх,у) — Ау [у-у(х)] может быть аппроксимирована многочленом с использованием довольно редкой группы узловых точек, хотя во многих случаях это вовсе не так. В первом из вышеприведенных примеров неаппроксимируемая часть входила слагаемым, во втором она была множителем. Но в обоих случаях мы отказались от прямой аппроксимации решения многочле- нами в пользу аппроксимации некоторой его части. Упражнение 16.6-1. Предположим, что /(х) может быть аппроксимиро- вана квадратным трехчленом в интервале 0 к 2л, и рассмотрим урав- нение у" А-у=/(х). Построить теорию для численного интегрирования этого уравнения в данном интервале. Показать, как распространить ее последова- тельно на интервалы 2к~^х^4к~, 4кп^х^6кп и т. д. .
§ 16.7. Краевые задачи До сих пор рассматривались задачи с начальными условиями. Часто бывают даны условия на решение в двух точках. Например, может быть дано уравнение у"=/(х,у), у(0) —О, у(1) = 0 и требуется знать у=у(х) для Эта ситуация может быть сведена к предыдущему случаю мето- дом проб и ошибок. Мы начинаем с уравнения У" = / (х, у), у (0) — 0, / (0) = А и пробуем найти два таких значения X] и Х2, чтобы для А,: у (1)<0, Х.2: у (1)>0. Так как для большинства практических задач у(1) есть непрерывная функция X, то можно, даже используя грубый метод деления отрезка пополам, за 10 проб уменьшить длину отрезка | Хх— Ха| в 210, т. е. более чем в 1000 раз. Впрочем, для нахождения значения X, при ко- тором у(1) = 0, легко найти гораздо более эффективные методы. Однако, вместо того чтобы сводить краевую задачу к задаче с заданными начальными условиями, нередко выгоднее решать ее непо- средственно. На этот счет имеется обширная теория ([11]), и мы кратко рассмотрим лишь один пример, чтобы показать некоторые из содержащихся в ней идей. Рассмотрим уравнение /' = /(*) У+ ^(х), У(0) = А у(Д) = В. (16.7-1) Прежде всего аппроксимируем у” второй разностью й3у; = ДЧ-1> (16.7-2) считая, что интервал (0=схгС1) разделен на № интервалов величи- ной И — Таким образом, Ул+1 — 2Уп + Ул-1 = & [/(Хп)Уп + ИЛИ уп = ~~ («=Ь 2,.... А7—1). (16.7-3) Получили — 1 линейное уравнение с М— 1 неизвестным, которые могут быть решены многими различными способами. В качестве примера рассмотрим один частный случай уравнения (16.7-1). Положим Д —5 = 0, /(х)=1, у(х) — х и А'=4, т. е. уравнение У" — У + *> у(0) —0, у(1) = 0,
Требуемое решение известно: вИ х у = -г->— х. Л 8Й 1 Разностные уравнения имеют вид « 1 ! , 1 \ у3 — 2>! — , о । 1 ( . 2\ Уз— 2Та+ У1—16 (Т-2+^, । и , з\ — 2Уа + Уз =16 ^Уз + 4"], или 16^-33^=! 16у3 — ЗЗу3+ 16^ = ^-, — 33уз4-16у.2 =~. Эти уравнения можно решить, например, так. Умножим первое из урав- нений на 16, второе на 33 и третье на 16 и сложим. Получим (16'2 — ЗЗ2 + 163)у2 === 1 (162 • 33 4-3 • 16). Зная у2, легко найти уг и у3 из первого и третьего уравнений. Но что делать, если полученное решение недостаточно точно? Можно положить 77=8 и, используя вычисленное решение для М=4, при- кинуть решения для 1\г— 8. Затем, подставляя это решение в правые части восьми уравнений, соответствующих (16.7-3), можно вычислить улучшенные значения и повторять процесс до тех пор, пока не пре- кратятся изменения. Число точек можно увеличивать как угодно. Наоборот, вместо (16.7-2), наверное, лучше было бы взять более точную формулу. Чтобы найти такую формулу, используем матрицу 5, из § 10.3. Моменты у" (О') суть (0, 0, 2, 0, 0, 0, 0) и могли бы быть записаны как вектор-столбец. Это дает вектор-столбец, соответ- ствующий удвоенному третьему столбцу $7: 1 360 — 54 540 — 980 540 — 54 2\ — 27 \ 270 —490 270 - 27 ~~ 180
который приводит к формуле л3у« = 4о (2^+’ - 27>«+* + 270^ - 490^ + 270^ ’ - - 27уя_3 + 2у„_3) = Д2 у^ -1 Д4 уя_2 +1 де уп^ Беря в ней только первые два члена, так как величина ~ Д" у„_3, ве- роятно, должна быть маленькой, найдем значение —^Д'‘ул]. Чтобы вычислить его, нужны несколько значений вне интервала (О -С х -йС 1); в частности, надо знать у и у . Эти величины могут быть найдены из очевидных соотношений: У-1 — 2у0 4~ У1 = й2 (у0 + 0), Уз — 2у4 —у3 = /г2 (у,, -ф- 1). Заметим, что в действительности нам нужны лишь Д‘У | и Д2у3, ко- торые могут быть найдены из значений у0 и у4: Д2у^=;0, Д2у4 = /г2. Используя таблицу значений можно вычислить значения Д4у/( а именно Д4ул, Д4у0, Д4У1> требую- щиеся, чтобы улучшить результат. Эти значения Д4уг, которые не учитывались в первом вычислении, подставим теперь в корректирующие члены в правой части А3 Уп-1 = (Уп + хп) + Д4 уп Решим задачу, опять не меняя членов Д4у;. Если значения Д4у(- но- вого решения существенно отличаются от старых, то повторим про- цесс опять. Фокс [ 11}, который использовал описанный прием с боль- шой эффективностью, назвал его методом «разности и коррекции»
Как уже было замечено, мы не пытаемся излагать тщательно раз- работанную теорию для краевых задач, а лишь стремимся дать про- стейшие приемы, показывающие, как с такими задачами обращаться. Упражнение 16.7-1. Выполнить вычисления примера в § 16.7, используя метод разности и коррекции, и сравнить результат с правильным ответом. ГЛАВА 17 МЕТОД НАИМЕНЬШИХ КВАДРАТОВ. ТЕОРИЯ § 17.1. Введение В § 7.1 ставились четыре основных вопроса: 1. Какие узловые точки мы будем использовать? 2. Какой класс аппроксимирующих функций мы будем использовать? 3. Какой критерий согласия мы примем? 4. Какую точность мы хотим иметь? До сих пор было рассмотрено много различных методов для вы- бора узлов, но мы всегда пользовались многочленами и критерием точного прохождения многочлена через узловые точки. Проведем те- перь исследование других критериев для выбора конкретного много- члена из общего класса всех многочленов степени п. Окончательный выбор критерия для конкретной задачи за- висит от предыстории данных уравнений и поэтому не может быть дан в учебнике по методам вычислений. Попробуем, однако, обсудить некоторые критерии, рассмотрев их достаточно подробно. Когда хорош критерий точного соответствия? Известно, что зна- чения функции в выбранных точках искажены шумом округления. Пока уровень шума слабый, а во многих расчетах на современных вычислительных машинах с 8—12 десятичными разрядами это так, точное соответствие является разумным методом. Если же уровень шума высок, что может случиться в некоторых вычислениях — и почти всегда случается, когда данные получены из физических измерений, —то разумность попытки искать аппроксими- рующую функцию по критерию точного совпадения в «шумных» уз- лах необходимо исследовать внимательно. По-видимому, наиболее ши- роко использующийся метод в «шумных» ситуациях — это аппрокси- мация по наименьшим квадратам. § 17.2. Метод наименьших квадратов Предположим, что требуется измерить некоторую величину и де- лается п измерений, результаты которых равны XI — х + г1 (I = 1, 2,..., и),
где г1 — это ошибки (или шум) измерений, а х — это «истинное зна- чение». Метод наименьших квадратов утверждает, что наилучшее прибли- женное значение X есть такое число, для которого минимальна *) сумма квадратов отклонений от ху. , п п лх)=2^=2(^- V* /=1 /=1 В конечном счете, полезность этого метода определяется тем, насколько хорошо эта модель соответствует опыту и как легко можно исполь- зовать ее на практике. Стоит заметить, что этот метод эквивалентен предположению, что наилучшим приближением является среднее ариф- метическое п Ха~~п^ Х*' 1=\ Чтобы доказать эквивалентность этих определений, покажем сначала, чго метод наименьших квадратов приводит к среднему арифметиче- скому. Заметим, что /(*)=2 можно рассматривать как функцию от X и минимизировать обычным приемом: =— 22(хг— х) = 0, 2Х‘— 2Х==0’ 2Х‘"-"Х=:0’ X = ~ 2 — Ха. I Таким образом, х = хо минимизирует ^(х,— так как = 2п > 0. Это же можно показать и иначе. Пусть Нха) = ^(х1 — ха)\ Тогда ?(ха) = — 2хй 2 х1 + %х*а — 2 х1 — 2хапха + пх3а = = 2 X; — ПХа. *) Теорема Гаусса — Маркова утверждает, что если среднее по всем е,- и корреляция по всем е; еу равны нулю, те эта оценка имеет наименьшую дисперсию из всех линейных оценок.
Если взять любое значение хь, отличное от ха, то /С*6) = 2 (*< — хь)г = 2 х1 — 2пхахь 4- пх1. В таком случае имеем Цхь) — /(хо) = п (хга — 2хахь + х°ь) = п (ха — хь)- 0. Таким образом, сумма квадратов 5; минимальна только при х — ха. Следовательно, доказано, что «метод наименьших квадратов» и «вы- бор среднего» эквивалентны. Упражнение 17.2-1. Найти приближенное значение в смысле наимень- ших квадратов для чисел 2, 3, 2, 1, 2, 3 обоими способами. Ответ: X — 13/6. § 17.3. Другие критерии Выбор в качестве лучшего значения среднего из п измерений соответствует методу наименьших квадратов. Но возможны и другие методы, и часто они более уместны. Предположим, что вместо минимизации суммы квадратов требуется минимизация суммы модулей отклонений —х|=/(х). Это требование приводит к выбору медианного (срединного) значе- ния хт из х,- (если количество х{ четно, то приходим к выбору любого из двух срединных). Доказательство этого факта простое. Предположим, что имеется нечетное число 2к 1 значений х? Вы- берем в качестве хт среднее из них по величине. Тогда любой сдвиг от хт по х, скажем вверх, будет увеличивать к членов | XI — х |, для которых Х{ ниже хт, и уменьшать к членов | хг- — х |, для которых х,- выше хт каждый на одинаковую величину; но член \хт— х| будет также увеличиваться, увеличивая, таким образом, всю сумму отклонений. Другой метод состоит в минимизации максимального отклонения вместо минимизации суммы их квадратов. Это приводит к значению '^тахН“'^т!п _ 2 Хс₽’ которое является срединой интервала х(-. § 17.4. Ошибки с нормальным распределением По-видимому, широко распространено мнение, что метод наимень- ших квадратов подразумевает распределение ошибок по нормальному закону. Согласно ему, вероятность того, что ошибка находится
в интервале х, х-\-&х, задается формулой кх. ]/ те (17.4-1) Это мнение ошибочно, и здесь стоит обсудить эту тему, чтобы про- яснить дело. Кроме того, иногда верят в то, что нормальный закон есть закон природы. Распространена формулировка: «Математики по- лагают, что нормальный закон должен быть физическим законом, в то время как физики думают, что он должен быть математическим законом». Одна из характерных ситуаций, приводящих к нормальному закону • метание дротика с некоторой (I. ^ршель), выглядит так: рассмотрим высоты с целью попасть в некото- рую точку О на горизонтальном полу (рис. 17.4-1). Предположим теперь, что ошибки не зависят от выбора системы координат, а зави- сят только от расстояния до точки О и что большие ошибки менее ве- роятны, чем меньшие. Эти предпо- ложения кажутся вполне разумными, так как система координат может быть вполне произвольной. Пусть вероятность попадания в полосу х, х-\-кх равна (при- ближенно) /(х) Дх и соответственно в полосу у, у -ф- Ду равна/(у) Ду. Исходя из предположения о независимости ошибок по каждой коор- динате, получаем, что вероятность попадания в прямоугольник пере- сечения двух полос равна /(х)/(у) Дх Ду. (17.4-2) Введем теперь полярные координаты. Вероятность попадания в эле- мент площади по предположению не зависит от направления и равна ё(г) Дх Ду. (17.4-3) Так как (17.4-2) и (17.4-3) выражают одну и ту же вероятность, то ё(г) = /(х)/(у). (17.4-4) Левая часть не зависит от 0, и, дифференцируя по 9, имеем = о =/(х) + /(у) . (17.4-5) Используя соотношения х = гсоз9, у = г 51п 9, находим <У(х)_а/(х)дх д<1 ~ ах дв ~ " ЛА — ЛЙ —/ \У)
Подставляя (17.4-6) в (17.4-5), получае.' /(*) Г Су) х + /о) г (х) (— у)=0 ИЛИ Г(х) =_/'(у) х/(х) уЦу)' По предположению х и у независимы, а значит, обе части этого равенства равны константе, скажем, К, т. е. /' (х) к у (у) х? (х) у/ (у) или, что то же, (х)__„ , лу (у)______, — К-х-ах и —к-у-ау. Интегрируя первое из этих равенств, получаем /гг2 .1 Кх2 1п/(х) = -^- -}- С или {(х')=Ае~ Мы предположили, что ббльшие ошибки менее вероятны, чем меньшие; поэтому К должно быть отрицательным, скажем, К — — 2/г*. Окончательно имеем /(х) = Ае~ к*х\ /(у) = Ае- и из (17.4-4) §(г) = А*е-к2<х*+У\ Но, так как куда-нибудь дротик должен попасть, то §(г) г гД = 1, Д22к § ге~к*г2 йг = 1, 0 0 о и окончательно мы получаем (формула (17.4-1)) А(х) = -^е-^3, У Я т. е. нормальное (гауссово) распределение. Заметим, что это не единственный способ получить нормальный закон. Другой подход дает центральная предельная теорема, которая утверждает, грубо говоря, что сумма большого числа маленьких ошибок распределена нормально. На практике нормальный закон есть обычная модель во многих приложениях. Отклонение от него происходит обычно от наличия
большего, чем это предсказывается моделью, количества попадания в «хвост» распределения, где | х | велик. Причиной этого часто является небольшой «размазанный» эффект. В таких случаях обычна смесь двух нормальных кривых с различными значениями к. Теория качественного контроля, в частности, основана на возму- щениях, наблюдаемых в «хвостах». 1/"2 Упражнение 17.4-1. Показать, что <г2 = Г-р—, где а есть дисперсия рас- пределения / (х) = —е~ к2х2. У ~ § 17.5. Проведение подходящего многочлена Один из наиболее общих случаев применения метода наименьших квадратов состоит в том, что имеется М наблюдений (х;, уг) (/=1, 2, ..., и требуется приблизить эти данные многочленом степени у (х) = а0 аух ... -}~амхм. (17.5-1) Вычисленная кривая у(х) в некотором смысле дает сглаженное множество значений _у(х,), которые, вообще говоря, отличны от на- блюденных у1- Метод наименьших квадратов утверждает, что следует выбирать такой многочлен, который минимизирует функцию X У, [л— У(х1)р = /(«0. «п ам). (17.5-2) 7= 1 До сих пор рассматривался метод наименьших квадратов только для одного измерения; очевидно, что принципиально ничего не ме- няется при переходе к (М-1- 1) измерению. Можно рассматривать а0, ..., ам как координаты одной точки в (М -ф- 1)-мерном евклидо- вом пространстве. Для нахождения минимума поступаем как в анализе: дифферен- цируем (17.5-2) по каждой из неизвестных ак (к=0, ь 2> •••’М) I ИЛИ 2л4=«.24 + о,24+'+.-. + ««24+л,= / Л1 л = 2«, 2 4+< 7=0 1-1 (17.5-3)
Для упрощения введем обозначения л л 2><=^, УIх* =7к- 1=1 1=1 Уравнения (17.5-3) принимают вид м ^0^=7, (6 = 0,1...../И) (17.5-4) /=о и называются «нормальными уравнениями». Они образуют систему М 1 линейных уравнений, определитель которых есть Д = | 8к^ |. Покажем, что Д ф 0, Если бы Д = 0, то однородная система, соответствующая (17.5-4), м 2] 0 /=0 имела бы ненулевое решение. Умножая 6-е из этих уравнений на ак и суммируя по всем 6, получаем М М А' КМ м = 2л 2 а) 2 (Х1Х/)~ 2] ( 2л акХ1 ) ( 2л а)Х' ) ~ к = 0 ; = 0 1=1 1 = 1 й = 0 /=0 КМ 2 К = 21(2] акХч = У. /(*,•) =о, 1=1 Й = о 1=1 откуда все у(х;) = 0, 1~1, 2, ..., № Так как А''^> М, это невоз- можно вследствие фундаментальной теоремы алгебры: многочлен сте- пени М имеет не больше 44 корней, если не всеа* = 0. Таким обра- зом, не существует ненулевого решения и Д 0. В принципе наша задача решена. На практике же решать си- стему (17.5-4) не так легко, потому что определитель Д часто бывает весьма близок к нулю. Чтобы увидеть, как это может случиться, предположим, что х1 более или менее равномерно распределены в интервале 0 х1 1. Тогда н 1 1 $к = У Х1 М 5х>гах = Г-ТЛ Л< 1=1 о -т" Определитель (с точностью до множителя Лб^Т1) !штт| « '=» 1.......... известен как определитель Гильберта.
Определитель Гильберта порядка п. имеет величину н _[Ч 21 31 ... (П-1Ц» "~п! (пЦ-1)1 ... (2п—Г)!> которая быстро стремится к нулю. В таблице 17.5-1 приведено не- сколько значений Нп. Таблица 17.5-1 Значения определителей Гильберта п Нп п н п п Нп 1 1 4 1,7 - 10-’ 7 4,8 • 10~25 2 8,3 • 10~2 * 5 3,7 • 10~12 8 2,7 10“аз 3 4,6 • 10~4 6 5,4 10~1в 9 9,7 • 10~43 Чтобы обойти трудности решения системы с очень малым опре- делителем, стоит вычислять не 8к, а некоторый их эквивалент. Это приводит к ортогональным функциям и специальным ортогональным полиномам, которые хорошо изучены и по которым имеется обшир- ная литература. С другой стороны, заметим, что уравнения (17.5-4) могут быть записаны в других обозначениях. Из (17.5-1) имеем йо*4~-ф-а.>х‘1 -ф- ... -\-амХ1 —у(Х{) (1=1, 2, ..., X) или, в матричном обозначении, Ха—у. Пусть Хт— транспозиция матрицы X. Тогда (17.5-4) принимает вид ХтХа~Хту. Этот путь на практике не пригоден. 2 Ответ: у = (х -ф- 2).
§ 17.6. Ортогональные функции В случае двух измерений две прямые называются «ортогональ- ными» или перпендикулярными, если ^е' = -1РГ- Это условие можно записать в виде 81П 0! 31П 92 4- СОЗ 91 соз 93 = 0. Используя дополнительные углы и в первом слагаемом, по- лучаем соз <?1 соз <р2 -|- соз 91 соз 02 = 0. В случае трех измерений с углами а, р, у в качестве условия перпен- дикулярности или ортогональности имеем соз а, соз а, 4~ соз соз 4 -ф- соз у соз = 0. Условие ортогональности легко обобщить на случай п измерений С углами а(1), а(2), ..., а(л) соз а*1' соз а'1) 4~ • • 4* соз ®1Л) соз а^> = 0. На практике оказалось, что направляющие косинусы соз а-А) = X,- (к) более удобны, чем сами углы, так что обычно условие ортогональ- ности употребляется в форме 2 (А) - (А1) = 0. к = \ Вели теперь в некотором смысле устремить & —> оо, то можно заме- тить, что разумно назвать условием ортогональности равенство $ (к) Х3 {к) йк = 0. Исходя из этого, говорят, что две функции Д(х) и ]\(х) орто- гональны на интервале а-^х ^Ь, если 4 (х)/2 (х) йх = 0. а
Функции /1( Д, ..., /т взаимно ортогональны, если ь \ ^(х)/у (х) с1х — О а Ь (х) Ах = Хг }> О (/=/) (17.6-1) (к сожалению, в этом месте обычно употребляют обозначения Х;; их не следует путать с направляющими косинусами). Мы предполагаем, что/) (х) действительны, непрерывны и не равны тождественно нулю. Пусть Тогда §1 ? ( 0, /, (17.6-2) Функции р,(х) называются ортонормированными, а процесс перехода от к §1 — нормированием. Классической системой ортогональных функций в интервале 0«=сх<^21г (или —тг х -) является система 1, соз х, соз 2х, ..., соз Мх, з1п х, з1п 2х, ..., з!п Мх. Если значения заданы в 2/У равноотстоящих точках, ряды косинусов и синусов заканчиваются соответственно у соз ^x и зт (Д'—1)х (см. гл. 6). Чтобы увидеть, как метод ортогональных функций обходит труд- ности, порожденные плохой матрицей неизвестных коэффициентов, напомним, как производится разложение. Требуется представить у{ в виде У1 = у + СОЗ Х1 -|- . .. + Одл СОЗ (АХ— 1) XI у соз + 4- Ьх 51п X, -ф- . .. 4" 81П (77— 1) Умножая на соз тх1 или з!п тхг и суммируя по всем = получаем (используя (6.2-3)) 2ДТ-1 2ЛГ—! >'<С08/ИХ;) = 2 У'1 ®‘П тХ1' [=0 /=0
Эта система уравнений для неизвестных ат и Ьт решается триви- ально — она уже решена. Все происходит так же, если есть другое множество ортогональ- ных функций (х)}. Пусть /(х) = й(1/0(х)ал'/л'(х)' Умно- жаем на /у(х) и интегрируем: ь ^/(х)/^(х)йх = ^а^ (17.6-3) а Решение также тривиально. Коэффициенты найденные таким способом, называются коэффициентами Фурье. Если функция известна только в отдельных точках хт, то инте- гралы заменяются суммами, а условия ортогональности принимают вид ( 0 /< С^т)//(•*"т) — 1'. т [ при / /, при у = I. Заметим, что Ху 0. Если данные имеют различную степень важно- сти, в интеграл может быть введена весовая функция р (х) хз 0 ь 5 Р О) Л (*)/;• (х) йх, (17.6-4) а а коэффициенты получаются из уравнений ь р (х)У(х) /у (х) с/х — (17.6-5) а Если задана смешанная информация, в непрерывной и дискретной формах, то можно использовать интеграл Стильтьеса. Развить эту теорию легко для непрерывной формы, хотя большей частью она будет нужна для дискретного случая. Упражнение 17.6-1. Показать, что Ро=1; Р1 — х, Ра=у(3х2—1); Р8 = -А(5х’ — Зх) ортогональны для — § 17.7. Общие свойства ортогональных функций Прежде чем пользоваться ортогональными функциями, разберем некоторые общие теоремы, чтобы дать читателю представление о по- ведении ортогональных функций. Идея линейной независимости является одной из основных идей в математике. Функции (х) называются линейно независимыми на (а, Ь), если из равенства (х) а^\ (х) (•*) = 0 во всем
интервале следует, что все а; = 0 *); в противном случае они линейно зависимы. Простым и важным примером множества линейно независимых функций в произвольном интервале является множество функций 1, х, х~, х3, ..., хт, так как по основной теореме алгебры из тождества Яд —1~ Я^Х —.. —|— ятхт •-О следует, что все я; = 0. Функции непрерывные и ортогональные в интервале линейно не- зависимы. Доказательство тривиально: допустим, что я0/0 ф- ф-... . ..ф-ат/т = 0, и вычислим коэффициенты Фурье (17.6-5) ь Я; = -^ 0 р (Х) /у (X) (?Х = 0. а Наоборот, из системы линейно независимых функций с помощью процесса Шмидта можно получить систему ортогональных функций. Процесс состоит в следующем. Пусть дано множество линейно не- зависимых функций /Дх). Вычислим ь 5 р (х) /о2 (X) ах — л0 > О [р (X) 0]. а Тогда равенство , . /о (х) V ^-0 определяет первую ортонормированную функцию §9(х). Применяя метод математической индукции, предположим, что уже построены первые / ортонормированных функций §Дх)(2 = 0, 1, 2, .... /—1). Положим ррх) = + а1§1 + • • ф- фм&м ф-/у(х). (17.7-1) Функция ДДх) отлична от нуля, так как /Дх) линейно независимы, а каждая & (х) есть линейная комбинация Д (х) для к I- Мы должны иметь ь р (х) Р; (х) §1 (х) ах ~ 0, —1. а *) Ф)'нкцию /г(х)=0 здесь и дальше исключаем из рассмотрения.
Но по определению РДх) отсюда следует ь Р (*) §1 (Х)// (*) аХ = °> а откуда находится аг- и тем самым Р}(х). Чтобы нормировать Р;(х) нужно вычислить ь § р (х) Е; (х) ЙХ = Ху [р (х) 0] а , , Р) (х) и затем положить Д/ (х) = 1-. V Таким образом, шаг индукции выполнен. Если есть только конечное число М узлов хт, то существует по крайней мере М линейно не- зависимых функций /у(хт). То, что их Д/, следует из существования множества ( 0 при т ], ё)(.хт) | ПрИ т-=1> У /’ •••’ так как никакое множество этих функций не может быть линейно зависимым. К сожалению, семейство функций, которое получается в этом процессе, определяется неоднозначно. Оно зависит от выбора ]/Х; 0, а также от интервала, порядка, в котором мы перебираем функции, и весовой функции р(х). Упражнение 17.7-1. Даны Ро=1; Рг = х; р(х)=1. Построить ортогональные функции Р* (х) и Р3 (х) на множестве точек —-2, —1, 0, 1, 2, где Р3 и Р3 — многочлены степени 2 и 3 соответственно. § 17.8. Неравенство Бесселя и полнота Коэффициенты Фурье функции Р (х) относительно ортонормиро- ванного семейства ь ау — р (х) Р (х) (х) йх а удовлетворяют неравенству Бесселя ь м р (х) Р'~ (х) Лх У, а® а / = 0 (17.8-1)
Доказывается это непосредственно. Напишем О Ж $ Р (х) [д (х) — 2 а1§; (х)]'2 ах О а 1 = 0 и раскроем скобки ь м о =С \ Р (X) Р (х) ах — 2 5 р (X) р (х) У, аг§1 (х) ах 4- а а 1 = 0 й Л1 м +Ш а;аур(х)^7йх, а 1 = 0 7 = 0 Используя определение а{ и ортогональность находим Ь МММ § р (х) Р (х) ах 2 У а1 — У а] = У а] а 1 = 0 1 = 0 1 = 0 для всех М. В непрерывном случае, если в (17.8-1) выполняется равенство для любой функции р (х), непрерывной в (а, Ь), то бесконечное множе- ство функции (х) называется полным *), а равенство Ь оо $ р (х) Я (х) ах — У а] а 1=0 (17.8-2} называется равенством Парсеваля. В дискретном случае у нас не возникает трудностей при переста- новке суммирования, и любое семейство функций, линейно незави- симых на множестве точек, является полным на этом множестве точек (ср. § 6.3). § 17.9. Метод наименьших квадратов и коэффициенты Фурье Коэффициенты Фурье дают наилучшее в смысле наимень- ших квадратов приближение, когда Д(х) разлагается по орто- гональному множеству функции §}-(х). Чтобы доказать это, *) Это свойство чаще называют замкнутостью системы функций, а под полнотой множества понимается отсутствие функции, ортогональной всем функциям множества. Впрочем, для функций с интегрируемым квадратом эти свойства эквивалентны. {Прим, ред.)
минимизируем выражение о м т=\р(х) [р(х) — 2 с7 (х) ]2 — а э =0 м ММ -2^сДр(х)Р(х)^(х)аХ-]~ 2 2 /=0 1=0 /=0 м м ~ $р(х)Р(х)сгх — 2 У сга;+ УУ1 = 1=0 7=0 м м = $ Р (х) Р (х) ах - у а] -Ь у («1 - с$. 1=0 1=0 Но последнее выражение минимально, если с1~а1, что и требо- валось. Мы получили замечательное и очень полезное свойство коэффици- ентов Фурье: каждый из коэффициентов аг, дающий лучшее прибли- жение в смысле наименьших квадратов по системе ортогональных фун- кций, определяется независимо от остальных, и если требуется изме- нить число используемых функций (х), то не нужно искать заново уже найденные коэффициенты. Исследуем теперь обратную задачу. Если коэффициенты с1 разложения функции Р(х) по множеству функции (х) в смысле наименьших квадратов не изменяются при изменении числа используемых р, (х), то р; (х) должны быть орто- гональны. Положим * м &(с«, С1,..., сп) = \ р (х) [Е (х) — У с, (х)]' ах. а 1—0 Так как § должно быть минимизировано, то ь м = о = — 2 $ Р (х)Ге (х) — 2 Ро] Р-/ (*) ’ а О ала ь Мб р (х) Р (х) р/ах = У с(- р (х) р(- р/ах. (17.9-1) а 0 а Если это свойство верно для всех М, оно должно быть верно и для (Л1 1) ь м+1 о 5 Р (X) Р (х) р./ (х) ах = У С1 \ р (х) р,р, ах. (17.9-2) а 0 а
Из (17.9-1) и (17.9-2) имеем ь СЛ1+Д Р (Х) Р'Л1~1 I1/ ^Х = 0 а для любого /, т. е. ;ху ортогонально р.Лй4 (а Л4 было произвольно). Таким образом, ортогональные функции, нахождение коэффици- ентов Фурье и идея приближения в смысле наименьших квадратов тесно переплетаются. § 17.10. Ортогональные многочлены Важным подклассом ортогональных функций является подкласс ортогональных многочленов, где А-й многочлен имеет степень к (А = 0, 1, ...). Легко показать, что /г-й ортогональный многочлен ук имеет к дей- ствительных различных корней в интервале интегрирования. Действи- тельно, предположим, что число различных действительных корней г к. Образуем произведение л (х) — (х — Х1) (х — х»)... (х — хг) (г к). Тогда ь $ р (х) к (х)ук (х) 0.x = 0 (р 0), а так как гс(х) может быть разложена по Уо_У1...уг, а ук(х) орто- гонально им всем. Но это невозможно, поскольку подынтегральная функция не меняет знак в интервале. Следовательно, на (а, Ь) су- ществует к действительных различных корней. Ортогональные многочлены ук (х) удовлетворяют трехчленному рекуррентному соотношению вида а1гУк+1 (х) + (рк — Х)ук (X) 4- Скук_1 (X)--------0 (к^ 1). (17.10-1) Чтобы показать это, положим у,, (х) = а{ х' -ф-... (а, > 0). (Выбор а; — некоторого положительного числа — есть дело только соглашения.) Тогда разность акУк^ — хук есть многочлен степени к при условии, что ак=-—. Следова- тельно, акУк~1— хук = }кук Д- -ц лУк-1 ~г. • • ~Г 7оД’о- (17.10-2)
Умножим это равенство на р(х)ут(х) и проинтегрируем. Получаем * р (х) (аА ук+1 — хук)ут (х) йх = 1т. (17.10-3) а Для т—0, 1,..., к функция ут ортогональна ук+ь а для т = 0, 1,...,к— 2 произведение хут есть многочлен степени, меньшей к, и, следовательно, ортогонально^. Таким образом, у0 =_2=0. Для т^к—1 равенство (17.10-3) принимает вид ь ь — \ ?Ук (-ЧУа-1) (1х = —\ рук 1~ук + с'к_1Ук-1 4-... ) ах= V л \ / а а ____---^-1 ), _ -у 1 — ~ '-к — Т*-1 'к-Ь “к используя (17.10-1), получаем Для т=:к (17.10-3) принимает вид (используя (17.10-1)) ь ь 5 Р (акУк^\ — хук)ук Лх~ ~\?ху2к ах = чк = Ьк. а а Таким образом, равенство (17.10-2) может быть записано в виде ^-Уй+1 — хУк = ЧкУк + Чк-1Ук.л ак+1 ИЛИ ,, __“йчлСТ* +х) ,, ак-1 ак+1 ^к /17 1ПЛЛ Ук+1 —------ДУк------------------Д—Ук-!- (17.10-4) ак ак лк-1 Из этой формулы следует несколько важных результатов. Пока- жем, прежде всего, что к нулей многочлена ук (х) разделены к — 1 нулями многочлена ук_! (х) при условии, что р (х) Дг 0. Доказатель- ство проведем по индукции. На первом шаге имеем у0 (х) ~ а0 4> 0 и у! (х) = Я1 (х 4- 7о). Как известно, уг (х) имеет действитель- ный корень в интервале интегрирования, так как * $р(х)^о (Х)ух (х)ах = 0. а Предположим, что нули ук(х) разделены нулями ук_1(х). В нулях Уй(хг) (17.10-4) принимает вид Ук+1 (х1)=- а-^~^ -ГТ-У к-1 (XI). (17.10-5) ак лк-1 В конце интервала х = Ь как у/ц^Ь), так и ук^(Ь) положительны, поскольку старшие коэффициенты выбраны положительными а.1 4> 0,
а все нули функции лежат внутри интервала. В наибольшем нуле ук(х1') — 0, положительно; следовательно, _14+1(х,) отрица- тельно в силу (17.10-5). В следующем по величине нуле_у*_1 по пред- положению индукции имеет другой знак, следовательно, ук+1 (х) поло- жительно, и т. д. По мере того как мы переходим от одного нуля ук к следующему нулю, многочлен ук+1 тоже меняет знак. Таким об- разом, мы показали, что нули ук (х) разделяют нули ук+1 (х), за ис- ключением наименьшего нуля ук+1 (х). Но так как мы показали, что- Ук+1(х) имеет А-ф-1 различных действительных корней на (а, Ь), по- следний нуль ук+1 (х) меньше всех нулей ук (х), и доказательство индукции закончено. Есть еще одно важное следствие трехчленных рекуррентных соотношений (17.10-1) или (17.10-2). Как только известны коэффи- циенты рекуррентного соотношения как функции к, а также >'о (ФФ и у1 (х), то можно последовательно вычислять ук (х) быстрее, чем громоздким методом Шмидта (см. § 18.2). § 17.11. Классические ортогональные многочлены Существуют три подробно исследованных множества ортогональ- ных многочленов: многочлены Лежандра, Рп(х) 1 5 Рт(х)Рп(х)с1х = -1 0, три, 2 2п -ф 1 ’ т = п, многочлены Лагерра, Ьп(х) ОО ( 5 е-А ^т(х)7.л(х)Фх = -! т п, т=п, и многочлены Эрмита, Нп(х) ОО 5 е~х~ Нт (х) Нп (х) йх = —ОО о, 2П/1!УГЪ т 0, т=п. Соответствующие им трехчленные рекуррентные соотношения (см. (17.10-4)) имеют вид (я -ф-1) Рп^ (х) — (2л -ф-1) хРп (х) -ф- п Рп_х (х) = 0, (л -ф- 1) Т-п+1 (х) — (2н + 1 — х) кп(х) -ф- л2 (х) = 0, (л >: 1 ) Нп+1 (х) - 2х Нп (х) + 2л Нп^ (х) = 0 , Много других соотношений, касающихся этих функций, можно найти в обычных работах. Нули многочленов Лежандра, например, оказываются узлами гауссовых квадратурных формул (гл. 10).
Соответственно этим ортогональным функциям, определенным для интегрирования, существуют ортогональные функции для дискретных множеств. Из них наиболее распространено множество функций, со- ответствующее полиномам Лежандра. Из соображений удобства ино- гда выбирают интервал — 1 ^х1^ 1, а иногда от 0 до 1 при равно- отстоящих узлах Х[, и читатель должен внимательно следить за тем, какое из этих множеств использовано в таблице. Упражнение 17.11-1. Если Ро = 1, Р,-=х, показать, что для — 1 1 Р3 = —Зх Р4 = у^Зэх4 —30х8+3^ § 17.12. Сравнение метода наименьших квадратов и разложения в степенные ряды Разложение в степенной ряд функции у (х) СО п=0 будучи усеченным до п ~0 дает очень хорошее приближение вблизи х = 0, но когда х возра- стает, это приближение имеет тенденцию ухудшаться. С другой сто- роны, метод наименьших квадратов пытается найти более или менее равномерное (в зависимости от весовой функции р (х)) приближение на интервале. И в этом состоит одно из основных различий: степен- ные ряды приближают в точке, в то время как наименьшие квадраты — на интервале. Когда дело доходит до непосредственных вычислений, то не все- гда возможно точно вычислить производную в точке, используя узлы, разбросанные по интервалу; в этом случае вместо усеченного ряда часто используют точно приближающий интерполяционный полином. В случае наименьших квадратов часто возникает возможность вы- бора. Можно представить себе, что имеются непрерывные ортогональ- ные полиномы, коэффициенты Фурье (интегралы) по которым можно вычислить каким-либо численным методом. В другом случае можно начать с дискретных узлов и вести вычисления, используя дискрет- ное ортогональное множество функций. Трудно сказать, какой из методов дает лучшие результаты в большинстве случаев. По всей вероятности, выбор зависит от обстоятельств, включая предпочтения лица, пользующегося результатами.
Нужно заметить, что при работе с рядами Фурье возможны два подхода, приводящих к совершенно одинаковым вычислениям. Эти подходы напоминают различные возможные взгляды на преобразова- ние системы координат в аналитической геометрии, о которых шла речь в § 1.1. Можно пользоваться любым из них, в зависимости от удобства, при условии, что мы всегда будем помнить о содержатель- ной стороне дела. § 17.13. Метод наименьших квадратов с ограничениями; продолжение примера из § 1.9 В примере, приведенном в § 1.9, мы строили интерполяционный многочлен по 11 точкам на отрезке [0, 1] с шагом И = 0,1, исполь- зуя интерполяционную формулу Ньютона. Благодаря результатам этих вычислений было создано новое лабораторное оборудование, позво- лившее собрать более точные и более обширные данные. Визуальное исследование данных показало, что результаты ап- проксимируются многочленом шестой степени, а график значений вблизи- точки х—1 имел наклон около 6, что, казалось, подтверждало эти исследования. «На радостях» был проведен многочлен методом наи- меньших квадратов, но результаты оказались никуда не годными. В точке х = 0 многочлен имел положительное значение, в то время- как эксперимент давал чистый нуль, после чего многочлен становился отрицательным, что физически невозможно. Наиболее простым оказалось отбросить свободный член много- члена. Член, содержащий х, отбросить было нельзя, поскольку из обсуждения с заказчиком выяснилось, что кривая не должна касаться оси х в точке х = 0. Вычисления, выполненные с учетом этих заме- чаний, дали вполне приемлемый многочлен, а остальная часть вычис- лений была столь же простой, как и раньше. Другой очевидный способ решения задачи аппроксимации этих, данных в точке х = 0 состоит в том, чтобы придать значению в этой точке большой вес, скажем 1000, а остальным значениям данных придать веса, равные 1. Существует много вариаций на тему наложения дополнительных условий на метод наименьших квадратов. Например, предположим^ что в точках а и Ь решение должно принимать два заданных значе- ния и аппроксимация ведется ортогональными полиномами. В этом случае можно использовать классический метод множителей Лагранжа., Если бы значения в точках а и Ь были равны 0, то многочлен Рп (х) можно было бы построить, используя весовую функцию (х— а)2 (х — й)2. Тогда (х) = — а) (х — Ь) Рп (х) будут ортогональными многочленами, проходящими через нуль в точ- ках х — а и х — Ь.
Упражнение 17.13-1. Показать, что в методе ортогональных полиномов из начальных данных можно так вычесть линейную функцию, что условия /' (а) = А и / (Ь) — В сведутся к условию С (а) = С (Ь) = 0. § 17.14. Последние замечания о методе наименьших квадратов Получив некоторое представление о проведении многочленов ме- тодом наименьших квадратов, читатель, возможно, ожидает, что автор перейдет к рассмотрению задач интегрирования и решения дифферен- циальных уравнений. Несмотря на реальность этого, метод наименьших квадратов редко используется в качестве основы при интегрировании. Интегрирование является процессом сглаживания. Если дифференциаль- ное уравнение имеет «шумовой член», то обычно его сглаживают, и после этого для интегрирования уравнений используют точно аппрок- симирующий полином. Другая идея, которая может возникнуть у читателя, но которая еще недостаточно изучена, состоит в следующем: в методе точной аппроксимации мы полагали До, Е\, ..., Ет^ — 0, а остальные Ет, Ет+1, ... оставляли теми, какие они есть. Предположим, что мы пы- таемся минимизировать выражение СО т (а0, Я1, ...) = У, акЕ1 й — о В процессе точной аппроксимации ат = ат,л = .. . = 0, но можно слегка изменить ак и таким образом повысить точность аппроксима- ции для более высоких степеней за счет точности более низких. Это можно рассматривать как предложение аппроксимировать в простран- стве ошибок, а не в пространстве функций. Подобная теория остаточ- ного члена еще в настоящее время не разработана. Примером незначительного уменьшения точности аппроксимации для некоторого значения к, приводящим к большему повышению точ- ности при более высоком значении к, является идея «отбрасывания», кратко рассмотренная в § 9.5 в связи с интерполяционной формулой Эверетта. В данном случае мы поступились небольшой точностью в хг с тем, чтобы намного улучшить аппроксимацию № и х4. ГЛАВА 18 МЕТОД НАИМЕНЬШИХ КВАДРАТОВ. ПРАКТИКА § 18.1. Общие замечания о многочленном случае Метод наименьших квадратов используется главным образом в тех ситуациях, где надо определить коэффициенты, входящие линейно, особенно как коэффициенты многочлена. Рассмотрим сначала именно такой случай, а затем перейдем к другим.
Как было указано в предыдущей главе, определитель нормального уравнения (17.5-4) обычно бывает очень мал; поэтому решение отно- сительно коэффициентов должно быть довольно неопределенным. Необходимо, однако, различать две вещи: точность коэффициентов и малость суммы квадратов ошибок. Если упомянутый определитель мал, то коэффициенты будут найдены плохо; тем не менее сумма квад- ратов ошибок может быть близка к минимуму. Вообще говоря, когда число определяемых коэффициентов не превосходит пяти-шести, пря- мое решение нормального уравнения обычно приемлемо; но при боль- шем их числе скорее всего встретятся трудности. По теории расширение системы ортогональных многочленов заме- няет прямое решение. Однако опыт показывает, что если проводить ортогонализацию при помощи процесса Шмидта, то возникнут те же трудности, хотя и в другом виде. В процессе Шмидта /п-й многочлен строится с помощью первых разностей всех компонент вектора хт, т. е. (х”, х™, ..., х^)> который лежит в направлении ранее опреде- ленных многочленов. Результат, как правило, бывает мал, если только т недостаточно велико, и в качестве последнего шага его еще требуется нормировать. Такое нормирование увеличивает ошибку, по- тому что нормирующий множитель обычно имеет величину, много большую единицы. Грубо говоря, затруднение можно выразить замечанием, что для больших п вектор хп направлен почти туда же, куда и х”-1, хл’2 и т. д. Таким образом, уравнения, ведущие к определителю Гильберта, почти линейно зависимы; отсюда этот определитель мал. § 18.2. Трехчленное рекуррентное соотношение Если все-таки пытаться использовать ортогональные многочлены, то, по-видимому, можно избежать затруднений, упомянутых в преды- дущем параграфе, используя для образования ортогональных много- членов трехчленное рекуррентное соотношение (17.10-2). Запишем (17.10-2) в виде р о (х) — 1 > Р1 (х) = Хр9 (X) — (X), Рк+1 О) = *Рк (х) — ак+1рк (х) — $к+1рк_1 (х), к > 1, (18.2-1) где аА+1 и рл+1 подлежат определению. Найдем сначала Известно что Ь р (х) ра (х)эт (х) с1х = 0. а
Отсюда по (18.2-1) ь ь $ р (Х) X Лх = «! р (.V) (IX. а а Предположим теперь, что известны р0(х), р\{х), рк(х) и что они взаимно ортогональны. Требуется вычислить следующий многочлен системы рк+1 (х). Потребуем сначала, чтобы 5 Р О) Рк--л (х) рк (х) йх = 0, $ р (х) рк^ (х) рк^ (х) Лх = 0. Этого достаточно, чтобы определить ая+1 и {Зя+1. Используя определе- ние рк+1 (х) (равенства (18.2-1)), получаем § р (х) хр2к (х) Лх = аА+! р (х) р1 (X) Лх + ^+1 р (х) рк (х) рк_1 (х) о!х, $ Р (-^) хрк (х)рк_л (х) Лх = =«л+1 Р (х)рк (х)рк_1 (х) Лх 4- Р (х)р1-1 (х) Лх. Поскольку рк(х) и рА-1(х) ортогональны, имеем (Р (х) хр| (х) ах Ср (х) хрк (х) рк__[ (х) ах аМ — ~е------------------. ₽А+1 = --г-----------------. $ р (х) р% (х) ах $ ? (х) _ 1 (х) ах Знаменатель выражения для рА+1 был уже вычислен на предыду- щем шаге, когда определялось аА(х); таким образом, на каждом шаге надо вычислить три интеграла. Ортогональность полученного многочлена дь+1 (х) всем р1 (х) —1) следует из равенства (18.2-1) Рк+1 (х) = хрк (х) — а.к+1Рк (х) — $к±1Рк_1 (х), поскольку, умножая его на р(х)д;(х) и интегрируя, получаем $ Р (х) Рк (х) [хр1 (х)] Лх — аА+1 р (х)рк (х)р{ (х) Лх — — Рл+1 $ Р (х) Дц (х) р1 (х) Лх = 0. Два последних интеграла равны нулю в силу ортогональности, а в первом хр;(х) есть многочлен степени меньшей, чем А; поэтому этот интеграл тоже равен нулю. Если попытаться построить многочлены на дискретном множестве точек X; (/—1, IV), то интегралы заменятся суммами. Если пытаться строить более многочленов (т. е. сверх р^ (х)), то урав- нение, определяющее выродится, как и должно быть. Упражнение 18.2-1. Ортогонализировать систему многочленов 1, х, х2, х3 на интервале О^хгёД, используя трехчленный рекуррентный метод.
§ 18.3. Построение квазиортогональных многочленов Прямой подход приводит к нормальной системе уравнений, у ко- торой есть ненулевые члены вне главной диагонали. Использование ортогональных многочленов приводит к уравнениям, у которых все члены вне главной диагонали равны нулю; поэтому решение системы тривиально. Если строить ортогональные многочлены процессом Шмидта (или при помощи трехчленного рекуррентного соотношения), но опре- делить их неточно, то у окончательных уравнений, которые придется решать, будут большие члены на главной диагонали, тогда как члены вне диагонали пропорциональны отклонению от ортогональности. Если оно невелико, то система уравнений совсем легко решается. Это на- водит на мысль попробовать построить квазиортогональные много- члены, не делая больших вычислений. Насколько мы их сделаем ор- тогональными, настолько члены вне главной диагонали системы нормальных уравнений будут нулями, и наоборот, насколько мы оши- бемся в ортогональности, настолько они будут далеки от нуля. Размышления на эту тему приводят к мысли, что основное свой- ство, которое надо постараться сохранить, есть свойство чередования корней. Выберем первый многочлен равным единице, р0(х) = 1. Вторым выберем прямую подходящего наклона и, кроме того, с нулем, близ- ким к середине нашего множества точек. Дальше выбираем параболу, нули которой лежат по разные стороны от нуля прямой, и т. д„ на каждом шагу выбирая нули следующего многочлена так, чтобы они разделялись предшествующим многочленом, а также оставляли место для следующих многочленов. Пока мы не пытаемся построить много- член степени, близкой к степени многочлена, проходящего через все наши точки (а это бывает редко, если бывает вообще), у нас есть достаточно свободы, чтобы выбрать корни в удобных местах, сделать удобными коэффициенты многочленов и тем самым облегчить бремя промежуточных вычислений. Опыт работы по этому методу показывает, что он весьма эффек- тивен; обычно недиагональные члены системы уравнений очень малы и уравнения легко решаются. Упражнение 18.3-1. Рассмотрите квазиортогональные многочлены 1 / 9 \ р=1; р0=1; Р1 = Х1, р2=х2 — — -, ц3 = х(ха—уШ. § 18.4. Немногочленный случай Иногда бывает дана система функций (х) и требуется прибли- зить по методу наименьших квадратов некоторые данные функцией /(х) вида / (х) — а1/1 (х) ~Ь + • • • + (-*•)
Действуем как и раньше. Записываем ошибку ег в точке х, и обра- зуем сумму квадратов. Затем дифференцируем по коэффициентам (которые являются переменными задачи). Получившиеся нормальные уравнения формально подобны уравнениям в многочленном случае, за исключением того, что теперь определяются А, / = $/,* = 2 Л (хг) А (хй Тк = % / А I I Если функции А (х) сильно линейно независимы, т. е. ни одна из них с единичным коэффициентом не может быть выражена как линей- ная комбинация остальных плюс малая поправка, то можно ожидать, что удастся решить нормальные уравнения без больших затруднений. Если они близки к линейно зависимым, то можно использовать похо- жую схему ортогонализации, хотя здесь, вообще говоря, не будет ни- какого трехчленного рекуррентного соотношения и квазиортогональ- ный метод может оказаться трудно изобразимым, если у Д (х) много нулей. § 18.5. Нелинейные параметры Часто случается, что теория дает вид формулы, которой должны удовлетворять некоторые данные, и эти данные должны использо- ваться для определения коэффициентов формулы, применяя критерий наименьших квадратов. Например, предположим, что данная формула такова: у (х) — а Ьесх, (18.5-1) и следует определить а, Ь, с так, чтобы для данных (х;, у^ (1=1,... ..., Ы) х У, [ VI — (а 4- Ье х’1')^ = Ш1П = т. (18.5-2) 1 = 1 Если продифференцировать по а, Ь, с соответственно и приравнять производные нулю, получатся уравнения, которые трудно решить. Предположим, что данные нанесены на график и примерно опре- делено, что с = сх. Теперь можно определить а и Ь обычным спосо- бом. Затем можно вычислить т^) из (18.5-2) для этого значения с. Далее, попробуем какое-нибудь другое возможное значение с = и снова вычислим т = т(с.г). Исследование этих двух значений с | т (с) с2 т (с3) подскажет (по линейности) новое значение с, скажем с3.
Таким способом можно приблизиться к минимальному значе- нию т (с). Детали стратегии.поиска будут обсуждены позже. Очевидно, однако, что мы проделаем много больше вычислений по сравнению с тем случаем, когда все определяемые параметры входят линейно. Чем больше параметров входит нелинейно, тем больше вычислений требуется, чтобы найти приближение способом наименьших квадратов. Опыт показывает, что, когда число нелинейных параметров достигает четырех или пяти, процесс может быть крайне мучительным и мед- ленным. ГЛАВА 19 МНОГОЧЛЕНЫ ЧЕБЫШЕВА § 19.1. Введение Ряды Фурье имеют много замечательных свойств. Отметим сле- дующие из них: 1. Каждая функция является равноколеблющейся, т. е. чередую- щиеся максимумы и минимумы одинаковы. 2. Одни и те же аналитические выражения (синусы и косинусы)1 ортогональны как на непрерывном, так и на дискретном множестве равноотстоящих точек (гл. 6). Чтобы увидеть, насколько замечательно второе свойство, рассмот- рим многочлены Лежандра Рп(х). Если первые т из них, т = 0, 1,... ..., п—I должны быть ортогональны на дискретном множестве точек, то чтобы определить положение п узловых точек (разрешая любое их расположение), понадобятся п уравнений п I = 1 Нежелательность этого уже для не слишком больших п очевидна. Это не значит, конечно, что нет системы многочленов, ортогональных на данном множестве, но члены этой системы зависят, вообще говоря, от п — числа используемых точек. Когда п стремится к бесконечно- сти, члены системы, ортогональной на дискретном множестве точек, стремятся к соответствующим членам системы, ортогональной на не- прерывном интервале. В классе ортогональных функций подкласс ортогональных много- членов имеет ряд особых свойств: 1. Они удовлетворяют трехчленному рекуррентному соотношению. 2. Их легко вычислять и превращать в степенные ряды. 3. Их нули разделяют друг друга. 9 Р. В. Хемминг
Многочлены Чебышева обладают всеми свойствами как рядов Фурье, так и ортогональных многочленов, они и являются, в сущности, функциями Фурье сок л9, замаскированными простым преобразованием переменной 9 = агссоз х. (19.1-1) Таким образом, многочлены Чебышева естественным образом играют уникальную роль среди ортогональных функций. Выражение Фурье для ортогональности становится таким: соз т 9 соз п 6 о!9 = -{у 0 I I тс (от п) 1 (т == п ф 0) = Тт (х) Тп -Ч И 1 — х (т — п — 0) ] (19.1-2) 9 0 х-1 соз т 0/ соз и 9у- = у {т ф п) (т = п 0) лг-1 = 2 Тт(х^Тп^). /=о Здесь обозначено *) Тп (х) = соз (п агссоз х) и использована ортогональность соз пх на интервале (0 *Схк) (см. § 6.7). Покажем, что 7 „ (х) — многочлен. По теореме Муавра соз л9 1 з1п «9 = (соз 0 -ф-1 зш 6)". Разлагая бином, взяв действительные части с обеих сторон и заменив четные степени зш 9 из (зш3 6)* = (1 — соз3 й)Ф видим, что соз пб есть многочлен степени п от соз 9. Но соз (агссоз х) — х, отсюда Тп (х) = соз (п агссоз х) есть многочлен степени п от х *) Обозначение Тп (х) происходит от французского написания фамилии Чебышева (ТзсйеЬусЬеН).
Преобразование (19.1-1) можно рассматривать как проекцию пе- ресечений полукруга с множеством прямых, имеющих равные углы между собой [рис. (19.1-1)]. Таким образом, множество точек х^ на чае (см. (19.1-2)) весовой функцией - Таким образом, почти выполняется свойство 2 рядов Фурье; у 1 — х-’ пришлось только отказаться от равномерного расположения узловых точек. Поскольку многочлены Тп (х) есть, по существу, соз лО, то они тоже являются равноколеблющимися функциями, и поскольку они мно- гочлены, они обладают всеми свойствами ортогональных многочленов. § 19.2. Некоторые тождества Многие свойства многочленов Чебышева следуют из соответствующих тождеств для тригонометрических функций. Например, тождество соз («-]- 0 б-р соз (п—1) 9 — 2 соз 9 соз л9 становится, согласно (19.1-3), равенством Тп+1(х)-\-Тп_!(х)=2хТп(х) (и^1), (19.2-1) которое является трехчленным рекуррентным соотношением, соответ- ствующим (17.10-1). Из тождества соз (/и п) 0 -ф- соз (от — п) 9 = 2 соз »г9 соз л9, получаем Тщ+п О) + Тт_п (х) = 2 Тт (х) Тп (х). Полагая т = п, имеем равенство Лл(х)=2П(х)—1, (19.2-2) которое иногда полезно для получения одного многочлена высокого порядка. 9’
Из (19.2-1) легко вывести, что старший член многочлена Тп(х) имеет вид Тп(х)=2п (я^1), То (х) =1 (я — 0) (19.2-3) и что 1 п (х) — многочлен четной или нечетной степени соответственно тому, четно или нечетно п. Поскольку Тп^ ~ соз [(п 4~ 1) агссоз х] имеет производную 1 ____— вт [(я 4- 1) агссозх] «4-Т ах _/1 _л-2 ’ то I атм___________I атп^ ^п+\ г'п-\ я-|-1 <х': п — 1 "+1 п — 1 ___ нт (п —1) 9 — 81П (я — 1)9 _ 2 соз я9 кт 0 _С192 4) ' 81П 6 81П О п- \ ) Если переписать это равенство в виде / Г п -^ = 27’„_14-—Ц- (я >2), то приходим к выражениям: = 2 (Т3п_! + ТгпЛ 4~ •.. + 7~1), г (19-2-5) ъ~гту — 2 (+ Т^п-л 4- Тъп-л + • • • + Та) + 1 для четного и нечетного случая соответственно. Упражнения 19.2-1. Вывести равенство (19.2-5). 19.2-2. Используя (19.2-1), доказать хПп(х')^к^-{к-' 2) Тд+А-з + С (к, 2) 74+^.3 4-... 4- 74-й 19.2-3. Доказать Т.ш (*).= 2Так _ + 2Тгк_4 _ ... + т0. § 19.3. Критерий Чебышева Чебышев показал, что из всех многочленов Рп(х) степени п со , . . Тп (х) старшим коэффициентом 1 у многочлена -^=1 - точная верхняя грань абсолютных значений на интервале (—1гСх<.1) наименьшая. По-
скольку верхняя грань | Тп(х)\ равна 1, указанная верхняя грань 1 равна 2>рг. Доказательство этого замечательного свойства вытекает из рас- смотрения разности которая есть многочлен степени (п — 1) (так как члены хп уничто- жаются [см. (19.2-3)]). Из того факта, что Тп(х) есть сов пЬ, видно, что 7~я(х) в интервале (—1 х 1) принимает свое экстремальное значение и-|-1 Раз’ п0 очереди положительным и отрицательным. Если экстремальное значение у Рп(х) меньше, чем у ся1 (х), то в этих д-1-1 экстремальных точках <ря_,(х) по очереди положительно и отрицательно; следовательно, у нее должны быть п действительных корней между этими точками. Так как »яЛ(х) имеет степень п—1, Т (х) то можно заключить, что <ря_л (х) — 0 и Рп (х) = • Это свойство представляет большой интерес в численном анализе. Если какая-либо ошибка может быть выражена многочленом Чебы- шева степени п, то любое другое выражение для ошибки в виде многочлена степени п, имеющего тот же самый старший коэффи- циент, будет иметь на интервале (—1й^х^1) бблыпую макси- мальную ошибку, чем чебышевское. В соответствии с этим, «чебышевским приближением» называют такое *), при котором стре- мятся свести к минимуму максимум ошибки. Иногда это называют «принципом минимакса». Приближение в смысле наименьших квадра- тов уменьшает среднюю квадратичную ошибку, но при этом допу- скает отдельные большие ошибки; чебышевское — уменьшает экстре- мальную ошибку, допуская большое среднеквадратичное отклонение. В качестве простой иллюстрации рассмотрим задачу интерполяции многочленом степени п на интервале (—1^х^1). Остаточный член (8.6-1) имеет вид (х —х,)(х —ха) ... (X — хя+1)уп+11 (х) («4-1)1 Если мы хотим минимизировать максимальное отклонение за счет множителя (х — х2)(х— х,2) ... (х — хя+1), то нужно выбрать узло- вые точки в нулях многочлена Тп+1 (х). Тем самым множитель, кото- рый легко контролировать, будет равноколеблющимся многочленом с наименьшим максимальным отклонением. *) Чебышевское приближение не следует путать с чебышевским ин- тегрированием; существует довольно много разнообразных идей, носящих его имя.
§ 19.4. Экономизация Другой простой, но очень важный пример использования чебы- шевских многочленов — процесс «экономизации» *), принадлежащий в основном Ланцошу. Пусть дан отрезок степенного ряда функции У (х) — Оо —а^х —а^хг —... —<л^х^' (19.4-1) в интервале (—Для степенного ряда ошибка обычно бывает 'велика на концах интервала и мала в середине. Процесс экономизации начинается с того, что мы, используя таблицу 1 =тй, ^ = 1(37-0 4-47,+ 7Д, х = 7), х2=4(г0+ х’ = 1(10Л + 57-з+7-в), (19.4-2) х3=|(ЗТ1 + Г3), превращаем степенной ряд в разложение по многочленам Чебышева У(х) = ^4-/>1Г1(х) + ^ОД+ ... +Ь^(х). (19.4-3) Это — разложение по ортогональным многочленам. Для широкого класса функций разложение по чебышевским многочленам сходится много быстрее, чем по любой другой системе ортогональных много- членов (обоснование этого см. в § 19.5). Таким образом, мы надеемся, что Ьк в формуле (19.4-3) убывают много быстрее, чем ак в (19.4-1). Для иллюстрации рассмотрим пример, достаточно простой для того, чтобы его легко можно было просчитать: у.2 у~1п(1 +х)^х + Используя (19.4-2), получаем У=Т\-4(7о+Л)Ч-1(ЗЛД-7’3)-1(37() + 4'Д+ Л) + 4-1(107'14-57’з+ Г8)==-Ц 70Н-у Л(х)--|- Га(х) + Ч-^д^зС*7)— 32 ЛМ Ч-дд Т8 (х). (19.4-4) В интервале (0 ххх 1) отбрасывание последнего члена степенного ряда (19.4-1) дает изменение на 1/5 (для х — У), в то же время *) В русском переводе книги Ланцоша (Практические методы приклад- ного анализа, Физматгиз, М., 1961) этот метод назван «телескопическим сдвигом путем последовательного сокращения». (Прим, ред.)
отбрасывание трех последних членов (19.4-4) даст изменение меньше чем на 7 , I , I _ 19 1 48 '32 ‘8015 • 32 ^5^’ так как |Т*(х)| «С 1 на интервале (—1^х<1). Таким образом, можно представить ^ = 1п(1 +х)^~7-04-Нт'1(х)--|-Г3(х) многочленом второй степени в чебышевской форме более точно, чем соответствующим отрезком степенного ряда. Чебышевское разложе- ние можно снова превратить в многочлен по таблице Тц = 8х^~ 8х‘М- 1, . Т, — х, Тъ= I бх8 — 2х3 4- 5х, о (19.4-5) 7\ = 2х2 — 1, ................. к Т3— 4х3 — Зх, Итак, у = 1п(1+х)^-^4-^х-|(2х?-1) = + ~ (0<х^1). Вообще говоря, можно ожидать, что степенной ряд, состоящий из большого числа членов, превращенный в чебышевское разложение, дает приближение многочленом значительно меньшей степени, так как можно отбрасывать много последних членов чебышевского разложе- ния без большого увеличения ошибки по сравнению с тем, что давал первоначальный отрезок степенного ряда. § 19.5. Механизация процесса экономизации Описанный процесс экономизации использует таблицы (19.4-2) и (19.4-5). Первая из них — просто хорошо известное тригонометриче- ское тождество , ^к /е‘в-4-е'гвХ 1 . . <СО8 0/=Ц—Е Г егА° -ф- е-'*0 (й-8> 0 е-Н»-8) 9 $ еий-4>0 _^_е-(<й-4>0 -1 X 2 2 Ь2 * + • » где последний член С™ соз 0, если к — 2пг -ф- 1, X С®, если к = 2т. 4. К
Можно построить обе таблицы последовательно, используя равен- ство (19.2-1). Однако, вместо того чтобы использовать таблицы, по-видимому, лучше запрограммировать этот процесс простым спо- собом. Один такой способ основан на подстановке х=соз9 в пер- воначальный степенной ряд х м У=% акхк=^аксо&к^ = й=0 к=0 = ао с°8 9 {а1 созб [а2 4~ созб • а^)...]}. Начиная с тривиального ряда Фурье в круглых скобках ам-1 “Ь ам с08 ® и умножая на соз 9, получим у 4~ ал--1 соа 9 + у ах соз 29, т. е. снова ряд Фурье. Вообще, если на Л-м шаге был ряд Фурье 4~а*й) соз 94~а(к} соз 29 4~... 4~а(к} соз ^9, то, умножая на соз 9, получаем '*) / \ /М а№\ а{.к} -и 4- а(А) 4- соз 9 4- (-А- 4- СО8 29 4- ... 4- соз (к 4- 1) 9, т. е. снова ряд Фурье, но содержащий один член более высокого порядка. Иными словами, нулевой коэффициент А-го шага входит, на (к -ф- 1)-м шаге как слагаемое в коэффициент при соз 9; каждый коэф- фициент (кроме нулевого), деленный пополам, входит как в следую- щий, так и в предыдущий член по отношению к тому месту, где этот коэффициент стоял на /г-м шаге. Этой простой процедуры достаточно, чтобы вычислить коэффи- циенты чебышевского разложения из разложения в степенной ряд. Отсюда видно, что а А --- X "х—2ЛГ-1 • Грубо говоря, если рассматривать коэффициенты как массы, то этот процесс обладает свойством сохранения масс. Более детальное рассмотрение этого процесса показывает, что 1)к для больших к стремятся к нулю быстрее, чем ак. Хотя это и оправ- дывает утверждение, что чебышевское разложение обычно сходится быстрее, чем степенной ряд, но не доказывает его.
Весь процесс может быть выведен непосредственно из рекуррент- ного соотношения (19.2-1), записанного в виде у'Л.+1 Ту Л^>1, хТ0= 7), п= 1, но наш вывод показывает также, как от разложения в степенной ряд перейти к соответствующему ряду Фурье. Переходя теперь к процессу экономизации, рассмотрим коэффи- циенты Ьк чебышевского разложения и отбросим все те суммы, которые меньше допустимой ошибки (вместе с ошибкой отрезка степенного ряда). Чтобы снова получить многочлен, обратим описанный выше про- цесс. Это обращение возможно, так как старший член возникает только в одном месте предыдущей строки. Отправляясь от старшего члена (А-|- 1)-й строки, мы можем вычислить старший член к-й строки. Заметим, что этот последний член влияет на второй с конца член к-л строка а (к+1)~я строка Рис. 19.5-1. Процесс перехода к многочлен- ному виду. {к 4- 1)-й строки. Возьмем затем соседний член с меньшим номером и продвинемся к началу строки (рис. 19.5-1). Последний шаг опре- делит соответствующий коэффициент степенного ряда а<*>. Как на прямом, так и на обратном шаге сумма коэффициентов сохраняется и это может служить контролем в конце, поскольку лг А’ У ак = 2 Ьк- к=0 к=« Последнее равенство легко получить, полагая х—1 (Тк(х') = 1). Итак, процесс экономизации легко механизировать без использо- вания обширных таблиц. Упражнение 19.5-1. Нарисуйте блок-схему процесса экономизации. § 19.6. Смещенные многочлены Чебышева Часто удобно вместо интервала — 1 =^х^1 использовать интер- вал 0=^Л‘^1. Для этой цели употребляются смещенные многочлены Чебышева Т*(х)=Тп(2х—1). (19.6-1)
Имеем Го(х)=1, Г1*(х) = 2х—1, Т* (х) — 8х‘ — 8х + 1, Т* (х) = З2х3 — 48х3 + 18х — 1, Т* (х) = 128х4 — 256х3 + 160№ — 32х + 1, 1 = Д*, х =|(7'0*+т1*)> х^1(37'о+47'?+ 7?)’ х3^1(1О7'о*+ 1577 + 67?Т?), О Л х!' == 128(35 П + 56 71 + 2877 + 8 7? + П), Имеются более подробные таблицы *). Для смещенных многочленов Чебышева справедливо рекуррент- ное соотношение (х) = (4х - 2) Т* (х) - 7?_1 (х), П = 1, или хП(х) = ^7-*+,(х) + 17-*(х)+у Т+Дх), (19.6-2) где Т„ (х) = соз [л агссоз (2х — 1)] = 7„ (2х — 1). (19.6-3) Упражнения 19.6- 1. Примените смещенные многочлены Т* к примеру § 19.4. (Для второ придется продолжить таблицы Т* (х) и хп на одну строку.) 19.6- 2. Проследите механизацию (процесса экономизации) для смещен- ных многочленов Т*{х), как в § 19.4 [используйте равенство (19.6-2)]. 19.6- 3. Найдите для сдвинутых многочленов равенства, подобные (19.2-5). § 19.7 т-процесс Ланцоша Еще один прием использования многочленов Чебышева предложил Ланцош. В основе т-процесса для решения линейных дифференциаль- ных уравнений с полиномиальными коэффициентами лежит простая, *) ТаЫез о! СНеЬуэЬеу Ро1упопна18 8п (х) апб Сп (х), Май. Виг. 51апйагс|8 (II. 8), Арр1. МаШ. 8еоез 9, 1952.
но важная идея. Обычно бывает трудно найти ошибку вычисленного решения задачи, но на обратный вопрос: «для какой близкой задачи только что вычисленный ответ был бы точным решением?» — отве- тить часто нетрудно. Это — один из ответов на четвертый основной вопрос § 7.1 «.что есть точность?», и во многих случаях это — правильный ответ. Чтобы проиллюстрировать т-метод, предположим, что дано обык- новенное дифференциальное уравнение У4-у = 0; у(0)=1, и решение ищется в виде многочлена, т. е. мы надеемся оборвать степенно’й ряд, которым выражается решение. Очевидно, никакой многочлен не будет точно удовлетворять этому уравнению. Рассмотрим малое изменение правой части, прибавив к ней многочлен Чебышева, обозначая через т величину максимального изменения Чтобы легко было проследить все вычисления, положим л = 4 и попробуем найти многочлен у а =|— Ьх ~ф- сх~ —йх* ех\ Приравнивая коэффициенты при одинаковых степенях х, получаем Ь а ~ т, 2с + Ь ~ — 32т, Зй-|~с = 160т, 4е -1- (I = — 256т, е~ 128т. Начальное условие дает а=1. Отсюда последовательно получаем Ь = т — 1, 1 —33т « = | (- 256, + —= й <> ~ 1 «в®'). 128, = ±(1 - 1889,). , = <±7. Итак, ошибка, которая была внесена в первоначальное уравнение, равна 1 | 4961 |г5=4961’
и для нового уравнения имеем точное решение , 4960 , 2464 » "68 , 128 , 4961 4961 Х 4961 Х + 4961 Х ' Сравним это с решением в виде степенного ряда у которого максимальная ошибка примерно 2____I 51 — 120' В нашем случае легко оценить ошибку, происходящую от добавления чебышевского члена в дифференциальное уравнение, У+>' = тП(х), у(х) = е~х-1 4-те'-*' $ (0) е* (19. о Для 0<х<1 справедливо неравенство |у — е~х 5 | ъГх $ П (9) еЧ9 [ -.ех \еЧ9 = т(1 — е'А) о о ^^^1,34Х.1О- 1 полученное значение много меньше Мы привели лишь простой пример х-метода. В книге Ланцоша [23] содержится гораздо более широкое его изложение. Однако основная идея та же: мы слабо меняем условие задачи и получаем точное решение этой новой задачи. Поскольку в этом случае меняются условия первоначальной физической задачи, нам это обычно легче истолковать, чем какое-нибудь приближение, сделанное в ходе численного решения, т-метод показывает, как важно аккуратно отве- тить на четвертый основной вопрос: «.что есть точность»} Упражнение 19.7-1. Применить т-метод к уравнению ху"-ф-у = 0; у (0) = 0, у' (0) = 1 для (0 --г: х йг 1), полагая и = 4. § 19.8. Видоизменение т-метода Предположим, что, вместо того чтобы действовать как Ланцош, мы пытаемся решить задачу в лоб и представляем решение диффе- ренциального уравнения (с полиномиальными коэффициентами) в виде ряда по многочленам Чебышева ОО И*) = Е акТк{х). л=о
Тогда ОО У(^) = 5 а^т'^х), /?=0 и можно использовать (19.2-5), У(* *)=2^127*-1 + 27'*-з + +(2РЯ*) (19.8-2) ь=о 1 ' и такие же выражения для старших производных, чтобы исключить все производные. Затем используются равенства (19.2-1) X Тп (х) = 1 [ Тп+1 (х) + /•„_! (х)] (19.8-3) и такие же выражения для хкТ%(х) (см. упражнение 19.2-2), чтобы исключить все степени х. Таким образом, мы приходим к ряду по чебышевским многочленам 7\(х). Метод приравнивания коэффициен- тов при одинаковых степенях’ х в обеих частях тождества по х основывается на том, что разные степени х линейно независимы. Раз уж производные и члены с х исключены, т. е. имеется разло- жение лишь по Тп то можно также приравнять коэффициенты при одинаковых чебышевских многочленах. Следовательно, можно дей- ствовать так, как если бы имели дело с разложением решения в сте- пенной ряд. Оборвав ряд, получим ошибку, примерно равную первому отброшенному многочлену Чебышева. Мы можем сделать этот оборванный ряд точным решением, при- бавляя к правой части такие многочлены Чебышева, чтобы все члены уничтожились. Результат будет тот же, что и в описанном ранее т-методе, но этот метод более гибок в вопросе о том, где оборвать решение. Метод описан в терминах стандартных многочленов Чебышева; так же хорошо это можно сделать для смещенных многочле- нов Т* (х). Две формы одного и того же т-метода приведены, чтобы подчерк- нуть то обстоятельство, что если нужно получить ошибку в виде многочлена Чебышева, то, по-видимому, лучше начинать с предста- вления решения в виде ряда по многочленам Чебышева, а не смеши- вать обыкновенные и чебышевские многочлены. Нужные тождества между многочленами легко найти. /2Г \ *) Символ ! в данном случае означает, что последним слагаемым может оказаться либо 2 Г, (при четном к), либо 1 (при нечетном я). (Прим, ред.)
Упражнения 19.8-1. Изложите видоизмененный т-метод, используя смещенные много- члены Чебышева Т* (х). 19.8-2. Показать, что ( 7(, (х) Лх— Т\ (х), ( Г1(х)4/х = -^-Г2(х), т. е. что интегрирование может быть выполнено непосредственно в много- членах Чебышева. 19.8- 3. Провести вычисления для примера у' —у § 19.7 прямым т-мето- дом, как в § 19.8. 19.8- 4. Применить прямой т-метод к упражнению 19.7-1. § 19.9. Несколько замечаний о чебышевском приближении Чебышевское приближение вызвало некоторый переполох среди тех, кто занимался вычислением таблиц, где важно лишь точно знать максимальную ошибку. Так, вместо того чтобы использовать для ин- терполяции многочлены, проходящие через заданные точки, было предложено делать таблицы, использующие для интерполяции чебы- шевские многочлены. Чебышевские приближения и приближения по наименьшим квад- ратам могут быть объединены в рамках одной идеи. Предположим, что мы минимизируем функцию к тид = ( У, . 1=1 Дляй = 2это— метод наименьших квадратов, для к — оо— метод Че- бышева. Этот факт приводит к другой точке зрения на чебышевское приближение. Найдем сначала приближение методом наименьших квадратов. Затем, используя квадрат ошибки как весовую функцию, снова найдем приближение по наименьшим квадратам. Четвертую степень новой ошибки используем как весовую функцию и повто- рим все снова. Таким способом мы постепенно приблизимся к т . Разложение по многочленам Чебышева дает взвешенное прибли- жение по наименьшим квадратам. Если это разложение сходится до- статочно быстро, то первый отброшенный член можно рассматривать как ошибку чебышевского приближения. В любом случае такое раз- ложение дает приближение в чебышевском смысле (см., § 19.3). § 19.10. Критерий совпадения моментов До сих пор мы рассматривали три критерия выбора из класса многочленов конкретной функции для использования ее вместо дан- ной в аналитических операциях:
1) совпадение в узловых точках, 2) наименьшие квадраты, 3) чебышевское или минимаксное. Еще один критерий, который уже был использован в § 2.9 и кото- рый широко применяется в статистике, — это подбор приближающей функции по совпадению нескольких моментов. В статистике употреб- ляются обычно центральные моменты (кроме первого), но если все моменты до А-го совпадают, то и центральные моменты тоже совпа- дают, так что мы получим один и тот же' результат, используются ли «моменты» или «центральные моменты», хотя ошибки округления мо- гут быть совсем разными. Эта концепция представляет великолепный пример способа выбо- ра критерия. В статистике моменты используются часто; отсюда яс- но, почему совпадение моментов при подстановке одной функции вместо другой есть, вероятно, хорошо выбранный критерий для ста- тистических задач. В качестве примера метода совпадения моментов рассмотрим ап- проксимацию функции е х* 2а2 квадратным трехчленом. Как правило, у (х) представляет распреде- ление вероятностей и, конечно, ОО ^у (х) с1х = 1. Если взять два первых члена разложения в степенной ряд (только там, где парабола выше оси х), то полная вероятность приближения не была бы равна 1. Таким образом, мы должны отказаться от приближения степен- ным рядом и выбрать параболу вида у0 = А (1 — 1Ах~) ~ ух по совпадению моментов. Моменты первоначального распределения +°° _ ^2 у^\^хе йх=тк —СО дают тЛ— 1, //гх = О, =
Для приближения получаем 1-й (• , / г*+< , г/г+з \ 11/6 тк = А \ х‘‘—Ь-х'^(1х = А[-1—г~.--------г^-) = 4 \«+1 й-4-3 ] -г* -1/4 _ 2/1 [1+(-!)*] — й*+1(й + 1) (й + З)- Отсюда - 4А - „ - 4Л /Я«=ЗЙ' т' =0’ следовательно, 1=14 Зй 4А 15й3 * Отсюда Итак, парабола а]/5’ 4а/5 ' приближает нормальное распределение, сохраняя нулевой, первый и второй моменты. ГЛАВА 20 РАЦИОНАЛЬНЫЕ ФУНКЦИЙ § 20.1. Введение До сих пор предполагалось, что между узловыми точками функ- ция ведет себя как многочлен. В этой главе мы будем предполагать, что функция ведет себя как отношение двух многочленов, обычно называемое рациональной функцией. Рациональная функция обладает фундаментальным свойством ос- таваться рациональной при переносе и растяжении независимой пере- менной. Рациональные функции обладают рядом свойств, часто тре- буемых от приближающей функции, которой мы собираемся заме- нять данную в аналитических операциях. Наиболее важно, что ра- циональными функциями можно приближать такие, которые прини- мают бесконечные значения для конечных значений аргумента. Другое свойство — то, что ими можно приближать прямые ли- нии, главным образом ось Ох для больших значений х, чего нельзя сделать нетривиальным многочленом. Рациональные функции легко и
быстро считаются вычислительной машиной. Поэтому их часто ис- пользуют, чтобы получить приближение для вычисления более слож- ной функции. Для этих целей, вероятно, нужен чебышевский тип ми- нимаксных приближений. Теория аппроксимации рациональными функциями находится в за- путанном, но быстро развивающемся состоянии; мы дадим о ней толь- ко самое общее представление. Одна из причин, по которой мы не будем слишком глубоко заходить в нее, — та, что среднему вычисли- телю едва ли придется сделать в год много рациональных прибли- жений, и более эффективный метод, позволяющий сберечь несколько секунд работы машины, по-видимому, не стоит в элементарных слу- чаях затраты времени вычислителя. § 20.2. Непосредственный подход Пусть дана функция, по которой можно вычислять узлы (х{, у{) или сами узлы и требуется подобрать по этим данным рациональ- ную функцию, ф=/(х) О(х) ’ где Л?(х) и 7)(х)— многочлены. Сначала решим, какого вида мно- гочлены следует искать. Пусть в частном случае нанесение на гра- фик точек (1о§ Х[, 1о§фг) дало для малых х,-^>0 наклон, примерно равный 3, откуда мы заключили, что надо попробовать Л7 ==/(*) ах‘ -ф ... 1+- Для больших х точки (х,-, ф,) легли примерно на прямую с поло- жительным наклоном. Это значит, что степень Л7(х) должна быть на 1 больше степени О (х). Обозначим степень О (х) через к. Тогда ф=/(х) ___ О3х3 + а4х* + • • • + Ок+1Хк+1 1 -+-Ь±х-+-Ь2х* + •..Э-йдХ* ’ (20.2-1) Остается выбрать показатель степени к. Трудно сказать, как именно выбирать к; единственное, что можно посоветовать — принять во вни- мание получающееся число параметров относительно «сложности» (субъективно) данных. Когда к выбрано, становится известным число параметров. Заме- тим, что можно фиксировать один коэффициент, так как встречается только отношение к/(х~) и О(х), следовательно, один коэффициент (заведомо ненулевой) должен быть зафиксирован *). Мы выбираем *) Практически обычно лучше выбрать единицей старший коэффи- циент числителя или знаменателя: это экономит одно умножение при вычис- лении рациональной функции.
или вычисляем соответствующее число М узлов, расположенных там, где это кажется наиболее важным. Тогда имеем Д(х,-)ф/ = Л1(А-) 714), систему М уравнений, которую надо решить. В примере (равенство (20.2-1)) имеем V, -Н Ь1х1у1 + Ь.х]у1 +... 4- Ькхк1у1 = а3х^4- +... + ак+1хк+} (1= 1,2,..., 26 — 1). (20.2-2) Это — линейные уравнения относительно неизвестных а; и Ьг, которые могут быть решены при помощи обычных библиотечных программ. Часто встречается мнение, что эта система высокого порядка. На- сколько можно судить, число неизвестных редко превышает 10—12, так что решение требует не более 1—2 тысяч операций; такая ра- бота едва ли сложна для большой машины, если это требуется сде- лать один раз на задачу. Прежде чем принять аппроксимирующую функцию, полезно вычислить достаточно много ее значений. Однажды, в практике автора, знаменатель имел корень между двумя узлами, тем самым обращая в бесконечность приближающую функцию. Между теми же двумя узлами у числителя тоже был корень, чем маскировалось поведение функции. Если приближение неудовлетворительно, то все, что можно по- пробовать, сводится к следующему: 1) сдвинуть узловые точки; 2) изменить вид приближающей функции; 3) изменить к. Выбор одного из способов действий зависит от того, почему именно была неудовлетворительна аппроксимация. Упражнения 20.2- 1. Какой вид рациональной функции следует выбрать, если у (х)^О и у(х)—-0 при х —со? 20.2- 2. Какой вид рациональной функции выбрать, если у (х) имеет ко- рень при х = а; нуль О (х) при х = Ь; и то и другое? § 20.3. Чебышевское приближение рациональными функциями Как указано в § 20.1, рациональная функция часто используется как легко вычисляемое приближение трансцендентной функции. Когда такое приближение должно использоваться много раз, или в часто повторяющейся задаче, или в. специализированной машине, то скорее всего желательно чебышевское равноколеблюшееся (минимаксное) при- ближение. Начнем с выбора набора узлов х{ и вычислим соответствующие у{. По ним находим рациональную функцию подходящего вида (как в § 20.2).
Затем рисуем кривую ошибки, вычисляя ошибки во многих точ- ках; там, где ошибка велика, сдвинем точки поближе друг к другу, там же, где локальная максимальная ошибка мала, раздвинем точки подальше. С этими вновь выбранными узлами повторим весь процесс. Число повторений, необходимых для получения почти равноколеб- лющейся кривой ошибки, редко доходит до десяти. Скорость при- ближения к равноколеблющейся кривой ошибки зависит, среди проче- го, от способа перемещения узлов. Мы не предлагаем никаких доказательств того, что этот метод будет работать, но практика показывает, что ряд простых схем ра- ботает прилично. Чтобы не потерять слишком много знаков, обычно требуется несколько «маленьких хитростей» при организации вычи- слений. § 20.4. Обратные разности (симметричные) В предыдущем параграфе использовалась итеративная схема, тре- бующая нескольких повторений, каждое из которых содержит реше- ние системы линейных уравнений (20.2-2). Это заставляет пытаться найти регулярный способ решения такой системы. Следуя Милну *), рассмотрим частный случай __ «() 4-щх 4-а«л'2 4- Ьа Ь^х -|- Ь<,х2 ’ который использует шесть заданных точек (хр У() (1 = 1,..., 6). Приводим к общему знаменателю: «о — Ьйу -}- а}х — Ь\ху -ф- я-зХ2 — Ьус^у -ф- а3х3 = 0. Применяя метод, который был использован для вывода формул (8.2-3), легко увидеть, что определитель 1 у X X у X2 х^у X3 1 У1 Х{ ХуУ! X* х[У1 х{ 1 ->4 х,^ х1 х^у2 х| = 0 (20.4-1) 1 Уб х6 х^у6 х1 х1у6 х1 дает требуемое решение. Приведем сначала вторую строку к виду (1, 0, 0, 0, 0, 0, 0). Умножаем: 1. Первый столбец на у^ и вычитаем его из второго столбца; 2. Третий столбец на у1 и вычитаем его из четвертого столбца; 3. Пятый столбец на у и вычитаем его из шестого столбца; *) См. [25]. Мы немного изменили обозначения.
4. Пятый столбец на хг и вычитаем его из седьмого столбца; 5. Третий столбец на хг и вычитаем его из пятого столбца; 6. Первый столбец на хг и вычитаем его из третьего столбца: Разложим затем получившийся определитель по второй строке; и разделим 7. Первую строку на у—уг; 8. Вторую строку на у2 —у$ третью строку на у3— 9. Седьмую строку на у6—уг. При делении могут возникнуть неприятности, если какой-нибудь у; =У1 (г # 1) и даже если они близки. В действительности строку, которая будет приводиться к виду (1, 0, 0, 0, 0, 0, 0), следует вы- бирать, имея в виду это деление и стараясь избежать большой ин- терференции в разности —у1 (и тем самым деление на маленькое, неточное число). Обозначим х—х1 , . х> — х, , . —= Р1 (х, Х2), = Р1 (Хг, х,). Определитель (20.4-1) запишется теперь так: 1 Р1 (х, Х1) х хР1 (х, Х1) х1 2 х'2Р! (х, хх) 1 Р1 (А *1) х2 хзР1 (х2, х0 х! х^Р1 (х2, х0 __ 1 Р1(Х6,Х1) хв хбР1(х6,х1) Хб х!Р1(хв,Х!) т. е. останется того же вида, что и раньше, но только шестого по- рядка. Повторим процедуру. Умножаем: 1. Первый столбец на Р1 (х2, хг) и вычитаем его из второго столбца; 2. Третий столбец на Р1(х2, х^ и вычитаем его из четвертого столбца; 3. Пятый столбец на Р1 (х2, х2) и вычитаем его из шестого столбца; 4. Третий столбец на х2 и вычитаем его из пятого столбца; 5. Первый столбец на х2 и вычитаем его из третьего столбца; Разлагаем определитель и делим первую строку на Р1 (х, х2) — Р1 (х2, хх), вторую строку на' Р1 (х3, хг) — Р1 (х2, хД Здесь разумный выбор строки, приводимой к виду (1, 0, 0, 0, 0, 0), может помочь сохранить точность. Если мы обозначим ___ х— х2 х Р1 (х, Хх) р2 (Х2, X!)
то получим для (20.4-2) выражение 1 их х х их х* 1 п3 Х3 Х3Н3 Хз 1 Цу Ху Хуиу Ху = 0. (20.4-3) 1 п8 х8 Х8И8 х1 1 И6 Х6 Х6П6 Хб Функция р1 (х;, ху) была, очевидно, симметрична относительно’ своих переменных. Но это неверно для функции, которую мы обоз- начили п,-. Обычно используют симметричные функции (х — Х!)/(у—уО —(х8—Х1)/(уа —ух) ~~ (х — Х1) / (у —У1) — (х2 — Ху) / (у2 — У1) _____________________________^2 _____________ д 1 — (х2х) / (у2 —у) — (х—х^ / (у —у^ и обозначают их р2(х, Хр х2). Чтобы привести определитель к нужному виду, умножим первый столбец на у'] и прибавим его ко второму столбцу, третий стол- бец — на уу и прибавим его к четвертому столбцу. Имеем 1 р2 (X, Х2, Ху) X Хр2 (X, Х2, Ху) х2 1 р2 (х3, Х2, Ху) х3 х3р2 (х3, Х2, X!) х| = 0. (20.4-4) 1 ?<у(Хь,х<у,Ху) х6 х6р2(х6,х2,Ху) хе Вопрос ценности этой симметрии для практических вычислений ос- тается открытым, но теория от этого выглядит проще и мы будем, придерживаться симметричной формы. Повторяя процесс, получим, наконец, 1 р3(Х, ХВ, Ху, Х3, Х2, Ху) 1 р8 (х6, Х8, Ху, Х3, Х2, Х1) = 0. (20.4-5)- Точно так же, как было установлено, что формула Ньютона есть тождество, можно написать । х—Х1 _ । х—х‘ У — У1-У ?1 (Х1 У1 ~Г р> (х — х2)ДРз (х, х2, х^ —у,] = 71 + (* — Х1) {Р1 (Х3, х1) + (Х — Х2)/[р2 Оз, Х.у, Ху) —У1] -4- + (х — х3)Др3 (хъ х8, х2, х0 — Р1 (х2, Х1)]}’* 1 * * * У —... (20.4-6)
В данном частном случае мы заканчиваем членом х— хъ Рб Х$, Х4, Х3, Х%, Хх) р;; (х^ Хя, Л\, -^1)’ так как Рб (X, Х3, Х4, Х3, *^2’ Х4)-----------------Рз (Х3, *^В» Х4> ^3, Х8, Х4). Величины р; называются обратными разностями; удобно представлять себе таблицу обратных разностей в виде X! У1 Р1 (-^2> -^1) Х2 у9 р9 (Х3, Хо, X!) Р!(Х3, Х1) р3(х4, х3, х8, х4) Х3 у3 р8(Х4, Х8, Х1) р4(Х4> х4) х4 § 20.5. Пример Рассмотрим часто встречающуюся функцию 1 у~ 14-х2 и построим таблицу ее значений. Как и для разделенных разностей, вместо того чтобы использовать первую и к-ю строки, можно брать разности смежных строк; пользоваться будем только значениями верх- ней диагонали. Итак, получаем таблицу 20.5-1.
Столбец нулей (или почти нулей) играет ту же роль, что и в обыч- ной таблице разностей; он показывает, где надо остановиться. Теперь, из (20.4-6) прямой подстановкой получаем что при переходе от непрерывной дроби к рациональной функции- дает Мы не будем углубляться в эту область и просто отошлем читателя- к образцовым руководствам Милна [25], Милн-Томсона [27] и Хиль- дебранда [14].
НЕМНОГОЧЛЕННЫЕ ПРИБЛИЖЕНИЯ ГЛАВА 21 ПЕРИОДИЧЕСКИЕ ФУНКЦИИ. АППРОКСИМАЦИЯ ФУРЬЕ § 21.1. Цель этой теории Процесс решения любой практической задачи на машине вклю- чает три этапа: планирование, выполнение плана и интерпретацию ре- зультатов. Эти три этапа можно сравнить с тремя классическими фа- зами шахматной игры: дебют, миттельшпиль и эндшпиль. В шахматах все три фазы имеют ясно выраженный характер, хотя каждая из них незаметно переходит в следующую и определяется предыдущей, и мо- жет случиться, что игра окончится в миттельшпиле или даже в де- бюте. Так же дело обстоит и в вычислительной практике. На первом этапе все расчеты носят, как правило, характер на- бросков, в которых определяется объем вычислений, машинное время и т. д. Обычно на этапе планирования принимаются решения, подоб- ные следующему: «Сначала вычислим функцию в некоторой группе точек, затем заменим интеграл в интегральном уравнении гауссовой квадратурой по семи точкам, решим полученную систему уравнений методом исключения, подставим полученные решения в такие-то и та- кие-то формулы и напечатаем нужные результаты». Начальный этап включает в себя оценки времени программирования, кодировки, ма- шинного времени, оценки того, когда будут получены результаты и как они будут использованы. Обычно в процессе решения задачи возникает обратная связь между постановкой задачи и вычислением, и поэтому точная постановка всей задачи возможна лишь после начала вычислений. Тем не менее выхо- дить на машину нужно, лишь тщательно выполнив этап планирования. На этапе «выполнения» план часто меняется. Например, после вы- числения упомянутой функции становится ясным, что вместо семито- чечной гауссовой формулы следует использовать десятиточечную, а это может вдвое увеличить количество работы для решения полу- чающейся системы уравнений. Ошибки при решении уравнений могут оказаться большими, и тогда для улучшения полученных решений может потребоваться проведение итераций, что усложнит программу .и увеличит машинное время.
В фазе «интерпретации» необходимо не только обсудить и объяс- нить результаты, но также и проверить, соответствуют ли результаты физической модели и не является ли часть из них следствием фор- мально проведенных вычислений, а не физических закономерностей. Кроме того, нужно объяснить все изменения в плане вычислений. Почему оказалась сильно отличающейся от предполагаемой функция фактически «увиденная»? Почему уравнения оказались трудны для решения? Значит ли это, что результаты очень чувствительны к ис- ходной функции или к некоторым параметрам? Все эти вопросы требуют исследования. Обычно в математических кругах пренебрегают первой и третьей фазами, как не относящимися к математике. Но эти две фазы, в осо- бенности третья, которой пренебрегают чаще всего, имеют решающее- значение для успеха всей работы. Полиномиальные методы, которые рассматривались во второй части книги, не приспособлены для исследований в фазах планирования и интерпретации. Ошибки в них выражаются через производные высо- ких порядков и, следовательно, на этапе планирования редко могут быть оценены точно; более поздняя оценка их на этапе интерпретации тоже не всегда проливает свет на первоначальную проблему. Целью этой и следующих четырех глав является изложение эле- ментов теории аппроксимации функциями с ограниченным спектром, которая для широкого класса задач дает модели, позволяющие мате- матику действовать в какой-то мере автоматически на этапах плани- рования и интерпретации. В результате в фазе планирования можно- сделать реалистическую оценку расходов и потребного времени, а то,, что произойдет в процессе вычислений, может пролить новый свет на изучаемую физическую ситуацию. Теория изложена не полно; она отвечает не на все вопросы и иногда требует несколько больше вы- числений, чем многочленная модель. Однако опыт работы с ней в те- чение нескольких лет показывает, что часто модель функции с огра- ниченным спектром оказывает большую помощь как во время плани- рования вычислительной работы, так и во время интерпретации, результатов. Повторяем девиз этой книги: Цель расчетов — понимание, а не числа. § 21.2. Замена переменных и выбор узлов В большинстве вычислений узловые значения ищутся на множестве- равноудаленных точек. Пусть расстояние между ними принято за еди- ницу, т. е. /г = Д^=1. Исследуем сначала эффективность такого вы- бора для синусоидальных функций. Для синусоидальной функции вида соз [т?(л-|~еИ_]_<р] существует другая синусоидальная функция соз [к (и— г)/—<р], которая имеет одинаковые с ней узловые значения в точках / = 0, 1, 2, ... Это-
видно из тригонометрического тождества соз [к (п 4~ е) I ср] — соз [гс (п — — <р] == = —2 81П (гсн() 81п — О (для целых I и п). Таким образом, при вычислении в этих точках частоты гс (п 6) и ~ (» — е) ведут себя так, как будто они одинаковы при усло- вии, что фазовые углы надлежащим образом связаны друг с другом. Этот эффект хорошо известен кино- и телезрителям. В обоих случаях движущаяся картина фиксируется 20 раз в секунду. Когда колесо вагона начинает вращаться, зритель сперва видит, что оно крутится все быстрее и быстрее; но затем движение начинает замед- ляться, колесо останавливается и, наконец, начинает вращаться в об- ратную сторону. При дальнейшем возрастании скорости кажется, будто колесо опять начинает вращаться вперед, замедляется, останав- ливается, крутится в обратную сторону и т. д. Этот хорошо известный стробоскопический эффект часто исполь- зуется для анализа периодических явлений. Устраивают так, чтобы вспышки света появлялись с частотой немного меньшей, чем период этого явления. Таким образом, каждая вспышка показывает периоди- ческое явление в чуть более поздней фазе его цикла. Существует много частот, которые могут быть использованы для стробоскопи- ческого освещения, дающего одинаковые результаты для зрителя. Так, если при одной частоте наблюдается определенная кажущаяся ско- рость вращения, то при частоте, равной приблизительно половине этой, человеческий глаз будет наблюдать ту же самую скорость, однако ка- чество картины несколько ухудшается из-за низкочастотного мерцания. В этих двух примерах человеческий глаз видит две компоненты движения х и у и, следовательно, может отличить прямое движение от обратного. Если он видит только одну компоненту, то в некото- рых случаях движение вперед неотличимо от движения назад. Здесь происходит смешение частот, когда несколько различных частот дают •один и тот же результат во всех рассматриваемых точках. Очевидно, что это — неизбежное следствие выборки с равными интервалами; этим фактом не следует пренебрегать. Упражнение 21.2-1. Нарисуйте графики функций соз (1,1 л<) и соз (0,!Ы) для и рассмотрите поведение их в узловых точках (=0, 1, 2, 3, 4, 5. § 21.3. Ряды Фурье; периодические явления Если у =у (I) — периодическая функция от I с периодом 2 Л/, то теория рядов Фурье утверждает (см. гл. 6), что ОО = + 2 (а,! С05 (V 51п Я М (21.3-1)
при условии, что на у(1) наложены довольно слабые (сточки зрения вычислительной математики) ограничения. Величины ак и Ьк опреде- ляются по формулам: 2/У Ьк==-^- В гл. 6 были приведены конечные ряды Фурье, построенные по значениям в 2.-У точках. Если вычислить конечный ряд Фурье, по- строенный по 2М узловым точкам 0, 1, 2, ..., 2А-’—1, то получим. дг-1 дг-1 У({)~^--\- 2 Л*СО577^ + 2 Вк 51П ту (21.3-3) к = 1 *= 1 где 2АГ - 1 2,7-1 Ак==~ТТ 2 У&СО31ТМ’ Вк = -\т 2 (21.3-4} 1 = 0 ( = 0 Покажем теперь, что между дискретными и непрерывными коэф- фициентами существуют следующие соотношения: СО До = а0 + 2 аалг/ СО Ак = ак + 2 (а2Л7-А + а2Л7+*)’ 1 ~ 1 (21.3-5) 00 вк = ьк 4- 2 (— ьгы}_к + /=: 1 Для доказательства просуммируем обе части (21.3-1) при 1 = 1, 2, ..., 2А'—1 и получим 2Л'- I 2,7—1 оо 2,7—1 со 2,7-1 2 ^0=1 2 1 + 2 со8у^+2^ 2 51пт7^ Г = 0 / = 0 й=1 1 = 0 к=1 1 = 0 Если к -ф 0, 2 Л/, 4Л4 ..., то 2ЛГ - 1 2.7—1 2 соз — к1 — 0, 2 5Ш^Й = 0. 1 = 0 1 = 0
При 6 = 0, 2Д/, 4Д4 полагая к = ‘2Ыр получим - 1 2ЛГ - I ‘2М - 1 2,7-1 2 со8^(2^.)/= 2 1=2№ 2 51Ф2Л^= 20==0- 1* = о < == о / = о г = о Отсюда, используя (21.3-2) и (21.3-4), имеем ОО 2Л^=2Л7^-^ 2азя7, / = ’ что совпадает с первым из уравнений (21.3-5). Если умножить (21.3-1) на соз (0<^т<^?7) и просум- мировать, то аналогично получим оо 2,У- I 2\’ -к т.т , ак Л соз соз -дг^ Й=1 г=о со 2ДГ — 1 = 2> 21[со8^±^'+ А=1 1 = 0 откуда следует второе из уравнений (21. 3-5). Третье уравнение полу- ляп , чается умножением на зш г и суммированием. Соотношение (21.3-5) между коэффициентами разложений на непрерывном и дискретном множествах точек ясно показывает явле- (Частогла наложения) Рис. 21.3-1. Смешение частот. ние, которое можно назвать «мимикрия частот». Если мы представим частоты в виде точек бесконечной прямой, то явление «мимикрии» за- ключается в том, что пря- мая как бы складывается гармошкой. Первая часто- та, на которой происходит перегиб прямой, называется частотой наложения или частотой Найквиста и соответствует зна- чению к — Ы. Последующие наложения будут происходить через такой же промежуток. Все точки кривой (рис. 21.3-1), расположен- ные над одной и той же точкой оси частот, в результате выборки проявляют себя как одна частота. Однажды произведя выборку, мы уже не сможем снова разделить частоты, которые «мимикрировали»
друг под друга. На саму частоту наложения мы попадаем один раз в два цикла, когда —О, соатг^=-(—1)( (I — целое). Упражнения 21.3-1.Получите третье уравнение из 21.3-5. 21.3-2. Найдите уравнение для Ап из 21.3-5. § 21.4. Интерполяция периодических функций Во второй части была изложена теория многочленной аппрокси- мации. Займемся теперь изложением подобной теории для аппрокси- мации периодических функций рядами Фурье. Несмотря на то, что задача может быть поставлена для множества неравноудаленных точек и известны некоторые результаты для этого случая, однако и теория и практика обычно имеют дело с множест- вом равноудаленных точек. Для случая 2/7 равноудаленных узловых точек задача интерполяции решается путем применения конечного ряда Фурье (гл. 6). Значение функции в промежутках между узлами вычисляется с помощью ряда. Как и во второй части, после получения формулы необходимо •определить ошибку аппроксимации. Эту ошибку можно разделить на две части: ошибку, возникающую вследствие использования конечно- го числа членов ряда, и ошибку вследствие дискретного задания функции. Влияние дискретности было уже исследовано; остается влияние конечности числа членов ряда Фурье. Если непрерывный ряд Фурье имеет вид (21.3-1), то, подставляя формулы коэффициентов (21.3-2), получим первые 2Д? членов, из кото- рых, как и в случае дискретного ряда, возьмем половину косинусного члена 2 ЛГ- 1 №(0 = ^ ЗФ){у + 2 [собесов -^&?+ 81П 81п ^&?] + 0 к = 1 -1 -ф- у соз да соз даУ с1з — 2Я .У — 1 = -У(5)|у+ У, [соз 5)] + у СО8-гс(^ — «)} (1з. 0 к = 1 Чтобы просуммировать величину *), стоящую в фигурных скобках, *) Этот ряд можно просуммировать более элегантно, используя методы гл. 3. Однако читатель, вероятно, успел забыть детали, и поэтому мы будем пользоваться более грубыми, но и более знакомыми тригонометрическими .методами.
умножим ее на 81п^(^— 5); в результате получим у{51п2^^~5) + [51п^(1 +4)(г(~5)— 51п ~4)(*~ 5)] + + [51п^(2 + т)^—5)~х1п^(2~Т + [5'п 1 51п Я (Л'~~ 1 ” + 4-81П^(^ — 8) СОЗ К (I — з)^. (21.4-1) Все члены, кроме двух, уничтожаются: ~ | 51П (I — 8)^ 4- 81П ~ (I — 8) соз т.(1 — з)|. Распишем первый из этих членов по формуле з!п ---------(I — 8)^ = зш те (I — я) соз ~(1 — 8) — — СОЗ те (I — .у) 81П 2^ (/ - 8). В результате второй член последней формулы уничтожится со вто- рым членом предпоследней, и выражение в скобках примет вид «’пте (* —«) соз (< —«) 2«п2^ — тогда 2,У . 8Ш те И — 8) СОЗ 2дт — з) ^(0 = 77 I > (я)-------------------------(21.4-2) ,) 28Ш2^-8» о Поскольку у(8)—периодическая функция, то отрезок интегрирования можно сдвинуть в любой интервал длины 27У; кроме того, положим I — 8 — 9: . 81П тей СОЗ 6 Ьл(0 = 277 ра-6)-------------<21-4-3) - лг 8Ш 2Ту 9
Если то 8Ш Л0 СОЗ ---------- лВ 81П 277 Но, поскольку интегрирование ведется по 6, то я Г* -Й ТсО . 1 I 81П лб СОЗ ~ТТ7 И0 = 24 ЯО— (21.4-4) Л 81п 2,У — Л' Вычитая (21.4-3) из (21.4-4), получим ошибку от использования 2тУ членов ряда л Р А . I 81П лВ СОЗ т.-ту = У V)-Уы(0 = \ е)]----<21 -4-5> • /, 81П1Л/ Любопытно отметить, что в большинстве работ по рядам Фурье суммируется нечетное число членов, и поэтому вместо (21.4-5) полу- чается похожая, но менее удобная формула *). Но простота формулы (21.4-5) обманчива: чем больше узлов взять, тем длиннее будет отре- зок интегрирования. Однако на практике отрезок имеет фиксирован- ную длину и изменяет интервал между узловыми точками. Поэтому мы производим замену переменных и обозначаем (что может привести к некоторой путанице): 9 = 2№р, ^=2^, у(21\х)— у (х), е*Х — \ [>(!) — У(( — ?)]-! 5/2 8Ш 2Дгл<р СОЗ тсгр 1 , 81П л:р ) 1 ‘ (21.4-6) Величину в фигурных скобках часто называют ядром /С (у). Очевидно, что К(0) = 2Д/. При больших М член 81п (2?7гс<р) меняет знак, а с!§ -гс? определяет затухание этих колебаний так, что К (~*~ Уз) — 0. Огиба- ющая колебаний есть с!§ тс-.р и К(?) = К(_ ?). *) Зигмунд [44] называет полученную формулу «модифицированным ядром».
Если функция у (х) гладкая, то наибольший вклад в интеграл , л 1 1 дают значения ядра вблизи « = 0, например при — 2дГ ==== ? “й 2ДГ Рис. 21.4-1. Ядро ряда Фурье для ^=4. (рис. 21.4-1). При увеличении Л/ пик становится выше и уже. Если, с другой стороны, функ- ция у(х) сильно меняется, то тенденции к затуханию колеба- ний наблюдаться не будет и при удалении от точек интер- поляции возможны резкие из- менения функции у (х), создаю- щие большие ошибки. Заметим, что подынтеграль- ное выражение содержит функ- цию, а не производную вы- сокого порядка, как в случае многочленной аппроксимации. Упражнения 21.4-1. Мы уже аппроксимировали тригонометрические функции поли- номами. Приблизьте у (() — (1—(—1=^=€1), рядом Фурье при М = 3, /2 1 1 2 \ т. е. в узловых точках Г=----д-;--0; -д-; 1 . Найдите функцию \ О ’ о 1 О 1 о / , 1 в точке — 21.4- 2. В этом параграфе выведен эквивалент интерполяции Лагранжа. Исследуйте эквивалент интерполяции Эрмита, которая приближает функцию и производную в каждой узловой точке. Ответ: Такого не существует. § 21.5. Интегрирование Как и во второй части, исследовав вопрос об интерполировании и его ошибках, перейдем к задаче интегрирования. Если коэффици- енты непрерывного ряда Фурье _у(/) уменьшаются при Д/->оо довольно быстро, то коэффициент конечного ряда Фурье будет 2Х давать хорошую оценку интеграла § у (I) сП = Ыай, поскольку из о уравнений (21.3-5) следует 2 Л' —1 со Л — 2 т (0=до + 2 2 /=0 7=1 Таким образом, ошибка, возникающая при оценке интег- рала на основе равноотстоящих и имеющих равные веса узлов,
дается формулой 2Л7 2 а^)> 1 = 1 в которой отражается неизбежное смешивание частот — результат дискретности узлов. Для периодических функций формула интегрирования, исполь- зующая равноотстоящих и равновзвешенных узлов, соответствует формулам: Ньютона — Котеса, потому что точки равноотстоящие; Чебышева, потому что точки имеют равные веса; Гаусса, потому что 2 Л/ узлов точно интегрируют 4 Л/ функций. Проиллюстрируем точность этой формулы при интегрировании периодических функций. Рассмотрим эллиптические интегралы к Г.1 "/2 ..—.... -М, У1 — Л2 8Ш2 0 где | к | 1 — параметр. Квадратный корень можно представить в виде бинома. Если /г3 мало, то ряд сходится быстро. Выразив 81п2л 0 че- рез 8Ш 2/10 и соз 2/10 (где р = 0, 1, 2, ...), получим быстро сходя- щийся ряд Фурье ртТ=1е2л!'6 ~ С(2п' 1)е* *+•••]= = 1С08 2лЭ — С (2«. 1) соз (2я — 2) 0 4-...]. При малых значениях /г'2 результаты будут точными, но при Л'2, близком к 1, нельзя ожидать высокой точности. Для эксперимента выберем узлы в точках 0°, 30°, 60°, 90°, хотя для получения периодичности следовало бы выбрать шесть точек на /1 = $1^1 — А2 81П 2 0 <$, /2 = о Т а б л и ц а 21.5-1 Эллиптический интеграл /г-' /| (ВЫЧ.) (табл.) Ошибка 1 4 1,46746 1,4675 1 "2 1,35064 1,3506 2 7 1,21099 1,2111 0,0001 10 Р. В. Хемминг Таблица 21.5-2 № /2 (выч.) /2 (таЗл.) Ошибка 1 4 1,68575 1,6858 1 2 1,85410 1,8541 2 4 2,15789 2,1565 0,0014
период В действительности мы вычислим значения лишь в четырех узлах, один из которых 0 = 0 тривиален. Результаты вы- числений и табличные значения этих интегралов приведены в табли- цах 21.5-1, 21.5-2. Из рассмотрения этого примера можно вывести следующее: во-первых, коэффициенты ряда Фурье часто можно оценить с до- вольно высокой точностью, поэтому можно оценить ошибку вычис- лений, не приступая к ним; во-вторых, метод интегрирования, использующий равноотстоящие узлы с равными весами, дает очень точные результаты для периоди- ческих функций. Этот метод можно использовать для вычисления функции Бесселя У0(х) по формуле ТС 4 (х) = соз (X 81П ср) й<р. о Упражнение 21.5-1. Найдите /0 по зуя шесть узлов. интегральной формуле, исполь- § 21.6. Метод общего оператора В гл. 10 был описан общий метод (третий метод) нахождения формул, дающих точные значения для 1, х, х2, ..., х". Аналогичным путем можно найти формулы, дающие точные значения для тс 2тс Зте , (А — 1) те , 1, СОЗ -у Л СОЗ 5 СОЗ Г, С03 :-------дН—С08 тс , . 2тс , . Зте , . (А—1) тс , ч 51П у I, 81П I, 81П -^-1, 31П -—I. (21.6-1) Такие условия легко получить, если функция периодическая и используется 2А равноотстоящих узловых точек. Пусть результат применения линейного оператора 2. к функции / (2) выражается через значения функции в 2^ равноотстоящих точ- ках 1=0, 1, 2, ..., 22У—1: 2. [/(2)] = ^/(0) 4- «^(1) +..«^/(227- 1). (21.6-2) Определяющие уравнения для , те 2тс те (А — 1) 1, соз т, соз т........соз - —- т, соз к/л, тс тс (А-1) 8Ш ту т, 8ш •— ,,--т
будут иметь вид ма = да04-®’1 Ч-И’з + • • • + ®Чдг-1» М1 == да0 4- да, сох 4-да.,сох^- 4~... -ф- даад_, X (2Д1 — 1)в X сох 1 = да04-да,сох^ -]-да4со8— +•• + X (Ы— 1) Н- ®1 СОХ *- . (ДГ—1)2тс . . . , Г да., СОХ '—---------[-••• + «’злм X X СОХ (2ЛГ—1)(/У—1)я = да0 —да, 4-да, —... —даш.„ Л^+1 =0 +к’15‘п^ 4~да2з1п-^- Ч-.-. + ^лгл X . . . 2Д/—1 X 8Ш --дт— „ . Д'—1 , . 2(27—1) . . Л12лг_1 — о 4~да, 8Ш —др-т:-]-да.2 хш ^-- тс 4~... 4-да^., X X 510 Отсюда матрица коэффициентов для неизвестных весов да примет вид “1 1 1 я сох^ 1 2тс со5}7 . СОХ 1 2Л?—1 1 Д1—1 сох — тс Д'—! „ сох —— 2тс , . СОХ (Ы— 1) (2^ — Д-тс 1 — 1 1 • — 1 2л 2^— 1 0 51,1 ы . 81П ы 0 л/— 1 хш ы тс 81П 2тс . . Х1П (2Л/ — 1) (И — -И-тс (21.6-3) 10
Вследствие соотношений ортогональности (6.2-3) 2АГ-1 у соз к соз ~ к = №тп (т, п ф О, №), к = 0 2АГ-1 2. т~ , пп , _ зш к соз к = 0, о 2АГ-1 2. тп , . пп , ... зш к 81П к = №т„, О 2Л - 1 2А^ 1 2 1 = у СО82 о о щие функциям 1 и обратная матрица будет равна транспонированной матрице (21.6-3), кроме того, что первый и (,У— 1)-й столбцы матрицы, соответствуго- сов 1гп, будут разделены на 2Ы: 1 IV—1 ... СОЗ-ту— тс /V -- 1 . ... СОЗ ---гт— 2 тс ы (Ы — 1) (2уУ — 1) Ы 1 тс -у ЯП . Д1—1 81П --г;-- ТС ;У 1 . 2тс . Д7 — 1 2 мп - МП ^У“2л (21.6-4) 1 . 22У—1 у зш—м—тс ... яп (Д'— 1) (2)У— 1) Применение этого третьего метода в общем случае можно рас- смотреть на примере. Предположим, что нужно найти первую произ- водную периодической функции в точке 1 — 0. Для определенности положим, что исследуется случай М=3. Тогда составляющие «мо- . тс , 2тс , , . тс , 2тс , . ментов» для 1, соз г, соз -5- г, соз г, зш -5-1, зш -=- I будут равны о <5 о о о, о, О, О, 4. т- V О
Умножив обратную матрицу на вектор моментов, получим 0 1 2 2 10 0 0 УЗгг 1 1—1—1 уз /з 0 1—1—1 1 Уз — Уз 0 1/3 —77 СМС/з) 1-2 2—1 0 0 0 Н1/*)'! 0 • 1—1—1 1 _ Уз Уз к 3 Уз 1 1 _ 1 _ 1 _ Уз— Уз 2тс 3 3 У~3~ (21.6-5) Результат представляет собой вектор весов; таким образом, искомая формула примет вид /' (0) = [3/(1) -/(2) + /(4) - 3/(5)]. Упражнения 21.6-1. Используя матрицу (21.6-5), найти формулу для /"(0). 21.6-2. Используя (21.6-5), найдите формулу для вычисления 2 Л' г/ $ $ / (() (Ши. о о § 21.7. Несколько замечаний относительно общего метода В случае аппроксимации многочленами матричный метод был достаточно эффективен. Однако при аппроксимации рядом Фурье дело обстоит иначе. Различие состоит в том, что разложение функции в ряд Фурье находится легче, чем определяются веса при помощи умножения матриц (см. §§ 6.4 — 6.6). Если уже известны коэффициенты Фурье для данной функции, то, умножив их на «моменты», нетрудно полу- чить окончательный результат. Таким образом, если известен ряд Фурье Л' — 1 Л — 1 /(0 = у+ 2 а*С05^^ + тС08л/ + 2 к = 1 * = 1 то, применив оператор А( ), получим т -1 И/(0] = у^(1)+ 2 «^(соз ^^ + ^/(С08кП + к = 1 У — 1 АГ—1 н- 2 ^51п /у лич- 2 а^мк+т Ду+ 2 к — 1 к = 1 к = 1
Коэффициенты ряда определяются независимо друг от друга и до- вольно просто, так как синусы и косинусы являются ортогональ- ными функциями. Поэтому метод обратных матриц при аппроксимации рядами Фурье, хотя и представляет теоретический интерес, не имеет большого практического значения. Как и в § 13.3, здесь необходимо указать особый случай, касаю- щийся неопределенного интегрирования. Будет ли формула ь у = $/(х) <1х а точна для /(х)=1, х, х2,... или для у~1, х, х2, ...— не одно и то же. Как указывалось в § ГЗ.З, при данной формуле точность для /(х)=1, х, х2 эквивалентна точности для у — х, х2, х3,..., поскольку интегрирование степеней х увеличивает степень на 1. Тогда мы нашли удобным добавить условие точности для у=1 и таким образом восстановить эквивалентность обоих случаев. В случае рядов Фурье, если сначала аппроксимировать подынте- гральное выражение, а затем интеграл, то члены соз кх и апг кх перейдут друг в друга, а член 1 перейдет в х. Таким образом, в случае рядов Фурье эквивалентность приближения подынтегральной функции и интеграла будет потеряна. Поэтому с самого начала не- обходимо решить, какая часть задачи будет аппроксимироваться используемым множеством функций, так как аппроксимации на раз- личных этапах решения задачи могут оказаться неэквивалентными. На практике обычно известны свойства лишь входных или выходных функций, и поэтому для аппроксимации выбирают те, свойства кото- рых известны. С эффектом неэквивалентности придется снова встретиться в гл. 26 при рассмотрении экспоненциальных функций. Так, при интегрирова- нии функции последняя переходит в саму себя (с точностью до постоянного множителя), за исключением случая аг = 0.. ГЛАВА 22 СХОДИМОСТЬ РЯДОВ ФУРЬЕ § 22.1. Сходимость степенных рядов и рядов Фурье Скорость сходимости степенных рядов и скорость, с которой сходится к функции последовательность множеств, совпадающих с ней в заданных точках, когда число этих точек возрастает, обе опреде- ляются расположением особенностей функции в комплексной плоскости. Это не значит, что, вообще говоря, поведение функции вдоль дейст-
вительной оси не определяет скорости сходимости, а скорее означает, что трудно перейти от значений на действительной оси к скорости сходимости иначе, как через особенности. Особенности в комплексной плоскости часто практически невозможно получить; даже грубые оценки имеются редко. Например, рассматривается задача вычисления орбиты Луны. Как оценить положение ближайших особенностей в комплексной плоскости? Напротив, сходимость рядов Фурье может быть легко определена по значениям функции вдоль действительной оси. В самом деле, между ними существуют простые соотношения. Цель настоящей главы вы- вести эти соотношения и показать, как ими пользоваться. Можно также оценить коэффициенты рядов Фурье до начала вычислений, что позволит сделать разумные оценки бится для получения заданной точности в стадии планирования вычислений ме- тод Фурье имеет важные преимущества перед многочленным методом. § 22.2. Функции с простым разрывом Начнем с примера (см. рис. 22.2-1) функции того, сколько членов понадо- (ср. с § 21.5). Таким образом, I (—л</<л), (22.2-1) которая имеет один разрыв высоты 1 в точках I — (предпола- гается, что у(() периодическая). Так как функция нечетная (т. е. /(—/)— — /(/)), то все члены с косинусами исчезают, в том числе и постоянный член. Коэффициенты при синусах определяются так: 1 С 2 С I Ьк = — \ у(Ц 81п ММ — — \ =- 81п МИ= ” 3 яр 2л —я о 1 ,—соз к1 Iя . 1 С ,, ,, л . , (—!)*-> = I------г— + п \ С08 М (— 1) СО8 тЛг = 3— . л2 к |о 1 йл2 3 л2й4 ’ ~.к о Следовательно, ... 1 ( . , яп2г . ею31 яп 4г . \ у(?) = ~Ып1— ----------------------г+-")' <22-2’2) Этот ряд сходится к у (^) при всех значениях I, кроме точки раз- рыва — где он, очевидно, сходится к нулю (среднему ариф- метическому двух значений и — которые являются предель- ными значениями при / —> л или —к).
Если положить 1=И — а-[-к, то разрыв будет переведен в точку И — а. Вместо (22.2-2) имеем (опуская штрих над I) для функции у(1) со скачком в точке а: СО У(П — ~ 2 "~~4)~ 5‘п [(^ — йа)4-Ак] = /2 = ОО 1 V (- т. к к = 1 81п (М — ка) соз кк — ^ —^3_— к = 1 V атка ,, 1 7 —г— соз кт-- 4^ к л к — 1 V соз ка . 2 ~тг51п и (22.2-3) В этом ряде Фурье коэффициенты опять убывают как —. Для функции с конечным числом 714 простых разрывов и линейной между разрывами, у которой скачок при 1 = имеет величину уи можно взять соответствующую линейную комбинацию рядов вида (22.2-3) (включая, быть может, еще член а0), что дает где мы формально переменили порядок суммирования. Таким образом, функции с простыми разрывами и прямолинейными участками между разрывами дают ряды Фурье, коэффициенты которых убывают как кроме того, мы получили простой метод для по- строения таких рядов. Для практических целей верно и обратное: если коэффициенты ряда убывают как то функция имеет простые разрывы. Часто встречается случай непрерывной *) ломаной, и потому его стоит исследовать отдельно. Вычислим сначала коэффициенты членов с ко- •) Напоминаем, что для непрерывности необходимо также /(п)=/(—л).
синусами, обозначая через концы линейных участков. Коэффициенты при косинусах суть 11 ‘1+1 г.ак= § /(I) соз ЫН = /(0СО8^^ = 'ч-и =2 т $1п к ~ 81п к - 2 5 -цп-~. 1 > ч Когда суммирование выполняется на всем интервале, все члены уничто- жаются, так как /(7) предполагалась непрерывной. В интеграль- ном члене /' (I) является константой в каждом интервале, следова- тельно, результат интегрирования з1п М приводит еще к одному множителю у. В результате коэффициенты членов с косинусами убывают как То же самое происходит для членов с синусами. Таким образом, для непрерывной ломаной коэффициенты убывают 1 как Упражнение 22.2-1. Найти ряд Фурье для пилообразной функции ( 1 + I для (— 1 < I < 0), / (I) — { к I I для (0<г<1). § 22.3. Функция, имеющая непрерывные производные более высокого порядка Если функция имеет непрерывную первую производную и непре- рывную, кроме конечного числа точек, вторую производную, то можно поступить, как в § 22.2, интегрируя дважды, и показать, что коэффи- циенты убывают как *) тс п ак=~ Ф соз МЫ =— 81п МЫ, —тс — тс так как из-за непрерывности проинтегрированный член обращается в нуль. Разобьем отрезок интегрирования и еще раз проинтегрируем *) Более точное доказательство позволяет установить, что в этом случае коэффициенты Фурье стремятся к нулю как —. {Прим, ред.)
по частям М (1+1 М я 2 51п кш=—2 $ со5 мм> 1 = 0 1 = 0—15 |а*|<^2тс> где Л4.2 есть максимум второй производной. С Ьк поступим аналогич- ным образом. Если коэффициенты убывают уже как^-, то можно заключить, что ряд Фурье сходится везде, так как । ,, , , . ,,, 4Л4, | ак соз М + Ьк зш М | . Та же схема, очевидно, применима к функциям, имеющим непре- рывную*) т-ю производную; их коэффициенты Фурье убывают как (т — целое). Упражнения 22.3- 1. Найти ряд Фурье для (те — () для 0 I =5 те, — / (7) для 0 > -- гс. 22.3- 2. Пусть /(<) = 1—-$( — те 1 те). Как ведут себя коэффициенты? § 22.4. Улучшение сходимости ряда Фурье Разложение в ряд Фурье функций с разрывами или другими осо- бенностями на действительной оси, особенно в концах интервала, часто встречается в практике. Так как уже известно, что особенности на действительной оси определяют скорость сходимости, естественно действовать почти так, как и в § 4.2: из данного ряда вычесть соот- ветственно выбранный, также медленно сходящийся. Таким образом, для вычислений будут получаться быстрее сходящиеся ряды. Идея достаточно очевидна, и нет необходимости останавливаться на ней более подробно. Коэффициенты ак и Ьк задаются интегралами, которые часто не могут быть вычислены и их приходится находить численно по значениям подынтегральной функции в нескольких узловых точках. Таким образом, *) Коэффициенты Фурье имеют порядок также и для функций, у которых т-я производная кусочно непрерывна, т. е. может иметь конечное число конечных скачков. (Прим, ред.)
приходится снова сталкиваться с задачами мимикрии. Однако, прежде чем делать это, вычтем «канонические» разложения особенностей, такие как (22.2-3), а также интегралы от них, чтобы скомпенсировать особенности функции и ее производных. Тогда придем к численному нахождению коэффициентов быстро сходящегося ряда для очень гладкой функции; мимикрия не является уже для нее серьезной про- блемой. Таким образом, вычитание особенностей не только уменьшает вычислительную работу, но также улучшает точность. Упражнение 22.4-1. Вычислить первые три интеграла равенств (22.2-3) для получения канонической формы соответствующих особенностей. § 22.5. Спектр мощности Как в чистой, так и в прикладной математике, обычно ищут ин- варианты представления — инварианты по отношению к классу преобра- зований. В классе периодических функций перенос осей 1 = 1' не должен менять в представлении функции того, что не зависит от системы координат. Непосредственно видно, что коэффициенты Фурье ак и кк не обладают этим свойством и меняются при сдвиге оси, т. е. когда изменяется начало отсчета времени. Полагая 1=Н-\-Ь и используя периодичность /((), чтобы сдвинуть пределы в интеграле, получаем ак = ~ /(0 соз кШ — ^ -ф- Ь) соз к (И -ф- Ь) ЛИ == — тс — тс тс тс соз кЬ — / (Г -ф- Ь) 51п кН<11^ з1п кЬ = — ТС — тс = а’к соз кЬ — Ь'к зш кЬ. Аналогично Ьк = ак зш кЬ -ф- Ь'к соз кЬ. Хотя ак и дк не инвариантны, величина ак -ф- Ьк = (а'к соз кЬ — Ь'к з!п кЬ? -ф- (а'к зт к!) -ф- Ь'к соз кЬУ* = очевидно, инвариантна. Величину ак-{-кк называют мощностью ча- стоты к и изображают в виде дискретного спектра мощности. Существует путаница относительно того, что дает спектр ак -ф- Ьк или но мы будем использовать слова «спектр мощности» и «спектр», имея в виду одну и ту же величину ак-\-Ьк. Упражнение 22.5-1, Вычислить спектр функции из упражнения 22.2-1. = Ц- \ /(^ -ф- Ь) соз кН>И
§ 22.6. Явление Гиббса Начнем с частного случая прямоугольной волны Н(1) с периодом 2л (рис. 22.6-1). Если вычислить сумму первых 2п членов, то все члены с косинусами будут равны нулю и получаем п адЦ + |2 (22-6‘1) Гиббс отметил, что частичная сумма Н>_п превосходит функцию на некоторую величину (рис. 22.6-2). Более точно —>1,08949..., когда л->оо. (22.6-2) Действительно, Мл(0 не только превосходит функцию Н(1), но и Н(1) I----~"~1 I I I I I I _I___________I >. 2п Зя I Рис. 22.6-2. Явление Гиббса. Рис. 22.6-1. Прямоугольная волна. имеет тенденцию колебаться около /7(0> и колебания уменьшаются медленно, когда I удаляется от разрыва. Чтобы объяснить явление, запишем (22.6-1) как П I лМ0 = 4 + -|-2 5 С05(2Л— 1)хг/х== * = 1 0 = 4- + -^ СО8(2^— 1)хо!х = 4- + - \ (22.6-3) 2 1 я 3 Д] у 7 2 1 к 8шх . . О *= 1 о где использована формула , 81П 2пх соз (2/г — 1) х = „ 4 • ) ст У Из (22.6-3) ясно, что максимум и минимум для дости- гаются в точках (О 1 81п 2п1 31 л зшГ ’
т. е. при * = т — 1, 2, ..., 2л — 1, (22.6-4) и что они чередуются. Их величины были вычислены Карслоу [7]. То, что верно для этой специальной функции, очевидно, верно и для более общих функций, так как разрыв можно рассматривать как возникающий из прямоугольной волны, прибавленной к главной функции. Упражнение 22.6-1. Для функции в упражнении 22.2-1 начертить сумму первых четырех членов. § 22.7. Сигма-множители Ланцоша Заменим функцией быстро колеблющуюся функцию /4»(0 сглаженной = § /4, (О Л, (22.7-1) /-Д- 2» где усредняется одно полное колебание Н^_п (I), сосредоточенное около I. Подставив (22.6-1) в (22.7-1), получаем Я2„(0 = | + зш(2А-1)т]^ = в й=1 Ч.п п 1+ — П Г я , 2 VI —1 . , . I М1 ~~ л [_2п + л (2/г — 1)а С08 я] — *=1 *~Тп » 8]п Г{2/г —1)^1 = 1+^2К=Х---„: (22-7-2) »=1 (2/г—1)^ Если сравнить это выражение с то получим дополнитель- ный множитель 81П (2А- 1) =(22.7-3) для каждого члена при суммировании.
Эффект этого множителя ак состоит в том, чтобы уменьшить мак- симум с 0,08949 до 0,01187 и первый минимум с 0,04859 до 0,00473 и т. д. Таким образом, явление Гиббса сильно уменьшилось от при- сутствия а-множителей, которые возникли из сглаживания (7) на коротком интервале длиной те/л. Мы изучили частный случай прямоугольной волны; покажем теперь, что влияние сомножителей остается тем же для любого ряда Фурье. Пусть /(/) (0^/^2л) интегрируемая и пусть ак = /(0 соз к1 Л1, к = 0, 1, 2,..., о Ьк — /(0 8Ш к1М, к = 1, 2,..., о — коэффициенты Фурье. Тогда п /п (0 = У + 2 ^к 008 М + Ьк 81П к^- к=1 Теперь вычислим Н-— 2Л п ( I * х 1 (• . . . , п Г а„ п . VI [ мп кх , соз кх\ I «Т] /л(0=^ = + ----^-Г-)| х] = = — (^- а0-ф- У [ 81п — 81п к(1— ^-^1 — л \2п 0 1 I к [ \ 1 2п/ \ 2и/] — ~ [ соз к (I -ф- — соз к (I — ДУ]Р = к I \ 1 2п) \ 2п]Л) п а„ , п V [2ак . т.к ... 2Ьк . лй . , А = Т + 7 2 Ьг 81П 2п. С08 М + ~к 81П 2п 51П = *=1 " 51П^ =у+2 (ак со8 ы+Ък 81п к^ 2п и опять получаем о-множители (равенство (22.7-3)) . т^к 81П 2п
вставленные в различные коэффициенты ряда Фурье. Заметим, что члены 81п Ы и соз М оба имеют множитель ак. Упражнение 22.7-1. Применить а-множители в уравнении 22.6-1 и начер- тить результат. § 22.8. Сравнение методов сходимости Кроме метода а-множителей Ланцоша, существует хорошо извест- ный метод Фейера, использующий средние арифметические частичных сумм Метод Фейера совершенно исключает колебание, тогда как /V Рис. 22.8-1. Частичные суммы Фурье =— V 5г 81п(2п-|- 1)^г 2 к 2.П -р 1 /V /1=0 Фейера = ± + я(^1у V 51п + 0 Ъ Фурье с а-мно- жителем 1 . 2 СХОДИМОСТИ = 4--- 2 л " . (2«+1)к У ‘ " 2^+2-шп(2п+1)^ ^2п-}-1 (2п-|- 1) к а = о 2ДГ-1-2 метод Ланцоша только сильно гасит его. Рис. 22.8-1 дает соответст- вующее сравнение кривых ряда Фурье суммы Фейера <з-множителя Ланцоша
для двенадцатичленной аппроксимации прямоугольной волны Преиму- щество метода а-множителя очевидно Рис. 22.8-2. Прямоугольная функция входа Приближение Фурье и приближение Фурье /=-Х —; Г=10 сек. 10 сек' с множителем сходимости. Рис. 22,8-2 показывает скорость, с которой метод а-множителя приближает прямоугольную волну как функцию п. Таким образом, даже для умеренного п «время роста» кривой очень невелико. § 22.9. Техника дифференцирования по Ланцошу Иногда бывает необходимо продифференцировать ряд Фурье. При этом часто получаются нежелательные в физических задачах большие колебания высокой частоты. Ланцош [23] предложил практический прием, состоящий в исполь- зовании п (22.9-1) в качестве оценки производной /(0 в точке I, вместо предельного процесса, который имеет сомнительное физическое значение, для диф-
ференцирования приближения усеченным рядом Фурье. Заметим, что то же самое п возникает и в (22.9-1) и в порядке усеченного ряда. Мы не будем воспроизводить здесь выводы; заметим только, что те же самые а-множители (22.7-4), введенные в формально диф- ференцированный ряд, дают соответствующий результат. ГЛАВА 23 НЕПЕРИОДИЧЕСКИЕ ФУНКЦИИ. ИНТЕГРАЛ ФУРЬЕ § 23.1. Цель главы В главах 21, 22 периодические функции аппроксимировались линей- ной комбинацией периодических — синусов и косинусов. Обратимся теперь к изучению непериодических функций и их аппроксимации синусами и косинусами. Вот пример непериодической функции, со- ставленной из двух периодических, у (I) = соз I -|- соз (]/2 (так как 1 и /2 несоизмеримы, то у (I) непериодическая). Приближение непериодической функции периодическими ничуть не хуже, чем пред- ставление периодической функции рядом Тейлора, составленным из непериодических членов 1, х, х2,... Для представления периодической функции использовалось бесконеч- ное, но дискретное множество частот. Теперь для представления непериодических функций придется брать все частоты или, может быть, все частоты из данного интервала *). Основным инструментом при этом служит интеграл Фурье, который будет сейчас коротко рассмотрен; за более строгим изложением отсылаем читателя к стан- дартным учебникам **). Цель настоящей главы — обсудить (нестрогим образом) ряд воп- росов, возникающих в вычислительной практике; именно: 1. Что происходит от того, что узлы выбираются равноотстоящими? 2. Каким образом удается восстановить функцию с ограниченным спектром по ее узлам так, что можно интерполировать функцию для промежуточных значений аргумента или использовать ее в аналити- ческой подстановке? *) Функция, у которой все частоты находятся в некотором интервале, называется функцией с ограниченным спектром. **) Одной из самых последних работ, в которой содержится введение в теорию интеграла Фурье, является [24].
3. Каков эффект того, что рассматривается лишь конечное число узлов для функции, существующей в бесконечном числе точек? Это — те вопросы, на которые приближение многочленами, рас- смотренное во второй части, практически не дает ответа, и они помогают выявить преимущества настоящего метода на этапах пла- нирования, исполнения и обсуждения вычислений. § 23.2. Обозначения и краткое изложение результатов Этот параграф посвящен введению обозначений и формулировкам некоторых результатов, которые будут получены, но не содержит доказательств большинства сделанных утверждений. Ряд Фурье на интервале —- А'1 Л/ можно записать так (см. (21.3-1) и (21.3-2)): 00 оо /(О = ? + 2 с08 77 + 2 51п 5 (23.2-1) *=1 й=| где н аА = ~ (/(Осознай (А = 0, 1, 2,...), (23.2-2) -л А = (А=1, 2,...). -у Если использовать комплексное представление тригонометрических функций то получим со ИС /(0= У, > /г=*—оо (23.2-3) где (23.2-4) Легко видеть, что -IV а-к~1\ Л’>0, А = 0, (23.2-5) ак^1\
Комплексная форма ряда Фурье значительно удобнее в обращении при теоретических исследованиях, чем обычная, но вычисления, конеч- но, всегда проводятся с действительной формой (23.2-1) и (23.2-2). Простота формальных манипуляций с комплексной формой часто скрывает необходимость больших вычислений и в этом месте следует быть осторожным. Но сейчас не требуется проводить никаких реаль- ных вычислений; нужно лишь понять, как влияют различные вычис- лительные методы на окончательный ответ. Для этой цели комплекс- ная форма удобнее в понимании и в употреблении. Заметим, что в комплексной форме существуют и положительные и отрицательные частоты: для каждой положительной частоты мы заменили две функ- ции, синус и косинус, единой экспоненциальной, но имеющей как положительную, так и отрицательную частоту. Покажем сперва (§ 23.3), что соответственно представлению рядом Фурье ((23.2-3) и (23.2-4)) периодической функции имеется представ- ление интегралом Фурье любой функции /(/) = р(3) е^мс1с, (23.2-6) —ОО где Г(а)== (23.2-7) Функция Р(з), грубо говоря, соответствует коэффициентам сА в ряде Фурье (23.2-3) и (23.2-4). Это — спектральная функция или спектральная плотность-, р (о) описывает амплитуду частоты а в функции /(/). Ее называют также преобразованием Фурье функции Обычно употребляют большие и маленькие буквы для обозначения преобразования Фурье и соответствующей функции. Изменение знака показателя степени у экспоненты — единственное отличие между этими двумя функциями. Чтобы различать переменную преобразования, мы используем латин- ские и греческие буквы, латинские — для обозначения времени, гречес- кие — для обозначения частот. Как мы видели в § 21.2, эффект выборки должен вызывать наложение различных частот. Это никоим образом не связано с перио- дичностью разлагаемой функции, а только со смешением частот, использованных для ее представления. Это наложение и является причиной того, что понятие функции с ограниченным спектром играет ведущую роль в теории; если все частоты ограничены интервалом — 2 а 2 ширины 22 и если интервал между узлами равен А/, то, чтобы избе- жать наложения, необходимо иметь 22А/<1. (23.2-8)
Иначе говоря, чтобы избежать наложения, мы должны иметь по край- ней мере два узла на самой короткой волне, присутствующей в раз- ложении. Естественно возникает вопрос: «можно ли восстановить функцию с ограниченным спектром по ее узлам, если в самом деле следовать (23.2-8)»? Интуитивным аргументом за то, что это возможно, является аналогия с интерполяционной схемой Лагранжа (§ 8.3). Функция 81П обладает тем свойством, что ее значение равно 1 при х —0 и нулю при 1= ± 1, ±2, ±3,... Таким образом, функция 8Ш л ((— к) л (I — к) (23.2-9) играет ту же роль, что и Ьк в интерполяционной схеме Лагранжа, так как она равна 1 при / = А и нулю во всех остальных узлах. Далее, 8ш л (I — к) принимает значение функции /(А) при 1 = к и нуль во всех осталь- ных узлах; следовательно, формальное разложение V! г,, ч 8Й1 71 ((— к) п(1 — к) ' СО проходит через все узлы. Легко видеть, что 1 ~^-= $ ~еМа(1о. (23.2-10) -1 Следовательно, согласно (23.2-6) частоты, присутствующие в —, ограничены. Здесь а меняется от — 1 до 1; чтобы представить экспоненту в форме (23.2-6), следует взять 1/2 т.1 л -1/2 1 / 1 „ после чего получаем интервал —Зто соответствует ожиданиям; взяв интервал выборки АI — 1, мы получили, что частота , 1 1 ГТ пробегает интервал от —% до у- существу, полученное разло-
жение представляет собой если заданы необходимые ниченным спектром, то по По аналогии с § 22.5 теорему выборки теории информации*); равноотстоящие узлы для функции с огра- этим узлам можно восстановить функцию, величина ^(О!3 (23.2-11) часто называется спектром мощности; слово «мощность» пришло из инженерных применений, и мы используем его просто по тради- ции. Спектр мощности, или просто спектр, похож на обычный оптический: как входящий луч света разлагается призмой на отдель- ные цвета (частоты), так интеграл Фурье разлагает функцию вре- мени /(0 на гармоники амплитуды Р (у). В § 23.7 будет показано, что для функции, заданной на беско- нечной прямой (—оо<^1<^оо), выбор узлов на ограниченном отрезке должен расширить спектр, и чем короче длина участка, на котором берутся данные, тем больше расширение спектра. Сказанное выше раскрывает суть этой главы и показывает ее значение для вычислительной практики. Ясно, что и эффект расста- новки узлов, и эффект выбора конечного числа узлов могут быть хотя бы отчасти поняты в рамках теории функций с ограниченным спектром, но их нельзя понять в рамках классической теории поли- номиальных приближений. В оставшейся части главы развивается теория интеграла Фурье в той мере, в какой это необходимо, чтобы немного пояснить сказан- ное выше. Мы не хотим оказаться вовлеченными в вопросы матема- . тической строгости, так как класс функций, которые действительно пробуют аппроксимировать на вычислительных машинах, ограничен «функциями с хорошим поведением» и не включает патологические случаи, которыми так часто занимаются математики. Для тех, кому трудно манипулировать с комплексными числами, можно предложить следующие простые упражнения для практики. Если они вызовут затруднения, будет лучше, прежде чем двинуться дальше, еще раз повторить эту тему. Упражнения 23.2-1. Доказать, что | е1Х | = 1 (для действительных х). 23.2-2. Доказать, что тригонометрические формулы сложения следуют из равенства е,ае‘? = е1 23.2-3. - = и -|- IV, выразить и, V через а я Ь. *) В нашей литературе по теории информации для этой теоремы принято, название «теорема Котельникова». Соответствующее разложение называют рядом Котельникова. См. В. А. К о т е л ь н и к о в, «О пропускной способ- ности «эфира» и «проволоки». Материалы к Первому всесоюзному съезду по вопросам реконструкции дела связи, М., 1933. (Прим, ред.)
23.2-4. и 4~ (о = (в + (&)2, найти и, V (обратить внимание на знак а). 00 23.2-5. Доказать, что если ск — с_к, то сумма ряда У} ске‘к‘ дей- Й =—оо ствительна. 23.2-6. Доказать, что если т и к — целые, то г < -ь С 0, т ф к, I е1тхе-1кх а’х==) ’ т- ' ( 2г., т=к. — 1С 4 ' 23.2-7. Пусть/(0 = 4—Найти коэффициенты Фурье в раз- ложении со Л0 = 5 скем. Й==8—00 СО 23.2*8. Пусть /(?)== $ ^(<г) е2п1^ — со Найти преобразование Фурье для /' (г), /’ (/), ((). 23.2- 9. Пусть ( I (— к < п), /(С= „ ( 0 в остальных точках. Найти Р (о). 23.2- 10. Пусть {<г (— г. < а < л), О в остальных точках. Найти Р (I). § 23.3. Интеграл Фурье Чтобы «вывести» интеграл Фурье из ряда Фурье, исключим коэф- фициенты ск, подставляя (23.2-4) в (23.2-3): /(0 = 1 ” а*]е" 277’ к~ — со — .\г Предполагается, что функция /((1) периодическая в интервале — А'’*С Для приближения непериодической функции заставим М стремиться к бесконечности, для чего положим и заметим, что в этой сумме расстояние между точками, в которых берутся соседние экспоненты, ведет себя как Да, которая при А/—> оо будет стремиться к нулю. Имеем со 1\г № — >, [ ) /(0 е (И\ е Да. аэ — ТУ
5 23.41 ПРЕОБРАЗОВАНИЕ ФУРЬЕ НЕКОТОРЫХ ФУНКЦИЙ 311 Но АДо—-а и при М—>оо, получаем интеграл СО 00 Г(1) М] е*™1 йс. — СО —со Положив теперь Г(а)= (23.3-1) — со получаем \ Р(<з)е**1а‘ск. (23.3-2) — ОО Говорят, что функция р (а) явля'ется преобразованием Фурье функ- ции /(О. Соотношения между этими функциями почти симметричны, разница только в знаке показателя о—- — а. Обе функции несут одну и ту же информацию, так как каждая может быть найдена из дру- гой, но только в разных формах: /(/) в области времени, а Р (о) в области частот. Возможностью изучения информации в любом из двух видов и объясняется в основном ценность представления функ- ции в виде интеграла Фурье. Вышесказанное не является, конечно, строгим доказательством, это всего лишь довод в пользу того, что высказанные утвержде- ния верны. Устремляя к бесконечности, мы отказываемся от пред- положений относительно периодичности функции. § 23.4. Преобразование Фурье некоторых функций Соотношения (23.3-1) и (23.3-2) показывают, что каждой функ- ции /(С) соответствует преобразование Р(а) и наоборот. Существуют обширные таблицы ([6], [8]) формул, связывающих /(0 и р (а). Вы- ведем только некоторые из них — те, которые понадобятся для даль- нейшей работы. В качестве первого примера рассмотрим функцию с ограничен- ным спектром 00 /(0 = 5 Р (а) фа, — СО где (рис. 23.4-1) (1 р (а) = < 22 I о для 5 а I Й, для | а | 2. (23.4-1) (23.4-2)
Таким образом, Р (о) ограничивает единичную площадь, а /(/) имеет все частоты в интервале —и никаких вне его. Исполь- зуя (23.4-2), запишем (23.4-1) в виде ,Л<5) -я о аз Рис. 23.4-1. Прямоугольный им- пульс. 2 Л0 = 2-И = -2 I [2 2^и 1-2 ; ЯП 2^ 21 ' 2О.к1 2п9.1 ’ (23.4-3) что соответствует (23.2-10) (рис. 23.4-2). Используя (23.3-1), замечаем, что преобразование имеет вид СО Р(а) = ? (23.4-4) — со где Р (а) дана в (23.4-2). В качестве второй иллюстрации соотношения между преобразова- ниями Фурье предположим, что задана пара функций /(0, р (а), причем /\1) = р(^е^м^. (23.4-5) —ОО Какой функции Д(0 соответствует преобразование Фурье Р (а) Рис. 23.4-2. Функция с ограниченным спектром 181П 2лЙ^ \ (МГ;' Имеем р!(1)= Р ск == Р(а)е*™^ (1<з. — оо —оо Положим у-\-1 = г\ тогда из (23.4-5) следует /,(/)=/(.?) =/(>-]-/)== [5 (а) е2к^] сРз. (23.4-6) — со
Таким образом, в результате умножения функций на экспоненту ар- гумент преобразования сдвигается. Уравнение (23.4-6) иногда назы- вают теоремой сдвига. § 23.5. Функции с ограниченным спектром и теорема выборки В § 23.2 был дан наглядный, но не очень строгий вывод тео- ремы выборки. Вследствие ее важности для вычислительной практики дадим другой ее вывод. Центральная идея теоремы выборки состоит в том, чтобы брать узловые точки функции с ограниченным спектром вдвое чаще наивысшей частоты. Понятие функции с ограниченным спектром широко исполь- зуется во многих областях науки. На практике часто встречается слу- чай, когда вне некоторого интервала р (о) очень мала, и модель, функции с ограниченным спектром является полезной. Однако необ- ходимо сказать несколько слов предостережения. Если функция с ограниченным спектром, то математическая модель говорит, что она не может быть «ограничена во времени», т. е. не может быть равна нулю для всех ни при каком 10. В частности, если /(1) пред- ставляет электрический ток, то придется допустить, что он шел всегда и будет идти вечно. Соответственно если /(/) «ограничена во времени», то она не может быть функцией с ограниченным спектром. Очевидно, не нужно считать математическую модель реально суще- ствующей; она является полезной аппроксимацией физических явле- ний, но не обязательно точно соответствует им. Частота наложения ясно связана со смешением частот из-за того,, что узлы выбраны равноотстоящими. Чтобы вывести теорему выборки,, начнем с формул Е(о) = /(Це^^Л, — ОО со /(0 = $ Р(а)е*™‘<1<з. (23.5-1> — ОО Если Е] (з) периодическая (рис. 23.5-1, а) с периодом — то ЕЦа) имеет разложение в ряд Фурье ОО /тс СО (23.5-2) где 2 /» ** = 22 Т7! (а) е $ = 22 (22) = 22 (22^) • (23.5-3) — 2
Теперь рассмотрим прямоугольный импульс Р(а) (рис. 23.5-1, о) Р(о) = 1 22 О для |<з |<^2, для | а | 2. По (23.4-3) его преобразование есть 8Ш 2те2^ 2те2< (23.5-4) Наконец, поскольку предполагалось, что р (о) имеет спектр, огра- ниченный интервалом —2<^о<^2, рассмотрим Р (о) = Р1 (с) Р (а) 22 и используем (23.5-2) и (23.5-3): 5° ТН °° Р(°) = скеа ’Р(а)22= /, Р (а) е2 # = — со со Теперь произведем обратное преобразование и применим теорему сдвига (равенство (23.4-6)): зш те (201 — к) те(22^^йГ~~- (25.5-5) Таким образом, получилась теорема выборки. Для самой частоты наложения невозможно восстановить функцию, используя теорему выборки, так как если № = 8 и /(()=81птей Рис. 23.5-1. и) Р1 (о) — периодическая; б)Р(з) — прямоугольный импульс. то мы получим все значения в узлах равными нулю и по теореме выборки /(0 = 0.
§ 23.6. Теорема свертки Другим полезным соотношением, связанным с преобразованием Фурье, является теорема свертки. Предположим, что имеются две функции /(/) и §(1). Свертка /(О с р(1) определяется как Л (0 = [ /(в) е(1 — з) аз. (23.6-1) — ОО Заметим, что если для фиксированного I написать I— з— з’, то получим. й(0= /(^ — з'У^^аз', (23.6-2) — со а следовательно, свертка / с р та же, что и свертка § с /. Поставим теперь вопрос: «Что является преобразованием Фурье для свертки /г(0»? По определению имеем щ<з)= { ъфе-^аг. — СО Используя (23.6-1), получим //(а) — $ /(^(^—з^Фзе^'11'Ф1= — СО — СО = /(5)^^ [ [ §(1 — = — ОО —со = /(5)^'2’1'"О(а)^ = Д(а)(д(а). (23.6-3). — со Таким образом, преобразование свертки двух функций есть про- изведение их преобразований. Вышеприведенный формальный вывод доказывает утверждение для двух функций времени; в упражнении. 23.6-1 рассматривается случай свертки двух функций от частоты а. Интересный результат, который следует из теоремы свертки, ка- сается свертки с /(— I) — со Это равно преобразованию произведения преобразований Л (I) = Р (о) Р (— о) е*1" Ол. — СО
Полагая ( = 0, имеем СО со Л(0)= 5 /2($)Й8= $ Р (а) Р (—а) аа. — оо —оо (23.6-4) Упражнения 23.6-1. Доказать, что если И (о) = у р (т) О (а — т) с!~, — со ТО й(0 = /(0?(0- 23.6-2. Доказать формулу, соответствующую (23.6-4), используя упражне- ние 23.6-1. § 23.7. Эффект конечного суммирования Мы можем рассматривать конечное число узловых точек, выбран- ное из бесконечной последовательности узловых точек, как произве- дение истинной функции времени и прямоугольного импульса ( 1 11! < Т, р (Н == ] н 4 ’ (О 11\ > Г. Таким образом, имеем Л (0=^ (0/(0 и по теореме свертки (§ 23.6) СО Р1 &)= р (т) <23-7-1) Чтобы понять смысл этого выражения, рассмотрим функцию /(()== .= Спектр /(() состоит из единственной частоты а = и свертка представляет собой «размазывание» этой частоты в спектр Л(о) = 81П 2“ 7' (а, — а) 2л Г (а, — а) (23.7-2) Чем больше Т, тем уже центральный пик (рис. 23.4-2). В некотором смысле это размазывание и представляет эффект конечной выборки, когда мы пытаемся определить частоту по конечному куску чистой синусоиды. Если теперь представить спектр состоящим из многих частот, то каждая из них будет размазана тем же самым множителем (23.7-2); для предельного непрерывного распределения получим (23.7-1). В оптике это размазывание соответствует разрешающей способности: чем длиннее по времени сигнал, тем лучше можно разделить две близкие частоты.
ГЛАВА 24 ЛИНЕЙНЫЕ ФИЛЬТРЫ. СГЛАЖИВАНИЕ И ДИФФЕРЕНЦИРОВАНИЕ § 24.1. Введение Слово «фильтр», как и выражение «спектр мощности», возникли из физических явлений, изучаемых теорией электрических цепей, но получили значительно более широкое применение. Фильтры, с кото- рыми мы будем иметь дело, удаляют из функции некоторые частоты, примерно так, как масляный фильтр удаляет из жидкости частицы определенных размеров. Теория построения фильтров очень развита, но мы можем здесь лишь коснуться этой темы; придется удовлетво- риться демонстрацией основной идеи и способов расчета некоторых фильтров. Тех, кто интересуется построением фильтров для конкрет- ных инженерных ситуаций, а не вычислителей, мы отсылаем к стан- дартным курсам теории электрических цепей и проектирования фильтров. В этой главе будет изучена роль фильтров в двух типичных си- туациях: с целью сглаживания и дифференцирования данных. Мы старательно избегали этих тем во второй части, в крайнем случае коротко упоминали о них; обе они являются трудными и деликат- ными, и приближение многочленами не дает о них никакого пред- ставления. Дальнейшие примеры будут даны в гл. 25. Типичный способ использования многочленных приближений для дифференцирования состоит в том, чтобы провести интерполяционный многочлен через узловые точки, продифференцировать этот много- член, а затем вычислить производную в узловых точках. Достаточно посмотреть на остаточный член интерполяционного многочлена (см. (8-6-1)) (*—*1) (х —ха)... (х—х„+1)/<ге+11 (6) (п+')! чтобы увидеть, что в узловых точках аппроксимирующий многочлен почти наверняка пересекает функцию; следовательно, узловая точка есть почти наихудшее возможное место для вычисления произ- водной. Иногда, прежде чем дифференцировать, для получения гладкого многочлена используют метод наименьших квадратов. Этот процесс минимизирует сумму квадратов отклонений от первоначальных данных в узловых точках, но ничего не говорит о поведении между узло- выми точками. Таким образом, хотя можно надеяться, что произ- водная оценена правильно, нельзя быть слишком уверенным, что многочлен, проведенный по способу наименьших квадратов, не имеет
318 ЛИНЕЙНЫЕ ФИЛЬТРЫ. СГЛАЖИВАНИЕ И ДИФФЕРЕНЦИРОВАНИЕ (ГЛ. 24 между узловыми точками колебаний, которые будут сильно влиять на оценку производной. Использование для этой цели функций с ограниченным спектром, хотя и не отвечает на все вопросы, все же дает некоторое понима- ние ситуации. § 24.2. Пример простого сглаживающего фильтра Пусть дана функция /(/), зависящая от времени, и по той или иной причине требуется сгладить равноотстоящие узлы Д по линей- кой формуле (1к = Ик). (24.2-1) Что сделается при этом со спектром функции? Предположим сначала, что /(/)— простая синусоида /(0 = е2’',’< (а — действительное число). Удобно ввести обозначение 2ла = ш. Здесь а измеряется в циклах в единицу времени, а со — в радианах в единицу времени. Таким образом, /(О = <44 Возьмем для удобства /г = Д^=1; тогда, используя (24.2-1), по- лучим . , (й+1) . р1ш (й+1) А = (^,ш + 1 + = ~з— (1 4- 2 соз ш). Следовательно, значения / умножились на величину, не зависящую от /г, __I 1 -4— 2 соз I О» = --!----- Важно заметить, что множитель получился не зависящим от к вслед- ствие линейности Если бы §,к были нелинейными функциями от /А, то этот результат не был бы справедлив. В спектре множитель становится равным что равно нулю, когда ш = -у или о = у. Если начертить эту кри- вую (рис. 24.2-1) как функцию частоты а, то можно убедиться, что
формула сглаживания (24.2-1) дает сильный эффект подавления боль- шинства частот в верхней половине спектра. Таким образом, метод функции с ограниченным спектром показывает, что делает с перво- начальным сигналом простой линейный фильтр}, (уравне- ние (24.2-1)): он взвешивает частоты согласно кривой на рис. 24.2-1. Мы задали вопрос о дей- ствии линейного фильтра на единственную частоту, но на самом деле увидели Рис. 24.2-1. Фильтры 1/3 (/6 +/а+1 +/'й+а). его действие на каждую частоту; следовательно, используя представление преобразованием Фурье, мы можем работать с функциями, составленными из всех частот. § 24.3. Пример построения фильтра Как известно, расстояние между узлами непосредственно связано с частотой наложения в спектре. Предположим, что функция (сигнал) имеет ограниченный спектр и максимальную частоту 10 циклов в се- кунду. Это вынуждает ставить 20 точек в секунду, чтобы избежать смешивания частот. Допустим, что интерес представляют лишь частоты, меньшие 5 циклов в секунду. Мы не рискнем взять 10 точек в секунду, так как тогда часть спектра с частотами выше 5 циклов в секунду нало- жилась бы на интересующий нас интервал. Фильтр § 24.2 дает возможность устранить верхнюю половину спектра. Как только фильтр установлен, он уменьшает эти частоты по крайней мере в девять раз. Мы поступим еще лучше, поставив вслед за первым второй сглаживающий фильтр ----г, 4 = «*• (24.3-1) На простую синусоиду = этот фильтр действует так: - V (1 + + е>-°> + е31а>) = е— • Ь-А.-- = е е —е 4ег"/2 ’ е<“>/2_е (ш/2 — е‘(А + 8/2) ет 2и СО 81П у 4
Следовательно, спектр умножается на величину 81П 2® \ 2 4яп-|- ) 81П 4ла 4 81П Л5 (24.3-2) которая имеет нули при а = ’Д, 1Д, ... Результат последовательного действия двух фильтров (24.2-1) и (24.3-1) представляет собой фильтр ___/к Ч~ Ук+1 Ч~ 3/й+8 ~Г У й+з ~4~ ~р//г+5 ““ 12 (24.3-3) который очень хорошо подавляет верхнюю половину спектра (см. Рис. 24.3-1. Частотная характери- стика фильтра (А + 2Д+14-ЗД+2-р + 3/а+з +2/*+4 4-/й+5). рис. 24.3-1, где нарисован логарифм спектра в зависимости от с). После такого сглаживания можно спокойно опустить через один чле- ны Нк, сохраняя, скажем, Игк, и поль- зоваться результатом без серьезных опасений относительно смешения (ча- стота наложения равна теперь 5 сек'')., если только мощность верхней част» спектра не была слишком велика по сравнению с нижней. При оконча- тельном использовании результатов необходимо учитывать эффект, по- лученный вследствие фильтрации на частотах, больших чем 5 циклов в секунду. Таким образом, дей- ствие фильтра (24.3-3) позволяет выбирать часть значений функции, не имея при этом неприятностей сме- шения. Точность для частот между 1/3 и 1/2 первоначальной частоты наложения будет не очень хорошей. 81п тстт у Упражнение 24.3-1. Рассмотреть влияние сглаживания на спектр сигнала при усреднении т последовательных членов. Ответ:, \ И 5Щ 1И / § 24.4. Фильтры вообще Из сказанного выше вытекает, что какую-нибудь линейную ком- бинацию равноотстоящих узлов можно рассматривать как некоторую «фильтрацию» функции. В прошлом, пока соответствующая теория не была достаточно ясна, нередко случалось, что некоторые невинно
выглядевшие преобразования, выполненные на ранней стадии вычисле- ний, существенно влияли на полученный результат, который затем интерпретировался как физический эффект, а не как эффект обра- ботки данных. В качестве примера представим себе белый шум (в котором, как и в белом свете, присутствуют все частоты с одинаковой амплиту- дой, но случайной фазой) и при обработке его удалим почти все частоты, кроме небольшого интервала; тогда последующий анализ показал бы наличие преобладающей частоты, и одна и та же частота появлялась бы независимо от источника белого шума, будь то ры- ночные цены или количество пятен на Солцце. Такие данные могут иметь спектр, отличный от гладкого; но анализ данных, испорченных шумом, требует значительных обсуждений. С другой стороны, как было показано в § 24.3, разумное исполь- зование фильтров может быть очень полезным. Эта область обширна и обычные курсы теории цепей, возможно, являются лучшим источ- ником дальнейших сведений, так как эти идеи редко просачиваются в вычислительные круги. Дальнейшие рекомендации, авторитетные, но трудные для чтения, можно найти у Блекмана и Тьюки*). § 24.5. Анализ простых формул для дифференцирования Возможно, самой простой и наиболее широко используемой фор- мулой для вычисления производной через равноотстоящие узлы является формула Гь =Гк+1~/к-1- (й — шаг). (24.5-1) Проанализируем, что она делает с различными частотами. Предполо- жим, что [(I) = = е‘ш/. (24.5-2) Пусть в А-й узловой точке 1к = к1г. Тогда у = ___ Дифференцирование /(I) дает 1 = (24.5-3) С другой стороны, (24.5-1) дает оценку /л = е'ткН = 1юе^ “> м/2 *) См. |2]. 11 Р. В. Хемминг-
Отношение вычисленного ответа (24.5-4) к верному (24.5-3) опять не зависит от к и равно 81П “й ч>/г (см. рис. 23.4-2). Таким образом, формула (24.5-1) явно уменьшает амплитуду всех частот, кроме и> — 0. Как можно было бы ожидать, те 1 при « = —, т. е. 3=2^, для производной получается нулевое зна- / 1 \ чение — есть частота наложения). Подобный эффект имеет место и для второй производной X" __ /к+1 —У к 4~А-1 /А -- Га Используя (24.5-2), получаем оценку • ? « гшА/г е‘ю!г 2-^-е 1ш/!__ соз шй)__ гМк' " У—6 Л2 ~~ «2Л2--------6 ~ТУ/Г' \ 2 / Правильный ответ есть /" = — «^'“4 так что отношение результатов равно 2 5!П Т /о>Л\2 / <О«Й8 ~1Т которое опять уменьшает все величины, кроме <а = 0. Для частоты 4 /го) = те находим значение производной, равное--е . § 24.6. Как избежать вычисления производных? Часто можно избежать задачи оценки производной. Для примера предположим, что имеются значения /д и известно, что теоретически /(0 удовлетворяет дифференциальному уравнению второго порядка вида Г = НУ, I). Используя его, можно перейти от значений /(0 к значениям /’ (/) и проинтегрировать последнюю функцию, чтобы получить /'(0. Часто интегрирование предпочитают дифференцированию при условии, что отрезок, на котором имеются данные, не настолько велик, чтобы не-
большие систематические погрешности интегрирования дали в резуль- тате большую ошибку. Для частных случаев известны многочисленные другие хитрости, но, по-видимому, общей теории, когда и как можно избежать диффе- ренцирования, пока нет. § 24.7. Метод Филона Те же самые простые идеи, которыми мы пользовались выше, могут дать представление о том, что в действительности делает формула, не вдаваясь в детальный анализ, который был произведен для сглаживающего и дифференцирующего фильтров. В то же время будут выведены некоторые полезные формулы. Часто встречается задача вычисления интегралов вида /(/)= $/(^) соз кШ. (24.7-1) а Филон *) предложил метод, который, формально говоря, относится ко второй части этой книги, так как основывается на многочленной аппроксимации /(7). Точнее, интервал (а, Ь) делится на 2 А' интерва- лов, и в каждом двойном интервале /(7) аппроксимируется квадрат- ным трехчленом. Таким образом, это напоминает составную формулу Симпсона, кроме того, что под интегралом имеется еще множитель соз к1. Идеи метода очень просты, но требуют длинных выкладок **), и мы приведем лишь результаты. Возьмем шаг (24.7-2) и пусть С2„—сумма всех четных ординат /'(7) соз/г/, за исключением того, что от первой и последней ординат берется половина Сгп = /(а) соз ка -ф-/(а -ф- 2/г) соз к (а -ф- 2/г) -ф- —|— /(р -ф- 4/г) соз к (а -ф- 4/г) —|—... —|Ф(^) соз кЬ. (24.7-3) Пусть также С2п_1 — сумма всех нечетных ординат Сгп_1 == /(а ф- Л) соз к (а -ф- /г) -ф-/(а -|- 3/г) соз к {а -ф- 3/г) -ф-... . ..-ф-/'(6— /г) соз к(Ь~ /г). (24.7-4) *) Ь. 14. (1. РИоп, Ргос. Коу. 8ос. ЕФп., ХИХ (1928—1929). **) См., например, [40].
Тогда ^/(0со§ М= Л {а[/(/>) 81П кЬ—/(а)з!пка} $Съп-\-чСгп_1}> (24.7-5) а где 62 4~ в ат 0 соз 0 —2 8Ш2 0 263 205 . 2в7 . а = 03 — 45 “ 315 । 4725 । • • • ’ 2 (6 (1 Н-соз2 0)— 2япвсо8б] _ 2 . 262 .40* . 20е “ ~ ‘ О3 — 3 "Г 15 “Г 105 ‘ 567 + ’ ’ ’ ’ 4 (яп 0—0 соз 0) 4 202 . 0‘ 0е . о „ 1 = ------&------=з--Т5 +210-ТТ340 *24'7'6) В = кИ = ^=^. (24.7-7) Такая же формула относится к интегралу ь ^/(0 зш к1(И= /г {— а [/(&) соз кЬ — /(а) соз ка] -ф- л }> (24.7-8) где 8^п и 8гпЛ — соответствующие суммы для /(^) ®1п к1. Попробуем понять эти формулы при помощи простого примене- ния идей, о которых шла речь выше. Величины, которые здесь вычисляются, являются коэффициентами Фурье, так что ищется амплитуда гармоники /'(/) с частотой к (ра- диан). Величина к есть расстояние между узлами, а величина 6 = йй — его произведение на исследуемую частоту. Теорема выборки пока- зывает, что нельзя надеяться надежно вычислить амплитуду, если не о , 2тг выбраны по крайней мере два узла на участке длиной —; но даже тогда потребовалось бы бесконечное множество узлов. Так как интер- вал (а, Ь) конечен, то можно ожидать, что 9 много меньше, чем те (этот вопрос будет еще обсуждаться в следующей главе). Таблицы коэффициентов а, р, у даны Трэнтером [40] (для 9 в ра- дианах) до 6=1,50 и Копалом ([20], стр. 539) (для 9 в градусах) до 45°. В обоих случаях и в первоначальной работе Филона ничего не сказано, почему таблицы обрываются именно в этом месте. По- чему, если /(/) ведет себя как многочлен, нельзя применять формулу так далеко, как хотелось бы, и делать к, а следовательно и 0, со- всем большим? Раз сделана «аналитическая замена» функции много- членом, то интегрирование делается аналитически. Что останавливает
нас? Очевидно, в основе этого лежит теорема выборки, определяю- щая величину 6, которой еще можно пользоваться. Мы также ожидаем, что при 6 -> О получается формула Симпсона. Уравнения (24.7-5) с (24.7-6) и (24.7-7) ясно показывают это, причем отклонения будут порядка 0$. В принципе можно произвести детальный анализ и определить точно, что делает метод Филона с каждой частотой, но мы этим за- ниматься не будем. Метод позволяет сделать это, но выкладки слиш- ком запутаны, чтобы воспроизводить их в учебнике. Упражнения 24.7-1. Вывести равенство (24.7-5). 24.7-2. Вывести равенство (24.7-8). § 24.8. Заключительные замечания Мы не изложили (и не собираемся делать этого) задачи сглажи- вания и дифференцирования *) во всех деталях. Как уже было ска- зано, это очень деликатные вопросы. Однако основные нити соответ- ствующих рассуждений должны быть ясны. Нам дана функция (сигнал), искаженная шумом, например сигнал отдаленной планеты, или функция, выданная электронной машиной с ошибками округления. Пусть даже у нас есть теоретические оценки спектра функции и шума. Тогда мы сталкиваемся с трудным вопросом создания фильтра, который сделал бы с сигналом то, что нам нужно, а также, если мож- но, удалял бы ненужный шум. На практике часто приходится сталкиваться с задачей оценки ампли- туд нескольких частот из суммар- ного спектра, который задан. Бывает, что измеренный спектр выглядит примерно как на рис. 24.8-1. Этот рисунок наводит на мысль Рис. 24.8-1. Типичный спектр. о том, что мы видим здесь пря- моугольник **) белого шума (наверное, вместе с частотами, наложив- шимися на интервал, допускаемый данной выборкой) плюс сигнал на низких частотах. Мы могли бы поэтому спланировать обрезающий фильтр, который удалил бы верхнюю часть спектра (вместе с неко- торой частью сигнала), и объединить его со вторым фильтром, кото- рый делал бы с сигналом то, что нам нужно. *) Напоминаем читателю а-метод Ланцоша из § 22.9. **) В гл. 32 дается спектральный анализ шума, получающегося от флук- туаций выборки; что же касается соответствующего изучения спектра шума округления, то его еще нужно сделать.
Следует понимать, что, прежде чем строить фильтр, нужно пред- ставлять себе, из каких частот составлен данный сигнал. К сожалению, вопрос об измерении спектра мощности (§ 24.4) лежит за пределами начального курса, и мы должны поэтому оставить здесь эти две важные темы, лишь слегка коснувшись их. Г Л А В А 25 ИНТЕГРАЛЫ И ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ § 25.1. Содержание главы В этой главе будут рассмотрены некоторые формулы интегриро- вания с точки зрения их влияния на различные частоты, а также формулы для интегрирования дифференциальных уравнений. В конеч- ном счете, речь будет идти о методах интегрирования, основанных на приближении функциями с ограниченным спектром. В частности, будут рассмотрены методы Чебышева. Мы видели, что использование обозначения ем,°‘ полезно при различных преобразованиях; оно удобно также при оценке точности формул. Это последнее обстоятельство уже неявно использовалось; исследуем его более внимательно. Предположим, что рассматривается синусоида А зш 2чЫ, Если измерять качество формулы величиной ошибки, то, чтобы установить, насколько данная ошибка серьезнее, нужно различать случаи А=1 и А — 1000. Более разумно оценивать относительную ошибку. Однако для зна- чений вблизи начала координат относительная ошибка может быть очень большой, и здесь следует предпочесть использование абсолют- ной ошибки. При рассмотрении комплексной синусоиды Ае’-'1'’1 для действи- тельных о и / мы видим, что ее модуль является фиксированным по величине | Ае^а‘ | = | А и относительная ошибка дает удовлетворительный критерий точ- ности. Кроме того, при вычислении модуля величины фазовый угол ср исчезает. Таким образом, при изучении функции часто можно пренебречь фазовым углом ср или ввести фазовый угол в коэф- фициент А (который может быть комплексным числом). Но, как будет видно в дальнейшем, относительной фазой различных функций пре- небрегать нельзя.
§ 25.2. Метод передаточной функции для интегрирования В гл. 13 рассматривался класс формул для вычисления неопреде- ленных интегралов. Основное выражение (13.3-1) имело вид У п+1 = а»Уп 4~ а1Упл 4“ а>Уп.-1 4" 4- (^- \.Уп +1 4- ^оУп 4- Ь\уп-1 4" ЬъУп — г)> (25.2-1) где уи — значения подынтегральной функции, а уи — вычисленные значения о Рассмотрим эти формулы еще раз, в свете теперешнего подхода. Предположим сначала, что подынтегральная функция (вход) есть синусоида У (0 — = А}е1ш‘ (ш = 2ка). (25.2-2) (Индекс 1 относится ко входу.) Истинное значение таково: 1/11 . „ у(1) = -^е1т1^-С, С=у(0)-\- 1А1 0) * (25.2-3) Так как основная формула (25.2-1) линейна, то можно полагать, что вычисленные значения (выход) имеют ту же частоту, хотя, возможно, другие фазу и амплитуду. Пусть Ао—амплитуда выхода, причем ве- личину Ао можно считать комплексной, чтобы включить в нее фазо- вый угол. Таким образом, предполагается, что вычисленная у(1) с точностью до ошибок округления имеет вид у (0 = А04шг. (25.2-4) Подставим теперь эти функции (25.2-2) и мулу (25.2-1) и разрешим ее относительно (25.2-4) в основную фор- А отношения А„_____/I (1>_1 + у Ь.е-^ у А, 1 _ ао0-М — в1г2‘“л — а2е~зМ (25.2-5) Это отношение, называющееся передаточной функцией, является множителем, на который умножается амплитуда данной частоты, для получения выходной амплитуды той же частоты. Идея передаточной функции есть просто формальное утверждение того, что часто дела- лось в гл. 24 при рассмотрении поведения отдельной частоты. Рассмотрим более детально простой случай правила трапеций (12.2-1) Уп + 1 = Уп 4“ "2 (.Уч +• I 4" Уп)-
Очевидно, в (25.2-1) а0 = 1, а1 — а% = О, и передаточная функция имеет вид Ло____д Д, 2 1 1 — е_/“л со к. СОЗ -7Г- ----------у- — — I 9. . «Й 2( ЯП (25.2-6) к Сравнивая фазовые углы этого результата с истинным значе- нием (25.2-3), видим, что они чисто мнимые, и мы имеем пра- вильную фазу для всех со. Если сравнить амплитуды, оставляя в сто- роне начальные условия как несущественные, то следует сравнить у с1§ у с Для маленьких шк имеем Й сой к [ 2 СОЙ (сой)3 1 1 СОЙ2 <о3Й4 Т С‘е т —- Т [Дй 6 360 • ~ Д 12 ~ 'ТОО ~ • • Следовательно, отношение вычисленного ответа к точному, равное ш2к2 <»4к* 1 12 'Т2П~~’“' <о2й3 отличается от 1 на величину порядка-------- И передаточная функция, и отношение вычисленного ответа к точ- ному являются функциями частоты ш и шага к. Отношение содержит только произведение <о/г и показывает, как выбор шага влияет на частоту при одной и той же ошибке. Теперь рассмотрим формулу Симпсона (12.2-2) Уп+1 =Уп — 1 “Ь “з"(Уп+1 Ч~ О- Для (25.2-1) здесь имеем о0 = 0, а, — 1, д.2 = 0, , _ 1 , _ 4 . _ 1 — У- &о—з", —у> Передаточная функция имеет вид До __к (1 + 4(е-,ъ* Д- е-2‘“А)_ (й Л, — 3(1 —е-2‘шЛ) ~ 3 и опять дает правильную фазу для всех ш , 1 маленьких шп амплитуду порядка —. б.2 = 0. • см “-ф- (25.2-7) (множитель — I) и для
Наконец, рассмотрим правило трех восьмых (12.2-3). Передаточ- ная функция здесь выглядит так: ЗА 1 + Зе-^‘ + Зе^ + . ЗЛ С03 “ + 3 С05 Т , У 1 _ е-^ ’ 8 ЗюЛ • 1 Чтобы стандартизовать приведенные формулы, возьмем отношение точному и выберем масштаб о> так, вычисленного по ним ответа к чтобы А стало равным единице.. Тогда получим: для правила трапеций для формулы Симпсона тт / \ 2 4" СОЗ 03 /ПК п п\ /72(ш) — ----4; (25.2-9) для правила трех восьмых За о> Зм соз-2-4-3 созу ----------~3й—• 81п 2 Соответствующие графики представлены на рис. 25.2-1. По оси ординат использована логарифмическая шкала, ибо если будет допущена ошибка в определении этого отношения, скажем, вдвое, то не имеет значения — в какую сторону. По оси абсцисс отложены как Рис. 25.2-1. Частотная характеристика некоторых формул интегрирования. значения частоты со, так и значения скорости выборки — (оси на- правлены в противоположные стороны). Легко видеть, что, если су- дить по величине ошибки, формула Симпсона — лучшая из трех (для достаточно большой частоты выборки). На рис. 25.2-1 показана также кривая для формулы Уп +1 = Уп — 1 "ф- Л (0,3584у„1 -ф- 1,2832_у„ -ф- 0,3584ул _ 1). Коэффициенты ее были определены экспериментально Лео Тиком так, чтобы в интервале О «С ш у ошибка имела чебышевскую форму (см. гл. 19), а также чтобы формула была точной для со = О. Ясне,
что скорость выборки была здесь удвоенной по сравнению с Найк- вистом. Тот факт, что график для правила трапеций идет вниз, тогда как для формулы Симпсона — вверх, требует некоторого пояснения. Фор- мула Симпсона повышает амплитуду высоких частот, тогда как пра- вило трапеций стремится сгладить их. Хотя в действительности мало что известно об эффектах округления, неожиданные скачки функции, обусловленные округлением, порождают высокие частоты; следова- тельно, формула Симпсона увеличивает их, тогда как правило трапе- ций стремится их сгладить. Если рассматривать формулу Симпсона как функцию скорости выборки, то при пяти узлах на цикл ошибка на шаг составляет около 1,5%, что почти всегда слишком много. При семи узлах на цикл получается грубое, но иногда полезное приближение, а при десяти совершается ошибка, меньшая 0,001, что во многих случаях достаточно хорошо. До сих пор рассматривалась главным образом единственная ча- стота ш = 2ко. Предположим, что берется произвольная функция (вход) /;(/)= Р(с)е*™‘(1а. — ОО Каждый член преобразуется при помощи передаточной функции О (ш) = О (2кз) = 01 (<з) и на выходе получается СО - оо Справа имеем преобразование произведения и, применяя теорему свертки (§ 23.6), получаем ОО 4(0 = 5 4 (25.2-10) — со Таким образом, свертка преобразования ^(^) передаточной функции §1 (о) с входной функцией Д (0 дает выходную функцию 4(0- Передаточная функция О] (с) содержит всю информацию о фор- муле интегрирования и в некотором смысле эквивалентна приме- нявшейся формуле. Упражнение 25.2-1. Рассмотреть условия, необходимые для того, чтобы формула интегрирования имела правильную фазу (—/).
§ 25.3. Общие формулы интегрирования Применение передаточной функции дает точную фазу для трех формул, которые исследовались в § 25.2, а также для формул, исследованных в гл. 24. Когда исследуется общая формула (25.2-1) для случаев, перечисленных в таблице 13.7-1, дело будет обстоять не так гладко. Например, при использовании метода Адамса — Баш- форта получаем (/г=1) /а> /со З/со 5/со 9-ф- 19г~'ш —5г“2'ш- ' 24 (1 — е~1“) и числитель не является чисто жения в скобках для ма- леньких о) есть О) , - . Зш . 5ш1 . -ф- 5 81П 2-----81П у ~ со5. Действительная часть этого выражения имеет вид А “ I , А “ 9 соз у -ф-19 соз у — _ Зи , 5и> 1 — 5 соз у -ф- соз у- . так что точного мнимого леньких отклонение числа от очень мало со. переда- чисто для ма- То, что фаза неправиль- на, не следует принимать слишком всерьез. Хотя и амплитуду, и фазу можно 2 [9е 2 -ф- 19г 2 — 5г 2 изучать отдельно, здесь ин- Рис. 25.3-1. тересно лишь, насколько по- лученный ответ отличается от истинного. Рассмотрим поэтому величину |, (25.3-1) которая дает хорошую единую меру ошибки*). Отношение —тМ, *) В некоторых задачах, например во многих задачах акустики, ошибка в фазе имеет второстепенное значение; но в других задачах, таких, как опре- деление взаимных спектров, они могут иметь первостепенную важность.
которое использовалось раньше, может быть близко к I и все же иметь большую ошибку в фазе; мы не встретились с этим до сих пор, так как в изучавшихся случаях фаза была в точности пра- вильной. Рис. 25.3-1 показывает эту величину как функцию частоты Таблица 25.3-1 /со А п , ( — 11 для различных методов интегрирования А/ I Частота выборки Угол Трапеций Адамса — Башфорта Симпсона Грех восьмых 25,00 0,08л 5,27 X Ю'2 1,05 X Ю'4 2,23 х Ю-5 5,06 х Ю~ 5 16,67 0,12л 1,19 X Ю'8 5,29 х Ю'4 1,14 X Ю'4 2,61 х 10-‘ 12,50 0,16 г. 2,11 X Ю'8 1,66 X ю-’ 3,66 х Ю'4 8,49 X ИГ4 10,00 0,20л 3,31 X Ю'2 4,02 X Ю'3 9,08 X Ю'4 2,15 х Ю-3 8,33 0,24л 4,78 X Ю-» 8,25 X Ю'3 1,92 X Ю'3 4,67 X 10~8 7,14 0,28л 6,53 X Ю-’ 1,51 X Ю'2 3,66 X Ю'3 9,16 X Ю-’ 6,25 0,32г 8,57 X Ю'2 2,54 X Ю'2 6,44 X Ю'3 1,68 X Ю'2 Частота выборки Угол Одной трети Половины Двух третей 25,00 16,67 12,50 10,00 8,33 7,14 6,25 0,08л 0,12л 0,16л 0,20п 0,24л 0,28л 0,32л 5,05 X Ю*6 2,60 X 10~4 8,39 X ИГ4 2,11 X Ю~3 4,53 X 10~3 8,75 х 10-з 1,57 х Ю~2 5,00 X 10*5 2,55 X ИГ4 8,10 X ИГ’ 2,00 X Ю~3 4,18 X 10-’ 7,85 х 10'3 1,36 х Ю~2 3,44 X Ю-5 1,76 X 10~3 5,66 X Ю~4 1,41 X 10'3 3,02 X 10-’ 5,78 X 10~8 1,03 X 10~2 1,28 X Ю"4 6,24 X 10"4 1,88 X Ю'8 4,34 х ИГ3 8,51 х Ю'3 1,49 X ИГ2 2,41 X ИГ2 Таблица 25.3-1 дает значения величины (25.3-1) для употреби- тельных скоростей выборки. Исследование таблицы показывает, что из устойчивых методов (кроме метода Симпсона) наименьшую ошибку для низких и умеренных скоростей выборки имеет правило двух третей. § 25.4. Дифференциальные уравнения Имеется существенная разница между вычислением неопределен- ного интеграла и решением обыкновенного дифференциального урав- нения. Чтобы это стало ясно, предположим, что есть дифференциаль- ное уравнение /=Ду+/(0
и неопределенный интеграл /=/(0- Для интеграла блок-схема вычислений имеет вид Л0->| 5 ру(0. а для дифференциального уравнения В последней имеется петля обратной связи. Это различие делает более подходящим другой подход к инте- грированию уравнения, хотя при желании может быть использован метод передаточной функции. Мы будем пользоваться методом иссле- дования величины ошибки на каждом шагу вместо отношения вы- хода к входу, так как обычно это более существенно для диффе- ренциальных уравнений. В действительности мы лишь даем разные ответы на вопрос «какова точность?», так как разные случаи тре- буют применения различных критериев точности. Примем общую формулу (15.2-1) (которая выглядит так же, как и в §§ 25.2 и 25.3, но является другой по смыслу, так как значения у' теперь получаются из значений у через дифференциальное уравнение) у п+1= айУп 4~ 4~ а^Уп-ч 4- (^-О'чг 14~ ьйуп 14- 4~^Чйл—я)- (25.4-1) Чтобы изучить частотное поведение (25.4-1), подставим функцию у (() = — ем (ш = 2кз) и вычислим ошибку как функцию частоты О (а) = (ш) = е' “^+Л) — айе1а,( — — — Л/ш 4- Ь,ем 4- ] С?! (ш) | = 11 — айе м — — /йш (й_! 4- Ьае^ш1г ф- д^‘ю‘ 4- й3е'3,шЛ) |. (25.4-2) Если взять теперь общую функцию у(1)=^У)= $ Е(а)е2л‘3^т,
то ошибка будет /? [/ (0] = У Р (а) О (а) е^°гЛс. (25.4-3) — 00 Используя теорему свертки, получаем СО со К[/(0]= = 5 ^-5)у(5)й?5 (25.4-4) — СО — оо В этом виде ошибку можно сравнить с ошибкой из гл. 11. В частности (см. равенство (11.3-8)), в А где 0(х) была названа функцией влияния и составлена из членов вида (Хй — 5); ... Здесь опять выступает важное различие между двумя теориями: мно- гочленный метод приводит к выражению ошибки в виде интеграла от т-й производной функции, умноженной на функцию влияния, тогда как метод интеграла Фурье приводит к использованию самой функции или ее преобразования, а не /и-й производной и, конечно, другой функции влияния (см. также (25.2-10)). Однако вид формулы (25.4-4) обманчив; если функцию — $) исследовать тщательнее, то можно увидеть, что это просто замаскированная формула (25.4-1). § 25.5. Построение фильтров по методу Чебышева К первой стадии построения фильтра приводит уже понимание идеи метода. На практике возникает так много различных задач, что нельзя надеяться охватить их все. Мы удовлетворимся поэтому только беглым очерком, проясняющим чебышевский подход к конструкции фильтров. Одна из целей этой книги — привести читателя к тому, чтобы он мог сам применять предложенные принципы и строить фор- мулы. Мы надеемся, что достигли этой цели. Предположим, что требуется построить такой метод интегрирова- ния дифференциальных уравнений, чтобы ошибка в области частот имела чебышевскую форму, а не форму, имевшуюся ранее — очень хорошую вначале и все ухудшающуюся, когда частота возрастает. Для некоторых целей чебышевский вид ошибки явно предпочтительнее ошибки в виде степенного ряда. Начнем с преобразования нашей области частот, но так, чтобы она была заключена между —1 и -ф-1; после этого можно использовать стандартные чебышевские многочлены. Если принять общую. формулу
предыдущего параграфа (равенство (25.4-1)), то придем для ошибки в частоте «> к функции О (равенство (25.4-2)) — /йш 4- Ьае‘ш14- 4- (25.5-1) Вспомним теперь гл. 19. Там было замечено, что если нужно иметь ошибку й виде многочлена Чебышева, то следует рассматривать все выражение взятым в виде многочленов Чебышева. Для этого нужно уметь выразить через многочлены Чебышева. В известной книге Ватсона «Теория бесселевых функций» [41] приводится производящая функция п. = — 00 Положим / = /е'в и, используя равенство 4(г)=(-1)Ч(4 или, что то же, (/)4(г) = (П(4 получим е1г С05 9 —. уо 2 У (/)% (2) СОЗ П в. п----- 1 Положим соз 9 = 0); тогда = Л (д) + 2 (04 (4) Тп («>) л=1 (— 1^<0<1). (25.5-2) В (25.5-1) вынесем за скобки член е‘"‘‘ и получим | С(о) | = \е1аЛ — а0 — а^11 — а.е ^11 — г/гш (Ь_,ем 4- + 4- ь1е-‘ш'14- Используя (25.5-2) (г — Н, 0, — И, — 2/г по очереди) и соответст- вующие тождества для шТк(ч>), можно превратить все в разложение по чебышевским многочленам с комплексными коэффициентами (вклю- чающими бесселевы функции). Если приравнивать все коэффициенты нулю, то получим одно урав- нение для каждого комплексного коэффициента. Можно использовать все эти уравнения, но лучше сохранить свободными один или два параметра для устойчивости и других желаемых свойств. Результатом была бы кривая ошибок, которая не равна нулю при нулевой частоте, что, вероятно, приводит к затруднениям; простое уравнение У — 0, у (0) = А # О
имело бы решение, отличное от постоянной. Чтобы исправить это, можно начать с требования, что нулевая частота удовлетворяется точно, в результате чего 1 — «О а1 Н- а2> и только затем начать приравнивать коэффициенты нулю. Таким обра- зом, можно добиться уверенности, что в пределах округления нуле- вая частота вычисляется точно. Заметим, что если сохранить тот же самый интервал частот и изменить скорость выборки за счет изме- нения И, то меняются все коэффициенты, а не только множитель 1г, как в случае многочлена. Итак, мы в основном обрисовали метод Чебышева. Из сказанного видно, как найти желаемую формулу при условии, что мы согласны несколько поработать, чтобы получить ее. И это верно для широкого класса формул — общий метод часто оправдывает себя при условии, что мы сделаем некоторую трудную работу и имеем немного вообра- жения, чтобы преодолеть несколько запутанных мест. Искусство на- хождения формул практически сводится к науке; методы, развитые до сих пор, достаточны, чтобы обеспечить больше формул, чем сущест- вует места, чтобы перечислить их в книге во много раз большей, чем эта, так как существует много комбинаций идей, которые могут быть использованы при различных обстоятельствах. Есть надежда, что читатель теперь будет чувствовать, что он может с некоторым трудом выводить формулы, соответствующие ситуации, вместо того чтобы подгонять ситуацию под классические формулы; надеемся, что он так и будет поступать. § 25.6. Некоторые детали метода Чебышева Так как методы Чебышева не часто встречаются в литературе, рассмотрим детальнее формулы интегрирования. Пусть формула инте- грирования имеет стандартную форму У п+1 ~ ай>’« 4~ а1Уп1 ~|- О^уп_а /г “4 + ^ьУл-1 “Ь &ъУп — г)- (25.6-1) Предположим, как и в методе Фурье, что у (0 используя уравнение (25.2-2), получим СО У (0 = Л (0 + 2 2 (04 (0 Тп (о>). (25.6-2) Производная равна со У (0 = Л (О + 2 2 (0 Тп («). (25.6-3) И=1
Подставим теперь эти два выражения в (25.6-1), используя соответ- ствующие значения I, а именно 1 = Н, 0, —И, —2Н, и вынесем за скобку е1'1'111: л(Л)=2 2 (оч (й) ?’„(<»)= п — 1 = а070 (0) + а, [Л (- Л) + 2 2 (/)4 (- Щ Тп (ш)]4 /г— 1 Ч~ [Л(— 2/г) ~Н 2 (1)пп{— 27г) Тп(<’))]-}’ п=\ + Ь^И [Л (/?) + 2 (гУЛ (Л) Тп (<о)]+ п = \ 4- 4/г 12/7; (0) л (ш)] + ьгп [4 4042^ (04 (- л) тп («>)] 4 п — \ 4 4/г [Л(—2А) 4 2 (г)4 (- 2/г) Тп (со)]. П=| Преобразуем это выражение так, чтобы получить разложение по мно- гочленам Чебышева, и приравняем коэффициенты при •К (4 — ао 4 а4 (^) 4 а4 (2(0 144 (й) — 44> (4 — 44 (2(01- При 4 (/г) = - а^1 (/г) — а4 (2/г) 4 /г [7г л7] (/г) 4 Ь^’ (0) 4 444(4444(24], (25.6-4) ЛкО1) — ( — 1) [«4 (/г) 4 а4 (2Л)] 4 [^-4 (Л) — - (-1/4Л (4 - (-1)44 (2/г)]. Первый (вырожденный) случай, который нужно рассмотреть, экви- валентен правилу трапеций; положим аг = а.2 = 4 = 4 = 0- Потребуем также выполнения условия, чтобы (25.6-1) было точным для _у=1; это достигается при а0= 1. Теперь возьмем коэффициенты при Т'о(со) и Т1 (со): 70 (/г) = 1 4 /г/гл70 (и), 4 (/г) = /г [/г _4 (гг) 4 /г04 (0)].
Из них получаем ,/0(А) =— + (//), Ь 1 = 'У//а?~> ьо = 2 Л (Л)--. (25.6-5) Н]1 (Н) ’ и Л 4 ' Для того чтобы понять и проверить эти равенства, исследуем, что происходит при /г—• 0. Как известно, , -ч _ 1 (АГ Г 1 _ №)а _| _____________(г/2Д _ л(- п! \2 ) I п-4-1 Г 2! (п-Н1) (ге4-2) _____________(г/2)6_________ 3! (п +1) (п + 2) (п + 3) так что . /1Л 1 Л2 I А4 До (/г) — 1 — -4 + §4 — • • , I /ю _ Л _ & I А5 _ 2 16 4 384 А^_ А^ । А6_______ 4й)- 8 96-]“ 3072 И . _ 4 64 ' 16 1 2’ 2 16+ V Я) Сначала может показаться удивительным, что коэффициенты Ь{ и Ао различны, но небольшое размышление показывает, что в этом нет ничего неожиданного. Все дело в том, что мы проводили кривую ошибки через нуль при о> = 0, а потом пытались сделать главный член в разложении ошибки пропорциональным Т%(ы), которое, оче- видно, не имеет нуля при <» = 0. В действительности этот случай вполне тривиален. Теперь рассмотрим случай, когда используются два старых значе- ния функции и производная, положив лишь а., = — 0. В этом случае сохраним для устойчивости один параметр. Таким образом, имеем уравнения: св. чл.: 1 = я0 + а(, То (ш): Л (А) — ао ~Ь (А) А [ А + (/г) — (&)], Л (ш): Л (/г) = - (й) + й [Ь^ (А) + (0) + (й)], Л (®): Л (А) = (/г) + /г [6.+' (/г) — Ь^г (/г)].
Второе уравнение можно записать, исключив а0, в виде О = (1 — Л) (1 — «1) + М (Ь - *х)> а четвертое уравнение как откуда видно, что й] = 1, Ь_1 = Ьк. Мы находимся на границе устойчивости (см. упражнение 13.7-1). Из первого уравнения получаем ао = О. Теперь третье уравнение имеет вид ^(О) — у, 271 = 4- . (25.6-6) Когда /г — 0, оно переходит в уравнение 24т + 4 = 2, (25.6-7) как и должно быть. Эти результаты напоминают метод Тика (см. § 25.2), который использовал четыре узла на цикл /? = у .В своем методе он прибавил условие (25.6-7), означающее, что метод интегрирования точен, когда у (I) есть прямая линия. Используя метод Тика, можно решить уравне- ния (25.6-6) и (25.6-7), которые дадут ^-1 — 2? 1 ~ °’35785 (Л = 4'). что очень хорошо совпадает со значением 0,3584, найденным Тиком. Полученное решение применимо при любой частоте выборки. В этом примере члены более высокого порядка в разложении Чебышева, оче- видно, дают очень маленький вклад. При другом методе можно сделать формулу точной для частот, 43 которые соответствуют нулям Т3 (<«), а именно <« = 0 и ± таким •образом, кривая ошибки имела бы вид Т3(у>). Эти примеры показывают некоторые принципы чебышевского ме- тода. В конкретных случаях, однако, часто имеются особые обстоятель- ства, которые влияют на выбор формулы, соответствующей данной ситуации. Большое количество таких деталей мешает дальнейшему изложению этого метода в элементарном курсе.
Г Л А В А 26 ЭКСПОНЕНЦИАЛЬНАЯ АППРОКСИМАЦИЯ § 26.1. Введение Из трех классов функций, которые были рассмотрены в § 7.4 и которые инвариантны относительно сдвига независимой переменной — многочленов, синусов и косинусов и экспонент, — мы изучили много- члены в главах с 7 по 20, синусы и косинусы в главах с 21 по 25, и теперь в одной короткой главе поговорим об экспонентах. Для объяснения такого несоответствия в изложении можно привести несколько доводов. Во-первых, класс многочленов инвариантен также относительно изменения масштаба и, следовательно, в некоторых отно- шениях более важен. Во-вторых, значительная часть глав о многочле- нах была посвящена развитию техники, которая может быть исполь- зована и для двух других классов. В-третьих, многочлен часто имеет меньше параметров, чем экспоненциальное выражение, что делает эти параметры более удобными для исследования, но менее эффективными при использовании во многих ситуациях. Верно также и то, что экспоненты могут быть представлены как синусы и косинусы чисто мнимого аргумента, и мы опять находим, что некоторые детали уже исследованы. Еще одна причина состоит в том, что литература и история математики отводят классу экспонент вто- ростепенную роль по сравнению с двумя другими классами. Наконец, переход от частностей к общим идеям есть часть плана этой книги, и поэтому мы умышленно опускаем сейчас много деталей. Задачи экспоненциальной аппроксимации можно грубо разделить на два класса: те задачи, где показатели степеней заданы, и те, где они неизвестны. Рассмотрим сначала случай, когда они заданы. § 26.2. О нахождении формул, использующих экспоненты, когда показатели экспонент известны В гл. 10 был развит достаточно общий метод нахождения формул. Там же он был применен к случаю многочленов; используем этот метод снова. Предположим, что имеется линейный оператор Ь (/), например, интегрирования, дифференцирования, интерполяции и т. д. (см. § 10.3), и требуется представить ответ как линейную комбинацию узловых значений с весами (производные исключаются только для удобства) Ь (/) = да0/(^0) + «V(*1) + • • • + «'«-1/(^л-1)- (26.2-1) Здесь имеется п параметров •••> и, следовательно, можно (мы надеемся) сделать формулу точной для п функций .еа°\ еа‘х, ...
..., еап ~ 1*. Часто аа — 0, так что в число таких функций входит константа. Уравнения, соответствующие (10.3-1), принимают вид тк = 4~и'ХУ1 _ 1 (А = 0, 1, ..п — 1), (26.2-2) где, естественно, пгк = А (еакХ). (26.2-3) Возникает вопрос, можно ли обратить эту систему уравнений; это зависит от значения определителя \еакХ/\ (к = 0, 1.........п—1; / = 0, 1, ..., п — 1). (26.2-4) Предположим, что ак расположены равномерно и, более того, что ак — 1г. Тогда положим = Иу (26.2-5) и определитель принимает вид | Ну |, (26.2-6) а это — определитель Вандермонда (см. § 8.2), не равный нулю, кроме случая —Ху для некоторого / #Это и не удивительно, так как замена переменной (26.2-5) приводит нас к случаю многочленов. Рассмотрим теперь общий случай равномерно расположенных зна- чений ак и положим ак = а 4- Ыг. Тогда (26.2-2) принимает вид , П—1 п—1 Пк~ у, те>уеа*х/= у (хю}еах1)(еьх>)к. / = 0 /=0 Положив •й^еах^= е6х\— и имеем тк = хё}-и/, что опять есть случай многочленов. Таким образом, случай равномерно расположенных показателей есть просто замаски- рованный случай многочленов. Если решить систему относительно (или й>А), то найдем искомую формулу. Когда показатели известны, но неравномерно расположены, дока- зательство того, что определитель (26.2-4) отличен от нуля не так просто, и мы не будем здесь дальше рассматривать этот случай. Во всех случаях решение уравнений (26.2-2) дает искомую формулу.
Упражнение 26.2-1. Найдите двумя различными методами формулу 1 ^/(х) ах = а0/ (0) + а,/2/( 1/2) + «1/(1)> которая точна для /(х)=1, е~х и е~2х. § 26.3. Неизвестные показатели Случай интерполяции или представления функции в виде суммы экспонент с неизвестными показателями важен, так как он является основой аналитических замен. Прони дал простой метод нахождения показателей степени для равноотстоящих данных. Пусть /(х) = Аое““'* ^А]еа1Х+...-^А^1еа/г-'х (26.3-1) для некоторого множества равноотстоящих значений х = ху (у = 1, ... ..., п). Не будет ограничением считать, что х^ = /. Прони заметил, что если все члены са‘х (/ = 0, 1, ..., к— 1)удов- летворяют некоторому разностному уравнению А-го порядка с посто- янными коэффициентами, то характеристические корни этого уравне- ния равны р — еа‘. Следовательно, /(х) также удовлетворяет этому разностному уравнению. Пусть это разностное уравнение есть + + + + = 0 (/ = 0, 1, 2, ...). (26.3-2) Возможны два случая. Если мы имеем ровно столько же уравне- ний (26.3-2), сколько неизвестных ст (т = \, 2, ..., к), то следует рассмотреть «персимметричный» определитель (см. § 10.6) !/(/ + «)!• Если он не равен нулю, то можно решить уравнения для С]. Зная Ср найдем характеристическое уравнение р* -Ь С1Р* 1 + • •+ ск — 0 и из его корней находим Заметьте, как сильно это напоминает метод решения системы для гауссовой квадратуры (§ 10.6). Теперь, когда известны а;, можно решить первые к уравнений для А,-. Таким образом, 2/г равномерно расположенных узлов /(х) определяют 2к неизвестных а, и А,-. Если имеется больше чем 2 к узлов, то можно использовать метод наименьших квадратов (главы 17 и 18) и получить нормальные урав- нения, соответствующие (26.3-2), из которых найти по очереди аг и А;. Как только есть интерполирующая функция, мы можем произвести аналитическую замену и найти любую формулу, которая нам нужна. Если мы хотим прийти к ответу, не проходя через интерполирую- щую функцию, достаточно просто подставить моменты на место зна-
чений функции (26.3-1); естественно, что мы используем столько моментов, сколько неизвестных, а именно 2к. Опять же общий метод достаточен для нахождения формулы, которую мы хотим иметь, однако следует быть осторожным. Ответ может зависеть от того, в каком месте задачи произведена аппроксимация функции суммой экспонент. Упражнение 26.3-1. Подобрать функцию у, = Де а^хЛ8е “2Л но сле- дующим данным: 0 1 5,5 5,0 2 3 5,1 4,3 § 26.4. Предупреждения Хотя в принципе выше было показано, как находить показатели, на практике не всегда все идет так хорошо: иногда случается, что число членов в представлении (26.3-1) не известно, а должно быть найдено. Иллюстрацией этого является радиоактивный распад, где члены соответствуют различным периодам полураспада в цепи распада, кото- рый исследуется. Рассмотрим простой случай попытки различить Выражение в скобках равно , е2/2 . сЧ* 1 1 2+24 Разность зависит от г2, и только для больших I можно надеяться за- метить ее на фоне шумов измерений; но для больших I величина мала! Аналогичная ситуация возникает в преобразовании Лапласа о Если дано Р (о), легко вычислить /(^), но если есть /(0, заданная по точкам, то задача нахождения Р (<з) более трудна. Ланцош [23] го- ворит: «... это показывает, что физические наблюдения преобразова- ния Лапласа никогда не могут привести к решению задачи восстанов- ления оригинала с достаточной степенью точности». Одна из трудностей состоит в том, что значения Р (~) для больших а определяют значения /(^) для маленьких I и наоборот. Если /(I) удовлетворяет некоторым
дополнительным условиям или если мы располагаем дополнительной информацией о Р (о), то обратное преобразование можно иногда найти. Читатель не должен отступать, если он встретится с обратным преобразованием Лапласа, так как отдельные результаты иногда можно найти, но удовлетворительные общие методы автору пока неизвестны. § 26.5. Экспоненты и многочлены Когда общее поведение задачи имеет экспоненциальный характер, использование многочлена, возведенного в подходящую степень, часто более удобно, чем сумма экспонент. Метод интегрирования Гаусса — Лагерра и метод, использованный в последней части § 16.5, иллюст- рируют это высказывание. Так как общая техника, необходимая для реализации этого предложения, уже изложена во второй части книги, нет нужды обсуждать ее дальше. § 26.6. Остаточные члены Когда формулы найдены, естественно поинтересоваться остаточными членами. В гл. 11 мы начинали с разложения (равенство (11.3-2)) про- извольной функции /(х) по функциям 1, х, ..., х'м, для которых формула была сделана точной. Это разложение обобщено на произ- вольные множества функций; изложение этого вопроса можно найти в превосходной (но трудной для чтения) книге Хаусхолдера «Основы численного анализа» [16]. На практике польза таких остаточных членов сомнительна и они пока редко употребляются. Остаточные члены, соответствующие фор- мулам для функций с ограниченным спектром, по-видимому, еще не исследованы. ГЛАВА 27 ОСОБЕННОСТИ § 27.1 Введение В § 7.4 был отмечен тот факт, что имеется, по существу, только три класса функций, которые как классы инвариантны относительно сдвига независимой переменной. Эти три класса были рассмотрены во второй части, в главах 21—25 и 26 третьей части, посвященных соответственно многочленам, функциям Фурье (з!п пх, соз пх) и экс- понентам. Значение инвариантности при переносе независимой переменной теряется, если функция имеет особенность, так как расположение осо-
бенности дает естественное начало координат. Кроме того, особенности, характеризующиеся стремлением значений функции к бесконечности для конечных значений х, можно аппроксимировать лишь рациональ- ными функциями. Мы несколько раз были близки к рассмотрению особенностей и указывали в § 16.5, что использование множителя для действия с особенностью обычно лучше, чем использование аддитив- ного члена. В § 1.9 делалась замена переменного, чтобы устранить особенности. Использование известного поведения функции вблизи особенности сильно,- помогает вычислениям. Большая часть этого искусства лежит в области чистой математики и, следовательно, за пределами этой книги. Ограничимся поэтому двумя иллюстративными примерами, после чего сделаем несколько общих замечаний. Однако, как только класс функций определен, процесс нахождения отдельного представителя этого класса следует по тому же пути, который использовался и раньше, а значит, об этом можно больше не говорить. § 27.2. Пример интеграла с особенностью в бесконечности Предположим, что рассматривается интеграл /(х) — ех'Лх. о Известно, что его асимптотическое разложение есть рх но оно непригодно вблизи х — 0. Тогда напишем / (х) = е*3 йх = е*3 О (х) о и попробуем определить О(х). Продифференцируем это выражение, чтобы получить дифференциальное уравнение: О'(х)-\-2хО(х) = 1, Щ0) = 0. Теперь нужно проинтегрировать численно простое дифференциальное уравнение, и известно, что когда х—-со. Таким образом, функция О(х') хорошо ведет себя на всем интер- вале 0^х<гсо, и поэтому лучше изучать не заданный интеграл / (х) = е*3 (1х = ех* О (х), о
а интеграл Доусона О (х) — е~х‘2^ ех"'(1х. о Из этого примера видно, как просто иногда можно вычислить интеграл с особенностью. Это справедливо и для случаев, когда функция плохо ведет себя, оставаясь конечной; так, можно применять подобные хитрости, если на комплексной плоскости вблизи действи- тельной оси имеется особенность. В приведенном примере дело све- лось к простому введению множителя, уничтожающего особенность, и интегрированию дифференциального уравнения. § 27.3. Особенность в линейном дифференциальном уравнении Иногда бывает, что требуется численное решение линейного диф- ференциального уравнения, которое имеет особенность *) на отрезке интегрирования. Один из возможных способов проделать это, предло- женный впервые профессором Тьюки и снова иллюстрирующий уни- чтожение особенности с помощью множителя, заключается в следую- щем. Пусть у" + Р(х)у = 0, у(х«)^Л, У(х0) = В, (27.3-1) где Р (х) имеет особенность в области интегрирования, например при х = 0. Выберем для сравнения уравнение и" + 0(х)п = 0, (27.3-2) имеющее известные решения (х) и и.3 (х) и особенность 5 (х) того же вида и в том же месте, что и Р(х). Ниже будет показано, как это можно сделать. Предположим, далее, что у (х) = а (х) «1 (х) р (х) и2 (х), (27.3-3) где а(х) и Р(х) — функции, которые еще надо определить, но про которые предполагается, что они будут гладкими. Наш метод следует теперь классическому «методу вариации постоянных». Введя две неиз- вестные функции а(х) и р(х), мы можем потребовать выполнения (27.3-1) и еще одного условия, которое выберем так: а'»! -|- = 0. (27.3-4) То есть какой-либо из коэффициентов уравнения вблизи некоторой точки не ведет себя как степенной ряд.
Таким образом, имеем у = а.щ У = ?У + $11%, у = аи1 ам1 -(- Уг У* Р'и2. Подставляя эти выражения в (27.3-1), получаем а (и, Рщ) 4- р (п% 4~ Пиз) 4" а'н1 + = 0- (27.3-5) Далее, используя, что щ и и., удовлетворяют (27.3-2), находим и, ~4 Риу ~(Р — Ср ир 4~ РЩ = (Р — С?) щ. Таким образом, из (27.3-5) вытекает а'У 4- Р'н; = (<Э — Р) (аг?! 4- ₽«,) = (<2 Р)у. Решая это совместно с (27.3-4), приходим к равенствам а' (щщ — щщ) = — Р)у, р' (щщ — и3И1) — — Р)у. Но — и>”'1 — вронскиан функций щ и гг3, и для этого случая- (коэффициент при У в уравнении равен нулю) он есть константа 1Р0*)> где 1Г0 — щ (х0) и'г (хв) — щ (х0) щ (х^. №с легко определяется по известным решениям и1 (х) и и3 (х). Таким образом, необходимо решить уравнения а' = - -г-(С~Р)У , Р' = ( (27.3-6) и/о у (х0) = А, у' (х0) = В, у = ан, 4- р«2. Требуется выбрать О (х) так, чтобы множитель <Э — Р убывал вблизи особенности достаточно быстро, чтобы перекрыть рост произведений иа_у и И\у (или, что то же самое, произведений и|, «1На и и[). Если это можно сделать, уравнения, определяющие а(х~) и 8(х) вблизи точки, где была особенность, будут вести себя гораздо лучше. Покажем теперь, как можно выбрать щ (х) и и2 (х) для нашего примера. Предположим, что Р (-’г) — 4- ао 4" а1х Н- • • (а > 0) (27.3-7) Таким образом, предполагается, что если у (0)#:0, то У'(0) беско- нечно, и, очевидно, невозможно аппроксимировать решение многочленом *) Это следует из теоремы Лиувилля, согласно которой 117 (х) = - Г/?1 {х}(1х __ = , где рк — коэффициент при у'. (Прим, ред.)
с любой точностью вблизи точки х~ 0. Попробуем положить (27.3-8] 1 1 + ах 4- Ьх2 О(х) 4 ' Тогда или, иначе, „» _ х [2 (О')2 — ОО"] — 200’ гг 1 — х/)2 и1- Но 0=1 4~ ах4- Ьхг, О’ = а 4- 2Ъх, О" = 2Ъ. Следовательно, для малых х „ — 2а — ЪЬх 4- 2Ь2х2 — 2а — ЪЬх 2Ь2х2 К1 “ х& ~х[14-2ах44?+2Гм'2 4-...] Щ ~~ ~ — 2 4- (36 — 2а2) 4- • • г?1 Итак, р = -^4-(-664-4а2)4-(...)х + ... Сравнивая О и Р, выбираем — 2а = а_р а = ~~, или — 664-4а2 = а0, Ь= При таком выборе а и Ь в (27.3-8) имеем (используя (27.3-7)) <4 -— р Сх 4“.., и О — Р убывает достаточно быстро. Теперь определим иг обычным образом: , . . .? ав . ,С 14-2ав4-(а34-26)024-2а6в34-г>-’8* и2 (х) = щ (X) \ ^Г(5у = 111 (X) ---М = *() = гц (х) ~ 4- 2а • 1п | х 14- (а2 4“ 2^) х 4~ абх3 4~ ~у~] • Оставшееся просто. Получившаяся функция (х) не имеет особен- ности при х—0, а гт2(0) — —1. Вторая производная функции и2(х) бесконечна при х = 0. Произведения (ф — Р)щу и (С) — Р)и-.гу обра- щаются в нуль при х~0, что позволяет хорошо интегрировать урав-
нения (27.3-6) для определения а(х) и Р(х), так как особенность со- держится только в щ и отчасти маскируется нулем (*) — Р. Этот при- мер снова показывает, как полезно выделить главный член разложения в окрестности особенности и затем использовать известную функцию для аппроксимации вблизи особенности. § 27.4. Общие замечания Мы привели два примера того, как обращаться с особенностями в двух частных случаях. В нашем распоряжении нет разработанных правил для общего случая, особенно для нелинейных задач. Многое зависит от математических способностей исполнителя. На современных машинах с плавающей запятой иногда можно, интегрируя, подойти к особенности так близко, чтобы на оставшемся до особой точки отрезке легко было сделать аналитическую замену. Когда особенность пройдена, можно снова приступить к численному интегрированию. Однако этим следует пользоваться лишь тогда, когда другие методы терпят неудачу, так как в этом случае часто трудно оценивать и контролировать точность. Когда имеется так называемая «подвижная» особенность, что может случиться в нелинейных задачах, особенно важно быть внимательным к тому, как численные данные используются для подбора функции, аппроксимирующей особенность. Все же такие вещи могут быть и бы- вали сделаны удачно; это вопрос смелости и тщательности вычислений.
АЛГОРИТМЫ И ЭВРИСТИЧЕСКИЕ МЕТОДЫ Г Л А В А 28 НАХОЖДЕНИЕ НУЛЕЙ § 28.1. Алгоритмы и эвристические методы До сих пор формулы, которые мы рассматривали, задавали иско- мую величину в явном виде (исключение составляли только методы прогноза и коррекции). Однако в таких случаях, как нахождение нулей функции или решение системы линейных алгебраических урав- нений, величины, которые надо вычислить, заданы неявно. Если в та- кой ситуации задан определенный процесс для вычисления неизвест- ных, то говорят, что задан алгоритм. Известно множество частных методов, применяющихся в различ- ных конкретных случаях, но что касается общих принципов, кото- рые можно было бы применять регулярно, дело, надо сказать, нахо- дится в примитивном состоянии. Цель этой книги—дать общие методы и идеи, используемые в вычислительной практике. Так как в области алгоритмов их, по-видимому, немного, то нам придете» довольствоваться для нескольких выбранных алгоритмов описанием того, что можно, а чего нельзя от них ожидать. Кроме того, для большинства часто встречающихся задач, тре- бующих применения известных алгоритмов, написаны стандартные программы; и детали методов мало волнуют потребителя, если, ко- нечно, он понимает, что за результаты он получит. Существует много ситуаций, когда неизвестен алгоритм, который будет давать результат, или известен только метод, состоящий в пол- ном переборе, когда неизвестно, что закончится раньше: задача, ма- шинное время или терпение заказчика. В такой ситуации приходится прибегать к любому из методов, который выглядит полезным. Положение типично для задач нахож- дения максимумов или минимумов функций многих переменных. Слиш- ком дорого исследовать, скажем, все локальные минимумы четыр- надцатимерного пространства. Мы неизбежно обращаемся к проверкам всяких догадок, удачных идей или любых разумных способов поиска
$ 28.2| МЕТОД ДЕЛЕНИЯ ПОПОЛАМ ДЛЯ НАХОЖДЕНИЯ КОРНЯ ФУНКЦИИ 351 требуемых величин. Такие процессы называются эвристическими и будут рассмотрены в гл. 31. Они лежат на переднем фронте инте- ресных современных исследований в области думающих машин и распознавания образов и по необходимости будут рассмотрены лишь кратко. Таким образом, эта книга идет от явных формул к неявным формулам, для которых известен метод решения (алгоритм), и кон- чается предложениями, касающимися того, что делать с неявными формулами, для которых практические алгоритмы неизвестны (эври- стические методы). § 28.2. Метод деления пополам для нахождения корня функции Если дана непрерывная функция действительного переменного х, которая принимает отрицательное значение при х = а и положитель- ное значение при х = Ь, то известно, что между а и Ь существует точка, в которой функция обращается в нуль. Если разделить интер- вал пополам и определить, положительна или отрицательна функция в точке деления, то тем самым найдется подынтервал, в котором функция меняет знак (или нуль функции). В принципе, повторным применением этого метода (деление пополам) можно сколь угодно близко подойти к корню. Так как каждый шаг делит интервал, в ко- тором лежит корень, пополам, то 10 шагов уменьшат интервал при- близительно в 1000 раз, 20 шагов — в 1000 000 раз и т. д. Этот метод, который предполагает только непрерывность и возможность вычисления функции в любой точке, вполне эффективен. Следует сказать: «в принципе», потому что существуют погрешности вычис- лений. Давайте посмотрим, как эти погрешности отражаются на процессе нахождения нуля. Предположим, что при вычислении значения функ- ции получается не тот знак из-за погрешностей округления. Резуль- татом явится то, что на следующем шаге будет рассмотрена не та половина интервала. Однако, если нет других ошибок в определении знака функции, всегда будет получаться, что корень заключен в подын- тервале, один конец которого находится в точке, где был неверно определен знак. И это вполне приемлемый результат: местонахожде- ние корня определяется в пределах наших возможностей вычислять саму функцию. Небольшая погрешность не привела к слишком боль- шой ошибке. Каждый предлагаемый метод должен обязательно исследоваться на устойчивость по отношению к ошибкам округления. Многие из наиболее быстрых методов приводят к большим ошибкам, когда они работают при помехах. Следует помнить, что случайно можно ока- заться вблизи нуля и, следовательно, оказаться подверженными ошиб- кам из-за помех на любом этапе вычислений. Отметим еще раз, что
метод деления пополам требует только умения вычислять значения функции и не предполагает составления программы для вычисления производной. Упражнение 28.2-1. Составить блок-схему программы метода деления пополам. § 28.3. Линейная интерполяция Вероятно, читателю сразу придет в голову, что метод деления пополам можно значительно улучшить, если использовать для следую- щего вычисления не середину Рис. 28.3-1. Пример медленной сходимости. отрезка, а то значение х, в котором дает нуль линейная интерполяция между двумя известными значениями противоположного знака. Рис. 28.3-1 показывает функ- цию, для которой метод линейной интерполяции будет наверняка мед- леннее, чем метод деления пополам. Конечно, можно возразить, что для разумного множества функций интер- поляционный процесс будет в сред- нем требовать нахождения меньшего числа значений функции. Однако ос- новное достоинство метода деления пополам состоит в том, что здесь из- вестно заранее, сколько шагов потребуется, чтобы получить заданную точность в положении корня; другие методы в среднем могут требовать меньшего числа шагов, однако никогда нельзя сказать, что это будет так в каждом конкретном случае. Действительно, как видно из рис. 28.3-1, можно построить функцию, для которой необходимое число шагов будет больше любого наперед заданного. Для этого достаточно уве- личить значение функции в точке х~Ь. Другой метод линейной интерполяции, в которой используются два последних вычисленных значения, если кривая достаточно плохая, может привести при после- довательных шагах к удалению от корня. Упражнение 28.3-1. Составить блок-схему для метода линейной интер- поляции. § 28.4. Параболическая интерполяция Если линейная интерполяция лучше, чем метод деления пополам, то, возможно, еще лучше метод построения параболы по трем точ- кам. Во всяком случае, его следует рассмотреть. Как и в методе деления пополам, произвольно разделим интервал для нахождения третьей точки. (Может быть, предпочтительнее другие
стратегии, но мы не станем их обсуждать.) Построим теперь пара- болу, используя разделенные разности и, например, формулу Ньютона (см. § 8.4). Нуль этой параболы, который попадает в интервал, дает нам четвертую точку. Здесь есть по крайней мере две возможности: можно взять две точки, наиболее близкие к только что полученному значению корня, или, из осторожности, взять две близкие точки, в которых функция имеет разные знаки. Автор предпочитает последнее на том основа- нии, что он любит иметь нуль, который он ищет, заключенным внутри известного интервала и чтобы была уверенность, что парабола имеет действительный нуль в этом интервале. На первом шаге обе возмож- ности дают один и тот же результат, но при последующих шагах эти способы могут дать различные результаты. Предоставляем читателю проверить влияние помех квадратичной интерполяции при приближении к корню. Последние два метода иллюстрируют несколько неопределенный общий принцип: чем тоньше метод и чем лучше он кажется, тем хуже он может повести себя в случае осложнений с функ- цией. Он может и в самом деле оказаться хуже простых методов и, вероятно, будет более подвержен помехам. Некоторое общее представление о том, что нами сделано, можно по- лучить, вернувшись к четырем основным вопросам, поставленным в § 7.1: 1. Каковы узлы? 2. Каков класс функций? 3. Каков критерий согласия? 4. Какова ошибка? Узлы выбирались здесь по ходу дела, для аналитической замены использовались интерполяционные многочлены, а мерой успеха слу- жила ошибка по х; для перехода к ошибке по у потребовались бы совсем небольшие изменения. Очевидно, для интерполяции можно было использовать другие классы функций, если они более отвечают природе изучаемых функ- ций. В нужных случаях это действительно следует делать. Упражнения 28.4-1. Начертите блок-схему квадратичной интерполяции, сохраняющей перемену знака. 28.4-2. Исследуйте влияние помех на метод квадратичной интерполяции. 28.4-3. Что бы вы назвали ошибкой, контролирующей либо х, либо у? § 28.5. Некоторые общие замечания Мы использовали линейную и квадратичную интерполяцию для аппроксимации нулей функции. Очевидно, можно идти дальше и строить многочлены более высоких степеней. Выбор стратегии зави- сит от того, насколько трудно вычислять функцию. Если это очень 12 Р- В. Хемминг
трудно и требуются, может быть, часы машинного времени на каждую точку, то, вероятно, следовало бы обратиться к многочленам более высокой степени, повышая степень с каждой следующей точкой. С другой стороны, если функция считается легко, то лучше пред- почесть какой-нибудь простой испытанный метод, как, например, де- ление пополам. Обычно, когда для нахождения нулей функции у=у(х) исполь- зуют многочлены, исходные данные аппроксимируют многочленом от х и затем применяют обратную интерполяцию для нахождения нуля. Часто столь же разумно предположить, что х есть многочлен от у, и применять прямую интерполяцию. Безусловно, это намного легче. Мы рассмотрели также (§ 7.1) метод Ньютона и в упражнении 7.1-1 указали на более общий метод, который использует вторую производную. А. М. Островский в своей великолепной книге [34] предполагает, что вычисление функции должно быть принято за единицу работы, а вычисление каждой производной должно рассма- триваться как другая единица работы. Отсюда он оценивает линейную интерполяцию по двум последним величинам в 1,618 единицы, имея в виду, что каждый шаг увеличи- вает число верных знаков в 1,618 раза, в то время как метод Ньютона оценивается в 1,414 единицы на единицу работы. Отсюда можно сделать вывод, что метод линейной интерполяции более эффективен. Но, как неоднократно подчеркивалось, коль скоро функция вычис- лена, после этого большей частью есть почти все необходимое для вычисления производной, и чтобы получить ее, требуется еще очень немного работы; таким образом, если принимается во внимание только машинное время, то вполне вероятно, что метод Ньютона сравним с линейной интерполяцией или даже лучше ее. С другой стороны, метод Ньютона требует аналитического нахождения производной (а при этом человек нередко ошибается) и дополнительного програм- мирования. Следует осветить еще один вопрос. Обычно оценивают различные методы по их конечной скорости сходимости к истинному решению (в математическом смысле) и пренебрегают вопросом о том, сколько шагов придется сделать, прежде чем такая скорость будет достиг- нута. И снова опыт показывает, что некоторые из наиболее быстрых методов требуют очень большого времени на подготовку. Примеры, приводимые в учебниках, обычно имеют от 10 до 20 десятичных знаков. Однако на практике в большинстве случаев требуется от трех до пяти десятичных знаков, так что такие примеры часто вводят в заблуждение. Наконец, молчаливо предполагалось, что нуль с самого начала изолирован и читатель хотел бы знать, как сделать этот первый су- щественный шаг. К сожалению, автор не может сказать на этот счет
ничего действительно полезного. Часто задача сама по себе при вни- мательном изучении дает некоторую информацию и существует не- сколько математических теорем на этот предмет. Но вообще отделе- ние корней есть искусство. § 28.6. Метод Берстоу для нахождения комплексных корней многочлена Задача нахождения корней многочленов возникает достаточно часто для того, чтобы оправдать ее тщательное изучение и разра- ботку специальных методов для ее решения. Мы будем рассматри- вать только многочлены с действительными коэффициентами, так как обычно с ними и сталкиваются на практике. Фундаментальным свой- ством действительных многочленов является то, что они могут быть разложены на действительные линейные и действительные квадратич- ные множители. Предположим, что действительные линейные множи- тели уже удалены. Комплексными корнями следует заниматься после того, как все действительные найдены. Различным известным методам нахождения действительных линей- ных и квадратичных множителей можно посвятить целую книгу. Тот факт, что существует так много методов, показывает, что не суще- ствует ни одного вполне удовлетворительного; каждый математик имеет свой собственный излюбленный метод или методы. По-види- мому, метод Берстоу употребляется вообще чаще любого другого. Он не непогрешим; временами он медленно сходится или даже не сходится вовсе. Но в среднем он кажется лучше любого другого метода *). Вероятно, библиотека стандартных программ каждого вы- числительного центра всегда имеет некоторую уже готовую про- грамму, и вы скорее будете использовать ее, чем писать свою соб- ственную. Но все же стоит обсудить один метод, который сильно похож на многие другие. Пусть дан многочлен Р (х)= Цо -ф- й\Х —|— С1.±х^ -ф-... -ф- ипхп. (28.6-1) Предположим, что у нас есть какие-либо догадки о квадратичном множителе х1 -ф- рх -ф- д, (28.6-2) являющемся делителем этого многочлена (вначале можно полагать р = с/ = 0, что упростит первый шаг). Используя деление многочле- *) Употребителен также метод Мюллера, некоторые предпочитают ме- тод Лина. 12*
нов (см. § 1.6), разделим многочлен на множитель, получая частное и остаток, т. е. апХп + а-п-\хП 14~ • • • 4~ ао — — (ль 4- рх 4- д) (Ьпхп 2 4- Ьп_^хп 3 4-... 4- ^) 4* Ь\Х 4~ ьй. (28.6-3) Смысл индексов у Ь станет ясным в дальнейшем; это облегчаег си- стему обозначений. По схеме деления многочленов имеем 1 Р Я\ &п • О? Дд — ~ А яЬп^ ... <7^,, <7^3 <7^2 — рьп дЬпл_______________рЬл рЬ] — ьп^ Ъп* ... Ь* 1^, Ьо где остаток равен 4- Коэффициенты связаны следующими алгебраическими уравнениями: &п — &№ Ьп-\ ~~~ о-п-л рЬ№ Ьп-2 — аП-2 —рЬп.1 — дЬп, (28.6-4) Ьп .к = ап-к — рЬп-^1 — дЪп_к^ (к — 2, 3, ..., п — 1), Ьа = а0 — дЬ%. Искомый квадратичный множитель получается тогда и только тогда, когда остаток будет тождественно равен нулю, т. е. ^ = ^о==О. Рассмотрим эти коэффициенты как функции р и д, Ьх = Ь^р, д'), Ь9 = Ь9(р, д). Воспользуемся теперь двумерным аналогом метода Ньютона (см. § 7.1) и разложим Ьо в ряд Тейлора вблизи выбранной точки р, д. Обозначив искомое решение через р*, д*, получим 9*)==о = /»1(р, 7)4-^ д^4-д?4-..., ,. м (28.6-5) 9*)=о = />о(р, 9) + §Др+^а?4---> где △/>=/;* —р, д (28.6-6)
суть ошибки, которые должны быть добавлены (приближенно) для получения следующих р и д. Отбрасывая в (28.6-5) все члены, кроме линейных, получаем пару линейных уравнений для приращений, кото- рые должны быть сделаны по р и д. Задача сводится к нахождению частных производных, которые являются коэффициентами при неизвестных кр и Ду. Можно было бы дать небольшое приращение р и определить приращения Ь\ и и то же самое проделать для приращения д. Проще, однако, найти их аналитически. Дифференцируем уравнения (28.6-4) по р'. дг> ’ 6^3 др ’ Если теперь обозначить (28.6-7) то получим ^П-'1 — &п~Л — РСп’ — РСп-1 —дс%, (28.6-8) РСп-к+1 — дс1 Эти уравнения имеют ту же форму, что и уравнения (28.6-4), кроме с^ = 0, и могут быть получены отсюда, если в уравнениях (28.6-4) подставить с'п_к взамен 1>пк+1 и Ьк взамен а^. Только последнее уравнение придется при этом слегка подправить. Эти замечания наводят на мысль повторить процесс деления мно- гочленов для Ь (вместо а), используя тот же самый квадратичный
множитель, чтобы получить коэффициенты Ск. Сделаем это: 1 р д\ ьп Ъп^ ^иЗ • • • Ь2 /?] до • • • Чс-6 рсп рсп-л рсз Р<\ сп спЛ сп-2 (2 ! С1 Со Таким образом, получаем С п рс№ С п-2 Р(',-2 ~ 7Сг’ г ' — Ь ' ' пс ' — ас (28.6-9) Сп к — ®п-к Р^п-к+1 Ч^п-к^Ч' С] — рсг —дс3, Со = дск Частные производные, которые ищутся в (28.6-5), равны (с учетом (28.6-7)) й&1 * дЬ0 * др ~ С1, др ~~ Сравнивая (28.6-8) и (28.6-9), видим, что с^_] = сА (к = п, п—1, ..., 3, 2), с* = с^ — Ь^рс* Следовательно, 1,' = -^ 5 = (28.6-10) Рассмотрим теперь процесс отыскания частных производных по Снова дифференцируем (28.6-4) по р. Тогда дд ~ дЬп^__ дд дЬп п --Р А11 =0> дд , дЬ„, дЬ„ Ьп ~Р -ПГ- — <7 “Д " > п дд дд ’ дЬп^к дд д-Ь — — Ь дд ~ дЪп_кл.2 дЪп дд дд дЬ2 дп *+з — Р
Положим ^ = -сГ. (28.6-11) Тогда получаем 4*-1 = 0, 4*-2 = *п -дс**, Сп—к----&п~к+% рСп-к-\-\ ^^п-к-\-2 Так как с** = Сп*-\ — 0, то для сравнения (28.6-9) и (28.6-12) нужно подставить сГ-2 = с* (к — п, п—1, ..., 3), 4* = с2— рс3. Частные производные, которые нужны для (28.6-5), равны ^- = —с** = —С3> д-^=~сГ = — (с.2—рс3). Итак, я) = с^р + С3Д9, О> 7) = (С1 —Ьг— рс^ Др + (са — рс3) Д <7. (28.6-13) Решение этих двух уравнений дает поправку для квадратичного множителя х2 -|-рх д. Сходимость, — если она имеет место, — квад- ратичная, т. е. ошибки при достаточно малых значениях возводятся в квадрат на каждом шаге. Итак, получился итерационный процесс, который, мы надеемся, будет сходиться к квадратичному множителю исходного многочлена. После того как он будет найден, можно разделить на него (первый шаг деления) и исследовать частное как новый многочлен тем же способом. ГЛАВА 29 СИСТЕМЫ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ § 29.1. Введение Задача решения системы линейных алгебраических уравнений воз- никает очень часто и привлекает внимание многих исследователей. В результате имеется множество методов, и так же, как в случае на- хождения корней многочлена, на эту тему можно написать целую книгу.
Мы сосредоточим свое внимание на двух широко используемых ме- тодах, которые типичны для двух больших классов. Выбор метода, ко- торый наиболее соответствует данной машине, есть сложный вопрос. Говорят, что система линейных уравнений является плохо обуслов- ленной, если, грубо говоря, уравнения почти линейно зависимы. Много усилий ушло на изучениие того, как решать плохо обусловленные си- стемы. Однако можно поставить вопрос: требуется ли решать такие си- стемы в практических ситуациях? В какой физической ситуации ока- жутся полезными ответы, когда они так ощутимо зависят от коэффици- ентов системы? Обычно справедливо следующее: вместо ответа ищут ми- нимальную систему почти линейно независимых уравнений. В свете этой информации задача может быть лучше понята и обычно переформули- рована снова более удовлетворительным образом. Вполне вероятно, что плохо обусловленные системы уравнений, если исключить ошибки округления и измерения, являются действительно линейно зависимыми и, следовательно, не отражают физической ситуации. § 29.2. Метод исключения Гаусса Из прямых методов решения систем линейных уравнений, в про- тивоположность итерационным методам, наиболее широко исполь- зуется метод Гаусса. Он состоит в том, что решение системы линей- ных уравнений осуществляется исключением переменных по очереди. Существует множество различных вариантов метода. Ниже будет рас- смотрен один из них. Так как метод является основным, рассмотрим сначала очень простой пример. Пусть дана система: х -ф- 2у -ф- Зд = 10, хф-Зу — 2г = 7, 2х — у 4- 2 = 5. Вначале исключаем х вычитанием первого уравнения, умноженного на подходящие числа из второго и третьего уравнений Это дает х -ф- 2у -ф- Зг = 10, у — 5г — — 3, — 5у — 5г = — 15. Затем исключаем неизвестное у вычитанием второго уравнения, умно- женного на — 5, из третьего: х-ф-2у+ Зг—10, у — 5г = — 3, — 30г = - 30.
Теперь эти уравнения решаются так называемым обратным ходом, начиная с конца. Последнее уравнение дает г = 1. Подставив во второе уравнение, получаем у = 5 —3 = 2. Подставив эти два значения в первое, получаем х=10 —4 —3 = 3, и на этом решение кончается. Пусть теперь имеется п уравнений с п неизвестными аи-^1 ~Ь . 4~ а\пхп — ^21Х1 I ^'22 I • • • | С^пХп------ ^1*1 Ь ^«2-^2 4“ • • "4“ &ппхп.- &П.' Мы начинаем с «выравнивания» задачи: умножаем уравнения на неко- торые степени 10 так, чтобы наибольшее а^ в каждом уравнении находилось между 1 и 10. Если будет обнаружено, что наибольший коэффициент в каждом уравнении есть коэффициент при одной и той же переменной, например хк, то, естественно, следует также за- менить хк, чтобы привести их в разумную область. На самом деле может понадобиться заменить несколько хк, чтобы сохранить разум- ное соотношение коэффициентов. Это выравнивание усредняет боль- шие и маленькие коэффициенты и не создает никаких ошибок округ- ления при счете с плавающей запятой (естественно, что для машины с двоичной системой следует использовать степени двух). Поскольку Дц может оказаться равным 0, нет уверенности, что можно использовать первый коэффициент. Вместо этого найдем наи- больший коэффициент при хь скажем а61, который называется глав- ным элементом уравнения. Используем это к-е уравнение, чтобы ис- ключить XI из других уравнений. Поскольку нумерация уравнений про- извольна, для удобства изложения предположим, что это уравнение и есть первое. (Идти по уравнениям в памяти машины и искать этот номер — не слишком дорого, хотя некоторые, возможно, чтобы дости- гнуть того же результата, предпочтут просто управлять логикой задачи.) Теперь рассмотрим коэффициенты при х% в оставшихся уравнениях и воспользуемся уравнением с наибольшим таким коэффициентом, что- бы исключить Ха из других уравнений. И так идем дальше от одного неизвестного к другому.
Здесь уместны некоторые замечания. В принципе, если система до- статочно велика, то наше первоначальное выравнивание может пол- ностью исчезнуть и время от времени может понадобиться повторное выравнивание. Но мы не будем рассматривать такие большие системы. Если системы имеют 50 или более уравнений, то, прежде чем тратить машинное время, лучше проконсультироваться у специалистов. Дело в том, что когда система превосходит по размеру 10 или 20 уравне- ний, часто начинают появляться новые эффекты и опасности, в кото- рые мы здесь вникать не будем. Когда выбирается уравнение, которое будет использовано для ис- ключения следующей переменной, можно сначала разделить все коэф- фициенты этого уравнения на старший коэффициент, так чтобы пер- вый коэффициент стал равен единице. Тогда при обратном ходе нет на- добности ни на что делить. Если деление требует много машинного времени, то можно подсчитать обратную величину к выбранному глав- ному элементу и получить множители (все для исключения не- известных из этого уравнения. Можно было бы подумать, что следует, вместо того чтобы брать хк подряд, искать очередное хк, выбирая наибольший коэффициент из всех оставшихся; но эта дополнительная тонкость как будто не увеличивает точности. § 29.3. Варианты метода Гаусса Существует много вариантов метода Гаусса. Однако наиболее зна- чителен метод, называемый методом полного исключения или методом Гаусса — Жордана. В этом методе, когда исключают хк, то исключают его из всех уравнений, включая и те, которые разрешены для преды- дущих переменных. При этом способе нет необходимости в обратном ходе. Иногда утверждают, что этот метод имеет преимущества в точ- ности. В случае симметричных коэффициентов, если главные элементы бе- рутся на главной диагонали, работа может быть сокращена почти вдвое, но может возникнуть некоторая потеря точности из-за плохого выбора главных элементов. Если матрица положительно определенная, то по- тери точности малы. Многие варианты метода обычно являются незначительными изме- нениями, сделанными для удовлетворения характеристикам данной ма- шины (хотя они могут оказать заметное влияние на полученные ре- зультаты); поэтому они не подходят для обсуждения в начальном курсе. Хорошим пособием является книга «Современные методы вычисления» [29] *); в ней в свою очередь есть обширная библиография по многим .аспектам вычислений, включая системы уравнений. *) См. также [16].
§ 29.4. Метод Гаусса—Зайделя В противоположность прямым методам решения, таким как метод Гаусса, существуют итерационные методы, такие как метод Гаусса — Зайделя. Переставим уравнения в примере § 29.2 так, чтобы больший коэффициент первого уравнения был бы при х, больший коэффициент второго уравнения при у и третьего — при г: 2х — у -ф- г — 5, х -ф- Зу — 2г ~ 7, х -ф- 2у -ф- Зг — 10. Начинаем с приближенного решения, скажем, х = у = г = 0. Исполь- зуем теперь первое уравнение для нахождения нового значения 5-— 2 5 Х — 2 ~ Т ’ 5 Беря х = г = 0, решаем второе уравнение относительно у 7 — х-|-22 з У == Наконец, используя эти вычисленные значения, решаем третье урав- нение относительно г _ 10 — х — 2у 3 г~ 3 “ Т ’ Эти три величины дают новое приближение и можно повторить цикл: 5 5 5 х—. 2 , у — 2 , г — 6 . Следующее повторение дает х = ^=3,33->3, у=14= 1,780 ->2, г = ~ = 1,04 -> 1. Заметим, что сходимость медленная. Если возникает ошибка, то она может повлиять на число шагов, но не влияет (в принципе) на конечный ответ. Обычно продолжают итерации до тех пор, пока изме- нения не станут достаточно малы; что это может означать по отно- шению к ответу — уже другой вопрос. Общий случай во многом такой же. Уравнения располагаются так, чтобы большие коэффициенты были на главной диагонали. Если эти члены главной диагонали достаточно сильно превосходят другие коэффициенты уравнения, то сходимость гарантирована, в противном случае — нет. Вот одно достаточное условие: I аи I I ап 1 + I аа И- • • • + । ан~11 “Г । ап+1 + • +1 аш I для всех I (предполагается, что система не распадается на две неза- висимые системы уравнений).
Если в системе имеется много нулевых коэффициентов а1}-, то этот метод предпочтительнее метода исключения. Метод Гаусса — Зайделя использует существование нулей, в то время как метод исключения — нет. Существует множество различных вариантов итерационного метода. При медленной сходимости мы стараемся угадать, используя различ- ные технические приемы, где она начинается, и попасть туда за один шаг. Так называемые релаксационные методы являются методами такого типа. За деталями снова отсылаем читателя к [29]. § 29.5. Повышенная точность Если имеется некоторый метод решения системы уравнений и нужно повысить точность, то можно воспользоваться следующим при- емом. Подставим в уравнение найденные величины х и вычислим раз- ности, используя двойную точность. Затем снова решим систему урав- нений, подставляя полученные разности в правые части уравнений. Сумма нового решения со старым дает более точное решение. Легко видеть, почему это так. Первое множество значений х1-^ удовлетво- ряет уравнениям с правыми частями, равными минус разность г, в См уравнении, тогда как второе решение удовлетворяет при- близительно уравнениям с разностями в правых частях. Следовательно, удовлетворяет тем же самым уравнениям, но с суммой двух правых частей: —+ § 29.6. Общие замечания Очевидно, здесь не нужно было брать никакого класса функций для аналитической замены. Единственный уместный вопрос из схемы гл. 7 — четвертый: какова точность? Хотим ли мы, чтобы хь были точными? Хотим ли мы, чтобы разности были малы? Хотим ли мы, чтобы какая-то система уравнений, для которой это подсчитанное решение является точным решением, была близка к начальной системе? Последнее условие звучит несколько странно, так как коэффициентов п(п -ф-1), а ответов только и; п их отклонений от истинного реше- ния могут быть распределены среди л (л-|-1) коэффициентов многими и многими способами, и отклонения правых частей есть всего лишь частный случай. Таким образом, вопрос в этом случае существенно отличается от того же самого вопроса для нулей многочлена, где мы должны были распределить п ошибок в нулях среди п коэффициен- тов. Представляется, что на вопрос о точности в данном случае от- ветить труднее, чем в большинстве других случаев. Часто лучше всего свидетельствуют о точности маленькие разности по отношению к данным правым частям.
Г Л А В А 30 ОБРАЩЕНИЕ МАТРИЦ И СОБСТВЕННЫЕ ЗНАЧЕНИЯ § 30.1. Введение Тщательное изучение матриц ведется уже давно, и про них изве- стно очень много. Они встречаются и во многих различных физиче- ских задачах. В результате на эту тему имеется огромная литература и многочисленные методы для различных задач. Рассмотрим лишь несколько примеров и отошлем читателя за дальнейшими сведениями к следующим книгам: Ральстон и Уилф [37], «Современные вычисли- тельные методы» [29] и Хаусхолдер [16], главным образом к библио- графии в двух последних. Мы предполагаем, что читатель знаком с элементарной теорией матриц. § 30.2. Обращение матрицы методом исключения по Гауссу Часто бывает необходимо обратить квадратную матрицу А = (а<7). Представим себе прямоугольную матрицу #1$ . . . #1/; 1 0 ... 0 #21 ^22 • • • а'2п 0 1 ... 0 ап, ... апп 0 0 ... 1 которая получается, если к А приписать единичную матрицу 1. Применим теперь метод исключения Гаусса, не заботясь о правых столбцах. Когда гауссово исключение закончится, получим Утверждается, что матрица В
есть матрица, обратная к А. Чтобы убедиться в этом, заметим, что каждый шаг процесса исключения эквивалентен умножению слева на некоторую матрицу. Произведение всех этих левых матриц есть, оче- видно, й"1, потому что оно приводит А к единичной матрице /. Но, будучи применено к п правым столбцам, это произведение делает из единичной матрицы матрицу В: А^-1 = В. Следовательно, В и есть обратная к А матрица. § 30.3. Задача нахождения собственных значений Многие задачи приводят к системе уравнений: аих1 'Д12-ХГ-2 ... а}пхп = У-х1, 4~Ч- агпхп == или ап1Х1 Ч~ ап-2Х2 4" ••• 'ГаппХп.------'/'Х: Ах — Хх, где X неизвестно. Эти уравнения совместны тогда -и только тогда, когда — X .. а1п аП а-2'2--------------• • • а2л ®п! • • • ^пп Определитель есть многочлен от X степени п, и, в принципе, если вычислить этот определитель для п-{-1 значения X, можно использо- вать эти значения для нахождения многочлена Д (X) = 0. Таким путем находятся, в конце концов, и корни многочлена Д(Х). Впрочем, ошибки округления и большое число необходимых вычис- лений обычно заставляют отказаться от этого метода в пользу других. Иногда нужно только наибольшее по модулю значение X. Пред- положим, что X действительное. В таком случае можно действовать следующим образом. Возьмем произвольный вектор />А У = Г • \уп/
Известно, что если собственные значения различны, то соответствую- щие собственные векторы (решения системы уравнений для соответ- ствующих собственных значений) образуют полную систему, т. е. лю- бой вектор у можно представить в виде У — С1У1 Н- С1У1 “Ь • • + спУп> где у; — собственные векторы, а с,- — константы. Умножим обе части равенства на А АУ = Е/ с1 АУ^ 5 С1 ЬУь 1=1 1=1 и вообще АкУ = ^Сг^У1- 1=1 Теперь, если | X, | ^> [ X,-1 для I = 2, 3, ..., п, то при к -> сю А^у^с^^у^ Рассмотрим отношение Ак+1у = х Аку ~ Можно ожидать, что в пределе каждая компонента нашего вектора будет умножаться на одно и то же число ХР На практике рекомендуется нормировать получающийся вектор на каждом шаге так, чтобы наибольшая компонента его была равна 1. На последнем шаге нормирующий множитель даст величину наиболь- шего по модулю собственного значения. При этом заодно получается собственный вектор. Этот процесс, очевидно, можно ускорить, если предварительно, образовать какую-либо степень А. Вычислим сначала Д2, Д4, Д8, .... Д2\ Тогда, применяя 1=1 получим более быструю сходимость к собственному вектору. Корень степени 2й нормирующего множителя на последнем шаге даст Хр Вопрос о том, что будет, если случайно С] = 0, несерьезен. Если даже это и было верно вначале, то случайная ошибка сделает это слагаемое ненулевым позже и, в конце концов, оно станет домини-
рующим. Это показывает, что удачная догадка о структуре собствен- ного вектора с наибольшим собственным значением ускоряет процесс лишь на первых шагах. Мысль, что, зная уже наибольшее собственное значение и вектор, мы можем аккуратно вычитать его на каждом шаге и тем самым дать возможность проявиться второму по модулю собственному значению, приходит в голову почти каждому. Это действительно можно сделать, но отнюдь не в точности так, как хотелось бы. На самом деле можно найти несколько старших собственных значений, пока процесс не превратится в шум, так что каждое следующее собственное значение будет определено все с меньшей точностью. § 30.4. Наименьшие собственные значения Чтобы тем же методом найти наименьшее (в алгебраическом смысле) собственное значение, достаточно следующего простого наблюдения. Пусть у1 — собственный вектор, т. е. Тогда (Л — р1)у{=(к—р)у1. Подходящим выбором р можно наименьшее собственное значение сделать наибольшим (по модулю). Пусть собственные значения при- мерно такие: 1, 2, ..., 10. Выберем р=10; тогда X — р будут —9, —8, ..., 0. Если уже известна примерная величина наибольшего собственного значения, то можно взять р равным этой величине с обратным знаком и самое маленькое собственное значение станет самым большим (по модулю). § 30.5. Несколько замечаний Теория нахождения сразу всех собственных значений сложна и ее нельзя как следует изложить в элементарном курсе. В настоящее время для симметричных матриц, по-видимому, лучшим из прямых методов является модификация Хаусхолдера метода Гивенса. Хотя существуют прямые методы для несимметричных матриц, с ними надо быть осторожным из-за внутренней неустойчивости за- дачи, и если матрица велика, то лучше проконсультироваться со спе- циалистом, прежде чем растрачивать машинное время. Мы отсылаем читателя к трем книгам, упомянутым в § 30.1.
ГЛАВА 31 НЕКОТОРЫЕ ПРИМЕРЫ МОДЕЛИРОВАНИЯ § 31.1. Введение Идея моделирования интуитивно ясна, но, по-видимому, не имеет никакого удовлетворительного определения. Поэтому придется восполь- зоваться примерами. /Моделирование как процессов, так и отдельных ситуаций обычно тесно связано с оптимизацией. В то время как собственно моделирую- щая часть обычно прозрачна, для осуществления оптимизации часто не известен никакой практически пригодный алгоритм. Цель следую- щих примеров — изложить, как действовать в ситуации, где неизвестен алгоритм решения задачи. Занятие такими задачами непосредственно приводит в популярную область «думающих машин», где большое внимание привлекают игра в шахматы, доказательство теорем и т. п. Мы, однако, не будем заходить слишком далеко в этой важной и активно развивающейся области науки. Задачи моделирования занимают значительную часть времени на многих цифровых машинах, и поэтому их нельзя игнорировать только из-за отсутствия общих методов и глубоких результатов. Довольно очевидно, что каждый может сказать: «Давайте точно промоде- лируем этот процесс», и гораздо труднее специалисту показать, что во многих случаях точное моделирование — это совсем не то, что требуется, а просто большая потеря машинного времени (и, следова- тельно, денег). Ввиду отсутствия общих правил относительно того, что, когда и как моделировать (и моделировать ли вообще), мы при- ведем приблизительные соображения общего характера. По мере того как будут рассматриваться примеры, мало отличающиеся от реальных, станет ясно, что эти соображения не приводят к содержательной и полной теории. Существует грубое, но полезное деление моделирования на диск- ретное и непрерывное, соответственно ситуациям, в которых интере- сующие нас величины в основном дискретны или непрерывны. К со- жалению, между ними не всегда есть резкая граница. Практически можно принять разделение, основанное на том, возникают или нет серьезные трудности из-за ошибок замены непрерывной величины дискретной. Займемся сначала задачами, где таких трудностей нет. Позже бу- дут кратко рассмотрены некоторые детали моделирования, включаю- щего учет таких ошибок, но большая часть относящегося сюда ма- териала уже изложена, главным образом в гл. 25. В следующей главе будут рассмотрены вопросы, касающиеся случайных величин и слу- чайных процессов, которые часто необходимы в задачах моделирования. 13 Р- В, Хемминг
Рис. 31.2-1. Расположение про- водов на панели. § 31.2. Простой пример дискретного моделирования Начнем с одного примера с простой схемой моделирования. Пусть речь идет о построении вычислительной машины или какого-нибудь другого крупного электронного прибора. Предположим, что основные части выполнены в виде печатных схем, которые вставляются в большую панель, играющую роль подставки. Предположим далее, что рассматривается только компоновка прибора, а список со- единений выходов печатных схем между собой задан, т. е. рассмат- ривается задача инженера-компонов- щика. В зависимости от того, как рас- положить отдельные схемы на пане- ли, получится разное расположение проводов. Главное, чем они будут отличаться друг от друга, это об- щая длина проводов (хотя число проводов будет одним и тем же). По следующим причинам желательно достаточно близко подойти к мини- муму длины проводов: 1. Вес проводов может быть серьезным фактором при транспор- тировке прибора. 2. Стоимость проводов, неболь- шая в каждом отдельном случае, мо- жет стать значительной при мас- совом производстве. 3. Нарушения схемы (например, случайный контакт между прово- дами или паразитные емкости) при использовании слишком длинных проводов могут увеличиться. Для тех, кто незнаком с современной практикой электрических схем, полезно еще одно замечание: условлено прокладывать провода между выходами готовых схем по направлениям север—юг и запад— восток, а не по прямой. Предположим, что мы начинаем с приемлемого, по нашему мне- нию, расположения схем на панели. На рис. 31.2-1 показана неболь- шая часть расположения. Нетрудно, хотя, быть может, и утомительно, написать программу для цифровой вычислительной машины, которая возьмет расположение схем на панели и, используя информацию о внутренних соединениях, вычислит расположение и соответствующую длину провода для каждого внутреннего соединения, а также общую длину проводов. Обозначим эту длину Ц.
Далее можно попытаться поменять две схемы местами. Уменьшит ли это длину проводов? Можно пересчитать все заново, но быстрее иметь другую программу, которая удаляет старые провода и вставляет новые. Таким образом, получается изменение ДЛ0 = Т1 —То, где — новая длина. Если общая длина уменьшилась, то естественно сохра- нить это изменение . и попробовать следующее; если нет, то такого изменения делать не стоит. Таким образом, инженер, компонующий прибор, может использовать машину для моделирования расположения схем на панели. Каждый раз, пробуя изменение общей схемы, он мо- жет получить ответ на вопрос, было изменение хорошим или плохим. Это — один из самых простых примеров моделирования. Здесь нет ни зависимости от времени, ни заслуживающих внимания ошибок вследствие отбрасывания (членов или цифр), ни использования слу- чайных процессов и все очень наглядно: вычисляется, какая получится длина проводов, если принять предложенное расположение схем на панели. Более того, ответ можно выдать в форме, удобной для управ- ления автоматическим укладчиком проводов, и тем самым включить его в общий план автоматизации. Таким образом, собственно моделирование выполнено. Рассмотрим теперь процесс оптимизации, который на каждом шагу требовал вме- шательства человека и при котором терялось очень много машинного времени, если машина быстродействующая. Естественно спросить, по- чему машина сама не может отбирать и делать пробы. Возможно и верно (а быть может и нет), что инженер может получить ответ при меньшем числе проб; но если дать машине сделать гораздо больше проб, чем хватило бы времени и терпения сделать это инженеру, то время и стоимость работ, а также ее результат могут оказаться удовлетворительными. Возникает задача — сообщить машине, как делать изменения в рас- положении схем — изменения, которые, мы надеемся, будут уменьшать общую длину проводов. Можно, конечно, менять местами соседние схемы, сначала соседние по направлению север—юг, затем по направ- лению запад—восток, и после каждой такой попытки сохранять или отбрасывать перестановку в зависимости от того, уменьшилась или нет общая длина проводов. Проходя, таким образом, многократно по всей панели, пока нельзя будет сделать больше ни одной перестановки, мы постепенно уменьшим общую длину; однако нет никакой уверен- ности, что в конце мы найдем минимум или приблизимся к нему. В любом случае грубый процесс «перестановки соседей», вероятно, тратит напрасно слишком много машинного времени. Спросим поэтому себя, как бы мы приступили к этой задаче, если бы делали ее вручную. Способ, который приходит в голову после немногих опытов и наблюдения за собой, следующий. Возьмем произвольную схему и посчитаем, сколько проводов идет от нее на восток, а сколько — на запад. Если больше проводов идет на восток, 13*
372 то, вероятно, следует рассмотреть передвижение этой схемы в том же направлении. Насколько? Нетрудно понять, что схему нужно пе- редвинуть в такое место, где число проводов, идущих на запад и на восток, одинаково. Повторим затем это же для направления север—юг. Итак, найдется место или по крайней мере область на панели, куда следует поместить выбранную схему. Поищем в этой области вторую схему, обладающую тем свойством, что ее надо было бы передвинуть в район расположения первой. Если такая найдется, то сделаем пе- рестановку. Будем продолжать до тех пор, пока не останется хоро- ших перестановок. Эту модель можно приблизительно описать так. Имеется общая тенденция двигать каждую отдельную схему к центру так, чтобы отходящие от нее в каждом направлении провода уравновешивались. Конкуренция между схемами заставляет некоторые из них находиться на краях панели. Минимальное расположение схем есть компромисс между этими желаниями. Вернемся к описанному выше плану действий, который, по-види- мому, потребует больше времени и сил на программирование, но меньше машинного времени на счет, чем первый грубый метод. У нас все еще нет уверенности, что на этом пути будет достигнут минимум или получено то же решение, которое находится методом «переста- новки соседей». В самом деле, опыт работы такими способами пока- зывает, что если начинать с разных расположений, то получаются существенно разные значения для общей длины проводов. Отсюда вытекает предложение—повторять процесс, начиная с нескольких слу- чайных расположений, чтобы увидеть, какое из них приводит к наимень- шей длине. Эта идея оставляет желать лучшего, и следует поискать другие возможности. Вслепую переставлять одновременно три схемы обычно и не пред- лагают из-за огромного числа требуемых проб, если количество схем на панели сколько-нибудь велико. Слепые пробы можно заменить бо- лее разумным процессом, как, например, тем, который был использован для ускорения перестановки пар, но снова неясно,-удастся ли найти нужную тройку. Тогда, может быть, следует попытаться нашим ме- тодом переместить первую схему, затем взять ту вторую (или близ- кую к ней с неуравновешенными проводами) и найти, куда переме- стить ее, и т. д. в надежде, что какая-нибудь схема в этой цепочке попадет близко к некоторой прежней (не обязательно первой), и та- ким образом получить цикл замен, которые надо сделать. В конце процесса перестановки пар будет найден локальный ми- нимум, и мы хотим выйти из него ценой не слишком большого уве- личения длины проводов. Отойдя достаточно далеко от района этого минимума, мы можем возобновить простую перестановку пар и спу- ститься в следующий локальный минимум. Таким образом, мы хотим «встряхнуть» картинку, не слишком увеличивая длину проводов. Если
устроить такой чередующийся процесс, то его можно повторять ка- кое-то время, но после немногих повторений, вероятно, мы окажемся в таком локальном минимуме, который ниже всех близких локальных минимумов. Таким образом, если иметь желание двигаться дальше, то по- надобится способ более сильного «встряхивания». Но, прежде чем углу- биться в эту интересную задачу, следует спросить себя, так ли в действительности требуется достичь минимума и на каком расстоянии от абсолютного минимума мы согласились бы остановиться, чтобы сберечь машинное (и реальное) время. К сожалению, мы по-настоящему не имеем представления о том, как далеко находимся от минимума, а можем только, после некото- рой практики, догадываться, насколько удастся уменьшить общую длину проводов при заданном объеме вычислений. Это и есть тот реальный вопрос, который встает в большинстве случаев. Известно, что при наличии достаточного машинного времени можно найти ми- нимум путем полного перебора всех комбинаций; но мы не согласны платить такой ценой за минимум, так как выигрыш того не стоит. Решить, как далеко мы хотим идти, можно только в каждом конкрет- ном случае. Но на нынешнем этапе (истории) использования вычис- лительных машин для оптимизации, вероятно, лучше «перезаниматься» теорией нахождения алгоритмов уменьшения общей длины, чем игно- рировать ее; с задачами такого же типа придется встретиться еще много раз, и наверное что-нибудь, чему можно научиться в этом случае, поможет нам в будущем. Цель этой книги не глубокое проникновение в эту область, а скорее обзор нескольких возможных методов, которые приходят в голову при решении разных задач моделирования. Задача на- хождения минимума — это реальная, важная и часто очень труд- ная задача и, несомненно, одна из тех, внимание к которым будет возрастать в будущем. Уже сейчас существуют такие области, как линейное и динамическое программирование, которые вы- росли из поиска наилучших или по крайней мере хороших ре- шений. Здесь, однако, надо сделать одно замечание. В тех ситуациях, которые слишком громоздки для оптимизации в точном смысле, возникает большой соблазн попробовать оптимизировать небольшие части в надежде, что это улучшит положение. Так, в описанном выше примере можно пытаться оптимизировать небольшие блоки схем. Опыт, кажется, показывает, что это в общем плохая тактика; оптимизация малых блоков приводит к большим потерям при окон- чательном их соединении. Из этого правила, несомненно, есть много исключений, но в целом, кажется, оно соответствует известному принципу системотехники: «Не слишком стараться оптимизировать маленькие тесно связанные части системы, так как при соединении этих частей потеряешь больше, чем выиграл».
§ 31.3. Пример моделирования складских операций Пример, который будет описан в этом параграфе, относится скорее к тому, что обычно называют практическими приложениями, чем к области научных исследований, но он затрагивает многие проблемы, встающие в обычной научной работе. Из этого реального примера можно извлечь ряд определенных уроков, и отчасти ради них был включен именно этот пример. На ранней стадии практики ведения складского хозяйства одной из компаний было проведено моделирование на вычислительной машине среднего класса. Изучались главным образом следующие вопросы: 1. Когда заказывать новое оборудование? 2. Сколько оборудования заказывать? 3. Цена отсрочки в выполнении заказа. До некоторой степени все эти три вопроса находятся под конт- ролем компании. Влияние на третий фактор можно осуществлять многими способами: более быстрым продвижением заказов, передачей заказов по телефону, а не письменно, скорейшей обработкой получен- ных товаров, главным образом на стадии проверки качества и достав- ки в действующие хранилища. В процессе ведения складского хозяйства действуют, два проти- воположных стремления, и именно их столкновение делает задачу инте- ресной. С одной стороны, имея малые запасы, можно уменьшить расходы (и налоги). С другой стороны, желательно избежать «простоев», когда нужного предмета нет на складе, следовательно, нужно стремить- ся иметь большие запасы. Очевидно, некоторая общая мера стоимости, как, например, оценка предотвращения простоев, даст возможность сравнивать оба обстоятельства и судить о равновесии двух этих противоположных сил. В принципе моделирование было очень простым. Мы записывали в памяти машины количество наличного товара в начале исследуемого периода. Затем производились действительно наблюдавшиеся выдачи и пополнения склада, которые происходили на протяжении восемнад- цати месяцев. После каждой выдачи по оставшемуся количеству проверялось, не пора ли делать новый заказ. Если да, то решалось, сколько заказать, размещались заказы и вычислялось, когда они бу- дут получены. Последняя операция включает случайную величину с распределением Пуассона (здесь на этом можно не останавливаться, поскольку случайные величины будут рассмотрены в следующей главе). Когда наступало время выполнения заказа, его прибавляли к имеющемуся количеству, прибавляя соответствующее число в ячейку, содержащую число наличных предметов. Перед каждой выдачей делалась проверка, осталось ли что-нибудь на складе, и если нет, то регистрировался простой, и надо было следить, через какое время склад пополнялся.
Наконец, через равные промежутки выпечатывалось имеющееся количество вместе со списком простоев и их длительностью. Прогоняя эту модель для разных правил составления заказов как по времени, так и по объему их, а также изменяя среднее время ожи- дания заказанных товаров, можно сравнить результаты при различной тактике, и в принципе можно было сказать, что произошло бы по истечении 18 месяцев, если следовать каждому из проверенных пра- вил. Однако в этом рассуждении есть одно слабое место. За реаль- ный период в 18 месяцев были отмечены случайные простои, и потом не отмечалось новых заявок до тех пор, пока товар не поступал. Тем самым моделирование было не вполне точным. Другой недостаток выясняется, если пытаться узнать не то, что случилось бы, а что произойдет в будущем. Из-за того, что модель выдач и пополнений не построена, а использовалось наблюдавшееся в действительности, не удается поставить себя в типичную будущую ситуацию. Без сомнения, по частному положению дел в заданные 18 ме- сяцев можно было случайно отдать предпочтение одной формуле, в то время как качество другой выше. Дальнейшее теоретическое иссле- дование могло бы дать лучший результат, но этого сделано не было. Как же можно оценить эту работу? В большой степени она оце- нивается потребителями результата. Они считали себя (и действи- тельно были) инженерами-практиками и не слишком верили в теорию. Вычисление того, что произошло бы именно за те 18 месяцев, если бы они придерживались другой тактики (даже когда было указано на недостаточность этого), значило для них гораздо больше, чем теоретические исследования. Мы не будем обсуждать, какой подход лучше, так как у каждого из них .есть свои недостатки, а остано- вимся на том очевидном утверждении, что бесполезно вычислять результат в такой форме, в которой потребитель не подготов- лен его использовать. То, что вы собираетесь вычислять, должно достаточно хорошо подходить вашему заказчику. Следует упомянуть еще один момент в этой истории. Хотя нас уверяли, что записи ведутся полно и точно, тем не менее в них были найдены противоречия. Таково общее положение: очень трудно найти точную регистрацию прошлого, особенно если она делается вручную, и не следует принимать на веру чужие слова; чтобы убе- диться, что данные соответствуют тому, что о них говорят, надо производить соответствующую их проверку. Большое количество точных данных — вещь чрезвычайно редкая. § 31.4. Трехмерные крестики—нолики Займемся теперь моделированием несколько другого типа, и хотя оно сформулировано в форме игры, принципы его весьма практи- ческие. Это — разновидность игры в «крестики—нолики», только в
трехмерном кубе с ребром в четыре клетки. Цель — поставить четы- ре крестика на одной прямой прежде, чем противнику удастся по- ставить на одной прямой четыре нолика (предполагается, что читатель знаком с игрой в крестики—нолики на квадрате 3 X 3 клетки). В двумерном случае для этой игры известна определенная стра-. тегия, но это, по-видимому, не так для трех измерений. Таким образом, встает задача выработать практический способ выбора следующего хода. В принципе можно перепробовать все возможные продолжения игры, но этот путь, мягко говоря, изнурительный. В этом смысле игра похожа на многие встречающиеся на практике ситуации. В принципе есть возможность полного перебора всех комбинаций, но практически эта возможность недостижима и нам приходится разра- батывать другие методы решения задачи. Преимущество изучения игры, а не практических задач состоит в том, что игра широко известна, проста и четко сформулирована, тогда как многие практи- ческие задачи изобилуют мелкими деталями, которые трудно излагать и которые ничего не добавляют к пониманию того, как решать задачу. Начнем с того, что припишем номера клеткам куба (рис. 31.4-1). Нетрудно видеть, что если четыре крестика стоят на одной прямой, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Рис. 31.4-1. то номера их клеток образуют арифметическую прогрессию. Обратное неверно. Когда игроки делают ход, занимая данное поле, для изуче- ния возможностей выигрыша важна скорее прямая, на которой лежит это поле, чем само поле. Нетрудно видеть, что прямых всего 76. Их можно классифицировать так: 1. По десять прямых на каждой горизонтальной плоскости, из которых две диагональные, — всего 40 прямых. 2. Шестнадцать вертикальных прямых. 3. Шестнадцать наклонных прямых, пересекающих все четыре горизонтальные плоскости (по две из каждой угловой клетки и по одной из каждой боковой). 4. Четыре диагонали куба, начинающиеся в верхнем углу и иду- щие к диаметрально противоположной вершине куба.
В памяти машины нужно держать и карту куба и список поло- жений на прямых. После каждого хода следует изменить затронутые прямые. Оценка, которая приписывается каждой линии, равна сумме номеров клеток, занятых на этой прямой первым игроком, если на ней нет клеток, занятых вторым игроком, такая же сумма с минусом, если на прямой клетки заняты только вторым игроком, и нуль, если на прямой стоят и крестики и нолики. Еще нужно как-то отме- чать совсем пустые прямые. Посмотрим теперь, как делать ходы в этой игре. Очевидно, сле- дующие правила представляют собой первый шаг на пути к страте- гии. Если ход ваш, то: 1. Если у нас есть три крестика на прямой, поставьте четвертый и выиграйте. 2. Если у противника есть три нолика на прямой, займите чет- вертую клетку, чтобы не дать ему выиграть. 3. Если есть клетка, в которой пересекаются хотя бы две прямые, на каждой из которых стоят по два крестика и нет ноликов, сыграйте в «вилку» и выиграете на следующем ходу. 4. Если у противника есть такая же вилка, то лучше ее забло- кировать, а то он выиграет. Предположим, что ни одно из этих правил не применимо, — что тогда? Изучим игру несколько глубже. Заметим сначала, что через 16 клеток: 1, 4, 13, 16, 22, 23, 26, 27, 38, 39, 42, 43, 49, 52, 61, 64 — проходит по семь прямых, тогда как через все остальные клетки только по четыре. Из этого следует, что при прочих равных усло- виях, играя на этих клетках, получаешь больше шансов впоследствии найти выигрывающую комбинацию. Ситуация, в которой мы теперь оказались, характерна для многих подобных задач: есть определенные алгоритмы, как действовать в некоторых случаях, и необходимо при- думать, как действовать в остальных. Поскольку главная цель примера — проиллюстрировать этот прин- цип, интерес к этой игре, возможно, оправдывается следующими несколькими замечаниями, хотя у нас и нет полной стратегии. Дальнейшее изучение игры показывает, что есть такое преобра- зование — инверсия куба самого в себя, — которое оставляет инва- риантными все прямые и меняет местами восемь вершин с восемью центральными клетками (рис. 31.4-2). Таким образом, любая страте- гия для центральных клеток эквивалентна такой же стратегии для вершин. В этом месте, вероятно, необходимо сыграть достаточное число партий, чтобы представлять себе ход игры. Судя по практике автора игра развертывается примерно так. Оба игрока начинают играть главным образом на «лучших» клетках, через которые проходит семь прямых, но вскоре один из них начинает последовательность форсирующих ходов, ставя по три креста на прямую, на что другой
может отвечать только блокировкой в очевидных местах. Первый игрок надеется построить вилку, против которой нет защиты, и, когда он выбирает свои форсирующие ходы, он отчасти имеет это в виду. Он должен также следить, чтобы защитный ход противника не передал неожиданно ему инициативу, предоставляя возможность форсирующего хода. Если первый атакующий не сумел добиться 22 21 24 23 18 17 20 19 30 29 32 31 26 25 28 27 6 5 8 7 2 1 4 3 14 13 16 15 10 9 12 11 54 53 56 55 50 49 52 5! 62 61 64 63 58 57 60 59 38 37 40 39 34 33 36 35 46 45 48 47 42 41 44 43 Рис. 31.4-2. победы и вынужден отдать инициативу, то обычно второй игрок атакует и доводит дело до победы. Кажется невозможным сколько- нибудь долго вести чисто защитную игру против агрессивного про- тивника и не проиграть. Если пытаться превратить эти неопределен- ные рассуждения в стратегию, то легко обнаружить, что на разных стадиях игры требуются совсем разные стратегии. В начале игры — это попытки заполнить лучшие клетки, защититься против ранних атак, а также помешать противнику поставить слишком много ноли- ков на какой-нибудь плоскости, где нет наших крестиков, блоки- рующих комбинации, которые он может там развить. Придется, далее, придумать способ определения подходящего момента для перехода к атаке, помня о том, что если начать слиш- ком рано, то придется отдать инициативу и кончить поражением, а если опоздать, то противник может атаковать и пробиться к победе. Ясно, что необходимо включить в каждый форсирующий ход анализ ответа противника и ситуацию, которая возникнет, чтобы увидеть, не потеряем ли мы инициативу. Следует также стремиться выбрать такой форсирующий ход, при котором мы ходим на лучшую клетку, а противник — нет. При сколько-нибудь глубоком изучении хорошо было бы не только учитывать расположение клеток и поло- жение на прямых, но еще и разработать стратегию для плоскостей. Опыт партий, игранных людьми, заставляет предположить, что машина с такой программой может, вероятно, играть вполне хорошо благо- даря своей способности каждый раз тщательно проверять алгорит- мическую часть и не зевать комбинации, что обычно делают люди. С другой стороны, сделать программу, просчитывающую длинные комбинации, по-видимому, трудно.
Следующие упражнения дают некоторые комбинаторные резуль- таты, найденные при подробном исследовании игры; они характерны как частные результаты, которые можно найти в сложной задаче. Методы их решения в тексте не указаны. Упражнения 31.4- 1. Показать, что 16 надлежащим образом расставленных крестиков могут блокировать 73 прямые (кроме трех главных диагоналей). (Один из ответов: 1, 8, 10, 15, 19, 22, 28, 29, 36, 37, 43, 46, 50, 55, 57, 64.) 31.4- 2. Показать, что если модифицировать правила игры так, чтобы первые восемь ходов должны были делаться только в центральный 2x2x2 куб (или в восемь вершин), то первый игрок выигрывает. § 31.5. Общие замечания о дискретном моделировании Немногие приведенные примеры показывают, что обычно трудной частью дискретного моделирования является не нахождение способа устроить модель, хотя это и может практически оказаться утоми- тельным упражнением в программировании для конкретной машины, а нахождение алгоритма решения тесно примыкающей задачи опти- мизации. Обычно в дискретных случаях существует известный метод полного перебора всех вариантов, который так дорог, что его не- льзя использовать. Тем самым приходится применять эвристические методы и переходить в область узнавания образов и думающих машин. Когда что-нибудь в этом направлении применяется к частной задаче, обычно оказывается, что в немногих случаях есть определен- ный алгоритм, вроде того, который 'был указан для крестиков—ноли- ков, но в большинстве случаев ситуация менее определенна. Когда ни алгоритмические, ни эвристические правила не дают определенного хода, все же, как в случаях крестиков — ноликов, какой-то ход дол- жен быть выбран. Здесь стоит обратиться к понятию случайного хода или случай- ного хода из данного класса. Если ходы выписаны в каком-нибудь порядке, то можно, конечно, брать всегда первый из выписанных хо- дов. Это не так хорошо, как делать случайный ход, по нескольким причинам, в числе которых следующие: 1. Если всегда выбирается определенный ход, противник может постепенно изучить игру, найти слабое место и воспользо- ваться им, тогда как при использовании случайных ходов это очень трудно. 2. Неизвестно почему, но систематический выбор в течение боль- шого времени может дать плохой эффект, и мы чувствуем интуитивно, что случайный ход принесет нам в среднем меньше вреда. Итак, мы пришли к необходимости заняться «случайностью», что и будет сделано в следующей главе.
В этом месте, возможно, следует привести несколько слов пре- достережения. Часто после изучения оказывается, что есть другие формулировки исследуемой ситуации и что одни из них много более удобны для моделирования на машине, чем другие. Поэтому чита- телю не следует торопиться влезать в детали моделирования; в осо- бенности следует убедиться, что предполагаемое моделирование отве- тит на те вопросы, на которые надо ответить. § 31.6. Непрерывное моделирование В большинстве случаев непрерывное моделирование включает решение одного или нескольких дифференциальных уравнений. В та- ких моделях часто употребляются функции с ограниченным спектром, так как моделируемые электронные схемы могут пропускать обычно ограниченную полосу частот. Тем самым оказывается, что к этому вопросу частично относятся главы с 21 по 25, особенно гла- ва 25. Однако детали разных случаев моделирования часто очень раз- личны, и прежде чем начинать программировать численное решение, необходимо тщательно изучить предполагаемую модель. Небрежность в вопросе выбора достаточно малого шага, приводящая к нежела- тельному переучитыванию частот, есть лишний пример того, как спешка на стадии планирования может сказаться на полученных результатах. К большим задачам следует приступать с осторожностью и не торопясь. Если учитывать цену всего машинного времени, потрачен- ного на задачу, то ясно, что не надо жалеть времени и сил на стадии планирования. Одной из главных целей этой книги было изложение идей и соображений относительно методов нахождения вида формул, требуе- мых конкретной ситуацией. Автор надеется, что книга даст читателю умение и уверенность в себе, необходимые для того, чтобы вынести долгие месяцы тщательной отработки и проверки подходящих фор- мул для моделирования. В непрерывных моделях часто встречается моделирование шума, и приведенные в следующей главе методы получения случайных чисел помогут приступить к построению шума с нужными свойствами спектра, автокорреляции и т. д. От конкретной ситуации зависит так много, что невозможно рекомендовать какой-нибудь определенный набор формул, и мы вынуждены быть неопределенными. Почти единственным общим пра- вилом является то, что, прежде чем входить в детали, необходимо осознать общий план моделирования и связи его со всей за- дачей. С этой стороны вопрос освещается главным образом в гла- ве 1.
ГЛАВА 32 СЛУЧАЙНЫЕ ЧИСЛА И МЕТОДЫ МОНТЕ-КАРЛО § 32.1. Понятие случайного числа В математике и в статистике существует точно определенное понятие случайного процесса. Понятие случайного числа не столь просто. Случайные числа суть результат случайного процесса. Но можно ли считать случайной уже записанную последовательность чисел? Ведь раз она записана, это уже вполне предсказуемая после- довательность. Очевидно, прежде чем заниматься вопросами исполь- зования случайных чисел, над этим надо еще подумать. Под случайным целым числом между 0 и 9, вообще говоря, можно понимать цифру, выбранную из совокупности, когда все цифры имеют равную вероятность быть выбранными. Совсем другое дело — случайное число между 0 и 1. Почти для всех таких чисел пере- числение цифр заняло бы бесконечное время. Устроить случайную величину в машине вовсе не означает случайную величину в матема- тическом смысле. Что же это означает? Ну, например, это могло бы означать, что мы собираемся из совокупности всех восьми-, десяти- или двенадцатизначных чисел выбрать одно некоторым «равновероят- ным» способом. На самом деле мы пойдем на дальнейший компро- мисс и будем выбирать только из части этой совокупности чисел. Что имеется в виду, когда собираются устроить последовательность случайных чисел? Обычно мы имеем, в виду просматривать некоторую часть всей совокупности представимых в данной машине чисел, брать их по одному и не повторяться, пока не исчерпаем их все. Это можно было бы назвать выборкой без повторений. Но если мы собираемся получить целую последовательность чисел, то в дополнение к равновероятности понадобятся дальнейшие проверки. Какую последовательность требуется получить? Если ее члены будут монотонно возрастать, то ее не хотелось бы считать случайной, хотя в некотором смысле она столь же случайна, как и любая другая конкретная последовательность. Очевидно, требуются еще какие-то свойства. Первым делом, говорится, что последовательность должна быть построена случайным способом. Но что это такое? Ведь всякий порядок столь же случаен, как и любой другой. Приходится сказать, что не должна быть видна какая-нибудь закономерность в способе, которым выбрана последовательность. Один из законов, для которых можно устроить проверку, — закон корреляции числа и следующего за ним; можно ли предсказать следующее число по предыдуще- му? Таким образом, если х, — случайные числа, то для нашей
последовательности должно выполняться равенство 2 2") 2~) == О’ I где взято среднее х = 1/^. Имея достаточно много времени, можно придумать очень много возможных проверок, так много, что не все их удается применить. В этом вопросе необходимо стать на практическую точку зрения: если по отношению к данному частному применению закон незаметен, то для данного применения числа случайны, и мы должны этим удо- влетвориться. В самом деле, с практической точки зрения, быть может, и не требуется иметь действительно случайную последова- тельность, а предпочтительнее более гладкое распределение, исчер- пывающее часть совокупности без повторений. Способ, которым обычно используются случайные последователь- ности во многих приложениях, состоит в том, чтобы пытаться оце- нить статистику большой совокупности событий по малой выборке. Поэтому хочется получить «сверхтипичную» выборку так, чтобы для малой выборки иметь в реальном случае стабильность, как для боль- шой. Хочется иметь более гладкое распределение, чем обычно, чтобы было не слишком много больших выбросов — ровно столько, сколько надо, чтобы не впасть в противоположную ошибку слишком одно- родной совокупности. Мы хотим, если это возможно, устроить выров- ненную, очищенную и проверенную последовательность случайных чисел. Высказанные замечания не универсальны; они неверны, например, если требуется оценить границы изменения какой-нибудь величины. §32.2. Генерирование случайных чисел в машине, работающей в двоичной системе Наиболее широко употребляется следующий метод получения случайных чисел: х„+1 = рхп (по модулю два в степени длины машинного слова.) Таким образом, используется одно умножение на каждое число и младшие разряды произведения берутся в качестве следующего слу- чайного числа. Основной вопрос состоит в том, что взять за р и как выбрать ха. Ответ на эти вопросы и доказательство того, что данный метод до повторения дает длинные последовательности случайных чисел, основываются на некоторых результатах теории чисел. Для облегче- ния вывода *) (цель которого — продемонстрировать метод и резуль- *) Заимствованного у М. Леви.
(32.2-1) §32.2] ГЕНЕРИРОВАНИЕ СЛУЧАЙНЫХ ЧИСЕЛ В ДВОИЧНОЙ МАШИНЕ 383 тэты) рассмотрим задачу получения случайных чисел на машине, работающей с двоичными числами. Результаты для десятичной машины приведены в следующем параграфе. Обычная в теории чисел запись х = а (тод т) означает, что х — а делится на т. Если наша машина ^-разрядная и берутся последние к разрядов произведения (удвоенной длины) рх„, то х0 = а, хп+1 == рхп (тс д 2*) (/г 3). Если а делится на 2, то последовательность будет эквивалентна такой: Уо = -|, ]'„+1:= ру„(тос12" !), которая на самом деле соответствует более короткому машинному слову, и значит, здесь не используются все возможности нашей машины. Поэтому возьмем в качестве а нечетное число. Аналогично р должно быть нечетным, так как если бы оно было четным, то ^+1 = р*+1а = 0 и с этого места мы бы имели тривиальную последовательность нулей. Далее, все нечетные числа р можно записать одним из способов: 8* —3, 8^—1, 8*4-1, 8*4-3. Теорема 1. Если р = 8*±1, то р2*~3 = 1 (той 2*), (32.2-2) т. е. порядок р не больше, чем 2*"*, и является делителем числа 2*;|. Доказательство. Утверждение теоремы эквивалентно тому, что разность р2*"3—1 делится на 2й. Так как а2 — 1 = (а 4~ 1) (а — 1 )> то р9*-3 -1 = (р9*'4 4- о (р'2" 8 + О • • (Р 4- 1) (Р - 1)- (32.2-3) Для каждой скобки (7^1) 2* р9‘ 4-1 =(8*± 1)2‘ 4-1 = 1 -4(1 ±8*/ =(1-4 1)4-2(-1МЛй> л=1
отсюда 2 делит р2' 4* 1 и из (32.2-3) следует, что 2“ * делит + 1) + 1) ... (р* + 1). (32.2-4) Далее, (Р + 1 )(р - 1) = (р2 - 1) = (8/ ± 1 )2 - 1 = 16 (4/2 ± 0- поэтому (р-{- 1) (р —- 1) делится на 24 и из (32.2-3), учитывая (32.2-4), получаем, что 2^2к~^ — 2к делит (р2* 8—1). Теорема 2, Если р — 8^±3, то р4* " 1 (той 2*), р2* 2 = 1 (той 2*), т. е. порядок р равен 2*“2. Доказательство. Используя (32.2-3) в этом случае, полу- чаем 21 р2‘ 1 _ 1 (3 81)г‘ = 1 4- 32‘ 4- 2 (± 1)/'С^й8'г312'-А». *=1 4 Но 2* (14-з2') = 1 4-(4-1)2‘ = 1 4-(1~4/ = 14-14-2^(-4)\ й==1 Отсюда 2* р2‘ 4- 1 = 2 4- V скг [За'-^А • 2* 4- (— 1)*]4* Л=1 и р3 4 ' делится на 2, но не делится на 4. Следовательно, из равенства (32.2-3) получаем, что 2й-4 делит (р2* *4~1)(р2* ° + 1 ) • -(р2 1 )> но 2й'3 не делит это произведение. Заметим, что (р 4~ 1) (Р—1) = 8 (8{2 ± 6^1) = 8 X (нечетное число). Таким образом, в любом случае (р-{- 1)(р—1) делится на 23 и не делится на 24. Следовательно, (р2 — 1) делится на 2*-1, но не де- лится на 2*. Иными словами, р2'"’’ ф 1 (той 2"). Запишем теперь /’*- 1 =хР2"~Ч о (/'*- о. причем 2 делит р2* 8 4* 1 и 2й"1 делит р2& 3 — 1, так что 2* делит их произведение и Р^!=1 (той 2*).
Теорема 3. Если р — 8^ — 3, то последовательность хй, Хр ..., х^к-*_1у порожденная формулой (32.2-1), есть некоторая перестановка последовательности 1, 5, 9....2й— 3, если (той 4), или 3, 7, 11, ..., 2й—1, если а~3 (шод 4). Доказательство. Рассмотрим значение (ар”), п = 0, 1, ...» 22Й 2—1. Разность между последовательными членами арп+1 — арп — арп (р — 1) = арп (81 — 4) делится на 4. Но уже известно (теорема 2), что порядок числа р равен 2й-2. Следовательно, получаются 2й2 различных членов, раз- ности которых делятся на 4, из чего следует утверждение теоремы. Итак, в зависимости от выбора а и при условии, что р = 8^ — 3 (для любого I), можно получить перестановку одной из двух после- довательностей, указанных в теореме 3. При выводе этого факта хп считались целыми числами; при использовании их слева ставится двоичная запятая и используются числа х„-2Л Но значение I нехорошо выбирать совсем произвольно. Например значение 1= 1 дает р = 5, и если где-нибудь встретится маленькое хп, скажем 10'*, то за ним получится длинная последовательность по- степенно возрастающих чисел. Во избежание этих неприятностей можно было бы выбрать такое I, чтобы старшие разряды р • 2-й были или 001, или 010. Подробного изучения преимуществ выбора различных значений I для получения различных перестановок тех же самых чисел, по-види.мому, Дгет. Для данного р = (8^-ДЗ) мы получили два цикла, каждый из которых исчерпывает четверть всех имеющихся в машине чисел. Оставшаяся половина чисел входит в меньшие циклы, зависящие от выбора а. Если в последовательностях теоремы 3 опустить два последних двоичных разряда, то полученная последовательность будет пере- становкой полного цикла длины 2й’2: 0, 1, 2, ..., 2й-1—1. Если не опустить два последних разряда, то последний разряд всегда будет 1 и, конечно, не будет случайным. Переходя от правых разрядов к левым и проверяя разные встречающиеся разряды, находим все меньше и меньше закономерностей. Поэтому принято не рассчиты- вать на случайность нескольких последних разрядов.
§ 32.3. Генерирование случайных чисел на десятичной машине Основные результаты в этой области изложены в статье Мош- мана *), где приводятся формула для х-значной десятичной машины (х 4) р = 74А+1, которая имеет период длины 5 • 105 :|, а также результаты проверки ее на одиннадцатизначной машине. Другой выбор**) р = = 76 768 779 754 638 671 877 (приведенное по модулю Ю5) дает мак- симальные периоды. Есть и дальнейшие исследования, использующие более сложные формулы. Формулу для двоичной машины. *п+1 = (2а + 1) Хп 4- с (той 238) можно найти в статье Ротенберга ***). Изучались также формулы вида Хп+1 — лхп ~|- рх„_1. Ясно, что проблема получения случайной величины на машине быстро развивается и не может здесь быть исчерпана. Мы оставляем эту тему для дальнейших исследований. § 32.4. Другие распределения Зная, как получать равномерно распределенные случайные числа, можно генерировать другие распределения. Известно много различных способов. Рассмотрим некоторые из них. Предположим, что требуется распределение /(.у); как получить его из равномерного? Один из способов — приравнять две функции распределения, равномерную для переменной х и желаемую для у. $ 1 йх = \/(у) Лу = Р (у) = х. о о Таким образом, если можно найти функцию, обратную к Р (у), то имеем У~Р~' (Р(у)) = Р^(х). В принципе, это все, что требуется. *) 1аск Моайтап, ТЬе Оепегайоп о! Рзеийо-гапдот ИитЬегз оп а Оес1та1 МасНше, Л. Аззос. СотриНпЯ МасЫпегу, уо1. I, рр. 88—91, [954. **) Принадлежащий Е. Н. Гилберту. ***) А. Ко1епЬег§ А. Мс\е Рзеибо-гапйот МитЬег ОепегаГог, 1. Аззос. СотриГег МасЫпегу, уо1. 7, рр. 75—77, 1960. См. также 1. СегГа1п, Оп Зедиепсез о! Рзеибо-гапбот МитЬегз о! Мах1та1 Ьеп^Ы, I. Аззос. Сот- риТег МасЫпегу, уо1. 5, рр. 353—356, 1958.
Простым примером этого способа является экспоненциальное рас- пределение /(_у) = е у, х— ^е уау = 1 — е~у, о (32.4-1) или е'- = 1 — х. На практике можно заменить случайную величину 1—х-г величи- ной так что е~у1 = Х1 или У/ = — 1П XI. Эта случайная величина употреблялась с большим успехом. Если применить этот метод к нормальному распределению —то придется приближать функцию, обратную ег{ (например, по Гастингсу [13], стр. 191). Но опыт показывает, что для обратных функций распределения приближения иногда ведут к серьезным ошибкам. Вместо того чтобы брать обратную функцию, можно воспользо- ваться тем хорошо известным фактом, что сумма сравнительно не- большого числа случайных величин с любым распределением обычно дает очень хорошее приближение к нормальному распределению. Для равномерного распределения требуется сумма около десяти чисел, чтобы получить почти нормальное распределение. В десятичной ма- шине принято брать двенадцать чисел, чтобы избежать возможного взаимодействия между механизмом генерирования и процессом сложе- ния. Сумма не дает в среднем нуля, и поэтому нужно вычитать необхо- димую величину: 5, если складывались десять чисел, и 6, если слагае- мых было двенадцать. Используя результаты § 2. 9, получаем дис- персию / /=“(«=10, 12). Выбирая п равным 12, получаем дисперсию 1, что является вто- рым доводом в пользу п = 12. В случае пуассоновского распределения успешно употребляется следующий способ. Находим такое к, чтобы для х1 из равномерного распределения выполнялись неравенства х}х-.>... хк^ е~т, х^Хъ... хк^ <[ е'т, где т — среднее пуассоновского распределения. Это к и есть нужное число.
Если т мало, эта процедура экономична, но при достаточно боль- ших т она занимает много времени и не слишком хороша. Впрочем, если т достаточно велико, то распределение Пуассона довольно точно приближается нормальным. § 32.5. Метод Монте-Карло Мы привели некоторые из многих известных способов получения случайных величин с разными распределениями и теперь приступаем к описанию возможных способов их использования. Название «методы Монте-Карло» для методов, систематически использующих случайную величину, восходит к последним годам второй мировой войны, когда фон Нейман и Улам использовали случайные числа для моделирования поведения нейтронов. Комбинированное использование машин с людьми для моделирования случайного процесса вызовов на телефонной станции было осуществлено не позже 1926 года, хотя в те дни это называлось (а кое-где и теперь называется) «бросанием» по аналогии с бросанием кости для получения случайных чисел. Но сама идея восходит по меньшей мере к французскому естествоиспытателю Бюф- фону, который заметил, что если иголку бросать случайным образом на разлинованную плоскость, то вероятность того, что иголка пере- сечется с какой-нибудь линией, связана с числом к. Установим этот факт. Пусть дано семейство равноотстоящих па- раллельных прямых линий с расстоянием 1 между ними. Пусть длина Рис. 32.5-1. иголки /<^1. Когда иголку бросают, центр ее может упасть от прямой на любом расстоянии от 0 до ‘Д. Пусть это будет переменная х. Рассмотрим, далее, угол наклона иголки к прямым (рис. 32.5-1, а). Переменные х и а можно считать случайными и независимыми. Условие пересечения иголки с одной из линий есть Х<усо5<р(- 2-О<у). На рис. 32.5-1,6 заштрихована область, ограниченная кривой х = у соз <?, в которую должна попадать точка с координатами (®, х).
Отношение площади этой области к площади всего прямоугольника возможных точек есть вероятность пересечения. Это отношение равно п/2 $ к/2 п — я/2 I С ,2/ р—--------------= \ со8<ра^=—. Таким образом, можно рассматривать рассуждения Бюффона как определение значения л методом Монте-Карло. Если бы про к было известно только, что оно лежит между 1 и 10, это был бы прекрасный способ обнаружить, что к примерно равно 3. Затратив некоторый труд и сделав много бросаний, мы могли бы получить к примерно 3,1. Но, чтобы получить большую точность, нужно было бы проводить прямые, измерять длину иголки, разбирать случаи спорного пересе- чения и т. д. с точностью большей, чем в наших силах, либо про- изводить невероятно большое число бросаний. И это есть общий факт. Метод Монте-Карло, быть может, лучше других на предвари- тельной стадии, когда он помогает получить общее представление о ситуации, но если требуется получить точные результаты, ценность его значительно меньше. Иллюстрируя это замечание, приведем пример из практики автора. Когда только начали появляться вычислительные машины, была пред- ложена задача, которую в первоначальной аналитической форме было бы трудно решить и на самых быстрых современных машинах, но оказалось, что на самом деле это задача о движении иона в элек- трическом поле в газе. Моделирование по методу Монте-Карло с 10 000 частиц дало график распределения скорости вдоль поля и перпендикулярно к нему. После того как физик перестал жаловаться на низкую точность, он сказал нечто вроде: «Хм.... Это похоже на эллиптическое распределение Максвелла, только слегка сдвинутое. Хм...». И это дало ему ключ к аналитическому решению задачи, — только так и были использованы численные результаты моделирования. К сожалению, на самом деле метод Монте-Карло в большинстве слу- чаев используется только тогда, когда прочие методы уже исчерпаны, а в этих обстоятельствах он теряет некоторые свои преимущества. Упражнение 32.5-1. Описать программу, моделирующую задачу Бюф- фона на цифровой машине. § 32.6. Еще одна иллюстрация метода Монте-Карло Обычно реальная задача включает элемент случайности, что на- талкивает на использование случайных чисел в моделирующем про- цессе. Но иногда, как в примере с иглой Бюффона, необходимо найти.
другую формулировку задачи, чтобы она уже содержала случайный элемент. (Некоторые дают имя «Монте-Карло» только таким случаям.) Приведем еще следующий пример использования статистического подхода. В психологическом эксперименте группе из пяти человек, сидящих за столом, была дана задача для совместного решения. Изучалось в основном поведение их в зависимости от изменения каналов связи между ними. Оказалось, что некоторая организация этой связи дала лучший результат, чем другие. Однако при этом не было ответа на вопрос: «насколько хороши •были системы связи?» То, что измерялось, было их взаимное соот- ношение. Естественно задать вопрос: «А если бы люди действовали случайным образом, каков был бы результат?» В некотором смысле исследование случайного поведения дает абсолютную меру успеха организации их работы. Такой эксперимент также яснее отражает •структурные эффекты, получающиеся благодаря наличию тех или иных каналов связи. Таким образом, иногда статистический подход, не являясь никоим образом частью модели исследуемой системы, может тем не менее внести вклад в понимание работы модели. Не обязательно предполагать, что люди действуют случайным образом, но ответ на вопрос: «Что было бы, если бы они действовали случайно?» — проясняет наблю- даемую картину. § 32.7. Метод жулика Ввиду популярности красочных слов «Монте-Карло» мы приняли другое живописное выражение «метод жулика» *) для описания исполь- зования в вычислениях по Монте-Карло коррелированных величин. Удачное использование коррелированных (особенно отрицательно коррелированных) величин может сильно уменьшить объем вычисле- ний при моделировании по Монте-Карло. Как уже часто случалось, обсуждая различные вычислительные вопросы, мы быстро углубились в статистику и вынуждены признать, что эта тема выходит за рамки вводного курса по методам вычисле- ний. Но выгода таких методов в случаях, когда их можно заставить работать, слишком велика, чтобы не сказать о них хоть несколько слов. Приведем лишь один пример. Хоммерсли и Мортон **) описы- вают применение отрицательно коррелированных величин в экспери- *) Принадлежит, по-видимому, проф, Тьюки и используется для обозна- чения любого метода ускорения вычислений переходом к эквивалентной задаче. **) 1 М. Н о ш пт е г 8 1 е у апс! К. XV. М о г I о п, А Кеч.' МопГе Саг1о ТесЫдие: АпШИейс УагтаГез, Ргос. СатЬпс^е РЫ1. Зое., чо1. 52, рГ. 3, рр. 449—457, 1956.
менте Бюффона. Они сначала берут две жестко скрепленные крестом иголки и показывают, что получается выигрыш в числе необходимых бросаний в 12,2 раза (одно бросание и регистрация пересечения креста засчитываются за два бросания с регистрацией простой иглы), т. е. можно ожидать, что для получения той же точности с крестом придется сделать в 12,2 раза меньше бросаний. Когда они перешли к трем иголкам, пересекающимся под равными углами (и считали одно бросание за три), был достигнут выигрыш в 44,3 раза; для четырех выигрыш был в 107,2 раза. Тот же результат можно получить, скрепив иголки в виде правильного треугольника. Далее, они пока- зывают, что с помощью некоторых методов статистики можно получить- еще больший выигрыш. Итак, прежде чем начинать вычисления по Монте-Карло, советуем получить консультацию у хорошего статис- тика, чтобы посмотреть, чем он может помочь. ГЛАВА АГ-М ИСКУССТВО вычислять ДЛЯ ИНЖЕНЕРОВ И УЧЕНЫХ § Важность вопроса В книгу по методам вычислений не принято включать главу на неопределенную, общую тему: как подходить к задаче и решать ее, если решение требует использования вычислительных машин. Сам заголовок этой главы двусмыслен — его можно понимать как адре- сованный человеку, вычисляющему для инженеров и ученых, так и к ним самим; на самом деле имеется в виду и то и другое. Не следует относиться несерьезно к этой теме только из-за того,, что в некоторых местах излагается скорее личное мнение, чем уста- новленные факты. Автору она представляется более важной, чем многие конкретные результаты, изложенные в других частях книги. В настоящее время вся тема представляет собой скорее искусство, нежели науку, но это положение быстро меняется, так как само на- личие вычислительных машин сделало возможной механизацию неко- торых процессов, про которые когда-то полагали, что они требуют человеческой мысли, и теперь в этой важной области продолжаются активные поиски. Чем больше мы узнаем о том, как мы решаем задачи, тем боль- шую часть работы можно будет переложить на машины. Искусство решения задач на вычислительных машинах интересно и само по себе;, оно может помочь во многих ситуациях и сильно увеличить ценность машинных вычислений. Большинство ученых избегают заниматься исследованием того, что, вообще говоря, можно назвать процессом творческого мышления, но-
есть несколько замечательных исключений. «Метод» Архимеда, по- жалуй, один из самых ранних примеров таких исключений среди математиков, а теперь имеется еще современная классическая книга Пойа «Как решать задачу» [36]. Однако оба этих автора занимались решением точно сформулированных задач, тогда как нам интересно, что делать, когда задача поставлена нечетко и столь же неопреде- ленны условия, которым должны удовлетворять результаты. Девиз этой книги Цель расчетов — не числа, а понимание показывает, насколько широка наша область исследований. § Что мы собираемся делать с ответом? Пойа в своей книге «Как решать задачу» [36] показывает, как важно понять условия. Автор этой книги в результате многолетней практики вычислений на заказчика пришел к убеждению, что обычно первым делом следует подумать: «А что мы собираемся делать с от- ветом?» Будут ли вычисленные величины действительно отвечать на вопрос, который нам задан? Все ли они нам нужны? Может быть, нужны еще какие-нибудь? Может быть, что-нибудь другое дает луч- шие основания для понимания? Чтобы ответить на некоторые из этих вопросов, можно предста- вить себе типичный листок с ответом и проверить его на полезность. Гораздо чаще, чем можно было бы думать, результаты, которых от нас требуют, не соответствуют нуждам задуманного исследования. Например, первоначальным требованием могло быть решение системы уравнений. Иногда это и все, что вычисления могут дать, но во многих случаях пониманию исследуемой ситуации могут спо- собствовать другие вещи, например трудность решения. Далее, что должно быть мерой точности: точность по неизвестным, по правым частям или еще что-нибудь? Необходимо ли решать эту систему? И, наконец, нельзя ли все лучше понять другим способом? Прежде чем продолжать в таком же духе, заметим, что и нельзя ожидать от заказчика, чтобы он точно знал, что он хочет. На многих стадиях исследовательской работы не знать в точности, что ты ищешь, вполне естественно. В самом деле, можно сказать: «Если исследо- ватель знает, что он делает, то этого не надо было делать». В неко- тором смысле, если получается в точности ожидаемый результат, то мы не узнаем ничего нового, хотя может возрасти уверенность в чем-то *). Как бы тривиально и очевидно это не звучало, повторим еще раз: важно понимать, что вы хотите узнать. Гораздо реже понимают, что *) П. Дебай: «Если задача ясно поставлена, то для физика она не представляет больше интереса».
работу надо специально планировать так, чтобы увеличить шансы заметить что-нибудь необычное. Если можно включить в процесс счета дополнительные побочные проверки исследуемой модели, то ради этого стоит потратить еще немного машинного времени. Многие ве- ликие открытия были сделаны в результате случайного наблюдения, важность которого понял подготовленный исследователь. Так, по- лезно, кроме самого минимума, выпечатывать еще несколько разумно выбранных чисел, несмотря на то, что это дополнительно загружает выходные устройства. Итак, общее доброе правило (хотя и не без исключений): при- ступая к вычислительной задаче, попытаться ответить на вопрос: «Что мы собираемся делать с ответом?» Активность и воображение могут дать многое для всего исследования уже на этой стадии, в то время как лень и скука могут помешать возникновению какого бы. то ни было понимания, расходуя многие часы счета для получения очевидных числовых результатов. Одна из наиболее частых ошибок—-потребовать вывода слишком многих величин, особенно в задачах со многими параметрами. В таких случаях обычно нужнее всего хороший статистик, знакомый с тео- рией. планирования экспериментов. Очень часто он может так изме- нить постановку исследований, что понадобится обработка лишь не- большой части первоначального числа случаев. Вывод полного объема вычисленных величин может задушить всякое понимание. § Д'4- 1.3. Что мы знаем? Теперь, поняв, что мы намерены извлечь из вычислений, зададимся вопросом: «Что нам известно?» Какой информацией мы распола- гаем? Каковы входные данные? Включили ли мы в них все, что нам известно? Например, если известно, что решение проходит через начало координат, учтен ли этот факт во входных данных? Мы снова напоминаем читателю, что Пойа подчеркивает важность понимания задачи, но он имеет в виду математически поставленные задачи и предполагает, что условия задачи заданы полностью. Для приложений математики это, конечно, не так; неверно это и в соб- ственно математических исследованиях. Часто дополнительные про- верки изучаемой ситуации приносят дополнительные сведения о ней. В § 17.13, занимаясь проведением многочлена по наименьшим квад- ратам, мы сначала отбросили тот факт, что кривая должна проходить через начало координат, и в результате нам пришлось пересмотреть всю задачу. Когда эта информация была использована, мы получили более удовлетворительный ответ. Иногда бывает трудно включить в данные всю известную инфор- мацию. Так, в вышеприведенном примере мы знали, что коэффициент при первом члене положителен. Мы не ввели этот факт во входные
данные, но воспользовались им для проверки ответа. Как бы то ни было, прежде чем перейти к следующей стадии работы, полезно ясно представить себе все, что можно заранее узнать про положение дел. Иногда критический подход к неизвестной ситуации может вызвать другие формулировки задачи, которые в свою очередь приведут к новым идеям. Иногда обнаруживается, что были сделаны излишние ограничительные предположения относительно модели и что их можно легко устранить. Во всяком случае, следует понять роль этих огра- ничений и включить в вычисления проверки, которые покажут цен- ность тех или иных предположений. Таким образом, исследование входных данных может вызвать новые требования к содержанию вы- ходной печати. § 1.4. Обдумывание вычислений Только после того, как мы ясно поймем, где мы находимся и куда хотим попасть, следует всерьез переходить к вопросу: «Как пройти предполагаемый путь?» Это уже относится к действию книги Пойа, все его замечания здесь работают, и мы предполагаем, что читатель знаком с ними. Хотя задача предложена для решения на вычислительной машине, необходимость машины надо проверить. Аналитическое решение часто гораздо лучше численного, и оценка ошибок иногда может быть сделана более точно, даже когда вычислить эту оценку труднее, чем численно решить саму задачу. Изучение условий задачи может дать одну или больше новых формулировок. Некоторые из них будут просто математическими перефразировками той же задачи, а некото- рые, возможно, будут сильно отличаться по существу. Продумывать программу для всех таких возможностей слишком дорого, и прихо- дится сразу выбрать некоторые из них. Как правило (из которого опять-таки много исключений), чем ближе математическое утвержде- ние к основным понятиям данной области, тем лучше (предполагается всегда, что все уравнения приведены к безразмерному виду). Замыс- ловатые математические преобразования часто приводят к трудностям при вычислениях. Принятый план вычислений должен использовать как можно больше первоначальных данных. Математические приближения по формулам должны соответствовать характеру принятой модели. Нужно учесть эффект выборки. План вычислений должен включать проверки как программиро- вания, так и результатов. Слишком часто на это не обращают долж- ного внимания; мы рекомендуем поэтому ставить себе еще такие вопросы: «как я узнаю, что получил то, что хотел?» и «какие про- верки я сделаю или должна сделать машина?» Необходимо, чтобы была вычислена или получена из других источников некоторая из-
быточная информация, чтобы можно было сделать какие-нибудь про- верки. По опыту автора, хороший теоретик может объяснить почти любые полученные результаты, верные или неверные, и по крайней мере может потерять массу времени на выяснение того, верны они или нет. § Д'1.5. Повторение предыдущих шагов Мы все время подразумевали, что указанные этапы работы можно полностью разделить, тогда как на самом деле они часто перепле- таются. Тем не менее полезно держать их в уме и повторять сначала, когда на одной из стадий возникают новые данные для другой. Опыт автора показывает, что наиболее распространенная ошибка состоит в поспешности при обдумывании деталей вычисления. Особенно это касается специалиста-вычислителя, так как здесь он чувствует себя как дома и может показать свое искусство. Но все его искусство пропадает зря, если он решает ложную задачу или получает числа, из которых нельзя извлечь ответов на поставленные вопросы. Трудно, конечно, быть настолько специалистом в частной области, чтобы задавать вопросы о том, нужно ли вычислять то, что просят, или важнее вместо этого вычислить что-нибудь другое. Но суще- ствует искусство именно задавать вопросы. Сократ говорил, что он не знает истины, но знает, как задать человеку нужный вопрос, чтобы вытянуть из него истину. Он называл себя повивальной баб- кой. Примерно таким же образом специалист-вычислитель должен подходить к заказчику. В конце концов, заказчик должен делать выбор и вести исследование, но разумные предложения со стороны могут помочь прояснить природу его выбора и помочь ему принять, решение на многих этапах работы. § #4-1.6. Оценка усилий, необходимых для решения задачи В любой сколько-нибудь развитой науке бывает нужно прики- нуть, что произойдет, прежде чем тратить время и деньги. В неко- тором смысле, чем более развита данная область, тем точнее это можно оценить. Если судить с такой точки зрения, машинная мате- матика находится в крайне элементарном состоянии. Часто доступны лишь самые грубые оценки. Вот некоторые из обстоятельств, которые надо оценивать: 1. Будут ли влиять ошибки округления, и если да, то насколько? 2. Годится ли взятый интервал? 3. Если имеется итерационный процесс, то сколько примерно по- требуется итераций? 4. Сколько времени займут программирование и отладка?
5. Как мы будем проверять результаты, чтобы убедиться, что они •верны? 6. Сколько потребуется машинного времени? 7. Когда будут получены окончательные результаты? Посмотрев на эти вопросы, любой вычислитель скажет, что нынешнее положение дел оставляет желать много лучшего. Нет причин отказываться от попытки делать возможно более реалистич- ные оценки. Более того, хорошее математическое обеспечение может сильно улучшить оценки по пп. 4 и 7. Наличие диспетчера, систем автоматического программирования, отладочных программ, а также возможность быстро выйти на машину и получать частичные резуль- таты — все это необходимо, если мы хотим иметь точные предска- зания по пп. 4 и 7. В этой книге сделана попытка с разных сторон подойти к ряду таких вопросов. В частности, третья часть книги, по-видимому,; дает основание для многих оценок. Однако во многом мы делаем лишь первые пробные шаги в этом направлении, и многое еще предстоит сделать. Тот, кто стремится стать хорошим специалистом в области вы- числительной математики, не должен отмахиваться от этих вопросов как не имеющих ответов, но должен понимать, что умение доста- точно точно — не чересчур оптимистично и не чересчур пессимистично — ответить на них — это признак высокого мастерства. § 7У~{- 1.7. Изменения первоначального плана Почти неизбежно в процессе вычислений появляется новая инфор- мация и возникает необходимость вносить изменения в первоначаль- ный план. Но, прежде чем это сделать, надо постараться понять, почему же был выбран неправильный путь. Говорит ли это изменение что-нибудь новое об использованной модели? Надо ли все еще стре- миться получить подобные результаты? Не нужно ли по этому по- воду вставить новые проверки нашей модели? Нельзя ли что-нибудь понять из самой неудачи или из нового плана? Изменения не должны вноситься поспешно, им следует посвятить столь же тщательное обсуждение, как и первоначальному плану. Как отмечено выше, если все идет, как задумано, то немного узнаешь. Как раз из неожиданностей могут иногда возникнуть новые веши. Таким образом, положение, когда приходится изменить первоначальный план, нужно считать скорее счастливой возможностью, чем неудачей. Конечно, если оно возникло из-за беспечности или недомыслия, оно будет лишним примером ценности предварительного обдумывания. Всегда соблазнительно, втянувшись в задачу, быстро вносить мел- кие изменения, не заботясь о последствиях и осложнениях, особенно •если результаты обещаны к определенному сроку. И все-таки спешка
в этот момент может свести на нет всю прежнюю тщательную ра- боту. Надо помнить, что «человек — это мастер, а не машина», и хорошей организацией математического обеспечения это может довести до сознания заказчика. § Л'-|-1.8. Философия Из нашего девиза «Цель расчетов — не числа, а понимание», сле- дует, что человек, который должен этого понимания достигнуть, обязан знать, как происходит вычисление. Если он не понимает, что делается, то очень мало вероятно, чтобы он извлек из вычислений что-нибудь ценное. Он видит голые цифры, но их истинное значение может оказаться скрытым в вычислениях. У Эддингтона есть блестящая история о человеке, который пошел ловить рыбу сетью с ячейками определенного размера. Увидев, что среди пойманных рыб есть самые маленькие, он решил, что это самые маленькие рыбы в море; он допустил ошибку, не учитывая, как происходила ловля рыбы. Так же и при вычислениях; то, что получается, зависит от того, что дано, и от того, что с этим делают. Если не понимать промежуточные процессы, то весьма легко пере- путать эффекты использованной при вычислениях модели с эффектами модели, принятой заказчиком при формулировании задачи. Далее, часто процесс вычисления проливает свет на саму обра- батываемую модель. Вычисление есть средство получения чи- словых результатов, но это также орудие разума для исследования мира. На самом деле маловероятно, чтобы большое открытие было сделано профессиональным программистом, стандартным образом про- граммирующим задачи. Если ставится цель понять физическое явление, то автор задачи должен понимать и следить за вычислениями. Это не значит, что он должен выполнять всю мелкую работу, но если он не будет в достаточной степени понимать все, что делает машина, то он вряд ли сумеет извлечь из машины максимум пользы, а также понять смысл даже правильно построенных вычислений. Опыт показывает, что обычно и легче, и лучше научить специа- листа в конкретной области вычислительной математике и програм- мированию, чем наоборот. Но если мы требуем этого от заказчиков, то долг вычислителей приложить все усилия к тому, чтобы уменьшить для них трудности обучения. Произвольные правила, особый жаргон, бес- смысленный формализм, изменения в методах и обозначениях, пре- пятствия в получении времени — все должно быть сведено до мини- мума. Особенно внимательно надо следить, чтобы этот груз трудностей не по существу не возрастал с появлением новой машины. Наука о том, как вместо просто быстродействия машины исполь- зовать численные методы и библиотечные программы, переживает
период детства и является одной из наиболее важных областей исследования в будущем. Работа в этой области требует опыта по использованию машин в каждодневной работе. Развивать ее, без- условно, стоит. § Заключительные замечания Для прогресса машинной математики очень важно, чтобы интуи- тивные методы, которыми мы теперь пользуемся, были более ясно поняты и приведены, насколько возможно, к явным и удобным для вычислителей рекомендациям. Нет необходимости напоминать читателю, что большинство пре- дыдущих рекомендаций и замечаний представляют личное мнение, выработанное автором в отдельной лаборатории, и что они вовсе не обязательно всегда применимы. В их защиту можно сказать, что они опираются столько же на здравый смысл, сколько на опыт. Если читателю они не понравятся, то пусть он не спорит на эту тему, а изложит свои собственные соображения.
1. А <1 а т з Е. Р. апд Н 1 р р 1 в 1 е у р. Ь., МаШетаНса! Рогти1ае апд ТаЫез о! ЕШрПс РипсНопз, РиЬПсаНоп 2672, ЗтИИзотап 1пзШиНоп, \УазЫп§1оп, Э. С., 1947. 2. В 1 а с к т а п К. В. апд Т и с к у .1. XV., ТИе Меазигетеп! о! Ро\уег ЗресТга, Эоуег РиЬИсаИопз, Меху Уогк, 1959. 3. Воо1еОеог§е, ТгеаИзе оп ТЬе Са1си1из о! РтПе ЭШегепсез, гериЬ- Нзкед Ьу 81е<±ег1-На1пег, 1пс., Мехе Уогк, 1946. 4. В г о т ш 1 с 11 Т. 4. 4’а, Ап 1п1годисИоп 1о Ше ТИеогу о! 1пПп11е 8епез, 2д ед., МаспиПап & Со., Ыд., Ьопдоп, 1947. 5. В и с к 1 п § Ь а ш К. А., Ыитепса! МеЙюдз, 81г 1заас РПтап & 8опз, Ыд., Ьопдоп, 1957. 6. СатрЬеП О. А. апд РозТег Р. М., Роипег 1п1е§га1з Гог РгасНса! АррНсаНопз, ©. Уап МозГгапд Сотрапу, 1пс., Рппсе1оп, Ы. 4., 1948. 7. С а г з 1 а Н. 8., Роипег Зепез апд 1п1е2га1з, Поуег РиЬНсаПопз, Мем Уогк, 1930. 8 Е г д ё 1 у 1 А. (ед.), ТаЫез о! 1п1е§га1 ТгапзГогтз, уо1. 1, Мсбгахс— НП1 Воок Сотрапу, 1пс., Меху Уогк, 1954. 9. ВазовВ. и Форсайт Дж., Разностные методы решения дифферен- циальных уравнений в частных производных, ИЛ, М., 1963. 10. Рох Ь., МаЙгетаНса! ТаЫез, уо1. 1, Нет Ма]ез1у’з ЗТаНопегу ОНГсе, Ьопдоп, 1956. 11. Рох Ь., Митег1са1 8о1иИоп о! Тмо-ротТ Воипдагу РгоЫетз, Ох1огд Ь'тсегзИу Ргезз, Ьопдоп, 1957. 12. Н а г 1 г е е О. Р., Митепса! Апа1уз1з, 2д ед., Ох1огд ЫтуегзПу Ргезз, Ьопдоп, 1958. 13. Н а з 11 п § з С е с 11, 4г., Арргох1та1юпз Гог В^На! Согпри1егз, Рппсе’.оп СкнуегзИу Ргезз, Р«?Лсе1оп, М. 4., 1955. 14. Н 11 д е Ь г а п д Р. В., 1п1годисНоп Го Митепса! Апа1уз1з, МсСгаху— НН1 Воок Сотрапу, 1пс., Меху Уогк, 1956. 15. Н о д § т а п С. О. (ед.), НапдЬоок о! РЬуз1сз апд СЬет1з1гу, Скеппса! РиЬЬег РиЬПзЫп^ Со., С1есе1апд, 1960. 16. X а у с х о л д е р А. С., Основы численного анализа, ИЛ, М., 1956. 17. Джексон Д., Ряды Фурье и ортогональные полиномы, ИЛ, М,, 1948. 18. 4 о 11 е у Ь. В. XV., ЗиттаИоп о! Зепез, Сйартап & На11, Ыд., Ьопдоп, 1925, апд Эоуег РиЬИсаНопз, Ые\у Уогк, 1960. 19. 4огдап С 11 а г 1 е з, Са1си1из о! РтПе ОШегепсез, СЬе1зеа РиЫ1зЫп§ Сотрапу, Ме\у Уогк, 1947. 20. Кора1 Ь., Митепса1 Апа1уз1з, 4оЬп ХУПеу & Зопз, 1пс., Ке\у Уогк, 1955. 21, Кип1гтапп4., МёЙюдез питёпдиез, 1п1егро1аНоп — дёпуёез, Оипод, Раг1з, 1959. 22. Кунц К., Численный анализ. Техника, Киев, 1964. 23. Л анцош К., Практические методы прикладного анализа, Физматгиз, М.,
24. ЫдЫЫИ М. Л., Роипег Апа1у81з апй ОепегаНхей РипсРопз, СатЬгк^е Ишуегзйу Ргегз, Ьопйоп, 1958. 25. М и л н В. Э., Численный анализ, ИЛ, М., 1951. 26. Милн В. Э., Численное решение дифференциальных уравнений, ИЛ, М., 1954. 27. М 11 п е-Т 11 о т а о п Ь. М., ТИе Са1сц]и8 о! Ршйе ИНЕегепсез, МасинПао & Со., Цй., Ьопйоп, 1933. 28. Мгпеиг Н., ТесНтциез йе са1си1 питёпаие, ЫЬга1г1е Ро1у(есНп1оие, Раг1з, 1952. 29. Мойегп Сотри(1п§ Ме(Нойз, 24 ей., РНПо.адрНша! ЫЪгагу, 1пс., К’еи, Уогк, 1961. 30. Ми1г Т., А ТгеаНзе он (Не ТНеогу о( ОеГеггшпапГз, Воуег РиЬНсаНопз, .\'е\ч Тогк, 1960. 31. ЫаНопа! Вигеаи о! 8(апйагЙ8, ТаЫез о! Г'ипсНопз апй 2его8 о! РипсОопз, АррНей МаНаетаНсз 8епез, № 37, ХУазЫп^оп, 1954. 32. ИаНона! Вигеаи о! 3(апс1агй8, ТаЫез о! Ьа^гап^ап СоеНгаепТд, ХУазЫпсткш, Со1ишЫа СЫуегвЙу Ргезз, Ыеч/ Уогк, 1944. 33. М б г 1 и п б Ы. Е., УоНезип^еп йЬег О1йегепхепгесЬпип§, Зрппдег — Уег1а§, ВегНп, У1еппа, 1924. 34. Островский А. М., Решение уравнений и систем уравнений, ИЛ, М., 1963. 35. Р а 1 г т а п Е 1 е а п о г, Тгас(я 1ог Сотри(егз Мо. 1, ТаЫез о( (Не О1датша апй Тп^атта РипсНопз, СатЬпй^е СтуегеНу Ргезз, Ьопйоп, 1919. 36. Пой а Д., Как решать задачу, Учпедгиз, М., 1959. 37. Я а 1 з (о п А. апй XV 111 Н. 8., МайетаНса! МеИгойз Тог О1211а1 Сотри- (егз, йоНп ХУПеу & Зона, 1пс., Ме\у Уогк, 1960. 38. Скарборо Дж., Численные методы математического анализа, ГТТИ, М„ 1934. 39. С т е ф е н с е н И. Ф., Теория интерполяции, ГТТИ, М., 1935. 40. ТрантерК. Дж., Интегральные преобразования в математической физике, ГИТТЛ, М., 1956. 41. В а т с о н Г. Н., Теория бесселевых функций, ч. 1, ИЛ, М., 1949. 42. У и т т е к е р Э. Т. и Р о б и н с о н В., Математическая обработка резуль- татов наблюдений, ГТТИ, М., 1935. 43. У и т т е к е р Э. Т. и Ватсон Г. Н., Курс современного анализа, тт. I, II, Физматгиз, М., 1963. 44. Зигмунд А., Тригонометрические ряды, тт. I, 11, «Мир», М., 1965.