예제 #1
0
        public void LUDecompositionComputeTest()
        {
            for (Int32 matrixIndex = 0; matrixIndex < this.matrices.Length; matrixIndex++)
            {
                LUDecomposition decomposition = new LUDecomposition(this.matrices[matrixIndex]);
                decomposition.Compute();

                decomposition.L.ShouldBe(this.expectedL[matrixIndex], 0.01);
                decomposition.U.ShouldBe(this.expectedU[matrixIndex], 0.01);
                decomposition.P.ShouldBe(this.expectedP[matrixIndex], 0.01);
            }
        }
        public void LUDecompositionComputeTest()
        {
            for (Int32 i = 0; i < _matrix.Length; i++)
            {
                LUDecomposition decomposition = new LUDecomposition(_matrix[i]);
                decomposition.Compute();

                for (Int32 j = 0; j < _matrix[i].NumberOfRows; j++)
                {
                    for (Int32 k = 0; k < _matrix[i].NumberOfColumns; k++)
                    {
                        Assert.AreEqual(_lExpected[i][j, k], decomposition.L[j, k], 0.01);
                        Assert.AreEqual(_uExpected[i][j, k], decomposition.U[j, k], 0.01);
                        Assert.AreEqual(_pExpected[i][j, k], decomposition.P[j, k], 0.01);
                    }
                }
            }
        }