共轭梯度法(conjugate gradient method)

参考自"Numerical Optimization" chapter 5. by S.Wright

对于如下线性方程组的求解,可以采用迭代方法,例如共轭梯度法(conjugate gradient method)

                                              (1)

而该方程组的解的条件与下式取最小值条件一致

(2)

【注:对(2)式求导有

一、共轭方向法

在介绍共轭梯度法之前,先介绍共轭方向法及相关概念。

对于n阶对称正定矩阵A,如果有一组非零向量满足

                               (3)

则称这组向量共轭。 很显然这组向量之间线性独立。A的一组特征向量即为满足这个条件的共轭向量。

给定一组共轭方向和一个起始点,我们可以得到一组点

                                                (4)

                                                    (5)

的推导请参考“Numerical Optimization”的式(3.39)】

我们可以得出下列定理

定理1:对于任意,由(4)、(5)式生成的x序列最多n步收敛到线性方程组(1)的解

证明:因为p向量序列线性独立,那么它们可以张成n维实空间

那么的差值可以如下表示


将等式两边同时乘以得到


所以                 (6)


再假设是由(4)、(5)式得到的,那么有


将它左右两边同时乘以,可以得到


因此

对比(5),(6)式可以发现。命题得证。【】


二、共轭梯度法

共轭梯度法也是一种共轭方向法,不过在其基础上增加了一些优良性质:计算当前方向只需用到前一方向,对其他方向则无要求;计算出来的当前方向自动与前面所有方向共轭。这一优良性质意味着,不需耗费大量内存存储所有方向,也节省了计算时间。

下面详细叙述共轭梯度法。

每次计算选取当前点处的最速下降方向(与相等)和前一方向来得到当前方向。

  (7)

   (可以通过对(7)式两端同时乘以来计算出)

一般选取在起始点的最速下降方向。

算法总结如下:


定理2:若条件同定理1,则有


【详细证明参考Theorem5.2的证明

定理3:如果第k次迭代得到的x不是最优解,则

【详细证明参考Theorem5.3的证明】

将上式和代入到中,有

 

【推导:

将上式和代入到,有


【推导:


于是得到标准形式的共轭梯度法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值