第7章 共轭梯度法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Chater 7 最优化方法与共轭梯度法
/*Optimization Method and Conjugate Gradient Method*/
思 想
共轭梯度法是一种变分方法,将求解线性方程组 问题等价转化为一个二次函数的极小值问题 。
nn
一、与方程组等价的变分问题
A (aij ) R 为对称正定矩阵, Ax b T 其中 x ( x1 , x2 ,, xn ) ; b (b1 , b2 ,, bn )T n 定义二次函数 : R R
x 0 r x
(1)
(1)
0 p
(0)
其中 0 ,0 满足
0 r (1)T Ar (1) 0 r (1)T Ap(0) r (1)T r (1) (1)T (0) (0)T (0) 0 r Ap 0 p Ap 0
取下一个搜索方向为
0 (0) x )r p (x p 0 0
(1)
1
(1)
(1)
沿该方向进行一维搜索得步长为
(r , p ) 1 (1) (1) ( Ap , p )
(1)
(1)
0 ( Ar , p ) 记 0 (0) (0) 0 ( Ap , p )
(1) (0)
x
(2)
x 1 p
(1)
( 2)
(1)
p
(1)
r
(1)
0 p
二、最速下降法/*Steepest Descent Method*/
思 想
最速下降法是指每次沿着函数值 下降最快的方向寻找最小值点。
而函数值下降最快的方向是函数的负梯度方向
几何意义:
等值线
x
(0)


x

最速下降法的实现过程 (0) 选取初始向量 x ,由二次函数 ( x ) 的基本性质
( j)
Th7.3
由共轭梯度法得到的 r

(i )
,p
(i )
满足性质:
,p
(i)
( j)
(i )
( j)
(i)

Krylov (克雷洛夫)子空间
(0)
span r , , r
(0)
A, r
span p , , p , k 1 span r , Ar ,, A r
近似解满足
(0)
x

(k )
(k )
min x : x x

(0)
A, r , k
(0) (0)

x xwenku.baidu.com
min x x A


: x x A , r , k A

例:用CG迭代法求解下列方程组: x
( 0)
(0 0 0)

( x) x Ax 2 x b aij xi x j 2 b j x j
T T
n
n
n
i 1 j 1
j 1
二次函数 ( x )的基本性质: 对 x R , ( x) 2( Ax b)
n
设 x A b 为 Ax b 的解,则

1
r
(k )
k Ar
(k )
如果
r

,停止
缺陷:收敛速度慢
否则,进行下一次循环
(k ) x 则由前述最速下降算法产生的序列 满足
Th7.2

A 的特征值为 0 1 n ,
x
其中
(k )

x
A
x A b。
1
n 1 n 1
(0)
r
(0)
)
( x r ) A( x r ) 2b ( x r )
( 0) T ( 0) ( 0)
(r , r ) 0 ( 0) ( 0) ( Ar , r )
d (0) (0) (0) (0) 注意到 2 ( x r ) ( Ar , r ) 0 d
Step2 计算
(1)
r
(1)
r
( 0)
0 Ap
( 0)
6 T (1 6 1) 55
(1) (1)
(r , r ) 72 (r , r ) 55 0 ( 0) ( 0) 1 (1) (1) ( r , r ) 3025 ( Ap , p ) 57
p r 0 p
(0)
下面以 x
为新的迭代值,重复上述过程即可。
(k ) p 一般地,设已经得到 ,则第k+1步迭代的计算公式为
r p k ( k )T ( k ) p Ap ( k 1) (k ) (k ) x x k p ( k 1) ( k 1) b Ax r ( k 1)T (k ) r Ap k ( k )T ( k ) p Ap ( k 1) ( k 1) (k ) r k p p
( x ) ( Ax , x )

,且对 x R 有
n
( x) ( x ) ( Ax, x) 2( Ax , x)

( Ax , x ) ( A( x x ), x x )




