Bug introduced in 6.0 or earlier and fixed in 10.3.0
For large half-integer arguments of the PolyGamma[]
function, FunctionExpand[]
or FullSimplify[]
return strange, error-like, expressions
FunctionExpand[PolyGamma[0, 1051/2]]
(* => ... + System`PolyGammaDump`res$14430 *)
or even
(* Hold[RuleCondition[$ConditionHold[$ConditionHold[
System`PolyGammaDump`res$5680]],
Head[System`PolyGammaDump`res$5680] =!= DirectedInfinity]] *)
These, combined further with simple algebraic expressions like +
, give
FunctionExpand[PolyGamma[0, 1051/2] + 1]
(* => ... + Hold[Fail] *)
(why Hold[Fail]
? and not some message?) This "error" does not appear when I decrease the argument of PolyGamma[]
:
FunctionExpand[PolyGamma[0, 21/2]]
(* 62075752/14549535 - EulerGamma - Log[4] *)
Is this a bug of my Mathematica version (10.0.2.0 for Mac OS X)? Recurrence identities for polygamma should be implemented in Mathematica (compare output of PolyGamma[0, 10/2 + 1] - PolyGamma[0, 10/2]
and PolyGamma[0, 2001/2 + 1] - PolyGamma[0, 2001/2]
); how can one trace that bug and possibly overcome it?
Gamma[]
is just evaluated, forHarmonicNumber[]
I do get the same as forPolyGamma[]
. $\endgroup$ – mmal Sep 2 '15 at 14:05Block[{$RecursionLimit = Infinity}, FunctionExpand[PolyGamma[1051/2]]]
? $\endgroup$ – J. M.'s ennui♦ Sep 2 '15 at 14:08