Macaulay2, version 1.7 with packages: ConwayPolynomials, Elimination, IntegralClosure, LLLBases, PrimaryDecomposition, ReesAlgebra, TangentCone i1 : printWidth o1 = 129 i2 : printWidth=75 o2 = 75 i3 : -- Macaulay2 -- Purpose of this talk: -- a. Get a feeling for what Macaulay2 can do in this area -- b. See some of the new features in the latest version 1.7 -- c. Give you some tools to investigate interesting problems -- Let's investigate some 3-tensor spaces A ** B ** C (A,B,C, vector spaces) -- 1. Equations of the Segre embedding kk = ZZ/32003 -- Could take QQ as well. o3 = kk o3 : QuotientRing i4 : A = kk^2 2 o4 = kk o4 : kk-module, free i5 : B = kk^2 2 o5 = kk o5 : kk-module, free i6 : C = kk^2 2 o6 = kk o6 : kk-module, free i7 : V = A ** B ** C 8 o7 = kk o7 : kk-module, free i8 : R = kk[a_1,a_2,b_1,b_2,c_1,c_2] o8 = R o8 : PolynomialRing i9 : S = kk[x_(1,1,1)..x_(2,2,2)] o9 = S o9 : PolynomialRing i10 : aa = matrix{{a_1,a_2}} o10 = | a_1 a_2 | 1 2 o10 : Matrix R <--- R i11 : bb = matrix{{b_1,b_2}} o11 = | b_1 b_2 | 1 2 o11 : Matrix R <--- R i12 : cc = matrix{{c_1,c_2}} o12 = | c_1 c_2 | 1 2 o12 : Matrix R <--- R i13 : phi = map(R,S,aa**bb**cc) o13 = map(R,S,{a b c , a b c , a b c , a b c , a b c , a b c , a b c , a b c }) 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 o13 : RingMap R <--- S i14 : a**b stdio:21:2:(3): error: no method for binary operator ** applied to objects: -- a (of class IndexedVariableTable) -- ** b (of class IndexedVariableTable) i15 : aa**bb o15 = | a_1b_1 a_1b_2 a_2b_1 a_2b_2 | 1 4 o15 : Matrix R <--- R i16 : ideal(oo) o16 = ideal (a b , a b , a b , a b ) 1 1 1 2 2 1 2 2 o16 : Ideal of R i17 : gens S o17 = {x , x , x , x , x , x , x , x } 1,1,1 1,1,2 1,2,1 1,2,2 2,1,1 2,1,2 2,2,1 2,2,2 o17 : List i18 : I = ker phi o18 = ideal (x x - x x , x x - x x , 2,1,2 2,2,1 2,1,1 2,2,2 1,2,2 2,2,1 1,2,1 2,2,2 --------------------------------------------------------------------- x x - x x , x x - x x , 1,1,2 2,2,1 1,1,1 2,2,2 1,2,2 2,1,2 1,1,2 2,2,2 --------------------------------------------------------------------- x x - x x , x x - x x , 1,2,1 2,1,2 1,1,1 2,2,2 1,2,2 2,1,1 1,1,1 2,2,2 --------------------------------------------------------------------- x x - x x , x x - x x , 1,2,1 2,1,1 1,1,1 2,2,1 1,1,2 2,1,1 1,1,1 2,1,2 --------------------------------------------------------------------- x x - x x ) 1,1,2 1,2,1 1,1,1 1,2,2 o18 : Ideal of S i19 : netList I_* +---------------------------+ o19 = |x x - x x | | 2,1,2 2,2,1 2,1,1 2,2,2| +---------------------------+ |x x - x x | | 1,2,2 2,2,1 1,2,1 2,2,2| +---------------------------+ |x x - x x | | 1,1,2 2,2,1 1,1,1 2,2,2| +---------------------------+ |x x - x x | | 1,2,2 2,1,2 1,1,2 2,2,2| +---------------------------+ |x x - x x | | 1,2,1 2,1,2 1,1,1 2,2,2| +---------------------------+ |x x - x x | | 1,2,2 2,1,1 1,1,1 2,2,2| +---------------------------+ |x x - x x | | 1,2,1 2,1,1 1,1,1 2,2,1| +---------------------------+ |x x - x x | | 1,1,2 2,1,1 1,1,1 2,1,2| +---------------------------+ |x x - x x | | 1,1,2 1,2,1 1,1,1 1,2,2| +---------------------------+ i20 : dim I o20 = 4 i21 : codim I o21 = 4 i22 : degree I o22 = 6 i23 : hilbertSeries I 2 3 4 6 1 - 9T + 16T - 9T + T o23 = ------------------------- 8 (1 - T) o23 : Expression of class Divide i24 : reduceHilbert oo 2 1 + 4T + T o24 = ----------- 4 (1 - T) o24 : Expression of class Divide i25 : res I 1 9 16 9 1 o25 = S <-- S <-- S <-- S <-- S <-- 0 0 1 2 3 4 5 o25 : ChainComplex i26 : betti oo 0 1 2 3 4 o26 = total: 1 9 16 9 1 0: 1 . . . . 1: . 9 16 9 . 2: . . . . 1 o26 : BettiTally i27 : o25.dd_2 o27 = {2} | -x_(2,1,1) 0 0 0 -x_(2,1,2) {2} | x_(1,2,1) -x_(1,2,1) -x_(1,2,2) 0 0 {2} | 0 x_(1,1,2) 0 -x_(1,2,2) 0 {2} | -x_(1,1,1) 0 x_(1,1,2) x_(1,2,1) 0 {2} | x_(1,1,1) -x_(1,1,1) 0 0 x_(1,1,2) {2} | 0 0 -x_(1,1,1) 0 -x_(1,1,1) {2} | 0 x_(1,1,1) 0 0 0 {2} | 0 0 0 -x_(1,1,1) 0 {2} | 0 0 0 0 0 --------------------------------------------------------------------- x_(2,2,2) 0 0 -x_(2,2,1) x_(2,2,2) 0 0 0 x_(2,2,2) 0 0 -x_(2,2,1) 0 -x_(2,1,2) 0 0 0 0 0 0 -x_(2,1,2) 0 0 0 -x_(1,2,2) x_(2,1,1) 0 0 0 0 x_(1,2,1) 0 x_(2,1,1) 0 0 0 0 0 0 x_(1,2,1) -x_(1,2,2) x_(2,1,1) 0 0 0 -x_(1,1,1) x_(1,1,2) 0 0 -x_(1,1,1) 0 0 0 -x_(1,1,1) --------------------------------------------------------------------- 0 0 0 0 0 | 0 x_(2,2,2) 0 0 0 | x_(2,2,2) 0 x_(2,2,2) 0 0 | -x_(2,2,1) 0 0 0 x_(2,2,2) | 0 0 -x_(2,2,1) x_(2,2,2) -x_(2,2,2) | 0 0 0 -x_(2,2,1) 0 | 0 -x_(2,1,2) 0 -x_(2,2,2) 0 | x_(2,1,1) 0 0 x_(2,1,2) -x_(2,1,2) | 0 x_(1,1,2) x_(1,2,1) 0 x_(1,2,2) | 9 16 o27 : Matrix S <--- S i28 : o25.dd_3 o28 = {3} | 0 x_(2,1,2) -x_(2,2,2) x_(2,2,1) -x_(2,2,2) {3} | x_(1,2,2) x_(2,1,2) 0 0 -x_(2,2,2) {3} | -x_(1,2,1) 0 0 0 x_(2,2,1) {3} | x_(1,1,2) 0 x_(2,1,2) 0 0 {3} | 0 -x_(2,1,1) 0 0 0 {3} | -x_(1,1,1) 0 -x_(2,1,1) 0 0 {3} | 0 x_(1,1,2) -x_(1,2,2) 0 0 {3} | 0 -x_(1,1,1) x_(1,2,1) 0 0 {3} | 0 0 0 -x_(2,1,1) 0 {3} | x_(1,1,1) 0 0 0 -x_(2,1,1) {3} | 0 0 0 x_(1,2,1) -x_(1,2,2) {3} | 0 0 0 -x_(1,1,1) x_(1,1,2) {3} | 0 x_(1,1,1) 0 0 0 {3} | 0 0 0 x_(1,1,1) 0 {3} | 0 0 0 0 -x_(1,1,1) {3} | 0 0 -x_(1,1,1) 0 -x_(1,1,1) --------------------------------------------------------------------- 0 0 0 0 | -x_(2,2,2) 0 0 0 | 0 -x_(2,2,2) 0 0 | 0 0 -x_(2,2,2) 0 | x_(2,2,1) x_(2,2,2) 0 0 | 0 0 x_(2,2,1) 0 | 0 0 0 -x_(2,2,2) | 0 0 0 x_(2,2,1) | -x_(2,1,2) 0 x_(2,2,2) 0 | 0 x_(2,1,2) 0 0 | 0 0 0 x_(2,2,2) | 0 0 0 -x_(2,1,2) | -x_(1,2,1) -x_(1,2,2) 0 0 | x_(1,1,2) 0 -x_(1,2,2) 0 | -x_(1,1,1) 0 x_(1,2,1) x_(2,1,1) | 0 x_(1,1,2) x_(1,2,1) 0 | 16 9 o28 : Matrix S <--- S i29 : o25.dd_4 o29 = {4} | x_(2,1,2)x_(2,2,1)-x_(2,1,1)x_(2,2,2) | {4} | -x_(1,2,2)x_(2,2,1)+x_(1,2,1)x_(2,2,2) | {4} | -x_(1,1,2)x_(2,2,1)+x_(1,1,1)x_(2,2,2) | {4} | x_(1,2,2)x_(2,1,2)-x_(1,1,2)x_(2,2,2) | {4} | x_(1,2,1)x_(2,1,2)-x_(1,1,1)x_(2,2,2) | {4} | -x_(1,2,2)x_(2,1,1)+x_(1,1,1)x_(2,2,2) | {4} | x_(1,2,1)x_(2,1,1)-x_(1,1,1)x_(2,2,1) | {4} | -x_(1,1,2)x_(2,1,1)+x_(1,1,1)x_(2,1,2) | {4} | x_(1,1,2)x_(1,2,1)-x_(1,1,1)x_(1,2,2) | 9 1 o29 : Matrix S <--- S i30 : -- Here is a naive way to compute the secant locus, but in general, it doesn't work very well! -- In this case, sec_2(P1 x P1 x P2) = codim 2 in P11, complete R2 = kk[a_1,a_2,b_1,b_2,c_1,c_2,c_3, d_1,d_2,e_1,e_2,f_1,f_2,f_3,s,t] o30 = R2 o30 : PolynomialRing i31 : S = kk[x_(1,1,1)..x_(2,2,3)] o31 = S o31 : PolynomialRing i32 : aa = matrix{{a_1,a_2}} o32 = | a_1 a_2 | 1 2 o32 : Matrix R2 <--- R2 i33 : bb = matrix{{b_1,b_2}} o33 = | b_1 b_2 | 1 2 o33 : Matrix R2 <--- R2 i34 : cc = matrix{{c_1,c_2,c_3}} o34 = | c_1 c_2 c_3 | 1 3 o34 : Matrix R2 <--- R2 i35 : a2 = matrix{{d_1,d_2}} o35 = | d_1 d_2 | 1 2 o35 : Matrix R2 <--- R2 i36 : b2 = matrix{{e_1,e_2}} o36 = | e_1 e_2 | 1 2 o36 : Matrix R2 <--- R2 i37 : c2 = matrix{{f_1,f_2,f_3}} o37 = | f_1 f_2 f_3 | 1 3 o37 : Matrix R2 <--- R2 i38 : phi = map(R2,S, s**(aa**bb**cc) + t**(a2**b2**c2)) o38 = map(R2,S,{a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t, a b c s + d e f t}) 1 1 1 1 1 1 1 1 2 1 1 2 1 1 3 1 1 3 1 2 1 1 2 1 1 2 2 1 2 2 1 2 3 1 2 3 2 1 1 2 1 1 2 1 2 2 1 2 2 1 3 2 1 3 2 2 1 2 2 1 2 2 2 2 2 2 2 2 3 2 2 3 o38 : RingMap R2 <--- S i39 : Isec2 = ker phi; o39 : Ideal of S i40 : netList Isec2_* +---------------------------------------------------------------------------------------------------------------------------+ o40 = |x x x - x x x - x x x + x x x + x x x - x x x | | 1,2,3 2,1,2 2,2,1 1,2,2 2,1,3 2,2,1 1,2,3 2,1,1 2,2,2 1,2,1 2,1,3 2,2,2 1,2,2 2,1,1 2,2,3 1,2,1 2,1,2 2,2,3| +---------------------------------------------------------------------------------------------------------------------------+ |x x x - x x x - x x x + x x x + x x x - x x x | | 1,1,3 2,1,2 2,2,1 1,1,2 2,1,3 2,2,1 1,1,3 2,1,1 2,2,2 1,1,1 2,1,3 2,2,2 1,1,2 2,1,1 2,2,3 1,1,1 2,1,2 2,2,3| +---------------------------------------------------------------------------------------------------------------------------+ |x x x - x x x - x x x + x x x + x x x - x x x | | 1,1,3 1,2,2 2,2,1 1,1,2 1,2,3 2,2,1 1,1,3 1,2,1 2,2,2 1,1,1 1,2,3 2,2,2 1,1,2 1,2,1 2,2,3 1,1,1 1,2,2 2,2,3| +---------------------------------------------------------------------------------------------------------------------------+ |x x x - x x x - x x x + x x x + x x x - x x x | | 1,1,3 1,2,2 2,1,1 1,1,2 1,2,3 2,1,1 1,1,3 1,2,1 2,1,2 1,1,1 1,2,3 2,1,2 1,1,2 1,2,1 2,1,3 1,1,1 1,2,2 2,1,3| +---------------------------------------------------------------------------------------------------------------------------+ i41 : oo.dd_2 stdio:50:3:(3): error: expected argument 1 to be a hash table i42 : res Isec2 1 4 3 o42 = S <-- S <-- S <-- 0 0 1 2 3 o42 : ChainComplex i43 : oo.dd_2 o43 = {3} | -x_(2,2,1) x_(2,2,2) -x_(2,2,3) | {3} | x_(2,1,1) -x_(2,1,2) x_(2,1,3) | {3} | -x_(1,2,1) x_(1,2,2) -x_(1,2,3) | {3} | x_(1,1,1) -x_(1,1,2) x_(1,1,3) | 4 3 o43 : Matrix S <--- S i44 : ----------------------------- -- Deficient triple Segres -- ----------------------------- -- 2. If dim A = nA, dim B = nB, dim C = nC, then -- the expected dimension of sec_r(PA x PB x PC) is -- r * (nA-1 + nB-1 + nC-1 + 1) - 1 -- A variety is called r-deficient, if Sec_r has lower -- than the expected dimension (can't have higher). -- -- Our goal: find all of the deficient triple -- Segre's up to some size, e.g. dim A,B,C <= 5, or 10, or 15... -- Our tool: Terracini's lemma. -- If X \subset PV is a projective variety, -- and p in X is a smooth point, -- let T_(X,p) \subset V denote the embedded tangent space of the cone of X, at p, -- this is a vector subspace of V -- Theorem: If p1, ...pr in X are smooth points of X, and P is a smooth point -- of Sec_r(X), in the linear space span(p1, ..., pr), then -- T_(Sec_r(X), P) = T_(X,p1) + ... + T_(X,pr). -- Our plan: -- a. choose random points on X, -- b. compute the (embedded) tangent space T_(X,p) -- c. sum these. -- The dimension will be heuristically the dimension of Sec_r(X), -- although it is possible that the dimension is higher than we compute. -- In practice, this is very rare, especially if we choose a larger finite field, or QQ. -- Step (a): Sampling from a variety. -- In this case, it is easy to sample: we choose random points in -- PA, PB, PC, and map them into PV. kk = ZZ/32003 o44 = kk o44 : QuotientRing i45 : A = kk^2 2 o45 = kk o45 : kk-module, free i46 : B = kk^2 2 o46 = kk o46 : kk-module, free i47 : C = kk^2 2 o47 = kk o47 : kk-module, free i48 : V = A ** B ** C 8 o48 = kk o48 : kk-module, free i49 : sampleSegre = (A,B,C) -> ( kk := ring A; a := random(A,kk^1); b := random(B,kk^1); c := random(C,kk^1); (a,b,c, a**b**c) ) o49 = sampleSegre o49 : FunctionClosure i50 : pt1 = sampleSegre(A,B,C) o50 = (| 1724 |, | -7376 |, | -12963 |, | -628 |) | -1107 | | 8029 | | 14417 | | -7851 | | -13808 | | 5331 | | -12294 | | 10703 | | 14658 | | 7028 | o50 : Sequence i51 : -- If the variety is NOT rational, this is much harder to do. -- Numerical Algebraic Geometry can help out here! -- Step (b): The embedded tangent space to a point a**b**c of the Segre. -- This is just the image of the following vector space map jacobianMap = (pt,A,B,C) -> ( (pt_0 ** pt_1 ** C) | (pt_0 ** B ** pt_2) | (A ** pt_1 ** pt_2) ) o51 = jacobianMap o51 : FunctionClosure i52 : jacobianMap(pt1,A,B,C) o52 = | -11033 0 -10118 0 -9876 0 | | 0 -11033 -11423 0 6177 0 | | -15303 0 0 -10118 -6171 0 | | 0 -15303 0 -11423 -758 0 | | 4467 0 12697 0 0 -9876 | | 0 4467 9878 0 0 6177 | | 8731 0 0 12697 0 -6171 | | 0 8731 0 9878 0 -758 | 8 6 o52 : Matrix kk <--- kk i53 : -- it should have rank 4 (dim of Segre is 3, and this is the cone over that, so 4): rank oo o53 = 4 i54 : -- Step (c): Using Terracini, find the tangent space to the secant locus: -- first, do it by hand: pt2 = sampleSegre(A,B,C) o54 = (| -4718 |, | 13432 |, | -11880 |, | -3265 |) | -1205 | | 6225 | | 11892 | | -7561 | | 10731 | | 3708 | | -4178 | | 3665 | | -12596 | | -8468 | o54 : Sequence i55 : J = jacobianMap(pt1,A,B,C) | jacobianMap(pt2,A,B,C) o55 = | -11033 0 -10118 0 -9876 0 -6236 0 12587 0 | 0 -11033 -11423 0 6177 0 0 -6236 -5197 0 | -15303 0 0 -10118 -6171 0 9204 0 0 12587 | 0 -15303 0 -11423 -758 0 0 9204 0 -5197 | 4467 0 12697 0 0 -9876 7958 0 10059 0 | 0 4467 9878 0 0 6177 0 7958 7484 0 | 8731 0 0 12697 0 -6171 -12423 0 0 10059 | 0 8731 0 9878 0 -758 0 -12423 0 7484 --------------------------------------------------------------------- -5202 0 | 6371 0 | 5933 0 | 4761 0 | 0 -5202 | 0 6371 | 0 5933 | 0 4761 | 8 12 o55 : Matrix kk <--- kk i56 : rank oo -- 8, the whole space! o56 = 8 i57 : -- so, as expected, dim sec_2(P1 x P1 x P1) = 7 (8-1). matrix{{jacobianMap(pt1,A,B,C), jacobianMap(pt2,A,B,C)}} o57 = | -11033 0 -10118 0 -9876 0 -6236 0 12587 0 | 0 -11033 -11423 0 6177 0 0 -6236 -5197 0 | -15303 0 0 -10118 -6171 0 9204 0 0 12587 | 0 -15303 0 -11423 -758 0 0 9204 0 -5197 | 4467 0 12697 0 0 -9876 7958 0 10059 0 | 0 4467 9878 0 0 6177 0 7958 7484 0 | 8731 0 0 12697 0 -6171 -12423 0 0 10059 | 0 8731 0 9878 0 -758 0 -12423 0 7484 --------------------------------------------------------------------- -5202 0 | 6371 0 | 5933 0 | 4761 0 | 0 -5202 | 0 6371 | 0 5933 | 0 4761 | 8 12 o57 : Matrix kk <--- kk i58 : rank oo o58 = 8 i59 : -- Now: let's make a function that takes r, and the dimensions of -- A,B,C, and returns the dimension of the secant locus (of course, -- this is a random algorithm). We also pass in the field to use: dimSecantToSegre = (r,nA,nB,nC,kk) -> ( A := kk^nA; B := kk^nB; C := kk^nC; pts := for i from 1 to r list sampleSegre(A,B,C); tanspaces := for pt in pts list jacobianMap(pt,A,B,C); sumtan := matrix{tanspaces}; rank sumtan - 1 ) o59 = dimSecantToSegre o59 : FunctionClosure i60 : for r from 1 to 10 list dimSecantToSegre(r,3,3,3,kk) o60 = {6, 13, 20, 25, 26, 26, 26, 26, 26, 26} o60 : List i61 : expectedDim = (r,nA,nB,nC) -> ( dimX := nA-1 + nB-1 + nC-1; min(r * (dimX + 1) - 1, nA*nB*nC-1) ) o61 = expectedDim o61 : FunctionClosure i62 : deficient = (nA,nB,nC,kk) -> ( r := 2; d := dimSecantToSegre(r,nA,nB,nC,kk); expected := expectedDim(r,nA,nB,nC); ) o62 = deficient o62 : FunctionClosure i63 : for r from 1 to 10 list expectedDim(r,3,3,3) o63 = {6, 13, 20, 26, 26, 26, 26, 26, 26, 26} o63 : List i64 : triples = (N) -> ( -- returns all triples (i,j,k), with 2 <= i <= j <= k <= N flatten for i from 2 to N list flatten for j from i to N list flatten for k from j to N list (i,j,k) ) o64 = triples o64 : FunctionClosure i65 : triples 5 o65 = {(2, 2, 2), (2, 2, 3), (2, 2, 4), (2, 2, 5), (2, 3, 3), (2, 3, 4), --------------------------------------------------------------------- (2, 3, 5), (2, 4, 4), (2, 4, 5), (2, 5, 5), (3, 3, 3), (3, 3, 4), (3, --------------------------------------------------------------------- 3, 5), (3, 4, 4), (3, 4, 5), (3, 5, 5), (4, 4, 4), (4, 4, 5), (4, 5, --------------------------------------------------------------------- 5), (5, 5, 5)} o65 : List i66 : N = 5 o66 = 5 i67 : flatten for ijk in triples N list ( (i,j,k) := ijk; topr := ceiling((i*j*k-1)/(i+j+k-2)); for r from 2 to topr list ( expected := expectedDim(r,i,j,k); d := dimSecantToSegre(r,i,j,k,kk); if d == expected then continue else {i,j,k,r}=>(d, expected) ) ) o67 = {{2, 2, 4, 3} => (14, 15), {2, 2, 5, 3} => (17, 19), {2, 3, 5, 4} => --------------------------------------------------------------------- (27, 29), {3, 3, 3, 4} => (25, 26), {3, 4, 4, 5} => (43, 44), {3, 5, --------------------------------------------------------------------- 5, 7} => (73, 74)} o67 : List i68 : netList oo +------------------------+ o68 = |{2, 2, 4, 3} => (14, 15)| +------------------------+ |{2, 2, 5, 3} => (17, 19)| +------------------------+ |{2, 3, 5, 4} => (27, 29)| +------------------------+ |{3, 3, 3, 4} => (25, 26)| +------------------------+ |{3, 4, 4, 5} => (43, 44)| +------------------------+ |{3, 5, 5, 7} => (73, 74)| +------------------------+ i69 : -- now redo: N = 10 o69 = 10 i70 : -- flatten for ijk in triples N list ( (i,j,k) := ijk; topr := ceiling((i*j*k-1)/(i+j+k-2)); for r from 2 to topr list ( expected := expectedDim(r,i,j,k); i70 : # triples 10 o70 = 165 i71 : flatten for ijk in triples N list ( (i,j,k) := ijk; topr := ceiling((i*j*k-1)/(i+j+k-2)); for r from 2 to topr list ( expected := expectedDim(r,i,j,k); d := dimSecantToSegre(r,i,j,k,kk); if d == expected then continue else {i,j,k,r}=>(d, expected) ) ) o71 = {{2, 2, 4, 3} => (14, 15), {2, 2, 5, 3} => (17, 19), {2, 2, 6, 3} => --------------------------------------------------------------------- (20, 23), {2, 2, 7, 3} => (23, 26), {2, 2, 8, 3} => (26, 29), {2, 2, --------------------------------------------------------------------- 9, 3} => (29, 32), {2, 2, 10, 3} => (32, 35), {2, 3, 5, 4} => (27, --------------------------------------------------------------------- 29), {2, 3, 6, 4} => (31, 35), {2, 3, 7, 4} => (35, 39), {2, 3, 7, 5} --------------------------------------------------------------------- => (39, 41), {2, 3, 8, 4} => (39, 43), {2, 3, 8, 5} => (44, 47), {2, --------------------------------------------------------------------- 3, 9, 4} => (43, 47), {2, 3, 9, 5} => (49, 53), {2, 3, 10, 4} => (47, --------------------------------------------------------------------- 51), {2, 3, 10, 5} => (54, 59), {2, 4, 6, 5} => (44, 47), {2, 4, 7, --------------------------------------------------------------------- 5} => (49, 54), {2, 4, 8, 5} => (54, 59), {2, 4, 8, 6} => (59, 63), --------------------------------------------------------------------- {2, 4, 9, 5} => (59, 64), {2, 4, 9, 6} => (65, 71), {2, 4, 10, 5} => --------------------------------------------------------------------- (64, 69), {2, 4, 10, 6} => (71, 79), {2, 5, 7, 6} => (65, 69), {2, 5, --------------------------------------------------------------------- 8, 6} => (71, 77), {2, 5, 8, 7} => (76, 79), {2, 5, 9, 6} => (77, --------------------------------------------------------------------- 83), {2, 5, 9, 7} => (83, 89), {2, 5, 10, 6} => (83, 89), {2, 5, 10, --------------------------------------------------------------------- 7} => (90, 99), {2, 6, 8, 7} => (90, 95), {2, 6, 9, 7} => (97, 104), --------------------------------------------------------------------- {2, 6, 9, 8} => (103, 107), {2, 6, 10, 7} => (104, 111), {2, 6, 10, --------------------------------------------------------------------- 8} => (111, 119), {2, 7, 9, 8} => (119, 125), {2, 7, 10, 8} => (127, --------------------------------------------------------------------- 135), {2, 7, 10, 9} => (134, 139), {2, 8, 10, 9} => (152, 159), {3, --------------------------------------------------------------------- 3, 3, 4} => (25, 26), {3, 3, 7, 6} => (59, 62), {3, 3, 8, 6} => (65, --------------------------------------------------------------------- 71), {3, 3, 9, 6} => (71, 77), {3, 3, 9, 7} => (76, 80), {3, 3, 10, --------------------------------------------------------------------- 6} => (77, 83), {3, 3, 10, 7} => (83, 89), {3, 4, 4, 5} => (43, 44), --------------------------------------------------------------------- {3, 4, 9, 8} => (103, 107), {3, 4, 10, 8} => (111, 119), {3, 5, 5, 7} --------------------------------------------------------------------- => (73, 74), {3, 7, 7, 10} => (145, 146), {3, 9, 9, 13} => (241, --------------------------------------------------------------------- 242)} o71 : List i72 : netList oo netList oo +---------------------------+ o72 = |{2, 2, 4, 3} => (14, 15) | +---------------------------+ |{2, 2, 5, 3} => (17, 19) | +---------------------------+ |{2, 2, 6, 3} => (20, 23) | +---------------------------+ |{2, 2, 7, 3} => (23, 26) | +---------------------------+ |{2, 2, 8, 3} => (26, 29) | +---------------------------+ |{2, 2, 9, 3} => (29, 32) | +---------------------------+ |{2, 2, 10, 3} => (32, 35) | +---------------------------+ |{2, 3, 5, 4} => (27, 29) | +---------------------------+ |{2, 3, 6, 4} => (31, 35) | +---------------------------+ |{2, 3, 7, 4} => (35, 39) | +---------------------------+ |{2, 3, 7, 5} => (39, 41) | +---------------------------+ |{2, 3, 8, 4} => (39, 43) | +---------------------------+ |{2, 3, 8, 5} => (44, 47) | +---------------------------+ |{2, 3, 9, 4} => (43, 47) | +---------------------------+ |{2, 3, 9, 5} => (49, 53) | +---------------------------+ |{2, 3, 10, 4} => (47, 51) | +---------------------------+ |{2, 3, 10, 5} => (54, 59) | +---------------------------+ |{2, 4, 6, 5} => (44, 47) | +---------------------------+ |{2, 4, 7, 5} => (49, 54) | +---------------------------+ |{2, 4, 8, 5} => (54, 59) | +---------------------------+ |{2, 4, 8, 6} => (59, 63) | +---------------------------+ |{2, 4, 9, 5} => (59, 64) | +---------------------------+ |{2, 4, 9, 6} => (65, 71) | +---------------------------+ |{2, 4, 10, 5} => (64, 69) | +---------------------------+ |{2, 4, 10, 6} => (71, 79) | +---------------------------+ |{2, 5, 7, 6} => (65, 69) | +---------------------------+ |{2, 5, 8, 6} => (71, 77) | +---------------------------+ |{2, 5, 8, 7} => (76, 79) | +---------------------------+ |{2, 5, 9, 6} => (77, 83) | +---------------------------+ |{2, 5, 9, 7} => (83, 89) | +---------------------------+ |{2, 5, 10, 6} => (83, 89) | +---------------------------+ |{2, 5, 10, 7} => (90, 99) | +---------------------------+ |{2, 6, 8, 7} => (90, 95) | +---------------------------+ |{2, 6, 9, 7} => (97, 104) | +---------------------------+ |{2, 6, 9, 8} => (103, 107) | +---------------------------+ |{2, 6, 10, 7} => (104, 111)| +---------------------------+ |{2, 6, 10, 8} => (111, 119)| +---------------------------+ |{2, 7, 9, 8} => (119, 125) | +---------------------------+ |{2, 7, 10, 8} => (127, 135)| +---------------------------+ |{2, 7, 10, 9} => (134, 139)| +---------------------------+ |{2, 8, 10, 9} => (152, 159)| +---------------------------+ |{3, 3, 3, 4} => (25, 26) | +---------------------------+ |{3, 3, 7, 6} => (59, 62) | +---------------------------+ |{3, 3, 8, 6} => (65, 71) | +---------------------------+ |{3, 3, 9, 6} => (71, 77) | +---------------------------+ |{3, 3, 9, 7} => (76, 80) | +---------------------------+ |{3, 3, 10, 6} => (77, 83) | +---------------------------+ |{3, 3, 10, 7} => (83, 89) | +---------------------------+ |{3, 4, 4, 5} => (43, 44) | +---------------------------+ |{3, 4, 9, 8} => (103, 107) | +---------------------------+ |{3, 4, 10, 8} => (111, 119)| +---------------------------+ |{3, 5, 5, 7} => (73, 74) | +---------------------------+ |{3, 7, 7, 10} => (145, 146)| +---------------------------+ |{3, 9, 9, 13} => (241, 242)| +---------------------------+ i73 : restart Macaulay2, version 1.7 with packages: ConwayPolynomials, Elimination, IntegralClosure, LLLBases, PrimaryDecomposition, ReesAlgebra, TangentCone i1 : needsPackage "MinimalPrimes" warning! This package is experimental. The interface will change, and although it passes its tests, it has not been fully debugged yet! In particular, in small characteristic, it *sometimes* might miss a component o1 = MinimalPrimes o1 : Package i2 : R = QQ[vars(0..11)] o2 = R o2 : PolynomialRing i3 : M = genericMatrix(R,a,3,4) o3 = | a d g j | | b e h k | | c f i l | 3 4 o3 : Matrix R <--- R i4 : I = permanents(3,M) o4 = ideal (c*e*g + b*f*g + c*d*h + a*f*h + b*d*i + a*e*i, c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l, c*h*j + b*i*j + c*g*k + ---------------------------------------------------------------------------------------------------------------------------- a*i*k + b*g*l + a*h*l, f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + d*h*l) o4 : Ideal of R i5 : netList I_* +---------------------------------------------+ o5 = |c*e*g + b*f*g + c*d*h + a*f*h + b*d*i + a*e*i| +---------------------------------------------+ |c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l| +---------------------------------------------+ |c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + a*h*l| +---------------------------------------------+ |f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + d*h*l| +---------------------------------------------+ i6 : C = minprimes I -- this is using the new minprimes code o6 = {ideal (l, k, j, c*e*g + b*f*g + c*d*h + a*f*h + b*d*i + a*e*i), ideal (l, i, f, c), ideal (k, h, e, b), ideal (j, g, d, a), ---------------------------------------------------------------------------------------------------------------------------- ideal (i, h, g, c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l), ideal (f, e, d, c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + ---------------------------------------------------------------------------------------------------------------------------- a*h*l), ideal (c, b, a, f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + d*h*l), ideal (f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + ---------------------------------------------------------------------------------------------------------------------------- d*h*l, c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + a*h*l, c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l, c*e*g + b*f*g + c*d*h + ---------------------------------------------------------------------------------------------------------------------------- a*f*h + b*d*i + a*e*i, c*d*g*k + a*f*g*k + a*d*i*k + b*d*g*l + a*e*g*l + a*d*h*l, b*f*i*j + a*f*i*k + b*f*g*l + a*f*h*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 b*d*i*l + a*e*i*l, b*e*i*j - c*d*h*k - a*f*h*k + b*e*g*l, b*f*g*i*k + c*d*h*i*k + b*d*i k - b*f*g*h*l - a*f*h l - a*e*h*i*l, ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 c*d*f*h*k + a*f h*k + a*e*f*i*k + a*e*f*h*l + b*d*e*i*l + a*e i*l, c d*h*k + a*c*f*h*k + b*c*d*i*k + b*c*d*h*l + b d*i*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 a*b*e*i*l, b*d*f*g*k - a*e*f*g*k + c*d h*k + a*d*f*h*k + b*d i*k - b*d*e*g*l - a*e g*l - a*d*e*h*l, e*f*g*i*j*k + d*e*i j*k ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 + d*f*g*i*k + d i k + e g*i*j*l + d*e*h*i*j*l + e*f*g k*l + d*f*g*h*k*l + d*e*g*i*k*l + d h*i*k*l + e g l + d*e*g*h*l , ---------------------------------------------------------------------------------------------------------------------------- 2 2 b*d*g*i*j*k + a*e*g*i*j*k - a*d*h*i*j*k + a*d*g*i*k - b*d*g*h*j*l - a*e*g*h*j*l - a*d*h j*l + a*d*g*h*k*l, b*c*g*i*j*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 a*b*i j*k + a*c*g*i*k + a i k + b g*i*j*l + a*b*h*i*j*l + b*c*g k*l + a*c*g*h*k*l + a*b*g*i*k*l + a h*i*k*l + b g l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 a*b*g*h*l , b*c*d*f*j*k + a*b*f j*k + a*c*d*f*k + a f k + b d*f*j*l + a*b*e*f*j*l + b*c*d k*l + a*c*d*e*k*l + a*b*d*f*k*l ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 + a e*f*k*l + b d l + a*b*d*e*l , a*e*f*g*i*k - a*d*f*h*i*k - b*d*f*g*h*l - a*d*f*h l + b*d*e*g*i*l + a*e g*i*l, ---------------------------------------------------------------------------------------------------------------------------- 2 2 b*c*d*f*i*k - a*c*e*f*i*k + b*c*d*f*h*l - a*c*e*f*h*l - b*c*d*e*i*l - a*c*e i*l + b d*f*i*l + a*b*e*f*i*l, b*c*d*f*g*h + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 a*b*f g*h + a*c*d*f*h + a f h + b d*f*g*i + a*b*e*f*g*i + b*c*d h*i + a*c*d*e*h*i + a*b*d*f*h*i + a e*f*h*i + b d i + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b*d*e*i , e g*i j*k - d*e*h*i j*k + e*f*g i*k - d*f*g*h*i*k + d*e*g*i k - d h*i k - e g*h*i*j*l - d*e*h i*j*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 e*f*g h*k*l - d*f*g*h k*l + e g i*k*l - d h i*k*l - e g h*l - d*e*g*h l , b g*i j*k - a*b*h*i j*k + b*c*g i*k - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*c*g*h*i*k + a*b*g*i k - a h*i k - b g*h*i*j*l - a*b*h i*j*l - b*c*g h*k*l - a*c*g*h k*l + b g i*k*l - a h i*k*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 b g h*l - a*b*g*h l , a*e g*i*j*k - a*d*e*h*i*j*k + a*d*e*g*i*k - a*d h*i*k - b*d*e*g*h*j*l - a*e g*h*j*l - a*d*e*h j*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b*d*e*g k*l - b*d g*h*k*l - a*d h k*l, b d*f j*k - a*b*e*f j*k + b*c*d f*k - a*c*d*e*f*k + a*b*d*f k - a e*f k - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 b d*e*f*j*l - a*b*e f*j*l - b*c*d e*k*l - a*c*d*e k*l + b d f*k*l - a e f*k*l - b d e*l - a*b*d*e l , a*c*e*f*h*i*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 a*b*f h*i*k + a*b*e*f*i k - b*c*d*f*h l + a*c*e*f*h l + b*c*d*e*h*i*l + a*c*e h*i*l - b d*f*h*i*l + b d*e*i l + a*b*e i l, ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 a*c*d*e*h*i*k + a*b*d*f*h*i*k + a*b*d*e*i k + b d*f*g*h*l - a*b*e*f*g*h*l + a*b*d*f*h l - a e*f*h l - b d*e*g*i*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b*e g*i*l - a e h*i*l, b d*f g*h - a*b*e*f g*h + b*c*d f*h - a*c*d*e*f*h + a*b*d*f h - a e*f h - b d*e*f*g*i - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b*e f*g*i - b*c*d e*h*i - a*c*d*e h*i + b d f*h*i - a e f*h*i - b d e*i - a*b*d*e i , c e*f*h*i*k + b*c*f h*i*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b*c*e*f*i k + c e*f*h k*l + b*c*f h k*l + c e h*i*k*l + b f h*i*k*l + b*c*e i k*l + b e*f*i k*l + b*c*e*f*h l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b*c*e h*i*l + b e*f*h*i*l , e*f g i*k - d*f g*h*i*k + d*e*f*g*i k - d f*h*i k - e*f g h*k*l - d*f g*h k*l + e f*g i*k*l ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - d f*h i*k*l + d*e g*i k*l + d e*h*i k*l - e f*g h*l - d*e*f*g*h l + d*e g*h*i*l + d e*h i*l , b*c g i*k - a*c g*h*i*k ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + a*b*c*g*i k - a c*h*i k - b*c g h*k*l - a*c g*h k*l + b c*g i*k*l - a c*h i*k*l + a*b g*i k*l + a b*h*i k*l - b c*g h*l ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - a*b*c*g*h l + a*b g*h*i*l + a b*h i*l , a*c*d h k + a d*f*h k - a*b*d*e*g*i*k + a*b*d h*i*k + a d*e*h*i*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 b d*e*g*h*j*l + a*b*e g*h*j*l + a*b*d*e*h j*l + b d*e*g k*l + a*b*e g k*l + b d g*h*k*l + a e g*h*k*l + a*b*d h k*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a d*e*h k*l, b*c d f*k - a*c d*e*f*k + a*b*c*d*f k - a c*e*f k - b*c d e*k*l - a*c d*e k*l + b c*d f*k*l - a c*e f*k*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b d*f k*l + a b*e*f k*l - b c*d e*l - a*b*c*d*e l + a*b d*e*f*l + a b*e f*l , a*c*d h i*k + a d*f*h i*k - a*b*d*e*g*i k ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + a*b*d h*i k + a d*e*h*i k - b d*f*g h*l + a*b*e*f*g h*l - a*b*d*f*g*h l + a e*f*g*h l + b d*e*g i*l + a*b*e g i*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 a e g*h*i*l, a*b*d*f h*i*k - a e*f h*i*k + a*b*d*e*f*i k - a e f*i k - b*c*d f*h l + a*c*d*e*f*h l + b*c*d e*h*i*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 a*c*d*e h*i*l - b d f*h*i*l - a e f*h*i*l + b d e*i l - a e i l, c d*f*g*i*j + a*c*f g*i*j + a*c*d*f*i j + c d*f*g j*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*c*f g j*l + c d g*i*j*l + a f g*i*j*l + a*c*d i j*l + a d*f*i j*l + a*c*d*f*g l + a*c*d g*i*l + a d*f*g*i*l , ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b d*e*g*h*j + a*b*e g*h*j + a*b*d*e*h j + b d*e*g j*k + a*b*e g j*k + b d g*h*j*k + a e g*h*j*k + a*b*d h j*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a d*e*h j*k + a*b*d*e*g k + a*b*d g*h*k + a d*e*g*h*k , b*c d f*h - a*c d*e*f*h + a*b*c*d*f h - a c*e*f h - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b*c d e*h*i - a*c d*e h*i + b c*d f*h*i - a c*e f*h*i + a*b d*f h*i + a b*e*f h*i - b c*d e*i - a*b*c*d*e i + a*b d*e*f*i ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + a b*e f*i , a*b*d*e*g i*k - a*b*d g*h*i*k - a d*e*g*h*i*k + a d h i*k - b d*e*g h*j*l - a*b*e g h*j*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 3 2 3 2 2 2 2 2 2 2 2 3 2 2 2 2 a*b*d*e*g*h j*l - b d*e*g k*l - a*b*e g k*l - b d g h*k*l - a e g h*k*l + a d h k*l, a*b*d*e*g i k - a*b*d g*h*i k - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 3 3 2 2 2 2 2 2 3 2 3 a d*e*g*h*i k + a d h i k + b d*f*g h*l - a*b*e*f*g h*l + a*b*d*f*g h l - a e*f*g h l - b d*e*g i*l - a*b*e g i*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 a e g h*i*l + a*b*d g*h i*l + a d*e*g*h i*l + a d h i*l, a*b*d f*h i*k - a d*e*f*h i*k + a*b*d*e g*i k - a d*e h*i k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 3 2 3 2 2 2 3 2 b d*e*f*g h*l - a*b*e f*g h*l + b d f*g*h l - a e f*g*h l + a*b*d f*h l - a d*e*f*h l - b d*e g i*l - a*b*e g i*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 3 2 2 2 b d e*g*h*i*l - a*b*d*e g*h*i*l - a e g*h*i*l - a d*e h i*l)} o6 : List i7 : C = minprimes I -- this is using the new minprimes code o7 = {ideal (l, k, j, c*e*g + b*f*g + c*d*h + a*f*h + b*d*i + a*e*i), ideal (l, i, f, c), ideal (k, h, e, b), ideal (j, g, d, a), ---------------------------------------------------------------------------------------------------------------------------- ideal (i, h, g, c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l), ideal (f, e, d, c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + ---------------------------------------------------------------------------------------------------------------------------- a*h*l), ideal (c, b, a, f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + d*h*l), ideal (f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + ---------------------------------------------------------------------------------------------------------------------------- d*h*l, c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + a*h*l, c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l, c*e*g + b*f*g + c*d*h + ---------------------------------------------------------------------------------------------------------------------------- a*f*h + b*d*i + a*e*i, c*d*g*k + a*f*g*k + a*d*i*k + b*d*g*l + a*e*g*l + a*d*h*l, b*f*i*j + a*f*i*k + b*f*g*l + a*f*h*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 b*d*i*l + a*e*i*l, b*e*i*j - c*d*h*k - a*f*h*k + b*e*g*l, b*f*g*i*k + c*d*h*i*k + b*d*i k - b*f*g*h*l - a*f*h l - a*e*h*i*l, ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 c*d*f*h*k + a*f h*k + a*e*f*i*k + a*e*f*h*l + b*d*e*i*l + a*e i*l, c d*h*k + a*c*f*h*k + b*c*d*i*k + b*c*d*h*l + b d*i*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 a*b*e*i*l, b*d*f*g*k - a*e*f*g*k + c*d h*k + a*d*f*h*k + b*d i*k - b*d*e*g*l - a*e g*l - a*d*e*h*l, e*f*g*i*j*k + d*e*i j*k ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 + d*f*g*i*k + d i k + e g*i*j*l + d*e*h*i*j*l + e*f*g k*l + d*f*g*h*k*l + d*e*g*i*k*l + d h*i*k*l + e g l + d*e*g*h*l , ---------------------------------------------------------------------------------------------------------------------------- 2 2 b*d*g*i*j*k + a*e*g*i*j*k - a*d*h*i*j*k + a*d*g*i*k - b*d*g*h*j*l - a*e*g*h*j*l - a*d*h j*l + a*d*g*h*k*l, b*c*g*i*j*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 a*b*i j*k + a*c*g*i*k + a i k + b g*i*j*l + a*b*h*i*j*l + b*c*g k*l + a*c*g*h*k*l + a*b*g*i*k*l + a h*i*k*l + b g l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 a*b*g*h*l , b*c*d*f*j*k + a*b*f j*k + a*c*d*f*k + a f k + b d*f*j*l + a*b*e*f*j*l + b*c*d k*l + a*c*d*e*k*l + a*b*d*f*k*l ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 + a e*f*k*l + b d l + a*b*d*e*l , a*e*f*g*i*k - a*d*f*h*i*k - b*d*f*g*h*l - a*d*f*h l + b*d*e*g*i*l + a*e g*i*l, ---------------------------------------------------------------------------------------------------------------------------- 2 2 b*c*d*f*i*k - a*c*e*f*i*k + b*c*d*f*h*l - a*c*e*f*h*l - b*c*d*e*i*l - a*c*e i*l + b d*f*i*l + a*b*e*f*i*l, b*c*d*f*g*h + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 a*b*f g*h + a*c*d*f*h + a f h + b d*f*g*i + a*b*e*f*g*i + b*c*d h*i + a*c*d*e*h*i + a*b*d*f*h*i + a e*f*h*i + b d i + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b*d*e*i , e g*i j*k - d*e*h*i j*k + e*f*g i*k - d*f*g*h*i*k + d*e*g*i k - d h*i k - e g*h*i*j*l - d*e*h i*j*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 e*f*g h*k*l - d*f*g*h k*l + e g i*k*l - d h i*k*l - e g h*l - d*e*g*h l , b g*i j*k - a*b*h*i j*k + b*c*g i*k - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*c*g*h*i*k + a*b*g*i k - a h*i k - b g*h*i*j*l - a*b*h i*j*l - b*c*g h*k*l - a*c*g*h k*l + b g i*k*l - a h i*k*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 b g h*l - a*b*g*h l , a*e g*i*j*k - a*d*e*h*i*j*k + a*d*e*g*i*k - a*d h*i*k - b*d*e*g*h*j*l - a*e g*h*j*l - a*d*e*h j*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b*d*e*g k*l - b*d g*h*k*l - a*d h k*l, b d*f j*k - a*b*e*f j*k + b*c*d f*k - a*c*d*e*f*k + a*b*d*f k - a e*f k - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 b d*e*f*j*l - a*b*e f*j*l - b*c*d e*k*l - a*c*d*e k*l + b d f*k*l - a e f*k*l - b d e*l - a*b*d*e l , a*c*e*f*h*i*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 a*b*f h*i*k + a*b*e*f*i k - b*c*d*f*h l + a*c*e*f*h l + b*c*d*e*h*i*l + a*c*e h*i*l - b d*f*h*i*l + b d*e*i l + a*b*e i l, ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 a*c*d*e*h*i*k + a*b*d*f*h*i*k + a*b*d*e*i k + b d*f*g*h*l - a*b*e*f*g*h*l + a*b*d*f*h l - a e*f*h l - b d*e*g*i*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b*e g*i*l - a e h*i*l, b d*f g*h - a*b*e*f g*h + b*c*d f*h - a*c*d*e*f*h + a*b*d*f h - a e*f h - b d*e*f*g*i - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b*e f*g*i - b*c*d e*h*i - a*c*d*e h*i + b d f*h*i - a e f*h*i - b d e*i - a*b*d*e i , c e*f*h*i*k + b*c*f h*i*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b*c*e*f*i k + c e*f*h k*l + b*c*f h k*l + c e h*i*k*l + b f h*i*k*l + b*c*e i k*l + b e*f*i k*l + b*c*e*f*h l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b*c*e h*i*l + b e*f*h*i*l , e*f g i*k - d*f g*h*i*k + d*e*f*g*i k - d f*h*i k - e*f g h*k*l - d*f g*h k*l + e f*g i*k*l ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - d f*h i*k*l + d*e g*i k*l + d e*h*i k*l - e f*g h*l - d*e*f*g*h l + d*e g*h*i*l + d e*h i*l , b*c g i*k - a*c g*h*i*k ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + a*b*c*g*i k - a c*h*i k - b*c g h*k*l - a*c g*h k*l + b c*g i*k*l - a c*h i*k*l + a*b g*i k*l + a b*h*i k*l - b c*g h*l ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - a*b*c*g*h l + a*b g*h*i*l + a b*h i*l , a*c*d h k + a d*f*h k - a*b*d*e*g*i*k + a*b*d h*i*k + a d*e*h*i*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 b d*e*g*h*j*l + a*b*e g*h*j*l + a*b*d*e*h j*l + b d*e*g k*l + a*b*e g k*l + b d g*h*k*l + a e g*h*k*l + a*b*d h k*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a d*e*h k*l, b*c d f*k - a*c d*e*f*k + a*b*c*d*f k - a c*e*f k - b*c d e*k*l - a*c d*e k*l + b c*d f*k*l - a c*e f*k*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b d*f k*l + a b*e*f k*l - b c*d e*l - a*b*c*d*e l + a*b d*e*f*l + a b*e f*l , a*c*d h i*k + a d*f*h i*k - a*b*d*e*g*i k ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + a*b*d h*i k + a d*e*h*i k - b d*f*g h*l + a*b*e*f*g h*l - a*b*d*f*g*h l + a e*f*g*h l + b d*e*g i*l + a*b*e g i*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 a e g*h*i*l, a*b*d*f h*i*k - a e*f h*i*k + a*b*d*e*f*i k - a e f*i k - b*c*d f*h l + a*c*d*e*f*h l + b*c*d e*h*i*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 a*c*d*e h*i*l - b d f*h*i*l - a e f*h*i*l + b d e*i l - a e i l, c d*f*g*i*j + a*c*f g*i*j + a*c*d*f*i j + c d*f*g j*l + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*c*f g j*l + c d g*i*j*l + a f g*i*j*l + a*c*d i j*l + a d*f*i j*l + a*c*d*f*g l + a*c*d g*i*l + a d*f*g*i*l , ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b d*e*g*h*j + a*b*e g*h*j + a*b*d*e*h j + b d*e*g j*k + a*b*e g j*k + b d g*h*j*k + a e g*h*j*k + a*b*d h j*k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a d*e*h j*k + a*b*d*e*g k + a*b*d g*h*k + a d*e*g*h*k , b*c d f*h - a*c d*e*f*h + a*b*c*d*f h - a c*e*f h - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b*c d e*h*i - a*c d*e h*i + b c*d f*h*i - a c*e f*h*i + a*b d*f h*i + a b*e*f h*i - b c*d e*i - a*b*c*d*e i + a*b d*e*f*i ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + a b*e f*i , a*b*d*e*g i*k - a*b*d g*h*i*k - a d*e*g*h*i*k + a d h i*k - b d*e*g h*j*l - a*b*e g h*j*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 3 2 3 2 2 2 2 2 2 2 2 3 2 2 2 2 a*b*d*e*g*h j*l - b d*e*g k*l - a*b*e g k*l - b d g h*k*l - a e g h*k*l + a d h k*l, a*b*d*e*g i k - a*b*d g*h*i k - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 3 3 2 2 2 2 2 2 3 2 3 a d*e*g*h*i k + a d h i k + b d*f*g h*l - a*b*e*f*g h*l + a*b*d*f*g h l - a e*f*g h l - b d*e*g i*l - a*b*e g i*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 a e g h*i*l + a*b*d g*h i*l + a d*e*g*h i*l + a d h i*l, a*b*d f*h i*k - a d*e*f*h i*k + a*b*d*e g*i k - a d*e h*i k + ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 3 2 3 2 2 2 3 2 b d*e*f*g h*l - a*b*e f*g h*l + b d f*g*h l - a e f*g*h l + a*b*d f*h l - a d*e*f*h l - b d*e g i*l - a*b*e g i*l - ---------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 3 2 2 2 b d e*g*h*i*l - a*b*d*e g*h*i*l - a e g*h*i*l - a d*e h i*l)} o7 : List i8 : #C o8 = 8 i9 : C = C/trim; i10 : netList C +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ o10 = |ideal (l, k, j, c*e*g + b*f*g + c*d*h + a*f*h + b*d*i + a*e*i) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |ideal (l, i, f, c) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |ideal (k, h, e, b) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |ideal (j, g, d, a) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |ideal (i, h, g, c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |ideal (f, e, d, c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + a*h*l) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |ideal (c, b, a, f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + d*h*l) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 | |ideal (f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + d*h*l, c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + a*h*l, c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l, c*e*g + b*f*g + c*d*h + a*f*h + b*d*i + a*e*i, e*f*g*i*j*k + d*e*i j*k + d*f*g*i*k + d i k + e g*i*j*l + d*e*h*i*j*l + e*f*g k*l + d*f*g*h*k*l + d*e*g*i*k*l + d h*i*k*l + e g l + d*e*g*h*l , b*c*g*i*j*k + a*b*i j*k + a*c*g*i*k + a i k + b g*i*j*l + a*b*h*i*j*l + b*c*g k*l + a*c*g*h*k*l + a*b*g*i*k*l + a h*i*k*l + b g l + a*b*g*h*l , b*c*d*f*j*k + a*b*f j*k + a*c*d*f*k + a f k + b d*f*j*l + a*b*e*f*j*l + b*c*d k*l + a*c*d*e*k*l + a*b*d*f*k*l + a e*f*k*l + b d l + a*b*d*e*l , b*c*d*f*g*h + a*b*f g*h + a*c*d*f*h + a f h + b d*f*g*i + a*b*e*f*g*i + b*c*d h*i + a*c*d*e*h*i + a*b*d*f*h*i + a e*f*h*i + b d i + a*b*d*e*i , c e*f*h*i*k + b*c*f h*i*k + b*c*e*f*i k + c e*f*h k*l + b*c*f h k*l + c e h*i*k*l + b f h*i*k*l + b*c*e i k*l + b e*f*i k*l + b*c*e*f*h l + b*c*e h*i*l + b e*f*h*i*l , c d*f*g*i*j + a*c*f g*i*j + a*c*d*f*i j + c d*f*g j*l + a*c*f g j*l + c d g*i*j*l + a f g*i*j*l + a*c*d i j*l + a d*f*i j*l + a*c*d*f*g l + a*c*d g*i*l + a d*f*g*i*l , b d*e*g*h*j + a*b*e g*h*j + a*b*d*e*h j + b d*e*g j*k + a*b*e g j*k + b d g*h*j*k + a e g*h*j*k + a*b*d h j*k + a d*e*h j*k + a*b*d*e*g k + a*b*d g*h*k + a d*e*g*h*k )| +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ i11 : M o11 = | a d g j | | b e h k | | c f i l | 3 4 o11 : Matrix R <--- R i12 : J = C_7 o12 = ideal (f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + d*h*l, c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + a*h*l, c*e*j + b*f*j + c*d*k --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 + a*f*k + b*d*l + a*e*l, c*e*g + b*f*g + c*d*h + a*f*h + b*d*i + a*e*i, e*f*g*i*j*k + d*e*i j*k + d*f*g*i*k + d i k + --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 e g*i*j*l + d*e*h*i*j*l + e*f*g k*l + d*f*g*h*k*l + d*e*g*i*k*l + d h*i*k*l + e g l + d*e*g*h*l , b*c*g*i*j*k + a*b*i j*k --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 + a*c*g*i*k + a i k + b g*i*j*l + a*b*h*i*j*l + b*c*g k*l + a*c*g*h*k*l + a*b*g*i*k*l + a h*i*k*l + b g l + a*b*g*h*l , --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 b*c*d*f*j*k + a*b*f j*k + a*c*d*f*k + a f k + b d*f*j*l + a*b*e*f*j*l + b*c*d k*l + a*c*d*e*k*l + a*b*d*f*k*l + a e*f*k*l --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 + b d l + a*b*d*e*l , b*c*d*f*g*h + a*b*f g*h + a*c*d*f*h + a f h + b d*f*g*i + a*b*e*f*g*i + b*c*d h*i + a*c*d*e*h*i + --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*b*d*f*h*i + a e*f*h*i + b d i + a*b*d*e*i , c e*f*h*i*k + b*c*f h*i*k + b*c*e*f*i k + c e*f*h k*l + b*c*f h k*l + --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 c e h*i*k*l + b f h*i*k*l + b*c*e i k*l + b e*f*i k*l + b*c*e*f*h l + b*c*e h*i*l + b e*f*h*i*l , c d*f*g*i*j + --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*c*f g*i*j + a*c*d*f*i j + c d*f*g j*l + a*c*f g j*l + c d g*i*j*l + a f g*i*j*l + a*c*d i j*l + a d*f*i j*l + --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a*c*d*f*g l + a*c*d g*i*l + a d*f*g*i*l , b d*e*g*h*j + a*b*e g*h*j + a*b*d*e*h j + b d*e*g j*k + a*b*e g j*k + --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 b d g*h*j*k + a e g*h*j*k + a*b*d h j*k + a d*e*h j*k + a*b*d*e*g k + a*b*d g*h*k + a d*e*g*h*k ) o12 : Ideal of R i13 : netList J_* +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ o13 = |f*h*j + e*i*j + f*g*k + d*i*k + e*g*l + d*h*l | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |c*h*j + b*i*j + c*g*k + a*i*k + b*g*l + a*h*l | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |c*e*j + b*f*j + c*d*k + a*f*k + b*d*l + a*e*l | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |c*e*g + b*f*g + c*d*h + a*f*h + b*d*i + a*e*i | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 2 2 2 2 2 2 2 2 2 2 2 2 | |e*f*g*i*j*k + d*e*i j*k + d*f*g*i*k + d i k + e g*i*j*l + d*e*h*i*j*l + e*f*g k*l + d*f*g*h*k*l + d*e*g*i*k*l + d h*i*k*l + e g l + d*e*g*h*l | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 2 2 2 2 2 2 2 2 2 2 2 2 | |b*c*g*i*j*k + a*b*i j*k + a*c*g*i*k + a i k + b g*i*j*l + a*b*h*i*j*l + b*c*g k*l + a*c*g*h*k*l + a*b*g*i*k*l + a h*i*k*l + b g l + a*b*g*h*l | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 2 2 2 2 2 2 2 2 2 2 2 2 | |b*c*d*f*j*k + a*b*f j*k + a*c*d*f*k + a f k + b d*f*j*l + a*b*e*f*j*l + b*c*d k*l + a*c*d*e*k*l + a*b*d*f*k*l + a e*f*k*l + b d l + a*b*d*e*l | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 2 2 2 2 2 2 2 2 2 2 2 2 | |b*c*d*f*g*h + a*b*f g*h + a*c*d*f*h + a f h + b d*f*g*i + a*b*e*f*g*i + b*c*d h*i + a*c*d*e*h*i + a*b*d*f*h*i + a e*f*h*i + b d i + a*b*d*e*i | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2| |c e*f*h*i*k + b*c*f h*i*k + b*c*e*f*i k + c e*f*h k*l + b*c*f h k*l + c e h*i*k*l + b f h*i*k*l + b*c*e i k*l + b e*f*i k*l + b*c*e*f*h l + b*c*e h*i*l + b e*f*h*i*l | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2| |c d*f*g*i*j + a*c*f g*i*j + a*c*d*f*i j + c d*f*g j*l + a*c*f g j*l + c d g*i*j*l + a f g*i*j*l + a*c*d i j*l + a d*f*i j*l + a*c*d*f*g l + a*c*d g*i*l + a d*f*g*i*l | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2| |b d*e*g*h*j + a*b*e g*h*j + a*b*d*e*h j + b d*e*g j*k + a*b*e g j*k + b d g*h*j*k + a e g*h*j*k + a*b*d h j*k + a d*e*h j*k + a*b*d*e*g k + a*b*d g*h*k + a d*e*g*h*k | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ i14 : codim J -- 4 o14 = 4 i15 : degree J -- 66 o15 = 66 i16 : res J 1 11 34 42 24 6 o16 = R <-- R <-- R <-- R <-- R <-- R <-- 0 0 1 2 3 4 5 6 o16 : ChainComplex i17 : betti res J 0 1 2 3 4 5 o17 = total: 1 11 34 42 24 6 0: 1 . . . . . 1: . . . . . . 2: . 4 . . . . 3: . . . . . . 4: . . 6 . . . 5: . 4 12 12 . . 6: . . . . . . 7: . 3 16 30 24 6 o17 : BettiTally i18 : singJ = J + minors(4, jacobian J);