numpy的linalg.norm()函数求范数

本文详细介绍了numpy.linalg模块中norm函数的使用,包括L2范数的计算、不同ord参数的应用,以及如何根据axis和keepdims设置对矩阵的不同维度求范数。通过实例演示了计算vector和matrix的欧几里得范数,并展示了不同参数组合下的输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

numpy.linalg模块包含线性代数的函数。使用这个模块,可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等.

np.liealg.norm函数用来计算所谓的范数,可以输入一个vector,也可以输入一个matrix。

L2范数是最常见的范数,恐怕就是一个vector的长度,这属于2阶范数,对vector中的每个component平方,求和,再开根号。这也被称为欧几里得范数(Euclidean norm)。

在没有别的参数的情况下,np.linalg.norm输入一个vector,就是计算vector的长度:vector的每个component的平方相加后开根号。

当输入是一个matrix的时候,在没有其他参数的情况下,np.linalg.norm的动作就是将此matrix的每一个参数的平方相加后开根号,相当于求所有column vector的长度的平方和,然后开根号。
在这里插入图片描述

import numpy as np

x = [1,2,3,4]
x1 = np.linalg.norm(x=x, ord=1)
x2 = np.linalg.norm(x=x, ord=2)
x3 = np.linalg.norm(x=x, ord=np.inf)
print(x1)
print(x2)
print(x3)

运行结果:
在这里插入图片描述
其中的axis=0表示对矩阵的每一列求范数,axis=1表示对矩阵的每一行求范数, keeptime=True表示结果保留二维特性,keeptime=False表示结果不保留二维特性

示例代码如下

import numpy as np

x = np.array([[0, 1, 2],
              [3, 4, 5]])
x1 = np.linalg.norm(x=x, ord=1, axis=0, keepdims=True)
x2 = np.linalg.norm(x=x, ord=1, axis=1, keepdims=True)
x3 = np.linalg.norm(x=x, ord=1, axis=0, keepdims=False)
x4 = np.linalg.norm(x=x, ord=1, axis=1, keepdims=False)

print(x1)
print(x2)
print(x3)
print(x4)

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值