Human readable

This morning I was thinking about the layout of the search results. Cathy suggested the layout should be like what you get on google where you have a first line which is a link to the result (in our case something like “Lemma 7.69.1”) and then, in smaller font, some content which (hopefully) helps you see at a glance what “Lemma 7.69.1” is all about.

Now if you look at the LaTeX code for “Lemma 7.69.1” then you get:
\begin{lemma}
\label{lemma-resolution-by-finite-free}
Let $R$ be a ring. Let $M$ be an $R$-module.
\begin{enumerate}
\item The exists an exact complex
$$
\ldots \to F_2 \to F_1 \to F_0 \to M \to 0.
$$
with $F_i$ free $R$-modules.
\item If $R$ is Noetherian and $M$ finite $R$, then we
choose the complex such that each $F_i$ is finite free.
In other words, we may find an exact complex
$$
\ldots \to R^{n_2} \to R^{n_1} \to R^{n_0} \to M \to 0.
$$
\end{enumerate}
\end{lemma}
and you can’t quickly see what the lemma is about (although in this case the LaTeX label does give you a hint, but that isn’t always the case).

But what is the lemma really saying? Well, if I wanted to tell a student or a colleague what it says I would say something like “Modules have free resolutions.” or “Finite modules over a Noetherian ring have a resolution by finite free modules.” (By the way, this already points to a potential problem with this lemma. We should really have had two lemmas, one dealing with the general case and one dealing with the finite over Noetherian case.)

Anyway, it is technologically easy to add this kind of human readable descriptions to the Stacks project. Namely, we could change the start of the LaTeX code above to
\begin{lemma}
\label{lemma-resolution-by-finite-free}
% Modules have free resolutions and finite modules over a
% Noetherian ring have a resolution by finite free modules.
Let $R$ be a ring. Let $M$ be an $R$-module.
Our scripts running the search on the website could pick up the LaTeX comment and print it out on the search results page. Moreover, this also allows us to add bibliographical information, historical information, etc. To do that we could code it like this:
\begin{lemma}
\label{lemma-resolution-by-finite-free}
% Human:
% Modules have free resolutions and finite modules over a
% Noetherian ring have a resolution by finite free modules.
% Ref:
% MatCA, page 73
% Hist:
% Goes back at least to Hilbert.
Let $R$ be a ring. Let $M$ be an $R$-module.
and so on and so forth. This works because there aren’t almost any comments in the stacks project LaTeX files (the symbol % occurs on only 232 lines).

Of course, the problem (as usual) is to find somebody who is willing to add human readable descriptions to each and every lemma, proposition, theorem, remark, situation, etc. Since there are 5889 lemmas, 161 propositions, 134 theorems, 471 remarks, 46 situations this is no mean task! (It will take about 100 hours to do this if you can do one of these per minute. Come on guys, that is only 10 days of hard work! And with a group of 10 people…)

We should have done this from the start! Hmm…

Questions about a construction

Let B —> A be a surjection of rings. Let M, X, Y be a A-modules.

If φ : X —> Y is a B-module map, then φ is an A-module map. We obtain X ⊗A M —> Y ⊗A M and X ⊗LA M —> Y ⊗LA M by functoriality.

Let ξ ∈ Ext^1_B(X, Y). I claim there is an element in Ext^2_A(X ⊗LA M, Y ⊗LA M) associated to ξ. Here is my construction. Choose a complex of free A-modules F_* resolving M. Choose a sequence (not a complex) of free B-modules F’_* such that F’_* ⊗B A is isomorphic to F_*. Let 0 —> Y —> E —> X —> 0 be the short exact sequence representing ξ. Then consider the composition

F’_{n + 2} ⊗B E —> F’_{n + 1} ⊗B E —> F’_n ⊗B E

Clearly this factors through a map

F_{n + 2} ⊗A X = F’_{n + 2} ⊗B X —> F’_n ⊗B Y = F_n ⊗A Y

The collection of these map gives X ⊗LA M —> Y ⊗LA M[2] as desired.

Questions:
(a) Does this actually work?
(b) What is a “better” description of this construction?
(c) Is there a similar map Ext^2_B(X, Y) —> Ext^3_A(X ⊗LA M, Y ⊗LA M)?
(d) If you have a reference, could you please let us know?.

