Existence of Orthonormal Bases

Every vector space has a basis, but a bare basis tells you nothing about angles or lengths. If you want to measure distances, project onto subspaces, or diagonalize symmetric matrices, you need something more. You need a basis whose vectors are mutually perpendicular and each have length one. The natural question is whether such a basis always exists. If it does, how do you build one from whatever basis you already have? This matters because orthonormal bases are the coordinate systems in which inner product spaces behave like Euclidean space. Coordinates of a vector become simple inner products. The Pythagorean theorem holds vector-by-vector. Matrices of linear maps with respect to such bases interact beautifully with adjoints and orthogonal projections. Nearly every computational and theoretical tool in this branch of linear algebra — least squares, spectral theorems, Fourier expansions, QR factorization — presupposes that an orthonormal basis exists. It also presupposes that such a basis can be constructed explicitly. The big picture is that existence is not an abstract nonconstructive fact. It is a direct consequence of the Gram-Schmidt Process, which converts any linearly independent list into an orthonormal list. That orthonormal list spans the same subspace as the original. Applying this to an arbitrary basis of a finite-dimensional inner product space yields an orthonormal basis of the whole space. A second, equally important consequence is that any orthonormal list, however short, can be extended to an orthonormal basis of the ambient space. This fact will become the engine behind Orthogonal Complements and later the construction of The Adjoint of a Linear Map. This article states and proves the existence theorem precisely, and proves the extension theorem as a corollary. It works through two concrete non-trivial examples. It also examines exactly where finite-dimensionality is used — and what goes wrong without it.

Key takeaways
  • Every finite-dimensional inner product space has an orthonormal basis.
  • The proof is constructive: apply Gram-Schmidt to any basis.
  • Any orthonormal list of vectors extends to an orthonormal basis of the whole space.
  • Orthonormal bases make coordinates computable directly as inner products, with no matrix inversion.
  • The dimension of the space always equals the length of every orthonormal basis, consistent with ordinary bases.
  • Key idea: orthogonality plus normalization can always be manufactured from linear independence, without changing the span.

Where this lives today

Orthonormal bases underlie the QR decomposition used throughout numerical linear algebra to solve least-squares problems stably; the columns of QQ are precisely an orthonormal basis obtained by Gram-Schmidt (or a numerically stabilized variant) applied to the columns of a matrix. In physics, orthonormal bases of eigenstates are the mathematical backbone of quantum mechanics, where physical observables correspond to self-adjoint operators diagonalized in an orthonormal basis. In statistics and machine learning, principal component analysis constructs an orthonormal basis of eigenvectors of a covariance matrix to decorrelate data. In signal processing, orthonormal wavelet and Fourier bases decompose signals into independent frequency or scale components. In cryptography, lattice-based schemes rely on the LLL algorithm, a computational descendant of Gram-Schmidt orthogonalization, to find short, nearly-orthogonal lattice vectors. Across all these settings, the existence theorem is the quiet guarantee that the coordinate system engineers and scientists want to use is always available in principle, before any algorithm is run to actually compute it.

Ask the tutor: How does extending an orthonormal basis of a subspace let us explicitly construct its orthogonal complement?

DefinitionOrthonormal list, orthonormal basis

Let VV be an inner product space over F\mathbb{F} (where F=R\mathbb{F} = \mathbb{R} or F=C\mathbb{F} = \mathbb{C}), with inner product ⟨⋅,⋅⟩\langle \cdot,\cdot\rangle. A list of vectors e1,…,em∈Ve_1,\dots,e_m \in V is called orthonormal if: 1. ⟨ei,ej⟩=0\langle e_i, e_j\rangle = 0 for all i≠ji \neq j (pairwise orthogonality), and 2. ∥ei∥=1\lVert e_i \rVert = 1 for all ii (unit length), where ∥v∥:=⟨v,v⟩\lVert v \rVert := \sqrt{\langle v,v\rangle}. Equivalently, ⟨ei,ej⟩=δij\langle e_i, e_j \rangle = \delta_{ij} (the Kronecker delta) for all i,ji,j. An orthonormal list e1,…,ene_1,\dots,e_n that is also a basis of VV — that is, it spans VV — is called an orthonormal basis of VV.

Intuition

