开发者社区> 问答> 正文

NumPy矩阵与数组类的乘法有何不同?

numpy文档建议使用数组而不是矩阵来处理矩阵。但是,与八度(直到最近我一直使用)不同,*不执行矩阵乘法,您需要使用函数matrixmultipy()。我觉得这使得代码非常不可读。

是否有人分享我的观点并找到了解决方案? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 01:23:08 454 0
1 条回答
写回答
取消 提交回答
  • 避免使用matrix该类的主要原因是:a)本质上是二维的,并且b)与“常规” numpy数组相比,存在额外的开销。如果您要做的只是线性代数,那么请务必使用矩阵类...就我个人而言,我发现它比它值得的麻烦更多。

    对于数组(Python 3.5之前的版本),请使用dot代替matrixmultiply。

    例如

    import numpy as np x = np.arange(9).reshape((3,3)) y = np.arange(3)

    print np.dot(x,y) 或在新版本的numpy中,只需使用 x.dot(y)

    就个人而言,我发现它比*表示矩阵乘法的运算符更具可读性...

    对于Python 3.5中的数组,请使用x @ y。

    2020-02-07 01:23:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载