Chapter 4: Gamma Function and Related Functions

GAMIT

This function evaluates the Tricomi form of the incomplete gamma function.

Function Return Value

GAMIT — Function value.   (Output)

Required Arguments

A — The integrand exponent parameter as per the comments.   (Input)

X — The upper limit of the integral definition of GAMIT.   (Input)
It must be nonnegative.

FORTRAN 90 Interface

Generic:                              GAMIT (A, X)

Specific:                             The specific interface names are S_GAMIT and D_GAMIT.

FORTRAN 77 Interface

Single:                                GAMIT (A, X)

Double:                              The double precision function name is DGAMIT.

Description

The Tricomi's incomplete gamma function is defined to be

where γ(a, x) is the incomplete gamma function. See GAMI for the definition of γ(a, x).

The only general restriction on a is that it must not be too close to a negative integer such that the accuracy of the result is less than half precision. Furthermore, ǀγ*(a, x)ǀ must not underflow or overflow. Although γ*(a, x) is well defined for x >-∞, this algorithm does not calculate γ*(a, x) for negative x.

A slight deterioration of two or three digits of accuracy will occur when GAMIT is very large or very small in absolute value because logarithmic variables are used. Also, if the parameter a is very close to a negative integer (but not quite a negative integer), there is a loss of accuracy which is reported if the result is less than half machine precision.

The function GAMIT is based on a code by Gautschi (1979).

Comments

Informational error

Type Code

3         2                  Result of  GAMIT(A, X) is accurate to less than one-half precision because A is too close to a negative integer.

Example

In this example, γ*(3.2, 2.1) is computed and printed.

 

      USE GAMIT_INT

      USE UMACH_INT

 

      IMPLICIT   NONE

!                                 Declare variables

      INTEGER    NOUT

      REAL       A, VALUE, X

!                                 Compute

      A     = 3.2

      X     = 2.1

      VALUE = GAMIT(A, X)

!                                 Print the results

      CALL UMACH (2, NOUT)

      WRITE (NOUT,99999) A, X, VALUE

99999 FORMAT (' GAMIT(', F6.3, ',', F6.3, ') = ', F6.4)

      END

Output

 

GAMIT( 3.200, 2.100) = 0.0284



http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260