I've defined a function which I call $F$ below, requiring an infinite product. Ultimately, the function $G$ I'm interested in is a finite sum of products and ratios of the infinite product function. I then want to expand $G$ in a power series in the formal parameters $q$ and $y$.

F[q_, y_] := (y^(1/2) - y^(-1/2))*
   Product[(1 - y*(q)^m)*(1 - ((y)^(-1))*q^m), {m, 1, Infinity}];

G[q_, y_, u1_, u2_, N_] := (1/(N + 1))*
   Sum[F[q, q^((b/(N + 1)))*u1*Exp[2*Pi*I*(a/(N + 1))]*y^(-1)]*
     F[q, q^((b/(N + 1)))*u2*Exp[2*Pi*I*(a/(N + 1))]*
        y]/((F[q, q^((b/(N + 1)))*u1*Exp[2*Pi*I*(a/(N + 1))]])*(F[q, 
          q^((b/(N + 1)))*u2*Exp[2*Pi*I*(a/(N + 1))]])), {a, 0, 
     N}, {b, 0, N}];

Series[G[q, y, u1, u2, 1], {q, 0, 2}, {y, 0, 2}]

I'm wondering if there's a more efficient way to get these power series expansions in such a scenario? Even just taking two or three terms in $q$ and $y$ this takes a fair while to compute, and take my word for it, as we ask for slightly more terms, the computation just takes hopelessly long. I think there should be a way to optimize this in a simple way.

In addition, we can see that the coefficients of the expansion will be functions of the parameters $u_{1}$ and $u_{2}$. I know certain of these coefficients vanish, however Mathematica insists on displaying them as extremely complicated functions of these two parameters. Is there a way to apply a simplifying feature to get rid of this? In general for me, I'm only interested in these things completely formally, so I could not care less about branches of square roots, or certain values of the parameters, etc. Is there a way to ask Mathematica to carry out a computation totally formally, and to simplify algebraically as much as possible?

  • 5
    $\begingroup$ QPochhammer[] is built-in, so: F[q_, y_] := Sqrt[y] QPochhammer[1/y, q] QPochhammer[y, q]/(1 - y) $\endgroup$ – J. M. is away Feb 5 '17 at 7:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.