input_reader

Fortran module input_reader: File_ID: UIR Reading input for aTTN algorithm par Purpose: Ther purpose of the model is reading user input under the condition that it is type independent with regard to the tensor. Single precisions, double precisions, and double complex can be handled here. Thus, the original description applies as possible under this restriction and certain types have been moved to the input processing module, which allows any type specific classes. Thus, the new parameterized models are defined via integer indices, where the list of operators is defined separately. Hopefully, this choice leads to a better modularization, where new code can be built with the current type without propagatig the tensor class dependency. Previous support for 2D systems has been removed, these terms are easier to support via the python side, especially once we start modifying parameters. 01/03/2018 13:04:53 - Timo Felser: Created August 2021 - Daniel Jaschke: remove type dependencies, error handling

Authors

  • par REVISION HISTORY:

class input_reader_f90.string[source]

No documentation extracted.

class input_reader_f90.task[source]

No documentation extracted.

Class variables

tn_type = 1integer

tree : 1, aTTN : 2

tensor_backend = 1integer

AbelianSymTensor : 1, Tensor : 2

version_input_processor = 1integer

version input processor (original : 1, generic features : 2, parameterized model : 3). Only 3 supported at this stage

time_evolution_mode = 1integer

time evolution mode: 1 : tdvp onesite, 2 : tdvp expansion (two site)

oqs_mode = 0integer

open quantum system mode: 0 : closed system, 1 : quantum trajectories 2 : quantum trajectories (norm only)

seedinteger, dimension(4)

Seed the random number generator.

mpo_mode = -1integer

Setting for the iTPO (and MPO selection more generally) -1: auto-select 0: TPO, 1: iTPO, 2: iTPO w/ update, 3: iTPO w/ compression (restrictions apply) 10: sparse MPO (restrictions apply)

magic_number = 0integer

For debugging and development. Using prime numbers to encode special settings during debugging or development, i.e., when it is necessary to pass a parameters from python to fortran which does not exist. Should not be used in production code.

log_filecharacter(len=:), allocatable

Control the log file: path to logfile

log_unit = 6integer

unit for log file

has_log_file = .false.logical

flag if logfile

store_checkpoints = .true.logical

Flag to control if checkpoints are stored (can avoid hard-disk limitations)

class input_reader_f90.checkpoints[source]

No documentation extracted.

Class variables

do_loadlogical

Flag if a previous checkpoint can be loaded.

do_storelogical

Flag if checkpoints should be stored (copy of input parameters).

do_create_filelogical

Flag if the file indicating the existing of a checkpoing still has to be created.

output_foldercharacter(len=512)

String containing the output folder.

lastcharacter(len=512)

String to the last checkpoint which has to be deleted upon creating a new checkpoint. An empty string signals no previous checkpoints.

class input_reader_f90.plocal_type[source]

No documentation extracted.

Class variables

site_indinteger

Apply term to this site (-1 equals to all sites)

operator_idinteger

reference to the operator via integer id

parameter_idinteger

reference to parameter via integer

prefactordouble precision

weight / pre-factor

plocal_d_next()[source]

fortran-subroutine - August 2021 (dj) Method to iterate over the local terms. Returns next_idx=-1 if no term is left.

Arguments

thisclass(plocal_type), intent(in)

iterate over this instance

next_idxinteger, intent(inout)

index of the next term. Set to 1 for first call, exit loop when index is set to -1. Increment is done within this subroutine

llinteger, intent(in)

system size of the 1d system

next_siteinteger, intent(out)

index of the site

next_opinteger, intent(out)

integer id of the operator

next_paraminteger, intent(out)

integer id of the parameter

next_weightdouble precision, intent(out)

corresponding weight

errorclass(error_type), allocatable, intent(out), optional

Instance for error tracking.

plocal_read()[source]

fortran-subroutine - August 2021 (dj) Read plocal term from an open unit.

plocal_s_next()[source]

fortran-subroutine - October 2022 (dj) Method to iterate over the local terms. Returns next_idx=-1 if no term is left. Version with next_weight as single precision.

Details

See d_plocal_next

class input_reader_f90.pinteraction_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of terms in order to combine terms with equal number of operators

num_operatorsinteger

number of operators (not number of sites spanned by the terms)

site_indsinteger, dimension(:, :), allocatable

