Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Runtime 18.1 e superiores
Calcula o produto escalar (produto escalar) entre dois vetores.
Sintaxe
vector_inner_product(vector1, vector2)
Argumentos
-
vector1: Uma expressão que
ARRAY<FLOAT>representa o primeiro vetor. -
vector2: Uma expressão que
ARRAY<FLOAT>representa o segundo vetor.
Devoluções
Um FLOAT valor que representa o produto interno dos dois vetores.
Devolve 0,0 para vetores vazios. Retorna NULL se qualquer uma das entradas for NULL ou contiver NULL.
Notes
- Apenas
ARRAY<FLOAT>é suportado; outros tipos comoARRAY<DOUBLE>ouARRAY<DECIMAL>gerar um erro. - Ambos os vetores devem ter a mesma dimensão; caso contrário, a função eleva VECTOR_DIMENSION_MISMATCH.
- Para vetores normalizados, o produto interno é igual à similaridade cosseno. Comumente usado com algoritmos de Pesquisa de Produto Interno Máximo (MIPS).
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