linalg.norm
| ord | 矩阵范数 | 向量范数 | 
|---|---|---|
| None | Frobenius范数 | 2-范数 | 
| ‘fro’ | Frobenius范数 | - | 
| ‘nuc’ | 核范数 | - | 
| inf | max(sum(abs(x), axis=1)) | max(abs(x)) | 
| -inf | min(sum(abs(x), axis=1)) | min(abs(x)) | 
| 0 | - | sum(x != 0) | 
| 1 | max(sum(abs(x), axis=0)) | sum(abs(x)**ord)**(1./ord) | 
| -1 | min(sum(abs(x), axis=0)) | sum(abs(x)**ord)**(1./ord) | 
| 2 | 2-范数(奇异值的最大值) | sum(abs(x)**ord)**(1./ord) | 
| -2 | 奇异值的最小值 | sum(abs(x)**ord)**(1./ord) | 
| 其他 | - | sum(abs(x)**ord)**(1./ord) | 
必选输入参数
| 参数名 | 类型 | 说明 | 
|---|---|---|
| x | array_like | 输入数组。 
 | 
可选输入参数
| 参数名 | 类型 | 默认值 | 说明 | 
|---|---|---|---|
| ord | {non-zero int, inf, -inf, ‘fro’, ‘nuc’} | None | 请参见表1。 | 
| axis | {None, int, 2-tuple of ints} | None | 
 | 
| keepdims | bool | False | 如果将其设置为True,则在结果中将作为尺寸为1的维度留在结果中。使用此选项,结果将正确地针对原始x广播。 | 
返回数据
| 类型 | 说明 | 
|---|---|
| float or ndarray | 矩阵/向量范数。 | 
示例
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | >>> import numpy as np >>> a = np.arange(9) - 4 >>> a array([-4, -3, -2, -1, 0, 1, 2, 3, 4]) >>> b = a.reshape((3,3)) >>> b array([[-4, -3, -2], [-1, 0, 1], [ 2, 3, 4]]) >>> >>> np.linalg.norm(a) 7.745966692414834 >>> np.linalg.norm(b) 7.745966692414834 >>> np.linalg.norm(b, 'fro') 7.745966692414834 >>> np.linalg.norm(a, np.inf) 4.0 >>> np.linalg.norm(b, np.inf) 9.0 >>> np.linalg.norm(a, -np.inf) 0.0 >>> np.linalg.norm(b, -np.inf) 2.0 >>> >>> np.linalg.norm(a, 1) 20.0 >>> np.linalg.norm(b, 1) 7.0 >>> np.linalg.norm(b, -1) 6.0 >>> np.linalg.norm(a, 2) 7.745966692414834 >>> np.linalg.norm(b, 2) 7.348469228349533 >>> np.linalg.norm(a, -2) 0.0 >>> np.linalg.norm(b, -2) 3.757577037301703e-16 >>> >>> c = np.array([[1,2,3], [-1,1,4]]) >>> np.linalg.norm(c, axis=0) array([1.41421356, 2.23606798, 5. ]) >>> np.linalg.norm(c, axis=1) array([3.74165739, 4.24264069]) >>> np.linalg.norm(c, ord=1, axis=1) array([6., 6.]) >>> >>> >>> m = np.arange(8).reshape(2,2,2) >>> m array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]) >>> np.linalg.norm(m, axis=(1,2)) array([ 3.74165739, 11.22497216]) >>> np.linalg.norm(m[0, :, :]) 3.7416573867739413 >>> np.linalg.norm(m[1, :, :]) 11.224972160321824 >>> | 
父主题: 线性代数函数