Overview of changes in MuPAD-Combinat 1.2.1 (2005-01-21):
=========================================================

This is a first attempt at making regular small-steps stable releases.
This release might also end-up in the distribution of MuPAD 3.1.1.

Bug fixes:
 - compilation of dynamic modules with gcc 3.4
 - compatibility with MuPAD-3.1.1
 - ascii doc building
 - ...

Improvements in:
 - generators, parking functions, ribbons tableaux
 - decomposableObjects (Primitive objects of any size,
   repeated squaring optimization for sequence, error messages)
 - semi standard (skew) tableaux (count/list using Symmetrica)
 - words (documentation)
 - examples::SymmetricFunctions (H functions, straightening, ...)
 - generic mechanics for Hopf algebras
 - "desosseur" of finite dimensional algebra (works with any field
   of char zero, ...)
 - info output
 - ...

Overview of changes in MuPAD-Combinat 1.2.0 (2004-10-08):
=========================================================

New combinatorial libraries:
 - combinat::necklaces
 - combinat::lyndonWords
   So far, they allow to count and generate necklaces and Lyndon words
   with prescribed content (say all the Lyndon words one can build out
   of [1,1,1,2,2,2,3]). This uses a Constant Amortized Time algorithm
   from Joe Sawada (2003).
 - combinat::ribbons and skewTableaux (stable)
 - combinat::ribbonsTableaux
 - combinat::graphs: Interface with Brendan McKay's Nauty library for
   generating and manipulating graphs up to an isomorphism
 - combinat::lrcalc: Interface with Anders Buch's
   Littlewood-Richardson Calculator C library.
   Used for faster symmetric function computations
 - combinat::chooseNK, multisetNK, splitNK (experimental)

Improvements in combinat::generator:
 - support for copying generators
 - multiset, powerset, space efficient cartesian product

