FUNCTION : jac2prod - converts a product of theta functions into q-product form. CALLING SEQUENCE : jac2prod(jacexpr) PARAMETERS : jacexpr - product of JAC(i,j, infinity) where i,j are integers and 0 < i < j. = SYNOPSIS : jac2prod(jacexpr) returns a q-product;ie a product of the a b of functions of the form (q , q ) . oo EXAMPLES : > x:=tripleprod(q,q^5,10); 99 70 46 27 13 4 7 18 34 55 81 x := q - q + q - q + q - q + 1 - q + q - q + q - q + q > jacprodmake(x,q,50); JAC(1, 5, oo) > jac2prod(%); 5 4 5 5 5 (q, q ) (q , q ) (q , q ) oo oo oo > 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 12 XX := 1 - q - q + q + 4 q - 4 q - q - 3 q + 3 q + 12 q - 12 q - 2 q 13 14 15 16 17 18 19 20 - 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 + 84 q + 312 q - 289 q - 48 q - 178 q + 164 q + 603 q 36 37 38 39 40 41 42 - 554 q - 92 q - 336 q + 307 q + 1122 q - 1024 q - 168 q 43 44 45 46 47 48 49 - 612 q + 557 q + 2024 q - 1836 q - 300 q - 1087 q + 983 q 50 51 52 53 54 55 56 + 3552 q - 3206 q - 522 q - 1880 q + 1692 q + 6088 q - 5472 q 57 58 59 - 886 q - 3180 q + O(q ) > jacprodmake(XX,q,50); JAC(1, 10,oo) JAC(3, 10, oo) ---------------------------- 2 JAC(5, 10, oo) > jac2prod(%); 10 9 10 3 10 7 10 (q, q ) (q , q ) (q , q ) (q , q ) oo oo oo oo ------------------------------------------------------ 5 10 4 (q , q ) oo > JAC(0,10, infinity); JAC(0, 10, oo) > jac2prod(%); 10 10 (q , q ) oo SEE ALSO : jac2series, prodmake, etamake