§ Grokking Zariski

There's a lot written on the Zariski topology on the internet, but most of them lack explicit examples and pictures. This is my attempt to communicate what the Zariski topology looks like, from the perspectives that tickle my fancy (a wealth of concrete examples, topology-as-semi-decidability, and pictures).

§ The Zariski topology

Recall that the Zariski topology is defined by talking about what its closed sets are. The common zero sets of a family of polynomials are the closed sets of the Zariski topology. Formally, the topology (Rn,τ)(\mathbb R^n, \tau) has as closed sets:
{xRn:fiR[X1,X2,Xn],fi(x)=0} \{ x \in \mathbb R^n : \forall f_i \in \mathbb R[X_1, X_2, \dots X_n], f_i(x) = 0 \}
Open sets (the complement of closed sets) are of them form:
{xRn:fiR[X1,X2,Xn],fi(x)0}τ \{ x \in \mathbb R^n : \exists f_i \in \mathbb R[X_1, X_2, \dots X_n], f_i(x) \neq 0 \} \in \tau
The empty set is generated as {xRn:00}\{ x \in \mathbb R^n : 0 \neq 0 \} and the full set is generated as {xRn:10}\{ x \in \mathbb R^n : 1 \neq 0 \}.

§ Semi-decidability

Recall that in this view of topology, for a space (X,τ)(X, \tau), for every open set OτO \in \tau, we associate a turing machine TOT_O which semi-decides inclusion. That is, if a point is in OO then it halts with the output IN-SET. if the point is not in OO, TOT_O infinite loops. Formally:
xO    TO halts on input xx∉O    TO does not halts on input o \begin{aligned} x &&\in O \iff \text{$T_O$ halts on input $x$} \\ x &&\not \in O \iff \text{$T_O$ does not halts on input $o$} \end{aligned}
Alternatively, for a closed set CτC \in \tau, we associate a a turing machine TCT_C which semi-decides exclusion. That is, if a point is not in CC it halts with the output "NOT-IN-SET". If the point is in CC, the turing machine TCT_C infinite loops. Now in the case of polynomials, we can write a function that semidecides exclusion from closed sets:
# return NOT-IN-SET of x is not a zero of the polynomial
def is_not_in_zeros(poly, x0):
  precision = 0 # start with zero precision
  while True:
    if poly(x0[:precision]) != 0: return NOT-IN-SET
    precision += 1 # up the precision
Since we can only evaluate a polynomial up to some finite precision, we start with zero precsion and then gradually get more precise. If some x0x0 is not a root of polypoly, then at some point, we will have that poly(x0)/neq0poly(x0) /neq 0. If x0x0 is indeed a root, then we will never halt this process; We will keep getting poly(x0[:precision]) = 0 for all levels of precision.

§ Spec(R)

  • To setup a topology for the prime spectrum of a ring, we define the topological space as Spec(R)Spec(R), the set of all prime ideals of RR.
  • The closed sets of the topology are {V(I):Iis an ideal of R}\{ V(I) : I \text{is an ideal of } R \}, where the function V:Ideals of R2Prime ideals of RV: \text{Ideals of } R \rightarrow 2^{\text{Prime ideals of } R}each ideal to the set of prime ideals that contain it. Formally, V(I)={pSpec(R):Ip}V(I) = \{ p \in Spec(R) : I \subseteq p \}.
  • We can think of this differently, by seeing that we can rewrite the condition as V(I)={PSpec(R):IP0}V(I) = \{ P \in Spec(R) : I \xrightarrow{P} 0 \}: On rewriting using the prime ideal PP, we send the ideal II to 00.
  • Thus, the closed sets of Spec(R)Spec(R) are precisely the 'zeroes of polynomials' / 'zeroes of ideals'.
  • To make the analogy precise, note that in the polynomial case, we imposed a topology on R\mathbb R by saying that the closed sets were V(pi)={xR:p(x)=0}V(p_i) = \{ x \in \mathbb R : p(x) = 0 \}for some polynomial pR[x]p \in \mathbb R[x].
  • Here, we are saying that the closed sets are V(I)={xSpec(R):I(x)=0}V(I) = \{ x \in Spec(R) : I(x) = 0 \}for some ideal IRI \in R. so we are looking at ideals as functions from the prime ideal to the reduction of the ideal. That is, I(P)=I/PI(P) = I/P.

§ Spec(Z)Spec(\mathbb Z) from this perspective

Since Z\mathbb Z is a PID, we can think of numbers instead of ideals. The above picture asks us to think of a number as a function from a prime to a reduced number. n(p)=n%pn(p) = n \% p. We then have that the closed sets are those primes which can zero out some number. That is:
V(I)={xSpec(Z):I(x)=0}V((n))={(p)Spec(Z):(n)/(p)=0}V((n))={(p)Spec(Z):(n)mod(p)=0} \begin{aligned} V(I) = \{ x \in Spec(\mathbb Z) : I(x) = 0 \} V((n)) = \{ (p) \in Spec(\mathbb Z) : (n)/(p) = 0 \} V((n)) = \{ (p) \in Spec(\mathbb Z) : (n) \mod (p) = 0 \} \end{aligned}
So in our minds eye, we need to imagine a space of prime ideals (points), which are testing with all ideals (polynomials). Given a set of prime ideals (a tentative locus, say a circle), the set of prime ideals is closed if it occurs as the zero of some collection of ideas (if the locus occurs as the zero of some collection of polynomials).

§ Nilpotents of a scheme

  • Consider the functions f(x)=(x1)f(x) = (x - 1) and g(x)=(x1)2g(x) = (x - 1)^2. as functions on R\mathbb R. They are indistinguishable based on Zariski, since their zero sets are the same ( {1}\{ 1 \}).
  • If we now move to the scheme setting, we get two different schemes: RgR[X]/(x1)RR_g \equiv \mathbb R[X] / (x - 1) \simeq \mathbb R, and RgR[X]/(x1)2R_g \equiv R[X] / (x - 1)^2.
  • In the ring RgR_g, we have an element (x1)(x-1)such that (x1)2=0(x-1)^2 = 0, which is a nilpotent. This "picks up" on the repeated root.
- So the scheme is stronger than Zariski, as it can tell the difference between these two situations. So we have a kind of "infinitesimal thickening" in the case of RgR_g. For more, check the math.se question: 'Geometric meaning of the nilradical'
  • Another example is to consider (i) the pair of polynomials y=0y = 0(the x-axis) and y=(x)y = \sqrt(x). The intersection is the zero set of the ideal (y,y2x)=(y,0x)=(y,x)(y, y^2 - x) = (y, 0 - x) = (y, x).
  • Then consider (ii) the pair of y=0y = 0 (the x-axis) and y=x2y = x^2. Here, we have "more intersection" along the x-axis than in the previous case, as the parabola is "aligned" to the x-axis. The intersection is the zero set of the ideal (y,yx2)=(y,0x2)=(y,x2)(y, y - x^2) = (y, 0 - x^2) = (y, x^2).
  • So (i) is governed by R[X,Y]/(y,x)\mathbb R[X, Y] / (y, x), while (ii) is governed by R[X,Y]/(y,x2)\mathbb R[X, Y] /(y, x^2)which has a nilpotent x2x^2. This tells us that in (ii), there is an "infinitesimal thickening" along the xx-axis of the intersection.