
- •Предисловие
- •Глава 1. О численном анализе
- •1.1. Немного истории
- •1.1.1. Развитие численных методов
- •1.1.2. Теории и модели
- •1.2. Математическое моделирование
- •1.2.1. Математическая модель
- •1.3. Источники погрешности
- •1.3.1. Величины и нормы
- •1.3.2. Погрешность модели
- •1.3.3. Неустранимая погрешность
- •1.3.4. Погрешность метода
- •1.3.5. Погрешность округления
- •1.3.6. Корректность задачи
- •Глава 2. Системы алгебраических уравнений
- •2.1. Линейные системы
- •2.1.1. Задачи линейной алгебры
- •2.1.2. Метод Гаусса
- •2.1.3. Определитель и обратная матрица
- •2.1.4. Прочие методы
- •2.1.5. Плохо обусловленные системы
- •2.1.6. Переобусловленные системы
- •2.2. Нелинейное уравнение
- •2.2.1. Дихотомия
- •2.2.2. Метод Ньютона
- •2.2.3. Обобщенный метод Ньютона
- •2.2.4. Прочие методы
- •2.2.5. Удаление корней
- •2.3. Системы нелинейных уравнений
- •2.3.1. Метод Ньютона
- •2.3.2. Обобщенный метод Ньютона
- •Глава 3. Численное интегрирование
- •3.1. Квадратурные формулы
- •3.1.1. Интегральная сумма
- •3.1.2. Формула средних
- •3.1.3. Формула трапеций
- •3.1.4. Формула Симпсона
- •3.1.5. Формулы Эйлера-Маклорена
- •3.1.6. Формулы Гаусса-Кристоффеля
- •3.1.7. Недостаточно гладкие функции
- •3.2. Метод сгущения сеток
- •3.2.1. Однократное сгущение
- •3.2.2. Рекуррентное уточнение
- •3.2.3. Квазиравномерные сетки
- •3.2.4. Метод Эйткена
- •3.3. Кубатурные формулы
- •3.3.1. Метод средних
- •3.3.2. Произведение квадратурных формул
- •3.3.3. Статистические методы
- •Глава 4. Интерполяция
- •4.1. Интерполяционный многочлен
- •4.1.1. Задачи интерполяции
- •4.1.2. Многочлен Ньютона
- •4.1.3. Погрешность
- •4.1.4. Обратная интерполяция
- •4.1.5. Эрмитова интерполяция
- •4.1.6. Многомерная интерполяция
- •4.2. Сплайн-интерполяция
- •4.2.1. Историческая справка
- •4.2.2. Кубический сплайн
- •4.2.3. Обобщения
- •4.3. Нелинейная интерполяция
- •4.3.1. Выравнивание
- •4.3.2. Рациональная интерполяция
- •Глава 5. Среднеквадратичная аппроксимация
- •5.1. Общий случай
- •5.1.1. Выбор нормы
- •5.1.2. Аппроксимация обобщенным многочленом
- •5.1.3. Неортогональные базисы
- •5.1.4. Ортогональные системы
- •5.1.5. Метод наименьших квадратов
- •5.2. Тригонометрический ряд Фурье
- •5.2.1. Общие формулы
- •5.2.2. Сходимость
- •5.2.3. Вычисление коэффициентов
- •5.2.4. О равномерных приближениях
- •5.3. Ряды по многочленам Чебышева
- •5.4. Метод двойного периода
- •5.4.1. Исключение разрывов
- •5.4.2. Двойной период
- •5.4.3. Наилучшее приближение
- •5.4.4. Вычисление скалярных произведений
- •5.5. Аппроксимация сплайнами
- •5.5.1. В-сплайны
- •5.5.2. Среднеквадратичная аппроксимация
- •5.5.3. Конечные элементы
- •5.6.2. Хорда
- •5.6.3. Окружность
- •5.6.4. Аппроксимация
- •5.6.5. Ротационная инвариантность
- •Глава 6. Численное дифференцирование
- •6.3. Некорректность численного дифференцирования
- •Глава 7. Спектр матрицы
- •7.1. Преобразование подобия
- •7.1.1. Теория
- •7.1.2. Метод отражений
- •7.1.3. Другие методы
- •7.2. Вычисление спектра
- •7.2.1. Частичная проблема
- •7.2.2 Обобщенная проблема
- •7.2.3. Полная проблема
- •Глава 8. Задачи минимизации
- •8.1. Одномерный минимум
- •8.1.1. Золотое сечение
- •8.1.2. Метод Ньютона
- •8.1.3. Случай многих экстремумов
- •8.2. Многомерный минимум
- •8.2.1. Рельеф функции
- •8.2.2. Обобщенный метод Ньютона
- •8.2.3. Многоэкстремальность
- •8.3. Решение сеточных уравнений
- •8.3.1. Градиентные спуски
- •8.3.2. Наискорейший спуск
- •8.3.3. Минимальные невязки
- •8.3.4. Усеченный спуск
- •8.3.5. Сопряженные градиенты
- •8.3.6. Нелинейность
- •8.4. Задачи с ограничениями
- •8.4.1. Наложение связей
- •8.4.2. Ограниченная область
- •8.4.3. Общий случай
- •8.5. Минимизация функционала
- •8.5.1. Прикладные проблемы
- •8.5.2. Сеточный метод
- •8.5.3. Метод Ритца
- •8.5.5. Пробные функции
- •Список литературы
- •Оглавление
Практики выработали следующие рекомендации. Выбирают
в исходной области ~ (5 + 20)N случайных точек. Из каждой
случайной точки ищут экстремум обобщенным методом Ньюто
на, ограничиваясь при этом умеренной точностью е: схождения
итераций. Каждая траектория спуска приводит на дно котлови
ны или оврага, принадлежащего ближайшему минимуму. При не
слишком малом е: конечная точка траектории может оказаться
далеко от точки минимума, но достигнутое значение Ф(х) будет
близко к соответствующему минимальному (отличие,...., е:2). Это
уже позволяет сравнивать конечные точки траекторий, прове
денных из разных нулевых приближений.
Когда требуется найти глобальный минимум, выбирают ко
нец той траектории, на котором значение Ф(х) оказалось наи
меньшим. Из него продолжают спуск, добиваясь сходимости уже с малым е:. Конечную точку спуска принимают за положение глобального минимума.
Если требуется несколько минимумов, удовлетворяющих определенным критериям, то после сравнения выбирают не
сколько подходящих концов траекторий и продолжают спуски
из них.
8.3. РЕШЕНИЕ СЕТОЧНЫХ УРАВНЕНИЙ
8.3.1. Градиентные спуски
При решении уравнений в частных производных эллиптиче
ского типа сеточными методами возникает система линейных
уравнений огромной размерности
Ах=Ь. |
(8.14) |
Если сетка по каждой переменной содержит N узлов, то в дву
мерном случае матрица А имеет порядок N 2 ( т. е. размер мат рицы равен N 2 х N 2), а в трехмерном - порядок N 3 • Однако
эта матрица имеет специфический вид: она очень слабо запол
нена. Например, в двумерном случае из N 2 элементов каждой строки матрицы лишь 5 - 9 ненулевые; в трехмерном из N 3 эле
ментов строки ненулевые 7 - 27. При этом положение ненуле вых элементов фиксировано и описывается несложным прави лом: обычно это диагональ, две кодиагонали и т. п. Такие мат рицы называют разреженными. Ненулевые элементы в них не образуют плотной ленты, и применять метод Гаусса или другие
265
прямые методы для их решения крайне невыгодно. Для их ре
шения строят специальные методы, основанные на минимизации
квадратичной функции.
В подобных задачах матрица А непроизвольная. Она всегда
вещественна и положительна А > О (это значит, что для любого
х # О выполняется (х, Ах) > О). Во многих задачах она так
же симметрична. Пока ограничимся именно этим случаем. То
гда (8.14) эквивалентна нахождению минимума положительно
определенной квадратичной формы
1 |
. |
|
Ф(х) = 2(х,Ах) - |
(х, Ь) = mш. |
(8.15) |
Доказательство этого приведено в подразд. 2.1.5. Задачу (8.15)
решать методом Ньютона бессмысленно: он требует прямого ре
шения исходной системы (8.14).
Для таких задач предлагались различные методы градиент ного спуска. Они основаны на идее потока воды, стекающего по рельефу в поисках низшей точки. Вода стекает в направле нии наиболее крутого склона. Но функция быстрее всего убыва
ет в направлении, противоположном градиенту grad Ф =У'Ф =
= дФ/дх. Тогда, если известно некоторое приближение x(s), то
следующее приближение ищется на прямой
(8.16)
где -r - параметр, определяющий шаг вдоль прямой.
Для квадратичной формы (8.15) градиент попросту равен
невязке линейной системы (8.14): grad Ф(х) = Ах - Ь =r. Поэто му для нее формула (8.16) переходит в
x(-r) = x(s) - "!Г(s), r(s) = Ax(s) - Ь. |
(8.17) |
Остается определить величину шага -r на каждой итерации. Выгодность подобного подхода связана с малой трудоемко
стью каждой итерации. На ней требуется умножать матрицу А
на вектор x(s). Это делают экономично, включая в расчет только
ненулевые элементы матрицы А, местоположение которых зара нее точно известно. То же относится к операции сложения век
торов.
8.3.2. Наискорейший спуск
В этом методе спуск по прямой (8.16) пор, пока значения функционала (8.15)
продолжается до тех вдоль нее убывают.
266
С учетом симметрии матрицы А проведем следующие преобра
зования:
|
1 |
|
|
|
Ф(х('t)) = |
2(x(s) |
- |
Lr(s), |
|
A(x(s) - Lr(s))) - (x(s) |
- |
'tГ(s), Ь) = |
(8.18) |
,2
=-(r(s), Ar(s)) - 't(r(s), r(s)) + Ф(х(s)).
2
Для определения низшей точки вдоль прямой приравниваем
нулю производную от (8.18) по 't и получаем шаг метода наиско-
рейшего спуска:
(8.19)
Здесь числитель положителен в силу свойств скалярного произ
ведения, а знаменатель - в силу положительности матрицы А,
так что '~~ > О. Движение действительно происходит против
градиента.
Сходимосmъ. Поскольку матрица А > О симметрична, все ее собственные значения вещественны и положительны. Для эл липтических уравнений этот спектр имеет специфическое рас
пределение собственных значений, причем Amax >> Amin (отноше
ние Amax/Лmin '""' N 2 , где N - число узлов разностной сетки по
каждой координате).
В этом случае доказывается, что метод наискорейшего спуска сходится линейно с очень близким к единице знаменателем:
fx(s+l) - x(s)f ~ qfx(s) - |
x(s-l)f, |
|
q = (Лmах - Amin)/(Лmax + Amin) ~ |
(8.20) |
|
~ 1 - 2Amin/Amax = 1 - |
O(N-2 ). |
|
Отсюда видно, что сходимость итераций очень медленная. Для
нахождения точки минимума с точностью е: нужно огромное
число итераций S:
(8.21)
Метод наискорейшего спуска оказывается одним из самых
медленных методов.
Из-за близости q к единице критерий прекращения итера
ций следует выбирать осторожно. Нельзя использовать крите
рий fx(s+l) - x(s) f < е:. Следует определять эффективное значе
ние q в ходе расчета по трем соседним итерациям и использовать
улучшенный критерий линейной сходимости:
267
lx(s+l) - X(s)I < e(l - q(в)),
(8.22)
q(в) = lx(s+l) - x(s)l/lx(s) - x(s-1)1·
Из (8.22) видно, что получить последние 4- 5 значащих цифр
точного решения этим методом нельзя.
8.3.3. Минимальные невязки
Возьмем ту же антиградиентную прямую (8.16), что и в мето
де наискорейшего спуска. Однако шаг выберем из другого усло
вия - чтобы новая невязка была минимальной в смысле нормы
вектора: (r(s+l), r(s+l)) = min. Это приводит к иной задаче на
минимум квадратичной функции от -r:
(r(s+IJ, r(s+l)) = (Ax(s+l) - Ь, Ax(s+l) - |
Ь) = |
|
= (A(x(s) - "tГ(s)) - Ь, A(x(s) - -rr(s)) - |
Ь) |
= |
= -r2 (Ar(s), Ar(s)) - 2-r(rCsJ, Ar(s)) + (r(s), r(s)) |
= min. |
Приравняв нулю производную по -r, получим шаг, обеспечи
вающий минимальную невязку вдоль антиградиентной прямой:
(8.23)
Метод с таким выбором шага называют методом минималь ных невязок. Знаменатель положителен в силу свойств скаляр
ного произведения, а числитель также положителен, поскольку
А > О. Следовательно, -r~2 > О.
Собственные векторы симметричной матрицы А > О образу
ют ортогональный базис. Разложением x(s) нетрудно показать,
что
1/Лmin ~ "t~~) ~ -r~J ~ 1/Лmах > О.
Таким образом, шаг метода минимальных невязок всегда меньше, чем у наискорейшего спуска. Несмотря на это можно до
казать, что метод минимальных невязок сходится точно с такой
же скоростью, как и метод наискорейшего спуска. Знаменатель его линейной сходимости и требуемое число итераций описыва
ются формулами (8.20) и (8.22).
Метод минимальных невязок имеет одно преимущество пе ред методом наискорейшего спуска. Формула его шага приме
нима даже в том случае, когда матрица А не является знако
определенной. Вероятность того, что в ходе итераций Ar(s) =О,
268