Exponential integral function

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.


Ei(n, x)


Ei(x) represents the exponential integral .

Ei(n, x) represents the exponential integral .

If x is a floating-point number, then Ei(x) returns the numerical value of the exponential integral. The special values Ei(∞) = ∞ and Ei(- ∞) = 0 are implemented. For all other arguments, Ei(x) returns a symbolic function call.

If both n and x are numerical values and if at least one of them is a floating-point number, then Ei(n, x) returns a floating-point value.

The special values Ei(n, ∞) = 0 and Ei(n, - ∞) = - ∞ are implemented for arbitrary n.

If n is a non-positive integer not larger than Pref::autoExpansionLimit(), then Ei(n, x) returns an explicit expression of the form exp(-x)*p(1/x), where p is a polynomial of degree 1 - n. E.g.:


Use expand if such representations are also desired for |n| larger than Pref::autoExpansionLimit().

If x is a positive constant, Ei(1, x) returns - Ei(-x). For a negative constant x, Ei(1, x) returns - Ei(-x) - π i.

For all other arguments Ei(n, x) returns a symbolic function call.

Environment Interactions

When called with a floating-point argument, the function is sensitive to the environment variable DIGITS which determines the numerical working precision.


Example 1

We demonstrate some calls with exact and symbolic input data:

Ei(1), Ei(sqrt(2)), Ei(x + 1), Ei(infinity), Ei(-infinity)

Ei(sqrt(2), PI), Ei(2, x + 1), Ei(3, infinity), Ei(I, -infinity)

If the first argument is a non-positive integer, an explicit expresssion is returned:

Ei(-5, x)

Floating point values are computed for floating-point arguments:

Ei(-1000.0), Ei(1.0), Ei(12.3), Ei(2.0 + 10.0*I)

Ei(3, -1000.0), Ei(1 + I, 1.0), Ei(-2, 12.3), Ei(1.0 + I, 2 + 10*I)

For a positive constant x, Ei(1, x) returns - Ei(-x). For a negative constant x, Ei(1, x) returns - Ei(-x) - π i:

Ei(1, 3), Ei(1, -3)

Example 2

The 1-argument function Ei(x) is singular at the origin:

Error: Singularity. [Ei]

The negative real axis is a branch cut. A jump of height 2 π i occurs when crossing this cut:

Ei(-1.0), Ei(-1.0 + 10^(-10)*I), Ei(-1.0 - 10^(-10)*I)

Example 3

System functions such as diff, float, limit, expand, and series handle expressions involving Ei:

diff(Ei(x), x, x, x), float(ln(3 + Ei(sqrt(PI))))

diff(Ei(3, x), x, x, x), float(ln(3 + Ei(I, sqrt(PI))))

limit(Ei(2*x^2/(1+x)), x = infinity)

expand(Ei(3, x))

series(Ei(3, x), x = 0, 3)

series(Ei(7/2, x), x = infinity, 3)


n, x

arithmetical expressions

Return Values

Arithmetical expression.

Overloaded By

n, x


If n is a non-positive integer, then Ei(n, x) is an analytic function of x throughout the complex plane apart from a pole at the origin. For all other values of n, the function Ei(n, x) has a branch cut along the negative real semi axis, where the values coincide with the limit "from above":

for real x < 0.

The 1-argument function Ei(x) is related to the 2-argument function by


It has a logarithmic singularity at the origin and a branch cut along the negative real axis. Unlike the 2-argument function Ei(n, x) the 1-argument function Ei(x) is not continuous from either above or below along the branch cut.

The functions Ei(n, x) are related to the incomplete gamma function igamma by .

The functions Ei(x) and Ei(n, x) correspond to the exponential integral functions Ei(x) and En(x) considered in M. Abramowitz and I. Stegun, "Handbook of Mathematical Functions", Dover Publications Inc., New York (1965).

See Also

MuPAD Functions

Was this topic helpful?