关于求解矩阵方程AXB = C的预处理Richardson迭代
On the Preprocessed Richardson Iteration for Solving Matrix Equation AXB = C
摘要: 本文类比于求解线性方程Ax = b的Richardson迭代,通过引入可调参数ω,提出了求解矩阵方程AXB = C的Richardson迭代及其Jacobi和Gauss-Seidel预处理迭代,并详细分析了它们的收敛性。此外,对于一些特殊情况,可以得到参数ω的最优选择,使得迭代矩阵的谱半径达到最小。最后,通过数值实验,我们验证了所提算法的有效性。
Abstract: In this paper, analogous to Richardson iteration for solving linear equation Ax = b, Richardson iteration and preprocessed Jacobi and Gauss-Seidel iteration are proposed for solving the matrix equation AXB = C by introducing a tunable parameter ω, and their convergence properties are analyzed in detail. Moreover, the optimal choices of the parameter ω to minimize the spectral radius of the iteration matrix are also obtained for some special cases. Finally, numerical experiments are carried out to illustrate the effectiveness of the proposed algorithms.
文章引用:李嘉慧. 关于求解矩阵方程AXB = C的预处理Richardson迭代[J]. 应用数学进展, 2024, 13(7): 3130-3139. https://doi.org/10.12677/aam.2024.137298

1. 引言

本文考虑求解矩阵方程

AXB=C, (1.1)

其中 A,B,C R n×n 。矩阵方程(1.1)在数学、科学计算以及工程方面都有广泛的应用。例如,在计算机辅助几何设计(CAGD)中的曲面拟合、信号与图像处理、摄影测量等许多实际应用中,通常都需要求解方程(1.1)。另外,还包括微分方程数值解、控制系统、稳定性理论、优化算法等领域都涉及到了方程(1.1)的求解。

由于矩阵方程(1.1)在矩阵理论和应用中的重要性,如何有效地求解该方程一直是人们研究的热点。在过去的几十年里,已经提出了许多数值算法来求解该方程。当矩阵AB阶数较小时,基于QR分解的直接法求解十分有效[1]。然而,对于大型稀疏矩阵AB,直接法的开销非常昂贵,此时我们通常考虑迭代法来进行求解。在[2]中,作者提出了方程(1.1)的最小二乘对称解的迭代方法,对于任意初始对称矩阵,在不考虑舍入误差的情况下,可以在有限迭代步数内得到一个解,并且通过选择一类特殊的初始对称矩阵,可以得到最小范数解;在[3]中作者讨论了矩阵方程AXB = C的自反解和反自反解,并给出了解存在的一些条件;在[4]中,作者提出了一种迭代算法来获得方程(1.1)的广义中心对称解,并在有限迭代步内推导出给定矩阵的最优逼近解;在[5]中,作者提出了求解方程(1.1)的HSS迭代方法,该方法是通过拓展求解Ax = b的HSS迭代方法得到的;[6]中通过对矩阵AB进行分裂,构造了求解矩方程(1.1)的Jacobi和Gauss-Seidel型迭代方法,建立了预条件迭代算法,并通过数值实验验证了算法的有效性。

本文通过引入可调参数ω给出了求解方程(1.1)的Richardson迭代法及其Jacobi和Gauss-Seidel预处理迭代方法,并分析了这三种迭代方法的收敛性,最后利用数值实验证明了算法的有效性。

2. 预备知识

下面,我们回顾一些基本定义和已知结果。

定义1. [7]X m×n 矩阵, vec( X ) 定义为大小为 mn 的列向量,是由X的列从左到右堆叠而成。设 A,B 分别为 m×n p×q 矩阵。那么克罗内克积 AB 就是 ( mp )×( nq ) 矩阵

[ a 11 B a 1n B a m1 B a mn B ] .

引理1. [7] A,B,X m×m n×n m×n 矩阵,则有:

1) vec( AX )=( I n A )vec( X )

2) vec( XB )=( B T I m )vec( X )

引理2. [7]克罗内克积有以下性质:

1) 若 AC,BD 存在,则 ( AB )( CD )=( AB )( CD )

2) 若矩阵 A,B 可逆,则 ( AB ) 1 = A 1 B 1

