历史百科网

共轭梯度法

[拼音]:gong’e tidufa

[外文]:conjugate gra nt method

又称共轭斜量法,是解线性代数方程组和非线性方程组的一种数值方法,例如对线性代数方程组

A尣=ƒ,

式中A为n阶矩阵,尣和ƒ为n维列向量,当A对称正定时,可以证明求(1)的解尣*和求二次泛函

的极小值问题是等价的。此处(尣,у)表示向量尣和у的内积。由此,给定了初始向量尣,按某一方向去求(2)取极小值的点尣,就得到下一个迭代值尣,再由尣出发,求尣等等,这样来逼近尣*。若取求极小值的方向为F在尣(k=1,2,…)处的负梯度方向就是所谓最速下降法,然而理论和实际计算表明这个方法的收敛速度较慢,共轭梯度法则是在 尣处的梯度方向r和这一步的修正方向p所构成的二维平面内,寻找使F减小最快的方向作为下一步的修正方向,即求极小值的方向p(其第一步仍取负梯度方向)。计算公式为

再逐次计算

(k=1,2,…)。可以证明当i≠j时,

从而p,p形成一共轭向量组;r,r,…形成一正交向量组。后者说明若没有舍入误差的话,至多 n次迭代就可得到(1)的精确解。然而在实际计算中,一般都有舍入误差,所以r,r,…并不真正互相正交,而尣尣,…等也只是逐步逼近(1)的真解,故一般将共轭梯度法作为迭代法来使用。

近来在解方程组(1)时,常将共轭梯度法同其他一些迭代法结合作用。特别是对病态方程组这种方法往往能收到比较显著的效果。其方法是选取一对称正定矩阵 B并进行三角分解,得B=LLT。将方程组(1)化为

hу=b, (3)

此处y=lT尣,b=l-1ƒ,h=l-1Al-T,而。再对(3)用共轭梯度法,计算公式为

(k=0,1,2,…)适当选取B,当B 很接近A时,h的条件数较之A大大减小,从而可使共轭梯度法的收敛速度大为加快,由一些迭代法的矩阵分裂A=M -N,可选取M 为这里的B,例如对称超松弛迭代(SSOR),强隐式迭代(SIP)等,这类方法常称为广义共轭梯度法或预条件共轭梯度法,它也可用于解代数特征值问题。

参考书目

冯康等编:《数值计算方法》,国防工业出版社,北京,1978。

严正声明:本文由历史百科网注册或游客用户文彦自行上传发布关于» 共轭梯度法的内容,本站只提供存储,展示,不对用户发布信息内容的原创度和真实性等负责。请读者自行斟酌。同时如内容侵犯您的版权或其他权益,请留言并加以说明。站长审查之后若情况属实会及时为您删除。同时遵循 CC 4.0 BY-SA 版权协议,尊重和保护作者的劳动成果,转载请标明出处链接和本声明内容:作者:文彦;本文链接:https://www.freedefine.cn/wenzhan/135463.html

赞 ()
我是一个广告位
留言与评论(共有 0 条评论)
   
验证码: