numpy 中 array() 和 matrix() 用法的关联与区别

学习笔记 马富天 2019-02-27 14:53:08 16 0

【摘要】在 numpy 中,array() 用于表示 n 维数组, matrix 指用于线性代数计算(矩阵)。 array 和 matrix 本质上都可以用来表示矩阵,只是在进行乘法操作的时候,各自实现方式有不同之处。

matrix 是属于 array 的一个分支,两者在大多方面上都是通用的,功能上基本没有太大的区别。但在两者都可以使用时,官方推荐选择 array ,因为 array 更灵活,速度更快;而

matrix 优势就是在与两个矩阵相乘可以直接使用乘法运算符 * 进行计算,而 array 则需要使用 dot() 函数。

在使用 array 时,乘法运算符 * 用于计算数量积(也可以直接函数 multiply() 计算数量积),函数 dot() 用于计算矢量积。如下:

  1. import numpy as np
  2. A = np.array(
  3.     [
  4.         [1,2],
  5.         [3,4]
  6.     ]
  7. )
  8. B = np.array(
  9.     [
  10.         [1,2],
  11.         [3,4]
  12.     ]
  13. )
  14. C = A * B
  15. print(C)
  16. C = np.multiply(A,B)
  17. print(C)
  18. '''
  19. [[ 1  4]
  20.  [ 9 16]]
  21. '''
  22. D = np.dot(A,B)
  23. print(D)
  24. '''
  25. [[ 7 10]
  26.  [15 22]]
  27. '''

然而,在使用 matrix 时,乘法运算符 * 表示计算向量积,而计算数量积则使用函数 multiply(),实例如下所示:

  1. import numpy as np
  2. A = np.matrix(
  3.     [
  4.         [1,2],
  5.         [3,4]
  6.     ]
  7. )
  8. B = np.matrix(
  9.     [
  10.         [1,2],
  11.         [3,4]
  12.     ]
  13. )
  14. C = A * B
  15. print(C)
  16. '''
  17. [[ 7 10]
  18.  [15 22]]
  19. '''
  20. D = np.multiply(A,B)
  21. print(D)
  22. '''
  23. [[ 1  4]
  24.  [ 9 16]]
  25. '''

版权归 马富天个人博客 所有

本文标题:《numpy 中 array() 和 matrix() 用法的关联与区别》

本文链接地址:http://www.mafutian.com/408.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 MySQL 直接复制 data 目录下文件备份数据库时需要注意的几点 》 下一篇《 yield 介绍以及运用示例【python 3】 》

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多