def run(self): im.load_im_sampler_lib() h_effective_in = self.graph.get_effective_fields(self.S_in) self.S_end, self.E_samples, self.E_proposeds, \ self.log_f_fwds, self.log_f_revs, \ self.MH_ratios, self.SAW_lengths, self.used_gammas \ = im.Kawasaki_Sampler\ (self.graph.nbrs_list_i, self.graph.incident_edge_list_i, self.graph.edges_i, self.graph.J, self.graph.h, self.S_ref, self.S_in, h_effective_in, self.graph.beta_true, self.nmoves)
def __init__(self, graph, nmoves, SAW_length_min, SAW_length_max, S_ref=None, S_in=None): im.load_im_sampler_lib() self.graph = graph self.nmoves = nmoves self.SAW_length_min = SAW_length_min self.SAW_length_max = SAW_length_max self.hdf5_base_loc = "/" + graph.name + "/" + self.name # Default reference state is ground state if S_ref is None: self.S_ref = self.graph.get_default_reference_state() else: self.S_ref = S_ref # Default initial state is reference state with half of its # bits flipped if S_in is None: self.S_in = self.graph.get_default_initial_state() else: self.S_in = S_in