Topological K-theory of C*-algebras for the Working Mathematician – Lecture 1

by Orr Shalit

Claude (Haim) Schochet is spending this semester at the Technion, and he kindly agreed to give a series of lectures on K-theory. This mini-course is called “Topological K-theory of C*-algebras for the Working Mathematician”.

There will be seven lectures (they take place in Amado 814, Mondays 11:00-12:30):

  1. A crash course in C*-algebras.
  2. K-theory by axioms and core examples.
  3. K-theory strengths and limitations.
  4. Payoffs in functional analysis: elliptic operators on compact spaces, essentially normal and Toeplitz operators.
  5. Payoffs in algebraic topology: bivariant K-theory by axioms, core examples, and the UCT.
  6. Modelling of groups, groupoids, and foliations.
  7. Payoffs in geometry: Atiyah-Singer and Connes index theorems.

Since the pace will be really fast and the scope very broad, I plan to write up some of the notes I take, to help myself keep track of these lectures. When I write I will probably introduce some mistakes, and this is completely my fault. I will also probably not be able to hold myself from making some silly remarks, for which only I am responsible.

I also hope that these notes I post may help someone who has missed one or several of the talks make up and come to the next one.

The first talk took place last Monday. To be honest I wasn’t 100% on my guard since I heard such crash courses so many times, I was sure that I’ve heard it all before but very soon I was in territory which is not so familiar to me (The title “crash course” was justified!). Maybe I will make up some of the things I write, or imagine that I heard them.

(The next lectures will be on stuff that is more advances and I will take better notes, and hopefully provide a more faithful representation of the actual lecture).

I will refer in short to the following references:

1. Pedersen – C*-algebras and their automorphism groups.

2. Brown and Ozawa – C*-algebras and finite dimensional approximation.

3. Davidson – C*-algebras by example.

4. Dixmier – C*algebras

5. Blackadar – K-theory for operator algebras

Lecture 1: A crash course in C*-algebras

1. Definition of a C*-algebra and first examples

A C*-algebra is a complex Banach *-algebra (i.e., a complex algebra with involution a \mapsto a^* that is a Banach space for which \|a b\| \leq \|a \| \|b\| and \|a^*\| = \|a\| hold) in which the C*-identity holds, that is:

\|a^* a\| = \|a\|^2 for all a.

We will use the letters A,B,... to denote C*-algebras.


1) The bounded operators. for every Hilbert space H, let B(H) denote the algebra of bounded operators on H, given the natural involution and the operator norm \|T\| = \sup_{\|h\|=1}\|Th\|. Then B(H) is a C*-algebra. In particular, if n \in \mathbb{N}, the algebra of n \times n matrices M_n \equiv B(\mathbb{C}^n) is a C*-algebra.

2) Concrete C*-algebras. If A \subseteq B(H) is a closed subalgebra that is also closed under the adjoint operation, then A is also a C*-algebra. In fact, all C*-algebras (up to isometric *-isomorphism) arise this way, so this is also the end of our list of examples! However, it turns out that ending the list here is not a very fruitful point of view.

3) Finite dimensional C*-algebras. The  structure of finite dimensional C*-algebras is completely understood: every finite dimensional C*-algebra has the form

M_{n_1} \oplus \cdots \oplus M_{n_k}.

It is interesting to note that although all norms on a finite dimensional space are equivalent, there is precisely one norm that makes this *-algebra a C*-algebra – that is, there is only one norm that satisfies the C*-condition. This follows immediately from a basic result in the theory, that an injective *-homomorphism between C*-algebras is automatically isometric. (Having mentioned that, from this point on when I write that two algebras are *-isomorphic, the reader should remember that this implies that the algebras are in fact isometric *-isomorphic.)

4) Commutative C*-algebras. Let X be a locally compact Hausdorff topological space. The algebra of continuous functions that vanish at infinity C_0(X) given the usual algebraic operations, the usual sup norm, and the conjugation f^* = \bar f, is easily seen to be a C*-algebra. This C*-algebra is unital (that is, contains a unit element) if and only if X is compact.

