[NumericPrelude] multivariate polynomials

Henning Thielemann lemming at henning-thielemann.de
Sun Jun 20 04:00:41 EDT 2010

On Sat, 19 Jun 2010, Lewis-Sandy, Darrell wrote:

> What I had in mind for a class interface would provide a common 
> interface for construction and comprehension of polynomial 
> implementations.  For example, we might consider:
> degree -- the degree of the polynomial
> degreeOf -- the degree of a specific indeterminant
> terms -- list of the nonzero terms
> splitleading -- split a polynomial on the leading term
> variables -- list of indetermiants of the polynomial
> ...

Sound much like the functions needed to implement Buchberger's algorithm. 

'degree' would certainly need a functional dependency (So far 
NumericPrelude has multi-parameter type classes but no functional 
dependencies. However, all Haskell systems that support the former also 
support the latter. Namely the systems are Hugs and GHC.)

'variables' - the indeterminants should be expressed by a type in some 
way, such that the list of indeterminants is statically determined. Or 
shall 'variables' return a list of variables that are actually used in a 

> Such an interface might facilitate declaration of general algorithms for 
> polynomial types;  I would be glad to put together a proposal if you 
> think it adds value.

Yes, why not.

More information about the Numeric-Prelude mailing list