Structured Backward Error for the WKB method
Robert M. Corless, Nicolas Fillion
TL;DR
This work reframes the classical WKB method for Schrödinger-type equations as a structured backward error analysis, showing that WKB solutions exactly solve nearby problems with a perturbed potential $\widetilde{Q}(x)=Q(x)+\varepsilon^2 Q_2(x)$. It introduces an iterative WKB (IWKB) scheme that progressively reduces the backward error by generating higher even-power corrections in $\varepsilon$, and develops a novel hybrid method that uses Chebyshev approximations of $\sqrt{Q}$ to sidestep symbolic bottlenecks in the integral of the square root. Green's-function analysis is used to relate backward error to unstructured conditioning, clarifying when WKB-based solutions are reliable. The hybrid Chebyshev–WKB approach is shown to be practical and effective, even for challenging potentials, and Chebfun-enabled implementations illustrate substantial wins in computation and accuracy. Overall, the paper provides a principled framework for error assessment and practical enhancements of WKB via structured BEA, iterative refinement, and polynomial approximation of the potential.
Abstract
The classical WKB method (also known as the WKBJ method, the LG method, or the phase integral method) for solving singularly perturbed linear differential equations has never, as far as we know, been looked at from the structured backward error (BEA) point of view. This is somewhat surprising, because a simple computation shows that for some important problems, the WKB method gives the exact solution of a problem of the same structure that can be expressed in finitely many terms. This kind of analysis can be extremely useful in assessing the validity of a solution provided by the WKB method. In this paper we show how to do this and explore some of the consequences, which include a new iterative algorithm to improve the quality of the WKB solution. We also explore a new hybrid method where the potential is approximated by Chebyshev polynomials, which can be implemented in a few lines of Chebfun.
