Odd error message when reading a certain Matrix Market-formatted file

When attempting to MMREAD the Matrix Market format file “epb3.mtx” (details here: http://www.cise.ufl.edu/research/sparse/matrices/Averous/epb3), I get an odd-looking error:

“sparse: Warning: You have created a Sparse of size > 2147483647.
Due to a Scilab limitation, reading or writing values from/to
this sparse using a unique index could lead to unexpected behavior.”

Now, said matrix is just a sparse general real matrix in “coordinate” format, of only 84,617 equations and with only 463,625 non-zero entries. The required memory to hold the matrix non-zeros and their (I,J) coordinates, is just a rather meagre 463.265 * (8 + 2 * 4) = 7,07 megabytes, hardly noticeable. As per common knowledge, the number 2,147,483,647 is the max. positive value of a signed 4-byte integer, which probably is what Scilab uses for matrix indexing. Can anyone explain what gives and I get the above error? TIA.

Hello,

Showing this warning as been decided 2 years ago but won’t harm for usual matrix algebra with such sparse matrices. As stated by the warning, any algebra using this matrix with a single index (i.e. treating it as a sparse vector) is prone to errors or crashes, because the overall size of Scilab objects (product of the number or rows and cols for a sparse matrix) is coded in a signed 4-bytes integer. This is a limitation that will be removed in a major release of Scilab (probably Scilab 2025.0).
As I said above, until this evolution, Scilab can handle such matrices without any problem, provided that you don’t rely on the “vector view” of these, namely, if A is such a matrix, don’t write or rely on the result of:

  1. size(A,"*") or length(A)
  2. A(i) or any other vector indexing

Thank you for your elucidating reply.