Matrizenmultiplikation
Verfasst: Freitag 2. September 2022, 11:05
Kann jemand erklären warum es im Bsp Unterschiede zw. der Matrizenmultiplikation von np.matrix und np.array gibt
Fall A) und B) sind, wie erwartet, gleich
Fall C ) funktioniert nur wenn man m1 transponiert (was aber nicht richtig ist) (np.dot(m1,m2) ergibt Fehlermeldung
Fall D) wäre richtig
import numpy as np
######################################################
m4=np.matrix([[5,2,3],
[8,1,4]])
m5=np.matrix([[7,1],
[3,6],
[4,5]])
m6=np.dot(m4,m5) ;print("A) m6 (matrix)=",m6,"\n")
#####################################################
m4=np.array([[5,2,3],
[8,1,4]])
m5=np.array([[7,1],
[3,6],
[4,5]])
m6=np.dot(m4,m5) ;print("B) m6(array)=",m6,"\n")
#######################################################
m1=np.array([[1],
[2],
[3]])
m2=np.array([4,5,6])
m3=np.dot(m1.T,m2) ;print("C) m3(array)=",m3,"\n")
#######################################################
m1=np.matrix([[1],
[2],
[3]])
m2=np.matrix([4,5,6])
m3=np.dot(m1,m2) ;print("D) m3(matrix)=",m3)
Vielen Dank
Fall A) und B) sind, wie erwartet, gleich
Fall C ) funktioniert nur wenn man m1 transponiert (was aber nicht richtig ist) (np.dot(m1,m2) ergibt Fehlermeldung
Fall D) wäre richtig
import numpy as np
######################################################
m4=np.matrix([[5,2,3],
[8,1,4]])
m5=np.matrix([[7,1],
[3,6],
[4,5]])
m6=np.dot(m4,m5) ;print("A) m6 (matrix)=",m6,"\n")
#####################################################
m4=np.array([[5,2,3],
[8,1,4]])
m5=np.array([[7,1],
[3,6],
[4,5]])
m6=np.dot(m4,m5) ;print("B) m6(array)=",m6,"\n")
#######################################################
m1=np.array([[1],
[2],
[3]])
m2=np.array([4,5,6])
m3=np.dot(m1.T,m2) ;print("C) m3(array)=",m3,"\n")
#######################################################
m1=np.matrix([[1],
[2],
[3]])
m2=np.matrix([4,5,6])
m3=np.dot(m1,m2) ;print("D) m3(matrix)=",m3)
Vielen Dank