Sparse tensor support
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 1.3k
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 168
Description
### Discussed in https://github.com/apache/arrow-rs/discussions/9718
Originally posted by **JosiahParry** April 15, 2026
Arrow C++ implementation has a sparse tensor implementation that supports CSR, COO, CSC, and CSF formats:
https://github.com/apache/arrow/blob/4eca50770f7f2c5938a676f0719fbfc8aae4803c/cpp/src/arrow/sparse_tensor.h#L52
It would be really great if the rust library could also support this. It would open up the ability to do sparse matrix math using arrow data—e.g. with faer, burn, or alternatives and make it very easy for data to cross the FFI boundary.
Specifically, my interest is in spatial statistics and GeoAI.
Reference: https://arrow.apache.org/docs/format/Other.html
Contributor guide
Research direction
Start by reading the Arrow format reference and the C++ sparse_tensor.h implementation linked in the issue, then review the related discussion. Define the scope for CSR, COO, CSC, and CSF support and identify the Rust entry points and tests needed; done means the selected sparse tensor formats work across the Rust and Arrow data boundaries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100