I am looking for a C / C ++ interface to efficiently compute a huge sparse matrix in Linux. The matrix can be millions of times millions / thousand. I checked several existing libraries, but it seems that none of them satisfy all my requirements,
1, I need to create a sparse matrix by dynamically adding elements to it. (not for SparseLib ++)
2, I also need to create a sparse diagonal matrix so that I can scale the columns of another sparse matrix with different scalars. (no library was found for this, and maybe there is another way to scale the sparse matrix in columns)
3, It must support the operations of the matrix times the matrix / vector (many libraries support these basic operations)
4, It must support input multiplication or separation between two sparse matrices or vectors, for example. * or. / in MATLAB (no library was found for this, and I need this operation to cut out some records of one sparse matrix with another sparse matrix)
5, matrix inversion or linear solver. (Most libraries provide a solver for a linear system)
I originally used scipy in Python to implement my algorithm. Python consumes too much memory and it is slow, and so I would like to convert my program to C.
Thanks.
Xatan source share