Topological K-theory of C*-algebras for the Working Mathematician – Lecture 2 (Definitions and core examples)

by Orr Shalit

This is a write-up of the second lecture in the course given by Haim Schochet. For the first lecture and explanations, see the previous post.

I will very soon figure out how to put various references online and post links to that, too.

1. Direct limits

We began the lecture with an important construction: the direct limit (also called inductive limit) of a sequence of C*-algebras. Let

(*) A_1 \xrightarrow{f_1} A_2 \xrightarrow{f_2} A_3 \xrightarrow{f_3} \ldots

be a sequence of C*-algebras and maps. The direct limit \lim_{\rightarrow} A_j is formed as follows (the direct limit depends also on the maps, but these are usually omitted from the notation and understood). First, form the space

\lim_{alg} A_j = \{a = (a_1, a_2, \ldots ) \in \Pi A_j : \exists n . \forall j \geq n . f_j (a_j) = a_{j+1}\}.

( The notation \lim_{alg} is temporary, not used beyond this section.) Because C*-maps are contractive, one has that \|a_{j+1}\| \leq \|a_j\| for all sufficiently large j, hence we may define \rho(a) = \lim_j \|a_j\|. Then the quotient space \lim_{alg} A_j / \rho^{-1}(0) is a normed *-algebra, and completing it we get a C*-algebra denoted \lim_{\rightarrow}A_j which is called the direct limit of the sequence (*). In the special case where every f_j is isometric, then one often makes the identification

A_1 \subseteq A_2 \subseteq A_3 \subseteq \ldots

and the direct limit can be interpreted as the closure of the union \overline{\cup A_j}.

The maps f_j promote to maps \iota_j : A_j \rightarrow \lim_{\rightarrow} A_j such that \iota_j = \iota_{j+1} \circ f_j for all j. The C*-algebra \lim_{\rightarrow}A_j together with the family of maps \{\iota_j\} has the following universal property:

Universal property for the direct limits. If B is a C*-algebra, and if for every j there is a map g_j : A_j \rightarrow B such that g_j = g_{j+1}\circ f_j for all j, then there is a unique map f : \lim_{\rightarrow}A_j \rightarrow B  such that f \circ f_j = g_j for all j.

If one wants to work with inverse limits of C*-algebras, then things don’t work so well, and one has to work with pro-C*-algebras. This is closely related to the fact that the direct limit of a sequence of locally compact spaces need not be locally compact.

There is also a related notion of direct limit in the category of groups (or in other well behaved categories). It is simpler than the direct limit of C*-algebras, since one does not have to define a norm and complete. (The direct limit of a group is just the group of all eventually coherent sequences, modulo the relation of being eventually equal.)

2. Homology theories for C*-algebras

There are several different ways to define homology (or cohomology) theories for topological spaces. Topologists never expect to have a homology theory defined for all topological spaces. K-theory is rather special in that it is a homology theory that makes sense and is well behaved for the category of all C*-algebras \mathcal{C}. (Haim says that this is just “dumb luck”.)

K-theory is a homology theory for C*-algebras. Before defining K-theory, let’s see what is a homology theory. A reference for this section is the paper “Topological methods for C*-algebras. III. Axiomatic Homology“, by C. Schochet.

Let \mathcal{C} be a category of C*-algebras and *-homomorphisms as maps (\mathcal{C} can be taken to be the full category of C*-algebras, but sometimes we’ll stick to a subcategory, e.g., separable, nuclear, etc.). We denote by Ab the category of abelian groups with homomorphisms.

Definition:homology theory for is a sequence h_* = \{h_n\}_{n} of functors h_n : \mathcal{C} \rightarrow Ab (indexed by \mathbb{Z} or by \mathbb{N}) such that the following hold

  1. Homotopy axiom. If f^0 is homotopic to f^1 (see Section 5 here) then f^0_* = f^1_*. Here and below we shall denote by f_* the map obtained by applying one of the functors on f, without being fussy about which n we used.
  2. Exactness axiom. If 0 \rightarrow J \xrightarrow{i} A \xrightarrow{j} A/J \rightarrow 0 is a short exact sequence (s.e.s), then there is a natural long exact sequence (l.e.s.)

