Engine

Inheritance Diagram

Inheritance diagram of tenpy.algorithms.tdvp.Engine

Methods

Engine.__init__(psi, model, options)

Initialize self.

Engine.get_resume_data()

Return necessary data to resume a run() interrupted at a checkpoint.

Engine.resume_run()

Resume a run that was interrupted.

Engine.run()

(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.

Engine.sweep_left_right()

Performs the sweep left->right of the second order TDVP scheme with one site update.

Engine.sweep_left_right_two()

Performs the sweep left->right of the second order TDVP scheme with two sites update.

Engine.sweep_right_left()

Performs the sweep right->left of the second order TDVP scheme with one site update.

Engine.sweep_right_left_two()

Performs the sweep left->right of the second order TDVP scheme with two sites update.

Engine.theta_svd_left_right(theta)

Performs the SVD from left to right.

Engine.theta_svd_right_left(theta)

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

Engine.verbose

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

Bases: tenpy.algorithms.tdvp.TDVPEngine

Deprecated old name of TDVPEngine.

get_resume_data()[source]

Return necessary data to resume a run() interrupted at a checkpoint.

At a checkpoint, you can save psi, model and options along with the data returned by this function. When the simulation aborts, you can resume it using this saved data with:

eng = AlgorithmClass(psi, model, options, resume_data=resume_data)
eng.resume_run(resume_data)

An algorithm which doesn’t support this should override resume_run to raise an Error.

Returns

resume_data – Dictionary with necessary data (apart from copies of psi, model, options) that allows to continue the simulation from where we are now.

Return type

dict

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 (after re-initialization with the resume_data). 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
  • s (tenpy.linalg.np_conserved.Array) – representing the singular value matrix which is updated

  • H (H0_mixed) – zero site Hamiltonian that we need to apply on the singular value matrix

  • dt (complex number) – time step of the evolution

update_theta_h1(Lp, Rp, theta, W, dt)[source]

Update with the one site Hamiltonian.

Parameters
  • Lp (Array) – tensor representing the left environment

  • Rp (Array) – tensor representing the right environment

  • theta (Array) – the theta tensor which needs to be updated

  • W (Array) – MPO which is applied to the ‘p’ leg of theta

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

Update with the two sites Hamiltonian.

Parameters