Site indices for the operators. Array will have size of num_operators x num_terms

operator_idsinteger, dimension(:, :), allocatable

reference to the operators via integers (the list with operators will be passed seperately). The array has a size of num_operators x num_terms

parameter_idsinteger, dimension(:), allocatable

reference to parameters via integers (organized seperately). The array size is num_terms

prefactorsdouble precision, dimension(:), allocatable

weight factors / pre-factors of size num_terms

pinteraction_d_next()[source]

fortran-subroutine - August 2021 (dj) Method to iterate over the interaction terms. Returns next_idx=-1 if no term is left.

Arguments

thisclass(pinteraction_type), intent(in)

iterate over this instance

next_idxinteger, intent(inout)

index of the next term. Set to 1 for first call, exit loop when index is set to -1. Increment is done within this subroutine

llinteger, intent(in)

system size of the 1d system

next_sitesinteger, dimension(:), allocatable, intent(out)

index of the site

next_opsinteger, dimension(:), allocatable, intent(out)

integer id of the operator

next_paraminteger, intent(out)

integer id of the parameter

next_weightdouble precision, intent(out)

corresponding weight

errorclass(error_type), allocatable, intent(out), optional

Instance for error tracking.

pinteraction_read()[source]

fortran-subroutine - August 2021 (dj) Read pinteraction term from an open unit.

Arguments

thisclass(pinteraction_type), intent(inout)

fill this instance of a local term

unitinteger, intent(in)

open io-unit to read from.

errorclass(error_type), allocatable, intent(out), optional

instance for error tracking

pinteraction_s_next()[source]

fortran-subroutine - October 2022 (dj) Method to iterate over the interaction terms. Returns next_idx=-1 if no term is left. Version with next_weight as single precision.

Details

See d_pinteraction_next

class input_reader_f90.pmodel_type[source]

No documentation extracted.

Class variables

params_filecharacter(:), allocatable

file containing the parameterization

spmodel_filecharacter(:), allocatable

file containing the filename of the sparse MPO file

num_localinteger

number of local terms

localtype(plocal_type), dimension(:), allocatable

the local terms as a list.

num_interinteger

number of interaction terms

intertype(pinteraction_type), dimension(:), allocatable

the interaction terms as a list.

num_local_lindbladinteger

number of local Lindblads

local_lindbladtype(plocal_type), dimension(:), allocatable

the Lindblads as a list.

pmodel_read()[source]

fortran-subroutine - August 2021 (dj) Read a parameterized model from file.

Arguments

thisclass(pmodel_type), intent(out)

fill this model with data

filenamecharacter(len=*), intent(in)

input file with the model.

errorclass(error_type), allocatable, intent(out), optional

instance for error tracking.

class input_reader_f90.parameterization_type[source]

No documentation extracted.

Class variables

is_reallogical

Flag if entries are real-valued

number_parametersinteger

Number of parameters

number_datapointsinteger

Number of data points

paramsdouble precision, dimension(:, :), allocatable

Parameters chaning over the time / during the algorithm

params_ccomplex(kind=ZT_ELEM_KIND), dimension(:, :), allocatable

Parameters chaning over the time / during the algorithm (complex)

dtsdouble precision, dimension(:), allocatable

dts allocated as time-step size dt for number_datapoints > 1

parameterization_read()[source]

fortran-subroutine - Reading the parameterization_type.

class input_reader_f90.pobs_local_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of terms

operator_idinteger, dimension(:), allocatable

reference to the operator via integer id

resdouble precision, dimension(:, :), allocatable

result array

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

python_class_name = “TNObsLocal”character(len=10)

name of the corresponding python class

pobs_local_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_local_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_local_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_local_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_local_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_local_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_local_write_hdf5()[source]

fortran-subroutine - Write the correlation observable to a hdf5 file.

Arguments

thisclass(pobs_local_type), intent(in)

this : write measurement for this class instance to a file.

file_idinteger(hid_t), intent(inout)

file_id : id of the open hdf5 file

errorinteger

error : instance for error handling

Details

The observables are in a group TNObsCorr (corresponds to the python class name). Each observable is a group with datasets re and imag for the real and imaginary part.

class input_reader_f90.pobs_corr_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of correlation measurements

operator_idinteger, dimension(:, :), allocatable

