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 |