Algorithm 915, SuiteSparseQR: Multifrontal multithreaded rank-revealing sparse QR factorization

  • Authors:
  • Timothy A. Davis

  • Affiliations:
  • University of Florida, Gainesville, FL

  • Venue:
  • ACM Transactions on Mathematical Software (TOMS)
  • Year:
  • 2011

Quantified Score

Hi-index 0.01

Visualization

Abstract

SuiteSparseQR is a sparse QR factorization package based on the multifrontal method. Within each frontal matrix, LAPACK and the multithreaded BLAS enable the method to obtain high performance on multicore architectures. Parallelism across different frontal matrices is handled with Intel's Threading Building Blocks library. The symbolic analysis and ordering phase pre-eliminates singletons by permuting the input matrix A into the form [R11 R12; 0 A22] where R11 is upper triangular with diagonal entries above a given tolerance. Next, the fill-reducing ordering, column elimination tree, and frontal matrix structures are found without requiring the formation of the pattern of ATA. Approximate rank-detection is performed within each frontal matrix using Heath's method. While Heath's method is not always exact, it has the advantage of not requiring column pivoting and thus does not interfere with the fill-reducing ordering. For sufficiently large problems, the resulting sparse QR factorization obtains a substantial fraction of the theoretical peak performance of a multicore computer.