The Double Dual and Natural Isomorphism

Suppose someone hands you a finite-dimensional vector space VV. They claim VV is isomorphic to its dual space V∗V^*. They also claim V∗V^* is isomorphic to its dual space V∗∗V^{**}. Both claims are true, but they are not the same kind of true. The first isomorphism V→V∗V \to V^* requires you to choose a basis of VV (or an inner product). Change the basis and the map changes with it. The second isomorphism, V→V∗∗V \to V^{**}, requires no choice at all. It is built from the bare structure of VV as a vector space. It uses nothing but the definition of "linear functional." This distinction between a choice-dependent isomorphism and a canonical one is one of the most important conceptual refinements in linear algebra. The double dual is the cleanest place to see it. The idea matters because it separates two different senses in which two spaces can be "the same." Every finite-dimensional space of dimension nn is isomorphic to Fn\mathbb{F}^n. It is also isomorphic to its dual, and to its double dual. Dimension-counting alone guarantees this. But an isomorphism that depends on an arbitrary choice of basis carries no intrinsic meaning. Relabel the basis vectors and the isomorphism relabels with them. A natural isomorphism, by contrast, is defined by a single formula. That formula works simultaneously for every vector space in sight. It also commutes with every linear map between such spaces. The double dual embedding is the paradigm example of this phenomenon. It is the historical origin of the term "natural transformation" in category theory. The big picture is this: to each vector v∈Vv \in V we can associate a linear functional on V∗V^*. That functional is simply "evaluate at vv." This gives a linear map Λ:V→V∗∗\Lambda: V \to V^{**}. It is defined with no reference to any basis whatsoever. When VV is finite-dimensional, Λ\Lambda turns out to be an isomorphism. So VV and V∗∗V^{**} are not merely abstractly isomorphic. They are identified by a specific, canonical, basis-free map. This lets working mathematicians treat VV and V∗∗V^{**} as literally the same space. This convention is used constantly in functional analysis, differential geometry, and representation theory. This article gives the precise definition of the canonical embedding. It proves in full detail that it is linear, injective, and (in finite dimensions) surjective. It contrasts this sharply with the non-canonical isomorphism V≅V∗V \cong V^*. It also shows exactly what fails when VV is infinite-dimensional. Along the way we build the intuition needed to recognize naturality. This intuition helps whenever it appears elsewhere in linear algebra.

Key takeaways
  • The map Λ:V→V∗∗\Lambda: V \to V^{**}, Λ(v)(φ)=φ(v)\Lambda(v)(\varphi) = \varphi(v), is defined with no choice of basis.
  • Λ\Lambda is always linear and injective, for every vector space VV over any field.
  • If dim⁡V=n<∞\dim V = n < \infty, then dim⁡V∗∗=n\dim V^{**} = n too, so injectivity plus dimension-counting forces Λ\Lambda to be an isomorphism.
  • The isomorphism V≅V∗V \cong V^* (via a chosen basis and its dual basis) is not natural: it depends on the basis and does not commute with all linear maps.
  • In infinite dimensions Λ\Lambda is injective but never surjective, so VV and V∗∗V^{**} are genuinely different spaces.
  • Key idea: naturality means "defined by one formula, for all spaces at once, with no arbitrary choices" — and the double dual embedding is the model case of this idea.

Where this lives today

The canonical double-dual embedding is far more than a curiosity of pure linear algebra; it is a structural template reused throughout mathematics. In functional analysis, a normed space VV is called reflexive when the analogous evaluation map V→V∗∗V \to V^{**} (built using continuous, rather than all, linear functionals) is a bijection; Hilbert spaces and LpL^p spaces for 1<p<∞1<p<\infty are reflexive, while L1L^1 and C[0,1]C[0,1] are not, and the failure of reflexivity governs deep results about weak compactness and the existence of minimizers in optimization problems. In differential geometry, the double dual identification underlies the standard convention that a tangent vector at a point can be regarded as a linear functional on covectors — indeed as a "directional derivative" operator — with no arbitrary choice of coordinates, which is essential to defining tensors invariantly. In category theory and theoretical computer science, the double-dual map is the motivating example used to teach the definition of a natural transformation, a concept now central to the semantics of functional programming languages (via the Curry–Howard correspondence and parametric polymorphism, where "naturality" corresponds to functions that behave uniformly across all types). In representation theory, natural maps like Λ\Lambda are used to identify a representation with its double dual representation coherently across an entire category of modules, which matters when constructing invariant pairings and traces. Even in numerical linear algebra, the conceptual habit of tracking which isomorphisms are basis-dependent (like coordinate maps to Fn\mathbb{F}^n) versus basis-independent (like Λ\Lambda) helps explain why certain algorithms are coordinate-free while others are not, guiding when a change of basis silently changes an answer.

Ask the tutor: Can you show me why no natural (basis-free) isomorphism V→V∗V \to V^* can exist, using the naturality square the way it was used for Λ\Lambda?

