gives the polynomial poly reduced modulo m.


reduces modulo all of the mi.

Details and Options

  • PolynomialMod[poly,m] for integer m gives a polynomial in which all coefficients are reduced modulo m.
  • When m is a polynomial, PolynomialMod[poly,m] reduces poly by subtracting polynomial multiples of m, to give a result with minimal degree and leading coefficient.
  • PolynomialMod gives results according to a definite convention; other conventions could yield results differing by multiples of m.
  • Unlike PolynomialRemainder, PolynomialMod never performs divisions in generating its results.


open allclose all

Basic Examples  (2)

Reduce a polynomial modulo 2:

Reduce a polynomial modulo another polynomial:

Scope  (4)

Reduce a polynomial modulo an integer:

Reduce a polynomial modulo a polynomial:

Reduce a polynomial modulo a polynomial and an integer:

Reduce a polynomial modulo two polynomials and an integer:

Options  (3)

CoefficientDomain  (2)

With the default CoefficientDomain->Rationals, integer coefficients can be inverted:

With CoefficientDomain->Integers, PolynomialMod does not invert integer coefficients:

Modulus  (1)

Reduce a polynomial modulo a polynomial over the integers modulo 3:

Applications  (1)

Reduce all coefficients of a polynomial modulo an integer:

Properties & Relations  (5)

For univariate rational polynomials, PolynomialRemainder is the same as PolynomialMod:

PolynomialRemainder considers all polynomials to be univariate in the specified variable:

For multivariate polynomials, PolynomialMod picks its own variable order:

The main variable here is a:

PolynomialRemainder considers parameters to be invertible:

PolynomialMod does not invert symbolic expressions:

Introduced in 1991