Macaulay2 » Documentation
Packages » NumericalSemigroups :: flatteningRelations
next | previous | forward | backward | up | index | toc

flatteningRelations -- Compute the flattening relations of an unfolding

Synopsis

Description

Given the tuple (I,A,unfolding) the function computes the flattening relations via the set of Buchberger test syzygies. The procedure terminates since the parameters of A have positive degree, and the unfolding is homogeneous.

i1 : L={4,6,7}

o1 = {4, 6, 7}

o1 : List
i2 : I = trim semigroupIdeal L;

               ZZ
o2 : Ideal of ----[x , x ..x ]
              1009  0   2   3
i3 : (A,unfolding)=makeUnfolding I

o3 = (A, | x_0^3-x_2^2+a_{0, 0}+x_0a_{0, 1}+x_2a_{0, 2}+x_3a_{0,
     ------------------------------------------------------------------------
     3}+x_0^2a_{0, 4}+x_0x_2a_{0, 5}+x_0x_3a_{0, 6} x_0^2x_2-x_3^2+a_{1,
     ------------------------------------------------------------------------
     0}+x_0a_{1, 1}+x_2a_{1, 2}+x_3a_{1, 3}+x_0^2a_{1, 4}+x_0x_2a_{1,
     ------------------------------------------------------------------------
     5}+x_0x_3a_{1, 6}+x_2^2a_{1, 7}+x_2x_3a_{1, 8} |)

o3 : Sequence
i4 : S=ring I

o4 = S

o4 : PolynomialRing
i5 : fI=res I

      1      2      1
o5 = S  <-- S  <-- S  <-- 0
                           
     0      1      2      3

o5 : ChainComplex
i6 : degs=flatten (gens A/degree)

o6 = {14, 12, 10, 8, 8, 7, 6, 6, 5, 4, 4, 3, 2, 2, 1, 1}

o6 : List
i7 : n=floor(max degs/2)+3

o7 = 10
i8 : restricted=ideal select(gens A, y-> (degree y)_0<n);

o8 : Ideal of A
i9 : SA=ring unfolding

o9 = SA

o9 : PolynomialRing
i10 : runfolding=unfolding%sub(restricted,SA);

               1       2
o10 : Matrix SA  <-- SA
i11 : transpose runfolding

o11 = {-12} | x_0^3-x_2^2+a_{0, 0}                |
      {-14} | x_0^2x_2-x_3^2+a_{1, 0}+x_0a_{1, 1} |

               2       1
o11 : Matrix SA  <-- SA
i12 : J=flatteningRelations(I,A,runfolding);

o12 : Ideal of A
i13 : cJ=decompose J;#cJ

o14 = 1
i15 : ideal prune (A/J)

o15 = ideal ()

                ZZ
o15 : Ideal of ----[a      , a      , a      , a      , a      , a      , a      , a      , a      , a      , a      , a      , a      , a      , a      , a      ]
               1009  {1, 0}   {0, 0}   {1, 1}   {1, 2}   {0, 1}   {1, 3}   {1, 4}   {0, 2}   {0, 3}   {1, 5}   {0, 4}   {1, 6}   {1, 7}   {0, 5}   {1, 8}   {0, 6}
i16 : family=runfolding%sub(J,SA);

               1       2
o16 : Matrix SA  <-- SA
i17 : betti res ideal family == betti res I

o17 = true

Thus this is a flat family!

i18 : fiber=ideal sub(family,vars S|random(S^1,S^(numgens A)));

o18 : Ideal of S
i19 : singFiber=radical ideal gens gb (fiber+minors(codim I,jacobian fiber))

o19 = ideal 1

o19 : Ideal of S

Thus the family is a smoothing of S/I so the semigroup L in the example is a Weierstrass semigroup by Pinkham's thesis.

See also

Ways to use flatteningRelations:

For the programmer

The object flatteningRelations is a method function.