Class BernsteinExponentialApproximation

  • All Implemented Interfaces:
    java.io.Serializable, org.apache.commons.math3.analysis.UnivariateFunction, org.apache.commons.math3.distribution.RealDistribution

    public class BernsteinExponentialApproximation
    extends AnotherAbstractRealDistribution
    Implementation of the expolynomial distribution class presented in:

    Horváth, András, Lorenzo Ridi, and Enrico Vicario. "Approximating distributions and transient probabilities of Markov chains by Bernstein expolynomial functions." Proc. of International Conference on the Numerical Solution of Markov Chains. Williamsburg, VA, USA, September 15-18, Williamsburg, VA, USA: College of William & Mary. 2010.

    Author:
    Andreas Rogge-Solti
    See Also:
    Serialized Form
    • Constructor Detail

      • BernsteinExponentialApproximation

        public BernsteinExponentialApproximation​(double[] nPoints,
                                                 java.lang.Double lowerBound,
                                                 java.lang.Double upperBound,
                                                 double c)
        Constructs a Bernstein Exponential with a given number of sampling points
        Parameters:
        nPoints - sampling points of the distribution
      • BernsteinExponentialApproximation

        public BernsteinExponentialApproximation​(org.apache.commons.math3.analysis.UnivariateFunction f,
                                                 java.lang.Double lowerBound,
                                                 java.lang.Double upperBound,
                                                 int n,
                                                 double c)
        Parameters:
        f - the original function to approximate (usually a RealDistribution
        lowerBound - the lower bound "a" parameter in the cited work (must be greater or equal 0)
        upperBound - the upper bound "b" parameter in the cited work (can be infinite, must be greater than the lower bound)
        n - the number of sampling points (granularity of the approximation)
        c - the scaling factor for the sampling points
      • BernsteinExponentialApproximation

        public BernsteinExponentialApproximation​(org.apache.commons.math3.distribution.RealDistribution d,
                                                 java.lang.Double lowerBound,
                                                 java.lang.Double upperBound)
      • BernsteinExponentialApproximation

        public BernsteinExponentialApproximation​(org.apache.commons.math3.distribution.RealDistribution d,
                                                 java.lang.Double lowerBound,
                                                 java.lang.Double upperBound,
                                                 int n)
      • BernsteinExponentialApproximation

        public BernsteinExponentialApproximation​(org.apache.commons.math3.distribution.RealDistribution d,
                                                 java.lang.Double lowerBound,
                                                 java.lang.Double upperBound,
                                                 int n,
                                                 double c)
    • Method Detail

      • density

        public double density​(double x)
      • getSupportLowerBound

        public double getSupportLowerBound()
      • getSupportUpperBound

        public double getSupportUpperBound()
      • isSupportLowerBoundInclusive

        public boolean isSupportLowerBoundInclusive()
      • isSupportUpperBoundInclusive

        public boolean isSupportUpperBoundInclusive()
      • isSupportConnected

        public boolean isSupportConnected()
      • getSamplingConstantC

        public java.lang.Double getSamplingConstantC()
      • getNPoints

        public double[] getNPoints()
      • getParameters

        public java.util.List<java.lang.Double> getParameters()