阅读 6

矩阵的范数怎么求(求矩阵的范数的公式是什么)

||a|| = √(a,a) = √a^Ta 其中 (a,a) 是a与a的内积,是a的各分量的平方之和 如a=(X1,X2,X3),则||a||=√X1^2+X2^2+X3^3 些矩阵范数不可以由向量...,以下是对"矩阵的范数怎么求"的详细解答!

文章目录

  • 1、求矩阵的范数的公式是什么
  • 2、矩阵范数怎么计算
  • 3、矩阵的范数

求矩阵的范数的公式是什么

||a|| = √(a,a) = √a^Ta

其中 (a,a) 是a与a的内积,是a的各分量的平方之和

如a=(X1,X2,X3),则||a||=√X1^2+X2^2+X3^3

些矩阵范数不可以由向量范数来诱导,比如常用的Frobenius范数(也叫Euclid范数,简称F-范数或者E-范数):║A║F= ( ∑∑ aij^2 )^1/2 (A全部元素平方和的平方根)。

容易验证F-范数是相容的,但当min{m,n}>1时F-范数不能由向量范数诱导(||E11+E22||F=2>1)。可以证明任一种矩阵范数总有与之相容的向量范数。

矩阵范数怎么计算

矩阵范数计算方法如下:

(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范数。

(5)下面看下怎么求矩阵的无穷范数。(相信聪明的同学已经想到了)

先在matlab命令窗口中生成一个希尔伯特矩阵a=hilb(4),然后,在命令窗口中输入nm3=norm(a,inf) ,其中norm就是求矩阵范数的函数,inf表示的是无穷范数。

(6)最后我们看下怎么求矩阵的Frobenius范数。

先在matlab命令窗口中生成一个希尔伯特矩阵a=hilb(4),然后,在命令窗口中输入nm4=norm(a,'for') ,其中norm就是求矩阵范数的函数,for表示的是Frobenius范数,就是前三个字母嘛。

矩阵的范数

定义一个矩阵A=[-1 2 -3;4 -6 6]。 矩阵的1范数 :矩阵的每一列上的元素***先求和,再从中取个最大的,(列和最大),上述矩阵A的1范数先得到[5,8,9],再取最大的最终结果就是:9。 矩阵的2范数 :矩阵 A 的最大特征值开平方根,上述矩阵A的2范数得到的最大结果是:10.0623。 矩阵的无穷范数 :矩阵的每一行上的元素***先求和,再从中取个最大的,(行和最大),上述矩阵A的1范数先得到[6;16],再取最大的最终结果就是:16。 矩阵的核范数 :矩阵的奇异值(将矩阵svd分解)之和,这个范数可以用来低秩表示(因为最小化核范数,相当于最小化矩阵的秩--低秩),上述矩阵A的最终结果就是10.9287。 矩阵的L0范数 :矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏,上述矩阵A最终结果就是:6。 矩阵的L1范数 :矩阵中的每个元素***之和,它是L0范数的***凸近似,因此它也可以表示稀疏,上述矩阵A最终结果就是:22。 矩阵的F范数 :矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的优点在它是一个凸函数,可以求导求解,易于计算,上述矩阵A最终结果就是10.0995。 矩阵的L21范数 :矩阵先以每一列为单位,求每一列的F范数(也可认为是向量的2范数),然后再将得到的结果求L1范数(也可以认为是向量的1范数),很容易看出它是介于L1和L2之间的一种范数,上述矩阵A最终结果就是:17.1559。

文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