数值线性代数中,矩阵分裂(matrix splitting)是一种将给定矩阵表为多个矩阵和或差的表示。很多迭代法(如解微分方程组的)都依赖于直接求解比三对角矩阵更一般的矩阵的方程,若将其分裂,通常可以更高效地求解。这项技术由Richard S. Varga(1960)发明。[1]
解矩阵方程
![{\displaystyle \mathbf {A} \mathbf {x} =\mathbf {k} ,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/df9bc8e691f6fee36d87072f35d438eef362d284) | | 1 |
其中A是给定n阶非奇异方阵,k是给定n元列向量。A可分裂为
![{\displaystyle \mathbf {A} =\mathbf {B} -\mathbf {C} ,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2201227b97df6cca586472fdef75c33fff52b3c0) | | 2 |
B、C都是n阶方阵。对元素非负的任意n阶方阵M,可以记作
。若M元素均为正数,可以记作
。相似地,若
的元素非负,可以记作
。
定义: 若
,则
是A的一个正则分裂(regular splitting)。
假设矩阵方程形式为
![{\displaystyle \mathbf {B} \mathbf {x} =\mathbf {g} ,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ae9c638cbdf4cc9149fa5b87a6178678d3151bf8) | | 3 |
其中g是给定列向量,可直接求解x。若(2)表示A的正则分裂,则迭代法
![{\displaystyle \mathbf {B} \mathbf {x} ^{(m+1)}=\mathbf {C} \mathbf {x} ^{(m)}+\mathbf {k} ,\quad m=0,1,2,\ldots ,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/95072435f292c7f62a080640e43c4968a5e0cf01) | | 4 |
其中
是任意向量。(4)可等价地改写为
![{\displaystyle \mathbf {x} ^{(m+1)}=\mathbf {B} ^{-1}\mathbf {C} \mathbf {x} ^{(m)}+\mathbf {B} ^{-1}\mathbf {k} ,\quad m=0,1,2,\ldots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/f78c939223571dcedfb9cc2f9aae46068e14af9a) | | 5 |
若(2)表示A的正则分裂,则矩阵
的元素非负。[2]
可以证明,若
,则
,其中
表示D的谱半径,因此D是收敛矩阵。于是,迭代法(5)必然收敛。[3][4]
此外,若选择分裂(2),使B是对角矩阵(由于B可逆,所以对角项全部不为零),则B可在线性时间内求得逆(见时间复杂度)。
很多迭代法都可描述为矩阵分裂。若A的对角项都是非零的,且A表为矩阵和
![{\displaystyle \mathbf {A} =\mathbf {D} -\mathbf {U} -\mathbf {L} ,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5444e38bdba3e0395d4324777100b92be02ce51c) | | 6 |
其中D是A的主对角线元素构成的对角矩阵,U、L分别是n阶严格上、下三角矩阵,则有:
雅可比法可表为
[5][6] | | 7 |
高斯-赛德尔迭代可表为
[7][6] | | 8 |
逐次超松弛迭代法可表为
[8][6] | | 9 |
方程(1)中,令
![{\displaystyle \mathbf {A} ={\begin{pmatrix}6&-2&-3\\-1&4&-2\\-3&-1&5\end{pmatrix}},\quad \mathbf {k} ={\begin{pmatrix}5\\-12\\10\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/648a8d8e4b3545b42804985d04f9415b1efaa9a6) | | 10 |
应用雅可比中的分裂(7):将A分裂,使B包含A的所有对角元素,C包含A的所有对角线外元素并取负(当然这不是将矩阵分裂为两矩阵的唯一有效方法),则有
![{\displaystyle {\begin{aligned}&\mathbf {B} ={\begin{pmatrix}6&0&0\\0&4&0\\0&0&5\end{pmatrix}},\quad \mathbf {C} ={\begin{pmatrix}0&2&3\\1&0&2\\3&1&0\end{pmatrix}},\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/52dbe3922d73697415024a53a69b23e1e8c78455) | | 11 |
![{\displaystyle {\begin{aligned}&\mathbf {A^{-1}} ={\frac {1}{47}}{\begin{pmatrix}18&13&16\\11&21&15\\13&12&22\end{pmatrix}},\quad \mathbf {B^{-1}} ={\begin{pmatrix}{\frac {1}{6}}&0&0\\[4pt]0&{\frac {1}{4}}&0\\[4pt]0&0&{\frac {1}{5}}\end{pmatrix}},\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/706adc9af9b6df209d29700f145a2fe77b29716d)
![{\displaystyle {\begin{aligned}\mathbf {D} =\mathbf {B^{-1}C} ={\begin{pmatrix}0&{\frac {1}{3}}&{\frac {1}{2}}\\[4pt]{\frac {1}{4}}&0&{\frac {1}{2}}\\[4pt]{\frac {3}{5}}&{\frac {1}{5}}&0\end{pmatrix}},\quad \mathbf {B^{-1}k} ={\begin{pmatrix}{\frac {5}{6}}\\[4pt]-3\\[4pt]2\end{pmatrix}}.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/72868cf21551d227e6c81aec2e3e9a2aa388a6b7)
由于
,分裂(11)是正则分裂。由于
,谱半径
(D的近似特征值是
)。因此D收敛,迭代法(5)对(10)收敛。注意A的对角元均大于零,非对角元均小于零,且A是强对角占优矩阵。[9]
迭代法(5)应用于(10),形式为
![{\displaystyle \mathbf {x} ^{(m+1)}={\begin{pmatrix}0&{\frac {1}{3}}&{\frac {1}{2}}\\[4pt]{\frac {1}{4}}&0&{\frac {1}{2}}\\[4pt]{\frac {3}{5}}&{\frac {1}{5}}&0\end{pmatrix}}\mathbf {x} ^{(m)}+{\begin{pmatrix}{\frac {5}{6}}\\[4pt]-3\\[4pt]2\end{pmatrix}},\quad m=0,1,2,\ldots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/da7f8e892f3b13ec8b8d7540716706a6814f05e1) | | 12 |
(12)的精确解为
![{\displaystyle \mathbf {x} ={\begin{pmatrix}2\\-1\\3\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ccd77a8e44b492afe0694b148d08e3328245656f) | | 13 |
以
为初向量,列出(12)的前几次迭代。可见此方法明显收敛到解(13),不过速度相当缓慢。
|
|
|
0.0
|
0.0
|
0.0
|
0.83333
|
-3.0000
|
2.0000
|
0.83333
|
-1.7917
|
1.9000
|
1.1861
|
-1.8417
|
2.1417
|
1.2903
|
-1.6326
|
2.3433
|
1.4608
|
-1.5058
|
2.4477
|
1.5553
|
-1.4110
|
2.5753
|
1.6507
|
-1.3235
|
2.6510
|
1.7177
|
-1.2618
|
2.7257
|
1.7756
|
-1.2077
|
2.7783
|
1.8199
|
-1.1670
|
2.8238
|
雅可比法(7)与上面演示的正则分裂(11)相同。
由于(10)中矩阵A的对角项均非零,可以用分裂(6)表示A,其中
![{\displaystyle \mathbf {D} ={\begin{pmatrix}6&0&0\\0&4&0\\0&0&5\end{pmatrix}},\quad \mathbf {U} ={\begin{pmatrix}0&2&3\\0&0&2\\0&0&0\end{pmatrix}},\quad \mathbf {L} ={\begin{pmatrix}0&0&0\\1&0&0\\3&1&0\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1703ccd1411c4adb23b4b4d7d915d584807a2752) | | 14 |
则有
![{\displaystyle {\begin{aligned}&\mathbf {(D-L)^{-1}} ={\frac {1}{120}}{\begin{pmatrix}20&0&0\\5&30&0\\13&6&24\end{pmatrix}},\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7b1c585762b72bd34be008358607ea9d87967b69)
![{\displaystyle {\begin{aligned}&\mathbf {(D-L)^{-1}U} ={\frac {1}{120}}{\begin{pmatrix}0&40&60\\0&10&75\\0&26&51\end{pmatrix}},\quad \mathbf {(D-L)^{-1}k} ={\frac {1}{120}}{\begin{pmatrix}100\\-335\\233\end{pmatrix}}.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3aaf0885746b9bba4624d8ca96f7c8908ca50b8a)
将高斯-赛德尔法(8)应用于(10)有如下格式
![{\displaystyle \mathbf {x} ^{(m+1)}={\frac {1}{120}}{\begin{pmatrix}0&40&60\\0&10&75\\0&26&51\end{pmatrix}}\mathbf {x} ^{(m)}+{\frac {1}{120}}{\begin{pmatrix}100\\-335\\233\end{pmatrix}},\quad m=0,1,2,\ldots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/b58d040bfc725659e3a6697da7e4670785d36094) | | 15 |
以
为初向量,列出(15)的前几次迭代。可见方法明显收敛到解(13),且比雅可比法快。
|
|
|
0.0
|
0.0
|
0.0
|
0.8333
|
-2.7917
|
1.9417
|
0.8736
|
-1.8107
|
2.1620
|
1.3108
|
-1.5913
|
2.4682
|
1.5370
|
-1.3817
|
2.6459
|
1.6957
|
-1.2531
|
2.7668
|
1.7990
|
-1.1668
|
2.8461
|
1.8675
|
-1.1101
|
2.8985
|
1.9126
|
-1.0726
|
2.9330
|
1.9423
|
-1.0479
|
2.9558
|
1.9619
|
-1.0316
|
2.9708
|
置
。由分裂(14),有
![{\displaystyle {\begin{aligned}&\mathbf {(D-\omega L)^{-1}} ={\frac {1}{12}}{\begin{pmatrix}2&0&0\\0.55&3&0\\1.441&0.66&2.4\end{pmatrix}},\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f7830241fd1bbfd865a61cc5f3355532f1535c57)
![{\displaystyle {\begin{aligned}&\mathbf {(D-\omega L)^{-1}[(1-\omega )D+\omega U]} ={\frac {1}{12}}{\begin{pmatrix}-1.2&4.4&6.6\\-0.33&0.01&8.415\\-0.8646&2.9062&5.0073\end{pmatrix}},\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b70f8eeeae3c92eb5c04cee5525998cf469db09f)
![{\displaystyle {\begin{aligned}&\mathbf {\omega (D-\omega L)^{-1}k} ={\frac {1}{12}}{\begin{pmatrix}11\\-36.575\\25.6135\end{pmatrix}}.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e8c69b809d6d08b79f1078170acef08a88d1779b)
将SOR法(9)应用于(10),则有
![{\displaystyle \mathbf {x} ^{(m+1)}={\frac {1}{12}}{\begin{pmatrix}-1.2&4.4&6.6\\-0.33&0.01&8.415\\-0.8646&2.9062&5.0073\end{pmatrix}}\mathbf {x} ^{(m)}+{\frac {1}{12}}{\begin{pmatrix}11\\-36.575\\25.6135\end{pmatrix}},\quad m=0,1,2,\ldots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/938e26cd59d287b5909c979754cbed6aee4a9b20) | | 16 |
以
为初向量,列出(16)的前几次迭代。可见SOR法收敛到解(13),比GS法略快。
|
|
|
0.0
|
0.0
|
0.0
|
0.9167
|
-3.0479
|
2.1345
|
0.8814
|
-1.5788
|
2.2209
|
1.4711
|
-1.5161
|
2.6153
|
1.6521
|
-1.2557
|
2.7526
|
1.8050
|
-1.1641
|
2.8599
|
1.8823
|
-1.0930
|
2.9158
|
1.9314
|
-1.0559
|
2.9508
|
1.9593
|
-1.0327
|
2.9709
|
1.9761
|
-1.0185
|
2.9829
|
1.9862
|
-1.0113
|
2.9901
|
- Burden, Richard L.; Faires, J. Douglas, Numerical Analysis
5th, Boston: Prindle, Weber and Schmidt, 1993, ISBN 0-534-93219-3 .
- Varga, Richard S. Factorization and Normalized Iterative Methods. Langer, Rudolph E. (编). Boundary Problems in Differential Equations. Madison: University of Wisconsin Press. 1960: 121–142. LCCN 60-60003.
- Varga, Richard S., Matrix Iterative Analysis, New Jersey: Prentice-Hall, 1962, LCCN 62-21277 .