共轭梯度法和基本性质
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)