2016-08-04 14 views
0

Ich habe gelesen this question here, die ähnlich scheint, aber meine Frage kann einfacher sein.Vectoring mehrere äußere Produkte in Python?

Ich habe eine Matrix A, die die Größe ist [N x C] und eine Matrix X, die die Größe ist [N x D]

Für jede n ten Zeile in A, berechnen sie ihr äußeres Produkt mit der entsprechenden n Reihe in X. Jedes äußere Produkt ergibt eine Matrix der Größe [C x D]. Dann fasse alle Matrizen zusammen, um die endgültige Matrix zu erhalten.

Gibt es eine einfache non-for-Schleife Möglichkeit, dies in Python zu tun?

Danke!

+0

Das klingt ziemlich nach 'np.dot (AT , X) ' – Julien

+0

@JulienBernu Ich mache das äußere Produkt, nicht das Skalarprodukt. – TheGrapeBeyond

+0

Ja, aber es ist genau so hier! – Julien

Antwort

1

Nehmen Sie die n-ten Reihen: Element (c, d) ist A [n, c] * X [n, d]. Jetzt summiere alles über n und du bekommst Sum_n A [n, c] * X [n, d] das ist genau (AT.X) [c, d]

+0

Omg, du hast Recht. Vielen Dank! – TheGrapeBeyond