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
Updated derivative rules for complex QR decomposition #48489
Conversation
💊 CI failures summary and remediationsAs of commit 630991a (more details on the Dr. CI page):
1 failure not recognized by patterns:
This comment was automatically generated by Dr. CI (expand for details).Follow this link to opt-out of these comments for your Pull Requests.Please report bugs/suggestions on the GitHub issue tracker or post in the (internal) Dr. CI Users group. This comment has been revised 17 times. |
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.
Thanks for looking into this and updating the formula!
There were discussions as well about the numerical stability of the current implementation as well as limitations for degenerate matrices. Does this new algorithm have the same limitations?
Yes, I think it carries the same set of limitations as the previous implementation because the new one still doesn't use pivoting or any other techniques for improving numerical stability. |
Codecov Report
@@ Coverage Diff @@
## master #48489 +/- ##
===========================================
+ Coverage 24.94% 80.76% +55.81%
===========================================
Files 467 1867 +1400
Lines 58746 201579 +142833
===========================================
+ Hits 14656 162809 +148153
+ Misses 44090 38770 -5320 |
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.
LGTM thanks!
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.
@albanD has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
@IvanYashchuk this has merge conflict with master because the other PR landed first and modified the exact same lines. |
@albanD, done. |
Thanks for the quick rebase! The lint is not happy with the extra space in the test file though |
Oh, should be fixed now. |
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.
@albanD has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
Thanks! |
Resolved another merge conflict. |
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.
@albanD has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
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.
@albanD has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
@IvanYashchuk sorry about this one, it keeps failing to land and then have merge conflicts... |
Updated
qr_backward
to work correctly for complex-valued inputs.Added
torch.qr
to list of complex tests.The previous implementation for real-valued differentiation used equation 42 from https://arxiv.org/abs/1001.1654
The current implementation is a bit simpler but the result for the real-valued input case is the same and all tests still pass.
Derivation of complex-valued QR differentiation https://giggleliu.github.io/2019/04/02/einsumbp.html
Ref. #33152