This is even simpler (thanks to @CarlWoll):
ClearSystemCache[];
Block[{Zeta = Inactive[Zeta]},
Integrate[Log[1 - x]^5/x^5, {x, 0, 1}]]
Original answer:
Using the Gayley-Villegas trick:
Internal`InheritedBlock[{Zeta},
Unprotect[Zeta];
Zeta[a_Integer /; a > 1] /; ! TrueQ[$in] := Block[{$in = True},
Inactive[Zeta][a]
];
Protect[Zeta];
Integrate[Log[1 - x]^5/x^5, {x, 0, 1}]
]
Note: The integral is actually computed in terms of limits of an expression involving PolyLog[n, 1-x]
(for n = 2,3,4,5
); we could do something similar for PolyLog
as was done for Zeta
above. However PolyLog
actually evaluates to Zeta
first, which is why the above works in this case. I mention it in case PolyLog
does not evaluate to Zeta
in a future version. And it's possible the integral will not be computed in terms of PolyLog
in the future, too, I suppose. In any case, I thought some explanation of why the code happens to work in this case would be helpful. (It will certainly help me a year from now when someone asks why this doesn't work, and I won't remember a thing about it.)