# Engine¶

Inheritance Diagram

Methods

 Engine.__init__(psi, model, options) Initialize self. Resume a run that was interrupted. (Real-)time evolution with TDVP. Engine.run_one_site([N_steps]) Run the TDVP algorithm with the one site algorithm. Engine.run_two_sites([N_steps]) Run the TDVP algorithm with two sites update. Engine.set_anonymous_svd(U, new_label) 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. Engine.update_s_h0(s, H, dt) Update with the zero site Hamiltonian (update of the singular value) Engine.update_theta_h1(Lp, Rp, theta, W, dt) Update with the one site Hamiltonian. Engine.update_theta_h2(Lp, Rp, theta, W0, W1, dt) Update with the two sites Hamiltonian.

Class Attributes and Properties

 Engine.TDVP_params
class tenpy.algorithms.tdvp.Engine(psi, model, options)[source]

Deprecated old name of TDVPEngine.

resume_run()[source]

Resume a run that was interrupted.

In case we saved an intermediate result at a checkpoint, this function allows to resume the run() of the algorithm. Since most algorithms just have a while loop with break conditions, the default behaviour implemented here is to just call run().

run()[source]

(Real-)time evolution with TDVP.

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) –

set_anonymous_svd(U, new_label)[source]

Relabel the svd.

Parameters

U (tenpy.linalg.np_conserved.Array) – the tensor which lacks a leg_label

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

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

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
update_theta_h1(Lp, Rp, theta, W, dt)[source]

Update with the one site Hamiltonian.

Parameters
update_theta_h2(Lp, Rp, theta, W0, W1, dt)[source]

Update with the two sites Hamiltonian.

Parameters