series_dot_product()
Berekent het puntproduct van twee numerieke reeksen.
De functie series_dot_product()
gebruikt twee numerieke reeksen als invoer en berekent het bijbehorende puntproduct.
Syntax
series_dot_product(
reeks1,
serie2)
Alternatieve syntaxis
series_dot_product(
Serie,
Numerieke)
series_dot_product(
Numerieke,
Serie)
Notitie
De alternatieve syntaxis geeft aan dat een van de twee functieargumenten een numerieke scalaire waarde kan zijn.
Deze numerieke scalaire waarde wordt uitgezonden naar een vector waarvan de lengte gelijk is aan de lengte van de overeenkomstige numerieke reeksen.
Wordt bijvoorbeeld series_dot_product([1, 2, 3], 10)
behandeld als series_dot_product([1, 2, 3], [10, 10, 10])
.
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
serie1, serie2 | dynamic |
✔️ | Invoermatrices met numerieke gegevens, die op elementen moeten worden vermenigvuldigd en vervolgens worden opgeteld in een waarde van het type real . |
Retouren
Retourneert een waarde van het type real
waarvan de waarde de som is van het product van elk element van reeks1 met het bijbehorende element van reeks2.
Als de lengte van beide reeksen niet gelijk is, wordt de langere reeks afgekapt tot de lengte van de kortere reeks.
Elk niet-numeriek element van de invoerreeks wordt genegeerd.
Notitie
Als een of beide invoermatrices leeg zijn, is null
het resultaat .
Prestaties optimaliseren
Voor verbeterde prestaties en verminderde opslagvereisten bij het gebruik van deze functie, kunt u overwegen het coderingsbeleid te gebruiken voor het Vector16
opslaan van drijvende-kommavectoren die geen 64 bits precisie vereisen, zoals ML-vector insluitingen. Het Vector16
profiel, dat gebruikmaakt van de drijvendekommarepresentatie Bfloat16 , kan de bewerking aanzienlijk optimaliseren en de opslaggrootte met een factor 4 verminderen. Raadpleeg beleidstypenVector16
voor codering voor meer informatie over het coderingsbeleid.
Voorbeeld
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 |
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor