Class SpecialFunctions

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static double beta​(double x, double y)
      Beta special function
      static double diGamma​(double x)
      Digamma function as the logarithmic derivative of the Gamma special function
      static double erf​(double x)
      Calculates the error function
      static double erfc​(double x)
      Calculates the complementary error function.
      static double erfcInv​(double z)
      Calculates the complementary inverse error function evaluated at x.
      static double erfInv​(double x)
      Calculates the inverse error function evaluated at x.
      static double exponentialIntegralEi​(double x)
      Exponential integral function Ei(x)
      static double gamma​(double x)
      Real valued Gamma function
      static double hypergeometricF​(double a, double b, double c, double z, double maxIterations, double precision)
      The Gaussian or ordinary hypergeometric special function
      static double incompleteBeta​(double a, double b, double x)
      Log Incomplete Beta special function
      static double incompleteGammaLower​(double s, double x)
      Incomplete lower gamma function
      static double incompleteGammaUpper​(double s, double x)
      Incomplete upper gamma function
      static double inverseRegularizedBeta​(double a, double b, double p)
      Inerse regularized incomplete Beta special function
      static double inverseRegularizedGammaLowerP​(double a, double p)
      Inverse of regularized lower gamma function 'P'
      static double lambertW​(double x, double branch)
      Real-valued Lambert-W function approximation.
      static double lanchosGamma​(double x)
      Gamma function implementation based on Lanchos approximation algorithm
      static double logarithmicIntegralLi​(double x)
      Logarithmic integral function li(x)
      static double logBeta​(double x, double y)
      Log Beta special function
      static double logGamma​(double x)
      Real valued log gamma function.
      static double offsetLogarithmicIntegralLi​(double x)
      Offset logarithmic integral function Li(x)
      static double regularizedBeta​(double a, double b, double x)
      Regularized incomplete Beta special function
      static double regularizedGammaLowerP​(double s, double x)
      Regularized lower gamma function 'P'
      static double regularizedGammaUpperQ​(double s, double x)
      Regularized upper gamma function 'Q'
      static double sgnGamma​(double x)
      Signum from the real valued gamma function.
    • Constructor Detail

      • SpecialFunctions

        public SpecialFunctions()
    • Method Detail

      • exponentialIntegralEi

        public static double exponentialIntegralEi​(double x)
        Exponential integral function Ei(x)
        Parameters:
        x - Point at which function will be evaluated.
        Returns:
        Exponential integral function Ei(x)
      • logarithmicIntegralLi

        public static double logarithmicIntegralLi​(double x)
        Logarithmic integral function li(x)
        Parameters:
        x - Point at which function will be evaluated.
        Returns:
        Logarithmic integral function li(x)
      • offsetLogarithmicIntegralLi

        public static double offsetLogarithmicIntegralLi​(double x)
        Offset logarithmic integral function Li(x)
        Parameters:
        x - Point at which function will be evaluated.
        Returns:
        Offset logarithmic integral function Li(x)
      • erf

        public static double erf​(double x)
        Calculates the error function
        Parameters:
        x - Point at which function will be evaluated.
        Returns:
        Error function erf(x)
      • erfc

        public static double erfc​(double x)
        Calculates the complementary error function.
        Parameters:
        x - Point at which function will be evaluated.
        Returns:
        Complementary error function erfc(x)
      • erfInv

        public static double erfInv​(double x)
        Calculates the inverse error function evaluated at x.
        Parameters:
        x - Point at which function will be evaluated.
        Returns:
        Inverse error function erfInv(x)
      • erfcInv

        public static double erfcInv​(double z)
        Calculates the complementary inverse error function evaluated at x.
        Parameters:
        z - Point at which function will be evaluated.
        Returns:
        Inverse of complementary inverse error function erfcInv(x)
      • gamma

        public static double gamma​(double x)
        Real valued Gamma function
        Parameters:
        x - Argument value
        Returns:
        Returns gamma function value.
      • lanchosGamma

        public static double lanchosGamma​(double x)
        Gamma function implementation based on Lanchos approximation algorithm
        Parameters:
        x - Function parameter
        Returns:
        Gamma function value (Lanchos approx).
      • logGamma

        public static double logGamma​(double x)
        Real valued log gamma function.
        Parameters:
        x - Argument value
        Returns:
        Returns log value from gamma function.
      • sgnGamma

        public static double sgnGamma​(double x)
        Signum from the real valued gamma function.
        Parameters:
        x - Argument value
        Returns:
        Returns signum of the gamma(x)
      • regularizedGammaLowerP

        public static double regularizedGammaLowerP​(double s,
                                                    double x)
        Regularized lower gamma function 'P'
        Parameters:
        s - Argument value
        x - Argument value
        Returns:
        Value of the regularized lower gamma function 'P'.
      • inverseRegularizedGammaLowerP

        public static double inverseRegularizedGammaLowerP​(double a,
                                                           double p)
        Inverse of regularized lower gamma function 'P'
        Parameters:
        a - Argument value
        p - Argument value
        Returns:
        Value of the inverse regularized lower gamma function 'P'.
      • incompleteGammaLower

        public static double incompleteGammaLower​(double s,
                                                  double x)
        Incomplete lower gamma function
        Parameters:
        s - Argument value
        x - Argument value
        Returns:
        Value of the incomplete lower gamma function.
      • regularizedGammaUpperQ

        public static double regularizedGammaUpperQ​(double s,
                                                    double x)
        Regularized upper gamma function 'Q'
        Parameters:
        s - Argument value
        x - Argument value
        Returns:
        Value of the regularized upper gamma function 'Q'.
      • incompleteGammaUpper

        public static double incompleteGammaUpper​(double s,
                                                  double x)
        Incomplete upper gamma function
        Parameters:
        s - Argument value
        x - Argument value
        Returns:
        Value of the incomplete upper gamma function.
      • diGamma

        public static double diGamma​(double x)
        Digamma function as the logarithmic derivative of the Gamma special function
        Parameters:
        x - Argument value
        Returns:
        Approximated value of the digamma function.
      • logBeta

        public static double logBeta​(double x,
                                     double y)
        Log Beta special function
        Parameters:
        x - Argument value
        y - Argument value
        Returns:
        Return logBeta special function (for positive x and positive y)
      • beta

        public static double beta​(double x,
                                  double y)
        Beta special function
        Parameters:
        x - Argument value
        y - Argument value
        Returns:
        Return Beta special function (for positive x and positive y)
      • incompleteBeta

        public static double incompleteBeta​(double a,
                                            double b,
                                            double x)
        Log Incomplete Beta special function
        Parameters:
        a - Argument value
        b - Argument value
        x - Argument value
        Returns:
        Return incomplete Beta special function for positive a and positive b and x between 0 and 1
      • regularizedBeta

        public static double regularizedBeta​(double a,
                                             double b,
                                             double x)
        Regularized incomplete Beta special function
        Parameters:
        a - Argument value
        b - Argument value
        x - Argument value
        Returns:
        Return incomplete Beta special function for positive a and positive b and x between 0 and 1
      • inverseRegularizedBeta

        public static double inverseRegularizedBeta​(double a,
                                                    double b,
                                                    double p)
        Inerse regularized incomplete Beta special function
        Parameters:
        a - Argument value
        b - Argument value
        p - Argument value
        Returns:
        Return inverse incomplete Beta special function for positive a and positive b and x between 0 and 1
      • lambertW

        public static double lambertW​(double x,
                                      double branch)
        Real-valued Lambert-W function approximation.
        Parameters:
        x - Point at which function will be approximated
        branch - Branch id, 0 for principal branch, -1 for the other branch
        Returns:
        Principal branch for x greater or equal than -1/e, otherwise Double.NaN. Minus 1 branch for x greater or equal than -1/e and lower than 0, otherwise Double.NaN.
      • hypergeometricF

        public static double hypergeometricF​(double a,
                                             double b,
                                             double c,
                                             double z,
                                             double maxIterations,
                                             double precision)
        The Gaussian or ordinary hypergeometric special function
        Parameters:
        a - Argument value
        b - Argument value
        c - Argument value
        z - Argument value
        maxIterations - Stop condition
        precision - Stop condition
        Returns:
        Returns hypergeometric special function approximation