-
Notifications
You must be signed in to change notification settings - Fork 523
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
lapack: Add Dggbal and its test #1890
base: master
Are you sure you want to change the base?
Conversation
Flaky test?
|
Yeah, this shouldn't happen, and I've tried to stop it from causing the test timeout panic (the initial set of failures is the best we can do in the bad case). It is flakey, but the algorithm is randomised and sometimes fails, so there is essentially nothing we can do about it other than not test, which is something I'm not prepared to do. |
Codecov ReportPatch coverage:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #1890 +/- ##
==========================================
+ Coverage 73.26% 74.02% +0.76%
==========================================
Files 510 529 +19
Lines 60132 63498 +3366
==========================================
+ Hits 44056 47007 +2951
- Misses 13584 13912 +328
- Partials 2492 2579 +87
☔ View full report in Codecov by Sentry. |
I've tested permute and scaling with Dggbal's results but the way I'm getting there is ridiculous. I fiddle about with the matrix multiplies until the tests pass, then I understand what the implementation is doing. This is because the reference documentation is lacking on what exactly is being stored in lscale and rscale, and how the permutation and scaling is supposed to be applied. The documentation on rscale even seems to be copy pasted from lscale's documentation and left unchanged. |
I don't know how to approach the review other than merging and then cleaning up later. It's quite a bit of work and it will take time, I'm busy with other tasks. |
Part of #1651
Please take a look.
Dggbal balances a pair of matrices. To do this it has two scale vectors to build the P matrix. I've not been able to port most of Dgebal's tests for use with Dggbal since there are various differences.
The tests do not test if the permutation matrix can be built correctly.Any tip on how to build P is welcome.