A module providing a type for (commutative) multivariate polynomials, with support for various term orders.

- newtype MPoly ord r = MP [(Monomial ord, r)]
- var :: String -> MPoly Grevlex Q
- b :: MPoly Grevlex Q
- c :: MPoly Grevlex Q
- d :: MPoly Grevlex Q
- s :: MPoly Grevlex Q
- t :: MPoly Grevlex Q
- u :: MPoly Grevlex Q
- v :: MPoly Grevlex Q
- w :: MPoly Grevlex Q
- x :: MPoly Grevlex Q
- y :: MPoly Grevlex Q
- z :: MPoly Grevlex Q
- a :: MPoly Grevlex Q
- x1 :: MPoly Grevlex Q
- x2 :: MPoly Grevlex Q
- x3 :: MPoly Grevlex Q
- x0 :: MPoly Grevlex Q
- toLex :: MPoly ord k -> MPoly Lex k
- toGlex :: MPoly ord k -> MPoly Glex k
- toGrevlex :: MPoly ord k -> MPoly Grevlex k
- toElim :: MPoly ord k -> MPoly Elim k

# Documentation

Type for multivariate polynomials. ord is a phantom type defining how terms are ordered, r is the type of the ring we are working over. For example, a common choice will be MPoly Grevlex Q, meaning polynomials over Q with the grevlex term ordering