In fact, a theorem of Gelfand and Naimark says that every commutative C*-algebra is *-isomorphic to the algebra of continuous functions on a l.c h. space.

5) (Reduced) group C*-algebras. Let G be a locally compact group. Then one may form the Hilbert space L^2(G,\mu) where \mu is the Haar measure. G acts on L^2(G) by the left regular representation \lambda given by

(\lambda(g) f) (s) = f(g^{-1}s)  ,   f \in L^2, g \in G.

This representation (as any) extends to a *-representation of L^1(G) by

 (#) \lambda(f) h = \int_G f(s) \lambda(s) h d \mu(s) for f \in L^1, h \in L^2.

Let’s be clearer about this point. L^1(G) can be made into a Banach *-algebra if one gives it the usual Banach space structure, together with multiplication given by convolution

(f*g)(t) = \int_G f(s) g(s^{-1}t) d \mu(s) ,

and the * operation given by

f^*(s) = \Delta(s^{-1}) \bar f(s^{-1}).

(Here \Delta is the modular function. For commutative, discrete and compact groups \Delta \equiv 1, so if you are not used to it don’t worry too much). The *-algebra L^1(G) can be represented faithfully on L^2(G) by

\lambda(f) * h = f * h  ,  h \in L^2.

This is called the left regular representation of L^1(G). I leave it as an exercise for the reader to check that this convolution definition of \lambda agrees with the definition given above in (#).

The reduced C*-algebra of G, denoted C^*_r(G), is the C*-algebra generated by the set \lambda(L^1(G)).

When G is a finite group then algebraically C^*_r(G) is nothing but the group algebra (plus an involution), and the concretely defined norm is the unique C*-norm on this *-algebra.

There is another group C*-algebra, called the full group C*-algebra and denoted C^*(G), that was not discussed in detail in the lecture. The most straightforward way to define it is to take the direct product of C*-algebras \oplus_{\pi} A_\pi, where \pi runs over all unitary representations (continuous in the strong operator topology) of G, and A_\pi is the C*-algebra generated by \pi(L^1(G)) in B(H_\pi). This called also the enveloping C*-algebra of L^1(G) (see Dixmier Section 2.7). 

The full group C*-algebras has the advantage that it has a universal property: it “contains” all representations of the group. The reduced group C*-algebra has the advantage that it is defined concretely, thus it is more accessible. In favourable situations (in fact, if and only if G is amenable) the two kinds of group C*-algebras are *-isomorphic (a non-trivial theorem – see Pedersen Theorem 7.3.9). Thus, when G is amenable, C^*_r(G) can “tell us everything” about the unitary representations of G.

It is interesting to note the following: If G is commutative, then C^*_r(G) is a commutative C*-algebra. By what we noted above C^*_r(G) must therefore be equal to C_0(X) for some l.c.h. space X. It turns out that this X must be equal to the dual group \hat{G}. Thus

C^*_r(G) = C_0(\hat{G}).

This is a C*-algebraic manifestation of Pontryagin duality.

For example, C^*_r(\mathbb{S}^1) = C_0(\mathbb{Z}), and C^*_r(\mathbb{Z}) = C(\mathbb{S}^1).

If G is compact the C^*_r(G) is *-isomorphic to a direct sum \oplus M_j, where the sum runs over all irreducible representation of G (the key point is that an irreducible representation of a compact group is finite dimensional).

2. C* maps

The only maps we consider (under further notice, perhaps) are *-homomorphisms: algebra homomorphism  that preserve the * operation. A useful fact about *-homomorphisms is that if f : A \rightarrow B is a *-homomorphism between two C*-algebras then \|f(a)\| \leq \|a\| for all a \in A, and in particular A is continuous. If f is also injective then it is isometric.


1) If p \in A satisfies p = p^* = p^2 (such an element is said to be a projection) then the map 1 \mapsto p extends uniquely to map (a * homomorphism) f : \mathbb{C} \rightarrow A.

2) Hom(M_n, M_k)Every f \in Hom (M_n, M_n) must be unitarily implemented (i.e., given by f(x) = UxU^* for all x) or zero. Thus a nonzero map from M_n to itself is “unitarily equivalent” to the identity representation. Every f \in Hom(M_n,M_k) is the direct sum of maps unitarily equivalent to the identity. Thus (up to unitary equivalence) all nonzero maps M_2 \rightarrow M_3 are of the form

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

