Skip to content

ExpIntegralE ​

The generalized exponential integral En(z)=∫1∞e−zt/tn dtE_n(z) = \int_1^\infty e^{-zt}/t^n\,dt. Built on this package's generalized incomplete Gamma: En(z)=zn−1 Γ(1−n,z)E_n(z) = z^{n-1}\,\Gamma(1-n, z).

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageExpIntegralE!
ExpIntegralE(n, z)En(z)E_n(z), for any order nn (real, complex, or non-integer).
Typed signatures
TypePackageApplies
(number, number) -> numberanalyticalways

Domain: Special functions

Details
  • compute-engine has no ExpIntegralE; this reduces it entirely to Gamma's generalized incomplete form, already extended here for complex operands.
  • Two identities are kept exact ahead of the general formula, which hits a genuine 0⋅∞0 \cdot \infty at each: E0(z)=e−z/zE_0(z) = e^{-z}/z (since Γ(1,z)=e−z\Gamma(1,z) = e^{-z} exactly, symbolic zz included), and En(0)=1/(n−1)E_n(0) = 1/(n-1) for Re⁡(n)>1\operatorname{Re}(n) > 1 — the removable limit the zn−1z^{n-1} factor can't see through when zz actually is 0.
  • Non-integer order (e.g. n=1/2n = 1/2) works the same way, since the incomplete Gamma it reduces to does.
  • N(x, d) past a double's digits sums the convergent series for integer n≥1n \ge 1 and real 0<z≤1000 < z \le 100, in enough extra digits to cover its cancellation; other arguments stay unevaluated there.
  • FunctionExpand rewrites EnE_n by order, as Wolfram does: e−ze^{-z} times a Laurent polynomial for an integer n≤0n \le 0; e−ze^{-z} times a polynomial plus a multiple of zn−1E1(z)z^{n-1}E_1(z) for an integer n≥2n \ge 2; the same with π erfc⁡(z)\sqrt\pi\,\operatorname{erfc}(\sqrt z) in place of E1E_1 for a half-integer nn; and zn−1 Γ(1−n,z)z^{n-1}\,\Gamma(1-n, z) for any other order, symbolic included. E1E_1 itself and floating-point orders are left alone.

Examples

4 more kept as data, checked against the oracles
Basic #

E1(3/2)=Γ(0,3/2)E_1(3/2) = \Gamma(0, 3/2)

live ↗
InExpIntegralE(1,1.5)\mathrm{ExpIntegralE}(1, 1.5)Out0.100 019 582 406 632 650.100\,019\,582\,406\,632\,65

Known value · Wolfram 15.0.0 ExpIntegralE

live ↗
InExpIntegralE(2,1.5)\mathrm{ExpIntegralE}(2, 1.5)Out0.073 100 786 538 480 840.073\,100\,786\,538\,480\,84

Known value · Wolfram 15.0.0 ExpIntegralE

live ↗
InSeries⁡(ExpIntegralE(n,x),x,0,4)\operatorname{Series}(\mathrm{ExpIntegralE}(n, x), x, 0, 4)OutExpIntegralE(n,0)+xExpIntegralE(0,1)(n,0)+12(ExpIntegralE(0,2)(n,0)x2)+16(ExpIntegralE(0,3)(n,0)x3)+124(ExpIntegralE(0,4)(n,0)x4)+O(x5)\mathrm{ExpIntegralE}(n, 0)+x\mathrm{ExpIntegralE}^{(0, 1)}(n, 0)+\frac{1}{2}(\mathrm{ExpIntegralE}^{(0, 2)}(n, 0)x^2)+\frac{1}{6}(\mathrm{ExpIntegralE}^{(0, 3)}(n, 0)x^3)+\frac{1}{24}(\mathrm{ExpIntegralE}^{(0, 4)}(n, 0)x^4)+O\left(x^5\right)
live ↗
InSeries⁡(ExpIntegralE(1,x),x,0,4)\operatorname{Series}(\mathrm{ExpIntegralE}(1, x), x, 0, 4)OutSeries⁡(ExpIntegralE(1,x),x,0,4)\operatorname{Series}(\mathrm{ExpIntegralE}(1, x), x, 0, 4)
live ↗
InNormal⁡(Series⁡(ExpIntegralE(n,x),x,∞,4))\operatorname{Normal}(\operatorname{Series}(\mathrm{ExpIntegralE}(n, x), x, ∞, 4))OutSeries⁡(ExpIntegralE(n,x),x,∞,4)\operatorname{Series}(\mathrm{ExpIntegralE}(n, x), x, ∞, 4)
Scope #