Improvements in combinat::decomposableObjects:
 - Standalone generator in the labelled and unlabelled cases
 - Support for nested DivX / MultX
 - New constructors:
   Lyndon(B), BoxedProd(B, C)  (rewritten as MultX(DivX(B), C)
 - Restrictions on length and size of the components for generating
   unlabelled sets, multisets, cycles, ...
 - Functional Domain constructor for count, unrank, random, generator
 - Tighter type checking, and improved error messages

Improvements by Xavier Molinero on the complexity of existing things
like unrank and random for combinat::chooseNK, and extensions to
multiset, permutations(n,k), ...

New algebraic features:
 - Improved support for Hopf algebras
 - Dom::TensorProductOfFreeModules
 - Cat::ModuleWithSeveralBases, Cat::AlgebraWithSeveralBases, ...
   Generic support for free modules with several basis, with
   conversions between them and so on (experimental)
 - Automatic computation of the representation theory of
   a finite dimensional algebra (experimental)
 - experimental::FreeOperad, Cat::Operad, Cat::OperadWithBasis:
   basic support for operads (experimental)
 - Many new and improved examples of combinatorial algebras

Improvements to MAPITL:
 - MuPAD objects as standard C++ objects (experimental)
 - Seamless embedding of static C++ objects in MuPAD cells (experimental)

Misc improvements:
 - IPC should be functional again on most platforms
 - Improved html documentation (less broken links, nicer output)
   Building is now possible on most platforms (requires latex + tex4ht)

Overview of changes in MuPAD-Combinat 1.1.0:
============================================

Large scale cleanup:
 - Standardization of the interface of combinatorial classes
 - Many bug fixes.
 - A lot of documentation (algebraic domains, categories, operators, ...)
 - Cleanup of warnings with gcc 3
 - Almost complete port for MacOS X / Darwin

New combinatorial libraries:
 - combinat::rankers (experimental)
 - combinat::skewPartitions
 - combinat::skewTableaux, ribbons (experimental)
 - combinat::finiteClass, imageClass, subClass, ... (experimental)
 - combinat::setPartitions, setPartitionsOrdered (experimental)
 - combinat::labelledTrees (experimental)
 - combinat::integerVectorsModPermutationGroup (experimental)
 - combinat::integerMatrices::fromNonWeakDescentsComposition (experimental)
Changes in combinat::decomposable objects:
 - Complete documentation
 - Unranking and proper random for labelled structures (experimental)
 - Boustrophedonic order for optimal O(n log n) random/unrank complexity
 - Functional random for all structures
 - Functional Domain feature
 - Cleanup and improved error messages

New algebraic domains:
 - examples::FreeSymmetricFunctions
 - examples::NonCommutativeSymmetricFunctions
 - examples::QuasiSymmetricFunctions
 - examples::SymmetricGroupAlgebra
 - plus lots of experimental algebras (Hecke, Hecke-Clifford, Temperley Lieb)
 - Dom::FreeModuleList
Renamed algebraic domains:
 - Dom::FreeModule_Poly -> Dom::FreeModulePoly
 - Dom::FreeModule_Table -> Dom::FreeModuleTable

New categories:
 - Cat::HopfAlgebra, HopfAlgebraWithBasis, FiniteDimensionalAlgebraWithBasis,
   GradedAlgebraWithBasis, SemiRing, SemiRng, UseOverloading
Renamed categories:
 - Cat::FreeModule -> Cat::ModuleWithBasis

Partial support for coproducts, tensor products, ... (experimental)

Integration of most of the material from PerMuVAR:
 - Dom::PermutationGroupInvariantRing, and related domains and categories
   (experimental)

Overview of changes in MuPAD-Combinat 1.0.0:
============================================

Cleanup, fixes to the build system

Most C++ files now compile with gcc 3. The few remaining ones are
automatically disabled

Overview of changes in MuPAD-Combinat 0.9.2 (final ? prerelase for 1.0):
========================================================================

New combinatorial libraries:
 - combinat::integerMatrices
 - combinat::rankers
 - MachineIntegerListsLex dynamic module

New domains:
 - Dom::Boolean.mu
 - Dom::FreeModule_MnPoly.mu
 - Dom::FreeModule_Poly.mu
 - Dom::FreeModule_Table.mu
 - Dom::AlgebraWithBasis_Table.mu
 - Dom::SparseMatrix_LinBox.mu
 - Dom::SymmetricGroup.mu
 - Dom::Tropical.mu
 - Dom::WeightedAutomaton.mu
 - Dom::WeylAlgebra.mu
 - examples and experimental that contains various algebra
   examples::SymmetricFunctions,
   examples::LodayRoncoAlgebra
   examples::FreeQuasiSymmetricFunctions

Majors Changes:
 - decomposableStructures in now decomposableObjects
   (new feature: Cycles, C code generation)
 - the combinat categories are now named Cat::*Class
 - new linear mechanics based on FreeModules (cf. operators)
 - new overload mechanism (operators::overloaded)
 - initialization mechanism for domains 
 
Documentations and presentations: New directory Papers with
 - Article for SLC49 including a tutorial and design notes
 - Poster for SLC49
 - presentation at EJC-GDR-ALP 2003

Overview of changes in MuPAD-Combinat 0.9.1 (prerelase for 1.0):
================================================================

Bug fixes and documentation improvements

Overview of changes in MuPAD-Combinat 0.9.0 (prerelase for 1.0):
================================================================

Essential new features:
 - Integration of Combinatorial Structure
 - Many new functions in the existing libraries
 - Up to a few exceptions, existing libraries are stable
 - Improved documentation
 - documentation also available in ascii and ps
 - Improved installation/tests procedure

New libraries:
 - combinat::trees
 - combinat::binaryTrees
 - combinat::labelledBinaryTrees	(beta)
 - combinat::linearExtensions
 - combinat::decomposableStructures
 - output::asciiArt

New domains:
 - Dom::FreeModule_Table, Dom::AlgebraWithBasis_Table (beta)

Overview of changes in MuPAD-Combinat 0.2.0 (prerelase):
========================================================

Essential new features:
 - LaTeX documentation, available in html, dvi and pdf.
 - Integration of muEC 1.2.0 as provided by Christophe Carré in
   october 2001 after his updates for MuPAD 2.0.0.
 - Fast plethysm computations with Chritophe's gordan dynamic module.
 - New amortized linear-time general algorithm for generating list of
   integers under generic length, upper/lower bound, and regularity
   constraints. This includes for example partitions, compositions,
   monomials divisible by a given monomial, partitions containing a
   given partition and contained in another.
   This is implemented in combinat::integerListsLexBuilder, and is the
   core behind combinat::partitions, combinat::compositions and
   combinat::integerVectors.
 - Improved automake/autoconf build system which makes it easy to
   integrate new dynamic modules, build documentation, test all the
   examples of the documentation, and so on.

New libraries:
 - combinat::integerListsLexBuilder	(beta)
 - combinat::integerListsLexBuilding	(beta)
 - combinat::integerVectors

 - combinat::tableaux			(beta)
 - combinat::nonCrossingPartitions	(alpha: bijection with dyck words)

Libraries with highly modified interface and semantic:
 - combinat::partitions
 - combinat::compositions

Libraries with a change of data representation:
 - combinat::dyckWords

Deprecated libraries:
 - combinat::subcompositions

New domains / categories / axioms:
 - Dom::PermutationGroup (for general permutation groups)
   Includes fast methods from the C++ GLIP dynamic module.
 - Dom::SymmetricGroup (the former Dom::PermutationGroup)
 - Dom::AlternatingGroup
 - Cat::PermutationGroup

Changes:
 - combinat::integerVectorsWeighted replaces combinat::weighted compositions
 - combinat::getOptions replaces prog::parseOptions
   (and will replace MuPAD's prog::getOptions some day)

Overview of changes in MuPAD-Combinat 0.1.0:
============================================

New packages:
 - combinat::structure
 - combinat::generators
 - combinat::compositions
 - combinat::subcompositions
 - combinat::weightedCompositions
 - combinat::partitions
 - combinat::permutations
 - combinat::words
 - combinat::subwords
 - combinat::dyckWords
 - combinat::subsets
 - combinat::cartesianProduct

For each combinatorial structure above, the package provides at least
the procedures count, generate and generator, plus possibly others.
Complete inline/online documentation is available

New functions:
 - combinat::catalan

New domains / categories / axioms:
 - Dom::FreeModule_Table
 - Dom::AlgebraWithBasis_Table
 - Ax::monoidAlgebra

New utility functions / packages
 - prog::parseOptions
 - inlinedoc

Available old functions:
 - combinat::bell, stirling, stirling2, modStirling

Backward compatible old functions:
 - combinat::powerset, cartesian, permute, choose, composition, ...

Automake / autoconf / ... build and test system
