共轭梯度法和基本性质

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

共轭梯度法及其基本性质

预备知识

定义1 设是对称正定矩阵。称是A-共轭的,是指

性质1 设有是彼此共轭的维向量,即

则一定是线性无关的。

[证明]若有一组数满足

则对一切一定有

注意到,由此得出:即所有的=0.因此,

是线性无关的.

性质2设向量是线性无关的向量组,则可通过它们的线性组合得出一组向量,而是两两共轭的.

[证明]我们用构造法来证实上面的结论.

S0:取;

S1:令,取.

……

Sm:令

容易验证:符合性质2的要求.

性质3设是两两A-共轭的,是任意指定的向量,那么从出发,逐次沿方向搜索求的极小值,所得序列,满足:

[证明]由下山算法可知,从出发,沿方向搜索,获得

从而

性质4设是两两A共轭的,则从任意指定的出发,依次沿搜索,所得序列满足:

(1)

(2),其中是方程组(5.1.1)的解.

[证明](1)是性质3的直接推论,显然成立.

(2)由于是两两A共轭的,故是线性无关的.所以对于向量可用线性表出,即存在一组数使

由于及,得出

于是,再由得出

于是,与得出一样地,我们可以陆续得出:

对比和的表达式可知,

证明完毕

性质4是性质3的直接推论.但它给出了一种求(5.1.1)的算法,这种算法称之为共轭方向法.结合性质2,我们可以得到如下的性质5.

性质5设是上的一组线性无关的向量,则从任意指定的出发,按以下迭代产生的序列:

S1:取,,;

S2:计算,取;

计算,得出;

如此进行下去,直到第n步:

Sn:计算取

计算,得出.

显然:

根据性质4可知,不论采用什么方法,只要能够构造个两两A共轭的向量作为搜索方向,从任一初始向量出发,依次沿两两A共轭的方向进行搜索,经

步迭代后,便可得到正定方程组的解.

共轭梯度法

算法步骤如下:

[预置步]任意,计算,并令取:指定算法终止常数,置,进入主步;

[主步](1)如果,终止算法,输出;否则下行;

(2)计算:

(3)计算:

(4)置,转入(1).

定理5.2.1 由共轭梯度法得到的向量组和具有如下性质:

(1)

(2)

(3)

(4),其中

(5.2.1)通常称之为Krylov子空间.

[证明]用归纳法.当时,因为

因此定理的结论成立.现在假设定理的结论对成立,我们来证明其对也成立.

利用等式及归纳假设,有

又由于

故定理的结论(1)对成立.

利用归纳假定有

而由(1)所证知,与上述子空间正交,从而有定理的结论(2)对

也成立.

利用等式

和,

并利用归纳法假定和(2)所证之结论,就有

.成立;而由的定义得

这样,定理的结论(3)对也成立.

由归纳法假定知

进而

于是

再注意到(2)和(3)所证的结论表明,向量组和

都是线性无关的,因此定理的结论(4)对同样成立.

定理证毕定理5.2.1表明,向量和分别是Krylov子空间的正交基和共轭正交基.由此可见,共轭梯度法最多步便可得到方程组的解.因此,理论上来讲,共轭梯度法是直接法.

定理5.2.2 用共轭梯度法计算得到的近似解满足

(5.2.2)或

(5.2.3)

其中,是方程组的解,是由(5.2.1)所定义的Krylov子空间.

证明注意到:,则(5.2.2)和(5.2.3)是等价的,因此我们下面只证明(5.2.3)成立.

假定共轭梯度法计算到步出现,那么有

此外,对计算过程中的任一步,有

设是属于的任一向量,则由定理5.2.1的(4)知,可以表示为

于是

再利用定理5.2.1的(3)就可以推出

于是定理得证.

定理证毕由定理5.2.1,我们容易得出

由此可得

(5.2.4)

另外,从理论上讲,该迭代法经次迭代,便能得到精确解.但考虑到计算误差,可以作为无限迭代算法进行计算,直到为止.

从而,我们得到如下实用的共轭梯度算法:

[预置步]任意,计算,并令取:指定算法终止常数,置,进入主步;

[主步](1)计算:,

(2)如果,转入(3).否则,终止算法,输出计算结果

(3)计算:

(4)置,转入(1)

注:在算法[主步]中,引入变量,及,可以简化计算。

结合程序设计的特点,共轭梯度法可改为如下实用形式:

算法5·3·1(解对称正定方程组:实用共轭梯度法)

while and

if

else

end

end

共轭梯度法作为一种实用的迭代法,它主要有下面的优点:

算法中,系数矩阵A的作用仅仅是用来由已知向量产生向量

,这不仅可充分利用A的稀疏性,而且对某些提供矩阵A

较为困难而由已知向量产生向量又十分方便的应用问题

是很有益的;

不需要预先估计任何参数就可以计算,这一点不像SOR等;

每次迭代所需的计算,主要是向量之间的运算,便于并行化。

5.2.3 收敛性分析

将共轭梯度法作为一种迭代法,它的收敛性怎样呢?这是本节下面主要讨论的问题:

定理5.2.3 如果而且,则共轭梯度法至多迭代步即可得到方程组的精确解。

证明注意到蕴含着子空间

的维数不会超过,由定理5.2.1即知定理的结论成立。

定理证毕

定理5·2·3表明,若线性方程组(5·1·1)的系数矩阵与单位相关一个秩的矩阵,而且很小时,则共轭梯度法将会收敛得很快。

定理5·2·4 用共轭梯度法求得的有如下的误差估计

(5·2·5)

相关文档
最新文档