Consider a polynomial ring S=ℤ[x0,…,xr], and a quotient Q=Sp/N where N is a homogeneous submodule generated in degrees at most d. Suppose that Qd is free of rank n. We then have a short exact sequence 0→Nd→Sdp→Qd→0 where also Nd is free. Thus, Nd⊗S1→Spd+1→Qd+1→0 is a free presentation of Qd+1. If the basis of Qd can be choosen as a so called Gotzmann set, then Qd+1 is free of rank n if and only if the (n-1)’th Fitting ideal of Qd+1 is zero.
As an example, we consider a quotient Q of S2=ℤ[x0,x1]2 such that Q1 is free of rank 1. As S21=ℤ<xe1,ye1,xe2,ye2> is a free ℤ4-module we have that Q1 is the cokernel of a (1×4)-matrix.
i1 : S=ZZ[x_0,x_1]; |
i2 : R=ZZ[a_1..a_4]; |
i3 : Q1=matrix{{a_1,a_2,a_3,a_4}} o3 = | a_1 a_2 a_3 a_4 | 1 4 o3 : Matrix R <--- R |
Suppose that Q1 has a basis given by xe1, corresponding to the 0’th column. We check that this is a Gotzmann set, and calculate a free presentation of Q2.
i4 : gotzmannTest(S^2,1,{0}) o4 = true |
i5 : Q1=affinePart(Q1,{0}) o5 = | 1 a_2 a_3 a_4 | 1 4 o5 : Matrix R <--- R |
i6 : N1=gens ker Q1 o6 = {0} | a_2 a_3 a_4 | {1} | -1 0 0 | {1} | 0 -1 0 | {1} | 0 0 -1 | 4 3 o6 : Matrix R <--- R |
i7 : N2=nextDegree(N1,1,S) o7 = {-1} | a_2 0 a_3 0 a_4 0 | {-1} | -1 a_2 0 a_3 0 a_4 | {0} | 0 -1 0 0 0 0 | {0} | 0 0 -1 0 0 0 | {0} | 0 0 0 -1 -1 0 | {0} | 0 0 0 0 0 -1 | 6 6 o7 : Matrix R <--- R |
N2 is the matrix corresponding to the map N1⊗S1→S22, so Q2 is the cokernel. We want to calculate the (n-1)’th Fitting ideal of N2 with n=1.
i8 : co1Fitting(N2) o8 = ideal(a a - a ) 2 3 4 o8 : Ideal of R |
Thus, the obstruction for Q2 to be free of rank 1 is the equation a2a3-a4.
A result is that the Quot scheme of rank n quotients of Op is cut out by a single (n-1)’th Fitting ideal in the Grassmannian of locally free rank n quotients of a push forward of O(d)p for d≥n.
In the case above, we have the Grassmannian Gr(1,4)=ℙ3, and the Quot scheme is given by a (n-1)’th Fitting ideal. All of the above calculations can also be done directly by:
i9 : quotScheme(S^2,1,{0}) o9 = ideal(a a - a ) 2 3 4 o9 : Ideal of ZZ[a , a , a , a ] 1 2 3 4 |
We can calculate much bigger examples with these function than with the ordinary Fitting ideal function. As an example, we consider the following with rank 2 quotients of S2.
i10 : S=ZZ[x,y]; |
i11 : R=ZZ[a_1..a_12]; |
i12 : Q2=matrix{toList(a_1..a_6),toList(a_7..a_12)} o12 = | a_1 a_2 a_3 a_4 a_5 a_6 | | a_7 a_8 a_9 a_10 a_11 a_12 | 2 6 o12 : Matrix R <--- R |
i13 : Q2=affinePart(Q2,{0,1}) o13 = | 1 0 a_3 a_4 a_5 a_6 | | 0 1 a_9 a_10 a_11 a_12 | 2 6 o13 : Matrix R <--- R |
i14 : K3=nextDegree(gens ker Q2,2,S); 8 8 o14 : Matrix R <--- R |
i15 : time I=co1Fitting(K3) -- used 0.00179741 seconds o15 = ideal (a a + a - a , a a - a , a a + a - a , a a - a ) 9 11 5 12 3 11 6 9 10 4 11 3 10 5 o15 : Ideal of R |
i16 : time J=fittingIdeal(2-1,coker K3); -- used 0.00589723 seconds o16 : Ideal of R |
i17 : I==J o17 = true |
Note that our method is a bit faster for this small example, and for rank 2 quotients of S3=ℤ[x,y]3 the time difference is massive.