3) ( AB ) T = A T B T

引理3. [7] λ( A ),μ( B ) 分别为矩阵 A R n×n ,B R m×m 的谱,则:

λ( AB )={ λ i μ j : λ i λ( A ), μ j μ( B ),i=1,2,,n;j=1,2,,m } .

定义2. [8] [9] Z n×n 表示所有非对角元素非正的 n×n 实矩阵的集合,若矩阵 A Z n×n 为非奇异矩阵,且 A 1 0 ,则称矩阵A为M矩阵。

定义3. [9]对于一个 n×n 矩阵 A=( a lj ) ,我们定义一个新的矩阵 A =( a lj ) ,其中

α lj ={ | α lj |,j=l | α lj |,jl

我们称这个矩阵 A 为矩阵A的比较矩阵。

定义4. [9]如果 A 是一个M矩阵,则我们称A是一个H矩阵。

引理4. [8] [9]如果矩阵A为对称正定矩阵或H矩阵, A= D 1 L 1 U 1 ,其中 D 1 , L 1 , U 1 分别是矩阵A的对角部分,严格下三角部分和严格上三角部分,则:

ρ( ( D 1 L 1 ) 1 U 1 )<1 .

3. 预处理Richardson迭代

3.1. Richardson迭代

对于求解线性方程 Ax=b ,Richardson迭代格式如下:

x k+1 = x k +ω( bA x k ) .(3.1)

由于矩阵方程 AXB=C 可以用Kronecker积符号表示为数学上等价的矩阵向量形式:

Tx=c (3.2)

其中 T= B T A x,c 分别表示 vec( X ),vec( C ) ,故类似于Richardson迭代我们引入可调参数 ω 得到以下迭代格式:

x k+1 = x k +ω( c B T A x k ) (3.3)

其迭代矩阵为 G ω =Iω B T A 。但是在具体计算中我们不考虑上述的迭代格式,我们一般考虑与其等价的矩阵迭代格式:

X k+1 = X k +ω( CA X k B ) .(3.4)

为了加快求解速度,下面我们考虑用Jacobi预处理子和Gauss-Seidel预处理子对矩阵方程(1.1)进行预处理,得到相应的预处理Richardson迭代。

3.2. Jacobi和Gauss-Seidel预处理迭代

[6]中,提出了求解矩阵方程(1.1)的预处理迭代方法,其描述如下:对于给定的两个预处理矩阵 P 1 , P 2 ,则有:

AXB P 1 =C P 1

P 2 AXB= P 2 C

P 2 AXB P 1 = P 2 C P 1 .

我们设

A= D 1 L 1 U 1 ,B= D 2 L 2 U 2 (3.5)

其中 D 1 , D 2 分别是矩阵 A,B 的对角部分, L 1 , L 2 分别是矩阵 A,B 的严格下三角部分, U 1 , U 2 分别是矩阵 A,B 的严格上三角部分。

我们令 P 1 = D 1 1 , P 2 = D 2 1 ,则矩阵方程(1.1)进行Jacobi预处理之后可得:

AX B 1 = C 1

A 1 XB= C 2

A 1 X B 1 = C 3 .

其中 B 1 =B P 1 , C 1 =C P 1 , A 1 = P 2 A, C 2 = P 2 C, C 3 = P 2 C P 1 。此时我们由(3.3)可得相应的Jacobi预处理迭代(J-Richardson)为:

x k+1 =( Iω B 1 T A ) x k +ω c 1 (3.6)

x k+1 =( Iω B T A 1 ) x k +ω c 2 (3.7)

x k+1 =( Iω B 1 T A 1 ) x k +ω c 3 .(3.8)

其中 c 1 , c 2 , c 3 分别表示 vec( C 1 ),vec( C 2 ),vec( C 3 ) 与迭代(3.8)等价的矩阵迭代格式为:

X k+1 = X k +ω( C 3 A 1 X k B 1 ) .(3.9)

我们令 P 1 = ( D 1 L 1 ) 1 , P 2 = ( D 2 L 2 ) 1 ,同理由(3.3)可得相应的Gauss-Seidel预处理迭代(GS-Richardson)为:

x k+1 =( Iω B 2 T A ) x k +ω c 4 (3.10)

x k+1 =( Iω B T A 2 ) x k +ω c 5 (3.11)

x k+1 =( Iω B 2 T A 2 ) x k +ω c 6 .(3.12)

其中 B 2 =B P 1 , A 2 = P 2 A c 4 , c 5 , c 6 分别表示 vec( C P 1 ),vec( P 2 C ),vec( P 2 C P 1 ) .与迭代(3.12)等价的矩阵迭代格式为:

X k+1 = X k +ω( P 2 C P 1 A 2 X k B 2 ) .(3.13)

4. 收敛性分析

4.1. Jacobi预处理迭代收敛性分析

首先我们回顾定理4.1 [10],即求解线性方程 Ax=b 的Richardson迭代的收敛性定理。

定理4.1 若Richardson迭代(3.1)中系数矩阵A的特征值都为正实数, α 满足 0<α< 2 λ max 时,迭代(3.1)收敛,且 α=2/ ( λ min + λ max ) 时,迭代矩阵的谱半径 ρ( G α ) 取得最小值 λ max λ min λ min + λ max ,其中 G α =IαA 为迭代矩阵, λ min , λ max 为矩阵A的最小特征值与最大特征值。

下面,我们给出Jacobi预条件迭代的收敛性定理。

定理4.2 若矩阵 A,B 为由全正基生成的配置矩阵,即全正矩阵,且 ω 满足 0<ω< 2 λ max 时,Jacobi预

条件迭代(3.8)收敛且可求得最优的 ω 使得迭代矩阵的谱半径达到最小,其中 λ max 为矩阵 T= B 1 T A 1 的最大特征值。

证明. 若矩阵 A,B 为全正矩阵,则 P 1 = D 1 1 , P 2 = D 2 1 为全正矩阵,故 B 1 =B P 1 , A 1 = P 2 A 也为全正矩阵,则矩阵 T= B 1 T A 1 的特征值都为正实数,故由定理4.1可知Jacobi预处理迭代(3.8)收敛,且都可求得最优的 ω 使得该迭代的迭代矩阵的谱半径达到最小。

4.2. Gauss-seidel预处理迭代收敛性分析

由于(3.3)还可以看成残差迭代

x k+1 = x k +( c B T A x k )

与外推法

x k+1 =ω x k+1 +( 1ω ) x k

相结合得到的,故迭代(3.3)中的 ω 可以看作外推参数,我们可以类比外推法讨论迭代(3.3)的收敛性定理。下面,我们给出外推法在一般条件下的收敛性定理[11]

定理4.3 设 S={ ν j = γ j +i η j ,j=1,,n } 为定常迭代格式:

X k+1 =G X k +C,k=0,1,,n (4.1)

的迭代矩阵G的谱, γ M , γ m 分别为迭代矩阵G的特征值的最大和最小实部,并且满足 1> γ M γ j γ m η M G的模最大的虚部,则有:

(1) 设 G ω =( 1ω )I+ωG ,迭代格式(4.1)的外推格式:

X k+1 = G ω X k +ωC,k=0,1,,n

收敛当且仅当 0<ω<ζ ,这里 ζ= min j { 2( 1 γ j ) ( 1 γ j ) 2 + η j 2 }

ω m ={ ω 1 ϑψ ω * ϑψ

其中, ω 1 = 1 γ M ( γ M 1 ) 2 + γ j 2 ω = 2 2( γ m + γ M ) ϑ=( 1 γ M )( γ M γ m ) ψ=2 η M 2 ,我们 min ω ρ( G ω )ρ( G ω m )={ η M ( ( γ m 1 ) 2 + η M 2 ) 1/2 <1, ω m = ω 1 ( ( γ M γ m ) 2 +4 η M 2 ) 1/2 2 γ M γ m <1, ω m = ω

当且仅当满足以下条件时等式成立:1) 当 ϑψ 时, γ M +i η M S ;2) 当 ϑψ 时, γ m +i η M , γ M +i η M S .

下面,我们给出迭代(3.3)的收敛性定理。

定理4.4 设 μ j = α j +i β j ,j=1,,n T= B T A 的所有特征值。 α M , α m 分别为矩阵T的特征值的最大和最小实部, β M 为矩阵T的特征值的最大虚部, ζ= min j { 2 α j α j 2 + β j 2 } ϑ= α m ( α M α m ) ψ=2 β M 2 ω 1 = α m α m 2 + β M 2 ω = 2 α M + α m 。若 α j >0,j=1,,n ,则有:

1) 当 0<ω<ζ ,迭代(3.3)收敛;

