Beispiel #1
0
        public MatrixValue Function(MatrixValue M, MatrixValue phi)
        {
            if (M.IsSymmetric)
            {
                var cg = new CGSolver(M);
                return(cg.Solve(phi));
            }
            else if (M.DimensionX == M.DimensionY && M.DimensionY > 64)             // Is there a way to "guess" a good number for this?
            {
                var gmres = new GMRESkSolver(M);
                gmres.Restart = 30;
                return(gmres.Solve(phi));
            }

            return(M.Inverse() * phi);
        }
 public MatrixValue Function(MatrixValue M)
 {
     return(M.Inverse());
 }
Beispiel #3
0
 public MatrixValue Function(MatrixValue M)
 {
     return M.Inverse();
 }