numpy文档建议使用数组而不是矩阵来处理矩阵。但是,与八度(直到最近我一直使用)不同,*不执行矩阵乘法,您需要使用函数matrixmultipy()。我觉得这使得代码非常不可读。
是否有人分享我的观点并找到了解决方案? 问题来源于stack overflow
避免使用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。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。