Propagators for the time-dependent Kohn-Sham equations: multistep, Runge-Kutta, exponential Runge-Kutta, and commutator free Magnus methods
Adri\'an G\'omez Pueyo, Miguel A. L. Marques, Angel Rubio, Alberto, Castro

TL;DR
This paper compares various numerical integration methods for the nonlinear, density-dependent time-dependent Kohn-Sham equations, highlighting a fourth-order commutator-free Magnus integrator as the most robust and efficient option.
Contribution
It introduces and evaluates four families of propagators for the TDKS equations, emphasizing the effectiveness of a simplified fourth-order commutator-free Magnus scheme.
Findings
The commutator-free Magnus integrator is the most robust and efficient method.
Implicit multistep methods can be useful in specific cases.
Performance analysis shows trade-offs between cost and accuracy.
Abstract
We examine various integration schemes for the time-dependent Kohn-Sham equations. Contrary to the time-dependent Schr\"odinger's equation, this set of equations is non-linear, due to the dependence of the Hamiltonian on the electronic density. We discuss some of their exact properties, and in particular their symplectic structure. Four different families of propagators are considered, specifically the linear multistep, Runge-Kutta, exponential Runge-Kutta, and the commutator-free Magnus schemes. These have been chosen because they have been largely ignored in the past for time-dependent electronic structure calculations. The performance is analyzed in terms of cost-versus-accuracy. The clear winner, in terms of robustness, simplicity, and efficiency is a simplified version of a fourth-order commutator-free Magnus integrator. However, in some specific cases, other propagators, such as…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