all nonzero maps M_2 \rightarrow M_4 are either of the form above or of the form

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


3) If \sigma : Y \rightarrow X is a continuous map between compact spaces, then the map F \mapsto F \circ \sigma is a unit preserving * – homomorphism between the C*-algebras C(X) and C(Y). Every unital map between commutative C*-algebras arises this way. In fact, there is an equivalence of categories between the category of compact (Hausdorff) spaces with continuous maps as morphisms and the category of commutative unital C*-algebras with unital maps as morphisms

It is an interesting exercise to figure out what happens in the non-unital case (first, decide what “non unital” means).

3. Construction of “new” C*-algebras from “old” ones

1) Ideals. If A is a C*-algebra and I is a closed (two sided) ideal, then a theorem says that I is also closed under the adjoint, thus it is a C*-algebra. One of the most important examples is the following: let H be an infinite dimensional separable Hilbert space, and in the C*-algebra B(H), let K be the ideal of compact operators. K can also be defined as the closed two sided ideal generated by the operators of finite rank. K is the unique two sided closed ideal in B(H), and in itself is a simple (has no ideals) C*-algebra. (B(H) has a lot of non closed  ideals, but they are all contained in the compacts; so actually B(H) is a local ring.)

2) Quotients. If I is a closed ideal of the C*-algebra A, then one can form the quotient space A/I, which is also a *-algebra, and in fact a C*-algebra. This is one of the best examples of why it is useful to consider the abstract notion of C*-algebras, even though they may be represented concretely and faithfully as subalgebras of some B(H); the algebra A/I is shown to be a C*-algebra by checking that it satisfies the “axioms” of a C*-algebras – even when A is given concretely as a sub algebra A \subset B(H) it really not clear how to identify a Hilbert space on which the quotient acts by considering the action of A on H.

A central example is the Calkin algebra, defined to be the algebra Q := B(H) / K, here H is infinite dimensional and separable. It is is no surprise that the Calkin algebra is not a separable C*-algebra, but it is rather surprising that it cannot be represented faithfully on a separable Hilbert space. So in a way this quotient of B(H) is less tractable than B(H) itself.

3) Unitizations. Every C*-algebra A (unital or not) can be embedded in a unital C*-algebra, denoted A^+, such that A is an ideal of codimension 1. This procedure allows us to reduce problem about general C*-algebras to unital C*-algebras, which for technical reasons are simpler.


  1. The exact sequence 0 \rightarrow A \rightarrow A^+ \rightarrow \mathbb{C} \rightarrow 0 is then split exact.
  2. If A is unital, then A^+ \cong A \oplus \mathbb{C} as rings.
  3. If X is locally compact, then C(X)^+ \cong C(X^+), where X^+ denotes the one-point compactification of X.

4) Tensor products. If A and B are C*-algebras, one may form the algebraic tensor product A \otimes_{alg} B. If one want to make this algebra into a C*-algebra then one needs to define a conjugation, a norm, and then complete. The conjugation is the obvious one. Regarding the norm things ar more complicated. The norm one wants to define should satisfy the C*-properties, and it is also desirable that it satisfy

\|a \otimes b\| = \|a\| \|b\|.

(A norm on the tensor product of two Banach algebras with this property is said to be a cross norm).

There turn out to be (in general) uncountably many different ways of defining a C* cross norm on A \otimes B, and at least two very natural choices. One natural choice is as follows: fix faithful representations \pi : A \rightarrow B(H) and \sigma : B \rightarrow B(K), identify A \otimes_{alg} B with \pi(A) \otimes \sigma(B) on the Hilbert space H \otimes K,  and then complete with respect to the operator norm. The completion is denoted A \otimes_{min} B or simply A \otimes B, and is called the minimal (or spatial) tensor product.

