/** Reduction of Polygamma functions **/

/*K: Psi; digamma functions; polygamma functions; gamma */
/*A: J Gottschalk */
/*S: University of Western Australia */
/*D: September 1984 */

Psi[$x_=$x>1 & Numbp[$x]] :: Ap[Psi[$x-$k]+Sum[1/(%#p+$x),{%#p,-$k,-1}],\
   { Floor[$x]-Natp[$x]}]
Psi[$x_=$x<0 & Numbp[$x]] :: Ap[Psi[$x+$k]-Sum[1/(%#p+$x),{%#p,0,$k-1}],\
   {-Floor[$x]}]

Psi[$x_=Ratp[$x] & Numbp[$x] & 0<$x<1] :: Ap[-Euler-Log[$q]-\
   Pi/2 Cot[Pi $p/$q]+Sum[Cos[2Pi $p %#m/$q] Log[2-2Cos[2Pi %#m/$q]],\
   {%#m,1,Floor[($q-1)/2]}]+If[Evenp[$q],Cos[Pi $p] Log[2],0],{Num[$x],Den[$x]}]
/*R: BMP, vol.1 p.19 */

/* The following are commonly used special cases */
Psi[1/2] : -Euler-2Log[2]
Psi[1/4] : -Euler-Pi/2-3Log[2]
Psi[3/4] : -Euler+Pi/2-3Log[2]
Psi[1]   : -Euler

Psi[$n_=Numbp[$n],$x_=$x>1 & Numbp[$x]] :: Ap[Psi[$n,$x-$k] + \
  (-1)^$n $n!*Sum[1/($x+%#p)^($n+1),{%#p,-$k,-1}],{ Floor[$x]-Natp[$x]}]
Psi[$n_=Numbp[$n],$x_=$x<0 & Numbp[$x]] :: Ap[Psi[$n,$x+$k] - \
  (-1)^$n $n!*Sum[1/($x+%#p)^($n+1),{%#p,0,$k-1}],{-Floor[$x]}]

SPsiV : Psi[1,3/4] -> -16 Catalan + Psi[1,1/4]

_XPsiV[Loaded] : 1

