print "g_prop_idx=",g_prop_idx print "alpha=",alpha print "prob_Q=",prob_Q print "all_v=",all_v #assert False plt.ion() fig = plt.figure() axis = [fig.add_subplot(311), fig.add_subplot(312), fig.add_subplot(313),] axis[2].set_xlim(-1,16) kl_result = [] for line in open(files['mat'],"r"): import time t, mat = read_t_mat(line) L = array(mat, dtype=float) prob_P = [boltzmann_distribution(v,L,all_v) for v in all_v] ene_result = map(lambda v : energy(v,L), all_v) kl_result.append(KLd(prob_P, prob_Q)) hinton_sub (L, ax = axis[0]) bv.cmp_energy(ene_result, ax = axis[1]) bv.print_KL (arange(t), kl_result, ax = axis[2]) plt.draw() plt.show()
fig.add_subplot(224),] kl1 = [] kl2 = [] for v in all_v: print "v = ", v fr1 = open(files['mat'],"r") fr2 = open(files['t_gibbs'],"r") while True: import time line1 = fr1.readline() line2 = fr2.readline() t1, mat = read_t_mat(line1) t2, gibbs_P = read_t_gibbs(line2) L=array(mat,dtype=float) boltz_P = [boltzmann_distribution(v,L,all_v) for v in all_v] kl1.append( KLd(boltz_P, prob_Q) ) kl2.append( KLd(gibbs_P, prob_Q) ) bv.cmp_graph(boltz_P, prob_Q, ax=axis[0]) bv.cmp_graph(gibbs_P, prob_Q, ax=axis[2]) bv.print_KL(arange(t1), kl1, ax=axis[1]) bv.print_KL(arange(t2), kl2, ax=axis[3]) plt.draw() plt.show()