FUNCTION : processjacid - processes jacprod identity CALLING SEQUENCE : processjacid() processjacid(ratjac) PARAMETERS : ratjac - rational function of jacprods SYNOPSIS : Simplifies ratjac. Does mixedjac2jac of numerator. The divides by th term with the lowest power of q. EXAMPLES : > with(thetaids): > with(qseries): > > processjacid(); ------------------------------------------------------------- processjacid(ratjac) ratjac is rational function of theta functions. This function calls mixedjac2jac. This proc expands the numerator a jacprodcombo. Then uses mixedjac2jac and renormalizes new jacprodcombo by dividing by the term with the lowest power of q. ------------------------------------------------------------- > > E:=n->etaq(q,n,500): > f:=(a,b,T)->add(a^(j*(j+1)/2)*b^(j*(j-1)/2),j=-T..T): > CHOIID1:=E(4)^2*E(10)^4*E(20)/E(2)/E(5)^2/E(8)/f(-q^2,-q^18,20) > /f(-q^16,-q^24,20) > -( E(5)*E(10)*f(-q^4,-q^6,20)/f(-q^2,-q^3,20)/f(-q^2,-q^8,20) > -q^3*subs(q=-q^20,E(1))*E(40)*f(-q^8,-q^32,20)/f(q^4,-q^16,20) > /f(-q^16,-q^24,20) > +q^6*E(40)*E(80)*f(-q^8,-q^32,20)/f(-q^16,-q^24,20) > /f(-q^32,-q^48,20)): > JJ:= qs2jaccombo(CHOIID1,q,200); 15/2 JJ := JAC(0, 40, infinity) JAC(4, 40, infinity) JAC(10, 40, infinity) 3/2 / 2 JAC(12, 40, infinity) JAC(20, 40, infinity) / (JAC(2, 40, infinity) / 2 JAC(5, 40, infinity) JAC(6, 40, infinity) JAC(14, 40, infinity) 2 2 JAC(15, 40, infinity) JAC(16, 40, infinity) JAC(18, 40, infinity) ) 3 JAC(0, 10, infinity) JAC(4, 10, infinity) 3 - ------------------------------------------ + q JAC(4, 80, infinity) 2 JAC(2, 10, infinity) JAC(3, 10, infinity) 3/2 JAC(0, 80, infinity) JAC(32, 80, infinity) JAC(36, 80, infinity) 1/2 / 2 2 JAC(40, 80, infinity) / (JAC(16, 80, infinity) JAC(24, 80, infinity) / ) 6 3/2 1/2 q JAC(8, 80, infinity) JAC(0, 80, infinity) JAC(40, 80, infinity) - ------------------------------------------------------------------------ JAC(16, 80, infinity) JAC(24, 80, infinity) > JJ2:=jacnormalid(JJ); 2 15/2 JJ2 := - JAC(2, 10, infinity) JAC(3, 10, infinity) JAC(0, 40, infinity) JAC(4, 40, infinity) JAC(10, 40, infinity) JAC(12, 40, infinity) 3/2 / 3 JAC(20, 40, infinity) / (JAC(0, 10, infinity) JAC(4, 10, infinity) / 2 2 JAC(2, 40, infinity) JAC(5, 40, infinity) JAC(6, 40, infinity) 2 JAC(14, 40, infinity) JAC(15, 40, infinity) JAC(16, 40, infinity) 2 2 3 JAC(18, 40, infinity) ) + 1 - JAC(2, 10, infinity) JAC(3, 10, infinity) q 3/2 JAC(4, 80, infinity) JAC(0, 80, infinity) JAC(32, 80, infinity) 1/2 / 3 JAC(36, 80, infinity) JAC(40, 80, infinity) / (JAC(0, 10, infinity) / 2 2 JAC(4, 10, infinity) JAC(16, 80, infinity) JAC(24, 80, infinity) ) + 2 6 JAC(2, 10, infinity) JAC(3, 10, infinity) q JAC(8, 80, infinity) 3/2 1/2 / 3 JAC(0, 80, infinity) JAC(40, 80, infinity) / (JAC(0, 10, infinity) / JAC(4, 10, infinity) JAC(16, 80, infinity) JAC(24, 80, infinity)) > JJ3:=processjacid(JJ); 2 2 2 JJ3 := 1 - JAC(16, 80, infinity) JAC(24, 80, infinity) JAC(5, 80, infinity) 2 2 2 JAC(6, 80, infinity) JAC(14, 80, infinity) JAC(15, 80, infinity) 2 2 2 JAC(25, 80, infinity) JAC(26, 80, infinity) JAC(34, 80, infinity) 2 / JAC(35, 80, infinity) / (JAC(3, 80, infinity) JAC(7, 80, infinity) / 2 3 JAC(8, 80, infinity) JAC(12, 80, infinity) JAC(13, 80, infinity) 2 JAC(17, 80, infinity) JAC(20, 80, infinity) JAC(23, 80, infinity) 3 2 JAC(27, 80, infinity) JAC(28, 80, infinity) JAC(32, 80, infinity) 2 JAC(33, 80, infinity) JAC(37, 80, infinity)) + JAC(2, 80, infinity) 2 2 JAC(18, 80, infinity) JAC(22, 80, infinity) JAC(32, 80, infinity) 2 3 2 JAC(38, 80, infinity) q JAC(5, 80, infinity) JAC(6, 80, infinity) 2 2 JAC(14, 80, infinity) JAC(15, 80, infinity) JAC(25, 80, infinity) 2 / JAC(26, 80, infinity) JAC(34, 80, infinity) JAC(35, 80, infinity) / ( / 12 JAC(0, 80, infinity) JAC(10, 80, infinity) JAC(12, 80, infinity) 3 JAC(16, 80, infinity) JAC(20, 80, infinity) JAC(24, 80, infinity) 2 JAC(28, 80, infinity) JAC(30, 80, infinity)) - JAC(2, 80, infinity) 2 2 JAC(8, 80, infinity) JAC(18, 80, infinity) JAC(22, 80, infinity) 2 6 2 JAC(38, 80, infinity) q JAC(5, 80, infinity) JAC(6, 80, infinity) 2 2 JAC(14, 80, infinity) JAC(15, 80, infinity) JAC(25, 80, infinity) 2 / JAC(26, 80, infinity) JAC(34, 80, infinity) JAC(35, 80, infinity) / ( / 12 JAC(0, 80, infinity) JAC(4, 80, infinity) JAC(10, 80, infinity) 3 JAC(12, 80, infinity) JAC(20, 80, infinity) JAC(28, 80, infinity) JAC(30, 80, infinity) JAC(36, 80, infinity)) > series(jac2series(JJ2-JJ3,300),q,300); 300 O(q ) SEE ALSO : jacnormalid