Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
Databricks Runtime 18.1 e superior
Calcula a norma LP de um vetor usando o grau especificado.
Sintaxe
vector_norm(vector [, degree ])
Argumentos
-
vector: uma expressão
ARRAY<FLOAT>que representa o vetor. -
grau: opcional. Um
FLOATvalor que especifica o tipo de norma; o padrão é 2.0 (norma euclidiana). Valores com suporte:- 1.0 – Norma L1 (Manhattan): soma de valores absolutos
- 2.0 — Norma L2 (euclidiano): raiz quadrada da soma dos quadrados
-
float('inf')— L∞ (norma de infinito): valor absoluto máximo
Devoluções
Um FLOAT valor que representa a norma do vetor. O resultado não é negativo.
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, comoARRAY<DOUBLE>ouARRAY<DECIMAL>gerar um erro. Um valor sem suportedegreegera INVALID_VECTOR_NORM_DEGREE. - A norma L2 é a mais comum em cargas de trabalho de inserção densas; L1 é usado em aplicativos esparsos e probabilísticos; L∞ é usado na pior das hipóteses.
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