Вы находитесь на странице: 1из 140

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ


ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

Кафедра информатики

Л.И. Минченко

КРАТКИЙ КУРС ЧИСЛЕННОГО АНАЛИЗА

Учебное пособие по курсу «Методы численного анализа»


для студентов специальности «Информатика»
для всех форм обучения

Минск 2006

1
ДК 681.3 (075.8)
ББК 22.19 я 73
М 57

Р е ц е н з е н т:
член-корр. НАН Беларуси,
д-р физ.-мат. наук, проф. В.В.Гороховик

Минченко Л.И.
М 57 Краткий курс численного анализа. Учебное пособие по курсу «Методы
численного анализа» для студ. спец. «Информатика» для всех форм
обучения. Л.И. Минченко. – Мн.: БГУИР, 2006. – 92 с.: ил.
ISBN 985 444-931-9
Настоящее пособие содержит краткий курс лекций по методам численного
анализа для студентов специальности «Информатика».

УДК 681.3 (075.8)


ББК 22.19 я 73

ISBN 985 444-931-9 (ч.1) ©Минченко Л.И., 2006


ISBN 985 444-930-0 © БГУИР, 2006

2
СОДЕРЖАНИЕ
Введение ………………………………………………………………….. 4

1. Приближенные числа и действия над ними ……………………… 5

2. Прямые методы решения систем линейных уравнений ………… 9

3. Итерационные методы решения систем линейных уравнений …. 21

4. Проблема собственных значений …………………………………. 36

5. Принцип сжимающих отображений………………………………. 46

6. Решение нелинейных уравнений…………………………………… 52

7. Аппроксимация и интерполяция функций………………………… 66

8. Численное дифференцирование и
интегрирование……………….. 82

9. Численное решение задачи Коши для обыкновенных


дифференциальных уравнений 90

10. Решение краевых задач для обыкновенных дифференциальных 98


уравнений

11. Разностные схемы для обыкновенных дифференциальных


уравнений 101

12. Разностные схемы решения краевых задач для 119


дифференциальных уравнений в частных производных

13. Свойства разностных схем для уравнений с частными 133


производными

Литература………………………………………………………… 138

3
ВВЕДЕНИЕ

Изучение курса «Методы численного анализа» предполагает освоение


методов решения классических задач вычислительной математики с
помощью компьютерной техники. В пособии изложены основные понятия,
определения и алгоритмы методов численного анализа, рассмотрены
основные методы решения систем линейных уравнений, нахождения
собственных значений и собственных векторов, численного решения
нелинейных уравнений и систем нелинейных уравнений, а также излагаются
основные методы аппроксимации и интерполяции функций, методы
численного дифференцирования и интегрирования функций, численного
решения задачи Коши и краевых задач для обыкновенных
дифференциальных уравнений и дифференциальных уравнений в частных
производных. Цель данного пособия: познакомить студентов с основными
методами численного анализа, а также научить численному решению
типичных задач вычислительной математики, достаточно сложных в
вычислительном отношении и требующих применения ЭВМ.

4
1. ПРИБЛИЖЕННЫЕ ЧИСЛА И ДЕЙСТВИЯ НАД НИМИ

При решении некоторой задачи не всегда удается найти точное решение,


т.е. возникает погрешность решения задачи, которая обусловливается
следующими причинами:
1) математическое описание задачи является неточным, в частности,
неточно заданы исходные данные описания;
2) применяемый для решения метод часто не является точным, так как
получение точного решения возникающей математической задачи требует
неограниченного или неприемлемо большого числа арифметических
операций, поэтому вместо точного решения задачи приходится прибегать к
приближенному.
В связи с этим числа, представляющие собой решение задачи,
подразделяют на точные, которые дают истинное значение некоторой
последовательной величины, и приближенные, дающие значение величины,
близкое к истинному значению или, как говорят, с некоторой погрешностью.
Приближенные числа используются, если точное значение некоторой
величены неизвестно или использование ее точного значения
нецелесообразно.
Существуют различные типы погрешностей:
1) погрешность, источником которой является несовершенство
используемой математической модели (что неизбежно, поскольку она
является лишь приближением к действительности);
2) погрешность, возникающая из-за неточности исходных данных,
получаемых, как правило, экспериментально;
3) погрешность вычислительного метода, которым решают задачу;
4) вычислительная погрешность, появляющаяся при округлении чисел
при вычислениях.
Первых два типа погрешности относят к так называемой неустранимой
погрешности, поскольку численный анализ не располагает средствами для
ее оценки или устранения. Два других типа погрешности относятся к
предмету изучения численным анализом. Изучением погрешностей
вычислений занимается теория погрешностей. Она решает две задачи:
1) прямую, когда задана погрешность исходных данных и требуется
оценить погрешность результата;
2) обратную, когда заранее задана необходимая точность результата, а
надо определить требования к точности исходных данных.
Рассмотрим примеры, которые показывают значение правильного учета
и оценивания погрешности. Из этих примеров видно как самые малые
ошибки в исходных данных могут влиять на численное значение решения и
даже на существование самого решения.

5
Пример. Рассмотрим системы линейных уравнений с близкими
значениями коэффициентов.

⎧3x − 7,0001 y = 0,9998


а) ⎨
⎩3x − 7 y = 1.
Решение: x = 5, y = 2.

⎧3x − 7,0001y = 1
б) ⎨
⎩3x − 7 y = 1.
Решение: x = 1 / 3, y = 0.

⎧3x − 7 y = 0,9998
в) ⎨
⎩3x − 7 y = 1.
Задача не имеет решения.

Округление чисел

Округление – замена одного числа на другое, содержащее меньшее


количество цифр. Округление проводится по следующему правилу: если
первая из отбрасываемых цифр, считая слева направо, больше или равна
пяти, то последняя оставшаяся цифра увеличивается на единицу, в
противном случае эта цифра остается без изменения.
Значащей цифрой называют первую слева отличную от нуля цифру и все
последующие за ней. Например: в числе 0,07231 цифры 7, 2, 3, 1 - значащие;
в числе 1,23 значащими являются все цифры; в числе 0,00720 цифры 7, 2, 0
- значащие.
Значащую цифру называют верной, если погрешность записи этого числа
1
не превосходит десятичного разряда, соответствующего этой цифре.
2
Цифры, не являющиеся верными, называются сомнительными.
Например: в числе 0,07231 с погрешностью 0,002 верной цифрой
является 7 верная, а цифры 2, 3, 1 – сомнительные.
Приближенные числа принято записывать таким образом, чтобы вид
записи давал информацию о его абсолютной погрешности, которая не
должна превосходить единицы последнего разряда, сохраняемого при
записи. Таким образом, записываются только верные цифры, причем верные
нули на конце числа не отбрасываются. Так, сама запись числа 0,00720
указывает на погрешность, которая должна быть меньше 0,000005.

Абсолютная и относительная погрешность

Пусть х − точное значение, x̂ − приближенное значение. Величину

6
Δ( xˆ ) = x − xˆ будем называть абсолютной погрешностью приближенного числа
x̂ (идеальная абсолютная погрешность). Иногда берется значение Δ( xˆ ) ≥ x − xˆ
(предельная абсолютная погрешность). Наряду с абсолютной погрешностью
часто рассматривается относительная погрешность приближенного числа:
Δ( xˆ )
δ (xˆ ) = .

Промежуток
xˆ − Δ( xˆ ) ≤ x ≤ xˆ + Δ( xˆ )
принято называть интервалом приближения величины х. Различают также
приближение с избытком: x ≤ xˆ , приближение с недостатком: xˆ ≤ x .
Так как

Δ( xˆ + yˆ ) = ( xˆ + yˆ ) − ( x + y ) = ( xˆ − x ) + ( yˆ − y ) ≤ xˆ − x + yˆ − y
,
то справедливы следующие оценки абсолютной погрешности суммы и
разности двух приближенных чисел

Δ ( xˆ + yˆ ) ≤ Δ ( xˆ ) + Δ ( yˆ ) , Δ ( xˆ − yˆ ) ≤ Δ ( xˆ ) + Δ ( yˆ ) .

Получим оценку абсолютной погрешности произведения двух


приближенных чисел

Δ ( xy
ˆˆ ) = xy
ˆˆ − xy = ( xˆ + Δ ( xˆ ))( yˆ + Δ ( yˆ )) − xy
ˆˆ ≤
≤ ( xˆ Δ ( yˆ ) + yˆ Δ ( xˆ ) + Δ ( yˆ ) + Δ ( xˆ ) ⋅ Δ ( yˆ ) ≤
≤ xˆ Δ ( yˆ ) + yˆ Δ ( xˆ ) + Δ ( xˆ ) ⋅ Δ ( yˆ ) ,

откуда

zˆ − z = f ( xˆ , yˆ ) − f ( x, y ) = f ′( x)(ξ ,η ) ( xˆ − x ) + f ′( y )(ξ ,η ) ( yˆ − y ) ,

Δ ( xy
ˆˆ ) ≤ xˆ Δ ( yˆ ) + yˆ Δ ( xˆ ) + Δ ( xˆ ) ⋅ Δ ( yˆ ) .
Отметим, что часто пользуются упрощенной оценкой

Δ( xˆyˆ ) ≤ x Δ( yˆ ) + yˆ Δ(xˆ ),

которая, как правило, дает достаточную точность.


Совершенно аналогично получается оценка для абсолютной
погрешности частного двух приближенных чисел

⎛ xˆ ⎞ xˆ Δ ( yˆ ) + yˆ Δ ( xˆ )
Δ⎜ ⎟≤ .
yˆ 1 − δ ( yˆ )
2
⎝ yˆ ⎠

7
Нетрудно получить и оценки для относительной погрешности при
выполнении арифметических действий. Это оценки для суммы и разности
приближенных чисел

) ) Δ ( xˆ ) + Δ ( yˆ ) ) ) Δ ( xˆ ) + Δ ( yˆ )
δ ( x + y) ≤ , δ ( x − y) ≤ ,
xˆ + yˆ xˆ − yˆ
оценки для их произведения

δ (xˆyˆ ) ≤ δ (xˆ ) + δ ( yˆ ) + δ (xˆ ) ⋅ δ ( yˆ )


или
δ (xˆyˆ ) ≤ δ ( xˆ ) + δ ( yˆ ) ,
а также для частного

⎛ xˆ ⎞ δ ( xˆ ) + δ ( yˆ )
δ ⎜ ⎟≤ .

⎝ ⎠ 1 − δ ( yˆ )
Последнюю оценку иногда огрубляют и используют в форме
⎛ xˆ ⎞
δ ⎜ ⎟ ≤ δ ( xˆ ) + δ ( yˆ ) .

⎝ ⎠

Рассмотрим теперь абсолютные погрешности вычисления значений


функций. Пусть для функции z = f ( x, y ) имеем x, y − точные значения
переменных, а xˆ , yˆ − их приближенные значения.
Оценим отклонение приближенного значения функции от точного значения.
Пусть функция f непрерывно дифференцируема в некотором
прямоугольнике D, содержащем точки ( x, y ) и ( xˆ , yˆ ) . Так как функция f
непрерывно дифференцируема, то она ограничена. Обозначим:
C1 = max f x′ ( x, y ) ,
( x , y )∈D

C 2 = max f y′ ( x, y ) .
( x , y )∈D

Тогда, используя формулу конечных приращений Лагранжа, получим

zˆ − z = f ( xˆ, yˆ ) − f ( x, y ) = f ′( x)(ξ ,η ) ( xˆ − x ) + f ′( y)(ξ ,η ) ( yˆ − y ) ,


где (ξ ,η ) ∈ D.

Отсюда
zˆ − z ≤ C1 xˆ − x + C 2 yˆ − y
или

Δ( zˆ) ≤ C1 Δ( xˆ ) + C 2 Δ( yˆ ).

8
2. ПРЯМЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ
ЛИНЕЙНЫХ УРАВНЕНИЙ

Методы решения систем линейных уравнений делятся на две группы.


Это так называемые прямые методы, в которых решение представляется
в виде формул или последовательности формул, и итерационные методы,
когда решение получают в виде сходящейся последовательности
приближений. К прямым методам относятся метод исключения Гаусса и его
модификации, метод квадратного корня и целый ряд других методов.
Рассмотрим систему линейных уравнений:
⎧a11 x1 + a12 x 2 + ... + a1n x n = b1
⎪a x + a x + ... + a x =b
⎪ 21 1

22 2 2n n 2
(2.1)
⎪.............................................
⎪⎩a m1 x1 + a m 2 x 2 + ... + a mn x n = bm .
Введем обозначения:
⎛ a11 ... a1n ⎞ ⎛ b1 ⎞ ⎛ x1 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
А= ⎜ ... ... ... ⎟ , b =⎜ M ⎟ и x = ⎜ M ⎟.
⎜a ⎟ ⎜b ⎟ ⎜x ⎟
⎝ m1 ... a mn ⎠ ⎝ m⎠ ⎝ n⎠

В силу введенных обозначений систему можно переписать в виде


Ax = b . (2.2)
Решением системы будем называть любой набор значений неизвестных
x1 = α 1 , x 2 = α 2 ,..., x n = α n , обращающих все уравнения системы в тождества.
Система называется совместной, если она имеет решения. В противном
случае систему называют несовместной.
Говорят, что система однородная, если свободные члены равны нулю,
т. е. b1 = b2 = ... = bm = 0 .
Критерий совместности:
Система (2.1) совместна тогда и только тогда, когда ранг расширенной
матрицы [ A : b] равен рангу матрицы А.
Известно, что, если матрица А – квадратная и невырожденная, то есть
А ≠ 0 , то она имеет решение, причем единственное, и его можно найти по
правилу Крамера или, вычислив обратную матрицу, записать решение в виде
x = А −1 ⋅ b . К сожалению, данные методы не эффективны для систем большой
размерности ввиду трудоемкости вычисления определителей высокого
порядка и обращения матриц.

2.1. Метод Гаусса


Метод Гаусса является одним из самых распространенных методов
решения систем линейных уравнений. Этот метод, который также называют
методом последовательного исключения неизвестных, известен в различных
вариантах. Он состоит из прямого и обратного ходов.
9
Вычисления с помощью метода Гаусса на этапе прямого хода
заключаются в последовательном исключении неизвестных из системы для
преобразования ее к равносильной системе с верхней треугольной
(трапециевидной) матрицей. Вычисления значений неизвестных производят
на этапе обратного хода.
Пусть система (2.1) содержит n уравнений с n неизвестными. На первом
шаге надо исключить неизвестное x1 из уравнений с номерами i = 2, 3, …, n.
Пусть элемент a11 ≠ 0 . Он называется ведущим элементом первого шага.
Вычтем последовательно из второго, третьего, …, n-го уравнений
ai1
системы первое уравнение, умноженное соответственно на .
a11
Это позволит обратить в нуль коэффициенты при x1 во всех уравнениях,
кроме первого. В результате получим равносильную систему:
⎧ a11 x1 + a12 x2 + ... + a1n xn = b1

⎪ ′ x2 + ... + a2′ n xn = b′ 2
a22
⎨ (2.3)
⎪ ...........................................
⎪ an′ 2 x2 + ... + ann′ xn = bn′ ,

ai1 ai1
где aij′ = aij − a1 j , bi′ = bi − ⋅ b1 , i = 2,..., n, j = 2,..., n.
a11 a11
Продолжим дальше, предполагая, что a 22 ′ ≠ 0 и исключим неизвестное x 2
из уравнений, начиная с третьего и так далее.. На k-ом шаге предполагаем,
что ведущий элемент k-го шага a kk( k −1) ≠ 0 , и, продолжая процесс, получаем
формулы для преобразования элементов матрицы на данном шаге:
( k −1)
(k ) ( k −1) aik ( k −1)
aij = aij − ( k −1)
⋅ a kj ,
a kk
( k −1)
(k ) ( k −1) aik ( k −1)
bi = bi − ( k −1)
⋅ bk ,
a kk
k +1 ≤ i ≤ n , k + 1 ≤ j ≤ n .

Это так называемый прямой ход метода Гаусса. Если на каком-то шаге
получается невыполнимое равенство, это означает, что система не имеет
решений. В противном случае после (n-1)-го шага исключений можем
получить треугольную систему, из последнего уравнения которой мы найдем
x n . Подставляя его в предпоследнее уравнение, найдем x n −1 . И так далее.
Этот процесс называется обратным ходом метода Гаусса.
Возможно также ситуация, когда в процессе прямого хода получается
трапециевидная система, где в последнем оставшемся уравнении имеется
более одной переменной. В этом случае придаем всем оставшимся в
последнем уравнении неизвестным, кроме первого, произвольные значения
С1 ,..., Cl , затем из последнего уравнения через С1 ,..., Cl выражается оставшееся
неизвестное и подставляется в предыдущие уравнения. Постепенно все

10
неизвестные выражаются через параметры С1 ,..., Cl , которые могут иметь
произвольные числовые значения. Таким образом, в последнем случае
система имеет бесконечно много решений.
Замечание. При реализации метода Гаусса на каждом шаге производится
деление на соответствующий ведущий элемент, поэтому предполагается, что
эти элементы не должны быть равными нулю. В противном случае
проводится перенумерация уравнений и неизвестных.

2.2. Метод ведущего (разрешающего) элемента

Метод ведущего элемента представляет собой модификацию метода


Гаусса.
Рассмотрим систему уравнений (2.1) с одинаковым числом n
неизвестных и уравнений:
⎧a11 x1 + ... + a1 j x j + ... + a1l xl + ... + a1n x n = b1

⎪....................................................................
⎪ai1 x1 + ... + aij x j + ... + ail xl + ... + ain x n =b i
⎪⎪
⎨....................................................................
⎪a x + ... + a x + ... + a x + ... + a x = b
⎪ k1 1 kj j kl l kn n n

⎪..................................................................

⎩⎪a n1 x n + ... + a nj x j + ... + a nl xl + ... + a nn x n = bn .

Выбираем в матрице А любой не равный нулю элемент a kl ≠ 0 , который


называют ведущим элементом. Строка и столбец, в котором находится этот
элемент, называют рабочими. То есть рабочими будут l-й столбец и k-ая
строка. Исключаем неизвестное xl из всех уравнений, кроме k-го. В матрице
новой системы l-й столбец принимает вид:
⎛ 0⎞
⎜ ⎟
⎜ M ⎟
⎜0 ⎟
⎜a ⎟
⎜ kl ⎟
⎜ 0⎟
⎜M ⎟
⎜ ⎟
⎝ 0⎠
Помечаем рабочие строку и столбец. В последующих действиях они
больше не могут являться рабочими.
После исключения неизвестного xl система принимает вид
⎛ a ⎞ ⎛ a ⎞ ⎛ a ⎞ a
⎜ ai 1 − i l ⋅ a k1 ⎟ xi + ... + ⎜ ai j − i l ⋅ a k j ⎟ x j + ... + 0 ⋅ xl + ... + ⎜ ai n − i l ⋅ a k n ⎟ x n = bi − i l ⋅ bk ,
⎜ ak l ⎟ ⎜ ak l ⎟ ⎜ ak l ⎟ ak l
⎝ ⎠ ⎝ ⎠ ⎝ ⎠

11
где i = 1,..., n (кроме i=k), т. е. коэффициенты пересчитываются по формулам:
′ ai l 1 ai j ai l
aij = aij − ⋅ ak j = ⋅ ,
ak l ak l ak j ak l
i = 1,..., n ; i ≠ k,
′ ai l 1 b1 ai l
bij = bi − ⋅ bk = ⋅ ,
ak l a k l b2 ak l
a k′ j = a k j , bk′ = bk , j = 1,..., n .

Опять ищем ведущий элемент и исключаем соответствующую


переменную. Так продолжаем до тех пор, пока не получится уравнение с
одним неизвестным. Из этого уравнения находим значение неизвестного и
подставляем его в предыдущие уравнения для обратного хода. Продолжаем
процесс, пока не получим значения всех неизвестных.
Пример. Пусть
⎧3x1 + 2 x 2 + x3 = −1

⎨− 2 x1 + 3 x 2 − 2 x3 = 1
⎪ x − 4 x + 4 x = 6.
⎩ 1 2 3

Выберем ведущим элементом a12 = 2 . Пересчитываем коэффициенты.


Находим:
1 3 2 13 1 2 1 7
a ′21 = ⋅ = − , a12 ′ = 0 , a 23
′ = ⋅ =− ;
2 −2 3 2 2 3 −2 2
1 3 2 1 2 1
′ =− ⋅
a31 ′ = 0 , a33
= 7 , a32 ′ = ⋅ = 6;
2 1 −4 2 −4 4
1 2 −1 5 1 2 −1
b2′ = ⋅ = , b3′ = ⋅ = 4.
2 3 1 2 2 −4 6
Получаем:

⎪3 x1 + 2 x 2 + x3 = −1

⎨13x1 + + 7 x3 = −5

⎪7 x1 + + 6 x3 = 4.

Выбираем ведущим элементом a33 = 6 и получаем:

⎪11x1 + 12 x 2 = −10
⎪⎪
⎨29 x1 = −58

⎪7 x + + 6 x3 = 4.
⎪⎩ 1
Откуда x1 = −2, x 2 = 1, x 3 = 3.

12
2.3. Метод прогонки
Метод прогонки является модификацией метода Гаусса для систем
специального вида, так называемых трехдиагональных систем. К
необходимости решения такого рода систем приводят, в частности, задачи
построения кубических сплайнов и разностные схемы решения краевых
задач для дифференциальных уравнений.
Трехдиагональной системой называют систему линейных уравнений с
матрицей вида:
⎛ b1 c1 0 ... ... ... 0 ⎞
⎜ ⎟
⎜ a2 b2 c2 0 ... ... 0 ⎟
⎜ 0 a3 b3 c3 0 ... 0 ⎟
⎜ ⎟,
⎜ ... ... ... ... ... ... ... ⎟
⎜ 0 ... ... 0 a n −1 bn −1 c n −1 ⎟⎟

⎜ 0 ... ... 0 0 an bn ⎟⎠

т. е. матрицей, у которой ненулевыми могут быть только элементы, стоящие
на главной и двух смежных с главной диагоналях.
Рассмотрим трехдиагональную систему:
⎧b1 x1 + c1 x 2 = d1
⎪a x + b x + c x = d
⎪ 2 1 2 2 2 3 2

⎪⎪a3 x 2 + b3 x3 + c3 x 4 = d 3

⎪...................................
⎪a n −1 x n − 2 + bn −1 x n −1 + c n −1 x n = d n −1

⎪⎩a n x n −1 + bn x n = d n
Суть метода прогонки заключается в построении рекуррентной
последовательности для нахождения прогоночных коэффициентов Ai и Bi.
При этом каждое неизвестное представляется в виде

xi = Ai xi +1 + Bi .
Выражаем неизвестное x1 из 1-го уравнения системы:
c1 d
x1 = − x2 + 1 .
b1 b1
То есть на первом шаге прогоночные коэффициенты имеют вид
c1 d
A1 = − , B1 = 1 , причем x1 = A1 x2 + B1 .
b1 b1
Далее выражаем x2 из второго уравнения:
a 2 ( A1 x1 + B1 ) + b2 x 2 + c 2 x3 = d 2 ,
− c 2 x3 d − a 2 B1
x2 = + 2 ,
a 2 A1 + b2 a 2 A3 + b2
т. е. прогоночные коэффициенты имеют вид
− c2 d 2 − a 2 B1
A2 = , B2= , причем x 2 = A2 x3 + B2 .
a 2 A1 + b2 a 2 A1 + b2

13
Продолжаем процесс и находим

−ci d i − ai Bi −1
Ai = , Bi =
ai Ai −1 + bi ai Ai −1 + bi

для i = 2, n − 1 .
В итоге получаем
x n −1 = An −1 x n + Bn −1 .
Для нахождения x n используем данное уравнение и оставшееся
последнее уравнение. Получаем систему

⎧a n x n −1 + bn x n = d n

⎩ x n −1 = An −1 x n + Bn −1 ,

решая которую, находим

a n ( An −1 x n + Bn −1 ) + bn x n = d n ,
d n − a n Bn −1
xn = = Bn .
a n An −1 + bn

Для удобства положим, что a1 = 0 , c n = 0 и тогда формулы для


прогоночных коэффициентов принимают следующий вид:
⎧ − ci
⎪ Ai =
⎪ ai Ai −1 + bi
⎨ i = 1, n .
⎪ B = d i − ai Bi −1 .
⎪⎩ i ai Ai −1 + bi

Тогда
⎧x i = Ai ⋅ xi +1 + Bi , i = 1, n − 1

⎩ x n = Bn .
Проводя обратный ход метода прогонки, последовательно найдем значения
неизвестных x n , x n−1 ,..., x1 .
Замечание. Очевидно, чтобы наши действия в выводе метода прогонки
были корректны, необходимо чтобы в формулах для вычислении
прогоночных коэффициентов знаменатели дробей не обращались в нуль.
Можно показать, что метод прогонки будет корректным, если для его
коэффициентов выполняется условие преобладания диагональных элементов,
т. е. выполняется соотношение
bi ≥ ai + ci , ∀i = 1, n ,
в котором хотя бы одно из неравенств строгое.

14
2.4. Метод квадратного корня

Этот метод применяется при решении систем вида A x = f с неособенной


симметрической матрицей. Если матрица А не является симметрической, то
без предварительного преобразования системы к виду
A* A x = A* f
метод применять нельзя. Однако преобразование системы к указанному
выше виду связано с выполнением большого числа дополнительных
операций умножения и сложения, число которых намного превосходит число
аналогичных операций, необходимых при решении системы с
симметрической матрицей по методу квадратного корня. Поэтому выполнять
указанное преобразование и затем применять к решению системы метод
квадратного корня, как правило не целесообразно.
Пусть матрица А симметрическая. Схема метода квадратного корня
строится на идее представления матрицы в виде произведения треугольных и
диагональных матриц, а именно: находим такую правую треугольную
матрицу S и диагональную матрицу D с элементами ±1 по главной диагонали,
чтобы имело место равенство
A = S * DS ,
где приняты обозначения
⎡ s11 s12 ... s1n ⎤ ⎡ d11 0 ... 0 ⎤
⎢0 s 22 ... s 2 n ⎥⎥ ⎢0 d ... 0 ⎥⎥
S=⎢ , D=⎢ 22
.
⎢ ... ... ... ... ⎥ ⎢ ... ... ... ... ⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 ... s nn ⎦ ⎣⎢ 0 0 ... d nn ⎦⎥
Предположим, что мы нашли такие матрицы S и D, для которых имеет
место равенство A = S * DS .
Тогда решение системы
Ax = f
осуществляется по следующему правилу.
Введем следующие обозначения:
B = S * D, S x = y, y = ( y1 , y 2 ,..., y n )′ ,
где В − известная матрица; y − неизвестный вектор.
Для определения вектора y в силу равенства
A x = S * DS x = ( S * D ) S x = f
имеем такую систему линейных алгебраических уравнений:
By = f .
Здесь особенно важно то, что матрица этой системы является левой
треугольной, т. е. имеет вид
⎡ β11 0 ... 0 ⎤
⎢β β 22 ... 0 ⎥⎥
B = ⎢ 21 .
⎢ ... ... ... ... ⎥
⎢ ⎥
⎣⎢ β n1 βn2 ... β nn ⎥⎦

15
Это позволяет из системы
By = f
сразу выписать ее решение, выполняя только обратный ход метода Гаусса
сверху вниз. В результате, определив вектор y по формулам
⎧ f1
⎪ y1 = β
⎪⎪ 11
k −1

⎪ f k − ∑ β ks ys
⎪ yk = s =1
(k = 2,3,..., n),
⎪⎩ β kk
находим из системы S x = y искомое решение системы A x = f .
Для этого нам надо будет в системе
S x = y,
выполнить обратный ход метода Гаусса снизу вверх, после чего получим
⎧ yn
⎪ xn = s
⎪⎪ nn

⎨ n

⎪ y k − ∑ s kp y p
p = k +1
⎪ xk = (k = n − 1, n − 2,...,1).
⎪⎩ s kk
Как мы видим, для вычисления векторов x и y требуются простые,
негромоздкие вычисления. Теперь, чтобы придать схеме метода
окончательный вид, надо указать правило, по которому следует вычислять
элементы матриц S и D. Соотношение A = S * DS можно рассматривать как
систему алгебраических уравнений для определения n(n + 1) / 2 элементов
матрицы S и п элементов матрицы D.
Так как матрица А − симметрическая, то мы будем располагать n(n + 1) / 2
уравнениями следующего вида:
s1 i d11s1 j + s2 i d 22 s2 j + ... + si i di i si j = ai j (i < j )
2 2 2
s1 i d11 + s2 i d 22 + ... + si i di i = ai i (i = j )
( j = 1, 2,..., n).
В предыдущей системе число уравнений меньше числа неизвестных на
п. Чтобы разложение A = S * DS было однозначным, определим диагональные
элементы sii так, чтобы они были положительны. Тогда из второго уравнения
2
системы при i=1 имеем s11 d11 = a11 .
Положим d11= sign а11 и из предыдущего уравнения для s11 получим
s11 = a11 s11 = a11 .
Из первого уравнения системы при i=1 найдем
a1 j
s1 j = ( j = 2,3,..., n) .
d11s11
Таким образом, мы сможем определить элементы первой строки
матрицы S.

16
Далее, аналогично, из второго уравнения системы и из первого
уравнения при i=2 находим:
2 2
d 22 = sign ( a 22 − s12 d 11 ), s 22 = a 22 − s12 d11 ,
a 2 j − s12 d11s1 j
s2 j = ( j = 3, 4,..., n) .
d 22 s22
Эти формулы позволяют вычислить элементы второй строки матрицы S.
Продолжая этот процесс, мы сможем вычислить все элементы матрицы S.
Укажем в общем виде формулы, по которым должны вестись вычисления
элементов sij:


a1 j
d11 = signa11 , s11 = a11 , s1 j = ⎪
d11s11 ⎪
i −1 ⎪
dii = sign(aii − ∑ s pi d pp )
2

p =1 ⎪

i −1
⎬ (2.4)
sii = aii − ∑ s pi d pp (i > 1)
2

p =1 ⎪
i −1 ⎪
aij − ∑ s pi d pp s pj ⎪
p =1 ⎪
sij = (i > 1, j = i + 1, i + 2,.., n).⎪
dii sii ⎭
Таким образом, при решении системы A x = f по методу квадратного
корня необходимо:
1) сначала убедиться в том, что A − симметрическая матрица, и затем
вычислить элементы матрицы S;

2) используя формулы
k −1
f k − ∑ β ks ys
f1
y1 = , yk = s =1
(k = 2,3,.., n) , вычислить вектор y ;
β11 β kk

3) наконец, по формулам

17
yn ⎫
xn = ⎪
s nn
⎪⎪
n

yk − ∑s
p = k +1
kp yp ⎪
xk = (k = n − 1, n − 2,...,1).⎪
s kk ⎭⎪
найти искомое решение исходной системы − вектор x .

Если матрица А — симметрическая положительно определенная, то ее


можно разложить в произведение двух транспонированных друг другу
треугольных матриц, а именно:
A = S *S,
где S — правая треугольная. В этом случае формулы (2.4) несколько
упростятся и будут иметь вид


a1 j ⎪
s11 = a11 , s1 j = , j = 2,..., n, ⎪
s11 ⎪


i −1 ⎪⎪
sii = aii − ∑ s pi 2 (i > 1), ⎬
p =1 ⎪


i −1

aij − ∑ s pi s pj ⎪
sij =
p =1
( i > 1, j = i + 1, i + 2,.., n).⎪
sii ⎪⎭

Для решения системы линейных алгебраических уравнений с


симметрической матрицей порядка п по методу квадратного корня
необходимо выполнить:
1
умножений и делений - n(n 2 + 9n + 8) ,
6
извлечений квадратных корней - п.
Отметим в заключение, что метод квадратного корня очень эффективен
при решении систем с положительно определенной симметрической
матрицей. Такие системы, как правило, возникают при решении задач
минимизации положительно определенных квадратичных форм. Главными
требованиями к исходной матрице являются симметричность и
положительная определенность. Симметричность проверяется простым
сравнением соответствующих элементов. Положительная определенность
матрицы определяется с помощью критерия Сильвестра.
Критерий Сильвестра. Для того чтобы матрица была положительно
определенной, необходимо и достаточно, чтобы все главные диагональные
миноры матрицы были строго положительны.

18
2.5. Вычисление определителей

Для упрощения процесса вычисления определителей пользуются


формулами так называемой схемы единственного деления.
Схема единственного деления состоит в следующем.
Пусть необходимо вычислить определитель
a11 a12 ... a1n
a 21 a 22 ... a 2 n
Δ= ,
... ... ... ...
a n1 an 2 ... a nn
причем a11 ≠ 0 .
Выносим элемент a11 из первой строки и получим
1 b12 ... b1n
a 21 a 22 ... a 2 n aij
Δ = a11 , где bij = .
... ... ... ... a11
a n1 an2 ... a nn
Вычитая из каждой строки, начиная со второй, первую строку,
умноженную соответственно на a 21 , a31 ,..., a n1 , получим

1 b12 ... b1n a (1) 22 a (1) 23 ... a (1) 2 n


0 a22(1)
... a2(1)n a (1) 32 a (1)33 ... a (1)3n
Δ = a11 = a11 ,
... ... ... ... ... ... ... ...
0 an(1)2 (1)
... ann (1)
a n2 a (1) n 3 ... a (1) nn
( m −1) ( m −1) a ( m −1) mj
где a (1)
ij = aij − aij bij и соответственно a (m)
ij =a ij −a b ,
im mj bmj = .
a ( m −1) mm
С образовавшимся определителем (n-1)-го порядка поступаем таким же
образом, если a (1) 22 ≠ 0 . В противном случае перенумеруем и поменяем
местами строки или столбцы определителя.
Продолжая процесс, получим, что искомый определитель равен
произведению ведущих элементов:
Δ = a11a (1) 22 a (2) 33 ...a ( n −1) nn .

2.6. Обращение матриц

Часто возникает необходимость обратить квадратную матрицу


⎛ a11 a12 ... a1n ⎞
⎜ ⎟
a a22 ... a2 n ⎟
A= ⎜ 21 .
⎜ ... ... ... ... ⎟
⎜⎜ ⎟
⎝ an1 an 2 ... ann ⎟⎠

