sparse matrix separation