保持非线性 ODE 的酉时间演化

计算科学 有限差分 算法 曲柄尼科尔森
2021-12-03 04:48:25

我想求解矩阵其中和因此是 Hermitian。的时间演化是单一的。有没有什么算法可以保持这种统一性?我听说过 Crank-Nicolson,但它是否适用于线性 ODE 并且无关A(t)

iA˙=A(t)M(t),withM(t)=A(t)H(t)A(t)
H(t)M(t)A(t)Mt

1个回答

Crank-Nicholson 通常用于线性 ODE,但也可以扩展到非线性 ODE

z˙=f(z)

像这样:

zn+1znδt=f(zn+1)+f(zn)2.

另一个类似的替代方案是隐式中点规则:

zn+1znδt=f(zn+1+zn2).

Crank-Nicholson 和隐式中点规则对于线性 ODE 是相同的,但对于非线性 ODE,它们是不同的。我提到隐式中点规则的原因是它是一个积分方案,而 Crank-Nicholson 方法不是。如果您以前没有遇到过这个概念,我强烈建议您阅读Hairer、Lubich 和 Wanner* 的几何数值积分。

您可以采取的一种直截了当的方法是近似为分段常数并使用Pade 近似值M

eiz1+12iz112iz

对于这种近似特别好,因为它将实线包裹到复单位圆中。然后,当您将其应用于矩阵时,它会将具有真实特征值的事物(例如 Hermitian 矩阵)映射到酉矩阵中。然后你得到以下方案:eiδtM

An+1=An(I12iδtMn)(I+12iδtMn)1Mn+1=An+1H(tn+1)An+1

如果是一个酉矩阵,那么每个连续的迭代都将是一个酉矩阵(至少在实数算术中)。它只是一阶精确的积分方案,但重要的是它保留了系统的结构。希望这是一个很好的起点,如果需要,您可以从中得出更准确的方案。A0

*正如 Lutz Lehmann 在评论中指出的那样,您的问题不是哈密顿系统本身,所以我所说的辛积分器有点不合逻辑。我更多地提到这一点只是为了一般知识。您的特定问题具有非平凡的几何结构,哈密顿系统也是如此。如果您经常发现自己在解决这类问题,那么您获得的有关哈密顿系统方法的知识将很好地转移到其他类型。