An orthonormal basis is the linear-algebra analogue of a rigid, perpendicular coordinate grid: each axis has been rescaled to unit length, and no axis leans on any other. If a vector's coordinates with respect to an arbitrary basis require solving a linear system to extract, its coordinates with respect to an orthonormal basis are handed to you directly: the ii-th coordinate of vv is simply ⟨v,ei⟩\langle v, e_i\rangle. This is why orthonormal bases are the preferred coordinate systems whenever an inner product is present — they convert the abstract inner product structure into concrete, computable formulas. The existence proof is not merely an abstract compactness or dimension-counting argument. It is completely constructive: start with any basis, and mechanically straighten it out, one vector at a time, using the Gram-Schmidt process. Each step subtracts off the components of a new vector that lie along previously-built orthonormal directions, leaving a vector orthogonal to all of them; then that leftover is rescaled to length one. Because the original list spanned VV and Gram-Schmidt preserves spans at each stage, the final orthonormal list still spans VV, and having the right count of vectors, it is a basis.

Figure
Turning a skewed basis into an orthonormal one in R2\mathbb{R}^2
v₁=(2,0) v₂=(1.25,1.75) e₁ e₂ Gram–Schmidt: same span, right angle, unit length

Theorem statements

TheoremExistence of an Orthonormal Basis

Let VV be a finite-dimensional inner product space over F\mathbb{F}, with dim⁡V=n≥1\dim V = n \geq 1. Then VV has an orthonormal basis e1,…,ene_1,\dots,e_n.

Proof

We use the technique of Gram-Schmidt orthogonalization, which is assumed as prior machinery. Since VV is finite-dimensional with dim⁡V=n\dim V = n, VV has a basis v1,…,vnv_1,\dots,v_n (existence of a basis for a finite-dimensional vector space is a basic fact of linear algebra, established before the introduction of inner products, so invoking it here is not circular). The list v1,…,vnv_1,\dots,v_n is linearly independent, being a basis. By the Gram-Schmidt Process, there exists an orthonormal list e1,…,ene_1,\dots,e_n in VV such that for every k=1,…,nk = 1,\dots,n,

span⁡(e1,…,ek)=span⁡(v1,…,vk).\operatorname{span}(e_1,\dots,e_k) = \operatorname{span}(v_1,\dots,v_k).

(Recall the construction: set e1=v1/∥v1∥e_1 = v_1/\lVert v_1\rVert, and inductively

fk=vk−∑j=1k−1⟨vk,ej⟩ej,ek=fk/∥fk∥,f_k = v_k - \sum_{j=1}^{k-1} \langle v_k, e_j\rangle e_j, \qquad e_k = f_k / \lVert f_k \rVert,

where fk≠0f_k \neq 0 because vk∉span⁡(v1,…,vk−1)=span⁡(e1,…,ek−1)v_k \notin \operatorname{span}(v_1,\dots,v_{k-1}) = \operatorname{span}(e_1,\dots,e_{k-1}), by linear independence of v1,…,vnv_1,\dots,v_n. The orthonormality of the resulting list e1,…,eke_1,\dots,e_k at each stage is exactly the content of the Gram-Schmidt process.) Taking k=nk = n gives

span⁡(e1,…,en)=span⁡(v1,…,vn)=V,\operatorname{span}(e_1,\dots,e_n) = \operatorname{span}(v_1,\dots,v_n) = V,

the last equality because v1,…,vnv_1,\dots,v_n is a basis of VV. Thus e1,…,ene_1,\dots,e_n is a spanning list of length nn in VV, and it is orthonormal, hence in particular linearly independent (an orthonormal list is always linearly independent: if ∑iciei=0\sum_i c_i e_i = 0, taking the inner product of both sides with eje_j gives cj=∑ici⟨ei,ej⟩=⟨0,ej⟩=0c_j = \sum_i c_i \langle e_i, e_j \rangle = \langle 0, e_j\rangle = 0 for every jj, using ⟨ei,ej⟩=δij\langle e_i,e_j\rangle = \delta_{ij}). A linearly independent spanning list is a basis. Therefore e1,…,ene_1,\dots,e_n is a basis of VV, and it is orthonormal by construction. This is the desired orthonormal basis. ■\blacksquare

∎
CorollaryExtension of an orthonormal list to an orthonormal basis

