本文由手写笔记《高级数值分析》扫描件的 LaTeX 转录稿改写而来,公式以红色保留原稿的红笔重点标记。
定理与定义的编号是本站为方便指代所加,原稿只有名称、没有编号。
4.1 引言
定义 4.1(正交(酉)矩阵)
设 A∈Cm×n。当 m>n 且 A 的列向量两两正交归一时,称 A 为列正交矩阵,并有
AHA=In.
当 m<n 且 A 的行向量两两正交归一时,称 A 为行正交矩阵,并有
AAH=Im.
(当 m=n 时即为酉矩阵。)
定义 4.2(上 Hessenberg 矩阵)
矩阵 H 若满足次对角线以下的元素全为零,即
hij=0,i>j+1,
则称 H 为上 Hessenberg 矩阵。
定义 4.3(上三角矩阵)
矩阵 T 若满足主对角线下方的元素全为零,即
tij=0,i>j,
则称 T 为上三角矩阵。
定义 4.4(投影算子)
设 S⊆Cn,PS:Cn→S,且 PS2=PS,则称 PS 为 S 上的投影算子。
定理 4.1
若 PS 是 S⊆Cn 上的正交投影算子,则对任意 x∈Cn,
z∈Smin∥x−z∥2=∥x−PSx∥2,
且
z∈Smin∥x−z∥2=∥x−z∗∥2⟺z∗∈S,x−z∗∈S⊥.
定义 4.5
设 W∈Cn(列向量正交归一),则 WWH 为 span{W} 上的正交投影矩阵,而 I−WWH 为 span{W}⊥ 上的正交投影矩阵。
定义 4.6(向量(子空间)夹角)
设 W,W′∈Cn 为单位向量,则存在唯一的 θ∈[0,π/2],使得
sinθ=(I−WWH)W′2=WWH−W′W′H2.
定义 4.7
设 Q=[q1,q2,…,qp]∈Cn×p 的列向量正交归一,则
PS=QQH
为 S=span{q1,…,qp} 上的正交投影矩阵,而 I−QQH 为 S⊥ 上的正交投影矩阵。
定义 4.8(子空间夹角)
设 S=Im(Q),Q∈Cn×p,以及 S′=Im(Q′),Q′∈Cn×p。定义 S,S′ 的夹角 θ∈[0,π/2] 为
sinθ:=x∈S∥x∥2=1max(I−Q′Q′H)x2=∥a∥2=1max(I−Q′Q′H)Qa2=(I−Q′Q′H)Q2.
等价地,
sinθ=QQH−Q′Q′H2.
定理 4.2(Schur 分解)
设 A∈Cn×n,λ1,…,λn 为其特征值,则存在酉矩阵 Q=[q1,q2,…,qn]∈Cn×n,使得
QHAQ=R或等价地AQ=QR,
其中 R∈Cn×n 为上三角矩阵,且其对角元为 λ1,…,λn。
于是,对 Qk=[q1,…,qk]∈Cn×k,令 Rk 为 R 的前 k 阶主子矩阵,则
QkHAQk=Rk或AQk=QkRk.
定理 4.3(实 Schur 分解)
设 A∈Rn×n,其特征值为 λ1,…,λn(按实数特征值及共轭复特征值排列)。则存在正交矩阵 Q∈Rn×n,使得
QTAQ=T或等价地AQ=QT,
其中 T∈Rn×n 为拟上三角矩阵:其 1×1 对角块对应实特征值,2×2 对角块对应非实共轭特征值,排列顺序与特征值相同。
若 Qk=[q1,q2,…,qk]∈Rn×k(n≥k)为 Q 的前 k 列,且 Tk 为 T 的前 k 阶主子矩阵,则
QkTAQk=Tk或AQk=QkTk.
实 Schur 分解无法在有限精度内直接得到,因此先把 A 化为上 Hessenberg 矩阵:
QHAQ=H,
其中 Q 为酉矩阵,H 为上 Hessenberg 矩阵;等价地,
A=QHQH.
该上 Hessenberg 分解可用 Householder 变换实现。
定理 4.4(隐式 Q 定理)
设 A∈Cn×n,H 为上 Hessenberg 矩阵,Q 为酉矩阵,且 H=QHAQ。在给定适当的第一列信息时,Q,H 由 A 唯一确定(相差相位因子)。
定义 4.9
对任意 B∈Cn×n 及任意 ε>0,存在可对角化(可相似对角化)的矩阵 Bε,使得
∥Bε−B∥<ε.
定理 4.5(Bauer–Fike 定理)
设 A 可对角化,A=XΛX−1。若 Aε=A+E,则 Aε 的任意特征值 μ 满足
1≤i≤nmin∣μ−λi∣≤cond(X)∥E∥2,
其中
cond(X)=X−12∥X∥2.
定理 4.6(Gershgorin 第一圆盘定理)
设 A=(aij)∈Cn×n,则 A 的全部特征值都位于下列 n 个圆盘的并集中:
Di={z∈C: ∣z−aii∣≤ri},i=1,…,n,
其中
ri=j=i∑∣aij∣.
4.2 QR 方法
4.2.1 改进的幂法
定义 4.10(Krylov 子空间)
对 k≥1,定义
Kk(A,v):=span{v,Av,…,Ak−1v}.
更一般地,对块向量(矩阵)V,
Kk(A,V):=span{V,AV,…,Ak−1V}.
(例如 m≥2k 时,Kk(A,V)⊆Km(A,V)。)
Krylov 子空间满足嵌套关系
Kk(A,V)⊆Kk+1(A,V),
并且
AKk(A,V)⊆Kk+1(A,V).
4.2.2 改进幂法与正交迭代
从初始向量 v1,…,vp 出发,令
Sp=span{v1,…,vp}.
考察子空间序列 Sp,ASp,A2Sp,…。希望当 i→∞ 时,
AiSp 与由所求特征向量张成的子空间
Tp=span{q1,…,qp}
之间的子空间夹角趋于零。
4.2.2.1 基本改进幂法
- 取初始空间 Sp 的一组正交基,记
Q0=[q1(0),…,qp(0)].
- 计算
Z1=AQ0∈Cn×p.
Z1 的列向量一般不再正交。
3. 对 Z1 作 QR 分解:
Z1=Q1R1,Q1=[q1(1),…,qp(1)].
因而
Q1=Z1R1−1
是 Z1 列向量正交化后得到的正交矩阵。
4. 重复上述过程:
Zk=AQk−1,Zk=QkRk,
直至满足预定的收敛精度。
5. 由 Qk 构成的子空间得到 A 的近似不变子空间,并可在该子空间上求取相应的近似特征信息。
4.2.2.2 基于正交迭代的投影思想
取初始正交矩阵 Q∈Cn×p,将 A∈Cn×n 投影到该子空间上,得到
B=QHAQ,
其中 B 称为 A 在该子空间上的 Rayleigh 商矩阵。若 (μ,y) 是 B 的特征对,则 Qy 给出 A 的 Ritz 向量,μ 为相应的 Ritz 值;可用这些 Ritz 向量更新投影子空间。
4.2.2.3 基本投影迭代
设 Ax=λx。若 u∈Sp=Im(Q),Q∈Cn×p,并且 μ 是在子空间 Sp 上对特征值的近似,则由 Galerkin 条件要求残量满足
Au−μu⊥Sp.
等价地,μ 使
z∈Spmin∥Au−z∥2=∥Au−μu∥2
成立。设 Sp 的正交投影算子为 PSp,其矩阵为 QQH。令 u=Qy,则有
QQHAu=μu,
从而
QHAQy=μy.
记 B=QHAQ,则 B 为 Rayleigh 商矩阵;若
By=μy,
则 (μ,Qy) 是 A 的 Ritz 对。
4.2.2.4 投影迭代步骤
- 取 Q⊂Cn 为一个 m 维子空间,选取其标准正交基
Q=[q1,…,qm].
- 计算 A 在该子空间上的 Rayleigh 商:
B=QHAQ.
- 计算 B 的特征对 (μj,yj)。
- 得到 A 的 Ritz 对 (μj,Qyj)。
- 将 Ritz 向量 Qyj 用于更新投影子空间,再继续迭代。
4.2.3 基本 QR 方法
- 令 A1=A,作 QR 分解
A1=Q1R1,
其中 R1 为上三角矩阵。
2. 令
A2=R1Q1,
再对 A2 作 QR 分解:A2=Q2R2。
3. 一般地,依次计算
Ak=QkRk,Ak+1=RkQk,
直至
∥Ak+1−diag(Ak+1)∥∞≤ε.
定理 4.7
基本 QR 迭代满足
Ak+1Ak+1Ak=QkHAkQk,=(Q1Q2⋯Qk)HA(Q1Q2⋯Qk),=(Q1Q2⋯Qk)(Rk⋯R2R1).
4.2.4 带位移的 QR 方法
在第 k 步选取位移 sk,令
Bk=Ak−skI.
对 Bk 作 QR 分解:
Bk=QkRk,
然后令
Ak+1=RkQk+skI.
由此可写为
Ak=(Q1⋯Qk−1)HA(Q1⋯Qk−1),
其中 Qj 表示各步得到的正交变换。
收敛速度可用相邻特征值模的比值估计;合适的位移能显著加快收敛。常用思想包括:
- 对收敛较慢的情形采用原点位移;
- 采用带位移的 QR 迭代,并使用上 Hessenberg 形式降低计算量;
- 对共轭复特征值使用双重位移。
4.2.5 基于 Hessenberg 矩阵的 QR 方法
- 先将 A 化为上 Hessenberg 矩阵:
H1=Q0HAQ0.
- 对每一步作 QR 分解
Hk−skI=QkRk,
该分解可用 Givens 变换实现。
3. 令
Hk+1−skI=RkQk.
定理 4.8
若 Hk 是上 Hessenberg 矩阵,则由上述 QR 迭代得到的 Hk+1 仍为上 Hessenberg 矩阵。
定理 4.9
带位移 Hessenberg QR 迭代满足
Hk+1Hk+1j=1∏k(Hj−sjI)=QkHHkQk,=(Q1⋯Qk)HH1(Q1⋯Qk),=(Q1⋯Qk)(Rk⋯R1).
位移 sk 的常用选取方法如下:
- **Rayleigh 商位移:**取
sk=(Hk)nn,
可加快收敛;
2. **Wilkinson 位移:**取右下角 2×2 主子矩阵的特征值中更接近 (Hk)nn 的一个作为 sk。
4.2.6 隐式双重位移 QR 方法
定理 4.10
设 H 为不可约上 Hessenberg 矩阵,sk 及其共轭 sk 为所取双重位移。则相应的隐式双重位移 QR 步可保持上 Hessenberg 结构。
4.2.6.1 算法
- 先将 A 化为上 Hessenberg 矩阵:
H1=Q0HAQ0.
- 构造
M=(Hk−skI)(Hk−skI).
- 对 M 作 QR 分解:
M=QMRM.
- 计算
Hk+1=QMHHkQM.
为说明该算法可行,注意
Me1=QMRMe1=r11QMe1.
因此 Me1 与 QMe1 共线。由隐式 Q 定理,QM 的第一列可由 M 的第一列确定,进而可在不显式构造 M 的情形下,通过追赶(bulge chasing)过程完成隐式双重位移 QR 迭代。
4.3 Krylov 子空间方法
QR 方法的不足包括:它会破坏矩阵的稀疏结构;每次 QR 分解的计算量较大;并且通常需要同时求取全部特征值。Krylov 子空间方法利用 A 的结构,在较低维的子空间中构造 Ritz 近似。
设 v=0,定义 d=d(A,v) 为满足
v,Av,…,Ad−1v 线性无关,
而 v,Av,…,Adv 线性相关的最小整数。于是存在 d0,…,dd−1,使得
Adv=j=0∑d−1djAjv.
若 p(A)v=0,其中 p 为多项式,则上述关系给出了 Krylov 子空间的终止条件。
定义第 k 阶 Krylov 子空间为
Kk(A,v)=span{v,Av,…,Ak−1v}.
它具有以下性质:
- 对非零标量 α,β,有
Kk(αA,βv)=Kk(A,v).
- 子空间具有嵌套性:
Kk(A,v)⊆Kk+1(A,v).
- 多项式表示为
Kk(A,v)={p(A)v: p∈Pk−1}.
- 一旦
Kk(A,v)=Kk+1(A,v),
则后续 Krylov 子空间不再增长。
5. 此时 Kk(A,v) 是 A 的不变子空间;即对任意 x∈Kk(A,v),有
Ax∈Kk+1(A,v)=Kk(A,v).
由 Krylov 子空间的定义可知
AKk(A,v)⊆span{Av,A2v,…,Akv}⊆Kk+1(A,v).
基本思想是:把 Kk(A,v) 作为投影子空间,求其一组正交基 Qk,从而构造
Kk(A,v)=QkRk,Bk=QkHAQk.
求 Bk 的特征对即可得到 A 的 Ritz 对。
4.3.1 Arnoldi 方法
Krylov 子空间逐步增长,可采用 QR 分解中的 Gram–Schmidt 正交化来构造正交基。
定理 4.11(Arnoldi 基与 Lanczos 基)
对 Krylov 子空间 Kk(A,v),由逐步正交化得到的正交向量 q1,…,qk 构成 Arnoldi 基。若 A 为 Hermite 矩阵,则 Arnoldi 基就是 Lanczos 基。
4.3.1.1 Gram–Schmidt 过程
令
q1=∥v∥2v.
在第 j 步,先计算
r=Aqj−i=1∑j(qiHAqj)qi,
再令
qj+1=∥r∥2r.
若 r=0,则算法终止。记
hij=qiHAqj,r=hj+1,jqj+1.
令 Qk=[q1,…,qk],Hk=(hij)k×k,则 Hk 为上 Hessenberg 矩阵,且有 Arnoldi 关系
AQk=QkHk+hk+1,kqk+1ekT.
Arnoldi 关系也可写为
AQk=Qk+1Hk,
其中
Qk+1=[Qk,qk+1]∈Cn×(k+1),Hk=[Hkhk+1,kekT].
定理 4.12(Arnoldi 迭代的矩阵表示)
设 A∈Cn×n、v∈Cn。若 Kk+1(A,v) 的维数为 k+1,且其 QR 分解给出正交基 Qk+1,则存在 (k+1)×k 的上 Hessenberg 矩阵 Hk,使得
AQk=Qk+1Hk.
其中 Qk 是 Qk+1 的前 k 列,且
Hk=QkHAQk.
4.3.1.2 Arnoldi 迭代算法
- 给定初始向量 v,将其归一化:
q1=∥v∥2v.
- 经 k 步 Arnoldi 迭代,得到
AQk=QkHk+hk+1,kqk+1ekT.
- 求 Hk 的特征对 (μj,yj)。
- 构造 Ritz 向量
wj=Qkyj.
当残量满足
hk+1,kekTyj2≤ε
时,相应的 Ritz 对可作为 A 的近似特征对。
4.3.2 Lanczos 方法
当 A 为 Hermite 矩阵时,Arnoldi 过程中得到的 Hk 也是 Hermite 矩阵,因此 Hk 必为三对角矩阵。此时 Arnoldi 关系化为 Lanczos 关系:
AQk=QkTk+βkqk+1ekT,
其中 Tk 为三对角矩阵。
向量递推形式为
Aq1Aqj=α1q1+β1q2,=βj−1qj−1+αjqj+βjqj+1.
其中
αj=qjHAqj,
并令
rj=Aqj−αjqj−βj−1qj−1,βj=∥rj∥2,qj+1=βjrj.
定理 4.13(Ritz 值)
对 A 的 Rayleigh 商矩阵 QkHAQk,其 Ritz 对应的特征值是 A 的特征值的近似。