-- Macaulay2 computations for the paper
--
-- DEGENERATIONS OF GUSHEL-MUKAI FOURFOLDS,
-- WITH A VIEW TOWARDS IRRATIONALITY PROOFS
--
-- by Christian Boehning and Hans-Christian v. Bothmer
-- Compute the rank filtration of
--
-- Z \cap p_2^-1(Q \cap Gr(2,W))
--
-- in the proof Proposition 2.2
restart
-- the ground field
K = QQ
-- the coordinate Ring of IP^4 = IP(W)
R = K[w_0..w_4]
-- a second copy of the coordinate Ring of IP^4
S = K[x_0..x_4]
-- the coordinate ring of IP(\Lambda^2 W)
G = K[g_0..g_9]
-- the coordinate ring of IP^4 \times IP^4
RS = R**S
-- describe a line by
-- giving two points in IP^4
--
-- more precisely we give a 2x4 matrix
-- with the coordinates of the two points
-- in the two rows
line = sub(vars R,RS)||sub(vars S,RS)
-- compute the pluecker coordinates of such
-- a line
linePluecker = gens minors(2,line)
-- this gives a dominant map
--
-- phi: IP^4 x IP^4 --> Gr(2,W)
--
-- indeed for every point P \in IP^3 the restriction
--
-- P \times IP^4 --> Gr(2,W)
--
-- will be the projection of P \times IP^4 from
-- P \times P onto a IP^3 \subset Gr(2,W).
-- This IP^3 is the IP^3 of lines passing throu P.
--
-- It is therefore also
--
-- p_2(p_1^-1(P) \cap Z)
--
-- in the notation of the proof of Proposition 2.2
-- a random quadric in IP(\Lambda^2 W)
Q = random(2,G);
-- substitute the plucker coordinates of our
-- line representation into Q
Qxw = sub(Q,linePluecker);
-- this gives a divisor of bidegree (2,2) on
-- IP^3 x IP^3. It is the preimage of Q in IP^3 x IP^3
--
-- We can represent this divisor as a
-- symmetrix 5x5 matrix of degree 2 polynomials
-- in the coordinates of the first IP^3.
M = sub(diff(sub(vars S,RS),
transpose diff(sub(vars S,RS),Qxw)),R)
-- TEST: is the matrix symmetric?
assert (0==M-transpose M)
-- for each point P \in IP^3 the
-- quadric defined by the symmetric matrix M
-- evaluated at P is
--
-- \phi^-1(phi(P) \cap Q)
--
-- it is therefore also a cone over (\phi(P) \cap Q)
-- with vertex at $P$
--
-- It follows that we can compute the rank filtration
-- needed in the paper by computing the
-- rank filtration of M
-- TEST: does it have at most rank 4
assert (0==det M)
-- TEST: is the rank 2 locus a divisor of degree 6?
time betti (rank3 = saturate ideal mingens minors(4,M))
-- used 10.9569 seconds (over QQ)
assert (1 == codim rank3)
assert (6 == degree rank3)
-- TEST: is the rank 2 locus a curve of degree 40?
time betti (rank2 = saturate ideal mingens minors(3,M))
assert (3 == codim rank2)
assert (40 == degree rank2)
-- TEST: is the rank 1 locus empty?
time betti (rank1 = saturate ideal mingens minors(2,M))
assert (infinity == codim rank1)