Repository navigation
v0.5.0
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.BicgJacobiandpymatsolver.PardisoSolvernow issue aFutureWarningand will be removed in v0.6.0. UseBiCGJacobiandPardisoinstead.- The
TypeErrors for theaccuracy_tolandsymmetricarguments (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
- Maint/deprecations by @jcapriot in #54
- Standardize solver refactoring and shared factorizations by @jcapriot in #55
- Bump minimum version to 3.12 by @jcapriot in #57
Full Changelog: v0.4.0...v0.5.0