Fast and stable computation of highly oscillatory and/or exponentially decaying integrals using a Clenshaw-Curtis product-integration rule
Victor Dominguez
TL;DR
The paper tackles the challenge of numerically evaluating $I_z(f)=\int_0^2 f(s) e^{zs}\,{\rm d}s$ for complex $z$ with potentially large negative real parts, where the integrand is oscillatory and/or exponentially decaying. It introduces a Clenshaw-Curtis product-integration rule that interpolates $f$ at Chebyshev nodes and integrates the interpolant exactly, with weights $\omega_\ell(z)=\int_0^2 T_\ell(s-1) e^{zs}\,{\rm d}s$ computed stably via a three-phase, near-linear-cost algorithm that remains robust across all $z$ and avoids special functions. The authors provide convergence and stability analyses, showing error bounds that decay with the node count $L$ and favorable behavior as $|z|$ grows, and they develop a practical implementation strategy that scales efficiently with $L$ while maintaining numerical stability. The approach is applicable to Laplace-transform-based solutions of fractional-order evolution equations, among other problems, enabling fast, accurate quadrature across a wide range of exponential parameters and offering a robust, function-free alternative to traditional oscillatory-quadrature techniques.
Abstract
We propose, analyze, and implement a quadrature method for evaluating integrals of the form $\int_0^2 f(s)\exp(zs)\, {\rm d}s$, where $z$ is a complex number with a possibly large negative real part. The integrand may exhibit exponential decay, highly oscillatory behavior, or both simultaneously, making standard quadrature rules computationally expensive. Our approach is based on a Clenshaw-Curtis product-integration rule: the smooth part of the integrand is interpolated using a polynomial at Chebyshev nodes, and the resulting integral is computed exactly. We analyze the convergence of the method with respect to both the number of nodes and the parameter $z$. Additionally, we provide a stable and efficient implementation whose computational cost is essentially independent of $z$ and scales linearly with $L$. Notably, our approach avoids the use of special functions, enhancing its numerical robustness.
