Gegeben zwei MatrizenPython - Matrix äußere Produkt
A: m * r
B: n * r
Ich möchte eine andere Matrix C: m * n
, wobei jeder Eintrag erzeugen C_ij
eine Matrix durch das äußere Produkt von A_i
und B_j
berechnet wird.
Zum Beispiel
A: [[1, 2],
[3, 4]]
B: [[3, 1],
[1, 2]]
gibt
C: [[[3, 1], [[1 ,2],
[6, 2]], [2 ,4]],
[9, 3], [[3, 6],
[12,4]], [4, 8]]]
ich es für Loops tun können, wie
for i in range (A.shape(0)):
for j in range (B.shape(0)):
C_ij = np.outer(A_i, B_j)
Ich frage mich, ob es diese Berechnung zu tun, eine vektorisierte Weg ist um es zu beschleunigen?
Haben Sie eine 4D wollen, '(m, n, r, r)' -Form Array, oder möchten Sie ein 2D wollen, '(m, n) '-shape Array von' Objekt' dtype wo jedes Element ein anderes Array ist? Ich würde dringend die erste Option empfehlen, aber Ihre Beschreibung klingt näher an der Sekunde. – user2357112
Sorry für die Verwirrung, aber ich bevorzuge die erste, eine 4D '(m, n, r, r)' - Form-Array. –