Let VV be a finite-dimensional inner product space with dim⁡V=n\dim V = n, and let e1,…,eme_1,\dots,e_m be an orthonormal list in VV with m≤nm \le n. Then there exist vectors em+1,…,en∈Ve_{m+1},\dots,e_n \in V such that e1,…,ene_1,\dots,e_n is an orthonormal basis of VV.

Proof

An orthonormal list is linearly independent (shown in the proof above), so e1,…,eme_1,\dots,e_m is a linearly independent list of mm vectors in the nn-dimensional space VV. By the basis-extension theorem for finite-dimensional vector spaces (again prior, purely vector-space machinery, not circular here), there exist vectors wm+1,…,wn∈Vw_{m+1},\dots,w_n \in V such that

e1,…,em,wm+1,…,wne_1,\dots,e_m,w_{m+1},\dots,w_n

is a basis of VV. Now apply the Gram-Schmidt Process to this basis. Because e1,…,eme_1,\dots,e_m is already orthonormal, the Gram-Schmidt process leaves these first mm vectors unchanged: at step k≤mk \le m, the formula

fk=vk−∑j=1k−1⟨vk,ej⟩ej,ek=fk/∥fk∥f_k = v_k - \sum_{j=1}^{k-1}\langle v_k,e_j\rangle e_j, \quad e_k = f_k/\lVert f_k\rVert

applied to vk=ekv_k = e_k (for k≤mk \le m) gives fk=ek−∑j<k⟨ek,ej⟩ej=ek−0=ekf_k = e_k - \sum_{j<k}\langle e_k,e_j\rangle e_j = e_k - 0 = e_k (using orthonormality of e1,…,eme_1,\dots,e_m, so ⟨ek,ej⟩=0\langle e_k,e_j\rangle = 0 for j<k≤mj < k \le m), and ∥fk∥=∥ek∥=1\lVert f_k \rVert = \lVert e_k\rVert = 1, so eke_k is returned unchanged. Applying Gram-Schmidt to steps m+1,…,nm+1,\dots,n produces vectors em+1,…,ene_{m+1},\dots,e_n so that the full list e1,…,em,em+1,…,ene_1,\dots,e_m,e_{m+1},\dots,e_n is orthonormal, and by the theorem above (spans agreeing at each stage, culminating in the full span VV) this list is a basis of VV. Thus e1,…,ene_1,\dots,e_n is an orthonormal basis of VV extending the original list. ■\blacksquare

∎

Worked examples

Example 1: A genuinely skewed basis of R3\mathbb{R}^3. Let V=R3V = \mathbb{R}^3 with the standard inner product ⟨x,y⟩=x1y1+x2y2+x3y3\langle x,y\rangle = x_1y_1+x_2y_2+x_3y_3. Consider the basis

v1=(1,1,0),v2=(1,0,1),v3=(0,1,1).v_1 = (1,1,0), \quad v_2 = (1,0,1), \quad v_3 = (0,1,1).

(Check linear independence: the determinant of the matrix with these rows is 1(0⋅1−1⋅1)−1(1⋅1−1⋅0)+0=−1−1=−2≠01(0\cdot1-1\cdot1) - 1(1\cdot1-1\cdot0)+0 = -1-1 = -2 \neq 0, so they are independent, hence a basis of R3\mathbb{R}^3.)

Step 1. ∥v1∥=12+12+02=2\lVert v_1\rVert = \sqrt{1^2+1^2+0^2}=\sqrt2, so

e1=12(1,1,0).e_1 = \frac{1}{\sqrt2}(1,1,0).

Step 2. Compute ⟨v2,e1⟩=12(1⋅1+0⋅1+1⋅0)=12\langle v_2,e_1\rangle = \frac{1}{\sqrt2}(1\cdot1+0\cdot1+1\cdot0) = \frac{1}{\sqrt2}.

f2=v2−⟨v2,e1⟩e1=(1,0,1)−12⋅12(1,1,0)=(1,0,1)−12(1,1,0)=(12,−12,1).f_2 = v_2 - \langle v_2,e_1\rangle e_1 = (1,0,1) - \frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}(1,1,0) = (1,0,1) - \tfrac12(1,1,0) = \left(\tfrac12,-\tfrac12,1\right).

Then ∥f2∥=14+14+1=32=62\lVert f_2\rVert = \sqrt{\tfrac14+\tfrac14+1} = \sqrt{\tfrac32} = \frac{\sqrt6}{2}, so

