PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox Chapter Introduction
F05 — orthogonalization
Scope of the Chapter
This chapter is concerned with the orthogonalization of vectors in a finite dimensional space.
Background to the Problems
Let be a set of linearly independent vectors in -dimensional space; .
We wish to construct a set of
vectors
such that:
- – the vectors form an orthonormal set; that is,
for , and ;
- – each is linearly dependent on the set .
Gram–Schmidt Orthogonalization
The classical Gram–Schmidt orthogonalization process is described in many textbooks; see for example Chapter 5 of
Golub and Van Loan (1996).
It constructs the orthonormal set progressively. Suppose it has computed orthonormal vectors
which orthogonalise the first
vectors
. It then uses
to compute
as follows:
In finite precision computation, this process can result in a set of vectors
which are far from being orthogonal. This is caused by
being small compared with
. If this situation is detected, it can be remedied by reorthogonalising the computed
against
, that is, repeating the process with the computed
instead of
. See
Danial et al. (1976).
Householder Orthogonalization
An alternative approach to orthogonalising a set of vectors is based on the
factorization (see the
F08 Chapter Introduction), which is usually performed by Householder's method. See Chapter 5 of
Golub and Van Loan (1996).
Let
be the
by
matrix whose columns are the
vectors to be orthogonalised. The
factorization gives
where
is an
by
upper triangular matrix and
is an
by
matrix, whose columns are the required orthonormal set.
Moreover, for any such that , the first columns of are an orthonormal basis for the first columns of .
Householder's method requires twice as much work as the Gram–Schmidt method, provided that no re-orthogonalization is required in the latter. However, it has satisfactory numerical properties and yields vectors which are close to orthogonality even when the original vectors are close to being linearly dependent.
Recommendations on Choice and Use of Available Functions
The single function in this chapter,
nag_orthog_real_gram_schmidt (f05aa), uses the Gram–Schmidt method, with re-orthogonalization to ensure that the computed vectors are close to being exactly orthogonal. This method is only available for real vectors.
To apply Householder's method, you must use functions in
Chapter F08:
The example programs for
nag_lapack_dgeqrf (f08ae) or
nag_lapack_zgeqrf (f08as) illustrate the necessary calls to these functions.
References
Danial J W, Gragg W B, Kaufman L and Stewart G W (1976) Reorthogonalization and stable algorithms for updating the Gram–Schmidt factorization Math. Comput. 30 772–795
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015