# Sage Math Cloud

Please take a look at this totally cool project by the Sage people; actually just create an account here and start playing around with it. If you already have, good for you.

To get your own version of the Stacks project in the cloud is quite easy: (perhaps skip reading the instructions and read below why this could be useful):

2. start a new project, say XXX
3. enter XXX by clicking on it
4. create a terminal by clicking the + New button and choosing terminal
5. click on the terminal file you’ve just created (extension term)
6. now you have command line access on the Sage cloud (how this isn’t a HUGE security problem I’ve no idea, but we’ll trust the people behind it to have some barriers…)
7. OK, now clone the stacks repository from github with
git clone https://github.com/stacks/stacks-project.
8. That’s all there is to it and moreover, now you have all the usual linux tools at your disposal as the Sage people have set it up for you. For example, you enter the new directory using
cd stacks-project
and make all the pdfs by running
make pdfs
etc, etc. After you have these pdfs you can download them and read them locally, or whatever.

Thanks to William Stein for explaining how to get the terminal window.

What’s the point? The point is that, contrary to what you may think, most people aren’t linux guru’s. Hence they do not know how to deal with large latex files, etc. Have you ever tried to open algebra.tex with a latex editor on a windows or mac? Often the result is a BSOD or at least overheating of components. Thus for most people it is great if we can tell them: click here and here and use this editor to start editing this file. Right now in the situation above you can run vim algebra.tex on the command line or use the online editor. Moreover, here are some additional bonus features of using the Sage cloud (thanks to William for pointing these out in an email):

1. You can have multiple people work on the same file at once with chat
2. The online editor in Sage cloud has syntax highlighting with many color schemes. This is useful for those working for long hours typing things. People can also set vim or emacs modes for the editor.
3. If you click on the camera off to the right in the file viewer, you’ll find that cloud.sagemath takes snapshots about once a minute of the complete state of all your files whenever you’re working. This can be really useful, especially in a collaborative setting.

Anyway, seeing this I’m now more optimistic that in the near future we’ll have some kind of online latex editor for the Stacks project. Just maybe we’ll use the Sage math cloud to do this: it only just started and already you can do lots of things with it.

# Field and Galois theory

The Stacks project assumes the reader knows quite a bit of field theory, including Galois theory. It might be a good idea to add a chapter on field theory leading up to and including Galois theory. Preferably this chapter would use as little commutative algebra as possible (so it could be placed before the commutative algebra chapter).

The sections Tag 030D, Tag 037H, and Tag 09DU would then be moved there. Currently this material is mostly just stated and probably in the wrong order too.

Perhaps more advanced material, e.g. on separable extensions of fields, would not be moved into the new chapter (although it is entirely possible that a more elementary treatment of separable extensions exists — certainly the current exposition isn’t optimal).

How can you help? Well, if you happen to have latexed (in your younger years) a writeup of field theory, then send it over to stacks.project@gmail.com and if suitable, we will distort it out of shape and put it in. (Important note: you cannot lose any reputation points by doing this, it is understood that you just send it in the hope that it will be useful.) If not you can just take one of the lemmas in one of the sections listed above and write up a proof and send that over. Thanks!

Update August 19, 2013: I went ahead and took the chapter “Fields and Extensions” (with permission) from the CRing project. Some edits needed to be made to adapt the style of the new chapter to the Stacks project. As I got further into it I changed more and more, due to personal preferences. But I hope some of the spirit of the original chapter still remains. Enjoy!

PS: Some statements are still given without proofs, in particular the statements on Kummer and Artin-Schreier extensions. It would be wonderful if somebody could add them.

# Macros

So, I would like some more input on the idea of having more macros in the Stacks project. Please read my thoughts here first.

One of the things that wasn’t mentioned there, maybe because it is so obvious, is that having more macros makes writing LaTeX for the Stacks project more difficult. On the other hand, it will always be the case that the most difficult part is writing the actual mathematics, and it is much easier to change the actual coding. For an example see this contribution by Kiran Kedlaya and note how this commit fixed up the coding style on the same day.

Here is a list of current code bits that I think warrant being replaced by a macro:

freq snippet meaning
111 \mathit{Isom} Isom sheaf between objects of a stack
114 \text{div} divisor of a rational function
116 \text{Fil} Fil(A) is cat filtered objects of A
125 \text{Sym} Symmetric powers
126 \text{cosk} coskelet functor
139 \text{Tr} trace
146 \underline{\text{Proj}} relative proj
157 \text{Cris} crystalline site
164 \underline{\mathbf{Z}} constant sheaf
169 \textit{PSh} cat of presheaves on
178 \textit{Coh} cat of coherent sheaves
188 \text{Mod} category of modules over ring
205 \text{Cov} collection of coverings of a site
215 \text{Supp} support of a (sheaf of) module(s)
219 \text{Tot} associated total complex
239 \text{Tor} tor functor
241 \text{Ass} set of associated primes/points
249 \text{length} length of a module
260 \text{Coker} cokernel
285 \text{Im} image
310 \textit{Sets} category of sets
335 \textit{Ab} category of abelian groups
398 \text{Ext} ext functor
406 \text{Proj} proj functor
496 \textit{Mod} category of sheaves of modules
520 \textit{QCoh} quasi-coherent sheaves of modules
560 \text{pr} projection morphism
579 \text{d} differential A –> ΩA
677 \text{Ker} kernel
834 \text{id} identity morphism

