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).
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,τ)has as closed sets:
{x∈Rn:∀fi∈R[X1,X2,…Xn],fi(x)=0}
Open sets (the complement of closed sets) are of them form:
{x∈Rn:∃fi∈R[X1,X2,…Xn],fi(x)=0}∈τ
The empty set is generated as {x∈Rn:0=0} and the
full set is generated as {x∈Rn:1=0}.
Recall that in this view of topology, for a space (X,τ), for every
open set O∈τ, we associate a turing machine TO which semi-decides
inclusion. That is, if a point is in O then it halts with the output IN-SET.
if the point is not in O, TO infinite loops. Formally:
xx∈O⟺TO halts on input x∈O⟺TO does not halts on input o
Alternatively, for a closed set C∈τ, we associate a a turing machine
TC which semi-decides exclusion. That is, if a point is not in Cit halts with the output "NOT-IN-SET". If the point is in C, the turing
machine TC infinite loops.
Now in the case of polynomials, we can write a function that semidecides
exclusion from closed sets:
#returnNOT-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:ifpoly(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
x0 is not a root of poly, then at some point, we will have
that poly(x0)/neq0. If x0 is indeed a root, then we will never halt
this process; We will keep getting poly(x0[:precision]) = 0 for all
levels of precision.
To setup a topology for the prime spectrum of a ring, we define the topological space as Spec(R), the set of all prime ideals of R.
The closed sets of the topology are {V(I):Iis an ideal of R}, where the function V:Ideals of R→2Prime ideals of Reach ideal to the set of prime ideals that contain it. Formally, V(I)={p∈Spec(R):I⊆p}.
We can think of this differently, by seeing that we can rewrite the condition as V(I)={P∈Spec(R):IP0}: On rewriting using the prime ideal P, we send the ideal I to 0.
Thus, the closed sets of 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 by saying that the closed sets were V(pi)={x∈R:p(x)=0}for some polynomial p∈R[x].
Here, we are saying that the closed sets are V(I)={x∈Spec(R):I(x)=0}for some ideal I∈R. so we are looking at ideals as functions from the prime ideal to the reduction of the ideal. That is, I(P)=I/P.
Since 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%p. We then have that the closed sets are those primes
which can zero out some number. That is:
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).
Consider the functions f(x)=(x−1) and g(x)=(x−1)2. as functions on R. They are indistinguishable based on Zariski, since their zero sets are the same ( {1}).
If we now move to the scheme setting, we get two different schemes: Rg≡R[X]/(x−1)≃R, and Rg≡R[X]/(x−1)2.
In the ring Rg, we have an element (x−1)such that (x−1)2=0, which is a nilpotent. This "picks up" on the repeated root.
Another example is to consider (i) the pair of polynomials y=0(the x-axis) and y=(x). The intersection is the zero set of the ideal (y,y2−x)=(y,0−x)=(y,x).
Then consider (ii) the pair of y=0 (the x-axis) and y=x2. 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,y−x2)=(y,0−x2)=(y,x2).
So (i) is governed by R[X,Y]/(y,x), while (ii) is governed by R[X,Y]/(y,x2)which has a nilpotent x2. This tells us that in (ii), there is an "infinitesimal thickening" along the x-axis of the intersection.