19
Поскольку вычисление матрицы А-1 обычным способом достаточно
трудоемко, поступаем следующим образом. Построим прямоугольную
матрицу:

⎛ a11 a12 .......... a1n 1 0 0 ......0 ⎞


⎜ ⎟
⎜ a21 a22 ......... a2 n 0 1 0 .......0 ⎟ ,
⎜ ................................................... ⎟
⎜ ⎟
⎜ a a ......... a 0............0 1 ⎟
⎝ n1 n 2 nn ⎠

которая получается, если к A приписать справа единичную матрицу Е.


Применим к этой матрице метод исключения Гаусса, не заботясь о
правых столбцах. Когда гауссово исключение закончится, получим
⎛1 0 .......... 0 b11 b12 ........b1n ⎞
⎜ ⎟
⎜ 0 1 .......... 0 b21 b22 ........b2 n ⎟ .
⎜ ............................................. ⎟
⎜ ⎟
⎜ 0 0 .......0 1 b b ..........b ⎟
⎝ n1 n 2 nn ⎠

Если матрица А не вырождена, то матрица


⎛ b11 b12 .........b1n ⎞
⎜ ⎟
b b .........b2 n ⎟
В= ⎜ 21 22
⎜ ....................... ⎟
⎜⎜ ⎟⎟
⎝ bn1 bn 2 ..........bnn ⎠

будет обратной к A. Чтобы убедиться в этом, заметим, что каждый шаг


процесса исключения эквивалентен умножению слева на некоторую матрицу.
Произведение всех этих левых матриц есть некоторая матрица С, умножение
на которую слева приводит А к единичной матрице Е, то есть СА=Е, а
будучи применено к правым столбцам, это произведение делает из
единичной матрицы матрицу В: СЕ=В. В таком случае из существования
обратной матрицы A-1 следует С= A-1 и С=В, следовательно, В= A-1.

20
3. ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ
ЛИНЕЙНЫХ УРАВНЕНИЙ

3.1. Матричные нормы

Рассмотрим векторное пространство R n . Пусть


⎛ x1 ⎞
r ⎜ ⎟
x = ⎜ M ⎟ − вектор данного пространства.
⎜x ⎟
⎝ n⎠
r r
Нормой вектора называется функция x от вектора x , для которой
выполняются следующие аксиомы:
(Н1): x ≥ 0 , x =0 ⇔ x = 0,
r
(Н2): α ⋅ x = α ⋅ x , α ∈ R , x ∈ Rn ,
(Н3): x + y ≤ x + y , ∀x , y ∈ R n .
Пример:
x 1 = max { x j } = max{ x1 ,..., x n } - кубическая норма;
1≤ j ≤ n

x 2
= x12 + ... + x n2 − евклидова норма;
n
x 3
= ∑ x j = x1 + ... + x n - октаэдрическая норма.
j =1

Существуют и другие менее употребляемые векторные нормы.


Векторное пространство вместе с заданной в нем нормой называется
нормированным векторным пространством.
Пример: Рассмотрим нормированные векторные пространства с
различными нормами в двумерном пространстве R2 и соответствующие им
единичные окрестности начала координат:

R2 : x2
2

x1 с нормой x 2
= x12 + x 22 ,

R12 : x2

1 x1
с нормой x = max{ x1 , x 2 } ,
1

21
R 32 :
x2
2
1 x1 с нормой x 3
= ∑ x j = x1 + x 2 .
j =1

Рассмотрим квадратную матрицу An×n .


Нормой матрицы А, индуцированной нормой вектора x , называется
число
def Ax
A = sup .
x≠0 x
Из этого определения непосредственно следует, что для любой
индуцированной нормы справедливы следующие свойства:
Ex x
1) E = sup = sup = 1 , где Е – единичная матрица;
x≠0 x x≠0 x
2) O = 0 , где О – нулевая матрица;
Ax
3) A ≥ , ∀x ≠ 0 ⇒ Ax ≤ A ⋅ x ;
x
ABx A ⋅ Bx Bx
4) AB = sup ≤ sup = A sup = A⋅ B ,
x≠0 x x≠0 x x≠0 x
т.е.
AB ≤ A ⋅ B .
Легко видеть, что для индуцированной нормы матрицы выполняются
соотношения:
(Н1'): A ≥ 0 , A =0 ⇔ A=O;
(Н2'): αA = α ⋅ A ;
(Н3'): A + B ≤ A + B ;
(Н4'): AB ≤ A ⋅ B .

Нормой матрицы называется функция ||A|| от матрицы А , для которой


выполняются аксиомы (Н1') - (Н4').
Таким образом, индуцированные матричные нормы представляют собой
частный случай матричных норм. Из аксиомы (Н4') очевидно следует, что
k
Ak ≤ A , k = 1,2,... .

22
r
Найдем матричную норму A 1 , индуцированную векторной нормой x 1:
Ax 1 ⎧⎪ n ⎫⎪ 1 n
A 1 = sup 1
= sup max ⎨ ∑ aij x j ⎬ ≤ sup max ∑ aij ⋅ x j ≤
x ≠0 x 1
x ≠0 x 1 1 ≤ i ≤ n ⎩⎪ j =1 ⎭⎪ x ≠ 0 x 1
1≤ i ≤ n
j =1

n n n
1 1
≤ sup max ∑ aij max x j = sup max ∑ aij ⋅ x 1 = max ∑ aij .
x≠0 x 1 1 ≤ i ≤ n j =1 j x≠0 x
1
i
j =1
i
j =1
n
Таким образом A 1 ≤ max ∑ aij .
i
j =1
n
Докажем, что A 1 = max ∑ aij . Для этого необходимо показать, что
i
j =1
n
A 1 ≥ max ∑ aij .
i
j =1

По определению
Ax Ax
A 1 = sup 1
≥ 1
для любого x .
x ≠0 x 1
x 1
n
Предположим, что в A 1 = max ∑ aij максимум достигается при i=i0, то
i
j =1
n n
есть max ∑ aij = ∑ ai0 j .
i
j =1 j =1

Возьмем ненулевой вектор x 0 такой, что x 0j = sgn ai j . Тогда x 0 1 = 1 . 0

Следовательно:

Ax 0 n n n n n
A1≥ ≥ Ax 0 = max{| ∑ a1j x 0j |, ... , | ∑ anj x 0j } ≥ |∑ ai0 j x 0j | = ∑ ai0 j = max |∑ aij | .
x0 1 i
j=1 j=1 j =1 j =1
i
j =1
1
n
То есть, действительно, A 1 = max ∑ aij .
i
j =1

Совершенно аналогично можно показать, что:


n
A 3 = max ∑ aij .
j
i =1

Сложнее дело обстоит с матричной нормой индуцированной евклидовой


векторной нормой.
Спектральным радиусом матрицы А называется число
μ(А) = max { |λ1|, …., |λn| },
где λ1, …., λn - собственные значения данной матрицы.

Лемма 1. Для любой матричной нормы μ(А) ≤ ||A||.


Доказательство. Действительно, пусть λ - собственное значение матрицы
А и μ(А) = |λ|. Построим матрицу В того же порядка, что и А, у которой
первый столбец совпадает с собственным вектором x матрицы А,
соответствующим собственному значению λ, а остальные столбцы -

23
нулевые. Тогда очевидно АВ= λВ. Используя аксиомы из определения
матричной нормы, получим
|λ| ||В|| ≤ ||A|| ||В||,
и поскольку В ≠ О, и , следовательно, ||В|| ≠ 0, получаем |λ|| ≤ ||A||.
По аналогии с векторами в R n можно определить сходимость
последовательности матриц поэлементно, считая что A(k) → A при k → ∞
тогда и только тогда, когда aij(k) → aij для всех i,j=1, …, n. Отметим, что,
как и в случае с векторами, для любой матричной нормы из условия
сходимости по норме || A(k) - A || → 0 всегда следует сходимость A(k) → A при
k → ∞.
На практике часто приходится иметь дело с матричной геометрической
прогрессией
E + A + A2 +…..+ Ak + …
и встает вопрос о ее сходимости.

Лемма 2. Для того чтобы Ak → О при k → ∞ необходимо и достаточно,


чтобы все собственные значения матрицы А были по модулю меньше
единицы.
Доказательство. Докажем лемму для случая симметричной матрицы А.
Из линейной алгебры известно, что в этом случае
А = Т-1ΛT,
где Λ диагональная матрица с действительными собственными значениями
λ1 , λ2 ,…., λ n
на главной диагонали. Соответственно,
Аk = Т-1Λk T,
где на главной диагонали диагональной матрицы Λk стоят элементы
λ1k , λ2k ,…., λ nk .
Таким образом, каждый элемент матрицы Аk является линейной
k k k
комбинацией λ1 , λ2 ,…., λ n с коэффициентами не зависящими от k.
Следовательно, если все собственные значения λ1 , λ2 ,…., λ n по модулю
меньше единицы, то все элементы матрицы Аk стремятся к нулю при k → ∞ ,
т.е. Аk → O .
Обратно,
Λk = Т А kT-1,
и, следовательно, все λ1k , λ2k ,…., λ nk стремятся к нулю при Аk → O .
Последнее означает, что все числа λ1 , λ2 ,…., λ n по модулю меньше
единицы.
Лемма 3. Для того чтобы ряд E + A + A2 +…..+ Ak + … сходился
необходимо и достаточно, все собственные значения матрицы А были по
абсолютной величине меньше единицы. В этом случае матрица Е-А имеет
обратную и
E + A + A2 +…..+ Ak + …= (Е-А)-1.
Доказательство. 1) Пусть матричный ряд сходится. Это равносильно
сходимости n2 числовых рядов. Тогда в силу необходимого признака
сходимости числового ряда каждый элемент матрицы Ak стремится к нулю
24
при k → ∞ , следовательно, Ak → О при k → ∞ . В силу леммы 2 последнее
равносильно тому, что все собственные значения матрицы А по модулю
меньше единицы.
2) Пусть все собственные значения матрицы А по модулю меньше
единицы. Отметим сразу, что матрица (Е – А) невырождена, поскольку ее
определитель |Е – А| = |А – Е | не может обращаться в 0 (иначе среди
собственных значений матрицы А было бы и число 1). Рассмотрим
тождество
(E + A + A2 +…..+ Ak) (Е – А) = Е – Аk+1,
откуда следует
(E + A + A2 +…..+ Ak) = (Е – А)-1 – Аk+1(Е – А )-1 .
Согласно лемме 2 Ak → О при k → ∞ . Следовательно,
(E + A + A2 +…..+ Ak) → (Е – А)-1 при k → ∞ ,
т.е. ряд сходится.
Покажем теперь, что норма ||A||, индуцированная евклидовой нормой
вектора, совпадает с λ , где λ - наибольшее собственное значение матрицы
А*А, (А* - матрица, полученная из А транспонированием).
Прежде всего убедимся, что λ ≥ 0. Действительно, поскольку
(А*А)* = А*(А*)*=А*А,
то матрица А*А симметрическая. Кроме того,
(А x , А x ) = ( x , А*Ах)
r ≥0
для любого вектора x . То есть А*А - симметрическая неотрицательно
определенная матрица. Как известно из курса линейной алгебры все
собственные значения такой матрицы действительны и неотрицательны.
Более того, существует ортонормированный базис из собственных векторов
x 1 ,...., x n данной матрицы, соответствующих ее собственным значениям
λ1 ≥ λ 2 ≥ ……. ≥ λn .

Рассмотрим произвольный вектор x единичной евклидовой нормы и


разложим его по базису x 1 ,...., x n :
x = α1 x 1 + … + αn x n .
Тогда
2 2
x 22 = ( x , x ) = α1 + …..+ αn = 1
и, следовательно,
n n
||А x ||22 = (А x , А x ) = ( x , А*А x ) = (∑ ai x i , ∑λ a x )
i i
i
=
i =1 i =1

n n
= ∑ α 2i λi ≤ λ1 ∑ α 2i = λ1.
i =1 i =1

Отсюда

||A|| ≤ μ (A*A) .

25
С другой стороны, для нормы ||A||, индуцированной евклидовой векторной
нормой, справедливо

||A|| ≥ ||А x 1||2 , где ||А x 1||22 = (А x 1, А x 1) = ( x 1, А*А x 1) = λ1 ( x 1, x 1) = λ1,

откуда
||A|| ≥ λ1 = μ (A*A) .

В итоге, действительно матричная норма, индуцированная евклидовой


векторной нормой, имеет вид

||A|| = μ (A*A) .

Такая норма матрицы А называется спектральной.


В частном случае, когда матрица А симметрическая, А*А =А2 и
поскольку собственные значения этой матрицы совпадают с квадратами
λ12, λ22 ,……., λn2 собственных значений матрицы А, то спектральная норма
матрицы совпадает с наибольшим по абсолютной величине собственным
значением матрицы А, то есть равна спектральному радиусу матрицы А :

||A||= μ(А).

Спектральная норма матрицы неудобна в практическом плане из-за


трудности ее вычисления. Поэтому наряду с нормами ||A||1 и ||A||3 ,
индуцированными кубической и октаэдрической векторными нормами , мы
будем пользоваться евклидовой нормой матрицы
||A||2 = Sp( A * A) ,
где SpA – след матрицы А, т.е. сумма ее элементов, стоящих на главной
диагонали. Как легко проверить, эту норму можно записать также в виде

n n
A2 = ∑∑ a 2
ij
i =1 j =1
.

Нетрудно проверить, что для введенной нормы ||A||2 выполняются все


аксиомы из определения матричной нормы. Кроме того, эта норма является
согласованной с евклидовой векторной нормой в том смысле, что для нее и
евклидовой векторной нормы всегда выполняется соотношение

||А x || ≤ ||A|| || x ||.

В дальнейшем мы ограничимся рассмотрением матричных норм,


согласованные с соответствующими векторными нормами.

26
3.2. Метод простых итераций

Рассмотрим систему линейных уравнений в векторном виде:


Ax = b (3.1)
Преобразуем ее:
x + Ax = b + x ,
x = ( E − A) ⋅ x + b .
То есть систему (3.1) можно представить в виде
x = Bx + c . (3.2)
Существует много других способов представить систему (3.1) в виде
(3.2). Так, если матрица А имеет ненулевые диагональные элементы, то i-е
уравнение делят на элементы aii , чтобы получить единичный коэффициент
перед xi. Затем в i-м уравнении в левой части оставляют xi, а все остальные
слагаемые переносят в правую часть. Получаем систему x = Bx + c , где

⎛ a12 a1n ⎞
⎜ 0 − ... − ⎟
⎜ a11 a11 ⎟ ⎛ b1 ⎞
⎜ ⎟
⎜ a 21 a2n ⎟ ⎜ a11 ⎟
− 0 ... − ⎟,
B=⎜ a a 22 с = ⎜ M ⎟.
⎜ 22 ⎟ ⎜ bn ⎟
⎜ ... ... ... ... ⎟ ⎜a ⎟
⎜ − a n1 ... ... 0 ⎟⎟ ⎝ nn ⎠
⎜ a
⎝ nn ⎠

Пусть теперь система записана в виде (3.2). Выбираем произвольным


образом x 0 − начальное приближение и подставляем в правую часть
системы. Получим 1-е приближение
x 1 = Bx 0 + c .
Повторяя процесс k раз, получаем k-е приближение
x k = Bx k −1 + c , (3.3)
и так далее.
Таким образом, получается рекуррентная последовательность { x k },
которую будем также называть итерационной последовательностью. Если
последовательность { x k } сходится к некоторому вектору x * , то очевидно x *
является решением системы (3.2). Действительно, переход к пределу в
равенстве (3.3) дает x * = Bx * + c .
Часто в качестве начального приближения берут вектор c , хотя, вообще
говоря, начальное приближение может выбираться произвольно. Процесс
нахождения последовательности { x k } будем называть методом простых
итераций.
Выясним условия сходимости последовательности { x k } в методе
простых итераций к решению системы (3.2).

Теорема 1. Для того чтобы при любом начальном приближении x 0


итерационная последовательность в методе простых итераций сходилась к
27
решению системы (3.2), необходимо и достаточно, чтобы все собственные
значения матрицы В были по абсолютной величине меньше единицы.
Доказательство. 1) Пусть все собственные значения матрицы В по
модулю меньше единицы. Тогда в силу лемм 2 и 3

Вk → O и Е + В + В2 + …+ Вk → (E −B)-1 при k → ∞ .

Но
x k = Bx k −1 + c = B( x k − 2 + c ) + c = ....
= B k x 0 + ( E + B + B 2 + ..... + B k −1 )c ,

откуда следует, что

x k → ( E − B) −1 c = x * .
2) Пусть теперь при любом начальном приближении x 0 существует
предел
x k → x *.
Тогда
x * = Bx * + c .

Вычитая из этого равенства равенство (3.3), получим


x * − x k = B( x * − x k −1 ) = ..... = B k ( x * − x 0 ).
Перейдем к пределу в равенстве
x * − x k = Bk ( x * − x 0 ) .
Так как вектор x * − x 0 может быть любым, а x k → x * , то это означает, что
B k → O , а последнее по лемме 2 равносильно тому, что все собственные
значения матрицы В по модулю меньше единицы.

Доказанная теорема дает критерий сходимости метода простых


итераций. Ее недостаток в трудности проверки полученного критерия,
связанного с вычислением спектра матрицы. Поэтому чаще применяются
достаточные условия сходимости, проверка которых требует знания только
самих элементов матрицы. Некоторые из подобных достаточных условий
вытекают из следующей теоремы.

Теорема 2. Пусть B < 1 . Тогда система (3.2) имеет решение, причем


единственное, и последовательность приближений { x k } сходится к этому
решению со скоростью геометрической прогрессии (при любом начальном
приближении x 0 ).
Доказательство. 1) Существование и единственность.
Предположим, что есть решение x * для системы (3.2). Значит,
x * = Bx * + c . Тогда x * = Bx * + c ≤ B x * + c , откуда получаем оценку

28
c
x* ≤ . (3.4)
1− B
Такая оценка справедлива для системы (3.2) с любым вектором
c .Возьмем c = 0 , тогда система (3.2) является однородной, т. е. x = Bx .
Она всегда имеет нулевое решение. Но в силу оценки (3.4) любое ее
решение будет нулевым, т. е. однородная система имеет только нулевое
решение. Как известно из линейной алгебры, в этом случае неоднородная
система (3.2) имеет одно и только одно решение при любом c .
2) Сходимость.
Пусть x * − решение системы (3.2). Рассмотрим равенства:
x k = Bx k −1 + c ;
x * = Bx * + c .
Из них следует:
x * − x k = B ⋅ (x * − x k ) .
Обозначим r k = x * − x k . Тогда
r k = Br k −1 ∀k = 1,2,... .

Отсюда следует, что r k = B k r 0 , где r 0 = x * − x 0 , и значит, что


x * − x k = B k ⋅ (x * − x k ) ≤ B ⋅ x * − x 0 .
k

Положив q = B , и можно записать


x* − x k = qk ⋅ x* − x0 , k = 1,2,... , следовательно, x k → x * .

Теорема доказана.
Следствие 1. Метод простых итераций сходится, если выполнено хотя
бы одно из условий:
n
1) max ∑ bij < 1 ,
1≤i ≤ n
j =1
n
2) ∑b
i , j =1
2
ij < 1,
n
3) max ∑ bij < 1 .
1≤ j ≤ n
i =1

Отметим, что условия 1 − 3 независимы друг от друга. Покажем это.


Пример 1. Рассмотрим матрицу:
⎡3 3⎤
⎢ − ⎥
B = ⎢5 5 .
2 1 ⎥
⎢ ⎥
⎣5 5 ⎦
⎛ 9 4 9 1 ⎞
Очевидно, B 2 = ⎜ + + + ⎟ < 1 , т. е. метод итераций с матрицей
⎝ 25 25 25 25 ⎠
B будет сходиться. С другой стороны,
⎧6 3⎫ 6
B 1 = max ⎨ ; ⎬ = > 1 .
⎩5 5⎭ 5
Пример 2. Пусть

29
⎡1 4⎤
⎢ 5⎥ .
B = ⎢10
3 1⎥
⎢ ⎥
⎣5 5⎦
В данном случае
⎧ 9 4⎫ 9
B 1 = max ⎨ ; ⎬ = < 1, а B 2
> 1.
⎩10 5 ⎭ 10
Итерационная последовательность также будет сходиться.

Оценим погрешность метода на каждой итерации:


x = Bx k −1 + c .
k

Поскольку x * = Bx * + c ,
можно записать x * − x k = B ⋅ (x * − x k −1 )
и, следовательно,
x * = x k + B ⋅ (x * − x k −1 ) .
Вычтем из каждой части равенства x k −1 , получим
x * − x k −1 = (x k − x k −1 ) + B ⋅ (x * − x k −1 ) .
Отсюда
x * − x k −1 ≤ x k − x k −1 + B ⋅ x * − x k −1 ,
и далее
k −1
x k − x k −1
x −x*
≤ .
1− B
Так как, x * − x k = B ⋅ ( x * − x k −1 ) то, умножая обе части предыдущего
неравенства на B и учитывая оценку
x * − x k ≤ B ⋅ x * − x k −1 , получим
B
x* − x k ≤ ⋅ x k − x k −1 .
1− B

Таким образом, справедливо следующее.


Следствие 2. Погрешность k-го приближения в методе простых
итераций оценивается неравенством
B
x* − x k ≤ ⋅ x k − x k −1 .
1− B

3.3. Метод Зейделя

Рассмотрим модификацию метода итераций, называемую методом


Зейделя. Пусть дана система линейных уравнений

Ax = b ,

30
в которой An×n − матрица с диагональными элементами aii ≠ 0, ∀i = 1, n .

Каким-либо способом приведем систему к виду (3.2): x = Bx + c .


Перепишем систему покоординатно:
n
xi = ∑ bij x j + ci , i = 1,..., n .
j =1

Если бы применялся метод простых итераций, итерационная


последовательность выглядела бы следующим образом:
n
xik = ∑ bij x kj −1 + ci , (i = 1, 2,..., n; k = 1, 2,....) .
j =1

При этом алгоритм позволял бы вычислять координаты xik независимо, в


любом порядке. Идея метода Зейделя заключается в том, чтобы использовать
уже найденные координаты для улучшения значения последующих и
проводить вычисления по правилу
i −1 n
xik = ∑ bij x kj + ∑ bij x kj −1 + ci , i = 1,..., n . (3.5)
j =1 j =i

Метод вычисления решения на основе итерационной


последовательности (3.5) называют методом Зейделя.
Можно ожидать, что метод Зейделя будет сходиться быстрее метода
простых итераций. Исследуем условия его сходимости. Матрицу B разобьем
на сумму матриц H и F, где

⎛ 0 0 ...0 0 ⎞ ⎛ b11 b12 ...b1n −1 b1n ⎞


⎜ ⎟ ⎜ ⎟
⎜ b21 0 ...0 0 ⎟ ⎜ 0 b22 ...b2 n −1 b2 n ⎟
H = ⎜ b31 b32 ...0 0 ⎟ , F =⎜ 0 0 ...b3n −1 b3n ⎟ .
⎜ ⎟ ⎜ ⎟
⎜ ... ... ... ... ⎟ ⎜ ... ... ... ... ⎟
⎜ b b ... b 0 ⎟⎠ ⎜ 0 0... 0 bnn ⎟⎠
⎝ n1 n 2 nn −1 ⎝

Тогда алгоритм метода Зейделя можно переписать в виде

x k = Hx k + Fx k −1 + c , k = 1, 2,.... .
Или

( E − H ) x k = Fx k −1 + c , k = 1, 2,.... .
Поскольку матрица (Е – Н) не вырождена, то последнее выражение
можно записать как
x k = ( E − H ) −1 Fx k −1 + ( E − H ) −1 c , k = 1, 2,.... (3.6)

31
Таким образом, метод Зейделя эквивалентен методу простых итераций
для системы линейных уравнений
x = ( E − H ) −1 Fx + ( E − H ) −1 c ,
которая, в свою очередь, равносильна исходной системе (3.2).
Использование итерационной последовательности (3.6) более трудоемко по
сравнению с классической последовательностью (3.5). Однако представление
метода Зейделя в форме (3.6) дает возможность выяснить условия
сходимости этого метода.

Теорема 3. Для того чтобы метод Зейделя сходился при любом


начальном приближении x 0 , необходимо и достаточно, чтобы все корни
уравнения
| F + λ H − λE | = 0
были по абсолютной величине меньше единицы.
Доказательство. В силу теоремы 1 для сходимости последовательности
(3.6), а значит и метода Зейделя необходимо и достаточно, чтобы все
собственные значения матрицы ( E − H ) −1 F , то есть корни уравнения
| ( E − H )−1 F − λE |=0
были по модулю меньше единицы. Даже вычисление коэффициентов этого
уравнения представляет собой трудную задачу. Поэтому найдем более
простое уравнение, корни которого совпадают с корнями данного уравнения.
Действительно, поскольку определитель | E − H | равен единице, то

| ( E − H ) −1 F − λE |=| (E − H )−1 (E− H)[ ( E − H )−1 F − λ E ] |=


= | (E − H )−1 || F −(E−H) λE |= | F + λ H − λE |.

И так сходимость метода Зейделя сводится к определению абсолютной


величины корней уравнения | F + λ H − λE | = 0.
Уже непосредственное сравнение этого уравнения с характеристическим
уравнением |В− λE| = 0 матрицы показывает, что области сходимости метода
Зейделя и метода простых итераций, вообще говоря, должны быть различны.
Действительно, для случая матрицы

⎛ 2,5 3 ⎞
B=⎜ ⎟
⎝ 2 −2,5 ⎠

уравнение

|В−λE| = λ2 −0,25=0

имеет корни λ1= −0,5, λ2= 0,5, следовательно, метод простых итераций
сходится. Метод Зейделя для той же матрицы В сходиться не будет, так как у
уравнения
| F + λ H − λE |= λ2 +6 λ −6,25=0

32
один из корней по модулю больше единицы.
Обратно в случае матрицы
⎛ 4, 2 −2 ⎞
B=⎜ ⎟
⎝ 2 −0,1⎠
сходится метод Зейделя (λ1= −0,6, λ2= 0,7), а метод простых итераций
расходится.
Теорема 3 неудобна для практического применения. По аналогии с
методом простых итераций можно построить достаточные условия
сходимости метода Зейделя. В частности, из теоремы 2 и представления
итерационного процесса метода Зейделя в форме (3.6) следует, что для
сходимости метода Зейделя достаточно, чтобы ( E − H )−1 F была меньше
единицы. Однако проверка данного условия тоже достаточно
затруднительна.
Получим более простые достаточные условия сходимости метода
Зейделя, формулируемые непосредственно через элементы матрицы В.

Лемма 4. Если диагональные элементы матрицы С доминируют по


строкам или по столбцам, т.е. если
n


j =1, j ≠ i
cij < cii (i = 1,..., n)

или
n


i =1,i ≠ j
cij < c jj ( j = 1,..., n) ,

то определитель матрицы С отличен от нуля.


Доказательство. Докажем лемму для случая доминирования
диагональных элементов пол строкам (случай доминирования по столбцам
рассматривается совершенно аналогично). Для доказательства утверждения
достаточно показать, что однородная линейная система
Cx = 0
имеет только нулевое решение. Предположим противное, т.е. допустим, что
система имеет отличное от нулевого решение x * . Среди координат вектора
x * выберем максимальную по модулю xi* . Положим x = x * в системе Cx = 0
и рассмотрим значение левой части i-го уравнения однородной системы:

| ci1 x*1 + ci 2 x*2 + .... + cii x*i + ... + ci1 x*1 + ...cin x*n | ≥

n n
≥ | cii || x*i | − ∑
j =1, j ≠ i
|сij||x*j | ≥ | xi* |(|cii| − ∑
j =1, j ≠ i
cij ) > 0 ,

n
так как | x*i | > 0 и ∑
j =1, j ≠ i
cij < cii .

33
Полученное противоречие доказывает справедливость утверждения
леммы.

Теорема 4. Для того чтобы метод Зейделя сходился, достаточно


выполнения одного из следующих условий:
n
1) max ∑ bij < 1 ,
1≤i ≤ n
j =1

n
2) max ∑ bij < 1 .
1≤ j ≤ n
i =1

Доказательство. Пусть выполнено первое условие. В силу теоремы 3


достаточно показать, что в этом случае любое число λ* такое, что | λ* | ≥ 1 , не
может быть корнем уравнения | F+λH−λE| = 0. Действительно, рассматривая
сумму абсолютных величин недиагональных элементов любой строки
определителя
| F + λ H − λE | ,
можно записать:

| λ* ||bi1| + ….+ | λ* ||bii-1|+|bij+1|+ ….+ |bin| ≤


n n

∑ bij =| λ |( ∑ bij −|bii|)<| λ |(1 −|bii|) =


* * *
≤ |λ |
i =1, j ≠ i i =1

=| λ*|−| λ* ||bii| ≤ | λ*|−|bii| ≤ | λ*−bii|=| bii− λ* |.

Полученные неравенства

| λ* ||bi1| + ….+ | λ* ||bii-1|+|bij+1|+ ….+ |bin| <| bii− λ* | (i = 1,..., n)

представляют собой как раз условие доминирования диагональных


элементов матрицы F + λ*H − λ*E.
Тогда по лемме 4 определитель |F+λ*H−λ*E| отличен от нуля и,
следовательно, все корни уравнения
|F + λ* H − λ*E| = 0
по модулю меньше единицы. Тогда в силу теоремы 3 метод Зейделя
сходится.
Аналогично рассматривается случай доминирования диагональных
элементов по столбцам.
Заметим, что, как и в случае метода простых итераций, при выполнении
условий теоремы 4 можно получить гарантированные оценки погрешности
метода Зейделя. Вообще говоря, эти оценки лучше, чем для метода простых
итераций. Однако метод Зейделя не всегда оказывается лучше метода
простых итераций. Он даже может расходиться при наличии сходимости
метода простых итераций. Области сходимости обоих методов различны,

34
причем очень многое зависит от способа приведения исходной системы (3.1)
к виду (3.2).
Рассмотрим систему (3.1) при условии строгого доминирования
диагональных элементов матрицы А. Тогда можно разделить первое
уравнение на а11, второе на а22 и т. д. и выразить соответственно неизвестные
x1 , x 2 , ... . Получим систему (3.2), в которой

⎛ a12 a1n ⎞
⎜ 0 − ... − ⎟
⎜ a11 a11 ⎟ ⎛ b1 ⎞
⎜ ⎟
⎜ a 21 a ⎟ ⎜ a11 ⎟
− 0 ... − 2 n
B=⎜ a a 22 ⎟, с = ⎜ M ⎟.
⎜ 22 ⎟ ⎜ bn ⎟
⎜ ... ... ... ... ⎟ ⎜a ⎟
⎜ − a n1 ... ... 0 ⎟⎟ ⎝ nn ⎠
⎜ a
⎝ nn ⎠

В этом случае итерационная последовательность Зейделя имеет вид

⎧ x1k = b11 x2k −1 + ... + b1n xnk −1 + c1


⎪ k k −1 k −1
⎪ x2 = b21 x1 + b23 x3 + ... + b2 n xn + c2
k

⎨ (3.7)
⎪...
⎪ x k = b x k + ... + b x k + c .
⎩ n n1 1 nn −1 n −1 n

При этом из условия строгого доминирования диагональных элементов


матрицы А по строкам (столбцам) следует выполнение условий теоремы 4.
Таким образом, справедлива следующая теорема.
Теорема 5. Если для матрицы А в системе (3.1) выполнено условие
строгого доминирования диагональных элементов по строкам или столбцам,
то метод Зейделя в форме (3.7) сходится.

35
4. ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ

Вычисление собственных значений и векторов матриц имеет


исключительно важное значение для решения широкого круга задач.
При этом часто требуется получение всех собственных значений и
отвечающих им собственных векторов. Такую задачу принято называть
полной проблемой собственных значений. В других случаях требуется
знание лишь максимальных или минимальных по абсолютной величине
собственных значений. Иногда требуется найти два самых больших по
абсолютной величине собственных значений или собственные
значения, ближайшие к некоторому заданному числу. Такие задачи
называют частичными проблемами собственных значений.
Проблема собственных значений достаточно проста в
теоретическом плане. Из линейной алгебры известно, что собственные
значения матрицы А являются корнями λ 1 , λ 2 ,…, λ n
характеристического уравнения
a11 − λ a12 ... a1n
a21 a22 − λ ... a2 n
| А - λЕ| = =0. (4.1)
... ... ... ...
an1 an 2 ... ann − λ

Данный определитель является многочленом (-1) n Р n (λ) степени n от λ,


где Р n (λ)= λ n + p 1 λ n-1 +….. + p n .
Собственные векторы x , отвечающие собственному значению λ ,
представляют собой ненулевые решения системы
Ax = λ x . (4.2)
Таким образом, раскрывая определитель |А - λЕ| и решая
характеристическое уравнение (1), можно найти все собственные
значения. Подставляя их последовательно в систему (4.2), находим
собственные векторы, отвечающие данным собственным значениям.
Следует отметить, что при раскрытии определителя |А - λЕ|
возникают значительные вычислительные трудности. Поэтому
применяются различные методы, позволяющие с помощью конечного
числа преобразований привести матрицу А к матрице более простого
вида, для которой коэффициенты характеристического уравнения легко
вычисляются. При этом, как правило, получаются достаточно простые
соотношения и для нахождения собственных векторов.
Применяемые методы решения проблемы собственных значений
делятся на прямые и итерационные. Прямые методы позволяют найти
коэффициенты характеристического уравнения и затем вычислить
корни этого уравнения. Прямые методы отличаются простотой и
высоким быстродействием. В то же время их недостатком является
чувствительность к ошибкам округления результатов промежуточных
вычислений в случае высокой размерности матриц. В итерационных

36
методах коэффициенты характеристического уравнения не
вычисляются, но строятся итерационные последовательности для
нахождения собственных значений. Итерационные методы более
трудоемки, однако менее чувствительны к ошибкам округлений и
более надежны.

4.1. Решение частичной проблемы собственных значений

Рассмотрим для простоты случай, когда все собственные значения