Non-integer order

live ↗
InExpIntegralE(0.5,2.5)\mathrm{ExpIntegralE}(0.5, 2.5)Out0.028 414 299 709 289 7560.028\,414\,299\,709\,289\,756

Known value · Wolfram 15.0.0 ExpIntegralE

Exact arguments under N()

live ↗
InN(ExpIntegralE(1,1))N(\mathrm{ExpIntegralE}(1, 1))Out0.219 383 934 395 520 290.219\,383\,934\,395\,520\,29

Complex order and argument evaluate to a complex float

live ↗
InN(ExpIntegralE(1+i,2+3i))N(\mathrm{ExpIntegralE}(1+i, 2+3i))Out−0.018 943 830 508 373 671 865 807 130 229 991 161 44+0.020 443 770 102 830 021 668 024 586 210 364 454 22i-0.018\,943\,830\,508\,373\,671\,865\,807\,130\,229\,991\,161\,44+0.020\,443\,770\,102\,830\,021\,668\,024\,586\,210\,364\,454\,22i

Order 0 reduces to elementary form e−z/ze^{-z}/z

live ↗
InExpIntegralE(0,z)\mathrm{ExpIntegralE}(0, z)Outexp⁡(−z)z\frac{\exp(-z)}{z}

Series coefficients of E0E_0 are deferred to the elementary form

live ↗
InSeriesCoefficient(ExpIntegralE(0,x),[x,0,n])\mathrm{SeriesCoefficient}(\mathrm{ExpIntegralE}(0, x), \bigl\lbrack x, 0, n\bigr\rbrack)OutSeriesCoefficient(exp⁡(−x)x,[x,0,n])\mathrm{SeriesCoefficient}(\frac{\exp(-x)}{x}, \bigl\lbrack x, 0, n\bigr\rbrack)

E0(∞)=0E_0(\infty)=0

live ↗
InExpIntegralE(0,∞)\mathrm{ExpIntegralE}(0, ∞)Out00
live ↗
InN(ExpIntegralE(3,115),50)N(\mathrm{ExpIntegralE}(3, \frac{11}{5}), 50)Out0.023 520 656 648 276 500 007 831 719 911 764 625 915 312 610 516 5190.023\,520\,656\,648\,276\,500\,007\,831\,719\,911\,764\,625\,915\,312\,610\,516\,519
live ↗
InSimplify(FunctionExpand([ExpIntegralE(5/2,z),ExpIntegralE(4,z),ExpIntegralE(−4,z)]))\mathrm{Simplify}(\mathrm{FunctionExpand}(\bigl\lbrack\mathrm{ExpIntegralE}(5/2, z), \mathrm{ExpIntegralE}(4, z), \mathrm{ExpIntegralE}(-4, z)\bigr\rbrack))Out[−13(4zexp⁡(−z))+2exp⁡(−z)3+13(4erfc⁡(z)πz3),(z26−z6+13)exp⁡(−z)−16(ExpIntegralE(1,z)z3),(4z2+12z3+24z4+24z5+1z)exp⁡(−z)]\bigl\lbrack-\frac{1}{3}(4z\exp(-z))+\frac{2\exp(-z)}{3}+\frac{1}{3}(4\operatorname{erfc}(\sqrt{z})\sqrt{π}\sqrt{z}^{3}), (\frac{z^2}{6}-\frac{z}{6}+\frac{1}{3})\exp(-z)-\frac{1}{6}(\mathrm{ExpIntegralE}(1, z)z^3), (\frac{4}{z^2}+\frac{12}{z^3}+\frac{24}{z^4}+\frac{24}{z^5}+\frac{1}{z})\exp(-z)\bigr\rbrack

A half-integer order reduces to e−ze^{-z} and erfc⁡(z)\operatorname{erfc}(\sqrt z)

