pibronic.data package¶
Scripts that handle data¶
Submodules¶
pibronic.data.file_name module¶
Bookkeeping provided by file_name module
Store all naming conventions in one place Keeps file naming consistent over the many modules if changes need to be made
-
pibronic.data.file_name.analytic_results= 'analytic_results.json'¶ contains any parameters which can be obtained through analytical methods which describe the system’s Hamiltonian before we did a unitary transformation
-
pibronic.data.file_name.coupled_model= 'coupled_model.json'¶ contains the original parameters (diagonal) which describe the system’s Hamiltonian before we did a unitary transformation
-
pibronic.data.file_name.execution_output(D='{D:d}', R='{R:d}', P='{P:d}', T='{T:.2f}', J='{J:d}')[source]¶ wrapper function to allow parameterized search for files can pass in any regular expression most commonly will just pass in “*” to search for all files of a given argument
-
pibronic.data.file_name.harmonic_model= 'harmonic_model.json'¶ contains the parameters which describe a sampling model this can be anything which is diagonal in the electronic states
-
pibronic.data.file_name.iterative_matrix= 'iterative_matrix.txt'¶ contains any parameters which can be obtained through analytical methods this commonly stores properties of the sampling model at different temperatures
-
pibronic.data.file_name.iterative_model= 'iterative_model.json'¶ contains the transformation matrix which was used in our iterative decomposition method to generate the iterative model
-
pibronic.data.file_name.jackknife(P='{P:d}', T='{T:.2f}', X='{X:d}')[source]¶ wrapper function to allow parameterized search for files can pass in any regular expression most commonly will just pass in “*” to search for all files of a given argument
-
pibronic.data.file_name.original_analytic_results= 'original_analytic_results.json'¶ contains the orthonormal matrix which was used to preform the unitary transformation on the original_coupled_model.json to get the coupled_model.json
-
pibronic.data.file_name.original_model= 'original_coupled_model.json'¶ contains the parameters which describe the harmonic operator this is all the Kinetic terms + any diagonal terms that can be described by a Harmonic oscillator this can be used as a simplistic sampling distribution rho_0
-
pibronic.data.file_name.pimc(P='{P:d}', T='{T:.2f}', J='{J:d}')[source]¶ wrapper function to allow parameterized search for files can pass in any regular expression most commonly will just pass in “*” to search for all files of a given argument
-
pibronic.data.file_name.sampling_model= 'sampling_model.json'¶ contains the parameters which describe the sampling model which has been generated using our iterative decomposition method whose weights have been corrected using single-point energy calculations
-
pibronic.data.file_name.sos(B='{B:d}')[source]¶ wrapper function to allow parameterized search for files can pass in any regular expression most commonly will just pass in “*” to search for all files of a given argument
-
pibronic.data.file_name.training_data_g_output(P='{P:d}', T='{T:.2f}', J='{J:d}')[source]¶ wrapper function to allow parameterized search for files can pass in any regular expression most commonly will just pass in “*” to search for all files of a given argument
-
pibronic.data.file_name.training_data_input(P='{P:d}', T='{T:.2f}', J='{J:d}')[source]¶ wrapper function to allow parameterized search for files can pass in any regular expression most commonly will just pass in “*” to search for all files of a given argument
pibronic.data.file_structure module¶
Bookkeeping provided by FileStucture class
keeps directory structure consistant over the many modules if changes need to be made
-
class
pibronic.data.file_structure.FileStructure(path_root, id_data, id_rho=0, no_makedir=False)[source]¶ Bases:
objecthandles creation and verification of default file structure storing data from/to jobs
-
change_rho(id_rho)[source]¶ modifies all the FileStructure’s paths to point to the new rho id calls make_rho_directories() to ensure the directories exist
-
dir_list= None¶ TODO - possibly rename the sampling and coupled paths? they are paths but shouldn’t be in the dir_list
-
classmethod
from_boxdata(path_root, data)[source]¶ constructor wrapper that takes a data object from minimal.py
-
generate_model_hashes(force_flag=False)[source]¶ create two new data attributes (if they don’t already exist) which store the hash values (hash_vib, hash_rho) created by the functions vIO.create_model_hash() and vIO.create_sampling_hash()
-
make_rho_directories(id_rho)[source]¶ creates (if they don’t already exist) the necessary directories for storing the data of an additional sampling distribution (choice of rho)
-
template_rho= 'data_set_{:d}/rho_{:d}/'¶
-
template_rho_output= 'data_set_{:d}/rho_{:d}/execution_output/'¶
-
template_rho_params= 'data_set_{:d}/rho_{:d}/parameters/'¶
-
template_rho_plots= 'data_set_{:d}/rho_{:d}/plots/'¶ template_pimc_suffix = “D{D:d}_R{R:d}_P{P:d}_T{T:.2f}_J*_data_points.npz” template_jackknife_suffix = “D{D:d}_R{R:d}_P{P:d}_T{T:.2f}_X{X:d}_thermo” template_sos_suffix = “sos_B{B:d}.json”
-
template_rho_results= 'data_set_{:d}/rho_{:d}/results/'¶
-
template_vib= 'data_set_{:d}/'¶
-
template_vib_output= 'data_set_{:d}/execution_output/'¶
-
template_vib_params= 'data_set_{:d}/parameters/'¶
-
template_vib_plots= 'data_set_{:d}/plots/'¶
-
template_vib_results= 'data_set_{:d}/results/'¶
-
valid_rho_hash(model_dict)[source]¶ takes a dictionary and returns bool if value of ‘hash_rho’ key is same as hash_rho attribute of self
-
pibronic.data.postprocessing module¶
Handles all file processing after calculations are run
Provides functions for collating files for statistical analaysis (such as jackknife) and plotting
-
pibronic.data.postprocessing.extract_basis_value_from_sos_file_path(file_path)[source]¶ does what it says, returns an int
-
pibronic.data.postprocessing.extract_bead_paramater_list(list_pimc)[source]¶ takes a list of file-paths to results from pimc calculations and return a list of all the unique bead values
-
pibronic.data.postprocessing.extract_bead_value_from_pimc_file_path(file_path)[source]¶ does what it says, returns an int
-
pibronic.data.postprocessing.extract_bead_value_from_thermo_file_path(file_path)[source]¶ does what it says, returns an int
-
pibronic.data.postprocessing.extract_bead_value_from_trotter_file_path(file_path)[source]¶ does what it says, returns an int
-
pibronic.data.postprocessing.extract_jackknife_parameters(list_pimc, list_coupled, list_sampling)[source]¶ make a list of all parameters whose dependencies are satisfied note that this function is tightly tied to the file name
-
pibronic.data.postprocessing.extract_job_value_from_pimc_file_path(file_path)[source]¶ does what it says, returns an int
-
pibronic.data.postprocessing.extract_parameter_lists(list_pimc, list_vib, list_rho)[source]¶ just assume that we directly use the extract_trotter_paramater_list() function for now
-
pibronic.data.postprocessing.extract_pimc_parameters(list_pimc, list_coupled, list_sampling)[source]¶ make a list of all parameters whose dependencies are satisfied note that this function is tightly tied to the file name
-
pibronic.data.postprocessing.extract_sample_value_from_thermo_file_path(file_path)[source]¶ does what it says, returns an int
-
pibronic.data.postprocessing.extract_sos_basis_paramater_list(list_vib, list_rho)[source]¶ takes a list of file-paths to results from sos calculations (both coupled and rho) and return a list of all the unique
-
pibronic.data.postprocessing.extract_temperature_paramater_list(list_pimc)[source]¶ takes a list of file-paths to results from pimc calculations and return a list of all the unique temperature values (as floats)
-
pibronic.data.postprocessing.extract_temperature_value_from_pimc_file_path(file_path)[source]¶ does what it says, returns a float
-
pibronic.data.postprocessing.extract_temperature_value_from_thermo_file_path(file_path)[source]¶ does what it says, returns a float
-
pibronic.data.postprocessing.extract_trotter_paramater_list(list_trotter)[source]¶ takes a list of file-paths to results from trotter calculations and return a dictionary with integer keys representing possible basis sizes, whose corresponding values are lists of all possible bead values for that given basis size.
-
pibronic.data.postprocessing.load_analytic_data(FS, T, analytic)[source]¶ load data from analytic_results.txt with same T into the dictionary analytic
-
pibronic.data.postprocessing.load_pimc_data(FS, P, T, pimc_results)[source]¶ load data from all files with same P and T
-
pibronic.data.postprocessing.load_rho_sos_data(FS, P, B, T, rho_args)[source]¶ load data from all files with same P and T into the dictionary rho_args
-
pibronic.data.postprocessing.prune_results_using_hashes(FS, list_pimc)[source]¶ takes a list of file paths (strings) to different results and a FileStructure object returns a subset of the input list where each returned file path exists and has a ‘valid’ hash, i.e. the same as in the FileStructure object
-
pibronic.data.postprocessing.retrive_all_file_paths(FS)[source]¶ return three lists of the full paths to each data file that might be used
-
pibronic.data.postprocessing.retrive_file_paths_for_jackknife(FS)[source]¶ return three lists of the full paths to each data file that might be used
-
pibronic.data.postprocessing.retrive_jackknife_file_list(FS)[source]¶ return a list of the full path to each jackknife file that might be used
-
pibronic.data.postprocessing.retrive_pimc_file_list(FS)[source]¶ return a list of the full path to each pimc file that might be used