Skip to content

Conversation

@yguclu
Copy link
Member

@yguclu yguclu commented Aug 2, 2024

See @e-moral-sanchez's PR: campospinto#7:


Provide a MatrixFreeLinearOperator class which is a subclass of the abstract class LinearOperator.

The new class allows creating a general matrix-free linear operator. The constructor only requires the domain, codomain and a callable dot method.

Notes:

  • The provided dot method may or may not take an out argument.
  • A transpose_dot method may also be provided (mandatory to instantiate the transpose() linear operator).
  • Unit tests have been added.

Additional changes:

  • We stop passing the deprecated tol argument in calls to SciPy's minres and we use rtol instead, which requires SciPy >= 1.12. This fixes Make Psydac compatible with SciPy 1.14 #419.
  • We stop supporting Python 3.8 because of SciPy 1.12. Python 3.8 is close to end-of-life anyway, see https://devguide.python.org/versions.
  • 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 Non Matching Multipatch #320

campospinto and others added 23 commits June 21, 2024 17:37
call exposed domain and codomain in linalg/basic.py
Calls to scipy `minres` now use `rtol` instead of `tol` to support  version 1.14.0, but this causes previous versions of scipy to fail
calls to scipy's minres now only use rtol which prevents from using scipy < 1.14. In turns this prevent from using python3.8 which is close to being unsupported anyway, see https://devguide.python.org/versions/
@yguclu yguclu marked this pull request as ready for review August 2, 2024 16:29
@yguclu yguclu requested review from a team and saidctb August 5, 2024 08:34
@yguclu yguclu merged commit f7e4d6b into pyccel:devel Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make Psydac compatible with SciPy 1.14

6 participants