Spine
PolynomialAmoebas.spine — Function.spine(f::MP.AbstractPolynomial; options...)Compute the spine of the amoeba $\mathcal{A}(f)$. This algorithm computes first an approximation of $\mathcal{A}(f)$ and from this the spine. Returns a Spine2D.
Example
@polyvar x y
# use all the defaults
spine(x^2 + y^2 + 1)
# Maybe we think that the compleement of the amoeba has some very small components
# and we want to use an explicit domain
spine(x^2 + y^2 + 1, domain=(-5, 5, -5, 5), minimal_component_size=0.001)Optional arguments:
minimal_component_size=0.01: A guarantee that in each component of the complement of $\mathcal{A}(f)$ fits a ball with this diameter.
If this does not hold the algorithm can return a wrong result.
domain: A tuple in the form(xmin, xmax, ymin, ymax)which defines a section Ω
for which the amoeba $\mathcal{A}(f)$ is computed. This domain has to be such that the intersection Ω ∩ $\mathcal{A}(f)$ still captures the correct topology of $\mathcal{A}(f)$.
grid: Based onminimal_component_sizeanddomaina grid can be computed automatically.
This can also be overwritten with this option.
membership_options=[MembershipTestOptions](@ref)(): Options for the membership test.nsamples=1024: For the computation we numerically evaluate intergrals. This is the number
of sample points used in the computation.
spine(f::MP.AbstractPolynomial, A::Bitmap2D; nsamples=1024)Compute the spine based on the given amoeba approximation A.
spine(A::PolygonalAmoeba)The spine which was used to compute A.
PolynomialAmoebas.Spine2D — Type.A Spine2D represents the spine of a two-dimensional amoeba. This also contains informations about the components of the complement and the approximation used to obtain this spine.
Represents a component of the complement of the amoeba. It contains information about the order of the component, whether it is bounded and one point out of the component.
PolynomialAmoebas.components_complement — Method.components_complement(S::Spine2D)Get the ComponentComplement of the spine S.
PolynomialAmoebas.ronkin_polynomial — Method.ronkin_polynomial(S::Spine2D)Get the tropical polynomial which defines this hypersurface.
PolynomialAmoebas.hypersurface — Method.hypersurface(S::Spine2D)Get the tropical curve which describes the spine.
PolynomialAmoebas.amoeba_approximation — Method.amoeba_approximation(S::Spine2D)Get the approximated amoeba used to compute the spine.