Skip to main content

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
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
Response

L1Norm

Introduite dans : v21.11.0 Calcule la somme des valeurs absolues des éléments d’un vecteur. Syntaxe
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
Response

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
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
Response

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
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
Response

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
Alias : distanceL2Transposed Arguments
  • vectors — Vecteurs. QBit(T, UInt64[, 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
  • used_dims — Facultatif. Nombre de dimensions initiales à lire, pour une recherche à dimension réduite (Matryoshka) sur un QBit avec stride. Doit être un multiple du stride du QBit sans dépasser sa dimension, et le vecteur de référence doit comporter au moins ce nombre d’éléments (tout élément supplémentaire en fin de vecteur est ignoré). Seuls les groupes de stride couvrant ces dimensions sont lus. UInt
Valeur renvoyée Renvoie une distance de norme 2 approximative. Renvoie toujours Float64. Float64 Exemples Utilisation de base
Query
Response

L2DistanceTransposedQuantized

Introduit dans : v26.7.0 Calcule la distance euclidienne approximative entre un QBit(Int8) de codes quantizeBFloat16ToInt8 (déquantifiés à la volée) et un vecteur de référence. Un vecteur de référence (requête) Float est comparé directement avec une précision Float32 — la précision de reconstruction des codes déquantifiés, de sorte qu’une query Float64 est ramenée à Float32, tandis qu’une query BFloat16 y est étendue exactement (calcul de distance asymétrique) ; une référence Array(Int8) est elle-même traitée comme des codes quantizeBFloat16ToInt8 et déquantifiée vers ses niveaux de reconstruction. Notez que p tronque uniquement les codes QBit stockés ; la référence Array(Int8) constitue elle-même une query complète et est toujours reconstruite avec la pleine précision de 8 bits, de sorte qu’il s’agit d’une distance quantifiée contre quantifiée symétrique uniquement pour p = 8 (pour p < 8, seul le côté stocké est lu avec une précision plus grossière). Elle doit se trouver dans le même espace que celui où se trouvaient les values avant la quantification (c’est-à-dire après la même rotation aléatoire et la même mise à l’échelle), ce qui relève de la responsabilité de l’appelant. La distance cosinus est invariante par changement d’échelle ; le produit scalaire et la distance L2 ne le sont pas. Syntaxe
Arguments
  • vectors — Vecteurs de codes quantizeBFloat16ToInt8. QBit(Int8, UInt64[, UInt64])
  • reference — Vecteur de référence (requête) : un tableau de Float (la requête, comparée avec une précision Float32 — une requête Float64 est convertie en Float32), ou un Array(Int8) de codes quantizeBFloat16ToInt8 déquantifiés à la volée. Array(Float32) ou Array(Int8)
  • p — Nombre de bits de poids fort de chaque code QBit stocké à utiliser (de 1 à 8). Utiliser moins de bits reconstruit un quantificateur embarqué plus grossier, pour des E/S plus rapides au prix d’une précision réduite ; 8 bits correspondent à une reconstruction en précision complète. p tronque uniquement le QBit stocké ; une référence Array(Int8) est toujours reconstruite avec la précision complète de 8 bits. UInt
  • used_dims — Facultatif. Nombre de dimensions initiales à lire, pour une recherche à dimension réduite (Matryoshka) sur un QBit avec stride. Doit être un multiple du stride du QBit sans dépasser sa dimension, et le vecteur de référence doit comporter au moins ce nombre d’éléments (tous les éléments supplémentaires en fin de tableau sont ignorés). Seuls les groupes de stride couvrant ces dimensions sont lus. UInt
Valeur renvoyée Renvoie une distance de norme 2 approximative. Renvoie toujours Float64. Float64 Exemples Utilisation de base
Query

L2Norm

Introduit dans : v21.11.0 Calcule la racine carrée de la somme des carrés des éléments du vecteur. Syntaxe
alias : normL2 Arguments Valeur renvoyée Renvoie la norme L2 ou la distance euclidienne. UInt* ou Float* Exemples Utilisation de base
Query
Response

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
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
Response

L2SquaredDistance

Introduit dans : v22.7.0 Calcule la somme des carrés des écarts entre les éléments correspondants de deux vecteurs. Syntaxe
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
Response

L2SquaredNorm

Introduit dans : v22.7.0 Calcule le carré de la norme L2 du vecteur (la L2Norm). Syntaxe
Alias : normL2Squared Arguments Valeur renvoyée Carré de la norme L2. UInt* ou Float* ou Decimal Exemples Utilisation de base
Query
Response

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
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
Response

LinfNorm

Introduit dans : v21.11.0 Calcule la plus grande valeur absolue des éléments d’un vecteur. Syntaxe
Alias : normLinf Arguments Valeur renvoyée Renvoie la norme Linf, c’est-à-dire la valeur absolue maximale. Float64 Exemples Utilisation de base
Query
Response

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
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
Response

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
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
Response

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
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
Response

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
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
Response

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
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
Response

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
Alias : distanceCosineTransposed Arguments
  • vectors — Vecteurs. QBit(T, UInt64[, 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’E/S 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
  • used_dims — Facultatif. Nombre de dimensions initiales à lire, pour une recherche à dimension réduite (Matryoshka) sur un QBit avec stride. Doit être un multiple du stride du QBit sans dépasser sa dimension, et le vecteur de référence doit comporter au moins ce nombre d’éléments (tout élément supplémentaire en fin de vecteur est ignoré). Seuls les groupes de stride couvrant ces dimensions sont lus. UInt
Valeur renvoyée Renvoie la distance cosinus approximative (un moins la similarité cosinus). Renvoie toujours un Float64. Float64 Exemples Utilisation de base
Query
Response

cosineDistanceTransposedQuantized

Introduite dans : v26.7.0 Calcule la distance cosinus approximative entre un QBit(Int8) de codes quantizeBFloat16ToInt8 (déquantifiés à la volée) et un vecteur de référence. Plus la valeur renvoyée est faible, plus les vecteurs se ressemblent. Un vecteur de référence (requête) Float est comparé directement à la précision Float32 — la précision de reconstruction des codes déquantifiés, si bien qu’une requête Float64 est ramenée à Float32, tandis qu’une requête BFloat16 y est convertie exactement (calcul de distance asymétrique) ; une référence Array(Int8) est elle-même traitée comme des codes quantizeBFloat16ToInt8 et déquantifiée vers ses niveaux de reconstruction. Notez que p tronque uniquement les codes QBit stockés ; la référence Array(Int8) constitue, elle, une requête complète et est toujours reconstruite avec la pleine précision de 8 bits. Il s’agit donc d’une distance quantifiée contre quantifiée symétrique uniquement pour p = 8 (pour p < 8, seul le côté stocké est lu avec une précision plus grossière). Il doit se trouver dans le même espace que celui où se trouvaient les valeurs avant la quantification (c.-à-d. après la même rotation aléatoire et la même mise à l’échelle), ce qui relève de la responsabilité de l’appelant. La distance cosinus est invariante par changement d’échelle ; le produit scalaire et la distance L2 ne le sont pas. Syntaxe
Arguments
  • vectors — Vecteurs de codes quantizeBFloat16ToInt8. QBit(Int8, UInt64[, UInt64])
  • reference — Vecteur de référence (requête) : un tableau de Float (la requête, comparée avec une précision Float32 — une requête Float64 est ramenée à Float32), ou un Array(Int8) de codes quantizeBFloat16ToInt8 déquantifiés à la volée. Array(Float32) ou Array(Int8)
  • p — Nombre de bits de poids fort de chaque code QBit stocké à utiliser (de 1 à 8). Moins de bits reconstruisent un quantificateur intégré plus grossier pour des E/S plus rapides, au prix d’une précision réduite ; 8 bits correspondent à une reconstruction en pleine précision. p tronque uniquement le QBit stocké ; une référence Array(Int8) est toujours reconstruite avec la pleine précision de 8 bits. UInt
  • used_dims — Facultatif. Nombre de dimensions initiales à lire, pour une recherche à dimension réduite (Matryoshka) sur un QBit avec stride. Cette valeur doit être un multiple du stride du QBit, sans dépasser sa dimension, et le vecteur de référence doit contenir au moins ce nombre d’éléments (tout élément supplémentaire en fin de tableau est ignoré). Seuls les groupes de stride couvrant ces dimensions sont lus. UInt
Valeur renvoyée Renvoie la distance cosinus approximative (1 moins la similarité cosinus). Renvoie toujours Float64. Float64 Exemples Utilisation de base
Query

dotProductTransposed

Introduit dans : v26.7.0 Calcule le produit scalaire approximatif (produit intérieur) de deux vecteurs (les valeurs des vecteurs correspondent aux coordonnées). Contrairement aux fonctions de distance, il s’agit d’une mesure de similarité : plus la valeur renvoyée est élevée, plus les vecteurs sont similaires. Syntaxe
Alias : scalarProductTransposed Arguments
  • vectors — Vecteurs. QBit(T, UInt64[, UInt64])
  • reference — Vecteur de référence. Array(T)
  • p — Nombre de bits de chaque élément du vecteur à utiliser pour le calcul (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’E/S 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
  • used_dims — Facultatif. Nombre de dimensions initiales à lire, pour une recherche à dimension réduite (Matryoshka) sur un QBit avec stride. Doit être un multiple du stride du QBit sans dépasser sa dimension, et le vecteur de référence doit contenir au moins ce nombre d’éléments (tous les éléments supplémentaires en fin de vecteur sont ignorés). Seuls les groupes de stride couvrant ces dimensions sont lus. UInt
Valeur renvoyée Renvoie le produit scalaire approximatif des deux vecteurs. Renvoie toujours un Float64. Float64 Exemples Utilisation de base
Query
Response

dotProductTransposedQuantized

Introduit dans : v26.7.0 Calcule le produit scalaire approximatif (produit intérieur) entre un QBit(Int8) de codes quantizeBFloat16ToInt8 (déquantifiés à la volée) et un vecteur de référence. Il s’agit d’une mesure de similarité : plus la valeur renvoyée est élevée, plus les vecteurs sont similaires. Un vecteur de référence (requête) Float est comparé directement à une précision Float32 — la précision de reconstruction des codes déquantifiés ; ainsi, une requête Float64 est ramenée à Float32, tandis qu’une requête BFloat16 y est élargie exactement (calcul de distance asymétrique). Une référence Array(Int8) est elle-même traitée comme des codes quantizeBFloat16ToInt8 et déquantifiée vers ses niveaux de reconstruction. Notez que p tronque uniquement les codes QBit stockés ; la référence Array(Int8) constitue une requête complète et est toujours reconstruite avec la pleine précision de 8 bits, de sorte qu’il ne s’agit d’une distance symétrique quantifié-contre-quantifié qu’à p = 8 (pour p < 8, seul le côté stocké est lu avec une précision plus grossière). Ce vecteur doit se trouver dans le même espace que celui des valeurs avant quantification (c’est-à-dire après la même rotation aléatoire et la même mise à l’échelle), ce qui relève de la responsabilité de l’appelant. La distance cosinus est invariante par changement d’échelle ; le produit scalaire et la distance L2 ne le sont pas. Syntaxe
Arguments
  • vectors — Vecteurs de codes quantizeBFloat16ToInt8. QBit(Int8, UInt64[, UInt64])
  • reference — Vecteur de référence (requête) : un tableau de Float (la requête, comparée avec une précision Float32 — une requête Float64 est convertie en Float32), ou un Array(Int8) de codes quantizeBFloat16ToInt8 déquantifiés à la volée. Array(Float32) ou Array(Int8)
  • p — Nombre de bits de poids fort de chaque code QBit stocké à utiliser (de 1 à 8). Utiliser moins de bits reconstruit un quantificateur embarqué plus grossier pour des E/S plus rapides, au prix d’une précision réduite ; 8 bits correspondent à une reconstruction en pleine précision. p tronque uniquement le QBit stocké ; une référence Array(Int8) est toujours reconstruite avec la pleine précision de 8 bits. UInt
  • used_dims — Facultatif. Nombre de dimensions initiales à lire, pour une recherche à dimension réduite (Matryoshka) sur un QBit avec stride. Doit être un multiple du stride du QBit sans dépasser sa dimension, et le vecteur de référence doit contenir au moins ce nombre d’éléments (tout élément supplémentaire en fin de vecteur est ignoré). Seuls les groupes de stride couvrant ces dimensions sont lus. UInt
Valeur renvoyée Renvoie le produit scalaire approximatif des deux vecteurs. Renvoie toujours un Float64. Float64 Exemples Utilisation de base
Query
Dernière modification le 23 juillet 2026