特征值的条件数
Weilandt-Hoffman定理:设A与B是两个n阶正规矩阵,它们的特征值分别是li和mj,则存在一个排列p(n),使得
$sqrt {sum_i left | pi(i)-lambda_i ight |^2}leqslant left | B-A ight |_F$
Weilandt-Hoffman定理表明Hermite矩阵和正规矩阵的特征值是良态的,因此在此主要讨论非正规矩阵对扰动的敏感程度的数据标准。
假定n阶方阵A的Jordan分解为Q-1AQ=J,p是J中最大块阶数,利用广义Bauer-Fike定理可证:
$forall Ein C^{N imes N}left | QEQ^{-1} ight |_2leqslant 2^{1-p}Rightarrow $
$forall muin(A+E)exists lambdain lambda(A) left | mu-lambda ight |leqslant 2^{1-frac{1}{p}}(left | Q ight |_2left | Q^{-1} ight |_2)^{frac{1}{p}}(left | E ight |_2)^{frac{1}{p}}$
因此称v(A)为A的谱条件数,其中
$ u(A)leqslant inf_{Q in D_A} left | Q ight |_2left | Q^{-1} ight |_2, D_A=left { Q in C^{n imes n} ight | Q^{-1}AQ=J }$
v(A)是对全部特征值整体而言的,实际还需要针对每个特征值的条件数。
设$lambda$是矩阵A的单特征值,x和y是A属于$lambda$的右,左特征向量,称$s(lambda)=|y^Tx|$是$lambda$ 的条件数。存在解析函数$lambda(varepsilon)$是$A+varepsilon E$的单特征值,有
$left | lambda(varepsilon )-lambda ight |=left | lambda'(0)+O(varepsilon)^2 ight | leqslant frac{left |varepsilon ight |}{s(lambda)}+O(varepsilon)^2$
不变子空间的条件数
对于特征向量的敏感性问题,利用函数论的某些结果,可以得到
$(A+varepsilon E)x_i(varepsilon )=lambda_i(varepsilon )x_i(varepsilon )$
$x_i(varepsilon )=x_i+varepsilon sum_{j eq i}frac{y_j^TEx_i}{(lambda_i-lambda_j)s(lambda_j)}x_j+O(varepsilon )^2$
可以看出,当特征值分离不明显时,特征向量对扰动会十分敏感。但是如果把敏感的特征向量放在一起形成A的不变子空间,则可以是不敏感的。因此可以定义不变子空间的条件数,一般采用分离度的倒数。
$sep(B,C)=inf_{left | P ight |_2=1}left | PB-CP ight |_2\,where\, Bin C^{l imes l},Cin C^{m imes m},Pin C^{m imes l}$
QR算法
QR算法是数值计算的重大进展之一,其基本迭代格式如下,
$Q_mR_mLeftarrow A_{m-1},A_m Leftarrow R_mQ_m$
为了理解这个算法,需要从特征值的乘幂法推广到正交迭代法。
$y_kLeftarrow Au_{k-1},u_kLeftarrow frac{y_k}{left | y_k ight |}$
乘幂法的几何意义是子空间的迭代过程,一般形式为:
$Z_kLeftarrow AQ_{k-1},Q_kR_kLeftarrow Z_k$
从此可以导出QR迭代算法。由于复共轭特征值的存在,设计一个实数域算法需要特别地改进这个格式,使得矩阵A逼近其实Schur标准形。
为了节省运算量,需要把矩阵A转换成上Hessenberg形式,然后采用Givens变换来QR分解。同时为了提高收敛速度,对特征值进行位移。
$H_1Leftarrow Q_0^TAQ_0,Q_kR_kLeftarrow H_k-mu I,H_{k+1}Leftarrow R_kQ_k+mu I$
位移$mu$的选取应该靠近特征值,例如Wilkinson位移,即利用矩阵右下角的二阶子矩阵来计算特征值。
$mu=alpha_n+delta-sign\,deltasqrt{delta^2+eta^2},delta=frac{alpha_{n-1}-alpha_n}{2}$,子矩阵为$egin{bmatrix} alpha_{n-1} & eta_{n-1} \ eta_{n-1} & alpha_n end{bmatrix}$
为了避免对于复特征值引入复运算,需要进行双重步位移,确保得到实数矩阵H。实际算法中为了节省运算,只根据M的第一列来确定作用在矩阵H上的正交变换。
$MLeftarrow H^2-sH+tI,QRLeftarrow M,H_2Leftarrow Q^THQ\, where\, s=mu_1+mu_2,t=mu_1mu_2$
对称矩阵只有实特征值,因此只需要一步位移,而且其上Hessenberg矩阵为三对角形式,利用这一点可以进一步减少运算量。然而需要注意在迭代过程中保证矩阵的对称性,确保特征值保持为实数。
$H=I-eta u u^T,HAH=A- uomega^T-omega u^T,omega=u-frac{1}{2}eta( u u)mu, u=eta A u$
奇异值分解可从实对称矩阵ATA的Schur分解算法导出。然而计算实对称矩阵ATA容易引入比较大的误差,因此隐含矩阵ATA的Schur分解算法成为奇异值分解的稳定、有效的标准算法。对应于实对称矩阵的QR算法,三对角阵ATA隐含表示为二对角阵的乘积,带Wilkinson位移的对称QR算法也隐含表示为在二对角阵上的Givens变换。
二对角化:$U_1^TAV_1=egin{bmatrix} B \ 0 end{bmatrix}$
计算特征向量是求解特征值的附加问题,虽然可以在QR迭代中同时计算特征向量,但是利用反幂法更稳定、更有效,其基本迭代格式如下。
$(A-mu I) u_k=z_{k-1}, z_k=frac{ u_k}{left | u_k ight |_2}$