Tropical Secant Graphs of Monomial Curves

Tropical Secant Graphs of
Monomial Curves

Maria Angelica Cueto and Shaowei Lin




Disclaimer

The purpose of this website is to make available unpolished code that we wrote to compute tropical secant graphs. However, there is no guarantee of the correctness of the code, so use at your own risk.

Research Paper

The research paper "Tropical Secant Graphs of Monomial Curves" can be found here.

Singular Library

The Singular library can be downloaded here: tropsec.lib.

Put this file in your work directory and type the command
> LIB "tropsec.lib";
when you start your Singular session.

Tropical Secant Graph

To compute the tropical secant graph described in Definition 6.6 of the paper, use the command
list gph = tropsec(exps);
where exps is an integer vector of exponents describing a monomial curve. This graph encodes the tropicalization of the first secant variety of the monomial curve described by exps. The vector exps must have at least four entries, start with zero as the first entry, be strictly increasing and the gcd of all the entries must be one.

It returns a list gph with two integer matrices.

Example

> LIB "tropsec.lib";
> intvec exps = 0,30,45,55,78;
> list gph = tropsec(exps);

> gph[1];
    1,0,0,0,0,
    0,1,0,0,0,
    0,0,1,0,0,
    0,0,0,1,0,
    0,0,0,0,1,
    0,30,30,30,30,
    0,30,45,45,45,
    0,30,45,55,55,
    1,1,0,0,0,
    1,0,1,0,0,
    1,1,1,0,0,
    1,0,0,1,0,
    0,1,0,1,0,
    0,0,1,1,0,
    1,1,1,1,0,
    1,0,0,0,1,
    0,1,0,0,1,
    1,1,0,0,1,
    0,0,1,0,1,
    1,1,1,0,1,
    0,0,0,1,1

> gph[2];
    5,6,30,
    6,7,345,
    1,5,30,
    2,6,15,
    3,7,345,
    8,0,6,
    8,1,6,
    9,0,15,
    9,2,15,
    10,0,4,
    10,1,4,
    10,2,4,
    11,0,75,
    11,3,75,
    12,1,30,
    12,3,30,
    13,2,15,
    13,3,15,
    14,0,10,
    14,1,10,
    14,2,10,
    14,3,30,
    15,0,180,
    15,4,180,
    16,1,105,
    16,4,105,
    17,0,3,
    17,1,3,
    17,4,15,
    18,2,75,
    18,4,75,
    19,0,3,
    19,1,3,
    19,2,6,
    19,4,15,
    20,3,165,
    20,4,165


Groebner Tropical Secant Graph

To compute the Groebner tropical secant graph described in Definition 6.12, Theorem 6.13 (dim 6), Theorem 6.14 (dim 5), Lemma 7.3 (dim 4), Theorem 7.4 (dim 4) of the paper, use the command
list gph = grobsec(exps);
where exps is an integer vector of exponents describing a monomial curve.

It returns a list gph with the following items. Lastly, if you try our example "0,30,45,55,78", it says "integer overflow error" because I did not use large integers to program this code but just standard integers (i.e. between -65536 and 65536). I could rewrite my code to do that, but that would take time, so I decided to leave it alone.

Example

> LIB "tropsec.lib";
> intvec exps = 0,2,5,8,10;
> list gph = grobsec(exps);
> gph;
[1]:
    1,0,0,0,0,
    0,1,0,0,0,
    0,0,1,0,0,
    0,0,0,1,0,
    0,0,0,0,1,
    0,2,2,2,2,
    0,2,5,5,5,
    0,2,5,8,8,
    1,0,0,1,0,
    0,1,0,1,0,
    0,1,1,1,0,
    1,0,0,0,1,
    0,1,0,0,1,
    1,0,1,0,1,
    1,1,0,1,1
[2]:
    6,7,2,
    7,8,2,
    2,6,2,
    3,7,2,
    4,8,2,
    9,1,3,
    9,4,3,
    10,2,5,
    10,4,5,
    11,2,1,
    11,3,2,
    11,4,1,
    12,1,6,
    12,5,6,
    13,2,3,
    13,5,3,
    14,1,2,
    14,3,4,
    14,5,2,
    15,1,1,
    15,2,1,
    15,4,1,
    15,5,1
[3]:
    [1]:
        D0
    [2]:
        D1
    [3]:
        D2
    [4]:
        D3
    [5]:
        D4
    [6]:
        E1
    [7]:
        E2
    [8]:
        E3
    [9]:
        F1,0,0,1,0
    [10]:
        F0,1,0,1,0
    [11]:
        F0,1,1,1,0
    [12]:
        F1,0,0,0,1
    [13]:
        F0,1,0,0,1
    [14]:
        F1,0,1,0,1
    [15]:
        F1,1,0,1,1
[4]:
    [1]:
        E1
    [2]:
        E2
    [3]:
        D1
    [4]:
        D2
    [5]:
        D3
    [6]:
        F1,0,0,1,0:0
    [7]:
        F1,0,0,1,0:3
    [8]:
        F0,1,0,1,0:1
    [9]:
        F0,1,0,1,0:3
    [10]:
        F0,1,1,1,0:1
    [11]:
        F0,1,1,1,0:2
    [12]:
        F0,1,1,1,0:3
    [13]:
        F1,0,0,0,1:0
    [14]:
        F1,0,0,0,1:4
    [15]:
        F0,1,0,0,1:1
    [16]:
        F0,1,0,0,1:4
    [17]:
        F1,0,1,0,1:0
    [18]:
        F1,0,1,0,1:2
    [19]:
        F1,0,1,0,1:4
    [20]:
        F1,1,0,1,1:0
    [21]:
        F1,1,0,1,1:1
    [22]:
        F1,1,0,1,1:3
    [23]:
        F1,1,0,1,1:4
[5]:
    [1]:
        E1;F0,1,1,1,0:2;1
    [2]:
        E2;F0,1,1,1,0:2;1
    [3]:
        D2;F0,1,1,1,0:2;2

Suggestions and Bugs

While our code is unpolished, we are still interested in knowing if there are any bugs. If you find any errors in the code or have any comments or suggestions, please do not hesitate to contact Shaowei Lin at
shaowei [at] math [dot] berkeley [dot] edu