e2=26(12,−12,1)=16(1,−1,2).e_2 = \frac{2}{\sqrt6}\left(\tfrac12,-\tfrac12,1\right) = \frac{1}{\sqrt6}(1,-1,2).

Step 3. Compute ⟨v3,e1⟩=12(0+1+0)=12\langle v_3,e_1\rangle = \frac{1}{\sqrt2}(0+1+0) = \frac{1}{\sqrt2}, and ⟨v3,e2⟩=16(0−1+2)=16\langle v_3,e_2\rangle = \frac{1}{\sqrt6}(0-1+2) = \frac{1}{\sqrt6}.

f3=v3−⟨v3,e1⟩e1−⟨v3,e2⟩e2=(0,1,1)−12(1,1,0)−16(1,−1,2).f_3 = v_3 - \langle v_3,e_1\rangle e_1 - \langle v_3,e_2\rangle e_2 = (0,1,1) - \tfrac12(1,1,0) - \tfrac16(1,-1,2).

Compute componentwise:

f3=(0−12−16,  1−12+16,  1−0−13)=(−23,23,23).f_3 = \left(0 - \tfrac12 - \tfrac16,\; 1 - \tfrac12 + \tfrac16,\; 1 - 0 - \tfrac13\right) = \left(-\tfrac23, \tfrac23, \tfrac23\right).

Then ∥f3∥=49+49+49=129=23\lVert f_3\rVert = \sqrt{\tfrac49+\tfrac49+\tfrac49} = \sqrt{\tfrac{12}9} = \frac{2}{\sqrt3}, so

e3=32(−23,23,23)=13(−1,1,1).e_3 = \frac{\sqrt3}{2}\left(-\tfrac23,\tfrac23,\tfrac23\right) = \frac{1}{\sqrt3}(-1,1,1).

Verification. Check ⟨e1,e3⟩=16(−1+1+0)=0\langle e_1,e_3\rangle = \frac{1}{\sqrt6}(-1+1+0) = 0, ⟨e2,e3⟩=118(−1−1+2)=0\langle e_2,e_3\rangle = \frac{1}{\sqrt{18}}(-1-1+2)=0, and each has norm 11 (direct computation confirms this). So

e1=12(1,1,0),e2=16(1,−1,2),e3=13(−1,1,1)e_1 = \tfrac{1}{\sqrt2}(1,1,0),\quad e_2 = \tfrac{1}{\sqrt6}(1,-1,2),\quad e_3 = \tfrac{1}{\sqrt3}(-1,1,1)

is an orthonormal basis of R3\mathbb{R}^3, obtained from the skewed basis v1,v2,v3v_1,v_2,v_3, exactly as the theorem guarantees.

Example 2: Extending a single orthonormal vector in C3\mathbb{C}^3, and reading off coordinates. Let V=C3V = \mathbb{C}^3 with the standard Hermitian inner product ⟨x,y⟩=x1y1‾+x2y2‾+x3y3‾\langle x,y\rangle = x_1\overline{y_1}+x_2\overline{y_2}+x_3\overline{y_3}, and suppose we are handed the single unit vector

e1=13(1, i, 1).e_1 = \frac{1}{\sqrt3}(1,\,i,\,1).

Check ∥e1∥2=13(∣1∣2+∣i∣2+∣1∣2)=13(1+1+1)=1\lVert e_1\rVert^2 = \frac13(|1|^2+|i|^2+|1|^2) = \frac13(1+1+1)=1. Good, it is a unit vector, so {e1}\{e_1\} is an orthonormal list of length 11 in the 33-dimensional space C3\mathbb{C}^3. By the corollary, it extends to an orthonormal basis. First extend e1e_1 to any basis. Take w2=(1,0,0)w_2 = (1,0,0), w3=(0,1,0)w_3=(0,1,0); one checks e1,w2,w3e_1, w_2, w_3 is a basis (the matrix with these as rows is invertible: expanding along the third row, its determinant is −1-1 times the 2×22\times2 minor from rows 1,2, columns 1,2, namely det⁡(1/3i/310)=−i/3≠0\det\begin{pmatrix}1/\sqrt3 & i/\sqrt3\\1&0\end{pmatrix} = -i/\sqrt3 \ne 0). Now Gram-Schmidt fixes e1e_1 (already unit) and processes w2w_2:

⟨w2,e1⟩=1⋅13‾+0+0=13.\langle w_2, e_1\rangle = 1\cdot\overline{\tfrac{1}{\sqrt3}} + 0 + 0 = \frac{1}{\sqrt3}.

(Here the Hermitian inner product conjugates the second argument, so ⟨w2,e1⟩=∑k(w2)k(e1)k‾\langle w_2,e_1\rangle = \sum_k (w_2)_k \overline{(e_1)_k}.)

f2=w2−⟨w2,e1⟩e1=(1,0,0)−13⋅13(1,i,1)=(1,0,0)−13(1,i,1)=(23,−i3,−13).f_2 = w_2 - \langle w_2,e_1\rangle e_1 = (1,0,0) - \frac{1}{\sqrt3}\cdot\frac{1}{\sqrt3}(1,i,1) = (1,0,0) - \tfrac13(1,i,1) = \left(\tfrac23, -\tfrac{i}3, -\tfrac13\right).

Then ∥f2∥2=49+19+19=69=23\lVert f_2\rVert^2 = \tfrac49 + \tfrac19 + \tfrac19 = \tfrac69 = \tfrac23, so ∥f2∥=2/3\lVert f_2\rVert = \sqrt{2/3}, and

e2=32(23,−i3,−13)=16(2,−i,−1).e_2 = \sqrt{\tfrac32}\left(\tfrac23,-\tfrac{i}3,-\tfrac13\right) = \frac{1}{\sqrt6}(2,-i,-1).

(Check: ∥e2∥2=16(4+1+1)=1\lVert e_2\rVert^2 = \frac16(4+1+1) = 1. Good.) Next, ⟨w3,e1⟩=0+1⋅i/3‾+0=−i3\langle w_3,e_1\rangle = 0 + 1\cdot\overline{i/\sqrt3} + 0 = -\frac{i}{\sqrt3}, and

⟨w3,e2⟩=0+1⋅(−i/6)‾+0=i6.\langle w_3,e_2\rangle = 0 + 1\cdot\overline{(-i/\sqrt6)} + 0 = \frac{i}{\sqrt6}.
f3=w3−⟨w3,e1⟩e1−⟨w3,e2⟩e2=(0,1,0)+i3⋅13(1,i,1)−i6⋅16(2,−i,−1).f_3 = w_3 - \langle w_3,e_1\rangle e_1 - \langle w_3,e_2\rangle e_2 = (0,1,0) + \frac{i}{\sqrt3}\cdot\frac{1}{\sqrt3}(1,i,1) - \frac{i}{\sqrt6}\cdot\frac1{\sqrt6}(2,-i,-1).

Compute the two correction terms: i3(1,i,1)=(i3,−13,i3)\frac{i}{3}(1,i,1) = (\tfrac{i}3,-\tfrac13,\tfrac{i}3), and i6(2,−i,−1)=(i3,16,−i6)\frac{i}{6}(2,-i,-1) = (\tfrac{i}3,\tfrac16,-\tfrac{i}6).

f3=(0,1,0)+(i3,−13,i3)−(i3,16,−i6)=(0,  1−13−16,  i3+i6)=(0,  12,  i2).f_3 = (0,1,0) + \left(\tfrac{i}3,-\tfrac13,\tfrac{i}3\right) - \left(\tfrac{i}3,\tfrac16,-\tfrac{i}6\right) = \left(0,\; 1-\tfrac13-\tfrac16,\;\tfrac{i}3+\tfrac{i}6\right) = \left(0,\;\tfrac12,\;\tfrac{i}2\right).

Then ∥f3∥2=0+14+14=12\lVert f_3\rVert^2 = 0 + \tfrac14+\tfrac14 = \tfrac12, ∥f3∥=12\lVert f_3\rVert = \tfrac{1}{\sqrt2}, so

e3=2(0,12,i2)=12(0,1,i).e_3 = \sqrt2\left(0,\tfrac12,\tfrac{i}2\right) = \frac{1}{\sqrt2}(0,1,i).

So

