This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Homotopy Techniques for Analytic Combinatorics in Several Variables

Kisun Lee Department of Mathematics, University of California San Diego, 9500 Gilman Drive, La Jolla, CA, USA 92093 [email protected] https://klee669.github.io Stephen Melczer Department of Combinatorics and Optimization, University of Waterloo, Waterloo, Canada, 200 University Avenue West, Waterloo, ON, CA N2L 3G1 [email protected] https://melczer.ca  and  Josip Smolčić Department of Combinatorics and Optimization, University of Waterloo, Waterloo, Canada, 200 University Avenue West, Waterloo, ON, CA N2L 3G1 [email protected] https://josip.ca
Abstract.

We combine tools from homotopy continuation solvers with the methods of analytic combinatorics in several variables to give the first practical algorithm and implementation for the asymptotics of multivariate rational generating functions not relying on a non-algorithmically checkable ‘combinatorial’ non-negativity assumption. Our homotopy implementation terminates on examples from the literature in three variables, and we additionally describe heuristic methods that terminate and correctly predict asymptotic behaviour in reasonable time on examples in even higher dimension. Our results are implemented in Julia, through the use of the HomotopyContinuation.jl package, and we provide a selection of examples and benchmarks.

Let (fn)n=f0,f1,(f_{n})_{n\in\mathbb{N}}=f_{0},f_{1},\dots be a complex-valued sequence with generating function F(z)=n0fnznF(z)=\sum_{n\geq 0}f_{n}z^{n}. Although FF is a priori only a formal power series, in a wide variety of applications (in fact, whenever fnf_{n} has at most exponential growth) it represents an analytic function in a neighbourhood of the origin. The field of analytic combinatorics creates effective techniques to determine the asymptotic behaviour of fnf_{n} through a study of the analytic behaviour of F(z)F(z). Most classical methods in analytic combinatorics take as input an algebraic or differential equation satisfied by F(z)F(z) and, when successful, return the leading terms in an asymptotic expansion of fnf_{n} (see [10] or [17, Chapter 2]).

More recently, a theory of analytic combinatorics in several variables (ACSV) [17, 22] has been developed to translate the analytic behaviour of a dd-variate generating function

F(𝐳)=𝐢df𝐢𝐳𝐢:=𝐢dfi1,,idz1i1zdidF(\mathbf{z})=\sum_{\mathbf{i}\in\mathbb{N}^{d}}f_{\mathbf{i}}\mathbf{z}^{\mathbf{i}}:=\sum_{\mathbf{i}\in\mathbb{N}^{d}}f_{i_{1},\dots,i_{d}}z_{1}^{i_{1}}\cdots z_{d}^{i_{d}}

into asymptotic information about its coefficient sequence (f𝐢)𝐢d(f_{\mathbf{i}})_{\mathbf{i}\in\mathbb{N}^{d}}. In this paper we focus on the case of a power series expansion of a multivariate rational function F(𝐳)=G(𝐳)/H(𝐳)F(\mathbf{z})=G(\mathbf{z})/H(\mathbf{z}) and attempt to determine asymptotics of the 𝐫\mathbf{r}-diagonal sequence (fn𝐫)n(f_{n\mathbf{r}})_{n\in\mathbb{N}} for a fixed direction vector 𝐫>0d\mathbf{r}\in\mathbb{Z}_{>0}^{d}. The most common situation to arise in practice is the main diagonal, when 𝐫=𝟏\mathbf{r}=\mathbf{1}.

Remark 0.1.

If 𝐫\mathbf{r} has some zero coordinates then we can reduce to the above situation by setting some of the variables equal to zero and working in a lower dimension. For instance, the (0,r2,r3)(0,r_{2},r_{3})-diagonal of any series F(x,y,z)F(x,y,z) is the (r2,r3)(r_{2},r_{3})-diagonal of F(0,y,z)F(0,y,z). Furthermore, our asymptotic statements continue to hold for directions 𝐫>0\mathbf{r}\in\mathbb{Q}_{>0} if they are interpreted to be valid only when n𝐫dn\mathbf{r}\in\mathbb{N}^{d}. In fact, the methods of ACSV show that asymptotics of the 𝐫\mathbf{r}-diagonal usually vary smoothly with 𝐫\mathbf{r}, allowing one to give a natural interpretation of asymptotics in irrational directions and derive central limit theorems [17, Section 5.3.3].

Remark 0.2.

Because the methods of ACSV hold in any dimension, our requirement that F(𝐳)F(\mathbf{z}) be rational is less restrictive than it may seem. For instance, the 𝐫\mathbf{r}-diagonal of an algebraic function in dd variables can be represented [17, Section 3.2.2] as the diagonal of a rational function in 2d2d variables (and a ‘skew-diagonal’ of a rational function in d+1d+1 variables). The theoretical results discussed here also hold for meromorphic functions, when F(𝐳)F(\mathbf{z}) is (locally) the ratio of analytic functions, however our restriction to rational functions allows us to stay in the realm of algebraic quantities and polynomial systems, which we use for our explicit algorithms.

There are many factors making ACSV more complicated than its univariate counterpart. Although a univariate rational function has a finite number of singularities, meaning one can determine the ‘asymptotic contribution’ of each and simply sum those with the fastest growth, any (non-polynomial) rational function in at least two variables must have an infinite number of singularities. In addition to obscuring which singularities contribute to asymptotics, this also means that the singular set can have non-trivial geometry, for instance by self-intersecting. The difficulties that arise mean that unlike the univariate case, which relies on standard complex-analytic results going back hundreds of years, the most advanced ACSV results rely on advanced techniques from areas of mathematics as diverse as complex analysis in several variables, the study of singular integrals, algebraic geometry, differential geometry, and topology.

The starting point of an ACSV analysis expresses the 𝐫\mathbf{r}-diagonal of F(𝐳)F(\mathbf{z}) as a dd-dimensional complex integral. In the simplest cases, asymptotic behaviour is determined by the behaviour of FF near two types of points: critical points, defined by an explicit polynomial system, and minimal points, which are singularities that are coordinate-wise closest to the origin. Critical points satisfy a square polynomial system, and generically form a finite set that can be manipulated in a computer algebra system. In contrast, there are always an infinite number of minimal points, which are defined by inequalities involving the moduli of coordinates and are thus trickier and more expensive to manipulate in computations.

0.1. Previous Work and Our Contributions

From the beginning of its modern period in work of Pemantle and Wilson [21], the goal of ACSV has always been to develop methods explicit enough to be implemented in a computer algebra system. The ‘surgery’ approach of [21], which applies to generating functions with smooth singular sets that form manifolds, essentially computes a residue in one variable to obtain a (d1)(d-1)-dimensional integral that is approximated using the saddle-point method. Although this surgery method does not require much theory beyond univariate analytic combinatorics, it requires strong conditions on the locations of minimal points that can be computationally expensive to verify. Later techniques, using cones of hyperbolicity [3] and multivariate residue and homology computations [2], rely on more advanced theory but simplify the assumptions that need to be verified for the results to hold. In the simplest cases, which hold for the majority of examples encountered in combinatorial applications, it suffices to determine which of the critical points are minimal and then add explicit asymptotic contributions corresponding to the (finite number of) minimal critical points. The most expensive step in such an analysis is almost always checking minimality.

