Partager via


vector_inner_product Fonction

S’applique à :check marqué oui Databricks Runtime 18.1 et versions ultérieures

Calcule le produit interne (produit par points) entre deux vecteurs.

Syntaxe

vector_inner_product(vector1, vector2)

Arguments

  • vector1 : ARRAY<FLOAT> expression représentant le premier vecteur.
  • vector2 : ARRAY<FLOAT> expression représentant le deuxième vecteur.

Retours

Valeur FLOAT représentant le produit interne des deux vecteurs.

Retourne la valeur 0.0 pour les vecteurs vides. Retourne NULL si l’entrée est NULL ou contient NULL.

Remarques

  • Seul ARRAY<FLOAT> est pris en charge ; d’autres types tels que ARRAY<DOUBLE> ou ARRAY<DECIMAL> déclenchent une erreur.
  • Les deux vecteurs doivent avoir la même dimension ; sinon, la fonction déclenche VECTOR_DIMENSION_MISMATCH.
  • Pour les vecteurs normalisés, le produit intérieur est égal à la similarité cosinus. Couramment utilisé avec des algorithmes MIPS (Maximum Inner Product Search).

Conditions de l’erreur

Exemples

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