матрицы А действительны (это заведомо будет, в частности, если
матрица А симметрическая). Найдем максимальное по абсолютной
величине собственное значение. Для простоты будем предполагать, что
|λ 1 |> |λ 2 | ≥ ….. ≥ |λ n |
и, что существует базис из собственных векторов u 1 ,...., u n .
Выберем произвольный вектор x 0 такой, что
x 0 = c1u 1 + ..... + cn u n ,
и построим последовательность x k +1 = Ax k , k = 0,1,... .
Тогда
n n
x k = ∑ ci Ak u i = ∑ ci λ ik u i .
i =1 i =1

Отсюда следует, что


x k = c1λ 1k u 1 + O (λ 2k ) ,

( x k , x k ) = (c1λ 1k u 1 + O (λ k2 ), c1λ 1k u 1 + O (λ 2k )) = c12 λ 21k + O (λ 1k λ 2k ),

( x k +1 , x k ) = (c1λ u + O (λ k2 +1 ), c1λ 1k u 1 + O (λ 2k )) = λ 1c12 λ


k +1 1
1
2k
1 + O (λ 1k λ 2k ).
Положим
λ (k )
1 = ( x k +1 , x k ) /( x k , x k ) .
Тогда из последних соотношений получаем (при условии, что с1
отлично от нуля):

λ 1c12 λ 21k + O (λ 1k λ 2k ) λ 2k
λ = 2 2k(k )
= λ 1 + O( k ) . (4.3)
c1 λ 1 + O (λ 1k λ 2k ) λ1
1

Из (4.3) непосредственно следует, что λ (k )


1 → λ 1 при k → ∞ . Кроме того,
k
xk c1λ 1k u1 + c2 λ 2k u2 + .... + cn λ kn un c1λ 1k u1 λ 2
= k k
= k
+ O)( k
),
xk c1 λ + O( λ ) c1 λ λ
1 2 1 1

то есть,
xk
k
sgn(c1λ 1k ) → u1 при k → ∞ .
x
Отметим, что требование, чтобы c1 было отлично от нуля, не является
жестким в виду произвольного выбора начального приближения x 0 .

37
Кроме того, если даже этого и не было вначале, то случайная ошибка
сделает слагаемое, содержащее собственный вектор u1 , ненулевым позже
и, в конце концов, оно станет доминирующим. Мысль, что, зная
наибольшее собственное значение и соответствующий собственный
вектор, мы можем вычитать его на каждом шаге, и, тем самым, дать
возможность проявиться второму по модулю собственному значению,
очевидна. Это действительно можно сделать, но отнюдь не в точности
так, как хотелось бы. На самом деле, можно найти несколько наибольших
по модулю собственных значений, затем вычислительный процесс
постепенно превратится в шум из-за нарастания погрешности, так что
каждое следующее собственное значение будет определяться все с
меньшей точностью.
Чтобы тем же методом найти наименьшее (в алгебраическом смысле)
собственное значение, достаточно следующего простого наблюдения.
Пусть x — собственный вектор, т. е. A x = λ x . Тогда
(А - рЕ) x = (λ - p) x .
Если уже известна примерная величина наибольшего собственного
значения, то можно взять р равным этой величине, и самое маленькое
собственное значение станет самым большим (по модулю).

4.2. Метод Данилевского

Метод Данилевского относится к прямым методам и является


достаточно простым и экономичным. Известно, что матрицы S -1 AS,
полученные преобразованием подобия из c A, имеют тот же
характеристический многочлен, что и А. Известно так же, что любая
матрица приводима преобразованием подобия к так называемой
канонической форме Фробениуса

⎛ − p1 − p2 ............................ − pn ⎞
⎜ ⎟
⎜ 1 0..................................0 ⎟
⎜ 0 1 0...........................0 ⎟⎟
F= ⎜ ,
⎜ 0 0 1...........................0 ⎟
⎜ ⎟
⎜ ........................................... ⎟
⎜ ⎟
⎝ 0..........................0 1 0 ⎠
в первой строке которой стоят коэффициенты характеристического
многочлена, взятые с обратным знаком. Таким образом, основная
задача сводится к нахождению матрицы S такой, что F= S -1 AS.
Предположим, что элемент a nn-1 матрицы А отличен от нуля.
Разделим (n-1)-й столбец этой матрицы на a nn-1 и вычтем его из i–го
столбца, умноженного на a ni (для всех i=1,2,…,n). Тогда последняя
строка примет такой же вид как в матрице F. Непосредственно

38
проверяется, что проделанная операция равносильна умножению А
справа на матрицу
⎛ ⎞
⎜ 1 0..................................................0 ⎟⎟

⎜ 0 1 0...........................................0 ⎟
⎜ ⎟
М n-1 = ⎜ ............................................................... ⎟ .
⎜ ⎟
⎜ − an1 ................ − ann − 2 1

ann ⎟
⎜ ann −1 ann −1 ann −1 ann −1 ⎟
⎜ ⎟
⎜ 0.............................0 0 1 ⎟⎠

Непосредственно проверяется также, что М n-1 не вырождена и,
следовательно, существует
⎛ 1 0...............................0 ⎞
⎜ ⎟
⎜ 0 1 0...........................0 ⎟
M n-1 = ⎜⎜ .........................................
-1 ⎟.

⎜ an1....................................ann ⎟
⎜ ⎟
⎜ 0.............................0 1 0 ⎟
⎝ ⎠
Очевидно, что умножение АМ n-1 слева на матрицу M -1 n-1 не меняет
последней строки матрицы АМ n-1 . Таким образом,
⎛ a11(1) ........................................a1(1)n ⎞
⎜ (1) (1)

⎜ a21 ........................................a2 n ⎟
M -1 n-1 АМ n-1 =А (1) = ⎜⎜ ................................................. ⎟⎟ .
⎜ an(1)−11 ............................an(1)−1n −1 an(1)−1n ⎟
⎜ ⎟
⎜ 0..........................0 1 0 ⎟
⎝ ⎠
Заметим, что матрицы М n-1 и M -1 n-1 , умножением на которые мы
переходим от матрицы А к матрице А (1) , выписываются
непосредственно по виду матрицы А. Предположим далее, что элемент
a (1) n-1n-2 тоже отличен от нуля. Делаем второй шаг, полностью
аналогичный предыдущему, и приводим вторую снизу строку матрицы
к виду необходимому для формы Фробениуса (сохраняя последнюю
строку без изменений). Получаем

M -1 n-2 M -1 n-1 АМ n-1 М n-2 = M -1 n-2 А (1) М n-2 =

⎛ a11(2) ........................................a1(2)
n

⎜ (2) (2)

⎜ a21 ........................................a2 n ⎟
⎜ ⎟
(2) ⎜ ................................................. ⎟,
= А = (2)
⎜ an − 21 ............................an(2)− 2 n −1 an(2)− 2 n ⎟
⎜ ⎟
⎜ 0..........................1 0 0 ⎟
⎜⎜ ⎟
⎝ 0..........................0 1 0 ⎟⎠
где
39
⎛ 1 0.........................................................................0 ⎞
⎜ ⎟
⎜ 0 1 0...................................................................0 ⎟
⎜ ⎟
⎜ .................................................................................... ⎟
М n-2 = ⎜ a (1)
a (1)
1 (1)
an −1n −3 an −1n ⎟ ,
(1)
⎜ − (1)n −11 ................ − n(1)−1n −3 − − ⎟
⎜ an −1n − 2 an −1n − 2 an(1)−1n − 2 an(1)−1n − 2 an(1)−1n − 2 ⎟
⎜ ⎟
⎜ 0.................................0 0 1 0 ⎟
⎜ 0.................................0 0 0 1 ⎟
⎝ ⎠

⎛ 1 0..........................................0 ⎞
⎜ ⎟
⎜ 0 1 0....................................0 ⎟
⎜ .................................................... ⎟
-1 ⎜
M n-2 = (1) ⎟.
⎜ an −11..................................an(1)−1n −1 an(1)−1n ⎟
⎜ ⎟
⎜ 0 0.................................1 0 ⎟
⎜ ⎟
⎝ 0 0..........................0 0 1 ⎠
Правило построения матриц М n-2 и M -1 n-2 по виду матрицы А (1) , как
видим, полностью сохраняется. Оно сохраняется и на следующих
шагах метода. Таким образом, если имеет место так называемый
регулярный случай, когда
( n − 2)
ann −1 ≠ 0, an(1)−1n − 2 ≠ 0, an(2)− 2 n −3 ≠ 0,....., a21 ≠ 0,
то после (n-1) шагов метода Данилевского получим следующий
результат

А (n-1) = M -1 1 … M -1 n-1 АМ n-1 …М 1 =


⎛ a11( n −1) a12( n −1) ............................a1(nn −1) ⎞ ⎛ − p1 − p2 ............................ − pn ⎞
⎜ ⎟ ⎜ ⎟
⎜ 1 0..................................0 ⎟ ⎜ 1 0..................................0 ⎟
⎜ 0 1 0.........................0 ⎟⎟ ⎜⎜ 0 1 0...........................0 ⎟⎟
= ⎜ = =F=S -1 AS.
⎜ 0 0 1.........................0 ⎟ ⎜ 0 0 1...........................0 ⎟
⎜ ⎟ ⎜ ⎟
⎜ ........................................... ⎟ ⎜ ........................................... ⎟
⎜ 0..........................0 1 0 ⎠ ⎝ 0..........................0 1 0 ⎟⎠
⎟ ⎜

В таком случае мы можем непосредственно выписать
характеристическое уравнение
λ n + p 1 λ n-1 +….. + p n =0
и, решая его, найти собственные значения λ 1 , λ 2 , ……, λ n .
Для нахождения собственных векторов в регулярном случае нет
необходимости решать систему (4.2). Как уже говорилось выше,
матрицы F и A имеют одни и те же собственные значения.
Собственные векторы, отвечающие одному и тому же собственному
значению, вообще говоря, будут разными. Однако они связаны между
собой преобразованием подобия. Так, если y собственный вектор
матрицы F, отвечающий собственному значению λ, то вектор Sy будет

40
собственным вектором матрицы А, отвечающим тому же собственному
значению.
Действительно, поскольку Fy = λ y и F = S −1 AS , то S −1 ASy = λ y .
Умножая это равенство слева на матрицу S, получим ASy = λ Sy .
Последнее означает, что Sy будет собственным вектором матрицы А.
Таким образом, собственные векторы матрицы А находятся пересчетом
собственных векторов матрицы Фробениуса. Собственные же векторы y
матрицы Фробениуса определяются из системы

⎛ − p1 − p2 ............................ − pn ⎞ ⎛ y1 ⎞ ⎛ y1 ⎞
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ 1 0..................................0 ⎟ ⎜ y2 ⎟ ⎜ y2 ⎟
⎜ 0 1 0...........................0 ⎟⎟ ⎜ . ⎟ ⎜ . ⎟
⎜ ⎜ ⎟=λ ⎜ ⎟.
⎜ 0 0 1...........................0 ⎟ ⎜ . ⎟ ⎜ . ⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ ........................................... ⎟⎜ ⎟ ⎜ ⎟
⎜ ⎟⎜ yn ⎟⎠ ⎜ yn ⎟⎠
⎝ 0..........................0 1 0 ⎠ ⎝ ⎝

Покоординатная запись этой системы имеет вид


− p1 y1 − p2 y2 − ............ − pn yn = λ y1 ,
y1 = λ y2 ,
y2 = λ y3 ,
..............
yn −1 = λ yn .

Поскольку собственный вектор определяется с точностью до постоянного


множителя, можно принять yn =1 и вычислить остальные координаты
собственного вектора:
yn = 1, yn −1 = λ ,..............., y1 = λ n −1
.
Равенство же
− p1 y1 − p2 y2 − ............ − pn yn = λ y1
принимает при этом тривиальный вид
λ n + p1λ n −1
+ ....... + pn = 0
и используется для контроля вычислений.
Зная матрицу S, не трудно теперь найти собственные векторы
матрицы А.
Отдельно рассмотрим нерегулярный случай метода Данилевского.
Пусть выполнено (n-k) шагов метода и оказалось, что в матрице А (n-k)
элемент akk( n−−1k ) = 0 . Тогда, если левее этого элемента в строке есть
отличные от нуля элементы (например в столбце с номером j), то
поменяем местами j-й и (k-1)-й столбцы и продолжим процесс.
Заметим, что операция замены столбцов местами равносильна
умножению матрицы А (n-k) слева и справа на матрицу T, которая

41
строиться из единичной матрицы Е заменой четырех ее элементов.
Именно:
t jj =t k-1k-1 =0, t jk-1 =t k-1j =1,
остальные элементы матрицы T совпадают с соответствующими
элементами матрицы Е. Таким образом, в цепочке преобразований
матрицы на данном шаге добавится дополнительная операция
T А (n-k) T,
после которой процесс пойдет, как и раньше. При этом важно, что
дополнительное преобразование TА (n-k) T является преобразованием
подобия. Действительно, поскольку двойная перестановка столбцов
дает исходную матрицу, то TT=T 2 =E, т.е. T -1 =T.
Если левее элемента akk( n−−1k ) = 0 в строке матрицы А (n-k) не оказалось
ненулевых элементов, то матрица А (n-k) очевидно имеет вид

⎛ B ( n−k ) C ( n−k ) ⎞
А (n-k) = ⎜⎜ ⎟,
( n−k ) ⎟
⎝ 0 F ⎠

⎛ a11( n − k ) ........................................a1(kn−−1k ) ⎞
⎜ ( n−k ) ( n−k )

(n-k) ⎜ a21 ........................................a2 k −1 ⎟
где B =⎜ ⎟,
⎜ ................................................. ⎟
⎜ a ( n − k ) ...................................... a ( n − k ) ⎟
⎝ k −11 k −1k −1 ⎠

⎛ akk( n − k ) ........................................akn( n − k ) ⎞
⎜ ⎟
(n-k) ⎜ 1 0..............................0 0 ⎟
F =⎜ ⎟.
⎜ ................................................. ⎟
⎜ 0 0..............................1 0 ⎟⎠

Тогда

| A(n-k) - λE| = |B(n-k) - λEk-1| |F(n-k) - λEn-k+1|

и, следовательно, поскольку F(n-k) является матрицей Фробениуса, ее


характеристический многочлен можно выписать непосредственно, а к
матрице B(n-k) применить снова метод Данилевского. Таким образом,
вычислительный процесс даже упрощается.
Подсчетом необходимых арифметических операций можно убедиться,
что метод Данилевского является одним из самых экономичных методов
решения полной проблемы собственных значений. Однако этот метод очень
чувствителен к ошибкам в результатах промежуточных вычислений.

42
4.3. Метод вращений Якоби для симметрических матриц

Итерационный метод Якоби был предложен еще в середине 19-го века,


однако долгое время не находил применения из-за слишком большого по
тем временам объема вычислений. В настоящее время известно большое
количество его модификаций, основная идея которых однако остается
прежней. Из линейной алгебры известно, что всякая симметрическая
матрица А может быть приведена к диагональному виду ортогональным
преобразованием подобия
V-1 AV = Λ,
где Λ – диагональная матрица. При этом для ортогональной матрицы V
справедливо условие V-1=V*, т.е. ортогональное преобразование подобия
можно записать в виде
V* AV = Λ. (4.4)

Последнее условие дает фактически матричное уравнение, которое можно


использовать для вычисления элементов матриц V и Λ. Однако метод
Якоби использует итерационный процесс, который приводит исходную
симметрическую матрицу А к диагональному виду с помощью после-
довательности элементарных ортогональных преобразований (в дальнейшем
называемых вращениями Якоби или плоскими вращениями). Процедура
построена таким образом, что на (k+1)-ом шаге осуществляется
преобразование вида
А(k) →A(k+1) =V(k)* A(k)V(k) = V(k)* …V(0)* A(0) V(0)… V(k), k=0,1,2…, (4.5)

где А(0)= A, V(k) = V(k)ij (φ) — ортогональная матрица, отличающаяся от


единичной матрицы только элементами
v ii = v jj = cos φ v ij = - v ji = -sin φ , (4.6)
значение φ выбирается при этом таким образом, чтобы обратить в 0
наибольший по модулю недиагональный элемент матрицы А(k).
Итерационный процесс постепенно приводит к матрице со значениями
недиагональных элементов, которыми можно пренебречь, т.е. матрица
А(k) все более похожа на диагональную, а диагональная матрица Λ
является пределом последовательности А(k) при k → ∞.
Основное достоинство метода Якоби заключается в том, что при
выполнении каждого плоского вращения уменьшается сумма квадратов
недиагональных элементов; сходимость этой суммы к нулю по мере
увеличения числа шагов гарантирует сходимость процесса диагонализации.
Отметим, что, если разложение (4.4) найдено, то легко указать правило
нахождения собственных векторов. Действительно, если λi - i-й
диагональный элемент матрицы Λ , тогда, как известно из линейной
алгебры, координаты собственного вектора матрицы А соответствующего
собственному значению λi совпадают с элементами i-го столбца матрицы V.
Теперь остается указать способ выбора матрицы V(k) = V(k)ij (φ) на k-м
шаге и доказать сходимость метода.
43
Итак пусть есть матрица А(k). Найдем в ней максимальный по модулю
недиагональный элемент aij( k ) . Поскольку матрица симметрическая, то можно
считать, что i<j. Найдем значение угла поворота φ= φk из условия равенства
нулю элемента aij( k +1) матрицы
А(k+1) = V(k)* A(k)V(k).
Положим B= A(k)V(k). Тогда в виду определения матрицы поворота
V(k) = V(k)ij (φ) элементы всех столбцов матрицы В, кроме i-го и j-го,
(k)
совпадают с элементами матрицы А . Для элементов i-го и j-го столбцов
имеем
bsi = asi( k ) cos ϕ k + asj( k ) sin ϕ k ,
(4.7)
bsj = − asi( k ) sin ϕ k + asj( k ) cos ϕ k , s = 1, 2,...., n.

Аналогично матрица А (k+1) = V(k)*B во всех строках, кроме i-ой и j-ой ,


имеет те же элементы, что и В. Элементы i-ой и j-ой строк имеют вид

ais( k +1) = bis cos ϕ k + b js sin ϕ k ,


(4.8)
a (jsk +1) = −bis sin ϕ k + b js cos ϕ k , s = 1, 2,...., n.
Обратим внимание, что матрицы А(k+1) и А(k) различаются только
суммой

[ais( k +1) ]2 + [a (jsk +1) ]2 = bis2 + b 2js = [ais( k ) ]2 + [a (jsk ) ]2


С учетом равенства aij( k ) = a (jik ) из формул (4.7) и (4.8) получим
aij( k +1) = bij cos ϕ k + b jj sin ϕ k =
= (−aii( k ) sin ϕ k + aij( k ) cos ϕ k ) cos ϕ k + (− a (jik ) sin ϕ k + a (jjk ) cos ϕ k ) sin ϕ k = (4.9)
1
= aij( k ) cos 2ϕ k + (a (jjk ) − aii( k ) ) sin 2ϕ k ,
2
Полагая в (4.9) aij( k +1) =0 , получим
tg 2ϕ k = 2aij( k ) /(aii( k ) − a (jjk ) ) (−π / 4 < ϕ k < π / 4)
или

1 1 (4.10)
cos ϕ k = (1 + (1 + pk2 )) −1/ 2 , sin ϕ k = sgn pk (1 − (1 + pk2 )) −1/ 2 ,
2 2
где
pk = 2aij( k ) /(aii( k ) − a (jjk ) ).
Обозначим через t(A) сумму квадратов всех недиагональных элементов
матрицы А. Тогда
1
t ( A( k +1) ) = t ( A( k ) ) − 2[aij( k ) ]2 + [(a (jjk ) − aii( k ) ) sin 2ϕ k + 2aij( k ) cos 2ϕ k ]2 =
2 (4.11)
1
= t ( A( k ) ) − 2[aij( k ) ]2 + [2a (jjk +1) ]2 = t ( A( k ) ) − 2[aij( k ) ]2 .
2
Таким образом, значение функции t(A) уменьшается на каждом шаге.

44
Покажем, что итерационный процесс в методе Якоби сходится.
Действительно, в силу выбора элемента aij( k ) справедлива оценка
t ( A( k ) ) ≤ n(n − 1)[aij( k ) ]2 ,
откуда
[aij( k ) ]2 ≥ t ( A( k ) ) / n(n − 1) .
С учетом этого неравенства из формулы (4.11) получаем
2t ( A( k ) )
t ( A( k +1) ) = t ( A( k ) ) − 2[aij( k ) ]2 ≤ t ( A( k ) ) − = qt ( A( k ) ) ,
n(n − 1)
где
2
q = 1− .
n(n − 1)
Очевидно, что 0<q<1 при порядке матрицы n>2. Таким образом, получаем
t ( A( k ) ) ≤ q k t ( A(0) ) k = 1, 2,.... .
Последнее означает, что
lim t ( A( k ) ) = 0
k →∞

и, следовательно, итерационный процесс сходится.


В итоге получаем следующий алгоритм метода вращений:
1) в матрице А(k) (k=0,1,2,….) среди всех недиагональных элементов
выбираем максимальный по абсолютной величине элемент, стоящий выше
главной диагонали; определяем его номера i и j строки и столбца, в которых
он стоит ( если максимальных элементов несколько, можно взять любой из
них);
2) по формулам (4.10) вычисляем cos ϕ k и sin ϕ k , далее используя
формулы (4.7) и (4.8) находим элементы матрицы А(k+1) ;
3) итерационный процесс останавливаем, когда в пределах принятой
точности величиной t(А(k+1)) можно пренебречь;
4) в качестве собственных значений матрицы А берем диагональные
элементы матрицы А(k+1), в качестве собственных векторов –
соответствующие столбцы матрицы
V= V(0)V(1)… V(k).

45
5. ПРИНЦИП СЖИМАЮЩИХ ОТОБРАЖЕНИЙ

5.1. Полные метрические пространства

Метрическим пространством называется множество Х элементов х,у,…


произвольной природы, на котором определена так называемая функция
расстояния или метрика ρ = ρ ( x, y ) , т. е. функция, для которой выполнены
следующие аксиомы:
1) ρ ( x, y ) ≥ 0 ∀x, y , причем ρ ( x, y ) = 0 ⇔ x = y;

2) ρ ( x, y ) = ρ ( y, x) ∀x, y, z ;
3) ρ ( x, y ) ≤ ρ ( x, z ) + ρ ( z , y ) для всех x, y, z.
Пример. Пусть C[ a ,b ] − пространство непрерывных на отрезке [a,b]
функций, тогда ρ ( f , g ) = max f (t ) − g (t ) − расстояние в этом пространстве.
a≤t≤b

Очевидно, если Х – нормированное пространство с нормой , то можно


принять ρ ( x, y ) = x − y .
Обычно элементы метрического пространства называются точками этого
пространства. Введем некоторые определения.
Последовательность {x n } в метрическом пространстве называется
сходящейся к x , если lim n →∞
ρ ( x n , x) = 0 . Сходимость последовательности {x n }
к x обозначается x n → x или lim
n →∞
x n = x.
n→ ∞

Окрестностью точки х0 в пространстве Х называется множество:


U ε ( x 0 ) = {x ∈ X ρ ( x, x 0 ) < ε }.
Предельной точкой множества М ⊂ X называется такая точка, в любой
окрестности которой находится бесконечно много элементов из множества
М.
Замыканием множества M называется объединение множества М с
множеством всех его предельных точек.
Множество замкнуто, если M = M , т. е. когда оно совпадает со своим
замыканием.
Пусть в метрическом пространстве Х дана последовательность {x n } ⊂ X .
Эту последовательность будем называть фундаментальной, если для любого
числа ε > 0 существует число n0=n0( ε ) такое, что ρ ( x n , y m ) < ε при любых
n,m>n0. Легко видеть, что всякая сходящаяся последовательность является
фундаментальной.
Метрическое пространство называется полным (ПМП), если в нем любая
фундаментальная последовательность сходится. Примерами ПМП являются
пространства R, Rn, C[ a ,b ] .

46
Очевидно, любое замкнутое подмножество из ПМП в свою очередь
тоже является ПМП. Действительно, так как метрика сохраняется и
подмножество замкнуто, то любая фундаментальная последовательность
сходится в нем.
5.2. Принцип сжимающих отображений

Пусть Х – метрическое пространство. Рассмотрим отображение


A : X → X пространства Х в себя. Образ элемента х при отображении А
обозначается:
y = A( x) или y = Ax.
Отображение А называется сжимающим, если существует такое число
α (0 ≤ α <1), что
ρ ( Ax, Ay ) ≤ αρ ( x, y ) ∀x, y ∈ X ,
иными словами расстояние между образами точек меньше, чем расстояние
между самими точками.
Убедимся, что всякое сжимающее отображение непрерывно.
Действительно, по определению отображение А является непрерывным,
если для любой сходящейся последовательности x k → x выполняется
Ax k → Ax . Пусть x k → x , т. е. ρ (x k , x ) → 0 при k → ∞ .
Тогда ρ ( Ax k , Ax) ≤ αρ ( x k , x) , откуда получаем klim ρ ( Ax k , Ax) ≤ 0 , что
→∞

означает lim ρ ( Ax k , Ax) = 0 или lim Ax k = Ax . Последнее равносильно


x →∞ x →∞

непрерывности отображения А.
Точку х будем называть неподвижной точкой отображения А, если х= Ах.
Теорема 1. В ПМП любое сжимающее отображение имеет
неподвижную точку, причем единственную.
Доказательство. Пусть х0 - произвольная точка: x 0 ∈ X . Построим
последовательность { x k } такую, что x k = Ax k −1 k = 1,2,... и докажем, что она
фундаментальная (а значит сходящаяся). Оценим расстояние

ρ ( x m , х n ) = ρ ( A m x 0 , An x 0 ) =
= ρ ( An ( Am − n x 0 ), An x 0 ) ≤ по свойству сжимающего отображения
≤ α n ρ ( Am − n x 0 , x 0 ) = α n ρ ( x 0 , x m − n ) ≤ вставляем средние точки
≤ α n ⎣⎡ ρ ( x 0 , x1 ) + ρ ( x1 , x 2 ) + ... + ρ ( x m − n −1 , x m − n ) ⎦⎤ = α n ⎣⎡ ρ ( x 0 , x1 ) + ρ ( Ax 0 , Ax1 ) + ... +
+ ρ ( Am − n −1 x 0 , Am − n −1 x1 ) ] ≤ α n ⎡⎣ ρ ( x 0 , x1 ) + αρ ( x 0 , x1 ) + ... + α m − n −1 ρ ( x 0 , x1 ) ]
≤ α n ρ ( x 0 , x1 ) ⎣⎡1 + α + ... + α m − n −1 ⎤⎦ ≤

≤ α n ρ ( x 0 , x1 ) ⎡⎣1 + α + α 2 + ...⎤⎦ ≤
используем формулу суммы бесконечной геометрической прогрессии
αn
≤ ρ ( x 0 , x1 ) < ε .
1−α

47
Решая неравенство

α
ρ ( x 0 , x1 ) < ε ,
1−α

найдем n0=n0( ε ), начиная с которого выполняется данное неравенство и,


следовательно, неравенство p( x m , x n ) < ε . Последнее означает, что
последовательность {x n } – фундаментальная. Поскольку X – ПМП, то данная
последовательность сходится, т. е. x n → x ∈ Х .
Убедимся, что х – неподвижная точка отображения A. Действительно,
переходя к пределу в равенстве x n = Ax n −1 и используя непрерывность
отображения A, получим x = Ax .
Методом от противного докажем, что неподвижная точка единственная.
Действительно, пусть есть две неподвижные точки. Тогда:
x = Ax; у = Ay.

В силу того, что отображение А сжимающее, получим:

ρ ( x, y ) = ρ ( Ax, Ay) ≤ αρ ( x, y ), α < 1.

Откуда ρ ( x, y ) = 0. Т. е. точки x и y совпадают. Теорема доказана.


Следствие. Теорема дает возможность вычислить неподвижную точку х
данного отображения при любом начальном приближении x 0 . При этом
αn
оценка погрешности на n-м шаге ρ ( x n , x) ≤ ρ ( x 0 , x1 ) .
1−α
Эта оценка получается, если перейти в неравенстве
αn
ρ(xn , xm ) ≤ρ ( x 0 , x1 )
1−α
к пределу при m → ∞.

5.3. Приложения принципа сжимающих отображений


1) Решение системы линейных уравнений.
Рассмотрим систему Ax = b в пространстве R n с некоторой нормой.
Преобразуем систему к виду x = B x + c , и будем рассматривать отображение
A( x) = B x + c .
Решить систему – значит найти неподвижную точку x = Ax отображения A.
Проверим, когда отображение будет сжимающим:

ρ ( Ax , Ay ) = Ax − Ay = Bx + c − By − c = B( x − y ) =
(применяем свойство матричной нормы) =
= B ⋅ x − y = B ⋅ ρ ( x , y ).

48
Таким образом, А будет сжимающим отображением тогда и только тогда,
когда B < 1 . Следовательно, в этом случае можно построить сходящуюся
итерационную последовательность.

2) Нахождение корней уравнения.


Рассмотрим уравнение:
f ( x ) = 0 ⇔ x = ϕ ( x ) , где ϕ ( x) = x − f ( x) или ϕ ( x ) = x + f ( x ) .
Очевидно, найти корень уравнения равносильно тому, чтобы найти
неподвижную точку отображения х= ϕ (х).
Пусть выполнены условия:
а) ϕ ( x ) − ϕ ( y ) ≤ M x − y ∀x, y , где M < 1 (условие Липшица)
(очевидно, данное условие всегда выполняется,
если ϕ ′( x) ≤ M < 1 ∀x ∈ [a, b] );
б) ϕ : [a, b] → [a, b] .
Тогда итерационная последовательность x n = ϕ ( x n −1 ) сходится в силу
принципа сжимающих отображений (см. рис. 5.1 и 5.2).

Рис. 5.1. Рис. 5.2.

3) Решение задачи Коши.


Рассмотрим задачу Коши для дифференциального уравнения:
⎧ y ′ = f ( x, y )

⎩ y ( x0 ) = y 0 .
Будем предполагать, что f(x,y) – непрерывна по (x,y) и липшицева по у, т. е.
f ( x, y1 ) − f ( x, y 2 ) ≤ M y1 − y 2 ∀( x, y1 ) и ( x, y 2 ) ∈ G ,

где G − двумерная область, содержащая точку ( x0 , y0 ) .


Пусть G′ − замкнутая ограниченная область, лежащая в G и содержащая
точку ( x0 , y 0 ) . Тогда f ( x, y ) ограничена в G′ , т.е. f ( x, y) ≤ K для всех
( x, y ) ∈ G ′ .

49
Рис. 5.3.

Выберем число d так, что для прямоугольника


{
P = ( x, y ) : x − x0 ≤ d , y − y0 ≤ Kd }
выполняются условия P ⊂ G ′ и Md < 1.
Рассматриваемая задача Коши равносильна интегральному уравнению:
x
y ( x) = y 0 + ∫ f (t , y (t ))dt .
x0

Построим отображение A : C [ x 0 − d , x0 + d ] → C [ x0 − d , x0 + d ] и положим


x
A(ϕ ) = y 0 + ∫ f (t , ϕ (t ))dt ,
x0

где ϕ ∈ C[ x −d , x + d ] .
0 0

Покажем, что отображение А – сжимающее в пространстве непрерывных


на данном отрезке функций C * ⊂ C[ x −d , x + d ] , которые дополнительно 0 0

удовлетворяют условию ϕ ( x) − y 0 ≤ Kd .
Другими словами докажем, что отображение A:
1) не выводит за пределы пространства C * , A : C * → C * ;
2)является сжимающим отображением.
Действительно, ρ ( f , g ) = max f ( x) − g ( x) – расстояние в C * .
x 0 − d ≤ x ≤ x0 + d

Если ϕ непрерывная функция, то Аϕ – тоже непрерывная функция и для


∀ϕ ∈ C *
x x x0 + d

Aϕ ( x) − y 0 = max y 0 + ∫ f (t, ϕ (t ))dt − y


x0
0 ≤ max ∫ f (t , ϕ (t ))dt ≤
x
x0

x0
f (t , ϕ (t ))dt ≤

x0 + d

≤ ∫ Kdt = Kd ,
x0

т. е. действительно Aϕ ( x) ∈ C * .
Пусть теперь ϕ ,ψ ∈ C * . Тогда

50
x x
ρ ( Aϕ , Aψ ) = max y 0 + ∫ f (t , ϕ (t )) dt − y 0 − ∫ f (t ,ψ (t )) dt ≤
x 0 ≤ x ≤ x0 + d
x0 x0

x
≤ max
x0 ≤ x ≤ x 0 + d ∫ [ f (t ,ϕ (t )) − f (t ,ψ (t )) ]dt
x0

x x0 + d

≤ max
x0 ≤ x ≤ x 0 + d ∫
x0
f (t , ϕ (t )) − f (t ,ψ (t )) dt ≤ ∫ M ϕ (t ) − ψ (t ) dt
x0

x0 + d

≤M ∫
x0
max
x 0 ≤ x ≤ x0 + d
ϕ (t ) − ψ (t ) dt = Md ρ (ϕ ,ψ ),

где Md<1.
Следовательно, отображение А – сжимающее и в силу принципа
сжимающих отображений при сделанных предположениях существует
единственное решение интегрального уравнения
x
y ( x) = y 0 + ∫ f (t , y (t ))dt ,
x0

а значит и задачи Коши.

51
6. РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ

Пусть дано уравнение f(x) = 0. Ставится задача: найти решение данного


уравнения с точностью до некоторой заданной величины ε. Точное решение
данного уравнения будем обозначать через x * , а приближенное через x̂ .
Методы решения уравнений делятся на прямые и итерационные.
Прямые методы – это методы, позволяющие вычислить решение по формуле.
Например, нахождение корней квадратного или кубического уравнения.
Итерационные методы − это методы, в которых задается некоторое
начальное приближение и строится сходящаяся последовательность
приближений к точному решению, причем каждое последующее
приближение вычисляется c использованием предыдущих:
x n = ϕ n ( x0 , x1 ,..., x n −1 ) .
Очевидно, что прямые методы могут быть использованы только для
решения простейших уравнений (так уже для многочлена 5-й степени не
существует общих формул для вычисления корней).
Одним из простейших методов решения нелинейных уравнений
является использование теоремы Больцано-Коши. Известно, что если
функция f непрерывна на отрезке [a, b] и f (a ) ⋅ f (b) < 0, то на отрезке
[a, b] существует хотя бы один корень уравнения f ( x ) = 0 ( рис. 6.1).

