Точечный продукт в Python [закрыто
-
28-09-2019 - |
Вопрос
Этот код Python фактически находит точечный продукт двух векторов?
import operator
vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))
Решение
Вы также можете использовать Numpy Реализацию скалярное произведение который имеет большие оптимизации массива в родном коде, чтобы сделать вычисления немного быстрее. Даже лучше, если вы не специфически не пытаетесь написать процедуру продукта DOT или избежать зависимостей, использование проверенной тестированной широко используемой библиотеки намного лучше, чем катиться.
Другие советы
Да, это так. Вот еще один способ
>>> sum(map( operator.mul, vector1, vector2))
48
И другой, который не использует operator
вообще
>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
Не связан с StackOverflow