問題タブ [dot-product]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3055 参照

c++ - 一般的なアルゴリズムを使用した C++ の内積

ベクトルやリストなど、順序付けられたコンテナ内の要素のドット積を実装するために、C++ stl 汎用アルゴリズムを使用する巧妙なワンライナーがあると確信しています。私はそれを覚えていないようです!

ファンシーな実装は次のようになります。

私は車輪を再発明していて、これを行うためのより賢い方法があると思います.

0 投票する
3 に答える
16147 参照

java - コサイン類似度

2 つのドキュメントの tf/idf 値を計算しました。tf/idf 値は次のとおりです。

ドキュメントは次のようなものです。

これらの値を使用してコサイン類似度を計算するにはどうすればよいですか?

内積を計算し、距離を求めて内積を割ります。自分の値を使用してこれを計算するにはどうすればよいですか?

もう 1 つの質問:両方の文書の単語数が同じであることが重要ですか?

0 投票する
2 に答える
57866 参照

python - Pythonのドット積

この Python コードは実際に 2 つのベクトルの内積を見つけますか?

0 投票する
4 に答える
3203 参照

c - SSE組み込み関数を使用して、4つのドット積をCの連続した配列に格納する最も効率的な方法

SSE組み込み関数を使用して、Intelx86Nehalemマイクロアーキテクチャ用にいくつかのコードを最適化しています。

私のプログラムの一部は4つの内積を計算し、各結果を配列の連続したチャンクの前の値に追加します。すなわち、

各ドット積の結果を保持するために4つの一時xmmレジスタを使用してこれを実行していることに注意してください。各xmmレジスタでは、結果は他の一時的なxmmレジスタに対して一意の32ビットに配置され、最終結果は次のようになります。

tmp0=R0-ゼロ-ゼロ-ゼロ

tmp1=ゼロ-R1-ゼロ-ゼロ

tmp2=ゼロ-ゼロ-R2-ゼロ

tmp3=ゼロ-ゼロ-ゼロ-R3

次の手順でそれらを合計することにより、各tmp変数に含まれる値を1つのxmm変数に結合します。

最後に、ドット積の4つの結果すべてを含むレジスタを配列の連続部分に追加して、配列のインデックスがドット積によって増分されるようにします(C_0nは、更新される配列に現在ある4つの値です)。 ; C_2は、これら4つの値を指すアドレスです):

ドット積の結果を取得して、それらを配列の連続するチャンクに追加するための、より回りくどく、より効率的な方法があるかどうかを知りたいです。このようにして、ゼロ以外の値が1つしかないレジスタ間で3つの加算を実行しています。これを回避するためのより効果的な方法があるはずです。

私はすべての助けに感謝します。ありがとうございました。

0 投票する
3 に答える
2932 参照

python - すべての要素と配列の他のすべての要素との内積

配列の 1 つの要素と他のすべての要素の内積を取る簡単な方法はありますか? 与えられた:

結果を取得したい:

つまり、a[0] ドット a[1]、a[0] ドット a[2]、a[1] ドット a[2]。

私が扱っている配列は正方形ではありません。それはほんの一例です。

ありがとう!

0 投票する
11 に答える
116120 参照

python - 内積を計算するためのPythonの方法は何ですか?

2つのリストがあります。1つはA、もう1つはBという名前です。Aの各要素はトリプルで、Bの各要素は単なる数字です。次のように定義された結果を計算したいと思います。

結果=A[0] [0] * B [0] + A [1] [0] * B [1] + ... + A [n-1] [0] * B [n-1]

私はロジックが簡単であることを知っていますが、Pythonの方法で書く方法は?

ありがとう!

0 投票する
4 に答える
14712 参照

python - numpy.dotの高速化

numpy次のコードで実行時間の約50%を費やすスクリプトがあります。

s = numpy.dot(v1, v1)

どこ

v1 = v[1:]

連続したメモリに格納されたv4000要素の1Dndarrayです( is )。float64v.strides(8,)

これをスピードアップするための提案はありますか?

編集これはIntelハードウェア上にあります。これが私の出力ですnumpy.show_config()

0 投票する
3 に答える
13821 参照

python - numpy: 列単位の内積

2Dnumpy配列が与えられた場合、すべての列とそれ自体の内積を計算し、結果を 1D 配列に格納する必要があります。以下の作品:

Python ループを回避する簡単な方法はありますか? 上記は世界の終わりではありませんが、numpyこれに対するプリミティブがあれば、それを使用したいと思います。

edit実際には、マトリックスには多くの行と比較的少数の列があります。したがって、私は一時配列よりも大きな一時配列を作成することにあまり熱心ではありませんO(A.shape[1])。また、その場で変更することもできませんA

0 投票する
3 に答える
2595 参照

c++ - openMPを使用した複素数ベクトルの内積

複雑な引数に対してreduce()をサポートしないバージョンのopenMPを使用しています。次のような高速ドット積関数が必要です

明らかに、このコードは問題をスピードアップしませんが、スローダウンします。複雑な引数にreduce()を使用せずに高速なソリューションがありますか?

0 投票する
1 に答える
1419 参照

opengl - 行列の成分と内積

次のGLSLコードがあります:

ルーチンRGBtoXYZには 3 つのコード ブロックがあります (最後の 2 つがコメントされています)。最初のものは期待どおりに機能しますが、他のコメントされたものは機能しません。

問題は、それらが同等だと思うことです。なぜそうではないのですか?