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.
翻译:当一阶线性常微分方程组的特征值具有较大模量时,其解会呈现复杂行为,例如高频振荡、快速增长或快速衰减。使用标准技术表示此类解的计算成本通常随特征值模量的增大而增加。因此,常微分方程标准求解器的运行时间也会随特征值规模的扩大而增长。然而,对于系数缓慢变化的标量方程,其解可通过缓慢变化的相位函数有效表示,且不受相应系数矩阵特征值模量的影响。本文结合现有利用这一特性的标量方程求解器与一种将线性常微分方程组转化为标量形式的经典技术,提出了一种在时间上独立于系数矩阵特征值模量的线性常微分方程组求解方法,适用于一大类系统。我们通过数值实验的结果,讨论并展示了算法的特性。