sparsemat / sprs

sparse linear algebra library for rust
Apache License 2.0
422 stars 47 forks source link

more-perspicuous error-messages for reading matrixmarket files? #308

Open chetmurthy opened 2 years ago

chetmurthy commented 2 years ago

Recently I was writing tests to read matrix market files written by Scipy, and I made the mistake of writing a diagonal matrix with scipy as "skew-symmetric" and then reading it with sprs. Of course, scipy dutifully wrote it out and marked it as skew-symmetric, and then sprs blew up with BadMatrixMarketFile. All well and correct.

But it's a little opaque, as error-messages go, and I had to puzzle for a while, reading the sprs read_XXXX source code, before I realized what was going wrong (and hence, my mistake). Looking at the source code of read_matrix_market_from_bufread, there are twelve places where the error is raised, and they all have different meanings. I thought: "gee, maybe this error should carry a string with it, so we can write a description of the erroneous input (including maybe line-number?)

Just a thought. It's obviously a low-priority change, but I wonder if maybe it might be useful for users.