The Gram-Schmidt process is an algorithm that constructs an orthogonal basis from a non-orthogonal basis.
For example, consider the basis for the subspace , where
The Gram-Schmidt process involves 2 steps:
- Set
- Find a vector in that’s orthogonal to . This can be achieved by computing

Notice that is written as a linear combination of and . This means that and . Moreover, . The set is then an orthogonal basis for .