Thanks!

Compressing the Stacks project

Nick Katz was wondering whether maybe we should distribute USB memory sticks with copies of the stacks project on it. This is completely possible as we can compress the Stacks project to fairly small size files:

-rw-r--r-- 1 johan johan 2.9M Feb 6 21:00 stacks-project.tar.gz
-rw-r--r-- 1 johan johan 2.1M Feb 6 21:03 stacks-project.tar.bz2
-rw-r--r-- 1 johan johan 2.0M Feb 6 21:04 stacks-project.tar.xz
-rw-r--r-- 1 johan johan 1.5M Feb 6 21:32 stacks-project.zpaq

Of course these archives only contain the tex files (more precisely all the files listed when you do git ls-files in your local clone of the stacks-project repository). The smallest one compressed using the zpaq program is just 1546240 bytes. Can your favorite compressor do better?

If we can get it below 1.44 MB then we could hand out floppy disks with a copy of the Stacks project on it!

Most referenced lemmas

Guess what? The most used lemma in the Stacks project is currently Nakayama’s lemma with 73 references. Then there is a gap for a while. The next most highly cited lemmas are:

I guess it makes sense that the first few of these would be results that we consider to be part of the language, and somehow not really results at all (if that makes sense).

Example please!

Can you, dear reader, send me (or post in comments) an example of a Noetherian ring A and finite A-modules M, N such that the canonical map

RHom_A(M, A) ⊗^L_A N —–> RHom_A(M, N)

is not an isomorphism in D(A)? Much obliged.

——————————————————————————————————————-

Update Jan 27, 2013. Bhargav emailed me the following observation. Any mistakes are mine.

Lemma If A has a dualizing complex ω and the map is an isomorphism for every M, N then A has to be Gorenstein.

Proof. Denote the map above f_{M, N}. Then f_{M, N} is also an isomorphism for any M, N \in D^b_{Coh}(A) by triangles. Now choose M = N = ω. Then RHom(ω, ω) = A, so ω is invertible for the derived tensor product. This forces ω to be (locally) the shift of an invertible module by the following lemma. End.

Lemma If A is a Noetherian local ring and K is in D^b_{Coh}(A) and K ⊗^L_A M = A for some object M of D(A), then K is the shift of an invertible A-module.

Proof. Observe that K can be represented by a bounded above complex K^* of finite free A-modules all of whose differentials are zero modulo the maximal ideal m_A of A. Let k be the residue field of A. We have

k = A ⊗^L_A k = (K ⊗^L_A M) ⊗^L_A k = (K ⊗^L_A k) ⊗^L_k (M ⊗^L_A k)

The lemma is clear for D(k) as this is the category of graded k-vector spaces. We conclude that K ⊗^L_A k which is represented by K^* ⊗_A k is isomorphic to k[a] for some integer a. Thus we conclude that K^{-a} = A and K^n = 0 for other n as desired. End.

The conclusion from the comments below is that the ring of dual numbers k[\epsilon] does satisfy the property that f_{M, N} is an isomorphism for all M, N finite. [This is wrong! See update below.] This is a Gorenstein ring so there is no contradiction. On the other hand the ring R = k[x, y, w]/(x^2, y^2, xw – yw, w^2) does not satisfy the property, which now also follows from Bhargav’s observation as this ring isn’t Gorenstein (the socle has dimension 2).

——————————————————————————————————————-

Update Jan 29, 2013. Actually, Bhargav send me the following update. As usual any and all mistakes are mine.

Lemma If the map is an isomorphism for all finite M,N, then A is regular.

Proof. A is Gorenstein as before, so A has finite injective dimension. Hence, RHom(M,A) is a finite A-complex for any M. Then RHom(M,A) (x) N is bounded above (being the derived tensor product of two bounded above A-complexes). On the other hand, the right hand side is not bounded above if A is not regular. For example if A is local with residue field k, we could take M = N = k, in which case Ext^i_A(k,k) is non-zero for arbitrarily large i (as the minimal free resolution does not terminate). End.

In particular, this shows that the map is not an isomorphism for A = k[x]/(x^2), and M = N = k. This contradict the discussion above in the comments. The mistake I (and I think also Ben) made is that in computing the LHS for A = k[ε] = k[x]/(x^2), and M = N = k I took a free resolution of k over k[ε], then I took the dual of this complex and used it to compute the left hand side. But a complex of free A-modules isn’t K-flat so can’t be used to compute the derived tensor product… Argh!

