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].
翻译:暂无翻译