DefinitionCanonical map into the double dual

Let VV be a vector space over a field F\mathbb{F}. Its dual space is

V∗={φ:V→F∣φ is linear},V^* = \{\varphi : V \to \mathbb{F} \mid \varphi \text{ is linear}\},

and its double dual is V∗∗=(V∗)∗V^{**} = (V^*)^*, the space of linear functionals on V∗V^*. For each v∈Vv \in V, define Λ(v):V∗→F\Lambda(v) : V^* \to \mathbb{F} by

Λ(v)(φ)=φ(v)for all φ∈V∗.\Lambda(v)(\varphi) = \varphi(v) \qquad \text{for all } \varphi \in V^*.

The canonical map (or canonical embedding, or evaluation map) is

Λ:V→V∗∗,v↦Λ(v).\Lambda : V \to V^{**}, \qquad v \mapsto \Lambda(v).

No basis of VV, no basis of V∗V^*, and no additional structure (inner product, ordering, etc.) is used anywhere in this definition — it depends only on the vector space axioms and the definition of a linear functional.

Intuition

Think of a vector v∈Vv \in V not as a static arrow but as a machine for testing linear functionals: feed it any φ∈V∗\varphi \in V^*, and it outputs the number φ(v)\varphi(v). This "testing" operation is itself linear in φ\varphi — scale φ\varphi and the output scales, add two functionals and the outputs add — so the assignment φ↦φ(v)\varphi \mapsto \varphi(v) is a genuine element of V∗∗V^{**}. The map Λ\Lambda just packages "vv as a tester" into a single object. The reason this differs fundamentally from the isomorphism V≅V∗V \cong V^* is that constructing V∗V^*'s elements from VV's elements ordinarily requires a basis: given a basis (e1,…,en)(e_1, \dots, e_n) of VV, one builds the dual basis (e1∗,…,en∗)(e_1^*, \dots, e_n^*) and declares ei↦ei∗e_i \mapsto e_i^*. Change the basis of VV to (2e1,e2,… )(2e_1, e_2, \dots), and the corresponding "isomorphism" sends e1e_1 to a completely different functional. There is no way to single out one particular isomorphism V→V∗V \to V^* using only the vector space structure of VV — any such choice secretly encodes a basis (or, in the presence of extra structure, an inner product). By contrast, Λ(v)(φ)=φ(v)\Lambda(v)(\varphi) = \varphi(v) requires zero choices. It is the same formula whether you use the standard basis, a rotated basis, or no basis at all. This is what "natural" means: a single rule, uniform across all vector spaces and all linear maps between them, that produces the isomorphism automatically.

Figure
Two isomorphisms V → V* and V → V**: one needs a chosen basis, the other needs none
Two "isomorphisms": basis-dependent vs. canonical V ≅ V* (needs a basis) V V* e_i ↦ e_i* choose basis (e_1,...,e_n) different basis → different map V ≅ V** (canonical) V V** v ↦ Λ(v) Λ(v)(φ) = φ(v) same formula, no basis chosen
TheoremCanonical embedding into the double dual

Let VV be a vector space over a field F\mathbb{F}, and let Λ:V→V∗∗\Lambda: V \to V^{**} be the canonical map defined by Λ(v)(φ)=φ(v)\Lambda(v)(\varphi) = \varphi(v). 1. Λ\Lambda is a well-defined linear map. 2. Λ\Lambda is injective, for every vector space VV (no finite-dimensionality needed). 3. If dim⁡V=n<∞\dim V = n < \infty, then Λ\Lambda is an isomorphism, i.e. it is also surjective. 4. (Naturality) For every linear map T:V→WT: V \to W between vector spaces, letting T∗∗=(T∗)∗:V∗∗→W∗∗T^{**} = (T^*)^*: V^{**} \to W^{**} denote the double transpose of TT, we have

ΛW∘T=T∗∗∘ΛV,\Lambda_W \circ T = T^{**} \circ \Lambda_V,

where ΛV,ΛW\Lambda_V, \Lambda_W are the canonical maps of VV and WW respectively.

Proof

We prove each part in turn. Throughout, recall from The Dual Space and Dual Bases that V∗V^* is the vector space of linear functionals φ:V→F\varphi: V \to \mathbb{F}, with addition and scalar multiplication defined pointwise: (φ+ψ)(v)=φ(v)+ψ(v)(\varphi + \psi)(v) = \varphi(v) + \psi(v) and (cφ)(v)=c φ(v)(c\varphi)(v) = c\,\varphi(v).

(1) Λ\Lambda is well-defined and linear. First we check that for each fixed v∈Vv \in V, the map Λ(v):V∗→F\Lambda(v): V^* \to \mathbb{F} is itself linear, so that Λ(v)∈V∗∗\Lambda(v) \in V^{**} as claimed. For φ,ψ∈V∗\varphi, \psi \in V^* and c∈Fc \in \mathbb{F}:

