public class Bessel
extends java.lang.Object
Constructor and Description |
---|
Bessel() |
Modifier and Type | Method and Description |
---|---|
static 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.
|
static double |
j(double x,
double alpha)
Calculates Bessel functions J_{alpha} (x) for non-negative argument x, and order alpha.
|
static 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.
|
static double |
y(double x,
double alpha)
This routine calculates Bessel functions Y_{alpha} (x) for non-negative argument X, and order alpha.
|
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:
Latest modification: March 19, 1990
@author W. J. Cody
Applied Mathematics Division
Argonne National Laboratory
Argonne, IL 60439
x
- Non-negative argument for which J's are to be calculated.alpha
- Order for which J's are to be calculated.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:
Latest modification: March 19, 1990
@author Modified by: W. J. Cody
Applied Mathematics Division
Argonne National Laboratory
Argonne, IL 60439
x
- Non-negative argument for which Y's are to be calculated.alpha
- Order for which Y's are to be calculated.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:
Latest modification: May 30, 1989
@author Modified by: W. J. Cody and L. Stoltz
Applied Mathematics Division
Argonne National Laboratory
Argonne, IL 60439
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.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:
Latest modification: May 30, 1989
@author Modified by: W. J. Cody and L. Stoltz
Applied Mathematics Division
Argonne National Laboratory
Argonne, IL 60439
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.