Оглавление
Введение 10
0.1. Потребности в математике 10
0.2. Специфика современного этапа 11
0.2.1. Состояние математики 11
0.2.2. Развитие ЭВМ 13
0.2.3. Программирование вычислений 14
0.2.4. "Вычислительные кадры" 15
0.3. Как учить вычислительной математике 16
0.4. О данной книге 17
1. Содержание и средства математического моделирования 21
1.1. Математическое моделирование 21
1.2. Виды математических моделей 24
1.3. Требования к математическим моделям 27

1.3.1. Адекватность 28
1.3.2. Корректность 30
1.4. Дискретная модель 31
2. Основы Фортрана 33
2.1. Алфавит и простейшие конструкции 33
2.2. Оформление программы 34
2.3. Типы данных 34
2.4. Выражения 35
2.5. Массивы и действия над ними 36

2.5.1. Основные определения 36
2.5.2. Вырезки и сечения массивов 37
2.5.3. Задание массивов 38
2.5.4. Действия над массивами в целом 39
2.5.5. Выборочные действия 39
2.5.6. Массивы с переменными границами 41

2.6. Встроенные функции 42
2.7. Разветвления 43
2.8. Циклы 43
2.9. Программа и ее компоненты 44
2.6.
4 Оглавление
2.10. Подпрограммы 47
2.11. Функции 48
2.12. Расположение операторов 49
2.13. Области видимости меток и имен 50
2.14. Внутренние процедуры 50
2.15. Интерфейс процедур 51
2.16. Специальные случаи параметров процедур 52

2.16.1. Массивы как параметры 52
2.16.2. Процедуры как параметры 53

2.17. Рекурсивные процедуры 54
2.18. Ввод-вывод 54

2.18.1. Структура операторов ввода-вывода 54
2.18.2. Форматы ввода-вывода 55
2.18.3. Список ввода-вывода 55
3. Эффективное программирование 57
3.1. Факторы эффективности 57
3.2. Метод и программа 58
3.3. Процесс программирования 59
3.4. Измерение времени выполнения программы 59

3.4.1. Измерение трудоемкости участка 59
3.4.2. Профилировщик 60
3.5. Повышение быстродействия программ 61
3.5.1. Стратегический уровень 61
3.5.2. Тактический уровень 61
3.6. Обеспечение надежности 63
3.6.1. Основные пути 63
3.6.2. Тестирование 63
4. Приближенные вычисления 65
4.1. Компоненты погрешности 65
4.2. Абсолютные и относительные погрешности 66
4.3. Особенности машинной арифметики 68
4.4. Погрешности функций 70
4.5. Обратная задача теории погрешностей 73
4.6. Гарантированная и вероятностная оценки погрешности 74
4.7. Число верных цифр результата 75
4.8. Корректность математической модели 76

4.8.1. Корректность задач и методов 76
4.8.2. Корректность систем линейных уравнений 78
5. Вычисление значений функции 79
5.1. Вычисление многочленов 79
5.2. Рекурсивные и рекуррентные вычисления 80
5.3. Расчет степенных рядов 83
5.3.1. Общие сведения 83

Оглавление 5
5.3.2. Признаки сходимости рядов 84
5.3.3. Расчет членов рядов 85
5.3.4. Ускорение сходимости рядов 88

5.4. Дробно-рациональные приближения 92
5.5. Непрерывные дроби 93
6. Решение уравнений с одним неизвестным 95
6.1. Постановка задачи 95
6.2. Отделение корней 96
6.3. Метод половинного деления 97
6.4. Метод хорд 98
6.5. Параболическая аппроксимация 100
6.6. Метод Ньютона 103
6.7. Метод итераций 106

6.7.1. Понятие о методе итераций 106
6.7.2. Условия сходимости итераций 108
6.7.3. Обеспечение сходимости итераций 111
6.7.4. Метод Вегстейна 114
6.7.5. Применение метода итераций
для приближенного вычисления значения функций 116
6.8. Метод Эйткена 118
6.9. Решение полиномиальных уравнений 118
6.10. Сопоставление методов 122
7. Вычислительные методы линейной алгебры 123
7.1. Матрицы 123
7.2. Операции над матрицами 124
7.3. Ранг матрицы 128
7.4. Неособая, единичная, обратная матрицы 129
7.5. Матрицы специальной структуры 131

7.5.1. Клеточные матрицы 132
7.5.2. Треугольные матрицы 133
7.5.3. Ленточные матрицы 138
7.5.4. Диагональные матрицы 138
7.5.5. Нерегулярные разреженные матрицы 138

