REDUCE

9.6 REMAINDER Operator

This operator is used with the syntax

     REMAINDER(EXPRN1:polynomial,EXPRN2:polynomial):polynomial.

It returns the remainder when EXPRN1 is divided by EXPRN2. This is the true remainder based on the internal ordering of the variables, and not the pseudo-remainder. The pseudo-remainder and in general pseudo-division of polynomials can be calculated after loading the polydiv package. Please refer to the documentation of this package for details.

Examples:

        remainder((x+y)*(x+2*y),x+3*y) ->  2*Y**2  
        remainder(2*x+y,2)             ->  Y.

CAUTION: In the default case, remainders are calculated over the integers. If you need the remainder with respect to another domain, it must be declared explicitly.

Example:

        remainder(x^2-2,x+sqrt(2)); -> X^2 - 2  
        load_package arnum;  
        defpoly sqrt2**2-2;  
        remainder(x^2-2,x+sqrt2); -> 0