The function may be called by the names: s18ejc or nag_bessel_i_alpha.
s18ejc evaluates a sequence of values for the modified Bessel function of the first kind , where is real and nonzero and is the order with . The -member sequence is generated for orders when . Note that is replaced by when . For positive orders the function may also be called with , since when . For negative orders the formula
is used to generate the required sequence.
Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
1: – doubleInput
On entry: the argument of the function.
if , .
2: – doubleInput
On entry: the order of the first member in the required sequence of function values.
3: – IntegerInput
On entry: the value of .
4: – ComplexOutput
On exit: with or , the required sequence of function values: b contains if and otherwise, for .
5: – NagError *Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).
6Error Indicators and Warnings
On entry, .
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.
On entry, .
On entry, , .
Constraint: when .
The evaluation has been abandoned due to failure to satisfy the termination condition.
The evaluation has been abandoned due to total loss of precision.
The evaluation has been completed but some precision has been lost.
All constants in the underlying functions are specified to approximately 18 digits of precision. If 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 . 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 , where represents the number of digits lost due to the argument reduction. Thus the larger the values of and , the less the precision in the result.
8Parallelism and Performance
s18ejc is not threaded in any implementation.
The example program evaluates and at , and prints the results.