public TestsDenseSymmetricMatrix()
 {
     _matrix = new double[][] { new double[] { 1 },
                                new double[] { 2, 5 },
                                new double[] { 2, 5, 4 } };
     denseSymmetricMatrix = new SymmetricDenseMatrix(_matrix);
 }
Exemple #2
0
 public TestsDenseSymmetricMatrix(ITestOutputHelper testOutputHelper)
 {
     _matrix = new double[][] { new double[] { 1 },
                                new double[] { 2, 5 },
                                new double[] { 2, 5, 4 } };
     denseSymmetricMatrix = new SymmetricDenseMatrix(_matrix);
     _testOutputHelper    = testOutputHelper;
 }
Exemple #3
0
        public void ConstructorExeptions()
        {
            _matrix = new double[][] {
                new double[] { 2, 5 },
                new double[] { 2, 5, 4 }
            };


            Assert.Throws <ArgumentNullException>(() => { SymmetricDenseMatrix denseSymmetricMatrix = new SymmetricDenseMatrix((double[][])null); });
            Assert.Throws <ArgumentException>(() => { SymmetricDenseMatrix denseMatrix2 = new SymmetricDenseMatrix(-1); });
            Assert.Throws <RankException>(() => { SymmetricDenseMatrix denseMatrix1 = new SymmetricDenseMatrix(_matrix); });
        }
Exemple #4
0
        public void Fill()
        {
            FillFunc fillFunc = (row, col) => { return((row + 1) + (col + 1)); };

            denseSymmetricMatrix.Fill(fillFunc);
            _matrix = new double[][] { new double[] { 2 },
                                       new double[] { 3, 4 },
                                       new double[] { 4, 5, 6 } };

            SymmetricDenseMatrix dense = new SymmetricDenseMatrix(_matrix);

            Assert.True(new HashSet <(double, int, int)>(denseSymmetricMatrix).SetEquals(dense));
        }
Exemple #5
0
        public void USolveExeptions()
        {
            _matrix = new double[][] { new double[] { 1 },
                                       new double[] { 2, 5 },
                                       new double[] { 2, 5, 4 } };
            SymmetricDenseMatrix denseSymmetricMatrix = new SymmetricDenseMatrix(_matrix);

            Vector exampleVector = new Vector(new double[2] {
                1.0, 2.0
            });

            Assert.Throws <ArgumentNullException>(() => denseSymmetricMatrix.USolve(null, false));
            Assert.Throws <RankException>(() => denseSymmetricMatrix.USolve(exampleVector, false));
        }
Exemple #6
0
        public void USolve()
        {
            _matrix = new double[][] { new double[] { 1 },
                                       new double[] { 2, 5 },
                                       new double[] { 2, 5, 4 } };
            SymmetricDenseMatrix denseSymmetricMatrix = new SymmetricDenseMatrix(_matrix);

            Vector vector = new Vector(new double[] { 1, 0, -0.04301075 });

            var    result       = denseSymmetricMatrix.USolve(vector, false);
            Vector resultActual = new Vector(new double[] { 0.655914, 0.21505375, -0.04301075 });


            for (int i = 0; i < result.Size; i++)
            {
                Assert.Equal(result[i], resultActual[i], 8);
            }
        }
Exemple #7
0
        public void LSolve()
        {
            //_matrix = new double[3, 3] { { 1, 2, 3 }, { 2, -1, 1 }, { 7, -20, 93 } };

            _matrix = new double[][] { new double[] { 1 },
                                       new double[] { 0, 5 },
                                       new double[] { 0, 0, 32 } };

            SymmetricDenseMatrix denseSymmetricMatrix = new SymmetricDenseMatrix(_matrix);

            Vector vector = new Vector(new double[] { 1, 4, 4 });

            var    result       = denseSymmetricMatrix.LSolve(vector, true);
            Vector resultActual = new Vector(new double[] { 1, 0.8, 0.125 });

            for (int i = 0; i < result.Size; i++)
            {
                Assert.Equal(result[i], resultActual[i], 8);
            }
        }