⚛️ Numerical Evaluation of Eₙ(x) — Exponential Integral Form

Integral Transport Function Calculator

Compute the integral transport function En(x) with high-precision adaptive quadrature. Clearly documented convention, valid range, and boundary handling.

📐 Convention implemented

En(x) = ∫1∞ e−x·t / tn dt     (n ≥ 1, x ≥ 0)
— the standard exponential integral / transport function (Abramowitz & Stegun, Ch. 5).

Also equal to xn−1 Γ(1−n, x) for n > 1, and to the n-th order exponential integral. This calculator uses the exponential integral form, not the Chandrasekhar En(τ) moment (which differs by a factor of 1/(n−1)!).

1 Parameters

n

Must be a positive integer. Values above 20 are numerically unstable with this method.

x

For x = 0, En(0) = 1/(n−1). For x > 100, the function underflows to ~0 (returned as 0 with a note).

Examples

2 Result

Numerical result

—

Input n —
Input x —
Method Adaptive Gauss–Laguerre
Convention Exponential integral En(x)

What is the Integral Transport Function?

The integral transport function — usually written En(x) — is a family of special functions defined by an integral of the form ∫1∞ e−xt t−n dt. It appears throughout radiative transfer, neutron transport theory, kinetic theory, and asymptotic analysis. Despite the name, it is essentially a scaled exponential integral and shares many of its properties.

Mathematical definition

For an integer order n ≥ 1 and a real argument x ≥ 0:

En(x) = ∫1∞ e−x t / tn dt

Equivalently, by the substitution u = x t:

En(x) = xn−1 ∫x∞ e−u u−n du = xn−1 Γ(1−n, x)

where Γ(s, x) is the upper incomplete gamma function. This identity is the basis of the calculator's algorithm: we evaluate the upper incomplete gamma function numerically and apply the power scaling, rather than integrating directly — this is far more stable for large x.

Relevant parameters

How the function is evaluated

This calculator uses a robust numerical scheme:

  1. Boundary cases — x = 0 returns 1/(n−1) exactly. x larger than ~100 returns 0 (underflow) with a note.
  2. Recurrence for small n — for n = 1 we use the exponential integral E1(x) computed via a minimax rational approximation (Abramowitz & Stegun 5.1.53–5.1.56).
  3. Forward recurrence — for n ≥ 2 we use n En+1(x) = e−x − x En(x), starting from E1(x). This is stable for small n (≤ 20) and moderate x.
  4. High-precision fallback — for n > 20 or when recurrence loses accuracy, we evaluate the integral representation xn−1 Γ(1−n, x) using a continued fraction expansion of the incomplete gamma function (Lentz's algorithm).

The result is accurate to at least 10 significant digits for the typical range 1 ≤ n ≤ 20, 0 ≤ x ≤ 100, and degrades gracefully outside it with an explicit warning.

Applications

Numerical considerations

Direct numerical integration of ∫1∞ e−xt t−n dt is possible but inefficient for large x, because the integrand becomes extremely peaked near t = 1. The recurrence method used here avoids that issue by reducing the problem to the well-studied exponential integral. However, forward recurrence is known to be unstable for large n (roughly n > 20), which is why we switch to a continued-fraction evaluation of Γ(1−n, x). The calculator also checks for overflow/underflow and returns an explicit note rather than a silently wrong value.

Worked example

Let us compute E2(1).

E2(1) = ∫1∞ e−t / t2 dt

Using the recurrence E2(x) = (e−x − x E1(x)) / 1 with x = 1 and the known value E1(1) ≈ 0.219383934:

E2(1) = e−1 − 1 · E1(1) ≈ 0.367879441 − 0.219383934 = 0.148495507

The calculator returns 0.1484955068… (10+ digits).

FAQ

What is the difference between En(x) and the Chandrasekhar En(τ)?

The Chandrasekhar moment is often defined as ∫01 μn−2 e−τ/μ dμ, which equals En(τ) times 1/(n−1)! for integer n. This calculator uses the exponential-integral convention, which is the most common in mathematical tables (Abramowitz & Stegun).

Can I compute non-integer orders?

The integral definition extends to real n > 1, but this calculator is validated and optimized for integer n from 1 to 20. For non-integer orders, use the incomplete gamma function directly.

Why does x = 0 give a finite value?

At x = 0 the exponential factor vanishes and the integral reduces to ∫1∞ t−n dt = 1/(n−1) for n > 1. For n = 1 it diverges, which is correctly flagged as an error.

What if x is very large?

For x > 100 the function underflows double precision (≈ e−100 ~ 10−44), so we return 0 and show a note. You can still compute ratios or use asymptotic expansions manually.