Рис. 6.1

Методом дихотомии (делением отрезка пополам) можно выделить


промежуток половинной длины, на концах которого функция принимает
значения разных знаков. Продолжая процесс можно найти корень с любой
заданной точностью.
Очевидным недостатком этого метода является его трудоемкость.
Другой менее очевидный, однако более существенный недостаток
иллюстрируется рисунком 6.2.

Рис.6.2

52
Если на отрезке есть несколько корней данного уравнения (см. рис. 6.2), при
делении отрезка пополам будет найден только один корень и произойдет
потеря других. Чтобы избежать этого, нужно предварительно провести
процедуру отделения корней.
Другим простейшим методом решения нелинейных уравнений является
использование принципа сжимающих отображений.
Пусть функция f непрерывно дифференцируема на отрезке [a, b] и на
концах его принимает значения разных знаков. По уравнению f ( x) = 0
строим уравнение x = ϕ (x ) , где ϕ ( x) = x − λf ( x) . Множитель λ выбираем таким
образом, чтобы на отрезке были выполнены условия φ: [a, b] → [a, b] и
| ϕ ′( x) |<q<1 на [a, b] . После этого строим итерационную последовательность
xn = ϕ ( xn −1 ), n = 1, 2,..... .
которая сходится к искомому решению уравнения.

6.1. Проблема отделения корней

Поставим задачу: найти интервал (a,b), на котором для заданной


функции f(х) выполняется условие f (a ) ⋅ f (b) < 0 и который содержит только
один корень функции f(х).
Если функция на заданном интервале непрерывно дифференцируема, то
можно воспользоваться следствием из теоремы Ролля, по которому между
парой корней всегда находится по крайней мере одна стационарная точка.
Алгоритм решения задачи в данном случае будет следующий:
1)находим производную f ′ (x) ,
2) решаем уравнение f ′ (x) = 0 для нахождения стационарных точек,
3) разбиваем исходный интервал (a,b) на меньшие интервалы с помощью
найденных стационарных точек,
4) из полученных интервалов выбираем только те, на концах которых f(x)
принимает значения разных знаков,
5)уточняем интервалы за счет их сужения.
Очевидным недостатком метода является трудность нахождения
стационарных точек (зачастую это более трудная задача, чем решение
заданного уравнения). К достоинствам метода можно отнести его
принципиальную простоту и то обстоятельство, что часто других более
хороших способов нет.
Для отделения корней можно также воспользоваться графиком функции.
К достоинствам подобного способа можно отнести его наглядность и
простоту, к недостаткам низкую точность и необходимость строить график
функции.
Полезным средством для отделения корней является также
использование теоремы Штурма.

53
Пусть f(x) – многочлен, и уравнение f(x)=0 не имеет кратных корней, т.е.
нет точек, в которых f ( x) = 0 и f ′( x) = 0 (стационарные точки не являются
корнями).
Построим так называемый ряд Штурма: f0(x) , f1(x) , … , fn(x), где
f 0 ( x) = f ( x),
f 1 ( x) = f ′( x),
f0
f2(x) – остаток от деления , взятый с обратным знаком,
f1
f
fk(x) − остаток от деления k −2 , взятый с обратным знаком,
f k −1
и так далее, пока не получим постоянную.
Обозначим через N(a) – число перемен знаков в ряде Штурма, при x=a;
через N(b) – число перемен знаков в ряде Штурма, при x=b.

Теорема Штурма. При сделанных выше предположениях, число корней


уравнения f(x) = 0 на отрезке [a, b] равно N(a) - N(b).

Получим простую оценку для погрешности приближения.


Пусть
f ( x) = 0 , a ≤ x ≤ b .
Тогда по формуле конечных приращений
f ( xˆ ) − f ( x • ) = f ′(c) ⋅ ( xˆ − x * ) , где c ∈ ( a, b) .
Так как x • – корень, то f ( x • ) = 0 и, следовательно,
f ( xˆ ) = f ′(c) ⋅ ( xˆ − x * ) .
Предполагаем, что в интервале (a, b) корень отделен, а производная не
обращается в нуль на [a, b] , т.е. стационарных точек нет.
Оценим снизу и сверху абсолютное значение производной:
m1 ≤ f ′( x) ≤ M 1 . Тогда получаем оценку
f ( xˆ )
xˆ − x * ≤ . (6.1)
m1
6.2. Метод хорд

Пусть дано уравнение f ( x) = 0 , a ≤ x ≤ b , где f (x) − дважды непрерывно


дифференцируемая функция.
Пусть выполняется условие f (a ) ⋅ f (b) < 0 и проведено отделение корней,
т.е. на данном интервале (a, b) находится один корень уравнения. При этом,
не ограничивая общности, можно считать, что f(b) > 0 .
Пусть функция f выпукла на интервале (a, b) (рис. 6.3).

54
Рис. 6.3

Заменим график функции хордой (прямой), проходящей через точки


M 0 (a, f (a)) и M 1 (b, f (b)) .
Уравнение прямой, проходящей через две заданные точки, можно
y − y1 x − x1 y − f (a) x−a
записать в виде = . В нашем случае получим = .
y 2 − y1 x 2 − x1 f (b) − f (a ) b − a
Найдем точку пересечения хорды с осью Oх.
Полагая y = 0 , получаем из предыдущего уравнения:
f (a)
x1 = a − ⋅ (b − a) .
f (b) − f (a)
Теперь возьмем интервал (x1,b) в качестве исходного и повторим
вышеописанную процедуру (рис. 6.3). Получим
f ( x1 )
x 2 = x1 − ⋅ (b − x1 ) .
f (b) − f ( x1 )
Продолжим процесс. Каждое последующее приближение вычисляется
по рекуррентной формуле
f ( x n −1 )
x n = x n −1 − ⋅ (b − x n −1 ) n = 1,2,... , (6.2)
f (b) − f ( x n −1 )
x0 = a .
Если же функция вогнута (см. рис. 6.4),

Рис. 6.4

уравнение прямой, соединяющей точки M 0 (a, f (a)) и M 1 (b, f (b)) запишем в


виде
y − f (b) x −b
= .
f (a ) − f (b) a − b

55
Найдем точку пересечения хорды с осью Oх:
f (b)
x1 = b − ⋅ ( a − b) .
f (a) − f (b)
Теперь возьмем интервал (a,x1) в качестве исходного и найдем точки
пересечения хорды, соединяющей точки (a, f(a)) и (x1, f(x1)) с осью абсцисс
(рис. 6.4). Получим

f ( x1 )
x2 = x1 − ⋅ ( a − x1 ) .
f (a ) − f ( x1 )

Повторяя данную процедуру, получаем рекуррентную формулу

f ( x n −1 )
x n = x n −1 − ⋅ ( a − x n −1 ) n = 1,2,.. (6.3)
f ( a ) − f ( x n −1 )
x0 = b .

Описанный выше метод построения рекуррентных последовательностей (6.2)


и (6.3) называется методом хорд. Для использования метода хорд нужно
было бы предварительно найти точки перегиба и выделить участки, на
которых функция не меняет характер выпуклости. Однако на практике
поступают проще: в случае f (b) f ′′(b) > 0 для построения рекуррентной
последовательности применяются формулы (6.2), а в случае, когда
f ( a ) f ′′( a ) > 0 , применяют формулы (6.3).
Докажем сходимость метода хорд.
Очевидно, обе последовательности (6.2) и (6.3) могут быть записаны в
виде
f ( x n −1 )( xˆ − x n −1 )
x n = x n −1 − ,
f ( xˆ ) − f ( x n −1 )

где x̂ = а или x̂ = b.
f ( x)
Построим функцию ϕ ( x) = x − (xˆ − x ) ,
f ( xˆ ) − f ( x)
где xˆ = a или xˆ = b (в зависимости от характера выпуклости). Тогда метод
хорд дает рекуррентную последовательность, определяемую единой
формулой
xn = ϕ ( xn −1 ), n = 1,... x 0 = xˆ . (6.4)
Покажем, что ϕ будет сжимающим отображением в случае достаточно
малого интервала (a,b). Приведем выражение для ϕ (x ) к общему
знаменателю:

xf ( xˆ ) − xf ( x) − xˆf ( x) + xf ( x) xf ( xˆ ) − xˆf ( x)
ϕ ( x) = = .
f ( xˆ ) − f ( x) f ( xˆ ) − f ( x)

56
Найдем производную
f ( xˆ )( f ( xˆ ) − f ( x)) − xˆf ′( x)( f ( xˆ − f ( x)) + f ′( x)( xf ( xˆ ) − xˆf ( x))
ϕ ′( x) = .
( f ( xˆ ) − f ( x)) 2
Вычислим значение этой производной в точке x * , учитывая, что f ( x * ) = 0 :
f 2 ( xˆ ) − xˆf ′( x * ) f ( xˆ ) + f ′( x * ) x * f ( xˆ ) f ( xˆ ) − f ′( x * )( xˆ − x * )
ϕ ′( x * ) = = .
f 2 ( xˆ ) f ( xˆ )
По формуле Тейлора
f ′′(ξ )
f ( xˆ ) = f ( x * ) + f ′( x * )( xˆ − x * ) + ( xˆ − x * ) 2 ,
2
где ξ некоторая точка, лежащая между x * и x . С учетом данного
выражения получим
f ′′(ξ ) ( xˆ − x * ) 2
ϕ ′( x * ) = ⋅ .
f ( xˆ ) 2
Оценим полученное выражение для производной ϕ ′( x * ) :
2
f ′′(ξ ) xˆ − x xˆ − x * M 2
*

ϕ ′( x ) =
*
⋅ ≤ ⋅ xˆ − x * ,
f ( xˆ ) 2 f ( xˆ ) 2

где M 2 = max f ′′( x) .


a≤ x≤b

Откуда, учитывая полученную ранее оценку (6.1)


f ( xˆ )
xˆ − x * ≤ ,
m1
имеем
M2
ϕ ′( x * ) ≤ xˆ − x * .
2m1
Таким образом, для сходимости итерационной последовательности
(6.4) достаточно потребовать выполнения условия
M2 2m1
xˆ − x * < 1 или xˆ − x * < .
2m1 M2
Очевидно, при значении x̂ достаточно близком к точке x * последнее
неравенство всегда выполняется и, значит, в некоторой окрестности U δ ( x* )
точки x * выполнено условие | ϕ ′( x) | ≤ q <1 и, следовательно, отображение φ
является сжимающим.
Остается показать, что ϕ : U δ ( x* ) → U δ ( x* ) . Действительно, для любого x
из этой окрестности справедливо

| ϕ ( x) − x* | = | ϕ ( x* ) + ϕ ′(ζ )( x − x* ) − x* | ≤

≤ | ϕ ( x* ) − x* | + | ϕ ′(ζ )( x − x* ) | ≤ q | x − x* | < δ,

57
где точка ζ лежит в окрестности U δ ( x* ) . Последнее неравенство означает,
что ϕ : U δ ( x* ) → U δ ( x* ) .
Таким образом, в силу принципа сжимающих отображений, метод хорд
сходится, когда начальное приближение достаточно близко к решению.

6.3. Метод Ньютона (метод касательных)

Пусть дано уравнение f ( x) = 0 , a ≤ x ≤ b , где f (x) − дважды непрерывно


дифференцируемая функция.
Если выполняется условие f (a ) ⋅ f (b) < 0 , то на данном интервале
содержится корень уравнения. Предположим, что корень отделен, т.е. на
данном интервале он только один. Не ограничивая общности, можно считать,
что f(a) < 0, f(b)>0 .

Рассмотрим рис. 6.5.

Рис. 6.5

Пусть
f ( x) = 0 , a≤ x≤b.

Запишем уравнения касательной в точке (a, f (a)) :


y − f ( a ) = f ′( a )( x − a ) .
Найдем точку ее пересечения с осью Ox. Получаем
f (a)
x1 = a − .
f ′(a)
Построив касательную в точке ( x1 , f ( x1 )) , находим точку ее пересечения с
осью Ox:
f ( x1 )
x 2 = x1 − .
f ′( x1 )
Продолжая процесс, получим
f ( x n −1 )
x n = x n −1 − , x 0 = a, n = 1,2,... .
f ′( x n −1 )
Для рис. 6.5 характерно условие: f ( a ) f ′′( a ) > 0 , так как вторая
производная и сама функция отрицательны.

58
Рассмотрим ситуацию с f (b) f ′′(b) > 0 (рис. 6.6).

Рис. 6.6

Здесь x0 = b и f (b) f ′′(b) > 0 .


Построив касательную в точке (b, f (b)) , находим точку ее пересечения с
осью Ox:
f (b) f ( x0 )
x1 = b − , т. е. x1 = x0 − .
f ′(b) f ′( x0 )
Продолжая процесс, получаем ту же рекуррентную формулу
f ( x n −1 )
x n = x n −1 − , n = 1,2,... ,
f ′( x n −1 )
но с начальным условием x0 = b .
Таким образом, рекуррентная последовательность Ньютона задается
единой формулой
f ( x n −1 )
x n = x n −1 − , n = 1,2,... ,
f ′( x n −1 )
где x0 = a (при f (a ) f ′′(a) > 0 ) или x0 = b (при f (b) f ′′(b) > 0 ).
Исследуем сходимость метода Ньютона:
f ( x k −1 )
x k = x k −1 − k = 1,2,... ,
f ′( x k −1 )
x0 = a или b.
Причем x0 = a при f (a ) f ′′(a ) > 0 и x0 = b при f (b) f ′′(b) > 0 .
Очевидно,
f ′′(ξ )( x * − x k ) 2
f ( x * ) = f ( x k ) + f ′( x k )( x * − x k ) + ,
2
где ξ − некоторая точка между точками а и b.
Получаем
f ′′(ξ )( x * − x k ) 2
0 = f ( x k ) + f ′( x k )( x * − x k ) + ,
2
откуда
− f ( xk ) f ′′(ξ )
= x * − xk + ( x * − xk ) 2 ,
f ′( x k ) 2 f ′( x k )
f ( xk ) f ′′(ξ )
xk − = x* + ( x * − xk ) 2 ,
f ′( x k ) 2 f ′( x k )
или окончательно
59
f ′′(ξ ) *
xk +1 − x* = ( x − xk ) 2 .
2 f ′( xk )
Отсюда
f ′′(ξ ) * 2 M2 * 2
x * − x k +1 ≤ x − xk ≤ x − xk ,
2 f ′( x k ) 2m1
где
f ( x k ) + J ( x k )( x k )( x − x k ) = 0 M 2 = max f ′′( x) , m1 = min f ′( x) .
a ≤ x ≤b a ≤ x ≤b

Таким образом, получаем следующую оценку скорости сходимости:


M2 * 2
x * − x k +1 ≤ x − xk .
2m1

Из полученной оценки можно получить


M2 * 2
x * − x1 ≤ x − x0 ≤ q x * − x0 ,
2m1
M2 *
где x − x0 = q , и далее
2m1

M2 * 2 M 2
x* − x2 ≤ x − x1 ≤ 2 ⋅ q 2 ⋅ x* − x0 ≤ q 3 x* − x0 ,
2m1 2m1

M2 * 2 M 2
x* − x3 ≤ x − x2 ≤ 2 ⋅ q 6 ⋅ x* − x0 ≤ q 7 x* − x0 , … .
2m1 2m1
Т.е. итерационная последовательность будет заведомо сходиться, если
M2 *
x − x0 < 1 , т. е. если x 0 выбрано достаточно близко к x * .
2m1

Кроме того, полученная оценка скорости сходимости свидетельствует об


очень быстром характере сходимости. Такая скорость сходимости называется
квадратичной. Таким образом, метод Ньютона сходится с квадратичной
скоростью.
К некоторым недостаткам метода относится необходимость выбора
хорошего начального приближения.
Пример. Вычислить 13 с точностью ε = 0,00001 .
Строим функцию f ( x) = x 2 − 13 и решаем методом Ньютона уравнение
f ( x ) = 0 на отрезке [3, 4]. Очевидно f ( 4) f ′′(4) > 0 , следовательно x0 = 4 .
Вычисляем
f (4) 3 5
x1 = 4 − = 4− =3 , и т.д.
f ′(4) 8 8
Можно проверить, что уже x3 дает приближение с необходимой
точностью.

60
6.4. Комбинированный метод хорд и касательных

Пусть для определенности f (b) f ′′(b) > 0 ( рис. 6.7).

Рис. 6.7.

Тогда, применяя метод хорд при x1 = a , получим


f ( x1 )
x3 = x1 − (b − x1 ).
f (b) − f ( x1 )
Применяя метод Ньютона при x2 = b , получим
f ( x2 )
x4 = x2 − .
f ′( x 2 )
При этом x * ∈ ( x3 , x 4 ) .
Продолжая процесс далее, получаем
⎧ f ( x3 )
⎪ x 5 = x3 − f ( x ) − f ( x ) ( x 4 − x3 )
⎪ 4 3

⎪ x = x − f ( x4 ) ,
⎪⎩ 6 4
f ′( x 4 )
причем x * ∈ ( x5 , x6 ) .
Отсюда
f ( x 2 n −1 )
x 2 n +1 = x 2 n −1 − ( x 2 n − x 2 n −1 ) , n = 1,... .
f ( x 2 n ) − f ( x 2 n −1 )
f ( x2n )
x2n+2 = x2n − ( x 2 n − x 2 n −1 ) , n = 1,... ,
f ′( x 2 n )

причем всегда x * ∈ ( x 2 n +1 , x 2 n + 2 ) .

Пусть теперь f (a ) f ′′(a ) > 0 (рис. 6.8).

61
Рис. 6.8.

Применяем метод Ньютона при x1 = a и метод хорд при x2 = b , и


получаем
⎧ f ( x2 n −1 )
⎪ x2 n +1 = x2 n −1 − f ′( x ) , n = 1, 2...
⎪ 2 n −1

⎪x f ( x2 n )
2 n + 2 = x2 n − (a − x2 n ), n = 1, 2...,
⎪⎩ f (a ) − f ( x2 n )

причем x * ∈ ( x 2 n +1 , x 2 n + 2 ).
Таким образом, комбинированный метод хорд и касательных удобен тем,
что корень уравнения всегда находится в интервале между двумя
последовательными приближениями.

6.5. Решение систем нелинейных уравнений

Пусть есть система n уравнений с n неизвестными:


⎧ f1 ( x1 ,..., x n ) = 0

⎨......................... (6.5)
⎪ f ( x ,..., x ) = 0 .
⎩ n 1 n

Запишем ее в векторном виде:


f (x ) = 0 , (6.6)
где
⎛ f1 ⎞ ⎛ x1 ⎞
⎜ ⎟ ⎜ ⎟
f =⎜ M ⎟ , x = ⎜ M ⎟.
⎜f ⎟ ⎜x ⎟
⎝ n⎠ ⎝ n⎠

Метод простых итераций

Система (6.4) преобразуется к виду:

x = ϕ (x ) ,. (6.7)
⎛ ϕ1 ⎞
⎜ ⎟
где ϕ = ⎜ M ⎟ .
⎜ϕ ⎟
⎝ n⎠
62
Пусть есть начальное приближение x 0 , U δ ( x 0 ) – δ-окрестность
начального приближения и пусть ϕ - сжимающее отображение на U δ ( x 0 ) , т. е.
ϕ ( x ′) − ϕ ( x 2 ) ≤ q x 1 − x 2 , где 0 ≤ q<1,
∀x 1 , x 2 ∈ U δ ( x 0 ).
Последнее условие заведомо выполняется, если
∂ϕ
( x) ≤ q < 1, ∀x ∈ U δ ( x 0 ),
∂x
где
⎛ ∂ϕ1 ∂ϕ1 ⎞
⎜ ∂x ...
∂xn ⎟
∂ϕ ⎜ ⎟
1

= ⎜ ... ... ... ⎟


∂x ⎜ ⎟
⎜ ∂ϕ n ...
∂ϕ n ⎟
⎜ ∂x ∂xn ⎟⎠
⎝ 1
- матрица частных производных , называемая также матрицей Якоби
функции φ(х).
Теорема1. Пусть φ – непрерывно дифференцируемая векторная
функция, для которой выполняются следующие условия:
1) ϕ ( x 0 ) − x 0 ≤ δ (1 − q) ;
∂ϕ
2) ( x ) ≤ q, (q < 1), ∀x ∈ U δ ( x 0 ) .
∂x
Тогда система (6.7) имеет решение x* ∈ U δ ( x 0 ) , причем единственное, и
итерационная последовательность x k = ϕ ( x k −1 ), k = 1,2,... , с начальным

приближением x 0 сходится к решению x * системы (6.7) . При этом


справедлива следующая оценка скорости сходимости:
qn
x k − x* ≤ x1 − x 0 .
1− q
Доказательство. Из условия (6.7) вытекает сжимаемость этого
отображения. Проверим, что
ϕ : Uδ (x0 ) → Uδ (x0 ) .
Разложив ϕ (x ) по формуле Тейлора, получаем для ∀x ∈ U δ ( x 0 )
∂ϕ
ϕ ( x) = ϕ ( x 0 ) + (ξ )( x − x 0 ) ,
∂x
где ξ ∈ U δ ( x 0 ) . Тогда
∂ϕ
ϕ ( x) − x 0 = ϕ ( x 0 ) + (ξ )( x − x 0 ) − x 0 ≤
∂x
∂ϕ
≤ ϕ ( x0 ) − x0 + (ξ ) ⋅ x − x 0 < δ (1 − q ) + qδ = δ ,
∂x
т. е. ϕ ( x) ∈ U δ ( x 0 ) .
Следовательно, мы можем применить принцип сжимающих
отображений, в силу которого получаем результат теоремы. При этом из
принципа сжимающих отображений следует, что
63
αk
ρ ( x* , x k ) ≤ ρ ( x 0 , x1 ) ,
1−α
что равносильно оценке скорости сходимости
qn
x k − x* ≤ x′ − x 0
1− q
в нашем случае.

Метод Ньютона

Рассмотрим снова систему (6.6):


f (x ) = 0 .
Пусть x 0 – начальное приближение. Предположим, что в окрестности
U δ ( x 0 ) начального приближения матрица Якоби

⎛ ∂f1 ∂f1 ⎞
⎜ ∂x ...
∂xn ⎟
∂f ⎜ ⎟
1

J ( x) = = ⎜ ... ... ... ⎟


∂x ⎜ ⎟
⎜ ∂f n ...
∂f n ⎟
⎜ ∂x ∂xn ⎟⎠
⎝ 1

не вырождена, т. е. det J ( x) ≠ 0 .
Заменим систему (6.6) линеаризованной системой:
f ( x 0 ) + J ( x 0 )( x − x 0 ) = 0 .
Решая данную систему относительно х, получим:

x − x 0 = − J −1 ( x 0 ) f ( x 0 ) ,

откуда
x1 = x 0 − J −1 ( x 0 ) f ( x 0 ) .
Заменим (6.6) на систему вида:
f ( x1 ) + J ( x1 )( x1 )( x − x1 ) = 0 .
Отсюда:
x 2 = x 1 − J −1 ( x 1 ) f ( x 1 ) ,
и продолжая процесс, получим
x k = x k −1 − J −1 ( x k −1 ) f ( x k −1 ), k = 1,2,... .
Полученная рекуррентная последовательность называется
последовательностью Ньютона. При n = 1, из нее получается обычный
метод Ньютона.
Так же как и в случае n=1, можно показать, что рекуррентная
последовательность Ньютона сходится, если начальное приближение
выбрано достаточно близко к решению x * .

64
Часто метод Ньютона используется не с рекуррентной формулой
Ньютона, а на каждой итерации решают систему линейных уравнений
f ( x k ) + J ( x k )( x k )( x − x k ) = 0 .
Оценим сходимость метода. Очевидно,
∂f ( x k ) * 2
f (x ) = f (x ) +
* k
(x − x k ) + O ( x* − x k ) ,
∂x
m m
где O ( x k ) означает, что O( x k m ) ≤ M x k , M = const > 0.
Поскольку f ( x * ) =0, получим:
2
− J −1 ( x k ) f ( x k ) = x * − x k + J −1 ( x k )O ( x * − x k ) , т. е.
2 2
x k +1 − x k = J −1 ( x k ) ⋅ O( x * − x k ) ≤ M x * − x k .

Таким образом, метод Ньютона имеет квадратичную сходимость.


Недостатки метода Ньютона: начальное приближение должно быть
близким к решению, а матрица Якоби должна быть невырожденной.
Достоинство: быстрая сходимость.
Отметим, что выбор начального приближения является слабым местом
итерационных методов.

65
7. АППРОКСИМАЦИЯ И ИНТЕРПОЛЯЦИЯ ФУНКЦИЙ

Из математического анализа известно, что в окрестности точки x0 любую


n раз непрерывно дифференцируемую функцию можно аппроксимировать
(приблизить) ее многочленом Тейлора:
n f (k )
( x0 )( x − x 0 ) k
Pn ( x) = ∑ ,
k =0 k!
причем

f ( x0 ) = Pn ( x0 ),
f ′( x0 ) = Pn′ ( x0 ),
.........................
f ( n ) ( x 0 ) = Pn( n ) ( x 0 ).

Очевидно, такая аппроксимация во многих отношениях является очень


хорошей, но она имеет локальный характер, т.е. хорошо аппроксимирует
функцию только вблизи точки x0 . Это главный недостаток аппроксимации
с помощью многочлена Тейлора.
Если речь идет об аппроксимации функции на отрезке, применяются
другие методы.
Пусть f ( x) ∈ C [a, b] – непрерывная функция. Рассмотрим задачу
аппроксимации (приближения) ее более простой функцией (обычно
многочленом).
Известно из математического анализа, что в силу теоремы
Вейерштрасса, любую функцию можно с какой угодно точностью
приблизить многочленом по норме f ( x) = max f ( x) пространства С[a, b], т.
a≤ x≤b

е. в смысле равномерной сходимости. Но существуют и другие нормы:


b a
f ( x) = ∫ f ( x) dx или ∫
2
f ( x) = f ( x) dx .
a b

Тогда f ( x) − P( x) < ε означает, что площадь или усредненная площади


фигуры, заключенной между графиками функции f(x) и многочлена P(x),
должна быть меньше ε (заданной точности).
Возможен и другой подход, когда в качестве аппроксимирующей функции
берут многочлен или другую достаточно простую функцию, значения
которых совпадают со значениями исходной функции в заданных заранее
точках, так называемых узлах. Такого рода приближение функций имеет
свое собственное название - интерполяция.

7.1. Интерполяционный многочлен

Пусть f(x) – функция, непрерывная на отрезке [a,b].


Выберем на этом отрезке точки, называемые узлами интерполяции:

66
a ≤ x0 < x1 < ... < x n ≤ b .
Предположим, что известны значения функции в узлах интерполяции:
f ( x k ) = y k , k = 0,1,..., n .
Ставится задача найти многочлен Pn(x) такой, что
Pn (xk ) = yk , ∀k = 0,1,...,n . (7.1)
Такой многочлен Pn(x) называется интерполяционным многочленом, а
задача его нахождения – задачей интерполяции.
Покажем, что задача интерполяции имеет решение, причем
единственное.
n
Пусть Pn ( x ) = ∑ a k x n −k .
k =0

Тогда для определения коэффициентов многочлена из условия (7.1)


получаем систему:
⎧a 0 x0n + a1 x0n −1 + ... + a n = y 0
⎪ n n −1
⎪a 0 x1 + a1 x1 + ... + a n = y1

⎪...........................................
⎪a x n + a x n −1 + ... + a = y .
⎩ 0 n 1 n n n

Ее определитель Δ с точностью до знака совпадает с так называемым


определителем Вандермонда.
1 1 ... 1
x0 x1 ... x n
W ( x0 ,..., x n ) = x02 x12 ... x n2 = Π ( x j − xi ) ≠ 0 .
i< j
... ... ... ...
x0n x1n ... x nn
Поскольку все xi различны, определитель Δ отличен от нуля, и,
следовательно, система имеет единственное решение. Отсюда вытекает
существование и единственность интерполяционного многочлена.
Погрешность интерполяции.
Обозначим
Rn ( x ) = f ( x ) − Pn ( x ) и будем искать ее оценку.
Пусть f ( x) ∈ C n+1 [a, b] . Положим Rn ( x ) = ω ( x ) r( x ) ,
где ω ( x ) = ( x − x0 )( x − x1 ) ⋅ ... ⋅ ( x − xn ) .
Зафиксируем произвольную точку х, отличную от узлов интерполяции
xi , i = 0, n , и построим вспомогательную функцию:

F (t ) = Pn (t ) + ω (t ) r ( x ) − f (t ), a≤t≤b . (7.2)
Очевидно, F ( x ) = 0 и, кроме того F ( x k ) = 0, k = 0, n .
Таким образом, функция F(t) имеет по крайней мере (n+2) нуля на отрезке
[a,b]. Применим теорему Ролля, по которой между каждой парой нулей
функции находится по крайней мере один нуль производной этой функции.

67
Тогда производная F ′(t ) имеет по крайней мере (n+1) нулей на данном
интервале (a,b). Продолжая рассуждение, получим в итоге, что F ( n )(t ) имеет,
по крайней мере, два нуля, а F ( n+1)(t ) − один нуль в некоторой точке ξ на
(a,b).
Продифференцируем равенство (7.2) (n+1) раз и подставим t = ξ.
Получим

F ( n +1) (ξ ) = (n + 1)! ⋅ r ( x) − f ( n +1) (ξ ) = 0.


f ( n +1) (ξ )
Откуда r( x ) = .
(n + 1)!
Тогда
f ( n +1) (ξ )
Rn ( x ) = ω ( x) ,
( n + 1)!

где ξ ∈ [a, b] (очевидно формула напоминает остаток формулы Тейлора в


форме Лагранжа). В итоге имеем оценку погрешности интерполяции:

M n +1
Rn ( x ) ≤ ω ( x) , где M n +1 = max f ( n +1)
( x) .
( n + 1)! a≤ x≤b

Интерполяционный многочлен Лагранжа

Пусть даны узлы на отрезке [a,b], a ≤ x0 < x1 < ... < xn ≤ b , и


значения функции F(x) в узлах
f ( x i ) = yi , i = 0, n .

Пусть ω ( x ) = ( x − x0 )( x − x1 ) ⋅ ... ⋅ ( x − xn ) ,
ω j ( x ) = ( x − x0 ) ⋅ ... ⋅ ( x − x j −1 )( x − x j +1 ) ⋅ ... ⋅ ( x − x n ) ,
ω ( x)
т. е. ω j ( x ) = .
x − xj
ω ( x)
Положим l j ( x) = j ,
ω j (x j )
( x − x0 ) ⋅ ... ⋅ ( x − x j −1 )( x − x j +1 ) ⋅ ... ⋅ ( x − x n )
т. е. l j ( x) = .
( x j − x0 ) ⋅ ... ⋅ ( x j − x j −1 )( x j − x j +1 ) ⋅ ... ⋅ ( x j − xn )

⎧0, при i ≠ j
Очевидно l j ( xi ) = ⎪⎨
⎪⎩1, при i = j .
n
Построим многочлен Ln ( x ) = ∑ l j ( x ) y j .
j =0

68
Легко видеть, что Ln ( x i ) = l i ( x i ) y i = 1 ⋅ y i = y i , i = 0, n , т.е. это
интерполяционный многочлен. Его называют интерполяционным
многочленом Лагранжа.
Пример. Рассмотрим задачу интерполяции для функции
π
f ( x) = sin x , на [0,1] .
2
Выберем в качестве узлов точки x0 = 0 , x1 = 1 / 3 , x2 = 1 . Тогда значения
функции: y0 = 0 , y1 = 1 / 2 , y 2 = 1 .
Получим
1
x ⋅ ( x − 1) ⋅
( x − 1 / 3) ⋅ ( x − 1) 2 + ( x − 1 / 3) ⋅ x = −3 / 4 ⋅ x 2 + 7 / 4 ⋅ x .
L2 ( x ) = +
(−1 / 3) ⋅ (−1) 1 / 3 ⋅ (−2 / 3) 2 / 3 ⋅1
Оценим погрешность. Поскольку можно показать, что ω ( x) ≤ 0,079 , то
π3 π3
R2 ( x ) ≤ max ϖ ( x) ≤ ⋅ 0,079 .
3!⋅ 8 0≤ x ≤1 3!⋅ 8

Линейная интерполяция

Пусть n=1, т. е. даны два узла x0, x1 справа и слева от точки x:


x0 ≤ x ≤ x1 .
Построим интерполяционный многочлен первой степени по этим узлам.
Значения функции f(x) в этих узлах y0, y1.
Получаем:
x − x1 x − x0 y − y0
L1 ( x) = ⋅ y0 + ⋅ y1 = y 0 + 1 ⋅ ( x − x0 ) .
x0 − x1 x1 − x0 x1 − x0

Рис. 7.1.

т. е. графически интерполяционный многочлен представляет собой хорду,


соединяющую точки (x0, y0) и (x1, y1) (рис. 7.1).
Оценим погрешность линейной интерполяции.
Пусть h = x1 − x0 .
h2
Тогда max ω ( x ) = max ( x − x0 ) ⋅ ( x − x1 ) = ,
x0 ≤ x ≤ x1 4
x0 + x1
так как функция ω (x) достигает максимума на [ x0 , x1 ] в точке xm = .
2
(рис. 7.2).
69
ω (x )

xm
Рис.7.2.

Обозначим M 2 = max f ′′( x ) ,


x0 ≤ x ≤ x1

M n +1 h2
тогда Rn ( x ) ≤ max ω ( x) ≤ M 2 ,
(n + 1)! 8
M2 2
т. е. R1 ( x ) ≤ h в случае линейной интерполяции.
8
Пример. Рассмотрим функцию
f ( x ) = lg x на отрезке [0, 1] .
Пусть h = 10 −3 − расстояние между узлами. Оценим погрешность линейной
интерполяции. Получим
1
M 2 = max − lg e = lg e = 0,4243,
x2
следовательно,
М 2 2 0,4243
R1 ( x) ≤ h = ⋅ 10 −6 ≈ 6 ⋅ 10 −8.
8 8

Интерполяционный многочлен Ньютона