2) 当

ω m ={ ω 1 ϑψ ω * ϑψ

时,迭代(3.3)的迭代矩阵 G ω =Iω B T A 的谱半径上界达到最小值,并且有

min ω ρ( G ω )ρ( G ω m )={ β M ( α m 2 + β M 2 ) 1/2 <1, ω m = ω 1 ( ( α M α m ) 2 +4 β M 2 ) 1/2 α M + α m <1, ω m = ω

证明. 设 G=I B T A ν j = γ j +i η j ,j=1,,n 矩阵G的特征值,则有 η j = β j , γ j =1 α j 。由于 α j >0,j=1,,n ,故有 1> γ M γ j γ m ,其中 γ M , γ m 分别为迭代矩阵G的特征值的最大和最小实部,因此,根据定理4.3,我们有(1)和(2)成立。

下面,我们给出Gauss-Seidel预条件迭代的收敛性定理。

定理4.5 若矩阵B(A)为全正矩阵,矩阵A(B)为对称正定矩阵或H矩阵,设 μ j = α j +i β j ,j=1,,n

T= B T A 的所有特征值,当 0<ω< min j { 2 α j α j 2 + β j 2 } 时,单边Gauss-Seidel预处理迭代(3.11) ((3.10))收敛。

证明. 设 γ l = σ l +i τ l ,l=1,,n 为(3.11)中矩阵 A 2 = ( D 2 L 2 ) 1 A 的特征值,由于矩阵A为对称正定矩阵或H矩阵,由引理4可知:

ρ( I ( D 2 L 2 ) 1 A )=ρ( ( D 2 L 2 ) 1 U 2 )<1 .

故对于 j=1,,n 都有

| 1( σ l +i τ l ) |<1

则有

( 1 σ l ) 2 + τ l 2 <1

从而可得 σ l >0 ,即矩阵 A 2 的特征值的实部都大于0。又矩阵B为全正矩阵,即矩阵B的特征值都为正实数,从而矩阵 T= B T A 的所有特征值的实部都大于0。故由定理4.4可知迭代(3.11)收敛。

定理4.6若矩阵 A,B 都为对称正定矩阵或H矩阵,设 γ l = σ l +i τ l ,l=1,,n 为(3.12)中矩阵 A 2 = ( D 2 L 2 ) 1 A 的特征值, η k = ζ k +i υ k ,k=1,,n 为(3.12)中矩阵 B 2 =B ( D 1 L 1 ) 1 的特征值,

μ j = α j +i β j ,j=1,,n T= B T A 的所有特征值,当 0<ω< min j { 2 α j α j 2 + β j 2 } 时,且满足以下(1) (2)中的一点:

1) 对于任意 k,l 都有 | τ l |<| σ l |,| υ k |<| ζ k | .

2) 对于任意 k,l 都有 τ l υ k <0 .

