Gram-Schmidt process

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The Gram-Schmidt Algorithm is a way of converting one set of vectors that forms a basis into another, more friendly one.

Suppose we have a set of vectors \{v_{1},...,v_{n}\} that form a basis for R^{n}, and that we wish to convert these into a friendly basis. We begin by finding out which component of a vector is being unfriendly to a second vector, which we may do with inner products. If we have two vectors u,v, then we may find the component of u being unfriendly to v with proj_{u}(v)=\frac{<v,u>}{<u,u>}u. By subtracting this from v, we get the component friendly to u. By returning to our abstract set \{v_{1},...,v_{n}\}, we may make use of this observation to construct a general algorithm to convert an arbitrary basis into a friendly basis. Like from our original set, each time we use the process on a new vector, it is guaranteed to be mutually friendly with all the previous vectors.

Define:

w_{1} = v_{1}

w_{2} = v_{2} - proj_{w_{1}}v_{2}

et cetera, with the general term:

w_{n}=v_{n}-\sum_{i=1}^{n-1}{proj_{w_{i}}v_{n}}

Should we wish to make this a friendly and cute basis, we can simply make each new element of the basis cute, by replacing both v_{n} with \frac{v_{n}}{||v_{n}||}.