CHIRAL DIFFERENTIAL OPERATORS WORKSHOP

GABRIEL C. DRUMMOND-COLE

1. Justin Thomas, Introduction to vertex algebras

[We’re still waiting on Owen?] Thanks. If you haven’t seen vertex algebras before, this will be a violent introduction. I’ll write down the axioms, and then work through an example. At the end I’ll throw in some intuition. I’ll try to leave the axioms up over here, and I should say that this workshop is “chiral differential operators” and chiral for physicists often means vertex for mathematicians.

The data are:

• V is a complex vector space

• |0⟩ in V is the vacuum vector,

• T is an operator on V, and

• Y ( , z) : V → End V [[z^{±1}]], the vertex operators. subject to the axioms

• (fields) for all A in V, Y (A, Z)B is in V ((z)), where B is the “field,” these have only finitely many negative terms

• vacuum: Y (|0⟩, z) = id_{V}

• state field correspondence: for all A, we have Y (A, z)|0⟩ ∈ V [[Z]] and so looking at it at z = 0 we get Y (A, 0)|0⟩ is A. This is the correspondence between states and fields

• translation: [T, Y (A, z)] = ∂_{z}Y (A, z) and T |0⟩ = 0

• locality: for A and B in V there is some N so that (z−w)^{N}[Y (A, z), Y (B, z)] =

0. Thus these don’t commute but they commute up to a finite pole. All we’re going to do this talk is an example, the Heisenberg vertex algebra. I’ll define all my data. For V I’ll take ℂ[b_{−1}, b_{−2}, …]. A ℤ_{≥0}-graded vector space with |b_{−n}| = n. The vacuum vector |0⟩ is one. You can think of this as observables on the formal disk. Functions are ℂ adjoin a formal parameter. Functions on functions is observables, like polynomials on ℂ[[t]] viewed just as a vector space. The operator T is T b_{−n} = nb_{−n−1}, and extend by Leibniz.

Define Y ( , z) first for b_{−1}, let me write

Y (b_{−1}, z) = ∑_{n} ∈ ℤb_{n}z^{−n−1}

where b_{n} = n∂_{b_{−n}} for n ≥ 0 in End V. We treat b_{−n} ∈ End(V) as multiplication by b_{−n}. So it’s easier to see if you write this out:

Y (b_{−1}, z) = ⋯ + 2∂_{b_{−2}}z^{−3} + ∂_{b_{−1}}z^{−2} + 0z^{−1} + b_{−1} + ⋯

Let’s verify the field axiom for this truncated version. If I act Y (b_{−1}, z)b_{j_{1}} ⋯ b_{j_{k}}, this will be in V ((z)) because this can only have nonzero terms for a finite number of derivatives.

Date: August 2, 2011.

For the state field correspondence axiom we get Y (b_{−1}, z)1 = b_{−1} + b_{−2}z + ⋯ and applied to 0 we get b_{−1}.

Let’s skip ahead to the translation axiom to get an idea of what our other fields should be. I’m declaring Y (b_{−1}, z), and we’ll use this to generate all the others. We have to be careful in order to make sure we get something that satisfies all of the axioms.

Let’s look at the translation axiom. We can show that [T, b_{n}] is −nb_{n−1} for n ∈ ℤ. We can actually show that (ad T)^{n}Y (b_{−1}, z) = ∂_{z}^{n}Y (b_{−1}, z). All the axioms we can verify with one field are verified in this case, with b_{−1}. Whatever vector I have, bracketing with T will give another derivative. Some of your fields will look like derivatives. The state field correspondence will tell you what you are taking a derivative of, what you are getting.

If you look at ∂_{z}^{n}(b_{−1}, z)|0⟩|_{z=0} you get n!b_{−n−1}. If this is Y (V, z)|0⟩, then that means that by the state field correspondence Y (b_{−n}, z) = \frac{1}{(n−1)!}∂_{z}^{n−1}Y (b_{−1}z).

What about products of these things? Let’s worry about simple products, what about Y (b_{−1}^{2}, z)? Our intuition should let us guess that Y (b_{−1}^{2}, z) = Y (b_{−1}, z)^{2}, and that doesn’t work. This is

∑_{n} ( ∑_{k+ℓ=n} b_{k}b_{ℓ}) z^{−k−ℓ−2}

