last modified: 15-OCT-1993 | catalog | categories | new | search |

NESC9641 SPECFUN2.5.

SPECFUN1, Portable Special FORTRAN Routines with Test Drivers

top ]
1. NAME OR DESIGNATION OF PROGRAM:  SPECFUN2.5.
top ]
2. COMPUTERS
To submit a request, click below on the link of the version you wish to order. Only liaison officers are authorised to submit online requests. Rules for requesters are available here.
Program name Package id Status Status date
SPECFUN2.5 NESC9641/02 Tested 15-OCT-1993

Machines used:

Package ID Orig. computer Test computer
NESC9641/02 Many Computers DEC VAX 6000
top ]
3. DESCRIPTION OF PROGRAM OR FUNCTION

SPECFUN is a collection of transportable FORTRAN subroutines and test drivers to evaluate certain special functions. The individual subroutines are -
   NAME    DESCRIPTION
   ALGAMA  Log gamma function
   DAW     Dawson's integral
   EI      Exponential integrals
   ERF     Error function
   ERFC    Complementary error function
   GAMMA   Gamma function
   I0      Bessel function I-sub-0
   I1      Bessel function I-sub-1
   J0Y0    Bessel functions J-sub-0 and Y-sub-0
   J1Y1    Bessel functions J-sub-1 and Y-sub-1
   K0      Bessel function K-sub-0
   K1      Bessel function K-sub-1
   PSI     Logarithmic derivative of the gamma function
   REN     Random number generator
   RIBESL  Bessel function I-sub-(N,ALPHA)
   RJBESL  Bessel function J-sub-(N,ALPHA)
   RKBESL  Bessel function K-sub-(N,ALPHA)
   RYBESL  Bessel function Y-sub-(N,ALPHA)
   MACHAR  Machine-dependent constants
top ]
4. METHOD OF SOLUTION

SPECFUN generally uses rational minimax approximations for functions of one variable and recurrence relations for functions of two or more variables.
top ]
5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM

Accuracy is targeted at between 18 and 20 significant decimal digits.
top ]
6. TYPICAL RUNNING TIME:
top ]
7. UNUSUAL FEATURES OF THE PROGRAM

Predetermined parameters for a selection of popular machines are included in COMMENTs at the top of SPECFUN programs. Conversion of a program for a particular machine is then a simple matter of determining the proper parameter values,  either from the given values or through computations based upon the  definitions supplied, and inserting them in DATA statements in the routine. The MACHAR program computes machine parameters from a built-in model of the arithmetic system.
top ]
8. RELATED AND AUXILIARY PROGRAMS

Ultimately SPECFUN will contain counterparts for all of the special function programs in FUNPACK2 (NESC 610) as well as programs for additional functions.
top ]
9. STATUS
Package ID Status date Status
NESC9641/02 15-OCT-1993 Tested at NEADB
top ]
10. REFERENCES

- W.J. Cody
  FUNPACK - A Package of Special Function Routines,
  W.R. Cowell, Eds, Sources and Development of Mathematical
  Software, Prentice-Hall, Englewood Cliffs, New Jersey, pp. 49-67,
  1984.
- W.J. Cody
  Implementation and Testing of Function Software,
  P.C. Messina and A. Murli, Ed., Problems and methodologies in
  Mathematical Software Production, Springer-Verlag, New York, pp.
  24-47, 1982.
NESC9641/02, included references:
- W.J. Cody:
  SPECFUN - A Portable Special Function Package
  ANL-MCSD Memorandum, Received (October 1989).
- W.J. Cody and L. Stoltz:
  The Use of Taylor Series to Test Accuracy of Function Programs
  ANL-MCSD Memorandum (July 19, 1989).
- W.J. Cody:
  Performance Evaluation of Programs for the Error and Complementary
  Error Functions
  Preprint MCS-P13-0988 (September 1988).
- W.J. Cody:
  ALGORITHM 665 MACHAR - A Subroutine to Dynamically Determine
  Machine Parameters
  Reprint ACM Vol.14, No.4, PP. 303-311 (December 1988).
- W.J. Cody and L. Stoltz:
  Performance Evaluation of Program for Certain Bessel Functions
  Reprint ACM Vol.15, No.1, pp. 41-48 (March 1989).
