When a system of first order linear ordinary differential equations has eigenvalues of large magnitude, its solutions exhibit complicated behaviour, such as high-frequency oscillations, rapid growth or rapid decay. The cost of representing such solutions using standard techniques typically grows with the magnitudes of the eigenvalues. As a consequence, the running times of standard solvers for ordinary differential equations also grow with the size of these eigenvalues. The solutions of scalar equations with slowly-varying coefficients, however, can be efficiently represented via slowly-varying phase functions, regardless of the magnitudes of the eigenvalues of the corresponding coefficient matrix. Here, we couple an existing solver for scalar equations which exploits this observation with a well-known technique for transforming a system of linear ordinary differential equations into scalar form. The result is a method for solving a large class of systems of linear ordinary differential equations in time independent of the magnitudes of the eigenvalues of their coefficient matrices. We discuss the results of numerical experiments demonstrating the properties of our algorithm.
翻译:暂无翻译