Pular para o conteúdo principal

L1Distance

Introduzido em: v21.11.0 Calcula a distância entre dois pontos (os elementos dos vetores são as coordenadas) no espaço L1 (norma 1 (distância da geometria do táxi)). Sintaxe
L1Distance(vector1, vector2)
Aliases: distanceL1 Argumentos Valor retornado Retorna a distância L1. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, Float64. Para entradas Tuple, o tipo de retorno segue o tipo de resultado aritmético das operações elemento a elemento (os tipos inteiros são preservados). (U)Int* ou Float* Exemplos Uso básico
Query
SELECT L1Distance((1, 2), (2, 3))
Response
┌─L1Distance((1, 2), (2, 3))─┐
│                          2 │
└────────────────────────────┘

L1Norm

Introduzido na versão: v21.11.0 Calcula a soma dos valores absolutos dos elementos de um vetor. Sintaxe
L1Norm(vector)
Aliases: normL1 Argumentos Valor retornado Retorna a norma L1 ou a distância em geometria do táxi. UInt* ou Float* ou Decimal Exemplos Uso básico
Query
SELECT L1Norm((1, 2))
Response
┌─L1Norm((1, 2))─┐
│              3 │
└────────────────┘

L1Normalize

Introduzido em: v21.11.0 Calcula o vetor unitário de um dado vetor (os elementos da tupla são as coordenadas) no espaço L1 (geometria do táxi). Sintaxe
L1Normalize(tuple)
Aliases: normalizeL1 Argumentos
  • tuple — Uma tupla de valores numéricos. Tuple(T)
Valor retornado Retorna o vetor unitário. Tuple(Float64) Exemplos Uso básico
Query
SELECT L1Normalize((1, 2))
Response
┌─L1Normalize((1, 2))─────────────────────┐
│ (0.3333333333333333,0.6666666666666666) │
└─────────────────────────────────────────┘

L2Distance

Introduzido em: v21.11.0 Calcula a distância entre dois pontos (os elementos dos vetores são as coordenadas) no espaço euclidiano (distância euclidiana). Sintaxe
L2Distance(vector1, vector2)
Aliases: distanceL2 Argumentos Valor retornado Retorna a distância de norma 2. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, Float64. Para entradas Tuple, sempre retorna Float64. Float* Exemplos Uso básico
Query
SELECT L2Distance((1, 2), (2, 3))
Response
┌─L2Distance((1, 2), (2, 3))─┐
│         1.4142135623730951 │
└────────────────────────────┘

L2DistanceTransposed

Introduzido na: v25.10.0 Calcula a distância aproximada entre dois pontos (os valores dos vetores são as coordenadas) no espaço euclidiano (distância euclidiana). Sintaxe
L2DistanceTransposed(vector1, vector2, p)
Aliases: distanceL2Transposed Argumentos
  • vectors — Vetores. QBit(T, UInt64)
  • reference — Vetor de referência. Array(T)
  • p — Número de bits de cada elemento do vetor a ser usado no cálculo da distância (de 1 até a largura de bits do elemento). O nível de quantização controla o equilíbrio entre precisão e velocidade. Usar menos bits resulta em E/S e cálculos mais rápidos, com menor precisão, enquanto usar mais bits aumenta a precisão à custa do desempenho. UInt
Valor retornado Retorna a distância aproximada de norma 2. Sempre retorna Float64. Float64 Exemplos Uso básico
Query
CREATE TABLE qbit (id UInt32, vec QBit(Float64, 2)) ENGINE = Memory;
INSERT INTO qbit VALUES (1, [0, 1]);
SELECT L2DistanceTransposed(vec, array(1, 2), 16) FROM qbit;
Response
┌─L2DistanceTransposed([0, 1], [1, 2], 16)─┐
│                       1.4142135623730951 │
└──────────────────────────────────────────┘

L2Norm

Introduzido em: v21.11.0 Calcula a raiz quadrada da soma dos quadrados dos elementos de um vetor. Sintaxe
L2Norm(vector)
Aliases: normL2 Argumentos Valor retornado Retorna a norma L2, ou a distância euclidiana. UInt* ou Float* Exemplos Uso básico
Query
SELECT L2Norm((1, 2))
Response
┌───L2Norm((1, 2))─┐
│ 2.23606797749979 │
└──────────────────┘

