Functors Between Real and Complex Vector Spaces


In Chapter 12, R.G. describes three possible transformations “from real to complex vector spaces and back”. Inspired by Chapter 17 (Functors), I have examined these transformations from the functor point of view.

We can distinguish not two, but three categories here, the first and third of which are equivalent:

  1. CVec: Complex vector spaces with their usual morphisms and composition law.
  2. RVec: Real vector spaces with their usual morphisms and composition law.
  3. RVecPlus: The category of pairs (W, \iota), where W is a real vector space and \iota a vector space morphism W \to W such that \iota \circ \iota = -\Id_W (with \Id_W the identity morphism on W). A morphism \phi: (W, \iota_W) \to (W', \iota_{W'}) in this category is any linear mapping from W to W' subject to the condition: \phi \circ \iota_W = \iota_{W'} \circ \phi. These morphisms are composed as mappings. It is simple to check that this does make up a category.

Equivalence of CVec and RVecPlus

The equivalence of these two categories stems from the procedures described in Chapter 12, procedures that we will describe as isofunctors.

Functor \mathcal F_{\C\R+} from CVec to RVecPlus

Action on objects:

If V is a complex vector space, (W, \iota) = \mathcal F_{\C\R+}(V) is such that:

  • W is the real vector space obtained from V by “forgetting” multiplication by imaginaries, that is the one based on the same set as V with the same addition, the multiplication by a scalar being simply restricted to real scalars.
  • \iota is the linear mapping W \to W that sends a vector \pmb w \in W to i \cdot \pmb w, the scalar multiplication here being that in the complex vector space V. One immediately checks that we do have \iota \circ \iota = -\Id_W.

Action on morphisms:

A morphism between complex vector spaces is also, as a mapping, a morphism between the corresponding real vector space obtained by “forgetting” multiplication by imaginaries; thus, for a CVec-morphism \phi: V \to V', we can define \mathcal F_{\C\R+}(\phi) as the same mapping. It is simple to check that the condition on RVecPlus-morphisms \phi \circ \iota_V = \iota_{V'} \circ \phi is satisfied.

Functor \mathcal F_{\C\R+} from RVecPlus to CVec

The second construction described by R.G. takes a pair (\pmb W, \iota) with W real vector space and \iota morphism W \to W such that \iota \circ \iota = -\Id_W to a complex vector space. We can make this into a functor\mathcal F_{\C\R+} from RVecPlus to CVec by defining what happens to morphisms: they are left as they are, as mappings; the above condition on morphisms in RVecPlus ensures that the resulting mapping is a CVec-morphism.

These two functors are isofunctors

It is easy to check (R.G. should at least mention it – criticism) that these two operations are the inverse one of the other, which makes \mathcal F_{\C\R+} an isofunctor with \mathcal F_{\C\R+} its inverse, and CVec and RVecPlus equivalent categories.

Taking free objects between these categories yields nothing new, as we saw in the post on isofunctors.

The main interest in this category RVecPlus is that it allows us to work with real vector spaces only, avoiding in particular the need to consider complex and real versions of a given vector space, with the scalar multiplication in the former that «knows how» to multiply by complex numbers, while it does not in the latter. In the rest of this post I will talk of complex vector spaces and these «real plus» vector spaces as if they were the same thing.

Forgetful functor \mathcal F_{\R+\R} from complex to real vector spaces

One can make a forgetful functor \mathcal F_{\R+\R} from RVecPlus to RVec simply by forgetting the \iota part. The functor leaves morphisms unchanged. This is the first construction described by R.G. in Chapter 12, from CVec to RVec.

A sort of inverse construction of \mathcal F_{\R+\R}

The functor \mathcal F_{\R+\R} forgets the \iota, which cannot be retrieved. It can, however, be reinvented, though in general there is a necessary arbitrariness in the process.

Let W be a real vector space. Suppose that it is possible to find in W two subspaces, W_1 and W_2, that are complementary and isomorphic. There will in general be an infinite number of ways of choosing the pair (W_1, W_2), and, this pair being chosen, an infinite number of ways of choosing and isomorphism \iota_0: W_1 \to W_2. (One can, for instance, arbitrarily choose bases on W_1 and W_2, and create \iota_0 from an arbitrary bijection between these bases.)

\iota_0 is a mapping between two specific subspaces of W. We can, however, create a full mapping W \to W by posing:

\forall (\pmb w_1, \pmb w_2) \in W_1 \times W_2, \iota(\pmb w_1 + \pmb w_2) = -\iota_0^{-1}(\pmb w_2) + \iota_0(\pmb w_1)

It is easy to check that this \iota is linear, and that \iota \circ \iota = -\Id_W. Hence (W, \iota) is an object of RVecPlus. Applying the \mathcal F_{\R+\C} functor defined above, we obtain a complex vector space.

