矩阵计算误差分析(条件数和范数)
引言
误差问题是不可避免的,在大量的数据样本中,如果能去掉部分可能造成误差很大的样本,那么对于应用矩阵得到的结果的可靠性则大大加强。例如有999个员工的月收入为10410^4104元,马云的月收入为109{10^9}109元,现在问这1000个人的平均月收入,显然将马云的这一数据去掉,更能反映出总体的平均月收入水平。研究矩阵计算Ax=bAx=bAx=b中的误差问题,研究方法是对b或者A施加微小的扰动,再通过计算x的变化,得出扰动对于x误差的影响。
对b施加扰动
方程Ax=bAx=bAx=b变化为:
A(x+Δx)=b+ΔbA(x+\Delta x)=b+\Delta bA(x+Δx)=b+Δb
AΔx=ΔbA\Delta x=\Delta bAΔx=Δb
Δx=A−1Δb\Delta x=A^{-1}\Delta bΔx=A−1Δb
如果AAA接近奇艺矩阵,即∣A∣≈0\left | A \right | \approx 0∣A∣≈0,则 ∣A−1∣\left | A^{-1} \right |∣∣A−1∣∣很大,这就说明当Δb\Delta bΔb取某些方向时,Δx\Delta xΔx将会非常大。
为方便研究,假定AAA是正定矩阵,且含有n个特征值:0<λ1⩽λ2⩽...⩽λn,0< \lambda_1\leqslant \lambda_2\leqslant...\leqslant\lambda_n,0<λ1⩽λ2⩽...⩽λn,对应的特征向量为:
x1,x2,...,xn.x_1,x_2,...,x_n.x1,x2,...,xn.则任意向量都是特征向量的线性组合。
AAA是正定矩阵则A−1A^{-1}A−1也是正定矩阵,且含有n个特征值:
0<1λn⩽1λn−1⩽...⩽1λ10<\frac{1}{\lambda_n} \leqslant \frac{1}{\lambda_{n-1}}\leqslant...\leqslant\frac{1}{\lambda_1}0<λn1⩽λn−11⩽...⩽λ11
x1,x2,...,xnx_1,x_2,...,x_nx1,x2,...,xn同时也是A−1A^{-1}A−1的特征向量。
现在设Δb=ϵxi\Delta b=\epsilon x_iΔb=ϵxi,则
Δx=A−1ϵxi=ϵxiλi=Δbλi\Delta x=A^{-1} \epsilon x_i=\frac{\epsilon x_i}{\lambda_i}=\frac{\Delta b}{\lambda _i}Δx=A−1ϵxi=λiϵxi=λiΔb
这说明当bbb取x1x_1x1方向时,为最坏的扰动,当λ1\lambda_1λ1接近于0时,xxx将异常灵敏。
上述分析过程中存在一个明显的缺陷:如果将AAA扩大100010001000倍,即1000A1000A