Gram-Schmidt orthogonalization

Apply the Gram-Schmidt process to a set of vectors. Produces an orthogonal (or orthonormal) basis step by step.

Vectors (as matrix rows)

Gram-Schmidt process

Given vectors v₁, v₂, ..., vₙ, the process produces orthogonal vectors u₁, u₂, ..., uₙ:

u₁ = v₁

u₂ = v₂ − proj(v₂ onto u₁)

u₃ = v₃ − proj(v₃ onto u₁) − proj(v₃ onto u₂)

Where proj(v onto u) = (v·u)/(u·u) × u

Orthonormal basis

To get an orthonormal basis, divide each orthogonal vector by its magnitude: eᵢ = uᵢ/|uᵢ|.

Applications

QR decomposition, least-squares solutions, signal processing, quantum mechanics (finding orthonormal states).

Popular systems of equations
Related calculators