The necessary and sufficient condition for it to be possible to find in W two complementary and isomorphic subspaces is that W be either finite and even-dimensional, or infinite-dimensional (exercise 84).

Providing this condition is satisfied, this procedure involves the arbitrary step of choosing the subspaces, and the second arbitrary step of choosing the isomophism between them. For this reason, one cannot make it into a functor; for a functor must consist of a rule for mapping objects and morphisms. We don’t have an inverse functor for \mathcal F_{\R+\R}.

This arbitrariness is present even in the simplest non-trivial case, that of a two-dimensional real vector space. This is another formulation of the fact that in a complex vector space there is no non-arbitrary notion of “real” and “imaginary” vectors (as noted in Chapter 12).

Free objects following the forgetful functor from complex to real vector spaces

We do, however, have a functor from RVec to CVec, but one that implies doubling the initial vector space. It uses the third construction described in Chapter 12.

It is simpler to talk of this construction with RVecPlus rather than CVec; we have seen that these categories are equivalent. Given an object W in RVec, that is, a real vector space, we take V as the real vector space direct sum V = W \oplus W. We define the mapping \iota: V \to V by \forall (\pmb w, \pmb w') \in W^2, \iota(\pmb w, \pmb w') = (-\pmb w', \pmb w). It is easy to check that \iota is linear, and that \iota \circ \iota = -\Id_V. Hence (V, \iota) is an object in RVecPlus. We thus have a rule \mathcal F_{\R\R+} that maps objects of RVec to objects of RVecPlus. Now let us consider a morphism \phi in RVec, between real vector spaces W_1 and W_2. Let (V_1, \iota_1) = \mathcal F_{\R\R+}(W_1) and (V_2, \iota_2)= \mathcal F_{\R\R+}(W_2). We can form the mapping \psi: V_1 \to V_2, (\pmb v, \pmb v') \mapsto (\phi(\pmb v), \phi(\pmb v')). It is linear, and furthermore \iota_2 \circ \psi = \psi \circ \iota_1; hence \psi is a morphism in category RVecPlus, between \mathcal F_{\R\R+}(W_1) and \mathcal F_{\R\R+}(W_2). We write \psi =\mathcal F_{\R\R+}(\phi). We can check that this rule \mathcal F_{\R\R+} preserves composition and identities. It is thus a functor from RVec to RVecPlus.

Now let us examine if this \mathcal F_{\R\R+} cannot be viewed as the — or better, a — free object functor following functor \mathcal F_{\R+\R}.

Let W be a real vector space, and (V, \iota) = \mathcal F_{\R\R+)(W), that is V = W \ocirc W and \iota: V \to V, (\pmb w, \pmb w') \mapsto (-\pmb w', \pmb w). W and V are objects in RVec. Let \alpha be the RVec-morphism W \to V defined by \pmb w \mapsto (\pmb w, \pmb 0_W). We wish to check that (V, \alpha) is a free object on W following \mathcal F_{\R+\R} and that the transformation of morphisms follows suit.

Let (V', \iota') be another object of RVecPlus and \alpha' a RVec-morphism from W to \mathcal F_{\R+\R}((V', \iota')), that is a linear mapping W \to V'.

We wish to find a RVecPlus-morphism \gamma: (V, \iota) \to (V', \iota') such that \alpha' = \mathcal F_{\R+\R}(\gamma) \circ \alpha. But \mathcal F_{\R+\R}(\gamma) is just the mapping \gamma itself. For \pmb w_1 \in W, \alpha(\pmb w_1) = (\pmb w_1, \pmb 0_W). So \gamma must map any (\pmb w_1, \pmb 0_W) to \alpha'(\pmb w_1). Since \gamma must also be a RVecPlus-morphism, we must have \gamma(\pmb 0_W, \pmb w_2) = \gamma(\iota(\pmb w_2, \pmb 0_W)) = (\gamma \circ \iota)(\pmb w_2, \pmb 0_W) = (\iota' \circ \gamma)(\pmb w_2, \pmb 0_W) = \iota'(\alpha'(\pmb w_2)).

In other words, necessarily, our \gamma must be such that \gamma(\pmb w_1, \pmb w_2) = \alpha'(\pmb w_1) + \iota'(\alpha'(\pmb w_2)).

Now we must check that \gamma thus defined is indeed a RVecPlus-morphism (V, \iota) \to (V', \iota') and that \alpha' = \mathcal F_{\R+\R}(\gamma) \circ \alpha (for up to now we have shown what \gamma must be; we must check that the result is indeed adequate). This checking is unproblematic.

Thus our ((V, \iota), \alpha) is a free object on the real vector space W following the functor \mathcal F_{\R+\R}.

But it’s not quite over! We must also check that, taking