Skip to content

v0.5.0

Choose a tag to compare

@jcapriot jcapriot released this 16 Oct 14:51
· 2 commits to main since this release
5b5eac6

v0.5.0

This minor release adds a consistent way to refactor any solver with a new matrix, and drops support for Python 3.10 and 3.11.

Refactoring

All solvers now have a factor(A=None) method. Passing it a new matrix (with the same shape and dtype) refactors the solver in place. For Pardiso and Mumps this reuses the previous symbolic analysis, so the new matrix must also have the same sparsity pattern.

Transposed and conjugated solvers created from a Pardiso or Mumps solver now share its factorization, so they stay in sync when it is refactored. For the other solvers, previously created transposes keep using the old matrix.

Deprecations and removals

  • pymatsolver.BicgJacobi and pymatsolver.PardisoSolver now issue a FutureWarning and will be removed in v0.6.0. Use BiCGJacobi and Pardiso instead.
  • The TypeErrors for the accuracy_tol and symmetric arguments (removed in v0.4.0) are gone. Passing them now only gives the usual warning about unused keyword arguments.

Requirements

The minimum versions are now Python 3.12, numpy 1.26 and scipy 1.11.2 (the first releases that support Python 3.12). We test on Python 3.12, 3.13 and 3.14.

BiCGJacobi also now uses scipy's rtol argument starting with scipy 1.12 (it was 1.14), which avoids the tol deprecation warning on scipy 1.12 and 1.13.

What's Changed

Full Changelog: v0.4.0...v0.5.0