矩阵条件数的定义、理解以及matlab代码

1.矩阵条件数的定义

cond ⁡ ( A ) = ∥ A ∥ ∙ ∥ A − 1 ∥ \operatorname{cond}(A)=\|A\| \bullet\left\|A^{-1}\right\|cond(A)=AA1,
其中∥ ⋅ ∥ \|\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版权协议,转载请附上原文出处链接和本声明。