Beispiel #1
0
 public MaskExperiment(int dimensions)
 {
     db = new NgonDatabase(dimensions);
     InitializeComponent();
     this.maskGenerator = new MaskGenerator(dimensions);
     this.maskGeneratorPanel.Children.Add(this.maskGenerator);
 }
Beispiel #2
0
        public DatabaseNgonSummary(int dimensions)
        {
            this.db = new NgonDatabase(dimensions);
            InitializeComponent();

            this.lab_title.Content = this.lab_title.Content.ToString().Replace("$DIM$", dimensions.ToString());

            this.lab_numberNgons.Text        = this.lab_numberNgons.Text.Replace("$NUM_NGONS$", db.Ngons.Count().ToString());
            this.lab_numberPluckerSMs.Text   = this.lab_numberPluckerSMs.Text.Replace("$NUM_MATRICES$", db.PluckerSignMatrices.Count().ToString());
            this.lab_expectedPluckerSMs.Text = this.lab_expectedPluckerSMs.Text.Replace("$EXP_MATRICES$", "no idea");
            this.lab_minPluckerSMs.Text      = this.lab_minPluckerSMs.Text.Replace("$EXP_MATRICES$", db.PluckerSignMatrices.Min(m => m.Ngons.Count).ToString());
            this.lab_maxPluckerSMs.Text      = this.lab_maxPluckerSMs.Text.Replace("$EXP_MATRICES$", db.PluckerSignMatrices.Max(m => m.Ngons.Count).ToString());
        }
Beispiel #3
0
        public MultipleReducedMatricesDistribution(int dimensions = 5)
        {
            db = new NgonDatabase(dimensions);
            Matrix <double> mask = Matrix <double> .Build.Dense(dimensions, dimensions, 1);

            if (dimensions == 5)
            {
                mask[3, 0] = 0;
                mask[3, 1] = 0;
                mask[4, 1] = 0;
            }
            if (dimensions == 4)
            {
                mask[2, 0] = 0;
                mask[3, 2] = 0;
            }

            foreach (SignMatrix matrix in db.PluckerSignMatrices)
            {
                var reduced1 = matrix.getReduced();
                var reduced2 = matrix.getReduced2(mask);

                ReducedSignMatrix reduced1Key = similarReducedMatrix.Keys.FirstOrDefault(m => m.Equals(reduced1));
                if (reduced1Key == null)
                {
                    similarReducedMatrix.Add(reduced1, new List <ReducedSignMatrix2>());
                    reduced1Key = reduced1;
                }

                ReducedSignMatrix2 reduced2Key = similarReduced2Matrix.Keys.FirstOrDefault(m => m.Equals(reduced2));
                if (reduced2Key == null)
                {
                    similarReducedMatrix[reduced1Key].Add(reduced2);
                    similarReduced2Matrix.Add(reduced2, new List <SignMatrix>());
                    reduced2Key = reduced2;
                }

                similarReduced2Matrix[reduced2Key].Add(matrix);
            }
        }
Beispiel #4
0
        public MaskExperiment4()
        {
            int dimensions = 4;

            db = new NgonDatabase(dimensions);
            Matrix <double> mask = Matrix <double> .Build.Dense(dimensions, dimensions, 1);

            mask[2, 0] = 0;
            mask[3, 2] = 0;

            foreach (SignMatrix matrix in db.PluckerSignMatrices)
            {
                var reduced1 = matrix.getReduced();
                var reduced2 = matrix.getReduced2(mask);

                ReducedSignMatrix reduced1Key = similarReducedMatrix.Keys.FirstOrDefault(m => m.Equals(reduced1));
                if (reduced1Key == null)
                {
                    similarReducedMatrix.Add(reduced1, new List <SignMatrix>());
                    reduced1Key = reduced1;
                }
                similarReducedMatrix[reduced1Key].Add(matrix);
            }
        }
 public SignificantSignsExperiment(int dimensions)
 {
     this.database   = new NgonDatabase(dimensions);
     this.dimensions = dimensions;
 }