These infinite sums are okay as long as when you evaluate on a vector you get a finite sum. You can show that you get a finite sum for all v ∈ V as long as n ≠ 0. The reason for this is some language that might come up in a little bit. Call b_{1}, b_{2}, b_{3}, annihilation operators and b_{−1}, b_{−2}, b_{−3} creation operators, which satisfy the commutation relation [b_{k}, b_{ℓ}] = kδ_{k,−ℓ}. These commute except when you try to get past your negative. When n ≠ 0, move your annihilation operators to the right. A vector will be a polynomial, and it’s only going to be nonzero for a finite number of annihilation operators. As long as you can move the annihilation operators to the right, you get a finite sum. For n = 0, you get

∑_{k<0} −kb_{k}∂_{b_{−k}} + ∑_{k>0} k∂_{b_{−k}}b_{−k}

Even on the vacuum, this is an infinite sum of the vacuum.

The next thing you do is this sort of violent operation. Define the normally ordered product Y (b_{−1}, z). It’s fine as long as annihilation operators are on the right. So : Y (b_{−1}, z)Y (b_{−1}, z) : is the same as before, except that annihilation operators are always on the right. So I get for the problem term 2 ∑_{k<0} −kb_{k}∂_{b_{k}}.

I haven’t touched the locality axiom. Let me write down what we do in general, and then we’ll discuss the locality axiom. We actually have clocks. The rule will be that

Y (b_{−j_{1}} ⋯ b_{−j_{k}}) = \frac{1}{(j_{1} − 1)! ⋯ (j_{k} − 1)!} : ∂_{z}^{j_{1}−1}Y (b_{−1}, z) ⋯ ∂_{z}^{j_{k}−1}Y (b_{−1}, z) :

This is not associative or commutative, so do it in the way so that the multiplication is on the right.

These things are supposed to parameterize multiplication, where you imagine you have a disk, and points floating around, and on those points you put some vectors, and when they collide you have some multiplication. Let me draw some pictures. For now, let me give a heuristic interpretation. A picture like this:

•^{∞} •^{0} •^{z}

We should have the same result if we have four points, moving them close together in two different ways,

• ∞ w •^{∞}•^{C,0} •^{A,z−w}•^{B,0}  •^{∞} •^{0} •^{z} •^{w}  • ∞ 0 •^{∞}•^{A,z} •^{B,w} •^{C,0}

so we should have Y (Y (A, z − w)B, w)C should be “equal” to Y (A, z)Y (B, w)C, which should give the operator product expansion:

Y (A, z)Y (B, w)C = ∑_{n} ∈ ℤ\frac{Y (A_{n}B, w)}{(z − w)^{n+1}}C

where Y (A, z) = ∑ A_{n}z^{−n−1}.

I want to say how this operator product expansion helps us argue for locality. If I let b(z) be Y (b_{−1}, z) then b(z)b(w) is ∑ \frac{Y (b_{n}b_{−1},w)}{(z−w)^{n+1}} which is \frac{1}{(z−w)^{2}} + ∑ \frac{1}{m!} : ∂_{w}^{m}b(w) · b(w) : (z − w)^{m} which is \frac{1}{(z−w)^{2}} + : b(z)b(w) : So then we know what b(w)b(z) is as well, but their bracket is not 0! \frac{1}{z−w} = \frac{1}{z} \frac{1}{1− \frac{w}{z}} which, for |w| < |z|, is ∑ z^{−n−1}w^{n} or ∑ z^{n}w^{−n−1} as |z| < |w|. Define δ(z − w) = ∑ z^{n}w^{−n−1} and [b(z), b(w)] = ∂_{w}δ(z − w) and (z − w)^{2}∂_{w}δ(z − w) = 0.

This is encoding this straightforward geometric picture, and so it gives some background for this, and some reasoning.

2. Owen Gwilliam, Recovering a vertex algebra from an action functional

My goal is to try to give an explanation for where what Justin said came from. I’ll try to relate it a little more closely to a field theory. I’ll write down the simplest imaginable theory, where everything is holomorphic. I’ll spend a while focussing on the classical theory, to wrap our brains around it. If a field ϕ is a smooth function, in C^{∞}(ℂ), then the Euler-Lagrange equations ¯∂ϕ = 0, the solutions are holomorphic functions. You might want to write an action to pick out the Euler-Lagrange equation. Write down S(ϕ) = ∫_{ℂ} ϕ¯∂ϕdz. I’ll use the BV formalism, do things a little differently, it will be like a deformation quantization. I’ll think of the fields as the Dolbeaut complex Ω^{0,0} →^{¯∂} Ω^{0,1}, this is the “derived space of holomorphic function,” because its homology is the holomorphic functions. I’m encoding this, I want a field to be an element of the cohomology. The classical solutions is the cohomology, viewed as a sub-thing. This is a sheaf on ℂ, and let me define what the observables are. Obs(U) = (Sym(Ω^{0,∗}(U)^{∨}), ¯∂), polynomials. I take compactly supported distributions dual to the Dolbeaut complex, this is a cummutative dga. I should call this Obs^{cl} for classical but I’ll be lazy.

