s18ac Method
関数リスト一覧   NagLibrary Namespaceへ  ライブラリイントロダクション  本ヘルプドキュメントのchm形式版

s18ac returns the value of the modified Bessel Function K0x.


public static double s18ac(
	double x,
	out int ifail
Visual Basic (Declaration)
Public Shared Function s18ac ( _
	x As Double, _
	<OutAttribute> ByRef ifail As Integer _
) As Double
Visual C++
static double s18ac(
	double x, 
	[OutAttribute] int% ifail
static member s18ac : 
        x:float * 
        ifail:int byref -> float 


Type: System..::.Double
On entry: the argument x of the function.
Constraint: x>0.0.
Type: System..::.Int32 %
On exit: ifail=0 unless the method detects an error (see [Error Indicators and Warnings]).

Return Value

s18ac returns the value of the modified Bessel Function K0x.


s18ac evaluates an approximation to the modified Bessel Function of the second kind K0x.
Note:  K0x is undefined for x0 and the method will fail for such arguments.
The method is based on five Chebyshev expansions:
For 0<x1,
K0x=-lnx'r=0arTrt+'r=0brTrt,   where ​t=2x2-1.
For 1<x2,
K0x=e-x'r=0crTrt,   where ​t=2x-3.
For 2<x4,
K0x=e-x'r=0drTrt,   where ​t=x-3.
For x>4,
K0x=e-xx 'r=0erTrt,where ​ t=9-x 1+x .
For x near zero, K0x-γ-ln x2 , where γ denotes Euler's constant. This approximation is used when x is sufficiently small for the result to be correct to machine precision.
For large x, where there is a danger of underflow due to the smallness of K0, the result is set exactly to zero.


Error Indicators and Warnings


Let δ and ε be the relative errors in the argument and result respectively.
However, if δ is of the same order as machine precision, then rounding errors could make ε slightly larger than the above relation predicts.
For small x, the amplification factor is approximately 1lnx , which implies strong attenuation of the error, but in general ε can never be less than the machine precision.
For large x, εxδ and we have strong amplification of the relative error. Eventually K0, which is asymptotically given by e-xx , becomes so small that it cannot be calculated without underflow and hence the method will return zero. Note that for large x the errors will be dominated by those of the exponential function.

Further Comments


See Also