この Python コードは実際に 2 つのベクトルの内積を見つけますか?
import operator
vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))
この Python コードは実際に 2 つのベクトルの内積を見つけますか?
import operator
vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))
はい、そうです。ここに別の方法があります
>>> sum(map( operator.mul, vector1, vector2))
48
operator
もう1つはまったく使用しません
>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
ネイティブコードで大規模な配列最適化を行うドット積のnumpy実装を使用して、計算をわずかに高速化することもできます。特にドット積ルーチンを記述したり、依存関係を回避したりしない限り、広く使用されているテスト済みのライブラリを使用する方が、独自のライブラリを作成するよりもはるかに優れています。