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

public class Erf
extends java.lang.Object
This is a utility class that provides computation methods related to the error functions.
  • Method Summary

    Modifier and Type Method 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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • erf

      public static double erf​(double x)
      Returns the error function.

      erf(x) = 2/√π 0x 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)