Package ffx.numerics.special
Class ModifiedBessel
java.lang.Object
ffx.numerics.special.ModifiedBessel
Implementation of the modified Bessel function of the first kind using Chebyshev polynomials.
Adapted from the CERN "cern.jet.math.tdouble" package as included with the ParallelColt library.
-
Method Summary
-
Method Details
-
i0
public static double i0(double x) Modified zero-order Bessel function.The function is defined as i0(x) = J0( ix ). The range is partitioned into the two intervals [0,8] and (8, infinity). Chebyshev polynomial expansions are employed in each interval.
- Parameters:
x
- input parameter- Returns:
- i0(x)
-
i1
public static double i1(double x) Modified 1st-order Bessel function.The function is defined as i1(x) = -i j1( ix ). The range is partitioned into the two intervals [0,8] and (8, infinity). Chebyshev polynomial expansions are employed in each interval.
- Parameters:
x
- input parameter.- Returns:
- i1(x).
-
i1OverI0
public static double i1OverI0(double x) Compute the ratio of i1(x) to i0(x).- Parameters:
x
- input parameter- Returns:
- i1(x) / i0(x)
-
lnI0
public static double lnI0(double x) Compute the natural log(i0(x)).- Parameters:
x
- input parameter.- Returns:
- the natural log(i0(x)).
-