1. 引言
矩阵方程AXB = C在科学计算和工程领域有着广泛的运用,是一个值得深入研究的问题,在实际问题中也发挥着重要作用,在电力系统潮流计算中,可以通过求解此方程组了解电力网络中各节点的电压以及功率信息;在图像处理技术中,将图像转变成矩阵的形式,通过求解AXB = C这个方程组,可以通过数据恢复原始图像;在计算机辅助几何设计中的曲面拟合中,也有着广泛的运用。而方程是AX = b方程AXB = C的一种特殊情况,当矩阵B为单位矩阵时,C为列向量时,矩阵方程AXB = C就成了Ax = c的形式。因此,如何求解矩阵方程AXB = C引起了国内外广泛学者的关注。
对于求解矩阵方程AXB = C,一般是使用直接法和迭代法进行求解,但是直接法数值不稳定,对于大规模矩阵需要较多的计算和存储资源,而迭代法[1]-[3]是通过逐步逼近方程AXB = C的解,在计算复杂度和存储需求方面较低。现在我们使用的迭代法大多是古典迭代法和投影迭代法,但是迭代法使得系数矩阵的条件数太大了。还有一种解决线性方程组的方法,特别是稀疏矩阵问题和大规模问题中,利用Kronecker积将线性方程组的求解问题转化为更高维度的矩阵方程的求解问题,这样会使得计算量变大。对于矩阵方程AXB = C其Kronecker的形式为:
,该格式在理论研究收敛性中比较实用,但在求解过程中不太符合实际,导致计算量太大。Tian [4]等人发展了一些古典迭代方法,所考虑的分裂是
的Jacobi和Gauss-Siedel分裂。
本文通过外推法引入参数
给出了求解方程AXB = C的广义Richardson迭代法,并分析了这钟迭代方法的收敛性,最后利用数值实验证明了算法的有效性。
2. 相关引理
引理1 kronecker积中矩阵A与B的满足的基本运算法则:
数乘运算:
,
,
为数域;
分配率:
,其中
,
;
结合率:
,其中
,
。
引理2 设
和
分别是
和
的谱,则
。
引理3 设
,则
。
引理4 设
,则
,如果
的逆矩阵存在,则还有
成立。
3. Richardson方法
当解系数矩阵为对称正定阵的大规模线性方程组问题时,我们一般采取Richardson迭代方法,这里我们考虑线性方程Ax = b的求解问题,这里的A是给定的n阶正定矩阵,b是一个n维向量,我们要求出x这个n维向量,这我们可以采取Richardson迭代,其对应的迭代公式为:
其中
为松弛因子,
为初始值,Richardson迭代算法还有一种形式为:
此时迭代矩阵
。
我们设矩阵A的特征值为
,则满足当
时,Richardson迭代收敛,且
时,Richardson迭代的收敛速度最快。
4. 广义Richardson方法
我们把上述描述的求解线性方程AX = b的Richardson迭代推广到矩阵方程AXB = C上,对于矩阵方程AXB = C的求解问题,这里的
,我们要求出X这个
的矩阵,这我们提出广义Richardson迭代,其对应的迭代格式为:
,
其可表示成等价的向量形式:
,
其中
。
5. 广义Richardson的收敛性分析
5.1. A、B特征值为正实数
定理1:当A、B特征值为正实数,
的特征值为
,当
时,迭代
的谱半径达到最小
。
证明:对于广义的Richardson迭代:
,
其可表示成等价的向量形式:
,
其中
.该迭代的迭代矩阵
,收敛因子
,假设
的特征值为
,并且为正实数,
满足
,
如果迭代矩阵所有的特征值都为正,即
,则为了使得该迭代收敛,则需要满足下述条件:
,
,
第一个条件意味着
,第二个条件意味着
,两式结合则可以推出使得迭代收敛应满足:
,
设该迭代最优的
为
,当迭代矩阵的谱半径取到最小值时,此时的
为
,其对应的谱半径为:
,
Figure 1. The function curve of
with respect to
图1.
关于
的函数曲线
如图1所示,关于
的函数当斜率为正的曲线
与斜率为负的曲线
相交时,这时取到最优的
,应满足
,
可以得到:
,
将其替换为两条曲线中的一条,得到相应最优的谱半径:
,
5.2. A、B存在复特征值
令
的特征值为
,
,且实部满足
,则迭代矩阵
的特征值为:
,
迭代矩阵
的谱半径为:
,
定理2:设
,为矩阵
的特征值,令
,
,
,
,
,
,
,
,则有:
1) 当
,广义WPIA收敛。
2) 当
,广义WPIA的迭代矩阵
的上界取最小值,即
证明:
由
,要使迭代收敛,则对应的谱半径小于1,即
,满足
,解得
,
时,该迭代收敛,(1)得证。
若要得到最优的
,则要找到谱半径上界的最小值,
,
我们只对
感兴趣,则设
,则可以的得到下述式子:
当
,则
,
,
当
,则
,
,
当
,因此参数满足
,
综上所述,可得:
下面我们记
,则可以得到:
现在求出使得
最小的
:
为了寻找
和
,我们可以考虑对
,
进行求导可得
和
,其中:
现在我们可以得到结论,如果
,则满足:
.
当
,
在
是单调递减的,
在
是单调递增的,所以在
处取得最小,即当
时,
。
当
时,
是单调递减的,所以在
取得最小,即当
时,
成立。
当
,
是一个单调递增函数,所以在
取得最小,即当
时,
成立。
综上所述,可总结为:
其中
,
则可以得到:
对于上述的
的上界,我们可以作下述说明:
1) 当
时,显然上界总是小于1,且以下式子成立:
,
故在
为G的特征值时:
,
,
2) 当
,即
,故可以得到:
,
那么可以得到:
,
故在
以及
为G的特征值时:
,
.
5.3. 数值实验
下面我们考虑将广义Richardson迭代运用到曲面拟合[5],首先我们回顾一下张量积曲面拟合的传统方法的细节,设两个标准化的正交积为
和
。给定一组控制点序列为
,则生成的张量基曲面可以表示为:
且参数值满足
和
这两组实递增序列,将其对应的参数对
赋予控制点
,从
,这个点列为初始控制点,则对应生成的初始张量积曲面为:
则进行第K + 1次迭代后可生成的曲面为:
对于K + 1次迭代,计算其对应的校正向量:
(4.1)
其中,
.则可以得到
该迭代称为渐进迭代逼近,简称为PIA。
将
排列成矩阵形式可以得到:
如果
.则初始的
有PIA性质。
设A,B矩阵分别为正交积为
和
的配置矩阵,则(2.1)可以写成:
,(4.2)
由上述的(2.2)式,我们也可以将其写成下面形式,
(4.3)
迭代(2.3)在数学上则等价于Richardson迭代,可以用来求解下列方程组:
,
,
,
看成数值线性代数问题,最好就是求解下面三个方程:
,
,(4.4)
,
其中,
.
这里我们比较PIA算法和广义Richardson,刘成志[6]等人提出的三次均匀B样条扩展曲面的渐进迭代逼近法得出配置矩阵与形状参数λ有关,这里我们取A,B矩阵为H-矩阵的三次B样条基,具体形式为:
其中
,这里我们让
,求解了(4.4)对应的三个线性方程,要求的精度为10−8,结果如下表所示(表1)。
Table 1. CPU times (seconds) for PIA and generalized richardson
表1. PIA与广义Richardson的CPU时间(秒)
n |
PIA |
广义Richardson |
n = 10 |
0.003 |
0.002 |
n = 20 |
0.057 |
0.01 |
n = 30 |
0.348 |
0.03 |
n = 40 |
1.668 |
0.036 |
n = 50 |
5.728 |
0.037 |
n = 60 |
17.49 |
0.07 |
n = 70 |
45.6 |
0.072 |
n = 80 |
104.68 |
0.107 |
从表中数据可以清楚显示,广义Richardson明显快于PIA。当n的取值越大,广义Richardson的收敛速度越好,当
时,PIA方法所以需要的时间达到了10,468秒,而广义Richardson仅仅需要0.107秒。下面我们展示
和
的两个插值曲面(图2)。
(a) (b)
Figure 2. Interpolated surface plots when
(left) and
(right)
图2. 当
(左)
(右)时插值曲面的图像
6. 结论
本文给出了解方程
的一种算法,该算法将外推法与Richardson方法相结合,通过寻找
的取值来提高收敛速度。并且对A、B矩阵分为特征值为实数和复数两种情况并且分别做了收敛性分析,最后利用曲面拟合来研究PIA算法和广义Richardson算法的速度。数值实验表明:广义Richardson方法明显快于PIA方法。