В numpy у меня есть массив матриц N 3x3. Это будет примером того, как я их хранения (я абстрагируясь от содержания):Множественное умножение матрицы
N = 10
matrices = np.ones((N, 3, 3))
У меня есть массив из 3-векторов, это будет пример:
vectors = np.ones((N, 3))
я не могу показаться, чтобы выяснить, как умножать те через NumPy, чтобы добиться чего-то вроде этого:
result_vectors = []
for matrix, vector in zip(matrices, vectors):
result_vectors.append(matrix @ vector)
с формой result_vector
«s (при литье в массив) является (N, 3)
. Однако реализация списка исключается из-за скорости.
Я пробовал np.dot с различными транспозициями, но конечный результат не получил правильную форму.
Похоже, что 'matmul' может использоваться с небольшим размером массирования:' (matrices @ vectors [:,:, None]). Squeeze() ' – hpaulj