org.apache.commons.math3.special

## Class Erf

- java.lang.Object
- - org.apache.commons.math3.special.Erf

-     public class Erf
      extends Object

  This is a utility class that provides computation methods related to the error functions.
  Version:
    $Id: Erf.java 1538368 2013-11-03 13:57:37Z erans $

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static double` | `erf(double x)` Returns the error function.
    `static double` | `erf(double x1, double x2)` Returns the difference between erf(x1) and erf(x2).
    `static double` | `erfc(double x)` Returns the complementary error function.
    `static double` | `erfcInv(double x)` Returns the inverse erfc.
    `static double` | `erfInv(double x)` Returns the inverse erf.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### erf

          public static double erf(double x)

      Returns the error function.

      erf(x) = 2/√π 0∫x e-t2dt

      This implementation computes erf(x) using the `regularized gamma function`, following Erf, equation (3)

      The value returned is always between -1 and 1 (inclusive). If `abs(x) > 40`, then `erf(x)` is indistinguishable from either 1 or -1 as a double, so the appropriate extreme value is returned.

      Parameters:
        `x` - the value.
      Returns:
        the error function erf(x)
      Throws:
        `MaxCountExceededException` - if the algorithm fails to converge.
      See Also:
        `Gamma.regularizedGammaP(double, double, double, int)`

    - #### erfc

          public static double erfc(double x)

      Returns the complementary error function.

      erfc(x) = 2/√π x∫∞ e-t2dt
      = 1 - `erf(x)`

      This implementation computes erfc(x) using the `regularized gamma function`, following Erf, equation (3).

      The value returned is always between 0 and 2 (inclusive). If `abs(x) > 40`, then `erf(x)` is indistinguishable from either 0 or 2 as a double, so the appropriate extreme value is returned.

      Parameters:
        `x` - the value
      Returns:
        the complementary error function erfc(x)
      Throws:
        `MaxCountExceededException` - if the algorithm fails to converge.
      Since:
        2.2
      See Also:
        `Gamma.regularizedGammaQ(double, double, double, int)`

    - #### erf

          public static double erf(double x1,
                   double x2)

      Returns the difference between erf(x1) and erf(x2). The implementation uses either erf(double) or erfc(double) depending on which provides the most precise result.
      Parameters:
        `x1` - the first value
        `x2` - the second value
      Returns:
        erf(x2) - erf(x1)

    - #### erfInv

          public static double erfInv(double x)

      Returns the inverse erf.

      This implementation is described in the paper: Approximating the erfinv function by Mike Giles, Oxford-Man Institute of Quantitative Finance, which was published in GPU Computing Gems, volume 2, 2010. The source code is available here.

      Parameters:
        `x` - the value
      Returns:
        t such that x = erf(t)
      Since:
        3.2

    - #### erfcInv

          public static double erfcInv(double x)

      Returns the inverse erfc.
      Parameters:
        `x` - the value
      Returns:
        t such that x = erfc(t)
      Since:
        3.2

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.