Powiedzmy, że mam macierze A (KxMxN) i B (KxLxN), gdzie L, M, N są małe, a K to duża liczba. Chciałbym obliczyć zewnętrzny produkt użycia dwóch ostatnich wymiarów wzdłuż pierwszego wymiaru, aby uzyskać macierz C (KxMxL).Jak skutecznie obliczyć zewnętrzny produkt z dwóch serii macierzy w numpy?
mogę to zrobić poprzez uruchomienie pętli for dla każdego indeksu k w "K" i używać matmul funkcję NumPy dla 2D macierzy
out = [np.matmul(x,y.T) for x, y in zip(A, B)]
out=np.asarray(out)
Zastanawiam się, czy mogę to zrobić bez pętli for/zrozumienie jako K jest bardzo dużą liczbą.
To naprawdę produkt wewnętrzny - nad zestawem podbarw. Produkt zewnętrzny zwiększa wymiary i nie sumuje żadnych. – hpaulj