Ejemplo n.º 1
0
        public T Generate()
        {
            for (int i = 0; i < _maxLoops; i++)
            {
                var sample = _sampler.Generate();
                if (_accepter(sample))
                {
                    return(sample);
                }
            }

            throw new TimeoutException("The Monte Carlo sampler failed to pick a value within the prescribed number of iterations.");
        }
Ejemplo n.º 2
0
 public static IEnumerable <T> Generate <T>(this IDistribution <T> distribution, int count)
 {
     for (int i = 0; i < count; i++)
     {
         yield return(distribution.Generate());
     }
 }
Ejemplo n.º 3
0
        public IParticleBehavior MakeBehavior()
        {
            double xScale = _xScale.Generate();
            double yScale = _yScale?.Generate() ?? xScale;

            return(new ScaleBehavior(xScale, yScale));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// y = phi_x * w + noise, noise ~ x
        /// </summary>
        public static double Generate(int nBasis, IEnumerable <double> w, IDistribution <double> noise, double x)
        {
            if (w.Count() != nBasis)
            {
                throw new ArgumentException();
            }

            // 1 * nBasis
            var phiX = Core.Utils.PolynomialBasisLinearModelUtility.GetDesignMatrix(nBasis, x);
            // nBasis * 1
            var wm = new Matrix(w, false);

            return((phiX * wm)[0, 0] + noise.Generate());
        }
Ejemplo n.º 5
0
 public IntVector Generate() => new IntVector(_first.Generate(), _second.Generate());
Ejemplo n.º 6
0
 public static IDistribution <TOut> Transform <TIn, TOut>(this IDistribution <TIn> distribution, Func <TIn, TOut> transformer)
 => new FuncDistribution <TOut>(() => transformer(distribution.Generate()));