ALBETA
This function evaluates the natural logarithm of the complete beta function for positive arguments.
Function Return Value
ALBETA — Function value. (Output)
ALBETA returns ln β(A, B) = ln(Γ(A) Γ(B)/ Γ(A + B)).
Required Arguments
A — The first argument of the BETA function. (Input)
For real arguments, A must be greater than zero.
B — The second argument of the BETA function. (Input)
For real arguments, B must be greater than zero.
FORTRAN 90 Interface
Generic: ALBETA (A, B)
Specific: The specific interface names are S_ALBETA, D_ALBETA, and C_ALBETA.
FORTRAN 77 Interface
Single: ALBETA (A, B)
Double: The double precision function name is DLBETA.
Complex: The complex name is CLBETA.
Description
ALBETA computes ln
β(
a,
b) = ln
β(
b,
a). See
BETA for the definition of
β(
a,
b).
For real arguments, the function ALBETA is defined for a > 0 and b > 0. It returns accurate results even when a or b is very small. It can overflow for very large arguments; this error condition is not detected except by the computer hardware.
For complex arguments, the arguments a, b and a + b must not be close to negative integers (even though some combinations ought to be allowed). The arguments should not be so large that the logarithm of the gamma function overflows (presumably an improbable condition).
Comments
Note that ln β(A, B) = ln β(B, A).
Examples
Example 1
In this example, ln β(2.2, 3.7) is computed and printed.
USE ALBETA_INT
USE UMACH_INT
IMPLICIT NONE
! Declare variables
INTEGER NOUT
REAL A, VALUE, X
! Compute
A = 2.2
X = 3.7
VALUE = ALBETA(A, X)
! Print the results
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) A, X, VALUE
99999 FORMAT (' ALBETA(', F6.3, ',', F6.3, ') = ', F8.4)
END
Output
ALBETA( 2.200, 3.700) = -3.0928
Example 2
In this example, ln β(1.7 + 2.2i, 3.7 + 0.4i) is computed and printed.
USE ALBETA_INT
USE UMACH_INT
IMPLICIT NONE
! Declare variables
INTEGER NOUT
COMPLEX A, B, VALUE
! Compute
A = (1.7, 2.2)
B = (3.7, 0.4)
VALUE = ALBETA(A, B)
! Print the results
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) A, B, VALUE
99999 FORMAT (' ALBETA((', F6.3, ',', F6.3, '), (', F6.3, ',', F6.3, &
')) = (', F6.3, ',', F6.3, ')')
END
Output
ALBETA(( 1.700, 2.200), ( 3.700, 0.400)) = (-3.280,-2.659)