# special-math: Special Mathematical Functions (MPFR) In Rmpfr: R MPFR - Multiple Precision Floating-Point Reliable

## Description

Special Mathematical Functions, supported by the MPFR Library.

## Usage

 ```1 2 3 4 5 6``` ```zeta(x) Ei(x) Li2(x) erf(x) erfc(x) ```

## Arguments

 `x` a `numeric` or `mpfr` vector.

## Details

`zeta(x)` computes Riemann's Zeta function zeta(x) important in analytical number theory and related fields. The traditional definition is

Zeta(x) = sum[n=1..Inf; 1/(n^x)].

`Ei(x)` computes the exponential integral,

Integral(-Inf,x; e^t/t dt).

`Li2(x)` computes the dilogarithm,

Integral(0,x; -log(1-t)/t dt).

`erf(x)` and `erfc(x)` are the error, respectively complementary error function which are both reparametrizations of `pnorm`, `erf(x) = 2*pnorm(sqrt(2)*x)` and `erfc(x) = 2* pnorm(sqrt(2)*x, lower=FALSE)`, and hence Rmpfr provides its own version of `pnorm`.

## Value

A vector of the same length as `x`, of class `mpfr`.

`pnorm` in standard package stats; the class description `mpfr` mentioning the generic arithmetic and mathematical functions (`sin`, `log`, ..., etc) for which `"mpfr"` methods are available.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```curve(Ei, 0, 5, n=2001) if(mpfrVersion() >= "2.4.0") { ## Li2() is not available in older MPFR versions curve(Li2, 0, 5, n=2001) curve(Li2, -2, 13, n=2000); abline(h=0,v=0, lty=3) curve(Li2, -200,400, n=2000); abline(h=0,v=0, lty=3) } curve(erf, -3,3, col = "red", ylim = c(-1,2)) curve(erfc, add = TRUE, col = "blue") abline(h=0, v=0, lty=3) legend(-3,1, c("erf(x)", "erfc(x)"), col = c("red","blue"), lty=1) ```