具有二次右侧的 ODE 的隐式积分器

计算科学 数字 微分方程 时间积分
2021-12-20 01:57:32

我有一个未知数的 ODEx(t):[0,)Rn以下形式:

xi(t)=aix(t)+x(t)Qix(t),
为了i{1,,n}. 在这里,向量aiRn形成一个列n×n负半定矩阵ARn×n, 和Qi0对所有人i{1,,n}. 换句话说,ODE 的右侧是状态的凸二次函数。我们可以写x=Ax+Q(x),其中的每个条目Q是凸齐次二次方程x(t).

认为x=Ax使用后向(隐式)欧拉积分来很好地逼近t,甚至我们愿意为这个线性项做指数积分。 在这种情况下,是否有一种数值积分方法可能对上述非线性 ODE 的时间步长有效?

作为一个简单的例子,基于参数变化的积分可以“融入” ODE 线性部分的解。或者也许存在隐式积分的变分版本,这会导致我们设置中的凸问题。

1个回答

根据您的描述,指数积分器似乎很合适。它们基于参数的变化,并“烘焙”了 ODE 线性部分的精确解。有多种指数方法是由参数变化中积分项的离散化决定的。指数龙格——库塔方法往往是最流行的。例如,您的问题的指数欧拉是

xn+1=xn+hφ1(hA)(Axn+Q(xn)),
在哪里φ1(z)=ez1z. Phi 函数的计算可能具有挑战性,并且是核心实现问题。幸运的是,本网站和相关文献中有许多可用资源。如果计算特征分解是可行的A,我强烈推荐指数积分器。

我不会低估对角隐式 Runge--Kutta 或 BDF 方法等传统方法。虽然它们可能不是针对问题量身定制的,但它们更简单,我仍然希望它们表现良好。对于隐式阶段,必须求解的非线性系统是二次的,并且可以使用专门的求解器。我还会考虑 Rosenbrock-W 方法,这样您只需要使用 SPD 矩阵求解线性系统IhγA.