Oscillatory second order linear ordinary differential equations arise in many scientific calculations. Because the running times of standard solvers increase linearly with frequency when they are applied to such problems, a variety of specialized methods, most of them quite complicated, have been proposed. Here, we point out that one of the simplest approaches not only works, but yields a scheme for solving oscillatory second order linear ordinary differential equations which is significantly faster than current state-of-the-art techniques. Our method, which operates by constructing a slowly varying phase function representing a basis of solutions of the differential equation, runs in time independent of the frequency and can be applied to second order equations whose solutions are oscillatory in some regions and slowly varying in others. In the high-frequency regime, our algorithm discretizes the nonlinear Riccati equation satisfied by the derivative of the phase function via a Chebyshev spectral collocation method and applies the Newton-Kantorovich method to the resulting system of nonlinear algebraic equations. We prove that the iterates converge quadratically to a nonoscillatory solution of the Riccati equation. The quadratic convergence of the Newton-Kantorovich method and the simple form of the linearized equations ensure that this procedure is extremely efficient. Our algorithm then extends the slowly varying phase function calculated in the high-frequency regime throughout the solution domain by solving a certain third order linear ordinary differential equation related to the Riccati equation. We describe the results of numerical experiments showing that our algorithm is orders of magnitude faster than existing schemes, including the modified Magnus method [18], the current state-of-the-art approach [7] and the recently introduced ARDC method [1].
翻译:振荡二阶线性常微分方程广泛出现于科学计算中。由于标准求解器应用于此类问题时运行时间随频率线性增长,学界已提出多种专门方法,其中大多相当复杂。本文指出,一种最简单的策略不仅有效,而且能产生求解振荡二阶线性常微分方程的方案,其速度显著优于当前最先进技术。该方法通过构造表示微分方程解基的缓变相位函数实现,其运行时间与频率无关,并可应用于解在部分区域振荡、其他区域缓变的二阶方程。在高频区域,本算法采用切比雪夫谱配置法对相位函数导数所满足的非线性Riccati方程进行离散化,并对所得非线性代数方程组应用Newton-Kantorovich方法。我们证明了迭代解以二次收敛速度逼近Riccati方程的非振荡解。Newton-Kantorovich方法的二次收敛性及线性化方程的简洁形式确保了该过程具有极高效率。随后,算法通过求解与Riccati方程相关的某个三阶线性常微分方程,将高频区域计算得到的缓变相位函数拓展至整个求解域。数值实验结果表明,本算法较现有方案(包括修正Magnus方法[18]、当前最先进方法[7]以及近期提出的ARDC方法[1])快数个数量级。