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

函数签名:def norm(x, ord=None, axis=None, keepdims=False)

其中ord参数表示求什么类型的范数,具体参见下表

下面是用代码对一个列表求上面的范数

1 import numpy as np
2 
3 x = [1,2,3,4]
4 x1 = np.linalg.norm(x=x, ord=1)
5 x2 = np.linalg.norm(x=x, ord=2)
6 x3 = np.linalg.norm(x=x, ord=np.inf)
7 print(x1)
8 print(x2)
9 print(x3)

运行结果如下

其中的axis=0表示对矩阵的每一列求范数,axis=1表示对矩阵的每一行求范数, keeptime=True表示结果保留二维特性,keeptime=False表示结果不保留二维特性

示例代码如下

 1 import numpy as np
 2 
 3 x = np.array([[0, 1, 2],
 4               [3, 4, 5]])
 5 x1 = np.linalg.norm(x=x, ord=1, axis=0, keepdims=True)
 6 x2 = np.linalg.norm(x=x, ord=1, axis=1, keepdims=True)
 7 x3 = np.linalg.norm(x=x, ord=1, axis=0, keepdims=False)
 8 x4 = np.linalg.norm(x=x, ord=1, axis=1, keepdims=False)
 9 
10 print(x1)
11 print(x2)
12 print(x3)
13 print(x4)

运行结果如下

原文地址:https://www.cnblogs.com/loubin/p/11294822.html