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 T
Check 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
iterations
The maximal number of iterations in one try.ntries
The number of times Newton's method will be triedtol
The desired accuracy when Newton's method converges.
MembershipTestResult{T, N}
Fields
successfull::Bool
tries::Int
The number of times Newton's method was startedconverged_iterations::Int
Number iterations needed in a successfull iteration. If the test was not successfullimax
is 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.NewtonPolygon
Representation 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)
.