在Python中,norm()
函数用于计算向量的范数。范数是一个用于度量向量大小的函数,常用于机器学习和数学领域。
norm()
函数可以通过 numpy
库中的 linalg
模块来调用。它接受两个参数:向量和范数的类型。
范数的类型可以是以下几种:
-
None
或者np.inf
:计算向量的无穷范数,即向量中绝对值最大的元素。 -
-np.inf
:计算向量的负无穷范数,即向量中绝对值最小的元素。 -
0
:计算向量的 0 范数,即向量中非零元素的个数。 -
1
:计算向量的 1 范数,即向量中所有元素的绝对值之和。 -
2
:计算向量的 2 范数,即向量中所有元素的平方和的平方根。
以下是 norm()
函数的用法示例:
import numpy as np # 创建一个向量 vector = np.array([1, 2, 3, 4, 5]) # 计算向量的无穷范数 inf_norm = np.linalg.norm(vector, np.inf) print("无穷范数:", inf_norm) # 计算向量的负无穷范数 neg_inf_norm = np.linalg.norm(vector, -np.inf) print("负无穷范数:", neg_inf_norm) # 计算向量的0范数 zero_norm = np.linalg.norm(vector, 0) print("0范数:", zero_norm) # 计算向量的1范数 one_norm = np.linalg.norm(vector, 1) print("1范数:", one_norm) # 计算向量的2范数 two_norm = np.linalg.norm(vector, 2) print("2范数:", two_norm)
输出结果:
无穷范数: 5.0 负无穷范数: 1.0 0范数: 5.0 1范数: 15.0 2范数: 7.416198487095663
注意,norm()
函数还可以用于计算矩阵的范数,用法类似。