Пусть x0 , x1 ,..., xn − набор узлов интерполирования,


y 0 , y1 ,..., y n − значения функции f (x ) в узлах.
Величину Δy k = y k +1 − y k называют конечной разностью первого порядка в
к-м узле.
Аналогично определяются конечные разности высших порядков.
Δ2 y k = Δy k +1 − Δy k = y k + 2 − y k +1 − ( y k +1 − y k ) = y k + 2 − 2 y k +1 + y k
.....................................................................................................
n n
Δ i yk = Δ i −1 yk +1 − Δ i −1 yk = ∑ (−1) n −i Cni yk + i Δ i yk = Δ i −1 yk +1 − Δ i −1 yk = ∑ (−1) n −i Cni yk + i .
i =0 i =0

Конечные разности обычно считают по схеме:


xi yi Δ yi Δ2 yi Δ3 yi
x0 y0 Δ y 0 = y1 − y 0
x1 y1 Δ2 y 0 = Δ y1 − Δ y 0
Δ y1 = y 2 − y1 Δ3 y 0 = Δ2 y1 − Δ2 y 0
x2 y2 Δ2 y1 = Δ y 2 − Δ y1
Δ y 2 = y3 − y 2
x3 y3

Разделенной разностью первого порядка называется выражение

70
y k +1 − y k Δy k
f1 ( x k , x k +1 ) = = .
x k +1 − x k Δx k
Разделенной разностью второго порядка называется выражение
f1 ( x k +1 , x k + 2 ) − f1 ( x k , x k +1 )
f 2 ( x k , x k +1 , x k + 2 ) = и т. д.
xk + 2 − xk
Пусть х – любая точка отрезка, не совпадающая с узлами. Тогда
y 0 − f ( x)
f 1 ( x, x 0 ) = ,
x0 − x
откуда f ( x ) = y0 + f1 ( x, x0 )( x − x0 ) . (7.3)
f1 ( x 0 , x1 ) − f1 ( x, x0 )
Далее f 2 ( x, x0 , x1 ) = ,
x1 − x
откуда f1 ( x, x0 ) = f1 ( x 0 , x1 ) + f 2 ( x, x0 , x 1 )( x − x1 ) .
Подставляя в (7.3), получаем
f ( x ) = y 0 + f 1 ( x 0 , x1 )( x − x0 ) + f 2 ( x, x0 , x 1 )( x − x0 )( x − x1 ) . (7.4)
f 2 ( x 0 , x1 , x 2 ) − f 2 ( x, x0 , x1 )
Далее f 3 ( x, x0 , x1 , x2 ) = ,
x2 −x
откуда f 2 ( x, x0 , x 1 ) = f 2 ( x 0 , x1 , x 2 ) + f 3 ( x, x0 , x 1 , x 2 )( x − x 2 ) .
Подставляя в (4), имеем:
f ( x) = y 0 + f 1 ( x 0 , x1 )( x − x0 ) + f 2 ( x, x0 , x 2 )( x − x0 )( x − x1 ) +
(7.5)
+ f 3 ( x, x0 , x1 , x 2 )( x − x0 )( x − x1 )( x − x 2 ) .
Продолжая процесс, получим:

f ( x ) = N n ( x ) + f n +1 ( x, x 0 ,..., xn )( x − x0 )...( x − xn ) ,

где N n ( x ) = y 0 + f1 ( x 0 , x1 )( x − x0 ) + ... + f n ( x0 ,..., x n )( x − x0 )...( x − xn −1 ) .


Очевидно, при x = x i , ∀i = 0, n, f ( xi ) = N n ( xi ), i = 0, n ,

т. е. N n (x ) − интерполяционный многочлен. Его называют


интерполяционным многочленом Ньютона.
Достоинство интерполяционного многочлена Ньютона: он удобен при
расширении интерполяции и добавлении узлов.
Недостаток: в какой-то степени он сложнее в подсчете конечных
разностей по сравнению с многочленом Лагранжа.

Интерполяционный многочлен Ньютона - Грегори

Рассмотрим случай задачи интерполяции с равноотстоящими узлами,


т. е. пусть
h = xi +1 − xi , для всех i = 0, n .
Будем искать интерполяционный многочлен Ньютона в форме
N ( x) = a0 + a1 ( x − x0 ) + a 2 ( x − x0 )( x − x1 ) + ... + a n ( x − x0 ) ⋅ ... ⋅ ( x − x n −1 ) ,

71
где коэффициенты многочлена не определены.
Используем условие
N ( xi ) = y i , i = 0, n .
Получим:
N ( x0 ) = y 0 = a 0
N ( x1 ) = y1 = a0 + a1 h
N ( x 2 ) = y 2 = a0 + 2ha1 + 2h 2 a 2
.................................... .
Откуда a0 = y 0 ,
y1 − y 0 Δy 0
a1 = = ,
h h
y − y0
y 2 = y 0 + 2h 1 + 2h 2 a 2 ,
h
y − y 0 − 2( y1 − y 0 ) y 2 − 2 y1 + y 0 Δ2 y 0
a2 = 2 = = .
2h 2 2h 2 2h 2
Продолжая, можем по индукции получить формулу
Δ k y0
ak = , k = 1,..., n .
k ! hk
В итоге получаем интерполяционный многочлен Ньютона - Грегори:

Δy 0 Δ2 y 0 Δn y0
N ( x ) = y0 + ( x − x0 ) + ( x − x 0 )( x − x1 ) + ... + ( x − x0 )( x − x1 )...( x − xn −1 ) .
h 2! h 2 n! h n

Пример. Пусть требуется найти интерполяционный многочлен


для функции f (x) , имеющей в узлах x0 = 0 , x1 = 1, x2 = 2 , x3 = 3 , x4 = 4
значения y0 = 5 , y1 = 3 , y 2 = 2 , y3 = 4 , y 4 = 6 . Вычислим конечные разности:

xi y i Δy i Δ2 y i Δ3 y i Δ4 y i
0 5
-2
1 3 1
-1 2
2 2 3 -5
2 -3
3 4 0
2
4 6
Подставляя их значения в формулу для интерполяционного многочлена
Ньютона - Грегори, в итоге получаем
1 5
N ( x) = 5 − 2 x + 0,5 x( x − 1) + x( x − 1)( x − 2) − x( x − 1)( x − 2)( x − 3).
3 24

72
7.2. Аппроксимация по средне квадратичному отклонению

Пусть есть пространство непрерывных функций C[a,b] .


Введем в нем скалярное произведение и новую норму

b
( f , g ) = ∫ f ( x ) g ( x )dx ,
a
b
f = ∫f ( x)dx .
2

Система функций
f 1 ,..., f n (7.6)
называется линейно-независимой, если равенство α1 f1 ( x ) + ... + α n f n ( x ) = 0
возможно, тогда и только тогда, когда α1 = ... = α n = 0 . В противном случае
система функций называется линейно зависимой.
Известно, что система попарно-ортогональных ненулевых функций
всегда линейно независима. Чтобы найти критерий линейной независимости
в общем случае, построим определитель, состоящий из скалярных
произведений функций:

(f 1, f1 ) (f 1, f 2 ) ... (f 1, fn )
(f 2, f ) (f
1 2, f 2 ) ... (f 2, fn )
Γ( f1, ... , f n ) = .
... ... ... ...
(f n, f1 ) ( f n, f 2 ) ... ( f n, f n )
Определитель Γ( f1, ... , f n ) называется определителем Грамма.
Теорема 1: (Критерий линейной независимости). Для того чтобы
система функций (7.6) была линейно независима, необходимо и достаточно,
чтобы Г ( f1 ,..., f n ) ≠ 0 .
Доказательство: Докажем утверждение равносильное теореме, т. е.
докажем, что система (7.6) линейно зависима тогда и только тогда, когда
Γ( f 1, ... , f n ) =0.
1) Необходимость. Пусть система линейно зависима, т. е. существуют
α 1 , ... , α n такие, что
α 1 f1 ( x) + ... + α n f n ( x) = 0 , и α12 + ... + α n2 > 0 .
Будем последовательно умножать это тождество на f1 , f 2 ,..., f n . Получим
систему
⎧α 1 ( f 1, f1 ) + ... + α n ( f 1, f n ) = 0

⎪α 1 ( f 2, f1 ) + ... + α n ( f 2, f n ) = 0
⎨ (7.7)
⎪................................................
⎪α 1 ( f n , f1 ) + ... + α n ( f n , f n ) = 0 .

73
Это однородная система линейных уравнений относительно неизвестных
коэффициентов a1 , a 2 ,..., a n и ее определитель Δ = Г ( f1 ,..., f n ) .
Поскольку система (7.7) имеет ненулевые решения, то Δ = 0 , т. е.
Γ( f 1 ,..., f n ) = 0 .
2) Достаточность. Пусть Γ( f1 ,..., f n ) = 0 . Из этого следует, что система
(7.7) имеет ненулевые решения α 1 ,..., α n . Подставим эти решения в систему
(7.7) и получим систему тождеств. Перепишем систему в виде
( f1 ,α 1 f1 + ... + α n f n ) = 0 α1
( f 2 ,α 1 f1 + ... + α n f n ) = 0 α2
...................................... ...
( f n ,α 1 f1 + ... + α n f n ) = 0 αn .
и умножим равенства последовательно на αi, , а затем просуммируем:
n n
(∑ α i f i , ∑ α j f j ) = 0 .
i =1 j =1

Последнее означает, что ( g ( x), g ( x)) = 0,


где g ( x) = α 1 f1 + ... + α n f n .
Но тогда, поскольку функция g(x) непрерывна,
n
g ( x) = ∑ α i f i ( x) = 0
i =0

при α + ... + α n2 > 0 , т. е. система функций (7.6) линейно зависима.


2
1

Теорема доказана.

Рассмотрим функцию f(x) на отрезке [a,b]. Пусть


f1 ( x), f 2 ( x),..., f n ( x) − линейно независимые непрерывные функции.
Построим их линейную комбинацию Tn ( x) = α 1 f1 ( x) + ... + α n f n ( x) , называемую
обобщенным многочленом по системе функций f1 , f 2 ,..., f n .
Ставится задача: найти такие коэффициенты α 1 ,..., α n обобщенного
многочлена, чтобы выполнялось условие:
f ( x) − Tn ( x) = min f ( x) − Tn ( x) ,
где минимум берется по всевозможным значениям α1 ,...,α n и
a
f ( x) − Tn ( x) = ∫ [ f ( x) − T ( x)] dx .
2
n
b

Такой обобщенный многочлен называется многочленом наилучшего средне


квадратичного отклонения.
Теорема 2. Решение задачи аппроксимации функции по средне
квадратичному отклонению существует и единственно.
Доказательство. Рассмотрим функцию от α 1 ,..., α n .
2
Q (α1 ,..., α n ) = f ( x) − Tn ( x) =
n n
= ( f − Tn ( x), f − Tn ( x)) = ( f − ∑ α i fi , f − ∑ α j f j ) =
i =1 j =1

74
n n n
= ( f , f ) − 2∑ α i ( f , f i ) + ∑ ∑α α i j ( fi , f j ).
i =0 i =1 j =1

Очевидно, Q (α1 ,...,α n ) принимает наименьшее значение тогда и только


тогда, когда Tn (x) − наилучшее приближение в средне квадратичном для
функции f(x). Но для того чтобы Q достигло минимума по α 1 ,..., α n ,
необходимо, чтобы
∂Q n
= −2( f , f1 ) + 2∑ α i ( f i , f1 ) = 0,
∂α 1 i =1

∂Q n
= −2( f , f 2 ) + 2∑ αi ( fi , f 2 ) = 0,
∂α 2 i =1

........................................................
∂Q n
= −2( f , f n ) + 2∑α i ( f i , f n ) = 0 .
∂α n i =1

Перепишем систему в виде следующей системы, называемой


нормальной системой:

⎧α 1 ( f 1, f 1 ) + α 2 ( f 1, f 2 ) + ... + α n ( f1, f n ) = ( f , f1 )

⎪α 1 ( f 2, f 1 ) + α 2 ( f 2, f 2 )... + α n ( f 2, f n ) = ( f , f 2 )

⎪.........................................................................
⎪α 1 ( f n , f 1 ) + α 2 ( f n , f 2 )... + α n ( f n , f n ) = ( f , f n ).

Ее определитель Δ = Γ( f1 ,..., f n ) ≠ 0 , т. к. система функций ( f1 ,..., f n )


линейно независима. Но тогда нормальная система имеет единственное
решение α1 ,...,α n .
∂ 2Q
Убедимся, что > 0 , т. е. выполнены достаточные условия минимума.
∂α 2
Очевидно,

⎛ ( f1, f 1 ) (f f2 ) ... (f f n )⎞
⎜ 1, 1,

∂ 2Q ⎜ ( f 2, f1 ) (f 2, f 2 ) ... (f 2 , f n )⎟
= [ Γ ( f ,..., f )] = ⎜ ... − матрица Грамма.
∂α 2
1 n
... ... ... ⎟
⎜ ⎟
⎜ ( f n , f1 ) ( f n, f 2 ) ... ( f n, f n )⎟⎠

Матрица положительно определена, когда положительно определена
соответствующая ей квадратичная форма.
n n
Квадратичная форма ∑∑α α
i =1 j =1
i j ( f i , f j ) , построенная по данной матрице,

называется квадратичной формой Грамма.


Но
n n n n n 2

∑∑α α
i =1 j =1
i j ( f i , f j ) = (∑ α i f i , ∑ α j f j ) =
i =1 j =1
∑α
i =1
i fi ≥ 0,

75
причем, поскольку функции f1 ,..., f n линейно независимы, квадратичная
форма равна нулю только тогда, когда все α 1 ,..., α n нулевые.
Следовательно, решение нормальной системы доставляет минимум
функции Q( α 1 ,..., α n ).
Теорема доказана.
Следствие. Чтобы численно решить задачу построения
среднеквадратичного многочлена, надо составить и решить нормальную
систему, а ее решение взять в качестве коэффициентов обобщенного
многочлена.
Пример. Пусть f ( x) = x , x ∈[0, 1]. Построим многочлен наилучшего
средне квадратичного отклонения по системе линейно независимых
функций: 1, x. Обозначим его T2 ( x) = a + b ⋅ x.

Получаем:
⎛ (1,1) (1, x) ⎞ ⎛ 1 1 / 2 ⎞
[Γ(1, x)] = ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ ,
⎝ ( x,1) ( x, x) ⎠ ⎝1 / 2 1 / 3 ⎠
1 3
2 21 2
( x ,1) = ∫ x dx = x | = ,
0
3 0 3
1
2
( x , x) = ∫ x ⋅ xdx = .
0
5
Записываем нормальную систему:
⎧ 1 2
⎪⎪a + 2 b = 3

⎪1 a + 1 b = 2 ,
⎪⎩ 2 3 5

решая ее, находим:


4 4 4 4
a= , b= , T2 ( x) = + x.
15 5 15 5

7.3. Аппроксимация методом наименьших квадратов

Пусть дана функция f (x) на отрезке [a, b].


Разобьем отрезок с помощью узлов
a ≤ x0 < x1 < ... < x n ≤ b .
Пусть y0 , y1 ,..., y n − значение функции f(x) в узлах.
Если n − большое число, то интерполяционный Ln (x) − многочлен высокой
степени. Зачастую неудобно использовать многочлены очень высокой
степени. Очевидно, мы можем отказаться от использования части узлов и тем
самым понизить степень интерполяционного многочлена, но тогда теряется

76
часть информации. Поэтому вместо интерполяционного многочлена будем
искать многочлен Pm (x) меньшей степени (m<n), такой что сумма
n

∑ [ f ( x ) − P ( x )]
i =0
i m i
2

принимает наименьшее значение. Данный многочлен называется


многочленом наилучшего приближения по методу наименьших квадратов.
Положим
Pm ( x) = a 0 x m + ... + a m
и будем искать решение задачи
n
S (a 0 ,..., a m ) = ∑ [a 0 xim + ... + a m −1 xi + a m − y i ] 2 → min .
i =0

Приравнивая к нулю производные S , получим систему линейных


уравнений для определения коэффициентов ai :
∂S n
= 2∑ [a 0 xim + ... + a m − y i ] ⋅ xim = 0
∂a 0 i =0

∂S n
= 2∑ [a 0 xim + ... + a m − y i ] ⋅ xim −1 = 0
∂a1 i =0

...............................................................
∂S n
= 2∑ [a 0 xim + ... + a m − y i ] ⋅ xi = 0
∂a m −1 i =0

∂S n
= 2∑ [a 0 xim + ... + a m − y i ] ⋅ 1 = 0 .
∂a m i =0

Отсюда получается

⎧ n n n n

⎪ 0 ∑ i 1∑ i m∑ i ∑
2 m −1
a ( x 2m
) + a x + ... + a x m
= y i xim
⎪ i =0 i =0 i =0 i =0

⎪ n n n

⎪a 0 (∑ xi ) + ... + a m ∑ xi = ∑ y i xi
2 m −1 m −1 m −1

⎨ i =0 i =0 i =0
⎪..............................................................................

⎪ n n n

⎪ 0 ∑ i + + m∑ = ∑
n
a ( x ) ... a 1 yi
⎩ i =0 i =0 i =0

− нормальная система для определения коэффициентов a0 , a1 ,..., a n .


Когда m ≤ n , можно показать, что нормальная система имеет
единственное решение, которое действительно дает минимальное значение
для функции S. Получив решения нормальной системы a0 ,..., a n , строим
многочлен наилучшего приближения по методу наименьших квадратов.
В частном случае, когда m=n, многочлен Pn(x) переходит в
интерполяционный многочлен.
Для решения нормальной системы обычно используется следующая
таблица:
77
i xi x i2 ……… x i2 m yi yi xi ……… yi xim
0 х0 x 02 x 02 m y0 y0 x0 y0 x0m
1 x1 x12 x12 m y1 y1 x1 y1 x1m
. . . . . . .
. . . . . . .
. . . . . . .
n xn x n2 x n2 m yn yn xn yn x nm
n n n n n n

∑i =0
xi ∑
i =0
xi2 … ∑
i =0
xi2 m ∑
i =0
yi ∑
i =0
y i xi … ∑
i =0
y i xim

7.4. Интерполяция сплайнами

Рассмотрим задачу интерполяции функции f(x) на отрезке [a, b]. Пусть


мы имеем узлы a = x0 < x1 < ... < xn = b и значения функции y0 ,..., y n в данных
узлах. Отрезок разбивается узлами на n элементарных отрезков [ xi −1 , xi ] , где
hi = xi − xi −1 − длина элементарного отрезка, i = 1, n .
Сплайном называется функция S(x), которая на каждом элементарном
отрезке является многочленом и непрерывна на всем отрезке [a, b], вместе со
своими производными до некоторого порядка.
Степенью сплайна называется наивысший порядок степени многочлена.
Дефектом сплайна называется разность между его степенью и
наивысшим порядком непрерывной на [a, b] производной.
Пример. Рассмотрим функцию

⎧x 2 , 0 ≤ x <1

⎪− x 2 + 4 x − 2 , 1≤ x < 2


S ( x) = ⎨
2, 2≤ x<3

⎪ 3
⎪ x − x + 4, 3 ≤ x < 4.
⎪⎩ 27

Очевидно, функция S (x ) является кубическим сплайном на отрезке [0, 4],


так как она непрерывна в узловых точках.
Действительно,
S (1 − 0) = S (1 + 0) = 1, S ( 2 − 0) = S ( 2 + 0) = 2, S (3 − 0) = S (3 + 0) = 2.

78
Рис. 7.3.

Найдем дефект сплайна.


S ' (1 − 0) = S ' (1 + 0) = 2, S ' ( 2 − 0) = S ' ( 2 + 0) = 0, S ' (3 − 0) = S ' (3 + 0) = 0.
В то же время S " (2 − 0) = −2, S " (2 + 0) = 0.
Таким образом, наибольший порядок непрерывной производной
функции S на отрезке [0,4] равен 1 и, следовательно, дефект сплайна равен 2.
(См. рис. 7.3).
Отметим, что в общем случае сам сплайн многочленом не является.
Чтобы он был многочленом, необходимо и достаточно, чтобы его дефект
равнялся нулю.
Будем рассматривать кубические сплайны, у которых непрерывны
первая и вторая производные.
Тогда на отрезке [ xi −1 , xi ] сплайн S(x) имеет вид
S ( x ) = a i + bi ( x − xi −1 ) + ci ( x − xi −1 ) 2 + d i ( x − xi −1 ) 3
, i = 1, n .
Очевидно, S ( xi ) = yi , i = 0, n . Найдем S(x). Для этого требуется определить
значения 4n неизвестных коэффициентов. Очевидно, для этого необходимо
иметь 4n уравнений для определения коэффициентов.
Подставим левый конец отрезка (xi-1) в уравнение:
S ( xi −1 ) = y i −1 = ai , i = 1, n
S ( xi +1 ) = yi = ai + bi hi + ci h 2 + d i h 3 ,
i
i = 1, n .
i

В итоге получаем 2n уравнений:


⎧ yi −1 = ai i = 1, n


⎪ai + bi hi + ci hi + d i hi = y i i = 1, n .
2 3

Далее во всех внутренних узлах должны совпадать первая и вторая
производные S(x). Имеем
S ′( x ) = bi + 2ci ( x − xi −1 ) + 3d i ( x − xi −1 ) 2 ,
S ′′( x) = 2ci + 6d i ( x − xi −1 ) , i = 1, n − 1 .
Приравниваем во внутренних узлах значения левых и правых
производных. Получим:
⎧⎪bi + 2ci hi + 3d i hi2 = bi +1 i = 1, n ,

⎪⎩ci + 3d i hi = ci +1 ,
т. е. (2n-2) уравнений.

79
Недостающие два уравнения можно задать разными способами. Обычно
берут S ′′( x0 ) = S ′′( xn ) = 0 .
Отсюда
2c1 = 0 , 2c n + 6d n hn = 0 .
Для удобства положим еще cn+1 = 0 .
Объединяя все уравнения, получим систему

⎧ yi −1 = ai i = 1, n

⎪ ai + bi hi + ci hi2 + di hi3 = yi i = 1, n

⎪bi + 2ci hi + 3d i hi = bi +1 i = 1, n − 1
2

⎪⎪
⎨ci + 3d i hi = ci +1 i = 1, n − 1
⎪c 3d h 0
⎪ n+ n k =
⎪c1 = 0

⎪cn +1 = 0.
⎪⎩

Решая систему, получим


⎧bi hi + ci hi2 + di hi3 = yi − yi −1 i = 1, n

⎪2ci hi + 3di hi2 = bi +1 − bi i = 1, n − 1

⎨ ci +1 − ci
⎪ d =i
⎪ 3hi
⎪c = c = 0,
⎩ 1 n +1

далее
⎧ai = yi −1 i = 1, n

⎪ ⎛ (c − c ) h 2 ⎞
⎪bi hi + ci hi2 + ⎜ i +1 i i ⎟ = y i − yi −1 i = 1, n
⎪ ⎜ 3 ⎟
⎝ ⎠
⎪⎪
⎨2ci hi + (ci +1 − ci )hi = bi +1 − bi i = 1, n − 1

⎪ ci +1 − ci
⎪ d = i i = 1, n
3hi

⎪c1 = c n +1 = 0.
⎩⎪
Откуда
yi − y i −1 (c − c ) h
bi = − ci hi − i +1 i i i = 1, n
hi 3 , .

80
yi +1 − y i (c − ci +1 )hi +1 yi − y i −1 (c − c ) h
2ci hi + (ci +1 − ci )hi = − ci +1 hi +1 − i + 2 − + ci hi + i +1 i i .
hi +1 3 hi 3
Таким образом, задача определения коэффициентов сплайна свелась к
решению системы

h 2 2 h y − y i yi − y i −1
ci ( i ) + ci +1 ( hi + hi +1 ) + ci + 2 ( i +1 ) = i +1 − i = 1, n − 1
3 3 3 3 hi +1 hi ,
с1 = с n +1 = 0.
Система трехдиагональна. Будем решать ее методом прогонки.
Поскольку для матрицы системы выполнено условие доминирования
диагональных элементов
2 2 h h
hi + hi +1 > i + i +1
3 3 3 3 ,
то задача имеет решение, причем единственное, и это решение можно найти
методом прогонки.

81
8. ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ И
ИНТЕГРИРОВАНИЕ

8.1. Численное дифференцирование

Пусть требуется найти численные значения yk′ производной функции f(x)


в узлах x0 < x1 < ... < x n отрезка [a, b], в которых известны значения y 0 , y1 ,..., y n
функции. Рассмотрим несколько случаев, в зависимости от того, сколько раз
дифференцируема исходная функция.
y k +1 − y k
1) Всегда можно воспользоваться простейшей формулой y k′ ≈ .
x k +1 − x k
2) Пусть функция f(x) дважды дифференцируема на отрезке [a, b] и узлы
равноудалены друг от друга: x k = x0 + kh , k = 0,..., n . Разложим f(xk+1) в точке
xk по формуле Тейлора
f ′′(ξ ) 2
y k +1 = y k + y k′ h + h
2
и получим
y k +1 − y k f ′′(ξ )
y k′ = − h
h 2
или
y k +1 − y k
y ′k = .
h
M 2h
При этом оценка погрешности вычислений имеет вид R ≤ , где M 2 −
2
максимальное на отрезке [a, b] значение второй производной функции f(x).
Таким образом, точность метода O(h).

Теорема о среднем. Пусть f(x) – непрерывная функция на отрезке [a, b].


Тогда для любых точек x1 ...x n этого отрезка справедлива формула
f ( x1 ) + ... + f ( x n )
= f (ξ ) , где ξ ∈ [a, b] .
n
Доказательство. Пусть m = min f ( x) − минимальное и M = max f ( x) −
a≤ x≤b a≤x≤b

максимальное значения функции на заданном отрезке. Тогда справедливы


неравенства вида m ≤ f ( xi ) ≤ M , i = 1, n . Просуммируем их и разделим на n.
Получим следующую оценку:
f ( x1 ) + ... + f ( x n )
m≤ ≤M.
n
Тогда в силу теоремы Больцано - Коши о промежуточном значении
непрерывной функции найдется такая точка ξ ∈ [a, b] , в которой будет
f ( x1 ) + ... + f ( x n )
выполняться равенство = f (ξ ) .
n
Теорема доказана.

82
Пусть теперь функция f(х) – трижды непрерывно дифференцируема, а
отрезок [a, b] разбит с шагом h точками x0 , x1 ...x n , в которых функция
принимает значения y 0 , y1 ... y n соответственно. Возьмем один из внутренних
узлов, например x1 , и оценим предыдущее и последующее значения
функции:
y1′′h 2 f ′′′(ξ1 ) 3
y 0 = y1 − y1′h + − h ,
2 6
y ′′h 2 f ′′′(ξ 2 ) 3
y 2 = y1 + y1′h + 1 + h .
2 6
Вычитая из второго равенства первое, получим
y2 − y0 f ′′′(ξ1 ) + f ′′′(ξ 2 ) h 2

= y1 +
2h 2 6
и, используя доказанную выше теорему о среднем, можем записать
y 2 − y 0 f ′′′(ξ )h 2
y1′ = − ,
2h 6
где ξ , ξ1 , ξ 2 - некоторые точки отрезка [a, b] .
y2 − y0
Таким образом, y1′ = или, в общем виде
2h
y k +1 − y k −1
y k′ = , где k = 1, n − 1 .
2h
M3 2
При этом оценка погрешности вычисления имеет вид R ≤ h , т.е. точность
6
метода имеет порядок O(h 2 ) .
Пусть теперь функция f(x) – четыре раза непрерывно дифференцируема.
Тогда справедливы равенства
h2 h 3 f ( 4 ) (ξ 1 ) 4
y 0 = y1 − y1′h + y1′′ ′
− y1′′ + h
2 6 24
и
h2 h 3 f ( 4 ) (ξ1 ) 4
y 2 = y1 + y1′h + y1′′ + y1′′′ + h ,
2 6 24
из которых следует
y 2 − 2 y1 + y 0 f ( 4 ) (ξ1 ) + f ( 4 ) (ξ 2 ) h 2
= y1
′ ′ + .
h2 2 12
Применяя теорему о среднем и обозначая среднее арифметическое двух
производных 4-го порядка в последнем равенстве через f ( 4) (ξ ) , получим
y 2 − 2 y1 + y 0 f ( 4 ) (ξ ) 2
y1′′ = + h ,
h2 12
где ξ , ξ1 , ξ 2 - некоторые точки отрезка [a, b] .
В общем виде получается
y k +1 − 2 y k + y k −1
y k′′ ≈ , где k = 1, n − 1 .
h2

83
M4 2
При этом погрешность будет составлять R ≤ h , т.е. точность метода
12
имеет порядок O(h 2 ) .

8.2. Формулы численного интегрирования


b
Пусть требуется вычислить определенный интеграл ∫ f ( x)dx ,
a
где f(x) –

некоторая заданная на отрезке [a,b] непрерывная функция.


Для простоты разобьем промежуток интегрирования точками,
равноудаленными друг от друга: a = x0 < x1 < ... < xn = b так, что будет
b−a
выполняться равенство xk = x0 + kh, k = 0, n. , где h = .
n
Рассмотрим несколько вариантов решения данной задачи.

1. Формула прямоугольников. Аппроксимируем площадь под


графиком функции f(x) суммой прямоугольников с основанием h и высотой
f(ξ), где xk ≤ ξ ≤ xk +1 . Причем, если взять ξ = xk k = 0, n − 1 , то получим формулу
левых прямоугольников (см. рис.8.1):
b
b−a
∫ f ( x)dx ≈ h( y
a
0 + ... + y n −1 ) ≈
n
( y 0 + ... + y n −1 ) .

Рис. 8.1
А если взять ξ = xk k = 1, n , то получим формулу правых
прямоугольников (см. рис.8.2):
b
b−a
∫ f ( x)dx ≈ h( y
a
1 + ... + y n ) ≈
n
( y1 + ... + y n ) .

Рис. 8.2
В случае, когда мы берем среднюю точку ξ = ( xk −1 + xk ) / 2 k = 1, n ,

84
получаем формулу средних прямоугольников (рис. 8.3):
b
x k −1 + x k
∫ f ( x)dx ≈ h [ f ( x ) + ... + f ( x
a
1 n )] , xk =
2
.

Рис. 8.3.
Оценим точность последней формулы.
xK xK

Пусть ∫ f ( x)dx = F ( x k ) − F ( x k −1 ) , где F ( x) = ∫ f (t )dt , а подынтегральная


x K −1 xK

функция − трижды непрерывно дифференцируема. Тогда

F ( xk ) = 0 , F ′( x k ) = f ( x k ) , F ′′( x k ) = f ′( xk ) .
Запишем разложения функции F в точке xk и точке xk −1 :
h F ′′( x k ) h 2 F ′′′(ξ1 ) h 3
F ( x k ) = F ( x k ) + F ′( x k ) + + =
2 2! 4 3! 8
f ( x k )h f ′( x k )h 2 f ′′(ξ1 )h 3
= 0+ + + ,
2 8 48
f ( x k )h f ′( x k )h 2 f ′′(ξ 2 )h 3
F ( x k −1 ) = − + − ,
2 8 48
где ξ1 , ξ 2 ∈ [ xk −1 , xk ].
Вычтем из первого равенства второе и получим:
xK
f ′′(ξ1 ) + f ′′(ξ 2 ) h 3
∫ f (t )dt =h ⋅ f ( xk ) +
x K −1
2 24
.

Используя теорему о среднем, можно записать


xK
f ′′(ξ k )h3

xK −1
f (t )dt =h ⋅ f ( xk ) +
24
,

где ξk лежит на отрезке [ xk −1 , xk ] .


Таким образом, исходный интеграл равен
b n
f ′′(ξ k )h 3
∫ f ( x)dx = h [ f ( x1 ) + ... + f ( x n )] + ∑ .
a k =1 24

Отсюда легко получить оценку погрешности:

n
f ′′(ξ k )h 3 n
M 2h3 M 2 h3 M 2 (b − a)h 2 b−a
R= ∑
k =1 24
≤∑
k =1 24
=
24
⋅n =
24
, где h =
n
.

85
Таким образом, точность формулы средних прямоугольников имеет
порядок O(h 2 ) .

2. Формула трапеций. Поступаем аналогично предыдущему способу,


только аппроксимировать площадь под графиком функции f(x) будем
трапециями. Площадь элементарной криволинейной трапеции приближенно
y k −1 + y k
равна S k ≈ h , а интеграл -
2
b
y + yn

a
f ( x)dx ≈ h ( 0
2
+ y1 + ... + y n −1 ) .

Можно показать, что погрешность вычислений составляет


M 2 (b − a )
2
M h 2
R≤ 2
= 2 , т.е. точность метода имеет порядок O(h 2 ) .
12h 12
3. Формула Симпсона или формула парабол. Теперь аппроксимируем
функцию на элементарном отрезке параболой. По сравнению с предыдущими
b−a
способами вдвое уменьшим расстояние между узлами h = , тогда
2n
b n x2 k

искомый интеграл будет равен ∫ f ( x)dx = ∑ ∫ f ( x)dx .


a k =1 x2 k −1

Найдем коэффициенты a,b,c параболы, аппроксимирующей f (x) на


отрезке [ x 2 k , x2 k + 2 ] . Для этого решим следующую систему:
⎧ax 22k + bx 2 k + c = y 2 k
⎪ 2
⎨ax 2 k +1 + bx 2 k +1 + c = y 2 k +1 (8.1)
⎪ 2
⎩ax 2 k + 2 + bx 2 k + 2 + c = y 2 k + 2 .
Так как главный определитель системы с точностью до знака совпадает с
определителем Вандермонда, т.е.
1 1 1
Δ = ± x2 k x2 k +1 x2 k + 2 ≠ 0 ,
x22k x22k +1 x22k + 2
то эта задача всегда имеет решение, причем единственное.
Посчитаем площадь параболической трапеции (рис. 8.4):
x2 k +2

S= ∫
x2 k
(ax 2 + bx + c)dx .

Рис. 8.4.

