Source: http://spcl.inf.ethz.ch/Publications/.pdf/IPDPS22sparse_matrices.pdf