在Python中,norm函数用于计算向量的范数。向量的范数是一个标量值,表示向量的大小或长度。
norm函数的用法如下:
numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)
参数说明:
x: 输入的向量或数组。
ord: 范数的类型。默认为None,表示计算2范数(欧几里德范数)。可以是整数、无穷大(np.inf)、负无穷大(-np.inf)或字符串值('fro’表示Frobenius范数)。
axis: 指定按照哪个轴计算范数。默认为None,表示对整个数组进行计算。
keepdims: 是否保持结果的维度。默认为False,表示结果为标量。如果设置为True,结果将保持与输入数组相同的维度。
范数的计算公式如下:
L0范数:向量中非零元素的个数。
L1范数:向量中各个元素的绝对值之和。
L2范数:向量中各个元素的平方和的平方根。
Lp范数:向量中各个元素的p次方和的1/p次方。
无穷范数:向量中绝对值最大的元素的绝对值。
示例:
import numpy as np
x = np.array([1, 2, 3, 4, 5])
norm_2 = np.linalg.norm(x) # 计算2范数
norm_1 = np.linalg.norm(x, ord=1) # 计算1范数
norm_inf = np.linalg.norm(x, ord=np.inf) # 计算无穷范数
print(norm_2) # 输出:7.416198487095663
print(norm_1) # 输出:15.0
print(norm_inf) # 输出:5.0