expint3: The Exponential Integral and Variants

Description Usage Arguments Details Value Warning Author(s) References See Also Examples

Description

Computes the exponential integral Ei(x) for real values, as well as exp(-x) * Ei(x) and E_1(x) and their derivatives (up to the 3rd derivative).

Usage

1
2
3
expint(x, deriv = 0)
expexpint(x, deriv = 0)
expint.E1(x, deriv = 0)

Arguments

x

Numeric. Ideally a vector of positive reals.

deriv

Integer. Either 0, 1, 2 or 3.

Details

The exponential integral Ei(x) function is the integral of exp(t) / t from 0 to x, for positive real x. The function E_1(x) is the integral of exp(-t) / t from x to infinity, for positive real x.

Value

Function expint(x, deriv = n) returns the nth derivative of Ei(x) (up to the 3rd), function expexpint(x, deriv = n) returns the nth derivative of exp(-x) * Ei(x) (up to the 3rd), function expint.E1(x, deriv = n) returns the nth derivative of E_1(x) (up to the 3rd).

Warning

These functions have not been tested thoroughly.

Author(s)

T. W. Yee has simply written a small wrapper function to call the NETLIB FORTRAN code. Xiangjie Xue modified the functions to calculate derivatives. Higher derivatives can actually be calculated—please let me know if you need it.

References

http://www.netlib.org/specfun/ei.

See Also

log, exp. There is also a package called expint.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
 ## Not run: 
par(mfrow = c(2, 2))
curve(expint, 0.01, 2, xlim = c(0, 2), ylim = c(-3, 5),
      las = 1, col = "orange")
abline(v = (-3):5, h = (-4):5, lwd = 2, lty = "dotted", col = "gray")
abline(h = 0, v = 0, lty = "dashed", col = "blue")

curve(expexpint, 0.01, 2, xlim = c(0, 2), ylim = c(-3, 2),
      las = 1, col = "orange")
abline(v = (-3):2, h = (-4):5, lwd = 2, lty = "dotted", col = "gray")
abline(h = 0, v = 0, lty = "dashed", col = "blue")

curve(expint.E1, 0.01, 2, xlim = c(0, 2), ylim = c(0, 5),
      las = 1, col = "orange")
abline(v = (-3):2, h = (-4):5, lwd = 2, lty = "dotted", col = "gray")
abline(h = 0, v = 0, lty = "dashed", col = "blue")

## End(Not run)

VGAM documentation built on Jan. 16, 2021, 5:21 p.m.