精华内容
下载资源
问答
  • Fortran计算矩阵2范数

    千次阅读 2020-03-19 22:10:33
    Intel fortran编译器自带的MKL函数库中,只有计算矩阵1范数和无穷范数的程序,所以本文给出fortran使用MKL函数库计算矩阵2范数的示例。 而矩阵的2范数的值近似于max(svd(A)) 运行环境:win10+vs2019+ivf2020 代码...
    Intel fortran编译器自带的MKL函数库中,只有计算矩阵1范数和无穷范数的程序,所以本文给出fortran使用MKL函数库计算矩阵2范数的示例。
    
    而矩阵的2范数的值近似于max(svd(A))
    
    运行环境:win10+vs2019+ivf2020
    
    代码如下:
    program norm2
            use lapack95
            implicit none
            integer           :: i, m, n
            real, allocatable :: A(:,:), U(:,:), S(:,:), V(:,:), s1(:)
            
            write(*,'(g0)') '请输入矩阵的大小m,n: '
            read(*,*) m, n
            
            allocate( A(m,n), U(m,m), S(m,n), s1(min(m,n)), V(n,n) )
     
            call random_seed()
            call random_number(A)
     
            write(*,'(g0)') 'A is...'
            do i = 1, size(A,1)
                    write(*,'(*(f11.4))') A(i,:)
            end do
            
            call gesvd( A, s1, U, V )  !// 这里返回的V是V的转置Vt
            
            write(*,'(g0)') 'The 2-norm of A is...'
            write(*,'(f11.4)') maxval( s1 )        
            deallocate( A, U, S, V, s1 )
            
    end program norm2
    
    结果如下:
    A is...
         0.4356     0.6273     0.3247
         0.8919     0.8670     0.0205
         0.5135     0.0971     0.0906
    The 2-norm of A is...
         1.5303
    
    上述结果与matlab的计算结果一致。

     

    展开全文
  • 这里是引用n = norm(X) 返回矩阵 X 的 2-范数或最大奇异值,该值近似于 max(svd(X))。示例 n = norm(X,p) 返回矩阵 X 的 p-范数,其中 p 为 1、2 或 Inf: https://ww2.mathworks.cn/help/matlab/ref/norm.html x=...

    这里是引用n = norm(X) 返回矩阵 X 的 2-范数或最大奇异值,该值近似于 max(svd(X))。示例
    n = norm(X,p) 返回矩阵 X 的 p-范数,其中 p 为 1、2 或 Inf:
    https://ww2.mathworks.cn/help/matlab/ref/norm.html

    x=[-3 2;2 5];
    n=norm(x,2);
    

    在这里插入图片描述
    在这里插入图片描述

    所以答案没错?
    在这里插入图片描述在这里插入图片描述

    因为他是对称矩阵,所以二范数就直接等于谱半径了
    不是对称矩阵的情况下,ATA也要开根号,所以数值上也差不多。

    展开全文
  • 阅读文献时,经常看到各种范数,机器学习中的稀疏模型等,也有各种范数,其名称往往容易混淆,... 向量的2-范数:;每个元素的平方和再开平方根; 向量的无穷范数: p-范数:,其中正整数p≥1,并且有 例:...

       阅读文献时,经常看到各种范数,机器学习中的稀疏模型等,也有各种范数,其名称往往容易混淆,例如:L1范数也常称为“1-范数”,但又和真正的1-范数又有很大区别。下面将依次介绍各种范数。

    1、向量的范数

      向量的1-范数: {\left\| X \right\|_1} = \sum\limits_{i = 1}^n {\left| {{x_i}} \right|} ; 各个元素的绝对值之和;

      向量的2-范数:{\left\| X \right\|_2} = {\left( {\sum\limits_{i = 1}^n {{x_i}^2} } \right)^{\frac{1}{2}}} = \sqrt {\sum\limits_{i = 1}^n {{x_i}^2} };每个元素的平方和再开平方根;

      向量的无穷范数:{\left\| X \right\|_\infty } = \mathop {\max }\limits_{1 \le i \le n} \left| {{x_i}} \right|

      p-范数:{\left\| X \right\|_p} = {\left( {\sum\limits_{i = 1}^n {{{\left| {{x_i}} \right|}^p}} } \right)^{\frac{1}{p}}},其中正整数p≥1,并且有\mathop {\lim }\limits_{p \to \infty } {\left\| X \right\|_p} = \mathop {\max }\limits_{1 \le i \le n} \left| {{x_i}} \right|

     

    例:向量X=[2, 3, -5, -7] ,求向量的1-范数,2-范数和无穷范数。

    向量的1-范数:各个元素的绝对值之和;{\left\| X \right\|_1}=2+3+5+7=17;

    Matlab代码:X=[2, 3, -5, -7]; XLfs1=norm(X,1);

     

    向量的2-范数:每个元素的平方和再开平方根;{\left\| X \right\|_2} = {\left( {{\rm{2}} \times {\rm{2}} + {\rm{3}} \times {\rm{3}} + {\rm{5}} \times {\rm{5}} + {\rm{7}} \times {\rm{7}}} \right)^{\frac{1}{2}}} = 9.3274

    Matlab代码:X=[2, 3, -5, -7]; XLfs2=norm(X,2);

     

    向量的无穷范数:

    (1)正无穷范数:向量的所有元素的绝对值中最大的;即X的正无穷范数为:7;

    Matlab代码:X=[2, 3, -5, -7]; XLfsz=norm(X,inf);

     

    (2)负无穷范数:向量的所有元素的绝对值中最小的;即X的负无穷范数为:2;

              Matlab代码:X=[2, 3, -5, -7]; XLfsf=norm(X,-inf);

     

    2、矩阵的范数

    设:向量X \in {R^n},矩阵A \in {R^{n \times n}},例如矩阵A为:

    A=[2, 3, -5, -7;

       4, 6,  8, -4;

       6, -11, -3, 16];

    (1)矩阵的1-范数(列模):{\left\| A \right\|_1} = \mathop {\max }\limits_{X \ne 0} \frac{{{{\left\| {AX} \right\|}_1}}}{{{{\left\| X \right\|}_1}}} = \mathop {\max }\limits_{1 \le j \le n} \sum\limits_{i = 1}^n {\left| {{a_{ij}}} \right|};矩阵的每一列上的元素绝对值先求和,再从中取个最大的,(列和最大);即矩阵A的1-范数为:27

              Matlab代码:fs1=norm(A,1);

     

    (2)矩阵的2-范数(谱模):{\left\| A \right\|_2} = \mathop {\max }\limits_{X \ne 0} \frac{{{{\left\| {AX} \right\|}_2}}}{{{{\left\| X \right\|}_2}}} = \sqrt {{\lambda _{\max }}({A^T}A)} = \sqrt {\mathop {\max }\limits_{1 \le i \le n} \left| {{\lambda _i}} \right|},其中   {\lambda _i}{A^T}A的特征值;矩阵的最大特征值开平方根。

              Matlab代码:fs2=norm(A,2);

     

    (3)矩阵的无穷范数(行模):{\left\| A \right\|_\infty } = \mathop {\max }\limits_{X \ne 0} \frac{{{{\left\| {AX} \right\|}_\infty }}}{{{{\left\| X \right\|}_\infty }}} = \mathop {\max }\limits_{1 \le {\rm{i}} \le n} \sum\limits_{j = 1}^n {\left| {{a_{ij}}} \right|};矩阵的每一行上的元素绝对值先求和,再从中取个最大的,(行和最大)

             Matlab代码:fswq=norm(A,inf);

     

      下面要介绍关于机器学习中稀疏表示等一些地方用到的范数,一般有核范数,L0范数,L1范数(有时很多人也叫1范数,这就让初学者很容易混淆),L21范数(有时也叫2范数),F范数等,这些范数都是为了解决实际问题中的困难而提出的新的范数定义,不同于前面矩阵的范数。

    关于核范数,L0范数,L1范数等解释见博客:

    http://www.cnblogs.com/MengYan-LongYou/p/4050862.html

    https://blog.csdn.net/u013066730/article/details/51145889

    http://blog.sina.com.cn/s/blog_7103b28a0102w73g.html

     

    (4)矩阵的核范数:矩阵的奇异值(将矩阵svd分解)之和,这个范数可以用来低秩表示(因为最小化核范数,相当于最小化矩阵的秩——低秩);

             Matlab代码:JZhfs=sum(svd(A));

     

    (5)矩阵的L0范数:矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏。

     

    (6)矩阵的L1范数:矩阵中的每个元素绝对值之和,它是L0范数的最优凸近似,因此它也可以近似表示稀疏;

             Matlab代码:JZL1fs=sum(sum(abs(A)));

     

    (7)矩阵的F范数:矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的有点在它是一个凸函数,可以求导求解,易于计算;

             Matlab代码:JZFfs=norm(A,'fro');

     

    (8)矩阵的L21范数:矩阵先以每一列为单位,求每一列的F范数(也可认为是向量的2范数),然后再将得到的结果求L1范数(也可认为是向量的1范数),很容易看出它是介于L1和L2之间的一种范数

              Matlab代码:JZL21fs=norm(A(:,1),2) + norm(A(:,2),2) + norm(A(:,3),2)++ norm(A(:,4),2);

     

    Matlab代码

    clear all;clc;
    
    %% 求向量的范数
    X=[2, 3, -5, -7];   %初始化向量X
    XLfs1=norm(X,1);    %向量的1-范数
    XLfs2=norm(X,2);    %向量的2-范数
    XLfsz=norm(X,inf);  %向量的正无穷范数
    XLfsf=norm(X,-inf); %向量的负无穷范数
    
    %% 求矩阵的范数
    A=[2, 3, -5, -7;
       4, 6,  8, -4;
       6, -11, -3, 16];     %初始化矩阵A
    
    JZfs1=norm(A,1);        %矩阵的1-范数
    JZfs2=norm(A,2);        %矩阵的2-范数
    JZfswq=norm(A,inf);     %矩阵的无穷范数
    JZhfs=sum(svd(A));      %矩阵的核范数
    JZL1fs=sum(sum(abs(A)));% 矩阵的L1范数
    JZFfs=norm(A,'fro');    %矩阵的F范数
    JZL21fs=norm(A(:,1),2) + norm(A(:,2),2) + norm(A(:,3),2)++ norm(A(:,4),2);% 矩阵的L21范数

     

    参考资料

    [1] https://blog.csdn.net/Michael__Corleone/article/details/75213123

    [2] https://wenku.baidu.com/view/dc9e6e3753d380eb6294dd88d0d233d4b04e3f48.html

    [3] http://www.cnblogs.com/MengYan-LongYou/p/4050862.html

    [4] https://blog.csdn.net/u013066730/article/details/51145889

    [5] http://blog.sina.com.cn/s/blog_7103b28a0102w73g.html

     


    如果觉得内容还不错的话,欢迎点赞、转发、收藏,还可以关注微信公众号、CSDN博客、知乎。
     

    1. 微信公众号:

    2. CSDN博客:https://xiongyiming.blog.csdn.net/

    3. 知乎:https://www.zhihu.com/people/xiongyiming

     

    展开全文
  • 一、矩阵算子范数 1.提出 在计算中经常出现矩阵和向量的乘积,因此希望矩阵范数和向量范数间有...2.算子范数 由关系式: 定义的矩阵范数 为从属向量范数矩阵范数,简称 从属范数/算子范数 算子范数矩阵范数...

    一、矩阵算子范数

    1.提出

    在计算中经常出现矩阵和向量的乘积,因此希望矩阵范数和向量范数间有某种协调性,因此提出了矩阵范数和向量范数相容性
    在这里插入图片描述

    • 注意写法:matrix:M,矩阵;vector:V,向量

    上一次提到相容性,是在矩阵范数内部的相容性,是由于矩阵相乘所提出的
    在这里插入图片描述

    2.算子范数

    由关系式:

    定义的矩阵范数 为从属向量范数 的矩阵范数,简称 从属范数/算子范数
    在这里插入图片描述

    • 算子范数为矩阵范数
    • 与向量范数是从属关系

    通过证明,可知算子范数满足:
    1.存在性
    2.是矩阵范数(符合非负性、齐次性、三角不等式)
    3.满足矩阵范数的相容性

    3.具体算子范数

    写法 名称 解释
    1 在这里插入图片描述 列和范数 元素的模每列相加 → 选最大值
    在这里插入图片描述 行和范数 元素的模每行相加 →选最大值
    2 在这里插入图片描述 谱范数 λmax为最大特征值

    范数写法区分

    目前已经提到了4种范数,分别为:

    名称 写法 注意事项
    向量范数 //x// 在写到p-范数时,给范数加下标p
    向量加权范数 在这里插入图片描述 //x//的下标为矩阵W
    矩阵范数 //A// 写到具体的矩阵范数时,下标为 m1,m∞,F
    算子范数 在这里插入图片描述 算子范数的下标直接为 1,2,∞(区别于矩阵范数,下标没有m)
    展开全文
  • https://blog.csdn.net/shijing_0214/article/details/51757564 ... 上面是文章的链接写的很好,感谢博主。 矩阵范数:无穷范数等于行绝对值之和中最大的  一范数等于列绝对值之和中最大的 ...
  • 矩阵范数

    千次阅读 2020-04-01 11:12:53
    矩阵2-范数即:矩阵 的最大特征值开平方根 矩阵的无穷范数:行绝对值之和最大 还有一种是把矩阵拉伸成向量,然后再对向量求范数。在论文里面大家用的模棱两可的,具体文章还要具体来看。 此处引用知乎上大佬的解答...
  • 范数(norm)是数学中的一种基本概念。在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即 ①非负性;②齐次性;③三角不等式。它常常被用来度量某个向量空间(或矩阵)中的每个向量的...P范数矩阵中每个...
  • 矩阵范数

    千次阅读 2021-03-12 22:24:16
    1.谱半径 定义:设A∈Cn×n\boldsymbol{A} \in \mathbf{C}^{n \times n}A∈Cn×n的n\boldsymbol{n}n个特征值为λ1\lambda_1λ1​,λ2\lambda_2λ2​,⋯\cdots⋯,λn\lambda_nλn​,称ρ...2.矩阵谱半径与矩阵范数
  • 将向量x视为列矩阵,再用第二节中的相容性定理,但是矩阵范数和向量范数还是存在差异的。 证明: 证明: 证明: 说明:算子范数是相容的矩阵范数。 证明: 向量范数是自相容的。 证明: 证明: 证明:...
  • 前言:由于在sparse coding模型中求系统代价函数偏导数时需要用到...首先,网络上有大把的人把2范数和F=2时的范数混为一谈,或者说把矩阵p范数和诱导p范数混淆了(也有可能是因为各个版本书所定义的不同吧)。下面我还...
  • 向量范数矩阵范数矩阵范数和向量的有所不同 https://blog.csdn.net/jiang425776024/article/details/87388015
  • 向量的范数以及矩阵范数

    千次阅读 2012-10-19 15:38:06
    2:同样矩阵范数的定义也是如此,定义如下: 同样可以看出来,只要满足矩阵范数定义的函数所对矩阵求出来的值也都叫矩阵范数,常见的有如下: 但是有个最常见的就是F范,它是这样子的: 好了...
  • 向量与矩阵范数

    2020-04-03 13:12:02
    向量与矩阵范数 向量范数 1. 向量范数1-范数: ∥x∥1=∑i=1N∣xi∣\| x \|_{1}=\sum^{N}_{i=1}|x_{i}| ∥x∥1​=i=1∑N​∣xi​∣ 即向量元素绝对值之和,matlab调用函数norm(x, 1) 。 2. 2-范数:,Euclid范数...
  • ,Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,matlab调用函数norm(x, 2)。 -范数: ,即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。 -范数: ,即所有向量...
  • 阅读文献时,经常看到各种范数,机器学习中的稀疏模型等,也有各种范数,其名称往往容易混淆,例如:L1范数也常称为“1-范数”,但又和真正的1-范数又有很大区别。下面将依次介绍各种范数。 1、向量的范数   ...
  • 矩阵L2,1范数矩阵L2,p范数的求导

    千次阅读 2019-01-15 04:34:06
    常见的矩阵范数有L1,L2,∞∞范数,F范数和引申出的L2,1范数。而在机器学习的特征选择中,利用选择矩阵范数对选择矩阵进行约束,即是正则化技术,是一种稀疏学习。 L0L0向量范数 L0L0 范数 L0L0,也描述了向量的...
  • 向量的1范数,2范数,无穷范数,矩阵的1范数,2范数,无穷范数,L0范数,L1范数,L2范数(F范数),L21范数,核范数。。。。、。
  • 求向量和矩阵范数

    2018-09-20 15:25:21
    %求向量的1范数,2范数,无穷范数,负无穷范数 X=[1,2,-2,3]; %向量X的范数 ...%求矩阵的1范数,2范数,无穷范数,负无穷范数 A=[11,2,3,4;7,-2,-3,-4;0.1,0.2,0.3,0.5;5,7,8,9] %矩阵A的范数 A=...
  • title: 向量范数矩阵范数date: 2018-05-28 16:49:50tags: [经常忘,数学]categories: 概念mathjax: true---范数范数分为向量范数矩阵范数,概念经常忘记,这里总结一下。向量范数对于向量(x=[x_1,x_2,...,x_N]),...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,156
精华内容 462
关键字:

矩阵2范数