-- computations for the article -- "FORMATS OF 6×6 SKEW MATRICES OF LINEAR FORMS WITH VANISHING PFAFFIAN" --------------- -- Section 4 -- --------------- restart --------------------- -- Proposition 4.2 -- --------------------- -- the matrices of Table 2 load"Table2formats.m2" -- case (a) primaryDecomposition top pfaffians(4,M_a) -- 2 -- {ideal (l , l , l - l l )} -- 2 1 0 3 4 -- a smooth plane conic -- case (b) primaryDecomposition top pfaffians(4,M_b) -- {ideal (l , l , l ), ideal (l , l , l )} -- 0 1 2 2 3 4 -- two skew lines -- case (c) primaryDecomposition top pfaffians(4,M_c) -- -- {ideal (l , l , l ), ideal (l , l , l ) -- 0 1 2 1 2 3 -- two intersecting lines -- case (d) primaryDecomposition top pfaffians(4,M_d) -- 2 2 -- {ideal (l , l l - l l , l , l l , l )} -- 2 1 3 0 4 1 0 1 0 -- a doulbe line lying on a smooth quadric surface -- case (e) primaryDecomposition top pfaffians(4,M_e) -- 2 -- {ideal (l , l , l ) -- 0 1 2 -- a plane double line -- case (f) primaryDecomposition top pfaffians(4,M_f) -- 2 2 2 -- {ideal (l , l l , l , l l , l l , l )} -- 0 0 1 1 0 2 1 2 2 -- a line together with its full first order infinitesimal neighbourhood --------------------- -- Proposition 4.3 -- --------------------- -- ring with all linearforms in a skew 6x6 matrix -- independent ind = flatten apply(6,i->apply(i,j->{j,i})) X = K[apply(ind,i->x_i)] -- the generic matrix Mgen = matrix apply(6,i->apply(6,j->( if i==j then return 0; if ij then return -x_{j,i}; ))) -- | 0 x_{0, 1} x_{0, 2} x_{0, 3} x_{0, 4} x_{0, 5} | -- | -x_{0, 1} 0 x_{1, 2} x_{1, 3} x_{1, 4} x_{1, 5} | -- | -x_{0, 2} -x_{1, 2} 0 x_{2, 3} x_{2, 4} x_{2, 5} | -- | -x_{0, 3} -x_{1, 3} -x_{2, 3} 0 x_{3, 4} x_{3, 5} | -- | -x_{0, 4} -x_{1, 4} -x_{2, 4} -x_{3, 4} 0 x_{4, 5} | -- | -x_{0, 5} -x_{1, 5} -x_{2, 5} -x_{3, 5} -x_{4, 5} 0 | -------------------------------- -- generic non stable formats -- -------------------------------- NS1 = sub(Mgen,apply(4,i->x_{0,i+1}=>0)) -- | 0 0 0 0 0 x_{0, 5} | -- | 0 0 x_{1, 2} x_{1, 3} x_{1, 4} x_{1, 5} | -- | 0 -x_{1, 2} 0 x_{2, 3} x_{2, 4} x_{2, 5} | -- | 0 -x_{1, 3} -x_{2, 3} 0 x_{3, 4} x_{3, 5} | -- | 0 -x_{1, 4} -x_{2, 4} -x_{3, 4} 0 x_{4, 5} | -- | -x_{0, 5} -x_{1, 5} -x_{2, 5} -x_{3, 5} -x_{4, 5} 0 | NS2 = sub(Mgen,flatten apply(2,i->toList apply(i+1..3,j->x_{i,j}=>0))) -- | 0 0 0 0 x_{0, 4} x_{0, 5} | -- | 0 0 0 0 x_{1, 4} x_{1, 5} | -- | 0 0 0 x_{2, 3} x_{2, 4} x_{2, 5} | -- | 0 0 -x_{2, 3} 0 x_{3, 4} x_{3, 5} | -- | -x_{0, 4} -x_{1, 4} -x_{2, 4} -x_{3, 4} 0 x_{4, 5} | -- | -x_{0, 5} -x_{1, 5} -x_{2, 5} -x_{3, 5} -x_{4, 5} 0 | NS3 = sub(Mgen,flatten apply(3,i->toList apply(i+1..2,j->x_{i,j}=>0))) -- | 0 0 0 x_{0, 3} x_{0, 4} x_{0, 5} | -- | 0 0 0 x_{1, 3} x_{1, 4} x_{1, 5} | -- | 0 0 0 x_{2, 3} x_{2, 4} x_{2, 5} | -- | -x_{0, 3} -x_{1, 3} -x_{2, 3} 0 x_{3, 4} x_{3, 5} | -- | -x_{0, 4} -x_{1, 4} -x_{2, 4} -x_{3, 4} 0 x_{4, 5} | -- | -x_{0, 5} -x_{1, 5} -x_{2, 5} -x_{3, 5} -x_{4, 5} 0 | ------------------------------------- -- generic non semi stable formats -- ------------------------------------- NSS1 = sub(Mgen,apply(5,i->x_{0,i+1}=>0)) -- | 0 0 0 0 0 0 | -- | 0 0 x_{1, 2} x_{1, 3} x_{1, 4} x_{1, 5} | -- | 0 -x_{1, 2} 0 x_{2, 3} x_{2, 4} x_{2, 5} | -- | 0 -x_{1, 3} -x_{2, 3} 0 x_{3, 4} x_{3, 5} | -- | 0 -x_{1, 4} -x_{2, 4} -x_{3, 4} 0 x_{4, 5} | -- | 0 -x_{1, 5} -x_{2, 5} -x_{3, 5} -x_{4, 5} 0 | NSS2 = sub(Mgen,flatten apply(2,i->toList apply(i+1..4,j->x_{i,j}=>0))) -- | 0 0 0 0 0 x_{0, 5} | -- | 0 0 0 0 0 x_{1, 5} | -- | 0 0 0 x_{2, 3} x_{2, 4} x_{2, 5} | -- | 0 0 -x_{2, 3} 0 x_{3, 4} x_{3, 5} | -- | 0 0 -x_{2, 4} -x_{3, 4} 0 x_{4, 5} | -- | -x_{0, 5} -x_{1, 5} -x_{2, 5} -x_{3, 5} -x_{4, 5} 0 | NSS3 = sub(Mgen,flatten apply(3,i->toList apply(i+1..3,j->x_{i,j}=>0))) -- | 0 0 0 0 x_{0, 4} x_{0, 5} | -- | 0 0 0 0 x_{1, 4} x_{1, 5} | -- | 0 0 0 0 x_{2, 4} x_{2, 5} | -- | 0 0 0 0 x_{3, 4} x_{3, 5} | -- | -x_{0, 4} -x_{1, 4} -x_{2, 4} -x_{3, 4} 0 x_{4, 5} | -- | -x_{0, 5} -x_{1, 5} -x_{2, 5} -x_{3, 5} -x_{4, 5} 0 | --------------------------------------- -- maximal number of pfaffians (d_4) -- --------------------------------------- -- not stable 11 == rank source mingens pfaffians(4,NS1) 10 == rank source mingens pfaffians(4,NS2) 12 == rank source mingens pfaffians(4,NS3) -- not even semistable 5 == rank source mingens pfaffians(4,NSS1) 7 == rank source mingens pfaffians(4,NSS2) 6 == rank source mingens pfaffians(4,NSS3) ------------------- -- Corollary 4.4 -- ------------------- 10 == rank source mingens pfaffians(4,M_a) 9 == rank source mingens pfaffians(4,M_b) 8 == rank source mingens pfaffians(4,M_c) 9 == rank source mingens pfaffians(4,M_d) 8 == rank source mingens pfaffians(4,M_e) 6 == rank source mingens pfaffians(4,M_f) ----------------- -- Example 4.8 -- ----------------- Y = K[y_0..y_5] RY = R**Y -- the flipped matrix of M_f Mflip = diff(matrix{{l_0},{l_1},{l_2}},sub(vars Y,RY)*sub(M_f,RY)) -- | -y_4 y_3 0 -y_1 y_0 0 | -- | -y_5 0 y_3 -y_2 0 y_0 | -- | 0 -y_5 y_4 0 -y_2 y_1 | -- TEST: is the rank 1 locus empty? assert (6==codim minors(2,Mflip)) -- TEST: is the rank 2 locus defined by 2x2 minors? assert (radical minors(3,Mflip) == minors(2,matrix{{y_0..y_2},{y_3..y_5}}))