GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis  111
Public Member Functions | List of all members
special_functions_gbl::cfp_besi Interface Reference

Public Member Functions

subroutine wp_besi (X, ALPHA, KODE, N, Y, NZ)
 
subroutine ep_besi (X, ALPHA, KODE, N, Y, NZ)
 Quad precision equivalent of wp_besi. Precision of the results for X=0,1,...,999,1000 and NU=0,1/2,...,99,99+1/2 was compared with Mathematica. The relative error is at most 2*EPS, where EPS = 10^-33. For very large X: X >~ 2000 the results have relative precision around EPS. More...
 

Detailed Description

Warning
Quad precision version not implemented yet.

Member Function/Subroutine Documentation

◆ ep_besi()

subroutine special_functions_gbl::cfp_besi::ep_besi ( real(kind=ep1)  X,
real(kind=ep1)  ALPHA,
integer  KODE,
integer  N,
real(kind=ep1), dimension(*)  Y,
integer  NZ 
)

Quad precision equivalent of wp_besi. Precision of the results for X=0,1,...,999,1000 and NU=0,1/2,...,99,99+1/2 was compared with Mathematica. The relative error is at most 2*EPS, where EPS = 10^-33. For very large X: X >~ 2000 the results have relative precision around EPS.

Here is the call graph for this function:

◆ wp_besi()

subroutine special_functions_gbl::cfp_besi::wp_besi ( real(kind=wp)  X,
real(kind=wp)  ALPHA,
integer  KODE,
integer  N,
real(kind=wp), dimension(*)  Y,
integer  NZ 
)
***PURPOSE  Compute an N member sequence of I Bessel functions
            I/SUB(ALPHA+K-1)/(X), K=1,...,N or scaled Bessel functions
            EXP(-X)*I/SUB(ALPHA+K-1)/(X), K=1,...,N for nonnegative
            ALPHA and X.
***LIBRARY   SLATEC
***CATEGORY  C10B3
***TYPE      REAL(kind=wp) (BESI-S, wp_besi-D)
***KEYWORDS  I BESSEL FUNCTION, SPECIAL FUNCTIONS
***AUTHOR  Amos, D. E., (SNLA)
           Daniel, S. L., (SNLA)
***DESCRIPTION

     Abstract  **** a REAL(kind=wp) routine ****
         wp_besi computes an N member sequence of I Bessel functions
         I/sub(ALPHA+K-1)/(X), K=1,...,N or scaled Bessel functions
         EXP(-X)*I/sub(ALPHA+K-1)/(X), K=1,...,N for nonnegative ALPHA
         and X.  A combination of the power series, the asymptotic
         expansion for X to infinity, and the uniform asymptotic
         expansion for NU to infinity are applied over subdivisions of
         the (NU,X) plane.  For values not covered by one of these
         formulae, the order is incremented by an integer so that one
         of these formulae apply.  Backward recursion is used to reduce
         orders by integer values.  The asymptotic expansion for X to
         infinity is used only when the entire sequence (specifically
         the last member) lies within the region covered by the
         expansion.  Leading terms of these expansions are used to test
         for over or underflow where appropriate.  If a sequence is
         requested and the last member would underflow, the result is
         set to zero and the next lower order tried, etc., until a
         member comes on scale or all are set to zero.  An overflow
         cannot occur with scaling.

         The maximum number of significant digits obtainable
         is the smaller of 14 and the number of digits carried in
         REAL(kind=wp) arithmetic.

     Description of Arguments

         Input      X,ALPHA are REAL(kind=wp)
           X      - X .GE. 0.00_wp
           ALPHA  - order of first member of the sequence,
                    ALPHA .GE. 0.00_wp
           KODE   - a parameter to indicate the scaling option
                    KODE=1 returns
                           Y(K)=        I/sub(ALPHA+K-1)/(X),
                                K=1,...,N
                    KODE=2 returns
                           Y(K)=EXP(-X)*I/sub(ALPHA+K-1)/(X),
                                K=1,...,N
           N      - number of members in the sequence, N .GE. 1

         Output     Y is REAL(kind=wp)
           Y      - a vector whose first N components contain
                    values for I/sub(ALPHA+K-1)/(X) or scaled
                    values for EXP(-X)*I/sub(ALPHA+K-1)/(X),
                    K=1,...,N depending on KODE
           NZ     - number of components of Y set to zero due to
                    underflow,
                    NZ=0   , normal return, computation completed
                    NZ .NE. 0, last NZ components of Y set to zero,
                             Y(K)=0.00_wp, K=N-NZ+1,...,N.

     Error Conditions
         Improper input arguments - a fatal error
         Overflow with KODE=1 - a fatal error
         Underflow - a non-fatal error(NZ .NE. 0)

***REFERENCES  D. E. Amos, S. L. Daniel and M. K. Weston, CDC 6600
                 subroutines IBESS and JBESS for Bessel functions
                 I(NU,X) and J(NU,X), X .GE. 0, NU .GE. 0, ACM
                 Transactions on Mathematical Software 3, (1977),
                 pp. 76-92.
               F. W. J. Olver, Tables of Bessel Functions of Moderate
                 or Large Orders, NPL Mathematical Tables 6, Her
                 Majesty's Stationery Office, London, 1962.
***ROUTINES CALLED  F1MACH, cfp_asyik, cfp_lngam, I1MACH, XERMSG
***REVISION HISTORY  (YYMMDD)
   750101  DATE WRITTEN
   890531  Changed all specific intrinsics to generic.  (WRB)
   890911  Removed unnecessary intrinsics.  (WRB)
   890911  REVISION DATE from Version 3.2
   891214  Prologue converted to Version 4.0 format.  (BAB)
   900315  CALLs to XERROR changed to CALLs to XERMSG.  (THJ)
   900326  Removed duplicate information from DESCRIPTION section.
           (WRB)
   920501  Reformatted the REFERENCES section.  (WRB)
Here is the call graph for this function:

The documentation for this interface was generated from the following file: