# Tropical linear spaces

## Introduction

A tropical linear space is a balanced polyhedral complex supported on a finite intersection of linear tropical hypersurfaces with all multiplicities one. It is dual to a matroid subdivision of a hypersimplex, and may arise as tropicalizations of linear ideals. For more on tropical linear spaces, see

Objects of type TropicalLinearSpace need to be embedded, abstract tropical linear spaces are currently not supported.

## Constructors

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

• Pluecker vectors over a tropical semiring,
• Pluecker vectors over a field and a tropical semiring map,
• matrices over a tropical semiring,
• matrices over a field and a tropical semiring map.
tropical_linear_spaceFunction
tropical_linear_space(Lambda::Vector{Vector{Int}}, p::Vector{<:TropicalSemiringElem}; weighted_polyhedral_complex_only::Bool=false)

Return a tropical linear space from a tropical Pluecker vector with indices Lambda and values p. If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

julia> T = tropical_semiring();

julia> plueckerIndices = [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]];

julia> plueckerVector = T.([0,0,0,0,0,0]);

julia> tropical_linear_space(plueckerIndices,plueckerVector)
Min tropical linear space

source
tropical_linear_space(k::Int, n::Int, p::Vector{<:TropicalSemiringElem}; weighted_polyhedral_complex_only::Bool=false)

Return a tropical linear space from a tropical Pluecker vector with indices AbstractAlgebra.combinations(1:n,k) and values p. If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

julia> T = tropical_semiring();

julia> plueckerVector = T.([0,0,0,0,0,0]);

julia> tropical_linear_space(2,4,plueckerVector)
Min tropical linear space

source
tropical_linear_space(Lambda::Vector{Vector{Int}}, p::Vector, nu::TropicalSemiringMap; weighted_polyhedral_complex_only::Bool=false)

Return a tropical linear space from a tropical Pluecker vector with indices Lambda and values nu(p). If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

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

julia> plueckerIndices = [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]];

julia> plueckerVector = QQ.([1,3,5,5,3,1]);

julia> tropical_linear_space(plueckerIndices,plueckerVector,nu)
Min tropical linear space

source
tropical_linear_space(k::Int, n::Int, p::Vector, nu::TropicalSemiringMap; weighted_polyhedral_complex_only::Bool=false)

Return a tropical linear space from a tropical Pluecker vector with indices AbstractAlgebra.combinations(1:n,k) and values nu(p). If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

julia> nu = tropical_semiring_map(QQ);

julia> plueckerVector = QQ.([1,3,5,5,3,1]);

julia> tropical_linear_space(2,4,plueckerVector,nu)
Min tropical linear space

source
tropical_linear_space(A::MatElem{<:TropicalSemiringElem}; weighted_polyhedral_complex_only::Bool=false)

Return a tropical linear space whose Pluecker vector are the tropical minors of A. If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

julia> A = matrix(tropical_semiring(),[[1,2,4,8],[8,4,2,1]])
[(1)   (2)   (4)   (8)]
[(8)   (4)   (2)   (1)]

julia> tropical_linear_space(A)
Min tropical linear space

source
tropical_linear_space(A::MatElem,nu::TropicalSemiringMap; weighted_polyhedral_complex_only::Bool=false)

Return a tropical linear space whose Pluecker vector is nu applied to the minors of A. If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

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

julia> A = matrix(QQ,[[1,2,4,8],[8,4,2,1]])
[1   2   4   8]
[8   4   2   1]

julia> tropical_linear_space(A, nu)
Min tropical linear space

source
tropical_linear_space(I::MPolyIdeal, nu::TropicalSemiringMap; weighted_polyhedral_complex_only::Bool=false)

Return the tropicalization of the vanishing set of I with respect to the tropical semiring map nu. Requires the generators of I to be linear and homogeneous. If weighted_polyhedral_complex==true, will not cache any extra information.

Examples

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

julia> I = ideal(R,[-x1+x3,-x2+x4])
Ideal generated by
-x1 + x3
-x2 + x4

julia> nu = tropical_semiring_map(QQ)
Map into Min tropical semiring encoding the trivial valuation on Rational field

julia> tropical_linear_space(I, nu)
Min tropical linear space

source

## Properties

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

pluecker_indicesMethod
pluecker_indices(TropL::TropicalLinearSpace)

Return the Pluecker indices used to construct TropL. Raises an error, if it is not cached.

source
tropical_pluecker_vectorMethod
tropical_pluecker_vector(TropL::TropicalLinearSpace)

Return the tropical Pluecker vector of TropL. Raises an error, if it is not cached.

source
algebraic_pluecker_vectorMethod
algebraic_pluecker_vector(TropL::TropicalLinearSpace)

Return the Pluecker vector over a valued field used to construct TropL. Raises an error, if it is not cached.

source
tropical_semiring_mapMethod
tropical_semiring_map(TropL::TropicalLinearSpace)

Return the tropical semiring map used to construct TropL. Raises an error, if it is not cached.

source
tropical_matrixMethod
tropical_matrix(TropL::TropicalLinearSpace)

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

source
algebraic_matrixMethod
algebraic_matrix(TropL::TropicalLinearSpace)

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

source
algebraic_idealMethod
algebraic_ideal(TropL::TropicalLinearSpace)

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

source