Open main menu


In linear algebra, orthogonalization is the process of finding a set of orthogonal vectors that span a particular subspace. Formally, starting with a linearly independent set of vectors {v1, ... , vk} in an inner product space (most commonly the Euclidean space Rn), orthogonalization results in a set of orthogonal vectors {u1, ... , uk} that generate the same subspace as the vectors v1, ... , vk. Every vector in the new set is orthogonal to every other vector in the new set; and the new set and the old set have the same linear span.

In addition, if we want the resulting vectors to all be unit vectors, then the procedure is called orthonormalization.

Orthogonalization is also possible with respect to any symmetric bilinear form (not necessarily an inner product, not necessarily over real numbers), but standard algorithms may encounter division by zero in this more general setting.

Orthogonalization algorithmsEdit

Methods for performing orthogonalization include:

When performing orthogonalization on a computer, the Householder transformation is usually preferred over the Gram–Schmidt process since it is more numerically stable, i.e. rounding errors tend to have less serious effects.

On the other hand, the Gram–Schmidt process produces the jth orthogonalized vector after the jth iteration, while orthogonalization using Householder reflections produces all the vectors only at the end. This makes only the Gram–Schmidt process applicable for iterative methods like the Arnoldi iteration.

The Givens rotation is more easily parallelized than Householder transformations.

Symmetric orthogonalization was formulated by Per-Olov Löwdin.[1]

See alsoEdit


  1. ^ Löwdin, Per-Olov (1970). "On the nonorthogonality problem". Advances in quantum chemistry. 5. Elsevier. pp. 185–199.