VIS 3CW "22 April 2008" "mathcw-1.00"

Table of contents


NAME

visf, vis, visl, visw, visq, visll, visdf, visd, visdl, visdll - vector of exponentially-scaled modified Bessel functions of first kind and orders 0 to n

SYNOPSIS

cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ]

#include <mathcw.h>

extern void visf (int n, float I[/* n+1 */], float x);

extern void vis (int n, double I[/* n+1 */], double x);

extern void visl (int n, long double I[/* n+1 */], long double x);

extern void visw (int n, __float80 I[/* n+1 */], __float80 x);

extern void visq (int n, __float128 I[/* n+1 */], __float128 x);

extern void visll (int n, long_long_double I[/* n+1 */], long_long_double x);

extern void visdf (int n, decimal_float I[/* n+1 */], decimal_float x);

extern void visd (int n, decimal_double I[/* n+1 */], decimal_double x);

extern void visdl (int n, decimal_long_double decimal_long_double I[/* n+1 */],
                  decimal_long_double x);

extern void visdll (int n, decimal_long_long_double decimal_long_long_double I[/* n+1 */],
                   decimal_long_long_double x);

NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.


DESCRIPTION

Compute the exponentially-scaled modified Bessel function of the first kind and orders 0 through n, exp(-x) * I(0,x) through exp(-x) * I(n,x).

This function is considerably faster than one that simply invokes in(k,x) for each element.

The modified Bessel functions provided by these software implementations are defined according to Chapter 9, Bessel Functions of Integer Order, of the Handbook of Mathematical Functions, edited by Milton Abramowitz and Irene A. Stegun, National Bureau of Standards Applied Mathematics Series #55, US Department of Commerce, Washington, DC (1964).


CAVEAT

Although in mathematics, uppercase letters name the ordinary and modified Bessel functions, and lowercase letters name the spherical Bessel functions, the lowercase names of the POSIX Bessel functions mean the former, not the latter.

The I(n,x) functions grow exponentially with increasing x, and overflow even with moderate x values. For that reason, this function family returns values of this Bessel function reduced by a factor of exp(-x); see vi(3CW) for the unscaled companions.

The algorithm may require internal storage for an array at least as big as I[], but at least 4096 elements are guaranteed. Values for elements beyond that internal limit are set to quiet NaNs in the output array.


RETURN VALUES

If the argument is finite, its exponentially-scaled first n + 1 Bessel function values of the first kind are returned in the output array, I[]. Otherwise, quiet NaNs are returned in that array.

ERRORS

If the argument x is a NaN, errno is set to EDOM, and that NaN is returned in the elements of the output array.

SEE ALSO

i0(3CW), i0s(3CW), i1(3CW), i1s(3CW), in(3CW), ins(3CW), j0(3CW), j1(3CW), jn(3CW), k0(3CW), k0s(3CW), k1(3CW), k1s(3CW), kn(3CW), kns(3CW), vi(3CW), vj(3CW), vk(3CW), vks(3CW), vy(3CW), y0(3CW), y1(3CW), yn(3CW).