series_dot_product()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Berechnet das Punktprodukt von zwei numerischen Datenreihen.
Die Funktion series_dot_product()
verwendet zwei numerische Datenreihen als Eingabe und berechnet ihr Punktprodukt.
Syntax
series_dot_product(
Series1,
Series2)
Alternative Syntax
series_dot_product(
Datenreihe,
numerisch)
series_dot_product(
numerische,
Datenreihe)
Hinweis
Die alternative Syntax zeigt, dass eines der beiden Funktionsargumente ein numerischer Skalar sein kann.
Dieser numerische Skalar wird in einen Vektor übertragen, dessen Länge der entsprechenden numerischen Datenreihe entspricht.
Beispiel: series_dot_product([1, 2, 3], 10)
wird als series_dot_product([1, 2, 3], [10, 10, 10])
.
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
Series1, Series2 | dynamic |
✔️ | Eingabearrays mit numerischen Daten, um elementweise multipliziert und dann in einen Wert vom Typ real summiert zu werden. |
Gibt zurück
Gibt einen Wert vom Typ real
zurück, dessen Wert die Summe über das Produkt der einzelnen Elemente der Datenreihe1 mit dem entsprechenden Element der Datenreihe2 ist.
Falls beide Datenreihenlängen nicht gleich sind, wird die längere Datenreihe auf die Länge der kürzeren abgeschnitten.
Alle nicht numerischen Elemente der Eingabereihen werden ignoriert.
Hinweis
Wenn ein oder beide Eingabearrays leer sind, lautet null
das Ergebnis .
Optimieren der Leistung
Bei verbesserter Leistung und reduzierten Speicheranforderungen bei verwendung dieser Funktion sollten Sie die Vector16
Codierungsrichtlinie zum Speichern von Gleitkommavektoren verwenden, die keine Genauigkeit von 64 Bit erfordern, z. B. ML-Vektoreinbettungen. Das Vector16
Profil, das die Bfloat16-Gleitkommadarstellung nutzt, kann den Vorgang erheblich optimieren und die Speichergröße um den Faktor 4 reduzieren. Weitere Informationen zur Codierungsrichtlinie Vector16
finden Sie unter den Codierungsrichtlinientypen.
Beispiel
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 |