The solutions of scalar ordinary differential equations become more complex as their coefficients increase in magnitude. As a consequence, when a standard solver is applied to such an equation, its running time grows with the magnitudes of the equation's coefficients. It is well known, however, that scalar ordinary differential equations with slowly-varying coefficients admit slowly-varying phase functions whose cost to represent via standard techniques is largely independent of the magnitude of the equation's coefficients. This observation is the basis of most methods for the asymptotic approximation of the solutions of ordinary differential equations, including the WKB method. Here, we introduce two numerical algorithms for constructing phase functions for scalar ordinary differential equations inspired by the classical Levin method for the calculation of oscillatory integrals. In the case of a large class of scalar ordinary differential equations with slowly-varying coefficients, their running times are independent of the magnitude of the equation's coefficients. The results of extensive numerical experiments demonstrating the properties of our algorithms are presented.
翻译:标量常微分方程的解随着其系数的增大而变得愈加复杂。因此,当标准求解器用于此类方程时,其运行时间随方程系数的量级增长。然而,众所周知,系数缓慢变化的标量常微分方程存在缓慢变化的相位函数,通过标准技术表示这些函数的代价在极大程度上与方程系数的量级无关。这一观察是大多数常微分方程解渐近近似方法(包括WKB方法)的基础。本文受经典列文法在振荡积分计算中的启发,提出了两种构造标量常微分方程相位函数的数值算法。对于一大类系数缓慢变化的标量常微分方程,算法的运行时间与方程系数的量级无关。我们通过大量数值实验展示了所提算法的性能,并给出了实验结果。