Singular Manual: ellipticNF

| #### D.13.4.10 ellipticNF Procedure from library `polymake.lib` (see polymake_lib). Usage: ellipticNF(polygon); polygon list Assume: polygon is a list of integer vectors in the plane such that their convex hull C has precisely one interior lattice point; i.e. C is the Newton polygon of an elliptic curve Purpose: compute the normal form of the polygon with respect to the unimodular affine transformations T=A*x+v; there are sixteen different normal forms (see e.g. Bjorn Poonen, Fernando Rodriguez-Villegas: Lattice Polygons and the number 12. Amer. Math. Monthly 107 (2000), no. 3, 238--250.) Return: list, L such that L[1] : list whose entries are the vertices of the normal form of the polygon L[2] : the matrix A of the unimodular transformation L[3] : the translation vector v of the unimodular transformation L[4] : list such that the ith entry is the image of polygon[i] under the unimodular transformation T Example:
    LIB "polymake.lib";
    ring r=0,(x,y),dp;
    // the Newton polygon of the following polynomial
    //     has precisely one interior point
    poly f=x22y11+x19y10+x17y9+x16y9+x12y7+x9y6+x7y5+x2y3;
    list polygon=list(intvec(22,11),intvec(19,10),intvec(17,9),
    intvec(16,9), intvec(12,7),intvec(9,6),
    intvec(7,5),intvec(2,3));
    // its lattice points are
    polygon;
    ==> [1]:
    ==>    22,11
    ==> [2]:
    ==>    19,10
    ==> [3]:
    ==>    17,9
    ==> [4]:
    ==>    16,9
    ==> [5]:
    ==>    12,7
    ==> [6]:
    ==>    9,6
    ==> [7]:
    ==>    7,5
    ==> [8]:
    ==>    2,3
    // find its normal form
    list nf=ellipticNF(polygon);
    // the vertices of the normal form are
    nf[1];
    ==> [1]:
    ==>    4,0
    ==> [2]:
    ==>    0,0
    ==> [3]:
    ==>    0,2
    // it has been transformed by the unimodular affine transformation A*x+v
    // with matrix A
    nf[2];
    ==> 3,-7,
    ==> -2,5
    // and translation vector v
    nf[3];
    ==> 15,-11
    // the 3rd lattice point ...
    polygon[3];
    ==> 17,9
    // ... has been transformed to
    nf[4][3];
    ==> 3,0

User manual for Singular version 4.3.2, 2023, generated by texi2html.