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
- a, z, y, x, w, v, u, t, s, d, c, b :: MPoly Grevlex Q
- x0, x3, x2, x1 :: 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
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
Create a variable with the supplied name. By convention, variable names should usually be a single letter followed by none, one or two digits.