Punktprodukt in Python [geschlossen]
-
28-09-2019 - |
Frage
Ist eigentlich dieser Python-Code das Skalarprodukt von zwei Vektoren finden?
import operator
vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))
Lösung
Sie können auch die numpy Implementierung von Skalarprodukt , die hat große Array Optimierungen in nativen Code zu machen Berechnungen etwas schneller. Noch besser, wenn Sie speziell versuchen, eine Skalarprodukt Routine oder zu vermeiden Abhängigkeiten zu schreiben, eine versuchte getestet weit verbreitet Bibliothek ist viel besser als Ihre eigenen Rollen.
Andere Tipps
Ja, es funktioniert. Hier ist eine andere Art und Weise
>>> sum(map( operator.mul, vector1, vector2))
48
und eine andere, die nicht operator
bei allen
>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow