共轭梯度法预处理18页PPT
预处理共轭梯度
预处理共轭梯度预处理共轭梯度是一种用于解决线性方程组问题的迭代算法,它在解决大规模问题时具有极高的效率和可靠性。
本文将介绍预处理共轭梯度算法的原理、基本步骤和优点等内容。
一、预处理共轭梯度算法的原理预处理共轭梯度算法是一种求解线性方程组Ax=b的迭代算法。
它是共轭梯度算法的一种改进,利用预处理矩阵M-1将原矩阵A进行预处理,使得求解线性方程组的收敛速度更快。
预处理矩阵M-1的选取通常需要满足两个条件:M-1必须易于求解,并且M-1与A的条件数应该较小,以保证算法的稳定性。
二、预处理共轭梯度算法的基本步骤预处理共轭梯度算法的基本步骤如下:1. 给定线性方程组Ax=b,设初值x0,残量r0=b-Ax0,设P0=M-1r0,初始共轭方向为d0=P0。
2. 循环执行以下步骤:(1)计算Adi,计算当前步长αi=rTi di/ diT Adi,更新解向量x=x+αi di。
(2)计算残量ri+1=ri-αi Adi,如果ri+1尺度小于某个精度要求,则跳转到第5步。
(3)利用预处理矩阵M-1,计算Pi+1=M-1 ri+1。
(4)计算βi+1=ri+1Ti+1 Pi+1/ riTi,更新共轭方向di+1=Pi+1+βi+1di。
(5)如果达到精度要求或迭代次数到达预设值,则停止迭代。
三、预处理共轭梯度算法的优点预处理共轭梯度算法相比于共轭梯度算法有如下优点:1. 收敛速度更快:预处理共轭梯度算法通常只需要很少的迭代次数即可达到预设的精度要求。
2. 内存占用低:预处理共轭梯度算法只需要存储一些预处理矩阵的信息,内存占用相比于直接求解矩阵A要少得多。
3. 适用于大规模问题:由于预处理矩阵通常是稀疏矩阵,而且其尺寸相对于矩阵A要小得多,因此预处理共轭梯度算法适用于解决大规模问题。
四、总结预处理共轭梯度算法是解决线性方程组问题的一种高效迭代算法,它在解决大规模问题时具有明显的优势。
在实际应用中,预处理共轭梯度算法和其他一些线性方程组求解算法通常结合使用,以达到更好的效果。
共轭梯度法
•基本思想:把共轭性与最速下降法相结合,利用已 知点处的梯度构造一组共轭方向,并沿着这组方 向进行搜索,求出目标函数的极小点
4.4共轭梯度法
先讨论对于二次凸函数的共轭梯度法,考虑问题
min f (x) 1 xT Ax bT x c
3, giT d (i) giT gi (蕴涵d (i) 0)
证明: 显然m1,下用归纳法(对i)证之.
当i 1时,由于d (1) g1,从而3)成立,对i 2时, 关系1)和2)成立,从而3)也成立.
4.4共轭梯度法
设对某个i<m,这些关系均成立,我们证明对于i+1
也成立.先证2),
因此
2 / 3 1 5/ 9
d (2)
1/ 1
3
1 9
2 0
5/9 1
从x(2)出发,沿方向d (2)进行搜索,求步长2,使满足 :
f
( x (1)
2d (1) )
min
0
f
(x(2)
d (2))
2 0
4.4共轭梯度法
显然, d (1)不是目标函数在x(1)处的最速下降方向.
下面,我们用FR法构造两个搜索方向.
从x(1)出发,沿方向d (1)进行搜索,求步长1,使满足 :
f
( x (1)
1d (1) )
min
0
f
( x (1)
d (1) )
得1 2 3
A正定,故x是f(x)的极小值点.
共轭方向与共轭梯度法-最优化方法
f (X1)T P0 0 ,所以 f (X1)T P0 1P1TQ P0 0
P1TQ P0 0
(1)
以上就是搜索方向P1所必须满足的(必要) 条件。这也是使X2是极小点的充分条件。 P1,P2称为关于Q的共轭方向。
讨论表明 对于二维的具有正定矩阵Q的 二次函数f(X),从任一初始点出发,依次沿关 于Q共轭的两个方向进行一维搜索,必可达到 f(X)的无约束精确极小点。
Pk 1
0
且对j 0,1 , k 2, 有
PjT QPk PjT Q f ( X k ) k1Pk1
PjT Qf
(X
k
)
k
PT
1 j
QPk
1
f ( X k )T QPj
f ( X k )T f ( X j1) f ( X j ) j
f ( X k1 ) QX k1 b Q( X k k Pk ) b (2)
f ( X k1 ) f ( X k ) k QPk
所以
f ( X m ) f ( X m1) m1QPm1
f ( X m2 ) m2QPm2 m1QPm1
其中1 是最优步长,1>0 .因为 X * 是无约束极小点。
故 f ( X * ) 0 即 QX * b 0
f (X1) QX1 b
Q( X * 1P1) b (QX * b) 1QP1 1QP1
又因为 X1是f(X)沿P0方向的直线l0上的极小点,故
设 X En ,
,Q为对称正定矩阵,P0,
P1,···,Pm-1是关于Q共轭的m个共轭方向,
4.4共轭方向法4.5 共轭梯度法
序框图如下图所示。
开始
给定 X 0、d0、
k0
X (k 1) X k ak d k ak : min f ( X k ak d k )
k k+1
YES Xk X(k+1)
结束
NO
f (X k1) <
提供新的共轭方向
共轭方向 + 精确一维搜索 = 二次终结 设 Z1 ,Z2 ,……Zm 关于正定矩阵A共轭。则从任意初 始点出发 二次型目标函数
2 0
2 9
,
2 T 3
X
2
X1
1d1
2
3
0
2
1
9 2
3
2 3
2 9
1
2 3
1
将 X 2 代入原方程,将 n 维问题化成一维问题。
令 将
(1) 1 代入
0 X2
,解得 1
式得
3 2
。
X
2
2 3
2 9
1
2 3
1
1 1
计算 X 2 点的梯度
g2
f
(
X
2
)
4 0
(0 )
(0 ) 120 4
令 (0 ) 0 ,解得
0
1 3
将
0
1 3
代入
X1
式得
X
1
20
0
2
3
0
将 X 1 代入求梯度公式
g1
f
(
X
1)
3x1 2
x2
x1
x2
x1
2 3
x2 0
0
2
3
0
g1 g0
【实用】共轭梯度法反演PPT资料
我们假设在点X0 处开始沿负梯度方向
蒙特卡洛方法 搜索,到达点X1 ,即
设有一组n 维彼此关于n×n 的正定对称矩阵A共轭的向量
,能够使我们分别沿着这n个共轭向量所指的方向各搜索一
非 统计方法 次,就可以达到极值点 。
为了使搜索能够快速到达极值点选取α使
模拟退火法
为了使搜索能够快速到达极值点选取α使
0 ( Ax k b )T d k 1 ( A ( xk 1 k d k ) b )T d k 1
从而,
k
rkT p k
p
T k
ApBiblioteka k(11)将上式带入 (10) 式可得:
x *
xn
x0
n 1 i0
riT p i
p
T i
Ap
i
di
(12)
*
16
三、共轭梯度法的优缺点
优 分别使用最共 速轭 下梯 降度 法法 和组 解 2 3线 6 2x性 28方 程 点 目标函 :(数 x1,x2为 )-2x13x124x1x28x26x22
性
小值,分0别 .60是 10和 : 508.76035
P2局部极 小值
P1全局极 小值
*
20
三、共轭梯度法的优缺点
局限性
初始猜测 反演结果 目标函数值 (2,-1) (3.0,0.0) 0.6011 (-2,-1) (-3.0,0.0) 0.7606 (-1.5,0) (-0.0958,0) 0.9932 (4,-1) (3.0,0.0) 0.6011
*
17
三、共轭梯度法的优缺点
计算效率比较
最速下降法
共轭梯度法
*
18
三、共轭梯度法的优缺点
共轭梯度法
2 2 min f ( x ) = x1 + 2x2 x
⎛1⎞ 给定初始点 x (0) = ⎜ ⎜1⎟ ⎟。 ⎝ ⎠
13
⎛ 2 x1 ⎞ ⎛ 2 0⎞ 2 首先, ∇f ( x ) = ⎜ ⎜ 0 4⎟ ⎟ ,以下利用(4.14)确定 β k 。 ⎜ 4x ⎟ ⎟ ,H= ∇ f ( x ) = ⎜ ⎝ ⎠ ⎝ 2⎠ k=0:
0
k +1
) 与搜索方向 s 0 ," , s k 均正交。同时,利用引理 4.1 马上
设 H ∈ R n×n 是对称正定阵,s ," , s
0
n −1
0
n −1
是非零 G—共轭方向组,x ∈ R 。 若对问题(UQP),
0
n
从 x 出发,依次沿 s ," , s
0
进行最优一维搜索,最终得到 x ,则 x 是(UQP)的最优解。
为保证 H-共轭性,在 x 处必须取 s 为搜索方向,而不能取 α s (α > 0) 为搜索方向。
k k
k
利用定理 4.3,马上得到上述算法的有限终止性。 定理 4.4 设 H ∈ R n×n 是对称正定阵。若用凸二次规划的共轭梯度法求解 (UQP) 时产生迭代点
x1 ," , x K ,则 x K 是(UQP)的最优解,并且 K ≤ n 。
首先由(4.7)知, g = ∇f ( x ) ( j = 0, " , k -1)是 s ," , s 的线性组合,因此根据定理 4.2,
j j 0 j
( g k )T g j =0, j = 0, " , k -1
由于
25共轭梯度法
共轭,即 piT Apj 0, i j ,i , j 1,2, ,k。 则称这组方向是关于A共轭的,也称它们是一组A共轭方向。
注:如 果A是 单 位 矩 阵 , 则
p1T I p2 0 p1T p2 0
p1 p2
§2.5 共轭梯度法
预备知识 最速下降法 共轭梯度法 数值试验算例
21:26
预备知识:内积的定义
I II
方程组问题: 极值问题:
Ax =
min
b
f
(x)
1
xT Ax
bT
x
xRn
设 x, y Rn , 记 ( x , y) = xT y
2
▪( x, y ) = ( y, x ); ▪( tx, y ) = t ( x, y); ▪( x+ y, z ) = ( x, z ) + ( y, z ); ▪( x, x) ≥ 0, 且( x, x) = 0 x = 0;
p(k 1) r (k 1) k p(k )
进行下一次迭代
例:用CG迭代法求解下列方程组: x(0) (0 0 0)T
2 0 1 x1
3
0 1 0 x2 1
1 0 2 x3
3
解: 易验证系数矩阵是对称正定的.
Step1 计算 p(0) r(0) b Ax(0) (3 1 3)T
0
x2 x1
x*
x3
注 最速下降方向反映了目 标函数的一种局部性质。它只是 局部目标函数值下降最快的方向。 最速下降法是线性收敛的算法。
f(x1,x2)=100x12+x22
最速下降法
第9讲梯度法和共轭梯度法
{ x( ) }
k
A−a 收敛于 x , 则目标函数值的序列 f ( x( k ) ) 以不大于 A+ a
{
}
2
的收敛比线性的收敛于 f ( x ) . 若令 r = A / a ,则
A − a r −1 = < 1. A + a r +1
i =1 k
生成的子空间。 x 是由 d (1) , d ( 2 ) ,⋯ , d ( k ) 生成的子空间。特别地 , k = n时, ( n +1)是 当 f ( x )在 R n 上的唯一极小点。 上的唯一极小点。
推论
在上述定理条件下, 在上述定理条件下,必 有
∇f ( x ( k +1) )T d ( i ) = 0 , i = 1 , 2 ,⋯ , k 。
( 2) 设已求得点 x ( k +1) , ∇f ( x ( k +1) ) ≠ 0 , g k +1 = ∇f ( x ( k +1) ) , 若 令 则下一个搜索方向 d ( k +1)按如下方式确定 : 令 d ( k + 1) = − g k + 1 + β k d ( k ) (1)
如何确定 β k?
证明
设存在实数 α 1 , α 2 ,⋯ , α k ,使得
i =1
∑ αid = 0,
i
k
上式两边同时左乘d jT A ,则有
i =1 k
∑ αid
k
jT
Ad i = 0 ,
共轭的向量, 因为 d 1 , d 2 ,⋯ , d 是 k 个 A 共轭的向量,所以上式 可化简为
共轭梯度法课件
4.3共轭梯度法4.3.1共轭方向法定义4.3.1设A 是n ×n 对称正定矩阵,d 1,d 2,是n 维非零矢量,如果d 1T Ad 2=0则称d 1和d 2是A-共轭的,简称共轭的设d 1,d 2,...,d m 是R n 中一组非零向量,如果d i T Ad j =0,i ≠j ,j,i=1,2,...,k则d 1,d 2,...,d m 是A-共轭的,简称共轭的,也称它们是一组A 共个方向定理4.3.3设x 0∈Rn 是任意初始点,对于极小化二次函数min f(x)=1/2 x T Ax-b T x 共轭方向法至多经n 步精确线性搜索终止;且每一x i+1都是f(x)在x 0和方向d 1,d 2,....,di, 所张成的线性流形{|x x=x 0+,0j i j j da ∑=j a ∀}中的极小点。
4.3.4共轭梯度法共轭梯度法是一个典型的共轭方向法,他的每一个搜索方向是相互共轭的,而这些搜索方向d k 仅仅是负梯度方向-g k 与上一次迭代的搜索方向d k-1组合。
因此,存储量小,计算方便。
定理4.3.6对于正定二次函数,采用精确线性搜索的共轭梯度法在m ≦n 步后终止,且对1≦i≦n成立下列关系式:d i T Ad j=0,j=0,1,...,i-1,g i T Ag j=0,j=0,1-1,d i T Ag i= - g i T g I[g0,g1,...,g i]=[g0,Ag0,,...,A i g0][d0,d1,...,d i]=[g0,Ag0,,...,A i g0]其中[g0,g1,...,g i]和[d0,d1,...,d i]分别表示g0,g1,...,g i及d0,d1,...,d i张成的子空间,[g0,Ag0,,...,A i g0]表示g0的i阶Krylov子空间。
定理4.3.9(FR共轭梯度法的总体收敛性定理)假定f R n R在有界水平集L={x R n|f(x)≦f(x0)}上连续可微,且有下界,那么采用精确线性搜索的F-R共轭梯度法产生的序列{x k}至少有一个聚点是驻点,即1当{x k}是有穷数列时,其最后一个点是f(x)的驻点;2当{x k}是无穷数列时,它必有聚点,且任一聚点都是f(x)的驻点。
共轭方向法和共轭梯度法
设问题的最优解 x*= -Q-1b 在这组基底下的表示为 x* = u1 p1 + u2 p 2 + · · ·+ un pn 并任取初始点 x0 = s1 p1 + s2 p2 + · · ·+ sn pn. 先在方向
p1上进行一维搜索,即求解问题
x* = u1 p1 + u2 p2 + · · ·+ un pn
对 n 元二次函数
1 T f ( x) x Qx bT x C 2
研究方向 p 1 与 p 0 有什么关系?
p0
x 1 x 0 t0 p 0 p1
*
x0
因为 又
f ( x 1 )
t 0
x * x1 t 1 p 1 arg min f ( x 1 t p 1 )
* 2 1 2 || x x ||Q min || x Q b || 因此原问题等价于: Q
在Rn上,按照上面定义的内积给出一组Q -共扼的
基底 p1, p2, · · · , pn ,则 p1, p2, · · · , pn 线性无关,且
pi , p j Q 0, ( i j )
1R
2 ( sn un ) pn ||Q 2 ( sn un ) pn ] ||Q
min || ( s1 1 u1 ) p1 [( s2 u2 ) p2
1R
x* = u1 p1 + u2 p2 + · · ·+ un pn
因为对任意
x0 = s1 p1 + s2 p2 + · · ·+ sn pn
定理( 共轭方向法的收敛性) 设 (1) Q 为 n 阶正定矩阵; (2) p0, p1,· · · , pm-1为一组 n 维Q -共扼的向量.
