说我有矩阵A和B.乘以特定尺寸矩阵
A是一个三维数组/张量(?)。
[1,2,3,4]
[5,6,7,8]
[1,2,3,4]
[5,6,7,8]
有说4个不同的2D矩阵,像上面的第三维。
B是矩阵。
[1,2,3,4]
B中也有4个,每个都是同一个。
如何将乘以在B中的每个矢量(?),每个2D矩阵在A.
[1,2,3,4]*[1,2,3,4]*[1;2;3;4]
[5,6,7,8]
[1,2,3,4]
[5,6,7,8]
会有上述类型的乘法的4得到4个4X1载体。 我已经numpy的尝试过为:
y = numpy.arange(4).reshape(1,4)
z = numpy.arange(64).reshape(4,4,4)
y.dot(z).dot(numpy.transpose(y))
------
Output:
array([[[ 420],
[ 996],
[1572],
[2148]]])
和它的作品,因为我想它。但我不知道numpy是如何广播的,我想知道它是为了学习的目的,还有其他用于处理不同库中的矩阵的软件包会以不同的方式处理广播。我试图以不同的方式平铺B以达到相同的效果,但没有任何效果。如果我没有解释清楚,请告诉我。
也宁愿得到4x1而不是从numpy返回3d。
这不会重现OP的双'dot',因为'dot'使用第2至第2个参数的最后一个维度。 – hpaulj
但他的第二个参数是1D。我认为这与他所问的内容相符,这似乎是一种二次方式。无论如何,他应该能够通过摆弄指数来得到他想要的。 – Jaime