1. 引言
考虑下面大型稀疏的3 × 3块线性方程组
(1)
其中,
和
是正定的,
和
是两个维数满足
的矩形矩阵。形式(1)的线性系统常被称为双鞍点线性系统,出现在许多实际问题中,如计算流体力学[1]、约束优化[1]-[3]等。
令
,
,
,
,则上述线性方程组(1)的3 × 3块系统可以等价地改写为
(2)
近几十年来,许多人对于线性方程组(1)或其等价的2 × 2块形式(2),提出了许多有效的预处理子,如块对角预处理子[4],块三角形预处理子[5]-[8]以及约束预处理子[9] [10];更多细节参见[11]。
2. 一种改进维数分裂预处理子
我们首先引入求解双鞍点问题(1)的维数分裂(Dimensional Splitting,简记DS)预处理子。
记
,其中
和
基于上述分裂,Benzi和Guo [12]在2011年提出了如下维数分裂(DS)预处理子:
(3)
其中,
,
是适当阶数的单位矩阵。
另一方面,基于维数分裂(DS)预处理子,Benzi等人[13]进一步提出了下述松弛维数分解(Relaxed Dimensional Factorization,简记RDF)预处理子。
(4)
与维数分裂(DS)预处理子相比,松弛维数分解(RDF)预处理子更接近于系数矩阵
,即差值
比差值
更接近于零矩阵。事实上,上面的分析由如下简单的计算给出:
和
矩阵
比
多两个非零块,这可能是松弛维数分解(RDF)预处理子优于维数分裂(DS)预处理子的原因。
针对双鞍点问题,2022年,Ren和Chen [14]通过引入一个新的参数
以及省略一些项来避免因子
和
出现在同一系数矩阵中,基于这一思想进而提出了IAPSS预处理子。本文受此思想启发,通过修改
这个矩阵分解中的某些项,我们可以得到改进维数分裂(IDS)预处理子,事实上,我们知道:
(5)
和
(6)
令
(7)
其中,
和
是给定的正常数。
(8)
备注1。因为增加了一个参数,改进维数分裂(IDS)预处理子要比松弛维数分解(RDF)预处理子灵活,选取
时,改进维数分裂(IDS)预处理子就退化为松弛维数分解(RDF)预处理子。
当我们使用改进维数分裂(IDS)预处理子(7)来加速Kryov子空间方法的收敛时,在预处理Kryov子空间方法的每一步都需要求解一个残差线性方程组
,其中z和r分别是当前和广义残差向量。令
,
,引入一个介质向量
,其中
,
和
,则线性方程组
可以等价地写为以下两个线性方程组:
(9)
和
(10)
从式(9),我们有
,且
、
由下述解得
(11)
或等价地
使用相似的技术,线性系统(10)可以改写为
,且
因此,残差线性方程组
可按如下算法1求解。
算法1. 求解
1) 从以下线性子系统求解
|
; |
2) 通过
计算
; |
3) 通过
计算
; |
4) 通过
计算
; |
5) 从以下线性子系统求解
|
; |
6) 通过
计算
; |
3. 预处理矩阵
的谱性质
我们首先引入一个引理,它将用于下面分析预处理矩阵
的谱性质。
引理1. 令,则
的0特征值的重数至少为
,其余的特征值为
,其中
是
矩阵
的特征值。
证明:首先,我们注意到
(12)
其中,和。
因此,从式(12)我们可以知道,
是一个秩不超过m的矩阵,因此,
的特征值0的重数至少为
,利用一个众所周知的结果([15],定理1.3.20),其剩余特征值就是
矩阵的特征值:
证毕。
基于引理1,我们有以下结果。
定理1. 假设
和
是正定矩阵,
和
是长方阵且维数满足
,则预处理矩阵
具有特征值1,其重数至少为
,剩余特征值
是广义
特征值问题
(18)的特征值。
证明:令
,
易知
和
其中,
,
,,。
(13)
其中,
和
根据引理1,
的特征值由0和
给出,因此,由式(13)可以看出,
的特征值为1,其重数至少为
,剩下的特征值
是矩阵
的特征值:
(14)
现在,我们只需要考虑矩阵
的谱性质,为了方便,令
,其中,
。则
(15)
通过计算,由(15)式易知
(16)
经过类似的推导,我们可以得到
(17)
将上述(16)、(17)代入
中得到
我们注意到
,矩阵
可以进一步简化为
它相似于
。因此,
的特征值
满足以下广义特征值问题:
(18)
其中,
是
的特征值
对应的特征向量。
证毕。
4. 改进维数分裂(IDS)预处理子的最优参数估计
改进维数分裂(IDS)预处理子的计算效率很大程度上取决于
和
两个参数的选取。为了使当前预处理子的预处理效果更好,我们需要选择合适的参数使得预处理子能够尽可能地接近系数矩阵,从而使预处理矩阵具有更强的谱聚集。在本文中,我们对IDS预处理子中的参数
和
做了全局最优。
首先,定义
则我们有
先对上式求一阶偏导,得到
(19)
等价于
(20)
经过简单计算,我们可以得到驻点
,其中,
,
。
再对上式(20)求二阶偏导,得到
(21)
令
,
,
,其中,
,
,
,
。
则
,经过一系列计算,
得到
。因为
,
,所以易知
。由此可知,
,又因为
,把
代入,经过计算可知
,因为
,
,所以
。根据
,可知
。
根据二元函数极值存在定理,
,且
,因此函数
存在极小值,可以获得IDS预处理子中的准最优参数
和
,其表达式如下:
,
(22)
5. 数值实验
在本节中,我们利用计算流体力学中的一个例子来测试IDS预处理子的性能。
在实际计算中,我们分别使用DS、RDF、RSS和IDS预处理来加速广义极小残差(GMRES)方法的收敛。对于DS预处理子(3),我们利用[16]来计算其最优参数:
(23)
利用文献[17]来选择RDF预处理子的最优参数:
(24)
其中
针对文献[18]提出的如下形式的RSS预处理子:
我们利用Huang提出的代数估计方法[19],得到了RSS预处理子中的最优参数
。
这里,在计算DS、RDF、RSS和IDS预处理子的最优参数时,为了减少工作量,我们使用以下公式来计算矩阵乘积的迹。
,
,
其中
表示哈达玛积。
在下面实验中,我们选取向量
为初始向量,利用迭代步数(缩写为IT,单位:次)和算法达到收敛时所需要的总运行时间(缩写为CPU,单位:秒)来比较GMRES和四种预处理GMRES方法的数值结果,一旦当前迭代
满足
或者迭代次数超过2500,迭代就终止。下面表中“+”表示不收敛或者迭代步数超过2500的情况。
本文的实验都在电脑内存为16.0GB,CPU型号为Intel(R) Core(TM) i5-12500CPU @ 3.10 GHz,操作系统为Windows 10的MATLAB(R2022b)上完成。
例1 [1]考虑不可压缩Navier-Stokes方程的解。
其中
是一个开有界域,时间间隔为
,f为外力场,g和u0是初始边界数据,
为速度场,
为压力场,v为运动粘度,与雷诺数成反比。∆、
和div符号分别表示拉普拉斯算子、梯度和散度。我们使用IFISS软件包[20]将Ω划分,对二维漏盖驱动空腔问题进行离散化,实验中涉及的网格类型为stretched,选取的有限元分别为:Q2-Q1有限元和Q2-P1有限元,网格大小和粘度常数分别设置为16 × 16,32 × 32,64 × 64,128 × 128和
。更多细节可参见文[1]。
针对离散化的3 × 3块线性方程组,根据上面的分析,我们分别计算出DS、RDF、RSS和IDS预处理子的准最优参数值。表1和表2记录了Q2-Q1、Q2-P1有限元离散化的DS、RDF、RSS和IDS预处理子的准最优参数值。
Table 1. The optimal parameter-values of the DS, RDF, RSS and IDS preconditioners for the Q2-Q1 FEM discretization
表1. Q2-Q1有限元离散化的DS、RDF、RSS和IDS预处理子的准最优参数
v |
Grid |
|
|
|
|
|
10−1 |
16 × 16 |
0.0194 |
0.0523 |
0.7065 |
0.2482 |
0.0589 |
32 × 32 |
0.0121 |
0.0173 |
0.9186 |
0.1295 |
0.0352 |
64 × 64 |
0.0084 |
0.0056 |
1.2298 |
0.0678 |
0.0198 |
128 × 128 |
0.0060 |
0.0018 |
1.6364 |
0.0356 |
0.0108 |
10−2 |
16 × 16 |
0.0125 |
0.5234 |
0.5280 |
0.2482 |
0.0589 |
32 × 32 |
0.0048 |
0.1734 |
0.3838 |
0.1295 |
0.0352 |
64 × 64 |
0.0019 |
0.0558 |
0.3016 |
0.0678 |
0.0198 |
128 × 128 |
0.0009 |
0.0176 |
0.3602 |
0.0356 |
0.0108 |
10−3 |
16 × 16 |
0.0124 |
5.2480 |
0.5741 |
0.2482 |
0.0589 |
32 × 32 |
0.0047 |
1.7340 |
0.4641 |
0.1295 |
0.0352 |
64 × 64 |
0.0017 |
0.5580 |
0.3488 |
0.0678 |
0.0198 |
128 × 128 |
0.0006 |
0.1764 |
0.2196 |
0.0356 |
0.0108 |
10−4 |
16 × 16 |
0.0124 |
15.3091 |
0.5794 |
0.2482 |
0.0589 |
32 × 32 |
0.0047 |
17.3865 |
0.4763 |
0.1295 |
0.0352 |
64 × 64 |
0.0017 |
5.5803 |
0.3786 |
0.0678 |
0.0198 |
128 × 128 |
0.0006 |
1.7642 |
0.2908 |
0.0356 |
0.0108 |
Table 2. The optimal parameter-values of the DS, RDF, RSS and IDS preconditioners for the Q2-P1 FEM discretization
表2. Q2-P1有限元离散化的DS、RDF、RSS和IDS预处理子的准最优参数
v |
Grid |
|
|
|
|
|
10−1 |
16 × 16 |
0.0176 |
0.1914 |
1.1738 |
0.4345 |
0.1037 |
32 × 32 |
0.0102 |
0.0605 |
1.5627 |
0.2220 |
0.0588 |
64 × 64 |
0.0069 |
0.0191 |
2.2353 |
0.1148 |
0.0322 |
128 × 128 |
0.0050 |
0.0060 |
3.1209 |
0.0600 |
0.0173 |
10−2 |
16 × 16 |
0.0122 |
1.9136 |
1.1448 |
0.4345 |
0.1037 |
32 × 32 |
0.0043 |
0.6048 |
0.7645 |
0.2220 |
0.0588 |
64 × 64 |
0.0016 |
0.1912 |
0.4950 |
0.1148 |
0.0322 |
128 × 128 |
0.0007 |
0.0601 |
0.5666 |
0.0600 |
0.0173 |
10−3 |
16 × 16 |
0.0121 |
19.1486 |
1.2566 |
0.4345 |
0.1037 |
32 × 32 |
0.0042 |
6.0477 |
1.0090 |
0.2220 |
0.0588 |
10−3 |
64 × 64 |
0.0015 |
1.9119 |
0.7422 |
0.1148 |
0.0322 |
128 × 128 |
0.0005 |
0.6015 |
0.4219 |
0.0600 |
0.0173 |
10−4 |
16 × 16 |
0.0121 |
200.2231 |
1.2684 |
0.4345 |
0.1037 |
32 × 32 |
0.0042 |
60.5177 |
1.0391 |
0.2220 |
0.0588 |
64 × 64 |
0.0015 |
19.1188 |
0.8219 |
0.1148 |
0.0322 |
128 × 128 |
0.0005 |
6.0148 |
0.6267 |
0.0600 |
0.0173 |
基于上述这些参数值,我们利用四种预处理GMRES方法对线性方程组(1)的解进行近似。表3和表4分别记录了Q2-Q1、Q2-P1有限元离散化的预处理GMRES方法数值结果。从表3和表4中,我们可以看出,当v = 10−1时,RDF预处理子的效果要比DS、RSS和IDS预处理子好。不过,随着v的减小,我们可以观察到,IDS预处理子的效果是最佳的,因为IDS预处理GMRES方法的迭代步数和CPU时间都比DS、RDF和RSS预处理GMRES方法少得多。
Table 3. Numerical results of the PGMRES methods for the Q2-Q1 FEM discretization
表3. Q2-Q1有限元离散化的预处理GMRES方法数值结果
|
|
16 × 16 |
|
32 × 32 |
|
64 × 64 |
|
128 × 128 |
|
v |
Method |
IT |
CPU |
IT |
CPU |
IT |
CPU |
IT |
CPU |
10−1 |
DS |
22 |
0.0052 |
34 |
0.0408 |
88 |
1.0870 |
221 |
21.4641 |
RDF |
19 |
0.0054 |
29 |
0.0383 |
48 |
0.6628 |
80 |
8.6092 |
RSS |
46 |
0.0127 |
89 |
0.0765 |
181 |
1.9199 |
344 |
22.4499 |
IDS |
28 |
0.0105 |
51 |
0.0552 |
100 |
1.7292 |
194 |
19.2940 |
10−2 |
DS |
60 |
0.0395 |
94 |
0.3356 |
124 |
2.7392 |
136 |
17.3263 |
RDF |
24 |
0.0055 |
37 |
0.0385 |
54 |
0.7256 |
90 |
9.4049 |
RSS |
41 |
0.0117 |
83 |
0.0812 |
172 |
1.8069 |
397 |
25.5556 |
IDS |
23 |
0.0123 |
33 |
0.0411 |
55 |
0.4100 |
109 |
11.2747 |
10−3 |
DS |
190 |
0.1782 |
325 |
1.4786 |
509 |
23.8302 |
690 |
190.3037 |
RDF |
77 |
0.0602 |
132 |
0.4574 |
210 |
4.3294 |
273 |
26.9543 |
RSS |
57 |
0.0326 |
139 |
0.3519 |
318 |
4.3385 |
618 |
44.4922 |
IDS |
42 |
0.0316 |
65 |
0.3076 |
74 |
2.0447 |
98 |
11.8734 |
10−4 |
DS |
428 |
0.7478 |
1147 |
19.1632 |
1810 |
188.9457 |
+ |
+ |
RDF |
87 |
0.0818 |
318 |
2.4150 |
1065 |
71.5925 |
1887 |
654.4964 |
RSS |
68 |
0.0503 |
211 |
0.9038 |
677 |
25.0102 |
1549 |
309.1655 |
IDS |
65 |
0.0614 |
140 |
1.1032 |
210 |
11.9102 |
254 |
89.7660 |
Table 4. Numerical results of the PGMRES methods for the Q2-P1 FEM discretization
表4. Q2-P1有限元离散化的预处理GMRES方法数值结果
|
|
16 × 16 |
|
32 × 32 |
|
64 × 64 |
|
128 × 128 |
|
v |
Method |
IT |
CPU |
IT |
CPU |
IT |
CPU |
IT |
CPU |
10−1 |
DS |
31 |
0.0082 |
32 |
0.0281 |
50 |
0.1768 |
118 |
2.7674 |
RDF |
18 |
0.0037 |
29 |
0.0144 |
44 |
0.1097 |
63 |
1.4456 |
RSS |
38 |
0.0098 |
82 |
0.0587 |
150 |
0.4883 |
253 |
6.4549 |
IDS |
23 |
0.0071 |
43 |
0.0282 |
79 |
0.2310 |
141 |
3.4027 |
10−2 |
DS |
99 |
0.0518 |
135 |
0.1764 |
150 |
0.8612 |
154 |
3.8271 |
RDF |
28 |
0.0047 |
43 |
0.0266 |
62 |
0.1614 |
90 |
2.0641 |
RSS |
47 |
0.0122 |
89 |
0.1764 |
158 |
0.5270 |
294 |
7.8066 |
IDS |
29 |
0.0117 |
29 |
0.0295 |
42 |
0.1514 |
80 |
1.8566 |
10−3 |
DS |
283 |
0.2511 |
520 |
1.9303 |
716 |
11.9321 |
858 |
42.8383 |
RDF |
147 |
0.0922 |
236 |
0.4707 |
346 |
2.9161 |
490 |
16.5912 |
RSS |
92 |
0.0547 |
205 |
0.3420 |
431 |
4.0651 |
853 |
40.0421 |
IDS |
69 |
0.0400 |
79 |
0.1226 |
84 |
0.4923 |
82 |
2.0019 |
10−4 |
DS |
413 |
0.6073 |
1232 |
20.7233 |
+ |
+ |
+ |
+ |
RDF |
220 |
0.1827 |
846 |
7.3474 |
2310 |
238.7753 |
+ |
+ |
RSS |
123 |
0.0784 |
430 |
1.4620 |
1219 |
41.9477 |
+ |
+ |
IDS |
131 |
0.0885 |
207 |
0.5668 |
261 |
4.1543 |
244 |
14.8608 |
6. 结论
基于3 × 3块系数矩阵的维数分裂(DS),本文提出了一种新的改进维数分裂(IDS)预处理子,并讨论了IDS预处理矩阵的谱性质。在计算准最优参数之后,通过二维不可压缩Navier-Stokes方程这一个重要算例的数值实验,验证了IDS预处理子与其他预处理子相比具有很大的优越性。