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 a norma Lp de um vetor usando o grau especificado.
Sintaxe
vector_norm(vector [, degree ])
Argumentos
-
vetor: Uma expressão que
ARRAY<FLOAT>representa o vetor. -
grau: Opcional. Um
FLOATvalor que especifica o tipo de norma; por defeito é 2.0 (norma euclidiana). Valores suportados:- 1.0 — norma L1 (Manhattan): soma dos valores absolutos
- 2.0 — norma L2 (Euclidiana): raiz quadrada da soma dos quadrados
-
float('inf')— L∞ (norma do infinito): valor absoluto máximo
Devoluções
Um FLOAT valor que representa a norma do vetor. O resultado é não negativo.
Devolve 0,0 para vetores vazios. Retorna NULL se a entrada for NULL ou contiver NULL.
Notes
- Apenas
ARRAY<FLOAT>é suportado; outros tipos comoARRAY<DOUBLE>ouARRAY<DECIMAL>gerar um erro. Um valor não sustentadodegreeeleva INVALID_VECTOR_NORM_DEGREE. - A norma L2 é a mais comum em cargas de trabalho de embedding denso; O L1 é utilizado em aplicações esparsas e probabilísticas; L∞ é usado na análise do pior caso.
Condições de erro
Exemplos
-- L2 norm (Euclidean) - classic 3-4-5 triangle
> SELECT vector_norm(array(3.0f, 4.0f), 2.0f);
5.0
-- L1 norm (Manhattan)
> SELECT vector_norm(array(3.0f, 4.0f), 1.0f);
7.0
-- L∞ norm (infinity)
> SELECT vector_norm(array(3.0f, 4.0f), float('inf'));
4.0
-- Empty vector returns 0.0
> SELECT vector_norm(array(), 2.0);
0.0