Passer au contenu principal

L1Distance

Introduit dans : v21.11.0 Calcule la distance entre deux points (les éléments des vecteurs correspondent aux coordonnées) dans l’espace L1 (norme 1, ou distance en géométrie de Manhattan). Syntaxe
L1Distance(vector1, vector2)
alias: distanceL1 Arguments Valeur renvoyée Renvoie la distance selon la norme 1. Pour les entrées Array, renvoie Float32 si le plus petit supertype commun des types d’éléments est Float32 ou BFloat16, sinon Float64. Pour les entrées Tuple, le type de retour suit le type du résultat arithmétique des opérations appliquées élément par élément (les types entiers sont conservés). (U)Int* ou Float* Exemples Utilisation de base
Query
SELECT L1Distance((1, 2), (2, 3))
Response
┌─L1Distance((1, 2), (2, 3))─┐
│                          2 │
└────────────────────────────┘

L1Norm

Introduite dans : v21.11.0 Calcule la somme des valeurs absolues des éléments d’un vecteur. Syntaxe
L1Norm(vector)
Alias : normL1 Arguments Valeur renvoyée Renvoie la norme L1 ou la distance de géométrie de Manhattan. UInt* ou Float* ou Decimal Exemples Utilisation de base
Query
SELECT L1Norm((1, 2))
Response
┌─L1Norm((1, 2))─┐
│              3 │
└────────────────┘

L1Normalize

Introduit dans : v21.11.0 Calcule le vecteur unitaire d’un vecteur donné (les éléments du tuple sont les coordonnées) dans l’espace L1 (géométrie de Manhattan). Syntaxe
L1Normalize(tuple)
Alias : normalizeL1 Arguments
  • tuple — Un tuple de valeurs numériques. Tuple(T)
Valeur renvoyée Renvoie le vecteur unitaire. Tuple(Float64) Exemples Utilisation de base
Query
SELECT L1Normalize((1, 2))
Response
┌─L1Normalize((1, 2))─────────────────────┐
│ (0.3333333333333333,0.6666666666666666) │
└─────────────────────────────────────────┘

L2Distance

Introduit dans : v21.11.0 Calcule la distance entre deux points (les éléments des vecteurs correspondent aux coordonnées) dans l’espace euclidien (distance euclidienne). Syntaxe
L2Distance(vector1, vector2)
Alias : distanceL2 Arguments Valeur renvoyée Renvoie la distance de norme 2. Pour les entrées Array, renvoie Float32 si le plus petit supertype commun des types des éléments est Float32 ou BFloat16, sinon Float64. Pour les entrées Tuple, renvoie toujours Float64. Float* Exemples Utilisation de base
Query
SELECT L2Distance((1, 2), (2, 3))
Response
┌─L2Distance((1, 2), (2, 3))─┐
│         1.4142135623730951 │
└────────────────────────────┘

L2DistanceTransposed

Introduit dans : v25.10.0 Calcule la distance approximative entre deux points (les valeurs des vecteurs correspondent aux coordonnées) dans l’espace euclidien (distance euclidienne). Syntaxe
L2DistanceTransposed(vector1, vector2, p)
Alias : distanceL2Transposed Arguments
  • vectors — Vecteurs. QBit(T, UInt64)
  • reference — Vecteur de référence. Array(T)
  • p — Nombre de bits de chaque élément du vecteur à utiliser pour le calcul de la distance (de 1 à la largeur en bits de l’élément). Le niveau de quantification détermine le compromis entre précision et vitesse. Utiliser moins de bits accélère les E/S et les calculs, au prix d’une précision moindre, tandis qu’en utiliser davantage améliore la précision au détriment des performances. UInt
Valeur renvoyée Renvoie une distance de norme 2 approximative. Renvoie toujours Float64. Float64 Exemples Utilisation de base
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

Introduit dans : v21.11.0 Calcule la racine carrée de la somme des carrés des éléments du vecteur. Syntaxe
L2Norm(vector)
alias : normL2 Arguments Valeur renvoyée Renvoie la norme L2 ou la distance euclidienne. UInt* ou Float* Exemples Utilisation de base
Query
SELECT L2Norm((1, 2))
Response
┌───L2Norm((1, 2))─┐
│ 2.23606797749979 │
└──────────────────┘

L2Normalize

