LogIntegral[z]
is the logarithmic integral function
.
LogIntegral
LogIntegral[z]
is the logarithmic integral function
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
- The logarithmic integral function is defined by
, where the principal value of the integral is taken. - LogIntegral[z] has a branch cut discontinuity in the complex z plane running from
to
. - For certain special arguments, LogIntegral automatically evaluates to exact values.
- LogIntegral can be evaluated to arbitrary numerical precision.
- LogIntegral automatically threads over lists.
- LogIntegral can be used with Interval and CenteredInterval objects. »
Examples
open all close allBasic Examples (5)
LogIntegral[20.]Plot over a subset of the reals:
Plot[LogIntegral[x], {x, 0, 10}]Series expansion at the origin:
Series[LogIntegral[x], {x, 0, 2}, Assumptions -> x > 0]Series expansions around the branch point at
:
Series[LogIntegral[x], {x, 1, 1}, Assumptions -> x > 0]Series expansion at Infinity:
Series[LogIntegral[x], {x, ∞, 1}, Assumptions -> x > 0]Scope (32)
Numerical Evaluation (5)
Evaluate numerically to high precision:
N[LogIntegral[2], 50]The precision of the output tracks the precision of the input:
LogIntegral[2.0000000000000000000000]LogIntegral can take complex number inputs:
LogIntegral[2. + I]Evaluate LogIntegral efficiently at high precision:
LogIntegral[2`500]//TimingLogIntegral[2`10000];//TimingCompute worst-case guaranteed intervals using Interval and CenteredInterval objects:
LogIntegral[Interval[{1.49, 1.51}]]LogIntegral[CenteredInterval[2, 1 / 10]]Or compute average-case statistical intervals using Around:
LogIntegral[ Around[2, 0.01]]Compute the elementwise values of an array:
LogIntegral[{{0, 1}, {1.2, 0}}]Or compute the matrix LogIntegral function using MatrixFunction:
MatrixFunction[LogIntegral, {{0, 1}, {1.2, 0}}]Specific Values (4)
LogIntegral[0]Singular point of LogIntegral:
LogIntegral[1]LogIntegral[Infinity]xzero = Solve[LogIntegral[x] == 0 && 1.1 < x < 2, x][[1, 1, 2]]//QuietPlot[LogIntegral[x], {x, 0, 5}, Epilog -> Style[Point[{xzero, LogIntegral[xzero]}], PointSize[Large], Red]]Visualization (2)
Plot the LogIntegral function:
Plot[LogIntegral[x], {x, 0, 5}]ComplexContourPlot[Re[LogIntegral[z]], {z, -4 - 4I, 4 + 4 I}, Contours -> 20]ComplexContourPlot[Im[LogIntegral[z]], {z, -4 - 4I, 4 + 4 I}, Contours -> 20]Function Properties (8)
LogIntegral is defined for all real positive values except 1:
FunctionDomain[LogIntegral[x], x]FunctionDomain[LogIntegral[z], z, Complexes]LogIntegral takes all real values:
FunctionRange[LogIntegral[x], x, y]//QuietLogIntegral is not an analytic function:
FunctionAnalytic[LogIntegral[x], x]Has both singularities and discontinuities:
FunctionSingularities[LogIntegral[x], x]FunctionDiscontinuities[LogIntegral[x], x]LogIntegral is neither nondecreasing nor nonincreasing:
FunctionMonotonicity[{LogIntegral[x], x ≥ 0 && x ≠ 1}, x]LogIntegral is not injective:
FunctionInjective[LogIntegral[x], x]Plot[{LogIntegral[x], -1}, {x, 0, 7}]LogIntegral is surjective:
FunctionSurjective[LogIntegral[x], x]Limit[LogIntegral[x], x -> 1, Direction -> "FromAbove"]Limit[LogIntegral[x], x -> Infinity]Plot[{LogIntegral[x], 10}, {x, 0, 25}]LogIntegral is neither non-negative nor non-positive:
FunctionSign[{LogIntegral[x], x ≥ 0 && x ≠ 1}, x]LogIntegral is neither convex nor concave:
FunctionConvexity[{LogIntegral[x], x ≥ 0 && x ≠ 1}, x]Differentiation (2)
Integration (3)
Indefinite integral of LogIntegral:
Integrate[LogIntegral[x], x]Definite integral of LogIntegral:
Integrate[LogIntegral[x], {x, 0, 1}]Integrate[LogIntegral[z^β], z]Integrate[Log[a z] LogIntegral[b z], z]Series Expansions (3)
Taylor expansion for LogIntegral:
Series[LogIntegral[x], {x, 2, 3}]Plot the first three approximations for LogIntegral around
:
terms = Normal@Table[Series[LogIntegral[x], {x, 2, m}], {m, 1, 3}];
Plot[{LogIntegral[x], terms}, {x, 1, 3}]Series expansions on either side of the branch point at
:
Series[LogIntegral[x], {x, 1, 5}, Assumptions -> x > 1]Series[LogIntegral[x], {x, 1, 5}, Assumptions -> x < 1]LogIntegral can be applied to power series:
LogIntegral[2 + x + (x^2/2) + O[x]^3]Function Identities and Simplifications (2)
Primary definition of LogIntegral:
Integrate[1 / Log[t], {t, 0, x}, Assumptions -> 0 ≤ x < 1]Use FullSimplify to simplify expressions into logarithmic integrals:
CosIntegral[I Log[z]] - I SinIntegral[I Log[z]] - (1/2)(Log[(1/Log[z])] - Log[Log[z]]) - Log[I Log[z]]//FullSimplify-Gamma[0, -Log[z]] + (1/2)(Log[Log[z]] - Log[(1/Log[z])]) - Log[-Log[z]]//FullSimplifyFunction Representations (3)
Representation through ExpIntegralEi:
FullSimplify[ExpIntegralEi[Log[z]]]EulerGamma + (1/2)(Log[Log[z]] - Log[(1/Log[z])]) + Underoverscript[∑, k = 1, ∞](Log[z]^k/k k!)//FullSimplifyTraditionalForm formatting:
LogIntegral[x]//TraditionalFormApplications (5)
Approximate number of primes less than
:
Integrate[1 / Log[t], {t, 2, x}, Assumptions -> x > 2]Plot[{%, PrimePi[x]}, {x, 2, 100}]Plot the real part in the complex plane:
Plot3D[Im[LogIntegral[x + I y]], {x, -5, 5}, {y, -5, 5}]Plot the absolute value in the complex plane:
ContourPlot[Abs[LogIntegral[x + I y]], {x, -5, 5}, {y, -5, 5}]Find an approximation to Soldner's constant [more info]:
FindRoot[LogIntegral[x] == 0, {x, 2}, WorkingPrecision -> 50]
for
if the Riemann hypothesis is true. Verify it via LogIntegral:
Plot[{Abs[PrimePi[x] - LogIntegral[x]], Sqrt[x]Log[x] / (8 * Pi)}, {x, 2657, 3000}, PlotLegends -> "Expressions"]Properties & Relations (4)
Use FullSimplify to simplify expressions into logarithmic integrals:
FullSimplify[ExpIntegralEi[Log[z]]]Use FunctionExpand to write expressions in logarithmic integrals when possible:
FunctionExpand[HypergeometricPFQ[{1, 1}, {2, 2}, Log[z]]]FindRoot[LogIntegral[z] == 1, {z, 2}]Obtain LogIntegral from integrals and sums:
Integrate[1 / Log[z], z]Underoverscript[∑, k = 1, ∞](Log[z]^k/k k!)//FunctionExpandPossible Issues (1)
Neat Examples (2)
NestList[Integrate[#, x]&, LogIntegral[x], 3]//TraditionalFormPlot the Riemann surface of LogIntegral:
ParametricPlot3D[Evaluate[Table[{1 + r Cos[ϕ], r Sin[ϕ], Im[LogIntegral[1 + r Exp[I ϕ]] + j 2I π]}, {j, -1, 1}]], {r, 1*^-6, 1}, {ϕ, -π, π}, Mesh -> False, PlotStyle -> Opacity[0.8], BoxRatios -> {1, 1, 1.5}]See Also
Tech Notes
Related Links
History
Introduced in 1988 (1.0) | Updated in 2021 (13.0) ▪ 2022 (13.1)
Text
Wolfram Research (1988), LogIntegral, Wolfram Language function, https://reference.wolfram.com/language/ref/LogIntegral.html (updated 2022).
CMS
Wolfram Language. 1988. "LogIntegral." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/LogIntegral.html.
APA
Wolfram Language. (1988). LogIntegral. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LogIntegral.html
BibTeX
@misc{reference.wolfram_2026_logintegral, author="Wolfram Research", title="{LogIntegral}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/LogIntegral.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_logintegral, organization={Wolfram Research}, title={LogIntegral}, year={2022}, url={https://reference.wolfram.com/language/ref/LogIntegral.html}, note=[Accessed: 13-June-2026]}