python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python np.linalg.norm()用法

Python中np.linalg.norm()用法实例总结

作者:小k同学!

在线性代数中一个向量通过矩阵转换成另一个向量时,原有向量的大小就是向量的范数,这个变化过程的大小就是矩阵的范数,下面这篇文章主要给大家介绍了关于Python中np.linalg.norm()用法的相关资料,需要的朋友可以参考下

前言

np.linalg.norm()用于求范数,linalg本意为linear(线性) + algebra(代数),norm则表示范数。

用法

np.linalg.norm(x, ord=None, axis=None, keepdims=False)

1.x: 表示矩阵(一维数据也是可以的~)

2.ord: 表示范数类型

向量的范数

矩阵的向量

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))

注意:严格来说,当 ord <= 0 时,不符合数学上的范数公式,但它仍然适用于各种数值目的。

import numpy as np
a = np.arange(12)
print(a)
b = a.reshape((3, 4))
print(b)
print(np.linalg.norm(a))
print(np.linalg.norm(b))
print(np.linalg.norm(b, 'fro'))
print(np.linalg.norm(b, 'nuc'))

print(np.linalg.norm(a, np.inf))
print(np.linalg.norm(a, -np.inf))
print(np.linalg.norm(a, 1))

print(np.linalg.norm(b, np.inf, axis=1))
print(np.linalg.norm(b, -np.inf, axis=0))
print(np.linalg.norm(b, 1))

[ 0  1  2  3  4  5  6  7  8  9 10 11]
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
22.4944437584
22.4944437584
22.4944437584
24.3646384993
11.0
0.0
66.0
[  3.   7.  11.]
[ 0.  1.  2.  3.]
21.0

总结

到此这篇关于Python中np.linalg.norm()用法实例的文章就介绍到这了,更多相关Python np.linalg.norm()用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文