FUNCTION :   findprod - products that are a linear combination of q-series

PARAMETERS : FL - list of q-series
              T - max(abs) of coeffs in z-linear combination
              M - max(abs) of exponents in formal product
              Q - highest power of q

GLOBAL VARIABLES : none


SYNOPSIS :
        Cycles through all possible z-linear combinations looking
        for nice products using checkprod. When one is found the
        result of checkprod is printed. The proc returns a list
        of coefficient lists that seem to give nice products.

EXAMPLES :

> with(qseries):
> with(rank):
> RG:=r->add(N(r,10,5*n)*q^n,n=0..200):
> RGL:=[seq(RG(r),r=0..5)]:
> findhom(RGL,q,1,0);
                              {{}}
> findprod(RGL,2,6,80);
                             [0, 1]
                             [0, 1]
                             [2, 1]
                             [2, 1]
                             [0, 1]
                             [0, 1]
    [[0, [-1, -2, -1, 1, 2, 1]], [0, [-1, -2, 1, 2, 0, 0]], 
      [2, [0, 0, -2, -1, 2, 1]], [2, [0, 0, 2, 1, -2, -1]], 
      [0, [1, 2, -1, -2, 0, 0]], [0, [1, 2, 1, -1, -2, -1]]]
> REL1:= RGL[1]+2*RGL[2]+RGL[3]-RGL[4]-2*RGL[5]-RGL[6]:
> series(REL1,q,10);
              2      3       4       5       6       7       8
 1 + 2 q + 4 q  + 7 q  + 12 q  + 17 q  + 26 q  + 37 q  + 53 q 

          9    / 10\
    + 74 q  + O\q  /
> jacprodmake(REL1,q,50);
/                    (11/2)                     (1/2)\//
\JAC(0, 10, infinity)       JAC(5, 10, infinity)     / \

                      2                                           
  JAC(1, 10, infinity)  JAC(2, 10, infinity) JAC(3, 10, infinity) 

                      \
  JAC(4, 10, infinity)/
;
> REL2:=2*RGL[3]+RGL[4]-2*RGL[5]-RGL[6]:
> series(REL2,q,10);
 2      3      4      5       6       7       8       9    / 10\
q  + 3 q  + 5 q  + 7 q  + 11 q  + 17 q  + 25 q  + 35 q  + O\q  /
> jacprodmake(REL2,q,100);
     / 2                     (35/2)                      
     \q  JAC(0, 40, infinity)       JAC(2, 40, infinity) 

                            (1/2)\//                    3 
       JAC(20, 40, infinity)     / \JAC(1, 40, infinity)  

                           2                     2 
       JAC(4, 40, infinity)  JAC(6, 40, infinity)  

                           2                      2 
       JAC(9, 40, infinity)  JAC(11, 40, infinity)  

                            2                      2 
       JAC(14, 40, infinity)  JAC(16, 40, infinity)  

                            3\
       JAC(19, 40, infinity) /


DISCUSSION :
    We find three possible z-linear combinations of the q-series in RGL
    that give nice products. It seems
    sum( (N(0,10,5*n) + 2*N(1,10,5*n) + N(2,10,5*n) 
        - N(3,10,5*n) - 2*N(4,10,5*n) - N(5,10,5*n))*q^n )
    and
    sum( (2*N(2,10,5*n) + N(3,10,5*n) - 2*N(4,10,5*n) - N(5,10,5*n))*q^n )
    are nice theta-products.
    
    Here N(r,t,n) = number of partitions of n with rank r mod t.
    We have used the rank package.

SEE ALSO :

checkprod