The computational-algebra package

[Tags:algebra, bsd3, library, math, type-level]

Dependently-typed computational algebra libray for Groebner basis.


[Skip to Readme]

Properties

Versions 0.0.1.0, 0.0.1.1, 0.0.2.0, 0.0.3.0, 0.0.3.1, 0.0.3.2, 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.1.2.0, 0.1.3.0, 0.1.3.1, 0.1.3.5, 0.1.3.6, 0.2.0.0, 0.3.0.0
Dependencies algebra (==3.*), base (>=2.0 && <5), containers (>=0.4 && <0.6), heaps (==0.2.*), lens (==3.*), monad-loops (==0.3.*), monomorphic (==0.0.*), peggy (==0.3.*), tagged (>=0.4 && <1) [details]
License BSD3
Copyright (C) Hiromi ISHII 2013
Author Hiromi ISHII
Maintainer konn.jinro_at_gmail.com
Stability Unknown
Category Math
Home page https://github.com/konn/computational-algebra
Source repository head: git clone git://github.com/konn/computational-algebra.git
Uploaded Sun Mar 24 16:58:30 UTC 2013 by HiromiIshii
Distributions NixOS:0.3.0.0
Downloads 3316 total (46 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-12-12 [all 6 reports]

Modules

  • Algebra
    • Algorithms
      • Algebra.Algorithms.Groebner
        • Algebra.Algorithms.Groebner.Monomorphic
    • Algebra.Internal
    • Ring
      • Algebra.Ring.Noetherian
      • Algebra.Ring.Polynomial
        • Algebra.Ring.Polynomial.Monomorphic
        • Algebra.Ring.Polynomial.Parser

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for computational-algebra

Readme for computational-algebra-0.1.1.0

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.Polynomial and Algebra.Algorithms.Groebner.

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:

  • Monomorphic data-type and his friends
    • This is completely separeted as monomorphic package. But due to GHC 7.4.1, which is shipped with latest Haskell Platform, I include the functionality from this library for a while.
  • Singleton types and functions
    • Because the singletons package is not available in GHC 7.4.1, I provide limited version of the functionalities of that package in Algebra.Internal module. After new HP released, I will entirely rewrite all source codes using singletons.
  • Type-level natural numbers and size-parameterized vectors
    • For the similar reason, I include SNat and Vector data-type in Algebra.Internal module, which is separated as sized-vector package. Their proofs are so messy, so I will entirely rewrite these after new HP released with my unreleased package equational-reasoning, which provides the functionalities similar to Agda's EqReasoning.