Introduit dans : v21.11.0 Calcule le vecteur unitaire du vecteur donné (les éléments du tuple en sont les coordonnées) dans l’espace euclidien (à l’aide de la distance euclidienne). Syntaxe
L2Normalize(tuple)
Alias : normalizeL2 Arguments
  • tuple — Un tuple de valeurs numériques. Tuple(T)
Valeur renvoyée Renvoie le vecteur unitaire. Tuple(Float64) Exemples Utilisation de base
Query
SELECT L2Normalize((3, 4))
Response
┌─L2Normalize((3, 4))─┐
│ (0.6,0.8)           │
└─────────────────────┘

L2SquaredDistance

Introduit dans : v22.7.0 Calcule la somme des carrés des écarts entre les éléments correspondants de deux vecteurs. Syntaxe
L2SquaredDistance(vector1, vector2)
Alias : distanceL2Squared Arguments Valeur renvoyée Renvoie la somme des carrés des différences entre les éléments correspondants de deux vecteurs. Pour les entrées Array, renvoie Float32 si le plus petit supertype commun des types d’éléments est Float32 ou BFloat16, sinon Float64. Pour les entrées Tuple, le type de retour suit le type de résultat arithmétique des opérations élément par élément (les types entiers sont conservés). (U)Int* ou Float* Exemples Utilisation de base
Query
SELECT L2SquaredDistance([1, 2, 3], [0, 0, 0])
Response
┌─L2SquaredDis⋯ [0, 0, 0])─┐
│                       14 │
└──────────────────────────┘

L2SquaredNorm

Introduit dans : v22.7.0 Calcule le carré de la norme L2 du vecteur (la L2Norm). Syntaxe
L2SquaredNorm(vector)
Alias : normL2Squared Arguments Valeur renvoyée Carré de la norme L2. UInt* ou Float* ou Decimal Exemples Utilisation de base
Query
SELECT L2SquaredNorm((1, 2))
Response
┌─L2SquaredNorm((1, 2))─┐
│                     5 │
└───────────────────────┘

LinfDistance

Introduit dans : v21.11.0 Calcule la distance entre deux points (les éléments des vecteurs correspondant aux coordonnées) dans l’espace L_{inf} (norme maximale). Syntaxe
LinfDistance(vector1, vector2)
Alias : distanceLinf Arguments Valeur renvoyée Renvoie la distance selon la norme infinie. Pour les entrées Array, renvoie Float32 si le plus petit supertype commun des types d’élément est Float32 ou BFloat16, sinon Float64. Pour les entrées Tuple, renvoie toujours Float64. Float* Exemples Utilisation de base
Query
SELECT LinfDistance((1, 2), (2, 3))
Response
┌─LinfDistance((1, 2), (2, 3))─┐
│                            1 │
└──────────────────────────────┘

LinfNorm

Introduit dans : v21.11.0 Calcule la plus grande valeur absolue des éléments d’un vecteur. Syntaxe
LinfNorm(vector)
Alias : normLinf Arguments Valeur renvoyée Renvoie la norme Linf, c’est-à-dire la valeur absolue maximale. Float64 Exemples Utilisation de base
Query
SELECT LinfNorm((1, -2))
Response
┌─LinfNorm((1, -2))─┐
│                 2 │
└───────────────────┘

LinfNormalize

Introduit dans : v21.11.0 Calcule le vecteur unitaire d’un vecteur donné (les éléments du tuple en sont les coordonnées) dans l’espace L_{inf} (à l’aide de la norme maximale). Syntaxe
LinfNormalize(tuple)
Alias : normalizeLinf Arguments
  • tuple — Un tuple de valeurs numériques. Tuple(T)
Valeur renvoyée Renvoie le vecteur unitaire. Tuple(Float64) Exemples Utilisation de base
Query
SELECT LinfNormalize((3, 4))
Response
┌─LinfNormalize((3, 4))─┐
│ (0.75,1)              │
└───────────────────────┘

LpDistance

