We also verify the initial convergence in the minres linear solver to avoid iterating when the initial solution is good enough (which may cause a division-by-zero error).
We also revert the changes to files psydac/api/settings.py and pyproject.toml which were erroneously made in PR #320
See @e-moral-sanchez's PR: https://github.com/campospinto/psydac_dev/pull/7:
Provide a
MatrixFreeLinearOperator
class which is a subclass of the abstract classLinearOperator
.The new class allows creating a general matrix-free linear operator. The constructor only requires the domain, codomain and a callable
dot
method.Notes:
dot
method may or may not take anout
argument.transpose_dot
method may also be provided (mandatory to instantiate thetranspose()
linear operator).Additional changes:
tol
argument in calls to SciPy's minres and we usertol
instead, which requires SciPy >= 1.12. This fixes #419.