Another choice is to take a kind of enveloping C*-algebra of A \otimes_{alg} B. This other tensor product is denoted A \otimes_{max} B, and is called the maximal tensor product.

The details are quite delicate, and the reader is referred to the book by Brown and Ozawa.

However, there is a class of C*-algebras – the nuclear C*-algebras – for which it holds that whenever B is another C*-algebra, there is a unique C*-norm on A \otimes B, and then the completion is also denoted simply A \otimes B, since this has one and only one meaning. We will use A \otimes B always to denote the minimal tensor product.

Many interesting C*-algebras are nuclear: finite dimensional algebras, commutative algebras, the compacts, as well as ideals and quotients of nuclear algebras. If G is amenable then C_r^*(G) (= C^*(G)) is nuclear (for discrete groups the converse implication also holds). All of these facts can be found in Brown-Ozawa, except the fact that C_r^*(G) is nuclear for locally compact groups.

If X and Y are topological spaces, then C(X ) \otimes C(Y) = C(X \times Y), and C(X) \otimes A may be identified with the algebra C(X,A) of continuous functions from X into A.

5) Functions, suspension, and cone. If A is a C*-algebra, we denote by IA the continuous functions from I = [0,1] into A, and also

CA = \{f \in IA : f(0) = 0\}

(this is is called the cone of A) and

SA = \{f \in IA : f(0) = f(1) = 0\}

(the suspension of A). We have that IA = A \otimes C([0,1]), that CA = A \otimes C_0((0,1]) and that

SA = A \otimes C_0((0,1)) = A \otimes C_0(\mathbb{R}).

4. Exact sequences

Given an ideal I in A, we have the short exact sequence

0 \rightarrow I \rightarrow A \rightarrow A/I \rightarrow 0.

For example, we have the following exact sequence:

(*)   0 \rightarrow K \rightarrow B(H) \rightarrow Q \rightarrow 0.

Such a short exact sequence is sometimes said to define an extension of K by Q. Unfortunatelythis is also called an extension of Q by K. Since this terminology is confusing we will not use it.

Let’s look at another example of an exact sequence. Let H^2 be the Hardy space  – that is the closed subspace of L^2(\mathbb{T}) consisting of functions whose negative Fourier coefficients vanish (see this lecture for more information on H^2). For every continuous function f, we have the Toeplitz operator T_f, defined by

T_f h = P fh for all h \in H,

where P denotes the orthogonal projection of L^2(\mathbb{T}) onto H^2. The Toeplitz algebra \mathcal{T} is the C*-subalgebra of B(H^2) generated by all Toeplitz operators. An important special case is the operator T_z, obtained by taking for f in T_f the identity function z:= z \mapsto z on \mathbb{T}. The operator T_z is often called the shift, or the unilateral shift. The Toeplitz algebra is also the C*-algebra generated by T_z (note that T_z is an isometry, so that the identity is in there). One may show that K is an ideal in \mathcal{T}, and that T_z T_z^* - T_z^* T_z is compact (exercise!). Thus \mathcal{T}/K is commutative, so it is C(X) for some X, and it is not hard to see that X = \mathbb{T} (the unit circle, which is denoted in the lectures as \mathbb{S}^1). Thus we have a short exact sequence

(**)   0 \rightarrow K \rightarrow \mathcal{T} \rightarrow C(\mathbb{T}) \rightarrow 0.

In the theory of extensions of C*-algebras there is a notion of trivial extension, and equivalence of extensions. As a precursor for things to come, and without going into details, it was shown in the lecture that the extension (**) is not trivial. Write \pi for the projection of \mathcal{T} modulo the compacts.

Claim: The extension (**) is not split. That is, there is no *-homomorphism \alpha : C(\mathbb{T}) \rightarrow B(H) such that \pi \circ \alpha = id.

Proof: If there was, then consider U = \alpha(\pi(T_z)) \in B(H). Then \pi(U - T_z) = 0, thus T_z = U + k, where k \in K. But U must be a normal operator because \alpha is a *-homomorphism from a commutative algebra. But then when we look at the Fredholm index we get

