Orthogonal Complements

Given a plane through the origin in three-dimensional space, there is a unique line through the origin. This line is perpendicular to every vector in that plane. This everyday picture splits space into a subspace and "everything perpendicular to it." It is the seed of one of the most useful constructions in linear algebra: the orthogonal complement. The question this article answers is precise. Given a subspace UU of an inner product space VV, what is the set of vectors orthogonal to all of UU? How does it interact with UU itself? The answer turns out to be remarkably clean in finite dimensions. The orthogonal complement U⊥U^\perp is not merely a subspace sitting somewhere in VV. It is a genuine complement, meaning every vector of VV splits uniquely. It splits into a piece in UU and a piece in U⊥U^\perp. This is the direct sum decomposition V=U⊕U⊥V = U \oplus U^\perp. It is strictly stronger than the mere existence of some algebraic complement of UU. Such a complement always exists in any vector space. Here, though, the complement is canonical. It is determined entirely by the geometry of the inner product, with no arbitrary choices. This decomposition is the engine behind orthogonal projections and least-squares approximation. It also drives the study of self-adjoint and normal operators. It underlies the geometry of Hilbert spaces in analysis. Once we know V=U⊕U⊥V = U \oplus U^\perp, we get for free a projection map onto UU along U⊥U^\perp. This projection is the best-approximation map. It sends any vector vv to the closest point of UU to vv. The complement construction also has a beautiful involutive property in finite dimensions. Taking the complement twice returns you to where you started: (U⊥)⊥=U(U^\perp)^\perp = U. This article gives the formal definition of U⊥U^\perp. It builds geometric intuition with explicit pictures. It proves the direct sum decomposition theorem in full using orthonormal bases. It also proves the double-complement identity. Along the way we highlight exactly where finite-dimensionality is used. This matters because the double-complement identity famously fails in infinite dimensions without extra hypotheses.

Key takeaways
  • For a subspace UU of an inner product space VV, U⊥={v∈V:⟨v,u⟩=0 for all u∈U}U^\perp = \{v \in V : \langle v, u\rangle = 0 \text{ for all } u \in U\}.
  • U⊥U^\perp is always a subspace of VV, regardless of whether UU is finite-dimensional.
  • If VV is finite-dimensional, then V=U⊕U⊥V = U \oplus U^\perp: every v∈Vv \in V decomposes uniquely as v=u+wv = u + w with u∈Uu \in U, w∈U⊥w \in U^\perp.
  • Consequently dim⁡U+dim⁡U⊥=dim⁡V\dim U + \dim U^\perp = \dim V.
  • In finite dimensions, (U⊥)⊥=U(U^\perp)^\perp = U exactly — complementing twice recovers the original subspace.
  • Key idea: orthogonal complements turn the algebraic notion of "complementary subspace" into a canonical, geometrically meaningful splitting of the whole space.

Where this lives today

Orthogonal complements are the backbone of orthogonal projection, which finds the closest point in a subspace to a given vector — this is exactly how Orthogonal Projections are constructed, by projecting along U⊥U^\perp onto UU. This idea powers least-squares regression in statistics: fitting a line or hyperplane to noisy data amounts to projecting a data vector onto the column space of a design matrix, with the residual living in the orthogonal complement. In numerical linear algebra, the QR decomposition and Gram–Schmidt-based algorithms exploit the same complement structure to solve linear systems stably. In signal processing, decomposing a signal into a "signal subspace" and a "noise subspace" (as in principal component analysis) is literally an orthogonal complement decomposition. The identity (U⊥)⊥=U(U^\perp)^\perp = U and the complement construction also underlie the theory of the adjoint, since the adjoint's kernel and the range of the original map are orthogonal complements of one another — a fact central to the study of self-adjoint and normal operators in quantum mechanics, where observables are represented by operators whose eigenspaces decompose the Hilbert space via mutually orthogonal complements. In coding theory, the dual code of a linear code over a finite field is defined via an orthogonal-complement-style construction with respect to a bilinear form, echoing the same algebraic pattern.

:::quiz[In the counterexample with U={p∈R[x]:p(0)=0}U = \{p \in \mathbb{R}[x] : p(0)=0\}, what causes (U⊥)⊥=U(U^\perp)^\perp = U to fail?]

  • The inner product used is not positive-definite
  • UU is not a subspace
  • VV is infinite-dimensional and UU is not closed ✓
  • U⊥U^\perp is not actually a subspace in this example

Ask the tutor: How does the direct sum V=U⊕U⊥V = U \oplus U^\perp give a formula for the orthogonal projection onto UU?

DefinitionOrthogonal Complement

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}), and let U⊆VU \subseteq V be a subspace. The orthogonal complement of UU in VV is

U⊥={ v∈V:⟨v,u⟩=0 for every u∈U }.U^\perp = \{\, v \in V : \langle v, u \rangle = 0 \text{ for every } u \in U \,\}.

Two vectors x,y∈Vx, y \in V are called orthogonal, written x⊥yx \perp y, if ⟨x,y⟩=0\langle x, y \rangle = 0. Two subspaces U,WU, W are called orthogonal if every vector of UU is orthogonal to every vector of WW. Thus U⊥U^\perp is exactly the set of vectors orthogonal to every vector of UU.

Intuition

Picture V=R3V = \mathbb{R}^3 with the standard dot product, and let UU be the xyxy-plane, spanned by e1e_1 and e2e_2. A vector v=(a,b,c)v = (a,b,c) satisfies ⟨v,e1⟩=a\langle v, e_1\rangle = a and ⟨v,e2⟩=b\langle v, e_2 \rangle = b; for vv to be orthogonal to every vector of UU (every linear combination of e1,e2e_1, e_2), we need a=b=0a = b = 0. So U⊥U^\perp is exactly the zz-axis. Notice that UU and U⊥U^\perp together span all of R3\mathbb{R}^3, and they meet only at the origin — this is the direct sum decomposition in its simplest form. The key structural fact is that this splitting is not a coincidence of the plane-and-axis example: it happens for every subspace of every finite-dimensional inner product space. If UU is any subspace, no matter how tilted or oddly shaped its basis vectors look, there is always a complementary subspace U⊥U^\perp, orthogonal to it, such that the two together reconstruct VV uniquely. The proof strategy exploits the one tool we already have: an orthonormal basis. Extend an orthonormal basis of UU to one of VV; the added vectors span exactly U⊥U^\perp. This is why Existence of Orthonormal Bases (via Gram–Schmidt) is the essential prerequisite — orthogonal complements are built by extending orthonormal bases, not by an independent argument. The double-complement fact (U⊥)⊥=U(U^\perp)^\perp = U says the relationship is symmetric: UU and U⊥U^\perp are mutual complements, and there is no "bigger" orthogonal complement lurking outside UU waiting to be discovered by complementing twice. This symmetry is special to finite dimensions (or to closed subspaces of infinite-dimensional Hilbert spaces) — a fact the counterexample below makes precise.

Figure
The plane U and its orthogonal complement U⊥ = z-axis inside ℝ³
U = span(e₁, e₂) e₁ e₂ U⊥ = span(e₃) 0 v = u + w w ∈ U⊥ u ∈ U
TheoremOrthogonal Complement Structure Theorem

Let VV be a finite-dimensional inner product space over F∈{R,C}\mathbb{F} \in \{\mathbb{R}, \mathbb{C}\}, and let UU be a subspace of VV. Then: 1. U⊥U^\perp is a subspace of VV. 2. U∩U⊥={0}U \cap U^\perp = \{0\}. 3. V=U⊕U⊥V = U \oplus U^\perp, i.e. every v∈Vv \in V can be written uniquely as v=u+wv = u + w with u∈Uu \in U and w∈U⊥w \in U^\perp. 4. dim⁡U+dim⁡U⊥=dim⁡V\dim U + \dim U^\perp = \dim V. 5. (U⊥)⊥=U(U^\perp)^\perp = U.

Proof

We prove each part in order, using Existence of Orthonormal Bases as the key tool, together with basic properties of Inner Product Spaces.

(1) U⊥U^\perp is a subspace. First, 0∈U⊥0 \in U^\perp since ⟨0,u⟩=0\langle 0, u \rangle = 0 for all u∈Uu \in U. Next, suppose v1,v2∈U⊥v_1, v_2 \in U^\perp and λ∈F\lambda \in \mathbb{F}. For any u∈Uu \in U,

