Block Gram-Schmidt Orthogonalization

  • Authors:
  • G. W. Stewart

  • Affiliations:
  • stewart@cs.umd.edu

  • Venue:
  • SIAM Journal on Scientific Computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The classical Gram-Schmidt algorithm for computing the QR factorization of a matrix $X$ requires at least one pass over the current orthogonalized matrix $Q$ as each column of $X$ is added to the factorization. When $Q$ becomes so large that it must be maintained on a backing store, each pass involves the costly transfer of data from the backing store to main memory. However, if one orthogonalizes the columns of $X$ in blocks of $m$ columns, the number of passes is reduced by a factor of $1/m$. Moreover, matrix-vector products are converted into matrix-matrix products, allowing level-3 BLAS cache performance. In this paper we derive such a block algorithm and give some experimental results that suggest it can be quite effective for large scale problems, even when the matrix $X$ is rank degenerate.