# Why does Mathematica refuse to evaluate my integral?

Here is the integral for which I want a symbolic result:

Integrate[x^(z - 1)PolyLog[2, x]/(1 + x), {x, 0, 1}]


But the output is the same as the input without any error message. What I expected to get is a function of z, and without this result, I cannot continue my symbolic calculations.

Can anyone help to understand this issue?

• All computer algebra systems, including Mathematica, are limited in their capabilities. Do you have any reason to think there is a closed form? Most integrals don't have one. Maybe the best you can do is numerical methods. Commented Jan 24, 2020 at 17:17
• I find the integral can be performed if you assign a value to $z$. Commented Jan 24, 2020 at 18:18
• Mathematica, and you too, needs to know more about parameter z ! Commented Jan 24, 2020 at 18:28
• Wow great!, I see and I will try right away...Thank you very much for your outstanding answer. I may come back with other questions soon. Kind regards! Commented Jan 27, 2020 at 16:26

You can find a general solution for integer z with the help of FindSequenceFunction and integer sequence search engines.

int1[z_] := Integrate[x^(z - 1)*PolyLog[2, x]/(1 + x), {x, 0, 1}]

int2[n_] := Sum[(-1)^(k + n) HarmonicNumber[k]/k^2, {k, 1, n - 1}] + 1/24 (-1)^n (4 (-1)^n \[Pi]^2 LerchPhi[-1, 1, n] + 15 Zeta[3])

tab = Table[{z, int2[z] == int1[z]}, {z, 1, 10}] // Simplify

(*   {{1, True}, {2, True}, {3, True}, {4, True}, {5, True}, {6, True}, {7,
True}, {8, True}, {9, True}, {10, True}}   *)


We can expand the PolyLog function as a Taylor series and integrate each term, at least for Re[z] > 0. The result can be written in form $$\sum_{n=0}^\infty a_n H(b_n+\frac{z}{2}) \,,$$

where $$H$$ is the HarmonicNumber function. Closed form expressions for $$a_n$$ and $$b_n$$ can be found.

We might start by plotting the integral for real, positive values of $$z$$.

f[z_] := NIntegrate[x^(z - 1) PolyLog[2, x]/(1 + x), {x, 0, 1}]

Plot[f[z], {z, 0, 2},
GridLines -> Automatic, ImageSize -> Small, Frame -> True];


Now we can expand the PolyLog function at $$x_0 = 0$$, evaluate the integral termwise and combine the results to a function $$g(z)$$ like this

With[{nmax = 20, x0 = 0},
s = Series[PolyLog[2, x], {x, x0, nmax}];
t = Table[
Integrate[x^(z - 1) SeriesCoefficient[s, n] (x - x0)^n/(1 + x),
{x, 0, 1}, Assumptions -> Re[z] > 0], {n, 0, nmax}];
g = Simplify[Total@t]
];


Just to show we're on the right track we could plot the $$g(z)$$ and $$f(z)$$, but I won't show the plot here.

Plot[{f[z], g}, {z, 0, 2},
GridLines -> Automatic, ImageSize -> Small, Frame -> True]


The expression for $$g(z)$$ is a little messy. It is a series of terms like 7/288 HarmonicNumber[1 + z/2]. We can extract the $$a_n$$'s and the $$b_n$$'s like this

p = Cases[g, Times[a_, HarmonicNumber[b_]] :> {b, a}];
{bn, an} = Transpose[Sort[p /. z -> 0]];


Then find closed form expressions for $$a_n$$ and $$b_n$$ like this

Clear[a, b, n]
a[0] = an[[1]];
a[n_] = FindSequenceFunction[Most@Rest@an, n]
b[n_] = FindSequenceFunction[Most@Rest@bn, n]
(*  (1 + 2 n)/(2 n^2 (1 + n)^2)  *)
(*  1/2 (-1 + n)  *)


We don't use the first and last terms of the sequence because they don't quite fit the pattern.

Now we are ready to write our final expression for the original integral as

Clear[h]
h[z_, nmax_] := Sum[a[n] HarmonicNumber[b[n] + z/2], {n, 0, nmax}]


Of course, we would need an infinite number of terms for $$h(z)$$ to represent the integral exactly. Numerically, we can get good agreement with a finite number of terms. For example,

Plot[{f[z], h[z, 15]}, {z, 0, 2},
GridLines -> Automatic, ImageSize -> Medium, Frame -> True]


We can increase the agreement by adding more terms, which is necessary for larger values of $$z$$. For instance, to get decent agreement at $$z = 200$$, we might use $$n_{max} = 150$$ or greater.

Not a solution but an extended comment.

For each integer $$z$$ the solution can be found analytically. These solutions consist of a Lerch transcendent, a Zeta function, and a rational number that I am unable to parametrize:

F[z_Integer?Nonnegative] := Integrate[(x^(z-1)*PolyLog[2,x])/(1+x), {x, 0, 1}]

Table[F[z] - (π^2/6*LerchPhi[-1,1,z] + 5/8*(-1)^z*Zeta[3]), {z, 0, 20}] // FullSimplify

(*    {Zeta[3], 0, -1, 5/8, -179/216, 1207/1728, -170603/216000, 155903/216000,
-57395129/74088000, 433990957/592704000, -12276669439/16003008000,
2361589283/3200601600, -3249595002553/4260000729600, 3157791670933/4260000729600,
-7113784138562041/9359221602931200, 6958518361163881/9359221602931200,
-35482726038639437/46796108014656000, 278917903336133521/374368864117248000,
-1392213902396958791873/1839274229408039424000, 1372372969627754044673/1839274229408039424000,
-9537086255033397455599307/12615581939509742409216000}    *)


Maybe at the Math StackExchange you'll have more success at getting a closed-form answer.