经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python中np.linalg.norm()用法实例总结
来源:jb51  时间:2022/7/25 19:16:06  对本文有异议

前言

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

用法

  1. 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.默认状态下

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

Result:

2.改变axis

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

3.改变ord

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

4.改变keepdims

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

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

  1. import numpy as np
  2. a = np.arange(12)
  3. print(a)
  4. b = a.reshape((3, 4))
  5. print(b)
  6. print(np.linalg.norm(a))
  7. print(np.linalg.norm(b))
  8. print(np.linalg.norm(b, 'fro'))
  9. print(np.linalg.norm(b, 'nuc'))
  10.  
  11. print(np.linalg.norm(a, np.inf))
  12. print(np.linalg.norm(a, -np.inf))
  13. print(np.linalg.norm(a, 1))
  14.  
  15. print(np.linalg.norm(b, np.inf, axis=1))
  16. print(np.linalg.norm(b, -np.inf, axis=0))
  17. 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()用法内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号