public class BesselJ extends Object implements UnivariateFunction
This implementation is based on the rjbesl Fortran routine at Netlib.
From the Fortran code:
This program is based on a program written by David J. Sookne (2) that computes values of the Bessel functions J or I of real argument and integer order. Modifications include the restriction of the computation to the J Bessel function of non-negative real argument, the extension of the computation to arbitrary positive order, and the elimination of most underflow.
References:
| Modifier and Type | Class and Description | 
|---|---|
| static class  | BesselJ.BesselJResultEncapsulates the results returned by  rjBesl(double, double, int). | 
| Constructor and Description | 
|---|
| BesselJ(double order)Create a new BesselJ with the given order. | 
| Modifier and Type | Method and Description | 
|---|---|
| static BesselJ.BesselJResult | rjBesl(double x,
      double alpha,
      int nb)Calculates Bessel functions \(J_{n+alpha}(x)\) for
 non-negative argument x, and non-negative order n + alpha. | 
| double | value(double x)Returns the value of the constructed Bessel function of the first kind,
 for the passed argument. | 
| static double | value(double order,
     double x)Returns the first Bessel function, \(J_{order}(x)\). | 
public BesselJ(double order)
order - order of the function computed when using value(double).public double value(double x)
             throws MathIllegalArgumentException,
                    MathIllegalStateException
value in interface UnivariateFunctionx - ArgumentMathIllegalArgumentException - if x is too large relative to orderMathIllegalStateException - if the algorithm fails to convergepublic static double value(double order,
                           double x)
                    throws MathIllegalArgumentException,
                           MathIllegalStateException
order - Order of the Bessel functionx - ArgumentMathIllegalArgumentException - if x is too large relative to orderMathIllegalStateException - if the algorithm fails to convergepublic static BesselJ.BesselJResult rjBesl(double x, double alpha, int nb)
Before using the output vector, the user should check that nVals = nb, i.e., all orders have been calculated to the desired accuracy. See BesselResult class javadoc for details on return values.
x - non-negative real argument for which J's are to be calculatedalpha - fractional part of order for which J's or exponentially
 scaled J's (\(J\cdot e^{x}\)) are to be calculated. 0 <= alpha < 1.0.nb - integer number of functions to be calculated, nb > 0. The first
 function calculated is of order alpha, and the last is of order
 nb - 1 + alpha.Copyright © 2016–2020 Hipparchus.org. All rights reserved.