6.2 数值稳定性
矩阵
A 的行向量虽然不相关,但当某个行向量几乎可以被其它行向量线性表示时,矩阵
A 接近奇异,如果计算
AR−1=AT(AAT)−1 采用
(AAT) 的逆,则会导致数值不稳定。可采用第五章技术,利用
QR 分解,提高数值稳定性。
令矩阵
B=AT ,则矩阵
B 是列满秩矩阵,进行
QR 分解得
B=QR ,代入
AR−1=AT(AAT)−1 得
AR−1=B(BTB)−1=QR(RTQTQR)−1=QR(RTR)−1=QRR−1R−T=QR−T ,
AR−1A=QR−TRTQT=QQT ,所以通解为
x=QR−Tb+(E−QQT)a
为了提高数值稳定性,可采用改进的 Gram-Schmidt 方法进行
QR 分解,具体计算过程如下:
1、采用改进的 Gram-Schmidt 方法对矩阵
AT 进行
QR 分解,得
Q=(q1,⋯,qm) 和
R .
2、解方程
RTz=b 得
z=(ζ1,⋯,ζm) .
3、令
b=0 ;for
k=m,⋯,1 do {
ωk:=qkTb;b:=b−(ωk−ζk)qk };
xpmin:=b
最终范数最小解为
xpmin:=b 。
第
2 步解方程
RTz=b ,当矩阵
R 的对角元素值趋近
0 时,此时矩阵
A 接近奇异,可采用阻尼倒数法进行稳定计算。
改进的 Gram-Schmidt 方法和阻尼倒数法详细介绍见第五章,本节从略。