Table of Available Exponential Integrals
- Exponential Integral - Ei(x) = ∫-∞x( e t / t ) dt
- Entire Exponential Integral - Ein(x) = ∫-∞x ( 1 - e -t ) / t dt
- Schlömilch's Exponential Integrals - En(x) = ∫1∞ ( e -xt / t n ) dt
- Alpha Exponential Integral of order n - αn(x) = ∫1∞ tn e -xt dt
- Beta Exponential Integral of order n - βn(x) = ∫-11 tn e -xt dt
Exponential Integral
The exponential integral, Ei, is defined as defined asEi(x) = ∫-∞x ( e t / t ) dt.
Ei(x) is strictly negative for x < 0 and approaches 0 as x → -∞. The integral becomes negatively infinite at x = 0. For x > 0 the integral is evaluated using Cauchy's principle value:
Ei(x) = ∫-∞x ( e t / t ) dt = limε → 0+[ ∫-∞-ε ( e t / t ) dt + ∫ εx ( e t / t ) dt].
Ei(x) becomes postively infinite as x → ∞.
Function List
- double Exponential_Integral_Ei( double x )
This function returns Ei(x) for x ≠ 0 and if x = 0, -DBL_MAX is returned.
- long double xExponential_Integral_Ei( long double x )
This function is the same as Exponential_Integral_Ei except that the argument has type long double and returns a long double.
Source Code
C source code is available for these routines:- The file, exponential_integral_Ei.c, contains the functions Exponential_Integral_Ei( ) and xExponential_Integral_Ei( ).
Dependencies: No external dependencies.
Entire Exponential Integral
The entire exponential integral is defined asEin(x) = ∫-∞x ( 1 - e -t ) / t dt.
In terms of the exponential integral, Ei(x)
Ein(x) = γ + ln |x| - Ei(-x),
where γ is Euler's constant
γ = limn→∞[&Sigmam = 1∞ (1 / m) - ln n].
Ein(x) is strictly negative for x < 0, Ein(x) = 0 at x = 0, and strictly positive for x > 0.
Function List
- double Exponential_Integral_Ein( double x )
This function returns Ein(x).
Source Code
C source code is available for this routine:- The file, exponential_integral_Ein.c, contains the function Exponential_Integral_Ein( ).
Dependencies: In addition to the file exponential_integral_Ein.c, the function Exponential_Integral_Ein( ) requires the following file:
Schlömilch's Exponential Integrals
Schlömilch's exponential integral of order n, n a nonnegative integer, is defined asEn(x) = ∫1∞ ( e -xt / t n ) dt, where x > 0.
The Schlömilch's exponential integral of order 0 is readily integrated E0(x) = ∫1∞ e -xt dt. = e -x / x.
The Schlömilch's exponential integral of order 1 is readily expressed in terms of the exponential integral Ei E1(x) = ∫1∞ e -xt / t dt = -Ei(-x).
If x < 0, then the integrals diverge and if x = 0, then for n = 0 or 1, the integrals diverge and if n ≥ 2 , then the integral En(0) = 1 / (n - 1).
Function List
- double Exponential_Integral_En( double x, int n )
This function returns En(x) if x > 0. If x < 0, then DBL_MAX is returned. If x = 0, then if n = 0 or 1, then DBL_MAX is returned, otherwise for postive n ≥ 2 then 1 / (n - 1) is returned.
Note that the order n must be nonnegative.
Source Code
C source code is available for this routine:- The file, exponential_integral_En.c, contains the function Exponential_Integral_En( ).
Dependencies: In addition to the file exponential_integral_En.c, the function Exponential_Integral_En( ) requires the following file:
Alpha Exponential Integral of order n
The alpha exponential integral of order n is defined asαn(x) = ∫1∞ tn e -xt dt
for n = 0,1,2,... and x > 0.
Function List
- double Exponential_Integral_Alpha_n( double x, int n )
This function returns αn(x) if x > 0 and returns DBL_MAX if x ≤ 0, where the order n is a nonnegative integer.
Source Code
C source code is available for this routine:- The file, exponential_integral_alpha_n.c, contains the function Exponential_Integral_Alpha_n( ).
Dependencies: No external dependencies.
Beta Exponential Integral of order n
The beta exponential integral of order n is defined asβn(x) = ∫-11 tn e -xt dt
for n = 0,1,2,... and x ∈ R.
Function List
- double Exponential_Integral_Beta_n( double x, int n )
This function returns βn(x), where the order n is a nonnegative integer.
Source Code
C source code is available for this routine:- The file, exponential_integral_beta_n.c, contains the function Exponential_Integral_Beta_n( ).
Dependencies: No external dependencies.