As an example, let f be a polynomial,
f(z,w) = z + z^-1 + w - w^-1 + 2zw - 5,
where
z = exp(x[1]+iθ[1]), w = exp(x[2]+iθ[2]),
x,θ ∈ R^2
Then we can define the Ronkin function as follows.
function R(x)
function dR(θ)
#z = exp(x[1]+im*θ[1]),w = exp(x[2]+im*θ[2])
f = exp(x[1]+im*θ[1])+exp(-x[1]-im*θ[1])+exp(x[2]+im*θ[2])-exp(-x[2]-im*θ[2])+2exp(x[1]+x[2]+im*θ[1]+im*θ[2])-5
return (1/2π)*(1/2π)*log(abs(f))
end
hcubature(dR,[0,0],[2π,2π],rtol=1e-6)[1]
end
Some general features of the Ronkin function are
- It is convex in entire (x[1],x[2])-space.
- There would exist an (finite or infinite) area where the Ronkin function takes its minimum.
For the above polynomial, we can see the minimizer region via a contour plot.
The pink region is called Amoeba, where the Ronkin function is strongly convex. And the Ronkin function takes the minimum value at any points in the “vacuole” of Amoeba.
Question:
How can we get the informations of the minimizer region?
Such as sufficient data points in the region, the area of the region, the boundary of the region, etc.
I tried Optim.jl but it returned only a single point in the vacuole (the red point in the figure).