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_v10.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 semiinfinite 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 GaussLegendre 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 



00104655
 
Volume/pages 



178:8(2008), p. 578590
 
ISI 



000255506500004
 
Full text (Publishers DOI) 


  
Full text (publishers version  intranet only) 


  
