コード例 #1
0
        private static void TestFactorization()
        {
            //TestSettings.RunMultiproviderTest(providers, delegate () {
            //
            var skyline = SkylineMatrix.CreateFromArrays(SparsePosDef10by10.Order, SparsePosDef10by10.SkylineValues,
                                                         SparsePosDef10by10.SkylineDiagOffsets, true, true);
            var             expectedU     = Matrix.CreateFromArray(SparsePosDef10by10.CholeskyU);
            CholeskySkyline factorization = skyline.FactorCholesky(false);
            TriangularUpper computedU     = factorization.GetFactorU();

            comparer.AssertEqual(expectedU, computedU);
            //});
        }
コード例 #2
0
        private static void TestSystemSolution(/*LinearAlgebraProviderChoice providers*/)
        {
            //TestSettings.RunMultiproviderTest(providers, delegate () {
            //

            var skyline = SkylineMatrix.CreateFromArrays(SparsePosDef10by10.Order, SparsePosDef10by10.SkylineValues,
                                                         SparsePosDef10by10.SkylineDiagOffsets, true, true);
            var             b         = Vector.CreateFromArray(SparsePosDef10by10.Rhs);
            var             xExpected = Vector.CreateFromArray(SparsePosDef10by10.Lhs);
            CholeskySkyline factor    = skyline.FactorCholesky(false);
            Vector          xComputed = factor.SolveLinearSystem(b);

            comparer.AssertEqual(xExpected, xComputed);

            //});
        }