An increasingly prominent tool in operator theory is the Hilbert C*-module, which are (loosely speaking) Hilbert spaces where the inner product takes values in a C*-algebra. The next level of generalization is that of Hilbert modules over locally C*-algebras (we briefly mentioned locally C*-algebras in this post), and much of the following theory extends to this setting as well.
Here I give the definition of a Hilbert C*-module and collect some of it’s properties, mostly as a reference for personal use. I will likely update this post with new material later on, hopefully without making it too bloated. The theory is now well developed in the literature so the proofs will kept to a bare minimum. For references I will mostly use [1] and [2].
A (right) module
with equality if and only if
.

is called a pre-Hilbert C*-module over
. The completion of this module with respect to the norm
![]()
is called a right Hilbert C*-module over
or just a Hilbert
-module.
By convention the above sesquilinear form is linear in the second variable and conjugate linear in the first, this is not what I’m used to, but you can’t argue with conventions, so let’s stick with this for now.
Here are some norm-inner product identities which will come in handy. They can all be found in the first chapters of [1] and [2].
For any
Property (2) resembles Cauchy-Schwartz inequality, and property (4) is also very similar to the Hilbert space setting.
1. Operators on Hilbert C*-modules
Let
and
be
-modules. A morphism
between
and
is a continuous
-module homomorphism, that is, a continuous
-linear map
satisfying
![]()
The collection of all such morphisms from
to itself will be denoted
and is a Banach algebra with respect to the “usual” operator norm, i.e.
![]()
This follows from the fact that
is a closed subalgebra of the algebra of bounded
-linear maps on
, know from Banach space theory to be complete. We donete by
the collection of maps
for which there exists a map
such that
![]()
The map
is uniquely determined and will be denoted
, imitating the adjoint operator for Hilbert spaces.
is easily seen to be a closed subalgebra of
, hence a Banach algebra in its own right. Elements of
are called adjointable operators. Remarkably the collection
can also be characterized simply as the set of all maps
on
for which there exists an adjoint map
such that
![]()
the point being that continuity and
-linearity of both
and
, and uniqueness of
are all implied (see Lemma 2.1.1 [2]).
is actually a C*-algebra since the involution
is an isometry, and

