-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatic differentiation of pfaffian #143
base: main
Are you sure you want to change the base?
Conversation
For now I marked this PR as a draft since I'm still figuring out if all required functionality has been added. In particular I'm still struggling with things such as : ``gradient(x->pfaffian(x), skewhermitian(rand(4,4))[ [1,2],[1,2] ])'' this might however not be a problem. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #143 +/- ##
==========================================
- Coverage 89.82% 88.73% -1.09%
==========================================
Files 10 11 +1
Lines 1572 1660 +88
==========================================
+ Hits 1412 1473 +61
- Misses 160 187 +27 ☔ View full report in Codecov by Sentry. |
The 1.6 versions are failing because we are using package extensions which were not yet included before v1.9. Nightly fails for unknown reasons. Codecov is slightly lowered but I don't see a way to get it back to where it was. I'll put this PR into ready for review now. |
I just noticed that something is still wrong with the constructor. I'll try to figure this out tomorrow. |
Co-authored-by: Steven G. Johnson <[email protected]>
Co-authored-by: Steven G. Johnson <[email protected]>
Co-authored-by: Steven G. Johnson <[email protected]>
@stevengj , thanks for your input. I'll use the extension for a few days to see if any more unexpected bugs pop up. If not I think this is ready for merging if you also agree. |
I've been using this for a few days now and don't seem to notice any bugs , I'll tag this ready for review. |
@stevengj so what do we do with this ? :) |
As mentioned in #142 we implemented backwards differentiation for the pfaffian in this PR.
To do this we created a package extension stored which is automatically loaded when chainsrulecore is. This way there is minimal overhead when the user does not need this functionality.
Special thank to @https://github.com/lkdvos for figuring out a proper test using the build in
ChainsRuleTestUtils
package !