Hyperasymptotics
Perturbation Methods
Hyperasymptotics is the systematic technique for pushing an asymptotic expansion beyond the precision of optimal truncation. Standard asymptotic-series wisdom says that for a divergent series with factorially growing coefficients, the best you can do is truncate at the smallest term — call it where is the action of the leading Borel singularity — and accept an irreducible error of order . Hyperasymptotics says that wisdom is incomplete. The "irreducible" remainder ITSELF has an asymptotic structure that can be re-expanded; that re-expansion has its own optimal truncation with error ; you can iterate, getting , and so on. A handful of original series coefficients can give you machine precision via a few levels of hyperasymptotic improvement.
The technique was developed by Michael Berry and Christopher Howls in the early 1990s, extended by Adri Olde Daalhuis and others through the decade, and made famous outside the resurgence-theory community by John P. Boyd's encyclopaedic review:
J. P. Boyd, "The Devil's Invention: Asymptotic, Superasymptotic and Hyperasymptotic Series," Acta Applicandae Mathematicae 56, 1-98 (1999).
The title alludes to Abel's lament — "Divergent series are the invention of the devil." Boyd's thesis is that divergent series are useful precisely because their structure is RIGID: the same factorial growth that makes the series divergent also locks in the analytic content of the function, and that content can be extracted with the right machinery. Hyperasymptotics is that machinery.
Three levels of approximation
Boyd's vocabulary, which has become standard:
- Asymptotic: truncate the series at any finite ; error is bounded by the first omitted term. For modest this is fine, but stopping too early wastes available accuracy and stopping too late blows up.
- Superasymptotic: truncate at the OPTIMAL location where the terms reach their minimum. Error , exponentially small in . This is the best you can do with the original series alone.
- Hyperasymptotic: re-expand the remainder around its saddle, get an asymptotic series in for the remainder, optimally truncate THAT, and add the result back. Error . Repeat: , , ...
The conceptual move is that the REMAINDER of an asymptotic series is itself an asymptotic series in , and its coefficients are determined by RESURGENCE relations to the late coefficients of the original series. You don't need to compute new coefficients from scratch at each level; you reconstruct them from what you already have. That's what makes the technique cheap.
Worked example: the Stieltjes integral
The clean textbook example. Take
where is the exponential integral. The asymptotic expansion at large follows from expanding in powers of :
The coefficients are — alternating, factorially growing. The radius of convergence is zero; the series diverges for every . The Borel transform has a simple pole at , so the leading "singularity action" is and optimal truncation sits at .
A key feature of the Stieltjes example: the EXACT remainder can be computed in closed form. Truncate the geometric series after terms, integrate the remaining piece:
after the substitution . The remainder integral is exact; it is a real, finite, computable object even though the original series diverges. This lets us VERIFY each level of hyperasymptotic improvement against the exact remainder.
Optimal truncation and the superasymptotic error
The terms reach their minimum at (by Stirling). The minimum value, by Stirling's approximation,
That's the size of the irreducible superasymptotic error — exponential decay in , with a prefactor.
The level-1 hyperasymptotic correction
Now look at the EXACT remainder integral after optimal truncation, with :
The integrand has a saddle. Rewrite the exponent: . With , the stationary point is at , where the exponent equals . The second derivative there is , giving a Gaussian width . Standard Laplace approximation:
This is the LEADING hyperasymptotic correction. Adding it to the superasymptotic partial sum gives the level-1 hyperasymptotic approximation:
What's the error of this approximation? It's the residual of the Laplace integral that the leading Gaussian missed — the next-order correction in the saddle-point expansion. By standard arguments, that residual is suppressed by another factor of per order, and the asymptotic expansion of as a series in can itself be optimally truncated, giving an error at its own optimal stopping point.
Code and validation
# Hyperasymptotics demo on the Stieltjes integral
# f(z) = integral_0^inf e^{-t} / (z + t) dt (z > 0)
# = e^z * E_1(z)
# Asymptotic series at large z:
# f(z) ~ sum_{n=0}^inf (-1)^n n! / z^{n+1} (divergent everywhere!)
# Optimal truncation N* ~ z. Superasymptotic error ~ e^(-z).
# Hyperasymptotic level-1 correction (leading Laplace saddle of the
# remainder integral) drops the error to ~ e^(-2z).
import numpy as np
from scipy.special import exp1
from scipy.integrate import quad
from math import factorial
def stieltjes_exact(z):
"""f(z) = e^z * E_1(z), where E_1 is the exponential integral."""
return np.exp(z) * exp1(z)
def partial_sum(z, N):
return sum((-1)**n * factorial(n) / z**(n+1) for n in range(N))
def remainder_exact(z, N):
"""Exact remainder via the integral representation
R_N(z) = (-1)^N * int_0^inf u^N e^{-zu} / (1 + u) du."""
integrand = lambda u: u**N * np.exp(-z*u) / (1.0 + u)
val, _ = quad(integrand, 0, np.inf, limit=300, epsabs=1e-18, epsrel=1e-14)
return (-1)**N * val
def hyper_correction_leading(z, N):
"""Berry-Howls leading hyperterminant = Laplace approximation of
R_N(z) around the saddle u_s = N/z. Pure Gaussian saddle."""
u_s = N / z
log_peak = N * np.log(u_s) - z * u_s
sigma_sq = u_s**2 / N
gauss = np.exp(log_peak) * np.sqrt(2 * np.pi * sigma_sq) / (1 + u_s)
return (-1)**N * gauss
# ─── Run the demo across z ──────────────────────────────────────────────
print(f"{'z':>4s} {'N*':>3s} {'super-err':>12s} {'hyper-1 err':>14s} "
f"{'e^(-z)':>12s} {'e^(-2z)':>12s}")
for z in [4, 6, 8, 10, 12, 14, 16, 20]:
true_val = stieltjes_exact(z)
errs = [abs(partial_sum(z, N) - true_val) for N in range(1, 2*z + 1)]
N_star = int(np.argmin(errs)) + 1
super_err = errs[N_star - 1]
hyper1 = hyper_correction_leading(z, N_star)
hyper1_err = abs(partial_sum(z, N_star) + hyper1 - true_val)
print(f"{z:4d} {N_star:3d} {super_err:12.3e} {hyper1_err:14.3e} "
f"{np.exp(-z):12.3e} {np.exp(-2*z):12.3e}") Output:
z N* super-err hyper-1 err e^(-z) e^(-2z)
4 4 1.103e-02 4.445e-04 1.832e-02 3.355e-04
6 6 1.235e-03 3.358e-05 2.479e-03 6.144e-06
8 8 1.457e-04 2.989e-06 3.355e-04 1.125e-07
10 10 1.770e-05 2.915e-07 4.540e-05 2.061e-09
12 12 2.193e-06 3.016e-08 6.144e-06 3.775e-11
14 14 2.753e-07 3.250e-09 8.315e-07 6.914e-13
16 16 3.490e-08 3.610e-10 1.125e-07 1.266e-14
20 20 5.729e-10 4.747e-12 2.061e-09 4.248e-18 Two phenomena visible in this table. (1) Superasymptotic scaling. The "super-err" column tracks closely — at , super-err is and . The optimal-truncation error has exactly the predicted exponential decay. (2) Hyperasymptotic improvement. The "hyper-1 err" column is much smaller — at , the level-1 hyperasymptotic gives , two orders of magnitude better than super-err and approaching from above (the level-2 scaling). The leading saddle correction is buying you about half of the way from to on a log scale — exactly the "halving the exponential gap" behavior Berry and Howls predicted in their original analysis.
Going to level 2 and beyond
To get the residual error down to (the FULL level-2 hyperasymptotic), you need the next-order corrections in the Laplace expansion of . Expand in a Taylor series around , expand the cubic-and-higher terms of the exponent, and integrate term by term against the Gaussian. This yields a NEW asymptotic series — the Berry-Howls hyperterminant expansion — whose coefficients are determined by the LATE coefficients of the original Stieltjes series via resurgence relations. Optimally truncate the hyperterminant expansion at , get error .
The level-3 hyperasymptotic does the same trick again: the level-2 remainder has its OWN asymptotic structure (a "second hyperterminant"), and optimal truncation of that re-expansion gives error . The recursive structure continues as long as numerical precision allows. With four or five iterations on the Stieltjes example at , you reach the floor of double-precision floating point.
Why it works: the resurgence connection
Hyperasymptotics is the COMPUTATIONAL face of resurgence. The deep statement is that the asymptotic expansions at different levels are linked by RESURGENCE RELATIONS — the coefficients of the level- hyperterminant series are universal combinations of the late coefficients of the original series, with a kernel determined by the Borel-plane singularity structure of .
Concretely, for an asymptotic series with leading singularity action in the Borel plane:
where is the Stokes constant and are the LATE-COEFFICIENT corrections. The level-1 hyperterminant series coefficients are exactly . The level-2 hyperterminant comes from the NEXT-nearest Borel singularity (at action ), and its coefficients are again determined by late coefficients via a known formula. This is "the resurgence relations" — the principle that the coefficients of a divergent series ENCODE the non-perturbative structure of the function, and hyperasymptotics is the explicit recipe for decoding it.
See the resurgence page for the analytic framework. Hyperasymptotics is what you actually run when you want numbers.
Connection to the other resummations
Hyperasymptotics sits at the top of the resummation arc:
- Padé approximates the function by a rational with the same Taylor expansion. Captures poles. Doesn't exploit the exponentially-small structure.
- Borel-Padé tames the factorial growth via the Borel transform and uses Padé in the Borel plane. Handles factorial divergence well; doesn't separately resolve the exponential structure.
- VPT introduces an order-dependent rescaling to converge at strong coupling. Works at all ; less structured than hyperasymptotics in the asymptotic regime.
- Hyperasymptotics peels off the pieces ONE BY ONE, using resurgence relations to compute each level from the late coefficients of the previous one. Most precise method in the asymptotic regime (large , or small ), and the most informative — each level corresponds to a physical effect (single instanton, instanton pair, etc.) in problems where resurgence applies.
For practical work: at intermediate parameter values, use Borel-Padé or VPT. In the deep asymptotic regime where and you want machine precision, hyperasymptotics is the right tool. The Boyd paper has worked examples and code for the Airy function, the Stieltjes integral, and several other classical asymptotic problems; it is the natural next step after this page.
References
- J. P. Boyd, "The Devil's Invention: Asymptotic, Superasymptotic and Hyperasymptotic Series," Acta Applicandae Mathematicae 56, 1-98 (1999). The canonical pedagogical reference. 98 pages, opinionated, encyclopaedic.
- M. V. Berry, C. J. Howls, "Hyperasymptotics," Proc. R. Soc. Lond. A 430, 653-668 (1990); "Hyperasymptotics for integrals with saddles," Proc. R. Soc. Lond. A 434, 657-675 (1991). The foundational papers.
- A. B. Olde Daalhuis, "Hyperterminants I, II," J. Comput. Appl. Math. 76, 255-264 (1996); 89, 87-95 (1998). Rigorous theory of hyperterminant functions.
- E. Delabaere, J.-M. Pham, Resurgent Methods in Semi-Classical Analysis. The resurgence-theoretic framework.
Related
- Perturbation theory, divergent series, and resurgence — the analytic framework underlying hyperasymptotics.
- Borel-Padé resummation — the "blunt instrument" version of the same idea.
- WKB and semiclassical methods — the exponentially-small tunneling factor in WKB is precisely the piece that hyperasymptotics extracts from the perturbation series.
- Variational perturbation theory — alternative resummation, strong at large coupling where hyperasymptotics still requires being in the asymptotic regime.