run

tenpy.algorithms.dmrg.run(psi, model, options, **kwargs)[source]

Run the DMRG algorithm to find the ground state of the given model.

Parameters:
  • psi (MPS) – Initial guess for the ground state, which is to be optimized 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 DMRG.

  • **kwargs – Further keyword arguments for the algorithm classes TwoSiteDMRGEngine or SingleSiteDMRGEngine.

Returns:

info – A dictionary with keys 'E', 'shelve', 'bond_statistics', 'sweep_statistics'

Return type:

dict

Options

config DMRG
option summary

active_sites

The number of active sites to be used by DMRG. [...]

chi_list (from Sweep) in IterativeSweeps.reset_stats

By default (``None``) this feature is disabled. [...]

chi_list_reactivates_mixer (from Sweep) in IterativeSweeps.sweep

If True, the mixer is reset/reactivated each time the bond dimension growth [...]

combine (from Sweep) in Sweep

Whether to combine legs into pipes. This combines the virtual and [...]

diag_method (from DMRGEngine) in DMRGEngine.diag

One of the following strings: [...]

E_tol_max (from DMRGEngine) in DMRGEngine.run_iteration

See `E_tol_to_trunc`

E_tol_min (from DMRGEngine) in DMRGEngine.run_iteration

See `E_tol_to_trunc`

E_tol_to_trunc (from DMRGEngine) in DMRGEngine.run_iteration

It's reasonable to choose the Lanczos convergence criteria [...]

lanczos_params (from Sweep) in Sweep

Lanczos parameters as described in :cfg:config:`KrylovBased`.

max_E_err (from DMRGEngine) in DMRGEngine.is_converged

Convergence if the change of the energy in each step [...]

max_hours (from IterativeSweeps) in DMRGEngine.stopping_criterion

If the DMRG took longer (measured in wall-clock time), [...]

max_N_for_ED (from DMRGEngine) in DMRGEngine.diag

Maximum matrix dimension of the effective hamiltonian [...]

max_N_sites_per_ring (from Algorithm) in Algorithm

Threshold for raising errors on too many sites per ring. Default ``18``. [...]

max_S_err (from DMRGEngine) in DMRGEngine.is_converged

Convergence if the relative change of the entropy in each step [...]

max_sweeps (from IterativeSweeps) in DMRGEngine.stopping_criterion

Maximum number of sweeps to perform.

max_trunc_err (from IterativeSweeps) in IterativeSweeps

Threshold for raising errors on too large truncation errors. Default ``0.00 [...]

min_sweeps (from IterativeSweeps) in DMRGEngine.stopping_criterion

Minimum number of sweeps to perform.

mixer (from Sweep) in DMRGEngine.mixer_activate

Specifies which :class:`Mixer` to use, if any. [...]

mixer_params (from Sweep) in DMRGEngine.mixer_activate

Mixer parameters as described in :cfg:config:`Mixer`.

N_sweeps_check (from DMRGEngine) in DMRGEngine.run_iteration

Number of sweeps to perform between checking convergence [...]

norm_tol (from DMRGEngine) in DMRGEngine.post_run_cleanup

After the DMRG run, update the environment with at most [...]

norm_tol_final (from DMRGEngine) in DMRGEngine.post_run_cleanup

After performing `norm_tol_iter`*`update_env` sweeps, if [...]

norm_tol_iter (from DMRGEngine) in DMRGEngine.post_run_cleanup

Perform at most `norm_tol_iter`*`update_env` sweeps to [...]

P_tol_max (from DMRGEngine) in DMRGEngine.run_iteration

See `P_tol_to_trunc`

P_tol_min (from DMRGEngine) in DMRGEngine.run_iteration

See `P_tol_to_trunc`

P_tol_to_trunc (from DMRGEngine) in DMRGEngine.run_iteration

It's reasonable to choose the Lanczos convergence criteria [...]

start_env (from Sweep) in DMRGEngine.init_env

Number of sweeps to be performed without optimization to update the environment.

trunc_params (from Algorithm) in Algorithm

Truncation parameters as described in :cfg:config:`truncation`.

update_env (from DMRGEngine) in DMRGEngine.run_iteration

Number of sweeps without bond optimization to update the [...]

option active_sites: 1 | 2

The number of active sites to be used by DMRG. If set to 1, SingleSiteDMRGEngine is used. If set to 2, DMRG is handled by TwoSiteDMRGEngine.