Example #1
0
    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)
Example #2
0
    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