Combinatorics meets computer algebra!

Combinatorial analysis, discrete mathematics and computer algebra are the main interests of the Algorithms Project. Our packages let you specify, generate, and enumerate combinatorial structures; manipulate the associated generating functions, functional equations or recurrences; study their asymptotic behaviour. The interplay between these applications serves the Algorithms Project's main goal of the automatic complexity analysis of algorithms. However, long-term research in this direction has induced the development of other packages for the manipulation of linear differential and difference operators, Groebner basis calculations, and the symbolic summation and integration of special functions and combinatorial sequences.

Special emanations of the above are the Algolib library, which collects most of our programs in a single archive, and the encyclopedia of combinatorial structures, which allows access by keywords, combinatorial specifications, generating function, closed-form or by the first integers in the enumeration sequence to many combinatorial structures. A lot of it was automatically generated using combstruct, gfun, and gdev.

Studies in Automatic Combinatorics are extensive example sessions that serve as an introduction to the use of our packages, together with advanced sessions illustrating their use in the study of combinatorics, special functions or asymptotic analysis. Also available as Maple help pages in the Algolib library.

Downloading Algolib

The Algolib library collects Maple packages developed by the Algo team at INRIA. It currently contains combstruct, encyclopedia, gdev, gfun, Groebner, Holonomy, Mad, Mgfun, MultiSeries, NumGfun, Ore_algebra, and regexpcount. These packages (and more) are described below. An on-line version of the encyclopedia is also available.

Algolib, version 17.0 (July 9, 2013). For Maple17. Released under the GNU Lesser General Public License (LGPL v2.1).
[ readme | Maple library | Maple help pages | tar of source code | tar.gz of source code ]

Note that you don't need the source code for installing Algolib, only the library and help pages (.mla and .hdb files).

Obsolete releases

If you use Algolib, we would be more than glad if you could let us know about the work you do and on the use and applications you plan with Algolib.

Our Packages

gfun - generating functions package

The gfun package is used for the manipulation and discovery of generating functions. Written by Bruno Salvy, Paul Zimmermann and Eithne Murray. Contact: gfun@inria.fr.

It has its own site that you might want to check for the most recent version and many real-life examples.

Mgfun - multivariate generating functions package

The Mgfun package is intended for calculations with multivariate generating functions, in particular for their symbolic summation and integration, and for the proof of special function and combinatorial identities. It also allows operations in non-commutative algebras of operators (such as Weyl or Ore algebras), elimination in these algebras, and operations on holonomic functions. In particular, the subpackages Ore_algebra and Groebner have been incorporated into the core library of MapleV Release 5, as a replacement for the former grobner package. The whole set of packages is part of the Algolib library. Written by Frédéric Chyzak.

regexpcount - regular expressions and counting

Regexpcount is a package dedicated to regular expressions and automatas described in the combstruct syntax; in the case of automatas, this facilitates translation to generating functions. Regexpcount provides also access to the internal structures of automatas described as maple tables. When counting the number of occurrences of motifs or regular expressions in random sequences, the underlying probabilistic model of the sequences is Bernoulli or Markov.

gdev - series expansion and limits

A facility for more general series expansions and limits. Uses a different model for asymptotic series expansions than Maple's asympt and series commands. Includes the equivalent function mentioned in the survey article. equivalent does asymptotic expansion of Taylor coefficients, useful in the study of generating functions. Written by Bruno Salvy.

 

AUTOMATIC ASYMPTOTIC AVERAGE-CASE ANALYSIS OF ALGORITHMS

luo - system for the analysis of algorithms

A system written in Caml and Maple to perform average-case complexity analysis of algorithms. Written by Bruno Salvy and Paul Zimmermann. Contact: algolib@inria.fr. Note that a lot of LUO has been incorporated and modernized in the combstruct package, so you might want to check there first. Since the June 21, 2011 this page can be read in Belorussian translation made by Galina Miklosic. Thank you Galina.