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