Apologies for all the confusion!

Plots

Some plots from statistics gathered by the new Stacks project website. The first google checking in shows the number of times the google bot has been checking in over time (in total about 160000 times). The second count tags visited shows the cumulative count of tags looked up in the stacks project. This plot is a bit misleading. Precisely, there are

  • 391 tags which have been looked up at most 10 times,
  • 2377 tags which have been looked up at most 25 times,
  • 10109 tags which have been looked up at most 50 times, and
  • 10611 tags which have been looked up at most 100 times.

Unfortunately these numbers include hits from robots (mostly search engines). The most looked up tags are:

For some of these there doesn’t seem to be a good reason for them to be looked up more and so there must be some other reason why these get hit (i.e., the tag in question refers to something in “real” life).

Derived things are flat

In this post I try to come to grips with what Jason was trying to say to me in the comment on this post and in an email he sent me.

So we have currently enough background material built up in the Stacks project to start discussing an application of Artin’s axioms to a particular moduli problem. I plan to use the Quot functor as the first example. We discussed this in the blog post above, but not in complete generality. Jason’s suggestion addresses the issue of how to deal with the most general case (in some sense).

Setup: S is a Noetherian scheme, f : X —> S is a morphism of an algebraic space to S which is locally of finite type, and F is a finite type O_X-module. The Quot functor associates to a scheme T over S the set of quotients

F_T —> Q

which are of finite presentation as O_{X_T}-modules, have support proper over T, and are flat over T. Here X_T is the base change of X to T and F_T is the pullback of F to X_T.

I first discuss two cases where I believe I know exactly what to do. But… I haven’t worked out all the details so I could still be wrong.

Case I: F is flat over S. In this case everything works exactly as explained in the blog post above. If T = Spec(A) and 0 —> E —> F_A —> Q —> 0 is a quotient, then the obstruction group for a square zero thickening 0 —> I —> A’ —> A —> 0 of A is Ext^1_{O_{X_A}}(E, Q ⊗ I).

Case II: X is flat over S. In this case the suggestion in the fifth remark of the post works. In other words, given a quotient F_A —> Q we choose a distinguished triangle

E —> F ⊗^L A —> G —> E[1]

where F ⊗^L A means the derived pullback of F to X_A. In this case the obstruction group is still Ext^1_{O_{X_A}}(E, Q ⊗ I) except that the extension group is computed in the derived category of O_{X_A}-modules.

Case III: general. The trick used in Case II does not work anymore. A naive explanation of the problem is that to get the obstruction class one uses a distinguished triangle

F ⊗^L I —> F ⊗^L A’ —> F ⊗^L A —> F ⊗^L I[1]

But if X isn’t flat over S we cannot define the derived tensor products F ⊗^L A’ and F ⊗^L A as the derived pullback of F to X_{A’} and X_A. Jason’s suggestion (as I understand it) is that instead of using the usual base change X_{A’} we should work with the derived base change X ⊗^L A’ and similarly for A and then form the derived pullback of F to that. The idea is that X, viewed as a derived algebraic space, is flat over S. This strategy requires us to leave the world of algebraic spaces and enter the world of derived algebraic spaces.

Of course, we can try to approximate derived algebraic spaces. One remark is that if there exists a closed immersion i : X —> Y with Y an algebraic space of finite type and flat over S, then we can simply work with i_*F on Y. In general I do not know how to construct such an embedding. Locally we can, and we can try to use a Cech cover approach, but I don’t know how to make this work. Another idea (closer to Jason’s suggestion) is to choose a sheaf of flat f^{-1}O_S-algebras P on X and a surjection P —> O_X. Then we can try to work in the category of P-modules, etc. Finally, we can go whole hog and find a simplicial resolution of O_X by flat f^{-1}O_S-algebras and use that.

However, in each of these approaches the end product is an extension group on a derived object, let’s call it Y_A. Now, we are going to enter the realm of pure speculation (if we haven’t done so already — maybe all of this is a fictional reality — I can say that here since nobody has read this far into the post — have you?). Say we are looking at Ext^1_{Y_A}(E, Q ⊗ I). It seems quite likely to me that RHom_{O_{Y_A}}(E, Q ⊗ I) is a well defined object of D(O_{X_A}). Thus there still is a chance that we can define this gadget using non-derived methods and make things work in that way…

