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

allSemigroups -- Compute the Hilbert basis and module generators of a cone of semigroups

Synopsis

Description

Using Normaliz we compute the face of the Kunz cone containing L. In case of allSemigroups m the output describes the complete Kunz cone of all semigroups of multiplicity m.

i1 : allSemigroups {4,7,9}

o1 = (| 4  8 4 |, | 9  14 7 |)
      | 8  8 4 |  | 13 14 7 |
      | 12 8 4 |  | 17 14 7 |
                  | 21 14 7 |

o1 : Sequence
i2 : allSemigroups 4

o2 = (| 4  0 4  |, | 5  6  7  |)
      | 4  4 4  |  | 5  6  11 |
      | 4  4 8  |  | 5  10 7  |
      | 4  8 4  |  | 5  10 11 |
      | 4  8 8  |  | 5  10 15 |
      | 4  8 12 |  | 9  6  7  |
      | 8  4 4  |  | 9  10 7  |
      | 8  8 4  |  | 9  14 7  |
      | 12 8 4  |  | 13 6  7  |
                   | 13 10 7  |
                   | 13 14 7  |
                   | 17 10 7  |
                   | 17 14 7  |
                   | 21 14 7  |

o2 : Sequence

On the face with the buchweitz example there are two facet rays:

i3 : (H,M) = allSemigroups buchweitz 0

o3 = (| 13 13 13 13 13 26 13 26  13  13  26  26  |, | 14 15 16 17 18 32 20
      | 13 26 39 52 65 78 91 104 117 130 143 156 |  | 14 28 42 56 70 84 98
     ------------------------------------------------------------------------
     34  22  23  37  38  |)
     112 126 140 154 168 |

o3 : Sequence

The first row of H is 13*(mu buchweitz 0), the mu vector of the Buchweitz example. Adding multiples of the first row to the Weierstrass semigroups of an ordinary point on a curve of genus 12, we eventually reach a semigroup that fails the Buchweitz test to be a Weierstrass semigroup:

i4 : b = {0}|flatten (entries H)_0

o4 = {0, 13, 13, 13, 13, 13, 26, 13, 26, 13, 13, 26, 26}

o4 : List
i5 : L = toList (13..25)

o5 = {13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25}

o5 : List
i6 : for i from 0 to 15 list (
         L' = L+i*b;
         G = gaps L';
         3*(genus L' -1)-#sums(G,G)
         )

o6 = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5}

o6 : List

By Riemann-Roch the quantity 3*(genus L' -1)-#sums(G,G) is non-negative for Weierstrass semigroups. We conjecture that the same thing is true for any semigroup L0 of multiplicity 13 in place of L. Here is a "random" example:

i7 : setRandomSeed 0

o7 = 0
i8 : L0 = {13}|aperySet ({13}|apply(1 + random 10, i->13+random 10))

o8 = {13, 14, 28, 16, 30, 44, 32, 20, 21, 35, 36, 37, 51}

o8 : List
i9 : for i from 0 to 20 list (
        L' = L0+i*b;
        G = gaps L';
        3*(genus L' -1)-#sums(G,G)
        )

o9 = {3, 8, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7}

o9 : List

See also

Ways to use allSemigroups:

For the programmer

The object allSemigroups is a method function.