ind(T_z) = ind(U + k) = ind(U) = 0.

On the other hand, it is easy to compute directly that ind(T_z) = -1. Therefore, there cannot be such a lift.

One more remark about exact sequences: if J \rightarrow A \rightarrow A/J \rightarrow 0 is exact, and B is a nuclear C*-algebra, then

0 \rightarrow J \otimes B \rightarrow A \otimes B \rightarrow (A/J) \otimes B \rightarrow 0

is also exact (if the tensor product is the max tensor product, then this true regardless of whether B is nuclear or not). Taking the nuclear algebra C_0(\mathbb{R}) for B gives the exact sequence

0 \rightarrow SJ \rightarrow SA \rightarrow SA/SJ \rightarrow 0.

5. Homotopy

Two maps f^0,f^1 : A \rightarrow B are said to be homotopic if there exists a map H : A \rightarrow IB such that \pi_0 H = f^0 and \pi_1 H = f^1, where \pi_t F = F(t) for every F \in IB.

Definition: A is said to be contractible if id : A \rightarrow A is homotopic to 0.

For example, the cone CA is contractible for every A.

6. Crossed products

Whenever there is a (l.c.h. as always) group G acting continuously on a C*-algebra A, say by \alpha : G \rightarrow Aut(A), one can form a new C*-algebra that encodes the action of G on A (By continuous action, we mean that for every a \in A, the function t \mapsto \alpha_t(a) is norm continuous.)  Actually, there are two C*-algebras one may form. One is called the reduced crossed product of A by G, denoted A \rtimes_r G or A \rtimes_{\alpha,r} G. There is also the full crossed product A \rtimes G or A \rtimes_\alpha G. As in the case of group C*-algebras, these agree in favourable situations. For details about this construction see Sections 7.4-7.7 in Pedersen.

If G is a l.c. group and A is a C*-algebra, one may form the *-algebra K(G,A) of all compactly supported continuous functions from G into A, endowed with the involution

f^*(s) = \Delta(s)^{-1} \alpha_s(f(s^{-1})^*),

and the product

(f * g)(t) = \int f(s) \alpha_s(g(s^{-1}t)) d \mu(s).

Give this space a norm \|f\| = \int \|f(s)\| d \mu(s). Then the completion, denoted L^1(G,A), is a Banach *-algebra.

A covariant representation for (A,G,\alpha) is a triple (\pi, u, H), where \pi : A \rightarrow B(H) and u: G \rightarrow B(H) are representations, and

\pi(\alpha_t(a)) = u_t \pi(a) u_t^*,

for all t \in G and a \in A. There is a bijective correspondence between covariant representations of (A,G,\alpha) and non degenerate representations of L^1(G,A): given a covariant representation (\pi,u,H), the corresponding *-representation \pi \times u of L^1(G,A) is given by

\pi \times u (f) = \int \pi(f(t)) u_t d \mu(t) .

The universal representation (\rho,H_\rho) of L^1(G,A) is the direct sum of all non degenerate *-representations. The full crossed product A \rtimes G is the closure of \rho(L^1(G,A)) in B(H_\rho). It is a universal C*-algebra with respect to covariant representations.

The reduced crossed product A \rtimes_r G is defined more concretely. Let \pi be any faithful representation of A on a Hilbert space H. Let L^2(G,H) = L^2(G) \otimes H be the space of square integrable H-valued functions. Then we define a covariant representation (\sigma,\lambda,L^2(G,H)) by setting

(\sigma(a) \xi)(t) = \pi(\alpha_{t^{-1}}(a) ) \xi(t)


(\lambda_s \xi)(t) = \xi(s^{-1} t)

for a \in A, \xi \in L^2(G,H) and s,t \in G. Then A \rtimes_r G is the defined to be the closure of \sigma \times \lambda (L^1(G,A)) in B(L^2(G,H)). It turns out that it does not matter with which faithful representation \pi of A we started out with.

Two important and simple special cases are the following.

1) If A = \mathbb{C}, then A \rtimes G = C^*(G) and A \rtimes_r G = C_r^*(G).

