Groebner basis computation for Operads. http://math.stanford.edu/~mik/operads
|Latest on Hackage:||1.0|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
as described in Vladimir Dotsenko, Anton Khoroshkin: "Gr�bner bases
for operads" (arXiv:0812.4096).
In order to use it, make sure you install ghc, cabal and haddock (see
http://haskell.org for more details). These are available directly in
most Linux and BSD distributions, and there are installers for MacOSX
and Windows available on http://haskell.org.
Once ghc is installed, install cabal-install, and then use that to
install everything else needed. This tool will make the installation
of everything else painless.
To install the package, download the most recent tar ball
Operads-n.n.tar.gz, and then perform the following steps:
1) copy the tarball into an appropriate temporary directory
2) in this temporary directory, execute
tar -xzvf Operads-n.n.tar.gz
3) enter the directory Operads-0.2
4) run the following commands
ghc --make Setup.hs
5) look through the example files
to get a feeling for the syntax for interaction, and read the
You can get a computation system by running
and then inside ghci running
:m + Math.Operad
You can also write your own scripts for computation, and run them
as Haskell programs. This will allow more latitude in using
parallel processing and advanced computation techniques, but
exceeds the scope of this README.
* Make sure you run the program from somewhere else than the
temporary building directory, as this would load the wrong files.
Fri Aug 14 13:59:24 IST 2009 firstname.lastname@example.org
* Adapted tests to computing reduced Grobner bases.
* Fixed README import example.
* Added the Alternative operad as an example.
* Adapted tests to API changes.
* Removed non-used or badly written tests.
* Refactored reduceBasis to do full reductions, with list reversals, and to include a type signature.
* Pre-reduce input basis to operadicBuchberger.
* Clean compile with -Wall
* Examples all compile.
* Refactored orderings applied to the examples.
* Introduce non-symmetric Grobner basis computation. Refactor streamReduceBasis -> reduceBasis.
* Types and comments completed.
* Cleaning up monomial orderings, completing the list.
* Removed the PolyBag implementation.
Thu Aug 13 14:26:33 IST 2009 email@example.com
* Pretty printing no longer hangs waiting on the next element in a list.
* allShuffles delegates to Dotsenko's shuffle permutations algorithm.
* Fixed basisElements to a more efficient version.
* Introduce reductions for the stable elements in the streamOperadicBuchberger pipeline
* Zero elements of the generating set no longer break reduceCompletely
* Sign mangling in reduceOE fixed.
* Operadic Buchberger with lazy evaluation in place.
* Extended traceing.
* Fixed bad ordering of the SCM embeddings.
* Fixed reconstructNode.
* Fixed equivalentOrders
* Safeguards to findBoundedSCM
* Refactored findRootedEmbedding
Wed Aug 12 22:59:42 IST 2009 firstname.lastname@example.org
* Fixing reductions.
Tue Aug 11 15:52:07 IST 2009 email@example.com
* S Polynomials now use the right embeddings for the SCMs.
* Improved algorithms for listing shuffle permutations and for constructing small common multiples.
* Additional PPrint instances.
* Mapping a function over all internal vertex labels.
* Division methods.
Sun Aug 9 22:24:35 IST 2009 firstname.lastname@example.org
* Fixing too large findAllLCM issue.
The issue, as reported by Vladimir Dotsenko, was that the function findAllLCM would return many too many
LCMs for even the simplest examples.
It turned out that the filters excluding too many LCMs were erroneously written - we expect the deep
implementations, findSmallBoundedLCM, to return LCMs with the second argument, t,
occurring with root shared with the root of the LCM, and the first argument, s, to occur higher up in
If findAllLCM was called with both arguments identical, the filtering code would identify s dividing the
entire tree, missing that it occurs as a rooted divisor.
* Updated changelog
Changes 0.6 -> 0.7
Sun May 3 22:18:13 CEST 2009 email@example.com
* Stopped building test file - bug report from dons
Changes 0.5 -> 0.6
Thu Apr 30 10:25:29 CEST 2009 firstname.lastname@example.org
* ForestLex implemented
Thu Apr 30 09:13:50 CEST 2009 email@example.com
* Path sequence comparisons have trees around if they need them.
Thu Apr 30 09:12:30 CEST 2009 firstname.lastname@example.org
* Added flag controlling which Map data structure to use.
Thu Apr 30 09:11:16 CEST 2009 email@example.com
* Adding and interleaving reductions in the Buchberger algorithm
Wed Apr 29 11:41:03 CEST 2009 firstname.lastname@example.org
* Hackage rerelease - forgot to include one vital module.
Wed Apr 29 11:40:48 CEST 2009 email@example.com
* Optimized order comparison
Wed Apr 29 11:14:59 CEST 2009 firstname.lastname@example.org
* Changelog update
Changes 0.4 -> 0.5
Wed Apr 29 11:12:12 CEST 2009 email@example.com
* Preparing for v0.5
Wed Apr 29 11:11:53 CEST 2009 firstname.lastname@example.org
* Reducing Groebner bases inline
Wed Apr 29 11:11:29 CEST 2009 email@example.com
* Maximum degree could be run on empty lists
Wed Apr 29 10:34:31 CEST 2009 firstname.lastname@example.org
* Flag choosable tracing.
Wed Apr 29 10:32:53 CEST 2009 email@example.com
* Tweaking the map storage type to cache comparisons.
Note that this change induces incompatibility in the induced Show instances.
Hence, operad elements that were saved from 0.4 will not be easy to restore
Changes 0.3 -> 0.4
Tue Apr 28 23:13:15 CEST 2009 firstname.lastname@example.org
* Changelog update.
Tue Apr 28 23:12:25 CEST 2009 email@example.com
* Automated testing with Cabal.
Tue Apr 28 23:11:45 CEST 2009 firstname.lastname@example.org
* Noncritical minor mistake.
Tue Apr 28 23:03:25 CEST 2009 email@example.com
* Preparing for release 0.4
Tue Apr 28 22:52:05 CEST 2009 firstname.lastname@example.org
* Tree ordering tweaks.
Tue Apr 28 22:51:16 CEST 2009 email@example.com
* Cabal standards adaptation
Tue Apr 28 22:48:57 CEST 2009 firstname.lastname@example.org
* Percolate maximal degree through the Buchberger computation down to the LCM computation.
Mon Apr 27 18:48:05 CEST 2009 email@example.com
* Adapting to HackageDB source code standards