Package de.tu_bs.isbs.util.math
Class BesselIntegral
java.lang.Object
de.tu_bs.isbs.util.math.BesselIntegral
public class BesselIntegral
extends java.lang.Object
Computes Infinite Integrals Involving the Product of Two Bessel Functions.
Methods for infinite integrals of the form I(alpha, beta, lambda; a, b, s) := Integral( J_alpha(a*x) * J_beta(b*x) * x**lambda * exp(-s*x) * dx) from 0 to infinity for some special cases of integers alpha, beta, lambda, and non-negative real values a, b and s. Most formulas have been taken from [KB, Tables 1-3] and [ENS]. The computation of complete elliptic integrals is done using B. C. Carlson's functions DRF, DRD, DRJ (from the SLATEC library). [KB] Eduardo Kausel and Mirza M. Irfan Baig. "Laplace transform of products of Bessel functions: A visitation of earlier formulas." Quart. Appl. Math. 70 (2012): 77--97. [ENS] G. Eason, B. Noble and I. N. Sneddon. "On Certain Integrals of Lipschitz-Hankel Type Involving Products of Bessel Functions". Phil. Trans. R. Soc. Lond. A 1955 247, 529-551 TODO: weitere Spezialfälle implementieren. TODO: Anmerkungen zur Berechnung/Genauigkeit ergänzen. U := (a+b)^2+s^2 V := (a-b)^2+s^2 k' := 1-k^2 = V/U k = sqrt(a*b)/(a+b) Für (b->0 und s->0) [...] s -> 0 ==> one_minus_k2 -> (a-b)^2/(a+b)^2 a == b ==> one_minus_k2 -> s/s == 1. 1-k^2 ändert sich zwangsläufig sprunghaft für s << b, wenn b->a (beim Übergang von b+-eps=a zu b=a). ...
- Author:
- Stefan Reiser (s.reiser@tu-bs.de)
-
Method Summary
Modifier and Type Method Description static double
I_1_0_0(double a, double b, double s)
I(1,0,0; a,b,s)static double
I_1_0_1(double a, double b, double s)
I(1,0,1; a,b,s)static double
I_1_0_m1(double a, double b, double s)
I(1,0,-1; a,b,s)static double
I_1_1_0(double a, double b, double s)
I(1,1,0; a,b,s)static double
I_1_1_1(double a, double b, double s)
I(1,1,1; a,b,s)static double
I_1_1_m1(double a, double b, double s)
I(1,1,-1; a,b,s)static void
main(java.lang.String[] args)
-
Method Details
-
I_1_0_0
public static double I_1_0_0(double a, double b, double s)I(1,0,0; a,b,s)- Parameters:
a
-b
-s
-- Returns:
-
I_1_0_1
public static double I_1_0_1(double a, double b, double s)I(1,0,1; a,b,s)- Parameters:
a
-b
-s
-- Returns:
-
I_1_0_m1
public static double I_1_0_m1(double a, double b, double s)I(1,0,-1; a,b,s)- Parameters:
a
-b
-s
-- Returns:
-
I_1_1_0
public static double I_1_1_0(double a, double b, double s)I(1,1,0; a,b,s)- Parameters:
a
-b
-s
-- Returns:
-
I_1_1_1
public static double I_1_1_1(double a, double b, double s)I(1,1,1; a,b,s)- Parameters:
a
-b
-s
-- Returns:
-
I_1_1_m1
public static double I_1_1_m1(double a, double b, double s)I(1,1,-1; a,b,s)- Parameters:
a
-b
-s
-- Returns:
-
main
public static void main(java.lang.String[] args) throws Xermsg.SlatecException, java.io.FileNotFoundException- Throws:
Xermsg.SlatecException
java.io.FileNotFoundException
-