Update

Since the last update we have added the following material:

  1. universal property of blowing up (schemes) Tag 0806
  2. admissible blowups (schemes) Tag 080J
  3. strict transform (schemes) Tag 080C
  4. a section on fitting ideals (algebra) Tag 07Z6
  5. flattening by blowing up (schemes) Tag 080X
  6. proper modifications can be dominated by blowups (schemes) Tag 081T
  7. relative spectrum (spaces) Tag 03WD
  8. scheme theoretic closure (spaces) Tag 0831
  9. effective Cartier divisors (spaces) Tag 083A
  10. relative Proj (spaces) Tag 0848
  11. blowing up (spaces) Tag 085P
  12. strict transforms (spaces) Tag 0861
  13. admissible blowups (spaces) Tag 086A
  14. generalities on limits (spaces) Tag 07SB
  15. flattening by blowups (spaces) Tag 087A
  16. David Rydh’s result that a decent space has a dense open subscheme Tag 086U
  17. QCoh is Grothendieck (spaces and stacks) Tag 077V Tag 0781
  18. proper modifications can be dominated by blowups (spaces) Tag 087G
  19. multiple versions of Chow’s lemma (spaces) Tag 089J Tag 088U Tag 089L Tag 089M
  20. David Rydh’s result that a locally separated algebraic space is decent Tag 088J
  21. Grothendieck existence theorem (schemes) Tag 087V Tag 0886
  22. Grothendieck algebraization theorem (schemes) Tag 089A
  23. proper pushforward preserves coherence (spaces) Tag 08AP
  24. theorem on formal functions (spaces) Tag 08AU
  25. Grothendieck existence theorem (spaces) Tag 08BE Tag 08BF
  26. a little bit about m-regularity Tag 08A2
  27. connected spaces are nonempty (thanks to Burt) Tag 004S
  28. decent group space over field is separated Tag 08BH
  29. derived Mayer-Vietoris (ringed spaces) Tag 08BR
  30. derived categories of modules (schemes) Tag 08CV
  31. D(QCoh(O_X) = D_{QCoh}(O_X) for X quasi-compact with affine diagonal (schemes) Tag 08DB
  32. Lipman and Neeman’s result on approximation by perfect complexes (schemes) Tag 08ES
  33. derived categories of modules (spaces), Tag 08EZ
  34. Induction principle for quasi-compact and quasi-separated algebraic spaces using distinguished squares (this is really fun!) Tag 08GL
  35. derived Mayer-Vietoris using distinguished squares Tag 08GS
  36. D(QCoh(O_X) = D_{QCoh}(O_X) for X quasi-compact with affine diagonal (spaces) Tag 08H1
  37. approximation by perfect complexes (spaces) Tag 08HP
  38. bunch of improvements to the bibliography bibliography
  39. being projective is not local on the base Tag 08J0
  40. descent data for schemes need not be effective, even for a projective morphism Tag 08KE
  41. base change for Rf_*RHom(E, G) (schemes) Tag 08IC
  42. base change for Rf_*RHom(E, G) (spaces) Tag 08JM
  43. the Hom functor Tag 08JS
  44. the stack of coherent sheaves Tag 08WC
  45. deformation theory: rings, modules, ringed spaces, sheaves of modules on ringed spaces, ringed topoi, sheaves of modules on ringed topoi Tag 08KX
  46. subtopoi Tag 08LT
  47. standard simplicial resolutions Tag 08N8
  48. cotangent complex Tag 08P6
  49. snake lemma now has a proof without picking elements Tag 010H
  50. constructing polynomial resolutions Tag 08PX
  51. (trivial) Kan fibrations Tag 08NK Tag 08NT
  52. Quillen’s spectral sequence Tag 08RF
  53. cotangent complex and obstructions (algebra) Tag 08SP
  54. cotangent complex and obstructions (ringed spaces) Tag 08UZ
  55. cotangent complex and obstructions (ringed topoi) Tag 08V5
  56. fixed an error in Artin’s axioms point out by David Rydh 2ccbbe3087e4dc2b1df2193c81ede7486931424c
  57. skeleton chapter on dualizing complexes (algebra) Tag 08XH
  58. descent for universally injective morphisms (thanks to Kiran Kedlaya) Tag 08WE

This brings us up to May 1 of this year. At that point I started to work on a chapter on pro-\’etale cohomology, in order to advertise work by Bhargav Bhatt and Peter Scholze in some lectures in Stockholm (KTH). The authors graciously send me a copy of their (for the moment) unfinished manuscript. The chapter covers only a small part of their material, leading up to the definition of constructible complexes and the proper base change theorem. All mistakes are mine. I’ve tried to put most of the background material in other chapters. As is usual for the Stacks project, whenever you try to add something new you are forced to add a lot of background material to go along with it. Here is a list of some of the things we added.

  1. pro-\’etale cohomology (schemes) Tag 0966
  2. Gleason’s theorem on extremally disconnected spaces (I strongly recommend the original paper) Tag 08YH
  3. Hochster’s spectral spaces (I strongly recommend the original paper) Tag 08YF
  4. Stone Cech compactification Tag 0908
  5. Olivier’s theorem on absolutely flat extensions of strictly henselian rings (I strongly recommend the original paper) Tag 092Z
  6. weakly \’etale morphisms (schemes) Tag 094N
  7. derived completion (algebra; I’ve tried to give some references but I’d love to know more about the history of this topic) Tag 091N
  8. constructible sheaves (etale) Tag 05BE Tag 095M
  9. derived completion (ringed topoi) Tag 0995 Tag 099L Tag 099P
  10. derived category D_c (etale) Tag 095V

Enjoy!

Features wanted

Pieter Belmans is currently coding and testing a new version of the Stacks project website. What would be very useful is to have some more feedback from you, the user! Please leave a comment on this blog post if

  1. There is something that doesn’t work on the current site (broken links, etc).
  2. There is something you don’t like about the current set up.
  3. There is a feature you’d like to see in the new version.

Any suggestions, annoyances, recommendations, etc will be greatly appreciated. Thanks!

Geeks only: Of course, just like the Stacks project itself, the Stacks project website is an open source project and you can hack it yourself if you want and know how to. To get your work incorporated back into the site, you may want to talk to Pieter before doing too much work. Send us those cool layouts, visualizations, web-apps, etc, please!

Named destinations

Please move along if you are not a nerd: nothing to see here.

Still here? OK, so occasionally I try to see if embedded pdf viewers will open a pdf at a named destination. In the past the only setup that did this was using adobe reader. But yesterday I discovered that it now works with google chrome and its built in pdf reader! BUT… you have to use the format

http://stacks.math.columbia.edu/download/algebra.pdf#nameddest=0567

because the more compact version

http://stacks.math.columbia.edu/download/algebra.pdf#0567

doesn’t work. (You will need a reasonably up to date version of chrome.) Today I discovered that it also works with firefox on my ubuntu system. In fact both versions of the link work. It turns out that the Ubuntu firefox browser uses Mozilla’s built pdf viewer. If this is not already installed on your system you can install it as an add on — here is a link. However, on my 64 bit gentoo system, it still didn’t work until I installed the development version of pdf.js you can find here.

Unfortunately, the cross file links (e.g. a reference to a lemma in the algebra chapter from another chapter) do not (yet) work for chrome/libpdf.so and firefox/pdf.js. This used to work with the adobe reader (for example on windows) and works with the rekonq/okular combination on kde.

Test it on your system. I’d love some feedback.

  1. Open at named destination, short version: http://stacks.math.columbia.edu/download/brauer.pdf#074M
  2. Open at named destination, long version: http://stacks.math.columbia.edu/download/brauer.pdf#nameddest=074M
  3. Both of these should open the chapter on Brauer groups at Lemma Tag 074M, which today is Lemma 5.3 on page 5. To try the cross file link functionality, in the proof of that lemma, click on the link to Algebra, Lemma 33.17.

Does this work for you? Leave a comment. Thanks!

Signs and tensor products

If M and N are modules over a ring A there is a canonical map M ⊗ N —> N ⊗ M by flipping tensors. If M = N this map is an involution but not the identity. For example, if V is a vector space of dimension n then flipping tensors gives an involution of V ⊗ V whose eigenvalues are 1 and -1 with multiplicity n(n + 1)/2 and n(n – 1)/2.

Now, let’s consider derived tensor product. There is a canonical map M ⊗L N —> M ⊗L N which gives an involution of M ⊗L M when M = N. For example, if M = A/I, then we get an involution Tor1A(M, M) = I/I2. In this case, it seems clear that this map is either 1 or -1. My guess would be it is -1… Let’s see if I am right.

To figure out what the sign is, suppose we have a double complex M*, * which is symmetric, i.e., Mp, q = Mq, p switching the two differentials. (My convention: the two differentials of a double complex commute.) OK, so now we want this flipping map M*, * —> M*, * to induce a map of associated total complexes

Tot(M*, *) ——> Tot(M*, *)

but in the construction of Tot there are signs. Namely, emanating from the (p,q) spot is the differential d1 + (-1)pd2 (again a convention). Thus when we move an element from Mp, q to Mq, p without signs, this isn’t compatible with the differential d on Tot. What works is to throw in a sign (-1)pq for the map Mp, q —> Mq, p.

In order to use this for our example of Tor1A(A/I, A/I) assume for the moment that I is flat. Then the double complex

I ⊗ A —> A ⊗ A
    |                 |
I ⊗ I —> A ⊗ I

computes the tor group. Note that in degrees (-1, 0) and (0, -1) we have I and that a cocycle is of the form f ⊕ -f with f ∈ I. Thus flipping this gives -f ⊕ f, i.e., the opposite. So it seems my hunch was correct.

Ok, but now what if K = M[1] in D(A) for some flat A-module M and we consider the action of flipping on H^{-2}(K ⊗L K) = M ⊗ M. It is clear from the above that the action of flipping is by -1 times the usual flipping map of M ⊗ M. Thus the S_2-coinvariants on this gives the second exterior square of M over A.

And now I’ve finally gotten to the point I wanted to make in this blog post. Let’s use the above to define derived symmetric powers of K in D(A). Choose a K-flat complex K* representing K and use the above to get an action of S_n on the total complex associated to the n-fold tensor product of K*. (Carefully take the total complex and use group generated by flipping adjacent indices and the sign I used above for those.) Call this complex of A[S_n]-modules K⊗ n. Then set

LSymn(K) = K⊗ nLA[Sn] A

In this situation the above shows that H-n(LSymn(M[1])) = ∧n(M).

[Edit: Bhargav points out that this isn’t the derived symmetric power you get in the symplicial world. For example, if K = A[0], then we get S_n group homology. Whereas if you think if A as a constant simplicial module, then Sym_n(A) = A.]

Derived lower shriek

Let (X, OX) be a ringed space. Let π : C —> X be a stack over X where we use the topology on X to view X as a site. Endow C with the topology inherited from X (see Definition 06NV). This (roughly) means that the fibre categories CU where U ⊂ X is open are endowed with the chaotic topology. Denote B = π -1OX and think of C as a ringed site and π as a morphism of ringed sites

π : (C, B) —-> (X, OX)

The functor π* = π -1 : Mod(OX) —> Mod(B) commutes with all limits and colimits on modules and hence has a left adjoint π! : Mod(B) —> Mod(OX). In fact, if F is a sheaf of B-modules on C, then we can describe π!F as the sheaf associated to the presheaf

U |—> colimξ in opposite of CU F(ξ)

on the topological space X. (Colimit taken in category OX(U)-modules.) Actually, it turns out that the situation above is a special case of this section of the Stacks project and we obtain a left derived extension Lπ! : D(B) —> D(OX) for free (note there are no boundedness assumptions).

In fact, the construction shows a little bit more. Namely, let ξ be an object of C lying over the open U ⊂ X. Then we can consider the localization morphism jξ : C/ξ —> C and the sheaf Oξ = jξ, !B|ξ. Any B-module is a quotient of a direct sum of these Oξ and we have

! Oξ = π! Oξ

Cool, so this gives us a bit of control in trying to compute Lπ!.

Let x be a point of X. Let Cx denote the category

colimx ∈ U ⊂ X CU

This makes sense as C is a stack over X so we can think of it as a sheaf of categories. If F is a sheaf of B-modules on C, then the stalk of π!F is just the colimit of the “values” of F over Cx. Since taking stalks is exact, I think this should mean that we can compute the stalk of Lπ!F at x by taking the corresponding construction over the category Cx with its chaotic topology.

Another tool to compute Lπ! should be that if C is given as the stackification of a category C‘ fibred over X, then it should be sufficient to compute with C‘. Going back to the discussion and especially the example in this post we have to replace our choice of C there. We should start with the fibred category C‘ of immersions φ : U —> AnB (not necessarily closed) and commutative diagrams over B. Then C should be the stackification of that. Then with all of the above you’d get the cotangent complex of X/B by doing the same construction as in the affine case. The key is that affine locally C‘ has a good co-simplicial object computing the derived lower shriek functor. You use the localization of sheaves of algebras construction to provide C with a sheaf of rings surjecting onto the pullback of the structure sheaf of X (and not to change the underlying category).

A similar procedure is going to define the base change CS given a morphism of schemes S —> B, i.e., as underlying fibred category start with some category of diagrams of schemes and use the localization of sheaves of algebras construction to endow this with a structure sheaf.

I think this will just work and in fact it simplifies the original idea I had for the stacks C and CS. We’ll see.

A cotangent complex

Let me quickly explain how to define the cotangent complex of a ring map R —> S using the ideas of the previous 3 posts. Again we will work in the affine case.

Consider again the category C which is opposite to the category of surjections of R-algebras φ : P —> S where P is a polynomial R-algebra. Endow C with the chaotic topology (where all presheaves are sheaves). There is a surjection of sheaves of rings O —> B where O associates the value P to the object (P, φ) and where B is the constant sheaf with value S. (Please excuse the weird notation.) We consider as before the morphism of sites

π : (C, B) ——> (point, S)

and we will use the existence of the derived funtor Lπ!. Then I claim that

LS/R = Lπ!O/RO B)

In fact, it doesn’t matter if this is actually true or not, because arguing similarly to the previous post we see that inf autos, defos, and obstructions are computed by taking ext groups out of the object defined on the right hand side of the equation, so we can take it as our cotangent complex. Ha!

Still I am pretty sure the two sides are (canonically) equal (see update below). For example

H0(Lπ!O/RO B)) = π!O/RO B) = ΩS/R