live ↗
InFunctionExpand(ExpIntegralE(32,z))\mathrm{FunctionExpand}(\mathrm{ExpIntegralE}(\frac{3}{2}, z))Out2exp⁡(−z)−2erfc⁡(z)πz2\exp(-z)-2\operatorname{erfc}(\sqrt{z})\sqrt{π}\sqrt{z}

A positive integer order keeps E1E_1 beside e−ze^{-z} times a polynomial

live ↗
InFunctionExpand(ExpIntegralE(3,z))\mathrm{FunctionExpand}(\mathrm{ExpIntegralE}(3, z))Out12(ExpIntegralE(1,z)z2)+(12−z2)exp⁡(−z)\frac{1}{2}(\mathrm{ExpIntegralE}(1, z)z^2)+(\frac{1}{2}-\frac{z}{2})\exp(-z)

A non-positive integer order is elementary

live ↗
InFunctionExpand(ExpIntegralE(−2,z))\mathrm{FunctionExpand}(\mathrm{ExpIntegralE}(-2, z))Out(2z2+2z3+1z)exp⁡(−z)(\frac{2}{z^2}+\frac{2}{z^3}+\frac{1}{z})\exp(-z)
live ↗
InSeries⁡(ExpIntegralE(n,x),x,0,7)\operatorname{Series}(\mathrm{ExpIntegralE}(n, x), x, 0, 7)OutExpIntegralE(n,0)+xExpIntegralE(0,1)(n,0)+12(ExpIntegralE(0,2)(n,0)x2)+16(ExpIntegralE(0,3)(n,0)x3)+124(ExpIntegralE(0,4)(n,0)x4)+1120(ExpIntegralE(0,5)(n,0)x5)+1720(ExpIntegralE(0,6)(n,0)x6)+15 040(ExpIntegralE(0,7)(n,0)x7)+O(x8)\mathrm{ExpIntegralE}(n, 0)+x\mathrm{ExpIntegralE}^{(0, 1)}(n, 0)+\frac{1}{2}(\mathrm{ExpIntegralE}^{(0, 2)}(n, 0)x^2)+\frac{1}{6}(\mathrm{ExpIntegralE}^{(0, 3)}(n, 0)x^3)+\frac{1}{24}(\mathrm{ExpIntegralE}^{(0, 4)}(n, 0)x^4)+\frac{1}{120}(\mathrm{ExpIntegralE}^{(0, 5)}(n, 0)x^5)+\frac{1}{720}(\mathrm{ExpIntegralE}^{(0, 6)}(n, 0)x^6)+\frac{1}{5\,040}(\mathrm{ExpIntegralE}^{(0, 7)}(n, 0)x^7)+O\left(x^8\right)
Properties #

En(0)=1/(n−1)E_n(0) = 1/(n-1) for n>1n > 1

live ↗
InExpIntegralE(2,0)\mathrm{ExpIntegralE}(2, 0)Out11

E0(x)=e−x/xE_0(x) = e^{-x}/x

live ↗
InExpIntegralE(0,x)\mathrm{ExpIntegralE}(0, x)Outexp⁡(−x)x\frac{\exp(-x)}{x}

E0(0)E_0(0) is a pole

live ↗
InExpIntegralE(0,0)\mathrm{ExpIntegralE}(0, 0)Out∞~\tilde∞

Known value · Wolfram MathematicalFunctionData, ExpIntegralE

En(0)=1n−1E_n(0) = \frac{1}{n-1}, so 12\frac12 for n=3n=3

live ↗
InExpIntegralE(3,0)\mathrm{ExpIntegralE}(3, 0)Out12\frac{1}{2}

Known value · Wolfram MathematicalFunctionData, ExpIntegralE

About
Examples25
Checked againstWolfram Language 21 agree1 differ3 unevaluated
CrosswalkWolfram Language

Implementation

primitive · kernela kernel — an algorithm over mutable state that would not be readable as a tree

nativeenginetypescriptpackages/symbols/analysis/analytic/src/exp-integral-e.ts

z^(n-1)·Γ(1-n, z), with the n = 0 and z = 0 removable cases handled ahead of it.

See also: Gamma, GammaRegularized