The first systematic algorithmic study of ACSV methods was conducted by Melczer and Salvy [18], who encoded critical points using a symbolic-numeric data structure known as a Kronecker or rational univariate representation and then reduced checking minimality to rigorously approximating the roots of certain univariate polynomials to sufficiently high accuracy. Those authors created a preliminary implementation of their work, which does not certify numeric computations to provide rigorous proofs and requires combinatorial rational functions, in the Maple computer algebra system. A rational function F(𝐳)F(\mathbf{z}) is combinatorial if all of its power series coefficients are non-negative: although this condition is satisfied for any multivariate generating function, in many combinatorial examples only one diagonal of FF enumerates a combinatorial class and the non-diagonal entries have negative coefficients. It is an open problem, even in the univariate case, whether it is decidable to detect when a rational function is combinatorial (see [20] for some open problems in this area). Although Melczer and Salvy [18] detail a method that, in principle, yields an algorithm for asymptotics that does not require combinatorality, in practice an implementation in Maple would not halt in reasonable time beyond low degree examples in two or three variables.

Instead of continuing with the Kronecker representation approach of Melczer and Salvy, in this paper we exploit homotopy continuation methods to certify minimality of critical points, and ultimately determine asymptotics of 𝐫\mathbf{r}-diagonals of rational functions. Using the HomotopyContinuation.jl Julia package [7] for polynomial system solving, we provide the first implementation of ACSV methods under assumptions that often hold in practice. Our implementation is efficient enough to work even without the assumption of combinatorality, although when the user knows a priori that their input rational function is combinatorial then the computation is greatly reduced. In addition, we describe two heuristic methods to classify minimal critical points using numerical approximations that are extremely efficient, and are the only implemented algorithms we currently know of that can aid in the search for minimal points in more than three variables.

Example 0.3.

The main diagonal of the power series expansion of

F(x,y,z)=11(1+z)(x+yxy)F(x,y,z)=\frac{1}{1-(1+z)(x+y-xy)}

is related to a result of Apéry [1] on the irrationality measure of ζ(2)\zeta(2). After importing our package we define the denominator polynomial in Julia using

@polyvar x y z
H = 1-(1+z)*(x+y-x*y)

If we know that this power series expansion is combinatorial, then we can get the (truncated for clarity) minimal critical point

min_cp = find_min_crits_comb(H)
Out: 1-element Vector{Vector{ComplexF64}}:
[0.38 + e-39im,0.38 + e-38im,0.61 - e-38im]

and print out the leading asymptotic term of the diagonal with

leading_asymptotics(1,H,min_cp)
Out: "(0.09+6.2e-39im)^(-n)n^(-1)(0.47-5.7e-40im)"

It is not obvious from the definition that FF is combinatorial. If we don’t know our function is combinatorial then we can determine minimality by running find_min_crits(H), which returns the same point but requires approximately 15 minutes of computation. If we want to heuristically check for minimal critical points, but don’t know that FF is combinatorial and don’t want to wait for the full algorithm, we can run the algorithms find_min_crits(H; approx_crit=true) or find_min_crits(H; monodromy=true), described below, which also find the correct point and finish in seconds.

Remark 0.4.

Because we use numeric methods, asymptotic behaviour is returned with numeric approximations of constants. If the user wants to determine the algebraic quantities involved exactly, we recommend solving for the critical points (a relatively cheap operation) symbolically using another computer algebra system like Sage or Maple and then using the results of this package to filter out the minimal ones (the most expensive operation).

The rest of this paper proceeds as follows. Section 1 gives a quick recap of the methods of ACSV and the high-level problems that need to be decided to find asymptotics, with a description of numerical algebraic geometry methods for polynomial system solving given in Section 2. Section 3 uses this background material to detail our ACSVHomotopy.jl Julia package, while Section 4 illustrates the package on a wide variety of combinatorial examples, including benchmarks between different algorithms. Although our algorithms always terminate, due to the nature of homotopy continuation methods they may not always provide a rigorous proof of asymptotics -- Section 5 discusses this issue and describes situations in which the algorithms do give rigorous proofs. Finally, Section 6 concludes with some extensions that we believe should be addressed next.

1. Smooth ACSV

From now on, F(𝐳)=G(𝐳)/H(𝐳)F(\mathbf{z})=G(\mathbf{z})/H(\mathbf{z}) denotes a ratio of dd-variate coprime polynomials G,H[𝐳]G,H\in\mathbb{Z}[\mathbf{z}] with power series expansion F(𝐳)=𝐢df𝐢𝐳𝐢F(\mathbf{z})=\sum_{\mathbf{i}\in\mathbb{N}^{d}}f_{\mathbf{i}}\mathbf{z}^{\mathbf{i}} converging around the origin, and 𝐫>0d\mathbf{r}\in\mathbb{Z}_{>0}^{d} is a fixed direction vector.

Definition 1.1 (minimal critical points).

A point 𝐰d\mathbf{w}\in\mathbb{C}_{*}^{d} is a (simple) smooth critical point of FF if (H)(𝐰)𝟎(\nabla H)(\mathbf{w})\neq\mathbf{0} and

