@cindex psi function
@cindex digamma function
@cindex polygamma functions

The polygamma functions of order @math{m} defined by
@c{$\psi^{(m)}(x) = (d/dx)^m \psi(x) = (d/dx)^{m+1} \log(\Gamma(x))$}
@math{\psi^@{(m)@}(x) = (d/dx)^m \psi(x) = (d/dx)^@{m+1@} \log(\Gamma(x))},
where @math{\psi(x) = \Gamma'(x)/\Gamma(x)} is known as the digamma function.
These functions are declared in the header file @file{gsl_sf_psi.h}.

@menu
* Digamma Function::            
* Trigamma Function::           
* Polygamma Function::          
@end menu

@node Digamma Function
@subsection Digamma Function

@deftypefun double gsl_sf_psi_int (int @var{n})
@deftypefunx int gsl_sf_psi_int_e (int @var{n}, gsl_sf_result * @var{result})
These routines compute the digamma function @math{\psi(n)} for positive
integer @var{n}.  The digamma function is also called the Psi function.
@comment Domain: n integer, n > 0
@comment Exceptional Return Values: GSL_EDOM
@end deftypefun


@deftypefun double gsl_sf_psi (double @var{x})
@deftypefunx int gsl_sf_psi_e (double @var{x}, gsl_sf_result * @var{result})
These routines compute the digamma function @math{\psi(x)} for general
@math{x}, @math{x \ne 0}.
@comment Domain: x != 0.0, -1.0, -2.0, ...
@comment Exceptional Return Values: GSL_EDOM, GSL_ELOSS
@end deftypefun


@deftypefun double gsl_sf_psi_1piy (double @var{y})
@deftypefunx int gsl_sf_psi_1piy_e (double @var{y}, gsl_sf_result * @var{result})
These routines compute the real part of the digamma function on the line
@math{1+i y}, @math{Re[\psi(1 + i y)]}.
@comment exceptions: none
@comment Exceptional Return Values: none
@end deftypefun


@node Trigamma Function
@subsection Trigamma Function

@deftypefun double gsl_sf_psi_1_int (int @var{n})
@deftypefunx int gsl_sf_psi_1_int_e (int @var{n}, gsl_sf_result * @var{result})
These routines compute the Trigamma function @math{\psi'(n)} for
positive integer @math{n}.
@comment Domain: n integer, n > 0 
@comment Exceptional Return Values: GSL_EDOM
@end deftypefun

@deftypefun double gsl_sf_psi_1 (double @var{x})
@deftypefunx int gsl_sf_psi_1_e (double @var{x}, gsl_sf_result * @var{result})
These routines compute the Trigamma function @math{\psi'(x)} for
general @math{x}.
@comment Domain: x != 0.0, -1.0, -2.0, ...
@comment Exceptional Return Values: GSL_EDOM, GSL_ELOSS
@end deftypefun

@node Polygamma Function
@subsection Polygamma Function

@deftypefun double gsl_sf_psi_n (int @var{m}, double @var{x})
@deftypefunx int gsl_sf_psi_n_e (int @var{m}, double @var{x}, gsl_sf_result * @var{result})
These routines compute the polygamma function @c{$\psi^{(m)}(x)$}
@math{\psi^@{(m)@}(x)} for
@c{$m \ge 0$}
@math{m >= 0}, @math{x > 0}.  
@comment Domain: m >= 0, x > 0.0
@comment Exceptional Return Values: GSL_EDOM
@end deftypefun