by a direct computation of the colimit of the modules ΩP/R ⊗ S over the category of pairs (P, φ). Maybe there is a reference?

[Edit 3 hours later: Both Bhargav Bhatt and Jack Hall have pointed out that this is very similar to what happens in Quillen’s notes “homology of commutative rings”, and that there is further work by Gaitsgory and Jonathan Wise. As usual, I am looking for something very simple that I can add to the Stacks project without first developing a huge amount of theory. The approach above seems short and sweet, but I am sure there’s all kinds of problems with it — it might even be BALONEY!]

[Edit next day: OK, so now I’ve had time to glance at Quillen, Gaitsgory, and Wise. As Bhargav pointed out in his email, I have now discovered that the arrows in Quillen and Wise go in the opposite direction. For example, what Quillen says is that you take the category C of all R-algebra maps X —> S for varying R-algebras X. You endow C with a topology by declaring coverings to be surjective maps {X’ —> X} in C. Given an S-module M you get a sheaf DerR(-, M) which assigns to X —> S the module DerR(X, M). Then you define Dq(S/R, M) to be the q-th cohomology of this sheaf. Finally, you show that there is a complex LS/R so that ExtqS(LS/R, M) = Dq(S/R, M). Thus it seems that our thing above is at least technically different. The Gaitsgory thing seems to work *very very* roughly (I would be more than happy to be corrected on this) by having spaces be derived themselves, then representing it by a simplicial (or whatnot) smooth thing, and then taking the usual Omega. This is exactly what I am trying to avoid doing.]