reference to the opterators via integer ids

is_complexlogical, dimension(:), allocatable

flag if correlation can be complex (non-hermitian correlations)

rc_indinteger, dimension(:), allocatable

index in the real or complex array

res_rdouble precision, dimension(:, :, :), allocatable

result array (selected based on flag, real correlations like sx sx)

res_ccomplex(kind=ZT_ELEM_KIND), dimension(:, :, :), allocatable

result array (selected based on flag, complex correlations like b bdagger, contains both real and complex part)

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

python_class_name = “TNObsCorr”character(len=10)

name of the corresponding python class

pobs_corr_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_corr_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_corr_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_corr_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_corr_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_corr_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_corr_write_hdf5()[source]

fortran-subroutine - Write the correlation observable to a hdf5 file. The observables are in a group TNObsCorr (corresponds to the python class name). Each observable is a group with datasets re and imag for the real and imaginary part.

Arguments

thisclass(pobs_corr_type), intent(in)

this : write measurement for this class instance to a file.

file_idinteger(hid_t), intent(inout)

file_id : id of the open hdf5 file

errorinteger

error : instance for error handling

class input_reader_f90.pobs_custom_corr_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of correlation measurements

term_sizeinteger, dimension(:), allocatable

number of sites in term for every measurement

num_sites_measuredinteger, dimension(:), allocatable

number of terms (on specific sites) to measure for every measurement

operator_idinteger, dimension(:, :, :), allocatable

reference to the operators via integer ids the order of axes is: [which subterm, which site in subterm, which measurement term]

site_indicesinteger, dimension(:, :, :), allocatable

site indices for every measurement the order of axes is: [which subterm, which site in subterm, which measurement term]

is_complexlogical, dimension(:), allocatable

flag if correlation can be complex (non-hermitian correlations)

rc_indinteger, dimension(:), allocatable

index in the real or complex array

res_ccomplex(kind=ZT_ELEM_KIND), dimension(:, :), allocatable

result array (selected based on flag)

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_custom_corr_finalize()[source]

fortran-subroutine - November 2023 (nr) Deallocate all memory and reset other variable if necessary.

pobs_custom_corr_is_active()[source]

fortran-function - November 2023 (nr) Returns if any measurement of this observable type are requested.

pobs_custom_corr_read()[source]

fortran-subroutine - November 2023 (nr) Reads the observable information from file. There is a one-to-one mapping from the python function.

pobs_custom_corr_write()[source]

fortran-subroutine - November 2023 (nr) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_custom_corr_type), intent(in)

Write measurement for this class instance to a file

unitinteger, intent(in)

File unit to write to

errorclass(error_type), allocatable, intent(out), optional

Instance for error handling

class input_reader_f90.pobs_corr4_type[source]

No documentation extracted.

pobs_corr4_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_corr4_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_corr4_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_corr4_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_corr4_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_corr4_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_t0corr_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of correlation measurements

operator_idinteger, dimension(:, :), allocatable

reference to the opterators via integer ids

is_complexlogical, dimension(:), allocatable

flag if correlation can be complex (non-hermitian correlations)

rc_indinteger, dimension(:), allocatable

index in the real or complex array

site_idxinteger, dimension(:), allocatable

one can only measure one site for t=0

normsdouble precision, dimension(:), allocatable

storing the norm sqrt(<psi(t=0)|A Adagger|psi(t=0)>)

res_ccomplex(kind=ZT_ELEM_KIND), dimension(:, :), allocatable

result array (selected based on flag)

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_t0corr_finalize()[source]

fortran-subroutine - September 2022 (dj) Deallocate all memory and reset other variable if necessary.

pobs_t0corr_is_active()[source]

fortran-function - September 2022 (dj) Returns if any measurement of this observable type are requested.

pobs_t0corr_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_t0corr_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_t0corr_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_t0corr_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_tpo_type[source]

No documentation extracted.

Class variables

mpo_obstype(pmodel_type)

definition of the model

paramstype(parameterization_type)

parameterization (do we need that?)

rescomplex(kind=ZT_ELEM_KIND)

result (store always complex for simplicity)

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_tpo_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_tpo_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_tpo_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_tpo_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_tpo_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_tpo_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_bond_type[source]

No documentation extracted.