⟨v1+λv2, u⟩=⟨v1,u⟩+λ⟨v2,u⟩=0+λ⋅0=0,\langle v_1 + \lambda v_2,\, u\rangle = \langle v_1, u\rangle + \lambda \langle v_2, u \rangle = 0 + \lambda \cdot 0 = 0,

using linearity of the inner product in its first argument. Hence v1+λv2∈U⊥v_1 + \lambda v_2 \in U^\perp, so U⊥U^\perp is closed under addition and scalar multiplication, and is a subspace. (This part requires no finite-dimensionality.)

(2) U∩U⊥={0}U \cap U^\perp = \{0\}. Let x∈U∩U⊥x \in U \cap U^\perp. Since x∈Ux \in U and x∈U⊥x \in U^\perp, and every vector of U⊥U^\perp is orthogonal to every vector of UU, in particular xx is orthogonal to itself:

⟨x,x⟩=0.\langle x, x \rangle = 0.

By positive-definiteness of the inner product, ⟨x,x⟩=0\langle x, x\rangle = 0 implies x=0x = 0. Hence U∩U⊥={0}U \cap U^\perp = \{0\}. (This also requires no finite-dimensionality, only positive-definiteness.)

(3) V=U⊕U⊥V = U \oplus U^\perp. Since VV is finite-dimensional, so is its subspace UU. By the existence of orthonormal bases (Gram–Schmidt applied to any basis of UU), choose an orthonormal basis e1,…,eme_1, \dots, e_m of UU, where m=dim⁡Um = \dim U. By the standard extension theorem for bases, extend e1,…,eme_1,\dots,e_m to a basis e1,…,em,f1,…,fke_1,\dots,e_m, f_1,\dots,f_k of VV, where m+k=dim⁡Vm + k = \dim V. Applying Gram–Schmidt to this basis of VV, and noting that Gram–Schmidt leaves already-orthonormal initial vectors unchanged, we obtain an orthonormal basis

e1,…,em,g1,…,gke_1, \dots, e_m, g_1, \dots, g_k

of VV, where g1,…,gkg_1, \dots, g_k are obtained from f1,…,fkf_1, \dots, f_k (orthonormal, and each orthogonal to every eie_i by construction of Gram–Schmidt). Claim: U⊥=span⁡(g1,…,gk)U^\perp = \operatorname{span}(g_1,\dots,g_k). (⊇\supseteq) Each gjg_j is orthogonal to every eie_i by construction. Since e1,…,eme_1,\dots,e_m is a basis of UU, any u∈Uu \in U is a linear combination u=∑icieiu = \sum_i c_i e_i, so

⟨gj,u⟩=∑ici‾⟨gj,ei⟩∗=∑ici⟨gj,ei⟩=0\langle g_j, u \rangle = \sum_i \overline{c_i}\langle g_j, e_i\rangle^{*} = \sum_i c_i \langle g_j, e_i \rangle = 0

(depending on convention for which argument is conjugate-linear; in either convention the sum vanishes because each ⟨gj,ei⟩=0\langle g_j, e_i\rangle = 0). Hence gj∈U⊥g_j \in U^\perp, and by part (1), span⁡(g1,…,gk)⊆U⊥\operatorname{span}(g_1,\dots,g_k) \subseteq U^\perp. (⊆\subseteq) Let v∈U⊥v \in U^\perp. Since e1,…,em,g1,…,gke_1,\dots,e_m,g_1,\dots,g_k is a basis of VV, write

v=∑i=1maiei+∑j=1kbjgj.v = \sum_{i=1}^m a_i e_i + \sum_{j=1}^k b_j g_j.

For each fixed i0∈{1,…,m}i_0 \in \{1,\dots,m\}, since the basis is orthonormal,

⟨v,ei0⟩=ai0.\langle v, e_{i_0} \rangle = a_{i_0}.

But v∈U⊥v \in U^\perp and ei0∈Ue_{i_0} \in U, so ⟨v,ei0⟩=0\langle v, e_{i_0}\rangle = 0; hence ai0=0a_{i_0} = 0 for every i0i_0. Therefore v=∑jbjgj∈span⁡(g1,…,gk)v = \sum_j b_j g_j \in \operatorname{span}(g_1,\dots,g_k). This proves U⊥⊆span⁡(g1,…,gk)U^\perp \subseteq \operatorname{span}(g_1,\dots,g_k), and combined with the reverse inclusion, U⊥=span⁡(g1,…,gk)U^\perp = \operatorname{span}(g_1,\dots,g_k). Now we verify V=U+U⊥V = U + U^\perp and uniqueness of decomposition, i.e. the direct sum. Given any v∈Vv \in V, expand it in the orthonormal basis:

v=∑i=1maiei⏟=:u ∈ U+∑j=1kbjgj⏟=:w ∈ U⊥.v = \underbrace{\sum_{i=1}^m a_i e_i}_{=: u \,\in\, U} + \underbrace{\sum_{j=1}^k b_j g_j}_{=: w \,\in\, U^\perp}.

This exhibits v=u+wv = u + w with u∈Uu \in U, w∈U⊥w \in U^\perp, so V=U+U⊥V = U + U^\perp. For uniqueness: suppose v=u1+w1=u2+w2v = u_1 + w_1 = u_2 + w_2 with u1,u2∈Uu_1,u_2 \in U and w1,w2∈U⊥w_1, w_2 \in U^\perp. Then

u1−u2=w2−w1.u_1 - u_2 = w_2 - w_1.

The left side lies in UU (subspace, closed under subtraction) and the right side lies in U⊥U^\perp (same reason); since they are equal, this common vector lies in U∩U⊥={0}U \cap U^\perp = \{0\} by part (2). Hence u1=u2u_1 = u_2 and w1=w2w_1 = w_2. This proves uniqueness, completing the proof that V=U⊕U⊥V = U \oplus U^\perp.

(4) Dimension formula. From the orthonormal basis constructed above, dim⁡U=m\dim U = m, dim⁡U⊥=k\dim U^\perp = k (since g1,…,gkg_1,\dots,g_k is a basis of U⊥U^\perp, being a spanning linearly independent set — linearly independent because it is part of the orthonormal, hence linearly independent, basis of VV), and dim⁡V=m+k\dim V = m + k. Hence

dim⁡U+dim⁡U⊥=dim⁡V.\dim U + \dim U^\perp = \dim V.

(This also follows abstractly from V=U⊕U⊥V = U \oplus U^\perp together with the standard fact that dimensions add for direct sums, but the explicit count above is self-contained.)

(5) (U⊥)⊥=U(U^\perp)^\perp = U. First we show U⊆(U⊥)⊥U \subseteq (U^\perp)^\perp. Let u∈Uu \in U. For every w∈U⊥w \in U^\perp, by definition of U⊥U^\perp we have ⟨w,u⟩=0\langle w, u \rangle = 0, equivalently ⟨u,w⟩=⟨w,u⟩‾=0\langle u, w\rangle = \overline{\langle w,u\rangle} = 0. Since this holds for all w∈U⊥w \in U^\perp, we conclude u∈(U⊥)⊥u \in (U^\perp)^\perp. Hence U⊆(U⊥)⊥U \subseteq (U^\perp)^\perp. For the reverse inclusion, we compare dimensions. Applying part (4) to the subspace U⊥U^\perp of VV (which is itself finite-dimensional, being a subspace of the finite-dimensional space VV) gives

dim⁡U⊥+dim⁡(U⊥)⊥=dim⁡V.\dim U^\perp + \dim (U^\perp)^\perp = \dim V.

Applying part (4) to UU gives dim⁡U+dim⁡U⊥=dim⁡V\dim U + \dim U^\perp = \dim V. Subtracting,

dim⁡(U⊥)⊥=dim⁡V−dim⁡U⊥=dim⁡U.\dim(U^\perp)^\perp = \dim V - \dim U^\perp = \dim U.

So U⊆(U⊥)⊥U \subseteq (U^\perp)^\perp and dim⁡U=dim⁡(U⊥)⊥\dim U = \dim (U^\perp)^\perp. A subspace of a finite-dimensional space that has the same dimension as the whole containing subspace must equal it (if U⊊(U⊥)⊥U \subsetneq (U^\perp)^\perp properly, then dim⁡U<dim⁡(U⊥)⊥\dim U < \dim (U^\perp)^\perp, a contradiction, since a proper subspace of a finite-dimensional space has strictly smaller dimension). Hence U=(U⊥)⊥U = (U^\perp)^\perp. ■\blacksquare

∎

Worked examples

Example 1: A tilted plane in R3\mathbb{R}^3. Let V=R3V = \mathbb{R}^3 with the standard dot product, and let