L2Normalize

Introduzido em: v21.11.0 Calcula o vetor unitário de um vetor dado (os elementos da tupla são as coordenadas) no espaço euclidiano (usando a distância euclidiana). Sintaxe
L2Normalize(tuple)
Aliases: normalizeL2 Argumentos
  • tuple — Uma tupla de valores numéricos. Tuple(T)
Valor retornado Retorna o vetor unitário. Tuple(Float64) Exemplos Uso básico
Query
SELECT L2Normalize((3, 4))
Response
┌─L2Normalize((3, 4))─┐
│ (0.6,0.8)           │
└─────────────────────┘

L2SquaredDistance

Introduzido em: v22.7.0 Calcula a soma dos quadrados das diferenças entre os elementos correspondentes de dois vetores. Sintaxe
L2SquaredDistance(vector1, vector2)
Aliases: distanceL2Squared Argumentos Valor retornado Retorna a soma dos quadrados das diferenças entre os elementos correspondentes de dois vetores. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, retorna Float64. Para entradas Tuple, o tipo de retorno segue o tipo de resultado aritmético das operações elemento a elemento (os tipos inteiros são preservados). (U)Int* ou Float* Exemplos Uso básico
Query
SELECT L2SquaredDistance([1, 2, 3], [0, 0, 0])
Response
┌─L2SquaredDis⋯ [0, 0, 0])─┐
│                       14 │
└──────────────────────────┘

L2SquaredNorm

Introduzido em: v22.7.0 Calcula o quadrado da raiz quadrada da soma dos quadrados dos elementos do vetor (a L2Norm). Sintaxe
L2SquaredNorm(vector)
Aliases: normL2Squared Argumentos Valor retornado Retorna o quadrado da norma L2. UInt* ou Float* ou Decimal Exemplos Uso básico
Query
SELECT L2SquaredNorm((1, 2))
Response
┌─L2SquaredNorm((1, 2))─┐
│                     5 │
└───────────────────────┘

LinfDistance

Introduzido na versão: v21.11.0 Calcula a distância entre dois pontos (os elementos dos vetores são as coordenadas) no espaço L_{inf} (norma máxima). Sintaxe
LinfDistance(vector1, vector2)
Aliases: distanceLinf Argumentos Valor retornado Retorna a distância na norma infinita. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, retorna Float64. Para entradas Tuple, sempre retorna Float64. Float* Exemplos Uso básico
Query
SELECT LinfDistance((1, 2), (2, 3))
Response
┌─LinfDistance((1, 2), (2, 3))─┐
│                            1 │
└──────────────────────────────┘

LinfNorm

Introduzido em: v21.11.0 Calcula o máximo dos valores absolutos dos elementos de um vetor. Sintaxe
LinfNorm(vector)
Aliases: normLinf Argumentos Valor retornado Retorna a norma Linf, ou seja, o maior valor absoluto. Float64 Exemplos Uso básico
Query
SELECT LinfNorm((1, -2))
Response
┌─LinfNorm((1, -2))─┐
│                 2 │
└───────────────────┘

LinfNormalize

Introduzido em: v21.11.0 Calcula o vetor unitário de um determinado vetor (os elementos da tupla são as coordenadas) no espaço L_{inf} (usando a norma máxima). Sintaxe
LinfNormalize(tuple)
Aliases: normalizeLinf Argumentos
  • tuple — Uma tupla de valores numéricos. Tuple(T)
Valor retornado Retorna o vetor unitário. Tuple(Float64) Exemplos Uso básico
Query
SELECT LinfNormalize((3, 4))
Response
┌─LinfNormalize((3, 4))─┐
│ (0.75,1)              │
└───────────────────────┘

LpDistance

Introduzido em: v21.11.0 Calcula a distância entre dois pontos (os elementos dos vetores são as coordenadas) no espaço Lp (distância da norma p). Sintaxe
LpDistance(vector1, vector2, p)
Aliases: distanceLp Argumentos Valor retornado Retorna a distância da norma-p. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, Float64. Para entradas Tuple, sempre retorna Float64. Float* Exemplos Uso básico
Query
SELECT LpDistance((1, 2), (2, 3), 3)
Response
┌─LpDistance((1, 2), (2, 3), 3)─┐
│            1.2599210498948732 │
└───────────────────────────────┘

