v0.0.17
This release is a slightly bigger deal than the previous ones because it contains the algorithms from the (just published!)
Gradients of functions of large matrices. Nicholas Krämer, Pablo Moreno-Munoz, Hrittik Roy, Søren Hauberg. Preprint on arXiv:2405.17277. 2024.
Here is a link to the preprint.
To be precise, with release v0.0.17, Matfree will provide efficient gradients of Lanczos and Arnoldi iterations, which makes much of matrix-free linear algebra reverse-mode differentiable! To access this code, continue using matfree.tridiag_sym
and matfree.hessenberg
, and ensure that custom_vjp
is set to True
.
Other changes include a new Hessenberg-factorisation via the Arnoldi iteration, some information regarding citations and Matfree's API policy, removing matfree.pinv, and moving matfree.decomp.svd_approx
to matfree.eig.svd_partial
. The full changelog is below.
What's Changed
- Implement decomp.hessenberg() via the Arnoldi decomposition by @pnkraemer in #192
- Implement differentiable Lanczos and Arnoldi iterations by @pnkraemer in #193
- Add citation information to matfree's Arnoldi and Lanczos iterations by @pnkraemer in #197
- Remove matfree.pinv and implement matfree.eig by @pnkraemer in #198
- Explain Matfree's API policy by @pnkraemer in #199
Full Changelog: v0.0.16...v0.0.17