Releases: wilson-labs/cola
v0.0.6
What's Changed
- Using matrix market examples for testing by @AndPotap in #74
- Implicit restarts by @AndPotap in #80
- Kernel Operator by @AndPotap in #86
- Updated Hessian code and added test by @AndPotap in #89
- Updated jax_fns to the new device querying by @AndPotap in #93
- Fix cond fn for CG and added test. Passed ruff to organized imports of tests in algoritms. by @AndPotap in #96
- Updated pytree backend to address issue #84 by @wejpurvis in #90
- Fixed the device allocation for Transpose and Adjoint. Added tests by @AndPotap in #97
- Improvements on Sparse API. by @AndPotap in #98
- Corrected device allocation for various Ops (Sum, Product, I_like,...) by @AndPotap in #99
- Added "no dispatch" option by @AndPotap in #100
- Added pseudo inverse functionality by @AndPotap in #101
- Incorporated SVD by @AndPotap in #102
- Code maintenance by @AndPotap in #104
New Contributors
- @wejpurvis made their first contribution in #90
Full Changelog: v0.0.5...v0.0.6
v0.0.5
What's Changed
Algorithms
Major refactor to enable more precise and direct specification of the algorithm used (rather than indirectly through kwargs). Algorithm base cases are implemented using dispatch, and the original behavior can be achieved with a slightly modified syntax:
inv(A, tol=1e-3)
->
inv(A, Auto(tol=1e-3))
New custom algorithms can be defined with their own dispatch rules.
Decompositions
Cholesky and LU now return component matrices rather than a decomposed version of the original matrix
Lanczos and Arnoldi moved into decompositions
Dispatch
Parametric dispatch now working with full functionality, enabling e.g. Sum[Product, Identity] to dispatch on Sum[Product[Dense,Dense],Identity]
Additional changes
- Removing jit/vmap boundaries in iterative algorithms by @mfinzi in #71
- Switching from absolute to relative tolerance for all algorithms by @AndPotap in #72
- Synced arnoldi and lanczos output by @AndPotap in #77
- Algorithm implementation and refactor by @mfinzi in #73
Full Changelog: v0.0.4...v0.0.5
v0.0.4
What's Changed
- Clean notebooks by @pitmonticone in #53
- fix for negatively indexed (off)diagonal by @Fr0do in #51
- Fix markdown format in GP notebook by @RaulPL in #56
- Fixing test flakiness by @AndPotap in #58
- Added all the ingredients to enforce high quality code by @AndPotap in #60
- Fix typo in README.md by @eltociear in #63
- adding additional LinearOperators by @mfinzi in #35
- Adding pre-commit by @AndPotap in #66
- Fix to contributing.md by @gpleiss in #67
- Fix stale references to cola.linalg.inverse in docs by @gpleiss in #68
- refactor for multiframework by @mfinzi in #62
New Contributors
- @pitmonticone made their first contribution in #53
- @Fr0do made their first contribution in #51
- @RaulPL made their first contribution in #56
- @eltociear made their first contribution in #63
Full Changelog: v0.0.3...v0.0.4
v0.0.3
What's Changed
- GPU allocation tests by @AndPotap in #37
- more consistent pytrees by @mfinzi in #39
- Docs improvements by @mfinzi in #40
- Inverse rename by @AndPotap in #43
- Usage of eig_slice changed for (num, which) combo by @AndPotap in #44
- Update README.md by @mfinzi in #45
- Arnoldi & Lanczos output and naming convention parity by @AndPotap in #46
Full Changelog: v0.0.2...v0.0.3
v0.0.2
What's Changed
- (Jax, numpy, torch)-Pytree compatibility by @mfinzi in #29
- Versioning and release automation by @gpleiss in #31
- Device and dtype not optional by @AndPotap in #32
- Fixed test_inverse and test_logdet by @AndPotap in #34
- added 'tricky' test functionality to parametrize by @mfinzi in #36
- cholesky decomposition dispatch rules by @mfinzi in #33
New Contributors
Full Changelog: v0.0.1...v0.0.2