Algorithm¶
full name: tenpy.algorithms.algorithm.Algorithm
parent module:
tenpy.algorithms.algorithm
type: class
Inheritance Diagram
Methods
|
|
|
Return necessary data to resume a |
Resume a run that was interrupted. |
|
Actually run the algorithm. |
Class Attributes and Properties
|
- class tenpy.algorithms.algorithm.Algorithm(psi, model, options, *, resume_data=None, cache=None)[source]¶
Bases:
object
Base class and common interface for a tensor-network based algorithm in TeNPy.
- Parameters
psi – Tensor network to be updated by the algorithm.
model (
Model
| None) – Model with the representation of the hamiltonian suitable for the algorithm. None for algorithms which don’t require a model.options (dict-like) – Optional parameters for the algorithm. In the online documentation, you can find the correct set of options in the Config Index.
resume_data (None | dict) – Can only be passed as keyword argument. By default (
None
) ignored. If a dict, it should contain the data returned byget_resume_data()
when intending to continue/resume an interrupted run. If it contains psi, this takes precedence over the argument psi.cache (None |
DictCache
) – The cache to be used to reduce memory usage. None defaults to a new, trivialDictCache
which keeps everything in RAM.
Options
- config Algorithm¶
option summary Truncation parameters as described in :cfg:config:`truncation`.
- option trunc_params: dict¶
Truncation parameters as described in
truncation
.
- psi¶
Tensor network to be updated by the algorithm.
- checkpoint¶
An event that the algorithm emits at regular intervalls when it is in a “well defined” step, where an intermediate status report, measurements and/or interrupting and saving to disk for later resume make sense.
- Type
- cache¶
The cache to be used.
- Type
DictCache
or subclass
- resume_data¶
Data gvien as parameter resume_data and/or to be returned by
get_resume_data()
.- Type
- _resume_psi¶
Possibly a copy of psi to be used for
get_resume_data()
.
- resume_run()[source]¶
Resume a run that was interrupted.
In case we saved an intermediate result at a
checkpoint
, this function allows to resume therun()
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 callrun()
.
- get_resume_data(sequential_simulations=False)[source]¶
Return necessary data to resume a
run()
interrupted at a checkpoint.At a
checkpoint
, you can savepsi
,model
andoptions
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()
An algorithm which doesn’t support this should override resume_run to raise an Error.
- Parameters
sequential_simulations (bool) – If True, return only the data for re-initializing a sequential simulation run, where we “adiabatically” follow the evolution of a ground state (for variational algorithms), or do series of quenches (for time evolution algorithms); see
run_seq_simulations()
.- 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. It might contain an explicit copy of psi.
- Return type