Class MemorylessTruncatedWrapper

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

    public class MemorylessTruncatedWrapper
    extends TruncatedWrapper
    When truncating an exponential function left (setting a lower constraint), the result is the same exponential function offset by the constraint

    exp(x,lambda=2) truncated with x>=3 is: exp(x | x >= 3, lamda=2) = exp(x-3, lamda=2)

    See Also:
    Serialized Form
    • Constructor Detail

      • MemorylessTruncatedWrapper

        public MemorylessTruncatedWrapper​(org.apache.commons.math3.distribution.RealDistribution dist)
      • MemorylessTruncatedWrapper

        public MemorylessTruncatedWrapper​(org.apache.commons.math3.distribution.RealDistribution dist,
                                          double constraint)
    • Method Detail

      • density

        public double density​(double x)
        Specified by:
        density in interface org.apache.commons.math3.distribution.RealDistribution
        Overrides:
        density in class RejectionWrapper
      • cumulativeProbability

        public double cumulativeProbability​(double x0,
                                            double x1)
                                     throws org.apache.commons.math3.exception.NumberIsTooLargeException
        Specified by:
        cumulativeProbability in interface org.apache.commons.math3.distribution.RealDistribution
        Overrides:
        cumulativeProbability in class org.apache.commons.math3.distribution.AbstractRealDistribution
        Throws:
        org.apache.commons.math3.exception.NumberIsTooLargeException
      • inverseCumulativeProbability

        public double inverseCumulativeProbability​(double p)
                                            throws org.apache.commons.math3.exception.OutOfRangeException
        Specified by:
        inverseCumulativeProbability in interface org.apache.commons.math3.distribution.RealDistribution
        Overrides:
        inverseCumulativeProbability in class org.apache.commons.math3.distribution.AbstractRealDistribution
        Throws:
        org.apache.commons.math3.exception.OutOfRangeException
      • sample

        public double sample()
        Description copied from class: TruncatedWrapper
        Slice sampling Note that due to floating point arithmetic, too large constraints, i.e. those where the density of the truncated distribution is 0, will not work!
        Specified by:
        sample in interface org.apache.commons.math3.distribution.RealDistribution
        Overrides:
        sample in class TruncatedWrapper
      • sample

        public double[] sample​(int sampleSize)
        Specified by:
        sample in interface org.apache.commons.math3.distribution.RealDistribution
        Overrides:
        sample in class TruncatedWrapper