2) If G acts trivially on A, then it is easy to see that A \rtimes_r G is isomorphic to A \otimes C_r^*(G) (the minimal tensor product). The full crossed product is A \otimes_{max} C^*(G).

7. Rotation C*-algebras

Let H = L^2(\mathbb{T}). We can represent the C*-algebra C(\mathbb{T}) *-isomorphically on H by letting every f \in C(\mathbb{T}) act by multiplication. Note that the image of C(\mathbb{T}) in B(H) is the C*-algebra generated by the unitary operator U = M_z : h(z) \mapsto z h(z).

Fix a real number \lambda. Define a unitary V on H by

[V h](z) = h(e^{- i \lambda}z).

V is the unitary implementing “rotation by angle \lambda” on H, and conjugating with V implements the automorphism \alpha of C(\mathbb{T}) given by rotation by \lambda. Denote by A_\lambda the C*-algebra generated by U and V. This algebra is called the rotation algebra corresponding to the angle \lambda, and it is also the C*-algebra generated by the C*-algebra C(\mathbb{T}) and a unitary that implements the automorphism \alpha. Note also that one has the relationship

UV = e^{-i \lambda} V U.

This is almost the simplest example of a crossed product (since we had a single automorphism here, the group in question is \mathbb{Z}). The simplest class of examples is when the group acts trivially on the complex numbers. In that case the crossed product is the group C*-algebra.

It turns out that the algebras A_\lambda depend strongly on \lambda. If \lambda_1, \lambda_2 are taken from the interval [-\pi, \pi], then A_{\lambda_1} and A_{\lambda_2} are isomorphic if and only if \lambda_1 = \lambda_2 or - \lambda_2.

How can one tell when two different C*-algebras are different?

It is time to mention some K-theory.

K-theory is a pair of functors K_0, K_1 : \mathcal{C} \rightarrow Ab (form the category of C*-algebras into abelian groups).

Suppose that \lambda is irrational. The K_0-group (which have not yet been defined) of A_\lambda can be shown to be \mathbb{Z} \oplus \mathbb{Z}. The trace of A_\lambda sends K_0(A_\lambda) to \mathbb{Z} + \lambda \mathbb{Z}, which can be told apart (even though they are isomorphic as mere groups).

We will come back to this in a later lecture.

8. A C*-algebra arising from the uncertainty principle

 The “matrix mechanical” formulation of the uncertainty principle is that the position operator X and the momentum operator P satisfy

(1)  [X,P] := XP - PX = i \hbar.

It follows easily from existence of the trace that no such operators can exist on a finite dimensional space. A little more work and one can also show that there is no pair of bounded operators that satisfies this identity. (This does not mean that (1) is no good – the momentum and position operators are usually unbounded).

Investigating the possible set of self adjoint solutions to (1), von Neumann introduced the “change of variables” U = e^{iX}, V = e^{i P}. Then one sees that UV = c VU, where c = e^{- 2 \pi i \lambda} for an  appropriate \lambda, that depends on the value of \hbar. Moreover, since X,P are self adjoint, U,V are unitary. It turns out that the C*-algebra generated by U and V is (at least when \lambda is irrational) the rotation algebra A_\lambda that we met above.

What does this crossed product of the continuous functions by the integers have to do with quantum mechanics? We did not hear an answer to that, but it was mentioned that this is but one of many instances where a mathematical object (here a C*-algebra) pops up in apparently unrelated situations, building bridges between the different fields. Haim also suggested the following article on the Stone von Neumann theorem

9. A C*-algebra arising from a foliation of the torus

As a last subject, consider the two torus \mathbb{T}^2 = \mathbb{R}^2/\mathbb{Z}^2, and consider the foliation of the torus given by the set of all lines in the torus with slope \lambda. There is a way to define a C*-algebra of a foliation (we did not go into how exactly one does this). It turns out that the C*-algebra of a foliation with slope \lambda is A_\lambda \otimes K (this is called the stabilisation of K). This is not *-isomorphic to A_\lambda, but its structure is very closely related, and in particular the K groups are the same. So here we have that again the same algebra pops up in a seemingly different situation.