def __init__(self, param_name, param_vals, evals_count, hilbertspace, dressed_specdata, bare_specdata_list): self.param_name = param_name self.param_vals = param_vals self.param_count = len(param_vals) self.evals_count = evals_count self._hilbertspace = hilbertspace self._lookup = spec_lookup.SpectrumLookup(hilbertspace, dressed_specdata, bare_specdata_list)
def run(self) -> None: """Top-level method for generating all parameter sweep data""" self.cause_dispatch( ) # generate one dispatch before temporarily disabling CENTRAL_DISPATCH settings.DISPATCH_ENABLED = False bare_specdata_list = self._compute_bare_specdata_sweep() dressed_specdata = self._compute_dressed_specdata_sweep( bare_specdata_list) self._lookup = spec_lookup.SpectrumLookup(self, dressed_specdata, bare_specdata_list) settings.DISPATCH_ENABLED = True
def generate_lookup(self): bare_specdata_list = [] for index, subsys in enumerate(self): evals, evecs = subsys.eigensys(evals_count=subsys.truncated_dim) bare_specdata_list.append(storage.SpectrumData(energy_table=[evals], state_table=[evecs], system_params=subsys.get_initdata())) evals, evecs = self.eigensys(evals_count=self.dimension) dressed_specdata = storage.SpectrumData(energy_table=[evals], state_table=[evecs], system_params=self.get_initdata()) self._lookup = spec_lookup.SpectrumLookup(self, bare_specdata_list=bare_specdata_list, dressed_specdata=dressed_specdata)
def __init__(self, param_name: str, param_vals: ndarray, evals_count: int, hilbertspace: HilbertSpace, dressed_specdata: SpectrumData, bare_specdata_list: List[SpectrumData]) -> None: self.param_name = param_name self.param_vals = param_vals self.param_count = len(param_vals) self.evals_count = evals_count self._hilbertspace = hilbertspace self._lookup = spec_lookup.SpectrumLookup(hilbertspace, dressed_specdata, bare_specdata_list, auto_run=False)