Tools /
## MpITdvpCalculate the time evolution of an infinite MPS using the TDVP algorithm. ## Synopsis
## Options
Show help message.
`--Hamiltonian` The Hamiltonian operator to use for the time evolution (defaults to the `EvolutionHamiltonian` or `Hamiltonian` wavefunction attribute).
`--wavefunction` The initial wavefunction ( required).
`--output` Prefix for output files (defaults to the `Prefix` wavefunction attribute or the initial wavefunction name).
`--timestep` The evolution timestep, which can be complex ( required).
`--num-timesteps` The number of timesteps to calculate (default 1).
`--save-timesteps` Save the wavefunction every s timesteps (if s = 0, then only save the final wavefunction).
The maximum number of iterations to use for the Lanczos algorithm for evolving each local matrix (default 10).
The error tolerance for the Lanczos algorithm (default `1e-16` ).
The error tolerance for the GMRES algorithm for finding the initial left and right Hamiltonian environments (default `1e-13` ).
The minimum number of states to keep, i.e. the minimum bond dimension (default 2).
`--max-states` The maximum number of states to keep, i.e. the maximum bond dimension (default 100000).
`--trunc` The truncation error cutoff threshold (alternative to `-d` ).
`--eigen-cutoff` The eigenvalue cutoff threshold for bond expansion..
Specify this option to enable bond expansion for single-site TDVP.
`--lambdatol` The tolerance for the squared Frobenius norm of the difference of lambda matrices from successive sweeps (default `1e-16` ).
The maximum number of left/right sweeps of the unit cell (default 10).
Calculate the error measures {$\epsilon_1^2$} and {$\epsilon_2^2$} (i.e. the single-site and two-site variances).
`--neps` Calculate the error measures {$\epsilon_n^2$} up to {$n = \texttt{NEps}$}.
`--composition` The timestep composition scheme to use (use `--help` to show the available compositions, and use `-v` to get their values).
For time-dependent Hamiltonians, use this variant of the Magnus expansion (currently, only a second-order `2` and a fourth-order `4` expansion are implemented).
For time-dependent Hamiltonians, use this string to represent the time variable (default `t` ).
Normalise the wavefunction when saving (default if the timestep is real).
Do not normalise the wavefunction when saving (default if the timestep is not real).
`--verbose` Increase verbosity.
## Description## iTDVPThis algorithm extends the finite TDVP algorithm to calculate the time evolution of infinite MPSs (for more details of the TDVP algorithm itself, see the page for the finite algorithm). Like finite TDVP, this algorithm performs a right-to-left sweep of the state followed by a left-to-right sweep to evolve the state by a timestep. In order to perform a right-to-left sweep on an infinite MPS, we sweep over the unevolved unit cell multiple times from right-to-left, updating the right Hamiltonian environment after each sweep, until some convergence criterion is met. For this criterion, we use the squared Frobenius norm of difference of the Lambda matrices obtained from successive sweeps ({$\|\Lambda - \Lambda'\|^2$}). (We note that, when performing an SVD on the leftmost A-matrix in the unit cell to bring it into right-orthogonal form {$A_R$}, we use {$$A = USV^\dagger = \Lambda A_R \quad\text{where}\quad \Lambda = USU^\dagger, \quad A_R = UV^\dagger,$$} this ensures that the bases at the left and right of the unit cell always match, which is important when updating the right Hamiltonian environments between sweeps, and allows us to calculate {$\|\Lambda - \Lambda'\|^2$}, which otherwise may not be possible if the right bases of {$\Lambda$} and {$\Lambda'$} were different.) (We also note that we could use the fidelity of the unit cell between two successive sweeps as a convergence criterion, but this value is only useful until the difference between the fidelity and 1 falls below machine epsilon, whereas the difference of Lambda matrices is still useful after this point.) |

Page last modified on October 25, 2023, at 07:48 AM