FUNCTION :  ETA[provemodfuncGAMMA0id] - prove an eta-product identity        

CALLING SEQUENCE :  provemodfuncGAMMA0id(etaid,N)                                
PARAMETERS :      
   etaid = sum of modular functions on Gamma[0](N)           
           Each term in the sum is a eta-quotient to base N. 
   N     = positive integer
                                                            


GLOBAL VARIABLES : 
    qcheck,modfunccheck, totcheck, _ORDS,jptmp,jpqd,eptmp,gltmp,
    etaPRODL,GPL,COFS,conpres,CONTERMS,mintottmp,consL,MFLB,
    xprint

SYNOPSIS :   
    Returns min power of q needed to verify eta-quotient identity.
    Also option of proving identity by computing anough terms.

EXAMPLES :   
    Let 
    P = eta(tau)^3*eta(3*tau)^3/eta(2*tau)^3/eta(6*tau)^3
    Q = eta(tau)^6*eta(6*tau)^6/eta(2*tau)^6/eta(3*tau)^6

    We prove the identity 

    -Q + 1/Q = P + 8/P


> with(qseries):
> with(ETA);
[Ffind, Fricke, GPmake, POWERPq, POWERPqMODP, POWERq, POWERqMODP, UpLB, 
  cuspORD, cuspORDS, cuspORDSnotoo, cuspmake, cuspord, etaCOF, etaCONSTANT,
  etaWe, etamult, etanormalid, etaprodWe, etaprodtoqseries, etaprodtoqseries2, 
  jacbotstar, jactopstar, mintotGAMMA0ORDS, printcuspORDS, printcuspords, 
  provemodfuncGAMMA0id, vetainf, vp]

> P:=eta(tau)^3*eta(3*tau)^3/eta(2*tau)^3/eta(6*tau)^3;
                                    3           3 
                            eta(tau)  eta(3 tau)  
                           -----------------------
                                     3           3
                           eta(2 tau)  eta(6 tau) 
> Q:=eta(tau)^6*eta(6*tau)^6/eta(2*tau)^6/eta(3*tau)^6;
                                    6           6 
                            eta(tau)  eta(6 tau)  
                           -----------------------
                                     6           6
                           eta(2 tau)  eta(3 tau) 
> EID0:=expand((-Q + 1/Q - P - 8/P));
           6           6              6           6            3           3 
   eta(tau)  eta(6 tau)     eta(2 tau)  eta(3 tau)     eta(tau)  eta(3 tau)  
- ----------------------- + ----------------------- - -----------------------
            6           6            6           6              3           3
  eta(2 tau)  eta(3 tau)     eta(tau)  eta(6 tau)     eta(2 tau)  eta(6 tau) 

                 3           3
     8 eta(2 tau)  eta(6 tau) 
   - -------------------------
               3           3  
       eta(tau)  eta(3 tau)   

> etanormalid(EID0);
We divide the eta-prod identity by 1/eta(tau)^6/eta(6*tau)^6*eta(2*tau)^6*eta(3*tau)^6.
                     12           12                 9           3 
             eta(tau)   eta(6 tau)           eta(tau)  eta(6 tau)  
          - ------------------------- + 1 - -----------------------
                      12           12                 3           9
            eta(2 tau)   eta(3 tau)         eta(3 tau)  eta(2 tau) 

                         3           9
               8 eta(tau)  eta(6 tau) 
             - -----------------------
                         9           3
               eta(3 tau)  eta(2 tau) 
> EID1:=%;
> xprint:=false:
> provemodfuncGAMMA0id(EID2,6);
"TERM ", 1, "of ", 4, " *****************"
"TERM ", 2, "of ", 4, " *****************"
"TERM ", 3, "of ", 4, " *****************"
"TERM ", 4, "of ", 4, " *****************"
"mintotord = ", -2
"TO PROVE the identity we need to show that v[oo](ID) > ", 2
*** There were NO errors. 
*** o Each term was modular function on
      Gamma0(6). 
*** o We also checked that the total order of
      each term was zero.
"*** WARNING: some terms were constants. ***"
"See array CONTERMS."
To prove the identity we will need to verify if up to 
q^(2).
Do you want to prove the identity? (yes/no)
You entered yes.
We verify the identity to O(q^(14)).
RESULT: The identity holds to O(q^(14)).
CONCLUSION: This proves the identity since we had only
            to show that v[oo](ID) > 2.
> 

DISCUSSION :

SEE ALSO :