Hello team,
First, I got the linear_operator op_M(the matrix M). I want to get the inverse of M named as M_inv. Because of the difficult of inverting the M and that M is not symmetry, I used such codes to get M_inv:
SparseMatrix<double> M = op_M;
solver SolverGMRES<Vector<double>> gmres(solver_control);
const auto M_inv = linear_operator(M, gmres, somepreconditioner);
There are some questions on it:
- I don't know how to convert linear_operator to SparseMatrix<double>, the code "SparseMatrix<double> M = op_M;" get error.
- Whether could I get the M_inv directly by op_M using iterator method and don't need to convert linear_operator to SparseMatrix<double>?
- Where I can find the support preconditioner for the iterator? it seems that the SolverGMRES don't supports the preconditoner of SparseILU<double> and SparseDirectUMFPACK.
best regards
chen