86
Возьмем для простоты начальный элементарный интервал [ x0 , x 2 ] . Площадь
не изменится, если мы сдвинем криволинейную трапецию по оси Ох и
совместим ее начало с началом координат, т.е. иными словами положим
x 0 = 0, x1 = h, x 2 = 2h. Тогда
x2
a8h3
S = ∫ (ax 2 + bx + c)dx = + b2h 2 + c 2h .
x0
3
Перепишем систему (8.1) в виде:
⎧c = y 0
⎪ 2
⎨ah + bh + c = y1

⎩8ah + 2bh + c = y 2 ,
2

и решим ее. Получим:



⎪c = y 0

⎪ y 2 − 2 y1 + y 0
⎨a =
⎪ 6h 2
⎪ 8 y1 − 7 y 0 − y 2
⎪b = .
⎩ 6h
Тогда получается
x2
8ah3 ⎛ 4ah2 ⎞
S = ∫ (ax2 +bx+ c)dx = + 2bh2 + 2ch= 2h⎜⎜ +bh+ c⎟⎟ =
x0
3 ⎝ 3 ⎠
⎛ 4(y − 2y1 + y0) 8y1 − 7y0 − y2 6y0 ⎞ h
= 2h⎜ 2 + + ⎟⎟ = (y0 + 4y1 + y2) .
⎝ 18 6 6 ⎠ 3

Очевидно, аналогично
x 2 k +1
h

x2 k
(ax 2 + bx + c)dx =
3
( y 2 k + 4 y 2 k +1 + y 2 k + 2 ).

Таким образом
b n x2 k + 2
h
∫ f ( x)dx = ∑ ∫ f ( x)dx ≈ [ y0 + y2 n + 2( y2 + ... + y2 n − 2 ) + 4( y1 + ... + y2 n −1 )] .
a k =1 x2 k 3
Данная формула и называется формулой Симпсона. Можно показать, что
M 4 (b − a ) 5
погрешность формулы Симпсона R ≤ , и ее точность имеет порядок
2880n 4
O(h 4 ) .
Таким образом, по сравнению с предыдущими методами формула Симпсона
является существенно более точной.

87
8.3. Интерполяционные квадратурные формулы
b
Вычислим интеграл ∫ f ( x)dx ,
a
заменяя подынтегральную функцию

интерполяционным многочленом с узлами x k = x 0 + kh, k = 0, n , где


b−a
x 0 = a, h = . Получим
n
b b n n b n

∫ f ( x)dx ≈ ∫ ∑ l k ( x) y k = ∑ y k ∫ l k ( x)dx = ∑ y k Ak ,
a a k =0 k =0 a k =0
b
ω k ( x)
где Ak = ∫ dx
a
ω k ( xk )
и ω k ( x) = ( x − x0 ) ⋅ ... ⋅ ( x − x k −1 ) ⋅ ( x − x k +1 ) ⋅ ... ⋅ ( x − xn ) .
Формулу
b n

∫ f ( x)dx = ∑ y k Ak (8.2)
a k =0

называют интерполяционной квадратурной формулой Лагранжа.


Заметим, что ωk(x) зависит только от самих узлов, на которые разбит
промежуток, и не зависит от функции f (x) . Следовательно, коэффициенты Ak
не зависят от вида функции также и, используя эти коэффициенты, можно
считать интегралы от различных функций. При этом, если наша функция
является многочленом, то формула (8.2) является точной формулой.
Можно найти Ak при помощи метода неопределенных коэффициентов:
⎧b n

⎪∫ 1 ⋅ dx = ∑1 ⋅Ak
⎪a k =0

⎪b n
⎪⎪∫ x ⋅ dx = ∑ x k ⋅Ak
⎨a k =0
⎪..........................

⎪b n n
⎪∫
⎪⎩ a
x ⋅ dx = ∑
k =0
x kn ⋅Ak .

Из данной системы можно найти Ak., k = 0, n .


Пример. Построить интерполяционную квадратурную форму для
вычисления интеграла
1

∫ f ( x)dx,
−1

x0 = −1, x1 = 0, x 2 = 1.
Строим систему

88
⎧b
⎪ ∫ 1 ⋅ dx = A0 + A1 + A2
⎪a
⎪⎪ b
⎨ ∫ x ⋅ dx = − A0 + A2
⎪a
⎪b
⎪ ∫ x 2 ⋅ dx = A0 + A2 .
⎪⎩ a

Решая ее, находим


A0 = −1/ 3, A1 = 4 / 3, A2 = 1/ 3.
1
1 4 1
Таким образом ∫ f ( x)dx = − 3 ⋅ f (−1) + 3 ⋅ f (0) + 3 ⋅ f (2).
−1

Недостатком интерполяционной квадратурной формулы Лагранжа


является проблематичность оценки погрешности.
Наряду с интерполяционной квадратурной формулой Лагранжа для
вычисления интегралов вида
1

∫ f ( x)dx
−1

часто применяется квадратурная формула Гаусса, в которой узлами


разбиения служат корни многочлена
1 d n ( x 2 − 1) 2 n
X n ( x) = ⋅ .
n!2 n dx n
Отметим, что формула Гаусса точнее формулы Лагранжа.

Замечания.
+∞ A
1. Вычисление несобственных интегралов: ∫
a
f ( x)dx = lim ∫ f ( x)dx .
A→ ∞
a

Если подынтегральная функция разрывная, то аналогично:


b b −ε

∫ f ( x)dx = εlim ∫ f ( x)dx


a
→∞
a
(b − точка разрыва).

2. Вычисление кратных интегралов. Пусть требуется вычислить


∫∫ f ( x, y)dxdy
D

по области D . Не ограничивая общности, считаем, что область D является


правильной вдоль оси Оу, т.е. имеет вид

Рис. 8.5

89
Тогда
⎛ g2 ( x)
b ⎞ b
⎜ ⎟
∫∫ f ( x, y )dxdy = ∫ ∫ f ( x, y )dy dx = ∫ Φ ( x)dx ,

a ⎝ g1 ( x )

D ⎠ a
g2 ( x)

где Ф( x) = ∫ f ( x, y)dy .
g1 ( x )

Пусть a = x0 , x1 ,..., xn = b − точки разбиения. Тогда можно вычислить


каждый из интегралов
g 2 ( xK )

Φ( xk ) = ∫ f (x
g1 ( x K )
k , y )dy ,

а потом применить формулу Симпсона к интегрированию функции Φ (x) .

9. ЧИСЛЕННОЕ РЕШЕНИЕ ЗАДАЧИ КОШИ ДЛЯ


ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Рассмотрим дифференциальное уравнение y ′ = f ( x, y ) с начальным


условием y ( x0 ) = y 0 . Будем предполагать, что f(x,y) непрерывная и
непрерывно дифференцируемая по y функция в окрестности замкнутой
области

D = {( x, y ) a ≤ x ≤ b, c ≤ y ≤ d },

содержащей внутри себя точку (x0 , y 0 ) .


Требуется решить задачу Коши: найти непрерывно дифференцируемую
функцию y=y(x), такую что y ′( x) = f ( x, y ( x)) при всех x ∈ [a, b] и y ( x0 ) = y 0 .
Разобьем отрезок [a, b] с помощью точек разбиения a = x0 , x1 ,..., xn = b с
шагом h = (b − a ) / n . Тогда узлы разбиения имеют вид x k = x0 + kh, k = 0, n .
Пусть y ( x0 ), y ( x1 ),..., y ( xn ) − значения функции в точках разбиения.

9.1. Метод ломаных Эйлера


Пусть y = y (x) искомое решение задачи Коши. В точке (x0,y0) построим
касательную (см. рис. 9.1) к графику y = y (x) .

90
Рис. 9.1

Запишем уравнение касательной:


y = y 0 + y ′( x0 )( x − x0 ) = y 0 + f ( x0 , y 0 )( x − x0 ) .
и найдем точку пересечения этой касательной с прямой x = x1 :
y1 = y 0 + hf ( x0 , y 0 ) .
Запишем уравнение прямой
y = y1 + f ( x1 , y1 )( x − x1 )
и найдем точку ее пересечения с прямой с x = x2 :
y 2 = y1 + hf ( x1 , y1 ) .
Продолжая процесс, получим рекуррентную последовательность:
y k +1 = y k + hf ( x k , y k ), k = 0,1... (9.1)
y 0 = y ( x0 ) ,
которую называют последовательностью Эйлера. Соединяя ломаными все
точки ( x k , y k ) , полученные из рекуррентной последовательности Эйлера,
получим ломаную линию, приближающую график решения y = y (x) .
Функция, график которой совпадает с ломаной Эйлера, принимается за
приближенное решение задачи Коши.
Выясним точность метода Эйлера. Сравним значения точного решения
y(x) задачи Коши в узловых точках со значениями, полученными методом
Эйлера:
y ( x k +1 ) = y ( x k ) + y ′( x k ) h + O ( h 2 ) ,
y k +1 = y k + hf ( x k , y k ) + O ( h 2 ) .
Поскольку
y′( xk ) = f ( xk , y ( xk )) ,
то y ( x k +1 ) − y k +1 = O (h 2 ) при условии, что yk = y ( xk ) . То есть, точность метода
на отдельном отрезке [ x k , xk +1 ] совпадает с O(h 2 ) . Тогда, очевидно, точность
метода Эйлера на всем отрезке [a, b] будет O(h).
Для повышения точности вычислений иногда используется
модифицированный метод Эйлера, в котором рекуррентная
последовательность Эйлера вычисляется по формулам
h h
y k +1 = y k + hf ( x k + , y k + f ( x k , y k )), k = 0,1..., n − 1 . (9.2)
2 2

91
Модифицированный метод Эйлера обычно дает более точное приближение
решения.
Пример. Пусть требуется решить задачу Коши:

⎧ y ′ = − y, x ∈ [0,1]

⎩ y (0) = 1.

Полагая h = 0,2 и используя метод Эйлера, получим, как легко убедиться, из


формулы Эйлера (9.1)
y k +1 = y k + 0.2 ⋅ (− y k ) = 0.8 ⋅ y k .
С другой стороны, используя модифицированный метод Эйлера, получим в
силу формулы (2) рекуррентную последовательность
y k +1 = y k + 0.2 ⋅ (− y k ) = 0.82 ⋅ y k .

Поскольку точным решением задачи Коши, как легко проверить,


является функция y = e − x , можно сравнить точность обоих методов.

0 1 2 3 4 5
xk 0 0.2 0.4 0.6 0.8 1
yk 1 0.8 0.64 0.572 0.4086 0.3277
y модиф
k 1 0.82 0.6724 0.5514 0.4521 0.3708
e−x 1 0.8187 0.6703 0.5488 0.4493 0.3679

Общепризнанным недостатком метода Эйлера является его не достаточно


высокая точность. Несомненным достоинством метода Эйлера является его
простота.

9.2. Методы Рунге-Кутта

1. Метод Рунге-Кутта второго порядка (или метод типа «предиктор-


корректор»).
Метод состоит из двух этапов. Сначала находят по методу Эйлера грубое
решение:
y к*+1 = y k + hf ( x k , y k ) .
На следующем шаге это грубое решение сглаживается:
f ( x k , y k ) + f ( x k +1 , y k*+1 )
y k +1 = y k + h , k = 0,1..., n − 1 .
2
Выясним точность метода. Преобразуя y k +1 , получаем:

92
h h
yk +1 = yk + f ( xk , yk ) + f ( xk + h, yk + h ⋅ f ( xk , yk )) =
2 2
h h h
= yk + f ( xk , yk ) + f ( xk , yk ) + [ f x′( xk , yk ) +
2 2 2
+ h ⋅ f y′( xk , yk ) ⋅ f ( xk , yk ) + O( h )] =
2

h2
= yk + hf ( xk , yk ) + [ f x′( xk , yk ) + + f y′( xk , yk ) ⋅ f ( xk , yk )] + O(h3 ).
2
С другой стороны, разложим точное решение y(x) по формуле Тейлора.
Получим
h2
y ( x k +1 ) = y ( x k + h) = y ( x k ) + y ′( x k )h + y ′′( x k ) + O(h 3 ) = y ( x k ) + hf ( x k , y ( x k )) +
2
h2
+ [ f x′ ( x k , y ( x k )) + f y′ ( x k , y ( x k )) f ( x k , y ( x k )) + O(h 3 ).
2
Полагая y( xk ) = y k , получаем погрешность на отдельном шаге равную O(h 3 ) .
Тогда на всем отрезке погрешность составит O ( h 2 ).
Достоинство метода: его точность превосходит точность метод Эйлера.

2. Метод Рунге-Кутта четвертого порядка.


На каждом шаге производится вычисление коэффициентов K1 , K 2 , K 3 , K 4 :
K 1 = hf ( x k , y k ) ;
h K
K 2 = hf ( x k + , y k + 1 ) ;
2 2
h K
K 3 = hf ( x k + , y k + 2 ) ;
2 2
K 4 = hf ( x k + h, y k + K 3 ) .
Затем вычисляем
1
y k +1 = y k + ( K 1 + 2 K 2 + 2 K 3 + K 4 ) .
6
Данный метод имеет точность O(h 4 ) на [a,b].
Рассмотрим пример, который мы использовали для иллюстрации
точности метода Эйлера.
Пример. Требуется решить задачу Коши:

⎧ y′ = − y
⎨ на отрезке [0, 1].
⎩ y ( 0) = 1

Выберем шаг h = 0,2 . Результат вычислений поместим в таблицу.

0 1 2 3 4 5
xk 0 0.2 0.4 0.6 0.8 1
yk 1 0.8187 0.6703 0.5487 0.4493 0.3678
e−x 1 0.8187 0.6703 0.5488 0.4493 0.3679

93
Таким образом, метод Рунге-Кутта 4-го порядка отличается очень высокой
точностью. К определенным его недостаткам относится большая сложность и
трудоемкость (на каждом шаге необходимо четырежды вычислять значения
функции f вместо одного раза в методе Эйлера).
Отметим, что на практике выбирают начальную длину шага h таким
образом, чтобы h 4 < ε , где ε − заданная точность вычисления решения.
Затем шаг выбирают вдвое меньшим и останавливают вычисления, если
разность полученных значений yk со значениями, полученными при
начальном выборе шага меньше ε. В противном случае шаг еще раз
уменьшают вдвое и т.д.

9.3. Метод Адамса

1. Неявная схема метода Адамса.


Пусть есть дифференциальное уравнение
y ′ = f ( x, y ) ,
с начальным условием
y ( x0 ) = y 0 .
Разбиваем отрезок [a,b] с шагом h на n частей. То есть, получаем узлы
x k = x 0 + kh , k = 0, n , где x0 = a .
Пусть y = y (x) − решение. Тогда на [ x k , xk +1 ] справедливо равенство
x K +1

y ( x k +1 ) = y ( x k ) + ∫ f ( x, y( x))dx .
xK

Применим формулу левых прямоугольников для вычисления интеграла.


Получим
y k +1 = y k + hf ( x k , y k ) , то есть формулу Эйлера.
Очевидно это не самый точный метод вычисления интеграла.
Применим формулу трапеций для вычисления интеграла. Получим
f ( x k , y k ) + f ( x k +1 , y k +1 )
y k +1 = y k + h , k = 0,1... .
2
Вычисление более точно, но мы не можем найти y k +1 из полученной
формулы. Однако в частном случае, когда дифференциальное уравнение
линейно, т. е. имеет вид
y ′ = − p( x) y + q( x) ,
мы получим:
− p k y k + q k − p k +1 y k +1 + q k +1
y k +1 = y k + h ,
2
где
pk = p(xk), qk = q(xk).
Отсюда легко находится значение

94
(2 − hp k ) y k + h(q k + q k +1 )
y k +1 = .
2 + hp k +1

2. Явная схема Адамса


Используем интерполяционную квадратурную формулу Лагранжа для
вычисления интеграла, т.е.
x K +1

xK
∫ f ( x, y( x))dx = A 0 f ( x k , y k ) + A1 f ( x k −1 , y k −1 ) , где

b m b
ϖ i ( x)
∫ f ( x)dx = ∑ f ( x ) A ,
a i =0
i i Ai = ∫ li ( x)dx ; li ( x) =
a
ϖ i ( xi )
.

Найдем коэффициенты Ai методом неопределенных коэффициентов:


x K +1

xK
∫ dx = A 0 + A1 ;

x K +1

xK
∫ xdx = A x 0 k + A1 x k −1 .

Получаем систему двух уравнений с двумя неизвестными


⎧ A0 = h − A1

⎨ h( x k +1 + x k )
⎪ = A0 x k + A1 x k −1 .
⎩ 2
Откуда
h( x k +1 + x k )
= (h − A1 ) x k + A1 x k −1 ;
2
h( x k +1 + x k )
= hx k − A1 ( x k − x k −1 ) ;
2
h( x k +1 + x k )
= hx k − A1 h ;
2
h( x k +1 + x k ) h( x k − x k +1 )
A1 h = hx k − = .
2 2
В итоге получим:
h
A1 = − ;
2
3h
A0 = h − A1 = .
2
Откуда
x K +1
3 h
xK
∫ f ( x, y ( x))dx =
2
hf k − f k −1 ,
2
где f k = f ( xk , yk ) .

Следовательно, получим
3 1
y k +1 = y k + h( f ( x k , y k ) − f ( x k −1 , y k −1 ) k = 1, n. .
2 2
Это формула Адамса второго порядка.

95
Существенным недостатком метода Адамса второго порядка является то
обстоятельство, что для его применения надо знать дополнительно к
начальному условию еще
y −1 = y ( x0 − h) или y1 = y ( x0 + h) .
Достоинством метода является то, что значение функции f в каждой
точке (xk, yk) вычисляется только один раз.

Замечания.
1. Если необходимо решить задачу Коши для системы
дифференциальных уравнений:
⎧ dx
⎪ dt = f ( x, t ), x ∈ Rn.

⎪ x(t 0 ) = x0 , t ∈ Rn.

можно использовать методы Эйлера или Рунге-Кутта.

2. Если решается задача Коши для уравнений высшего порядка


y ( n ) = f ( x, y, y 1 ,..., y ( n −1) ) ;
y ( x0 ) = y 0 ;
y ′( x0 ) = y 0′ ;
………
y ( n −1) ( x 0 ) = y 0n −1 ;
то задача сводится к решению задачи Коши для системы дифференциальных
уравнений.
То есть, вводим новые переменные
⎧ y1 = y

⎪ y2 = y′

⎨...........
⎪ y = y ( n−2)
⎪ n −1
⎪⎩ y n = y ( n −1) .
Откуда получается система дифференциальных уравнений
⎧ y1′ = y 2
⎪ y′ = y
⎪⎪ 2 3

⎨............
⎪ y′ = y
⎪ n −1 n


⎩⎪ y n = f ( x, y1 ,.., y n ).

96
10. РЕШЕНИЕ КРАЕВОЙ ЗАДАЧИ ДЛЯ
ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Будем рассматривать дифференциальное уравнение второго порядка.


y ′′ + p ( x ) y ′ + q ( x ) y = f ( x ) , (10.1)
где p (x ) , q(x) , f (x) − заданные непрерывные на отрезке [a, b] функции.
Напомним, что задача Коши для уравнения (1) сводится к нахождению
решения y (x) , удовлетворяющего начальным условиям:
⎧ y (a) = A

⎩ y ′(a) = A1 .
Краевой задачей называется задача нахождения решения y (x) ,
удовлетворяющего граничным условиям:
⎧ y (a) = A
⎨ (10.2)
⎩ y (b) = B .
Краевая задача отличается от задачи Коши непредсказуемостью. Ее
решение может существовать, не существовать, быть единственным, может
быть бесконечно много решений.
Часто вместо граничных условий (10.2) используют обобщенные
граничные условия:
⎧α 1 y (a) + β1 y ′(a) = A
⎨ (10.3)
⎩α 2 y (b) + β 2 y ′(b) = B.
Граничные условия называются однородными, если A=B=0.
Соответственно, краевая задача называется однородной, если у нее
однородные граничные условия и правая часть уравнения f ( x) ≡ 0 .
Следующая теорема имеет важное теоретическое значение.
Теорема. Краевая задача (1) , (3) имеет решение, причем единственное
тогда и только тогда, когда соответствующая ей однородная краевая имеет
только нулевое решение (тривиальное решение однородной краевой задачи).

Способы решения краевой задачи.


Поскольку достаточно хороших аналитических методов нет, то
используются приближенные методы.
Система дважды непрерывно дифференцируемых функций
ϕ 0 ( x), ϕ1 ( x),..., ϕ n ( x) называется базисной системой, если выполняется:
1) ϕ 0 ( x) удовлетворяет граничному условию (10.3),
2) функции ϕ1 ( x),...,ϕ n ( x) − линейно независимы на [a, b] и
удовлетворяют однородным граничным условиям.
По базисным функциям строят приближенное решение:
y n ( x) = ϕ 0 ( x) + a1ϕ1 ( x) + ... + a nϕ n ( x) .
Задача сводится к выбору коэффициентов a1 ,..., a n таких, чтобы функция
yn(x) удовлетворяла граничному условию (10.3) и была в некотором смысле
близкой к точному решению.
97
Поступают следующим образом. Выражение
ψ ( x, a1 ,..., a n ) = y ′n′ ( x) + p ( x) y n′ ( x) + q( x) y n ( x) − f ( x) называют невязкой.
Легко видеть, что, если бы ψ ( x, a1 ,..., a n ) ≡ 0 , то yn(x) было бы точным
решением. К сожалению, так бывает очень редко. Следовательно,
необходимо выбрать коэффициенты таким образом, чтобы невязка была в
некотором смысле минимальной.

Метод коллокаций.
На отрезке [a, b] выбираются точки x1 ,..., xm ∈ [a, b] (m ≥ n) , которые
называются точками коллокации. Точки коллокации последовательно
подставляются в невязку. Считая, что невязка должна быть равна нулю в
точках коллокации, в итоге получаем систему уравнений для определения
коэффициентов a1 ,..., a n .
⎧ψ ( x1 , a1 ,..., a n ) = 0

⎨...................... (10.4)
⎪ψ ( x , a ,..., a ) = 0.
⎩ m 1 n

Обычно m=n. Получается система из n линейных уравнений с n


неизвестными (коэффициентами a1 ,..., a n ):
⎧ψ ( x1 , a1 ,..., a n ) = 0

⎨......................
⎪ψ ( x , a ,..., a ) = 0.
⎩ n 1 n

Решая (10.4), найдем приближенное решение yn(x). Для повышения


точности расширяем базисную систему. Получаем более точное решение.
В значительной степени успех в применении метода зависит от удачного
выбора базисной системы.
Пример. Пусть
y ′′ + (1 + x 2 ) y = −1, − 1 ≤ x ≤ 1,

y ( −1) = 0 , y (1) = 0 .
Выберем базисную систему:
ϕ 0 ( x) = 0,
ϕ1 ( x) = 1 − x 2 ,
ϕ 2 ( x) = x 2 (1 − x 2 ).
ϕ 1
Поскольку 1 = 2 ≠ const , следовательно, функции ϕ1 ( x) и ϕ 2 ( x) линейно
ϕ2 x
независимы.
Строим приближенное решение
y 2 ( x) = a1 (1 − x 2 ) + a 2 ( x 2 − x 4 ) .
Выберем точки коллокации:
1 1
x1 = − , x 2 = 0, x3 = .
2 2
Получаем систему уравнений

98
⎧ ⎛ 1 ⎞ 17 49
⎪ψ ⎜ − 2 , a1 , a 2 ⎟ = 16 a1 + 64 a 2 − 1 = 0
⎪⎪ ⎝ ⎠
⎨ψ (0, a1 , a 2 ) = a1 − 2a 2 − 1 = 0
⎪ 1
⎪ψ ⎛⎜ , a1 , a 2 ⎞⎟ = 17 a1 + 49 a 2 − 1 = 0.
⎪⎩ ⎝ 2 ⎠ 16 64
Решая ее, получим
y 2 ( x) = 0,957(1 − x 2 ) − 0,022( x 2 − x 4 ) .

Метод наименьших квадратов.


Как и в методе коллокаций приближенное решение строится по
базисной системе. Для нахождения коэффициентов при базисных функциях
b
минимизируется интеграл I = ∫ψ 2 ( x, a1 ,..., a n )dx .
a

Строим систему
⎧ ∂I b
∂ψ ( x, a1 ,..., a n )
⎪ = 2∫ψ ( x, a1 ,..., a n ) dx = 0
⎪ ∂a1 a
∂a1

⎨......................................................................

⎪ ∂I = 2 ψ ( x, a1 ,..., a n ) ∂ψ ( x, a1 ,..., a n ) dx = 0 .
b

⎪⎩ ∂a n ∫a ∂a n
Решая ее, находим a1 ,..., a n .
Синтезом метода наименьших квадратов и метода коллокаций является
следующий метод. Выбирают N>n точек и решают задачу
N
S = ∑ψ 2 ( xi , a1 ,..., a n ) → min .
i =1

Для ее решения строится система


⎧ ∂S
⎪ ∂a = 0
⎪⎪ 1
⎨.............
⎪ ∂S
⎪ = 0.
⎪⎩ ∂a n
Пример. Рассмотрим краевую задачу
y′′ + (1 + x 2 ) y = −1, − 1 ≤ x ≤ 1,
y (−1) = 0,
y (1) = 0.
Выберем базисную систему:
ϕ 0 ( x) = 0,
ϕ1 ( x) = 1 − x 2 ,
ϕ 2 ( x) = x 2 (1 − x 2 ).
Применяя метод наименьших квадратов, можно найти

y 2 ( x) = 0,985(1 − x 2 ) − 0,078( x 2 − x 4 ).

99
Метод Галеркина.
По базисной системе строим приближенное решение
y n ( x) = ϕ 0 ( x) + a1ϕ1 ( x) + ... + a nϕ n ( x) .
Рассматриваем невязку ψ ( x, a1 ,..., a n ) и для определения коэффициентов
при базисных функциях строим систему
⎧b
⎪∫ψ ( x, a1 ,..., a n )ϕ1 ( x)dx = 0
⎪a

⎨............................................
⎪b
⎪ ψ ( x, a1 ,..., a n )ϕ n ( x)dx = 0 .
⎪⎩∫a
Решая данную систему, находим значение a1 ,..., a n .
Пример. Рассмотрим краевую задачу
y′′ + y = x, 0 ≤ x ≤1 ,
y (0) = y (1) = 0 .
Возьмем
ϕ 0 = 0,
ϕi ( x) = xi (1 − x), i = 1, 2,...
Тогда, применяя метод Галеркина, получим
5
y1 ( x) = x( x − 1),
18
71 7
y 2 ( x) = x(1 − x) + x 2 (1 − x).
369 41

Сравним значения точного решения y (x) со значениями приближенных


решений y1 ( x) и y 2 ( x) в отдельных точках.
xi y (x ) y1 ( x) y 2 ( x)
0,25 0,044 0,052 0,044
0,5 0,07 0,069 0,062
0,75 0,06 0,052 0,06

Разностный метод решения краевых задач.


Рассмотрим краевую задачу
⎧ y '' = f ( x, y, y′), x ∈ [a, b]

⎨ y (a) = A, (10.5)
⎪ y (b) = B.

b−a
Разобьем отрезок [a, b] на n одинаковых частей с шагом h =
n
точками:
a = x0 < x1 < ... < x n = b .
Заменим
100
yk +1 − yk
y′( xk ) ≈ ,
2h
y − 2 yk + yk −1
y′′( xk ) ≈ k +1 k = 1, n − 1,
h2

где y k = y ( x k ) .
Получаем для любого внутреннего узла x k , k = 1, n − 1 уравнение
y k +1 − 2 y k + y k −1 ⎛ y − y k −1 ⎞
2
= f ⎜ x k , y k , k +1 ⎟ (10.6)
h ⎝ 2h ⎠
и для граничных узлов
y 0 = A, yn = B .

То есть мы имеем систему из (n+1) уравнения с (n+1) неизвестными y k .


Ее решение дает нам приближенное решение краевой задачи.
Рассмотрим частный случай линейной краевой задачи:
y ′′ − p ( x ) y = f ( x ), p ( x) > 0, a ≤ x ≤b, (10.7)
y (a ) = A , y (b) = B .
В этом случае получаем
y k +1 − 2 y k + y k −1
− p ( x k ) y k = f ( x k ), k = 1, n − 1 (10.8)
h2
y 0 = A, yn = B .

То есть получили трехдиагональную систему линейных уравнений


y k −1 − (2 + h 2 p ( x k )) y k + y k +1 = h 2 f ( x k ), k = 1, n − 1 ,

в которой выполнено условие преобладания диагональных элементов


2 + p( x k ) > 1 + 1 .
Такая система легко решается методом прогонки.

11. РАЗНОСТНЫЕ СХЕМЫ ДЛЯ ОБЫКНОВЕННЫХ


ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Из предварительного рассмотрения краевых задач в параграфе 10 можно


сделать вывод о превосходстве разностных методов численного решения
краевых задач. Рассмотрим эти методы более подробно.

11.1. Разностные уравнения первого и второго порядка

Рассмотрим дифференциальное уравнение первого порядка

101
U ′ + AU = f ( x), x ∈ [ a, b] .
Пусть его решением является функция U=U(x).
Разобьем отрезок [a,b] на n равных частей с шагом h, то есть построим
последовательность {xk}:
b−a
x0 = a , x k = x 0 + kh , k = 0, n , где h = .
n
Множество узлов xk на отрезке [a,b] образует сетку Dh с шагом h.

Dh
При этом, любую функцию gk k=0, 1,…,n , определенную на сетке Dh ,
будем называть сеточной функцией. В частности, сеточной функцией будет
последовательность U ( xk ) k = 0,..., n , порожденная решением U ( x )
дифференциального уравнения.
Заменим производные функции во внутренних узлах их разностными
аппроксимациями:
U ( x k + h) − U ( x k )
U ′( x k ) ≈ .
h
Значение функции U в k–ом узле обозначим
⎧akU k −1 + bkU k + ckU k +1 , k = 1, n − 1

LhU (h)
= ⎨U 0
⎪U ,
⎩ n
U ( xk ) = U k , а функции f
U (h) = U ( h ) = max U k
Uh k = 0, n

соответственно через f k = f ( x k ) . В новых обозначениях получим разностное


уравнение:
U k +1 − U k
+ AU k = f k .
h
C большей точностью первую производную можно также представить в
виде:
U ( x k + h) − U ( x k − h)
U ′( x k ) ≈ , тогда уравнение будет иметь вид
2h
U k +1 − U k −1
+ AU k = f k .
2h
Рассмотрим теперь на данном отрезке дифференциальное уравнение
второго порядка
U ′′ + AU ′ + BU = f (x ) .
Аналогично, заменив производные их разностными аппроксимациями,
получим:
U k +1 − 2U k + U k −1 U − U k −1
2
+ A k +1 + BU k = f k .
h 2h
Преобразуем полученное разностное уравнение:
102
⎛ A 1 ⎞ ⎛ 2 ⎞ ⎛ 1 A⎞
⎜ + 2 ⎟U k +1 + ⎜ B − 2 ⎟U k + ⎜ 2 − ⎟U k −1 = f k .
⎝ 2h h ⎠ ⎝ h ⎠ ⎝h 2h ⎠

Полученные разностные уравнения будем также называть разностными


схемами для соответствующих дифференциальных уравнений.
Таким образом, мы перешли от дифференциальных уравнений
к разностным уравнениям вида:
a k U k + bk U k +1 = f k (11.1)
и
a k U k −1 + bk U k + c k U k +1 = f k , (11.2)
где a k , bk , c k − некоторые коэффициенты. Уравнения (11.1) и (11.2) будем
называть соответственно линейными разностными уравнениями первого и
второго порядка (при условии, что a k , bk ≠ 0 в (11.1) и a k , с k ≠ 0 в (11.2)).
Заметим, что при переходе от дифференциального уравнения к разностному
уравнению, порядок уравнения не обязательно сохраняется.
Рассмотрим свойства линейных разностных уравнений (11.1) и (11.2) ,
абстрагируясь от дифференциальных уравнений, их породивших. Их
решениями будем называть сеточные функции {U k } , удовлетворяющие
соответствующим уравнениям при k=0, 1,….,n.
Очевидно, что для однозначного решения разностного уравнения (11.1)
необходимо знать начальное значение сеточной функции U k в нулевом узле,
то есть U0. Для решения разностного уравнения (11.2) необходимо знать два
начальных значения U0 ,U1.
Назовем разностное уравнение (11.1) линейным разностным уравнением
первого порядка, а уравнение (11.2) линейным разностным уравнением
второго порядка.
Рассмотрим однородное уравнение, соответствующее уравнению (11.1):
a k U k + bk U k +1 = 0 . (11.3)
Легко видеть, что если {U (1) k } его решение, то решением также будет и

сеточная функция {α U (1) k }. Тогда, очевидно, что любое другое решение


уравнения (11.3) можно получить при определенном численном значении α .
То есть, если известно {α U (1) k }, то любое решение U% k представимо в
виде U% k = α 0 U (1)k .

Таким образом, {αU *k } представляет собой общее решение уравнения


(11.3), из которого получаются выбором постоянной α все остальные
решения. Легко видеть, что общим решением разностного уравнения (11.1)
будет сеточная функция U k = U k* + αU k(1) , где U *k произвольное решение
уравнения (11.1).
Рассмотрим однородное уравнение, соответствующее уравнению (11.2):
a k U k −1 + bk U k + c k U k +1 = 0. (11.4)
Пусть {U k } и {U k } − решения (11.4), причем векторы (U 0 , U 1(1) ) и
(1) (2) (1)

(U (2)
0 , U1 )
(2)
− линейно независимы, т. е.

103
U (1) U1(1)
0
≠ 0.
U (2)
0 U1(2)
Подстановка показывает, что при любых α и β сеточная функция
U k = αU k + βU k является тоже решением. Покажем, что U k = αU k(1) + βU k( 2 ) −
(1) ( 2)

общее решение, т.е. любое решение {U k* } можно представить в виде


