nag_kelvin_ber (s19aac) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_kelvin_ber (s19aac)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_kelvin_ber (s19aac) returns a value for the Kelvin function berx .

2  Specification

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

3  Description

nag_kelvin_ber (s19aac) evaluates an approximation to the Kelvin function berx .
The function is based on several Chebyshev expansions.
For large x , there is a danger of the result being totally inaccurate, as the error amplification factor grows in an essentially exponential manner; therefore 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.
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 for an accurate result to be returned and the function returns zero.

7  Accuracy

Since the function is oscillatory, the absolute error rather than the relative error is important. Let E  be the absolute error in the result and δ  be the relative error in the argument. If δ  is somewhat larger than the machine precision, then we have E x ber 1 x + bei 1 x / 2 δ  (provided E  is within machine bounds).
For small x  the error amplification is insignificant and thus the absolute error is effectively bounded by the machine precision.
For medium and large x , the error behaviour is oscillatory and its amplitude grows like x / 2 π e x / 2 . Therefore it is not possible to calculate the function with any accuracy when x e x / 2 > 2π / δ . Note that this value of x  is much smaller than the minimum value of x  for which the function overflows.

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

9.2  Program Data

Program Data (s19aace.d)

9.3  Program Results

Program Results (s19aace.r)


nag_kelvin_ber (s19aac) (PDF version)
s Chapter Contents
s Chapter Introduction
NAG C Library Manual

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