Parallel sparse matrix-vector and matrix-transpose-vector multiplication using compressed sparse blocks
Introduction to Algorithms