What kind of data does Obs measure? If I have some points, at a point x ∈ ℂ, I can ask for observables at that point. If I look at Ω_{x}^{0,0∨}, this si the span

of {δ_{x}, ∂_{z}δ_{x}, ∂z̄δ_{x}, ⋯ ∂_{z}^{m}, ∂n ; z̄δ_{x}, ⋯ }. So ∂_{z}^{2}δ_{x}(ϕ) = (∂_{z}^{2}ϕ)(x), for instance. I can

identify Ω^{0,1}(U) with C^{∞}(U)dz̄. I can view (Ω_{x}^{0,1})^{∨} as the span, I hope this isn’t too weird, δ_{x} \frac{∂}{∂dz̄}, where \frac{∂}{dz̄} deletes the dz̄. I want to take the symmetric algebra:

Obs_{x} = ℂ[δ_{x}, ∂_{z}δ_{x}, …, ∂_{x} \frac{∂}{∂dz̄}, …]

which has a differential ¯∂ which takes δ_{x} \frac{∂}{∂dz̄} to −∂z̄δ_{x}. If I add ∂_{z} on the left, I do so on the right as well.

Let’s compute the cohomology of the observables at the point x. I claim that if you use this differential, then H^{∗}Obs_{x} ≅ ℂ[δ_{x}, ∂_{z}δ_{x}, …, ∂_{z}^{n}δ_{x}], so only things that involve ∂_{z} of δ_{x}, so you’re just measuring holomorphic data. If I have a field that’s holomorphic, then applying ∂z̄ vanishes. Of course, you could also consider tuples of points. It would be easy to consider Obs_{{x_{1},...,x_{n}}}.

What kind of mathematical object are these observables? For now, I want to emphasize, the fields Ω^{0,∗}, ¯∂, is a sheaf. The distributions are a cosheaf. In a cosheaf, all the arrows in a sheaf are turned around. Obs is just polynomials in the cosheaf (Ω^{0,∗∨}, ¯∂), this is a cosheaf in commutative algebras.

At the moment, that’s the kind of thing the classical observables form. For some of you, you’re good at unpacking definitions. There are structure maps, and I want to make sure you understand how that works. If I have U inside V, then there is a map Obs(U_{1}) ⊗ Obs(U_{2}) → Obs(V). How does that work? Suppose I have δ_{x} and δ_{y}, then what does δ_{x} ⊗ δ_{y} go to? Then ι(δ_{x} ⊗ δ_{y})(ϕ ∈ Ω^{0,0}(V)) = δ_{x}(ϕ|_{U_{1}})δ_{y}(ϕ|_{U_{2}}) = ϕ(x)ϕ(y).

That’s like a two-point function. That’s a totally reasonable measurement that I’m making. I want to connect to Justin’s talk.

I’ll call 𝔻_{r}(x) the open disk of radius r around x. So I’ll have 0 in the center and ζ in 𝔻_{r}(0). I know that Obs(0) and Obs(ζ) map into Obs(𝔻), and we identify these, Obs_{0}, with ℂ[δ_{0}, ∂_{z}δ_{0}, …] and analagously, Obs_{ζ} = ℂ[δ_{ζ}, ∂_{z}δ_{ζ}, …]

A holomorphic function in the disk has a power series around 0, ∑ a_{n}z^{n}. I can pick out c_{n} which gives a_{n}, which is \frac{1}{n!}∂_{z}^{n}δ_{0}.

I could use the Cauchy residue formula and say that c_{n}(f) = \frac{1}{2πi} ∫_{γ} f(z)z^{−1−1n}dz by the Cauchy residue formula. My c_{n} corresponds to Justin’s b_{−1−n}.

Now I want V to correspond to the observables at zero. These match up up to some constant, b_{−1−i} and c_{i}, up to some constant, maybe a factorial.