U=span⁡(u1,u2),u1=(1,1,0),u2=(1,0,1).U = \operatorname{span}\big(u_1, u_2\big), \qquad u_1 = (1, 1, 0), \quad u_2 = (1, 0, 1).

These two vectors are linearly independent (neither is a scalar multiple of the other), so dim⁡U=2\dim U = 2. Step 1: Find U⊥U^\perp directly from the definition. A vector v=(x,y,z)v = (x,y,z) lies in U⊥U^\perp iff it is orthogonal to u1u_1 and u2u_2 (orthogonality to all of UU reduces to orthogonality to a spanning set, by linearity):

⟨v,u1⟩=x+y=0,⟨v,u2⟩=x+z=0.\langle v, u_1\rangle = x + y = 0, \qquad \langle v, u_2 \rangle = x + z = 0.

From the first equation y=−xy = -x; from the second z=−xz = -x. So v=(x,−x,−x)=x(1,−1,−1)v = (x, -x, -x) = x(1,-1,-1). Hence

U⊥=span⁡((1,−1,−1)),U^\perp = \operatorname{span}\big((1,-1,-1)\big),

a one-dimensional subspace (a line), as predicted since dim⁡U⊥=dim⁡V−dim⁡U=3−2=1\dim U^\perp = \dim V - \dim U = 3 - 2 = 1. Step 2: Decompose an explicit vector. Take v=(3,2,5)v = (3, 2, 5). We want v=u+wv = u + w with u∈Uu \in U, w∈U⊥w \in U^\perp. Write u=a u1+b u2=(a+b, a, b)u = a\,u_1 + b\,u_2 = (a+b,\, a,\, b) and w=c(1,−1,−1)w = c(1,-1,-1). Then

(3,2,5)=(a+b+c, a−c, b−c).(3,2,5) = (a+b+c,\ a-c,\ b-c).

This gives the system

a+b+c=3,a−c=2,b−c=5.a+b+c = 3,\qquad a - c = 2, \qquad b - c = 5.

From the second equation a=2+ca = 2+c; from the third b=5+cb = 5+c. Substituting into the first:

(2+c)+(5+c)+c=3  ⟹  7+3c=3  ⟹  c=−43.(2+c) + (5+c) + c = 3 \;\Longrightarrow\; 7 + 3c = 3 \;\Longrightarrow\; c = -\tfrac{4}{3}.

Then a=2−43=23a = 2 - \tfrac43 = \tfrac23 and b=5−43=113b = 5 - \tfrac43 = \tfrac{11}{3}. So

u=23u1+113u2=(23+113, 23, 113)=(133,23,113),u = \tfrac23 u_1 + \tfrac{11}{3} u_2 = \left(\tfrac23+\tfrac{11}{3},\ \tfrac23,\ \tfrac{11}{3}\right) = \left(\tfrac{13}{3}, \tfrac23, \tfrac{11}{3}\right),
w=−43(1,−1,−1)=(−43,43,43).w = -\tfrac43(1,-1,-1) = \left(-\tfrac43, \tfrac43, \tfrac43\right).

Check: u+w=(133−43, 23+43, 113+43)=(3,2,5)=vu + w = \left(\tfrac{13}{3}-\tfrac43,\ \tfrac23+\tfrac43,\ \tfrac{11}{3}+\tfrac43\right) = (3, 2, 5) = v. ✓ Also ⟨u1,w⟩=−43+43+0=0\langle u_1, w\rangle = -\tfrac43+\tfrac43+0 = 0 ✓ and ⟨u2,w⟩=−43+0+43=0\langle u_2, w\rangle = -\tfrac43 + 0 + \tfrac43 = 0 ✓, confirming w∈U⊥w \in U^\perp. This concretely exhibits the direct sum decomposition V=U⊕U⊥V = U \oplus U^\perp for a non-axis-aligned subspace, with all arithmetic tracked exactly.

Example 2: A subspace of C3\mathbb{C}^3 and the double-complement identity. 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 let

U=span⁡(u),u=(1,i,0).U = \operatorname{span}(u), \qquad u = (1, i, 0).

So dim⁡U=1\dim U = 1. Step 1: Compute U⊥U^\perp. A vector v=(x,y,z)∈U⊥v = (x,y,z) \in U^\perp iff ⟨v,u⟩=0\langle v, u\rangle = 0, i.e.

