我有一个未知数的 ODE以下形式:
为了. 在这里,向量形成一个列负半定矩阵, 和对所有人. 换句话说,ODE 的右侧是状态的凸二次函数。我们可以写,其中的每个条目是凸齐次二次方程.
认为使用后向(隐式)欧拉积分来很好地逼近,甚至我们愿意为这个线性项做指数积分。 在这种情况下,是否有一种数值积分方法可能对上述非线性 ODE 的时间步长有效?
作为一个简单的例子,基于参数变化的积分可以“融入” ODE 线性部分的解。或者也许存在隐式积分的变分版本,这会导致我们设置中的凸问题。
我有一个未知数的 ODE以下形式:
为了. 在这里,向量形成一个列负半定矩阵, 和对所有人. 换句话说,ODE 的右侧是状态的凸二次函数。我们可以写,其中的每个条目是凸齐次二次方程.
认为使用后向(隐式)欧拉积分来很好地逼近,甚至我们愿意为这个线性项做指数积分。 在这种情况下,是否有一种数值积分方法可能对上述非线性 ODE 的时间步长有效?
作为一个简单的例子,基于参数变化的积分可以“融入” ODE 线性部分的解。或者也许存在隐式积分的变分版本,这会导致我们设置中的凸问题。
根据您的描述,指数积分器似乎很合适。它们基于参数的变化,并“烘焙”了 ODE 线性部分的精确解。有多种指数方法是由参数变化中积分项的离散化决定的。指数龙格——库塔方法往往是最流行的。例如,您的问题的指数欧拉是
在哪里. Phi 函数的计算可能具有挑战性,并且是核心实现问题。幸运的是,本网站和相关文献中有许多可用资源。如果计算特征分解是可行的,我强烈推荐指数积分器。
我不会低估对角隐式 Runge--Kutta 或 BDF 方法等传统方法。虽然它们可能不是针对问题量身定制的,但它们更简单,我仍然希望它们表现良好。对于隐式阶段,必须求解的非线性系统是二次的,并且可以使用专门的求解器。我还会考虑 Rosenbrock-W 方法,这样您只需要使用 SPD 矩阵求解线性系统.