Evaluates the inverse of the error function.

You're viewing an older version of this page (#392). View the current version.

View versions (2)

Interface

#include <codecogs/maths/special/errorfn_inv.h>

using namespace Maths::Special;

The inverse error function is defined as the function \mathrm{erf}^{-1}:(-1,1) \rightarrow \mathbb{R} which satisfies:

\left\{
\begin{array}{rcll}
\mathrm{erf}\left(\mathrm{erf}^{-1}(x)\right) &=& x, &\qquad \forall x \in (-1,1)\\
\mathrm{erf}^{-1}\left(\mathrm{erf}(x)\right) &=& x, &\qquad \forall x \in \mathbb{R}
\end{array}
(1)

where \displaystyle \mathrm{erf} is the error function. Some special values are:

\begin{array}{rcl}
\mathrm{erf}^{-1}(\pm 1) &=& \pm \infty \\
\\
\mathrm{erf}^{-1}(0) &=& 0.
\end{array}
(2)

The graph of this function is shown below.

1/InverseErf-378.gif

The following property also holds:

\mathrm{erf}^{-1}(x) = \mathrm{erfc}^{-1}(1 - x), \qquad \forall x \in (-1,1)
(3)

where \displaystyle \mathrm{erfc}^{-1} is the inverse of the complementary error function. Based on this last formula, you may notice how the output of the example code below is linked to the example output in the Maths::Special::errorFnC_inv module.

References

Mathworld, http://mathworld.wolfram.com/InverseErf.html

Example 1

#include <codecogs/maths/special/errorfn_inv.h>
#include <stdio.h>

int main(  )
{
  // display the value of the function at important points
  printf("x = -1    y = %.15lf\n",   Maths::Special::errorFn_inv(-1.0));
  printf("x = 0     y = %.15lf\n",   Maths::Special::errorFn_inv( 0.0));
  printf("x = 1     y = %.15lf\n\n", Maths::Special::errorFn_inv( 1.0));

  // display several values of the function
  // at equally spaced abscissas with a step of 0.1
  for (double x = 0.1; x < 0.99; x += 0.1)
    printf("x = %.1lf   y = %.15lf\n", 
    x, Maths::Special::errorFn_inv(x));

  return 0;
}

Output

x = -1    y = -1.#INF00000000000
x = 0     y = 0.000000000000000
x = 1     y = 1.#INF00000000000

x = 0.1   y = 0.088855990494258
x = 0.2   y = 0.179143454621292
x = 0.3   y = 0.272462714726755
x = 0.4   y = 0.370807158593558
x = 0.5   y = 0.476936276204470
x = 0.6   y = 0.595116081449995
x = 0.7   y = 0.732869077959217
x = 0.8   y = 0.906193802436823
x = 0.9   y = 1.163087153676674

Parameters

y
the value at which to evaluate the function (-1 \leq y \leq 1)

Returns

The inverse of the error function.
GPL Licence — free for non commercial use. See Licence details.

Interactive Calculator

y
Result