FUNCTION : qseries[qs2jaccombo] - convert a sum of q-series to a sum
of jacprods
VERSION: May 6, 2010
CALLING SEQUENCE : qs2jaccombo(f,q,T)
qs2jaccombo(f,q,T,P)
PARAMETERS : f - a sum of q-series
T,P - positive integers
SYNOPSIS :
This function takes the same args as jacprodmake.
In fact it converts each term in a sum to a jacprod
if possible using jacprodmake. If f is not such a sum
an error is returned.
EXAMPLES :
> with(qseries):
> 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)):
> qs2jaccombo(CHOIID1,q,200);
9
JAC(0, 40, infinity) JAC(4, 40, infinity) JAC(10, 40, infinity) JAC(12, 40, infinity)
/JAC(20, 40, infinity)\3/2 / 2 2
|---------------------| / (JAC(2, 40, infinity) JAC(5, 40, infinity)
\JAC(0, 40, infinity) / /
2
JAC(6, 40, infinity) JAC(14, 40, infinity) JAC(15, 40, infinity)
2
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)
2
JAC(0, 80, infinity) JAC(32, 80, infinity) JAC(36, 80, infinity)
/JAC(40, 80, infinity)\1/2 / 2 2
|---------------------| / (JAC(16, 80, infinity) JAC(24, 80, infinity) )
\JAC(0, 80, infinity) / /
6 2 /JAC(40, 80, infinity)\1/2
q JAC(8, 80, infinity) JAC(0, 80, infinity) |---------------------|
\JAC(0, 80, infinity) /
- ------------------------------------------------------------------------
JAC(16, 80, infinity) JAC(24, 80, infinity)
SEE ALSO : jacprodmake