\ldots \rightarrow h_n J \xrightarrow{i_*} h_n A \xrightarrow{j_*} h_n A/J \xrightarrow{\partial} h_{n-1}J \rightarrow \ldots

Another way of stating this is to say that there exists a sequence of “connecting maps” \partial which make the above l.e.s. exact.

In addition to the above two basic axioms, there are additional desirable axioms that we may wish for (but we will not assume). For example,  a homology is said to be:

  • Additive (or countably additive, if one wants to emphasise) if for every sequence \{A_j\} of C*-algebras, the natural map is an isomorphism of \oplus_j h_n(A_j) onto h_n(\oplus_j A_j), for all n;
  • Morita invariant if h_n(A \otimes K) \cong h_n(A), or h_n (A \otimes M_2) \cong h_n(A) for every A and every n (continuity properties of a homology theory will show that the two different assumptions are equivalent).

It will turn out that K-theory satisfies these two additional axioms. The Morita invariance axiom can be stated as the fact that stably isomorphic C*-algebras have the same homology. Recall that two C*-algebras A and B are said to be stably isomorphic if their stabilisations A \otimes K and B \otimes K are isomorphic. There is another equivalence relation for C*-algebras – Morita Equivalence – and a theorem of Brown, Green and Rieffel says that two \sigma unital C*-algebras are stably isomorphic if and only if they are Morita equivalent. Hence the terminology. (A reference for the last paragraph is Chapter 7 in E. Lance’s monograph on Hilbert C*-modules.)

(Parenthetical remark: It may be worth clarifying what we mean by direct sum. The direct sum \oplus_{j\in J} G_j of a family of abelian groups \{G_j\}_{j \in J} is the set of sequences (g_j)_{j\in J} (where g_j \in G_j) for which all but finitely many g_js are 0 with coordinate-wise operations. The direct sum \oplus_{j\in J} A_j of a family of C*-algebras \{A_j\}_{j \in J} is formed by first constructing the normed *-algebra of all sequences (a_j)_{j\in J} (where a_j \in A_j) with coordinate-wise operations and sup norm, and then completing it with respect to that norm. Thus, the direct sum of C*-algebras is what one sometimes calls “the c_0 direct sum”. The object that one might refer to as “\ell^\infty direct sum” is usually referred to as “direct product”. )

Here are some quickly deducible consequences of the two axioms above. Suppose that h_* is a homology theory.

Proposition 1: h_* is finitely additive.

Proof. We have the following s.e.s. which splits on the left and on the right

0 \rightarrow A_1 \xrightarrow{\leftarrow} A_1 \oplus A_2 \xrightarrow{\leftarrow} A_2 \rightarrow 0.

From properties of functors, the long exact sequence also splits:

\ldots \xrightarrow{\partial} h_n(A_1) \xrightarrow{\leftarrow} h_n(A_1 \oplus A_2) \xrightarrow{\leftarrow} h_n(A_2) \xrightarrow{\partial} h_{n-1}(A_1) \rightarrow \ldots .

But then the connecting maps \partial are zero, and we have

 0 \rightarrow h_n(A_1) \xrightarrow{\leftarrow} h_n(A_1 \oplus A_2) \xrightarrow{\leftarrow} h_n(A_2) \rightarrow 0

so h_n(A_1 \oplus A_2) \cong h_n(A_1) \oplus h_n(A_2).

Proposition 2: h_*(CA) = 0.

Proof. CA is contractible (recall Sections 3.5 and 5 here for notation).

Proposition 3: h_n(A) = h_{n-1}(SA).

Proof. We have the natural exact sequence

0 \rightarrow SA \rightarrow CA \rightarrow A \rightarrow 0

where CA \rightarrow A is given by evaluation at 1. Then the l.e.s. gives

0 = h_n(CA) \rightarrow h_n(A) \rightarrow h_{n-1}(SA) \rightarrow h_{n-1}(CA) = 0,

so \partial is an isomorphism.

Remark: If h_* is a (additive) homology theory and N is a nuclear C*-algebra then A \to h_*(A \otimes N) is a (additive) homology theory.

We will require the following theorem.

Theorem (Theorem 5.1 in the paper): Let h_* is an additive homology theory. Let A = \lim_{\rightarrow} A_j be the direct limit of the sequence

