dimforge / dimforge/nalgebra

LAPACK General Error Handling

Open
#1,207 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.