U k* = α 0U k(1) + β 0U k( 2 ) .
Действительно, полагая
(U 0* ,U 1* ) = α (U 0(1) ,U 1(1) ) + β (U 0( 2) ,U 1( 2) ) ,
получим
⎧⎪αU 1(1) + βU 1( 2 ) = U 1*
⎨ (1)
⎪⎩αU 1 + βU 1( 2 ) = U 1* .
Поскольку
Δ ≠ 0 , то решение системы α = α 0 , β = β 0 существует и является
единственным.
Легко убедиться также, что, если U k* − частное решение уравнения
(11.2), то общим решением уравнения (11.2) будет:
U k = U k* + αU k(1) + β U k( 2 ) .
Теперь рассмотрим линейные однородные разностные уравнения с
постоянными коэффициентами:
aU k −1 + bU k + cU k +1 = 0 , (11.5)
где a, с ≠ 0 .
Составим уравнение a + bq + cq 2 = 0 , которое будем называть
характеристическим для (11.5). Найдем его корни q1 и q2. Возможны
следующие ситуации:
1). Пусть q1 ≠ q2 . Тогда подстановкой легко проверить, что
U k = q 1k , U (2)
(1)
k = q2
k
− решения. Здесь q1 и q2 – действительные числа,
отличные от нуля.
Подставив в уравнение (11.5), получим:
aq1k + bq1k +1 + cq1k + 2 = 0 или a + bq1 + cq12 = 0 .
Поскольку
1 q1
= q1 - q 2 ≠ 0 ,
1 q2
то общее решение имеет вид U k = αq1k + βq 2k .
2. Пусть q1 = r (cosϕ + i sin ϕ ) , то есть корни комплексные. Тогда
U k = q1k = r k (cos kϕ + i sin kϕ ) .
Это комплексное решение. Отделяя его действительную и мнимую
части, получим действительные частные решения
⎧⎪U k(1) = r k cos kϕ
⎨ ( 2)
⎪⎩U k = r sin kϕ .
k

104
Значит, общее решение совпадает с линейной комбинацией
U k = αr cos kϕ + βr sin kϕ .
k k

3. Пусть q1 = q 2 = q , то есть корни кратные.


Очевидно U k = q k будет решением. Найдем второе решение.
~
Положим U k = y k q k и подставим в (11.5):
aу k −1q k −1 + bу k q k + cу k +1 q k +1 = 0 ,
откуда
aу k −1 + bу k q + cу k +1 q 2 = 0 .
По теоремы Виета для корней квадратного уравнения получаем
b a
− = 2q , = q2 . (11.6)
c c
Поделим квадратное уравнение на c:
a b
у k −1 + aу k + у k +1 q 2 = 0 .
c c
Тогда, согласно (11.6), получим:
q 2 у k −1 + 2q 2 у k + q 2 у k +1 = 0
или
у k −1 − у k = y k − у k +1 .
Решением такого разностного уравнения будет любая арифметическая
прогрессия, в том числе последовательность целых чисел у k = k . То есть
~
U k = kq k .
Поскольку
U0 U1 1 q
~ ~ = = q ≠ 0,
U0 U1 0 q
то общим решением будет
U k = αq k + βkq k .

11.2. Разностная краевая задача

Рассмотрим задачу вида:


⎧a k U k −1 + bk U k + c k U k +1 = f k , k = 1, n − 1 ,
⎨ (11.7)
⎩U 0 = ϕ , U k = ψ ,.
называемую разностной краевой задачей (РКЗ).
Данную задачу можно коротко переписать в виде
⎧ LU k = f k , k = 1, n − 1 ,

⎩ U0 = ϕ, Uk =ψ ,
где линейный разностный оператор LU k или L(U k ) имеет вид
LU k = akU k −1 + bkU k + ckU k +1 .

Пример 1. Найти решение РКЗ U k −1 − U k + U k +1 = 0, k = 1,..., 299 ,

105
где U 0 = 0 , U 300 = 1 .
Запишем характеристическое уравнение 1 − q + q 2 = 0 . Отсюда
1 3
q= +i , и общее решение разностного уравнения имеет вид:
2 2
kπ kπ
U k = α cos + β sin .
3 3
Подставляя значения U 0 и U n , получаем α = 0 , β = 1 . То есть
рассматриваемая краевая задача не имеет решения.
Возьмем другие граничные условия
U 0 = 0 , U 300 = 0 .
Решая задачу с данными условиями, получим, что решений бесконечно
много.
То есть в отличие от задачи Коши для разностного уравнения, в случае
РКЗ возникают проблемы:
1) существования решения;
2) единственности решения.

Выделим класс задач РКЗ, которые эффективно решаются.


Пусть a k , bk , c k < K , где K = const > 0 .
Задачу РКЗ будем называть хорошо обусловленной, если она имеет
решение, причем единственное, при любых значениях ϕ , ψ , f k , и, кроме
того, это решение {Uk} удовлетворяет соотношению:
U k ≤ M max{ϕ , ψ , max f i } , (11.8)
i

где M = const , не зависящая от n.


Покажем, что условие (8) фактически означает слабую чувствительность
задачи к ошибкам в граничных условиях и в правой части.
Рассмотрим возмущенную задачу:
⎧a k U k −1 + bk U k + c k U k +1 = f k + Δf k

⎩ U 0 = ϕ + Δϕ ,U n = ψ + Δψ .
Возмущенное решение имеет вид U k + ΔU k , где ΔU k − ошибка решения.
Оценим ΔU k :
L (U k + ΔU k ) = f k + Δf k ,
L (U k ) + L ( ΔU k ) = f k + Δf k .
Тогда
⎧ L( ΔU k ) = Δf k ,

⎩ΔU 0 = Δϕ , ΔU n = Δψ .
Из условия (11.8) получаем оценку:
ΔU k ≤ M max{ Δϕ , Δψ , max Δf i } .
i

Следовательно, ошибка в решении ограничена последним соотношением


и при уменьшении шага ошибка не увеличивается. Растет лишь число узлов.
Сформулируем теперь достаточный признак хорошей обусловленности.
106
Теорема1 (достаточный признак хорошей обусловленности). Пусть
выполнимо следующее условие:
bk ≥ a k + c k + δ , δ > 0. (11.9)
Тогда задача РКЗ (11.3) хорошо обусловлена, а условие (8) имеет
следующий вид:
1
U k ≤ max{ ϕ , ψ , max f i } . (11.10)
δ i

Доказательство. Докажем сначалда, что если РКЗ имеет решение, то это


решение удовлетворяет (11.10). Пусть есть некоторое решение Uk и пусть
max U k = U m .
k

Возможны следующие ситуации:


1) m=0 или m=n. Тогда (11.10) − тривиально выполняются.
2) 0< m < n. Тогда
bmU m = −a mU m −1 − c mU m +1 + f m ,
следовательно
bm ⋅ U m = bmU m = − amU m−1 − cmU m+1 + f m ≤ a m ⋅ U m + cm U m + f m .
Поскольку
U m −1 ≤ U m , U m +1 ≤ U m ,
то, принимая во внимание (11.9), получаем
fm fm
Um ≤ ≤ .
bm − a m − c m δ
1
То есть U k ≤ U m ≤ max f k для всех k = 0, n . Следовательно, соотношение
δ k
(11.10) справедливо.
Теперь покажем, что решение задачи РКЗ (11.9) существует и
единственно.
При k = 0, n задача РКЗ сводится к неоднородной линейной системе из (n+1)
уравнений с (n+1) неизвестным. Она имеет единственное решение и то, тогда
и только тогда, если соответствующая однородная система имеет только
нулевое решение. Соответствующая однородная система имеет вид:
⎧⎪a k U k −1 + bk U k + c k U k +1 = 0
⎨ U = 0, U n = 0.
⎪⎩ 0

Тогда по условию (11.10) для этой системы U k ≤ 0 . Значит, U k ≡ 0 .


То есть однородная система имеет только нулевое решение, и, значит,
РКЗ имеет единственное решение.
Теорема доказана.
Теорема 2 (критерий хорошей обусловленности). Пусть
a k = a, bk = b, c k = c . Тогда задача является хорошо обусловленной тогда и

только тогда, когда корни q1, q2 характеристического уравнения


удовлетворяют условиям q1 < 1, q 2 > 1 .

107
Методы решения РКЗ
1. Метод прогонки.
Так как РКЗ представляет собой линейную трехдиагональную систему
из (n+1) уравнений с (n+1) неизвестными, то для ее решения можно
применить метод прогонки. Он обладает рядом преимуществ.
Достоинства:
а) число арифметических операций при использовании данного метода
составляет O(n), т. е. не превосходит Kn , где K= const .
б) при выполнении условия преобладания диагональных элементов
bk ≥ a k + ck + δ метод прогонки оказывается слабо чувствительным к
ошибкам вычислений: вычислительная погрешность не накапливается с
ростом числа узлов n.
2. Метод стрельбы.
Рассмотрим РКЗ:
⎧a k U k −1 + bk U k + c k U k +1 = f k , k = 0,..., n


⎪⎩ U 0 = ϕ , Un =ψ

Вначале находим частное решение, решая задачу Коши с начальными


условиями:
U 0 = ϕ, U 1 = 0, ⇒ { U k(1) }.

Затем находим второе частное решение


U 0 = ϕ, U 1 = 1, ⇒ { U k( 2 ) }.
Поскольку
ϕ 0
≠ 0,
ϕ 1
общее решение можно записать в виде линейной комбинации этих двух
частных решений
U k = σU k(1) + (1 − σ )U k( 2 ) .
Нужно выбрать σ так, чтобы выполнялись граничные условия:
U n = σU k(1) + (1 − σ )U k( 2 ) = ψ .
ψ − U k( 2 )
Отсюда: σ = .
U k(1) − U k( 2 )
Достоинством метода стрельбы является его исключительная простота.
Однако он очень неустойчив. Приведем пример.
Пример 2. Рассмотрим РКЗ
⎧⎪5U k −1 − 26U k + 5U k +1 = 0
⎨ U = ϕ, U = ψ .
⎪⎩ 0 n

Данная РКЗ хорошо обусловлена. Это легко проверить, используя


критерий хорошей обусловленности. Хорошая обусловленность означает
устойчивость к ошибкам в правой части и начальных условиях.

108
Однако уже при вычислении 1-σ появляется ошибка округления ε.
Можно показать, что данная ошибка имеет экспоненциальный рост при
уменьшении шага h, именно ΔU n ~ 5 n ⋅ ε .
Отсюда видно, что уменьшение шага вычисления не дает
положительного результата в виду роста ошибок. То есть, фактически
метод стрельбы вследствие его неустойчивости не может иметь широкого
применения.
11.3. Сходимость разностных схем

Выявим связь между дифференциальной краевой задачей (ДКЗ)


⎧⎪U ′′ + a1 ( x )U ′ + a 2 ( x)U = f ( x)
⎨U (a ) = ϕ , U (b) = ψ . (11.11)
⎪⎩
и соответствующей ей разностной краевой задачей (РКЗ).
Будем применять в дальнейшем для сокращения записи обозначение
LU = f ,
где
⎧U ′′ + a1 ( x)U ′ + a 2 ( x)U , a≤ x≤b


LU = ⎨U (a )
⎪U (b),
⎪⎩
⎧ f ( x), a≤ x≤b


f = ⎨ϕ , x=a

⎪ψ , x = b.

Пример 3. Рассмотрим задачу
⎧U ′ + AU = 0
⎨ , x ∈ [0,1] .
⎩ U (0) = b
Запишем ее в виде:
LU = f , где
⎧⎪U ′ + AU , x ∈ [0,1]
LU = ⎨
⎪⎩U (0)
⎧0, x ∈ [0,1]

f =⎨
⎪b, x=0

Интервал [0,1] разбиваем на множество узлов с шагом h, то есть строим
сетку:
⎧ xk = x0 + kh, k = 0, n

Dh = ⎨ x0 = 0 .
⎪ x =1
⎩ n .

109
Следует отметить, что дифференциальная краевая задача может не иметь
решений или ее решение может быть не единственным. Однако данное
обстоятельство относится к структуре этой задачи, а не к численным методам
ее решения. Поэтому будем считать, что решение ДКЗ существует ит
единственно. Пусть U(x) – единственное решение ДКЗ (11.11). По нему
можно построить следующую сетчатую функцию из значений функции в
узлах:
[U ] h = (U ( x0 ),...,U ( x n )) .
Постоим такую последовательность сетчатых функций
U = {U 0 , U1 ,....., U n } , которая приближается к [U]h при убывании шага h.
(h)

Разностная схема для нашей задачи имеет вид:


⎧a k U k −1 + bk U k + c k U k +1 = f k , k = 1, n − 1 ,

⎩U 0 = ϕ , U k = ψ ,.
или
L hU ( h ) = f (h)
, (11.12)
где
⎧akU k −1 + bkU k + ckU k +1 , k = 1, n − 1

LhU (h)
= ⎨U 0
⎪U ,
⎩ n

⎧ f k , k = 1, n − 1 ,

f (h) = ⎨ϕ ,
⎪ψ .

Отметим, что задача (11.12) представляет собой семейство задач для
разных значений шага h. Эта задача в свою очередь может не иметь решения
или ее решение может быть не единственным. Предположим, что задача
(11.12) при любом шаге h имеет единственное решение U ( h ) .
Обозначим U h − линейное пространство всех сетчатых функций на Dh .
Введем в этом пространстве норму:
U ( h ) = U ( h ) = max U k .
U h k = 0, n

Следует подчеркнуть, что это не единственный возможный выбор нормы в


пространстве U h . Существует большой набор норм, отличных от введенной
выше.
Определение 1. Будем говорить, что сетчатая функция U (h ) сходится к
решению U(x) ДКЗ, если выполняется следующее условие:
U ( h ) − [U ] h → 0 при h → 0 .
При этом, если выполняется условие U ( h ) − [U ] h ≤ C1 h m , где C1 не зависит
от h и n, говорят, что имеет место сходимость порядка h m или O(h m ) .
Отметим, что сходимость – это фундаментальное свойство разностных
схем, причем для одной и той же ДКЗ могут существовать разностные схемы

110
как сходящиеся, так и расходящиеся. Более того, сходимость или
расходимость разностной схемы существенно зависит от выбора нормы в
пространстве сеточных функций. Примерами других возможных норм в
пространстве U h являются нормы
U (h) = h max U k ,
Uh k = 0, n

U (h) = h∑ U k2
Uh
k

и другие.

11.4. Порядок аппроксимации разностной схемы

Рассмотрим РКЗ
L hU ( h ) = f ( h ) , (11.13)
где
⎧a k −1U k −1 + bk U k + c k U k −1 , k = 1, n − 1
⎪⎪
LhU ( h ) = ⎨U 0 ,
⎪U ,
⎪⎩ n
⎧ f k , k = 1, n − 1
⎪⎪
f ( h ) = ⎨ϕ , k = 0

⎪⎩ψ , k = n.
Предположим она имеет единственное решение и ее решением является
сеточная функция U (h ) .
Пусть сеточная функция [U ]h построена из значений решения U (x) ДКЗ
в узлах сетки. Поставим ее в уравнение (11.13) и получим:
Lh [U ] h = f ( h ) + δf ( h ) .
Величину δf (h ) называют невязкой.
Введем Fh − пространство обобщенных правых частей или пространство
невязок, элементами которого являются f (h ) и δf (h ) .
Введем норму в пространстве Fh следующим способом:
f (h) = f ( h ) = max{ ϕ , ψ , max f k } .
F h k

Отметим, что, как и в случае пространства U h , существует широкий выбор


возможной нормы в пространстве невязок, отличный от введенного выше
определения нормы.
Определение 2. Будем говорить, что разностная схема (11.13)
аппроксимирует ДКЗ на решении U(x) с порядком h m , если выполняется
следующее условие:
δf ( h ) ≤ Ch m , где C не зависит от h.
Пример 1. Рассмотрим дифференциальную краевую задача

111
⎧U ′ + AU = 0
⎨ x ∈ [0,1] .
⎩U (0) = b,
Легко проверить, что ее решением является функция U ( x) = be − Ax .
Рассмотрим несколько разностных схем, аппроксимирующих данную задачу.
а) Рассмотрим разностную схему, построенную на аппроксимации
производной:
U ( x + h) − U ( x − h)
U ′( x) ≈ .
h
Запишем РКЗ
⎧U ( x k + h) − U ( x k )
⎪ + AU ( x k ) = 0
⎨ h
⎪⎩U (0) = b,

или
⎧U k +1 − U k
⎪ + AU k = 0
⎨ h
⎪⎩U 0 = b.

Отсюда
⎧U k +1 + ( Ah − 1)U k = 0

⎩U 0 = b,
или
⎧U k +1 = (1 − Ah)U k

⎩U 0 = b.
Порядок аппроксимации производной равен O (h) и начальные условия
выполнены точно, то есть разностное решение аппроксимирует
дифференциальную задачу с порядком O (h) .
Соответствующая решению ДКЗ сеточная функция будет иметь вид:
[U ] h = {be − Axk } .
Выясним порядок сходимости разностной схемы. Для этого используем
разложение в ряд:
x2 x3
ln( x) = x − + − ... .
2 3
Получим следующую цепочку преобразований:
K
U k = U ( xk ) = b(1 − Ah) k = beln(1− Ah ) =
⎛ xk ⎞ ⎛ xk 2 ⎞
⎜ ln(1− Ah ) ⎟ ⎜ ( − Ah + O ( h )) ⎟
= be k ln(1− Ah ) = be⎝ h ⎠
= be⎝ h ⎠
=
= be − AxK +O ( h ) = be− AxK (1 + O(h)) = be− AxK + O(h).
То есть
[U ] h − U k = O(h) ,

112
а это значит, что мы имеем сходимость порядка O(h).
б) Возьмем теперь более точную аппроксимацию производной:
⎧ U ( x + h) − U ( x − h)
⎪U ′( x) ≈
⎨ 2h ,
⎪⎩ U0 = b
и получим разностную схему

⎧U k +1 − U k −1
⎪ + AU k = 0
⎨ 2h
⎪⎩U 0 = b.
Преобразуем ее к виду
⎧U k +1 + 2 AhU k − U k −1 = 0

⎩U 0 = b.
Для решения требуется U1. Найдем его, поступая следующим образом:
U ( h ) − U ( 0)
U ′(0) ≈ ,
h
значит
U1 − U 0
= − AU 0 + O(h) ,
h
и, следовательно
U 1 = U 0 − hAU 0 + hO ( h) = U 0 (1 − Ah ) + O (h 2 ) .
Разностная аппроксимация при подстановке точного решения в схему дает
порядок аппроксимации O(h2).
Выясним порядок сходимости. Запишем соответствующее
характеристическое уравнение:
q 2 + 2 Ahq − 1 = 0 .
Решая его, имеем
q1, 2 = − Ah ± A 2 h 2 + 1 ,
откуда общее решение имеет вид
U k = α ⋅ q1k + β ⋅ q 2k .
Используя начальные условия, найдем α и β из системы уравнений:
b =α + β , b ⋅ (1 − Ah) = α ⋅ q1 + bq2 .
Получим
α = b + O(h 2 ), β = O(h 2 ) .
Тогда решение РКЗ имеет вид:
U k = bq1k + O ( h 2 ) .
Так как (1 + x) m = 1 + mx + ... , получим
1 2 2
q1 = − Ah + A 2 h 2 + 1 = 1 − Ah + A h + O(h 4 ) .
2

113
Тогда
1 1
x K / h ln(1− Ah + A 2 h 2 + O ( h 4 )) x K / h ln( − Ah + A3 h 3 + O ( h 4 ))
q1k = q1xK / h = e xK / h ln q1 = e 2
=e 6
=
1 1
A3 x k h 2 + O ( h 4 ) − Axk (1+ A3 xk h 2 + O ( h 4 )
= e − Axk ⋅ e 6 =e 6
.
Следовательно
U ( h ) = be − Axk + O(h 2 ),
[U ] h = U ( x k ) = be − Axk .
То есть [U ] h − U k = O (h 2 ) .
В рассмотренном выше примере порядки аппроксимации и сходимости
совпадают, то есть, какой порядок аппроксимации разностной схемы, такой и
порядок ее сходимости. Следующий пример показывает, что это далеко не
всегда верно.
Пример 4. Рассмотрим еще одну разностную схему, основанную на
следующей аппроксимации производной

U ( x + h) − U ( x − h) U ( x + h) − U ( x )
μ + (1 − μ ) ≈ U ′( x) .
2h h
Предыдущие схемы были частными случаями данной схемы при μ = 0 и
μ = 1 . Если взять в разностной схеме μ = 4 , то порядок аппроксимации будет
O(h), но сходимости, как можно показать, не будет.
Вывод о совпадении порядков аппроксимации и сходимости разной
схемы верен только для так называемых устойчивых разностных схем.

114
11.5. Устойчивость разностных схем

Рассмотрим ДКЗ
LU=f (11.14)
и соответствующую ей разностную схему
L hU ( h ) = f ( h ) . (11.15)
Пусть U = U (x) - решение задачи (1) и построена сеточная функция [U]h.
Построим невязку
δf ( h ) = Lh [U ] h − f ( h ) .
Напомним, что разностная схема аппроксимирует решение U (x) с порядком
m, если справедливо соотношение:
δf ( h ) ≤ Ch m ,
где C – постоянная, не зависящая от h.
Рассмотрим возмущенную разностную схему:
Lh ⋅ Z = f + ε ( h ) , где ε ( h ) ∈ Fn .
(h) (h)
(11.16)
Т.е. схема (11.16) получена добавлением к правой части разностной схемы
(11.15) возмущения ε ( h ) ∈ Fn . Новое решение обозначим через Z(h).
Определение 3. Разностную схему (11.15) будем называть устойчивой, если
существуют числа h0 > 0 и δ > 0 такие, что при всех 0 < h < h0 и всех
ε ( h ) ∈ Fh таких, что ε ( h ) < δ , возмущенная разностная схема (11.16) имеет
единственное решение, и это решение удовлетворяет оценке
Z −U
(h) (h)
≤ C ⋅ ε (h) , (11.17)
где С=const и не зависит от h.
Необходимо подчеркнуть, что устойчивость не связана с дифференциальной
краевой задачей (11.14), а имеет отношение только к разностной краевой
задаче (11.15). То есть устойчивость – это внутреннее свойство разностной
схемы.
Пусть задачи (11.14) и (11.15) линейны, тогда можно дать равносильное
определение устойчивости разностной схемы.
Определение 4. В случае линейной РКЗ разностная схема (11.15)
называется устойчивой, если существует число h0 > 0 такое, что при любом
h < h0 разностное задача (11.15) имеет единственное решение при любой
правой части f(h), и это решение удовлетворяет соотношению
U (h) ≤ C ⋅ f (h) , (11.18)
где С – независимая от шага h константа.
Убедимся в равносильности этих определений в случае линейной разностной
краевой задачи. Пусть задача (11.15) линейна и устойчива по определению 4 .
Наряду с задачей (11.15)
LhU h = f (h ) ,
рассмотрим возмущенную задачу (11.16)
Lh Z h = f ( h ) + ε ( h ) ,

115
которая имеет решение, причем единственное. Вычтем (11.15) из (11.16),
используя линейность разностного оператора. Получим
Lh ( Z h − U ( h ) ) = ε ( h ) ,
L hW ( h ) = ε ( h ) , (11.19)
где W = Z − U .
(h) (h) (h)

Разностная задача (11.19) имеет единственное решение по определению 4,


причем выполнено условие (11.18):

W (h) ≤ C ⋅ ε (h) .
С учетом введенных обозначений выполнено также условие (11.17), то есть
Z (h) − U (h) ≤ C ⋅ ε (h) .
То есть из определения 4 следует определение 3. Нетрудно показать, что
справедливо и обратное.
Замечания.
1) Понятие устойчивости зависит от определения нормы. За счет выбора
подходящей нормы можно в известных пределах добиться устойчивости
разностной схемы, неустойчивой в другой норме.
2) Понятие хорошей обусловленности представляет собой частный случай
устойчивости, когда разностное уравнение линейно, второго порядка и выбор
нормы зафиксирован (как выше).
Пример 5. Рассмотрим ДКЗ
⎧U ′′ − (1 + x 2 )U = x + 1, 0 ≤ x ≤1

⎪ U (0) = 2


⎪⎩ U (1) = 1.
Для данной задачи построим разностную схему:
U ( xi + h) − 2U ( xi ) + U ( xi − h) − (1 − x 2 )U ( xi ) = xi + 1 ,
i=0,…,n.
Она аппроксимирует задачу с порядком аппроксимации O(h2).
Тогда имеем РКЗ:
⎧U i +1 − 2U i + U i −1
⎪ 2
− (1 + xi2 )U i = xi + 1
⎨ h
⎪U 0 = 2, U n = 1.

Покажем, что задача хорошо обусловлена.
2
bi = + (1 + xi ) ,
h2
1 1
a i + ci = 2
+ 2, bi ≥ ai + ci + δ .
h h
При δ = 1 задача является хорошо обусловленной. Из этого следует
устойчивость задачи.

116
Теорема 3. Если разностная схема (11.15) аппроксимирует
дифференциальную краевую задачу (11.14) на решении U(x) с порядком
аппроксимации O(hm) и разностная схема (11.15) устойчива, то имеет место
сходимость разностной схемы (11.15) на решении U(x) с порядком
сходимости O(hm).
Доказательство. Рассмотрим решение U(x) задачи (11.14) и сеточную
функцию [U]h. Запишем невязку:
δ ⋅ f ( h ) = Lh [U ] h − f ( h ) .
Преобразуем это выражение в
Lh [U ] h = f ( h ) + δ ⋅ f ( h ) .
Мы получили возмущенную задачу, где Z ( h ) = [U ] h и δ ⋅ f (h ) − возмущение.
Так как разностная схема устойчива, то
U ( h ) − [U ] h ≤ C ⋅ δ ⋅ f ( h ) ≤ CC1 h m .
Последнее означает, что имеет место сходимость порядка m.
Теорема доказана.
Возвращаясь к примеру 3, можем сделать вывод, что порядок сходимости
разностной схемы в данном примере равен O(h2).
Следующий пример показывает применение теоремы 1 для
доказательства устойчивости разностных схем.
Пример 6. Рассмотрим разностную краевую задачу
⎧ du
⎪ − G ( x, u ) = g ( x ) 0 ≤ x ≤1
⎨ dx
⎪⎩U (0) = ϕ .
Будем предполагать функции G и g непрерывными по совокупности
переменных, а функцию G дополнительно непрерывно дифференцируемой
по u. Тогда в некоторой замкнутой ограниченной области на плоскости Oxu,
содержащей внутри себя точку (0, φ) , будет выполнено неравенство
∂G
( x, u ) ≤ M ,
∂u
где М=const.
Запишем разностную схему:
U ( xi + h) − U ( xi )
− G ( xi ,U ( xi )) = g ( xi )
h
или
⎧U i +1 − U i
⎪ − G ( xi ,U i ) = g i
⎨ h (11.20)
⎪⎩U 0 = U .

117
Очевидно, разностная схема (11.20) представляет собой известную схему
Эйлера.
Рассмотрим возмущенную задачу:
⎧ Z i +1 − Z i
⎪ − G ( xi , Z i ) = gi + ε i
⎨ h (11.21)
⎪⎩ Z 0 = ϕ + ε ,
или Lh Z ( h ) = g (h ) + ε ( h ) .
Обозначим ω i = Z i − U i и, вычитая из (11.21) равенство (11.20) и применяя
формулу Лагранжа, получим задачу
⎧ω i +1 − ω i
⎪ − GU' ( xi , ξ i )ω i = ε i
⎨ h
⎪⎩ω 0 = ε .
Отсюда
ω i +1 = ω i + hM iω i + ε i h , где M i = GU' ( xi , ξ i ) , ξi - некоторое промежуточное
значение между Ui и Zi . Очевидно M i ≤ M , и, следовательно,

ω i +1 ≤ (1 + hM ) ⋅ ω i + h ε i ≤ (1 + hM ) ⋅ ω i + h ε ( h ) ,
где
ε ( h ) = max ⎧⎨ ε , max ε i ⎫⎬ .
⎩ i =0,n ⎭
Тогда ω i ≤ (1 + hM ) ⋅ ω i −1 + h ε ( h ) ,
и
ω i +1 ≤ (1 + hM ) 2 ω i −1 + h(1 + hM ) ε ( h ) + h ε ( h ) ≤ (1 + hM ) 2 ω i −1 + 2(1 + hM ) ε ( h ) ,

ω i +1 ≤ (1 + hM ) i +1 ω 0 + (i + 1)(1 + hM ) i ε ( h ) ≤ (1 + hM ) h ε ( h ) + (1 + Mh) h ε ( h ) ,

ω i +1 ≤ 2(1 + hM ) h ε ( h ) , ∀ i = 0, n − 1 .
Поскольку
M h
(1 + hM ) h = (1 + ) ≤ eM ,
h
то
ω i +1 ≤ 2e M ε ( h ) ,
и значит
ω ( h ) ≤ 2e M ε ( h ) .
Таким образом, выполнено условие (11.17), и, по определению 3, разностная
схема устойчива. Тогда, согласно теореме 1, схема Эйлера сходится с
порядком сходимости O(h).

118
12. РАЗНОСТНЫЕ СХЕМЫ РЕШЕНИЯ КРАЕВЫХ
ЗАДАЧ ДЛЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В
ЧАСТНЫХ ПРОИЗВОДНЫХ

12.1. Разностные аппроксимации дифференциальных


краевых задач

Рассмотрим дважды непрерывно дифференцируемую функцию двух


переменных U=U(x,y) в области D (см. рис.12.1), лежащей на плоскости Oxy.
Необходимо аппроксимировать ее частные производные
∂U ∂U ∂ 2U ∂ 2U ∂ 2U
, , , ,
∂x ∂y ∂x 2 ∂x∂y ∂y 2
с помощью разностных производных.
Разобьем область D с помощью вертикальных и горизонтальных
прямых с шагом h и l соответственно. То есть, проведем прямые
x = xi , y = y j , где
xi = x 0 + ih, i = 0, n

y j = y 0 + jl , j = 0, m .
Точки их пересечения образуют сетку на плоскости.

Рис. 12.1

Положим U i , j = U ( xi , y j ) . Очевидно, возможны различные аппроксимации


частных производных первого порядка:

∂U U ( xi + h, y j ) − U ( xi − h, y j ) U i +1, j − U i −1, j
( xi , y j ) ≈ = ,
∂x 2h 2h
∂U U ( xi + h, y j ) − U ( xi , y j ) U i +1, j − U i , j
( xi , y j ) ≈ = ,
∂x h h

119
∂U U ( xi , y j + l ) − U ( xi , y j − l ) U i , j +1 − U i , j −1
( xi , y j ) ≈ = .
∂x 2h 2h

Их называют соответственно левой, правой и центральной разностными


производными.
∂U
Аналогично получаются аппроксимации для производной . Для
∂y
вторых производных можно ввести аппроксимации
∂ 2U U ( xi + h, y j ) − 2U ( xi , y j ) + U ( xi − hi , y j ) U i +1, j − 2U i j + U i −1, j
( x i , y j ) ≈ = ,
∂x 2 h2 h2
∂ 2U U i , j +1 − 2U i , j + U i , j −1
≈ ,
∂y 2 l2
′ ′
∂ 2U ⎛ ∂U ⎞ ⎛ U ( xi + h, y j ) − U ( xi − hi , y j ) ⎞
( xi , y j ) = ⎜ ⎟ ≈⎜ ⎟ ≈
∂x∂y ⎝ ∂x ⎠ y ⎝ 2h ⎠y
U ( xi + h, y j + l ) − U ( xi − hi , y j + l ) U ( xi + h, y j − l ) − U ( xi − hi , y j − l )
≈ − =
2h 2h
U − U i −1 , j +1 −U i +1 , j −1 +U i −1, j −1
= i +1, j +1 .
4hl
Пусть U=U(x,y). Рассмотрим в области D уравнение в частных
производных вида:
∂ 2U ∂ 2U ∂ 2U ∂U ∂U
a11 2 + 2a12 + a22 2 + a31 + a32 + a33U = g ( x, y ) (12.1)
∂x ∂x∂y ∂y ∂x ∂y
где a11 , a12 , a 22 , a31 , a32 , a33 − некоторые числовые коэффициенты, g(x,y) −
непрерывная в области D функция. Будем рассматривать уравнение (12.1)
совместно с граничным условием
U | Г = ϕ ( x, y ), (12.2)
где Г − контур, ограничивающий область D.
Задачу (12.1), (12.2) будем называть дифференциальной краевой задачей
и записывать коротко в виде
LU = f , (12.3)
где
⎧ ∂ 2U ∂ 2U ∂ 2U ∂U ∂U
a
⎪ 11 ∂x 2 + 2 a12 + a22 + a13 + a23 + a33U при ( x, y ) ∈ D
LU = ⎨ ∂x∂y ∂y 2
∂x ∂y
⎪U |
⎩ Γ при ( x, y ) ∈ Γ,

⎧ g ( x, y ) при ( x, y ) ∈ D

f =⎨
⎪ϕ ( x, y ) при ( x, y ) ∈ Γ,

U = U ( x, y ) − неизвестная функция двух переменных.

120
Заменяя частные производные во внутренних узлах сетки их
разностными аппроксимациями, получим следующую разностную схему
дифференциального уравнения (12.1)
U i +1, j − 2U i , j + U i −1, j U i +1, j +1 − U i −1, j +1 − U i +1, j −1 + U i −1, j −1
a11 2
+ a12 +
h 2lh
(12.4)
U i , j +1 − 2U i , j + U i , j −1 U i +1, j − U i −1, j U i , j +1 − U i , j −1
+ a22 + a31 + a32 + a33U i , j = gi. j
h2 2h 2l
где U i , j= U ( xi , y j ) , g i , j = g ( xi , y j ) .
Каждый узел ( xi , y j ) , лежащий внутри области, будем называть
внутренним и множество внутренних узлов обозначим D * . Узлы, лежащие на
контуре Γ (если они есть) и узлы, окаймляющие контур Γ извне, будем
называть граничными и обозначим их совокупность Γ * (см. рис. 12.1).
Аппроксимируем граничные условия (2), полагая
U ij = ϕ ij* для ( xi , y j ) ∈ Γ * , (12.5)
где ϕ ij
*
− значение функции ϕ ( x, y ) в точке на контуре Γ , ближайшей к
узлу ( xi , y j ) ∈ Γ * .
Таким образом, мы получили разностную краевую задачу (12.4), (12.5) ,
соответствующую дифференциальной краевой задаче (12.1), (12.2). Задачу
(12.4), (12.5) называют также разностной схемой задачи (12.1), (12.2). В ней
неизвестными являются всевозможные значения Uij , соответствующие
внутренним узлам. Отметим, что по существу задача (12.4), (12.5)
представляет собой систему линейных уравнений относительно неизвестных
Uij .
Обычно выбирают l = r (h) , где r − некоторая функция, или l = rh , где r −
постоянная. Совокупность всех узлов обозначим
Dh = D * ∪ Γ *
и будем называть сеткой в области D.
Функцию U (h ) , определенную на сетке Dh , будем называть сеточной. Т.е.
это функция, которая ставит в соответствие каждому узлу ( xi , y j ) ∈ Dh число
U ( xi , y j ) = U ij .
Обозначим через U h пространство всех сеточных функций на сетке Dh и
введем в нем норму сеточной функции U (h ) , полагая
U ( h ) = max U ij( h ) ,
h U i, j