A_1 \xrightarrow{f_1} A_2 \xrightarrow{f_2} \ldots .

Then for all n the maps h_n(A_j) \rightarrow h_n(A) induce an isomorphism \lim_{\rightarrow} h_n(A_j) = h_n(A).

3. The mapping cone and the Meyer-Vietoris Theorem

Let A \xrightarrow{f} B. A pull back of f is an algebra P together with maps P \rightarrow A and P \rightarrow CB that complete the top left corner of the following diagram and make it commutative:

P \longrightarrow A

\downarrow             \downarrow

   CB \longrightarrow B

This completion problem can always be solved as follows. Define the mapping cone of f to be

C_f = \{(\xi,a) \in CB \oplus A \mid \xi(1) = f(a) \}.

Why would we want to introduce the algebra C_f? Suppose we want to show that h_n A = h_n B. Then having introduced, the mapping cone, we have the s.e.s.

0 \rightarrow SB \rightarrow C_f \rightarrow A \rightarrow 0,

which by the exactness axiom gives the l.e.s.

h_n(C_f) \rightarrow h_n(A) \rightarrow h_{n-1}(SB) \rightarrow h_{n-1}(C_f)

 \searrow ||


and the big diagram commutes. Thus to show that h_n A = h_n B (by the natural map) it is necessary and sufficient to show that h_n(C_f) = h_{n-1} = 0.

The Meyer-Vietoris Theorem. Let P \xrightarrow{g_i} A_i be a pullback of the two surjective maps A_i \xrightarrow{f_i} B,

P \longrightarrow A_1

\downarrow             \downarrow

A_2 \longrightarrow B.

Then there is a l.e.s.

h_ P \xrightarrow{(g_{1*},g_{2*})} h_n A_1 \oplus h_n A_2 \xrightarrow{(-f_{1*},f_{2*})} h_n B \rightarrow h_{n-1}P .

In fact, it is enough to assume that only one of the maps is surjective.

4. Definition(s) of K-theory

It is very important to be able to treat non-unital algebras in K-theory. For example, one wants to consider the stabilisation A \otimes K of a C*-algebra A. However, suppose that we have defined K-theory for unital C*-algebras. Then for every C*-algebra we let A^+ \mapsto A^+ / A \cong \mathbb{C} be the natural quotient of the unitalization of A by A, and we can then define K_*(A) to be the kernel of the map K_*(A^+) \rightarrow K_*(\mathbb{C}). (This will be consistent in case that A is unital to begin with). Thus, for the definitions of K-theory we stick with unital algebras.

Purely ring theoretic definition. Let \mathcal{R} be the set of all equivalence classes of finitely generated projective left A-modules. Define an addition on \mathcal{R} by [P_1] + [P_2] = [P_1 \oplus P_2]. This makes \mathcal{R} into a abelian semigroup with 0. From any abelian semigroup \mathcal{S} with 0 one may form a group \mathcal{G}(\mathcal{S}) containing it, called the Grothendiek group; roughly, it is the set of all formal differences s_1 - s_2. Then K_0(A) is defined to be \mathcal{G}(\mathcal{R}).

One should be a little more careful, though: the Grothendiek group of a semigroup can be identified with formal differences only if the semigroup has cancellation (i.e., su = tu \Rightarrow s = t). For the (possibly) non cancellative semigroups arising in K-theory, two formal differences [P_1] - [P_2] and [Q_1] - [Q_2] are considered as the same point if and only if there exists a finitely generated projective \mathcal{R}-module M such that [P_1] + [Q_2] + [M] = [Q_1] + [P_2] + [M].

We have only defined K_0(A), but by Proposition 3 above, if K_* is a homology theory then K_1(A) \cong K_0(SA), K_2(A) \cong K_1(SA), etc. Thus one really only needs to give a definition of K_0. (To be precise you only obtain positive integer indexed groups this way. In the end there will be only K_0 and K_1 so this doesn’t matter).