LpNorm

Introduzido em: v21.11.0 Calcula a norma p de um vetor, que é a raiz p-ésima da soma das p-ésimas potências dos valores absolutos de seus componentes. Casos especiais:
  • Quando p=1, é equivalente a L1Norm (distância de Manhattan).
  • Quando p=2, é equivalente a L2Norm (distância euclidiana).
  • Quando p=∞, é equivalente a LinfNorm (norma máxima).
Sintaxe
LpNorm(vector, p)
Aliases: normLp Arguments
  • vector — Vetor ou tupla de valores numéricos. Tuple(T) ou Array(T)
  • p — A potência. Os valores possíveis são números reais no intervalo [1; inf). UInt* ou Float*
Returned value Retorna a norma Lp. Float64 Examples Basic usage
Query
SELECT LpNorm((1, -2), 2)
Response
┌─LpNorm((1, -2), 2)─┐
│   2.23606797749979 │
└────────────────────┘

LpNormalize

Introduzido em: v21.11.0 Calcula o vetor unitário de um vetor dado (os elementos da tupla são as coordenadas) no espaço Lp (usando norma p). Sintaxe
LpNormalize(tuple, p)
Aliases: normalizeLp Argumentos
  • tuple — Uma tupla de valores numéricos. Tuple(T)
  • p — A potência. Os valores possíveis são quaisquer números no intervalo [1; inf). UInt* ou Float*
Valor retornado Retorna o vetor unitário. Tuple(Float64) Exemplos Exemplo de uso
Query
SELECT LpNormalize((3, 4), 5)
Response
┌─LpNormalize((3, 4), 5)──────────────────┐
│ (0.7187302630182624,0.9583070173576831) │
└─────────────────────────────────────────┘

cosineDistance

Introduzido em: v21.11.0 Calcula a distância de cosseno entre dois vetores (os elementos das tuplas são as coordenadas). Quanto menor for o valor retornado, mais semelhantes serão os vetores. Sintaxe
cosineDistance(vector1, vector2)
Aliases: distanceCosine Argumentos Valor retornado Retorna a distância de cosseno (um menos a similaridade de cosseno). Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos dos elementos for Float32 ou BFloat16; caso contrário, Float64. Para entradas Tuple, sempre retorna Float64. Float* Exemplos Uso básico
Query
SELECT cosineDistance((1, 2), (2, 3));
Response
┌─cosineDistance((1, 2), (2, 3))─┐
│           0.007722123286332261 │
└────────────────────────────────┘

cosineDistanceTransposed

Introduzido em: v26.1.0 Calcula a distância de cosseno aproximada entre dois pontos (os valores dos vetores são as coordenadas). Quanto menor o valor retornado, mais semelhantes são os vetores. Sintaxe
cosineDistanceTransposed(vector1, vector2, p)
Aliases: distanceCosineTransposed Argumentos
  • vectors — Vetores. QBit(T, UInt64)
  • reference — Vetor de referência. Array(T)
  • p — Número de bits de cada elemento do vetor usados no cálculo da distância (de 1 até a largura de bits do elemento). O nível de quantização controla o equilíbrio entre precisão e velocidade. Usar menos bits resulta em E/S e cálculos mais rápidos, com menor precisão, enquanto usar mais bits aumenta a precisão ao custo do desempenho. UInt
Valor retornado Retorna a distância de cosseno aproximada (um menos a similaridade de cosseno). Sempre retorna Float64. Float64 Exemplos Uso básico
Query
CREATE TABLE qbit (id UInt32, vec QBit(Float64, 2)) ENGINE = Memory;
INSERT INTO qbit VALUES (1, [0, 1]);
SELECT cosineDistanceTransposed(vec, array(1, 2), 16) FROM qbit;
Response
┌─cosineDistanceTransposed([0, 1], [1, 2], 16)─┐
│                          0.10557281085638826 │
└──────────────────────────────────────────────┘
Última modificação em 10 de junho de 2026