[Update OK, I think the agreement holds. Sketch proof. Let P* —> S be a simplicial resolution of S by polynomial R-algebras (as in Quillen, Illusie, and everywhere). To show that the = sign in the post is true it suffices to prove that the left derived functors of π! of an abelian sheaf B on our category C are computed by the complex F(P*). It is OK for H0 by direct argument (this is one place where you really need all the algebras in C to be polynomial algebras). It is clear that the functors F |—> Hn(F(P*)) form a delta functor. Finally, you show you get zero for higher n when you apply it to the projective B-modules on C defined by the formula

(P, φ) |—-> free S-module on MorC((Q, ψ), (P, φ))

where ψ : Q –> S is a fixed object of C. Applying this to P* you get

free S-module on the simplicial set Mor(Q, P*)

which is contractible to a point by our choice of P*.]

Baby case

In this post we work out how to use the construction discussed here in the affine case for deformations of modules.

Let R —> S be a ring map. Let C be the opposite of the category of surjections φ : P —> S where P is a polynomial algebra over R. Next, let A’ –> A be a surjection of R-algebras whose kernel I has square zero. Finally, let M be a A ⊗R S-module. Assume that M is flat over A. I want to use the idea from the previous post to compute the obstruction to deforming M to an A’-flat module M’ over A’ ⊗R S-module.