where the second equality follows from Proposition 1 (4).
Another interesting subalgebra of
, denoted
, is the closed linear span of the collection of all operators of the form
![]()
where
are fixed elements in
. Elements of
are called compact operators, since they mirror the characterization of compact operators on Hilbert spaces as the closure of the span of the rank-1 operators, and as such if
, they are precisely the usual compact operators. Keep in mind though that these operators need not in general be compact operators when viewed as maps between the underlying Banach space (see [2] page 10 for a counterexample).Since
one has that
, but equality does not hold in general. Recently it was shown by E. Troitsky that for an adjointable map
with
countably generated, the two notions of compactness actually coincide.
2. Basic Operations on Hilbert C*-moduels
Let’s check out some of the common operations that can be done with the Hilbert C*-modules. Given a countable collection of Hilbert
-modules
, their direct sum is defined to be the the set
![]()
with inner produce
![]()
It follows easily from Proposition 1 (2) that the inner product is well defined on
, and the proof of completeness with respect to the induced norm is similar to the usual proof of completeness of
(see for instance [1] Example 1.3.5).
The tensor product is not as straight forward. Let
be Hilbert C*-modules over
and
respectively. The natural starting point is the tensor product
of
and
(treated as linear spaces over
). We are going to define an inner product and a
-module structure on
where
is the minimal tensor product of the C*-algebras
and
, henceforth simply denoted
. This is commonly done in the following two ways
- The exterior tensor product of the modules
and
, which we denote
, is defined to be the completion of
with respect to the norm induced by the inner product
![Rendered by QuickLaTeX.com \[\langle m_1 \otimes n_1, m_2 \otimes n_2 \rangle := \langle m_1, n_1 \rangle \otimes \langle m_2, n_2 \rangle.\]](https://www.mathblog.realhjelp.no/wp-content/ql-cache/quicklatex.com-8b010f944f67a2902eed410bd7e5f120_l3.png)
- The Interior tensor product of
and
(a left
-module this time), with respect to a morphism (of C*-algebras)
, which we denote
is defined as follows. First define the (possibly degenerate) inner product
![Rendered by QuickLaTeX.com \[\langle m_1 \otimes n_1, m_2 \otimes n_2 \rangle_\rho := \langle n_1, \rho(\langle m_1, m_2 \rangle ) n_2 \rangle.\]](https://www.mathblog.realhjelp.no/wp-content/ql-cache/quicklatex.com-3055d303956fd3834dff36fe881d30f5_l3.png)
Let
The form
lifts to an inner product on the quotient space
, satisfying the conditions of Definition 1, and the completion of the quotient
with respect to the corresponding induced norm is called the interior tensor product of
and
with respect to
.
In both cases the action of
is defined in the natural way, by its action on decomposable tensors;
. There is a lot to check here, which I will not be covering in this post, as it would get way to bloated, but it is all covered well in both [2] and [1] or any introductory book to Hilbert C*-modules.
Limits
For projective and injective limits of Hilbert C*-modules over over fixed C*-algebras, one needs to be a little careful as to the type of directed system and inverse systems we take the limit over, since the category of Hilbert C*-modules over a fixed C*-algebra seems not to be complete. See this post for more on projective and injective limits. Here is one example where an injective (direct) limit does exists:
If
is a directed system of Hilbert
-modules, with
(whenever
) are
-linear module homomorphisms which preserve the inner product (but not necessarily adjointable) , we can define an inner product on the algebraic direct limit of the modules;
![]()
(recall that
if there exist a
such that
, and
). One can do this by picking arbitrary representatives, that is
, since the module maps in the directed system preserves inner products. This turns out to be a Hilbert C*-module over
with the desired universal properties as is shown in Proposition 1.3 of this article.
3. Can I bring my tools?
Every Hilbert C*-module has the structure of a Banach space over
(if we neglect the module structure) and morphisms of Hilbert C*-modules as defined above are continuous linear maps of the underlying Banach spaces. Hence many of the results that hold for Banach spaces carry over to the setting of Hilbert C*-modules. Off the top of my head, among these are the usual suspects from Banach space theory; the open mapping theorem, the closed graph theorem and the uniform boundedness principle. Additionally, as we have seen, the collection of adjointable operators forms a C*-algebra, on which we may use the spectral theory and functional calculus as usual without any hassle.
Here is a list of things that do carry over, and some known pathologies for Hilbert C*-modules. The list is by no means exhaustive, but hopefully it gets you quickly up to speed. In what follows
will be a Hilbert space over
and
will be a Hilbert
-module. The inner products of both
and
will be denoted by
, as this is unlikely to cause serious confusion.
Riesz representation theorem and sesquilinear forms. On Hilbert spaces the Riesz representation theorem asserts that every bounded linear functional
on
is of the form
for some uniquely determined
, and that ![]()
For Hilbert C*-modules we have a similar statement, namely that the C*-algebra
, where
is an
-module, consists entirely of functions of the form
, and it’s easy to check uniqueness and that
.
On Hilbert spaces there is is also a Riesz representation theorem for continuous sesquilinear forms, which says that there is a 1-1 correspondence between contunuous (or bounded) sesquilinear forms and bounded operators on a Hilbert space. The correspondence is give by
![]()
It would be nice to find some similar statement (or counterexamples) for Hilbert C*-modules.
Polarization Identity: The identity
![Rendered by QuickLaTeX.com \[\langle x, y \rangle = \frac{1}{4} \sum_{n=0}^3 i^n \langle x + i^ny, x + i^ny \rangle\]](https://www.mathblog.realhjelp.no/wp-content/ql-cache/quicklatex.com-389beb04b8eaf2ab66bab47d7ef84ce2_l3.png)
holds for any sesquilinear form, so it clearly also holds for inner products on Hilbert C*-modules.
Polar decomposition The polar decomposition from Hilbert space theory, decomposing operators on Hilbert spaces into a product of a partial isometry and a positive operator does not in general work on Hilbert C*-modules. That is, if
is an adjointable operator on a Hilbert
-module
, then it does not follow that the partial isometry
in the polar decomposition
of
is adjointable. The operator
is found using functional calculus on the C*-subalgebra of
generated by
and
, so this is an adjointable module morphism, but recall that the partial isometry
is contained in the von Neumann algebra generated by
, which may not be contained in the C*-algebra of adjointable operators. There are situations where the decomposition works though. One such situation is when both
and
have dense ranges (see Proposition 3.8 [2]).
Orthogonal complementing subspace: The most striking pathology of Hilbert C*-modules is the non-existence of an orthogonal complementing subspace. On Hilbert spaces any closed subspace has a natural complementing subspace, namely the orthogonal complement. This does not hold in the setting of Hilbert C*-modules. That is, if
is a closed submodule of a Hilbert C*-module
, then
![]()
is indeed also a closed submodule of
, but
and
need not be complementary, that is
may not be isomorphic to
. In fact, there may be no complementary submodule at all. However, if either of the following conditions holds;
is a finitely generated projective
module, (that is, if there exists a Hilbert
-module
such that
)
is finitely generated
is the kernel or image of an adjontable module morphism with closed range
is self-dual (explained below)
then
(section 2 of [1] and Th 1.4.6 [2]).
Existence of a minimal distance : On Hilbert spaces, for any closed subspace
and any
there exists an element
such that
(
) ![]()
This does not hold for Hilbert C*-modules in general. Try to find a counterexample, or look at Exercise 3 below.
Dual space: The dual space of a Hilbert space
has a natural Hilbert space structure, with respect to the inner product
where
are the functionals corresponding to
and
in
by Riesz. The Riesz representation theorem is an (antilinear) isomorphism of these Hilbert spaces, hence all Hilbert spaces are isomorphic to their bidual. Such spaces are called reflexive. For Hilbert C*-modules the dual space of a
-module
, denoted
, is defined as
![]()
and is a complete banach module over
with respect to the usual operator. The action of
and
on
is given by
and
respectively, which makes the natural inclusion of
into
given by
![]()
an imbedding of Banach spaces. When it is surjective, the module
is called self-dual. Two important property of self-dual Hilbert C*-modules are
(see [1] Proposition 2.5.2)- every closed submodule is orthogonally complementable (Corollary 2.5.4 of [1]).
When the C*-algebra
is a vN-algebra the dual module
can be given a Hilbert
-module structure with an inner product for which
for all
(see Theorem 3.2.1 of [1]).
Bidual and Reflexivity
Luckily the bidual
of a Hilbert C*-module always admits a Hilbert C*-module structure, determined by the inner product
![]()
where
and
is given by
(see “dual space” above for the notation). The norm induced by this inner product is the same as the usual operator norm (Theorem 4.1.4 [1]).
Existence of a basis and dimensionality : This may be silly, but for correctness let’s assert that C*-algebras (different from
) are not division rings, which means it makes no sense to talk about a basis for the module in general. The term “basis” refers here strictly to a generating set which is a basis over
for the module (or a dense subspace therein). There are non-trivial examples where a natural “basis” over
does exist, like
, where
is (say) a finite dimensional C*-algebra with matrix units
. The
-module
has a basis (over
) consiting of sequences with values
at some entry and zero elsewhere, but this should be thought of more as an orthonormal generating set. A Zorn’s lemma type arguments shows that such an orthonormal generating set always exists. Every element
can be written on the form
![]()
for this set (see Th. 1.6 of this paper)
Many results rely on the existence of a countable generating set, and as a sidenote, a useful characterization of countably generated
modules
is the following;
is countably generated if and only if
is
-unital (if and only if
posesses a strictly positive element).
Spectral theory and functional calculus: As previously mentioned, the theory carries over to the adjointable operators without issues, since
is a C*-algebra.
Characterization of Positive elements: Just as in the case of operators on (complex) Hilbert spaces, a map T is a positive element of the C*-algebra
if and only if
![]()
(see [1] Prop. 2.1.3).
Unitary operators: An operator
is unitary if and only if it is surjective isometric and
-linear (Th. 2.3.5 [2])
Boundedness Let T be any map on a Hilbert
-module
. Then
if and only if there exists a
such that
(see Theorem 2.1.4 of [1]).
Invertibility For Hilbert spaces an operator
is invertible if and only if
is dense in
and
is bounded away from zero, that is, there exists a real constant
such that
for all non-zero x.
For Hilbert C*-modules a similar statement holds, at least for self adjoint operators. Let
be self adjoint, then
is invertible if and only if there exists a
such that
for all
. (See Lem. 3.1 [2])
4 Common Examples
Here are some common and useful examples to keep in mind when working with Hilbert C*-modules. First of which, any C*-algebra
, (or any right ideal of
) can be treated as a Hilbert
-module with respect to the inner product
![]()
(note again the linearity in the second term!). I will denote this module by
.
The standard Hilbert C*-module over
is defined to be the Hilbert
-module
![]()
that is, the set of all sequences
such that
is norm convergent, with inner product
![]()
Next, the continuous section of bundles of Hilbert subspaces of a common Hilbert space
, over a compact Hausdorff space
, can be endowed with a Hilbert
-module structure by pointwise operations, that is if
is a continuous section, and
, then define the
-module action by
, and if
is another continuous section, define the
-valued inner product
which is clearly a continuous function, being the composition of continuous functions. One can check this inner product satisfies the conditions of Definition 1.
The following identities are worth memorizing as they are often tacitly employed in the literature. Let
and
be Hilbert
-modules, and
be a Hilbert
module, then




where
is the multiplier algebra
- Prove that the subalgebra
is dense in
using an approximate unit. The map sending
hence extends to an isomorphism of
and 
- The map that establishes the isomorphism is the extension of the map
. - Let
be the j’th coordinate projection on
, and let
be the i’th coordinate inclusion on
, i.e.
with r in the i’th index. Then the map
where
, determines the needed isomorphism of C*-algebras. - Repeat the above proof mutatis mutandis
- For a proof of this fact, consult Theorem 2.4 in [2]
Note how the first and fifth equality together implies that
is isomorphic to the multiplier algebra of
and that
imbeds into
as the C*-subalgebra of compact operators.
In general we only have an imbedding
given in the most natural way as the unique lift of the bilinear map from
determined by sending
where
to the space ![]()
Exercises
Here are some useful facts which I have left as exercises, most of which are taken from the cited references where they pop-up in various proofs and remarks.
Show that
Show that the if
![]()
where ![]()
Find a Hilbert C*-module for which the minimal distance property of
. Then any [2] E.C. Lance Hilbert C*-modules: A toolkit for operator algebraists, Cambridge university press, 210 (1995)
