数值优化(五)

共轭梯度方法

线性共轭梯度方法

线性共轭梯度方法可以用来解线性方程\[Ax=b\]其中A是正定的对称阵。这个问题等价于求解\[\Phi(x)=\frac{1}{2} x^TAx-b^Tx\]的无约束优化问题。向量\(\{p_0,p_1,\cdots,p_i\}\)称作关于正定矩阵A相互共轭,当\[p_i^TAp_j=0 \quad \forall i \neq j\]\(\mathbb{R}^n\)中给定一个初值点\(x_0\)和一组共轭方向\(\{p_i\}\),就可以生成一个点列\[x_{k+1}=x_k+\alpha_k p_k\] \(\alpha_k\)是在\(p_k\)方向上的最优点,有闭式解\[\alpha_k = -\frac{r_k^T p_k}{p_k^T A p_k}\]这样的迭代步骤在最多n次后就会收敛到最优点(即线性方程的解)。关于这个事实,有如下正交情况的示意图:
1443026-20180722230752040-1453067554.png
关于这一点,还有一个结论:
1443026-20180722230947215-292392654.png

共轭方向

现在只需要生成一组共轭方向就可以应用上述的共轭梯度法,共轭方向的生成有多种方法,但是如果利用了共轭向量的性质,就可以只通过前一个共轭向量的信息来求解下一个共轭向量,使得在大规模问题中可以大幅度减少空间以及时间花费。具体的:\[p_k = -r_k + \beta_{k} p_{k-1}\](其中\(r_k=Ax_k-b=\nabla f_k\))选取\(beta_k\)使得\(p_k\)\(p_{k-1}\)共轭,就可以证明\(p_k\)也和之前的所有向量共轭。\(\beta_k\)易于得到闭式解\[\beta_k = \frac{r_k^T A p_{k-1}}{p_{k-1}^T A p_{k-1}}\]

到此,CG算法已经完整了,再利用下述定理,可以将算法进一步优化:
1443026-20180722231633910-519080296.png
得到CG-Algorithm(Practical Form)
1443026-20180722231708613-260866213.png

转载于:https://www.cnblogs.com/mathematic-offering/p/9325819.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值