If I apply δ_{ζ}(f), I get ∑ a_{n}ζ^{n}. The observable δ_{z} can be expressed as a power series in c_{n}, δ_{ζ} = ∑ ζ^{n}c_{n}. I can write a map Obs_{0} → Obs_{ζ} and T is the infinitesimal version of it. If we rewrote in Justin’s notation, c_{n}ζ^{n} is b_{−1−n}ζ^{n}. Justin used z instead of ζ.

The most interesting piece of data is the vertex operator. We have the two points in the disk, and I have a map Obs_{0} ⊗Obs_{ζ} → Obs_{𝔻}. Here A⊗B maps to Y (A, ζ)B, this will define a Y, this is not Justin’s Y, but looking at point observables.

The goal is to BV quantize this field theory I wrote down, which leads to a modification of the the observables. This is a kind of deformation quantization, changing the differential a little bit. If I have a tuple of open sets, then I get maps Obs(U_{1}) ⊗ Obs(U_{2}) ⊗ Obs(U_{3}) → Obs(V).

U_{1} U_{2}U_{3}

If I have an annulus 𝔸_{r<R} and A_{s<S}, then these are the same if \frac{r}{R} = \frac{s}{S}. So there’s a map Obs(𝔸_{r<R})⊗Obs(𝔸_{s<r}) → Obs(𝔸_{s<R}), and this is very much like an associative algebra, and observables on the disk are like a module for this algebra structure.

↦

Let’s do BV quantization now. When you do deformation quantization, you have a Poisson algebra, and you are going to an associative algebra. In this case, in QFT, your factorization algebra has a kind of Poisson structure as well. The observables have a Possoin bracket, which lead to Δ, the BV Laplacian. Then Obs^{q} will be Obs ⊗ ℂ((ℏ)) with the differential ¯∂ + ℏΔ. Observe that ⟨gdzdz̄, ϕ⟩ = ∫_{U} ϕgdzdz̄. You have a commutative diagram, we can change things, where the vertical maps are a homotopy equivalence:

