series_dot_product()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcule le produit par points de deux séries numériques.
La fonction series_dot_product()
prend deux séries numériques comme entrée et calcule leur produit point.
Syntaxe
series_dot_product(
série1,
série2)
Autre syntaxe
series_dot_product(
série,
numérique)
series_dot_product(
série numérique,
)
Remarque
La syntaxe alternative montre qu’un des deux arguments de fonction peut être un scalaire numérique.
Ce scalaire numérique sera diffusé sur un vecteur dont la longueur est égale à la longueur de la série numérique correspondante.
Par exemple, series_dot_product([1, 2, 3], 10)
sera traité comme series_dot_product([1, 2, 3], [10, 10, 10])
.
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
série1, série2 | dynamic |
✔️ | Tableaux d’entrée avec des données numériques, multipliés par des éléments, puis additionnés en valeur de type real . |
Retours
Retourne une valeur de type real
dont la valeur est la somme sur le produit de chaque élément de la série1 avec l’élément correspondant de la série2.
Dans le cas où la longueur des deux séries n’est pas égale, la plus longue est tronquée à la longueur du plus court.
Tout élément non numérique de la série d’entrée est ignoré.
Remarque
Si un ou les deux tableaux d’entrée sont vides, le résultat est null
.
Optimisation des performances
Pour améliorer les performances et réduire les exigences de stockage lors de l’utilisation de cette fonction, envisagez d’utiliser la Vector16
stratégie d’encodage pour stocker des vecteurs à virgule flottante qui ne nécessitent pas de précision de 64 bits, comme les incorporations de vecteurs ML. Le Vector16
profil, qui utilise la représentation à virgule flottante Bfloat16 , peut optimiser considérablement l’opération et réduire la taille de stockage d’un facteur de 4. Pour plus d’informations sur la stratégie d’encodage Vector16
, reportez-vous aux types de stratégie d’encodage.
Exemple
range x from 1 to 3 step 1
| extend y = x * 2
| extend z = y * 2
| project s1 = pack_array(x,y,z), s2 = pack_array(z, y, x)
| extend s1_dot_product_s2 = series_dot_product(s1, s2)
s1 | s2 | s1_dot_product_s2 |
---|---|---|
[1,2,4] | [4,2,1] | 12 |
[2,4,8] | [8,4,2] | 48 |
[3,6,12] | [12,6,3] | 108 |
range x from 1 to 3 step 1
| extend y = x * 2
| extend z = y * 2
| project s1 = pack_array(x,y,z), s2 = x
| extend s1_dot_product_s2 = series_dot_product(s1, s2)
s1 | s2 | s1_dot_product_s2 |
---|---|---|
[1,2,4] | 1 | 7 |
[2,4,8] | 2 | 28 |
[3,6,12] | 3 | 63 |