The material in this post is only interesting if S is not flat over R. In the flat case the construction of the obstruction class is straightforward and we’ll use it below. If you don’t know how to construct it then you could look in the (somewhat skeletal) chapter on deformation theory.

Consider the functor O : C —> Rings which associates to the pair (P, φ) the ring A ⊗R P. Similarly, consider the functor O‘ : C —> Rings which associates to the pair (P, φ) the ring A’ ⊗R P. Note that there is a surjection O‘ —> O whose kernel has square zero. Moreover, O is flat over A and O‘ is flat over A’.

Let’s endow C with the chaotic topology (all presheaves are sheaves). Then (C, O) and (C, O‘) are ringed topoi and the second is a first order thickening of the first. OK, as O‘ is flat over A’ by general theory we have an obstruction class

o(M) ∈ Ext2O(M, I ⊗A M)

to the existence of an A’-flat module M’ over O‘ lifting M. An fun argument (which I omit here) shows that such an M’ is actually a module over A’ ⊗R S, hence o(M) is the obstruction we are looking for. Since there is a surjection of O onto the constant sheaf with value A ⊗R S (let’s call this sheaf B) we can rewrite this Ext group as

Ext2B(M ⊗LO B, I ⊗A M)

Then we have to consider the morphism of ringed sites

π : (C, B) ——> (point, A ⊗R S)