7.6. Нормы матрицы и вектора 139
7.7. Системы линейных уравнений 141

7.7.1. Матричная запись системы линейных уравнений 141
7.7.2. Погрешность прямых решений линейных систем 144
7.7.3. Расчетная схема метода Гаусса 146
7.7.4. Уточнение решений 149
7.7.5. Применение метода Гаусса для вычисления определителя 150
7.7.6. Применение метода Гаусса для вычисления обратной матрицы . 150

7.8. Метод прогонки для трехдиагональных матриц 151
7.9. Итерационные методы решения систем линейных уравнений 153
7.9.1. Метод простой итерации 153

6 Оглавление
7.9.2. Метод Зейделя 154
7.9.3. Обеспечение сходимости итераций 156
7.9.4. Сверхрелаксация 157

7.10. Итерационный способ обращения матриц 158
7.11. Сравнительная оценка точных и итерационных методов 159
8. Дополнительные разделы линейной алгебры 161
8.1. Дополнительные сведения о матрицах 161
8.1.1. Транспонирование комплексных матриц 161
8.1.2. Ортогональные матрицы 161
8.2. Линейные векторные пространства 162
8.2.1. Линейная зависимость векторов 162
8.2.2. Скалярные произведения и ортогональность векторов 163
8.2.3. Базис линейного векторного пространства 164
8.2.4. Линейное преобразование векторов 164
8.2.5. Преобразование координат при изменении базиса 164
8.3. Матричные разложения 165
8.3.1. Матрицы перестановок 165
8.3.2. Матричное представление схемы Гаусса 166
8.3.3. Разложение и метод Холецкого 166

8.4. Тактика решения линейных систем 167
8.5. Билинейная и квадратичная формы матриц 170
8.6. Собственные векторы и собственные значения 171

8.6.1. Основные свойства собственных значений 173
8.6.2. Собственные значения матриц специального вида 175
8.6.3. О вычислении собственных значений 175
8.7. Частичная проблема собственных значений 176
8.7.1. Постановка задачи 176
8.7.2. Степенной метод 177
8.7.3. Улучшение сходимости простых итераций 179

8.8. Полная проблема собственных значений 179
8.9. Сингулярные числа и сингулярное разложение 182
8.10. Матричные ряды 182
8.11. Матричные уравнения специального вида 183

8.11.1. Типы уравнений 183
8.11.2. Пример на квадратное уравнение 184
8.11.3. Простое решение 185
9. Решение систем нелинейных уравнений 189
9.1. Основные предположения и вспомогательный аппарат 189
9.2. Метод Ньютона 192

9.2.1. Основной вариант 192
9.2.2. Модифицированный вариант 193
9.2.3. Преобразованная система 194
9.2.4. Квазиньютоновы методы 196
9.3. Метод итераций 197

Оглавление 7
9.4. Одна специальная система 199
10. Приближение функций 203
10.1. Постановка задачи 203
10.2. Оценка качества приближения 204
10.3. Сортировка и поиск 205

10.3.1. Поиск в массиве 205
10.3.2. Понятие о сортировках 206
10.3.3. Линейные сортировки 207
10.3.4. Быстрая сортировка 209
10.4. Интерполирование 209
10.4.1. Интерполяционный многочлен Лагранжа 210
10.4.2. Интерполяционные многочлены Ньютона 215
10.4.3. Обратная интерполяция 220
10.4.4. Сплайны 221
10.5. Чебышевские приближения 224
10.5.1. Проблема выбора узлов интерполяции 224
10.5.2. Многочлены Чебышева 224
10.5.3. Интерполяция по чебышевским узлам 227
10.5.4. Экономизация степенных рядов 230

10.6. Метод наименьших квадратов 231
10.7. Подбор эмпирических формул 235
11. Методы оптимизации 237
11.1. Базовые понятия 237
11.1.1. Введение 237
11.1.2. Градиент и гессиан 239
11.1.3. Выпуклость и вогнутость 240
11.1.4. "Овражные" целевые функции 241
11.1.5. Классификация методов минимизации 244
11.1.6. Проблема "глобализации" 246

11.2. Методы косвенной оптимизации 246
11.3. Прямая минимизация 247

11.3.1. Поиск минимума функции одной переменной 247
11.3.2. Метод конфигураций (Хука-Дживса) 248
11.3.3. Метод Нелдера-Мида 248
11.3.4. Покоординатный спуск 249
11.3.5. Метод Розенброка 250
11.4. Градиентные методы 250
11.4.1. Общие соображения 250
11.4.2. Алгоритм градиентного спуска 252
11.4.3. Скорейший спуск 252
11.4.4. Скорейший спуск для систем уравнений 253
11.4.5. Методы сопряженных градиентов 256
11.5. Методы второго порядка 257
11.5.1. Многомерный ряд Тейлора 257

