Tropical hypersurfaces

Introduction

A tropical hypersurface is a balanced polyhedral complex of codimension one. It is dual to a regular subdivision of a Newton polytope. For more on tropical hypersurfaces, see

Objects of type TropicalHypersurface need to be embedded, abstract tropical hypersurfaces are currently not supported.

Constructors

In addition to converting from TropicalVariety, objects of type TropicalHypersurface can be constructed from:

  • polynomials over a tropical semiring,
  • polynomials over a field and a tropical semiring map,
  • subdivision of points and a choice of min- or max-convention.
tropical_hypersurfaceFunction
tropical_hypersurface(f::MPolyRingElem{<:TropicalSemiringElem}, weighted_polyhedral_complex_only::Bool=false)

Return the tropical hypersurface of the tropical polynomial f. If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

julia> T = tropical_semiring()
Min tropical semiring

julia> R,(x,y) = T["x","y"];

julia> f = x+y+1
x + y + (1)

julia> tropical_hypersurface(f)
Min tropical hypersurface
source
tropical_hypersurface(f::MPolyRingElem, val::TropicalSemiringMap; weighted_polyhedral_complex_only::Bool=false)

Return the tropical hypersurface of the tropical polynomial that is the image of f under coefficient-wise val. If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

julia> R,(x,y) = QQ["x","y"];

julia> val = tropical_semiring_map(QQ,2)
Map into Min tropical semiring encoding the 2-adic valuation on Rational field

julia> f = x+y+2
x + y + 2

julia> tropical_hypersurface(f,val)
Min tropical hypersurface
source
tropical_hypersurface(Delta::SubdivisionOfPoints, minOrMax::Union{typeof(min),typeof(max)}=min; weighted_polyhedral_complex_only::Bool=false)

Construct the tropical hypersurface dual to a regular subdivision Delta in convention minOrMax using the minimal weights that give rise to it. If weighted_polyhedral_complex==true, will not cache any extra information.

Warning

There is a known bug when the subdivision is too easy, e.g., see example below.

Examples

julia> Delta = subdivision_of_points(simplex(2),[0,0,1])
Subdivision of points in ambient dimension 2

julia> # tropical_hypersurface(Delta) # issue 2628
source

Properties

In addition to the properties inherited from TropicalVariety, objects of type TropicalHypersurface have the following exclusive properties:

algebraic_polynomialMethod
algebraic_polynomial(TropH::TropicalHypersurface)

Return the polynomial over a valued field used to construct TropH. Raises an error, if it is not cached.

source
tropical_polynomialMethod
tropical_polynomial(TropH::TropicalHypersurface)

Return the tropical polynomial used to construct TropH. Raises an error, if it is not cached.

source
dual_subdivisionMethod
dual_subdivision(TropH::TropicalHypersurface)

Return the dual subdivision of TropH. Raises an error, if neither it nor the the internal polymake object is cached.

source