Class variables

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_bond_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_bond_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_bond_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_bond_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_bond_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_bond_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_rho1_type[source]

No documentation extracted.

Class variables

activelogical

flag if single-site reduced density matrices are measured

measure_alllogical

flag if all are measured or if they are specified via indices

meas_idxinteger, dimension(:), allocatable

measure only the following, dimension(# sites)

is_complexlogical

flag for data type (depending on statics, dynamics etc.)

res_rdouble precision, dimension(:, :, :), allocatable

results (never as symmetric tensor)

res_ccomplex(kind=ZT_ELEM_KIND), dimension(:, :, :), allocatable

results (never as symmetric tensor)

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_rho1_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_rho1_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_rho1_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_rho1_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_rho1_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_rho1_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_rho2_type[source]

No documentation extracted.

Class variables

activelogical

flag if single-site reduced density matrices are measured

measure_alllogical

flag if all are measured or if they are specified via indices

meas_idxinteger, dimension(:, :), allocatable

measure only the following, dimension(# pairs, 2)

is_complexlogical

flag for data type (depending on statics, dynamics etc.)

res_rdouble precision, dimension(:, :, :), allocatable

results (never as symmetric tensor)

res_ccomplex(kind=ZT_ELEM_KIND), dimension(:, :, :), allocatable

results (never as symmetric tensor)

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_rho2_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_rho2_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_rho2_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_rho2_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_rho2_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_rho2_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_distance2pure_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of overlaps to be measured

filenamescharacter(len=256), dimension(:), allocatable

store the filename

rescomplex(kind=ZT_ELEM_KIND), dimension(:), allocatable

result of overlap (store always as complex for simplicity)

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_distance2pure_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_distance2pure_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_distance2pure_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_distance2pure_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_distance2pure_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_distance2pure_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_psifile_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of files to write

formattingcharacter, dimension(:), allocatable

formatting via character flag

psifilecharacter(len=256), dimension(:), allocatable

base filename for storage (statics might append number of sweep etc, dynamics might append total time etc.)

psifile_finalcharacter(len=300), dimension(:), allocatable

actual filename during storage

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_psifile_finalize()[source]

fortran-subroutine - August 2021 (dj) Deallocate all memory and reset other variable if necessary.

pobs_psifile_is_active()[source]

fortran-function - August 2021 (dj) Returns if any measurement of this observable type are requested.

pobs_psifile_read()[source]

fortran-subroutine - August 2021 (dj) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_psifile_type), intent(out)

read information for this class instance.

llinteger, intent(in)

number of sites in the system

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_psifile_write()[source]

fortran-subroutine - August 2021 (dj) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_psifile_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_tensor_product_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of terms

operator_idtype(int_arr_type), dimension(:), allocatable

reference to the operator via integer id

site1type(int_arr_type), dimension(:), allocatable

Sites where the operators are applied

site2type(int_arr_type), dimension(:), allocatable

Sites where the operators are applied

rescomplex(kind=ZT_ELEM_KIND), dimension(:), allocatable

result array

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_tensor_product_finalize()[source]

fortran-subroutine - April 2022 (mb) Deallocate all memory and reset other variable if necessary.

pobs_tensor_product_is_active()[source]

fortran-function - April 2022 (mb) Returns if any measurement of this observable type are requested.

pobs_tensor_product_read()[source]

fortran-subroutine - April 2022 (mb) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_tensor_product_type), intent(out)

read information for this class instance.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_tensor_product_write()[source]

fortran-subroutine - April 2022 (mb) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_tensor_product_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_weighted_sum_type[source]

No documentation extracted.

Class variables

num_termsinteger

number of terms

coefficientstype(dcmplx_arr_type), dimension(:), allocatable

reference to the operator via integer id

termstype(pobs_tensor_product_type), dimension(:), allocatable

Array of tensor product operators for each term

rescomplex(kind=ZT_ELEM_KIND), dimension(:), allocatable

result array

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_weighted_sum_finalize()[source]

fortran-subroutine - April 2022 (mb) Deallocate all memory and reset other variable if necessary.

pobs_weighted_sum_is_active()[source]

fortran-function - April 2022 (mb) Returns if any measurement of this observable type are requested.

pobs_weighted_sum_read()[source]

