-
Notifications
You must be signed in to change notification settings - Fork 4
Automatic differentiation of pfaffian #143
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
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 Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #143 +/- ##
==========================================
- Coverage 89.82% 88.60% -1.22%
==========================================
Files 10 10
Lines 1572 1659 +87
==========================================
+ Hits 1412 1470 +58
- Misses 160 189 +29 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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 ? :) |
Some failing CI tests, but the logs have expired and they need to be re-run. |
julia = "1.6" | ||
LinearAlgebra = "1.6" | ||
ChainRulesCore = "1" | ||
julia = "1.6" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
package extensions require Julia 1.9, I think?
uuid = "5c889d49-8c60-4500-9d10-5d3a22e2f4b9" | ||
authors = ["smataigne <[email protected]> and contributors"] | ||
version = "1.0" | ||
version = "1.0.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be a version bump to 1.1 for a new feature.
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 !