I’m faced with another design decision as I continue to develop pydata/sparse (a package that offers N-dimensional sparse arrays compatible with Numpy). Namely, whether to
Convert to an appropriate sparse storage format before performing an operation vs implementing it natively, and
Whether to always return arrays in the input format.
I’ve opened a parallel GitHub issue for discussion and feedback, and replies here are welcome as well.