Copyright © 2007 Elsevier B.V. All rights reserved.
Received 2 August 2007;
Abstract
We provide two Matlab programs to compute integrals of the form
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,ai 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.
References:
- [1] J. Van Deun, R. Cools, Algorithm 858: Computing infinite range integrals of an arbitrary product of Bessel functions, ACM Trans. Math. Software 32 (4) (2006) 580–596.
Keywords: Quadrature; Bessel functions
PACS classification codes: 02.30.Gp; 02.60.Jh
Article Outline
- 1. Introduction
- 2. The algorithm
- 2.1. Description
- 2.2. Error analysis of infinite part
- 2.2.1. Original error analysis
- 2.2.2. Error analysis for I(1)
- 2.2.3. Error analysis for I(2)
- 2.3. Cost function and fudge parameters
- 3. Implementation issues
- 4. Limitations
- 5. Experiments
- 5.1. Analytic expressions
- 5.2. Test program
- Appendix A. Test run output
- References






E-mail Article
Add to my Quick Links

Cited By in Scopus (0)

1. When 






