Modified Bessel function of the first kind, with order one and exponential scaling.

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

View versions (1)

Interface

#include <codecogs/maths/special/bessel/i/i1.h>

using namespace Maths::Special::Bessel::I;

Overview

Return a solution to the Modified Bessel Function of the first kind with order one.

The differential equation

z^2 \frac{d^2y}{dz^2} + z \frac{dy}{dz} - (z^2 + 1)y = 0
(1)

is called the modified Bessel&#039;s equation of order one, with the solution known as the modified Bessel function, with two fundamental solutions: I_1(z) and I_{-1}(z), where

I_{1}(z) = \frac{z}{2} \sum_{k=0}^{\infty} \frac{\left ( \frac{1}{4}z^2 \right )^k}{k! (k+1)!}
(2)

where \Gamma(n) is the gamma function.

GPL Licence — free for non commercial use. See Licence details.

FUNCTION

I1_exp

Returns exponentially scaled modified Bessel function of the first kind, with order one.

The function is defined as I_1(x) \exp(x) = -i \exp(-|x|) J_1(i x).

See aslo i

Accuracy:

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

References

Cephes Math Library Release 2.8: June, 2000

Example 1

#include <codecogs/maths/special/bessel/i/i1.h>
#include <stdio.h>

int main()
{
  using namespace Maths::Special::Bessel::I;
  for(double x=0; x<6; x+=1)
  {
    double y=I1_exp(x);
    printf("\n I1_exp(%.1lf)=%lf", x,y);
  }
  return 0;
}

Output:

I1_exp(0.0)=0.000000
I1_exp(1.0)=0.207910
I1_exp(2.0)=0.215269
I1_exp(3.0)=0.196827
I1_exp(4.0)=0.178751
I1_exp(5.0)=0.163972

Parameters

x
input argument
Author

Stephen L. Moshier. Copyright 1984, 1987, 2000

Author

Documentation by Will Bateman (August 2005)

Interactive Calculator

x
Result

FUNCTION

I1

Returns modified Bessel function of the first kind, with order one (v=1).

The function is defined as I_1(x) = -i J_1(i x)

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

Accuracy:

<pre> Relative error: arithmetic domain # trials peak rms DEC 0, 30 3400 1.2e-16 2.3e-17 IEEE 0, 30 30000 1.9e-15 2.1e-16</pre>

References

Cephes Math Library Release 2.8: June, 2000

Example 1

#include <codecogs/maths/special/bessel/i/i1.h>
#include <stdio.h>

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

Output:

I1(0.0)=0.000000
I1(1.0)=0.565159
I1(2.0)=1.590637
I1(3.0)=3.953370
I1(4.0)=9.759465
I1(5.0)=24.335642

Parameters

x
Value to be transformed.
Author

Stephen L. Moshier. Copyright 1984, 1987, 2000

Author

Documentation by Will Bateman (August 2005)

Interactive Calculator

x
Result