FUNCTION: SfACollect - collect products that are on algebraic bases
 
CALLING SEQUENCE:
-   SfACollect(sfa)
-   SfACollect(sfa, base)
-   SfACollect(sfa, blist)
-   SFA[SfACollect](sfa)
-   SFA[SfACollect](sfa, base)
-   SFA[SfACollect](sfa, blist)
-  
       
PARAMETERS:
- sfa   =  any valid expression in SFA
- base  =  an algebraic basis (e, h, p) or a linear basis
- blist =  a list of bases
 
   
SYNOPSIS:
-  The  SfACollect  function transforms products of power sums,  elementary
  and complete  functions into a  valid  SFA  expression.  The  SfACollect
  function also normalizes indexing vectors of each  'symmetric'  function.
 
 
-  Valid bases are  'e',  'h',  'p',  's',  'm'. They all are considered by
  default.
 
 
-  One may specify to collect products (and / or normalize indexing vectors)
  expressed only on specified  bases by adding  a second argument which is
  either a single basis or a list of bases to be taken into account.
 
 
-  Whenever  there is a conflict between the function name  SfACollect  and
  another   name   used   in   the   same   session,  use  the  long  form
  SFA['SfACollect'].
 
 
EXAMPLES:
> with(SFA):
> SfACollect( p[3](A1)^4 * e[2](A2) * e[1](A2) - q*h[2](A3)^6 );
 
           p[3, 3, 3, 3](A1) e[2, 1](A2) - h[2, 2, 2, 2, 2, 2](A3) q
 
> SfACollect( e[3](A1)*h[1,4](A1)^2 - s[2](A1)*s[1,3](A1), ['s', 'h'] );
 
 h[4, 4, 1, 1](A1) e[3](A1) + s[4, 2](A1) + s[3, 2, 1](A1) + s[2, 2, 2](A1)
 
SEE ALSO: SfAExpand