FUNCTION : jac2series - converts a product of theta functions into a product of q-series. CALLING SEQUENCE : jac2series(jacexpr,T) PARAMETERS : jacexpr - product of JAC(i,j, infinity) where i,j are integers and 0 < i < j. = SYNOPSIS : jac2series(jacexp,T) returns a q-series product which agrees with the function corresponding to jacexp to O(q^T). CHANGES : 1.3: o jac2series can now handle JAC(a,b,infinity) when a<0 or a>b. EXAMPLES : > with(qseries): > x:=tripleprod(q,q^5,10); 99 81 70 55 46 34 27 18 13 7 4 x := q + q - q - q + q + q - q - q + q + q - q - q + 1 > y:=jacprodmake(x,q,50); y := JAC(1, 5, infinity) > jac2series(y,50); 70 55 46 34 27 18 13 7 4 -q - q + q + q - q - q + q + q - q - q + 1 > J1:=JAC(-4,5,infinity); J1 := JAC(-4, 5, infinity) > jac2series(J1,20); 27 18 13 7 4 -q - q + q + q - q - q + 1 - ---------------------------------- 4 q > J2:=JAC(6,5,infinity); J2 := JAC(6, 5, infinity) > jac2series(J2,20); 46 34 27 18 13 7 4 q + q - q - q + q + q - q - q + 1 - --------------------------------------------- q > XX:=series( (1- theta4(q,60)^2/theta4(q^5,12)^2)/4/q,q,60); 3 4 5 6 7 8 9 10 11 XX := 1 - q - q + q + 4 q - 4 q - q - 3 q + 3 q + 12 q - 12 q - 2 12 13 14 15 16 17 18 19 20 q - 8 q + 8 q + 31 q - 30 q - 5 q - 20 q + 19 q + 72 q - 21 22 23 24 25 26 27 28 68 q - 12 q - 44 q + 41 q + 154 q - 144 q - 24 q - 90 q + 29 30 31 32 33 34 35 36 84 q + 312 q - 289 q - 48 q - 178 q + 164 q + 603 q - 554 q 37 38 39 40 41 42 43 - 92 q - 336 q + 307 q + 1122 q - 1024 q - 168 q - 612 q + 44 45 46 47 48 49 50 557 q + 2024 q - 1836 q - 300 q - 1087 q + 983 q + 3552 q - 51 52 53 54 55 56 57 3206 q - 522 q - 1880 q + 1692 q + 6088 q - 5472 q - 886 q - 58 59 3180 q + O(q ) > YY:=jacprodmake(XX,q,50); JAC(1, 10, infinity) JAC(3, 10, infinity) YY := ----------------------------------------- 2 JAC(5, 10, infinity) > JJ:=jac2series(YY,60); 96 64 57 33 28 12 9 JJ := (q + q - q - q + q + q - q - q + 1) 88 72 51 39 24 16 7 3 / (q + q - q - q + q + q - q - q + 1) / / 80 45 20 5 2 (2 q - 2 q + 2 q - 2 q + 1) > series(JJ-XX,q,60); 59 O(q ) > Z:=JAC(0,10, infinity); Z := JAC(0, 10, infinity) > jac2series(Z,50); 50 20 10 q - q - q + 1 SEE ALSO : jac2prod, jacprodmake