QR分解
定义:对任意实矩阵A∈Rm×n,存在正交矩阵Q和上三角矩阵R,使得
A=QR.
- 唯一性:若A非奇异且为方阵(m=n),且规定R的对角元全为正,则分解唯一。
- 经济分解:当m>n时,Q为m×n列正交矩阵,R为n×n上三角阵;当m<n,分解形式需调整。
核心思想:通过正交变换(Householder反射或Givens旋转)逐步将矩阵A转化为上三角阵R,同时记录变换过程得到正交阵Q。
Householder变换
定义5.8:给定单位向量w∈Rn,Householder矩阵定义为:
H(w)=I−2wwT,
其性质包括对称性(HT=H)和正交性(HTH=I)。
几何意义:
-Hx表示向量x关于以w为法向量的超平面的镜像反射。
- 保持向量2-范数不变,即∥Hx∥2=∥x∥2。
关键定理:
- 定理5.18:若x,y∈Rn满足∥x∥2=∥y∥2,则存在Householder矩阵H,使得Hx=y。
- 定理5.19:可构造H将任意向量x变换为±∥x∥2e1,即
Hx=⎣⎢⎢⎢⎡−σ0⋮0⎦⎥⎥⎥⎤,σ=sign(x1)∥x∥2.
构造方法(取x和−σe1的连线作为法向量,即沿着x和−σe1的垂直平分面对x做镜像):
- 取v=x+σe1,其中σ=sign(x1)∥x∥2。
- 归一化:w=v/∥v∥2。
- 定义H=I−2wwT。
示例:
对向量a=⎣⎡212⎦⎤,构造H使其变换为⎣⎡−300⎦⎤:
- 计算σ=3,则v=a+σe1=⎣⎡512⎦⎤。
2.w=v/∥v∥2,得H=I−2wwT。
- 验证:Ha=−3e1。
Givens旋转变换
定义:Givens矩阵是平面旋转矩阵的推广,用于在特定平面内旋转向量以消元。
二维形式:
G=[c−ssc],c=cosθ,s=sinθ,
满足GTG=I。
消元原理:对向量[xixj],选择c=xi/α,s=xj/α,其中α=xi2+xj2,使得
G[xixj]=[α0].
高维扩展:将二维Givens矩阵嵌入n维单位阵,仅修改两行两列。例如,对向量x=⎣⎢⎢⎡2012⎦⎥⎥⎤:
- 构造G1消去第三分量:
G1=⎣⎢⎢⎡2/50−1/5001001/502/500001⎦⎥⎥⎤⟹G1x=⎣⎢⎢⎡5002⎦⎥⎥⎤.
- 构造G2消去第四分量:
G2=⎣⎢⎢⎡5/300−2/3010000102/3005/3⎦⎥⎥⎤⟹G2G1x=⎣⎢⎢⎡3000⎦⎥⎥⎤.
优势:每次旋转仅影响两个元素,适合稀疏矩阵的局部消元。
QR分解的算法实现
Householder方法:
- 列消元:从第一列开始,逐列构造Householder矩阵Hk,消去当前列下方的非零元素。
- 矩阵更新:
Hn⋯H2H1A=R⟹A=H1H2⋯HnR=QR,
其中Q=H1H2⋯Hn。
3. 经济存储:对于A∈Rm×n(m≥n),仅需存储前n个Householder向量。
Givens方法:
- 元素消元:从矩阵左下角开始,逐行消元。对每个非零元素aij(i>j),构造Givens矩阵Gij将其变为零。
- 累积变换:
Gk⋯G2G1A=R⟹A=G1TG2T⋯GkTR=QR.
计算矩阵所有特征值的方法
1. 实Schur分解
实Schur分解定理(Th5.21):
对任意实矩阵A∈Rn×n,存在正交矩阵Q和拟上三角矩阵S(实Schur型),使得
QTAQ=S,
其中S的形式为分块上三角矩阵,其对角块为1阶或2阶实矩阵:
- 1阶对角块:对应实特征值。
- 2阶对角块:对应一对复共轭特征值(例如α±βi)。
实Schur型的结构:
设S的形式为:
S=⎣⎢⎢⎢⎡S110⋮0S12S22⋮0⋯⋯⋱⋯S1mS2m⋮Smm⎦⎥⎥⎥⎤,
其中每个Sii是1阶或2阶实矩阵:
- 若Sii为1阶块,则其唯一元素即为A的实特征值。
- 若Sii为2阶块[acbd],其特征值为复数α±βi,满足α=2a+d,β=bc−4(a−d)2。
存在性与唯一性:
- 存在性:定理保证实Schur分解对任意实矩阵均存在。
- 唯一性:若矩阵A的特征值均为实数且互异,则实Schur型退化为对角矩阵(特征值按任意顺序排列)。对于重复特征值或复特征值,分解不唯一,但分块结构由特征值的代数重数决定。
优势与应用:
- 避免复数运算:通过2阶对角块表示复共轭特征值对,避免直接处理复数矩阵。
- 直接读取特征值:从分块结构中可直接提取所有实数和复共轭特征值对。
- 数值稳定性:正交相似变换(Householder或Givens)保范性强,适合数值计算。
2. QR迭代算法
理论基础:
QR迭代通过正交相似变换序列{Ak},逐步逼近实Schur型矩阵S。迭代公式为:
Ak+1=RkQk,其中 Ak=QkRk(QR分解).
收敛性(Th5.22):
- 若A的等模特征值为实重根或复共轭对,则{Ak}收敛到拟上三角阵(实Schur型)。
- 对称矩阵的QR迭代收敛到对角阵,特征值为实数。
算法实现:
- 预处理为上Hessenberg型:
通过Householder变换将A化为上Hessenberg矩阵(次对角线以下全零):
⎣⎢⎢⎡∗∗00∗∗∗0∗∗∗∗∗∗∗∗⎦⎥⎥⎤
优势:QR分解的计算量从O(n3)降至O(n2)。
- Givens旋转的应用:
- 对上Hessenberg矩阵执行QR分解时,逐行消元仅需n−1次Givens旋转。
- 例:对Ak,构造Givens矩阵P1,…,Pn−1,使得Pn−1⋯P1Ak=Rk,则Qk=(Pn−1⋯P1)T,更新Ak+1=RkQk。
结构保持性:
- 每步迭代后Ak+1仍保持上Hessenberg型,确保算法高效性。
3. 收缩技术(Deflation)
核心步骤:
- 已知特征向量处理:若A有特征值λ1及对应特征向量x1,构造Householder变换H,使Hx1=σe1。
- 正交相似变换:计算HAHT,其分块形式为:
HAHT=[λ10r1TA1],
其中A1为降阶后的子矩阵,其特征值为A的剩余特征值。
示例:
对矩阵A=⎣⎡321−10−1112⎦⎤,已知特征值λ1=2,特征向量x1=[1,1,0]T:
- 构造Householder变换H,将x1反射到σe1。
- 计算HAHT,子矩阵A1的特征值为1和2。
局限性:误差可能累积,且效率较低。