dot producto en Python [cerrado]
-
28-09-2019 - |
Pregunta
¿Tiene el código Python en realidad encontrar el producto escalar de dos vectores?
import operator
vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))
Solución
También puede utilizar la aplicación de numpy punto producto que tiene grandes optimizaciones matriz en código nativo a cálculos hacerla ligeramente más rápido. Mejor aún menos que esté tratando específicamente para escribir una rutina producto escalar o evitar dependencias, utilizando una biblioteca ampliamente utilizado de probada eficacia es mucho mejor que rodar su propia cuenta.
Otros consejos
Sí lo hace. Aquí es otra manera
>>> sum(map( operator.mul, vector1, vector2))
48
y otro que no utiliza en absoluto operator
>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow