数值模拟导论-第七讲
Krylov子空间矩阵解法
雅克比·怀特
感谢Deepak Ramaswamy, Michal
Rewienski,Karen Veroy and Jacob White
·回顾GCR
-最小残向量解法
-Krylov子空间
-与多项式关系
·回顾特征值和范数
-诱导范数
-谱半径定理
·收敛速度的评估
-Chebychev多项式
·预处理
-对角预处理
-近似LU预处理
概要
GCR算法
SMA-HPC ?2003 MIT
{}
10
,,
?
???
k
ww
G G
for j=0 to k-1
for i=0 to j-1
正交搜索方向
标准化
更新结果
更新残向量
00
rbAx=?
( )
()
T
j jjii
p pMpMpp←?
()()
1
T
jj
p p
Mp Mp
←
( ) ( )
1
T
jjj
jj
xxrMpp
+
=+
( ) ( )
1
T
jjj
j j
rrrMpMp
+
=?
j
j
p r=
残留值便是下一次的搜索方向
GCR算法
SMA-HPC ?2003 MIT
标准化
图示运算步
1)正交化
2)解计算r的最小值
i
Mrs
′
k
x
·第一步搜索方向
GCR算法
SMA-HPC ?2003 MIT
11 2 2
...
NN
x MxM xM b+++ =
G G G
kk
Mxbr ?=
开始的几步
00
rbMxb= ?=
0
0
0
r
p
Mr
=
( )
( )
10
00
T
xrMpp=
()
1
1.0 0
1
1
1.0 0
rp
p
M rp
β
β
?
=
?
,
·残向量最小值解法
·第二步搜索方向
GCR算法
SMA-HPC ?2003 MIT
11 2 2
...
NN
x MxM xM b+++ =
G G G
kk
Mxbr ?=
开始的几步(续)
·第三步搜索方向
·残向量最小值解法
( )
( )
21 1
11
T
xx rMpp=+
220020
2,1 2,0
rbMxr Mr Mrγγ=? = ? ?
()
1
2,0 0 2,1 1
2
1
2,0 0 2,1 1
rpp
p
M rpp
ββ
ββ
??
=
??
GCR算法
SMA-HPC ?2003 MIT
11 2 2
...
NN
x MxM xM b+++ =
G G G
kk
Mxbr ?=
GCR的第k步
()()
1
0
k
T
kk
k jj
j
pr Mr Mpp
?
=
=?
∑
k
k
k
p
p
Mp
=
( )
()
T
k
kk
rMpα =
1kk
kk
xx pα
+
=+
1kk
kk
rr Mpα
+
=?
正交和标准化搜索方向
第k步运算的最佳步长
更新结果和残余值
如果在GCR中对所有的有,那么
1)
2)是k次多项式,最小值为
3)
jk≤
GCR算法
SMA-HPC ?2003 MIT
11 2 2
...
NN
x MxM xM b+++ =
G G G
kk
Mxbr ?=
多项式梗概
0
j
α ≠
{}
{}
00
01
, ,..., , ,...,
k
k
p pp rMrMr=向量空间向量空间
()
10
,
k
k
xMrξ
+
=
k
ξ
2
1
2
k
r
+
( ) ( )( ) ( )
110 0 0 0
1
kk
kkk
r b Mx r M Mr I M M r Mrξξ
++
+
=? = ? = ? ≡?
这里是(k+1)次多项式,如果那
么他的最小值为
()
0
1k
M r
+
?
( )
1
01
k+
? =
2
1
2
k
r
+
如果属于向量空间最小化:
1)是k次多项式,最小化
2)
这里是(k+1)次多项式,如果
那么他可以最小化
这里多项式作为解题工具,只有一个作用。那就是
最小化残向量。
Krylov方法
SMA-HPC ?2003 MIT
残向量最小值
多项式梗概
1k
x
+
{ }
00
, ,...,
k
rMr Mr
2
1
2
k
r
+
()
10
,
k
k
xMrξ
+
=
( ) ( )()( )
110 0 0 0
1
kk
kkk
r b Mx r M Mr I M M r Mrξξ
++
+
=? = ? = ? ≡?
()
0
1k
M r
+
?
( )
1
01
k+
? =
k
ξ
2
1
2
k
r
+
2
1
2
k
r
+
吸热
Krylov方法
SMA-HPC ?2003 MIT
“与外界物热交换
的例子”
绝缘棒和矩阵
近端温度远端温度
离散化
节点平衡方程
Krylov方法
SMA-HPC ?2003 MIT
“与外界有热交换”的
例子
导体棒和矩阵
近端温度远端温度离散化
节点平衡方程
GCR性能
SMA-HPC ?2003 MIT
(随机的Rhs)
反复迭代后的残向量对数图
GCR性能
SMA-HPC ?2003 MIT
( Rhs=-1,+
1,-1,+1….)
反复迭代后的残向量对数图
Krylov方法
SMA-HPC ?2003 MIT
残向量最小值
多项式最优化
残向量最小化的最优工具
是任意的k次顺序多项式,所以有
因此任意的满足零约束的多项式都可以获得上述同
的联系
( ) ( )
10 0
11
k
kk
rMrMr
+
++
≤? ≤?
1k+
?
( )
1
01
k+
? =
1
0
k
r
r
+
诱导范数
SMA-HPC ?2003 MIT
矩阵的放大
倍数问题
假设,那么y比x 大多少?
或者y相对于x 扩大了多少倍?
yMx=
诱导范数
SMA-HPC ?2003 MIT
回顾向量的
范数
L
2
范数:
L
1
范数:
范数:L
∞
矩阵范数
SMA-HPC ?2003 MIT
矩阵L阶范数
max max 1
l
l
Mx
x
x
l
l
Mx
M
x
≡==
1
1
max
n
iij
j
M M
=
=
∑
1
max
n
j ij
i
M M
∞
=
=
∑
定义
举例
最大列和
最大行和
=最大列绝对值之和
为什么?令
=最大行绝对值之和
为什么?令
不是很容易计算
通过前面的介绍我们知道,解X的值的变动同一个
因子有关,这个因子是关于A的。这个因子是,
起先他被定义为A的条件数,但是由于这个条件数是随
矩阵的范数变化,取代条件数A的是矩阵A的奇异值的
比率。
奇异值超出本课程的范围,要想知道请咨询Trefethen&
Bau.
1
1
max
n
j ij
i
M M
=
=
∑
1
A A
?
矩阵范数
SMA-HPC ?2003 MIT
矩阵L阶范数
[ ]
1,0,...0
T
x =
1
max
n
jij
i
M M
∞
=
=
∑
[ ]
1, 1,...
T
x = ±± ±
2
M
max
min
()
()
()
A
Cond A
A
σ
σ
=
特征值和特征向量
应用
SMA-HPC ?2003 MIT
谱半径理论
i
λ
( )
01
...
p
p
f xxxαα α=+ ++
( )
01
...
p
p
f MMMαα α=+ ++
( )( ) ( )( )
spectrum f M f spectrum M=
给定一个多项式
将多项式扩展到矩阵
那么就有
Krylov方法
SMA-HPC ?2003 MIT
收敛性分析
矩阵多项式的标准化
M特征空间的条件数
图中英文为:矩阵M的特征向量
Krylov方法
SMA-HPC ?2003 MIT
收敛性分析
矩阵多项式的标准化
Krylov方法
SMA-HPC ?2003 MIT
收敛性分析
重要发现
1)一个Krylov子空间残向量最小化的运算,最多N步收敛于
真实解。
证明:() ( )( ) ( ) ( )
() ()
12
....
max 0 0 0
nni
n
ini n
xx x x M
Mr
λλ λ λλ
λ
?=? ? ? ∈
?=?? = =
令,这里那么,
,并且
2)如果M只有q个独立的特征值,那么Krylov子空间残向量
最小化的运算,最多Q步收敛于真实解。
证明:() ( )( )
( )
12
....
qq
xx x xλ λλ? =? ? ?
Krylov方法
SMA-HPC ?2003 MIT
对称矩阵的收敛性
多项式的残余量
如果M 是对称矩阵,那么
1)M有标准正交的特征向量
2)M有实数特征值
如果M正定,那么
( )
0Mλ >
导热棒矩阵的多项式残余量图
SMA-HPC ?2003 MIT
无热量散失情况(n=10)
保持尽可能的小;
在多项式的适当位置上故意放一些零。
导热棒矩阵的多项式残余量图
SMA-HPC ?2003 MIT
无热量散失情况(n=10)
( )
ki
λ?
Krylov方法
SMA-HPC ?2003 MIT
对称矩阵的收敛性
多项式的最值问题
( ) [ ]
min max min
,, 0Mλλλλ∈ >
考虑
那么一个多项式的好坏可以通过解最值问题来考察。
(小的多项式性能比较好)。()
k
pM
多项式的最大最小值问题已经被Chebyshev多项式解决
Krylov方法
SMA-HPC ?2003 MIT
对称矩阵的收敛性
Chebyshev方法解
最值问题
Chebyshev多项式:
SMA-HPC ?2003 MIT
Chebyshev多项式的最小化超出了[1,10]
Krylov方法
SMA-HPC ?2003 MIT
对称矩阵的收敛性
Chebyshev的范围
Krylov方法
SMA-HPC ?2003 MIT
对称矩阵的收敛性
Chebyshev的结果
Krylov方法
SMA-HPC ?2003 MIT
前处理
对角矩阵的例子
是什么原因使GCR收敛更加迅速?
Krylov方法
SMA-HPC ?2003 MIT
前处理
对角矩阵的例子
让M=D+M 其中D是对角矩阵
应用GCR到
矩阵的逆在计算机中很容易求出
经常用来提高收敛性
( )( )
111
nd
D Mx I DM x Db
???
=+ =
导热棒的例子
SMA-HPC ?2003 MIT
系统离散化
图中:一个小的
x?
x?
SMA-HPC ?2003 MIT
下面哪个收敛曲线是GCR
迭代
导体棒的例子
SMA-HPC ?2003 MIT
前处理矩阵
特征值
残余值最小化的Krylov子空间运算法则,可以通过
直接设置多项式零点来去除无关的特征值。
Krylov眼中的世界
SMA-HPC ?2003 MIT
热流动的例子
维数密度稀疏度GCR
在2维中,GCR比带状的GE收敛速度快,三维可
以更快,三维矩阵只有个m
3
非零数。GCR收敛
太慢。
Krylov方法
SMA-HPC ?2003 MIT
前处理
LU近似分解
的前处理
使M=LU L为下三角矩阵,U 为上三角矩阵。
将应用GCR到中。
用一个隐式矩阵来表示。
形式就等于解。
( )( ) ( )
1
LU M x LU b
?
=
( )
( )
1
y LU M x
?
=
LUy Mx=
Krylov方法
SMA-HPC ?2003 MIT
前处理
LU近似分解的
前处理(续)
在真实的LU分解中的非零量
填充这个LU分解很麻烦,这里忽略填充
分解2维珊格矩阵
SMA-HPC ?2003 MIT
如果填充了,反而使矩阵分解难度加大
Krylov方法
SMA-HPC ?2003 MIT
前处理
LU近似分解前
处理(续)
放弃LU分解
放弃所有的填充
只放弃含有小数的填充
放弃填充由其他填充产生的零位
放弃填充由填充其他零位产生的零位,
等等
总结
SMA-HPC ?2003 MIT
?回顾GCR
-最小残向量解法
-Krylov子空间
-与多项式关系
?回顾特征值和范数
-诱导范数
-谱半径定理
?收敛速度的评估
-Chebychev多项式
?预处理
-对角预处理
-近似LU预处理