共用方式為


series_dot_product()

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

計算兩個數值數列的點乘積。

函式 series_dot_product() 會接受兩個數值數列做為輸入,並計算其 點乘積

語法

series_dot_product(series1, series2)

替代語法

series_dot_product(數列, 數值)

series_dot_product(數值, 數列)

注意

替代語法顯示這兩個函式自變數之一可以是數值純量。

這個數值純量會廣播至長度等於對應數值數列長度的向量。

例如, series_dot_product([1, 2, 3], 10) 會被視為 series_dot_product([1, 2, 3], [10, 10, 10])

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
series1, series2 dynamic ✔️ 輸入具有數值數據的陣列,以做為元素乘以,然後加總為類型的 real值。

傳回

傳回類型的real值,其值是 series1 中每個元素乘以數列 2 對應元素之乘積的總和。 如果這兩個數列長度不相等,則較長的數列將會截斷為較短的序列長度。 將會忽略輸入數列的任何非數值專案。

注意

如果其中一個或兩個輸入陣列都是空的,則結果會是 null

最佳化效能

若要在使用此函式時增強效能和降低儲存需求,請考慮使用 Vector16 編碼原則來儲存不需要 64 位精確度的浮點向量,例如 ML 向量內嵌。 此 Vector16 配置檔利用 Bfloat16 浮點表示法,可以大幅優化作業,並將記憶體大小減少 4 倍。 如需編碼原則 Vector16 的詳細資訊,請參閱 編碼原則類型

範例

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