Ammended native deal.II preconditioners and solvers for use in LinearOperators.
Improved: Native deal.II preconditioners can now be directly wrapped as
LinearOperators. This allows them to be used in the construction of more complex
linear solvers, such as where the approximate inverse to a matrix is to be
defined as a preconditioner to said matrix.
New: Added a LinearOperator test for deal.II SparseMatrix solvers and
preconditioners.
Added a test to check that the various combinations of deal.II solvers and
preconditioners (for the SparseMatrix type) work with the linear_operator and
inverse_operator functions. By 'work' one means that they both compile and also
produce a sensible answer.
Note that the preconditioners are expected to act as per usual (i.e. in the
preconditioner slot in inverse_operator) as well as a standard matrix type in
linear_operator. This is necessary as they will be used in this context later
when a schur_matrix_operator and approximate_schur_matrix_operator is developed.
Fixed: Reinitialised (zeroed) range vectors in the construction of an
inverse_operator before the solve calls. This corrects a bug wherein the
starting point of the solver was garbage leading to potential divergence in the
linear solver.
In the beginning the Universe was created. This has made a lot of
people very angry and has been widely regarded as a bad move.
Douglas Adams