x1‾+yi‾+z0‾=x−iy=0  ⟹  x=iy.x\overline{1} + y\overline{i} + z\overline{0} = x - iy = 0 \;\Longrightarrow\; x = iy.

So v=(iy,y,z)v = (iy, y, z) for arbitrary y,z∈Cy, z \in \mathbb{C}, giving

U⊥=span⁡((i,1,0), (0,0,1)),U^\perp = \operatorname{span}\big((i,1,0),\, (0,0,1)\big),

a 22-dimensional subspace, matching dim⁡U+dim⁡U⊥=1+2=3=dim⁡V\dim U + \dim U^\perp = 1 + 2 = 3 = \dim V. Step 2: Verify (U⊥)⊥=U(U^\perp)^\perp = U directly, without invoking the theorem, as a sanity check. Let w1=(i,1,0)w_1 = (i,1,0), w2=(0,0,1)w_2 = (0,0,1) span U⊥U^\perp. A vector v=(x,y,z)∈(U⊥)⊥v=(x,y,z) \in (U^\perp)^\perp must satisfy ⟨v,w1⟩=0\langle v, w_1\rangle = 0 and ⟨v,w2⟩=0\langle v, w_2 \rangle = 0:

⟨v,w1⟩=xi‾+y1‾+0=−ix+y=0  ⟹  y=ix,\langle v, w_1\rangle = x\overline{i} + y\overline{1} + 0 = -ix + y = 0 \;\Longrightarrow\; y = ix,
⟨v,w2⟩=z1‾=z=0.\langle v, w_2 \rangle = z\overline{1} = z = 0.

So v=(x,ix,0)=x(1,i,0)=x uv = (x, ix, 0) = x(1, i, 0) = x\,u. Hence (U⊥)⊥=span⁡(u)=U(U^\perp)^\perp = \operatorname{span}(u) = U, confirming the theorem's conclusion (5) by direct computation, with the conjugate-linearity of the second argument correctly tracked throughout (note the sign flip from i‾=−i\overline{i} = -i).

CounterexampleWhy finite-dimensionality cannot be dropped

The double-complement identity (U⊥)⊥=U(U^\perp)^\perp = U genuinely requires the ambient space to be finite-dimensional (or, more generally, requires UU to be a closed subspace of a complete inner product space). Here is a concrete failure in infinite dimensions. Let V=R[x]V = \mathbb{R}[x], the space of all real polynomials, with inner product

⟨p,q⟩=∫01p(t)q(t) dt.\langle p, q \rangle = \int_0^1 p(t) q(t)\, dt.

This is a perfectly good (infinite-dimensional) inner product space. Let

U={ p∈V:p(0)=0 },U = \{\, p \in V : p(0) = 0 \,\},

the subspace of polynomials vanishing at 00. This is a genuine subspace: it is closed under addition and scalar multiples, since p(0)=q(0)=0⇒(p+q)(0)=0p(0)=q(0)=0 \Rightarrow (p+q)(0) = 0 and (λp)(0)=0(\lambda p)(0) = 0. Claim: U⊥={0}U^\perp = \{0\}. Suppose v∈U⊥v \in U^\perp, i.e. ∫01v(t)p(t) dt=0\int_0^1 v(t)p(t)\,dt = 0 for every polynomial pp vanishing at 00. Fix any polynomial vv and consider p(t)=t v(t)p(t) = t\, v(t); then p(0)=0p(0) = 0, so p∈Up \in U, and orthogonality gives

0=∫01v(t)⋅t v(t) dt=∫01t v(t)2 dt.0 = \int_0^1 v(t)\cdot t\,v(t)\,dt = \int_0^1 t\,v(t)^2\,dt.

Since t v(t)2≥0t\,v(t)^2 \ge 0 on [0,1][0,1] and t>0t > 0 except at a single point, the vanishing of this integral of a continuous non-negative function forces t v(t)2=0t\,v(t)^2 = 0 for all t∈(0,1]t \in (0,1], hence v(t)=0v(t) = 0 for all t∈(0,1]t \in (0,1]. A polynomial that vanishes on the infinite set (0,1](0,1] must be the zero polynomial. Hence v=0v = 0, proving U⊥={0}U^\perp = \{0\}. Now compute (U⊥)⊥={0}⊥=V(U^\perp)^\perp = \{0\}^\perp = V, since every vector is orthogonal to 00. But U≠VU \ne V: for instance the constant polynomial 11 satisfies 1(0)=1≠01(0) = 1 \ne 0, so 1∉U1 \notin U, yet 1∈V=(U⊥)⊥1 \in V = (U^\perp)^\perp. Thus

