Kategorien:

Vektorähnlichkeitsfunktionen

VECTOR_INNER_PRODUCT

Berechnet das innere Produkt von zwei Vektoren.

Das innere Produkt (auch bekannt als Punkt- oder Skalarprodukt) multipliziert zwei Vektoren. Das Ergebnis stellt die kombinierte Richtung der beiden Vektoren dar. Ähnliche Vektoren ergeben ein größeres inneres Produkt als unähnliche Vektoren.

Siehe auch:

VECTOR_L2_DISTANCE, VECTOR_COSINE_SIMILARITY, Vektoreinbettungen

Syntax

VECTOR_INNER_PRODUCT( <vector>, <vector> )
Copy

Argumente

vector

Erster VECTOR-Wert.

vector

Zweiter VECTOR-Wert.

Rückgabewerte

Gibt einen VECTOR-Wert zurück, der das innere Produkt der beiden als Eingaben angegebenen Vektoren ist.

Nutzungshinweise

  • Aufgrund von Berechnungsoptimierungen in den Vektorvergleichsfunktionen können Gleitkommafehler etwas größer als üblich sein (z. B. etwa 1e-4).

Beispiele

In diesem Beispiel wird die Funktion VECTOR_INNER_PRODUCT verwendet, um zu ermitteln, welche Vektoren zwischen den Spalten a und b der Tabelle am nächsten beieinander liegen:

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 |
+------+