I am facing a problem in evaluating infinite sums of the following form.

As a first thing define the following function

Z[n_] := Product[1/(1 - t^i), {i, 1, n}]

P[list_] := (num = Union[list]; Product[Z[Count[list, num[[i]]]], {i, 1, Length[num]}])

Then consider a sum of the following kind

Sum[P[{i, j}]*t^(-i - j), {i, 0, ∞}, {j, 0, ∞}]

Now, Mathematica behaves in a strange way: it considers the P[{i,j}] factor as if i is always different than j. This does not make sense, since for example I am summing over the couples (2,2) and (3,3).

I believe the problem relies in the way the infinity is considered, since everything works fine with arbitrary high finite sums.

What could I do?

  • 5
    $\begingroup$ You are attempting to have a symbolic summation understand procedurally computed arguments (that is, they require Union and Count). I cannot imagine how one might get this to work in its current form. $\endgroup$ Sep 9, 2014 at 21:26

1 Answer 1


a bit of a cheat maybe:

 Z[n_] := Product[1/(1 - t^i), {i, 1, n}]
 P1[list_] := (Z[1]^2)
 P2[list_] := Z[2]
 Sum[P1[{i, j}]*t^(-i - j), {i, 0, j - 1}, {j, 0, Infinity}] +
 Sum[P2[{j, j}]*t^(-2 j), {j, 0, Infinity}] +
 Sum[P1[{i, j}]*t^(-i - j), {i, j + 1, Infinity}, {j, 0, Infinity}] // Simplify

(t (-(-1 + t) t^-j + (t^2 (3 + t))/(1 + t)^2))/(-1 + t)^4

  • $\begingroup$ This does work, but it doesn't solve the problem at all. Probably it's my fault that I have not explained well. I would like P[list_], defined as it is, to work for any list and not only a list of 2 elements. If for example I have 894 elements in the list, your method of splitting the sum by hand, in order to insert the right factor, will be quite annoying to carry out. $\endgroup$ Jul 12, 2014 at 17:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.