/// <summary> /// Create a truncated Gaussian from untruncated (mean, variance) and bounds /// </summary> /// <param name="mean"></param> /// <param name="variance"></param> /// <param name="lowerBound"></param> /// <param name="upperBound"></param> public TruncatedGaussian(double mean, double variance, double lowerBound, double upperBound) { this.Gaussian = Gaussian.FromMeanAndVariance(mean, variance); LowerBound = lowerBound; UpperBound = upperBound; }
/// <summary> /// Create a truncated Gaussian equivalent to a Gaussian, i.e. with no truncation. /// </summary> /// <param name="gaussian"></param> public static TruncatedGaussian FromGaussian(Gaussian gaussian) { return(new TruncatedGaussian(gaussian)); }
public TruncatedGaussian(Gaussian gaussian, double lowerBound, double upperBound) { this.Gaussian = gaussian; LowerBound = lowerBound; UpperBound = upperBound; }
/// <summary> /// Create a truncated Gaussian equivalent to a Gaussian, i.e. with no truncation. /// </summary> /// <param name="that"></param> public TruncatedGaussian(Gaussian that) { this.Gaussian = that; LowerBound = Double.NegativeInfinity; UpperBound = Double.PositiveInfinity; }
/// <summary> /// Constructs a non-conjugate Gaussian from a Gaussian /// </summary> /// <param name="that"></param> public NonconjugateGaussian(Gaussian that) : this() { SetTo(that); }
/// <summary> /// Copy constructor. /// </summary> /// <param name="that"></param> public Gaussian(Gaussian that) : this() { SetTo(that); }
/// <summary> /// Sets the mean and variance to match a Gaussian mixture. /// </summary> /// <param name="weight1">First weight</param> /// <param name="g1">First Gaussian</param> /// <param name="weight2">Second weight</param> /// <param name="g2">Second Gaussian</param> public void SetToSum(double weight1, Gaussian g1, double weight2, Gaussian g2) { SetTo(WeightedSum <Gaussian>(this, weight1, g1, weight2, g2)); }
/// <summary> /// Sets this Gaussian instance to have the parameter values of that Gaussian instance /// </summary> /// <param name="that">That Gaussian</param> public void SetTo(Gaussian that) { MeanTimesPrecision = that.MeanTimesPrecision; Precision = that.Precision; }