e1=13(1,i,1),e2=16(2,−i,−1),e3=12(0,1,i)e_1 = \tfrac{1}{\sqrt3}(1,i,1),\quad e_2 = \tfrac1{\sqrt6}(2,-i,-1),\quad e_3 = \tfrac1{\sqrt2}(0,1,i)

is an orthonormal basis of C3\mathbb{C}^3 extending the original vector. As a payoff, coordinates of any vector are now immediate: for instance the vector u=(1,1,1)u = (1,1,1) has

⟨u,e1⟩=1⋅13‾+1⋅i3‾+1⋅13‾=13(1−i+1)=2−i3,\langle u,e_1\rangle = 1\cdot\overline{\tfrac1{\sqrt3}} + 1\cdot\overline{\tfrac{i}{\sqrt3}} + 1\cdot\overline{\tfrac{1}{\sqrt3}} = \tfrac1{\sqrt3}(1 - i + 1) = \tfrac{2-i}{\sqrt3},

so the e1e_1-coefficient of uu in the expansion u=∑k⟨u,ek⟩eku = \sum_k \langle u,e_k\rangle e_k is 2−i3\frac{2-i}{\sqrt3}, obtained by a single inner product, with no linear system to solve.

CounterexampleWhy finite-dimensionality is needed

Drop the hypothesis that VV is finite-dimensional, and consider V=c00V = c_{00}, the space of all real sequences (x1,x2,x3,… )(x_1,x_2,x_3,\dots) with only finitely many nonzero terms, equipped with the inner product

⟨x,y⟩=∑k=1∞xkyk\langle x,y\rangle = \sum_{k=1}^\infty x_k y_k

(a finite sum in effect, since each x,y∈c00x,y \in c_{00} has finite support). The standard sequences ε1=(1,0,0,… )\varepsilon_1 = (1,0,0,\dots), ε2=(0,1,0,… ),…\varepsilon_2=(0,1,0,\dots), \dots form an orthonormal list (pairwise orthogonal, unit norm), and their span is exactly c00c_{00}: every element of c00c_{00} is a finite linear combination of the εk\varepsilon_k, by definition of c00c_{00}. So {εk}k=1∞\{\varepsilon_k\}_{k=1}^\infty genuinely is a basis (a Hamel/vector-space basis, not merely a "complete orthonormal system" or Hilbert basis) and it is orthonormal. This might look consistent with the theorem, but the theorem's proof method — starting from a finite basis and running Gram-Schmidt in finitely many steps — cannot even get started here, because c00c_{00} has no finite basis; dim⁡c00=∞\dim c_{00} = \infty. The existence theorem as stated simply does not apply, and indeed nothing goes wrong only because we got lucky with εk\varepsilon_k: for a general infinite-dimensional inner product space (for instance an incomplete or non-separable one), no procedure analogous to finite Gram-Schmidt can produce a Hamel-basis that is orthonormal, since orthonormal bases in the vector-space sense typically fail to exist once you demand the list simultaneously be a genuine spanning basis (using only finite linear combinations) and infinite. In practice, the useful infinite-dimensional analogue is a complete orthonormal system (allowing infinite series, e.g. Fourier bases in L2L^2), a fundamentally different — and separately developed — notion belonging to the theory of Hilbert spaces, not the finite-dimensional theorem proved above. This is exactly why the theorem's hypothesis restricts to finite-dimensional VV.

Scope, edge cases & common traps

SituationWhat holdsWhat can fail
VV finite-dimensional, any field R\mathbb{R} or C\mathbb{C}Orthonormal basis exists (theorem)—
dim⁡V=0\dim V = 0 (zero space)The empty list is vacuously an orthonormal basisNo unit vectors exist in {0}\{0\}, so watch degenerate case separately
Orthonormal list shorter than dim⁡V\dim VAlways extends to an orthonormal basis (corollary)Extension is not unique; many valid completions exist
VV infinite-dimensionalGram-Schmidt/finite-basis argument does not applyOrthonormal Hamel bases generally do not exist; need Hilbert space theory instead
Non-orthonormal starting listStill yields orthonormal basis after Gram-SchmidtMust apply Gram-Schmidt in a fixed order; different orderings give different orthonormal bases

The mathematician behind it

Origins · 1 minJørgen Pedersen Gram and how this was discovered
JP
Jørgen Pedersen Gram
1850–1916 · Danish actuary and mathematician