\xymatrix{Ω_{c}^{1,0} \ar[r]^{¯∂} \ar@{^{(}->}[d] & Ω_{c}^{1,1} \ar@{^{(}->}[d] \\ (Ω^{0,1})^{∨} \ar[r]_{¯∂} & (Ω^{0,0})^{∨}}

So now Obs(U) are Sym(Ω_{c}^{1,∗}(U)[1]) with ¯∂. This has a Poisson bracket of homological degree 1, I’ll describe it only partially and then you can extend it by Leibniz. {, } : (Ω_{c}^{1,∗})^{⊗2} → ℂ is given by fdz ⊗ gdzd̄z ↦ ∫_{U} fgdzdz̄. Thus we obtain

Δ(O_{1}O_{2}) = (ΔO_{1})O_{2} + (−1)^{|O_{1}|}O_{1}ΔO_{2} + {O_{1}, O_{2}}

This Δ vanishes on Sym^{1}, and on Sym^{2}, we have Δ(fdz · gdzdz̄) = {fdz, gdzdz̄}. Now I can deformation quantize by adding ℏΔ to the differential. This is no longer a dga.

You get a spectral sequence filtering by powers of ℏ, and we get that H^{∗}Obs^{q} ≅ (H^{∗}Obs^{cl})((ℏ)). This deformation, we’ll see, gives us the Heisenberg vertex algebra.

Here’s a question. How do I represent c_{n} in this new version of Obs? We want c̃_{n} ∈ Ω_{c}^{1,1}(𝔻) such that c̃_{n}(f) = c_{n}(f). Let’s pick a bump function, radius r^{2}, ρ so that ∫ ρ(r)dr = 1. It’s centered at R, say. Then c̃_{n} = \frac{1}{2i}ρ(|z|^{2})z^{−n} \underbrace{dzdz̄}_{2irdrdθ}. I can write the integral ∫_{𝔻} z^{k}c̃_{n} as ∫_{r} ∫_{θ} ρ(r^{2})r^{−n}e^{−inθ}r^{k}e^{ikθ}rdrdθ, so reweighting c̃_{n}, I’ll get back c_{n}.

People are either really unhappy or smiling.

Let me do a calculation. I can pick annuli in different orders, put c_{n} on the inside or the outside of c_{m}. I want to compare.

c_{m} c_{m} c_{m}

So I can make a bump function that includes the bump functions for both the small and big radii for c_{m}. So ρ(R) = ∫_{0}^{R} ρ_{1}(s) − ρ_{2}(s)ds.

Then I claim I have A ∈ Obs of the big annulus so that (¯∂ + ℏΔ)(A) = c_{m,1}c_{n} − c_{m,2}c_{n} + ℏ · constant so that [c_{m,1}c_{n}] = [c_{m,2}c_{n}] up to ℏ times a constant, like in Justin’s talk. I want the first two to be ¯∂A and the second part to be ℏΔ(A). Let me remind you that ¯∂f(|z|^{2}) = z \frac{∂}{∂(|z|^{2})}f. So consider (ρ · z^{k}dz), and ¯∂ of this gives me −(ρ_{1} − ρ_{2})z^{k+1}dzdz̄.

Then I’ll say that A will be ρ(|z|^{2})z^{−m−1}dz · c_{n}, and then I get ¯∂A = (c_{m,2} − c_{m,1})c_{n}, and my BV Laplacian, I bracket them, which is the same as, well, it’s Δ(A) = ∫ ρ(|z|^{2})π(|z|^{2})z^{−m−1}z^{−n}dzdz̄, which is δ_{−1−m−n,0} times some number, and that’s the Heisenberg vertex algebra.

3. Peter Ulrickson, Topological background on genera and characteristic classes

All right. I guess, first of all we’ll talk about characteristic classes and how they’re related to questions of orientation, spin structure, talk about genus, the Todd genus and the Witten genus.

So, to start out, say we have a manifold M and we have its tangent bundle T M and we have a map classifying that as a principal O(n) bundle, we have a map f to the classifying space BO(n). The question of orientability is a question of whether we can lift this map to BSO(n). The characteristic classes we see in this context are the first Stiefel-Whitney classes. So BO(n) is G_{n}(ℝ^{∞}), the Grassmanian of n-planes in ℝ^{∞}. This has ℤ/2 cohomology ℤ/2[w_{1}, …, w_{n}], with w_{i} in degree i. Essentially we define the Stiefel-Whitney classes as pulling back these characteristic classes as pulling back via the characteristic map. For BSO(n), the cohomology is ℤ/2[w_{2}, …, w_{n}]. There’s nothing in degree one. The question of orientation is a question of whether the first Stiefel-Whitney class is 0, where w_{1}(M) is the pullback of w_{1} in BO(n).

Next, we have Spin(n) sitting over SO(n), which is the universal cover for n ≥ 3, and if we have an oriented manifold we can ask whether we can put a spin structure on the tangent bundle.

Definition 1. A spin structure for an oriented manifold M is a principal Spin(n)- bundle P_{Spin(n)}(M), and a map ξ to the principal SO(n) bundle we get from the orientation, so that ξ restricted to the fiber of the projection is the covering map Spin(n) → SO(n). A choice of such a bundle and map is a spin structure.

It turns out that the obstruction to giving a spin structure is the second Stiefel-Whitney class. M an oriented manifold is spin (can be given a spin structure) if and only if the second Stiefel Whitney class is 0. Sitting over BSO(n) is BSpin(n). The question for continuing lifting is whether w_{2} = 0. Then the classes we’re defining for real vector bundles. We can also work with complex bundles using BU(n). Let V be a complex vector bundle. We can define the Chern classes by the same procedure, so that we have f_{V} : M → BU(n), and the integral cohomology of BU(n) is ℤ[c_{1}, …, c_{n}] with c_{i} in degree 2i. Some properties we have for the Chern classes are, well, let c(V) be the total Chern class 1 + c_{1}(V) + ⋯, and c(V ⊕ W) is c(V)c(W), and when you add a trivial bundle, it doesn’t change. This will be useful when we define the Chern roots.

Given a real bundle, complexify it and take the Chern classes to get the Pontryagin classes. These are defined for real vector bundles. Define P_{i}(M) = (−1)^{i}c_{2i}(T M⊗ ℂ). As Ryan said, the odd ones are two-torsion because, if you complexify a real bundle, it’s isomorphic to its conjugate bundle, and c_{i}(V) = (−1)^{i}c_{i}(V̄). So we only need to use the even Chern classes.

I won’t make a precise statement, we have this splitting principle, we can pretend that our bundle decomposes as a sum of line bundles. If we complexify a real bundle, we can treat it not just as a sum of line bundles, but a sum of line bundles which are conjugate, T M ⊗ ℂ = L_{1} ⊕ L̄_{1} ⊕ ⋯ ⊕ L_{n} ⊕ L̄_{n}. We’ll get Chern roots from this. If we think of V as a sum of line bundles, then c(V) = (1+c_{1}(L_{1})) ⋯ (1+c_{1}(L_{n})) = ∏(1 + x_{i}), where x_{i} is a Chern root, x_{i} = c_{1}(L_{i}). When we take the total Chern class of T M ⊗ ℂ, this is going to be (1 + x_{1})(1 − x_{1}) ⋯, and it will be the product of things of the form (1 − x_{i}^{2}). In particular, the first Pontryagin class P_{1} is ∑ x_{i}^{2}. The whole reason for talking about these classes is that we want to take this up one more level, to BString(n)

[figure: BString(n); BSpin(n); T M; BSO(n); M; w_{1}=0?; w_{2}=0?; (w_{4}=0)^{P_{1}/2=0?}; BO(n)]

The question of giving a string structure is asking whether P_{1}/2 is 0

That’s about it for characteristic classes. So now we want to define a ring structure, and then a genus will be a ring homomorphism.

Definition 2. Let M and N be n-dimensional oriented manifolds. They are bordant if there is an oriented n+1-dimensional manifold W such that ∂W = M ∐ −N, where −N denotes N with the opposite orientation.

We’ll make these equivalence classes into a ring, using disjoint union as our sum and Cartesian product as our product. The class of the empty manifold is our identity.

If you have a ring homomorphism from the bordism ring, this is a graded ring, where the grading is given by dimension. Say you have φ a homomorphism from the oriented bordism ring Ω^{∗} to R, well, you know that φ(∂W) = 0, since W is a bordism between its boundary and the empty manifold.

[What about the structure of this?]

Well, I know that Ω^{∗} ⊗ ℚ = ℚ[[ℂℙ^{2}], [ℂℙ^{4}], …]. That’s about all I can say.

Now we can define genera using power series. I’ll give the example of the Todd genus, take Q(x) = \frac{x}{1−e^{−x}} which is 1 + \frac{1}{2}x + ∑_{k=1}^{∞}(−1)^{k−1} \frac{βk}{(2k)!}x^{2k}

We’ll take the Chern roots and plug those in to get a power series, evaluate on the fundamental class, and we’ll get the Todd genus. Let x_{i} be the Chern roots of T M, then ⟨Q(x_{1}) ⋯ Q(x_{n}), [M]⟩ is the Todd genus of M. You take and plug in your Chern roots, or for the Witten genus we’ll use Pontryagin. A genus is then a map from your bordism ring to ℤ.

This one is 1 on every ℂℙ^{n}. You can work backward to discover that this is the power series that does it for you. Hirzebruch, Prospects in Mathematics, I believe, has a nice little discussion of why you get this power series.

Let me draw this table now:

Todd  Witten
Euler characteristic of the sheaf of holomorphic functions  chiral differential operators [lots of grumbling]
Euler characteristic of ∧^{0,∗}, ¯∂ (a resolution of the above)  Chiral Dolbeaut complex
Index of ¯∂ + ¯∂^{∗} : ∧^{0,even} → ∧^{0,odd}  “S^{1}-equivariant index of the Dirac operator on LM”

The Witten genus is in ℚ[[q]] and is given by Q(x) = \frac{\frac{x}{2}}{sinh \frac{x}{2}} ∏ \frac{(1−q^{k})}{(1−q^{k}e^{x})(1−q^{k}e^{−x})} which is exp(∑ \frac{2}{(2k)!}G_{2k}x^{2k}) where G_{2k} is the Eisenstein series, and this is modular for k > 1. If your manifold is spin, you can write this down in terms of index of Dirac operators. For Spin it has integral coefficients. The second one is nice in that it shows that it’s modular.

Let me write

⟨W (T M), [M]⟩ = ⟨∏ Q(x_{i}), [M]⟩ = ⟨exp (∑ ∑ \frac{2}{(2k)!}G_{2k}x_{i}^{2k}) , [M]⟩

Then this thing, a priori, may not be a modular form. If M is string, then P_{1} = ∑ x_{i}^{2} = 0 so the Witten genus is a modular form. In fact, I’m a little over my time, but if you look at the coefficients, it turns out to [You actually have extra time because you started late] actually be a modular form of weight 2k. If we had a bunch of sums and products of different G_{2k}s, the dimension of M, say, is 4n, then the Witten genus is the sum

∑_{i+j+···=n}(G_{2i}x^{2i}G_{2j}x^{2j} ⋯)[M]

The weight of (G_{2i}G_{2j}) is 2i + 2j. The weight of W (M) is the dimension of M divided by 2, which, I have to apologize for not having a cleaner calculation.