在假设下,我想做一个“普通”矩阵,像这样重复:
C=A*B
地点
A是“2D-kind”矩阵,但每个矩阵元件都形成(1 5)
以及
B是“1D-kind”病媒,但每个病媒元素已形成(20,5)
结果
C应为“1D”病媒,但每一病媒元素再次形成(20,5个)。
I tried to produce the elements C1 以及 C2 of C manually:
>>> A.shape
(2, 2, 1, 5)
>>> B.shape
(2, 20, 5)
>>> C0 = A[0,0]*B[0]+A[0,1]*B[1]
>>> C0.shape
(20, 5)
>>> C1 = A[1,0]*B[0]+A[1,1]*B[1]
>>> C1.shape
(20, 5)
>>>
Broadcasting (1,5) from A with (20,5) of B works as expected.
然而,我无法发现,这怎么可以像一个矩阵表那样写成:
C = np.matmul(A, B)
当然,这并不奏效,因为假设能够知道我想要总结的指数。 但我认为,必须存在一些简单的“静态”解决办法。