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