Date: 2022-08-21 19:16 Sender: Mikael JaganThe 'p' slot of all CsparseMatrix, including dgCMatrix, is such that p[length(p)] is the number of nonzero entries. It is constrained to be of type "integer":
> getSlots("CsparseMatrix")
i p Dim Dimnames
"integer" "integer" "integer" "list"
Since elements of integer vectors cannot exceed INT_MAX == 2^31-1, a dgCMatrix with more than 2^31-1 nonzero entries would be formally _invalid_. So it is partly a problem of formal _definition_, and not at all a trivial bug in the sparseMatrix() function.
That said, we _do_ want to eventually support "long" CsparseMatrix. As Martin has said elsewhere, collaborators are welcome, but it will require some proficiency with C programming and some familiarity (or ability to become familiar) with the SuiteSparse library. |