Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
4.2. Метод Ньютона 91
Для решения системы линейных уравнений с матрицей F(x
(k)
) следует использовать прямые методы, так как эта матрица изменяется
с k и маловероятно, чтобы какой-нибудь итерационный метод сходился
при каждом значении k. При этом тип разложения зависит от свойств
и структуры матрицы F(x
(k)
). Теперь рассмотрим вопрос сходимости
метода Ньютона.
Теорема о сходимости метода Ньютона (Канторович). Пусть
функция f(x) дифференцируема в некоторой области S
,a) смат-
o(x0
рицей Якоби F(x). Предположим также, что матрица F(x) обратима
для всех x ∈ S
числа γ
, γ2,иγ3такие, что
1
,a) и существуют вещественные положительные
0(x0
F
−1(x(0)
F
−1(x(0)
) γ1,
)f(x
(0)
) γ
2
и
γ
1
3
2γ1γ
.
2
Пусть также функция f(x) дважды дифференцируема и выпол-
няется условие
D(x) =
∂
∂xm∂x
2
f
n
(x)
l
,
γ
3
n =1,...,N,
для всех x ∈ S
(x
o
(0)
,a),где
b =
1
γ1γ
1 −2γ1γ2γ
1 −
3
.
3
(0)
(x
Если шар S
нерируемая методом Ньютона с начальным вектором x
∗
∈ So(x
к x
что
,b) ∈ So(x0,a), тогда последовательность {x
o
(0)
,b) и существует некоторая константа C>0 такая,
∗
x
− x
(k+1)
Cx∗− x
(k)2
.
(0)
,сходится
Это говорит о квадратичной сходимости, так же, как и в случае
одного уравнения.
(k)
},ге-

92 Глава 4
ПРИМЕР 4.3 (МЕТОД НЬЮТОНА). Рассмотрим систему уравнений (4.7).
Матрица Якоби для этой системы имеет простой вид:
F(x)=
x
2x1
2x
1
−2x
− 1
.
2
Эта матрица обратима для x ∈{x: x
F
−1
(x)=
x
1
2
+ x1(x1− 1)
2
Выберем начальное приближение x
−1(x(0)
F
Числа γ
цы D
таким образом, условие D
Шар S
1,γ2
(x) для данной системы имеют следующий вид:
n
(0)
(x
, 1) ∈ So(x0,a), поэтому приближения, генерируемые по ме-
o
)∞=0.5 и F−1(x
и γ3определяются как γ1=0.5, γ2=0.5 и γ3=2.Матри-
D
(x)=
1
01
10
и D
(x) γ3выполняется и b =1.
n
> 1,x2> 0} = So(x0,a) и
1
0.5(x1− 1)
x
2
−0.5x
x
1
(0)
=(2, 2),тогда
(0)
)f(x
(x)=
2
(0)
20
0 −2
2
)∞=0.5.
,
.
тоду Ньютона, сходятся к точному решению квадратично, начиная с выбранного начального приближения.
Итерационная схема для данной системы уравнений записывается в
виде
(k)
(k)
x
x
2
1
(k)
2x
−2x
1
− 1
(k)
2
(k+1)
x
1
(k+1)
x
2
(k+1)
Δ x
1
(k+1)
Δ x
2
=
(0)
x
=
=
(k)
x
1
(k)
x
2
2
2
+Δx
+Δx
,
(k)
−x
2
1 −(x
(k+1)
1
(k+1)
2
(x
(k)
1
(k)
1
− 1) + 1
)2+(x
,
(k)
2
,
2
)
k =0, 1,... .
Результаты вычислений представлены в Таблице 4.3.
Этот пример показывает, что, когда начальное приближение выбра-
но достаточно близко к x
∗
, метод Ньютона обеспечивает быструю схо-
димость.

4.3. Метод с кубической сходимостью 93
Таблица 4.3.
k x
1.75000
1
1.50000
1.71710
2
1.39912
1.71667
3
1.39534
1.71667
4
1.39533
(k)
(k)
x
− x
(k−1)
2/x
(k)
2
2.4253e − 01 2.2534e − 01
4.7904e − 02 9.6806e − 03
1.7207e − 03 1.4209e − 05
1.8439e − 06 1.5512e −011
f(x
(k))
2
4.3. Метод с кубической сходимостью
Один из путей построения метода с кубической сходимостью — провести аналогию с методами третьего порядка для одномерного уравнения. При этом имеет смысл рассматривать схемы, использующие только
первую производную функции, так как в случае N уравнений вторая
производная скалярной функции заменяется матрицей, содержащей N
частных производных второго порядка, что приводит к очень громоздким
алгоритмам. Поэтому многоточечная итерация (1.25) является наиболее
приемлемым выбором. Перепишем эту схему в следующем виде:
3
(xk)(yk− xk)+f(xk)=0,
f
(xk)(x
f
В многомерном случае мы работаем с векторами из R
ным аналогом f
(x) является матрица Якоби F(x),тогдапредыдущее
− yk)+f(yk)=0.
k+1
N
иестествен-
выражение превращается в
(k)
F(x
F(x
(k)
)(x
)(y
(k)
(k+1)
− x
− y
(k)
)+f(x
(k)
)+f(y
(k)
(k)
)=o,
)=o.
Следует заметить, что метод Ньютона для системы уравнений можно построить, поступая аналогичным образом (смотри (4.9)). Теперь вместо системы (4.10) мы решаем две линейные системы для каждого зна-

94 Глава 4
чения k:
(k)
F(x
(k)
F(x
)Δ x
Матрица F(x
(k)
)Δ y
= −f(x
(k+1)
= −f(y
(k)
) одинакова для обеих систем, поэтому предвари-
(k)
(k)
), y
), x
(k)
(k+1)
= x
= y
(k)
+Δy
(k)
+Δx
(k)
(k+1)
,
.
(4.11)
тельно можно разложить её на множители и затем использовать эти
множители для решения двух систем. Такой подход приводит к тому,
что при больших значениях N вычислительные затраты на решение второй системы определяются в основном затратами на вычисление f (y
(k)
Если этот метод сходится, то имеет место сходимость третьего порядка,
то есть
РИМЕР 4.4 (КУБИЧЕСКАЯ СХОДИМОСТЬ). Рассмотрим систему урав-
П
x
∗
− x
(k+1)
Cx∗− x
(k)3
.
нений (4.7). Матрица Якоби для этой системы приведена в примере 4.3,
и итерационная схема (4.11) имеет вид
(k)
2
(k)
1
(k)
1
x
−2x
(k)
x
1
−2x
(k)
1
x
2x
(k)
x
2
2x
− 1
− 1
(k)
2
(k)
2
x
x
(k)
y
1
(k)
y
2
(k+1)
1
(k+1)
2
Δ y
Δ y
=
(k+1)
Δ x
1
(k+1)
Δ x
2
=
(0)
x
(k)
1
(k)
2
=
=
(k)
+Δy
x
1
(k)
x
+Δy
2
=
(k)
+Δx
y
1
(k)
y
+Δx
2
2
2
−x
1 −(x
(k)
1
(k)
2
−y
1 −(y
(k+1)
1
(k+1)
2
,
(k)
2
(k)
2
(x
(k)
1
(y
(k)
1
,
(k)
− 1) + 1
1
)2+(x
(k)
− 1) + 1
1
)2+(y
,
(k)
2
(k)
2
,
2
)
,
2
)
k =0, 1,... .
).
Результаты вычислений представлены в Таблице 4.4.
Этот метод обеспечивает ещё более быструю сходимость по сравнению с методом Ньютона, но для данной системы он менее эффективен,
так как требует больше вычислений на итерацию. Метод с кубической
сходимостью может иметь предпочтение перед методом Ньютона, когда
число уравнений становится относительно большим.

4.4. Модификации метода Ньютона 95
Таблица 4.4.
k x
1.72395
1
1.42708
1.71667
2
1.39534
1.71667
3
1.39533
(k)
(k)
x
− x
(k−1)
2/x
(k)
2f(x
3.4596e − 02 7.2550e −02
1.4605e − 04 2.0578e −05
3.2996e − 12 2.2204e −16
(k)
)
2
4.4. Модификации метода Ньютона
Часто на практике выражения для элементов матрицы Якоби имеют сложный вид, и их вычисление требует гораздо больших затрат по
сравнению с вычислением функции f(x). По аналогии с одномерным
случаем, можно использовать разностные отношения для аппроксимации частных производных, которые образуют матрицу Якоби. Применяя
этот метод, мы заменяем матрицу F(x) приближённой матрицей D(x),
которая имеет следующий вид:
(k)
D(x
)=%dnm(x
⎧
(k)
⎨
(x
f
n
=
1
⎩
где h — малый параметр. Если вместо матрицы F(x
ставить матрицу D(x
, ...,x
(k)
+ h, ...,x
m
(k)
), определённую в (4.12), мы получим конечно-
h
(k)
(k)
) − fn(x
N
)&=
(k)
, ...,x
1
⎫
(k)
⎬
)
N
,
⎭
(k)
) в(4.10)под-
(4.12)
разностный метод Ньютона. Этот метод обеспечивает, по крайней мере,
линейную сходимость, если значение параметра h достаточно мало. Для
вычисления элементов матрицы D(x
(k)
) можно применить процедуру,
аналогичную той, что использовалась в методе секущих (1.26). Однако, применяя такой подход, мы можем столкнуться с ситуацией деления
очень малых чисел, когда приближенное решение близко к x
может привести к значительному возмущению матрицы D(x
∗
,иэто
(k)
).Врезультате этого сходимость итерационного процесса может замедлиться.
Метод с кубической сходимостью можно также модифицировать, заменяя матрицу F(x
(k)
) в (4.11) на матрицу D(x
(k)
).

96 Глава 4
Шаг (2) в методе Ньютона предусматривает решение системы линейных уравнений на каждой итерации. Когда N достаточно большое,
это может потребовать значительных вычислительных затрат. Поэтому в
некоторых ситуациях имеет смысл несколько упростить метод Ньютона
и тем самым уменьшить количество вычислений, необходимое для решения линейных систем с матрицей Якоби. Один из простейших способов
такой модификации — вычислить матрицу F(x
её вместо матрицы F(x
жем разложить матрицу F(x
(k)
) в последующих итерациях. Тогда мы мо-
(0)
) намножителиодинразииспользовать
(0)
) изатемиспользовать
эти множители для решения систем уравнений на последующих итерациях. Другой несколько более сложный способ модифицировать метод
Ньютона состоит в том, чтобы изменять матрицу F(x
итерации, а через m итераций. Это значит, что вместо матрицы F(x
(k)
) не на каждой
(k)
используется матрица
#
(k)
F(x
(k)
F
(x
)=
m
), если k = pm,
(p)
F(x
), если k = pm,
'
(
k
p =
m
,
где [y] обозначает целую часть числа y.
РИМЕР 4.5 (МОДИФИЦИРОВАННЫЙ МЕТОД НЬЮТОНА). Рассмотрим
П
систему уравнений (4.7). Матрица Якоби для этой системы приведена
в примере 4.3. Если мы выберем начальное приближение x
тогда
F(x
(0)
)=
21
4 −4
(0)
=(2, 2),
)
и итерационная схема упрощённого метода Ньютона имеет вид:
21
4 −4
(k+1)
1
(k+1)
2
=
=
(k)
x
1
(k)
x
2
(k)
−x
2
1 − (x
+Δx
+Δx
(k)
(x
1
(k)
)2+(x
1
(k+1)
1
(k+1)
2
− 1) + 1
,
Δ x
Δ x
(k+1)
x
1
(k+1)
x
2
(k)
2
,
2
)
k =0, 1,... .
Результаты вычислений представлены в Таблице 4.5.
(4.13)

4.5. Повышение надёжности метода Ньютона 97
Таблица 4.5.
k x
1.75000
1
1.50000
1.72396
2
1.42708
1.71829
3
1.40528
(k)
(k)
x
− x
(k−1)
2/x
(k)
2f(x
2.4253e − 01 2.2534e − 01
7.4598e − 02 7.2550e − 02
1.0150e − 02 2.4194e − 02
(k)
)
2
... ... ... ...
1.71667
9
1.39534
8.1816e − 06 2.2523e − 05
Результаты вычислений указывают на линейную сходимость. На самом деле эта итерационная схема представляет собой простую итерацию (4.3), так как мы можем переписать выражение (4.13) в следующей
форме:
(k+1)
x
= x
(k)
− F−1(x
(0)
)f(x
(k)
)=g(x
(k)
)
или
(k+1)
x
1
(k+1)
x
2
= x
= x
(k)
1
(k)
2
(k)
1
(k)
1
,x
,x
(k)
2
(k)
2
) −
)+
1
f
−
(x
1
3
1
−
(x
f
1
3
1
12
1
6
(k)
1
(k)
1
,x
,x
(k)
)=g1(x
2
(k)
)=g2(x
2
f
(x
2
(x
f
2
(k)
1
(k)
1
,x
,x
(k)
2
(k)
2
),
).
Проводя такой же анализ, как в примере 4.1, получим оценку итерационной матрицы B определённой, в (4.4):
B = C(x
∗
) ≈ C(x
(9)
) ≈
0.25 −0.006
0.11 0.30
.
Это указывает на более быструю сходимость по сравнению с методом простой итерации из примера 4.1, так как теперь s(B) ≈ 0.3.
4.5. Повышение надёжности метода Ньютона
Преимуществом метода Ньютона является то, что он обеспечивает быструю сходимость. Однако квадратичная сходимость имеет место

98 Глава 4
7
6
5
12
4
w( , )xx
3
2
1
0
-1
minimum
0
x
1
1
0.2
0
0.4
0.6
x
2
0.8
1
Рис. 4.2. Пример функции w(x) для двумерной проблемы
только тогда, когда начальное приближение выбрано достаточно близко
к точному решению. Существует довольно простой способ расширить
набор начальных приближений, которые порождают итерационные последовательности {x
этого метода основана на том факте, что система уравнений (4.1) имеет
решение x
∗
, когда функция, определённая как
(k)
},быстросходящиесякточномурешению.Идея
N
n=1
2
f
n
(x1, ..., xN),
(k+1)
, генерируемое
w(x)=w(x
, ..., xN)=
1
имеет минимальное значение, равное нулю (рисунок 4.2). Для того чтобы найти этот минимум, рассмотрим приращение Δx
методом Ньютона, как направление для поиска минимума функции w(x).
Если w(x
(k)
+Δx
(k+1)
) w(x
(k)
), тогда мы будем делить приращение
пополам до тех пор, пока не достигнем уменьшения значения функции w(x). Теперь шаг 2) метода Ньютона следует немного изменить.
После решения системы (4.10) будем вычислять вектор
(m)
d
1
=
2
(k+1)
Δ x
m
,m=0, 1, ...,

Таблица 4.6.
... ... ... ...
... ... ... ...
11
... ... ... ...
18
... ... ... ...
21
4.5. Повышение надёжности метода Ньютона 99
k x
299.28907
1
47.01216
149.15142
2
23.54811
339.03070
3
−4.95503
56.05367
8
5.45498
130.53349
−3.83916
7.69136
0.93513
5.94612
0.80401
(k)
(k)
x
− x
(k−1)
2/x
(k)
2f(x
9.9996e − 01 3.1052e +03
1.0064e +00 7.7636e +02
5.6628e − 01 1.1730e +03
8.5945e − 01 6.0374e +01
9.1168e − 01 1.8419e +02
8.9456e − 02 4.6604e −01
5.4723e − 04 2.4848e −07
(k)
)
2
(k)
до тех пор, пока значение w(x
Тогда следующее приближение вычисляется как x
процедура называется демпфированием. В идеальном случае процедура
деления приращения приводит некоторое приближение x
ность точного решения x
∗
, откуда метод Ньютона сходится уже без
(m)
+ d
) не станет меньше чем, w(x
(k+1)
= x
(k)+d(m)
(k)
(k)
.Эта
вокрест-
дальнейшего демпфирования.
П
РИМЕР 4.6 (МЕТОД НЬЮТОНА С ДЕМПФИРОВАНИЕМ). Рассмотрим
следующую систему уравнений:
f
1(x1,x2
)=sin
πx
1
− x
=0,f2(x1,x2)=
20
2
2
x
1
10
− x
2
− 1=0.
2
).

100 Глава 4
Результаты вычислений методом Ньютона с начальным приближе-
(0)
нием x
=(0.01, 0.01) представлены в Таблице 4.6.
В данном случае мы наблюдаем немонотонную сходимость и требуется 21 итерация, чтобы получить приближенное решение с заданной
точностью. Введение демпфирования в метод Ньютона замечательным
образом меняет характер сходимости, как показывает Таблица 4.7.
Таблица 4.7.
k x
4.68624
1
0.74441
5.94047
2
0.81741
5.94678
3
0.80408
5.94612
4
0.80401
(k)
(k)
x
− x
(k−1)
2/x
(k)
2f(x
9.9759e − 01 2.3773e −01
2.0952e − 01 2.5252e −02
2.4591e − 03 1.7838e −04
1.1056e − 04 9.2859e −09
(k)
)
2
Более того, шесть операций деления приращения были выполнены
только на первой итерации, и это требует меньше вычислений, чем шесть
итераций по методу Ньютона. Это говорит о том, что демпфирование не
только делает метод Ньютона более надежным, но и может значительно
уменьшить количество операций, необходимых для получения приближённого решения.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
