Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы научных вычислений. Введение в численные методы для физиков и инженеров

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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)
2f(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)
2f(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)
2f(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)
2f(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
Более того, шесть операций деления приращения были выполнены только на первой итерации, и это требует меньше вычислений, чем шесть итераций по методу Ньютона. Это говорит о том, что демпфирование не только делает метод Ньютона более надежным, но и может значительно уменьшить количество операций, необходимых для получения прибли­жённого решения.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]