前言
np.linalg.norm()用于求范数,linalg本意为linear(线性) + algebra(代数),norm则表示范数。
用法
np.linalg.norm(x, ord=None, axis=None, keepdims=False)
1.x: 表示矩阵(一维数据也是可以的~)
2.ord: 表示范数类型
向量的范数:

矩阵的向量:
ord=1:表示求列和的最大值
ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根
ord=∞:表示求行和的最大值
ord=None:表示求整体的矩阵元素平方和,再开根号
3.axis:
| 参数 | 含义 |
|---|---|
| 0 | 表示按列向量来进行处理,求多个列向量的范数 |
| 1 | 表示按行向量来进行处理,求多个行向量的范数 |
| None | 表示整个矩阵的范数 |
4.keepdims:表示是否保持矩阵的二位特性,True表示保持,False表示不保持,默认为False
例子
1.默认状态下:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X))
Result:


2.改变axis:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=1))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0))

3.改变ord:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, ord=1))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, ord=2))

4.改变keepdims:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0, keepdims=True))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0))

希望这篇文章对大家的学习有所帮助!
本文详细介绍了NumPy库中用于计算范数的函数`np.linalg.norm()`,包括其参数用法、不同范数类型的含义以及具体示例。例如,ord=1对应列向量的最大和,ord=2对应矩阵特征值的算术平方根,ord=∞表示行向量的最大和,而ord=None则计算矩阵元素平方和的平方根。通过调整axis参数,可以选择按行或列向量计算范数,并可通过keepdims参数保留维度。这些概念和示例对于理解和应用线性代数中的范数计算至关重要。

1950

被折叠的 条评论
为什么被折叠?



