Remainder

From Infogalactic: the planetary knowledge core
(Redirected from Remainders)
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Calculation results
Addition (+)
\scriptstyle\left.\begin{matrix}\scriptstyle\text{summand}+\text{summand}\\\scriptstyle\text{addend (broad sense)}+\text{addend (broad sense)}\\\scriptstyle\text{augend}+\text{addend (strict sense)}\end{matrix}\right\}= \scriptstyle\text{sum}
Subtraction (−)
\scriptstyle\text{minuend}-\text{subtrahend}= \scriptstyle\text{difference}
Multiplication (×)
\scriptstyle\left.\begin{matrix}\scriptstyle\text{factor}\times\text{factor}\\\scriptstyle\text{multiplier}\times\text{multiplicand}\end{matrix}\right\}= \scriptstyle\text{product}
Division (÷)
\scriptstyle\left.\begin{matrix}\scriptstyle\frac{\scriptstyle\text{dividend}}{\scriptstyle\text{divisor}}\\\scriptstyle\frac{\scriptstyle\text{numerator}}{\scriptstyle\text{denominator}}\end{matrix}\right\}= \scriptstyle\text{quotient}
Modulation (mod)
\scriptstyle\text{dividend}\bmod\text{divisor}= \scriptstyle\text{remainder}
Exponentiation
\scriptstyle\text{base}^\text{exponent}= \scriptstyle\text{power}
nth root (√)
\scriptstyle\sqrt[\text{degree}]{\scriptstyle\text{radicand}}= \scriptstyle\text{root}
Logarithm (log)
\scriptstyle\log_\text{base}(\text{antilogarithm})= \scriptstyle\text{logarithm}

In mathematics, the remainder is the amount "left over" after performing some computation. In arithmetic, the remainder is the integer "left over" after dividing one integer by another to produce an integer quotient (integer division). In algebra, the remainder is the polynomial "left over" after dividing one polynomial by another. The modulo operation is the operation that produces such a remainder when given a dividend and divisor.

Formally it is also true that a remainder is what is left after subtracting one number from another, although this is more properly called the difference. This usage can be found in some elementary textbooks; colloquially it is replaced by the expression "the rest" as in "Give me two dollars back and keep the rest."[1] However, the term "remainder" is still used in this sense when a function is approximated by a series expansion and the error expression ("the rest") is referred to as the remainder term.

Integer division

If a and d are integers, with d non-zero, it can be proven that there exist unique integers q and r, such that a = qd + r and 0 ≤ r < |d|. The number q is called the quotient, while r is called the remainder.

See Euclidean division for a proof of this result and division algorithm for algorithms describing how to calculate the remainder.

The remainder, as defined above, is called the least positive remainder or simply the remainder.[2] The integer a is either a multiple of d or lies in the interval between consecutive multiples of d, namely, q⋅d and (q + 1)d (for positive q).

At times it is convenient to carry out the division so that a is as close as possible to an integral multiple of d, that is, we can write

a = k⋅d + s, with |s| ≤ |d/2| for some integer k.

In this case, s is called the least absolute remainder.[3] As with the quotient and remainder, k and s are uniquely determined except in the case where d = 2n and s = ± n. For this exception we have,

a = k⋅d + n = (k + 1)d - n.

A unique remainder can be obtained in this case by some convention such as always taking the positive value of s.

Examples

In the division of 43 by 5 we have:

43 = 8 × 5 + 3,

so 3 is the least positive remainder. We also have,

43 = 9 × 5 - 2,

and −2 is the least absolute remainder.

These definitions are also valid if d is negative, for example, in the division of 43 by −5,

43 = (−8)×(−5) + 3,

and 3 is the least positive remainder, while,

43 = (−9)×(−5) + (−2)

and −2 is the least absolute remainder.

In the division of 42 by 5 we have:

42 = 8 × 5 + 2,

and since 2 < 5/2, 2 is both the least positive remainder and the least absolute remainder.

In these examples, the (negative) least absolute remainder is obtained from the least positive remainder by subtracting 5, which is d. This holds in general. When dividing by d, either both remainders are positive and therefore equal, or they have opposite signs. If the positive remainder is r1, and the negative one is r2, then

r1 = r2 + d.

For floating-point numbers

When a and d are floating-point numbers, with d non-zero, a can be divided by d without remainder, with the quotient being another floating-point number. If the quotient is constrained to being an integer, however, the concept of remainder is still necessary. It can be proved that there exists a unique integer quotient q and a unique floating-point remainder r such that a = qd + r with 0 ≤ r < |d|.

Extending the definition of remainder for floating-point numbers as described above is not of theoretical importance in mathematics; however, many programming languages implement this definition, see modulo operation.

In programming languages

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

While there are no difficulties inherent in the definitions, there are implementation issues that arise when negative numbers are involved in calculating remainders. Different programming languages have adopted different conventions: Pascal chooses the result of the mod operation positive, but does not allow d to be negative or zero (so, a = (a div d )*d + a mod d is not always valid).[4] C99 chooses the remainder with the same sign as the dividend a. (Before C99, the C language allowed other choices.) Perl, Python (only modern versions), and Common Lisp choose the remainder with the same sign as the divisor d. Haskell and Scheme offer two functions, remainder and moduloPL/I has mod and rem, while Fortran has mod and modulo; in each case, the former agrees in sign with the dividend, and the latter with the divisor.

Polynomial division

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Euclidean division of polynomials is very similar to Euclidean division of integers and leads to polynomial remainders. Its existence is based on the following theorem: Given two univariate polynomials a(x) and b(x) (with b(x) not the zero polynomial) defined over a field (in particular, the reals or complex numbers), there exist two polynomials q(x) (the quotient) and r(x) (the remainder) which satisfy:[5]

a(x)=b(x)q(x)+r(x)

where

\deg(r(x))<\deg(b(x)),

where "deg(...)" denotes the degree of the polynomial (the degree of the constant polynomial whose value is always 0 is defined to be negative, so that this degree condition will always be valid when this is the remainder.) Moreover q(x) and r(x) are uniquely determined by these relations.

This differs from the Euclidean division of integers in that, for the integers, the degree condition is replaced by the bounds on the remainder r (non-negative and less than the divisor, which insures that r is unique.) The similarity of Euclidean division for integers and also for polynomials leads one to ask for the most general algebraic setting in which Euclidean division is valid. The rings for which such a theorem exists are called Euclidean domains, but in this generality uniqueness of the quotient and remainder are not guaranteed.[6]

Polynomial division leads to a result known as the Remainder theorem: If a polynomial f(x) is divided by x - k, the remainder is the constant r = f(k).[7]

See also

<templatestyles src="Div col/styles.css"/>

Notes

  1. Smith 1958, p. 97
  2. Ore 1988, p. 30. But if the remainder is 0, it is not positive, even though it is called a "positive remainder".
  3. Ore 1988, p. 32
  4. Pascal ISO 7185:1990 6.7.2.2
  5. Larson & Hostetler 2007, p. 154
  6. Rotman 2006, p. 267
  7. Larson & Hostetler 2007, p. 157

References

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.