- L. Eyberger:
  SPECFUN2.5 Tape Description and Implementation Note
  NESC Note 91-61 (March 14, 1991).
top ]
11. MACHINE REQUIREMENTS:
top ]
12. PROGRAMMING LANGUAGE(S) USED
Package ID Computer language
NESC9641/02 FORTRAN-77
top ]
13. OPERATING SYSTEM UNDER WHICH PROGRAM IS EXECUTED:  designed to be operating system independent.
top ]
14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS

All precision-dependent source statements are duplicated. Statements peculiar to single-precision contain 'CS' in the first two characters, while their immediately following double-precision counterparts contain 'CD'. A precision-specific source is produced by global editing changes of the characters 'CS' or 'CD' to blanks in the first two characters of the appropriate source statements.
top ]
15. NAME AND ESTABLISHMENT OF AUTHORS

          W.J. Cody
          Mathematics and Computer Science Division
          Argonne National Laboratory
top ]
16. MATERIAL AVAILABLE
NESC9641/02
File name File description Records
NESC9641_02.001 Information file 98
NESC9641_02.002 JCL to run the test programs 285
NESC9641_02.003 Preprocessor FORTRAN source program 13
NESC9641_02.004 ALGAMA 283
NESC9641_02.005 DAW 261
NESC9641_02.006 EI 509
NESC9641_02.007 ERF 339
NESC9641_02.008 GAMMA 253
NESC9641_02.009 I0 270
NESC9641_02.010 I1 273
NESC9641_02.011 J0Y0 439
NESC9641_02.012 J1Y1 413
NESC9641_02.013 K0 282
NESC9641_02.014 K1 275
NESC9641_02.015 MACHAR 249
NESC9641_02.016 PSI 261
NESC9641_02.017 REN 38
NESC9641_02.018 RIBESL 440
NESC9641_02.019 RJBESL 506
NESC9641_02.020 RKBESL 493
NESC9641_02.021 RYBESL 442
NESC9641_02.022 ALGTST Test program for ALGAMA 277
NESC9641_02.023 DAWTST Test program for DAW 239
NESC9641_02.024 EITEST Test program for EI 387
NESC9641_02.025 ERFTST Test program for ERF 371
NESC9641_02.026 GAMTST Test program for GAMMA 250
NESC9641_02.027 I0TEST Test program for IO 383
NESC9641_02.028 I1TEST Test program for I1 382
NESC9641_02.029 J0TEST Test program for J0 303
NESC9641_02.030 J1TEST Test program for J1 325
NESC9641_02.031 K0TEST Test program for K0 267
NESC9641_02.032 K1TEST Test program for K1 288
NESC9641_02.033 PSITST Test program for PSI 234
NESC9641_02.034 RITEST Test program for RIBESL 503
NESC9641_02.035 RJTEST Test program for RJBELS 466
NESC9641_02.036 RKTEST Test program for RKBELS 331
NESC9641_02.037 RYTEST Test program for RYBELS 495
NESC9641_02.038 Y0TEST Test program for Y0 288
NESC9641_02.039 Y1TEST Test program for Y1 299
NESC9641_02.040 Output of test ALGTST 135
NESC9641_02.041 Output of test DAWTST 138
NESC9641_02.042 Output of test EITEST 251
NESC9641_02.043 Output of test ERFTST 201
NESC9641_02.044 Output of test GAMTST 153
NESC9641_02.045 Output of test I0TEST 115
NESC9641_02.046 Output of test I1TEST 115
NESC9641_02.047 Output of test J0TEST 94
NESC9641_02.048 Output of test J1TEST 117
NESC9641_02.049 Output of test K0TEST 89
NESC9641_02.050 Output of test K1TEST 91
NESC9641_02.051 Output of test PSITST 137
NESC9641_02.052 Output of test RITEST 167
NESC9641_02.053 Output of test RJTEST 138
NESC9641_02.054 Output of test RKTEST 115
NESC9641_02.055 Output of test RYTEST 144
NESC9641_02.056 Output of test Y0TEST 129
NESC9641_02.057 Output of test Y1TEST 106
top ]
17. CATEGORIES
  • P. General Mathematical and Computing System Routines

Keywords: Bessel functions, error function, gamma function, integrals, special functions.