@hackage computational-algebra0.0.3.2
Well-kinded computational algebra library, currently supporting Groebner basis.
Categories
License
BSD-3-Clause
Maintainer
konn.jinro_at_gmail.com
Links
Versions
Installation
Dependencies (7)
- algebra >=3 && <4
- base >=2.0 && <5
- containers >=0.4 && <0.6
- lens >=3 && <4
- monomorphic >=0.0 && <0.1
- peggy >=0.3 && <0.4 Show all…
Dependents (1)
@hackage/acme-everything
Computational Algebra Library
Installation
$ cabal install computational-algebra
If you once installed the same version of this package and want to reinstall, please run cabal clean first to avoid the GHC's bug.
What is this?
This library provides data-types and functions to manipulate polynomials. This is built up with GHC's nice type features.
It contains following things:
- Compute Groebner basis using Buchberger Algorithm
- Ideal membership problem
- Elimination ideal calculation
- Ideal operations
- Saturation Ideal, Quotient ideal,...
There are two interfaces:
- Dependently-typed I/F
- Arity-paramaterized polynomials. It uses vector representations for monomials.
Algebra.Ring.PolynomialandAlgebra.Algorithms.Groebner.
- Arity-paramaterized polynomials. It uses vector representations for monomials.
*Monomorphic wrapper I/F
* Not-so-dependently-typed interface to wrap dependently-typed ones. Algebra.Ring.Polynomial.Monomorphic and Algebra.Algorithms.Groebner.Monomorphic.
For more information, please read examples/polymorphic.hs and examples/monomorphic.hs.
Known Issues
Due to GHC 7.4.*'s bug, this library contains extra modules and functionalities as follows:
Monomorphicdata-type and his friends- This is completely separeted as
monomorphicpackage. But due to GHC 7.4.1, which is shipped with latest Haskell Platform, I include the functionality from this library for a while.
- This is completely separeted as
- Singleton types and functions
- Because the
singletonspackage is not available in GHC 7.4.1, I provide limited version of the functionalities of that package inAlgebra.Internalmodule. After new HP released, I will entirely rewrite all source codes usingsingletons.
- Because the
- Type-level natural numbers and size-parameterized vectors
- For the similar reason, I include
SNatandVectordata-type inAlgebra.Internalmodule, which is separated assized-vectorpackage. Their proofs are so messy, so I will entirely rewrite these after new HP released with my unreleased packageequational-reasoning, which provides the functionalities similar to Agda's EqReasoning.
- For the similar reason, I include