@hackage polynomial-algebra0.1.0.1
Multivariate polynomial rings
Categories
License
BSD-3-Clause
Maintainer
bkomuves (plus) hackage (at) gmail (dot) com
Links
Versions
Installation
Tested Compilers
Dependencies (4)
- array >=0.5
- base >=4 && <5
- compact-word-vectors >=0.2.0.2
- containers >=0.6 Show all…
Dependents (1)
@hackage/coincident-root-loci
polynomial-algebra Haskell library
This is a Haskell library to compute with multivariate polynomials.
Polynomials are implemented as free modules (with a coefficient ring) over the monoid of monomials. The free module implementation is basically a map from monomials to coefficients, with the invariant that zero coefficients should be never present. Different implementations of monomials are available with different speed and usability tradeoffs:
- generic monomial over a variable set given by inhabitants of a type
- monomials over x1, x2 ... xn (two different in-memory representations)
- monomials over an infinite number of variables x1, x2, ...
- univariate monomial (basically, an integer exponent)
- exterior monomial (for exterior algebra)
Type level parameters are used for the variable names (used for pretty-printing) and number of variables where possible.
A type class interface allows the user to work uniformly over different implementations.