application: tropical

This application concentrates on tropical hypersurfaces and tropical polytopes. It provides the functionality for the computation of basic properties. Visualization and various constructions are possible.

imports from: common, graph
uses: fan, group, ideal, polytope, topaz

Objects

User Functions

  •  

    Special purpose functions.

    •  
      ch2d_3phases (n, Types, G) → Array<int>

      List the pseudovertices of a 2-dimensional tropical polytope on the boundary in counter-clockwise cyclic order.

      Parameters
      Intn
      the number of generators
      Array<Array<Set>>Types
      the types of the generators
      GraphG
      Returns
      Array<int>
      the pseudovertices on the boundary
    •  
      check_minimality (T, I, n) → Set

      Checks the three criteria of Gaubert and Katz to be the type T of an apex of a minimal tropical halfspace. It is assumed that the points that the type refers to are given by 0,...,n-1 and that the index set I is a subset of 0,...,d-1 where d is the AMBIENT_DIM of the tropical polytope. If the input fulfills all criteria, the output set is empty. If the input doesn't fulfill the first criterion the whole set 0,...,d-1 is given back. If the input doesn't fulfill the second and third criterion, then the violating indices are stored.

      Parameters
      Array<Set>T
      SetI
      Integern
      Returns
      Set
    •  
      coarse_types <Coord> (points, generators) → Array< Array<int>>

      Compute the coarse types of the points set relative to a set of generators. The following are two typical cases:

      (1) points = VERTICES and generators = VERTICES
      (2) points = POINTS and generators = PSEUDOVERTICES
      Type Parameters
      Coord
      Parameters
      Matrix<Coord>points
      Matrix<Coord>generators
      Returns
      Array< Array<int>>
    •  
      extract_pseudovertices (T, P)

      Get the pseudovertices of a tropical polytope T from the bounded subcomplex of the corresponding unbounded polyhedron P.

    •  
      get_corners (input) → Matrix

      Compute the corners of a tropical polytope given by its vertices. Cf.

      M. Joswig, arXiv:0809.4694v2, Lemma 17.
      Parameters
      Matrixinput
      points
      Returns
      Matrix
    •  
      lifted_pluecker (V) → Vector

      Compute the tropical Pluecker vector from a matrix representing points in the tropical torus. This can be used to lift regular subdivisions of a product of simplices to a matroid decomposition of hypersimplices.

      Parameters
      MatrixV
      Returns
      Vector
    •  
      minimal_tropical_halfspaces <Coord> (T) → hash_set< Pair<Vector<Coord>,Set<Int> > >

      Computes the minimal tropical halfspaces of a tropical polytope T.

      Type Parameters
      Coord
      Parameters
      TropicalPolytopeT
      Returns
      hash_set< Pair<Vector<Coord>,Set<Int> > >
    •  
      types <Coord> (points, generators) → Array<Array<Set>>

      Compute the fine types of the points set relative to a set of generators. The following are two typical cases:

      (1) points = VERTICES and generators = VERTICES
      (2) points = POINTS and generators = PSEUDOVERTICES
      Type Parameters
      Coord
      Parameters
      Matrix<Coord>points
      Matrix<Coord>generators
      Returns
      Array<Array<Set>>
  •  

    These functions produce a tropical hypersurface from other objects.

  •  

    These functions produce an object of type TropicalPolytope from other objects.

    •  
      cornered_hull (T) → TropicalPolytope

      Compute the cornered hull of a tropical polytope. Cf.

      M. Joswig, arXiv:0809.4694v2, Lemma 17.
    •  
      cyclic (d, n) → TropicalPolytope

      Produces a tropical cyclic d-polytope with n vertices. Cf.

      Josephine Yu & Florian Block, arXiv: math.MG/0503279.
      Parameters
      intd
      the dimension
      intn
      the number of generators
      Returns
      TropicalPolytope
    •  
      discard_non_vertices (points) → Matrix

      Given points in the tropical projective space, discard all the non-vertices of the tropical convex hull.

      Parameters
      Matrixpoints
      Returns
      Matrix
    •  
      dualize <Coord> (points, generators) → Matrix

      Dualizes a point set with respect to the generators of a tropical polytope. The points are dualized with respect to the (rows of the) matrix of the generators. Cf.

      Develin & Sturmfels, Tropical Convexity, Lemma 22.
      Type Parameters
      Coord
      Parameters
      Matrixpoints
      Matrixgenerators
      Returns
      Matrix
    •  
      hypersimplex (k, d) → TropicalPolytope

      Produce the tropical hypersimplex Δ(k,d). Cf.

      M. Joswig math/0312068v3, Ex. 2.10.

      The value of k defaults to 1, yielding a tropical standard simplex.

      Parameters
      intk
      the number of -1 entries
      intd
      the dimension
      Returns
      TropicalPolytope
    •  
      minkowski_sum <Coord> (lambda, P, mu, Q) → TropicalPolytope

      Produces the tropical polytope (lambda \( \otimes \) P) \( \oplus \) (mu \( \otimes \) Q), where \( \otimes \) and \( \oplus \) are tropical scalar multiplication and tropical addition, respectively.

      Type Parameters
      Coord
      Parameters
      Scalarlambda
      TropicalPolytopeP
      Scalarmu
      TropicalPolytopeQ
      Returns
      TropicalPolytope
    •  
      poly2trop (P) → TropicalPolytope

      Takes an ordinary convex polytope and interprets it in tropical projective space.

    •  
      tropical_matroid_polytope (m, v) → TropicalPolytope

      Produce the tropical matroid polytope from a matroid m. Each vertex corresponds to a basis of the matroid, the non-bases coordinates get value 0, the bases coordinates get value v, default is -1.

      Parameters
      matroid::Matroidm
      Rationalv
      value for the bases
      Returns
      TropicalPolytope
  •  

    These functions produce an object of another type not contained in application tropical.

  •  

    Functions for tropical arithmetic

    •  
      evaluate <Addition> (H, x) → Rational

      Evaluate a tropical polynomial at a given point.

      Type Parameters
      Addition
      Min or Max
      Parameters
      HypersurfaceH
      Vector<Rational>x
      Returns
      Rational
    •  
      evaluate <Addition> (H, X) → Vector<Rational>

      Evaluate a tropical polynomial at a collection of points.

      Type Parameters
      Addition
      Min or Max
      Parameters
      HypersurfaceH
      Matrix<Rational>X
      Returns
      Vector<Rational>
    •  
      nearest_point <Coord> (P, x) → Vector

      Compute the projection of a point x in tropical projective space onto a tropical polytope P. Cf.

      Develin & Sturmfels math.MG/0308254v2, Proposition 9.
      Type Parameters
      Coord
      Parameters
      TropicalPolytopeP
      Vector<Coord>x
      Returns
      Vector
    •  
      norm <Scalar> (v) → Scalar

      The tropical norm of a vector v in the tropical torus is the difference between the maximal and minimal coordinate in any coordinate representation of the vector.

      Type Parameters
      Scalar
      Parameters
      Vector<Scalar>v
      Returns
      Scalar
    •  
      tdet <Addition, Scalar> (matrix) → Scalar

      The tropical determinant of a matrix.

      Type Parameters
      Addition
      Min or Max, default Min
      Scalar
      Parameters
      Matrix<Scalar>matrix
      Returns
      Scalar