In Matrix-Multiplikation, nehmen Sie an, dass die A
ist eine 3 x 2-Matrix (3 Zeilen, 2 Spalten) und B
ist eine 2 x 4 Matrix (2 Zeilen, 4 Spalten), dann wenn eine Matrix C = A * B
, dann sollte C
3 Reihen und 4 Spalten haben. Warum macht numpy diese Multiplikation nicht? Wenn ich den folgenden Code versuchen, bekomme ich einen Fehler: ValueError: operands could not be broadcast together with shapes (3,2) (2,4)
numpy Matrix Multiplikation Formen
a = np.ones((3,2))
b = np.ones((2,4))
print a*b
Ich versuche, mit A und B zur Umsetzung und alwasy die gleiche Antwort bekommen. Warum? Wie mache ich die Matrix-Multiplikation in diesem Fall?
Man sollte vorsichtig sein mit der Erweiterung sparse.linalg numpy, die die Klasse "LinearOperator" definiert. In dieser Klasse wird der Operator "*" als das übliche Matrix-Punkt-Produkt interpretiert. – Guillaume
Wann sollte man in numpy Matrizen vs Arrays verwenden? Bis vor kurzem war mir nicht einmal bewusst, dass es eine Matrix-API gab. –
@CharlieParker Ich würde nicht empfehlen, Matrizen zu verwenden, ich glaube, dass sie veraltet sein sollen. – Daniel