.. index:: single: psi function single: digamma function single: polygamma functions The polygamma functions of order :math:`n` are defined by .. only:: not texinfo .. math:: \psi^{(n)}(x) = \left(d \over dx\right)^n \psi(x) = \left(d \over dx\right)^{n+1} \log(\Gamma(x)) .. only:: texinfo :: \psi^{(n)}(x) = (d/dx)^n \psi(x) = (d/dx)^{n+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`. Digamma Function ---------------- .. function:: double gsl_sf_psi_int (int n) int gsl_sf_psi_int_e (int n, gsl_sf_result * result) These routines compute the digamma function :math:`\psi(n)` for positive integer :data:`n`. The digamma function is also called the Psi function. .. Domain: n integer, n > 0 .. Exceptional Return Values: GSL_EDOM .. function:: double gsl_sf_psi (double x) int gsl_sf_psi_e (double x, gsl_sf_result * result) These routines compute the digamma function :math:`\psi(x)` for general :data:`x`, :math:`x \ne 0`. .. Domain: x != 0.0, -1.0, -2.0, ... .. Exceptional Return Values: GSL_EDOM, GSL_ELOSS .. function:: double gsl_sf_psi_1piy (double y) int gsl_sf_psi_1piy_e (double y, gsl_sf_result * result) These routines compute the real part of the digamma function on the line :math:`1 + i y`, :math:`\Re[\psi(1 + i y)]`. .. exceptions: none .. Exceptional Return Values: none Trigamma Function ----------------- .. function:: double gsl_sf_psi_1_int (int n) int gsl_sf_psi_1_int_e (int n, gsl_sf_result * result) These routines compute the Trigamma function :math:`\psi'(n)` for positive integer :math:`n`. .. Domain: n integer, n > 0 .. Exceptional Return Values: GSL_EDOM .. function:: double gsl_sf_psi_1 (double x) int gsl_sf_psi_1_e (double x, gsl_sf_result * result) These routines compute the Trigamma function :math:`\psi'(x)` for general :data:`x`. .. Domain: x != 0.0, -1.0, -2.0, ... .. Exceptional Return Values: GSL_EDOM, GSL_ELOSS Polygamma Function ------------------ .. function:: double gsl_sf_psi_n (int n, double x) int gsl_sf_psi_n_e (int n, double x, gsl_sf_result * result) These routines compute the polygamma function :math:`\psi^{(n)}(x)` for :math:`n \ge 0`, :math:`x > 0`. .. Domain: n >= 0, x > 0.0 .. Exceptional Return Values: GSL_EDOM