What do you think?

[Update 01/08/2013: It occurs to me now that, in the hypothetical situation above, we have

Ext^1_{Y_A}(E, Q ⊗ I) = Ext^1_{X_A}(Li_A^*E, Q ⊗ I)

where i_A : X_A —> Y_A is the embedding of the usual base change of X into the base change of any of our approximations Y of X as above. So actually the thing we should use on X isn’t E but Li_A^*E! And again there is a chance we can construct Li_A^*E using non-derived methods. This could be quite useful to the overall strategy. I’ll think more.]

Bibliography

Today Pieter Belmans added an online bibliography to the Stacks project; see his blog post here. If you are used to reading the Stacks project online, then you’ll now find direct links to the bibliography entries on the tag lookup pages. A good example is the introduction to the chapter on Popescu’s theorem.

Enjoy!

Of course the bibliography isn’t perfect and we’ll work on that. Moreover, I think we could sprinkle more references throughout the text. Please don’t hesitate to send in motivated suggestions for citations (even to your own papers) to stacks.project@gmail.com.

A certain type of perfection…

Yesterday, on the last day of 2012, I finished writing some material on the existence of approximations by perfect complexes on algebraic spaces which I committed to the project on the first day of 2013, i.e., today. This covers the results necessary to proceed with the strategy described here to apply Artin’s axioms to the existence of Quot spaces. As mentioned there, the approximation result (in the case of schemes) can be found in the paper “Quasi-perfect scheme-maps and boundedness of the twisted inverse image functor” by Lipman and Neeman. Thanks to Jack Hall for pointing out the reference.

The new (as in “it wasn’t in the Stacks project before”) material is mainly in the chapters Derived Categories of Schemes and Derived Categories of Spaces. It should be easy to add a lot more basic material in these chapters, but for now I’ve basically only added the material leading up to

  1. Proposition Tag 08DB which says that D(QCoh(X)) = D_{QCoh}(X) for quasi-compact schemes with affine diagonal,
  2. Theorem Tag 08ES which says we have approximation by perfect complexes for quasi-compact and quasi-separated schemes,
  3. Proposition Tag 08H1 which says that D(QCoh(X)) = D_{QCoh}(X) for quasi-compact algebraic spaces with affine diagonal, and
  4. Theorem Tag 08HP which says that we have approximation by perfect complexes for quasi-compact and quasi-separated algebraic spaces.

Enjoy.

It turns out that there is an induction principle for quasi-compact and quasi-separated algebraic spaces which I missed formulating clearly and using in writing the material in the chapter on cohomology of sheaves on algebraic spaces. For example, in order to prove one has finite cohomological dimension for quasi-coherent sheaves on quasi-compact and quasi-separated algebraic spaces, we introduced (with help from Bhargav Bhatt) the alternating Cech complex and used that. However, it may makes sense to revise and replace this by an application of the induction principle. On the other hand, I think that carefully applying the alternating Cech complex, you can sometimes prove more (i.e., you can get explicit bounds which I do not see how to get otherwise and which may even be interesting in the case of schemes). I hope to return to this sometime in the future.

Math rendered on the Stacks project website

Pieter Belmans has just finished upgrading the Stacks project website to a new version where the mathematics is rendered on the tag lookup pages. It is totally amazing! I was originally skeptical that this could be done with the current state of technology. However, when Pieter showed me what it looks like on a test website I was immediately convinced. The rendering of the material (including formulas and commutative diagrams) makes reading the Stacks project material online very comfortable and much faster than before.

The new version is made possible by

  • Pieter’s code that parses the Stacks project LaTeX,
  • MathJax for rendering the math formulae, and
  • XyJax to render commutative diagrams coded with xypic.

I believe this makes the Stacks project website the first public website to use XyJax to render commutative diagrams online. Woohoo!

Here are some things to be aware of when using the new version:

  • there are some issues in Opera,
  • not all TeX is parsed perfectly (for instance complex footnotes),
  • if you encounter something that doesn’t work, please contact us. You can leave a bug report on here, or you can email the stacks project maintainer.

Enjoy!