-
Notifications
You must be signed in to change notification settings - Fork 5
stabilize eig(h) tests #122
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
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests.
🚀 New features to boost your workflow:
|
kshyatt
left a comment
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, just left some nitpicky comments
| function stabilize_eigvals!(D::AbstractVector) | ||
| absD = abs.(D) | ||
| p = invperm(sortperm(absD)) # rank of abs(D) | ||
| # account for exact degeneracies in absolute value when having complex conjugate pairs |
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.
Great! This will help us a lot if we have to revisit in 6 months, I think.
This tries to remove all (near) degeneracies in matrices that we will use for the AD of the eigenvalue decomposition, thereby hopefully stabilizing the tests.
I also made some progress with the case of degeneracies, for which I will make a separate PR with some hand written tests.