Analytic Combinatorics/Singularity Analysis
Introduction
This article explains how to estimate the coefficients of generating functions involving logarithms and roots.
You first may need to familiarise yourself with:
Theorems
Standard Function Scale
Theorem from Flajolet and Odlyzko[1].
If:
where then:
Singularity Analysis
Theorem from Flajolet and Sedgewick[2].
If has a singularity at and:
where then:
The significance of the latter theorem is we only need an approximation of .
Branch points
Before going into the proof, I will explain what it is about roots and logarithms that mean we have to treat them differently to meromorphic functions.
Polar coordinates
Complex numbers can be expressed in two forms: Cartesian coordinates () or polar coordinates , where is the distance from the origin or modulus and is the angle relative to the positive axis or argument.
For complex functions of complex variables we can draw a 3-dimensional graph where the and axes are the real and imaginary components respectively of the variable and the axis is either the the modulus or the argument of the function .
For roots and logarithms, if we use the argument of the function for the axis, we see a discontinuity that restricts where we can draw the contour when we want to integrate the function.
The gap you can see along the negative axis is the discontinuity.
Root and logarithmic functions do not have poles about which we can do a Laurent expansion. Instead, we need to draw our contours to avoid these gaps or discontinuities. This is why in what follows we use contours with slits or wedges taken out of them.
Proof of standard function scale
Proof due to Sedgewick, Flajolet and Odlyzko[3]
The proof for the estimate of the coefficient of the first term.
By Cauchy's coefficient formula
where is a circle centred at the origin.
It is possible to deform without changing the value of the contour integral above.
We will deform by putting a slit through it along the real axis from 1 to .
We increase the radius of the circle to , which reduces its contribution to the integrand to 0.
Therefore, the contour integration around above is equivalent to the contour integration around the contour which starts at , winds around 1 and ends at , which we will call .
While we don't know much about the behaviour of the integral around the contour , we do know about a similar contour (the Hankel contour) which winds around the origin at a distance of 1.
We can calculate the integral around by turning it into an integral around . Formally:
Such that .
Informally this means we want to find a function which turns the contour into . Geometrically, we move the contour to the left by 1 and multiply it by :
But, we still want the integrand around to be equivalent to the integrand around . We do this by dividing the variable by and adding 1:
Therefore, we get the following substitution[5]:
We have:
- (as )
and:
Therefore,
Putting it all together:
Singularity Analysis
Explanation and example from Flajolet and Sedgewick[7].
In the below
Little o
We will be making use of the "little o" notation.
- as
which means
It also means for each there exists such that[8]
a fact we will use in the proof.
It is also useful to note
Summary
For the generating function :
- Find 's singularity .
- Construct the -domain at .
- Check that is analytic in the -domain.
- Create an approximation of near of the form .
- The estimate of or equivalently .
Details
To find the singularity, find the value of for which the function equals [9].
As an example, we will use .
It has a singularity at , because
The -domain at 1 is a circle centred at the origin with radius with a triangle cut out of it with one vertex at 1 and edges of angles and . See image below. We use this domain as it allows us to make a proof later.
For to be analytic in the -domain:
for all in the -domain[10].
Our example is analytic in the -domain because
- is an entire function (i.e. has no singularities), which means it is analytic everywhere.
- is analytic except for the slit along the real axis for .
- The product of two analytic functions is an analytic function on the same domain[11]. Therefore, is analytic on the entire complex domain, including the -domain, except for the real axis .
We want an approximation of the form (where in our example we set and ).
Normally, this will be in the form of a Taylor series expansion.
For our example, doing the Taylor Expansion near to 1:
Therefore:
Then .
Therefore, in our example:
The proof of this comes from the fact that:
- the coefficients of the first term , which we get from the standard function scale.
- and the coefficients of the second term which we do in #Proof of error term. This is also the reason why we need to use the -domain.
Proof of error term
Proof from Flajolet and Odlyzko[12], Flajolet and Sedgewick[13] and Pemantle and Wilson[14].
We get the estimate of the coefficient for the second term from Cauchy's coefficient formula:
where is any closed contour inside the -domain. See the red line in the image below.
We split into four parts such that .
Contribution of :
The maximum of on is when
The maximum of on is
The maximum of on is
Contribution of and :
We parameterise the contour by converting to polar form by , so that is a function of from to . is the positive solution to the equation , so that the contour joins :
But, remember that the little o relation only holds within a particular of . We know that tends to zero as increases, and therefore, for any , we choose an big enough so that . We split the integral above into two at , so that :
The first term in the sum:
This converges to a constant . Therefore:
The second term in the sum:
grows faster with than , so as . Therefore:
A similar argument applies to .
Contribution of :
meaning the contribution of the integral around is exponentially small as and can be discarded.
Formula for multiple singularities
The above assumes only one singularity . But, it can be generalised for functions with multiple singularities.
Theorem from Flajolet and Sedgewick[16].
Assume is analytic on the disc , has a finite number of singularities on the circle and is analytic on the -domain with multiple indents, one at each singularity.
If for each singularity (for ):
then:
Notes
References
- Template:Cite journal
- Template:Cite book
- Template:Cite book
- Template:Cite web
- Template:Cite book
- Template:Cite web
- Template:Cite book
- ↑ Flajolet and Odlyzko 1990, pp. 14.
- ↑ Flajolet and Sedgewick 2009, pp. 393.
- ↑ Sedgewick, pp. 16. Flajolet and Sedgewick 2009, pp. 381. Flajolet and Odlyzko 1990, pp. 4-15.
- ↑ Lorenz 2011.
- ↑ For more details, see Flajolet and Odlyzko 1990, pp. 12-15.
- ↑ Sedgewick, pp. 10.
- ↑ Flajolet and Sedgewick 2009, pp. 392-395.
- ↑ Flajolet and Odlyzko 1990, pp. 8.
- ↑ This is a bit of an over-simplification. For further information, see Stroud 2003, pp. 863-867, 915 and w:Mathematical_singularity.
- ↑ Lang 1999, pp. 68-69.
- ↑ Lang 1999, pp. 69.
- ↑ Flajolet and Odlyzko 1990, pp. 7-9.
- ↑ Flajolet and Sedgewick 2009, pp. 390-392.
- ↑ Pemantle and Wilson 2013, pp. 59-60.
- ↑ w:Polar_coordinate_system#Converting_between_polar_and_Cartesian_coordinates.
- ↑ Flajolet and Sedgewick 2009, pp. 398.