The development started in spring 2001, and the package currently
contains functions to deal with most usual combinatorial classes
(partitions, tableaux, decomposable classes, ...). It also supplies
the user with tools for constructing new combinatorial classes and
combinatorial (Hopf) algebras. As an application, it provides some
well-known combinatorial Hopf algebras like the algebra of symmetric
functions and many generalizations. There is also some support for
combinatorial Lie algebras, operads, (affine) Weyl groups, crystals,
Schubert polynomials, ...
The development was carried over by a community of researchers around
the world, in close collaboration but independently of
the MuPAD/Sciface team.
In June 2008, after months of discussions and experiments, an enthusiastic consensus emerged in the community to join the now viable fully open source mathematical software Sage. We were particularly glad to have taken this decision when we learned in September 2008 that MuPAD/Sciface was bought out by Mathworks (i.e. Matlab). The development of MuPAD-Combinat itself is stalled. Still, the code will remain publicly available (as always under GPL), and hopefully remain compatible with MuPAD for some time. Users should feel free to ask us for minor bug fixes.
This migration has been a massive investment: seven years of hard work to migrate over, with more than 100k lines of code, documentation and tests! Luckily, a lot of experience was gained since 2000, and a lot of the design is now pretty clear. The migration is essentially over, thanks to the efforts of many (see the road map). And it is paying back a lot!
Say that you want to provide a new function
combinat::partitions::toFrobenius
which returns
the Frobenius notation of a partition. Then, you should send
us the following 3 files:
Here, we described the documentation for a "simple" function, designed to be directly included in the documentation of the library. For more involved ones a standalone help page is better. Please check the sources of the documentation in the lib/COMBINAT/DOC/ subdirectory of the distribution for examples.
It's good practice to start writing the documentation even before writing the code!
The examples in the documentation will be checked
automatically, so you don't have to include them in
the test file. The easiest way to write the output in
the Mexout
environment is to run the
example in a terminal MuPAD session, and to copy paste
the result back in the documentation. Note that
spacing is relevant in the automatic checking; by
convention, you should type TEXTWIDTH :=
63
first to set the centering. You may want
to try the following little utility:
prog::makeExample(combinat::partitions::list(5))
read("toFrobenius.mu")
read("toFrobenius.tst")
. Please,
don't forget to check the trivial cases! You
may find helpful to use the following little utility:
prog::makeExample(combinat::partitions::list(5))
.