Macaulay2 » Documentation
Packages » WeierstrassSemigroups :: findCompleteIntersection
next | previous | forward | backward | up | index | toc

findCompleteIntersection -- Find complete intersection defined by some of the generators

Description

We pick positions one by one generators of I, which increase the codimension by one until reached codim I.

i1 : L={7, 8, 17, 19, 20}

o1 = {7, 8, 17, 19, 20}

o1 : List
i2 : I=semigroupIdeal L

             3                       4          2      2     2    2          
o2 = ideal (x  - x x , x x  - x x , x  - x x , x x  - x x , x  - x x , x x  -
             1    0 3   1 5    0 6   0    1 6   1 3    0 5   3    0 6   3 5  
     ------------------------------------------------------------------------
      2     3 2          3      2   2              3      2
     x x , x x  - x x , x x  - x , x x x  - x x , x x  - x )
      1 6   0 1    3 6   0 3    5   0 1 3    5 6   0 5    6

                ZZ
o2 : Ideal of -----[x ..x , x , x ..x ]
              10007  0   1   3   5   6
i3 : numgens I

o3 = 10
i4 : columnFront=findCompleteIntersection I

o4 = {0, 1, 4, 7}

o4 : List
i5 : ci=ideal (gens I)_columnFront

             3                       2    2     3      2
o5 = ideal (x  - x x , x x  - x x , x  - x x , x x  - x )
             1    0 3   1 5    0 6   3    0 6   0 3    5

                ZZ
o5 : Ideal of -----[x ..x , x , x ..x ]
              10007  0   1   3   5   6
i6 : codim ci == codim I

o6 = true

There are three strategies "front", "back" and "random".

i7 : columnBack=findCompleteIntersection(I,Strategy=>"back")

o7 = {9, 8, 7, 0}

o7 : List
i8 : ci2=ideal (gens I)_columnBack

             3      2   2              3      2   3
o8 = ideal (x x  - x , x x x  - x x , x x  - x , x  - x x )
             0 5    6   0 1 3    5 6   0 3    5   1    0 3

                ZZ
o8 : Ideal of -----[x ..x , x , x ..x ]
              10007  0   1   3   5   6
i9 : codim ci2 == codim I

o9 = true
i10 : columnRandom=findCompleteIntersection(I,Strategy=>"random")

o10 = {8, 1, 4, 2}

o10 : List
i11 : ci3=ideal (gens I)_columnRandom

              2                           2    2     4
o11 = ideal (x x x  - x x , x x  - x x , x  - x x , x  - x x )
              0 1 3    5 6   1 5    0 6   3    0 6   0    1 6

                 ZZ
o11 : Ideal of -----[x ..x , x , x ..x ]
               10007  0   1   3   5   6
i12 : codim ci3 == codim I

o12 = true

Caveat

It is possible that the function does not find a complete intersection of generators. In that case a too short List is returned.

See also

Ways to use findCompleteIntersection:

  • findCompleteIntersection(Ideal)

For the programmer

The object findCompleteIntersection is a method function with options.


The source of this document is in WeierstrassSemigroups.m2:1824:0.