NAG CL Interface
s18eec (nag_bessel_i_nu)

Settings help

CL Name Style:

1 Purpose

s18eec returns the value of the modified Bessel function I ν/4 (x) for real x>0 .

2 Specification

#include <nag.h>
double  s18eec (double x, Integer nu, NagError *fail)
The function may be called by the names: s18eec or nag_bessel_i_nu.

3 Description

s18eec evaluates an approximation to the modified Bessel function of the first kind I ν/4 (x) , where the order ν = −3 , −2 , −1 , 1 , 2 or 3 and x is real and positive. For positive orders it may also be called with x=0 , since I ν/4 (0) = 0 when ν>0 . For negative orders the formula
I - ν / 4 (x) = I ν/4 (x) + 2 π sin( πν 4 ) K ν/4 (x)  
is used.

4 References

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

5 Arguments

1: x double Input
On entry: the argument x of the function.
  • if nu<0 , x>0.0 ;
  • if nu>0 , x0.0 .
2: nu Integer Input
On entry: the argument ν of the function.
Constraint: 1 abs(nu) 3 .
3: fail NagError * Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).

6 Error Indicators and Warnings

On entry, nu=value .
Constraint: 1 abs(nu) 3 .
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
The evaluation has been abandoned due to the likelihood of overflow. The result is returned as zero.
On entry, x=value , nu=value .
Constraint: x>0.0 when nu<0 .
On entry, x=value , nu=value .
Constraint: x0.0 when nu>0 .
The evaluation has been abandoned due to failure to satisfy the termination condition. The result is returned as zero.
The evaluation has been abandoned due to total loss of precision. The result is returned as zero.
The evaluation has been completed but some precision has been lost.

7 Accuracy

All constants in the underlying functions are specified to approximately 18 digits of precision. If t denotes the number of digits of precision in the floating-point arithmetic being used, then clearly the maximum number of correct digits in the results obtained is limited by p = min(t,18) . Because of errors in argument reduction when computing elementary functions inside the underlying functions, the actual number of correct digits is limited, in general, by p-s , where s max(1,|log10x|) represents the number of digits lost due to the argument reduction. Thus the larger the value of x , the less the precision in the result.

8 Parallelism and Performance

Background information to multithreading can be found in the Multithreading documentation.
s18eec is not threaded in any implementation.

9 Further Comments


10 Example

The example program reads values of the arguments x and ν from a file, evaluates the function and prints the results.

10.1 Program Text

Program Text (s18eece.c)

10.2 Program Data

Program Data (s18eece.d)

10.3 Program Results

Program Results (s18eece.r)