Λ(v)(φ+ψ)=(φ+ψ)(v)=φ(v)+ψ(v)=Λ(v)(φ)+Λ(v)(ψ),\Lambda(v)(\varphi + \psi) = (\varphi+\psi)(v) = \varphi(v) + \psi(v) = \Lambda(v)(\varphi) + \Lambda(v)(\psi),
Λ(v)(cφ)=(cφ)(v)=c φ(v)=c Λ(v)(φ).\Lambda(v)(c\varphi) = (c\varphi)(v) = c\,\varphi(v) = c\,\Lambda(v)(\varphi).

Both equalities are immediate from the definition of pointwise addition and scaling on V∗V^*. Hence Λ(v)\Lambda(v) is linear, so Λ(v)∈V∗∗\Lambda(v) \in V^{**}, and Λ\Lambda is well-defined as a function V→V∗∗V \to V^{**}. Next we check Λ\Lambda itself is linear. For u,v∈Vu, v \in V, c∈Fc \in \mathbb{F}, and any φ∈V∗\varphi \in V^*:

Λ(u+v)(φ)=φ(u+v)=φ(u)+φ(v)=Λ(u)(φ)+Λ(v)(φ)=(Λ(u)+Λ(v))(φ),\Lambda(u+v)(\varphi) = \varphi(u+v) = \varphi(u) + \varphi(v) = \Lambda(u)(\varphi) + \Lambda(v)(\varphi) = \big(\Lambda(u)+\Lambda(v)\big)(\varphi),

using linearity of φ\varphi for the second equality and the definition of addition in V∗∗V^{**} for the last. Since this holds for every φ∈V∗\varphi \in V^*, the functionals Λ(u+v)\Lambda(u+v) and Λ(u)+Λ(v)\Lambda(u)+\Lambda(v) agree on all of V∗V^*, hence are equal as elements of V∗∗V^{**}: Λ(u+v)=Λ(u)+Λ(v)\Lambda(u+v) = \Lambda(u) + \Lambda(v). Similarly,

Λ(cv)(φ)=φ(cv)=c φ(v)=c Λ(v)(φ)=(cΛ(v))(φ)\Lambda(cv)(\varphi) = \varphi(cv) = c\,\varphi(v) = c\,\Lambda(v)(\varphi) = (c\Lambda(v))(\varphi)

for all φ\varphi, so Λ(cv)=c Λ(v)\Lambda(cv) = c\,\Lambda(v). Thus Λ\Lambda is linear.

