前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >np.linalg.norm

np.linalg.norm

作者头像
周小董
发布2019-03-25 10:13:56
1.7K0
发布2019-03-25 10:13:56
举报
文章被收录于专栏:python前行者python前行者
  • (1)np.linalg.inv():矩阵求逆
  • (2)np.linalg.det():矩阵求行列式(标量)

np.linalg.norm

1、linalg=linear(线性)+algebra(代数),norm则表示范数。首先需要注意的是范数是对向量(或者矩阵)的度量,是一个标量(scalar):

首先help(np.linalg.norm)查看其文档:

x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)

①x: 表示矩阵(也可以是一维)

②ord:范数类型

向量的范数:

image.png
image.png

矩阵的范数:

ord=1:列和的最大值

ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根

ord=∞:行和的最大值

ord=None:默认情况下,是求整体的矩阵元素平方和,再开根号。(没仔细看,以为默认情况下就是矩阵的二范数,修正一下,默认情况下是求整个矩阵元素平方和再开根号)

代码语言:javascript
复制
>>> x = np.array([3, 4])
>>> np.linalg.norm(x)
5.
>>> np.linalg.norm(x, ord=2)
5.
>>> np.linalg.norm(x, ord=1)
7.
>>> np.linalg.norm(x, ord=np.inf)
4

二范数的一个等价方法:

代码语言:javascript
复制
import numpy as np

x=np.array([[0, 3, 4], [2, 6, 4]])

y2=np.sum(x**2, axis=1, keepdims=True)**0.5

z2=x/y2
image.png
image.png
范数理论的一个小推论告诉我们:ℓ1≥ℓ2≥ℓ∞

③axis:处理类型

axis=1表示按行向量处理,求多个行向量的范数

axis=0表示按列向量处理,求多个列向量的范数

axis=None表示矩阵范数。

④keepding:是否保持矩阵的二维特性

True表示保持矩阵的二维特性,False相反

代码语言:javascript
复制
import numpy as np
x = np.array([
    [0, 3, 4],
    [1, 6, 4]])
#默认参数ord=None,axis=None,keepdims=False
print "默认参数(矩阵整体元素平方和开根号,不保留矩阵二维特性):",np.linalg.norm(x)
print "矩阵整体元素平方和开根号,保留矩阵二维特性:",np.linalg.norm(x,keepdims=True)
 
print "矩阵每个行向量求向量的2范数:",np.linalg.norm(x,axis=1,keepdims=True)
print "矩阵每个列向量求向量的2范数:",np.linalg.norm(x,axis=0,keepdims=True)
 
print "矩阵1范数:",np.linalg.norm(x,ord=1,keepdims=True)
print "矩阵2范数:",np.linalg.norm(x,ord=2,keepdims=True)
print "矩阵∞范数:",np.linalg.norm(x,ord=np.inf,keepdims=True)
 
print "矩阵每个行向量求向量的1范数:",np.linalg.norm(x,ord=1,axis=1,keepdims=True)

结果显示:

image
image

参考:https://blog.csdn.net/hqh131360239/article/details/79061535 https://blog.csdn.net/lanchunhui/article/details/51004387 https://www.cnblogs.com/devilmaycry812839668/p/9352814.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年03月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • np.linalg.norm
    • 范数理论的一个小推论告诉我们:ℓ1≥ℓ2≥ℓ∞
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档