Open perazz opened 10 months ago
For reference, the SciPy IO API: https://docs.scipy.org/doc/scipy/reference/generated/scipy.io.mmwrite.html#scipy.io.mmwrite the TACO library also offers an API of the sorts for C++ and Python: http://tensor-compiler.org/docs/scientific_computing.html
I've added #486 which is also relevant. I would be keen to have the SciPy .npz
format supported, which is also used to pass sparse matrices.
the TACO library also offers an API of the sorts for C++ and Python: http://tensor-compiler.org/docs/scientific_computing.html
The formats supported by TACO are:
There is also a naive text format that MATLAB uses, described under
I've used it in the past, to quickly output a matrix and import it into MATLAB for inspection (spy) and calculating the spectral radius.
I've also used the same format locally to then use matplotlib's spy https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.spy.html
So basically take whichever sparse format > transform to COO > dump a file <name>.dat
Can we use the MatrixMarket routines from NIST (potentially, wrapped in a nicer interface)? Or should we do a clean-room design and implementation?
It could be good to have them for comparison, but it could be the occasion to make a clean-room design. Maybe decided on the style for the signature of IO procedures, this could already enable focusing on individual implementations that should respect the decided signature.
I had in mind something like this:
subroutine matrix_<save/load>_<format>( matrix_type , file_name , ...optionals... )
end subroutine
Can we use the MatrixMarket routines from NIST (potentially, wrapped in a nicer interface)?
If their licenses permit it, I would say yes. It might be good to contact them, before using their codes (e.g., like it was done for the hash and some sort procedures).
I will ask @minhqdao if he plans to take care of this issue.
Thanks, @perazz, for opening this issue and all of you for your input and adding the references. I'll take care of it over the next few weeks.
Motivation
As linear algebra support develops, it would be useful to have simple interfaces to access test matrices to/from standard formats into the stdlib formats.
Prior Art
Additional Information
cc #749 cc #486 cc @minhqdao