在Python中,norm函数可以使用numpy.linalg.norm()
来计算向量或矩阵的范数。numpy.linalg.norm()
函数的语法如下:
numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)
参数说明:
x
:表示向量或矩阵。
ord
:表示范数的类型,默认为None,表示计算2范数。可以设置为1、2、np.inf等其它值,分别表示计算1范数、2范数和无穷范数。
axis
:表示沿着哪个轴计算范数,默认为None,表示对整个向量或矩阵计算范数。对于矩阵可以设置为0或1,分别表示按行计算范数和按列计算范数。
keepdims
:表示是否保持计算范数后的维度,默认为False。
下面是一些使用numpy.linalg.norm()
函数的例子:
import numpy as np
# 计算向量的2范数
x = np.array([1, 2, 3])
norm_2 = np.linalg.norm(x)
print(norm_2) # 输出:3.7416573867739413
# 计算向量的1范数
norm_1 = np.linalg.norm(x, ord=1)
print(norm_1) # 输出:6.0
# 计算矩阵的无穷范数
matrix = np.array([[1, 2, 3], [4, 5, 6]])
norm_inf = np.linalg.norm(matrix, ord=np.inf)
print(norm_inf) # 输出:15.0
# 按行计算矩阵的2范数
norm_2_rows = np.linalg.norm(matrix, ord=2, axis=1)
print(norm_2_rows) # 输出:[3.74165739 8.77496439]
注:需要先导入numpy
库。