Class Bessel
- java.lang.Object
-
- jdistlib.math.Bessel
-
public class Bessel extends java.lang.ObjectCollection of Bessel functions.- j is Bessel function of the first kind.
- y is Bessel function of the second kind.
- i is modified Bessel function of the first kind.
- k is modified Bessel function of the third kind.
-
-
Constructor Summary
Constructors Constructor and Description Bessel()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static doublei(double x, double alpha, boolean expo)This routine calculates Bessel functions I_{alpha} (x) for non-negative argument x, and order alpha, with or without exponential scaling.static doublej(double x, double alpha)Calculates Bessel functions J_{alpha} (x) for non-negative argument x, and order alpha.static doublek(double x, double alpha, boolean expo)This routine calculates modified Bessel functions of the third kind, K_{alpha} (x), for non-negative argument x, and order alpha, with or without exponential scaling.static doubley(double x, double alpha)This routine calculates Bessel functions Y_{alpha} (x) for non-negative argument X, and order alpha.
-
-
-
Method Detail
-
j
public static final double j(double x, double alpha)Calculates Bessel functions J_{alpha} (x) for non-negative argument x, and order alpha.
Acknowledgement
This program is based on a program written by David J. Sookne (2) that computes values of the Bessel functions J or I of float argument and long order. Modifications include the restriction of the computation to the J Bessel function of non-negative float argument, the extension of the computation to arbitrary positive order, and the elimination of most underflow.
References:
- Olver, F.W.J., and Sookne, D.J. (1972) "A Note on Backward Recurrence Algorithms"; Math. Comp. 26, 941-947.
- Sookne, D.J. (1973) "Bessel Functions of Real Argument and Integer Order"; NBS Jour. of Res. B. 77B, 125-132.
Latest modification: March 19, 1990
@author W. J. Cody
Applied Mathematics Division
Argonne National Laboratory
Argonne, IL 60439- Parameters:
x- Non-negative argument for which J's are to be calculated.alpha- Order for which J's are to be calculated.
-
y
public static final double y(double x, double alpha)This routine calculates Bessel functions Y_{alpha} (x) for non-negative argument X, and order alpha.
Acknowledgement
This program draws heavily on Temme's Algol program for Y(a,x) and Y(a+1,x) and on Campbell's programs for Y_nu(x). Temme's scheme is used for x < THRESH, and Campbell's scheme is used in the asymptotic region. Segments of code from both sources have been translated into Fortran 77, merged, and heavily modified. Modifications include parameterization of machine dependencies, use of a new approximation for ln(gamma(x)), and built-in protection against over/underflow.
References:
- "Bessel functions J_nu(x) and Y_nu(x) of float order and float argument," Campbell, J. B., Comp. Phy. Comm. 18, 1979, pp. 133-142.
- "On the numerical evaluation of the ordinary Bessel function of the second kind," Temme, N. M., J. Comput. Phys. 21, 1976, pp. 343-350.
Latest modification: March 19, 1990
@author Modified by: W. J. Cody
Applied Mathematics Division
Argonne National Laboratory
Argonne, IL 60439- Parameters:
x- Non-negative argument for which Y's are to be calculated.alpha- Order for which Y's are to be calculated.
-
i
public static final double i(double x, double alpha, boolean expo)This routine calculates Bessel functions I_{alpha} (x) for non-negative argument x, and order alpha, with or without exponential scaling.
Acknowledgement
This program is based on a program written by David J. Sookne (2) that computes values of the Bessel functions J or I of float argument and long order. Modifications include the restriction of the computation to the I Bessel function of non-negative float argument, the extension of the computation to arbitrary positive order, the inclusion of optional exponential scaling, and the elimination of most underflow. An earlier version was published in (3).
References:
- "A Note on Backward Recurrence Algorithms," Olver, F. W. J., and Sookne, D. J., Math. Comp. 26, 1972, pp 941-947.
- "Bessel Functions of Real Argument and Integer Order," Sookne, D. J., NBS Jour. of Res. B. 77B, 1973, pp 125-132.
- "ALGORITHM 597, Sequence of Modified Bessel Functions of the First Kind," Cody, W. J., Trans. Math. Soft., 1983, pp. 242-245.
Latest modification: May 30, 1989
@author Modified by: W. J. Cody and L. Stoltz
Applied Mathematics Division
Argonne National Laboratory
Argonne, IL 60439- Parameters:
x- Non-negative argument for which I's or exponentially scaled I's (I*EXP(-x)) are to be calculated. If I's are to be calculated x must be less than exparg_BESS (=709, when expo == FALSE) or xlrg_BESS_IJ (=1e5, when expo == TRUE)alpha- - Order for which I's or exponentially scaled I's (I*EXP(-x)) are to be calculated.expo- - set true if exponentially scaled I's are to be calculated. Else, if unscaled I's are to be calculated.
-
k
public static final double k(double x, double alpha, boolean expo)This routine calculates modified Bessel functions of the third kind, K_{alpha} (x), for non-negative argument x, and order alpha, with or without exponential scaling.
Acknowledgement
This program is based on a program written by J. B. Campbell (2) that computes values of the Bessel functions K of float argument and float order. Modifications include the addition of non-scaled functions, parameterization of machine dependencies, and the use of more accurate approximations for SINH and SIN.
References:
- "On Temme's Algorithm for the Modified Bessel Functions of the Third Kind," Campbell, J. B., TOMS 6(4), Dec. 1980, pp. 581-586.
- "A FORTRAN IV Subroutine for the Modified Bessel Functions of the Third Kind of Real Order and Real Argument," Campbell, J. B., Report NRC/ERB-925, National Research Council, Canada.
Latest modification: May 30, 1989
@author Modified by: W. J. Cody and L. Stoltz Applied Mathematics Division
Argonne National Laboratory
Argonne, IL 60439- Parameters:
x- Non-negative argument for which K's or exponentially scaled K's (K*EXP(x)) are to be calculated. If K's are to be calculated, X must not be greater than XMAX_BESS_K (=705.342).alpha- Order for which K's or exponentially scaled K's (K*EXP(X)) are to be calculated.expo- - set true if exponentially scaled K's are to be calculated. Else, if unscaled K's are to be calculated.
-
-
DMelt 3.0 © DataMelt by jWork.ORG