Currently, I am contemplating introducing the command \identity for the identity morphism. What do you think?

# API for the website

If the abbreviation API doesn’t mean anything to you, then this blog post isn’t for you.

The stacks project website has (the beginnings of) an API. This can be used to write a mobile version of the stacks project website, a webapp, a phone app. These apps could perform any task you think is fun (see PS for a suggestion).

But here is what is really cool! If you decide to write something like that you’ll be the app developer for the Stacks project as you’re almost guaranteed to be the only one (since after all you’re the only one still reading this blog post). This will get you huge kudos and nerd points with all your friends!

You can just go ahead and do something, that’s fine. It may help to contact Pieter Belmans to coordinate issues about the API.

PS: Recall the “slogans” we discussed a while back. Here’s an idea of a web app to crowd source these slogans: there’s this page somewhere on the web and if you go there it throws up a random lemma, proposition, theorem from the Stacks project. Under it there is a text entry box where you can type your (proposed) slogan. These slogans are remembered by the app and if the random result already has a slogan, then it can be updated by the next visitor. Sounds like fun.

PPS: Online quick search and quick tag search apps are somewhat more obvious ideas.

# Simplicial modules

A simplicial ring A is just a simplicial object in the category of rings. What is a simplicial module over A? Well it is a simplicial object in the category of systems (A, M, +, *, +, *) where A is a ring and M is an A-module (so the + and * are multiplication and addition on A and M respectively) such that forgetful functor to the category of rings gives back A.

Of course this is annoying. Better: A simplicial ring A is a sheaf on Δ (the category of finite ordered sets endowed with the chaotic topology). Then a simplicial module over A is just a sheaf of modules.

You can extend this to simplicial sheaves of rings over a site C. Namely, consider the category C x Δ together with the projection C x Δ —> C. This is a fibred category hence we get a topology on C x Δ inherited from C. Then a simplicial sheaf of rings A is just a sheaf of rings on C x Δ and we define a simplicial module over A as a sheaf of modules on C x Δ over this sheaf of rings. There is a derived category D(A*) and a derived lower shriek functor

! : D(A) ———-> D(C)

as discussed in Tag 08RV. Moreover, a map A —> B of simplicial rings on C gives rise to a morphism of ringed topoi, and hence a derived base change functor

D(A) ———-> D(B)

as well as a restriction functor the other way.

Why am I pointing this out? The reason is to use it for the following. If A —> B is a map of sheaves of rings and M is a B-module, then a priori the Atiyah class “is” the extension of principal parts

0 —> ΩP/A ⊗ M —> E —> M —> 0

over the polynomial simplicial resolution P of B over A. To get it in D(B) Illusie uses the base change along the map P —> B. I was worried that we’d have to introduce lots of new stuff in the Stacks project to even define this, but all the nuts and bolts are already there. Cool!

PS: Warning! The category D(A) is not the same as the category D(A) defined in Illusie.

# Lemma of the day

Let S be a scheme. Let Z ⊂ S be a closed subscheme. Let b : S′ —> S be the blowing up of Z in S. Let g : X —> Y be an affine morphism of schemes over S. Let F be a quasi-coherent sheaf on X. Let g′ : X ×S S′ —> Y ×S S′ be the base change of g. Let F′ be the strict transform of F relative to b. Then g′F′ is the strict transform of gF. See Tag 080G.

This tag has one of the densest initial trees in the project:

# A new website for the stacks project

Huge thanks to Pieter Belmans who did an enormous amount of work coding the stacks project website.

Please visit the new version of the website and play around. A major new feature is the dynamic creation of graphs vizualing the logical connections between results in the stacks project, for each and every result. Here is an example

Edit: To view a graph, browse the project online, choose a chapter, choose a section, choose a lemma, and then click on one of the three types of graphs.

If you have a comment, suggestion, etc then please come back here. If you find a bug in the operation of the website, then either leave a comment here, or email the maintainer, or create an issue on the github repository.

Enjoy!

# Lemma of the day

Let C be a site. Let O’ —> O be a surjection of sheaves of rings whose kernel I is an ideal of square zero. Let F’ be an O’-module and set F = F’/I F’. The following are equivalent

1. F’ is a flat O’-module, and
2. F is a flat O-module and I ⊗O F —> F’ is injective.

See Tag 08M4.

# Lemma of the day

There exists a countable ring R and a projective module M which is a direct sum of countably many locally free rank 1 modules such that M is not locally free. See Tag 05WL.