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
Tropical linear spaces in OSCAR are polyhedral complexes in euclidean space that are invariant under translation by the ones vector. Unlike in [MS15] and [Jos21], they are not polyhedral complexes in the tropical torus.
Tropical linear spaces constructed with respect to a trivial valuation are also known as Bergman fans. Bergman fans can have several possible polyhedral structures, though their support always remains the same. In OSCAR, which structure is being used depends on how it was constructed.
Objects of type TropicalLinearSpace need to be embedded, abstract tropical linear spaces are currently not supported.
The type TropicalLinearSpace can be thought of as subtype of TropicalVariety in the sense that it should have all properties and features of the latter.
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
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
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
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
Return a tropical linear space whose Pluecker vector are the tropical minors of A. Assumes that ncols(A)>=nrows(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
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
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
Return the Bergman fan of the graphic matroid of G as a tropical linear space, the tropical semiring map nu is used to fix the convention. If weighted_polyhedral_complex_only is true, will not cache any extra information.
Examples
julia> G = complete_graph(4)
Undirected graph with 4 nodes and the following edges:
(2, 1)(3, 1)(3, 2)(4, 1)(4, 2)(4, 3)
julia> tropical_linear_space(G)
Min tropical linear space
Return the Pluecker vector over a valued field used to construct TropL. Raises an error, if neither it nor an algebraic matrix nor an algebraic ideal is cached.