fortran-subroutine - April 2022 (mb) Reads the observable information from file. There is a one-to-one mapping from the python function. this : read information for this class instance. unit : open file unit to read from error : instance for error handling

pobs_weighted_sum_write()[source]

fortran-subroutine - April 2022 (mb) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_weighted_sum_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_projective_type[source]

No documentation extracted.

Class variables

num_shotsinteger

number of terms

resinteger, dimension(:), allocatable

result array

res_stringtype(str_arr_type)

Result as string representation

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_projective_finalize()[source]

fortran-subroutine - April 2022 (mb) Deallocate all memory and reset other variable if necessary.

pobs_projective_is_active()[source]

fortran-function - April 2022 (mb) Returns if any measurement of this observable type are requested.

pobs_projective_read()[source]

fortran-subroutine - April 2022 (mb) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_projective_type), intent(out)

read information for this class instance.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_projective_write()[source]

fortran-subroutine - April 2022 (mb) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results. this : write measurement for this class instance to a file. unit : open file unit to read from error : instance for error handling

class input_reader_f90.pobs_probabilities_type[source]

No documentation extracted.

Class variables

prob_typecharacter(len=1)

method to measure the probability

prob_paramdouble precision

parameter for the probability measure

res1double precision, dimension(:), allocatable

result array

res2double precision, dimension(:), allocatable

result array

res_stringtype(str_arr_type)

Result as string

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_probabilities_finalize()[source]

fortran-subroutine - April 2022 (mb) Deallocate all memory and reset other variable if necessary.

pobs_probabilities_is_active()[source]

fortran-function - April 2022 (mb) Returns if any measurement of this observable type are requested.

pobs_probabilities_read()[source]

fortran-subroutine - April 2022 (mb) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_probabilities_type), intent(out)

read information for this class instance.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_probabilities_write()[source]

fortran-subroutine - April 2022 (mb) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_probabilities_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobs_bond_entropy_type[source]

No documentation extracted.

Class variables

activeinteger

number of terms

idxsinteger, dimension(:, :), allocatable

indices between which the bondentropy is computed

resdouble precision, dimension(:), allocatable

result array

is_measured = .false.logical

.true. if the backend can measure the observable. Default to .false.

pobs_bond_entropy_finalize()[source]

fortran-subroutine - April 2022 (mb) Deallocate all memory and reset other variable if necessary.

pobs_bond_entropy_is_active()[source]

fortran-function - April 2022 (mb) Returns if any measurement of this observable type are requested.

pobs_bond_entropy_read()[source]

fortran-subroutine - April 2022 (mb) Reads the observable information from file. There is a one-to-one mapping from the python function.

Arguments

thisclass(pobs_bond_entropy_type), intent(out)

read information for this class instance.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

pobs_bond_entropy_write()[source]

fortran-subroutine - April 2022 (mb) Write the observable to a file; it is a formatted file. There is a one-to-one mapping to a python function reading the results.

Arguments

thisclass(pobs_bond_entropy_type), intent(in)

write measurement for this class instance to a file.

unitinteger, intent(in)

open file unit to read from

errorclass(error_type), allocatable, intent(out), optional

instance for error handling

class input_reader_f90.pobservables_type[source]

No documentation extracted.

Class variables

to_write_hdf5logical

whether to write output to hdf5

llinteger

number of sites (allows to parse results without original setup)

energydouble precision

energy (if available)

normdouble precision

norm (if available)

timedouble precision

time (if available)

localtype(pobs_local_type)

local observables

corrtype(pobs_corr_type)

two-point correlations

tpotype(pobs_tpo_type)

MPO measurements via TPO

bondtype(pobs_bond_type)

Bond / schmidt / entanglement measures

rho1type(pobs_rho1_type)

reduced density matrix (single-site)

rho2type(pobs_rho2_type)

reduced density matrix (two-site)

distance2puretype(pobs_distance2pure_type)

distance measures to pure states

psifiletype(pobs_psifile_type)

saving state to file

tensor_producttype(pobs_tensor_product_type)

Tensor product observables

weighted_sumtype(pobs_weighted_sum_type)

Weighted sum observables

projectivetype(pobs_projective_type)

Final projective measurement

probabilitiestype(pobs_probabilities_type)

Probabilities

bondentropytype(pobs_bond_entropy_type)

Bond entropy