где максимум берется по всем узлам сетки Dh .


Для краткости будем записывать разностную схему (12.4), (12.5)
дифференциальной краевой задачи (12.1), (12.2) в виде операторного
уравнения
L hU ( h ) = f ( h ) , (12.6)
определенного на сетке Dh , где

121
⎧ U i +1, j − 2U i , j + U i −1, j U i +1, j +1 − U i −1, j +1 − U i +1, j −1 + U i −1, j −1
⎪ a11 2
+ a12 +
⎪ h 2lh
⎪ U i , j +1 − 2U i , j + U i , j −1 U i +1, j − U i −1, j U i , j +1 − U i , j −1
⎪ + a 22 + a 31 + a32 + a33U i , j
⎪ h2 2h 2l
LhU ( h ) = ⎨ при ( x , y ) ∈ D*
⎪ i j




⎪U ( h ) | * , при ( xi , y j ) ∈ Γ* ,
⎩ Γ

⎧⎪ gij = g ( xi , y j ), при ( xi , y j ) ∈ D*
f (h)
=⎨ *
⎪⎩ϕij , при ( xi , y j ) ∈ Γ ,
*

ϕ ij* − значение функции ϕ ( x, y ) в точке на контуре Γ , ближайшей к


узлу ( xi , y j ) ∈ Γ * .
Для классификации разностных схем используется понятие
шаблона. Шаблоном разностной схемы называется геометрическое место
узлов сетки, участвующих в разностном уравнении (4) (см. рис.12.2). В
зависимости от разностного уравнения шаблон может быть полным и
неполным.

J+1

j − полный шаблон
j-1
i-1 i i+1
Рис. 12.2.

Возникают естественные вопросы: Существует ли решение краевой


дифференциальной задачи (12.1), (12.2) и единственно ли оно, в случае, если
существует? Существует ли решение разностной краевой разностной задачи
(12.4), (12.5)? Если существует, будет ли оно единственным? Если
разностная краевая задача имеет решение, будет ли оно сходится при h и l
стремящихся к нулю? Если оно сходится, то сходится ли к решению
дифференциальной краевой задачи (12.1), (12.2)? Если оно сходится, то с
какой скоростью?
Первый вопрос относится к теории дифференциальных уравнений.
Ответы на остальные вопросы дает численный анализ.
Рассмотрим отдельные примеры дифференциальных краевых задач
в частных производных.

122
12.2. Уравнение теплопроводности

Рассмотрим одномерный однородный стержень длины L. Пусть U ( x, t )


− температура в точке стержня с абсциссой x в момент времени t. Из
математической физики известно, что распределение температуры в точках
стержня в зависимости от времени описывается дифференциальным
уравнением

∂U ∂ 2U
= a2 . (12.7)
∂t ∂x 2
Добавим к уравнению естественные граничные условия:
U (0, t ) = ϕ (t ) ,
U ( L , t ) = ψ (t ) , (12.8)
U ( x ,0 ) = g ( x ) ,
которые описывают температуру, измеряемую на концах стержня и
начальное распределение температуры в точках стержня.
Построим сетку xi = ih, i = 0, n , t j = jl , j = 0, m. в области D (см. рис.12.3)

Рис. 12.3.
Заменим в дифференциальном уравнении значения частных
производных во внутренних узлах их разностными аппроксимациями:
∂U U i , j +1 − U i , j
≈ ,
∂t l
∂ 2U U i +1, j − 2U i , j + U i −1, j
( xi , y j ) ≈ .
∂x 2
h2
Получим разностное уравнение соответствующее исходному
дифференциальному уравнению:

U i , j +1 − U i , j U i +1 − 2U i , j + U i −1, j
= a2 ,
l h2
или
l
U i , j +1 = U i , j + a 2 (U i +1, j − 2U i , j + U i −1, j ) . (12.9)
h2
Положим
g i = g ( xi ) , ϕ j = ϕ (t j ) , ψ j = ψ (t j ) .
Тогда граничные условия аппроксимируются следующим образом
U i0 = gi , U 0, j = ϕ j , U nj = ψ j . (12.10)

123
Зная значения U ij на нижнем (нулевом) слое и на границе слева и
справа, вычисляем U i ,1 для i = 1, n − 1 :
a 2l
U i ,1 = U i , 0 + (U i +1,0 − 2U i , 0 + U i −1, 0 ).
h2
Таким образом, мы получили разностную краевую задачу (12.9),
(12.10), которая очевидно имеет решение, причем единственное.
Рассматривая уравнение (12.9), построим его шаблон (см. рис. 12.4):

Рис. 12.4.

Вопрос сходимости к решению дифференциальной задачи зависит


от соотношения между l и h в уравнении (12.7). Известно, что если
a 2l 1 a 2l
≤ , т. е. l ≤ ,
h2 2 h2
то имеет место сходимость.
Рассмотрим подробнее ситуацию:
a 2l 1
= .
h2 2
В этом случае уравнение (12.9) существенно упрощается и принимает вид:
1
U i , j +1 = (U i +1, j + U i −1, j ) .
2
На рис. 12.5 показан его шаблон.

Рис. 12.5.

Пусть U h ,l ( x, t ) - функция двух переменных, график которой построен на


основе аппроксимации плоскостями найденных при решении задачи (12.9),
a 2l 1
(12.10) значений U ij . Можно показать, что при выполнении условия ≤
h2 2
функция U h ,l ( x, t ) будет сходиться к решению дифференциальной краевой
задачи (7), (8) и скорость сходимости будет:
(U h ,l ( x, t ) − U ( x, y ) = O ( h 2 ) .

12.3. Волновое уравнение

Волновое уравнение − дифференциальное уравнение в частных


производных 2-го порядка, описывающее процесс распространения
колебаний в некоторой среде. Мы будем рассматривать малые колебания
натянутой струны, закрепленной в двух точках на оси Ох.
124
Пусть U(x, t) – отклонение точки струны с абсциссой х в момент
времени t от положения равновесия. Тогда величина U(x, t) описывается
уравнением
∂ 2U 2 ∂ U
2
= a (12.11)
∂t 2 ∂x 2

Добавим к уравнению граничные условия:


∂U
U (0, t ) = 0 , U ( L, t ) = 0 , U ( x,0) = ϕ ( x ) , ( x,0) = ψ ( x) , (12.12)
∂t
которые отражают тот факт, что концы струны закреплены и дают величину
начального отклонения точек струны от положения равновесия и их
начальные скорости.

Построим сетку:

Рис. 12.6.

xi = ih, i = 0, n , t j = jl , j = 0, m .

Заменим значения производных во внутренних узлах сетки их


разностными аппроксимациями:
∂ 2U U i +1, j − 2U i , j + U i −1, j
( x i , t j ) ≈ ,
∂x 2 h2
∂ 2U U i , j +1 − 2U i , j + U i , j −1
( x i , t j ) ≈ .
∂t 2 l2
Получим разностное уравнение, отвечающее уравнению

U i , j +1 − 2U i , j + U i , j −1 U i +1, j − 2U i , j + U i −1, j
= a2
l2 h2
или
U i , j +1 = 2U i , j − U i , j −1 + λ (U i +1, j − 2U i , j + U i −1, j ) ,
a 2l 2
где λ= .
h2
Запишем его окончательно в виде:

U i , j +1 = 2(1 − λ )U i , j − U i , j −1 + λ (U i +1, j + U i −1, j ) . (12.13)

Данное разностное уравнение имеет шаблон, изображенный на рисунке 12.7.

125
Рис. 12.7.
Получим аппроксимацию граничных условий (12.12):
U 0, j = 0 , U n, j = 0 , ∀j = 0, m (12.14)
U i ,0 = ϕ i , ϕ i = ϕ ( x0 ) , ψ i = ϕ ( xi ) , (12.15)
а также
U i ,1 − U i ,0
=ψi
l
или

U i ,1 = U i , 0 − lψ i . (12.16)
Как легко видеть разностная схема (12.13)-(12.16) имеет единственное
решение и легко реализуется последовательным вычислением значений
сеточной функции, начиная с нулевого и первого слоя. Можно показать, что
приближенное решение U h ,l ( x, t ) , полученное из решения разностной схемы
(12.13)-(12.16), будет сходиться к решению исходной дифференциальной
краевой задачи, если
a 2l 2 1
≤ ,
h2 2
причем со скоростью (U h ,l ( x, t ) − U ( x, y ) = O(h 2 ) .

12.4. Задача Дирихле для уравнения Лапласа

Пусть D область на плоскости Oxy (см. рис.12.1), ограниченная


замкнутым контуром Г. Рассмотрим в этой области однородное уравнение
Лапласа
∂ 2U ∂ 2U
+ =0
∂x 2 ∂y 2
с граничными условиями
U Γ = ϕ ( x, y ) .

Данную краевую задачу называют задачей Дирихле для уравнения


Лапласа. Поскольку переменные x и y имеет одинаковый характер,
разобьем область с помощью вертикальных и горизонтальных прямых с
одинаковым шагом l=h.
Для каждого внутреннего узла (xi, yj) составим разностное уравнение:

U i +1, j − 2U i , j + U i −1, U i , j +1 − 2U i , j + U i , j −1
+ = 0, (12.17)
h2 h2
заменяя значения частных производных в дифференциальном уравнении их
разностными аппроксимациями.

126
Аппроксимируем граничные условия, полагая
U ij = ϕ ij* для ( xi , y j ) ∈ Γ * ,
где Γ * - совокупность граничных узлов (напомним, что это узлы, лежащие
на контуре Γ и узлы, окаймляющие контур Γ извне, см.рис.12.1), ϕ ij* −
значение функции ϕ ( x, y ) в точке на контуре Γ , ближайшей к
узлу ( xi , y j ) ∈ Γ * .
Приводя подобные, получаем разностную схему
1
U i, j = (U i +1, j + U i −1, j + U i , j +1 + U i , j −1 ) , (12.18)
4
U ij = ϕ ij* (в граничных узлах). (12.19)
Полученную разностную схему будем рассматривать как систему
линейных уравнений относительно неизвестных Uij во внутренних узлах.
При этом линейная система является неоднородной, поскольку некоторые
уравнения будут содержать кроме неизвестных еще и определенные
значения U ij = ϕ ij* в граничных узлах. Чтобы система система линейных
уравнений (12.18), (12.19) имела единственное решение, необходимо и
достаточно, чтобы соответствующая ей однородная система имела только
нулевое решение. Но соответствующая однородная система линейных
уравнений имеет вид
1
U i, j = (U i +1, j + U i −1, j + U i , j +1 + U i , j −1 ) , (12.20)
4
U i, j =0 (в граничных узлах).
Допустим, что система (12.20) имеет ненулевое решение. Предположим,
что хотя бы в некоторых узлах это решение принимает положительные
значения, и положим
U i , j = max U i , j = U i , j ,
O O

где максимум берется по всем внутренним узлам.


Если подставить i=i0, j= j0 в уравнение (12.20), то максимальное
значение U i , j равно среднему арифметическому значений нашего решения
O O

в соседних узлах. Но это возможно только в случае, когда значения в


соседних узлах совпадают с максимальным значением U i , j . Подставим O O

теперь в уравнение (12.20)

i=i0+1, j= j0 (i=i0, j= j0+1; i=i0 -1, j= j0; i=i0, j= j0 –1)

и совершенно аналогично получим, что в соседних с данными узлами узлах


решение Uij должно принимать также максимальное значение. Поскольку
через конечное число шагов мы придем к уравнению, в котором участвуют
граничные узлы, получается, что и в граничных узлах значение решения
уравнения (12.20) максимально и, следовательно, положительно. Последнее
очевидно невозможно в виду нулевых граничных условий. Аналогично
рассматривается и случай, когда решение уравнения (12.20) не

127
положительно во всех узлах. Полученное противоречие говорит о том, что
решение (12.20) должно быть нулевым.
Следовательно, система (12.18),(12.19) имеет решение, причем
единственное.

12.5. Сходимость разностных аппроксимаций

В области D , ограниченной контуром Г, рассмотрим дифференциальную


краевую задачу
LU = f , (12.21)
где
⎧ ∂ 2U ∂ 2U ∂ 2U ∂U ∂U
a
⎪ 11 ∂x 2 + 2 a12 + a22 + a13 + a23 + a33U при ( x, y ) ∈ D
LU = ⎨ ∂x∂y ∂y 2
∂x ∂y
⎪U |
⎩ Γ при ( x, y ) ∈ Γ,

⎧ g ( x, y ) при ( x, y ) ∈ D

f =⎨
⎪ϕ ( x, y ) при ( x, y ) ∈ Γ,

U = U ( x, y ) − неизвестная функция двух переменных.

Разобьем область D (см. рис. 12.1) с помощью вертикальных и


горизонтальных прямых с шагом h и l соответственно. То есть, проведем
прямые x = xi , y = y j , где
xi = x0 + ih, i = 0, n

y j = y 0 + jl , j = 0, m .

Положим l = r (h) , где r − некоторая функция, или l = rh , где r −


постоянная. Определим сетку Dh (совокупность внутренних и граничных
узлов) и пространство сеточных функций на сетке Dh с нормой сеточной
функции U (h )
U ( h ) = max U ij( h ) ,
U h i, j

где максимум берется по всем узлам сетки Dh .

Для дифференциальной краевой задачи построим некоторую разностную


схему
L hU ( h ) = f ( h ) , (12.22)
где

128
⎧ U i +1, j − 2U i , j + U i −1, j U i +1, j +1 − U i −1, j +1 − U i +1, j −1 + U i −1, j −1
⎪ a11 2
+ a12 +
⎪ h 2lh
⎪ U i , j +1 − 2U i , j + U i , j −1 U i +1, j − U i −1, j U i , j +1 − U i , j −1
⎪ + a 22 + a 31 + a32 + a33U i , j
⎪ h2 2h 2l
LhU ( h ) = ⎨ при ( x , y ) ∈ D*
⎪ i j




⎪U ( h ) | * , при ( xi , y j ) ∈ Γ* ,
⎩ Γ

⎧⎪ gij = g ( xi , y j ), при ( xi , y j ) ∈ D*
f (h)
=⎨ *
⎪⎩ϕij , при ( xi , y j ) ∈ Γ ,
*

ϕ ij* − значение функции ϕ ( x, y ) в точке на контуре Γ , ближайшей к


узлу ( xi , y j ) ∈ Γ * .

Будем предполагать далее, что


1) дифференциальная краевая задача (12.21) имеет решение U = U ( x, y ) ,
причем единственное;
2) разностная краевая задача (12.22) имеет единственное решение при
любом выборе шага h меньшего некоторого значения h0 .
Определим сеточную функцию [U ]h , значения которой совпадают на
сетке Dh со значениями решения U ( x, y ) дифференциальной краевой задачи
(12.21) в узлах сетки Dh .
Определение 1. будем говорить, что разностная схема (12.22) сходится
на решении U ( x, y ) дифференциальной краевой задачи (12.21), если
U ( h ) − [U ] h → 0 при h → 0 ,
U h

где U (h ) − решение разностной краевой задачи (12.22). При этом, если


U ( h ) − [U ] h ≤ C1 h m ,
U h

где C1 = const не зависящая от h , то имеет место порядок сходимости O(h m ) .

Введем пространство сеточных функций Fh , элементами которого


являются всевозможные сеточные функции f (h ) , определенные на сетке Dh .
Норму в пространстве Fh определим как
f ( h ) = max ϕ ij + max g ij .
F h
( xi , y j )∈Γ* ( xi , y j )∈D *

Рассмотрим невязку
δf ( h ) = Lh [U ] h − f ( h ) ,
соответствующую решению U = U ( x, y ) дифференциальной краевой задачи
(12.21).

129
Определение 2. Будем говорить, что разностная схема (12.22)
аппроксимирует дифференциальную краевую задачу (21) на ее решении
U = U ( x, y ) , если
δf ( h ) F → 0 при h → 0 .
h

При этом будем говорить, что имеет место порядок аппроксимации O(h m ) ,
если
δf ( h ) F ≤ C 2 h m ,
h

где C 2 = const не зависит от h .


По аналогии с параграфом 11 введем понятие устойчивости разностной
схемы. (Отметим, что здесь мы имеем дело только с линейными
дифференциальными операторами LU ).
Определение 3. Разностная схема (12.22) называется устойчивой, если
существует число h0 > 0 такое, что для любого h < h0 разностная краевая
задача (12.22) имеет единственное решение при любой правой части f (h ) , и
это решение удовлетворяет условию
U (h) ≤ C f (h) , (12.23)
где C = const не зависит от h и f (h ) .
Теорема 1. Пусть разностная схема (12.22) аппроксимирует
дифференциальную краевую задачу (12.21) с порядком аппроксимации O(h m )
и разностная схема (12.22) устойчива. Тогда разностная схема (12.22)
сходится на решении U ( x, y ) дифференциальной краевой задачи (12.21) с
порядком сходимости O(h m ) .
Доказательство теоремы проводится аналогично доказательству
теоремы 1 предыдущего параграфа.
Теорема 1 представляет собой эффективное средство исследования
сходимости разностных схем. Покажем это на примере задачи
теплопроводности.
Пример. Рассмотрим задачу теплопроводности
∂U ∂ 2U
− a 2 2 = 0 , x ∈ [o, L ] , t ∈ [0, T ] ,
∂t ∂x
с граничными условиями
U ( x,0) = g ( x ) , U (0, t ) = ϕ (t ) , U ( L, t ) = ψ (t ) .
Введем сетку Dh , определенную прямыми
xi = ih, i = 0, n ; t j = jl , j = 0, m ,
h2
где n = L / h, m = T / l , l = .
2a 2
Составим разностную схему, соответствующую рассматриваемой
дифференциальной краевой задаче в узлах сетки Dh . Получим
U ( xi , t j +1 ) − U ( xi , t j ) U ( xi +1 , t j ) − 2U ( xi , t j ) + U ( xi −1 , t j )
− a2 =0
l h2
или, полагая U i , j = U ( xi , t j ) ,

130
U i , j +1 − ui , j 1 (U i +1, j − 2U i , j + U i −1, j )
2
− =0
h 2 h2
откуда
1 1
U i , j +1 − U i +1, j − U i −1, j
2 2 = 0.
2
h
Граничные условия будут иметь вид
U i.,0 = g i , U o , j = ϕ j , U n , j = ψ j ,
где g i = g ( xi ) , ϕ j = ϕ (t j ) , ψ j = ψ (t j ) .
Таким образом, мы имеем разностную схему
L hU ( h ) = f ( h ) ,
где
⎧ 1 1
⎪U i , j +1 − U i +1, j − U i −1, j
⎪ 2 2 для (i, j ), соответствующих внутренним узлам
2
⎪⎪ h
LhU ( h ) = ⎨U i ,0 при i = 0, n

⎪U 0, j при j = 0, m

⎪⎩un , j при j = 0, m,

⎧0, для (i, j ), соответствующих внутренним узлам сетки



⎪⎪ g i , i = 0, n
f (h) =⎨
⎪ϕ j , j = 0, m

⎪⎩ψ j , j = 0, m.
Покажем, что разностная схема сходится на решении U ( x, t )
дифференциальной краевой задачи.
Порядок аппроксимации определить легко. Точность разностной
∂U ∂ 2U
аппроксимации производной определяется O(l ) = O(h 2 ) , производной 2
∂t ∂x
− O(h 2 ) , граничные условия аппроксимируются точно. В итоге, разностная
схема имеет порядок аппроксимации O(h 2 ) .
Покажем, что построенная разностная схема устойчива. Рассмотрим
возмущенную краевую задачу
Lh z ( h ) = f (h)

с произвольной правой частью


⎧ f ij , для всех (i, j ) соответствующих внутренним узлам Dh

⎪⎪ g i , i = 0, n
f (h) =⎨
⎪ϕ j , j = 0, m

⎪⎩ψ j , j = 0, m,

131
где f ij , g i , ϕ j , ψ j − произвольные сеточные функции, определенные на
внутренних и граничных узлах сетки.
Надо показать, что возмущенная задача имеет
1) единственное решение z (h ) ;
2) это решение удовлетворяет оценке
z (h) ≤ C f (h) , (12.23)
U F h h

где
z (h)
= max z ij , f ( h ) = max{max g i , max ϕ j , maxψ j , max f ij } .
Uh i, j Fh i j j i, j

Существование решения и его единственность вытекают из того, что


значения z (h ) на нулевом слое (при j = 0 ) определяются граничными
условиями, в первом слое ( j = 1 ) однозначно определяются из разностной
схемы и т.д.
С другой стороны

z i , 0 ≤ g i ≤ f ( h ) , i = 0, n .
Далее
1 1 1 1
z i ,1 ≤ z i +1, 0 + z i −1, 0 + h 2 f i1 ≤ g i + g i + h 2 f i1 ≤ f (h)
+ h 2 f i1 , i = 0, n.
2 2 2 2

Отсюда

z i ,1 ≤ (1 + h 2 ) f (h)
, i = 0, n .

Аналогично
z i , 2 ≤ (1 + h 2 ) f (h)
+ h 2 f i , 2 ≤ (1 + 2h 2 ) f (h)
, i = 0, n ,
…………………………………………
z i ,m ≤ (1 + mh 2 ) f ( h ) , i = 0, n .
Поскольку
T 2 2a 2 ⋅ T ⋅ h 2
mh 2 = h = 2
= 2Ta 2 = const ,
l h
то
.
z ( h) ≤ C f (h)

Таким образом, разностная схема устойчива и, следовательно, в силу


теоремы 1 она сходится на решении U ( x, t ) дифференциальной краевой
задачи с порядком сходимости O(h 2 ) .

132
13. СВОЙСТВА РАЗНОСТНЫХ СХЕМ ДЛЯ УРАВНЕНИЙ С
ЧАСТНЫМИ ПРОИЗВОДНЫМИ

Пусть D − область на плоскости 0 xy , ограниченная контуром Γ . Рассмотрим


дифференциальную краевую задачу
LU = f , (13.1)
где
⎧ ∂ 2U ∂ 2U ∂ 2U ∂U ∂U
a
⎪⎪ 11 2 + a12 + a 22 + a13 + a 23 + a33U при ( x, y ) ∈ D
LU = ⎨ ∂ x ∂x ∂y ∂ y 2
∂x ∂y
⎪U |
⎪⎩ Γ при ( x, y ) ∈ Γ,
⎧ g ( x, y ) при ( x, y ) ∈ D

f =⎨
⎪ϕ ( x, y ) при ( x, y ) ∈ Γ,

U = U ( x, y ) − неизвестная функция двух переменных.
Разобьем область D с помощью прямых xi = x 0 + ih i = 0, n ,
y j = y 0 + jl j = 0, m . Каждый узел ( xi , y j ) , лежащий внутри области, будем
называть внутренним и множество внутренних узлов обозначим D * . Узлы,
лежащие на контуре Γ (если они есть) и узлы, окаймляющие контур Γ извне,
будем называть граничными и обозначим их совокупность Γ * (см. рисунок
13.1).

Рис. 13.1
Обычно выбирают l = r (h) , где r − некоторая функция, или l = rh , где r
− постоянная. Совокупность всех узлов обозначают
Dh = D * ∪ Γ *
и называют сеткой.
Функцию U (h ) , определенную на сетке Dh , будем называть сеточной. Т.е.
это функция, которая ставит в соответствие каждому узлу ( xi , y j ) ∈ Dh число
U ( xi , y j ) = u ij .
Обозначим через U h пространство всех сеточных функций на сетке Dh и
введем в нем норму сеточной функции U (h ) , положим
133
U (h) = max u ij( h ) ,
Uh i, j

где максимум берется по всем узлам сетки Dh .


Построим для дифференциальной краевой задачи (13.1) разностную
схему
L hU ( h ) = f ( h ) , (13.2)
определенную на сетке Dh , где
⎧ Разностная схема, соответствующая левой части
⎪⎪
LhU ( h ) = ⎨дифференциального уравнения из (1), при ( xi , y j ) ∈ D *
⎪ (h)
⎩⎪U | Γ* , при ( xi , y j ) ∈ Γ ,
*

⎧⎪ g ij = g ( xi , y j ), при ( xi , y j ) ∈ D *
f =⎨ ( h)

⎪⎩ϕ ij , при ( xi , y j ) ∈ Γ ,
* *

где ϕ ij* − значение функции ϕ ( x, y ) в точке на контуре Γ , ближайшей к узлу


( xi , y j ) ∈ Γ * .
Будем предполагать далее, что
1) дифференциальная краевая задача (13.1) имеет решение
U = U ( x, y ) , причем единственное;
2) разностная краевая задача (13.2) имеет единственное решение
при любом выборе шага h меньшего некоторого значения h0 .
Определим сеточную функцию [U ]h , значения которой совпадают на
сетке Dh со значениями решения U ( x, y ) дифференциальной краевой задачи
(13.1) в узлах сетки Dh .
Определение 1. Будем говорить, что разностная схема (13.2) сходится на
решении U ( x, y ) дифференциальной краевой задачи (13.1), если
U ( h ) − [U ] h → 0 при h → 0 ,
U h

где U − решение разностной краевой задачи (2). При этом, если


(h )

U − [U ] h
(h)
≤ C1 h m ,
U h

где C1 = const не зависящая от h , то имеет место порядок сходимости O(h m ) .

Введем пространство сеточных функций Fh , элементами которого


являются всевозможные сеточные функции f (h ) , определенные на сетке Dh .
Норму в пространстве Fh определим как
f ( h ) = max ϕ ij + max g ij .
F h
( xi , y j )∈Γ* ( xi , y j )∈D *

Введем невязку
δf ( h ) = Lh [U ] h − f ( h ) ,
соответствующую решению U = U ( x, y ) дифференциальной краевой задачи
(13.1).

134
Определение 2. будем говорить, что разностная схема (13.2)
аппроксимирует дифференциальную краевую задачу (13.1) на ее решении
U = U ( x, y ) , если
δf ( h ) F → 0 при h → 0 .
h

При этом будем говорить, что имеет место порядок аппроксимации O(h m ) ,
если
δf ( h ) F ≤ C 2 h m ,
h

где C 2 = const не зависит от h .


По аналогии с §12 введем понятие устойчивости разностной схемы.
(Отметим, что в данном параграфе мы имеем дело с линейными
дифференциальными операторами LU ).
Определение 3. Разностная схема (13.2) называется устойчивой, если
существует число h0 > 0 такое, что для любого h < h0 разностная краевая
задача (2) имеет единственное решение при любой правой части f (h ) , и это
условие удовлетворяет условию
U (h) ≤ C f (h) ,
где C = const не зависит от h и f (h ) .
Теорема 1. Пусть разностная схема (13.2) аппроксимирует
дифференциальную краевую задачу (13.1) с порядком аппроксимации O(h m )
и разностная схема (13.2) устойчива. Тогда разностная схема (13.2) сходится
на решении U ( x, y ) дифференциальной краевой задачи (13.1) с порядком
сходимости O(h m ) .

Пример. Рассмотрим задачу теплопроводности


∂U ∂ 2U
− a 2 2 = 0 , x ∈ [o, L ] , t ∈ [0, T ] ,
∂t ∂x
с граничными условиями
U ( x,0) = g ( x ) , U (0, t ) = ϕ (t ) , U ( L, t ) = ψ (t ) .
Введем сетку Dh , определенную прямыми
xi = ih, i = 0, n ; t j = jl , j = 0, m ,
h2
где n = L / h, m = T / l , l = .
2a 2
Составим разностную схему, соответствующую рассматриваемой
дифференциальной краевой задаче в узлах сетки Dh . Получим
u ( xi , t j +1 ) − u ( xi , t j ) u ( xi +1 , t j ) − 2u ( xi , t j ) + u ( xi −1 , t j )
− a2 =0
l h2
или, полагая u i , j = u ( xi , t j ) ,
u i , j +1 − u i , j 1 (u i +1, j − 2u i , j + u i −1, j )
2
− =0
h 2 h2
откуда

135
1 1
u i , j +1 − u i +1, j − u i −1, j
2 2 = 0.
h2
Граничные условия будут иметь вид
u i ., 0 = g i , u o , j = ϕ j , u n , j = ψ j ,
где g i = g ( xi ) , ϕ j = ϕ (t j ) , ψ j = ψ (t j ) .
Таким образом, мы имеем разностную схему
L hU ( h ) = f ( h ) ,
где
⎧ 1 1
⎪ u i , j +1 − 2 u i +1, j − 2 u i −1, j
⎪ для (i, j ), соответствующих внутренним узлам
⎪ h2

LhU ( h ) = ⎨u i ,0 при i = 0, n

⎪u 0, j при j = 0, m

⎪u n , j при j = 0, m,

⎧0, для (i, j ), соответствующих внутренним узлам сетки



⎪⎪ g i , i = 0, n
f (h) =⎨
⎪ϕ j , j = 0, m

⎪⎩ψ j , j = 0, m.
Покажем, что разностная схема сходится на решении u ( x, t )
дифференциальной краевой задачи.
Порядок аппроксимации определить легко. Точность разностной
∂U ∂ 2U
аппроксимации производной определяется O(l ) = O(h ) , производной 2
2

∂t ∂x
− O(h ) , граничные условия аппроксимируются точно. В итоге, разностная
2

схема имеет порядок аппроксимации O(h 2 ) .


Покажем, что построенная разностная схема устойчива. Рассмотрим
возмущенную краевую задачу
Lh z ( h ) = f (h)

с произвольной правой частью


⎧ f ij , для всех (i, j ) соответствующих внутренним узлам Dh

⎪⎪ g i , i = 0, n
f (h) = ⎨
⎪ϕ j , j = 0, m

⎪⎩ψ j , j = 0, m,
где f ij , g i , ϕ j , ψ j − произвольные сеточные функции, определенные на
внутренних и граничных узлах сетки.
Надо доказать, что возмущенная задача имеет
3) единственное решение z (h ) ;
136
4) это решение удовлетворяет оценке
z (h) ≤ C f (h) ,
U h F h

где z (h)
= max z ij , f ( h ) = max{max g i , max ϕ j , maxψ j , max f ij } .
Uh i, j Fh i j j i, j

Существование решения и его единственность вытекают из того, что


значения z (h ) на нулевом слое (при j = 0 ) определяются граничными
условиями, в первом слое ( j = 1 ) однозначно определяются из разностной
схемы и т.д.
С другой стороны
z i , 0 ≤ g i ≤ f ( h ) , i = 0, n .
Далее
1 1 1 1
z i ,1 ≤ z i +1, 0 + z i −1, 0 + h 2 f i1 ≤ g i + g i + h 2 f i1 ≤ f (h)
+ h 2 f i1 , i = 0, n.
2 2 2 2
Отсюда
z i ,1 ≤ (1 + h 2 ) f (h)
, i = 0, n .
Аналогично
z i , 2 ≤ (1 + h 2 ) f (h)
+ h 2 f i , 2 ≤ (1 + 2h 2 ) f (h)
, i = 0, n ,
…………………………………………
z i ,m ≤ (1 + mh 2 ) f ( h ) , i = 0, n .
T 2 2a 2 ⋅ T ⋅ h 2
Поскольку mh 2 = h = = 2Ta 2 = const , то
l h2
.
z ( h) ≤ C f (h)

Таким образом, разностная схема устойчива и, следовательно, в силу


теоремы 1 она сходится на решении u ( x, t ) дифференциальной краевой задачи
с порядком сходимости O(h 2 ) .

137
ЛИТЕРАТУРА

1. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. – М:


БИНОМ, 2004. – 636с.
2. Мысовских И.П. Лекции по методам вычислений. М.: Наука, 1993. –
496с.
3. Калитин Н.Н. Численные методы. – М : Наука, 1978. – 612с.
4. Бахвалов Н.С. Численные методы. – М : Наука, 1976. – 632с.
5. Демидович В.П. и др. Численные методы анализа. –М: Физматгиз,
1963. – 400с.
6. Волков Е.А. Численные методы. – М: Наука, 1982. – 255с.
7. Крылов В.И. и др. Вычислительные методы высшей математики. Т.1.
- Мн : Выш шк., 1972. – 684с.
8. Крылов В.И. и др. Вычислительные методы высшей математики. Т.2. –
Мн : Выш. шк., 1976. – 672с.
9. Форсайт Дж. и др. Машинные методы математических вычислений. –
М : Мир, 1980. – 280с.
10. Шуп Т. Решение инженерных задач на ЭВМ. – М: Мир, 1982. – 238с.
11. Сборник задач по методам вычислений / Под ред. Монастырного П.И.
– М: Наука, 1994. – 318с.
12. Самарский А.А. Введение в численные методы. – М: Наука, 1987. –
288с.
13. Березин И.С. , Жидков Н.П. Методы вычислений. Т.1. - М: Фитматгиз,
1962. – 464с.

138
Св. план 2005,поз.52

Учебное издание

Минченко Леонид Иванович

КРАТКИЙ КУРС ЧИСЛЕННОГО АНАЛИЗА

Учебное пособие по курсу «Методы численного анализа» для


студентов специальности «Информатика» для всех форм
обучения

В 2-х частях
Часть1

Редактор Т.Н.Крюкова
Корректор

Подписано в печать Формат 60х84 1/16 Бумага


Гарнитура «Таймс» Печать офсетная Усл.-печ.л.
Уч.-изд.л. Тираж 150 экз. Заказ
Издатель и полиграфическое исполнение: Учреждение образования «Белорусский
государственный университет информатики и радиоэлектроники»
Лицензия на осуществление издательской деятельности№ 02330/0056964 от 01.04.2004.
Лицензия на осуществление полиграфической деятельности№ 02330/0131518 от 30.04.2004.
220013, Минск, П.Бровки, 6

139
140

Оценить