LAPACK General Error Handling
- Dominant language
- Rust
- Stars
- 4.8k
- Forks
- 565
- PR merge metrics
- No merged PRs in 30d
Description
What I pass in an empty matrix into the Cholesky algorithm using the plain `nalgebra` crate, I get an error back as expected:
let decomp = empty_matrix.cholesky();
And I can handle said error. However, if I do the same using the OpenBLAS back end (or the Netlib):
let decomp = Cholesky::new(empty_matrix);
I get this error:
** On entry to DPOTRF parameter number 4 had an illegal value
And the whole program crashes.
Best I can do for now is to check if my matrix is empty and validate the input that way. However, I've encountered some other situation where I get an error of the same flavour of above and couldn't reproduce it. So at some point in time it'll get reproduced and will crash in much the same way.
More frighteningly, if I run my code under a test, the test crashes before it can get to the `assert`s that are false, and the cargo test runner reports it as a SUCCESS.
Suggest there be some generic error that gets passed back up the chain for the main program to handle. Or is this a back-end limitation?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.