(U⊥)⊥=V≠U,(U^\perp)^\perp = V \ne U,

directly violating conclusion (5) of the theorem. The culprit is that VV is infinite-dimensional, so the dimension-counting argument in the proof (which crucially used dim⁡U+dim⁡U⊥=dim⁡V\dim U + \dim U^\perp = \dim V with all quantities finite) simply does not apply; indeed UU here is a dense subspace of the completion of VV (an L2L^2 space) but is not itself closed, and it is exactly this failure of closedness that breaks the identity.

Scope, edge cases & common traps

SituationWhat happens
U={0}U = \{0\}U⊥=VU^\perp = V entirely; decomposition is trivial, v=0+vv = 0 + v.
U=VU = VU⊥={0}U^\perp = \{0\}; decomposition is v=v+0v = v + 0.
VV finite-dimensional, any subspace UUTheorem applies fully: V=U⊕U⊥V = U\oplus U^\perp, dimensions add, (U⊥)⊥=U(U^\perp)^\perp = U.
VV infinite-dimensional, UU a closed subspace of a complete space (Hilbert space)Analogous decomposition and double-complement identity hold, but require completeness and closedness — genuinely different (analytic) machinery, not covered by this finite-dimensional theorem.
VV infinite-dimensional, UU not closedDecomposition and (U⊥)⊥=U(U^\perp)^\perp = U can both fail, as in the counterexample above.
Complex vs. real inner product spaceAll parts of the theorem hold verbatim; only bookkeeping of conjugates in computing U⊥U^\perp changes.

The mathematician behind it

Origins · 1 minErhard Schmidt and how this was discovered
ES
Erhard Schmidt
1876–1959 · Göttingen and Berlin, functional analysis and Hilbert space theory

Erhard Schmidt, a student of David Hilbert, was central to turning Hilbert's spectral theory into the geometric language of inner product spaces that we use today. Schmidt's 1907 paper on integral equations introduced what we now call the Gram–Schmidt process in a rigorous, general form, and with it the systematic use of orthonormal bases and orthogonal complements as tools rather than incidental curiosities. His work, alongside Hilbert's, established ℓ2\ell^2 and L2L^2 spaces as genuine geometric objects: spaces where notions like "perpendicular subspace" and "distance to a subspace" make literal, provable sense. The finite-dimensional theorem in this article is the algebraic skeleton of ideas Schmidt developed in the infinite-dimensional, analytic setting of Hilbert space, where closedness of UU takes the place of finite-dimensionality as the hypothesis making (U⊥)⊥=U(U^\perp)^\perp = U true.

History
- 1822: Fourier's work on trigonometric series implicitly uses orthogonality of sine and cosine functions, a precursor to the abstract notion.
- 1886: Jørgen Pedersen Gram publishes an early version of the orthogonalization idea in the context of least-squares approximation.
- 1907: Erhard Schmidt rigorously formalizes the orthogonalization process and orthonormal expansions in the study of integral equations, in work building on Hilbert.
- 1920s: John von Neumann and others formalize abstract Hilbert space, making orthogonal complements of closed subspaces a cornerstone of functional analysis.
- Mid-20th century: The finite-dimensional theory of orthogonal complements becomes standard material in linear algebra curricula, decoupled from its analytic origins.
Is U⊥U^\perp always a subspace, even if UU is not finite-dimensional or not even a subspace?

Yes, U⊥U^\perp is always a subspace of VV, for any subset U⊆VU \subseteq V, not just subspaces. The proof only uses linearity of the inner product in one argument: if v1,v2v_1, v_2 are each orthogonal to every element of UU, so is any linear combination v1+λv2v_1 + \lambda v_2, by bilinearity/sesquilinearity. Finite-dimensionality is never needed for this part. What does require finite-dimensionality (or completeness plus closedness) is the stronger claim that U⊥U^\perp is a genuine complement, i.e. V=U⊕U⊥V = U \oplus U^\perp, and the double-complement identity (U⊥)⊥=U(U^\perp)^\perp = U.

