关于矩阵2-范数和无穷范数的证明

关于矩阵2-范数和无穷范数的证明,第1张

使用向量2-范数和无穷范数的如下不等式(证明都很容易):
① ║X║_∞ ≤ ║X║_2,
② ║X║_2 ≤ √n·║X║_∞
于是对任意向量X, 有:
║AX║_∞
≤ ║AX║_2 (由①)
≤ ║A║_2·║X║_2 (由2-范数的定义)
≤ √n·║A║_2·║X║_∞ (由②)
再由无穷范数的定义即得║A║_∞ ≤ √n·║A║_2

方法/步骤分步阅读
(1)在求矩阵的范数之前,我们首先要清楚我们要求得是那一类矩阵范数,通常我们常用的矩阵范数可以分为:1范数,2范数,无穷范数,和Frobenius范数。
(2)上面介绍了几种常用的范数表示形式了,那么下面来看下怎么求具体的范数值。当然,我们可以根据定义来求每个范数的值,这样只针对于矩阵维度较小的矩阵适用,下面我们来看下当矩阵维数较大时我们怎么通过matlab来求矩阵的不同范数。
(3)首先,我们来看下矩阵的1范数怎么通过matlab来求。
先在matlab命令窗口中生成一个希尔伯特矩阵a=hilb(4),然后,在命令窗口中输入nm1=norm(a,1) ,其中norm就是求矩阵范数的函数,1表示的是1范数。程序运行结果如下图所示,显然红色圈中部分就是所求的结果对应的列。
(4)其次,看下怎么求矩阵的2范数。
先在matlab命令窗口中生成一个希尔伯特矩阵a=hilb(4),然后,在命令窗口中输入nm2=norm(a,2) ,其中norm就是求矩阵范数的函数,2表示的是2范数。程序运行结果如下图所示,当然这里不能向1范数那样,一眼看出结果。
(5)下面看下怎么求矩阵的无穷范数。(相信聪明的同学已经想到了)
先在matlab命令窗口中生成一个希尔伯特矩阵a=hilb(4),然后,在命令窗口中输入nm3=norm(a,inf) ,其中norm就是求矩阵范数的函数,inf表示的是无穷范数。程序运行结果如下图所示。
(6)最后我们看下怎么求矩阵的Frobenius范数。
先在matlab命令窗口中生成一个希尔伯特矩阵a=hilb(4),然后,在命令窗口中输入nm4=norm(a,'for') ,其中norm就是求矩阵范数的函数,for表示的是Frobenius范数,就是前三个字母嘛。程序运行结果如下图所示。
至此几种常用的矩阵范数都求出来了,大家可以试试了!

矩阵范数的计算如下:

计算矩阵的范数可以使用各种数值方法,例如幂迭代法、反幂迭代法、QR分解等等。在实际应用中,一般会根据问题的特点和数据的规模选择合适的计算方法。

矩阵的范数是一种用于度量矩阵大小的方法,通常用于矩阵的估计、优化和求解问题。矩阵的范数有多种定义方式,常见的有1范数、2范数和无穷范数。

1范数是矩阵列向量绝对值之和的最大值,即 ||A||1 = \max_j \sum{i=1}^n |a_{ij}|。

2范数是矩阵的特征值的平方和的平方根,即 ||A||2 = \sqrt{\lambda{\max}(A^TA)},其中 lambda_{\max} 表示矩阵的最大特征值。

matlab中使用norm函数求向量或矩阵的范数,可以求解1范数、2范数、无穷范数和p范数
NORM(X) is the largest singular value of X, max(svd(X))
NORM(X,2) is the same as NORM(X)
NORM(X,1) is the 1-norm of X, the largest column sum,
= max(sum(abs(X)))
NORM(X,inf) is the infinity norm of X, the largest row sum,
= max(sum(abs(X')))
NORM(X,'fro') is the Frobenius norm, sqrt(sum(diag(X'X)))
NORM(X,P) is available for matrix X only if P is 1, 2, inf or 'fro'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13120895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-04
下一篇 2023-06-04

发表评论

登录后才能评论

评论列表(0条)

保存