series_dot_product()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Oblicza wartość kropkową dwóch serii liczbowych.
Funkcja series_dot_product()
przyjmuje dwie serie liczbowe jako dane wejściowe i oblicza ich produkt kropkowy.
Składnia
series_dot_product(
seria1,
seria2)
Składnia alternatywna
series_dot_product(
numeryczne serie,
)
series_dot_product(
serie liczbowe,
)
Uwaga
Składnia alternatywna pokazuje, że jeden z dwóch argumentów funkcji może być liczbowym skalarnym.
Ten skalar liczbowy będzie emitowany do wektora, którego długość jest równa długości odpowiadającej im serii liczbowej.
Na przykład series_dot_product([1, 2, 3], 10)
będzie traktowany jako series_dot_product([1, 2, 3], [10, 10, 10])
.
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
seria1, seria2 | dynamic |
✔️ | Tablice wejściowe z danymi liczbowymi, które mają być mnożone przez element, a następnie sumowane w wartość typu real . |
Zwraca
Zwraca wartość typureal
, którego wartość jest sumą dla każdego elementu serii1 z odpowiednim elementem serii2.
W przypadku, gdy długość obu serii nie jest równa, dłuższa seria zostanie obcięta do długości krótszej serii.
Wszystkie nieliczbowe elementy serii wejściowej zostaną zignorowane.
Uwaga
Jeśli jedna lub obie tablice wejściowe są puste, wynikiem będzie null
.
Optymalizacja wydajności
Aby zwiększyć wydajność i zmniejszyć wymagania dotyczące magazynu podczas korzystania z tej funkcji, rozważ użycie Vector16
zasad kodowania do przechowywania wektorów zmiennoprzecinkowych, które nie wymagają dokładności 64 bitów, takich jak osadzanie wektorów uczenia maszynowego. Vector16
Profil, który wykorzystuje reprezentację zmiennoprzecinkową Bfloat16, może znacząco zoptymalizować operację i zmniejszyć rozmiar magazynu o współczynnik 4. Aby uzyskać więcej informacji na Vector16
temat zasad kodowania, zobacz Typy zasad kodowania.
Przykład
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 |