カテゴリ:

Vector functions

VECTOR_INNER_PRODUCT

2つの ベクトル の内積を計算します。

内積(ドット積またはスカラー積としても知られています)は、2つのベクトルを乗算します。この結果は、2つのベクトルの合成方向を表します。類似のベクトルは、非類似のベクトルよりも内積が大きくなります。

こちらもご参照ください。

VECTOR_COSINE_SIMILARITY , VECTOR_L1_DISTANCE , VECTOR_L2_DISTANCE , ベクトル埋め込み

構文

VECTOR_INNER_PRODUCT( <vector>, <vector> )
Copy

引数

vector

最初の VECTOR 値。

vector

2番目の VECTOR 値。

戻り値

入力として与えられた2つのベクトルの内積である REAL を返します。

使用上の注意

  • Vector functions are optimized in a way that can reduce floating point precision. This function's results have a margin of error up to 1e-4.

この例では、 VECTOR_INNER_PRODUCT 関数を使用して、 a 列と b 列の間で、テーブル内のどのベクトルが互いに最も近いかを判定しています。

CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);

-- Compute the pairwise inner product between columns a and b
SELECT VECTOR_INNER_PRODUCT(a, b) FROM vectors;
Copy
+------+
| 6.3  |
|------|
| 41.2 |
+------+