% $Date: 2003/09/15 16:37:45 $ $Author: nthiery $ $Revision: 1.1.1.1 $

\begin{Mhelppage}{ListSkewDiag}{V. Prosper}%
  \begin{MInfo}
    \eng{list of skew diagrams}
  \end{MInfo}
  
  \begin{MCalls}
    \Mcall{n\Mopt{,options}}
  \end{MCalls}

  \MDeclareOption{\maxlg}{maxlg}
  \MDeclareOption{\maxpart}{maxpart}
  \MDeclareOption{\mininner}{mininner}
  \MDeclareOption{\maxinner}{maxinner}
  \MDeclareOption{\minouter}{minouter}
  \MDeclareOption{\maxouter}{maxouter}

  \MDeclareOption{\regular}{regular}
  \MDeclareOption{\nb}{nb}

  \begin{MParameters}
    \param{n}
    \eng{any non negative integer} 
  \end{MParameters}
  \begin{MOptions}
    \option{\maxlg=l}
    \eng{maximum length of skew diagrams} 
    \option{\mininner=p}
    \eng{minimal inner partition} 
    \option{\maxinner=p}
    \eng{maximal inner partition} 
    \option{\minouter=p}
    \eng{minimal outer partition} 
    \option{\maxouter=p}
    \eng{maximal outer partition} 
    \option{\nb}
    \eng{only counts objects} 
  \end{MOptions}
  
  \vspace*{1ex}
  \Mwarning{%
    Use the syntax \Mex{hold(identifier)}, instead of
    \Mex{identifier}, if one of the identifiers above is already
    defined.  }

  \begin{MIntro}
    \eng{The {\Mthis} function gives all skew diagrams of \Mex{n}.
      Skew diagrams are special cases of skew partitions.
 
      A skew partition of \Mex{n} is a list of two partitions
      \Mmath{part1}{part_1} and \Mmath{part2}{part_2} such that
      \Mmath{part1}{part_1} is greater than \Mmath{part2}{part_2}
      (with respect to inclusion of diagrams) and \Mex{n} equals
      \Mmath{wght(part1) - wght(part2)}{|part_1|-|part_2|}, where
      \Mmath{wght()}{|~|} is the weight function.
 
      By skew diagrams, we mean skew partitions where empty columns
      and empty rows have been erased.
      
      When called with one argument, say \Mex{n}, the function returns
      the list of all skew diagrams of \Mex{n}.
      
      The outer partition corresponds to the outer shape of the skew
      diagram and the inner partition corresponds to the inner shape
      of the skew diagram.
      
      Given a skew diagram \Mex{skd},
      \Mex{\_plus(op(op(skd,1)))-\_plus(op(op(skd,2)))} gives its
      weight.}
  \end{MIntro}

\begin{MExample}{ex1}
\begin{Mexin}
muEC::PART::ListSkewDiag( 2 );
\end{Mexin}
\begin{Mexout}
           [[[2], []], [[2, 1], [1]], [[1, 1], []]]
\end{Mexout}
\begin{Mexin}
muEC::PART::ListSkewDiag( 3, mininner=[1], maxouter=[3,1,1] );
\end{Mexin}
\begin{Mexout}
               [[[3, 1], [1]], [[2, 1, 1], [1]]]
\end{Mexout}
\begin{Mexin}
muEC::PART::ListSkewDiag( 3, maxinner=[1], minouter=[3] );
\end{Mexin}
\begin{Mexout}
                  [[[3], []], [[3, 1], [1]]]
\end{Mexout}
\begin{Mexin}
muEC::PART::ListSkewDiag( 10, maxlg=5, nb );
\end{Mexin}
\begin{Mexout}
                             5309
\end{Mexout}
\end{MExample}

\MRelatedFunctions{ListPart,ListPartIn,SkewPart2Mat,TYP::IsSkewDiag,TYP::IsSkewPart}
\end{Mhelppage}
