Delen via


vector_inner_product functie

Van toepassing op:controleren gemarkeerd als Ja Databricks Runtime 18.1 en hoger

Berekent het binnenste product (dot-product) tussen twee vectoren.

Syntaxis

vector_inner_product(vector1, vector2)

Argumenten

  • vector1: een ARRAY<FLOAT> expressie die de eerste vector vertegenwoordigt.
  • vector2: Een ARRAY<FLOAT> expressie die de tweede vector vertegenwoordigt.

Retouren

Een FLOAT waarde die het binnenste product van de twee vectoren vertegenwoordigt.

Retourneert 0,0 voor lege vectoren. Retourneert NULL of invoer is NULL of bevat NULL.

Aantekeningen

  • Alleen ARRAY<FLOAT> wordt ondersteund; andere typen, zoals ARRAY<DOUBLE> of ARRAY<DECIMAL> genereren van een fout.
  • Beide vectoren moeten dezelfde dimensie hebben; anders wordt de functie VECTOR_DIMENSION_MISMATCH.
  • Voor genormaliseerde vectoren is het binnenste product gelijk aan cosinus-gelijkenis. Wordt vaak gebruikt met MIPS-algoritmen (Maximum Inner Product Search).

Foutvoorwaarden

Examples

-- Basic inner product
> SELECT vector_inner_product(array(1.0f, 2.0f, 3.0f), array(4.0f, 5.0f, 6.0f));
  32.0

-- Inner product of orthogonal unit vectors
> SELECT vector_inner_product(array(1.0f, 0.0f), array(0.0f, 1.0f));
  0.0

-- Inner product with itself (squared L2 norm)
> SELECT vector_inner_product(array(3.0f, 4.0f), array(3.0f, 4.0f));
  25.0