我一直在努力弄清楚 NumPy 复数矩阵乘法背后的算法:
import numpy as np
A = np.array([[17.+0.j, -3.+0.j],
[-7.+0.j, 1.+0.j]])
B = np.array([[ 60.+0.j, -4.+0.j],
[-12.+0.j, 0.+0.j]])
print(A * B)
它的输出为:
[[1020.+0.j 12.-0.j]
[ 84.-0.j 0.+0.j]]
从标准矩阵乘法得到的结果非常不同,可以通过以下数字看出来,所以我想知道NumPy究竟是做了什么:
[[1056.+0.j -68.+0.j]
[-432.+0.j 28.+0.j]]
我一直在尝试使用 for
循环来重现他们的乘法算法,但我还没有找到答案。有什么提示吗?
*
表示逐元素相乘,你可能需要使用numpy.matmul()
。 - AMCnp.multiply()
。 - karlphillipnp.multiply()
。另外,请不要再次删除标签。 - karlphillipnp.multiply()
。虽然我认为当涉及到ndarrays时,这总是正确的。这导致了一些与旧的nump.matrix
类混淆的情况,例如请参见https://dev59.com/PW865IYBdhLWcg3wSMkw。 - AMC