Example: If A = \mathbb{C}, then a finitely generated projective module over A is just a complex vector space, and the equivalence classes can be identified with the natural numbers \mathbb{N}, where every n represents the equivalence class of n dimensional vector spaces. Addition is easily seen to correspond to addition of dimension, so \mathcal{R} here is also, as a semigroup, equal to \mathbb{N}. Now K_0(\mathbb{C}) = \mathcal{G}(\mathbb{N}) = \mathbb{Z}. Note that here the semigroup \mathbb{N} is cancellative, so \mathcal{G}(\mathbb{N}) really does look like the set of formal differences \mathbb{N} - \mathbb{N}.

Matrix definition. Let M_n(A) denote the matrix algebra over A. The observation that a finitely generated projective left A-module leads to the following definition of K_0.


\mathcal{P}_n A = \{ p \in M_n(A) : p = p^* = p^2 \}.

We embed \mathcal{P}_ nA in \mathcal{P}_{n+1}A by

p \mapsto \left(\begin{smallmatrix} p & 0 \\ 0 & 0 \end{smallmatrix}\right) .

The we let \mathcal{P}_\infty A be the set of equivalence classes of projections in \cup_n \mathcal{P}_n A, for the equivalence relation p \sim q if and only if p is unitarily equivalent to q in some M_n(A). We let addition on \mathcal{P}_n(A) be defined by

[p] + [q] = \left(\begin{smallmatrix} p & 0 \\ 0 & q \end{smallmatrix}\right) .

Finally, we let K_0(A) = \mathcal{G}(\mathcal{P}_\infty A).

Example: Using this definition of K_0, it is easy to recalculate K_0(\mathbb{C}) = \mathbb{Z}, since in this case \mathcal{P}_\infty A \cong \mathbb{N}.

Example: Here is a good example of why the Grothendieck construction is in general not just “formal differences”. Consider A = B(H) (with H separable infinite dimensional). We calculate \mathcal{P}_\infty A \cong \mathbb{N} \cup \{\infty\}, where \infty = [I] corresponds to projections of infinite rank. Then for every p,q \in M_n (A), we have [p]+ [I] = [q] + [I]. It follows that in \mathcal{G}(\mathcal{P}_\infty A) all elements are equivalent, so K_0(B(H)) = 0.

Even though we remarked above that in principle one need only define K_0, it is interesting and useful to give a direct definition of K_1(A).

Denote by \mathcal{U}_nA the set of all unitaries in M_n(A). Embed \mathcal{U}_n A in \mathcal{U}_{n+1} A by

u \mapsto \left(\begin{smallmatrix} u & 0 \\ 0 & 1 \end{smallmatrix}\right) .

We the let \mathcal{U}_\infty A be the increasing union of all \mathcal{U}_n A, and say that u \sim v if they are unitarily equivalent in \mathcal{U}_n A (Recall that the identifications that we have made, this means that diag(u,1) and diag(v,1) are unitarily equivalent, where u and v may or may not have been of the same size, and one adds as many ones on the diagonal as needed to make this unitary equivalence work). Finally, define K_1(A) be \mathcal{U}_\infty(A).

There are some things to prove here. For example, it is not clear why K_1(A) must be an Abelian group (but it is). Also, it is not on the surface, but it is true, that if u and v are path wise connected in \mathcal{U}_n A, then u \sim v. Thus we have

Example: K_1(\mathbb{C}) = 0.

(Because \mathcal{U}_n \mathbb{C} is path connected.)

With the above two definitions of K_0 and K_1, it is easy how to define what the functor does to maps: every A \xrightarrow{f} B promotes to a map, also denoted f between the matrix algebras M_n(A) and M_n(B), which is also a C*-map hence sends projections to projections, and when f is unital it sends unitaries to unitaries. Then we define f_* : K_*(A) \rightarrow K_*(B) by

f_* [a] = [f(a)].

Homotopy definition: The following definition also works for every n \geq 1:

K_n(A) = \pi_{n-1}(\mathcal{U}_\infty A),

 where \pi_{k} denotes the kth homotopy group.

This definition shows that for K_1 we could have used the invertibles GL_n(A) \subset M_n(A) rather than the unitaries \mathcal{U}_n A.

5. The Main Theorem

Theorem: K_* is an additive and Morita invariant homology theory. Moreover it is 2-periodic, i.e., K_n(S^2 A) = K_n(A) (Bott Periodicity). Equivalently, the l.e.s. becomes a cyclic six term exact sequence:

K_1(J) \rightarrow K_1(A) \rightarrow K_1(A/J)

\uparrow                                            \downarrow

K_0(A/J) \leftarrow K_0(A) \leftarrow K_0(J)

A few words instead of a proof. A proof will not be presented here, rather this mini-course will aim at advanced application, using theorems such as this as a black box (see Blackadar’s book, Chapter 4 Section 9). The hardest part of this theorem is the Bott periodicity. The map K_1(A/J) \xrightarrow{\partial} K_0(J) is called the index map. The tricky part in the proof of this theorem is the definition of the connecting maps and the verification of exactness at the edges of these maps. Of the two maps, the map K_0(A/J) \rightarrow K_1(J) is the trickier one.

Here is the definition of K_1(A/J) \xrightarrow{\partial} K_0(J). If b \in GL_n(A/J) then \left[ \begin{smallmatrix} b & 0\\ 0 & b^{-1} \end{smallmatrix} \right] \in GL_{2n}(A/J). Let a \in GL_{2n}(A) be a lift of \left[ \begin{smallmatrix} b & 0 \\ 0 & b^{-1} \end{smallmatrix} \right]. Then define

\partial [b] = [a p_n a^{-1}] - [p_n],

where p_n is the projection on the first n coordinates along the diagonal.

Example: This example should explain the terminology “index map”. Consider the s.e.s. 0 \rightarrow K \rightarrow B(H) \rightarrow Q \rightarrow 0. A unitary in u \in Q is the image of a Fredholm partial isometry v \in B(H), that is a partial isometry with finite kernel and finite cokernel. Then

\left[ \begin{smallmatrix} u & 0 \\ 0 & u^{-1} \end{smallmatrix}\right]

lifts to \left[ \begin{smallmatrix} v & 1 - vv^* \\ 1 - v^* v & v^* \end{smallmatrix} \right] .

A calculation shows that using the definition of \partial just given, we have

\partial [u] =

\left[ \begin{smallmatrix} v v^* & 0 \\ 0 & 1-v^*v \end{smallmatrix} \right]  - \left[\begin{smallmatrix} 1&0 \\ 0&0 \end{smallmatrix} \right]

and this element in K_0(K) = \mathbb{Z} is the equivalence class of in [1-v^* v] - [1 - v v^*], which corresponds to the difference between the dimensions of these projections, i.e., the Fredholm  index of v.

6. Some examples

We now examine several examples, using the Main Theorem from Section 2.


1) K_*(M_n) = K_*(\mathcal{K}) = K_*(\mathbb{C}, which is \mathbb{Z} (for K_0) and 0 (f0r K_1). This follows from Morita invariance.

2) Consider the sequence M_2 \rightarrow M_4 \rightarrow M_8 \rightarrow M_{16} \rightarrow \cdots, and let A = \lim_{\rightarrow} A_j. The K-theory of A (and therefore also its isomorphism class) depends on the connecting maps.

If the maps are

a \mapsto \left[\begin{smallmatrix} a & 0 \\ 0 & 0 \end{smallmatrix} \right]

The the induced sequence K_0(M_2) \rightarrow K_0(M_4) \rightarrow K_0(M_8) \rightarrow \cdots becomes

\mathbb{Z} \xrightarrow{1} \mathbb{Z} \xrightarrow{1} \mathbb{Z} \rightarrow \cdots,

which is the constant sequence with identity maps. Thus K_0(A) = \mathbb{Z}.

On the other hand, if

a \mapsto \left[\begin{smallmatrix} a & 0 \\ 0 & a \end{smallmatrix} \right]

then on the level K groups we get

\mathbb{Z} \xrightarrow{2} \mathbb{Z} \xrightarrow{2} \mathbb{Z} \rightarrow \cdots,

and the inductive limit os then K_0(A) = \lim_{\rightarrow} K_0(A_j) = \mathbb{Z}[1/2].

If one takes a sequence of appropriately sized matrix algebras, and at each step mapa a to diag(a,a,\ldots,a), the one may obtain any countable abelian group. In particular, taking a sequence of inflations


then for the direct limit algebra A will have K_0(A) = \mathbb{Q}.