Gram-Schmidt Process

Statement

Given any basis for an -dimensional vector space, the Gram-Schmidt process produces an orthonormal basis for the same space such that for all .

Assumptions

  • is a basis (linearly independent spanning set) for a finite-dimensional inner product space over .
  • No is zero (guaranteed by linear independence).

Proof Sketch

At each step , subtract from its projections onto all previously constructed orthogonal vectors . The residual is nonzero (because is not in ) and orthogonal to all prior vectors by construction. Normalising gives a unit vector. Since each is a linear combination of , the intermediate spans are preserved.

Full Proof

Algorithm. Set . For :

Normalize:

Orthogonality. For :

where for by induction.

Non-degeneracy. because ; if then would be a linear combination of , contradicting linear independence.

Span preservation. Each is a linear combination of , so . Both sets have the same cardinality and are linearly independent (orthogonal vectors are independent), so the spans are equal.

Example. For the basis :

giving the orthonormal basis .

Notes / Intuition

Each step is a projection-and-subtract: we remove from everything it “shares” with the already-built directions, leaving only a genuinely new orthogonal component. This is the constructive heart of the QR decomposition (, where has the as columns). Classical Gram-Schmidt is numerically unstable; the modified variant (subtracting projections one at a time) is preferred in practice.