-- Papadakis - Petrotou, Macaulay2 code related to the paper [PP] , December 2020 REFERENCES: [PP] Papadakis and Petrotou, The characteristic 2 anisotropicity of simplicial spheres, arXiv_v1 INDEX Subpart 1, keycode: 10352, Related to [PP, p. 32, Proposition 11.1] Subpart 2, keycode: 26397, Related to [PP, p. 5, Proposition 4.4] Subpart 3, keycode: 37905, Related to [PP, p. 9, Example 4.18] Subpart 4, keycode: 41748, Related to [PP, p. 28, Proposition 10.1] Subpart 5, keycode: 50575, Related to [PP, p. 30, Proposition 10.8] Subpart 6, keycode: 61897, Related to [PP, p. 30, Proposition 10.9] Subpart 7, keycode: 73056, Related to [PP, p. 7, Proposition 4.10 ] Subpart 8, keycode: 84631, Related to [PP, p. 7, Proposition 4.12 ] Subpart 9, keycode: 96241, Related to [PP, p. 8, Proposition 4.13 ] Subpart 10, keycode: 10371, Related to [PP, p. 9, Example 4.19 ] Subpart 11, keycode: 12943, Related to [PP, p. 13, Example 5.5 ] Subpart 12, keycode: 12124, Related to [PP, p. 15, Example 5.12 ] Subpart 13, keycode: 13731, Related to [PP, p. 20, Proposition 8.3 ] Subpart 14, keycode: 14416, Related to [PP, p. 20, Remark 8.4 ] Subpart 15, keycode: 15824, Related to [PP, p. 23, Theorem 8.6 Part 1) ] Subpart 16, keycode: 16078, Related to [PP, p. 23, Theorem 8.6 Part 2) ] -- Subpart 1, keycode: 10352, Related to [PP, p. 32, Proposition 11.1] -- REMARK. We have n = 4, m = 7, Z = 12, c1 = 3, c2 = 5, c3 = 9. -- -- We work over the field of rationals. restart n = 4 ; m = 7 ; Z = 12 ; list10={} for i from 1 to n do for j from 1 to Z do( list10=list10|{(i,j)}) kk=QQ R=kk[apply(list10,p->a_p) , x_1..x_m ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5), a_(1,6), a_(1,7) , a_(1,8), a_(1,9), a_(1,10), a_(1,11) , a_(1,12) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5), a_(2,6), a_(2,7) , a_(2,8), a_(2,9), a_(2,10), a_(2,11) , a_(2,12) }, { a_(3,1) , a_(3,2) , a_(3,3) , a_(3,4) , a_(3,5), a_(3,6), a_(3,7) , a_(3,8), a_(3,9), a_(3,10), a_(3,11) , a_(3,12) }, { a_(4,1) , a_(4,2) , a_(4,3) , a_(4,4) , a_(4,5), a_(4,6), a_(4,7) , a_(4,8), a_(4,9), a_(4,10), a_(4,11) , a_(4,12) }} ) dM = (M, i1, i2, i3, i4 ) -> det submatrix ( M, {0,1,2,3}, {i1-1, i2-1, i3-1, i4-1} ) matrixVar = transpose matrix { toList apply (1..m, i -> x_i ) } Q = submatrix ( M, 0..3, 0..m-1 ) I = ideal ( Q *matrixVar ) c1 = 3 ; c2 = 5; c3 = 9; isSubset ( ideal (sum toList apply ( 1..m, i -> dM (M, c1, c2, c3, i ) * x_i )), I) -- answer: true -- Subpart 2, keycode: 26397, Related to [PP, p. 5, Proposition 4.4] -- REMARK. We have D the boundary of the 3-simplex with vertex set {1,2,3,4} -- -- and b1 =1, b2 =2, d1 =3, d2 = 4. -- -- We work over the field of rationals. restart n = 3 ; m = 4 list10={} for i from 1 to n do for j from 1 to m do( list10=list10|{(i,j)}) kk=QQ R=kk[apply(list10,p->a_p) , x_1..x_m ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) }, { a_(3,1) , a_(3,2) , a_(3,3) , a_(3,4) }} ) dM = (M, i1, i2, i3 ) -> det submatrix ( M, {0,1,2}, {i1-1, i2-1, i3-1} ) matrixVar = transpose matrix { toList apply (1..m, i -> x_i ) } ID = ideal product toList apply (1..4, i -> x_i ) I = ID + ideal ( M *matrixVar ) ( b1 =1, b2 =2, d1 =3, d2 = 4 ) u1 = dM (M, b1, b2, d1 ) u2 = dM (M, b1, b2, d2 ) isSubset ( ideal ( u1 * x_(b1) * x_(b2) * x_(d1) + u2 * x_(b1) * x_(b2) * x_(d2)) , I ) -- answer: true -- Subpart 3, keycode: 37905, Related to [PP, p. 9, Example 4.18] -- REMARK. We have r = 9. -- -- We work over the field Z/(2) with two elements. restart n = 2 ; m = 6; Z = 12; list10={} for i from 1 to n do for j from 1 to Z do( list10=list10|{(i,j)}) kk= ZZ/2 R=kk[apply(list10,p->a_p) ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5), a_(1,6), a_(1,7) , a_(1,8), a_(1,9), a_(1,10), a_(1,11) , a_(1,12) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5), a_(2,6), a_(2,7) , a_(2,8), a_(2,9), a_(2,10), a_(2,11) , a_(2,12) }} ) dM = (M, i1, i2 ) -> det submatrix ( M, {0,1}, {i1-1, i2-1} ) r = 9 ; u1 = dM (M, 1, 3 ) ; u2 = dM (M, 1, 2 ) * dM (M, 2, 3 ) ; u3 = dM (M, 1, r ) ; u4 = dM (M, 1, 2 ) * dM (M, 2, r ) ; u5 = dM (M, 3, r ) ; u6 = dM (M, 2, 3 ) * dM (M, 2, r ) ; u1/u2 == ( u3/u4 + u5/u6) -- answer: true -- Subpart 4, keycode: 41748, Related to [PP, p. 28, Proposition 10.1] -- REMARK. The simplicial complex D is the 6-gon with vertex set {1,2,...,6} -- -- We work over the field of rationals restart n = 2; m = 6; list10={} for i from 1 to n do for j from 1 to m do( list10=list10|{(i,j)}) kk = QQ R=kk[apply(list10,p->a_p) , x_1..x_m ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5), a_(1,6) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5), a_(2,6) }} ) dM = (M, i1, i2 ) -> det submatrix ( M, {0,1}, {i1-1, i2-1} ) matrixVar = transpose matrix { toList apply (1..m, i -> x_i ) } ID = ideal ( x_1*x_3, x_1*x_4, x_1*x_5, x_2*x_4, x_2*x_5, x_2*x_6, x_3*x_5, x_3*x_6, x_4*x_6) I = ID + ideal ( M *matrixVar ) xe =x_1 * x_2 list10 = {} for i from 1 to 5 do ( u1 = x_i*x_(i+1) ; v1 = 1_R ; v2 = dM ( M, i , i +1 ) ; list10 = list10 | { isSubset ( ideal ( u1*v2 - v1 * dM ( M, 1,2 ) * xe ) , I ) } ) u1 = x_1*x_6 ; v1 = 1_R ; v2 = dM ( M, 6, 1 ) ; list10 = list10 | { isSubset ( ideal ( u1*v2 - v1 * dM ( M, 1,2 ) * xe ) , I ) } u1 = x_1^2 v1 = - dM ( M, 6,2 ) v2 = dM ( M, 6,1 ) * dM ( M, 1,2 ) list10 = list10 | { isSubset ( ideal ( u1*v2 - v1 * dM ( M, 1,2 ) * xe ) , I ) } for i from 2 to 5 do ( u1 = x_i^2 ; v1 = - dM ( M, i-1, i +1 ) ; v2 = dM ( M, i-1, i ) * dM ( M, i, i +1 ) ; list10 = list10 | { isSubset ( ideal ( u1*v2 - v1 * dM ( M, 1,2 ) * xe ) , I ) } ) u1 = x_6^2 v1 = - dM ( M, 5,1 ) v2 = dM ( M, 5,6 ) * dM ( M, 6,1 ) list10 = list10 | { isSubset ( ideal ( u1*v2 - v1 * dM ( M, 1,2 ) * xe ) , I ) } tally list10 -- answer: Tally{true => 12} -- Subpart 5, keycode: 50575, Related to [PP, p. 30, Proposition 10.8] -- REMARK 1. The simplicial complex D is the 6-gon with vertex set {1,2,...,6} -- -- We work over the field of rationals restart n = 2; m = 6; list10={} for i from 1 to n do for j from 1 to m do( list10=list10|{(i,j)}) kk = QQ R=kk[apply(list10,p->a_p) , x_1..x_m ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5), a_(1,6) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5), a_(2,6) }} ) dM = (M, i1, i2 ) -> det submatrix ( M, {0,1}, {i1-1, i2-1} ) matrixVar = transpose matrix { toList apply (1..m, i -> x_i ) } ID = ideal ( x_1*x_3, x_1*x_4, x_1*x_5, x_2*x_4, x_2*x_5, x_2*x_6, x_3*x_5, x_3*x_6, x_4*x_6) I = ID + ideal ( M *matrixVar ) xe =x_1 * x_2 e1 = x_2 ; e2 = x_3 ; e3 = x_4 ; e4 = x_5 ; tildee1 = e1 ; tildee2 = e2 + tildee1 * dM ( M, 1 , 2 ) / dM ( M, 1 , 3 ) tildee3 = e3 + tildee2 * dM ( M, 1 , 3 ) / dM ( M, 1 , 4 ) tildee4 = e4 + tildee3 * dM ( M, 1 , 4 ) / dM ( M, 1 , 5 ) tally ( tildee1 == x_2, tildee2 == (dM (M,1,2) * x_2 + dM (M,1,3) * x_3 ) / dM (M,1,3) , tildee3 == (dM (M,1,2) * x_2 +dM (M,1,3) * x_3 + dM (M,1,4) * x_4 ) / dM (M,1,4) , tildee4 == (dM (M,1,2) * x_2 + dM (M,1,3) * x_3 +dM (M,1,4) * x_4+dM (M,1,5) * x_5) / dM (M,1,5) ) -- answer: Tally{true => 4} -- The following lines of the code are related to [PP, p. 30, Proposition 10.9] tildeList = { tildee1/1_R, tildee2/1_R , tildee3/1_R, tildee4/1_R } list10 = {} for i from 1 to # tildeList -1 do for j from i + 1 to # tildeList do ( u1 = numerator ( tildeList_(i-1)) * numerator ( tildeList_(j-1)) ; v1 = denominator ( tildeList_(i-1)) * denominator ( tildeList_(j-1)) ; list10 = list10 | { isSubset ( ideal ( u1 - 0 * v1 * dM ( M, 1,2 ) * xe ) , I ) } ) for i from 1 to # tildeList do ( u1 = numerator ( tildeList_(i-1) * tildeList_(i-1) ) ; v1 = denominator ( tildeList_(i-1) * tildeList_(i-1) ) ; u2 = -dM ( M, 1, i +2 ) ; v2 = dM ( M, 1, i+1 ) * dM ( M, i+1, i +2 ) ; list10 = list10 | { isSubset ( ideal ( u1*v2 - v1 * u2 * dM ( M, 1,2 ) * xe ) , I ) } ) tally list10 -- answer: Tally{true => 10} -- Subpart 6, keycode: 61897, Related to [PP, p. 30, Proposition 10.9] -- REMARK. The simplicial complex D is the 6-gon with vertex set {1,2,...,6} -- -- We work over the field of rationals restart n = 2; m = 6; list10={} for i from 1 to n do for j from 1 to m do( list10=list10|{(i,j)}) kk = QQ R=kk[apply(list10,p->a_p) , x_1..x_m ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5), a_(1,6) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5), a_(2,6) }} ) dM = (M, i1, i2 ) -> det submatrix ( M, {0,1}, {i1-1, i2-1} ) functionf = (i) ->-dM (M,i-1, i+1) / (dM (M,i-1,i)*dM (M,i,i+1)) -- N has (i,j)-entry equal to \rho ( x_(i+1), x_(j+1) ) N = matrix ( { { functionf (2) , 1/dM (M,2,3), 0 , 0 }, { 1/dM (M,2,3), functionf (3) , 1/dM (M,3,4), 0 }, { 0, 1/dM (M,3,4), functionf (4) , 1/dM (M,4,5)}, { 0, 0, 1/dM (M,4,5), functionf (5) } } ) matrx2 = sub ( matrix ( { { 1_R , 0, 0, 0 } } ), frac(R) ) matrx3 = sub ( matrix ( { { 0, 1_R , 0, 0 } } ), frac(R) ) matrx4 = sub ( matrix ( { { 0, 0, 1_R , 0 } } ), frac(R) ) matrx5 = sub ( matrix ( { { 0 , 0 ,0, 1_R } } ), frac(R) ) tildee1 = matrx2 tildee2 = matrx3 + (dM (M,1,2) / dM (M,1,3) )*matrx2 tildee3 = matrx4 + (dM (M,1,3) / dM (M,1,4) )*matrx3 + ( (dM (M,1,2) )/ (dM (M,1,4) ))*matrx2 tildee4 = matrx5 + (dM (M,1,4) / dM (M,1,5) )*matrx4 + ( (dM (M,1,3) )/ (dM (M,1,5) )) *matrx3 + ( ( dM (M,1,2) )/ (dM (M,1,5) )*matrx2 ) tally ( trace (tildee1*N* (transpose tildee2 )) == 0, trace (tildee1*N* (transpose tildee3 )) == 0, trace (tildee1*N* (transpose tildee4 )) == 0, trace (tildee2*N* (transpose tildee3 )) == 0, trace (tildee2*N* (transpose tildee4 )) == 0, trace (tildee3*N* (transpose tildee4 )) == 0 ) -- answer: Tally{true => 6} tally ( trace (tildee1*N* (transpose tildee1 )) == - (dM (M,1,3) )/ (dM (M,1,2) *dM (M,2,3) ) , trace (tildee2*N* (transpose tildee2 )) == - (dM (M,1,4) )/ (dM (M,1,3) *dM (M,3,4) ) , trace (tildee3*N* (transpose tildee3 )) == - (dM (M,1,5) )/ (dM (M,1,4) *dM (M,4,5) ) , trace (tildee4*N* (transpose tildee4 )) == - (dM (M,1,6) )/ (dM (M,1,5) *dM (M,5,6) ) ) -- answer: Tally{true => 4} -- Subpart 7, keycode: 73056, Related to [PP, p. 7, Proposition 4.10 ] -- -- REMARK: The simplicial complex D is a simpicial sphere of dimension 2, with 8 vertices -- -- We set c= 1 ; b1 = 2 ; d1 = 3; d2 = 5; -- -- We work over the field of rationals. restart n = 3; m = 8; list10={} for i from 1 to n do for j from 1 to m do( list10=list10|{(i,j)}) kk = QQ R=kk[apply(list10,p->a_p) , x_1..x_m ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5), a_(1,6), a_(1,7) , a_(1,8) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5), a_(2,6), a_(2,7) , a_(2,8) }, { a_(3,1) , a_(3,2) , a_(3,3) , a_(3,4) , a_(3,5), a_(3,6), a_(3,7) , a_(3,8) }} ) dM = (M, i1, i2, i3 ) -> det submatrix ( M, {0,1,2}, {i1-1, i2-1, i3-1} ) matrixVar = transpose matrix { toList apply (1..m, i -> x_i ) } Q = submatrix ( M, 0..2, 0..m-1 ) Ilinears = ideal ( Q *matrixVar ) I1 = ideal ( x_1*x_3*x_5, x_2*x_4) xs1 = ideal (x_3*x_4*x_5) I2 = I1 + xs1 + x_6*(I1:xs1) xs2 = ideal (x_3*x_5*x_6) I3 = I2 + xs2 + x_7*(I2:xs2) xs3 = ideal (x_1*x_4*x_5) I4 = I3 + xs3 + x_8*(I3:xs3) ID = I4 -- ID is the Stanley--Reisner ideal of a simplicial sphere of dimension $2$ having $8$ vertices J = ID + Ilinears ; c= 1 ; b1 = 2 ; d1 = 3; d2 = 5; u1 = dM (M, b1, c , d1 ) * dM (M, b1, c , d2) * (x_c)^2 * x_b1 u2= - dM (M, b1, d1 , d2 ) * dM (M, b1, c , d1) * (x_c) * x_b1 * x_d1 u3= dM (M, b1, d1 , d2 ) * dM (M, b1, c , d2) * (x_c) * x_b1 * x_d2 tally ( isSubset ( ideal ( u1 - u2 ), J), isSubset ( ideal ( u1 - u3 ), J) ) -- answer: Tally{true => 2} tally ( isSubset ( ideal ( u1 - u2 ), Ilinears), isSubset ( ideal ( u1 - u3 ), Ilinears) ) -- answer: Tally{ false => 2} tally ( isSubset ( ideal ( u1 - u2 ), ID), isSubset ( ideal ( u1 - u3 ), ID) ) -- answer: Tally{ false => 2} -- Subpart 8, keycode: 84631, Related to [PP, p. 7, Proposition 4.12 ] -- -- REMARK. The simplicial complex D is the boundary of the 4-simplex with vertex set {1,2, ... , 5} -- -- We set -- c1=1, c2=2, g1=3, g2 = 4, g3 = 5 -- -- We work over the field Z/(2) with two elements. -- -- REMARK. In order for the computation to finish, M has 4 entries that are 0 instead of independent variables restart n = 3 ; m = 5 ; list10={} for i from 1 to n + 1 do for j from 1 to m do (list10=list10|{(i,j)}) kk=ZZ/2 R=kk[apply(list10,p->a_p) , x_1..x_m ] -- Unfortunately, for more general M the computation does not seem to finish ... M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5) }, { 0 , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5) }, { 0 , a_(3,2) , a_(3,3) , a_(3,4) , a_(3,5) }, { 0 , a_(4,2) , a_(4,3) , a_(4,4) , a_(4,5) }} ) dM = (M, i1, i2, i3, i4 ) -> det submatrix ( M, {0,1,2,3}, {i1-1, i2-1, i3-1, i4-1} ) matrixVar = transpose matrix { toList apply (1..m, i -> x_i ) } Ilinears = ideal ( M *matrixVar ) ID = ideal product toList apply (1..m, i -> x_i ) J = ID + Ilinears ; xe =x_1 * x_2 * x_3 * x_4 c1=1; c2=2; g1=3; g2 = 4; g3 = 5; u1 = dM (M, c1, c2, g2, g3 ) * dM (M, c1, c2, g1, g3 ) * dM (M, c1, c2, g1, g2 ) * (x_c1)^2 * (x_c2)^2 ; u2 = dM (M, c1, g1, g2, g3 ) * dM (M, c2, g1, g2, g3 ) * dM (M, 1,2,3,4 ) * xe ; isSubset (ideal (u1-u2), J ) -- answer: true -- Subpart 9, keycode: 96241, Related to [PP, p. 8, Proposition 4.13 ] -- -- REMARK. The simplicial complex is the boundary of the 3-simplex with vertex set {1,2, ..., 4} -- We set -- c1=1, b = 2, g1=3, g2 = 4 -- -- We work over the field Z/(2) with two elements. -- restart n = 2 ; m = 4 ; list10={} for i from 1 to n + 1 do for j from 1 to m do (list10=list10|{(i,j)}) kk=ZZ/2 R=kk[apply(list10,p->a_p) , x_1..x_m ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) }, { a_(3,1) , a_(3,2) , a_(3,3) , a_(3,4) }} ) dM = (M, i1, i2, i3 ) -> det submatrix ( M, {0,1,2 }, {i1-1, i2-1, i3-1 } ) matrixVar = transpose matrix { toList apply (1..m, i -> x_i ) } Ilinears = ideal ( M *matrixVar ) ID = ideal product toList apply (1..m, i -> x_i ) J = ID + Ilinears ; c1=1; b = 2 ; g1=3; g2 = 4; xe =x_1 * x_2 * x_3 u1 = dM (M, b, c1, g2 ) * dM (M, b, c1, g1 ) * (x_c1)^2 * x_b ; u2 = dM (M, b, g1, g2 ) * dM (M, 1,2,3 ) * xe ; isSubset (ideal (u1-u2), J ) -- answer: true -- Subpart 10, keycode: 10371, Related to [PP, p. 9, Example 4.19 ] -- -- REMARK: The simplicial complex D is a simpicial sphere of dimension 3 , with 7 vertices -- -- We set r = 9 -- -- REMARK. In order for the computation to finish, M has a number of entries that are not independent variables restart n = 3 ; m = 7 ; Z = 12 ; list10={} for i from 1 to n + 1 do for j from 1 to Z do (list10=list10|{(i,j)}) kk=ZZ/2 R=kk[apply(list10,p->a_p) , x_1..x_m ] -- Unfortunately, for more general M the computation does not seem to finish ... M = matrix ( { { 1 , 0, 0 , 0 , a_(1,5), a_(1,6), a_(1,7) , a_(1,8), a_(1,9), a_(1,10), a_(1,11) , a_(1,12) }, { 0 , 1, 0 , 0 , a_(2,5), a_(2,6), a_(2,7) , a_(2,8), a_(2,9), a_(2,10), a_(2,11) , a_(2,12) }, { 0 , 0 , 1 , 0 , a_(3,5), a_(3,6), a_(3,7) , a_(3,8), a_(3,9), a_(3,10), a_(3,11) , a_(3,12) }, { 0 , 0 , 0 , 1 , a_(4,5), a_(4,6), a_(4,7) , a_(4,8), a_(4,9), a_(4,10), a_(4,11) , a_(4,12) }} ) dM = (M, i1, i2, i3, i4 ) -> det submatrix ( M, {0,1,2,3}, {i1-1, i2-1, i3-1, i4-1} ) matrixVar = transpose matrix { toList apply (1..m, i -> x_i ) } Q = submatrix ( M, 0..3, 0..m-1 ) Ilinears = ideal ( Q *matrixVar ) ID = ideal ( x_1 * x_2 , x_3 * x_4 * x_5, x_6 * x_7 ) J = ID + Ilinears ; xe =x_1 * x_3 * x_4 * x_6 r = 9 u1 = (x_1)^2 * (x_3)^2 ; giveNumeratorH = ( a, b ) -> dM (M, 1, a, b, r ) * dM (M, 3, a, b, r ) giveDenominatorH = ( a, b ) -> dM (M, 1, 3, a, b ) * dM (M, 1, 3, b, r ) * dM (M, 1, 3, a, r ) H46 = giveNumeratorH (4,6) /giveDenominatorH (4,6) H65 = giveNumeratorH (6,5) /giveDenominatorH (6,5) H57 = giveNumeratorH (5,7) /giveDenominatorH (5,7) H74 = giveNumeratorH (7,4) /giveDenominatorH (7,4) w1 = ( H46 + H65 + H57 + H74 ) * dM (M, 1, 3, 4, 6 ) * xe; time isSubset ( ideal (numerator ( u1 - w1)) , J ) -- answer: true , used 9.111 seconds -- REMARK: On purpose we remove term H74 from w1 w1bad = ( H46 + H65 + H57 ) * dM (M, 1, 3, 4, 6 ) * xe; isSubset ( ideal (numerator ( u1/1_R - w1bad)) , J ) -- answer: false -- Subpart 11, keycode: 12943, Related to [PP, p. 13, Example 5.5 ] -- -- REMARK. The simplicial complex D is the 6-gon with vertex set { 1,2, .. , 6 } -- -- We work over the field Z/(2) with two elements. restart list10={} m = 6 for i from 1 to 3 do for j from 1 to m do( list10=list10|{(i,j)}) kk=ZZ/2 R=kk[apply(list10,p->a_p) ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5), a_(1,6) } , { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5), a_(2,6) }} ) dM = (M, i1, i2 ) -> det submatrix ( M, {0,1}, {i1-1, i2-1} ) d13 = dM ( M, 1, 3 ); d21 = dM ( M, 1, 2 ) ; d23 = dM ( M, 2, 3 ) ; diffFraction = (u, list1) -> { diff (u, list1_0) * list1_1 - diff (u, list1_1) * list1_0, (list1_1)^2 } diff2Times = (u1, u2, list1) -> diffFraction (u2, diffFraction (u1, list1) ) fractionList = { d13, d21 * d23 } ; w11 = diff2Times (a_(1,1), a_(2,1) , fractionList ) ; w22 = diff2Times (a_(1,2), a_(2,2) , fractionList ) ; w44 = diff2Times (a_(1,4), a_(2,4) , fractionList ) ; tally ( w11_0 / w11_1 == ( 1/ (d21))^2 , w22_0 / w22_1 == ( d13 / (d21*d23 ) )^2, w44_0 / w44_1 == 0 ) -- answer: Tally{true => 3} -- Subpart 12, keycode: 12124, Related to [PP, p. 15, Example 5.12 ] -- -- REMARK. The simplicial complex D is the boundary of the 3-simplex with vertex set {1,2, ... , 4} -- -- We work over the field Z/(2) with two elements. restart list10={} for i from 1 to 3 do for j from 1 to 4 do( list10=list10|{(i,j)}) kk=ZZ/2 R=kk[apply(list10,p->a_p) ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) }, { a_(3,1) , a_(3,2) , a_(3,3) , a_(3,4) }} ) dM = (M, i1, i2, i3 ) -> det submatrix ( M, {0,1,2}, {i1-1, i2-1, i3-1} ) d123 = dM ( M, 1, 2, 3 ); d124 = dM ( M, 1, 2, 4 ) ; d134 = dM ( M, 1, 3, 4 ) ; diffFraction = (u, list1) -> { diff (u, list1_0) * list1_1 - diff (u, list1_1) * list1_0, (list1_1)^2 } diff3Times = (u1, u2,u3, list1) -> diffFraction(u3, diffFraction (u2, diffFraction (u1, list1) )) fractionList = { d134, d123 * d124 } ; w122 = diff3Times (a_(1,1), a_(2,2), a_(3,2), fractionList ) ; w133 = diff3Times (a_(1,1), a_(2,3), a_(3,3), fractionList ) ; w144 = diff3Times (a_(1,1), a_(2,4), a_(3,4), fractionList ) ; tally ( w122_0 * (d123 * d124 )^2 - w122_1 * d134^2 == 0, w133_0 * d123^2 - w133_1 == 0, w144_0 * d124^2 - w144_1 == 0 ) -- answer: Tally{true => 3} -- Subpart 13, keycode: 13731, Related to [PP, p. 20, Proposition 8.3 ] -- -- REMARK: We work over the field Z/(2) with two elements. restart n = 2; m = 3; list10={} for i from 1 to n do for j from 1 to m do( list10=list10|{(i,j)}) kk = ZZ/2 R=kk[apply(list10,p->a_p) ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) }, { a_(2,1) , a_(2,2) , a_(2,3) }} ) dM = (M, i1, i2 ) -> det submatrix ( M, {0,1}, {i1-1, i2-1} ) diff2Times = (u1, u2, poly1) -> diff (u2, diff (u1, poly1)) diff2Times ( a_(1,1), a_(2,1), dM (M,2,3) * dM (M,1,3) * dM (M,1,2) ) == (dM(M,2,3))^2 -- answer: true -- Subpart 14, keycode: 14416, Related to [PP, p. 20, Remark 8.4 ] -- -- REMARK. We work over the ring of integers. restart n = 2; m = 3; list10={} for i from 1 to n do for j from 1 to m do( list10=list10|{(i,j)}) kk = ZZ R=kk[apply(list10,p->a_p) ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) }, { a_(2,1) , a_(2,2) , a_(2,3) }} ) dM = (M, i1, i2 ) -> det submatrix ( M, {0,1}, {i1-1, i2-1} ) diff2Times = (u1, u2, poly1) -> diff (u2, diff (u1, poly1)) diff2Times ( a_(1,1), a_(2,1), dM (M,2,3) * dM (M,1,3) * dM (M,1,2) ) == (dM(M,2,3))^2 -- answer: false -- Subpart 15, keycode: 15824, Related to [PP, p. 23, Theorem 8.6 Part 1) ] -- -- REMARK. We have h = 4 -- -- We work over the field Z/(2) with two elements. -- restart h = 4 ; list10={} for i from 1 to h do for j from 1 to h + 1 do (list10=list10|{(i,j)}) kk=ZZ/2 R=kk[apply(list10,p->a_p) ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) , a_(1,5) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) , a_(2,5) }, { a_(3,1), a_(3,2) , a_(3,3) , a_(3,4) , a_(3,5) }, { a_(4,1) , a_(4,2) , a_(4,3) , a_(4,4) , a_(4,5) }} ) dM = (M, i1, i2, i3, i4 ) -> det submatrix ( M, {0,1,2,3}, {i1-1, i2-1, i3-1, i4-1} ) diff4Times = (u1, u2, u3, u4, poly1) -> diff ( u4, diff ( u3, diff (u2, diff (u1, poly1)))) ; u1 = dM (M,1,2,3,4) * dM (M,1,2,3,5) * dM (M,1,2,4,5) * dM (M,1,3,4,5) * dM (M,2,3,4,5) ; u2 = (dM (M,1,3,4,5) * dM (M,2,3,4,5))^2 ; diff4Times ( a_(1,1), a_(2,1), a_(3,2), a_(4,2), u1) == u2 -- answer: true -- Subpart 16, keycode: 16078, Related to [PP, p. 23, Theorem 8.6 Part 2) ] -- -- REMARK. We have h = 3 -- -- We work over the field Z/(2) with two elements. restart h = 3 ; list10={} for i from 1 to h do for j from 1 to h+1 do (list10=list10|{(i,j)}) kk=ZZ/2 R=kk[apply(list10,p->a_p) ] M = matrix ( { { a_(1,1) , a_(1,2) , a_(1,3) , a_(1,4) }, { a_(2,1) , a_(2,2) , a_(2,3) , a_(2,4) }, { a_(3,1) , a_(3,2) , a_(3,3) , a_(3,4) }} ) dM = (M, i1, i2, i3 ) -> det submatrix ( M, {0,1,2 }, {i1-1, i2-1, i3-1 } ) diff3Times = (u1, u2, u3, poly1) -> diff (u3, diff (u2, diff (u1, poly1)) ) diff3Times ( a_(1,1), a_(2,2), a_(3,2), dM (M,1,3,4) * dM (M,1,2,4) * dM (M,1,2,3) ) == (dM(M,1,3,4))^2 -- answer: true