Block Gram–Schmidt Orthogonalization

TitleBlock Gram–Schmidt Orthogonalization
Publication TypeJournal Articles
Year of Publication2008
AuthorsStewart G.W
JournalSIAM Journal on Scientific Computing
Pagination761 - 775
Date Published2008///
Keywordsblocked algorithm, GramSchmidt algorithm, orthogonalization, QR factorization

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.