-- -*- M2-comint -*- {* hash: -1055676355 *} i1 : R = ZZ/32003[a,b,c,d] o1 = R o1 : PolynomialRing i2 : X = ideal(a^3+b^3+c^3+d^3) 3 3 3 3 o2 = ideal(a + b + c + d ) o2 : Ideal of R i3 : KK = coefficientRing R o3 = KK o3 : QuotientRing i4 : S = KK [s,t,p_0..p_3,q_0..q_3] o4 = S o4 : PolynomialRing i5 : F = map(S,R, s*matrix{{p_0..p_3}} + t*matrix{{q_0..q_3}} ) o5 = map(S,R,{s*p + t*q , s*p + t*q , s*p + t*q , s*p + t*q }) 0 0 1 1 2 2 3 3 o5 : RingMap S <--- R i6 : FX = F X 3 3 3 3 3 3 3 3 2 2 2 2 3 3 o6 = ideal(s p + s p + s p + s p + 3s t*p q + 3s*t p q + t q + 0 1 2 3 0 0 0 0 0 ------------------------------------------------------------------------ 2 2 2 2 3 3 2 2 2 2 3 3 2 2 3s t*p q + 3s*t p q + t q + 3s t*p q + 3s*t p q + t q + 3s t*p q 1 1 1 1 1 2 2 2 2 2 3 3 ------------------------------------------------------------------------ 2 2 3 3 + 3s*t p q + t q ) 3 3 3 o6 : Ideal of S i7 : cFX = last coefficients(gens FX, Variables => {s,t}) o7 = {3} | p_0^3+p_1^3+p_2^3+p_3^3 | {3} | 3p_0^2q_0+3p_1^2q_1+3p_2^2q_2+3p_3^2q_3 | {3} | 3p_0q_0^2+3p_1q_1^2+3p_2q_2^2+3p_3q_3^2 | {3} | q_0^3+q_1^3+q_2^3+q_3^3 | 4 1 o7 : Matrix S <--- S i8 : S1 = KK[p_0..p_3,q_0..q_3] o8 = S1 o8 : PolynomialRing i9 : cFX = substitute(cFX, S1) o9 = {3} | p_0^3+p_1^3+p_2^3+p_3^3 | {3} | 3p_0^2q_0+3p_1^2q_1+3p_2^2q_2+3p_3^2q_3 | {3} | 3p_0q_0^2+3p_1q_1^2+3p_2q_2^2+3p_3q_3^2 | {3} | q_0^3+q_1^3+q_2^3+q_3^3 | 4 1 o9 : Matrix S1 <--- S1 i10 : S1bar = S1/ideal cFX o10 = S1bar o10 : QuotientRing i11 : GR = coefficientRing R[x_0..x_5] o11 = GR o11 : PolynomialRing i12 : M = substitute( exteriorPower(2, matrix{{p_0..p_3},{q_0..q_3}}), S1bar) o12 = | -p_1q_0+p_0q_1 -p_2q_0+p_0q_2 -p_2q_1+p_1q_2 -p_3q_0+p_0q_3 ----------------------------------------------------------------------- -p_3q_1+p_1q_3 -p_3q_2+p_2q_3 | 1 6 o12 : Matrix S1bar <--- S1bar i13 : gr = map (S1bar, GR, M) o13 = map(S1bar,GR,{- p q + p q , - p q + p q , - p q + p q , - p q + p q , - p q + p q , - p q + p q }) 1 0 0 1 2 0 0 2 2 1 1 2 3 0 0 3 3 1 1 3 3 2 2 3 o13 : RingMap S1bar <--- GR i14 : fano = trim ker gr 2 2 2 o14 = ideal (x x - x x + x x , x x x , x x x , x x + x x , x x x , x x + 2 3 1 4 0 5 3 4 5 1 2 5 0 4 1 5 0 2 4 0 4 ----------------------------------------------------------------------- 2 3 3 3 2 2 2 2 2 2 2 x x , x + x + x , x x + x x , x x - x x , x x + x x , x x x , x x 1 5 3 4 5 1 3 2 4 0 3 2 5 1 3 2 4 0 1 3 0 3 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 3 3 + x x , x x + x x , x x + x x , x x + x x , x x - x x , x + x - 2 5 1 2 3 4 0 2 3 5 1 2 3 4 0 2 3 5 1 2 ----------------------------------------------------------------------- 3 2 2 2 2 3 3 3 x , x x - x x , x x - x x , x - x - x ) 5 0 1 4 5 0 1 4 5 0 2 4 o14 : Ideal of GR i15 : codim fano o15 = 5 i16 : degree fano o16 = 27 i17 : betti fano 0 1 o17 = total: 1 20 0: 1 . 1: . 1 2: . 19 o17 : BettiTally i18 : needsPackage "Text" o18 = Text o18 : Package i19 : document { Key => Fano2, TT "Fano2(k,X,GR) or Fano2(k,X)", " -- computes the ideal of a Fano scheme in the Grassmannian.", PARA{}, "Given an ideal X representing a projective variety in P^r, a positive integer k<r, and optionally a ring GR with (exactly) r+1 choose k+1 variables, representing the ambient space of the Grassmannian of k-planes in P^r, this routine returns the ideal in GR of the Fano scheme that parametrizes the k-planes lying on X. If the optional third argument is not present, the routine fabricates its own local ring, and returns an ideal over it." } i20 : document { Key => symbol Grassmannian2, TT "Grassmannian2(k,r,R) or Grassmannian2(k,r)", "-- Given natural numbers k <= r, and optionally a ring R with at least binomial(r+1,k+1) variables, the routine defines the ideal of the Grassmannian of projective k-planes in P^r, using the first binomial(r+1,k+1) variables of R. If R is not given, the routine makes and uses ZZ/31991[vars(0..binomial(r+1,k+1)-1]." } i21 : Fano2 = method() o21 = Fano2 o21 : MethodFunction i22 : Fano2(ZZ,Ideal,Ring) := (k,X,GR) -> ( -- Get info about the base ring of X: -- The coefficient ring (to make new rings of -- the same characteristic, for example) -- and the number of variables KK:=coefficientRing ring X; r := (numgens ring X) - 1; -- Next make private variables for our -- intermediate rings, to avoid interfering -- with something outside: t:=symbol t; p:=symbol p; -- And rings S1 := KK[t_0..t_k]; S2 := KK[p_0..p_(k*r+k+r)]; S := tensor(S1,S2); -- Over S we have a generic point of a generic -- line, represented by a row vector, which -- we use to define a map from the base ring -- of X F := map(S,ring X, genericMatrix(S,S_0,1,k+1)* genericMatrix(S,S_(k+1),k+1,r+1) ); -- We now apply F to the ideal of X FX := F X; -- and the condition we want becomes the condition -- that FX vanishes identically in the t_i. -- The following line produces the matrix of -- coefficients of the monomials in the -- variables labelled 0..k: cFX := last coefficients (gens FX, Variables => toList apply(0..k, i -> S_i)); -- We can get rid of the variables t_i -- to ease the computation: cFX = substitute(cFX, S2); -- The ring we want is the quotient S2bar := S2/ideal cFX; -- Now we want to move to the Grassmannian, -- represented by the ring GR -- We define a map sending the variables of GR -- to the minors of the generic matrix in the -- p_i regarded as elements of S1bar gr := map(S2bar,GR, exteriorPower(k+1, genericMatrix(S2bar,S2bar_0,k+1,r+1) ) ); -- and the defining ideal of the Fano variety is ker gr ) o22 = {*Function[stdio:52:33-100:6]*} o22 : FunctionClosure i23 : Fano2(ZZ, Ideal) := (k,X) -> ( KK:=coefficientRing ring X; r := (numgens ring X) - 1; -- We can specify a private ring with binomial(r+1,k+1) -- variables as follows GR := KK[Variables => binomial(r+1,k+1)]; -- the work is done by Fano2(k,X,GR) ) o23 = {*Function[stdio:102:26-109:12]*} o23 : FunctionClosure i24 : Grassmannian2 = method() o24 = Grassmannian2 o24 : MethodFunction i25 : Grassmannian2(ZZ,ZZ,Ring) := (k,r,R) ->( KK := coefficientRing R; RPr := KK[Variables => r+1]; Pr := ideal(0_RPr); Fano2(k,Pr) ) o25 = {*Function[stdio:112:37-116:16]*} o25 : FunctionClosure i26 : Grassmannian2(ZZ,ZZ) := (r,k) -> ( R := ZZ/31991[ vars(0..(binomial(r+1,k+1)-1)) ]; Grassmannian2(k,r,R) ) o26 = {*Function[stdio:118:30-122:26]*} o26 : FunctionClosure i27 : KK = ZZ/31991 o27 = KK o27 : QuotientRing i28 : R = KK[a,b,c,d] o28 = R o28 : PolynomialRing i29 : X = ideal(a*b-c*d) o29 = ideal(a*b - c*d) o29 : Ideal of R i30 : I = Fano2(1,X) 2 o30 = ideal (p p , p p , p p + 15995p p - 15995p , p p + p p , p p - 3 4 2 4 1 4 0 5 5 0 4 4 5 2 3 ----------------------------------------------------------------------- 2 15995p p - 15995p , p p , p p - p p , p p , p p - p p , p p + p p , 0 5 5 1 3 0 3 3 5 1 2 0 2 2 5 0 1 1 5 ----------------------------------------------------------------------- 2 2 p - p ) 0 5 o30 : Ideal of KK[p , p , p , p , p , p ] 0 1 2 3 4 5 i31 : dim I o31 = 2 i32 : degree I o32 = 4 i33 : KK = ZZ/31991 o33 = KK o33 : QuotientRing i34 : P5 = KK[a..f] o34 = P5 o34 : PolynomialRing i35 : MVero = genericSymmetricMatrix(P5,a,3) o35 = | a b c | | b d e | | c e f | 3 3 o35 : Matrix P5 <--- P5 i36 : Vero = minors(2,MVero) 2 2 o36 = ideal (- b + a*d, - b*c + a*e, - c*d + b*e, - b*c + a*e, - c + a*f, - ----------------------------------------------------------------------- 2 c*e + b*f, - c*d + b*e, - c*e + b*f, - e + d*f) o36 : Ideal of P5 i37 : catalecticant = (R,v,m,n) -> map(R^m,n,(i,j)-> R_(i+j+v)) o37 = catalecticant o37 : FunctionClosure i38 : catalecticant(P5,1,2,4) o38 = | b c d e | | c d e f | 2 4 o38 : Matrix P5 <--- P5 i39 : M13 = catalecticant(P5,0,2,1) | catalecticant(P5,2,2,3) o39 = | a c d e | | b d e f | 2 4 o39 : Matrix P5 <--- P5 i40 : S13 = minors(2,M13) 2 o40 = ideal (- b*c + a*d, - b*d + a*e, - d + c*e, - b*e + a*f, - d*e + c*f, ----------------------------------------------------------------------- 2 - e + d*f) o40 : Ideal of P5 i41 : M22 = catalecticant(P5,0,2,2) | catalecticant(P5,3,2,2) o41 = | a b d e | | b c e f | 2 4 o41 : Matrix P5 <--- P5 i42 : S22 = minors(2, M22) 2 o42 = ideal (- b + a*c, - b*d + a*e, - c*d + b*e, - b*e + a*f, - c*e + b*f, ----------------------------------------------------------------------- 2 - e + d*f) o42 : Ideal of P5 i43 : Verores = res coker gens Vero 1 6 8 3 o43 = P5 <-- P5 <-- P5 <-- P5 <-- 0 0 1 2 3 4 o43 : ChainComplex i44 : S22res = res coker gens S22 1 6 8 3 o44 = P5 <-- P5 <-- P5 <-- P5 <-- 0 0 1 2 3 4 o44 : ChainComplex i45 : S13res = res coker gens S13 1 6 8 3 o45 = P5 <-- P5 <-- P5 <-- P5 <-- 0 0 1 2 3 4 o45 : ChainComplex i46 : betti Verores 0 1 2 3 o46 = total: 1 6 8 3 0: 1 . . . 1: . 6 8 3 o46 : BettiTally i47 : betti S22res 0 1 2 3 o47 = total: 1 6 8 3 0: 1 . . . 1: . 6 8 3 o47 : BettiTally i48 : betti S13res 0 1 2 3 o48 = total: 1 6 8 3 0: 1 . . . 1: . 6 8 3 o48 : BettiTally i49 : FVero = Fano2(1, Vero) 2 o49 = ideal (p , p p , p p , p p , p p , p p , p p , p p , p p , 14 13 14 12 14 11 14 10 14 9 14 8 14 7 14 6 14 ----------------------------------------------------------------------- 2 p p , p p , p p , p p , p p , p p , p , p p , p p , p p , 5 14 4 14 3 14 2 14 1 14 0 14 13 12 13 11 13 10 13 ----------------------------------------------------------------------- p p , p p , p p , p p , p p , p p , p p , p p , p p , p p , 9 13 8 13 7 13 6 13 5 13 4 13 3 13 2 13 1 13 0 13 ----------------------------------------------------------------------- 2 p , p p , p p , p p , p p , p p , p p , p p , p p , p p , 12 11 12 10 12 9 12 8 12 7 12 6 12 5 12 4 12 3 12 ----------------------------------------------------------------------- 2 p p , p p , p p , p , p p , p p , p p , p p , p p , p p , 2 12 1 12 0 12 11 10 11 9 11 8 11 7 11 6 11 5 11 ----------------------------------------------------------------------- 2 p p , p p , p p , p p , p p , p , p p , p p , p p , p p , 4 11 3 11 2 11 1 11 0 11 10 9 10 8 10 7 10 6 10 ----------------------------------------------------------------------- 2 p p , p p , p p , p p , p p , p p , p , p p , p p , p p , p p , 5 10 4 10 3 10 2 10 1 10 0 10 9 8 9 7 9 6 9 5 9 ----------------------------------------------------------------------- 2 p p , p p , p p , p p , p p , p , p p , p p , p p , p p , p p , p p , 4 9 3 9 2 9 1 9 0 9 8 7 8 6 8 5 8 4 8 3 8 2 8 ----------------------------------------------------------------------- 2 2 p p , p p , p , p p , p p , p p , p p , p p , p p , p p , p , p p , 1 8 0 8 7 6 7 5 7 4 7 3 7 2 7 1 7 0 7 6 5 6 ----------------------------------------------------------------------- 2 2 p p , p p , p p , p p , p p , p , p p , p p , p p , p p , p p , p , 4 6 3 6 2 6 1 6 0 6 5 4 5 3 5 2 5 1 5 0 5 4 ----------------------------------------------------------------------- 2 2 2 p p , p p , p p , p p , p , p p , p p , p p , p , p p , p p , p , p p , 3 4 2 4 1 4 0 4 3 2 3 1 3 0 3 2 1 2 0 2 1 0 1 ----------------------------------------------------------------------- 2 p ) 0 o49 : Ideal of KK[p , p , p , p , p , p , p , p , p , p , p , p , p , p , p ] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 i50 : betti gens FVero 0 1 o50 = total: 1 120 0: 1 . 1: . 120 o50 : BettiTally i51 : FS13 = Fano2(1, S13) 2 o51 = ideal (p , p p , p p , p p , p p , p p , p p , p p , p p , 14 13 14 12 14 11 14 10 14 9 14 8 14 7 14 6 14 ----------------------------------------------------------------------- 2 p p , p p , p p , p p , p p , p p , p , p p , p p , p p , 5 14 4 14 3 14 2 14 1 14 0 14 13 12 13 11 13 10 13 ----------------------------------------------------------------------- p p , p p , p p , p p , p p , p p , p p , p p , p p , p p , 9 13 8 13 7 13 6 13 5 13 4 13 3 13 2 13 1 13 0 13 ----------------------------------------------------------------------- 2 p , p p , p p , p p , p p , p p , p p , p p , p p , p p , 12 11 12 10 12 9 12 8 12 7 12 6 12 5 12 4 12 3 12 ----------------------------------------------------------------------- p p , p p , p p , p p , p p , p p - p p , p p , p p - 2 12 1 12 0 12 9 11 8 11 7 11 10 11 5 11 4 11 ----------------------------------------------------------------------- 2 p p , p p - p p , p p , p - p p , p p , p p , p p - p p , 6 11 2 11 3 11 0 11 10 6 11 9 10 8 10 7 10 6 11 ----------------------------------------------------------------------- p p - p p , p p , p p - p p , p p - p p , p p - p p , 6 10 3 11 5 10 4 10 3 11 3 10 1 11 2 10 1 11 ----------------------------------------------------------------------- 2 2 p p , p , p p , p p , p p , p p , p p , p p , p p , p p , p p , p , 0 10 9 8 9 7 9 6 9 5 9 4 9 3 9 2 9 1 9 0 9 8 ----------------------------------------------------------------------- 2 p p , p p , p p , p p , p p , p p , p p , p p , p - p p , p p - 7 8 6 8 5 8 4 8 3 8 2 8 1 8 0 8 7 6 11 6 7 ----------------------------------------------------------------------- p p , p p , p p - p p , p p - p p , p p - p p , p p - p p , 3 11 5 7 4 7 3 11 3 7 1 11 2 7 1 11 1 7 1 10 ----------------------------------------------------------------------- 2 p p , p - p p , p p , p p - p p , p p - p p , p p - p p , p p , 0 7 6 1 11 5 6 4 6 1 11 3 6 1 10 2 6 1 10 0 6 ----------------------------------------------------------------------- 2 2 p , p p , p p , p p , p p , p p , p - p p , p p - p p , p p - 5 4 5 3 5 2 5 1 5 0 5 4 1 11 3 4 1 10 2 4 ----------------------------------------------------------------------- 2 2 p p , p p - p p , p p , p - p p , p p - p p , p p , p - p p , p p 1 10 1 4 1 6 0 4 3 1 6 2 3 1 6 0 3 2 1 6 1 2 ----------------------------------------------------------------------- - p p , p p , p p ) 1 3 0 2 0 1 o51 : Ideal of KK[p , p , p , p , p , p , p , p , p , p , p , p , p , p , p ] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 i52 : hilbertPolynomial coker gens FS13 o52 = - 2*P + 4*P 0 1 o52 : ProjectiveHilbertPolynomial i53 : FS22 = Fano2(1, S22) 2 o53 = ideal (p , p p , p p , p p , p p , p p , p p , p p , p p , 14 13 14 12 14 11 14 10 14 9 14 8 14 7 14 6 14 ----------------------------------------------------------------------- 2 p p , p p , p p , p p , p p , p p , p , p p , p p , p p , 5 14 4 14 3 14 2 14 1 14 0 14 13 12 13 11 13 10 13 ----------------------------------------------------------------------- p p , p p , p p , p p , p p , p p , p p , p p , p p , p p , 9 13 8 13 7 13 6 13 5 13 4 13 3 13 2 13 1 13 0 13 ----------------------------------------------------------------------- p p , p p - p p , p p - p p , p p - p p , p p - p p , 9 12 8 12 11 12 7 12 10 12 5 12 10 12 4 12 6 12 ----------------------------------------------------------------------- 2 p p , p p , p p , p - p p , p p - p p , p p , p p - 2 12 1 12 0 12 11 10 12 10 11 6 12 9 11 8 11 ----------------------------------------------------------------------- p p , p p - p p , p p - p p , p p - p p , p p - p p , 10 12 7 11 6 12 6 11 3 12 5 11 6 12 4 11 3 12 ----------------------------------------------------------------------- 2 p p , p p , p p , p - p p , p p , p p - p p , p p - p p , 2 11 1 11 0 11 10 3 12 9 10 8 10 6 12 7 10 3 12 ----------------------------------------------------------------------- 2 p p - p p , p p - p p , p p - p p , p p , p p , p p , p , 6 10 3 11 5 10 3 12 4 10 3 11 2 10 1 10 0 10 9 ----------------------------------------------------------------------- 2 p p , p p , p p , p p , p p , p p , p p , p p , p p , p - p p , p p 8 9 7 9 6 9 5 9 4 9 3 9 2 9 1 9 0 9 8 10 12 7 8 ----------------------------------------------------------------------- - p p , p p - p p , p p - p p , p p - p p , p p - p p , p p , 6 12 6 8 3 12 5 8 6 12 4 8 3 12 3 8 3 11 2 8 ----------------------------------------------------------------------- 2 p p , p p , p - p p , p p - p p , p p - p p , p p - p p , p p 1 8 0 8 7 3 12 6 7 3 11 5 7 3 12 4 7 3 11 3 7 ----------------------------------------------------------------------- 2 - p p , p p , p p , p p , p - p p , p p - p p , p p - p p , 3 10 2 7 1 7 0 7 6 3 10 5 6 3 11 4 6 3 10 ----------------------------------------------------------------------- 2 p p , p p , p p , p - p p , p p - p p , p p - p p , p p , p p , 2 6 1 6 0 6 5 3 12 4 5 3 11 3 5 3 10 2 5 1 5 ----------------------------------------------------------------------- 2 2 p p , p - p p , p p - p p , p p , p p , p p , p p , p p , p p , p , 0 5 4 3 10 3 4 3 6 2 4 1 4 0 4 2 3 1 3 0 3 2 ----------------------------------------------------------------------- 2 2 p p , p p , p , p p , p ) 1 2 0 2 1 0 1 0 o53 : Ideal of KK[p , p , p , p , p , p , p , p , p , p , p , p , p , p , p ] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 i54 : hilbertPolynomial coker gens FS22 o54 = - 3*P + 4*P 0 1 o54 : ProjectiveHilbertPolynomial i55 :