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))
¿Fue útil?

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
scroll top