Learn R Programming

pracma (version 1.8.8)

expint: Exponential and Logarithmic Integral

Description

The exponential integral functions E1 and Ei and the logarithmic integral Li.

The exponential integral is defined for $x > 0$ as $$\int_x^\infty \frac{e^{-t}}{t} dt$$ and by analytic continuation in the complex plane. It can also be defined as the Cauchy principal value of the integral $$\int_{-\infty}^x \frac{e^t}{t} dt$$ This is denoted as $Ei(x)$ and the relationship between Ei and expint(x) for x real, x > 0 is as follows: $$Ei(x) = - E1(-x) -i \pi$$

The logarithmic integral $li(x)$ for real $x, x > 0$, is defined as $$li(x) = \int_0^x \frac{dt}{log(t)}$$ and the Eulerian logarithmic integral as $Li(x) = li(x) - li(2)$.

The integral $Li$ approximates the prime number function $\pi(n)$, i.e., the number of primes below or equal to n (see the examples).

Usage

expint(x)
expint_E1(x)

expint_Ei(x) li(x)

Arguments

x
vector of real or complex numbers.

Value

  • Returns a vector of real or complex numbers, the vectorized exponential integral, resp. the logarithmic integral.

Details

For x in [-38, 2] we use a series expansion, otherwise a continued fraction, see the references below, chapter 5.

References

Abramowitz, M., and I.A. Stegun (1965). Handbook of Mathematical Functions. Dover Publications, New York.

See Also

gsl::expint_E1,expint_Ei, primes

Examples

Run this code
expint_E1(1:10)
#   0.2193839  0.0489005  0.0130484  0.0037794  0.0011483
#   0.0003601  0.0001155  0.0000377  0.0000124  0.0000042
expint_Ei(1:10)

estimPi <- function(n) round(Re(li(n) - li(2))) # estimated number of primes
primesPi <- function(n) length(primes(n))       # true number of primes <= n
N <- 1e6
(estimPi(N) - primesPi(N)) / estimPi(N)         # deviation is 0.16 percent!

Run the code above in your browser using DataLab