Residue: Difference between revisions
(Created page with "{{Built-in|Residue|<nowiki>|</nowiki>}}, '''Remainder''', or '''Modulus''' is a dyadic scalar function which gives the remainder of division be...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Built-in|Residue|<nowiki>|</nowiki>}}, '''Remainder''', or '''Modulus''' is a [[dyadic]] [[scalar function]] which gives the [[wikipedia:Remainder|remainder]] of division between two real numbers. It takes the divisor as the left [[argument]], and the dividend as the right argument. Residue shares the [[glyph]] <source lang=apl inline>|</source> with the monadic arithmetic function [[Magnitude]]. | {{Built-in|Residue|<nowiki>|</nowiki>}}, '''Remainder''', or '''Modulus''' is a [[dyadic]] [[scalar function]] which gives the [[wikipedia:Remainder|remainder]] of [[divide|division]] between two real numbers. It takes the divisor as the left [[argument]], and the dividend as the right argument. Residue shares the [[glyph]] <source lang=apl inline>|</source> with the monadic arithmetic function [[Magnitude]]. | ||
== Examples == | == Examples == | ||
Line 37: | Line 37: | ||
</source>{{Works in|[[Dyalog APL]]}} | </source>{{Works in|[[Dyalog APL]]}} | ||
== See also == | |||
* [[Encode]] | |||
== External links == | == External links == | ||
Revision as of 07:21, 9 July 2020
|
|
Residue (|
), Remainder, or Modulus is a dyadic scalar function which gives the remainder of division between two real numbers. It takes the divisor as the left argument, and the dividend as the right argument. Residue shares the glyph |
with the monadic arithmetic function Magnitude.
Examples
2|¯2 ¯1 0 1 2 3 4 5 0 1 0 1 0 1 0 1 3.5|5 10 14 1.5 3 0
Properties
For positive x and y, the following identity holds:
x←?⍨10 ⋄ y←?⍨10 x≡(y|x)+y×⌊x÷y 1
Caveats
The usual definition of "remainder" only holds when both arguments are positive. An implementation is free to decide what to do when the left argument is zero, or at least one of the arguments is negative or complex.
For negative arguments, one may decide to return non-negative numbers in all cases or follow the sign of the dividend or the divisor. For complex arguments, the floor of a complex number is not mathematically defined, so allowing complex arguments does not add much of mathematical value.
Dyalog APL uses the expression Y-X×⌊Y÷X+0=X
as the definition of X|Y
, so that the above identity holds for all possible arguments. With this definition, zero X returns Y unchanged, and negative X returns a value between X and 0 (excluding the value X). The result for complex arguments is also defined (since Dyalog APL allows them as the argument to Floor).
5 5 ¯5 ¯5 0 0|2 ¯2 2 ¯2 2 ¯2 2 3 ¯3 ¯2 2 ¯2 3J4|5J12 3J1 3J4{⍵-⍺×⌊⍵÷⍺+0=⍺}5J12 3J1