У меня есть две матрицы A и B с одинаковым количеством столбцов, но обычно с неравным количеством строк. Я хочу сложить все пары столбцов из матриц A и B. Наивная реализация с циклом for такова:
import numpy as np
ncol = 3
nrow_A = 5
nrow_B = 10
A = np.ones((nrow_A,ncol))
B = np.zeros((nrow_B,ncol))
C = np.empty((nrow_A*nrow_B,ncol))
k = 0
for i in range(nrow_A):
for j in range(nrow_B):
C[k,:] = A[i,:]+B[j,:]
k += 1
который в этом примере возвращает матрицу 50 * 3, заполненную единицами. Такое ощущение, что это должно быть возможно с помощью одной строки кода. Как я могу этого добиться?