My colleague Johan de Jong for the last few years has been working on an amazing mathematical endeavor he calls the “Stacks Project”. As boring 20th century technology, this is a work-in-progress document (now nearly 4000 pages), available here. But from the beginning Johan (known to his friends as “the Linus Torvalds of algebraic geometry”) has conceptualized this as an open-source project using 21st century technology, including a blog and a github repository.
As of last night, the Stacks Project has many new features, courtesy of impressive work by Johan’s collaborator on this, Pieter Belmans. I was going to write something here describing the new features and how cool they are, but a much better job of this has been done by Cathy O’Neil, aka Mathbabe (by the way, if you’re not reading Cathy’s blog, you should be…). With her permission, I’m cross-posting her new blog entry about this, so, what follows is from Cathy:
The Stacks Project gets ever awesomer with new viz
Here’s a completely biased interview I did with my husband A. Johan de Jong, who has been working with Pieter Belmans on a very cool online math project using d3js. I even made up some of his answers (with his approval).
Q: What is the Stacks Project?
A: It’s an open source textbook and reference for my field, which is algebraic geometry. It builds foundations starting from elementary college algebra and going up to algebraic stacks. It’s a self-contained exposition of all the material there, which makes it different from a research textbook or the experience you’d have reading a bunch of papers.
We were quite neurotic setting it up – everything has a proof, other results are referenced explicitly, and it’s strictly linear, which is to say there’s a strict ordering of the text so that all references are always to earlier results.
Of course the field itself has different directions, some of which are represented in the stacks project, but we had to choose a way of presenting it which allowed for this idea of linearity (of course, any mathematician thinks we can do that for all of mathematics).
Q: How has the Stacks Project website changed?
A: It started out as just a place you could download the pdf and tex files, but then Pieter Belmans came on board and he added features such as full text search, tag look-up, and a commenting system. In this latest version, we’ve added a whole bunch of features, but the most interesting one is the dynamic generation of dependency graphs.
We’ve had some crude visualizations for a while, and we made t-shirts from those pictures. I even had this deal where, if people found mathematical mistakes in the Stacks Project, they’d get a free t-shirt, and I’m happy to report that I just last week gave away my last t-shirt. Here’s an old picture of me with my adorable son (who’s now huge).
Q: Talk a little bit about the new viz.
A: First a word about the tags, which we need to understand the viz.
Every mathematical result in the Stacks Project has a “tag”, which is a four letter code, and which is a permanent reference for that result, even as other results are added before or after that one (by the way, Cathy O’Neil figured this system out).
The graphs show the logical dependencies between these tags, represented by arrows between nodes. You can see this structure in the above picture already.
So for example, if tag ABCD refers to Zariski’s Main Theorem, and tag ADFG refers to Nakayama’s Lemma, then since Zariski depends on Nakayama, there’s a logical dependency, which means the node labeled ABCD points to the node labeled ADFG in the entire graph.
Of course, we don’t really look at the entire graph, we look at the subgraph of results which a given result depends on. And we don’t draw all the arrows either, we only draw the arrows corresponding to direct references in the proofs. Which is to say, in the subgraph for Zariski, there will be a path from node ABCD to node ADFG, but not necessarily a direct link.
Q: Can we see an example?
Let’s move to an example for result 01WC, which refers to the proof that “a locally projective morphism is proper”.
First, there are two kinds of heat maps. Here’s one that defines distance as the maximum (directed) distance from the root node. In other words, how far down in the proof is this result needed? In this case the main result 01WC is bright red with a black dotted border, and any result that 01WC depends on is represented as a node. The edges are directed, although the arrows aren’t drawn, but you can figure out the direction by how the color changes. The dark blue colors are the leaf nodes that are farthest away from the root.
Another way of saying this is that the redder results are the results that are closer to it in meaning and sophistication level.
Note if we had defined the distance as the minimum distance from the root node (to come soon hopefully), then we’d have a slightly different and also meaningful way of thinking about “redness” as “relevance” to the root node.
This is a screenshot but feel free to play with it directly here. For all of the graphs, hovering over a result will cause the statement of the result to appear, which is awesome.
Next, let’s look at another kind of heat map where the color is defined as maximum distance from some leaf note in the overall graph. So dark blue nodes are basic results in algebra, sheaves, sites, cohomology, simplicial methods, and other chapters. The link is the same, you can just toggle between the different metric.
Next we delved further into how results depend on those different topics. Here, again for the same result, we can see the extent to which that result depends on the different on results from the various chapters. If you scroll over the nodes you can see more details. This is just a screenshot but you can play with it yourself here and you can collapse it in various ways corresponding to the internal hierarchy of the project.
Finally, we have a way of looking at the logical dependency graph directly, where result node is labeled with a tag and colored by “type”: whether it’s a lemma, proposition, theorem, or something else, and it also annotates the results which have separate names. Again a screenshot but play with it here, it rotates!
Check out the whole project here, and feel free to leave comments using the comment feature!
Pingback: “There are all kinds of truth … but behind all of them there is only one truth and that is that there’s no truth.” « Pink Iguana
Pingback: The Stacks Project gets ever awesomer with new viz | mathbabe
Great idea, using the proven Open Source methodology to help develop the book. But in this day and age, should we still be restricting ourselves to text?
I’m a little disappointed in that they haven’t gone further with using audio/video lectures to add to the learning experience.
That’s a really impressive project, but why aren’t they using set theoretical universes? It seems to me that that complicates things a lot, and makes the development less modular.
John McAllison,
It’s probably better to think of this as an attempt to provide a reference work and reliable tool for researchers to work with, rather than an expository work for people to learn the subject from. In this respect it’s somewhat like the famous Bourbaki books. Those can be very useful once you know the subject and need a precise result, much less useful if you are just starting and trying to learn what the subject is about. It’s not so clear that audio or video are helpful for this kind of thing.
In my, very humble, opinion, a book is not a 21-st century book if it does not explain the motivation behind definitions and tools used, unless by 21-st century one means to write it all down in some formal language and then let finally the computer find out whether there was a gap in the reasoning hidden somewhere. I do not believe that AG definitions and tools cannot be given such motivation. To try to write this motivation down will be probably of bigger value, at least for the “wider public”, than the current effort. The best would be also to say clearly for which problems the hypothetical author thinks the machinery is useful, and for which problems he thinks it is not, with interesting examples from both geometry and “arithmetics”.
@Ben. They explain why they don’t use universes. Briefly, they don’t need them, and don’t want to make an unnecessary assumption (that universes exist).
@anonymous. Essentially it’s a reference work. There are many books on algebraic geometry that attempt to do what you request.
@anonymous
To add to anon’s comment: Think of it as a technical manual. You don’t get your driver’s manual out of the glovebox to find out what a car is. Instead, you go to it when you are having a problem with the particular car you are in possession of.
One problem with this metaphor I’m using: de Jong’s book is rather nicely written and seems like an exercise in good taste…
Peter,
Completely off-topic, but I just wanted to say I’m glad to see you quoted as the voice of healthy skepticism in the article on supersymmetry in the Summer issue of Columbia Magazine: http://www.magazine.columbia.edu/features/summer-2013/heady-collisions
Pingback: Another Week of Climate Disruption News, August 4, 2013 – A Few Things Ill Considered
@AJ,
I guess the anonomyous above is a layman in algebraic geometry and secretly asking for help, as in: “Please tell, me, what’s the intuition behind algebraic stacks, what are they good for and why should I care” and maybe in addition: “Why should I care, being a person interested and trained (only) in physics?”.
Luckily all such questions are answered in the nLab :-).
If someone wants a 21st century algebraic geometry project of an expository sort, beside Urs’ nLab, the mathematically oriented should look at Ravi Vakil’s web-site here
http://math216.wordpress.com/
Sebastian
Well, I guess someone was needed for that role….