RealTimeEvolution

Inheritance Diagram

Inheritance diagram of tenpy.simulations.time_evolution.RealTimeEvolution

Methods

RealTimeEvolution.__init__(options)

Initialize self.

RealTimeEvolution.final_measurements()

Do nothing.

RealTimeEvolution.fix_output_filenames()

Determine the output filenames.

RealTimeEvolution.from_saved_checkpoint([…])

RealTimeEvolution.get_backup_filename(…)

Extract the name used for backups of output_filename.

RealTimeEvolution.get_version_info()

Try to save version info which is necessary to allow reproducability.

RealTimeEvolution.init_algorithm(**kwargs)

Initialize the algortihm.

RealTimeEvolution.init_measurements()

Initialize and prepare measurements.

RealTimeEvolution.init_model()

Initialize a model from the model parameters.

RealTimeEvolution.init_state()

Initialize a tensor network psi.

RealTimeEvolution.make_measurements()

Perform measurements and merge the results into self.results['measurements'].

RealTimeEvolution.perform_measurements()

Emits the measurement_event to call measurement functions and collect results.

RealTimeEvolution.prepare_results_for_save()

Bring the results into a state suitable for saving.

RealTimeEvolution.resume_run()

Resume a simulation that was initialized from a checkpoint.

RealTimeEvolution.resume_run_algorithm()

Resume running the algorithm.

RealTimeEvolution.run()

Run the whole simulation.

RealTimeEvolution.run_algorithm()

Run the algorithm.

RealTimeEvolution.save_at_checkpoint(alg_engine)

Save the intermediate results at the checkpoint of an algorithm.

RealTimeEvolution.save_results()

Save the results to an output file.

Class Attributes and Properties

RealTimeEvolution.default_algorithm

name of the default algorithm engine class

RealTimeEvolution.default_measurements

tuples as for Simulation.connect_measurements that get added if the Simulation.use_default_measurements is True.

RealTimeEvolution.logger

class attribute.

RealTimeEvolution.verbose

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 [...]

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 [...]

final_time

Mandatory. Perform time evolution until ``engine.evolved_time`` reaches thi [...]

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 [...]

logging_params (from Simulation) in Simulation

Logging parameters; see :cfg:config:`logging`.

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

Filename for output. The file ending determines the output format. [...]

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.

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 [...]

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() and make_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.output_filename: string | None

Filename for output. The file ending determines the output format. None (default) disables any writing to files.

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.

get_backup_filename(output_filename)[source]

Extract the name used for backups of output_filename.

get_version_info()[source]

Try to save version info which is necessary to allow reproducability.

init_algorithm(**kwargs)[source]

Initialize the algortihm.

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. See connect_by_name() for more details.

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. See connect_by_name() for more details.

option Simulation.use_default_measurements: bool

Each Simulation class defines a list of default_measurements in the same format as Simulation.connect_measurements. This flag allows to explicitly disable them.

init_model()[source]

Initialize a model from the model parameters.

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.

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 output results.

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

dict

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.

Return type

dict

resume_run()[source]

Resume a simulation that was initialized from a checkpoint.

resume_run_algorithm()[source]

Resume running the algorithm. Calls self.engine.resume_run().

run()[source]

Run the whole simulation.

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 the tenpy.algorithms.Algorithm.checkpoint event.

Options

option Simulation.save_every_x_seconds: float | None

By default (None), this feature is disabled. If given, save the results obtained so far at each tenpy.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. Use 0. to force saving at each checkpoint.

save_results()[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.

Calls prepare_results_for_save() to allow last-minute adjustments to the saved results.