(1) {H(𝐰)=0rkz1Hz1(𝐰)r1zkHzk(𝐰)=0(2kd).\left\{\begin{array}[]{l}H(\mathbf{w})=0\\ r_{k}z_{1}H_{z_{1}}(\mathbf{w})-r_{1}z_{k}H_{z_{k}}(\mathbf{w})=0\;~{}(2\leq k\leq d).\end{array}\right.

We call 𝐰d\mathbf{w}\in\mathbb{C}_{*}^{d} a minimal point if H(𝐰)=0H(\mathbf{w})=0 and there does not exist 𝐲d\mathbf{y}\in\mathbb{C}^{d} such that H(𝐲)=0H(\mathbf{y})=0 and |yj|<|wj||y_{j}|<|w_{j}| for all j=1,,dj=1,\dots,d.

Remark 1.2.

If (H)(𝐰)=𝟎(\nabla H)(\mathbf{w})=\mathbf{0} then (1) is trivially satisfied. If the gradient vanishes because HH has a higher-order pole (for instance, if H=P2H=P^{2} for some polynomial PP) then our analysis of minimal critical points can be performed on the square-free part of HH (the product of its irreducible factors) to obtain an asymptotic expansion of fn𝐫f_{n\mathbf{r}} with minor modifications. On the other hand, if the gradient vanishes because the zero set of HH self-intersects then more advanced techniques are required [17, Part III].

We will be able to determine asymptotics in the presence of smooth minimal critical points, assuming a nondegeneracy condition on the zero set of HH.

Definition 1.3 (phase Hessian matrix).

If 𝐰\mathbf{w} is a smooth critical point then the phase Hessian matrix \mathcal{H} at 𝐰\mathbf{w} is the (d1)×(d1)(d-1)\times(d-1) matrix defined by

i,j={ViVj+Ui,jVjUi,dViUj,d+ViVjUd,d:ijVi+Vi2+Ui,i2ViUi,d+Vi2Ud,d:i=j\mathcal{H}_{i,j}=\begin{cases}V_{i}V_{j}+U_{i,j}-V_{j}U_{i,d}-V_{i}U_{j,d}+V_{i}V_{j}U_{d,d}&:i\neq j\\[8.53581pt] V_{i}+V_{i}^{2}+U_{i,i}-2V_{i}U_{i,d}+V_{i}^{2}U_{d,d}&:i=j\end{cases}

where

Ui,j=wiwjHzizj(𝐰)wdHzd(𝐰)andVi=rird.U_{i,j}=\frac{w_{i}w_{j}H_{z_{i}z_{j}}(\mathbf{w})}{w_{d}H_{z_{d}}(\mathbf{w})}\qquad\text{and}\qquad V_{i}=\frac{r_{i}}{r_{d}}.
Theorem 1.4 (Melczer [17, Theorem 5.1]).

Suppose that the system of polynomial equations (1) admits a finite number of solutions, exactly one of which, 𝐰d\mathbf{w}\in\mathbb{C}_{*}^{d}, is minimal. Suppose further that Hzd(𝐰)0H_{z_{d}}(\mathbf{w})\neq 0, that the phase Hessian matrix \mathcal{H} at 𝐰\mathbf{w} has non-zero determinant, and that G(𝐰)0G(\mathbf{w})\neq 0. Then, as nn\rightarrow\infty,

fn𝐫=𝐰n𝐫n(1d)/2(2πrd)(1d)/2det()G(𝐰)wdHzd(𝐰)(1+O(1n)).f_{n\mathbf{r}}=\mathbf{w}^{-n\mathbf{r}}n^{(1-d)/2}\frac{(2\pi r_{d})^{(1-d)/2}}{\sqrt{\det(\mathcal{H})}}\frac{-G(\mathbf{w})}{w_{d}\,H_{z_{d}}(\mathbf{w})}\left(1+O\left(\frac{1}{n}\right)\right).

When the zero set of HH contains a finite number of points with the same coordinate-wise modulus as 𝐰\mathbf{w}, all of which satisfy the same conditions as 𝐰\mathbf{w}, then an asymptotic expansion of fn𝐫f_{n\mathbf{r}} is obtained by summing the right hand side of this expansion at each point.

Remark 1.5.

The condition that G(𝐰)0G(\mathbf{w})\neq 0 means that the leading asymptotic term in Theorem 1.4 doesn’t vanish. When G(𝐰)=0G(\mathbf{w})=0 asymptotics can usually still be determined by computing higher-order terms using (increasingly complicated) explicit formulas.

1.1. Minimality Tests

The hardest work in applying Theorem 1.4 is computing the critical points, defined implicitly by (1), and determining which, if any, are minimal.

(Combinatorial Case) Recall that a function is called combinatorial if its power series expansion contains only a finite number of negative coefficients. When FF is combinatorial there is a simple test for minimal critical points.

Lemma 1.6 (Melczer and Salvy [18]).

Suppose FF has only a finite number of negative power series coefficients f𝐢f_{\mathbf{i}}. If 𝐲d\mathbf{y}\in\mathbb{C}_{*}^{d} is a minimal critical point then so is (|y1|,,|yd|)(|y_{1}|,\dots,|y_{d}|). Furthermore, 𝐰>0d\mathbf{w}\in\mathbb{R}_{>0}^{d} is a minimal critical point if and only if the system

(2) H(𝐳)=H(tz1,,tzd)=0z1Hz1(𝐳)r1λ==zdHzd(𝐳)rdλ=0\begin{split}H(\mathbf{z})=H(tz_{1},\dots,tz_{d})&=0\\ z_{1}H_{z_{1}}(\mathbf{z})-r_{1}\lambda=\cdots=z_{d}H_{z_{d}}(\mathbf{z})-r_{d}\lambda&=0\end{split}

has a solution (𝐳,λ,t)d+2(\mathbf{z},\lambda,t)\in\mathbb{R}^{d+2} with 𝐳=𝐰\mathbf{z}=\mathbf{w} and t=1t=1 and no solution with 𝐳=𝐰\mathbf{z}=\mathbf{w} and 0<t<10<t<1.

In the combinatorial case we firstly use Lemma 1.6 to characterize the minimal critical points with positive coordinates by studying the solutions to (2). From them, find the solutions to (1) with the same coordinate-wise modulus. The following algorithm summarizes this approach.

Algorithm 1 Minimal Critical Points in the Combinatorial Case
  1. (1)

    Determine the set SS of zeros of the polynomial system (2) in the variables 𝐳,λ,t\mathbf{z},\lambda,t. If SS is not finite, FAIL.

  2. (2)

    Find 𝜻>0d\bm{\zeta}\in\mathbb{R}^{d}_{>0} such that there exists (𝜻,λ,t)S(\bm{\zeta},\lambda,t)\in S and for all such triples, t(0,1)t\not\in(0,1). If the number of such 𝜻\bm{\zeta}’s is not exactly 11 or if there are such points with λ=0\lambda=0, FAIL.

  3. (3)

    Identify 𝜻\bm{\zeta} among the elements of the set 𝒞\mathcal{C} of zeros to (1).

  4. (4)

    Return

    {𝐳d(𝐳,λ)𝒞,|z1|=|ζ1|,,|zd|=|ζd|}.\{\mathbf{z}\in\mathbb{C}^{d}\mid\exists(\mathbf{z},\lambda)\in\mathcal{C},~{}|z_{1}|=|\zeta_{1}|,\cdots,|z_{d}|=|\zeta_{d}|\}.

(General Case) If FF is not combinatorial, or if we don’t know a priori that FF is combinatorial, then it is no longer sufficient to consider only the critical points with positive real coordinates to check minimality. In order to express the moduli of coordinates as algebraic equations, we write H(𝐱+i𝐲)=H(𝐱,𝐲)+iH(𝐱,𝐲)H(\mathbf{x}+i\mathbf{y})=H^{\mathfrak{R}}(\mathbf{x},\mathbf{y})+iH^{\mathfrak{I}}(\mathbf{x},\mathbf{y}) for real variables 𝐱,𝐲d\mathbf{x},\mathbf{y}\in\mathbb{R}^{d} and polynomials H,H[𝐱,𝐲]H^{\mathfrak{R}},H^{\mathfrak{I}}\in\mathbb{R}[\mathbf{x},\mathbf{y}]. Translating the smooth critical point equations (1) into these new coordinates gives that 𝐳=𝐚+i𝐛\mathbf{z}=\mathbf{a}+i\mathbf{b} with 𝐚,𝐛d\mathbf{a},\mathbf{b}\in\mathbb{R}^{d} is critical if and only if

(3) H(𝐚,𝐛)=H(𝐚,𝐛)\displaystyle H^{\mathfrak{R}}(\mathbf{a},\mathbf{b})=H^{\mathfrak{I}}(\mathbf{a},\mathbf{b}) =0\displaystyle=0
(4) ajHxj(𝐚,𝐛)+bjHyj(𝐚,𝐛)rjλR\displaystyle a_{j}H^{\mathfrak{R}}_{x_{j}}(\mathbf{a},\mathbf{b})+b_{j}H^{\mathfrak{R}}_{y_{j}}(\mathbf{a},\mathbf{b})-r_{j}\lambda_{R} =0\displaystyle=0
(5) ajHxj(𝐚,𝐛)+bjHyj(𝐚,𝐛)rjλI\displaystyle a_{j}H^{\mathfrak{I}}_{x_{j}}(\mathbf{a},\mathbf{b})+b_{j}H^{\mathfrak{I}}_{y_{j}}(\mathbf{a},\mathbf{b})-r_{j}\lambda_{I} =0\displaystyle=0

for some λR,λIR\lambda_{R},\lambda_{I}\in R, where 1jd1\leq j\leq d in each equation. To test minimality of these critical points we add the equations

(6) H(𝐱,𝐲)=H(𝐱,𝐲)\displaystyle H^{\mathfrak{R}}(\mathbf{x},\mathbf{y})=H^{\mathfrak{I}}(\mathbf{x},\mathbf{y}) =0\displaystyle=0
(7) xj2+yj2t(aj2+bj2)\displaystyle x_{j}^{2}+y_{j}^{2}-t(a_{j}^{2}+b_{j}^{2}) =0\displaystyle=0

for 1jd1\leq j\leq d, and verify there is no real solution to (3)-(7) with 0<t<10<t<1. Generically (3)-(7) have a finite set of real solutions, corresponding to the generically finite number of critical points of FF, but because this system contains 3d+43d+4 equations in 4d+34d+3 variables it will never have a (non-zero) finite number of solutions over the complex numbers. By considering critical values of the projection map onto the tt coordinate, Melczer and Salvy [18] proved that minimality can be tested by adding the additional equations

(ν1yjν2xj)Hxj(𝐱,𝐲)(ν1xj+ν2yj)Hyj(𝐱,𝐲)=0(\nu_{1}y_{j}-\nu_{2}x_{j})H^{\mathfrak{R}}_{x_{j}}(\mathbf{x},\mathbf{y})-(\nu_{1}x_{j}+\nu_{2}y_{j})H^{\mathfrak{R}}_{y_{j}}(\mathbf{x},\mathbf{y})=0

for 1jd1\leq j\leq d. When ν10\nu_{1}\neq 0 then we can scale by ν1\nu_{1} and introduce the equations

(8) (yjνxj)Hxj(𝐱,𝐲)(xj+νyj)Hyj(𝐱,𝐲)=0(y_{j}-\nu x_{j})H^{\mathfrak{R}}_{x_{j}}(\mathbf{x},\mathbf{y})-(x_{j}+\nu y_{j})H^{\mathfrak{R}}_{y_{j}}(\mathbf{x},\mathbf{y})=0

to (3)-(7), resulting in a square system with 4d+44d+4 variables and equations. The case when ν1=0\nu_{1}=0 is dealt with separately by adding the equations

xjHxj(𝐱,𝐲)yjHyj(𝐱,𝐲)=0(8)\hskip 46.97505pt-x_{j}H^{\mathfrak{R}}_{x_{j}}(\mathbf{x},\mathbf{y})-y_{j}H^{\mathfrak{R}}_{y_{j}}(\mathbf{x},\mathbf{y})=0\hskip 46.97505pt(\ref{eq:GenSys6}^{\prime})

for 1jd1\leq j\leq d. We determine the minimal critical points by finding 𝐩+i𝐪\mathbf{p}+i\mathbf{q} such that equations (3)-(5) have a real solution with (𝐚,𝐛)=(𝐩,𝐪)(\mathbf{a},\mathbf{b})=(\mathbf{p},\mathbf{q}) but neither (3)-(8) nor (3)-(8’) have a real solution with (𝐚,𝐛)=(𝐩,𝐪)(\mathbf{a},\mathbf{b})=(\mathbf{p},\mathbf{q}) and 0<t<10<t<1. This process provides the following algorithm.

Minimal Critical Points in the Non-Combinatorial Case

  1. (1)

    Determine the set SS of zeros of the polynomial system (3)-(8) in the variables 𝐚,𝐛,𝐱,𝐲,λR,λI,ν,t\mathbf{a},\mathbf{b},\mathbf{x},\mathbf{y},\lambda_{R},\lambda_{I},\nu,t. If SS is not finite, FAIL.

  2. (2)

    Construct a set 𝒰\mathcal{U} of minimal critical points 𝐚+i𝐛d\mathbf{a}+i\mathbf{b}\in\mathbb{C}^{d} such that there exists (𝐚,𝐛,𝐱,𝐲,λR,λI,ν,t)S4d+4(\mathbf{a},\mathbf{b},\mathbf{x},\mathbf{y},\lambda_{R},\lambda_{I},\nu,t)\in S\cap\mathbb{R}^{4d+4} and for all such tuples, t(0,1)t\not\in(0,1). If either 𝒰\mathcal{U} is empty or one of its elements has λI=λR=0\lambda_{I}=\lambda_{R}=0, or if the elements of 𝒰\mathcal{U} do not all belong to the same torus, FAIL.

  3. (3)

    Identify the elements of 𝒰\mathcal{U} within the set 𝒞\mathcal{C} of zeros to (1) and return them.

  4. (4)

    Do the same for the polynomial system (3)-(8’) in the variables 𝐚,𝐛,𝐱,𝐲,λR,λI,t\mathbf{a},\mathbf{b},\mathbf{x},\mathbf{y},\lambda_{R},\lambda_{I},t.

Unfortunately, to moving 4d+44d+4 variables makes verifying minimality much less practical than the combinatorial case. In essence, Lemma 1.6 states that to prove minimality in the combinatorial case it is sufficient to consider specific line segments in d\mathbb{R}^{d}, while to prove minimality in the general case one must consider a much larger set of points in d\mathbb{C}^{d} whose coordinate-wise moduli lie on specific line segments in d\mathbb{R}^{d}.

Remark 1.7.

Melczer and Salvy [18] incorrectly state that ν1\nu_{1} and ν2\nu_{2} must both be non-zero: at least one is non-zero at the solutions of interest, but the other may vanish. This is why we introduce (8’). Melczer and Salvy [18] also require an extra condition that a certain Jacobian matrix is non-singular, however this is mainly required for their complexity analysis. If this condition fails then the system (3)-(8) can have extra solutions that are irrelevant to detecting minimality, but the presence of such solutions does not affect correctness of the minimality test.

2. Numerical Algebraic Geometry

Having reduced the ACSV analysis to questions about polynomial systems, we now recall some methods in computational algebraic geometry for the study of such systems. Although the theory of Gröbner bases is, by now, the basis of much work in this area, more recently numerical algebraic geometry has emerged as a practical alternative. In this section, we discuss several topics in numerical algebraic geometry that will be used for our techniques.

2.1. Homotopy Continuation

Homotopy continuation is one method to find numerical approximations of solutions to an n×nn\times n square system =(f1,,fn)\mathcal{F}=(f_{1},\dots,f_{n}) of polynomial equations with nn variables. From the system \mathcal{F} we construct an n×nn\times n polynomial system 𝒢\mathcal{G} whose solutions are known a priori. The system 𝒢\mathcal{G} is called a start system and the system \mathcal{F} is called the target system: connecting \mathcal{F} and 𝒢\mathcal{G} using a homotopy (x,t)\mathcal{H}(x,t) such that (x,0)=𝒢\mathcal{H}(x,0)=\mathcal{G} and (x,1)=\mathcal{H}(x,1)=\mathcal{F}, we obtain solutions of \mathcal{F} by tracking homotopy paths from t=0t=0 to t=1t=1. To track the homotopy paths, a numerical ordinary differential equation solving technique called the Davidenko equation and Newton iteration are used. These tracking techniques are typically referred to as predictor-corrector methods. For details, see [24, Chapter 2]. Homotopy continuation is implemented in Bertini [4], HomotopyContinuation.jl [7], and NAG4M2 [16].

2.2. Polyhedral Homotopy Continuation

The complexity of solving a polynomial system using homotopy continuation is determined by the number of homotopy paths to track. It is thus important to track a number of paths that are at least as large as the number of solutions of the system (so that all solutions can be found) but is not too much larger (to save computation). For polytopes Q1,,QnQ_{1},\dots,Q_{n} the Euclidean volume Vol(a1Q1++anQn)\text{Vol}(a_{1}Q_{1}+\cdots+a_{n}Q_{n}) of the Minkowski sum a1Q1++anQna_{1}Q_{1}+\cdots+a_{n}Q_{n} is a homogeneous polynomial in the nn variables a1,,ana_{1},\dots,a_{n}, whose coefficient of a1a2ana_{1}a_{2}\cdots a_{n} is the mixed volume MVol(Q1,,Qn)\text{MVol}(Q_{1},\dots,Q_{n}) of Q1,,QnQ_{1},\dots,Q_{n}.

Theorem 2.1 (Bernstein’s theorem [5, Theorem A]).

Let \mathcal{F} be a system of polynomials f1,,fnf_{1},\dots,f_{n} in [x1,,xn]\mathbb{C}[x_{1},\dots,x_{n}]. The number of isolated solutions of \mathcal{F} over n\mathbb{C}_{*}^{n} is at most MVol(Qf1,,Qfn)\text{MVol}(Q_{f_{1}},\dots,Q_{f_{n}}), where QfiQ_{f_{i}} is the Newton polytope of fif_{i}. Furthermore, for polynomials f1,,fnf_{1},\dots,f_{n} with generic coefficients, the number of solutions for \mathcal{F} over the torus is exactly MVol(Qf1,,Qfn)\text{MVol}(Q_{f_{1}},\dots,Q_{f_{n}}).

The polyhedral homotopy continuation method established by Huber and Sturmfels [13] is one common way to construct a start system whose solutions form a set with the size of the mixed volume of a system. Consider a polynomial

f(𝐱)=𝐚Ac𝐚𝐱𝐚[x1,,xn]f(\mathbf{x})=\sum\limits_{\mathbf{a}\in A}c_{\mathbf{a}}\mathbf{x}^{\mathbf{a}}\in\mathbb{C}[x_{1},\dots,x_{n}]

where AA is a collection of integer lattice points. Multiplying each monomial 𝐱𝐚\mathbf{x}^{\mathbf{a}} of ff by some term tw(𝐚)t^{w(\mathbf{a})} for a lifting function w:Aw:A\rightarrow\mathbb{Z}, we obtain the lifted polynomial

f¯(𝐱,t)=𝐚Ac𝐚𝐱𝐚tw(𝐚).\overline{f}(\mathbf{x},t)=\sum\limits_{\mathbf{a}\in A}c_{\mathbf{a}}\mathbf{x}^{\mathbf{a}}t^{w(\mathbf{a})}.

Suppose that a target system \mathcal{F} consists of polynomials f1,,fnf_{1},\dots,f_{n} supported on Af1,,AfnA_{f_{1}},\dots,A_{f_{n}}, respectively. Lifting all polynomials f1,,fnf_{1},\dots,f_{n} in \mathcal{F} gives a lifted system ¯(𝐱,t)\overline{\mathcal{F}}(\mathbf{x},t) satisfying ¯(𝐱,1)=\overline{\mathcal{F}}(\mathbf{x},1)=\mathcal{F}. The solutions of ¯\overline{\mathcal{F}} can be expressed by Puiseux series 𝐱(t)=(x1(t),,xn(t))\mathbf{x}(t)=(x_{1}(t),\dots,x_{n}(t)) where

xi(t)=tαiyi+ higher order termsx_{i}(t)=t^{\alpha_{i}}y_{i}+\text{ higher order terms}

for some αi\alpha_{i}\in\mathbb{Q} and nonzero constant yiy_{i}, and substituting 𝐱(t)\mathbf{x}(t) back into our polynomials gives

f¯j(𝐱(t),t)=𝐚Afjc𝐚𝐲𝐚t𝐚,𝜶+w(𝐚)+ higher order terms.\overline{f}_{j}(\mathbf{x}(t),t)=\sum\limits_{\mathbf{a}\in A_{f_{j}}}c_{\mathbf{a}}\mathbf{y}^{\mathbf{a}}t^{\langle\mathbf{a},\bm{\alpha}\rangle+w(\mathbf{a})}+\text{ higher order terms}.

For a suitable choice of ww, the constants 𝐲\mathbf{y} and exponents 𝐚\mathbf{a} can be computed at each branch of ¯\overline{\mathcal{F}}, ultimately describing a start system 𝒢=¯(𝐱,0)\mathcal{G}=\overline{\mathcal{F}}(\mathbf{x},0) with the right number of solutions. The polyhedral homotopy continuation is implemented in HOM4PS2 [15], HomotopyContinuation.jl [7], and PHCpack [26].

2.3. Monodromy

As seen in Section 1, we typically have some solutions of a polynomial system representing critical points and want to determine additional solutions to rule out those that are non-minimal. This ‘bootstrapping’ can be accomplished by monodromy.

For m,nm,n\in\mathbb{N}, consider the complex linear space of n×nn\times n square systems p=(fp1,,fpn)\mathcal{F}_{p}=(f_{p}^{1},\dots,f_{p}^{n}) depending on some coefficient parameters pmp\in\mathbb{C}^{m}, where the monomial support for each polynomial fpif_{p}^{i} is fixed. If we consider an affine linear map φ:pFp\varphi:p\mapsto F_{p} for pmp\in\mathbb{C}^{m} then we can write φ(m)=B\varphi(\mathbb{C}^{m})=B, where BB is a parametrized linear variety of systems, and we define the solution variety V={(Fp,x)B×nFp(x)=0}V=\{(F_{p},x)\in B\times\mathbb{C}^{n}\mid F_{p}(x)=0\} and projection map π:VB\pi:V\rightarrow B.

Assume that the fiber π1(Fp)\pi^{-1}(F_{p}) only has finitely many points for a generic choice of pp. The set DD of systems in BB with non-generic fiber is called the branch locus of π\pi. Each element in the fundamental group π1(BD)\pi_{1}(B\setminus D) of loops in BDB\setminus D modulo homotopy equivalence induces a permutation on the fiber π1(Fp)\pi^{-1}(F_{p}), which is called a monodromy action. To find all solutions of a system Fpπ(V)F_{p}\in\pi(V) with generic pp, one can first find a seed solution (p0,x0)V(p_{0},x_{0})\in V and numerically compute the monodromy action to find all solutions of FpF_{p}. When the solution variety VV is irreducible then the monodromy action is transitive. This method for finding solutions of polynomial systems is studied and implemented in [7, 9].

2.4. Certification

By construction, numerical methods return approximations, so some kind of certification is necessary for rigorous results. Specifically, a user needs a certificate that an approximation obtained by the homotopy method is properly approximating a solution of a system. A numerical approximation is called certified if it can be refined to an actual solution of the system to an arbitrary precision by applying iterative operators (such as Newton iteration). Software providing such certification includes alphaCertified [12], the function certify implemented in HomotopyContinuation.jl [6] and NumericalCertification [14]. In our implementation, we use the function certify in HomotopyContinuation.jl exploiting the Krawczyk’s method via interval arithmetic [19, Chapter 8].

3. The ACSVHomotopy Package

We now combine the theory of ACSV presented in Section 1 with the techniques described in Section 2 to create effective and practical algorithms for the asymptotics of multivariate rational functions. Our algorithms are implemented in the Julia package ACSVHomotopy.jl, using the HomotopyContinuation.jl package for our homotopy and monodromy computations.

The package is available at

github.com/ACSVMath/ACSVHomotopy

and our example worksheet can be viewed at

github.com/ACSVMath/ACSVHomotopy/blob/main/ExampleWorksheet.ipynb

3.1. Combinatorial Case

For the combinatorial case we first compute the distinct solutions to (1) using a polyhedral homotopy with certification by Krawczyk’s method. We then solve and certify (2) with the added equation (1t)μ1=0(1-t)\mu-1=0 to eliminate all solutions with t=1t=1 (there are never any solutions with t=0t=0 as this would imply H(𝟎)=0H(\mathbf{0})=0, contradicting FF having a power series expansion). Since we no longer have solutions where t=1t=1, by refining the solutions to sufficient precision we can determine the solutions with positive real coordinates where 0<t<10<t<1, match the projection onto the 𝐳\mathbf{z} variables of each to a distinct solution of (1), and thus rule out all non-minimal critical points with positive coordinates. We then find all critical points with the same coordinate-wise moduli and return that set.

Example 3.1.

As a simple example, we can find the minimal critical point

@polyvar x y
find_min_crits_comb(1-x-y)
Out:1-element Vector{Vector{ComplexF64}}:
[0.5 + 0.0im, 0.5 + 0.0im]

controlling asymptotics for the central binomial coefficient (2nn)\binom{2n}{n} which forms the main diagonal sequence of

F(x,y)=11xy.F(x,y)=\frac{1}{1-x-y}.

Similarly, we can compute the approximations

@polyvar x y z
find_min_crits_comb(1-z*(x^2*y+y+x*y^2+x))
Out:2-element Vector{Vector{ComplexF64}}:
[1.0 + e-35im, 1.0 - e-35im, 0.25 - e-37im]
[-1.0 - e-36im, -1.0 + e-36im, -0.25 - e-36im]

for the two minimal critical points ±(1,1,1/4)\pm(1,1,1/4) determining asymptotics for the main diagonal of

F(x,y,z)=(1+x)(1+y)1zxy(x+1/x+y+1/y).F(x,y,z)=\frac{(1+x)(1+y)}{1-zxy(x+1/x+y+1/y)}.

This diagonal enumerates walks on the cardinal directions {N,S,E,W}={(±1,0),(0,±1)}\{N,S,E,W\}=\{(\pm 1,0),(0,\pm 1)\} that start at the origin and stay in 2\mathbb{N}^{2}.

As in the work of Melczer and Salvy, the most expensive operation occurs when trying to group roots with the same coordinate-wise modulus as a known minimal critical point (step (4) in Algorithm 1). When using a symbolic-numeric method it is possible to compute minimal polynomials for the values of the coordinates and use this to identify points with the same coordinate-modulus by computing numerically to O(hδ3d)O(h\delta^{3d}) bits of precision, where hh is a bound on the bitsize of the coefficients of the denominator HH and δ\delta is the degree of HH (see [18, Corollary 54]). Combining past bounds in the literature [23, 8] allows us to identify an explicit precision such that if two solutions have coordinate-wise moduli agreeing to this precision then their coordinate-wise moduli are exactly equal. Our bound is also of O(hδ3d)O(h\delta^{3d}) bits, however the constant in front is worse than that when using minimal polynomials. After a minimal critical point is identified, our code continually refines precision using Newton iteration until any points with the same coordinate-wise moduli are found. In practice, any points with different coordinate-wise moduli are identified at precision much lower than the worst case bound, but we must compute up to the bound when there are points with the same coordinate-wise moduli. Unfortunately, the extreme precision involved with a large number of variables means that we cannot always rigorously check to the required accuracy, and the code returns a warning to the user with its output when this occurs.

3.2. General Case

In general we must consider the extended systems (3)-(8) and (3)-(8’), which essentially doubles the number of variables under consideration. Mirroring the combinatorial case, we can solve (3)-(8) and (3)-(8’) using a polyhedral homotopy, certify the results using Krawczyk’s method, and refine to a sufficient precision to determine when 0<t<10<t<1 to rule out non-minimal points.

Remark 3.2.

The system (3)-(8’) is over determined, with 4d+44d+4 equations and 4d+34d+3 variables. In order to use HomotopyContinuation.jl we drop one of the equations in (8’) to obtain a square system: this can introduce additional solutions which are irrelevant to determining minimality, but does not affect the correctness of our test for minimality.

Example 3.3.

Straub and Zudilin [25], following Gillis, Reznick, and Zeilberger [11], study families of rational functions connected to special function theory. For instance, in three dimensions they study the constants cc for which

Fc(x,y,z)=11(x+y+z)+cxyzF_{c}(x,y,z)=\frac{1}{1-(x+y+z)+cxyz}

has non-negative power series coefficients on its main diagonal (which turns out to imply non-negativity of all power series coefficients). Running the code (for c=5c=5)

@polyvar x y z
find_min_crits(1 - (x+y+z) + 5*x*y*z)
Out:2-element Vector{Vector{ComplexF64}}:
[0.45 - 0.12im, 0.45 - 0.12im, 0.45 - 0.12im]
[0.45 + 0.12im, 0.45 + 0.12im, 0.45 + 0.12im]

gives the minimal critical points controlling asymptotics of the main diagonal. Since this is a complex conjugate pair, the resulting asymptotic expansion implies that FcF_{c} has an infinite number of negative coefficients on its main diagonal when c=5c=5 (in fact, it has an infinite number of negative coefficients whenever c>4c>4).

3.3. Faster Heuristics

As seen in the examples of Section 4, the high number of variables in the extended system even in low dimensional examples means it does not terminate within reasonable time for polynomials with four or more variables. In order to speed up our solvers, we can numerically approximate the distinct solutions to the small system (3)-(5) and then substitute each of these solutions as parameters into the extended equations (6)-(8) and (6)-(8’). In the implementation, it is done by running the function find_min_crits with the flag approx_crit = true.

Remark 3.4.

This approach approximates the solutions to the extended system (3)-(8) if the solutions vary smoothly with 𝐚\mathbf{a} and 𝐛\mathbf{b}, which happens whenever the Jacobian of (6)-(8) with respect to 𝐚\mathbf{a} and 𝐛\mathbf{b} is full rank at all values of 𝐚\mathbf{a} and 𝐛\mathbf{b} solving (3)-(5). Unfortunately, verifying this condition is usually about as costly as solving the extended system, so we do not do this in our computations and refer to this method only as an efficient heuristic that correctly identifies minimal critical points in a large variety of cases.

Example 3.5.

To stress-test our algorithms we generate a random polynomial p(x,y,z)p(x,y,z) with six terms in four variables having coefficients in {1,,100}\{1,\dots,100\} and then set H(x,y,z)=1p(x,y,z)H(x,y,z)=1-p(x,y,z). Running

@polyvar x y z
H=1-(72*x^3*z+97*y*z^3+53*x*z^2+47*x*y+39*z^2+71*x)
find_min_crits(H; approx_crit = true)
Out:1-element Vector{Vector{ComplexF64}}:
[0.001+5.5e-40im, 6.2-7.5e-37im, 0.06+0.0im]

returns the unique minimal critical point in about three minutes. This example does not terminate without the approx_crit = true flag.

It is also possible to use the approximations to the critical points as a start system to solve (6)-(8) using the monodromy method. More precisely, for any (𝐚,𝐛)(\mathbf{a},\mathbf{b}) solving (3)-(5) we set (𝐱,𝐲)=(𝐚,𝐛)(\mathbf{x},\mathbf{y})=(\mathbf{a},\mathbf{b}) and t=1t=1 in (6)-(8) and then compute a corresponding start value of ν\nu by computing the left kernel of the Jacobian matrix of (6)-(7) with respect to variables 𝐱,𝐲\mathbf{x},\mathbf{y} and tt. From a given parameter value (𝐚,𝐛)(\mathbf{a},\mathbf{b}) and the initial solution (𝐱,𝐲,ν,t)(\mathbf{x},\mathbf{y},\nu,t), we collect real solutions from the monodromy method and check if t(0,1)t\in(0,1): if it is then we remove the parameter value (𝐚,𝐛)(\mathbf{a},\mathbf{b}) as it is non-minimal. Interestingly, it appears that monodromy cannot detect solutions where ν=0\nu=0 when starting with a non-zero value of ν\nu, and vice-versa, suggesting that solution variety is the union of components corresponding to these cases. We thus repeat this process separately for the cases where ν=0\nu=0 and when (8’) replaces (8). Finally, we return the values of (𝐚,𝐛)(\mathbf{a},\mathbf{b}) that are not disregarded.

Example 3.6.

Melczer and Salvy [18] introduce the rational function

F(x,y)=1(1xy)(20x40y)1F(x,y)=\frac{1}{(1-x-y)(20-x-40y)-1}

because it has two critical points with positive coordinates, one of which is smaller in the first coordinate and the other of which is smaller in the second coordinate (so it is not clear which, if any, should be minimal). Running

@polyvar x y
H = (1-x-y)*(20-x-40*y)-1
find_min_crits(H; monodromy=true)
Out:1-element Vector{Vector{ComplexF64}}:
[0.54 - 9.18e-41im, 0.31 + 1.83e-40im]

returns the correct minimal critical point.

We believe that further study of the geometric properties of the extended system (6)-(8) could help make this monodromy approach a powerful tool for ACSV analysis.

4. Examples and Benchmarks

Tables 1 and 2 list benchmarks of our implementation against a selection of combinatorial and algebraic examples, executed on a Macbook pro, 2 GHz Quad-Core Intel Core i5, 16 GB RAM. The package supports arbitrary 𝐫\mathbf{r}-diagonal sequences, but examples in this section were done with 𝐫=𝟏\mathbf{r}=\mathbf{1}. See our supplementary notebook for the full details on the rational functions involved.

Remark 4.1.

The HomotopyContinuation.jl package converts input polynomials into compiled straight-line programs for fast evaluation. In order to better see the differences between examples as they grow in degree and dimension, we have removed compilation time from our benchmarks (compilation time takes the majority of the runtime for small examples but is a small part of larger examples). This results in several seconds on small examples, and up to tens of seconds on larger examples, that are not included in the reported timings. In particular, the (non-certified) package of Melczer and Salvy beats our package in the combinatorial case on most examples in Table 1 when compilation time is added (except for the two high degree examples where the Maple package takes much longer).

Example Comb. Maple Comb.
1xy1-x-y 0.0052 0.143
Two positive CPs 0.029 0.292
square-root 0.01 0.06
Apéry ζ(2)\zeta(2) 0.025 0.06
Apéry ζ(3)\zeta(3) 0.7 0.3
random poly 0.9 840
2D Walk 0.03 0.06
3D Walk 0.08 2.7
1xy2w3z41-x-y^{2}-w^{3}-z^{4} 0.06 509
Table 1. Time, in seconds, of running our Julia implementations in the combinatorial case, compared to the Kronecker representation approach of Melczer and Salvy. The time to compile Julia functions is not included.
Example HSolve HSolve Approx Monodromy
1xy1-x-y 0.04 0.02 2.3
Two positive CPs 4.1 0.33 2.84
Apéry ζ(2)\zeta(2) 670 3.8 8.5
square-root 29.5 0.72 14.9
random poly INC 189.4 583.1
2D Walk INC 15.3 31.9
GRZ 236 3.6 3.8
Table 2. Time, in seconds, of running our Julia implementations that do not assume combinatorality. The first column is the time to solve the extended critical point systems, the second column is the time to solve the smaller systems after solving the critical point system separately, and the final column is the time to run the monodromy method. INC indicates the code did not complete after running for an hour.

5. Rigor of Results

Because we certify our solutions, we never attempt to approximate a point that is not actually a solution of the polynomial systems under consideration. However, by the way they are designed, it is possible for homotopy computations to miss solutions, which could result in a point being deemed minimal when it is not. There are some exceptions: when the number of solutions found matches the upper bound on the number of solutions given by the mixed volume, for instance, then we can be sure we have found all solutions. Tables 3 and 4 show a comparison between the mixed volumes of several systems studied here, compared to the actual number of solutions found. It can be observed that we often reach the upper bound in the combinatorial case, but this usually does not happen in the non-combinatorial case.

Example Mixed volume #\# Solutions found
1xy1-x-y 1 1
1xyxy22x2y1-xy-xy^{2}-2x^{2}y 9 9
1xy2w3z41-x-y^{2}-w^{3}-z^{4} 96 96
Table 3. Mixed volume for the system (2) and the actual number of solutions found for several combinatorial examples
Example (3)-(8) #\# Sols (3)-(8’) #\# Sols
1xy1-x-y 4 1 2 0
1xyxy22x2y1-xy-xy^{2}-2x^{2}y 3276 99 1638 126
1(x+y+z)+818xyz1-(x+y+z)+\frac{81}{8}xyz 13068 162 4356 216
1xy2w3z41-x-y^{2}-w^{3}-z^{4} FAIL N/A 442368 442368
Table 4. Mixed volumes for the systems (3)-(8) and (3)-(8’) and the number of solutions found for several examples. FAIL means that the code did not compute the mixed volume due to an out of memory error.

We can also conclude we know minimality rigorously when there is another way to determine that a minimal critical point must exist, and all but one point is ruled out by our algorithms. For instance, in the combinatorial case it can be shown that any polynomial whose support contains the terms 1,z1,z2,,zd1,z_{1},z_{2},\dots,z_{d} must have at least one minimal critical point with positive coordinates.

6. Conclusion

Despite the high computational cost associated to many of computations required to determine asymptotics using the methods of ACSV, the continued development of efficient computer algebra packages in Julia and other languages has made it feasible to automate the analysis beyond the simplest cases. There are many natural extensions still to be made, perhaps chiefly among them extending to the non-smooth case by incorporating algorithms for the Whitney stratification of algebraic varieties. Other interesting avenues for exploration include the development of better start systems for homotopy computations, to better match the number of critical points, and a theoretical study of the solution variety and its irreducible components for the monodromy approach (which could help the monodromy approach be competitive with or even surpass the polyhedral homotopy approach).

Finally, as already mentioned, in the combinatorial case the precision required to certify all minimal critical points with the same coordinate-wise modulus may not be practical. Our algorithm returns a warning with its output when it cannot verify equality between moduli to the precision required for rigorous certification.

Acknowledgments

KL and SM acknowledge the support of the AMS Math Research Community Combinatorial Applications of Computational Geometry and Algebraic Topology, which was funded by the National Science Foundation under Grant Number DMS 1641020. SM and JS’s work partially supported by NSERC Discovery Grant RGPIN-2021-02382.

References

  • [1] R. Apéry. Sur certaines séries entières arithmétiques. In Study group on ultrametric analysis, 9th year: 1981/82, No. 1, pages Exp. No. 16, 2. Inst. Henri Poincaré, Paris, 1983.
  • [2] Y. Baryshnikov, S. Melczer, and R. Pemantle. Stationary points at infinity for analytic combinatorics. Foundations of Computational Mathematics, 2022.
  • [3] Y. Baryshnikov and R. Pemantle. Asymptotics of multivariate sequences, part III: Quadratic points. Adv. Math., 228(6):3127--3206, 2011.
  • [4] D. J. Bates, J. D. Hauenstein, A. J. Sommese, and C. W. Wampler. Bertini: Software for numerical algebraic geometry. Available at bertini.nd.edu with permanent doi: dx.doi.org/10.7274/R0H41PB5.
  • [5] D. N. Bernshtein. The number of roots of a system of equations. Functional Analysis and its applications, 9(3):183--185, 1975.
  • [6] P. Breiding, K. Rose, and S. Timme. Certifying zeros of polynomial systems using interval arithmetic. arXiv preprint arXiv:2011.05000, 2020.
  • [7] P. Breiding and S. Timme. HomotopyContinuation.jl: A package for homotopy continuation in julia. In International Congress on Mathematical Software, pages 458--465. Springer, 2018.
  • [8] A. Dubickas and M. Sha. Counting and testing dominant polynomials. Exp. Math., 24(3):312--325, 2015.
  • [9] T. Duff, C. Hill, A. Jensen, K. Lee, A. Leykin, and J. Sommars. Solving polynomial systems via homotopy continuation and monodromy. IMA Journal of Numerical Analysis, 39(3):1421--1446, 2019.
  • [10] P. Flajolet and R. Sedgewick. Analytic combinatorics. Cambridge University Press, Cambridge, 2009.
  • [11] J. Gillis, B. Reznick, and D. Zeilberger. On elementary methods in positivity theory. SIAM J. Math. Anal., 14(2):396--398, 1983.
  • [12] J. D. Hauenstein and F. Sottile. alphaCertified: Software for certifying numerical solutions to polynomial equations. Available at math.tamu.edu/~ sottile/research/stories/alphaCertified, 2011.
  • [13] B. Huber and B. Sturmfels. A polyhedral method for solving sparse polynomial systems. Mathematics of computation, 64(212):1541--1555, 1995.
  • [14] K. Lee. The NumericalCertification package in Macaulay2. arXiv preprint arXiv: 2208.01784, 2022.
  • [15] T.-L. Lee, T.-Y. Li, and C.-H. Tsai. HOM4PS-2.0: a software package for solving polynomial systems by the polyhedral homotopy continuation method. Computing, 83(2):109--133, 2008.
  • [16] A. Leykin. Numerical algebraic geometry. Journal of Software for Algebra and Geometry, 3(1):5--10, 2011.
  • [17] S. Melczer. An Invitation to Analytic Combinatorics: From One to Several Variables. Texts and Monographs in Symbolic Computation. Springer International Publishing, 2021.
  • [18] S. Melczer and B. Salvy. Effective coefficient asymptotics of multivariate rational functions via semi-numerical algorithms for polynomial systems. J. Symbolic Comput., 103:234--279, 2021.
  • [19] R. E. Moore, R. B. Kearfott, and M. J. Cloud. Introduction to interval analysis, volume 110. Siam, 2009.
  • [20] J. Ouaknine and J. Worrell. Ultimate positivity is decidable for simple linear recurrence sequences. In Automata, languages, and programming. Part II, volume 8573 of Lecture Notes in Comput. Sci., pages 330--341. Springer, Heidelberg, 2014.
  • [21] R. Pemantle and M. C. Wilson. Asymptotics of multivariate sequences. I. Smooth points of the singular variety. J. Combin. Theory Ser. A, 97(1):129--161, 2002.
  • [22] R. Pemantle and M. C. Wilson. Analytic combinatorics in several variables, volume 140 of Cambridge Studies in Advanced Mathematics. Cambridge University Press, Cambridge, 2013.
  • [23] M. Safey El Din and É. Schost. Bit complexity for multi-homogeneous polynomial system solving---Application to polynomial minimization. J. Symbolic Comput., 87:176--206, 2018.
  • [24] A. Sommese and C. Wampler. The Numerical Solution of Systems of Polynomials Arising in Engineering and Science. World Scientific, 2005.
  • [25] A. Straub and W. Zudilin. Positivity of rational functions and their diagonals. J. Approx. Theory, 195:57--69, 2015.
  • [26] J. Verschelde. Algorithm 795: PHCpack: A general-purpose solver for polynomial systems by homotopy continuation. ACM Transactions on Mathematical Software (TOMS), 25(2):251--276, 1999.