Jump to content

Gram-Schmidt process

From Simple English Wikipedia, the free encyclopedia

The Gram-Schmidt process 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 <math>\{v_{1},...,v_{n}\}</math> that form a basis for <math>R^{n}</math>, and that we wish to convert these into a "friendly"[clarification needed] basis which is easier to work with later. 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 <math>u,v</math>, then we may find the component of <math>u</math> being unfriendly to <math>v</math> with <math>proj_{u}(v)=\frac{<v,u>}{<u,u>}u</math>. By subtracting this from <math>v</math>, we get the component friendly to <math>u</math>. By returning to our abstract set <math>\{v_{1},...,v_{n}\}</math>, 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:

<math>w_{1}</math> = <math>v_{1}</math>

<math>w_{2}</math> = <math>v_{2} - proj_{w_{1}}v_{2}</math>

et cetera, with the general term:

<math>w_{n}=v_{n}-\sum_{i=1}^{n-1}{proj_{w_{i}}v_{n}}</math>

Should we wish to make this a friendly and cute[clarification needed] basis, we can simply make each new element of the basis cute, by replacing both <math>v_{n}</math> with <math>\frac{v_{n}}{||v_{n}||}</math>.