DPSI 3 "03 August 2000" "Version 1.00"

Table of contents


NAME

dpsi - Double-precision psi(x)

SYNOPSIS

Fortran (77, 90, 95, HPF):
f77 [ flags ] file(s) ... -L/usr/local/lib -lgjl
DOUBLE PRECISION FUNCTION dpsi(x)
DOUBLE PRECISION    x
C (K&R, 89, 99), C++ (98):
cc [ flags ] -I/usr/local/include file(s) ... -L/usr/local/lib -lgjl
Use
#include <gampsi.h>
to get this prototype:
fortran_double_precision dpsi(const fortran_double_precision * x_);

NB: The definition of C/C++ data types fortran_ xxx, and the mapping of Fortran external names to C/C++ external names, is handled by the C/C++ header file. That way, the same function or subroutine name can be used in C, C++, and Fortran code, independent of compiler conventions for mangling of external names in these programming languages.

Last code modification: 03-Aug-2000


DESCRIPTION

Compute and return the value of the psi(x) function for double-precision x.

The psi(x) function is the logarithmic derivative of the Gamma(x) function:

psi(x) = d/dx (Gamma(x)) / Gamma(x) = d/dx (ln Gamma(x))

This code correctly handles the case where x is NaN, for which psi(NaN) is a NaN, and the case where x is sufficiently large and positive, or takes one of the integer values 0, -1, -2, -3, ..., for which psi(x) = +Infinity, a special value in IEEE 754 arithmetic.

This code is derived from code given by

W. J. Cody
Algorithm 715: SPECFUN --- A Portable FORTRAN
Package of Special Function Routines and Test Drivers
ACM Trans. Math. Software 19(1) 22--32, March 1993.

but has been augmented for support of IEEE 754 arithmetic.


SEE ALSO

dgamma(3), dpsiln(3), gamma(3), psi(3), psiln(3), qgamma(3), qpsi(3), qpsiln(3).

AUTHORS

The algorithms and code are described in detail in the paper
Algorithm xxx: Quadruple-Precision Gamma(x) and psi(x) Functions for Real Arguments
in ACM Transactions on Mathematical Software, Volume ??, Number ??, Pages ????--???? and ????--????, 2001, by
Nelson H. F. Beebe
Center for Scientific Computing
University of Utah
Department of Mathematics, 110 LCB
155 S 1400 E RM 233
Salt Lake City, UT 84112-0090
Tel: +1 801 581 5254
FAX: +1 801 581 4148
Email: beebe@math.utah.edu, beebe@acm.org, beebe@computer.org
WWW URL: http://www.math.utah.edu/~beebe
and
James S. Ball
University of Utah
Department of Physics
Salt Lake City, UT 84112-0830
USA
Tel: +1 801 581 8397
FAX: +1 801 581 6256
Email: ball@physics.utah.edu
WWW URL: http://www.physics.utah.edu/people/faculty/ball.html