Th7.1
Ax b的解的 ( x ) 充要条件是 ( x ) min n
( k )T (k )
终止条件:
r
( k 1)
0
同时注意到
(r , p ) (b Ax ,p ) (k ) (k ) (k ) (k ) (r , p ) k ( Ap , p ) 0
(k ) (k )
( k 1)
( k 1)
(r , p ) ( r , r
(k ) (k ) (k )
(r
( k 1)
,r
(k )
)0
( k 1)
(k )
b Ax (k ) (k ) (r , r ) k (k ) (k ) ( Ar , r ) r
r
(k )
( k 1)
b Ax
(k )
b A( x k r )
x
( k 1)
x
(k )
(k )
k r
( k 1)
p
( k 1)
r
( k 1)
x
( k 1)
x
(k )
k p
(k )
k p
(k )
进行下一次迭代
r
0, 0 i j k r , r 0, i j , 0 i , j k Ap , p 0, i j , 0 i , j k
(k )
k 1 p
( k 1)
) (r , r )
(k) (k)
( k 1)
(r , r ) k (k ) (k) ( Ap , p )
( k 1) (k )
(k )
(k )
(r ,r ) k (k ) (k ) (r , r )
( k 1)
( k 1)
(r (r , Ap ) k (k ) (k ) ( p , Ap )
p
( 0)
b Ax ( 0) r
(k )
k Ap
(k )
如果 r
( k 1)
0 ,停止
( k 1)
否则,计算
For k=0 , 1 , 2 , … , n
(r , r ) 计算 k (k ) (k) ( Ap , p )
(k )
(r , r ) k (k ) (k ) (r , r )

nn
(0) (1) (l ) (i ) ( j) p , p , , p 满足 ( Ap , p ) 0 i j
Def
设 A R
n n
为对称正定矩阵,若 R 中向量组
n
则称它是 R n 中的一个A 共轭(A 正交)向量组。
思 想
利用一维极小搜索方法确定一组 A 共轭方向 代替最速下降法中的正交方向来进行迭代。
(k ) (0) (k) (0) (0) k (0)
定理7.3表明:向量组 r
( 0)
, r ,, r
(1)
(k )

p , p ,, p
( 0)
(1)
(k)
分别是Krylov子空间的正交基和共轭正交基。因此,共轭
梯度法最多用n步便可得到方程组的精确解。
Th5.4
由共轭梯度法计算得到的
x
(k )
设 A 对称正定,则 x 为

xR
证明: 必要性由上述性质易知,下证充分性: 如果 ( x


) min ( x ) n
xR
则由极值的必要条件得

( x ) 2( Ax b) 0 Ax b 2 ( x) A 0

定理7.1说明:求解方程组的解等价于求上述 二次函数的最小值。常用方法:迭代解法
k
x
(0)
x
A
上述定理说明,当 1
n时最速下降法收敛非常慢。
三、共轭梯度法/*Conjugate-Gradient Method*/
A (aij ) R 为对称正定矩阵, Ax b T 其中 x ( x1 , x2 ,, xn ) ; b (b1 , b2 ,, bn )T
r ( x ) b Ax (0) ( 0) 如果 r 0 ,则 x 就是方程组的解; ( 0) (0) 如果 r 0 ,则沿 r 方向进行一维极小搜索:
( 0) ( 0)
(0)
求步长
d (0) (0) (x r ) 0 d
( 0) ( 0) T ( 0)
(x ,使得 min
(1) (1) ( 0)
(1)
114 T ( 1 18 1) 3025
(1) T
x
r
( 2)
x 1 p (1 1 1)
(1)
( 2)
b Ax
( 2)
(0 0 0)
T
迭代结束
2
( 0)
( 0)
min ( x

(0)
r ) (x
(0)
(0)
0r )
(0)
令 x(1)
下面以
x
x
(1 )
( 0)
0r
( 0)
,从而完成第一次迭代。
为新的初值,重复上述过程。
最速下降法的算法
选取初值
(k )
x
( 0)
R
(k )
n
搜索方向是正交的:
For k=0,1,2,…
(1)
r r
(1)
x
(1)
(1)
2bT x (1)
p A x r p
p
(0) (0) T (1) (0)
( , )
(1)
r
(1)
p
(0)

由极值的必要条件得
(1)T (1) (1)T (0) (1)T (1) 2 r Ar r Ap r r 0 2 r (1)T Ap(0) p(0)T Ap(0) 0
T
2
0
0
1
1
0
计算
( 0)
0
x1 x2
3

( 0)
1
1
Step1
2
( 0)
x3
3
解: 易验证系数矩阵是对称正定的.
p r
( 0)
b Ax
(1)
( 0)
(3 1 3)
( 0)
T
(r , r ) 0 ( 0) (0) ( Ap , p ) 55
x 19
x
0 p
( 0)
19 T (3 1 3) 55
共轭梯度法的实现过程
选取初始向量
x
(0)
,p
( 0)
( 0)
r
(1)
( 0)

( 0)
x x
(1)
( 0)
0 p , r
b Ax
p
(0)
(r , r ) ( 0) ( 0) ( Ap , p )
(1)
( 0)
( 0)
如何确定下一个搜索方向呢? 在过点
x
(1 )
的由向量 r
(1 )

所张成的下列二维平
面内找出函数值下降最快的方向作为搜索方向
p
(1)
2 x x
(1)
r
(1)
p : , R
(0)
p 、p
(1)
(0)

r
(1 )
的几何意义
2
x p
(1)
r
(1)
x
(1)
p
(0)
此时 ( x ) 在 2 上可表示为
x
, (r r (k ) ( p , Ap )
1 k (k ) (k )
( k 1)
))
(r
1 k
,r ) (k ) (k ) ( p , Ap )
( k 1)
( k 1)
共轭梯度法的算法
选取初值 x ( 0 ) Rn 计算 r ( 0 )
r
( 0)
( k 1)
r
(k )
相关文档
最新文档