Inverse() public method

Computes the inverse of the matrix given to the Cholesky decomposition.
public Inverse ( ) : ].double[
return ].double[
        public void InverseTest1()
        {
            double[,] value = // positive-definite
            {
                {  2, -1,  0 },
                { -1,  2, -1 },
                {  0, -1,  2 }
            };

            var chol = new CholeskyDecomposition(value, robust: false);
            Assert.IsTrue(chol.IsPositiveDefinite);
            var L = chol.LeftTriangularFactor;

            float[][] expected =
            {
                new float[] { 0.750f, 0.500f, 0.250f },
                new float[] { 0.500f, 1.000f, 0.500f },
                new float[] { 0.250f, 0.500f, 0.750f },
            };

            double[,] actual = chol.Inverse();
            Assert.IsTrue(actual.IsEqual(expected, 1e-6));

            double[,] inv = chol.Solve(Matrix.Identity(3));
            Assert.IsTrue(inv.IsEqual(expected, 1e-6));
        }
        public void InverseTest()
        {
            double[,] value = // not positive-definite
            {
               {  6, -1,  2,  6 },
               { -1,  3, -3, -2 },
               {  2, -3,  2,  0 },
               {  6, -2,  0,  0 },
            };

            CholeskyDecomposition chol = new CholeskyDecomposition(value, true);
            double[,] L = chol.LeftTriangularFactor;

            double[,] expected = Matrix.Inverse(value);
            double[,] actual = chol.Inverse();

            Assert.IsTrue(Matrix.IsEqual(expected, actual, 1e-10));
        }
        public void InverseTest()
        {
            double[,] value = // not positive-definite
            {
               {  6, -1,  2,  6 },
               { -1,  3, -3, -2 },
               {  2, -3,  2,  0 },
               {  6, -2,  0,  0 },
            };

            double[,] expected =
            {
                  {  0.40000,  1.20000,  1.40000, -0.50000 },
                  {  1.20000,  3.60000,  4.20000, -2.00000 },
                  {  1.40000,  4.20000,  5.40000, -2.50000 },
                  { -0.50000, -2.00000, -2.50000,  1.00000 },
            };

            var chol = new CholeskyDecomposition(value, robust: true);
            double[,] L = chol.LeftTriangularFactor;
            Assert.IsFalse(chol.IsPositiveDefinite);

            double[,] actual = chol.Inverse();
            Assert.IsTrue(Matrix.IsEqual(expected, actual, 1e-6));

            double[,] inv = Matrix.Inverse(value);
            Assert.IsTrue(Matrix.IsEqual(expected, inv, 1e-10));

            Assert.IsTrue(Matrix.IsEqual(chol.Reverse(), value, 1e-6));
        }