Software for ACSV

There are several software packages that help perform ACSV analyses.


The most useful package currently available is sage_acsv, which rigorously determines asymptotics for combinatorial generating functions (with non-negative power series coefficients) under generic assumptions that are rigorously verified by the software.

Source code, installation instructions, and examples of using the package are available on GitHub.

Main Reference: Rigorous Analytic Combinatorics in Several Variables in SageMath by Benjamin Hackl, Andrew Luo, Stephen Melczer, Jesse Selover, and Elaine Wong, 2023.


The ACSVHomotopy.jl package for Julia allows one to certify minimality of critical points on smooth singular varities using homotopy continuation techniques. Although not fully rigorous, the efficiency of Julia and dependent packages means that it is the only code that can currently study non-combinatorial generating functions.

Installation instructions are available on GitHub.

Main Reference: Homotopy Techniques for Analytic Combinatorics in Several Variables by Kisun Lee, Stephen Melczer, Josip Smolčić, Proceedings of the 24th International Symposium SYNASC, 27–34, 2022.


The Kronecker.mpl package for Maple was written by Stephen Melczer and Bruno Salvy to accompany their paper on the complexity of smooth ACSV (on which the above packages are based). This package is largely superseded by sage_acsv.

The package is hosted on GitHub.

Main Reference: Effective Coefficient Asymptotics of Multivariate Rational Functions via Semi-Numerical Algorithms for Polynomial Systems by Stephen Melczer and Bruno Salvy, Journal of Symbolic Computation, Volume 103, 234–279, 2021.

Other Code

The book page for An Invitation to Analytic Combinatorics by Stephen Melczer has code working through the examples in that text.

An older Sage package for computing the asymptotic contributions of certain critical points (without rigorously verifying asymptotic formulas) was developed by Alex Raichev. Note that this package is not actively maintained and has some broken functionality in current versions of Sage.