nag_bessel_i0 (s18aec) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_bessel_i0 (s18aec)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_bessel_i0 (s18aec) returns the value of the modified Bessel function I 0 x .

2  Specification

#include <nag.h>
#include <nags.h>
double  nag_bessel_i0 (double x, NagError *fail)

3  Description

nag_bessel_i0 (s18aec) evaluates an approximation to the modified Bessel function of the first kind, I 0 x .
The function is based on Chebyshev expansions.
For large x , the function must fail because of the danger of overflow in calculating e x .

4  References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications

5  Arguments

1:     xdoubleInput
On entry: the argument x  of the function.
2:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

NE_REAL_ARG_GT
On entry, x=value.
Constraint: xvalue.
x  is too large and the function returns the approximate value of i 0 x  at the nearest valid argument.

7  Accuracy

Let δ  and ε  be the relative errors in the argument and result respectively.
If δ  is somewhat larger than the machine precision (i.e., if δ  is due to data errors etc.), then ε  and δ  are approximately related by ε xI 1 x / I 0 x δ .
However, if δ  is of the same order as machine precision, then rounding errors could make ε  slightly larger than the above relation predicts.
For small x  the amplification factor is approximately x 2 / 2 , which implies strong attenuation of the error, but in general ε  can never be less than the machine precision.
For large x , ε x δ  and we have strong amplification of errors. However, the function must fail for quite moderate values of x , because I 0 x  would overflow; hence in practice the loss of accuracy for large x  is not excessive. Note that for large x  the errors will be dominated by those of the math library function exp.

8  Further Comments

None.

9  Example

The following program reads values of the argument x  from a file, evaluates the function at each value of x  and prints the results.

9.1  Program Text

Program Text (s18aece.c)

9.2  Program Data

Program Data (s18aece.d)

9.3  Program Results

Program Results (s18aece.r)


nag_bessel_i0 (s18aec) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012