series_dot_product()
Beräknar punktprodukten i två numeriska serier.
Funktionen series_dot_product()
tar två numeriska serier som indata och beräknar punktprodukten.
Syntax
series_dot_product(
series1,
serie2)
Alternativ syntax
series_dot_product(
Serien,
Numeriska)
series_dot_product(
Numeriska,
Serien)
Anteckning
Den alternativa syntaxen visar att ett av de två funktionsargumenten kan vara ett numeriskt skalärt.
Den här numeriska skalären sänds till en vektor vars längd är lika med längden på motsvarande numeriska serie.
Behandlas till exempel series_dot_product([1, 2, 3], 10)
som series_dot_product([1, 2, 3], [10, 10, 10])
.
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
series1, series2 | dynamic |
✔️ | Indatamatriser med numeriska data, som ska multipliceras med element och sedan summeras till ett värde av typen real . |
Returer
Returnerar ett värde av typen real
vars värde är summan över produkten för varje element i series1 med motsvarande element i series2.
Om båda seriernas längd inte är lika, trunkeras den längre serien till längden på den kortare.
Alla icke-numeriska element i indataserien ignoreras.
Anteckning
Om en eller båda indatamatriserna är tomma blir null
resultatet .
Optimera prestanda
För bättre prestanda och minskade lagringskrav när du använder den här funktionen bör du överväga att använda Vector16
kodningsprincipen för lagring av flyttalsvektorer som inte kräver 64-bitars precision, till exempel ML-vektorinbäddningar. Profilen Vector16
, som använder flyttalsrepresentationen Bfloat16 , kan avsevärt optimera åtgärden och minska lagringsstorleken med en faktor 4. Mer information om Vector16
kodningsprincipen finns i Kodningsprinciptyper.
Exempel
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 |
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för