8 Оглавление
11.5.2. Метод Ньютона 258
11.5.3. Идея квазиньютоновых методов 259
11.5.4. Метод Дэвидона-Флетчера-Пауэлла 260
11.6. Оптимизация при наличии ограничений 261
11.6.1. Методы прямого поиска 261
11.6.2. Градиентные методы 263
11.6.3. Ограничения в форме неравенств 265
11.6.4. Метод штрафных функций 266
11.7. Линейное, целочисленное и динамическое программированиие 267
12. Численное дифференцирование и интегрирование 269
12.1. Численное дифференцирование 269
12.1.1. Общий подход 270
12.1.2. Расчетные формулы и оценка погрешности 270
12.1.3. О построении таблиц для численного дифференцирования 273

12.2. Расчет моментов распределения через преобразование Лапласа 275
12.3. Общие сведения об интерполяционных квадратурных формулах 279

12.3.1. Соотношение между узлами и весами 280
12.3.2. Преобразование промежутка интегрирования 281

12.4. Квадратурные формулы Котеса 282
12.5. Квадратурные формулы Чебышева 285
12.6. Квадратурные формулы Гаусса 287

12.6.1. Многочлены Лежандра 287
12.6.2. Выбор узлов квадратурной формулы Гаусса 289

12.7. Погрешности квадратурных формул 293
12.8. Составные квадратурные формулы 294

12.8.1. Идея и достоинства 294
12.8.2. Процессы Ромберга и Эйткена 296

12.9. Квадратуры Гаусса-Крон рода 300
12.10. Несобственные интегралы 301
12.11. Интегрирование осциллирующих функций 307
12.12. Выбор метода и шага интегрирования 308
12.13. Понятие о кубатурных формулах 310
12.14. Интегрирование по методу Монте-Карло 311
13. Численное интегрирование дифференциальных уравнений 314
13.1. Постановка задачи Коши 315
13.2. Представление решения задачи Коши в виде степенного ряда 317
13.3. Идея численных методов решения задачи Коши 318
13.4. Метод Эйлера 320
13.5. Методы Рунге-Кутты 321
13.6. Экстраполяционные разностные методы 327

13.6.1. Разностная форма метода Адамса 328
13.6.2. Безразностная форма метода Адамса 328
13.6.3. Порядок вычислений 329
13.6.4. Пошаговый порядок погрешности метода Адамса 329
13.6.1.
Оглавление 9
13.7. Интерполяционные разностные методы (с пересчетом) 330
13.8. Решение задачи Коши для системы дифференциальных уравнений 333
13.9. "Жесткие" системы 334
13.10. Контроль пошаговой погрешности 336
13.11. Сравнительный анализ методов 337
14. Интегральные уравнения 341
14.1. Определения и классификация 341
14.2. Теоремы существования и единственности решения 344
14.3. Уравнения Фредгольма с вырожденным ядром 346
14.4. Разложение по координатным функциям 348

14.4.1. Постановка задачи 348
14.4.2. Метод коллокации 349
14.4.3. Метод наименьших квадратов 349
14.4.4. Метод моментов 350
14.4.5. Метод Бубнова-Галеркина 351

14.5. Метод итерируемых ядер 351
14.6. Замена интеграла квадратурной суммой 353

14.6.1. Уравнение Вольтерра 354
14.6.2. Уравнение Фредгольма 355
14.7. Интегро-дифференциальные уравнения 355
14.7.1. Идея метода и диаграмма переходов 356
14.7.2. Законы сохранения для линейчатых процессов 356
14.7.3. Постановка и решение задачи 357
15. Математические пакеты и библиотеки 359
15.1. Стандартные подпрограммы 359
15.2. Понятие о математических пакетах 361
15.3. Пакеты и пользователь 363
15.4. Введение в Maple 366

15.4.1. Входной язык 367
15.4.2. Ввод в стандартной символике 368
15.4.3. Решение уравнений и систем уравнений 368
15.4.4. Символические вычисления 370
15.4.5. Maple и Фортран 372
15.4.6. Графические средства 373
15.4.7. Дополнительные пакеты 373

15.5. Математические библиотеки IMSL 375
15.6. Библиотека Fortran 90 МР 379
15.7. Compaq Extended Mathematical Library 381
15.8. Numerical Recipes 383
15.9. Работа с личными библиотеками 385
Заключение 386
Л итература 390