1.矩阵条件数的定义
cond ( A ) = ∥ A ∥ ∙ ∥ A − 1 ∥ \operatorname{cond}(A)=\|A\| \bullet\left\|A^{-1}\right\|cond(A)=∥A∥∙∥∥A−1∥∥,
其中∥ ⋅ ∥ \|\cdot\|∥⋅∥代表的是矩阵范数,那么什么是矩阵范数呢
1.1 矩阵范数的定义
矩阵范数需要满足以下三点要求
a.正定性 ||A||≥0,only when A为0矩阵,||A|| = 0
b.齐次性
||aA||=|a| ||A||;
c.三角不等式
||A+B||<= ||A|| + ||B||
如果除了满足上面三点要求外,还满足第四点要求,则称为服从乘法范数(sub-multiplicative norm)
d.相容性
AB||<=||A|| ||B||.
1.2 矩阵范数举例
这里举矩阵二范数的例子:
矩阵A的2范数就是 A的转置乘以A矩阵的结果的特征根最大值的开根号;
下面是matlab代码求证
a=[ 1 3 4;2 5 6;7 9 8];
[x,y] = eig(a'*a); % a' 为矩阵a的转置,x为a'*a的特征向量,y的对角为向量的各个特征值
ans1 = sqrt(max(diag(y))) % 求a'*a的最大特征根的开跟
ans2 = norm(a,2) % 直接使用matlab内置的函数去求矩阵a的二范数

2 矩阵条件数的意义
条件数可以判断线性方程AX=b时,b的变化对解X的影响。如果b微小变化或者不变化,但是X却变化很大。条件数小,则该线性问题是良态的;如果条件数很大则说明该问题是病态的。
3.矩阵条件数matlab代码

a=[ 1 3 4;2 5 6;7 9 8];
ans1 = cond(a)
ans2 = norm(a)*norm(inv(a))

总结:
以上是对条件数和矩阵范数的一些理解和代码验证~
版权声明:本文为hm__2016原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。