向量与矩阵范数

本文详细介绍了向量和矩阵的各种范数,包括1-范数、2-范数、无穷范数、p-范数以及特殊范数如核范数、L0、L1、L21范数等。通过Matlab代码展示了这些范数的计算方法,为理解和应用这些概念提供了实践指导。
摘要由CSDN通过智能技术生成

1、向量范数

1-范数

||X||_{1}=\sum_{i=1}^{n}|x_{i}|

各个元素的绝对值之和

2-范数

||X||_{2}=\sqrt{\sum_{i=1}^{n}x_{i}^{2}}

每个元素的平方和再开平方根

无穷范数

||X||_{\infty }=\max _{1\leq i\leq n}|x_{i}|

p-范数

||X||_{p}=(\sum_{i=1}^{N}|x_{i}|^{p})^{\frac{1}{p}}

正无穷范数

||X||_{\infty }=\max_{i}|x_{i}|

负无穷范数

||X||_{-\infty }=\min_{i}|x_{i}|

2、矩阵范数

1-范数

||A||_{1}=\max_{1\leq j\leq n}\sum_{i=1}^{m}|a_{i,j}|

所有矩阵列向量绝对值之和的最大值

2-范数

||A||_{2}=\sqrt{\lambda _{max}(A^{T}A)}=\sqrt{\max_{1\leq i\leq n}|\lambda _{i}|}

其中\lambda_{i}A^{T}A的特征值,矩阵A^{T}A的最大特征值开平方根

无穷范数

||A||_{\infty }=\max_{1\leq i\leq n} \sum_{j=1}^{n}|a_{ij}|

 矩阵的每一行上的元素绝对值先求和,再从中取个最大的,(行和最大)

核范数

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

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

L0范数

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

L1范数

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

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

F范数

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

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

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)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值