Question

Est-ce que ce code Python réellement trouver le produit scalaire de deux vecteurs?

import operator

vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))
Était-ce utile?

La solution

Vous pouvez également utiliser la mise en œuvre de numpy point produit qui a de grandes optimisations du tableau dans le code natif pour faire des calculs un peu plus rapide. Mieux encore, à moins que vous essayez d'écrire spécifiquement une routine de produit scalaire ou éviter les dépendances, en utilisant une bibliothèque largement utilisé éprouvée est beaucoup mieux que vos propres modèles.

Autres conseils

Oui, il le fait. Voici une autre façon

>>> sum(map( operator.mul, vector1, vector2))
48

et un autre qui n'utilise pas du tout operator

>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top