series_dot_product()
Vypočítá tečkovaný součin dvou číselných řad.
Funkce series_dot_product()
přijímá jako vstup dvě číselné řady a vypočítá jejich tečkovaný součin.
Syntax
series_dot_product(
řada 1,
řada 2)
Alternativní syntaxe
series_dot_product(
Série,
Číselné)
series_dot_product(
Číselné,
Série)
Poznámka
Alternativní syntaxe ukazuje, že jedním ze dvou argumentů funkce může být číselný skalární.
Tento číselný skalární skalár bude vysílán do vektoru, jehož délka se rovná délce odpovídající číselné řady.
Bude se například series_dot_product([1, 2, 3], 10)
považovat za series_dot_product([1, 2, 3], [10, 10, 10])
.
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
řada1, řada2 | dynamic |
✔️ | Vstupní pole s číselnými daty, která se mají vynásobit a pak sečíst do hodnoty typu real . |
Návraty
Vrátí hodnotu typu real
, jejíž hodnota je součtem nad součinem každého prvku řady 1 s odpovídajícím prvkem řady 2.
V případě, že délka obou řad není stejná, bude delší řada zkrácena na délku kratší řady.
Všechny nečíselné prvky vstupní řady budou ignorovány.
Poznámka
Pokud jsou jedno nebo obě vstupní pole prázdná, výsledek bude null
.
Optimalizace výkonu
Pokud chcete zvýšit výkon a snížit požadavky na úložiště při použití této funkce, zvažte použití Vector16
zásad kódování pro ukládání vektorů s plovoucí desetinou čárkou, které nevyžadují přesnost 64 bitů, jako jsou vkládání vektorů ML. Profil Vector16
, který využívá reprezentaci Bfloat16 s plovoucí desetinnou čárkou, může výrazně optimalizovat operaci a zmenšit velikost úložiště faktorem 4. Další podrobnosti o zásadách Vector16
kódování najdete v tématu Typy zásad kódování.
Příklad
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 |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro