s Chapter Contents
s Chapter Introduction
NAG C Library Manual

# NAG Library Function Documentnag_bessel_k1 (s18adc)

## 1  Purpose

nag_bessel_k1 (s18adc) returns the value of the modified Bessel function, ${K}_{1}\left(x\right)$.

## 2  Specification

 #include #include
 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}\left(x\right)$.
The function is based on Chebyshev expansions.
For $x$ near zero, ${K}_{1}\left(x\right)\simeq 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: ${\mathbf{x}}>0.0$.
2:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

## 6  Error Indicators and Warnings

NE_REAL_ARG_LE
On entry, x must not be less than or equal to 0.0: ${\mathbf{x}}=〈\mathit{\text{value}}〉$.
${k}_{0}$ is undefined and the function returns zero.
NE_REAL_ARG_TOO_SMALL
On entry, x must be greater than $〈\mathit{\text{value}}〉$: ${\mathbf{x}}=〈\mathit{\text{value}}〉$.
x is too small, there is a danger of overflow and the function returns approximately the largest representable value.

## 7  Accuracy

Let $\delta$ and $\epsilon$ be the relative errors in the argument and result respectively.
If $\delta$ is somewhat larger than the machine precision (i.e., if $\delta$ is due to data errors etc. ), then $\epsilon$ and $\delta$ are approximately related by $\epsilon \simeq \left|\left({xK}_{0}\left(x\right)-{K}_{1}\left(x\right)\right)/{K}_{1}\left(x\right)\right|\delta$.
However, if $\delta$ is of the same order as the machine precision, then rounding errors could make $\epsilon$ slightly larger than the above relation predicts.
For small $x$, $\epsilon \simeq \delta$ and there is no amplification of errors.
For large $x$, $\epsilon \simeq x\delta$ and we have strong amplification of the relative error. Eventually ${K}_{1}$, which is asymptotically given by ${e}^{-x}/\sqrt{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.

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.