erfInv

Inverse error function: u = erf(erfInv(u))

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

Syntax

Special.erfInv(u);

Description

This function computes the inverse of the error function erf(u) = 2/sqrt(pi)*Integral_0_u exp(-t^2)*dt numerically with a relative precision of about 1e-15. Therefore, u = erf(erfInv(u)). Input argument u must be in the range (otherwise an assertion is raised):

-1 ≤ u ≤ 1

If u = 1, the function returns Modelica.Constants.inf.
If u = -1, the function returns -Modelica.Constants.inf
The implementation utilizes the formulation of the Boost library (erf_inv.hpp, developed by John Maddock).
Plot of the function:

For more details, see Wikipedia.

Example

erfInv(0)            // = 0
erfInv(0.5)          // = 0.4769362762044699
erfInv(0.999999)     // = 3.458910737275499
erfInv(0.9999999999) // = 4.572824958544925

See also

erf, erfc, erfcInv.

Syntax

y = erfInv(u)

Inputs (1)

u

Type: Real

Description: Input argument in the range -1 <= u <= 1

Outputs (1)

y

Type: Real

Description: = inverse of error function