Reference
Grid
PolynomialAmoebas.Grid2D — Type.A structure representing a 2D Grid.
PolynomialAmoebas.Grid3D — Type.A structure representing a 3D Grid.
Membership test
PolynomialAmoebas.membershiptest — Function.membershiptest(F::AbstractFiber{T}, w:, options=MembershipTestOptions()) where TCheck wether the point w is contained in the fiber F. The tests uses Newton's method with configuration provided by options. Returns a MembershipTestResult.
MembershipTestOptions(iterations=50, ntries=30, tol=1e-7)Details
iterationsThe maximal number of iterations in one try.ntriesThe number of times Newton's method will be triedtolThe desired accuracy when Newton's method converges.
MembershipTestResult{T, N}Fields
successfull::Booltries::IntThe number of times Newton's method was startedconverged_iterations::IntNumber iterations needed in a successfull iteration. If the test was not successfullimaxis the maximal number of iterations.startvalue::SVector{N, T}The start value of the successfull iteration. Otherwise a random value.solution::SVector{N, T}The solution value of the successfull iteration. Otherwise a random value.
Newton polygon
PolynomialAmoebas.NewtonPolygon — Type.NewtonPolygonRepresentation of a Newton polygon of a polynomial.
Fields
polynomial::P: the polynomial from which the NewtonPolygon was constructed.lattices::Vector{SVector{2,Int}}: the support of the polynomialp.vertices::Vector{Int}: the vertex indicdes of the Newton polygon.facets::Vector{SVector{2,Int}}: the facets of the Newton polygon, i.e. it's convex hull.subdivision::Vector{SVector{3,Int}}: the simplices of the regular subdivision of the
Newton polygon
PolynomialAmoebas.newtonpolygon — Function.newtonpolygon(p::AbstractPolynomial; lowerhull=false)Construct a NewtonPolygon from the support of the polynomial p. lowerhull indicates whether the lower or upper convex hull should be used to construct the regular subdivision of the Newton polygon.
Fibers
PolynomialAmoebas.AmoebaFiber2D — Type.An AmoebaFiber2D is a representation of the fiber of the amoeba $\mathcal{A}_f$ at $(w_1,w_2)$ where f is a bivariate polynomial.
PolynomialAmoebas.AmoebaFiber3D — Type.An AmoebaFiber3D is a representation of the fiber of the amoeba $\mathcal{A}_f$ at $(w_1, w_2, w_3)$ where f is a trivariate polynomial.
PolynomialAmoebas.ContourFiber2D — Type.An ContourFiber2D is a representation of the fiber of the contour of the amoeba $\mathcal{A}^{\prime}_f$ at $(w_1, w_2)$ along a onedimensional affine subspace where f is a bivariate polynomial.
An CoamoebaFiber2D is a representation of the fiber of the coamoeba $\mathcal{A}^{\prime}_f$ at $(θ_1, θ_2)$ where f is a bivariate polynomial.
CoamoebaFiber3D(f::AbstractPolynomial, θ=(0., 0., 0.))Construct the fiber CoamoebaFiber3D of the trivariate polynomial f at θ.
ImaginaryFiber2D(f, y=(0., 0.))Construct the fiber ImaginaryFiber2D of the bivariate polynomial f at y.
ImaginaryFiber2D(f, y=(0., 0., 0.))Construct the fiber ImaginaryFiber3D of the trivariate polynomial f at y.
Tropical geometry
amoeba_carcase_domain_heuristic(f; factor=1.5, aspect_ratio=:default)Compute the boundary (xmin, xmax, ymin, ymax) of domain Ω such that Ω ∩ Amoeba(f) is probably the carcase of Amoeba(f).
PolynomialAmoebas.archimedean_tropical_curve — Function.archimedean_tropical_curve(f)Compute the curve associated to the Archimedean tropical polynomial of f.
PolynomialAmoebas.TropicalCurve — Type.A TropicalCurve is a tropical hypersurface of a bivariate polynomial.
PolynomialAmoebas.vertices — Method.vertices(tropicalcurve)The vertices of the tropical curve.
PolynomialAmoebas.segments — Method.segments(tropicalcurve)The segments of the tropical curve. Each segment is a SVector{2} with start and end coordinates.
PolynomialAmoebas.halfrays — Method.halfrays(tropicalcurve)The halfrays of the tropical curve. Each halfray is a tuple (coordinate, direction).