Compartilhar via


vector_inner_product Função

Aplica-se a:check marked yes Databricks Runtime 18.1 e superior

Calcula o produto interno (produto de ponto) entre dois vetores.

Sintaxe

vector_inner_product(vector1, vector2)

Argumentos

  • vector1: uma ARRAY<FLOAT> expressão que representa o primeiro vetor.
  • vector2: uma ARRAY<FLOAT> expressão que representa o segundo vetor.

Devoluções

Um FLOAT valor que representa o produto interno dos dois vetores.

Retorna 0,0 para vetores vazios. Retorna NULL se a entrada for NULL ou contiver NULL.

Observações

  • Há suporte apenas ARRAY<FLOAT> para outros tipos, como ARRAY<DOUBLE> ou ARRAY<DECIMAL> gerar um erro.
  • Ambos os vetores devem ter a mesma dimensão; caso contrário, a função gera VECTOR_DIMENSION_MISMATCH.
  • Para vetores normalizados, o produto interno é igual à similaridade de cosseno. Normalmente usado com algoritmos mips (pesquisa de produto interno) máximos.

Condições de erro

Exemplos

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