The computational-algebra package

[Tags:benchmark, bsd3, library, test]

Dependently-typed computational algebra library 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, 0.4.0.0, 0.5.0.0
Dependencies algebra (==4.3.*), algebraic-prelude (>=0.1.0.1 && <0.2), arithmoi (>=0.4.3.0 && <0.5), base (>=4.9.0.0 && <4.10), computational-algebra (>=0.5.0.0 && <0.6), constraints (>=0.3 && <0.9), containers (==0.5.*), control-monad-loop (==0.1.*), convertible (==1.1.*), criterion (>=0.8.1.0 && <1.2), deepseq (>=1.4.2.0 && <1.5), dlist (>=0.8.0.2 && <0.9), entropy (>=0.3.7 && <0.4), equational-reasoning (>=0.4.1.1 && <0.5), ghc-typelits-knownnat (>=0.2.2 && <0.3), hashable (>=1.1 && <1.3), heaps (==0.3.*), hmatrix (>=0.17.0.2 && <0.18), hybrid-vectors (>=0.1 && <0.3), lens (>=4.13 && <4.15), matrix (==0.3.*), monad-loops (==0.4.*), MonadRandom (>=0.1 && <0.5), mono-traversable (>=0.10 && <1.1), monomorphic (>=0.0.3 && <0.1), mtl (>=2.1 && <2.3), parallel (==3.2.*), primes (>=0.2.1 && <0.3), random (>=1.0 && <1.2), reflection (>=2.1.2 && <2.2), semigroups (>=0.15.2 && <0.19), singletons (==2.2.*), sized (>=0.2.1.0 && <0.3), tagged (>=0.7 && <0.9), template-haskell (>=2.11.0.0 && <2.12), text (>=0.11 && <1.3), type-natural (>=0.7.1.2 && <0.8), unamb (==0.2.*), unordered-containers (==0.2.*), vector (>=0.10 && <0.12) [details]
License BSD3
Copyright (C) Hiromi ISHII 2017
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 Sat Jan 7 06:35:35 UTC 2017 by HiromiIshii
Distributions NixOS:0.5.0.0
Downloads 3503 total (39 in the last 30 days)
Votes
1 []
Status Docs available [build log]
Last success reported on 2017-01-07 [all 1 reports]

Modules

[Index]

Flags

NameDescriptionDefaultType
examplesDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for computational-algebra

Readme for computational-algebra-0.5.0.0

Computational Algebra Library

Build Status

For more detail, please read Official Project Site.

Overview

The computational-algebra is the computational algebra system, implemented as a Embedded Domain Specific Language (EDSL) in Haskell. This library provides many functionality for computational algebra, especially ideal computation such as Groebner basis calculation.

Thanks to Haskell's powerful language features, this library achieves the following goals:

Type-Safety : Haskell's static type system enforces static correctness and prevents you from violating invariants.

Flexibility : With the powerful type-system of Haskell, we can write highly abstract program resulted in easy-to-extend system.

Efficiency : Haskell comes with many aggressive optimization mechanism and parallel computation features, which enables us to write efficient program.

This package currently provides the following functionalities:

  • Groebner basis calculation w.r.t. arbitrary monomial ordering
    • Currently using Buchberger's algorithm with some optimization
    • Faugere's F_4 algorithms is experimentally implemented, but currently not as fast as Buchberger's algorithm
  • Computation in the (multivariate) polynomial ring over arbitarary field and its quotient ring
    • Ideal membership problem
    • Ideal operations such as intersection, saturation and so on.
    • Zero-dimensional ideal operation and conversion via FGLM algorithm
    • Variable elimination
  • Find numeric solutions for polynomial system with real coefficient

Requirements and Installation

Old version of this package is uploaded on Hackage, but it's rather outdated. Most recent version of computational-algebra is developed on GitHub.

It uses the most agressive language features recently implemented in Glasgow Haskell Compiler, so it requires at least GHC 8.0.1 and also it depends on many packages currently not available on Hackage, but you can install it fairly easily with help of The Haskell Tool Stack.

$ curl -sSL https://get.haskellstack.org/ | sh
  # if you haven't install Stack yet
$ git clone https://github.com/konn/computational-algebra
$ cd computational-algebra
$ stack build

In addition, you may need to install GSL and LAPACK (for matrix computation) beforehand. You can install them via Homebrew (OS X), apt-get, or other major package management systems.

Read More in Official Project Site