Modified Bessel function, third kind, order one.

You're viewing an older version of this page (#170). View the current version.

View versions (1)

Interface

#include <codecogs/maths/special/bessel/k/k1.h>

using namespace Maths::Special::Bessel::K;

Overview

Modified Bessel function, thirdkind, order one.

The modified Bessel function of the third kind (or Weber Function) is a linear combination of Bessel functions of the first and second kinds. These are called the Hankel functions of the first and second kinds, and are one of two types of functions known as Hankel functions. The other type of Hankel function is defined by a contour integral.

Let x be a complex variable of \setminus \{0,\infty\} and let \nu denote a parameter (independent of x). The function Bessel K (noted K_{\nu}) is defined by the following second order differential equation:

x \frac{\partial y (x)}{\partial x} + x^{2} \frac{\partial^{2} y (x)}{\partial x^{2}} -(x^{2} + \nu^{2})y =0
(1)

Although 0 is a singularity, the initial conditions can be given by:

\left [ x^{(-\nu)}\right ] K_{\nu} (x) =2^{(\nu - 1)} \Gamma (\nu)
(2)
\left[ x^{\nu} \right ] K_{\nu} (x) =-\frac{\pi}{\Gamma (\mu + 1) \sin (\mu \pi) 2^{(\mu + 1)}}
(3)
GPL Licence — free for non commercial use. See Licence details.

FUNCTION

K1

Computes the modified Bessel function of the third kind of order one of the argument.

The range is partitioned into the two intervals [0,2] and [2, infinity]. Chebyshev polynomial expansions are employed in each interval.

Accuracy:

<pre> Relative error: domain # trials peak rms 0, 30 3300 8.9e-17 2.2e-17 0, 30 30000 1.2e-15 1.6e-16 </pre>

Example:

#include <stdio.h>
#include <codecogs/maths/special/bessel/k/k1.h>

int main()
{
for(double x=1; x<7; x+=1)
{
  double y=Maths::Special::Bessel::K::K1(x);
  printf("\n K1(%.1lf)=%lf", x,y);
}
return 0;
}

Output:

K1(1.0)=0.601907
K1(2.0)=0.139866
K1(3.0)=0.040156
K1(4.0)=0.012483
K1(5.0)=0.004045
K1(6.0)=0.001344

References

Cephes Math Library Release 2.8: June, 2000

Parameters

x
input argument
Author

Stephen L. Moshier. Copyright 1984, 1987, 2000

Author

Documentation by Nick Owens

Interactive Calculator

x
Result

FUNCTION

K1_exp

This function returns exponentially scaled modified Bessel function of the third kind of order one of the argument:

K1_exp(x) = exp(x) * K1(x).

Accuracy:

<pre> Relative error: arithmetic domain # trials peak rms IEEE 0, 30 30000 7.8e-16 1.2e-16 </pre>

Example:

#include <stdio.h>
#include <codecogs/maths/special/bessel/k/k1.h>

int main()
{
for(double x=1; x<7; x+=1)
{
  double y=Maths::Special::Bessel::K::K1_exp(x);
  printf("\n K1_exp(%.1lf)=%lf", x,y);
}
return 0;
}

Output:

K1_exp(1.0)=1.636153
K1_exp(2.0)=1.033477
K1_exp(3.0)=0.806563
K1_exp(4.0)=0.681576
K1_exp(5.0)=0.600274
K1_exp(6.0)=0.542176

References

Cephes Math Library Release 2.8: June, 2000

Parameters

x
input argument
Author

Stephen L. Moshier. Copyright 1984, 1987, 2000

Author

Documentation by Nick Owens

Interactive Calculator

x
Result