Class BernsteinExponentialApproximation
- java.lang.Object
-
- org.apache.commons.math3.distribution.AbstractRealDistribution
-
- org.processmining.plugins.stochasticpetrinet.distribution.AnotherAbstractRealDistribution
-
- org.processmining.plugins.stochasticpetrinet.distribution.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
-
-
Field Summary
Fields Modifier and Type Field Description static doubleDEFAULT_Cstatic intDEFAULT_N-
Fields inherited from class org.processmining.plugins.stochasticpetrinet.distribution.AnotherAbstractRealDistribution
cachedMean, cachedVariance
-
-
Constructor Summary
Constructors Constructor Description BernsteinExponentialApproximation(double[] nPoints, java.lang.Double lowerBound, java.lang.Double upperBound, double c)Constructs a Bernstein Exponential with a given number of sampling pointsBernsteinExponentialApproximation(org.apache.commons.math3.analysis.UnivariateFunction f, java.lang.Double lowerBound, java.lang.Double upperBound, int n, double c)BernsteinExponentialApproximation(org.apache.commons.math3.distribution.RealDistribution d, java.lang.Double lowerBound, java.lang.Double upperBound)BernsteinExponentialApproximation(org.apache.commons.math3.distribution.RealDistribution d, java.lang.Double lowerBound, java.lang.Double upperBound, int n)BernsteinExponentialApproximation(org.apache.commons.math3.distribution.RealDistribution d, java.lang.Double lowerBound, java.lang.Double upperBound, int n, double c)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doubledensity(double x)double[]getNPoints()java.util.List<java.lang.Double>getParameters()java.lang.DoublegetSamplingConstantC()doublegetSupportLowerBound()doublegetSupportUpperBound()booleanisSupportConnected()booleanisSupportLowerBoundInclusive()booleanisSupportUpperBoundInclusive()-
Methods inherited from class org.processmining.plugins.stochasticpetrinet.distribution.AnotherAbstractRealDistribution
cumulativeProbability, getNumericalMean, getNumericalVariance, value
-
-
-
-
Field Detail
-
DEFAULT_N
public static final int DEFAULT_N
- See Also:
- Constant Field Values
-
DEFAULT_C
public static final double DEFAULT_C
- See Also:
- Constant Field Values
-
-
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 aRealDistributionlowerBound- 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()
-
-