Introduit dans : v21.11.0 Calcule la distance entre deux points (les éléments des vecteurs sont les coordonnées) dans l’espace Lp (distance de p-norme). Syntaxe
LpDistance(vector1, vector2, p)
Alias : distanceLp Arguments Valeur renvoyée Renvoie la distance selon la norme p. Pour les entrées Array, renvoie Float32 si le plus petit supertype commun des types des éléments est Float32 ou BFloat16, sinon Float64. Pour les entrées Tuple, renvoie toujours Float64. Float* Exemples Utilisation de base
Query
SELECT LpDistance((1, 2), (2, 3), 3)
Response
┌─LpDistance((1, 2), (2, 3), 3)─┐
│            1.2599210498948732 │
└───────────────────────────────┘

LpNorm

Introduit dans : v21.11.0 Calcule la p-norme d’un vecteur, c’est-à-dire la racine p-ième de la somme des puissances p-ièmes des valeurs absolues de ses éléments. Cas particuliers :
  • Quand p=1, elle est équivalente à L1Norm (distance de Manhattan).
  • Quand p=2, elle est équivalente à L2Norm (distance euclidienne).
  • Quand p=∞, elle est équivalente à LinfNorm (norme maximale).
Syntaxe
LpNorm(vector, p)
Alias : normLp Arguments
  • vector — Vecteur ou tuple de valeurs numériques. Tuple(T) ou Array(T)
  • p — La puissance. Les valeurs possibles sont des nombres réels dans l’intervalle [1; inf). UInt* ou Float*
Valeur renvoyée Renvoie la norme Lp. Float64 Exemples Utilisation de base
Query
SELECT LpNorm((1, -2), 2)
Response
┌─LpNorm((1, -2), 2)─┐
│   2.23606797749979 │
└────────────────────┘

LpNormalize

Introduit dans : v21.11.0 Calcule le vecteur unitaire d’un vecteur donné (les éléments du Tuple sont les coordonnées) dans l’espace Lp (à l’aide de la p-norme). Syntaxe
LpNormalize(tuple, p)
Alias : normalizeLp Arguments
  • tuple — Un tuple de valeurs numériques. Tuple(T)
  • p — L’exposant. Les valeurs possibles sont tous les nombres de l’intervalle [1; inf). UInt* ou Float*
Valeur renvoyée Renvoie le vecteur unitaire. Tuple(Float64) Exemples Exemple d’utilisation
Query
SELECT LpNormalize((3, 4), 5)
Response
┌─LpNormalize((3, 4), 5)──────────────────┐
│ (0.7187302630182624,0.9583070173576831) │
└─────────────────────────────────────────┘

cosineDistance

Introduit dans : v21.11.0 Calcule la distance cosinus entre deux vecteurs (les éléments des tuples correspondent aux coordonnées). Plus la valeur renvoyée est faible, plus les vecteurs sont similaires. Syntaxe
cosineDistance(vector1, vector2)
Alias : distanceCosine Arguments Valeur renvoyée Renvoie la distance cosinus (un moins la similarité cosinus). Pour les entrées Array, renvoie Float32 si le plus petit supertype commun des types des éléments est Float32 ou BFloat16, sinon Float64. Pour les entrées Tuple, renvoie toujours Float64. Float* Exemples Utilisation de base
Query
SELECT cosineDistance((1, 2), (2, 3));
Response
┌─cosineDistance((1, 2), (2, 3))─┐
│           0.007722123286332261 │
└────────────────────────────────┘

cosineDistanceTransposed

Introduit dans : v26.1.0 Calcule la distance cosinus approximative entre deux points (les valeurs des vecteurs correspondent aux coordonnées). Plus la valeur renvoyée est faible, plus les vecteurs sont similaires. Syntaxe
cosineDistanceTransposed(vector1, vector2, p)
Alias : distanceCosineTransposed Arguments
  • vectors — Vecteurs. QBit(T, UInt64)
  • reference — Vecteur de référence. Array(T)
  • p — Nombre de bits de chaque élément du vecteur à utiliser pour le calcul de la distance (de 1 à la largeur en bits de l’élément). Le niveau de quantification détermine le compromis entre précision et vitesse. Utiliser moins de bits accélère les opérations d’I/O et les calculs, au prix d’une précision réduite, tandis qu’utiliser davantage de bits améliore la précision au détriment des performances. UInt
Valeur renvoyée Renvoie la distance cosinus approchée (un moins la similarité cosinus). Renvoie toujours un Float64. Float64 Exemples Utilisation de base
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 │
└──────────────────────────────────────────────┘
Dernière modification le 25 juin 2026