(2) Λ\Lambda is injective for every VV. We use the standard technique: show the kernel is trivial. Suppose v∈Vv \in V satisfies Λ(v)=0\Lambda(v) = 0, i.e. φ(v)=0\varphi(v) = 0 for every φ∈V∗\varphi \in V^*. We must show v=0v = 0. Suppose toward a contradiction that v≠0v \neq 0. Then {v}\{v\} is a linearly independent subset of VV (a single nonzero vector is always linearly independent, since cv=0cv = 0 with v≠0v \ne 0 forces c=0c = 0). By the basis extension theorem (a consequence of the fact that every linearly independent set extends to a basis, valid for arbitrary — possibly infinite-dimensional — vector spaces via Zorn's Lemma when needed), we may extend {v}\{v\} to a basis B\mathcal{B} of VV containing vv. Define φ:V→F\varphi: V \to \mathbb{F} on the basis B\mathcal{B} by setting φ(v)=1\varphi(v) = 1 and φ(b)=0\varphi(b) = 0 for every other basis vector b∈B∖{v}b \in \mathcal{B} \setminus \{v\}, then extend linearly to all of VV. This is a valid definition of a linear functional because a linear map out of VV is uniquely and freely determined by its values on a basis. By construction φ∈V∗\varphi \in V^* and φ(v)=1≠0\varphi(v) = 1 \neq 0, contradicting Λ(v)=0\Lambda(v) = 0, which required φ(v)=0\varphi(v) = 0 for all φ∈V∗\varphi \in V^*. This contradiction shows v=0v = 0. Hence ker⁡Λ={0}\ker \Lambda = \{0\}, so Λ\Lambda is injective (using the standard fact that a linear map is injective if and only if its kernel is trivial).

(3) If dim⁡V=n<∞\dim V = n < \infty, then Λ\Lambda is surjective, hence an isomorphism. From The Dual Space and Dual Bases we use the fact that for a finite-dimensional space VV with dim⁡V=n\dim V = n, the dual space satisfies dim⁡V∗=n\dim V^* = n as well (constructed via the dual basis of any basis of VV). Applying this fact twice: dim⁡V∗=n\dim V^* = n, and then applying it again to the space V∗V^* in place of VV gives dim⁡V∗∗=dim⁡(V∗)∗=dim⁡V∗=n\dim V^{**} = \dim(V^*)^* = \dim V^* = n. So dim⁡V=dim⁡V∗∗=n\dim V = \dim V^{**} = n. By part (2), Λ:V→V∗∗\Lambda: V \to V^{**} is injective. We invoke the standard linear algebra fact (from Isomorphisms and Isomorphic Vector Spaces) that an injective linear map between finite-dimensional spaces of equal dimension is automatically surjective, hence an isomorphism. (Proof of that fact: the rank–nullity theorem gives dim⁡V=rank⁡(Λ)+dim⁡ker⁡(Λ)\dim V = \operatorname{rank}(\Lambda) + \dim\ker(\Lambda); injectivity gives dim⁡ker⁡Λ=0\dim \ker \Lambda = 0, so rank⁡(Λ)=dim⁡V=dim⁡V∗∗\operatorname{rank}(\Lambda) = \dim V = \dim V^{**}, meaning the image of Λ\Lambda is a subspace of V∗∗V^{**} with full dimension, hence equals V∗∗V^{**}.) Therefore Λ\Lambda is bijective and linear, i.e. an isomorphism.

(4) Naturality square commutes. Let T:V→WT: V \to W be linear. Recall the transpose (or dual map) T∗:W∗→V∗T^*: W^* \to V^* is defined by T∗(ψ)=ψ∘TT^*(\psi) = \psi \circ T for ψ∈W∗\psi \in W^*; this is linear because composition with the fixed linear map TT is linear in ψ\psi. Applying the same construction to T∗T^* itself gives the double transpose

T∗∗=(T∗)∗:V∗∗→W∗∗,T∗∗(ξ)=ξ∘T∗for ξ∈V∗∗.T^{**} = (T^*)^* : V^{**} \to W^{**}, \qquad T^{**}(\xi) = \xi \circ T^* \quad \text{for } \xi \in V^{**}.

We must show ΛW(T(v))=T∗∗(ΛV(v))\Lambda_W(T(v)) = T^{**}(\Lambda_V(v)) for every v∈Vv \in V, i.e. that these two elements of W∗∗W^{**} agree as functionals on W∗W^*. Fix v∈Vv \in V and ψ∈W∗\psi \in W^*; we evaluate both sides at ψ\psi. Left side:

ΛW(T(v))(ψ)=ψ(T(v)),\Lambda_W(T(v))(\psi) = \psi(T(v)),

directly from the definition of ΛW\Lambda_W applied to the vector T(v)∈WT(v) \in W. Right side:

T∗∗(ΛV(v))(ψ)=(ΛV(v)∘T∗)(ψ)=ΛV(v)(T∗(ψ))=ΛV(v)(ψ∘T)=(ψ∘T)(v)=ψ(T(v)),T^{**}(\Lambda_V(v))(\psi) = \big(\Lambda_V(v) \circ T^*\big)(\psi) = \Lambda_V(v)\big(T^*(\psi)\big) = \Lambda_V(v)(\psi \circ T) = (\psi \circ T)(v) = \psi(T(v)),

where the first equality unwinds the definition of T∗∗T^{**} applied to ΛV(v)∈V∗∗\Lambda_V(v) \in V^{**}, the second is function composition, the third is the definition of T∗(ψ)=ψ∘TT^*(\psi) = \psi \circ T, and the fourth is the definition of ΛV\Lambda_V applied to vv. Both sides equal ψ(T(v))\psi(T(v)) for every ψ∈W∗\psi \in W^*, so the two functionals ΛW(T(v))\Lambda_W(T(v)) and T∗∗(ΛV(v))T^{**}(\Lambda_V(v)) agree on all of W∗W^* and are therefore equal as elements of W∗∗W^{**}. Since v∈Vv \in V was arbitrary, ΛW∘T=T∗∗∘ΛV\Lambda_W \circ T = T^{**} \circ \Lambda_V as maps V→W∗∗V \to W^{**}. ■\blacksquare

∎

Worked examples

Example 1: Explicit computation of Λ\Lambda in R3\mathbb{R}^3, with an asymmetric basis of V∗V^*. Let V=R3V = \mathbb{R}^3 with standard basis e1,e2,e3e_1, e_2, e_3. Consider the (deliberately non-standard, asymmetric) basis of V∗V^* given by

φ1(x,y,z)=x+y,φ2(x,y,z)=y−z,φ3(x,y,z)=2z.\varphi_1(x,y,z) = x + y, \qquad \varphi_2(x,y,z) = y - z, \qquad \varphi_3(x,y,z) = 2z.

One checks these are linearly independent (their coefficient matrix (11001−1002)\begin{pmatrix}1&1&0\\0&1&-1\\0&0&2\end{pmatrix} has determinant 2≠02 \neq 0), so (φ1,φ2,φ3)(\varphi_1, \varphi_2, \varphi_3) is a basis of V∗≅R3V^* \cong \mathbb{R}^3. Let φ1∗∗,φ2∗∗,φ3∗∗\varphi_1^{**}, \varphi_2^{**}, \varphi_3^{**} denote the dual basis of V∗∗V^{**} associated to (φ1,φ2,φ3)(\varphi_1,\varphi_2,\varphi_3), i.e. φi∗∗(φj)=δij\varphi_i^{**}(\varphi_j) = \delta_{ij}. Take the vector v=(3,−1,2)∈Vv = (3, -1, 2) \in V. We compute Λ(v)\Lambda(v) two ways. Direct evaluation. By definition Λ(v)(φ)=φ(v)\Lambda(v)(\varphi) = \varphi(v) for any φ∈V∗\varphi \in V^*. In particular:

Λ(v)(φ1)=3+(−1)=2,Λ(v)(φ2)=−1−2=−3,Λ(v)(φ3)=2(2)=4.\Lambda(v)(\varphi_1) = 3 + (-1) = 2, \qquad \Lambda(v)(\varphi_2) = -1 - 2 = -3, \qquad \Lambda(v)(\varphi_3) = 2(2) = 4.

Expressing Λ(v)\Lambda(v) in the dual basis of V∗∗V^{**}. Since Λ(v)∈V∗∗\Lambda(v) \in V^{**} and (φ1∗∗,φ2∗∗,φ3∗∗)(\varphi_1^{**}, \varphi_2^{**}, \varphi_3^{**}) is a basis of V∗∗V^{**}, we can write Λ(v)=a1φ1∗∗+a2φ2∗∗+a3φ3∗∗\Lambda(v) = a_1 \varphi_1^{**} + a_2 \varphi_2^{**} + a_3 \varphi_3^{**} for unique scalars aia_i. Evaluating both sides at φj\varphi_j and using φi∗∗(φj)=δij\varphi_i^{**}(\varphi_j) = \delta_{ij} gives aj=Λ(v)(φj)a_j = \Lambda(v)(\varphi_j). So

Λ(v)=2 φ1∗∗−3 φ2∗∗+4 φ3∗∗.\Lambda(v) = 2\,\varphi_1^{**} - 3\,\varphi_2^{**} + 4\,\varphi_3^{**}.

This confirms concretely that Λ(v)\Lambda(v) is a genuine, computable element of V∗∗V^{**} — not an abstract placeholder — and that its coordinates in the dual-of-dual basis are just the values φi(v)\varphi_i(v), exactly as the definition promises. Note also that the coordinate vector (2,−3,4)(2,-3,4) of Λ(v)\Lambda(v) in the basis (φi∗∗)(\varphi_i^{**}) is different from the coordinate vector (3,−1,2)(3,-1,2) of vv in the basis (ei)(e_i) — the numbers change because the bases differ, but this has no bearing on the fact that Λ\Lambda itself was defined without reference to any basis at all. The formula Λ(v)(φ)=φ(v)\Lambda(v)(\varphi) = \varphi(v) never mentioned (φi)(\varphi_i) or (ei)(e_i); we only introduced them to display coordinates.

Example 2: Why V≅V∗V \cong V^* is not natural — a basis-change computation that breaks any fixed formula. Let V=R2V = \mathbb{R}^2. Fix the standard basis E=(e1,e2)\mathcal{E} = (e_1, e_2) with dual basis E∗=(e1∗,e2∗)\mathcal{E}^* = (e_1^*, e_2^*), and define the isomorphism S:V→V∗S: V \to V^* by S(e1)=e1∗S(e_1) = e_1^*, S(e2)=e2∗S(e_2) = e_2^* (extended linearly), i.e. S(ae1+be2)=ae1∗+be2∗S(ae_1+be_2) = a e_1^* + b e_2^*. Now change basis: let F=(f1,f2)\mathcal{F} = (f_1, f_2) with f1=e1+e2f_1 = e_1 + e_2, f2=e2f_2 = e_2 (an asymmetric, non-orthogonal choice). This is indeed a basis since the change-of-basis matrix (1011)\begin{pmatrix}1&0\\1&1\end{pmatrix} is invertible. Compute the dual basis F∗=(f1∗,f2∗)\mathcal{F}^* = (f_1^*, f_2^*) directly from f1∗(fi)=δ1if_1^*(f_i) = \delta_{1i}, f2∗(fi)=δ2if_2^*(f_i) = \delta_{2i}. Writing f1∗=αe1∗+βe2∗f_1^* = \alpha e_1^* + \beta e_2^*: we need f1∗(f1)=α+β=1f_1^*(f_1) = \alpha + \beta = 1 and f1∗(f2)=β=0f_1^*(f_2) = \beta = 0, giving f1∗=e1∗f_1^* = e_1^*. Writing f2∗=γe1∗+δe2∗f_2^* = \gamma e_1^* + \delta e_2^*: we need f2∗(f1)=γ+δ=0f_2^*(f_1) = \gamma + \delta = 0 and f2∗(f2)=δ=1f_2^*(f_2) = \delta = 1, giving γ=−1\gamma = -1, so f2∗=−e1∗+e2∗f_2^* = -e_1^* + e_2^*. Define the "basis isomorphism" S′:V→V∗S': V \to V^* using F\mathcal{F} instead: S′(f1)=f1∗S'(f_1) = f_1^*, S′(f2)=f2∗S'(f_2) = f_2^*. Let's evaluate both SS and S′S' on the same vector v=f1=e1+e2v = f_1 = e_1 + e_2:

S(v)=S(e1+e2)=e1∗+e2∗,S′(v)=S′(f1)=f1∗=e1∗.S(v) = S(e_1 + e_2) = e_1^* + e_2^*, \qquad S'(v) = S'(f_1) = f_1^* = e_1^*.

These are different functionals: S(v)(e1)=1S(v)(e_1) = 1 but S′(v)(e1)=1S'(v)(e_1) = 1; check instead at e2e_2: S(v)(e2)=1S(v)(e_2) = 1 while S′(v)(e2)=f1∗(e2)S'(v)(e_2) = f_1^*(e_2). Since e2=f2e_2 = f_2, f1∗(e2)=f1∗(f2)=0f_1^*(e_2) = f_1^*(f_2) = 0. So S(v)(e2)=1≠0=S′(v)(e2)S(v)(e_2) = 1 \neq 0 = S'(v)(e_2). Thus S(v)≠S′(v)S(v) \neq S'(v) for the same vector vv: the "isomorphism to the dual" genuinely depends on which basis is used to construct it, confirming there is no way to write a single basis-free formula for an isomorphism V→V∗V \to V^* analogous to Λ(v)(φ)=φ(v)\Lambda(v)(\varphi) = \varphi(v). Contrast this with Λ:V→V∗∗\Lambda: V \to V^{**}, where the formula Λ(v)(φ)=φ(v)\Lambda(v)(\varphi) = \varphi(v) gave the same answer regardless of which auxiliary basis we used to display coordinates in Example 1 — that is precisely the content of naturality.

CounterexampleDropping finite-dimensionality: Λ\Lambda need not be surjective

The theorem's part (3) requires dim⁡V<∞\dim V < \infty. We exhibit an infinite-dimensional VV for which Λ:V→V∗∗\Lambda: V \to V^{**} is injective (as always, by part (2)) but not surjective, so V≇V∗∗V \not\cong V^{**} via Λ\Lambda — and in fact V≇V∗∗V \not\cong V^{**} at all, since one can show dim⁡V∗∗>dim⁡V\dim V^{**} > \dim V in a suitable cardinal sense. Let V=F(N)V = \mathbb{F}^{(\mathbb{N})}, the space of all sequences (a1,a2,a3,… )(a_1, a_2, a_3, \dots) of scalars with only finitely many nonzero terms (i.e. the space of finitely-supported sequences), with pointwise addition and scaling. This is an infinite-dimensional vector space with basis {e1,e2,e3,… }\{e_1, e_2, e_3, \dots\}, where eie_i has a 11 in position ii and zeros elsewhere; every element of VV is a finite linear combination of the eie_i.

Claim: V∗V^* is naturally identified with the space FN\mathbb{F}^{\mathbb{N}} of all sequences (no finiteness restriction). Given any φ∈V∗\varphi \in V^*, define the sequence (φ(e1),φ(e2),… )∈FN(\varphi(e_1), \varphi(e_2), \dots) \in \mathbb{F}^{\mathbb{N}}; conversely given any sequence (c1,c2,… )∈FN(c_1, c_2, \dots) \in \mathbb{F}^{\mathbb{N}} (with no restriction — infinitely many cic_i may be nonzero), define φ(e1,e2,…finite combo)=∑iciai\varphi(e_1, e_2, \ldots \text{finite combo}) = \sum_i c_i a_i where aia_i are the (finitely many nonzero) coordinates of the input vector; this sum is always finite because the input has finite support, so φ\varphi is well-defined and linear on all of VV. This correspondence is a bijection between V∗V^* and FN\mathbb{F}^{\mathbb{N}}, and one checks it is linear, giving V∗≅FNV^* \cong \mathbb{F}^{\mathbb{N}}. Now consider the element ξ∈V∗∗=(V∗)∗\xi \in V^{**} = (V^*)^* defined as follows. Using the identification V∗≅FNV^* \cong \mathbb{F}^\mathbb{N} above, every φ∈V∗\varphi \in V^* corresponds to a sequence (c1,c2,… )(c_1, c_2, \dots); define

ξ(φ)=∑i=1∞ciwhenever the sequence (ci) is eventually 0,\xi(\varphi) = \sum_{i=1}^{\infty} c_i \quad \text{whenever the sequence } (c_i) \text{ is eventually } 0,

Actually, to keep ξ\xi defined on all of V∗V^* (not just finitely-supported functionals) and manifestly linear, we instead argue abstractly, which is cleaner and fully rigorous:

Abstract argument that Λ\Lambda is not surjective. Suppose, for contradiction, that Λ:V→V∗∗\Lambda: V \to V^{**} were surjective. Since Λ\Lambda is always injective (part 2 of the theorem, which used no finite-dimensionality), surjectivity would make Λ\Lambda a bijection, hence V≅V∗∗V \cong V^{**} as vector spaces, forcing them to have bases of the same cardinality. But VV has a countably infinite basis {e1,e2,… }\{e_1, e_2, \dots\}, so VV has countable dimension. Meanwhile V∗≅FNV^* \cong \mathbb{F}^{\mathbb{N}} (all sequences, shown above), and a standard cardinality argument (a Cantor diagonal-type argument, the same one showing the set of all subsets of N\mathbb{N} is uncountable) shows FN\mathbb{F}^{\mathbb{N}} has uncountable dimension as an F\mathbb{F}-vector space whenever F\mathbb{F} is a nontrivial field. (Sketch: if FN\mathbb{F}^{\mathbb{N}} had a countable spanning set, one could encode all 2ℵ02^{\aleph_0} subsets of N\mathbb{N} via their indicator sequences as elements of the span of countably many vectors over a fixed field, which — via a linear-algebraic dimension count over the countable field extension generated by the coefficients — leads to a cardinality contradiction; the essential fact, proved rigorously in general vector space theory, is that an infinite-dimensional vector space VV satisfies dim⁡(V∗)>dim⁡(V)\dim(V^*) > \dim(V), a theorem due to Erdős–Kaplansky.) Applying the same fact once more to V∗V^* in place of VV: since V∗V^* is infinite-dimensional (uncountable dimension), dim⁡(V∗∗)>dim⁡(V∗)>dim⁡(V)\dim(V^{**}) > \dim(V^*) > \dim(V). In particular dim⁡V∗∗≠dim⁡V\dim V^{**} \ne \dim V (as cardinals), so V≇V∗∗V \not\cong V^{**}, contradicting what surjectivity of Λ\Lambda would have given us. Hence Λ\Lambda cannot be surjective. This shows precisely what breaks without finite-dimensionality: Λ\Lambda remains an injective, natural linear map — the proof of part (2) used no dimension hypothesis — but it can never be surjective when VV is infinite-dimensional, because V∗∗V^{**} is always "too big." The map Λ\Lambda embeds VV into V∗∗V^{**} as a proper subspace; this is exactly the starting point for the theory of reflexive spaces in functional analysis, where one asks (with topological constraints added) whether a suitably restricted double-dual map is a bijection.

Scope, edge cases & common traps

SituationWhat happensWhy
dim⁡V=n<∞\dim V = n < \inftyΛ:V→V∗∗\Lambda: V \to V^{**} is a natural isomorphisminjective (any VV) + equal finite dimensions ⇒\Rightarrow bijective
dim⁡V=∞\dim V = \inftyΛ\Lambda is injective but never surjectivedim⁡V∗∗>dim⁡V\dim V^{**} > \dim V (Erdős–Kaplansky)
V≅V∗V \cong V^*, finite-dimTrue, but only after choosing a basisdifferent bases give genuinely different isomorphisms (Example 2)
F=\mathbb{F} = any fieldTheorem holds verbatimproof uses only vector space axioms, no analysis/field-specific facts
Confusing Λ\Lambda with "the" iso V≅V∗V\cong V^*Common errorΛ\Lambda maps V→V∗∗V\to V^{**}, a different space, and needs no choice; V→V∗V \to V^* is a different, choice-dependent map

The mathematician behind it

Origins · 1 minHassler Whitney and Samuel Eilenberg (context) with Saunders Mac Lane and how this was discovered
HW
Hassler Whitney and Samuel Eilenberg (context) with Saunders Mac Lane
1909–1989 (Whitney), 1913–1998 (Eilenberg), 1909–2005 (Mac Lane) · category theory and naturality

The precise notion of a "natural transformation," of which the canonical embedding V→V∗∗V \to V^{**} is the founding example, was crystallized by Samuel Eilenberg and Saunders Mac Lane in their 1945 paper General Theory of Natural Equivalences. They observed that mathematicians had long been distinguishing, informally, between isomorphisms that "just happen to exist by dimension count" and isomorphisms given by a uniform, choice-free formula — and that the double-dual embedding was the cleanest instance forcing this distinction into the open. Their paper is often credited as the origin of category theory itself, and the double dual map remains the textbook first example used to explain what a natural transformation is.

History
- 1888: Giuseppe Peano introduces an axiomatic treatment of vector spaces, laying groundwork for dual spaces.
- 1930s: Duality of vector spaces and the double dual are studied systematically in the developing theory of Banach spaces (Banach, Hahn).
- 1945: Eilenberg and Mac Lane publish General Theory of Natural Equivalences, formalizing "naturality" using V→V∗∗V \to V^{**} as the guiding example.
- 1950s: The distinction between finite- and infinite-dimensional double-dual behavior matures into the notion of a reflexive Banach space.
- 1962: Erdős and Kaplansky prove the general cardinality inequality dim⁡(V∗)>dim⁡(V)\dim(V^*) > \dim(V) for infinite-dimensional VV, explaining precisely why Λ\Lambda fails to be surjective outside finite dimensions.
Why isn't the isomorphism V≅V∗V \cong V^* also called "natural"?

Because no formula for it avoids choosing extra data. Any linear isomorphism S:V→V∗S: V \to V^* can be described by sending a basis (ei)(e_i) of VV to the corresponding dual basis (ei∗)(e_i^*), but changing the basis changes SS, as Example 2 shows explicitly with two different bases producing different images for the same vector. There is a theorem (not proved here) that no formula built solely from the vector space axioms of VV can produce a canonical isomorphism V→V∗V \to V^* that works uniformly for all spaces and commutes with all linear maps — essentially because VV and V∗V^* transform "oppositely" under linear maps (covariant vs. contravariant), so no natural transformation between the identity functor and the dual functor exists in general.

Does Λ\Lambda depend on the field F\mathbb{F}, e.g. does it work over C\mathbb{C} or finite fields?

Yes, Λ\Lambda works over any field F\mathbb{F}, with no changes to the definition or proof. The proof of linearity uses only the vector space axioms and the pointwise operations on V∗V^*; the proof of injectivity uses basis extension, valid over any field; and the proof of surjectivity in finite dimensions uses only dim⁡V∗=dim⁡V\dim V^* = \dim V and rank–nullity, both field-independent facts. The theorem is stated and proved for a general field F\mathbb{F} throughout this article, and no step invokes properties special to R\mathbb{R} or C\mathbb{C} (such as completeness or complex conjugation).

Is Λ\Lambda related to the identification of VV with its double dual in the theory of tensors?

Yes — in fact, the identification V≅V∗∗V \cong V^{**} via Λ\Lambda is exactly what licenses the common convention that a vector v∈Vv \in V can be regarded as a (1,0)(1,0)-tensor acting on covectors. When defining tensor products and multilinear maps, one frequently needs to treat elements of VV as functionals on V∗V^* rather than the reverse; the canonical embedding is precisely the justification for doing so without any loss of information (since Λ\Lambda is injective) and without ambiguity (since Λ\Lambda is basis-independent). In finite dimensions this identification is complete, since Λ\Lambda is also surjective.

If Λ\Lambda is an isomorphism in finite dimensions, does that mean VV and V∗∗V^{**} are literally equal, not just isomorphic?

Strictly speaking they remain formally distinct sets — V∗∗V^{**} consists of functionals on V∗V^*, while VV consists of whatever objects VV's elements are — but because Λ\Lambda is a specific, canonical, natural isomorphism (rather than one of the many arbitrary isomorphisms guaranteed by equal dimension), mathematicians routinely treat VV and V∗∗V^{**} as "the same" and drop the distinction, writing vv where formally one means Λ(v)\Lambda(v). This convention is safe precisely because Λ\Lambda is natural: it does not matter which auxiliary constructions (bases, other maps) are used elsewhere in an argument, since Λ\Lambda commutes with all of them by the naturality identity in part (4) of the theorem.

Why does the proof of injectivity need to extend {v}\{v\} to a basis — couldn't we just use rank-nullity on Λ\Lambda?

Rank–nullity requires finite dimensionality (or at least a well-defined notion of dimension arithmetic) to conclude anything about the kernel from a dimension count, but part (2) of the theorem is proved for arbitrary, possibly infinite-dimensional VV. The basis-extension argument, by contrast, works in every vector space (using Zorn's Lemma to guarantee bases exist and can be extended in the infinite-dimensional case), and directly exhibits a functional distinguishing vv from 00. This makes injectivity of Λ\Lambda a completely general fact, independent of dimension, which is essential for correctly stating the counterexample about infinite-dimensional spaces.

Does naturality mean Λ\Lambda commutes with every possible function V→WV \to W, or only linear ones?

Only linear maps. The naturality square ΛW∘T=T∗∗∘ΛV\Lambda_W \circ T = T^{**} \circ \Lambda_V in part (4) of the theorem is proved specifically for linear T:V→WT: V \to W, because the double transpose T∗∗T^{**} is only defined when TT (hence T∗T^*) is linear. For a general (non-linear) function f:V→Wf: V \to W, there is no analogue of f∗f^* or f∗∗f^{**} as linear maps between dual spaces, so the naturality statement simply does not apply; naturality is a statement about how Λ\Lambda interacts with the entire category of vector spaces and linear maps, not with arbitrary set functions.

Before this