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

Table of contents


NAME

vbksf, vbks, vbksl, vbksw, vbksq, vbksll, vbksdf, vbksd, vbksdl, vbksdll - vector of exponentially-scaled modified Bessel functions of second 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 vbksf (int n, float Ks[/* n+1 */], float x);

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

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

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

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

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

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

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

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

extern void vbksdll (int n, decimal_long_long_double decimal_long_long_double Ks[/* 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 second kind and orders 0 through n, exp(+x) * K(0,x) through exp(+x) * K(n,x).

This function is considerably faster than one that simply invokes bksn(k,x) for each element, and does not normally require a call to the exponential function.

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 K(n,x) functions fall exponentially with increasing x, and underflow even with moderate x values. For that reason, this function family returns values of this Bessel function increased by a factor of exp(x); see vbk(3CW) for the unscaled companions.


RETURN VALUES

If the argument is finite, its first n + 1 Bessel function values of the first kind are returned in the output array, Ks[]. 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.

If the argument is negative, errno is set to EDOM, and a quiet NaN is returned in the output array.

If the argument is zero, errno is set to ERANGE, and a positive Infinity (or the largest floating-point magnitude, if Infinity is not available) is returned in the output array.


SEE ALSO

bi0(3CW), bi1(3CW), bin(3CW), bis0(3CW), bis1(3CW), bisn(3CW), bk0(3CW), bk1(3CW), bkn(3CW), bks0(3CW), bks1(3CW), bksn(3CW), j0(3CW), j1(3CW), jn(3CW), sbi0(3CW), sbi1(3CW), sbin(3CW), sbis0(3CW), sbis1(3CW), sbisn(3CW), sbj0(3CW), sbj1(3CW), sbjn(3CW), sbk0(3CW), sbk1(3CW), sbkn(3CW), sbks0(3CW), sbks1(3CW), sbksn(3CW), sby0(3CW), sby1(3CW), sbyn(3CW), vbi(3CW), vbis(3CW), vbj(3CW), vbk(3CW), vby(3CW), vsbi(3CW), vsbis(3CW), vsbj(3CW), vsbk(3CW), vsbks(3CW), vsby(3CW), y0(3CW), y1(3CW), yn(3CW).