ich versuche schon seit tagen eine Vektor-matrix-produkt Funktion zu programmieren. allerdings ohne numpy!
ich habe bereits eine Funktion programmiert die jeden Eintrag eines Vektors oder einer Matrix negiert, dh jeden eintrag des Vektors/der Matrix mit -1 multipliziert
ich habe es geschafft ein vektorprodukt (Vektor mal Vektor) zu programmieren.
bei einem Vektor-Matrix-Produkt muss ich jedoch einen Vektor(liste) mit einer matrix(liste in liste) rechnen und weiss nicht wie ich das programmiere?
Bei einem Vektor - Matrix - Produkt sollte dann bei meinen gegebenen Vektor und Matrix am Ende [18, 18] rauskommen
Könntet ihr mein Programm anschauen und mir sagen ob ich es soweit gut gelöst habe und wie ich das Vektor-Matrixprodukt programmiere?
mein Programm sieht soweit so aus:
Code: Alles auswählen
vec = [2,2,2]
vecc = [3,3,3]
matrix = [[3,3,3],[3,3,3]]
#Funktion die Einträge mit -1 multipliziert
def negiere(liste):
jj = [x * -1 for x in liste]
if type(liste[0]) == list:
jj = [[x*-1 for x in item] for item in liste]
return jj
#print negiere(matrix)
#print negiere(vec)
#print product(vec, vecc)
#Hier ist die Produktfunktion:
def product(a,b):
jj = sum(a[x]*b[x] for x in range(len(b))) #Vektorprodukt
if type(a[0]) or type(b[0]) == list:
# hier sollte dann das matrix produkt sein
return jj
mein problem ist also: wie mache ich ein SkalarProdukt zwischen Liste UND Liste in Liste ?