asa103, a C++ code which evaluates the digamma or psi function, Applied Statistics Algorithm 103, by Jose Bernardo.


The computer code and data files described and made available on this web page are distributed under the MIT license


asa103 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:


ASA121, a C++ code which evaluates the trigamma function.

FN, a C++ code which approximates elementary and special functions using Chebyshev polynomials; functions include Airy, Bessel I, Bessel J, Bessel K, Bessel Y, beta, confluent hypergeometric, cosine integral, Dawson's integral, digamma (psi), error, exponential integral, gamma, hyperbolic cosine integral, hyperbolic sine integral, incomplete gamma, log gamma, logarithmic integral, Pochhammer, psi, sine integral, Spence; by Wayne Fullerton.

TEST_VALUES, a C++ code which contains sample values for a number of distributions.

TOMS708, a FORTRAN90 library which includes routines to evaluate the digamma function.


Original FORTRAN77 version by Jose Bernardo; C++ version by John Burkardt.


  1. Jose Bernardo,
    Algorithm AS 103: Psi ( Digamma ) Function,
    Applied Statistics,
    Volume 25, Number 3, 1976, pages 315-317.

Source Code:

Last revised on 27 January 2020.