Gram worked as an actuary for the Hafnia insurance company and pursued mathematics largely outside a university appointment, publishing on series expansions, invariant theory, and numerical methods relevant to probability and statistics. His 1883 work on least squares approximation contains the orthogonalization idea that now bears his name, developed independently and somewhat later formalized alongside work by Erhard Schmidt, whose 1907 paper on integral equations gave the process its modern, systematic form used throughout functional analysis and numerical linear algebra.

History
- 1822 — Cauchy develops early inequalities foreshadowing inner product geometry, applied to sequences and integrals.
- 1883 — Gram publishes orthogonalization ideas in the context of least-squares approximation problems.
- 1907 — Erhard Schmidt formalizes the orthogonalization process in his study of integral equations, giving the modern algorithmic form.
- 1920s — Hilbert space theory, building on Gram–Schmidt style constructions, formalizes orthonormal systems for infinite dimensions.
- 1950s onward — Orthonormal bases become a standard computational tool via QR decomposition in numerical linear algebra.
Does every vector space have an orthonormal basis?

No. Only inner product spaces have orthonormal bases, since the notions of orthogonality and length require an inner product. Furthermore, the theorem proved here is restricted to finite-dimensional inner product spaces. A general vector space without an inner product structure has ordinary (Hamel) bases, guaranteed by Zorn's lemma in the infinite-dimensional case, but there is no meaningful notion of "orthonormal" without first fixing an inner product on the space.

Is the orthonormal basis produced by the theorem unique?

No, and this is worth internalizing. Different orderings of the starting basis fed into Gram-Schmidt typically produce different orthonormal bases, and any orthonormal basis can be modified by an orthogonal or unitary change of basis to produce another one. What is invariant is the number of vectors, always equal to dim⁡V\dim V, and various numerical invariants like traces and determinants of operators expressed in any orthonormal basis. Uniqueness only emerges under extra constraints, such as requiring the basis to align with a given flag of nested subspaces or to consist of eigenvectors of a fixed self-adjoint operator.

Why does the proof require starting from a basis rather than any spanning list?

Gram-Schmidt requires the input list to be linearly independent; if the input list merely spans VV but is not independent, at some step the leftover vector fkf_k can become zero (because vkv_k already lies in the span of the previous vectors), and one cannot rescale a zero vector to unit length. Starting from a basis guarantees linear independence throughout, so every fkf_k constructed in the proof is genuinely nonzero at every stage, keeping the algorithm well-defined.

Does the extension corollary work if m equals n already?

Yes, trivially: if m=nm = n and e1,…,ene_1,\dots,e_n is already an orthonormal list of length nn in an nn-dimensional space, it is already linearly independent by the standard fact that orthonormal lists are linearly independent, hence already a basis (a linearly independent list of length equal to the dimension is automatically a basis). No extension vectors are needed, and the corollary's conclusion holds with the empty extension.

What happens for the zero-dimensional inner product space?

If V={0}V = \{0\}, the empty list (containing zero vectors) is vacuously orthonormal, since there are no pairs or vectors to check any condition against, and it vacuously spans {0}\{0\} because the only linear combination of an empty list is the zero vector. So the empty list is the (unique) orthonormal basis in this degenerate case, consistent with dim⁡V=0\dim V = 0.

How does this theorem relate to orthogonal complements and adjoints, covered later?

The existence of orthonormal bases is the essential tool used to construct orthogonal complements explicitly: given a subspace UU of a finite-dimensional VV, one builds an orthonormal basis of UU and extends it (via the corollary above) to an orthonormal basis of VV; the added vectors then span the orthogonal complement of UU. Likewise, The Adjoint of a Linear Map is most concretely defined and computed by writing matrices with respect to orthonormal bases, where the adjoint's matrix is simply the conjugate transpose.

Can this theorem fail if the field is not R or C?

The theorem as proved uses properties of the inner product — in particular that ⟨v,v⟩≥0\langle v,v\rangle \geq 0 with equality only at v=0v=0, and that norms and square roots of nonnegative reals behave as expected — which is precisely why inner product spaces are only defined over R\mathbb{R} or C\mathbb{C}. Over general fields, there is no compatible notion of a positive-definite inner product with a well-behaved square root, so the entire framework, including this theorem, does not extend beyond R\mathbb{R} and C\mathbb{C}.

Before this

Where this leads