Implicit time evolution methods#
Implicit methods solve the time evolution by inverting a linear system at each step. While more computationally expensive per step than explicit methods, they offer superior stability for stiff problems and can use larger time steps.
Crank-Nicolson method#
The Crank-Nicolson method is a second-order implicit approach that combines the forward Euler method and its backward counterpart at the \(k\) and \(k+1\) iterations, respectively. The approximation of the state at the \(k\)-th iteration is expressed as
Each step requires solving a linear system, which in SeeMPS is done using the conjugate gradient method.
|
Solve a Schrodinger equation using a fourth order Runge-Kutta method. |
Radau IIA method#
For stiff problems requiring high-order accuracy, SeeMPS provides the Radau IIA integrator with either 3 or 5 stages (order 5 and 9, respectively).
The algorithm requires solving for a vector of stage derivatives \(K\) in
where \(A\) is the Butcher matrix of size \(s \times s\), \(s\) is the number of stages, and \(\mathbf{1}\) is a vector of ones. This system is solved for \(K\), and the state update is obtained by contracting the stage index with the Runge-Kutta weights \(b\):
The linear system is solved using DMRG-based matrix inversion.
|
Solve a Schrödinger equation using an implicit Radau IIA method with either 3 or 5 stages (order 5 or 9, respectively). |
See also#
Restarted Arnoldi iteration - Krylov-based time evolution
Runge-Kutta methods - Explicit time evolution methods
TEBD Time evolution - Local evolution for nearest-neighbor Hamiltonians
Time-Dependent Variational Principle (TDVP) - Time-dependent variational principle