series_dot_product()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula o produto escalar de duas séries numéricas.
A função series_dot_product()
recebe duas séries numéricas como entrada e calcula seu produto escalar.
Sintaxe
series_dot_product(
Série 1,
Série 2)
Sintaxe alternativa
series_dot_product(
série,
numérica)
series_dot_product(
Série numérica,
)
Observação
A sintaxe alternativa mostra que um dos dois argumentos de função pode ser um escalar numérico.
Este escalar numérico será transmitido para um vetor cujo comprimento é igual ao comprimento da série numérica correspondente.
Por exemplo, series_dot_product([1, 2, 3], 10)
será tratado como series_dot_product([1, 2, 3], [10, 10, 10])
.
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
Série 1, Série 2 | dynamic |
✔️ | Matrizes de entrada com dados numéricos, a serem multiplicados por elemento e, em seguida, somados em um valor do tipo real . |
Devoluções
Retorna um valor do tipo real
cujo valor é a soma sobre o produto de cada elemento de série1 com o elemento correspondente de série2.
Caso o comprimento de ambas as séries não seja igual, a série mais longa será truncada para o comprimento da mais curta.
Qualquer elemento não numérico da série de entrada será ignorado.
Observação
Se uma ou ambas as matrizes de entrada estiverem vazias, o resultado será null
.
Otimizando o desempenho
Para obter desempenho aprimorado e requisitos de armazenamento reduzidos ao usar essa função, considere usar a Vector16
política de codificação para armazenar vetores de ponto flutuante que não exigem precisão de 64 bits, como inserções de vetor de ML. O Vector16
perfil, que utiliza a representação de ponto flutuante Bfloat16 , pode otimizar significativamente a operação e reduzir o tamanho do armazenamento por um fator de 4. Para obter mais detalhes sobre a Vector16
política de codificação, consulte os Tipos de política de codificação.
Exemplo
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 |