Freigeben über


series_dot_product()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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 realsummiert 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 nulldas 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