Skip to content

YueRen/OscarZerodimensionalTropicalization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OscarZerodimensionalTropicalization.jl

https://codecov.io/github/yueren/oscarzerodimensionaltropicalization/graph/badge.svg?token=5BG2V4BXMD

Introduction

OscarZerodimensionalTropicalization.jl is a package for computing tropicalization of zero-dimensional ideals over rational function fields $\mathbb{Q}(\!(t)\!)$ and $\mathbb{F}_p(\!(t)\!)$ in OSCAR via triangular decomposition and backsubstitution as initial described in

Hofmann, Ren: “Computing Tropical Points and Tropical Links”. Discrete Comput Geom 60, 627–645 (2018). doi:10.1007/s00454-018-0023-z.

Implementation details for this package can be found in:

Marti-Shahandeh, Ren, Schleis: “Computing Zerodimensional Tropicalization in OSCAR”. to appear.

In contrast to previous implementations, our implementation uses adaptive root-wise precision. This means that there are no errors due to insufficient precision and that each root is computed to the minimal necessary precision.

Installation

This package will eventually become part of OSCAR. Until then, you can install it manually together with its two dependencies as follows:

using Pkg
Pkg.add(url="https://github.com/oscar-system/Oscar.jl", rev="master")
Pkg.add(url="https://github.com/ollieclarke8787/OscarPuiseuxPolynomials", rev="main")
Pkg.add(url="https://github.com/YueRen/OscarZerodimensionalTropicalization", rev="main")

or using the Pkg REPL (press ] to enter):

add https://github.com/oscar-system/Oscar.jl#master
add https://github.com/ollieclarke8787/OscarPuiseuxPolynomials#main
add https://github.com/YueRen/OscarZerodimensionalTropicalization#main

Usage

The two main commands provided by this package are:

  • tropical_points_triangular: takes an ideal whose generators are in triangular shape (first generator univariate in the first variable, second generator bivariate in the first two variables, etc.) and returns all its tropical points
  • tropical_variety_zerodimensional: takes an ideal that is zero-dimensional, computes a triangular decomposition, repeatedly calls tropical_points_triangular, and collects all points in a single TropicalVariety.
julia> using OscarZerodimensionalTropicalization

julia> using Oscar

julia> K,t = rational_function_field(GF(3),:t);

julia> nu = tropical_semiring_map(K,t)
Map into Min tropical semiring encoding the t-adic valuation on Rational function field over GF(3)

julia> Kx,(x1,x2) = polynomial_ring(K,[:x1,:x2]);

julia> f1 = (x1+(1+2*t+t^2))*(x1+(1+2*t+t^3));

julia> f2 = x2 - (x1+1+2*t);

julia> I = ideal([f1,f2]) # checking that branching works
Ideal generated by
  x1^2 + (t^3 + t^2 + t + 2)*x1 + t^5 + 2*t^4 + 2*t^2 + t + 1
  2*x1 + x2 + t + 2

julia> TropI = tropical_variety_zerodimensional(I,nu)
Min tropical variety

julia> dim(TropI)
0

julia> vertices(TropI)
2-element SubObjectIterator{PointVector{QQFieldElem}}:
 [0, 2]
 [0, 3]

julia> tropical_points_triangular(I, nu)
2-element Vector{Vector{QQFieldElem}}:
 [0, 2]
 [0, 3]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages