public TestsDenseSymmetricMatrix() { _matrix = new double[][] { new double[] { 1 }, new double[] { 2, 5 }, new double[] { 2, 5, 4 } }; denseSymmetricMatrix = new SymmetricDenseMatrix(_matrix); }
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; }
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); }); }
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)); }
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)); }
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); } }
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); } }