Computes inverse error function value of vector elements.
FORTRAN:
call vserfinv( n, a, y )
call vmserfinv( n, a, y, mode )
call vderfinv( n, a, y )
call vmderfinv( n, a, y, mode )
C:
vsErfInv( n, a, y );
vmsErfInv( n, a, y, mode );
vdErfInv( n, a, y );
vmdErfInv( n, a, y, mode );
Name |
Type |
Description |
---|---|---|
n |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: const int |
Specifies the number of elements to be calculated. |
a |
FORTRAN 77: REAL for vserfinv, vmserfinv DOUBLE PRECISION for vderfinv, vmderfinv Fortran 90: REAL, INTENT(IN) for vserfinv, vmserfinv DOUBLE PRECISION, INTENT(IN) for vderfinv, vmderfinv C: const float* for vsErfInv, vmsErfInv const double* for vdErfInv, vmdErfInv |
FORTRAN: Array that specifies the input vector a. C: Pointer to an array that contains the input vector a. |
mode |
FORTRAN 77: INTEGER*8 Fortran 90: INTEGER(KIND=8), INTENT(IN) C: const MKL_INT64 |
Overrides global VML mode setting for this function call. See vmlSetMode for possible values and their description. |
Name |
Type |
Description |
---|---|---|
y |
FORTRAN 77: REAL for vserfinv, vmserfinv DOUBLE PRECISION for vderfinv, vmderfinv Fortran 90: REAL, INTENT(OUT) for vserfinv, vmserfinv DOUBLE PRECISION, INTENT(OUT) for vderfinv, vmderfinv C: float* for vsErfInv, vmsErfInv double* for vdErfInv, vmdErfInv |
FORTRAN: Array that specifies the output vector y. C: Pointer to an array that contains the output vector y. |
The ErfInv function computes the inverse error function values for elements of the input vector a and writes them to the output vector y
y = erf-1(a),
where erf(x) is the error function defined as given by:
Useful relations:
where erfc is the complementary error function.
where
is the cumulative normal distribution function.
where Φ-1(x) and erf-1(x) are the inverses to Φ(x) and erf(x) respectively.
Figure "ErfInv Family Functions Relationship" illustrates the relationships among ErfInv family functions (ErfInv, ErfcInv, CdfNormInv).
Useful relations for these functions: