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); } }
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); } }