[Previous] [Next] [Contents]

## `MuPAD-Combinat` technical sheet

### `MuPAD-Combinat` facts

`MuPAD-Combinat` consists of about 50000 lines of code in high level language, 15000 lines of C++ (plus 80000 lines of C imported from Symmetrica), 700 lines of tests, 350 pages of documentation (including 150 pages from `mu-EC`). The developing team includes 3 core developers (F. Hivert, M. N. Thiéry, as well as T. Gomez-Diaz, ingénieure de recherche (IGM) who joined us recently), and 3 contributers (J.-C. Novelli (CNRS, IGM), . Laugerotte and C. Carré (matres de conférence, LIFAR), plus the many authors of the software that were integrated. Over the last year, 500 messages were sent on the mailing-list, 150 of which coming from the MuPAD developers; there were 2000 visits of the web page and 200 downloads.

The package is distributed in source code under the LGPL open-source license; some precompiled binaries are provided and the latest developer version is available by anonymous CVS. It has been reported to work, at least in the main lines, on all the operating systems for which MuPAD is available (Linux and other major UNIXes, Windows, MacOS X). We refer to the web page `mupad-combinat.sf.net` for precise requirements, download instructions, CVS access, mailing lists, bugzilla report forms, and so on.

Most of the code derives from successful computer exploration while doing research on the following topics:

- Invariant theory of permutation groups [Thiery.IAGR,Thiery.AIG.2000,Thiery.CMGS.2001],
- Steenrod algebras and symmetric functions [Hivert_Thiery.SA.2002],
- Binary trees algebras such as the Loday-Ronco algebra, and renormalization in Quantum Electrodynamics [Hivert_Novelli_Thibon.PBT.2002],
- Representation theory and quantum groups, homological computations [duchamp_hivert_thibon.2002],
- Peaks Algebra and Hecke Clifford Algebras.

### Structure of the package

- The `combinat` library provides combinatorial functions, as well as tools for counting, generating, and manipulating classical combinatorial classes (partitions, compositions, tableaux, trees, ...). This includes in particular the former `CS` library, under the name `combinat::decomposableObjects`.
- The `IPC` library provides some tools for Inter-Process Communications.
- The `operators` library provides some tools for defining conversions and overloaded functions as well as for extending functions by linearity, associativity, ...
- Several domains are provided in `Dom` for algebraic structures such as permutation groups, boolean and tropical semi-rings, or weighted automata.
- Several examples of use, such as some predefined combinatorial algebras (symmetric functions, free quasi symmetric functions, the Loday-Ronco algebra), are provided in `examples`. You can also browse through the `experimental` stuff but this is at your own risk.
- Additionally, the following libraries are imported verbatim from the former `mu-EC` package:
  1. `muEC::PART` - library for partitions
  2. `muEC::COMP` - library for compositions
  3. `muEC::TYP` - library for type-checking of mu-EC objects
  4. `muEC::SG` - library for the symmetric group
  5. `muEC::SYMF` - library for symmetric functions
  6. `muEC::SFA` - library for symmetric functions on different alphabets
  7. `muEC::SP` - library for simple and double Schubert polynomials

  The package `mu-EC` is provided as-is, to ensure backward compatibility for former users of `mu-EC`. Its functionnalities are not yet fully integrated. For example, `muEC::PART::ListPart` is redundant with `combinat::partitions::list`; in the long run, all the functionalities of `muEC::PART` which are missing in `combinat::partitions` should be moved into the latter which has a better and more systematic design.

[Previous] [Next] [Contents]

MuPAD Combinat, an open source algebraic combinatorics package