t0corrtype(pobs_t0corr_type)

Unequal time correlators

corr4type(pobs_corr4_type)

Four-body correlator

custom_corrtype(pobs_custom_corr_type)

Custom correlations

pobservables_finalize()[source]

fortran-subroutine - August 2021 (dj) Finalize class, mainly deallocating the type included here.

Arguments

thisclass(pobservables_type), intent(inout)

instance of pobservables_type

errorclass(error_type), allocatable, intent(out), optional

instance for error tracking.

pobservables_read()[source]

fortran-subroutine - August 2021 (dj) Read the parameterized observables from file.

Arguments

thisclass(pobservables_type), intent(inout)

instance of pobservables_type, set on exit with content in the observable file.

filenamecharacter(len=*), intent(in)

path to the file containing the observable

llinteger, intent(in)

system size / number of sites

errorclass(error_type), allocatable, intent(out), optional

Instance for error tracking.

pobservables_write()[source]

fortran-subroutine - August 2021 (dj) Write the parameterized observables to a formatted file.

Arguments

thisclass(pobservables_type), intent(inout)

write measurement content in each observable type

filenamecharacter(len=*), intent(in)

path to the file to be opened. It assumes a new file for now.

errorclass(error_type), allocatable, intent(out), optional

Instance for error tracking.

input_reader_f90.set_inputreader_log_unit()[source]

fortran-subroutine - Set log unit for this module to a specific value.

input_reader_f90.deallocate_global_input_reader()[source]

fortran-subroutine - Deallocate the global variable which were detected during the memory analysis

input_reader_f90.task_delete()[source]

fortran-subroutine - Deallocate all from a task instance.

input_reader_f90.task_read()[source]

fortran-subroutine - June 2021 (dj) Reading task type via fortran namelist.

input_reader_f90.read_model_v3()[source]

fortran-subroutine - August 2021 (dj) Read the model including parameters. This subroutine reads the model according to the third generation of input files.

Arguments

filenamecharacter(len=*), intent(in)

path to the input file of the model

input_foldercharacter(len=*), intent(in)

name of the input folder, where the parameterization file is stored.

pmodelstype(pmodel_type), intent(out)

instance of pmodel_type, will be filled with the model on exit.

paramstype(parameterization_type), intent(out)

instance of parameterization_type, will be filled with the parameterization on exit.

errorclass(error_type), allocatable, intent(out), optional

Instance for error tracking.

input_reader_f90.parameterization_d_get_parameters_statics()[source]

fortran-subroutine - August 2021 (dj) Get the parameters for a static simulation where parameters do not change. The 0-th entry of the parameters is accessed.

input_reader_f90.parameterization_s_get_parameters_statics()[source]

fortran-subroutine - August 2021 (dj) Get the parameters for a static simulation where parameters do not change. The 0-th entry of the parameters is accessed.

input_reader_f90.parameterization_c_get_parameters_statics()[source]

fortran-subroutine - August 2021 (dj) Get the parameters for a static simulation where parameters do not change. The 0-th entry of the parameters is accessed. Complex coupling version.

input_reader_f90.parameterization_z_get_parameters_statics()[source]

fortran-subroutine - August 2021 (dj) Get the parameters for a static simulation where parameters do not change. The 0-th entry of the parameters is accessed. Complex coupling version.

input_reader_f90.parameterization_d_get_parameters_and_dt()[source]

fortran-subroutine - August 2021 (dj) Get the parameters for a dynamical simulation where parameters are accessed via an index and the time step size is stored for convenience.

input_reader_f90.parameterization_s_get_parameters_and_dt()[source]

fortran-subroutine - August 2021 (dj) Get the parameters for a dynamical simulation where parameters are accessed via an index and the time step size is stored for convenience.

input_reader_f90.parameterization_c_get_parameters_and_dt()[source]

fortran-subroutine - August 2021 (dj) Get the parameters for a dynamical simulation where parameters are accessed via an index and the time step size is stored for convenience.

input_reader_f90.parameterization_z_get_parameters_and_dt()[source]

fortran-subroutine - August 2021 (dj) Get the parameters for a dynamical simulation where parameters are accessed via an index and the time step size is stored for convenience.

input_reader_f90.read_symmetries()[source]

fortran-function - Read the symmetry setup from file.