RealTimeEvolution¶
full name: tenpy.simulations.time_evolution.RealTimeEvolution
parent module:
tenpy.simulations.time_evolution
type: class
Inheritance Diagram
Methods
|
|
Do nothing. |
|
Determine the output filenames. |
|
Re-initialize a given simulation class from checkpoint results. |
|
Extract the name used for backups of output_filename. |
|
Read out the output_filename from the options. |
|
Try to save version info which is necessary to allow reproducability. |
|
Coarse-grain the model and state for the algorithm. |
|
Split sites of psi that were grouped in |
|
|
Initialize the algorithm. |
Initialize the |
|
Initialize and prepare measurements. |
|
Initialize a |
|
Initialize a tensor network |
|
Perform measurements and merge the results into |
|
Emits the |
|
Bring the results into a state suitable for saving. |
|
Resume a simulation that was initialized from a checkpoint. |
|
Resume running the algorithm. |
|
Run the whole simulation. |
|
Run the algorithm. |
|
|
Save the intermediate results at the checkpoint of an algorithm. |
|
Save the |
Class Attributes and Properties
|
name of the default algorithm engine class |
|
tuples as for |
|
class attribute. |
|
- class tenpy.simulations.time_evolution.RealTimeEvolution(options)[source]¶
Bases:
tenpy.simulations.simulation.Simulation
Perform a real-time evolution on a tensor network state.
- Parameters
options (dict-like) – The simulation parameters. Ideally, these options should be enough to fully specify all parameters of a simulation to ensure reproducibility.
Options
- config TimeEvolution¶
option summary algorithm_class (from Simulation) in Simulation.init_algorithm
Class or name of a subclass of :class:`~tenpy.algorithms.algorithm.Algorith [...]
algorithm_params (from Simulation) in Simulation.init_algorithm
Dictionary with parameters for the algortihm; see the decoumentation of the [...]
cache_params (from Simulation) in GroundStateSearch.init_cache
Dictionary with parameters for the cache, see [...]
cache_threshold_chi (from Simulation) in GroundStateSearch.init_cache
If the `algorithm_params.trunc_params.chi_max` in :attr:`options` is smalle [...]
connect_algorithm_checkpoint (from Simulation) in Simulation.init_algorithm
Functions to connect to the :attr:`~tenpy.algorithms.Algorith.checkpoint` e [...]
connect_measurements (from Simulation) in GroundStateSearch.init_measurements
Functions to connect to the :attr:`measurement_event`. [...]
directory (from Simulation) in Simulation
If not None (default), switch to that directory at the beginning of the sim [...]
Mandatory. Perform time evolution until ``engine.evolved_time`` reaches thi [...]
group_sites (from Simulation) in GroundStateSearch.group_sites_for_algorithm
How many sites to group. 1 means no grouping.
group_to_NearestNeighborModel (from Simulation) in GroundStateSearch.group_sites_for_algorithm
If True, convert the grouped model to a [...]
initial_state_builder_class (from Simulation) in GroundStateSearch.init_state
Class or name of a subclass of :class:`~tenpy.networks.mps.InitialStateBuil [...]
initial_state_params (from Simulation) in GroundStateSearch.init_state
Dictionary with parameters for building `psi`; see the decoumentation of th [...]
log_params (from Simulation) in Simulation
Log parameters; see :cfg:config:`log`.
measure_initial (from Simulation) in GroundStateSearch.init_measurements
Whether to perform a measurement on the initial state, i.e., before startin [...]
model_class (from Simulation) in GroundStateSearch.init_model
Mandatory. Class or name of a subclass of :class:`~tenpy.models.model.Model`.
model_params (from Simulation) in GroundStateSearch.init_model
Dictionary with parameters for the model; see the documentation of the [...]
output_filename (from Simulation) in GroundStateSearch.get_output_filename
If ``None`` (default), no output is written to files. [...]
output_filename_params (from Simulation) in GroundStateSearch.get_output_filename
Instead of specifying the `output_filename` directly, this dictionary descr [...]
overwrite_output (from Simulation) in GroundStateSearch.fix_output_filenames
Only makes a difference if `skip_if_output_exists` is False and the file ex [...]
random_seed (from Simulation) in Simulation
If not ``None``, initialize the numpy random generator with the given seed.
safe_write (from Simulation) in GroundStateSearch.fix_output_filenames
If True (default), perform a "safe" overwrite of `output_filename` as descr [...]
save_every_x_seconds (from Simulation) in GroundStateSearch.save_at_checkpoint
By default (``None``), this feature is disabled. [...]
save_psi (from Simulation) in GroundStateSearch.init_state
Whether the final :attr:`psi` should be included into the output :attr:`res [...]
sequential (from Simulation) in Simulation
Parameters for running simulations sequentially, see :cfg:config:`sequentia [...]
skip_if_output_exists (from Simulation) in GroundStateSearch.fix_output_filenames
If True, raise :class:`Skip` if the output file already exists.
use_default_measurements (from Simulation) in GroundStateSearch.init_measurements
Each Simulation class defines a list of :attr:`default_measurements` in the [...]
- option final_time: float¶
Mandatory. Perform time evolution until
engine.evolved_time
reaches this value. Note that we can go (slightly) beyond this time if it is not a multiple of the individual time steps.
- run_algorithm()[source]¶
Run the algorithm.
Calls
self.engine.run()
andmake_measurements()
.
- final_measurements()[source]¶
Do nothing.
We already performed a set of measurements after the evolution in
run_algorithm()
.
- fix_output_filenames()[source]¶
Determine the output filenames.
This function determines the
output_filename
and writes a one-line text into that file to indicate that we’re running a simulation generating it. Further,_backup_filename
is determined.Options
- option Simulation.skip_if_output_exists: bool¶
If True, raise
Skip
if the output file already exists.
- option Simulation.overwrite_output: bool¶
Only makes a difference if skip_if_output_exists is False and the file exists. In that case, with overwrite_output, just save everything under that name again, or with overwrite_output`=False, replace ``filename.ext` with
filename_01.ext
(and further increasing numbers) until we get a filename that doesn’t exist yet.
- option Simulation.safe_write: bool¶
If True (default), perform a “safe” overwrite of output_filename as described in
save_results()
.
- classmethod from_saved_checkpoint(filename=None, checkpoint_results=None, **kwargs)[source]¶
Re-initialize a given simulation class from checkpoint results.
You should probably call
resume_run()
after sucessfull initialization.Instead of calling this directly, consider using
resume_from_checkpoint()
.- Parameters
filename (None | str) – The filename of the checkpoint to be loaded. You can either specify the filename or the checkpoint_results.
checkpoint_results (None | dict) – Alternatively to filename the results of the simulation so far, i.e. directly the data dicitonary saved at a simulation checkpoint.
**kwargs – Further keyword arguments given to the Simulation.__init__.
- get_backup_filename(output_filename)[source]¶
Extract the name used for backups of output_filename.
- Parameters
output_filename (pathlib.Path) – The filename where data is saved.
- Returns
backup_filename – The filename where to keep a backup while writing files to avoid.
- Return type
- get_output_filename()[source]¶
Read out the output_filename from the options.
You can easily overwrite this method in subclasses to customize the outputfilename depending on the options passed to the simulations.
Options
- option Simulation.output_filename: path_like | None¶
If
None
(default), no output is written to files. If a string, this filename is used for output (up to modifications byfix_output_filenames()
to avoid overwriting previous results).
- option Simulation.output_filename_params: dict¶
Instead of specifying the output_filename directly, this dictionary describes the parameters that should be included into it. Entries of the dictionary are keyword arguments to
output_filename_from_dict()
with the simulation parameters (Simulation
, or equivalentlyoptions
) as options.
- Returns
output_filename – Filename for output; None disables any writing to files. Relative to
Simulation.directory
, if specified. The file ending determines the output format.- Return type
- group_sites_for_algorithm()[source]¶
Coarse-grain the model and state for the algorithm.
Options
- option Simulation.group_sites: int¶
How many sites to group. 1 means no grouping.
- option Simulation.group_to_NearestNeighborModel: bool¶
If True, convert the grouped model to a
NearestNeighborModel
. Use this if you want to run TEBD with a model that was originally next-nearest neighbor.
- group_split()[source]¶
Split sites of psi that were grouped in
group_sites_for_algorithm()
.
- init_algorithm(**kwargs)[source]¶
Initialize the algorithm.
If
results
has ‘resume_data’, it is read out, used for initialization and removed from the results.- Parameters
**kwargs – Extra keyword arguments passed on to the Algorithm.__init__(), for example the resume_data when calling resume_run.
Options
- option Simulation.algorithm_class: str | class¶
Class or name of a subclass of
Algorithm
. The engine of the algorithm to be run.
- option Simulation.algorithm_params: dict¶
Dictionary with parameters for the algortihm; see the decoumentation of the algorithm_class.
- option Simulation.connect_algorithm_checkpoint: list of tuple¶
Functions to connect to the
checkpoint
event of the algorithm. Each tuple can be of length 2 to 4, with entries(module, function, kwargs, priority)
, the last two optionally. The mandatory module and function specify a callback measurement function. kwargs can specify extra keyword-arguments for the function, priority allows to tune the order in which the measurement functions get called. Seeconnect_by_name()
for more details.
- init_cache()[source]¶
Initialize the
cache
from the options.This method is only called automatically when the simulation is used in a
with ...
statement. This is the case if you userun_simulation()
, etc.Options
- option Simulation.cache_threshold_chi: int¶
If the algorithm_params.trunc_params.chi_max in
options
is smaller than this threshold, do not initialize a (non-trivial) cache.
- option Simulation.cache_params: dict¶
Dictionary with parameters for the cache, see
open()
.
- init_measurements()[source]¶
Initialize and prepare measurements.
Options
- option Simulation.connect_measurements: list of tuple¶
Functions to connect to the
measurement_event
. Each tuple can be of length 2 to 4, with entries(module, function, kwargs, priority)
, the last two optionally. The mandatory module and function specify a callback measurement function. kwargs can specify extra keyword-arguments for the function, priority allows to tune the order in which the measurement functions get called. Seeconnect_by_name()
for more details.
- option Simulation.use_default_measurements: bool¶
Each Simulation class defines a list of
default_measurements
in the same format asSimulation.connect_measurements
. This flag allows to explicitly disable them.
- option Simulation.measure_initial: bool¶
Whether to perform a measurement on the initial state, i.e., before starting the algorithm run.
- init_model()[source]¶
Initialize a
model
from the model parameters.Skips initialization if
model
is already set.Options
- option Simulation.model_class: str | class¶
Mandatory. Class or name of a subclass of
Model
.
- option Simulation.model_params: dict¶
Dictionary with parameters for the model; see the documentation of the corresponding model_class.
- init_state()[source]¶
Initialize a tensor network
psi
.Skips initialization if
psi
is already set.Options
- option Simulation.initial_state_builder_class: str | class¶
Class or name of a subclass of
InitialStateBuilder
. Used to initialize psi according to the initial_state_params.
- option Simulation.initial_state_params: dict¶
Dictionary with parameters for building psi; see the decoumentation of the initial_state_builder_class, e.g.
InitialStateBuilder
.
- option Simulation.save_psi: bool¶
Whether the final
psi
should be included into the outputresults
.
- make_measurements()[source]¶
Perform measurements and merge the results into
self.results['measurements']
.
- perform_measurements()[source]¶
Emits the
measurement_event
to call measurement functions and collect results.- Returns
results – The results from calling the measurement functions.
- Return type
- prepare_results_for_save()[source]¶
Bring the results into a state suitable for saving.
For example, this can be used to convert lists to numpy arrays, to add more meta-data, or to clean up unnecessarily large entries.
Options
- Cfg:configoptions :
Simulation
- save_resume_databool
If True, include data from
get_resume_data()
into the output as resume_data.
- Returns
results – A copy of
results
containing everything to be saved. Measurement results are converted into a numpy array (if possible).- Return type
- resume_run()[source]¶
Resume a simulation that was initialized from a checkpoint.
- Returns
results – The
results
as returned byprepare_results_for_save()
.- Return type
- run()[source]¶
Run the whole simulation.
- Returns
results – The
results
as returned byprepare_results_for_save()
.- Return type
- save_at_checkpoint(alg_engine)[source]¶
Save the intermediate results at the checkpoint of an algorithm.
- Parameters
alg_engine (
Algorithm
) – The engine of the algorithm. Not used in this function, mostly there for compatibility with thetenpy.algorithms.Algorithm.checkpoint
event.
Options
- option Simulation.save_every_x_seconds: float | None¶
By default (
None
), this feature is disabled. If given, save theresults
obtained so far at eachtenpy.algorithm.Algorithm.checkpoint
when at least save_every_x_seconds seconds evolved since the last save (or since starting the algorithm). To avoid unnecessary, slow disk input/output, the value will be increased if saving takes longer than 10% of save_every_x_seconds. Use0.
to force saving at each checkpoint.
- save_results(results=None)[source]¶
Save the
results
to an output file.Performs a “safe” overwrite of
output_filename
by first moving the old file to_backup_filename
, then writing the new file, and finally removing the backup.- Parameters
results (dict | None) – The results to be safed. If not specified, call
prepare_results_for_save()
to allow last-minute adjustments to the savedresults
.