I'm working with quite large rotation matrices, which have the inherent property to have a large number of zeros. In order to reduce memory use and possibly reduce computation cost when multiplying these rotation matrices with other matrices/vectors, I would like to use a sparse matrix data structure. I have found documentation on the SciPy sparse matrices, but I don't quite understand how these work and what the differences are. (SciPy docs)
What would be the best sparse data structure to use for rotation matrices in Python?