series_dot_product()
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
2 つの数値系列のドット積を計算します。
関数 series_dot_product()
は、入力として 2 つの数値系列を受け取り、その dot 積を計算します。
構文
series_dot_product(
series1,
series2)
代替構文
series_dot_product(
series,
numeric)
series_dot_product(
numeric,
series)
Note
代替構文は、2 つの関数引数の 1 つが数値スカラーである可能性があることを示しています。
この数値スカラーは、対応する数値系列の長さと等しい長さのベクトルにブロードキャストされます。
たとえば、 series_dot_product([1, 2, 3], 10)
は series_dot_product([1, 2, 3], [10, 10, 10])
として扱われます。
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
series1、series2 | dynamic |
✔️ | 数値データを含む配列を入力し、要素ごとの乗算を行い、 real 型の値に合計します。 |
返品
series2 の対応する要素を使用してseries1 の各要素の積を合計した値を持つreal
型の値を返します。
両方の系列の長さが等しくない場合、長い系列は短い系列の長さに切り捨てられます。
入力系列の数値以外の要素は無視されます。
Note
一方または両方の入力配列が空の場合、結果は null
されます。
パフォーマンスの最適化
この関数を使用する場合のパフォーマンスの向上とストレージ要件の削減のために、ML ベクター埋め込みなど、64 ビットの精度を必要としない浮動小数点ベクトルを格納するには、 Vector16
エンコード ポリシーの使用を検討してください。 Bfloat16浮動小数点表現を利用するVector16
プロファイルは、操作を大幅に最適化し、ストレージ サイズを 4 倍に減らすことができます。 Vector16
エンコード ポリシーの詳細については、「Encoding ポリシーの種類」を参照してください。
例
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 |