GroundStateSearch

Inheritance Diagram

Inheritance diagram of tenpy.simulations.ground_state_search.GroundStateSearch

Methods

GroundStateSearch.__init__(options, *[, …])

Initialize self.

GroundStateSearch.final_measurements()

Perform a last set of measurements.

GroundStateSearch.fix_output_filenames()

Determine the output filenames.

GroundStateSearch.from_saved_checkpoint([…])

Re-initialize a given simulation class from checkpoint results.

GroundStateSearch.get_backup_filename(…)

Extract the name used for backups of output_filename.

GroundStateSearch.get_output_filename()

Read out the output_filename from the options.

GroundStateSearch.get_version_info()

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

GroundStateSearch.init_algorithm(**kwargs)

Initialize the algorithm.

GroundStateSearch.init_measurements()

Initialize and prepare measurements.

GroundStateSearch.init_model()

Initialize a model from the model parameters.

GroundStateSearch.init_state()

Initialize a tensor network psi.

GroundStateSearch.make_measurements()

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

GroundStateSearch.perform_measurements()

Emits the measurement_event to call measurement functions and collect results.

GroundStateSearch.prepare_results_for_save()

Bring the results into a state suitable for saving.

GroundStateSearch.resume_run()

Resume a simulation that was initialized from a checkpoint.

GroundStateSearch.resume_run_algorithm()

Resume running the algorithm.

GroundStateSearch.run()

Run the whole simulation.

GroundStateSearch.run_algorithm()

Run the algorithm.

GroundStateSearch.save_at_checkpoint(alg_engine)

Save the intermediate results at the checkpoint of an algorithm.

GroundStateSearch.save_results()

Save the results to an output file.

Class Attributes and Properties

GroundStateSearch.default_algorithm

name of the default algorithm engine class

GroundStateSearch.default_measurements

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

GroundStateSearch.logger

class attribute.

GroundStateSearch.verbose

class tenpy.simulations.ground_state_search.GroundStateSearch(options, *, setup_logging=True, resume_data=None)[source]

Bases: tenpy.simulations.simulation.Simulation

Simutions for variational ground state searches.

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

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

save_stats in GroundStateSearch.init_algorithm

Whether to include the `sweep_stats` and `update_stats` of the engine into [...]

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

init_algorithm(**kwargs)[source]

Initialize the algorithm.

Options

option GroundStateSearch.save_stats: bool

Whether to include the sweep_stats and update_stats of the engine into the output.

run_algorithm()[source]

Run the algorithm. Calls self.engine.run().

final_measurements()[source]

Perform a last set of measurements.

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

pathlib.Path

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 by fix_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 equivalently options) 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

str | None

get_version_info()[source]

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

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.

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 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. Measurement results are converted into a numpy array (if possible).

Return type

dict

resume_run()[source]

Resume a simulation that was initialized from a checkpoint.

Returns

results – The results as returned by prepare_results_for_save().

Return type

dict

resume_run_algorithm()[source]

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

run()[source]

Run the whole simulation.

Returns

results – The results as returned by prepare_results_for_save().

Return type

dict

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.