定义:对于任意矩阵A,都有一个确定的实数与之对应,并且这个实数满足下面4条性质:
- 非负性:除了零矩阵,其他任意矩阵的;
- 齐次性:对任意矩阵A和实数k,都有:;
- 三角不等性:对于任意两个矩阵,都有:;
- 乘法不等性:对于任意两个矩阵,都有:;
说明:任意矩阵都有范数,长方形、正方形、零值、复值矩阵都有范数!但都要满足上面4条。
常用的矩阵范数
本文使用的是长方形矩阵:
下面常用的矩阵范数有3种,下面直接给出定义:
(1)无穷范数/行范数:各行绝对值求和,取最大那个
(2)1范数/列范数:各列绝对值求和,取最大那个
(3)2范数:与转置阵相乘后,取最大特征值的开根号
其中表示的最大特征值;我们知道:一个矩阵的转置与它自己想乘,就会得到一个对称正定阵!并且对称正定阵的特征值都是非负的!所以2范数根号里的东西不可能是负数,2范数的结果也不可能是复数,故仍满足上面的4个条件。
注意:矩阵x哪怕只是个行向量或列向量,所有的范数它也是拥有的!
最后对范数的说明:对于矩阵而言没必要考虑范数的区别,因为有限维空间的范数都等价(Minkowski定理)。后面要根据范数做判断时,既然范数没区别,那么意思就是各种范数都要满足条件。
谱半径
谱半径只针对"方阵"而言!设为n阶方阵A的全部特征值。则称:
为方阵A的谱半径,含义为:绝对值最大的那个特征值(方阵自己的特征值是可以有正有负的)。
注意:方阵A的谱半径不超过其任何一种范数!即:
补充1
上述各种范数,对应matlab中的函数是norm,已亲测norm函数和上文说的内容是一致的。
给一个2范数的例子:(转置*原矩阵)的最大特征的开根号
clear ; clc
a = [1 3 9;2 8 -3;2 0 1];
[x y] = eig(a'*a); % y矩阵的对角元素是特征值
% 最大特征值开根号:
% 手动实现f2_sd
f2_sd = sqrt( max( diag(y) ) )
% 自带函数f2_sd, 默认也是2范数
f2_zd = norm(a,2)
结果:一致
f2_sd =
9.6142
f2_zd =
9.6142