Engine¶
full name: tenpy.algorithms.tdvp.Engine
parent module:
tenpy.algorithms.tdvp
type: class
Inheritance Diagram
Methods
|
Initialize self. |
|
Run the TDVP algorithm with the one site algorithm. |
|
Run the TDVP algorithm with two sites update. |
|
Relabel the svd. |
Performs the sweep left->right of the second order TDVP scheme with one site update. |
|
Performs the sweep left->right of the second order TDVP scheme with two sites update. |
|
Performs the sweep right->left of the second order TDVP scheme with one site update. |
|
Performs the sweep left->right of the second order TDVP scheme with two sites update. |
|
|
Performs the SVD from left to right. |
|
Performs the SVD from right to left. |
|
Update with the zero site Hamiltonian (update of the singular value) |
|
Update with the one site Hamiltonian. |
|
Update with the two sites Hamiltonian. |
Class Attributes and Properties
|
-
class
tenpy.algorithms.tdvp.
Engine
(psi, model, options, environment=None)[source]¶ Bases:
object
Time dependent variational principle ‘Engine’.
You can call
run_one_site()
for single-site TDVP, orrun_two_sites()
for two-site TDVP.Deprecated since version 0.6.0: Renamed parameter/attribute TDVP_params to
options
.- Parameters
psi (
MPS
) – Initial state to be time evolved. Modified in place.model (
MPOModel
) – The model representing the Hamiltonian for which we want to find the ground state.options (dict) – Further optional parameters as described in the following table. Use
verbose>0
to print the used parameters during runtime.environment (:class:'~tenpy.networks.mpo.MPOEnvironment` | None) – Initial environment. If
None
(default), it will be calculated at the beginning.
Options
-
config
TDVP
¶ option summary Time step of the Trotter error
Lanczos options as described in :cfg:config:`Lanczos`.
Initial value for :attr:`evolved_time`
Truncation parameters as described in :func:`~tenpy.algorithms.truncation.t [...]
How much to print what's being done; higher means print more. [...]
-
option
start_time
: float¶ Initial value for
evolved_time
-
option
dt
: float¶ Time step of the Trotter error
-
option
trunc_params
: dict¶ Truncation parameters as described in
truncate()
-
option
-
verbose
¶ Level of verbosity (i.e. how much status information to print); higher=more output.
- Type
-
evolved_time
¶ Indicating how long psi has been evolved,
psi = exp(-i * evolved_time * H) psi(t=0)
.- Type
float | complex
-
environment
¶ The environment, storing the LP and RP to avoid recalculations.
- Type
-
lanczos_options
¶ Options passed on to
LanczosEvolution
.- Type
-
run_one_site
(N_steps=None)[source]¶ Run the TDVP algorithm with the one site algorithm.
Warning
Be aware that the bond dimension will not increase!
- Parameters
N_steps (integer. Number of steps) –
-
run_two_sites
(N_steps=None)[source]¶ Run the TDVP algorithm with two sites update.
The bond dimension will increase. Truncation happens at every step of the sweep, according to the parameters set in trunc_params.
- Parameters
N_steps (integer. Number of steps) –
-
sweep_left_right
()[source]¶ Performs the sweep left->right of the second order TDVP scheme with one site update.
Evolve from 0.5*dt.
-
sweep_left_right_two
()[source]¶ Performs the sweep left->right of the second order TDVP scheme with two sites update.
Evolve from 0.5*dt
-
sweep_right_left
()[source]¶ Performs the sweep right->left of the second order TDVP scheme with one site update.
Evolve from 0.5*dt
-
sweep_right_left_two
()[source]¶ Performs the sweep left->right of the second order TDVP scheme with two sites update.
Evolve from 0.5*dt
-
update_theta_h2
(Lp, Rp, theta, W0, W1, dt)[source]¶ Update with the two sites Hamiltonian.
- Parameters
Lp (
tenpy.linalg.np_conserved.Array
) – tensor representing the left environmentRp (
tenpy.linalg.np_conserved.Array
) – tensor representing the right environmenttheta (
tenpy.linalg.np_conserved.Array
) – the theta tensor which needs to be updatedW (
tenpy.linalg.np_conserved.Array
) – MPO which is applied to the ‘p0’ leg of thetaW1 (
tenpy.linalg.np_conserved.Array
) – MPO which is applied to the ‘p1’ leg of theta
-
theta_svd_left_right
(theta)[source]¶ Performs the SVD from left to right.
- Parameters
theta (
tenpy.linalg.np_conserved.Array
) – the theta tensor on which the SVD is applied
-
set_anonymous_svd
(U, new_label)[source]¶ Relabel the svd.
- Parameters
U (
tenpy.linalg.np_conserved.Array
) – the tensor which lacks a leg_label
-
theta_svd_right_left
(theta)[source]¶ Performs the SVD from right to left.
- Parameters
theta (
tenpy.linalg.np_conserved.Array
,) – The theta tensor on which the SVD is applied
-
update_s_h0
(s, H, dt)[source]¶ Update with the zero site Hamiltonian (update of the singular value)
- Parameters
s (
tenpy.linalg.np_conserved.Array
) – representing the singular value matrix which is updatedH (H0_mixed) – zero site Hamiltonian that we need to apply on the singular value matrix
dt (complex number) – time step of the evolution