则双边Gauss-Seidel预处理迭代(3.12)收敛。

证明. 由于矩阵 A,B 都为对称正定矩阵或H矩阵,同理定理4.5的证明可知矩阵 A 2 , B 2 的特征值的实部 σ l , ζ k 都大于0.若(1)或者(2)成立,可得矩阵T的特征值的实部 α j = σ l ζ k τ l υ k >0 恒成立,此时由定理4.4可得双边Gauss-Seidel预处理迭代(3.12)收敛。

5. 数值实验

下面,我们给出两个数值示例来说明上述提出的求解矩阵方程(1.1)的迭代方法的性能。在Intel(R)Core(TM) i7-8550U CPU@1.80GHz1.99GHz处理器上,用MATLAB R2016进行了数值实验。我们使用迭代步长(记为IT)、计算时间(记为CPU)和残差(记为RES)三个迭代参数来测试上述的迭代方法,本节所有迭代均从零矩阵开始,当残差范数满足 R k F 10 8 时停止,其中 R k =CA X k B G F 表示G的Frobenius范数。

例1:考虑矩阵方程(1.1),其中矩阵A定义为

A 10×10 =( 1 5 24 7 12 5 24 5 24 7 12 5 24 5 24 7 12 5 24 1 )

B= A T C为10阶随机矩阵。