Does V=U⊕U⊥V = U \oplus U^\perp hold if VV is infinite-dimensional?

Not in general, but it does hold under an extra hypothesis. If VV is a complete inner product space (a Hilbert space) and UU is a closed subspace, the projection theorem in functional analysis guarantees V=U⊕U⊥V = U \oplus U^\perp exactly as in the finite-dimensional case. Without completeness of VV or closedness of UU, the decomposition can fail entirely, as shown in the counterexample with polynomials, where U⊥U^\perp collapsed to {0}\{0\} and U+U⊥=U≠VU + U^\perp = U \ne V.

How do you actually compute U⊥U^\perp in practice?

If U=span⁡(u1,…,um)U = \operatorname{span}(u_1, \dots, u_m), then by linearity of the inner product, a vector vv is orthogonal to all of UU if and only if it is orthogonal to each spanning vector u1,…,umu_1,\dots,u_m individually — you do not need to check infinitely many linear combinations. This reduces computing U⊥U^\perp to solving the linear system ⟨v,ui⟩=0\langle v, u_i\rangle = 0 for i=1,…,mi = 1,\dots,m, exactly as done in the worked examples above, where the unknowns are the coordinates of vv.

Is the direct sum V=U⊕U⊥V = U \oplus U^\perp the same as saying U⊥U^\perp is an algebraic complement of UU?

It implies that U⊥U^\perp is an algebraic complement (meaning U+U⊥=VU + U^\perp = V and U∩U⊥={0}U \cap U^\perp = \{0\}), but it is a much stronger statement, because algebraic complements are never unique unless U={0}U = \{0\} or U=VU = V. What singles out U⊥U^\perp among all possible complements is the orthogonality condition coming from the inner product. This extra structure is exactly what makes the associated projection map a distance-minimizing projection, a property purely algebraic complements do not have.

Why does (U⊥)⊥=U(U^\perp)^\perp = U fail to be "obvious" even though U⊆(U⊥)⊥U \subseteq (U^\perp)^\perp is easy?

The inclusion U⊆(U⊥)⊥U \subseteq (U^\perp)^\perp follows almost immediately from the definitions: every u∈Uu \in U is orthogonal to every w∈U⊥w \in U^\perp by definition of U⊥U^\perp, so uu automatically lies in (U⊥)⊥(U^\perp)^\perp. The reverse inclusion is subtler, because a priori (U⊥)⊥(U^\perp)^\perp could contain vectors outside UU that happen to be orthogonal to everything in U⊥U^\perp without lying in UU. Ruling this out requires the dimension-counting argument: both UU and (U⊥)⊥(U^\perp)^\perp have the same finite dimension, so the containment must in fact be equality. This is exactly where finite-dimensionality (or completeness) enters essentially.

Does the theorem require F=R\mathbb{F} = \mathbb{R}, or does it also work over C\mathbb{C}?

The theorem holds verbatim for complex inner product spaces. The only place complex conjugation matters is in verifying details like ⟨u,w⟩=⟨w,u⟩‾=0\langle u, w \rangle = \overline{\langle w, u\rangle} = 0 when showing U⊆(U⊥)⊥U \subseteq (U^\perp)^\perp, and in solving the linear systems that define U⊥U^\perp (Example 2 above illustrates this with C3\mathbb{C}^3). Positive-definiteness of the inner product, which is what makes U∩U⊥={0}U \cap U^\perp = \{0\} work, holds identically in both the real and complex settings.

What goes wrong if the inner product is only positive semi-definite, i.e. ⟨x,x⟩=0\langle x,x\rangle = 0 is allowed for some x≠0x \ne 0?

The proof of U∩U⊥={0}U \cap U^\perp = \{0\} uses positive-definiteness essentially: from ⟨x,x⟩=0\langle x,x\rangle = 0 we concluded x=0x = 0. If the form is only semi-definite, there could be a nonzero "null vector" xx with ⟨x,x⟩=0\langle x,x\rangle = 0 that lies in both UU and U⊥U^\perp, breaking the direct sum entirely. This is why the definition of inner product space insists on positive-definiteness, and why orthogonal complement theory does not directly generalize to indefinite forms like the Minkowski metric in special relativity without substantial modification.

Before this

Where this leads