Example #1
0
        public static IFactorization SpawnFactorization(FactorizersEnum factorizer, CoordinationalMatrix M)
        {
            IFactorization factorization;

            switch (factorizer)

            {
            case FactorizersEnum.IncompleteCholesky:
                return(factorization = new IncompleteCholesky(M));

            case FactorizersEnum.IncompleteLU:
                return(factorization = new IncompleteLU(M));

            case FactorizersEnum.IncompleteLUsq:
                return(factorization = new IncompleteLUsq(M));

            case FactorizersEnum.DiagonalFactorization:
                return(factorization = new DioganalFactorization(M));

            case FactorizersEnum.SimpleFactorization:
                return(factorization = new SimpleFactorization(M));

            case FactorizersEnum.WithoutFactorization:
                return(factorization = null);

            default: return(null);
            }
        }
Example #2
0
        public void FactorizationU()
        {
            IncompleteLUsq incompleteLUsq = new IncompleteLUsq(FA);
            var            result         = incompleteLUsq.UMult(new Vector(new double[] { 1, 1, 1 }));

            double[] resultActual = new double[]
            {
                12,
                11,
                7
            };

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