nag_complex_log_gamma (s14agc) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_complex_log_gamma (s14agc)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_complex_log_gamma (s14agc) returns the value of the logarithm of the gamma function lnΓz for complex z, .

2  Specification

#include <nag.h>
#include <nags.h>
Complex  nag_complex_log_gamma (Complex z, NagError *fail)

3  Description

nag_complex_log_gamma (s14agc) evaluates an approximation to the logarithm of the gamma function lnΓz defined for Rez>0 by
lnΓz=ln0e-ttz-1dt
where z=x+iy is complex. It is extended to the rest of the complex plane by analytic continuation unless y=0, in which case z is real and each of the points z=0,-1,-2, is a singularity and a branch point.
nag_complex_log_gamma (s14agc) is based on the method proposed by Kölbig (1972) in which the value of lnΓz is computed in the different regions of the z plane by means of the formulae
lnΓz = z-12lnz-z+12ln2π+zk=1K B2k2k2k-1 z-2k+RKz if ​xx00, = lnΓz+n-lnν=0 n-1z+ν if ​x0>x0, = lnπ-lnΓ1-z-lnsinπz if ​x<0,
where n=x0-x, B2k are Bernoulli numbers (see Abramowitz and Stegun (1972)) and x is the largest integer x. Note that care is taken to ensure that the imaginary part is computed correctly, and not merely modulo 2π.
The function uses the values K=10 and x0=7. The remainder term RKz is discussed in Section 7.
To obtain the value of lnΓz when z is real and positive, nag_log_gamma (s14abc) can be used.

4  References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
Kölbig K S (1972) Programs for computing the logarithm of the gamma function, and the digamma function, for complex arguments Comp. Phys. Comm. 4 221–226

5  Arguments

1:     zComplexInput
On entry: the argument z of the function.
Constraint: z.re must not be ‘too close’ (see Section 6) to a non-positive integer when z.im=0.0.
2:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
NE_TOO_CLOSE_INTEGER
On entry, z.re is ‘too close’ to a non-positive integer when z.im=0.0: z.re=value, nintz.re=value.

7  Accuracy

The remainder term RKz satisfies the following error bound:
RKz B2K 2K-1 z1-2K B2K 2K-1 x1-2Kif ​x0.
Thus R107<2.5×10-15 and hence in theory the function is capable of achieving an accuracy of approximately 15 significant digits.

8  Further Comments

None.

9  Example

This example evaluates the logarithm of the gamma function lnΓz at z=-1.5+2.5i, and prints the results.

9.1  Program Text

Program Text (s14agce.c)

9.2  Program Data

Program Data (s14agce.d)

9.3  Program Results

Program Results (s14agce.r)


nag_complex_log_gamma (s14agc) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012