I've been reading about this classic algorithm, and I was surprised (and happy) to see that one of the few implementations I could find was written in Rust!
Given that this method does particularly well at compressing sparse matrices, I wonder if it would make sense to have a constructor / builder that takes as input a matrix that is already sparse (e.g. represented as CSR, given the row-oriented nature of the algorithm). That way, one could avoid having to take an already sparse representation and densify it before applying this compression.
Thanks!
Rob