series_dot_product()

Calcola il prodotto punto di due serie numeriche.

La funzione series_dot_product() accetta due serie numeriche come input e calcola il prodotto punto.

Sintassi

series_dot_product(serie1,serie2)

Sintassi alternativa

series_dot_product(Serie, Numerico)

series_dot_product(Numerico, Serie)

Nota

La sintassi alternativa mostra che uno dei due argomenti della funzione può essere un scalare numerico.

Questo scalare numerico verrà trasmesso a un vettore la cui lunghezza è uguale alla lunghezza della serie numerica corrispondente.

Ad esempio, series_dot_product([1, 2, 3], 10) verrà considerato come series_dot_product([1, 2, 3], [10, 10, 10]).

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
serie1, serie2 dynamic ✔️ Matrici di input con dati numerici, da moltiplicare per elemento e quindi sommare in un valore di tipo real.

Restituisce

Restituisce un valore di tipo real il cui valore è la somma del prodotto di ogni elemento della serie1 con l'elemento corrispondente di series2. Nel caso in cui la lunghezza di entrambe le serie non sia uguale, la serie più lunga verrà troncata alla lunghezza di quella più breve. Qualsiasi elemento non numerico della serie di input verrà ignorato.

Nota

Se una o entrambe le matrici di input sono vuote, il risultato sarà null.

Ottimizzazione delle prestazioni

Per prestazioni migliorate e requisiti di archiviazione ridotti quando si usa questa funzione, è consigliabile usare i Vector16 criteri di codifica per l'archiviazione di vettori a virgola mobile che non richiedono precisione a 64 bit, ad esempio incorporamenti di vettori di Machine Learning. Il Vector16 profilo, che usa la rappresentazione a virgola mobile Bfloat16 , può ottimizzare in modo significativo l'operazione e ridurre le dimensioni di archiviazione di un fattore pari a 4. Per altri dettagli sui Vector16 criteri di codifica, vedere i tipi di criteri di codifica.

Esempio

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