Tropical varieties

Introduction

Tropial varieties (in OSCAR) are weighted polyhedral complexes. They may arise as tropicalizations of polynomial ideals or from operations on the more specialized types of tropical varieties, such as the stable intersection of tropical hypersurfaces. For more on the first, see

Note:

  • Objects of type TropicalVariety need to be embedded, abstract tropical varieties are currently not supported.
  • The type TropicalVariety can be thought of as supertype of TropicalHypersurface, TropicalCurve, and TropicalLinearSpace in the sense that the latter three should have all properties and features of the former.
  • Embedded tropical varieties are polyhedral complexes with multiplicities and should have all properties of polyhedral complexes

Constructor

Objects of type TropicalVariety can be constructed as follows:

tropical_varietyFunction
tropical_variety(Sigma::PolyhedralComplex, mult, minOrMax::Union{typeof(min),typeof(max)}=min)

Return the TropicalVariety whose polyhedral complex is Sigma with multiplicities mult and convention minOrMax. Here, mult is optional can be specified as a Vector{ZZRingElem} which represents a list of multiplicities on the maximal polyhedra in the order of maximal_polyhedra(Sigma). If mult is unspecified, then all multiplicities are set to one.

Examples

julia> Sigma = polyhedral_complex(incidence_matrix([[1],[2]]), [[0],[1]])
Polyhedral complex in ambient dimension 1

julia> tropical_variety(Sigma)
Min tropical variety

julia> mult = ones(ZZRingElem, n_maximal_polyhedra(Sigma))
2-element Vector{ZZRingElem}:
 1
 1

julia> tropical_variety(Sigma,mult,min)
Min tropical variety

julia> mult = ZZ.([1,2])
2-element Vector{ZZRingElem}:
 1
 2

julia> tropical_variety(Sigma,mult,max)
Max tropical variety
source

Properties

Objects of type TropicalVariety (and TropicalHypersurface, TropicalCurve, TropicalLinearSpace) have the following properties:

polyhedral_complexMethod
polyhedral_complex(TropV::TropicalVariety)

Return the polyhedral complex of a tropical variety.

source
maximal_polyhedra_and_multiplicitiesMethod
maximal_polyhedra_and_multiplicities(TropV::TropicalVariety)

Return the maximal polyhedra and multiplicities of TropV.

Examples

julia> R,(x1,x2) = polynomial_ring(QQ,4);

julia> nu = tropical_semiring_map(QQ,2);

julia> f = 2*x1^2+x1*x2+x2^2+1
2*x1^2 + x1*x2 + x2^2 + 1

julia> TropH = tropical_hypersurface(f,nu)
Min tropical hypersurface

julia> maximal_polyhedra_and_multiplicities(TropH)
5-element Vector{Tuple{Polyhedron{QQFieldElem}, ZZRingElem}}:
 (Polyhedron in ambient dimension 4, 1)
 (Polyhedron in ambient dimension 4, 1)
 (Polyhedron in ambient dimension 4, 2)
 (Polyhedron in ambient dimension 4, 1)
 (Polyhedron in ambient dimension 4, 2)
source
multiplicitiesMethod
multiplicities(TropV::TropicalVariety)

Return the multiplicities of TropV. Order is the same as maximal_polyhedra.

Examples

julia> R,(x1,x2) = polynomial_ring(QQ,4);

julia> nu = tropical_semiring_map(QQ,2);

julia> f = 2*x1^2+x1*x2+x2^2+1
2*x1^2 + x1*x2 + x2^2 + 1

julia> TropH = tropical_hypersurface(f,nu)
Min tropical hypersurface

julia> multiplicities(TropH)
5-element Vector{ZZRingElem}:
 1
 1
 2
 1
 2
source