1. 引言
Stein矩阵方程在图像复原[1] [2],控制系统设计[3] [4],神经网络[5],模型降阶[6]等领域有着广泛的应用。Stein矩阵方程又称为离散型的Sylvester方程,其标准形式为
(1.1)
其中,
,其存在唯一解的充要条件为
,
分别表示矩阵
和
的所有特征值的集合。本文只考虑Stein矩阵方程有唯一解的情况。
Krylov子空间方法[7]是求解大型线性方程组
的有效方法,相应的块Krylov子空间方法[8]-[11]和全局Krylov子空间方法[12]-[14]是求解具有多右端项的线性系统
的有效方法。近年来,块方法和全局方法被推广用于求解Stein矩阵方程,其中系数矩阵
和
的维数不同是构造不同方法的关键。当矩阵
和
的维数都小时,直接法是最有效的选择,比如Hessenberg-Schur方法[15]和Bartels-Stewart 方法[16]。当矩阵
很大,
很小时,黄等人[17]提出块Arnoldi Stein方法和非对称的块Lanczos Stein方法求解Stein矩阵方程。文献[18] [19]提出全局Arnoldi方法求Stein矩阵方程的低秩解。文献[20]提出块Arnoldi方法求其低秩解。但是,上述这些方法都没有利用到Stein矩阵方程的特殊位移结构。当矩阵
和
都很大时,Smith方法[21]被提出用于Stein矩阵方程的求解。然而,Smith方法要求矩阵
和
的谱半径满足
。本文主要研究大规模Stein矩阵方程的求解。
在文献[22]中,张邵良提出了一种广义点积型双共轭梯度法(Generalized Product-type Biconjugate Gradient, GPBiCG)求解线性方程组。在文献[23]中,Dehghan等人提出了一种位移GPBiCG方法求解位移线性系统
。这种位移技巧来源于Frommer的工作[24]。受到上述方法的启发,本文利用Stein矩阵方程的位移结构,基于全局GPBiCG方法提出了一种位移全局GPBiCG方法(Shifted Global GPBiCG, SGl-GPBiCG)。该方法适合任意维数的系数矩阵
和
,不受矩阵维数的影响。
为了推导新方法,首先将矩阵方程(1.1)命名为位移系统,将矩阵方程
(1.2)
命名为种子系统。为了方便起见,定义线性算子
如下
相应地,种子系统(1.2)可以改写成
(1.3)
而位移系统(1.1)可写成
(1.4)
对给定的矩阵
和算子
,定义矩阵Krylov子空间如下
(1.5)
其中
由于Krylov子空间的位移不变性,我们有
(1.6)
因此,在初始近似解为零矩阵的条件下,种子系统与位移系统在第
次迭代时得到的近似解在同一个矩阵Krylov子空间中,这为后续方法的推导提供了关键的理论支撑。
2. 全局GPBiCG算法
在这节,我们借鉴文献[25]中求解
的全局GPBiCG方法,直接以算子形式给出求解种子系统(1.3)的全局GPBiCG算法(Gl-GPBiCG),具体迭代过程见表1。
Table 1. Global GPBiCG method for solving seed system (1.3)
表1. 全局GPBiCG算法求解种子系统(1.3)
算法2.1:全局GPBiCG算法求解种子系统(1.3) |
给定初值
,计算
选择
,满足
令
对于
计算
如果
,则
|
结束. |
在上述算法中,全局GPBiCG方法是通过残差矩阵优化近似解,残差矩阵表达式为
(2.1)
其关键在于残差多项式
与辅助矩阵
的构建。回顾张绍良[22]提出的GPBiCG方法,
是BiCG的残差多项式,残差多项式
和辅助多项式
之间的基本递归关系如下
(2.2)
(2.3)
消去
,得到
的单独的三项递归关系
(2.4)
(2.5)
且辅助矩阵
满足如下三项递归关系
(2.6)
(2.7)
3. 位移全局GPBiCG算法
在本节中,我们在全局GPBiCG方法求解种子系统(1.3)的基础上,提出求解位移系统(1.4)的位移全局GPBiCG方法。
3.1. 位移系统的残差
众所周知,GPBiCG方法是在BiCG方法的残差多项式的基础上建立新的三项递推关系得到的。基于以上思想,我们推导求解位移系统的位移全局GPBiCG方法。
考虑种子系统的残差多项式的递归关系,定义位移系统的残差多项式为
(3.1)
(3.2)
定义辅助多项式
(3.3)
(3.4)
并且通过对(3.2)和(3.4)的一些简单运算,得到以下两个递归关系
(3.5)
(3.6)
(3.7)
考虑前面辅助矩阵
的三项递归关系,定义位移系统的辅助矩阵
(3.8)
(3.9)
定义
(3.10)
(3.11)
然后用这个定义对(3.9)进行一些简单计算,得到辅助矩阵
的两项递归关系
(3.12)
(3.13)
现在计算位移系统残差
,使用与全局GPBiCG相同的推导方法,并定义新的辅助矩阵如下
(3.14)
得到中间矩阵的递归关系如下
比较算法2.1中对应式子不难发现,全局CPBiCG直接求解位移系统需要额外计算
与中间矩阵的乘积,相较于求解种子系统,增加了一次矩阵乘矩阵运算。
3.2. 残差的共线性
除了Krylov子空间的位移不变性,残差的共线性也是实现位移方法的一个关键因素。根据文献[24]中的定理1知,在种子系统和位移系统的初始近似解为0的前提下,两系统的残差共线。接下来,我们借鉴文献[23]的推导方式,分别为残差多项式
,
和辅助多项式
,
建立共线性。
首先,引入系数
,令
(3.15)
从(2.5)有
利用(3.15)式,将
分别用
代替,进而得到
整理一下得到
(3.16)
比较(2.5)和(3.16),有
(3.17)
(3.18)
(3.19)
将(3.19)代入(3.18)得到系数
的转化公式
(3.20)
将(3.20)和(3.19)代入(3.18)并化简,得到辅助系数
一个三项递归关系
(3.21)
同理引入系数
,设
(3.22)
将(3.22)代入(3.10)化简得到
(3.23)
同理比较(3.23)和(2.7)得到系数
和
的转换公式
(3.24)
(3.25)
其中辅助系数
的三项递归关系为
(3.26)
考虑共线系数
和
都是三项递归关系,迭代时需要两个初值,因此我们需要计算
。根据残差的共线性,结合上式,当
,我们可以得到
当
时,
,那么
,所以
。
结合(3.1)式和(3.15),可得
又因为
,所以
当
时,
,对比(2.4)可以得到
同理有
现在,重新考虑位移全局GPBiCG递归关系中的
和
,并使用残差共线多项式
(3.27)
来降低它们的运行成本,得到
(3.28)
因此,在实际计算时,只需要计算种子系统中的
,而不需要计算位移系统中的
,减少了算法的计算量。
在上述推导的基础上,我们给出求解位移系统的一种位移全局GPBiCG算法见表2。
Table 2. The shifted global GPBiCG method for solving shifted system (1.4)
表2. 位移全局GPBiCG算法求解位移系统(1.4)
算法3.1:位移全局GPBiCG算法求解位移系统(1.4) |
给定初值
,计算
选择
,满足
令
对于
计算
|
如果
,则
|
结束. |
□
4. 数值算例
在这节,我们给出两个数值实验来说明位移全局GPBiCG方法(SGl-GPBiCG)的有效性。我们从迭代次数(Its)和计算时间(CPU,单位秒)两方面比较位移型方法SGl-GPBiCG与非位移型方法Gl-GPBiCG。在所有算例中,初始近似解都为零矩阵,最大迭代次数为2500次,停止迭代的条件为
。
例4.1 给定如下Stein矩阵方程
其中
,
,
,
。
数值结果见表3和图1。从表3可以看出SGl-GPBiCG方法比Gl-GPBiCG的迭代次数更少。此外,从图1也可以看出,SGl-GPBiCG方法的收敛速度优于Gl-GPBiCG方法。
Table 3. Numerical results for Example 4.1
表3. 例4.1的数值结果
Matrix order |
Methods |
Its |
CPU |
|
Gl-GPBICG |
38 |
2.0023 |
SGl-GPBICG |
21 |
3.0354 |
|
Gl-GPBICG |
47 |
10.0729 |
SGl-GPBICG |
25 |
11.2680 |
|
Gl-GPBICG |
52 |
25.0586 |
SGl-GPBICG |
31 |
37.8359 |
(a)
(b)
(c)
Figure 1. Convergence curves for Example 4.1
图1. 例4.1的收敛曲线
例4.2 给定Stein矩阵方程为
其中
数值结果见表4和图2。从表4可以看出,SGl-GPBiCG方法比Gl-GPBiCG方法的迭代次数更少,消耗的CPU时间也更少。另外,从图2也可以看出,SGl-GPBiCG方法的收敛速度明显优于Gl-GPBiCG方法,并且随着矩阵阶数
的增加,收敛效果更明显。
Table 4. Numerical results for Example 4.2
表4. 例4.2的数值结果
Matrix order |
Methods |
Its |
CPU |
n = 100 |
Gl-GPBICG |
25 |
0.6745 |
SGl-GPBICG |
21 |
0.4743 |
n = 200 |
Gl-GPBICG |
45 |
4.3436 |
SGl-GPBICG |
33 |
3.6176 |
n = 300 |
Gl-GPBICG |
75 |
20.7008 |
SGl-GPBICG |
53 |
12.9074 |
n = 500 |
Gl-GPBICG |
178 |
77.1783 |
SGl-GPBICG |
50 |
12.9074 |
(a)
(b)
(c)
(d)
Figure 2. Convergence curves for Example 4.2
图2. 例4.2的收敛曲线
5. 总结
在本文中,我们提出一种位移全局GPBiCG方法求解大型Stein矩阵方程。该方法充分利用了Stein矩阵方程的特殊位移结构。同时,该方法去除了系数矩阵
和
间的维数限制。最后,实验结果验证了位移全局GPBiCG方法求解Stein矩阵方程的有效性,尤其在矩阵
和
均为大规模矩阵的情况下优势明显。
NOTES
*通讯作者。