When the eigenvalues of the coefficient matrix for a linear scalar ordinary differential equation are 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 grows with the magnitudes of the eigenvalues. As a consequence, the running times of most solvers for ordinary differential equations also grow with these eigenvalues. However, a large class of scalar ordinary differential equations with slowly-varying coefficients admit slowly-varying phase functions that can be represented at a cost which is bounded independent of the magnitudes of the eigenvalues of the corresponding coefficient matrix. Here, we introduce a numerical algorithm for constructing slowly-varying phase functions which represent the solutions of a linear scalar ordinary differential equation. Our method's running time depends on the complexity of the equation's coefficients, but is bounded independent of the magnitudes of the equation's eigenvalues. Once the phase functions have been constructed, essentially any reasonable initial or boundary value problem for the scalar equation can be easily solved. We present the results of numerical experiments showing that, despite its greater generality, our algorithm is competitive with state-of-the-art methods for solving highly-oscillatory second order differential equations. We also compare our method with Magnus-type exponential integrators and find that our approach is orders of magnitude faster in the high-frequency regime.
翻译:当线性标量常微分方程系数矩阵的特征值具有较大模量时,其解会表现出复杂行为,如高频振荡、快速增长或快速衰减。使用标准技术表示此类解的成本随特征值模量的增大而增加。因此,大多数常微分方程求解器的运行时间也随这些特征值增长。然而,一类具有慢变系数的标量常微分方程允许存在慢变相位函数,其表示成本与对应系数矩阵特征值模量无关。本文提出了一种数值算法,用于构造表示线性标量常微分方程解的慢变相位函数。该方法的运行时间取决于方程系数的复杂度,但与方程特征值模量无关。一旦相位函数构造完成,标量方程的任意合理初值或边值问题均可轻松求解。数值实验结果表明,尽管我们的算法具有更强的通用性,但在求解高频振荡二阶微分方程方面,它仍能与最先进方法相竞争。此外,与马格努斯型指数积分器相比,我们的方法在高频区域的速度提升达数个数量级。