在本例中,我们首先对ω取不同值利用Jacobi预处理迭代(3.9)求解矩阵方程(1.1),由定理4.2可求出最优参数 ω opt 。如表1图1所示迭代次数和CPU时间方面,最优参数 ω opt 表现最好。

其次,我们分别利用Richardson迭代(3.4),Jacobi预处理迭代(3.9)以及Gauss-Seidel预处理迭代(3.13)求解矩阵方程(1.1),其中Richardson迭代中的ω取其最优的ω为1.9129,Jacobi预处理迭代中的ω取其最优的ω为0.6800,Gauss-Seidel预处理迭代中的ω取定理4.6中对应的 ω m 为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 < 106

RES < 107

RES < 108

RES < 109

RES < 1010

RES < 1011

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:考虑曲面

z=sin( x )cos( y )

其中 x( 2π,2π ),y( 2π,2π )

这里我们考虑矩阵A为由均匀三次b样条基生成的配置矩阵,

A n×n =( 1 5 24 7 12 5 24 5 24 5 24 5 24 5 24 5 24 5 24 1 )

B= A T ,选取均匀的插值点,则我们可以得到 n=18 时,运用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预条件迭代法,并分别分析了它们的收敛性。此外,讨论了在这些迭代方法中如何选择最优参数ω,并在一些特殊情况下得到了最优参数。最后,通过数值实验验证了所提算法的有效性。

参考文献

[1] Fausett, D.W. and Fulton, C.T. (1994) Large Least Squares Problems Involving Kronecker Products. SIAM Journal on Matrix Analysis and Applications, 15, 219-227.
https://doi.org/10.1137/s0895479891222106
[2] Peng, Z. (2005) An Iterative Method for the Least Squares Symmetric Solution of the Linear Matrix Equation A×B=C. Applied Mathematics and Computation, 170, 711-723.
https://doi.org/10.1016/j.amc.2004.12.032
[3] Cvetković-Iliíc, D.S. (2006) The Reflexive Solutions of the Matrix Equation A×B=C. Computers & Mathematics with Applications, 51, 897-902.
https://doi.org/10.1016/j.camwa.2005.11.032
[4] Liang, M., You, C. and Dai, L. (2007) An Efficient Algorithm for the Generalized Centro-Symmetric Solution of Matrix Equation A×B=C. Numerical Algorithms, 44, 173-184.
https://doi.org/10.1007/s11075-007-9097-z
[5] Wang, X., Li, Y. and Dai, L. (2013) On Hermitian and Skew-Hermitian Splitting Iteration Methods for the Linear Matrix Equation A×B=C. Computers & Mathematics with Applications, 65, 657-664.
https://doi.org/10.1016/j.camwa.2012.11.010
[6] Tian, Z., Tian, M., Liu, Z. and Xu, T. (2017) The Jacobi and Gauss-Seidel-Type Iteration Methods for the Matrix Equation A×B=C. Applied Mathematics and Computation, 292, 63-75.
https://doi.org/10.1016/j.amc.2016.07.026
[7] Demmel, J.W. (1997) Applied Numerical Linear Algebra. Society for Industrial and Applied Mathematics, Philadelphia.
https://doi.org/10.1137/1.9781611971446
[8] Horn, R. and Johnson, C.R. (1986) Matrix Analysis. Cambridge University Press, Cambridge.
[9] Frommer, A. and Szyld, D.B. (1992) H-Splittings and Two-Stage Iterative Methods. Numerische Mathematik, 63, 345-356.
https://doi.org/10.1007/bf01385865
[10] Yousef, S. (2003) Iterative Methods for Sparse Linear Systems. Society for Industrial and Applied Mathematics, Philadelphia, 116-118.
[11] Yeyios, A. (1984) On the Optimization of an Extrapolation Method. Linear Algebra and its Applications, 57, 191-203.
https://doi.org/10.1016/0024-3795(84)90187-3