# Why can Mathematica solve integral(a)+integral(b), but not integral(a+b)?

I am new to Mathematica and came across the following problem. The integral at hand cannot be solved.

$$\text{Integrate}\left[\frac{2 \left(3 t \epsilon \text{Li}_2(t)+3 \epsilon \text{Li}_2\left(-\frac{1}{t}\right)-3 \epsilon \text{Li}_2\left(\frac{t-1}{t}\right)+6 \epsilon \text{Li}_2(-t)-6 \epsilon \text{Li}_2\left(\frac{t}{t+1}\right)-\pi ^2 t^2 \epsilon +12 t^2 \epsilon +3 t^2+12 t \epsilon +3 \epsilon \log (1-t) \log (t)+3 \epsilon \log (t) \log (t+1)+3 t-3 \log (t+1)\right)}{3 t (t+1)},\{t,0,1\}\right]$$

Nevertheless the splitted integral can be solved.

$$\text{Integrate}\left[\frac{2 \left(3 t+3 t^2+12 t \epsilon +12 t^2 \epsilon -\pi ^2 t^2 \epsilon \right)}{3 t (1+t)},\{t,0,1\}\right]+\text{Integrate}\left[\frac{2 (3 \epsilon \log (1-t) \log (t)-3 \log (1+t)+3 \epsilon \log (t) \log (1+t))}{3 t (1+t)},\{t,0,1\}\right]+\text{Integrate}\left[\frac{2 \left(3 \epsilon \text{Li}_2\left(-\frac{1}{t}\right)-3 \epsilon \text{Li}_2\left(\frac{-1+t}{t}\right)+6 \epsilon \text{Li}_2(-t)+3 t \epsilon \text{Li}_2(t)-6 \epsilon \text{Li}_2\left(\frac{t}{1+t}\right)\right)}{3 t (1+t)},\{t,0,1\}\right] = \epsilon \left(-\frac{5 \zeta (3)}{2}+\frac{1}{12} \left(-105 \zeta (3)-8 \log ^3(2)+8 \pi ^2 \log (2)\right)+\frac{1}{3} \left(24+\pi ^2 (\log (4)-2)\right)+\frac{1}{12} \pi ^2 \log (64)\right)-\frac{\pi ^2}{6}+2+\log ^2(2)$$

What ist the reason for this issue? I thought that Mathematica tries to solve as much as possible and gives the unsolved parts as an integral.

This is a known problem with the standard Mathematica Integrate function. Therefore I wrote (a long long time ago) Integrate2 in FeynCalc ( a package for High Energy Physics which you can easily install from http://www.feyncalc.org) :

Needs["FeynCalc"];
AbsoluteTiming[
li2 = PolyLog[2, #1] & ;
int = 2*((3*t*e*li2[t] + 3*e*li2[-t^(-1)] -
3*e*li2[(t - 1)/t] + 6*e*li2[-t] -
6*e*li2[t/(t + 1)] - Pi^2*t^2*e + 12*t^2*e +
3*t^2 + 12*t*e + 3*e*Log[1 - t]*Log[t] +
3*e*Log[t]*Log[t + 1] + 3*t - 3*Log[t + 1])/
(3*t*(t + 1))); Collect[
Integrate2[int, {t, 0, 1}] /. Zeta2 -> Zeta[2], e]]
`

• Thanks a lot. I used FeynCalc some time ago but was not aware that it also provides improved integration routines. It is much faster than the standard function. Nov 23, 2018 at 10:47
• Integrate2 uses Integrate3 which is basically just a table lookup function (find the implemented list here) Nov 23, 2018 at 11:22