1. 引言
本文考虑求解矩阵方程
(1.1)
其中
。矩阵方程(1.1)在数学、科学计算以及工程方面都有广泛的应用。例如,在计算机辅助几何设计(CAGD)中的曲面拟合、信号与图像处理、摄影测量等许多实际应用中,通常都需要求解方程(1.1)。另外,还包括微分方程数值解、控制系统、稳定性理论、优化算法等领域都涉及到了方程(1.1)的求解。
由于矩阵方程(1.1)在矩阵理论和应用中的重要性,如何有效地求解该方程一直是人们研究的热点。在过去的几十年里,已经提出了许多数值算法来求解该方程。当矩阵A和B阶数较小时,基于QR分解的直接法求解十分有效[1]。然而,对于大型稀疏矩阵A和B,直接法的开销非常昂贵,此时我们通常考虑迭代法来进行求解。在[2]中,作者提出了方程(1.1)的最小二乘对称解的迭代方法,对于任意初始对称矩阵,在不考虑舍入误差的情况下,可以在有限迭代步数内得到一个解,并且通过选择一类特殊的初始对称矩阵,可以得到最小范数解;在[3]中作者讨论了矩阵方程AXB = C的自反解和反自反解,并给出了解存在的一些条件;在[4]中,作者提出了一种迭代算法来获得方程(1.1)的广义中心对称解,并在有限迭代步内推导出给定矩阵的最优逼近解;在[5]中,作者提出了求解方程(1.1)的HSS迭代方法,该方法是通过拓展求解Ax = b的HSS迭代方法得到的;[6]中通过对矩阵A或B进行分裂,构造了求解矩方程(1.1)的Jacobi和Gauss-Seidel型迭代方法,建立了预条件迭代算法,并通过数值实验验证了算法的有效性。
本文通过引入可调参数ω给出了求解方程(1.1)的Richardson迭代法及其Jacobi和Gauss-Seidel预处理迭代方法,并分析了这三种迭代方法的收敛性,最后利用数值实验证明了算法的有效性。
2. 预备知识
下面,我们回顾一些基本定义和已知结果。
定义1. [7]设X为
矩阵,
定义为大小为
的列向量,是由X的列从左到右堆叠而成。设
分别为
和
矩阵。那么克罗内克积
就是
矩阵
.
引理1. [7]若
为
,
和
矩阵,则有:
1)
;
2)
。
引理2. [7]克罗内克积有以下性质:
1) 若
存在,则
;
2) 若矩阵
可逆,则
;
3)
。
引理3. [7]令
分别为矩阵
的谱,则:
.
定义2. [8] [9]设
表示所有非对角元素非正的
实矩阵的集合,若矩阵
为非奇异矩阵,且
,则称矩阵A为M矩阵。
定义3. [9]对于一个
矩阵
,我们定义一个新的矩阵
,其中
,
我们称这个矩阵
为矩阵A的比较矩阵。
定义4. [9]如果
是一个M矩阵,则我们称A是一个H矩阵。
引理4. [8] [9]如果矩阵A为对称正定矩阵或H矩阵,
,其中
分别是矩阵A的对角部分,严格下三角部分和严格上三角部分,则:
.
3. 预处理Richardson迭代
3.1. Richardson迭代
对于求解线性方程
,Richardson迭代格式如下:
.(3.1)
由于矩阵方程
可以用Kronecker积符号表示为数学上等价的矩阵向量形式:
,(3.2)
其中
,
分别表示
,故类似于Richardson迭代我们引入可调参数
得到以下迭代格式:
,(3.3)
其迭代矩阵为
。但是在具体计算中我们不考虑上述的迭代格式,我们一般考虑与其等价的矩阵迭代格式:
.(3.4)
为了加快求解速度,下面我们考虑用Jacobi预处理子和Gauss-Seidel预处理子对矩阵方程(1.1)进行预处理,得到相应的预处理Richardson迭代。
3.2. Jacobi和Gauss-Seidel预处理迭代
在[6]中,提出了求解矩阵方程(1.1)的预处理迭代方法,其描述如下:对于给定的两个预处理矩阵
,则有:
,
,
.
我们设
,(3.5)
其中
分别是矩阵
的对角部分,
分别是矩阵
的严格下三角部分,
分别是矩阵
的严格上三角部分。
我们令
,则矩阵方程(1.1)进行Jacobi预处理之后可得:
,
,
.
其中
。此时我们由(3.3)可得相应的Jacobi预处理迭代(J-Richardson)为:
,(3.6)
,(3.7)
.(3.8)
其中
分别表示
与迭代(3.8)等价的矩阵迭代格式为:
.(3.9)
我们令
,同理由(3.3)可得相应的Gauss-Seidel预处理迭代(GS-Richardson)为:
,(3.10)
,(3.11)
.(3.12)
其中
,
分别表示
.与迭代(3.12)等价的矩阵迭代格式为:
.(3.13)
4. 收敛性分析
4.1. Jacobi预处理迭代收敛性分析
首先我们回顾定理4.1 [10],即求解线性方程
的Richardson迭代的收敛性定理。
定理4.1 若Richardson迭代(3.1)中系数矩阵A的特征值都为正实数,
满足
时,迭代(3.1)收敛,且
时,迭代矩阵的谱半径
取得最小值
,其中
为迭代矩阵,
为矩阵A的最小特征值与最大特征值。
下面,我们给出Jacobi预条件迭代的收敛性定理。
定理4.2 若矩阵
为由全正基生成的配置矩阵,即全正矩阵,且
满足
时,Jacobi预
条件迭代(3.8)收敛且可求得最优的
使得迭代矩阵的谱半径达到最小,其中
为矩阵
的最大特征值。
证明. 若矩阵
为全正矩阵,则
为全正矩阵,故
也为全正矩阵,则矩阵
的特征值都为正实数,故由定理4.1可知Jacobi预处理迭代(3.8)收敛,且都可求得最优的
使得该迭代的迭代矩阵的谱半径达到最小。
4.2. Gauss-seidel预处理迭代收敛性分析
由于(3.3)还可以看成残差迭代
,
与外推法
,
相结合得到的,故迭代(3.3)中的
可以看作外推参数,我们可以类比外推法讨论迭代(3.3)的收敛性定理。下面,我们给出外推法在一般条件下的收敛性定理[11]。
定理4.3 设
为定常迭代格式:
(4.1)
的迭代矩阵G的谱,
分别为迭代矩阵G的特征值的最大和最小实部,并且满足
,
是G的模最大的虚部,则有:
(1) 设
,迭代格式(4.1)的外推格式:
收敛当且仅当
,这里
。
设
,
其中,
,
,
,
,我们
当且仅当满足以下条件时等式成立:1) 当
时,
;2) 当
时,
.
下面,我们给出迭代(3.3)的收敛性定理。
定理4.4 设
为
的所有特征值。
分别为矩阵T的特征值的最大和最小实部,
为矩阵T的特征值的最大虚部,
,
,
,
,
。若
,则有:
1) 当
,迭代(3.3)收敛;
2) 当
,
时,迭代(3.3)的迭代矩阵
的谱半径上界达到最小值,并且有
证明. 设
,
矩阵G的特征值,则有
。由于
,故有
,其中
分别为迭代矩阵G的特征值的最大和最小实部,因此,根据定理4.3,我们有(1)和(2)成立。
下面,我们给出Gauss-Seidel预条件迭代的收敛性定理。
定理4.5 若矩阵B(A)为全正矩阵,矩阵A(B)为对称正定矩阵或H矩阵,设
为
的所有特征值,当
时,单边Gauss-Seidel预处理迭代(3.11) ((3.10))收敛。
证明. 设
为(3.11)中矩阵
的特征值,由于矩阵A为对称正定矩阵或H矩阵,由引理4可知:
.
故对于
都有
,
则有
,
从而可得
,即矩阵
的特征值的实部都大于0。又矩阵B为全正矩阵,即矩阵B的特征值都为正实数,从而矩阵
的所有特征值的实部都大于0。故由定理4.4可知迭代(3.11)收敛。
定理4.6若矩阵
都为对称正定矩阵或H矩阵,设
为(3.12)中矩阵
的特征值,
为(3.12)中矩阵
的特征值,
为
的所有特征值,当
时,且满足以下(1) (2)中的一点:
1) 对于任意
都有
.
2) 对于任意
都有
.
则双边Gauss-Seidel预处理迭代(3.12)收敛。
证明. 由于矩阵
都为对称正定矩阵或H矩阵,同理定理4.5的证明可知矩阵
的特征值的实部
都大于0.若(1)或者(2)成立,可得矩阵T的特征值的实部
恒成立,此时由定理4.4可得双边Gauss-Seidel预处理迭代(3.12)收敛。
5. 数值实验
下面,我们给出两个数值示例来说明上述提出的求解矩阵方程(1.1)的迭代方法的性能。在Intel(R)Core(TM) i7-8550U CPU@1.80GHz1.99GHz处理器上,用MATLAB R2016进行了数值实验。我们使用迭代步长(记为IT)、计算时间(记为CPU)和残差(记为RES)三个迭代参数来测试上述的迭代方法,本节所有迭代均从零矩阵开始,当残差范数满足
时停止,其中
,
表示G的Frobenius范数。
例1:考虑矩阵方程(1.1),其中矩阵A定义为
,
,C为10阶随机矩阵。
在本例中,我们首先对ω取不同值利用Jacobi预处理迭代(3.9)求解矩阵方程(1.1),由定理4.2可求出最优参数
。如表1和图1所示迭代次数和CPU时间方面,最优参数
表现最好。
其次,我们分别利用Richardson迭代(3.4),Jacobi预处理迭代(3.9)以及Gauss-Seidel预处理迭代(3.13)求解矩阵方程(1.1),其中Richardson迭代中的ω取其最优的ω为1.9129,Jacobi预处理迭代中的ω取其最优的ω为0.6800,Gauss-Seidel预处理迭代中的ω取定理4.6中对应的
为1.0000,此时上述三种迭代方法都收敛。我们将三种迭代方法进行比较,可得表2和图2。由表2和图2可知Jacobi预处理迭代方法比广义Richardson迭代方法迭代次数少,收敛速度更快,Gauss-Seidel预处理迭代方法的迭代次数最少,收敛速度最快。
Table 1. Numerical results of preprocessed Jacobi iteration with different values of ω
表1. ω取不同值时Jacobi预处理迭代的数值结果
|
ω = 0.2 |
ω = 0.3 |
ω = 0.4 |
ω = 0.5 |
ω = 0.6 |
ω = 0.7 |
ω = ωopt |
IT |
753 |
512 |
389 |
314 |
263 |
446 |
233 |
CPU |
0.015496 |
0.011436 |
0.009033 |
0.006586 |
0.006594 |
0.008983 |
0.005802 |
RES |
4.81 × 10−8 |
3.16 × 10−8 |
2.31 × 10−8 |
1.79 × 10−8 |
1.48 × 10−8 |
1.32 × 10−8 |
1.27 × 10−8 |
Table 2. The number of iteration steps (CPU time) for the three iteration methods under a given error
表2. 三种迭代方法在给定误差下的迭代步数(CPU时间)
算法 |
ωopt/ωm |
IT(CPU/s) |
RES < 10−6 |
RES < 10−7 |
RES < 10−8 |
RES < 10−9 |
RES < 10−10 |
RES < 10−11 |
Richardson |
1.929 |
230 (0.006949) |
262 (0.009199) |
293 (0.009521) |
324 (0.010317) |
355 (0.010921) |
387 (0.013777) |
J-Richardson |
0.68 |
178 (0.003935) |
208 (0.005769) |
233 (0.005802) |
268 (0.0081642) |
299 (0.0095736) |
329 (0.010421) |
GS-Richardson |
1 |
46 (0.001644) |
52 (0.004854) |
59 (0.005640) |
65 (0.006953) |
71 (0.007642) |
78 (0.008916) |
Figure 1. The convergence curve of preprocessed Jacobi iteration for different values of ω
图1. ω取不同值时Jacobi预处理迭代的收敛曲线
Figure 2. Convergence curves of three iterative methods
图2. 三种迭代方法的收敛曲线
类似利用PIA进行曲面拟合,我们可以将本文的算法运用到曲面拟合中,下面给出示例。
例2:考虑曲面
,
其中
。
这里我们考虑矩阵A为由均匀三次b样条基生成的配置矩阵,
,
,选取均匀的插值点,则我们可以得到
时,运用Jacobi预处理迭代(3.9)曲面拟合的结果如图3所示。
Figure 3. Interpolation surface image in Example 2
图3. 例2插值曲面图像
6. 总结
本文首先将矩阵方程AXB = C转化为线性系统Tx = c,通过引入可调参数ω,提出了求解矩阵方程AXB = C的广义Richardson迭代法及其Jacobi和Gauss-Seidel-type预条件迭代法,并分别分析了它们的收敛性。此外,讨论了在这些迭代方法中如何选择最优参数ω,并在一些特殊情况下得到了最优参数。最后,通过数值实验验证了所提算法的有效性。