Computer Physics Communications Program LibraryPrograms in Physics & Physical Chemistry |

[Licence| Download | New Version Template] aeah_v1_0.tar.gz(12 Kbytes) | ||
---|---|---|

Manuscript Title: Integrating products of Bessel functions with an additional exponential or rational factor | ||

Authors: Joris Van Deun, Ronald Cools | ||

Program title: BESSELINTR, BESSELINTC | ||

Catalogue identifier: AEAH_v1_0Distribution format: tar.gz | ||

Journal reference: Comput. Phys. Commun. 178(2008)578 | ||

Programming language: Matlab (version ≥ 6.5), Octave (version ≥ 2.1.69). | ||

Computer: All supporting Matlab or Octave. | ||

Operating system: All supporting Matlab or Octave. | ||

RAM: For k Bessel functions our program needs approximately (500+140k) double precision variables. | ||

Keywords: Quadrature, Bessel functions. | ||

PACS: 02.30.Gp, 02.60.Jh. | ||

Classification: 4.11. | ||

Nature of problem:The problem consists in integrating an arbitrary product of Bessel functions with an additional rational or exponential factor over a semi-infinite interval. Difficulties arise from the irregular oscillatory behaviour and the possible slow decay of the integrand, which prevents truncation at a finite point. | ||

Solution method:The interval of integration is split into a finite and infinite part. The integral over the finite part is computed using Gauss-Legendre quadrature. The integrand on the infinite part is approximated using asymptotic expansions and this approximation is integrated exactly with the aid of the upper incomplete gamma function. In the case where a rational factor is present, this factor is first expanded in a Taylor series around infinity. | ||

Restrictions:Some (and eventually all) numerical accuracy is lost when one or more of the parameters r, c, a or _{i}v grow very large, or when _{i}r becomes small. | ||

Running time:Less than 0.02 s for a simple problem (two Bessel functions, small parameters), a few seconds for a more complex problem (more than six Bessel functions, large parameters), in Matlab 7.4 (R2007a) on a 2.4 GHz AMD Opteron Processor 250. | ||

References: | ||

[1] | J. Van Deun and R. Cools. Algorithm 858: Computing infinite range integrals of an arbitrary product of Bessel functions. ACM Trans. Math. Software, 32(4):580-596, 2006. |

Disclaimer | ScienceDirect | CPC Journal | CPC | QUB |