and use the existence of a functor Lπ! (there is a left adjoint π! to π* = π -1 which is computed by doing colimits over the opposite of the category C, i.e., over the category of pairs (P, φ); the left derived functor Lπ! on bounded above complexes exists because the category of B-modules has enough projectives…) to get finally an element in

Ext2A ⊗R S(E, I ⊗A M)

where

E = Lπ!(M ⊗LO B).

To compute E you’d have to understand the category C a bit better, and here you will naturally be led to consider the standard polynomial simplicial resolution of S over R….

Things to do: How does the construction of E behave with respect to localization? If A, R are Noetherian, R —> S of finite type, and M finite over A ⊗R S, then we’d like the cohomology groups H^i(E) to be finite over A ⊗R S.

A base change

Let f : X —> B be a morphism of schemes. Suppose that for every open U of X we are given a category CU whose opposite is a subcategory of the category of surjections A —> OU of sheaves of f-1OB-algebras. Moreover, assume that these categories fit together to give a stack C over XZar with the usual notion of restriction of sheaves.

Since the purpose of this discussion is to study deformation theory, it make sense to assume the stalks of A are local rings, which means exactly that the localization of A as in the previous blog post doesn’t do anything. I will assume this from now on.

Example: Assume f locally of finite type. Given U let CU be the full subcategory of surjections i-1OT —> OU where i : U —> T is a closed immersion of U into a scheme T smooth over B. As maps we can take those maps that come from morphisms between smooth schemes over B. This does not form a stack over XZar but we can stackify.

Now suppose we have a third scheme S and a morphism of schemes g : S —> B. Then I claim there is a natural stack CS over (XS)Zar which can be called the base change of C. I will construct this by saying what the objects and morphisms look like locally on XS and you’ll have to stackify to get the real thing.

OK, suppose that V is an open of XS which maps into the open U of X. Denote p : V —> S and q : V —> U the projections and h : V —> B the structure morphism. Let A —> OU be an object of CU. Then the map

p-1OSh-1OB q-1A —-> OV

