NAG FL Interface
s14cbf (beta_​log_​real)

1 Purpose

s14cbf returns the value of the logarithm of the beta function, lnBa,b, via the routine name.

2 Specification

Fortran Interface
Function s14cbf ( a, b, ifail)
Real (Kind=nag_wp) :: s14cbf
Integer, Intent (Inout) :: ifail
Real (Kind=nag_wp), Intent (In) :: a, b
C Header Interface
#include <nag.h>
double  s14cbf_ (const double *a, const double *b, Integer *ifail)
The routine may be called by the names s14cbf or nagf_specfun_beta_log_real.

3 Description

s14cbf calculates values for lnBa,b where B is the beta function given by
Ba,b = 0 1 ta-1 1-t b-1 dt  
or equivalently
Ba,b = Γa Γb Γa+b  
and Γx is the gamma function. Note that the beta function is symmetric, so that Ba,b=Bb,a.
In order to efficiently obtain accurate results several methods are used depending on the parameters a and b.
Let a0=mina,b and b0=maxa,b. Then:
for a08,
lnB = 0.5 ln 2π -0.5 lnb0 + Δa0 + Δ b0 - Δ a0+b0 - u - v ;  
where for a0<1, for 2<a0<8, a0 is reduced to the interval 1,2 by Ba,b=a0-1a0+b0-1 Ba0-1,b0;
for 1a02,
s14cbf is derived from BETALN in DiDonato and Morris (1992).

4 References

DiDonato A R and Morris A H (1992) Algorithm 708: Significant digit computation of the incomplete beta function ratios ACM Trans. Math. Software 18 360–373

5 Arguments

1: a Real (Kind=nag_wp) Input
On entry: the argument a of the function.
Constraint: a>0.0.
2: b Real (Kind=nag_wp) Input
On entry: the argument b of the function.
Constraint: b>0.0.
3: ifail Integer Input/Output
On entry: ifail must be set to 0, -1 or 1 to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of 0 causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of -1 means that an error message is printed while a value of 1 means that it is not.
If halting is not appropriate, the value -1 or 1 is recommended. If message printing is undesirable, then the value 1 is recommended. Otherwise, the value 0 is recommended. When the value -1 or 1 is used it is essential to test the value of ifail on exit.
On exit: ifail=0 unless the routine detects an error or a warning has been flagged (see Section 6).

6 Error Indicators and Warnings

If on entry ifail=0 or -1, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
ifail=1
On entry, a=value.
Constraint: a>0.0.
On entry, b=value.
Constraint: b>0.0.
ifail=-99
An unexpected error has been triggered by this routine. Please contact NAG.
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
ifail=-399
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
ifail=-999
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

7 Accuracy

s14cbf should produce full relative accuracy for all input arguments.

8 Parallelism and Performance

s14cbf is not threaded in any implementation.

9 Further Comments

None.

10 Example

This example reads values of the arguments a and b from a file, evaluates the function and prints the results.

10.1 Program Text

Program Text (s14cbfe.f90)

10.2 Program Data

Program Data (s14cbfe.d)

10.3 Program Results

Program Results (s14cbfe.r)