private void clusterButton_Click(object sender, RoutedEventArgs e) { int nElements = 100; List <double> elements = new List <double>(); Troschuetz.Random.Distributions.Continuous.ContinuousUniformDistribution cud = new Troschuetz.Random.Distributions.Continuous.ContinuousUniformDistribution(0, 1); for (int i = 0; i < nElements; i++) { elements.Add(cud.NextDouble()); } Ball <double> .Metric metric = (double x, double y) => Math.Abs(x - y); Tuple <List <Ball <double> >, bool, int> tuple = Ball <double> .Cluster2FixedNumberOfBalls(elements, metric, 10, 10000); List <Ball <double> > balls = tuple.Item1; using (System.IO.StreamWriter writer = System.IO.File.CreateText("testClusterer.txt")) { foreach (Ball <double> ball in balls) { foreach (double element in ball.Elements) { writer.WriteLine(element + "\t" + ball.Center + "\t" + ball.Radius + "\t" + Math.Abs(element - ball.Center)); } } } MessageBox.Text += "Cluster done.\n"; MessageBox.Text += "Converged = " + tuple.Item2 + "\n"; MessageBox.Text += "n Steps taken = " + tuple.Item3 + "\n"; }
public MCMC() { mt = new Troschuetz.Random.Generators.MT19937Generator(); uRand = new Troschuetz.Random.Distributions.Continuous.ContinuousUniformDistribution(mt, 0, 1); OutputDirectory = Directory.GetCurrentDirectory(); }
public AuxiliaryChain() { mt = new Troschuetz.Random.Generators.MT19937Generator(); uRand = new Troschuetz.Random.Distributions.Continuous.ContinuousUniformDistribution(mt, 0, 1); }
static PMF() { generator = new Troschuetz.Random.Generators.MT19937Generator(); uniGen = new Troschuetz.Random.Distributions.Continuous.ContinuousUniformDistribution(generator); }
public Annealer() { mt = new Troschuetz.Random.Generators.MT19937Generator(); uRand = new Troschuetz.Random.Distributions.Continuous.ContinuousUniformDistribution(mt); zRand = new Troschuetz.Random.Distributions.Continuous.NormalDistribution(mt); }