Publication
Title
Integrating products of Bessel functions with an additional exponential or rational factor
Author
Abstract
We provide two MATLAB programs to compute integrals of the form [GRAPHICS] with J(nu i) (x) the Bessel function of the first kind and (real) order vi. The parameter m is a real number such that Sigma(i) nu(i) + m > -1 (to assure integrability near zero), r is real and the numbers c and a(i) are all strictly positive. The program can deliver accurate error estimates. Program summary Program title: BESSELINTR, BESSELINTC Catalogue identifier: AEAH_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEAH_v1-0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 1601 No. of bytes in distributed program, including test data, etc.: 13 161 Distribution format: tar.gz 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 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(i) or vi grow very large, or when 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.
Language
English
Source (journal)
Computer physics communications. - Amsterdam
Publication
Amsterdam : 2008
ISSN
0010-4655
DOI
10.1016/J.CPC.2007.11.010
Volume/pages
178 :8 (2008) , p. 578-590
ISI
000255506500004
Full text (Publisher's DOI)
Full text (publisher's version - intranet only)
UAntwerpen
Faculty/Department
Research group
Publication type
Subject
Affiliation
Publications with a UAntwerp address
External links
Web of Science
Record
Identifier
Creation 24.02.2012
Last edited 07.12.2021
To cite this reference