⊥ Gram-Schmidt Calculator

Gram-Schmidt Orthogonalization

Orthogonalize and orthonormalize any set of vectors. Enter column vectors as a matrix — each column is one vector. Full step-by-step projection subtraction shown.

Gram-Schmidt Orthogonalization

Each column of the input matrix is treated as a vector

✓ Step-by-Step✓ Normalized✓ Free⚡ Loading SymPy Engine…
ℹ Enter the input vectors as columns of the matrix. E.g., for 3 vectors in ℝ², enter a 2×3 matrix.
Input Vectors (columns)
Quick Examples

The Gram-Schmidt Process

The Gram-Schmidt process converts a set of linearly independent vectors into an orthonormal set (pairwise orthogonal unit vectors) that spans the same space.

Algorithm

  1. Start with v₁, v₂, ..., vₙ (the input vectors)
  2. Set u₁ = v₁
  3. For each vₖ: subtract projections onto all previous orthogonal vectors:
    $$\mathbf{u}_k = \mathbf{v}_k - \sum_{j=1}^{k-1} \frac{\langle \mathbf{v}_k, \mathbf{u}_j \rangle}{\langle \mathbf{u}_j, \mathbf{u}_j \rangle} \mathbf{u}_j$$
  4. Normalize: eₖ = uₖ / ‖uₖ‖

Applications

  • QR decomposition of matrices
  • Finding orthonormal bases for subspaces
  • Least squares problems
  • Signal processing and data science (PCA)