Skip to content

v0.0.5

Compare
Choose a tag to compare
@mfinzi mfinzi released this 13 Oct 23:56
· 32 commits to main since this release
4f3aa16

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