Я пытаюсь умножить матрицу ak на k, скажем,
W=np.array([[W_11,...,W_1k],...,[W_k1,...W_kk]])
(где W_ij - числа) и многомерный массив (k, m, m), скажем,
A=np.array([A_1,...,A_k])
, где A_i - это матрицы m на m.
Если
A_i=[a_i]
, где a_i - числа, то numpy .dot
C = np.dot (W, A) просто дает произведение векторов нормальной матрицы, то есть C имеет форму (k, 1), а у одного -
C [i] = np.array ([W_i1 a_1 + W_i2 a_2 + ... W_ik * a_k])
Я хотел бы знать, как лучше всего умножить W и A, где теперь A не обязательно является вектором, т.е. A_i являются матрицами m на m таким образом, что они имитируют продукт, как если бы A_i = [a_i], т.е. я бы хотел, чтобы C = np.dot (W, A) имело форму (k, m, m) и C [i ] должна быть матрица m на m
W_i1 A_1 + ... W_ik A_k
Конечно, я могу сделать это с помощью al oop, но я ищу эффективное решение.