This function evaluates a generalization of Pochhammer's symbol.
POCH — Function
value. (Output)
The generalized Pochhammer symbol is Γ(a
+ x)/ Γ(a).
A — The first argument. (Input)
X — The second, differential argument. (Input)
Generic: POCH (A, X)
Specific: The specific interface names are S_POCH and D_POCH.
Single: POCH (A, X)
Double: The double precision function name is DPOCH.
Pochhammer's symbol is (a)n = (a)(a − 1)…(a − n + 1) for n a nonnegative integer. Pochhammer's generalized symbol is defined to be
See GAMMA for the definition of Γ(x).
Note that a straightforward evaluation of Pochhammer's generalized symbol with either gamma or log gamma functions can be especially unreliable when a is large or x is small.
Substantial loss can occur if a + x or a are close to a negative integer unless |x| is sufficiently small. To insure that the result does not overflow or underflow, one can keep the arguments a and a + x well within the range dictated by the gamma function routine GAMMA or one can keep |x| small whenever a is large. POCH also works for a variety of arguments outside these rough limits, but any more general limits that are also useful are difficult to specify.
Informational error
Type Code
3 2 Result of POCH(A, X) is accurate to less than one-half precision because the absolute value of the X is too large. Therefore, A + X cannot be evaluated accurately.
3 2 Result of POCH(A, X) is accurate to less than one-half precision because either A or A + X is too close to a negative integer.
For X a nonnegative integer, POCH(A, X) is just Pochhammer's symbol.
In this example, (1.6)0.8 is computed and printed.
USE POCH_INT
USE UMACH_INT
IMPLICIT NONE
! Declare variables
INTEGER NOUT
REAL A, VALUE, X
! Compute
A = 1.6
X = 0.8
VALUE = POCH(A, X)
! Print the results
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) A, X, VALUE
99999 FORMAT (' POCH(', F6.3, ',', F6.3, ') = ', F6.4)
END
POCH( 1.600, 0.800) = 1.3902
PHONE: 713.784.3131 FAX:713.781.9260 |