I have forgotten

COST (GBP)
5.62
0.50
0

# i0

viewed 1906 times and licensed 51 times
Modified Bessel function of the first kind, with order zero and exponential scaling.
Controller: CodeCogs
Contents

C++
Excel

## Overview

These function return solutions to the Modified Bessel Function of the first kind with zero order.

The differential equation
$z^2&space;\frac{d^2y}{dz^2}&space;+&space;z&space;\frac{dy}{dz}&space;-&space;(z^2)y&space;=&space;0$
is called the modified Bessel's equation of zero order, with the solution known as the modified Bessel function,

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

where $\inline&space;\Gamma(n)$ is the gamma function.

## I0 Exp

 doubleI0_exp( double x )
Returns exponentially scaled modified Bessel function of the first kind, with order zero.

The function is defined as $\inline&space;&space;I_0(x)&space;\exp(x)&space;=&space;\exp(-|x|)&space;J_0(i&space;x)$.

## Accuracy:

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

## References:

Cephes Math Library Release 2.8: June, 2000

### Example 1

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

int main()
{
using namespace Maths::Special::Bessel::I;

for(double x=0; x<6; x+=1)
{
double y=I0_exp(x);
printf("\n I0_exp(%.1lf)=%lf", x,y);
}
return 0;
}
Output:
I0_exp(0.0)=1.000000
I0_exp(1.0)=0.465760
I0_exp(2.0)=0.308508
I0_exp(3.0)=0.243000
I0_exp(4.0)=0.207002
I0_exp(5.0)=0.183541

### Parameters

 x input argument

### Authors

Stephen L. Moshier. Copyright 1984, 1987, 2000
Documentation by Will Bateman (August 2005)
##### Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.

## I0

 doubleI0( double x )[inline]
Returns modified Bessel function of order zero of the argument (v=0).

The function is defined as $\inline&space;&space;I_0(x)&space;=&space;J_0(ix)$.

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 6000 8.2e-17 1.9e-17 IEEE 0,30 30000 5.8e-16 1.4e-16 </pre>

## Example:

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

int main()
{
using namespace Maths::Special::Bessel::I;

for(double x=0; x<6; x+=1)
{
double y=I0(x);
printf("\n I0(%.1lf)=%lf", x,y);
}
return 0;
}

## Output:

I0(0.0)=1.000000
I0(1.0)=1.266066
I0(2.0)=2.279585
I0(3.0)=4.880793
I0(4.0)=11.301922
I0(5.0)=27.239872

## References:

Cephes Math Library Release 2.8: June, 2000

### Parameters

 x value to be transformed.

### Authors

Stephen L. Moshier. Copyright 1984, 1987, 2000
Documentation by Will Bateman (August 2005)
##### Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.