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