[英]Matrix multiplication strange error
这是我现在从3个小时开始苦苦挣扎的问题; /在numpy的python中,我做了简单的乘法,例如:
matrix.T * matrix
,其中m是我的矩阵,但即使在我的大脑中一切正常(大小正确匹配),我仍然不断收到错误消息:
operands could not be broadcast together with shapes (5,20) (20,5)
这是为什么? 20不匹配20吗? 我怎么了; D?
提前致谢
矩阵乘法是NumPy中的dot
方法,如果您使用的是最新的Python和NumPy,则使用@
运算符:
matrix.T.dot(matrix)
要么
matrix.T @ matrix
或(如果您拥有足够新的NumPy但没有足够的新Python)
np.matmul(matrix.T, matrix)
请注意,NumPy具有一个行为不同的matrix
类,但是您绝对不要使用它 。
您的matrix
变量用词不当。 您拥有的是多维数组。
您可以简单地使用np.dot
将数组相乘:
matrix.T.dot(matrix)
如果您实际上使用np.matrix
创建了矩阵,则该乘法将毫无问题地进行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.