Megosztás a következőn keresztül:


series_dot_product()

Két numerikus sorozat pont szorzatát számítja ki.

A függvény series_dot_product() két numerikus sorozatot vesz fel bemenetként, és kiszámítja a pont szorzatát.

Syntax

series_dot_product(sorozat1,sorozat2)

Alternatív szintaxis

series_dot_product(Sorozat, Numerikus)

series_dot_product(Numerikus, Sorozat)

Megjegyzés

A másodlagos szintaxis azt mutatja, hogy a két függvényargumentum egyike numerikus skaláris lehet.

Ezt a numerikus skalárt a program egy olyan vektornak közvetíti, amelynek hossza megegyezik a megfelelő numerikus sorozat hosszával.

A rendszer például series_dot_product([1, 2, 3], 10) a következőt fogja kezelni: series_dot_product([1, 2, 3], [10, 10, 10]).

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
series1, series2 dynamic ✔️ Numerikus adatokkal rendelkező bemeneti tömbök elemszintű szorzásához, majd egy típusértékbe realösszeadva.

Válaszok

Olyan típusú real értéket ad vissza, amelynek értéke a sorozat1 egyes elemeinek szorzata és a megfelelő sorozat2 elem szorzata. Ha mindkét adatsor hossza nem egyenlő, a hosszabb sorozatot a rövidebbre csonkítjuk. A bemeneti sorozat nem numerikus elemei figyelmen kívül lesznek hagyva.

Megjegyzés

Ha egy vagy mindkét bemeneti tömb üres, az eredmény a következő lesz null: .

Teljesítmény optimalizálása

Ha a függvény használatakor nagyobb teljesítményt és alacsonyabb tárolási követelményeket szeretne, fontolja meg a Vector16 kódolási szabályzat használatát olyan lebegőpontos vektorok tárolására, amelyek nem igényelnek 64 bites pontosságot, például az ML-vektorok beágyazását. A Vector16Bfloat16 lebegőpontos ábrázolását használó profil jelentősen optimalizálhatja a műveletet, és 4-es tényezővel csökkentheti a tárterület méretét. A kódolási Vector16 szabályzattal kapcsolatos további részletekért tekintse meg a kódolási szabályzat típusait ismertető cikket.

Példa

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