pydata / sparse

Sparse multi-dimensional arrays for the PyData ecosystem

Home Page:https://sparse.pydata.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support for Fortran order in COO.flatten()

Transurgeon opened this issue · comments

Is your feature request related to a problem? Please describe.
I am currently doing a GSoC project for cvxpy and we need to use 3d sparse matrices.
The way we process matrices in the backend (using variables on one axis and constraints on another), it is more intuitive to store the data in column-major format as it makes the problem readable. Hence, we made a design decision to use fortran order for all matrix operations. Currently, we are trying to move from scipy.sparse to using your sparse library and this missing API flag is the main obstacle in doing so.

Describe the solution you'd like
I would like to have flatten in fortran (column major order) for increased compatibility with NumPy.
Another API that is missing and could be nice to have is expand_dims or also atleast_2d.

I would be happy to make a PR for this, if someone could guide me on how to get started.

Hello, @Transurgeon thanks for the interest, this would certainly be appreciated. I guess this can be implemented in the following way:

  • Transpose the array.
  • Flatten it.

There's not much more to it really. A PR would be appreciated.