FUNCTION: ToM - express any quasi-symmetric function in the M-basis
                (quasi-monomial symmetric functions) 
CALLING SEQUENCE:
-   ToM(qsf)
-   ToM(qsf, b)
-   NCSF[ToM](qsf)
-   NCSF[ToM](qsf, b)
-  
     
PARAMETERS:
- qsf =  any quasi-symmetric function
- b    =  any name of a known basis
 
  
SYNOPSIS:
-  The  ToM  function  computes  the  expansion  of   qsf  in  the  M-basis.
 
 
-  The  input  is  any  expression  in terms  of the basic  quasi-symmetric
  functions.
 
 
-  The   quasi-symmetric   function  qsf  is  expanded  and  the result  is
  not  collected.
 
 
-  One  may  specify  by  a  second  argument, say  b, that  qsf  is solely
  expressed  in  terms  of  the  known  basis  b.
 
 
-  The call ToM(qsf, 'M') does not affect the argument qsf.
 
 
-  One  may  add  'noexpand'  just  after  the  argument   qsf   to  choose
  not  to  expand  the  quasi-symmetric  function  qsf  before treating it.
 
 
-  One may collect the result by adding  a  third  argument: this  is  done
  by  ToM(qsf, b, 'collect'). For  instance,  ToM(qsf, 'M', 'collect') may
  be  used  to  collect  the  argument  qsf.
 
 
-  The  noncommutative  multiplication  is  denoted   by  the  &*  operator.
 
 
-  Whenever  there  is  a  conflict  between  the  function  name  ToM  and
  another name used in the same session, use  the  long  form  NCSF['ToM'].
 
 
EXAMPLES:
> with(NCSF):
> ToM((1+q)^5*QPh[2,1,2]+t^3*M[3,2],noexpand,collect);
 
                    5                   5                  5
         1/6 (1 + q)  M[5] + 1/2 (1 + q)  M[2, 3] + (1 + q)  M[2, 1, 2]
 
                          5    3
            + (1/2 (1 + q)  + t ) M[3, 2]
 
SEE ALSO: ToE ToF ToQPh ToQPs