\section{\mupadcombinat technical sheet}

\subsection{\mupadcombinat facts}

\mupadcombinat{} 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 \muec). 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é (maîtres 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 \href{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:
\begin{itemize}
\item Invariant theory of permutation
  groups~\cite{Thiery.IAGR,Thiery.AIG.2000,Thiery.CMGS.2001},
\item Steenrod algebras and symmetric
  functions~\cite{Hivert_Thiery.SA.2002},
\item Binary trees algebras such as the Loday-Ronco algebra, and
  renormalization in Quantum
  Electrodynamics~\cite{Hivert_Novelli_Thibon.PBT.2002},
\item Representation theory and quantum groups, homological
  computations~\cite{duchamp_hivert_thibon.2002},
\item Peaks Algebra and Hecke Clifford Algebras.
\end{itemize}

\subsection{Structure of the package}

\begin{itemize}
\item The \Mup[combinat,firstpage]{combinat} library provides
  combinatorial functions, as well as tools for counting, generating,
  and manipulating classical combinatorial classes (partitions,
  compositions, tableaux, trees, \Mseq{}). This includes in particular
  the former \texttt{CS} library, under the name
  \Mup{combinat::decomposableObjects}.
\item The \Mup[IPC,firstpage]{IPC} library provides some tools for
  Inter-Process Communications.
\item The \Mup[operators,firstpage]{operators} library provides some
  tools for defining conversions and overloaded functions as well as
  for extending functions by linearity, associativity, ...
\item Several domains are provided in \Mup[Dom,firstpage]{Dom} for
  algebraic structures such as permutation groups, boolean and
  tropical semi-rings, or weighted automata.
\item Several examples of use, such as some predefined combinatorial
  algebras (symmetric functions, free quasi symmetric functions, the
  Loday-Ronco algebra), are provided in
  \Mup[examples,firstpage]{examples}. You can also browse through the
  \Mup[experimental,firstpage]{experimental} stuff but this is at your
  own risk.
\item Additionally, the following libraries are imported verbatim from
  the former \muec\ package:
  \begin{enumerate}
  \item \Mup[PART,firstpage]{muEC::PART} - library for partitions
  \item \Mup[COMP,firstpage]{muEC::COMP} - library for compositions
  \item \Mup[TYP,firstpage]{muEC::TYP} - library for type-checking of mu-EC objects
  \item \Mup[SG,firstpage]{muEC::SG} - library for the symmetric group
  \item \Mup[SYMF,firstpage]{muEC::SYMF} - library for symmetric functions
  \item \Mup[SFA,firstpage]{muEC::SFA} - library for symmetric functions on
    different alphabets
  \item \Mup[SP,firstpage]{muEC::SP} - library for simple and double Schubert
    polynomials
  \end{enumerate}
  
  \begin{sloppypar}
    The package \muec{} is provided as-is, to ensure backward
    compatibility for former users of \muec. Its functionnalities are
    not yet fully integrated. For example,
    \Mup[PART,ListPart]{muEC::PART::ListPart} is redundant with
    \Mup[combinat,partitions]{combinat::partitions::list}; in the long
    run, all the functionalities of \Mup[PART,firstpage]{muEC::PART}
    which are missing in \Mup{combinat::partitions} should be moved
    into the latter which has a better and more systematic design.
\end{sloppypar}
\end{itemize}
