------------------------------------------------ -- nodal plane quintic ------------------------------------------------ restart R=ZZ/31991[x_0,x_1,x_2] I1=ideal {x_0,x_1} J=ideal (ambient basis(5,I1^2)*random(ZZ^18,ZZ^1)) X=Proj (R/J) singularLocus X hilbertPolynomial(X,Projective=>false) --arithmetic genus 6 as predicted: 6=(5-1)(5-2)/2 --geometric genus 5 => canonical map is embedding --canonical linear system on smooth model: O(-3+5) but must also vanish to order 1 at singular point B=ambient basis(2,I1) --need to restrict to curve S=ZZ/31991[y_0..y_4] f=map(R/J,S,B) K=ker f; transpose gens K Y=Proj(ring K/K) singularLocus Y hilbertPolynomial(Y,Projective=>false) -- genus 5 --can project back to 2-space T=ZZ/31991[z_0..z_2] g=map(S,T,random(S^{1},S^{0,0,0})) L=preimage_g K mingens L Z=Proj (T/L) SL=singularLocus Z degree SL -- 16 ODP => geometric genus is (8-1)(8-2)/2-16=21-16=5 ----------------------------------------------------- --twisted cubic ------------------------------------ --------------------------------------------------- restart R=QQ[s_0,s_1] S=QQ[x_0,x_1,x_2,x_3] v=map(R,S,basis(3,R)) I=kernel v hilbertPolynomial(I,Projective=>false) --degree 3, arithmetic genus 0 S1=newRing(S,MonomialOrder=>Weights=>{1,3,1,0}) gens gb sub(I,S1) J=monomialIdeal (sub(I,S1)) -- this is the most degenerate point of the Hilbert scheme h=hilbertPolynomial(J,Projective=>false) loadPackage "StronglyStableIdeals" stronglyStableIdeals(h,S) -- first and third are on a single irreducible component loadPackage "VersalDeformations" (f,r,g,c)=localHilbertScheme(gens J,Verbose=>2); G=ideal sum g pd=primaryDecomposition G apply(pd,i->(numgens ring g_0)-codim i) -- two components, one of dimension 15, one of dimension 12 (sum f)%sub(pd_0,ring f_0) ideal sub(oo,apply(gens ring f_0,i->i=>random(100))) -- generic element of family primaryDecomposition oo -- this is a planar elliptic curve with an embedded point ((sum f)%sub(pd_1,ring f_0)) K=ideal sub(oo,apply(gens ring f_0,i->i=>random(100))) -- generic element of family transpose mingens K isPrime K Y=Proj(S/sub(K,S)) singularLocus Y -- smooth deg 3 curve of genus 0 => rat normal curve ------------------------------------------------------------- -- sheaf cohomology -------------------------------------------------------------- --quartic surface restart R=QQ[x_0..x_3] f=random(4,R) X=Proj (R/ideal f) singularLocus X hh^(1,0)(X) hh^(0,0)(X) hh^(1,1)(X) --all other Hodge numbers come from Serre Duality and Hodge symmetry --sheaf cohomology restart X=Proj (QQ[x_0..x_4]) -- P^4 OO_X(-5) HH^4(OO_X(-5)) ------------------------------------------ --intersection multiplicity ----------------------------------------- restart R=QQ[x_0..x_3] -- coordinate ring of A^4 I1=ideal {x_0,x_1} I2=ideal {x_2,x_3} --two planes intersecting in a point J=intersect(I1,I2) loadPackage "Depth" isCM(R/I1) isCM(R/J) --famous non-CM example depth(R/J) dim(R/J) --another plane K=ideal{x_0-x_2,x_1-x_3} --We expect intersection multiplicity 2 at (0:0:0:0:1) mingens (J+K) decompose (J+K) -- only intersect in point (0:0:0:0:1) --Bezout predicts intersection multiplicity 2 numgens source basis(R/(J+K)) -- this has length 3!!! --need to correct with higher Tors numgens source basis Tor_0(module R/J,module R/K) numgens source basis Tor_1(module R/J,module R/K) numgens source basis Tor_2(module R/J,module R/K) --higher Tors vanish; we can compute by hand C=res coker gens J C#dd_2 --can see maps C1=C**(coker gens K) numgens source basis HH_1(C1) res coker gens K -- this shows there is at most Tor_2 ------------------------------------------------------ ----------------------------------------------------------------------- -- projectivized cotangent bundle on F_1 ------------------------------------------------------------------------ restart loadPackage "NormalToricVarieties" F1=hirzebruchSurface(1) Omega=cotangentSheaf(F1) HH^1(F1,Omega) HH^1(F1,sheaf(F1,symmetricPower(3,module Omega))) --Euler characteristic (there is a better way...) (rank HH^0(F1,Omega))-(rank HH^1(F1,Omega))-(rank HH^2(F1,Omega)) -- here's a different way to compute it to get the weights loadPackage "ToricVectorBundles" OmegaF1=cotangentBundle(fan F1) HH^1(symmetricPower(3,OmegaF1)) -- let's "make" the projectivization of the cotangent bundle c=chern Omega F1abstract=variety c Omegaabstract=abstractSheaf(variety c,ChernClass => c,Rank =>2) chi(Omegaabstract) G=projectiveBundle(Omegaabstract) K=dual determinant Schubert2$cotangentBundle G chi K integral (chern K)^3 ------------------------------------------------------------- -- 4 lines in P^3 --------------------------------------------------------------- restart loadPackage "Schubert2" G = flagBundle {2,2} f = (chern_1 OO_G(1))^4 integral f ---------------------------------------------------------------- -- 27 lines etc ---------------------------------------------------------------- restart loadPackage "Schubert2" G = flagBundle({2,2}) (S,Q)=bundles G; B=symmetricPower(3,Q); dim G-rank B -- expected dimension 0 --cubic gives element in Sym^3 dual O^4 integral(ctop(B)) --quintic threefold G = flagBundle({3,2}) (S,Q)=bundles G; B=symmetricPower(5,Q); dim G-rank B -- expected dimension 0 --cubic gives element in Sym^5 dual O^4 integral(ctop(B))