nag_bessel_k1 (s18adc) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_bessel_k1 (s18adc)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_bessel_k1 (s18adc) returns the value of the modified Bessel function, K 1 x .

2  Specification

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

3  Description

nag_bessel_k1 (s18adc) evaluates an approximation to the modified Bessel function of the second kind, K 1 x .
The function is based on Chebyshev expansions.
For x  near zero, K 1 x 1/x . For very small x  on some machines, it is impossible to calculate 1/x  without overflow and the function must fail.

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.
Constraint: x>0.0 .
2:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

On entry, x must not be less than or equal to 0.0: x=value .
k 0  is undefined and the function returns zero.
On entry, x must be greater than value: x=value .
x is too small, there is a danger of overflow and the function returns approximately the largest representable value.

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 ε xK 0 x - K 1 x / K 1 x δ .
However, if δ  is of the same order as the machine precision, then rounding errors could make ε  slightly larger than the above relation predicts.
For small x , εδ  and there is no amplification of errors.
For large x , ε x δ  and we have strong amplification of the relative error. Eventually K 1 , which is asymptotically given by e -x / x , becomes so small that it cannot be calculated without underflow and hence the function will return zero. Note that for large x  the errors will be dominated by those of the math library function exp.

8  Further Comments


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 (s18adce.c)

9.2  Program Data

Program Data (s18adce.d)

9.3  Program Results

Program Results (s18adce.r)

nag_bessel_k1 (s18adc) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

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