矩阵条件数学习[转载]

转自:https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5%E6%9D%A1%E4%BB%B6%E6%95%B0/10150161?fr=aladdin

 https://wenku.baidu.com/view/27cc784a02768e9951e738ff.html

https://wenku.baidu.com/view/420e1fd151e79b89680226c5.html

1.定义

 矩阵A的条件数等于A的范数与A的逆的范数的乘积,即cond(A)=‖A‖·‖A^(-1)‖,对应矩阵的3种范数,相应地可以定义3种条件数。 函数 cond(A,1)、cond(A)或cond(A inf) 是判断矩阵病态与否的一种度量,条件数越大矩阵越病态

作用:表示了矩阵计算对于误差的敏感性。

2.例子

条件数事实上表示了矩阵计算对于误差的敏感性。对于线性方程组Ax=b,如果A的条件数大,b的微小改变就能引起解x较大的改变,数值稳定性差。如果A的条件数小,b有微小的改变,x的改变也很微小,数值稳定性好。它也可以表示b不变,而A有微小改变时,x的变化情况。
比如线性方程组
的解是(x,y)=(0.0,0.1),

的解是(x,y)=(-0.17,0.22)

可见b很小的扰动就引起了x很大的变化,这就是A矩阵条件数大的表现。

 一个极端的例子,当A奇异时,条件数为无穷,这时即使不改变b,x也可以改变。奇异的本质原因在于矩阵有0特征值,x在对应特征向量的方向上运动不改变Ax的值。如果一个特征值比其它特征值在数量级上小很多,x在对应特征向量方向上很大的移动才能产生b微小的变化,这就解释了为什么这个矩阵为什么会有大的条件数。

事实上,正规阵在二范数下的条件数就可以表示成 abs(最大特征值/最小特征值)。

 3.例子2

上图中的推导过程还是比较容易理解的,能够推导出这个条件数的公式——图中的相对误差放大因子。

 4.常用条件数

其中无穷(最大)范数是指取矩阵中的max值:

5.病态方程的数值例子

之后有给出了一个证明,对于条件数≈1的,基本上A和b的扰动对于解x没有很大的影响,可以忽略,即对于非奇异矩阵。

对于奇异矩阵来说,扰动是非常大的,是病态矩阵。

6.向量的范数与矩阵的范数

也就是说在计算矩阵的条件数的时候,实际上如果下标是2的话,那么就是谱范数,需要求转置*当前的最大特征值。

另外在衡量矩阵的大小时,使用的是F范数。

也就是矩阵中根号下 每个元素的平方和。

原文地址:https://www.cnblogs.com/BlueBlueSea/p/10033039.html