[tested] Sparsematrix