is a surjection (see previous post) and we can consider its localization A’ —> OV (as in previous post). This will be what our objects look like locally. Moreover, morphisms are maps which are locally the pullback of maps in C.

Here is how we can use this: The stack CS is naturally a ringed site with topology inherited from the Zariski topology on XS. Moreover, in the example above the rings A are all “smooth” over B thus the rings A’ in CS are all “smooth” over S. I think we can think of XS as a closed subspace of CS and use this to compute obstruction groups for deformations of modules, etc. I’ll come back to this later (and if not then it didn’t work).

Localize

Let (X, OX) be a ringed space and let A —> OX be a surjection of sheaves of algebras. Let S ⊂ A be the subsheaf of local sections which map to invertible functions of OX. Then S(U) is a multiplicative subset of A(U) for every open U of X and we can factor the map as

A —> S-1A —> OX

If X is a locally ringed space, then the stalks of S-1A are local rings too.

This construction is occasionally useful. For example, consider a fibre product of schemes W = X x_S Y with projections maps p : W —> X, q : W —> Y, and structure morphism h : W —-> S. Then the map

A = p-1OXh-1OS q-1OY —-> OW

is not an isomorphism in general, but a localization: with the notation above we have S-1A = OW.

Standard macros?

In this comment Yuhao Huang suggests we could start having some standard macros in algebraic geometry. I have two comments:

  1. It makes sense to reserve some commands such as \Spec and \colim
  2. It doesn’t make sense, I think, to fix the actual macros for these commands.

I think I can convince most of you to agree with 2. For example, I like to define

\def\Spec{\mathop{\rm Spec}}

but (and I am happy to get feedback) I am sure this is completely utterly totally wrong! And let’s not even talk about

\def\SheafHom{\mathop{\mathcal{H}\!{\it om}}\nolimits}

which I am sure you like to define with an underline or a squiggly underline. It is clear that we are never ever going to agree on the “correct” macro even for something as simple as \Spec. Right?

I think I can make some argument for 1, but I agree it isn’t so clear. Namely, wouldn’t it be nice if you could download another algebraic geometer’s latex code and run it locally on you machine with your own preamble? After all, my preamble is better than yours (as we’ve already discussed above).

Finally, many people define macros for things that take just one letter, typically with something like

\newcommand{\CC}{\mathbb{C}}

I may have done this myself in the past. But now I think just typing \mathbb{C} is just as fast and it makes it clear what you get. The argument that it is faster to change the macro doesn’t really hold water as you can do a search and replace (or run a sed command) quite easily. Moreover, the letter C is going to occur as blackboard bold, gothic, greek, german, calligraphic, italic, roman, etc, etc so don’t try to tell me that it is better to use a short macro because who knows which of \CC, \bC, \cC, \iC is the one you want? No, the only reason for having a macro for blackboard bold C is if you wanted to have a macro for the complex numbers. Then you would probably name it \ComplexNumbers or something long like that so you never get confused.

I guess then the question becomes: Is \ComplexNumbers a good choice for one of the standard command names? I’m not convinced.

Another aspect of the situation is that, if we are inclined to introduce the command \ComplexNumbers, then also some things that never get macros should get macros. For example there should probably be a macro (untested)

\def\DerivedCategory#1{\mathop{\rm D}(#1)}

because part of the value of having macros may be that it makes it easier for our LaTeX files to be parsed by machines in the future. Madness!

I hope there is a lot here you can disagree with. My stance on most of this stuff is that it is much easier to fix this kind of thing (if it turns out we made a bad choice of coding a symbol or whatever), than it is to add new mathematics. So essentially, it doesn’t matter, but I am still interested to hear if you more or less agree with what I said above. Leave a comment!

PS: Here is a complete list of the currently defined macros in the Stacks project: \lim, \colim, \Spec, \Hom, \SheafHom, \Sch, \Mor, \Ob, \Sh. You can find these in preamble.tex.

PPS: Of course there is the whole other issue of choice of macro names. As you can see above I have been tempted by the Capitalization Curse. Why didn’t we name the macros \lim, \colim, \spec, \hom, \sheafhom, \sch, \mor, \ob, \sh? I guess an easy way out is to simply have both?