Jutho / KrylovKit.jl

Krylov methods for linear problems, eigenvalues, singular values and matrix functions
Other
284 stars 37 forks source link

AD extension package #83

Closed lkdvos closed 5 months ago

lkdvos commented 6 months ago

This moves the AD rules into a package extension. The implementation for linsolve comes from the current master The implementation for eigsolve comes from one of the open PRs (#56 )

TODO

codecov[bot] commented 6 months ago

Codecov Report

Attention: Patch coverage is 86.13139% with 19 lines in your changes are missing coverage. Please review.

Project coverage is 82.34%. Comparing base (68b3baf) to head (bdf7a97). Report is 1 commits behind head on master.

Files Patch % Lines
ext/KrylovKitChainRulesCoreExt/eigsolve.jl 85.71% 19 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #83 +/- ## ========================================== + Coverage 82.05% 82.34% +0.29% ========================================== Files 27 29 +2 Lines 2753 2889 +136 ========================================== + Hits 2259 2379 +120 - Misses 494 510 +16 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Jutho commented 6 months ago

Thanks for starting this. I would also still like to experiment with my alternative solution for doing eigsolve AD, which itself uses eigsolve instead of linsolve.

lkdvos commented 6 months ago

I think in any case we should look for a solution to determine how the rrule is computed, even just changing the tolerances should be accessible.

Also, I think @pbrehmer has an implementation for the svdsolve, so I'll tag him here :)