A.append(arr[::2,1]) arrE.append(arr[::2,2:]/V) arrM.append(arr[1::2,2:]/V) E.append(np.mean(arrE[i],axis=1)) M.append(np.mean(arrM[i],axis=1)) errE.append(errorAll(binning,arrE[i],Binning_K[i])) errM.append(errorAll(binning,arrM[i],Binning_K[i])) print 'Finished calculations.' # PLOTS ################################################################################################### print '\n==Plots==' p.new(title='Mean energy',xlabel='Temperature',ylabel='Energy') p.plot(T_exact,E_exact,label='L = 4, exact') for i in range(len(Ising_L)): p.errorbar(T[i], E[i], yerr=errE[i], label='L=%s, MC'%Ising_L[i]) p.new(title='Mean absolute magnetization',xlabel='Temperature',ylabel=r'$\vert Magnetization \vert$') p.plot(T_exact,M_exact,label='L = 4, exact') for i in range(len(Ising_L)): p.errorbar(T[i], M[i], yerr=errM[i], label='L=%s, MC'%Ising_L[i]) #p.make(ncols=1,show=False) for i in range(len(Ising_L)): p.new(title='Frequency of energies (L=%s)'%Ising_L[i],xlabel='Energy',ylabel='Temperature') temp = (T[i]*np.ones_like(arrE[i]).T).T H, xedges, yedges = np.histogram2d(temp.flatten(), arrE[i].flatten(), bins=(len(T[i]),100)) p.imshow(H, extent=[yedges[0], yedges[-1], xedges[0], xedges[-1]], interpolation='nearest',aspect='auto',origin='lower',norm=LogNorm()) p.new(title='Frequency of magnetizations (L=%s)'%Ising_L[i],xlabel='Absolute magnetization',ylabel='Temperature') temp = (T[i]*np.ones_like(arrM[i]).T).T H, xedges, yedges = np.histogram2d(temp.flatten(), arrM[i].flatten(), bins=(len(T[i]),100))
arrE.append(arr[::2,2:]/V) arrM.append(arr[1::2,2:]/V) E.append(np.mean(arrE[i],axis=1)) M.append(np.mean(arrM[i],axis=1)) errE.append(errorAll(binning,arrE[i],Binning_K[i])) errM.append(errorAll(binning,arrM[i],Binning_K[i])) U.append(binderpar(arrM[i])) print 'Finished calculations.' # PLOTS ################################################################################################### print '\n==Plots==' p.new(title='Mean energy',xlabel='Temperature',ylabel='Energy') p.plot(T_exact,E_exact,label='for L = 4, exact') for i in range(len(Ising_L)): p.errorbar(T[i], E[i], yerr=errE[i], label='L=%s, MC'%Ising_L[i]) p.new(title='Mean absolute magnetization',xlabel='Temperature',ylabel=r'$\vert Magnetization \vert$') p.plot(T_exact,M_exact,label='for L = 4, exact') for i in range(len(Ising_L)): p.errorbar(T[i], M[i], yerr=errM[i], label='L=%s, MC'%Ising_L[i]) #p.make(ncols=1,show=False) for i in range(len(Ising_L)): p.new(title='Frequency of energies (L=%s)'%Ising_L[i],xlabel='Energy',ylabel='Temperature') temp = (T[i]*np.ones_like(arrE[i]).T).T H, xedges, yedges = np.histogram2d(temp.flatten(), arrE[i].flatten(), bins=(len(T[i]),100)) p.imshow(H, extent=[yedges[0], yedges[-1], xedges[0], xedges[-1]], interpolation='nearest',aspect='auto',origin='lower',norm=LogNorm()) p.new(title='Frequency of magnetizations (L=%s)'%Ising_L[i],xlabel='Absolute magnetization',ylabel='Temperature') temp = (T[i]*np.ones_like(arrM[i]).T).T H, xedges, yedges = np.histogram2d(temp.flatten(), arrM[i].flatten(), bins=(len(T[i]),100))
MC_errmE = binningAll(arrayE) MC_errmM = binningAll(arrayM) MC_errmMabs = binningAll(abs(arrayM)) print 'Finished error calculation.' ''' === PLOTS === ''' p = Plotter(show=True, pdf=False, pgf=False, name='ising') p.new(name='Mean energy', xlabel='Temperature', ylabel='Energy') if useExact: p.plot(T, meanE, label='exact') if useMC: p.errorbar(T, MC_meanE, yerr=MC_errmE, label='metropolis') p.new(name='Mean magnetization', xlabel='Temperature', ylabel='Magnetization') if useExact: p.plot(T, meanM, label='exact') if useMC: p.errorbar(T, MC_meanM, yerr=MC_errmM, label='metropolis') p.new(name='Mean absolute magnetization', xlabel='Temperature', ylabel=r'\vertMagnetization\vert') if useExact: p.plot(T, meanMabs, label='exact') if useMC: p.errorbar(T, MC_meanMabs, yerr=MC_errmMabs, label='metropolis')
MC_errmE = errorAll(binning,arrayE) MC_errmM = errorAll(binning,arrayM) MC_errmMabs = errorAll(binning,abs(arrayM)) print 'Finished error calculation.' ''' === PLOTS === ''' p.new(title='Mean energy',xlabel='Temperature',ylabel='Energy') if useExact: p.plot(T,meanE,label='exact') if useMC: p.errorbar(T, MC_meanE, yerr=MC_errmE, label='metropolis') p.new(title='Mean magnetization',xlabel='Temperature',ylabel='Magnetization') if useExact: p.plot(T,meanM,label='exact') if useMC: p.errorbar(T, MC_meanM, yerr=MC_errmM, label='metropolis') p.new(title='Mean absolute magnetization',xlabel='Temperature',ylabel=r'$\vert Magnetization \vert$') if useExact: p.plot(T,meanMabs,label='exact') if useMC: p.errorbar(T, MC_meanMabs, yerr=MC_errmMabs, label='metropolis') p.new(title='Energy(magnetization)',xlabel='Magnetization',ylabel='Energy') if useExact:
arrE.append(arr[::2, 2:] / V) arrM.append(arr[1::2, 2:] / V) E.append(np.mean(arrE[i], axis=1)) M.append(np.mean(arrM[i], axis=1)) errE.append(errorAll(binning, arrE[i], Binning_K[i])) errM.append(errorAll(binning, arrM[i], Binning_K[i])) print 'Finished calculations.' # PLOTS ################################################################################################### print '\n==Plots==' p.new(title='Mean energy', xlabel='Temperature', ylabel='Energy') p.plot(T_exact, E_exact, label='L = 4, exact') for i in range(len(Ising_L)): p.errorbar(T[i], E[i], yerr=errE[i], label='L=%s, MC' % Ising_L[i]) p.new(title='Mean absolute magnetization', xlabel='Temperature', ylabel=r'$\vert Magnetization \vert$') p.plot(T_exact, M_exact, label='L = 4, exact') for i in range(len(Ising_L)): p.errorbar(T[i], M[i], yerr=errM[i], label='L=%s, MC' % Ising_L[i]) #p.make(ncols=1,show=False) for i in range(len(Ising_L)): p.new(title='Frequency of energies (L=%s)' % Ising_L[i], xlabel='Energy', ylabel='Temperature') temp = (T[i] * np.ones_like(arrE[i]).T).T H, xedges, yedges = np.histogram2d(temp.flatten(),
arrM.append(arr[1::2, 2:] / V) E.append(np.mean(arrE[i], axis=1)) M.append(np.mean(arrM[i], axis=1)) errE.append(errorAll(binning, arrE[i], Binning_K[i])) errM.append(errorAll(binning, arrM[i], Binning_K[i])) U.append(binderpar(arrM[i])) print "Finished calculations." # PLOTS ################################################################################################### print "\n==Plots==" p.new(title="Mean energy", xlabel="Temperature", ylabel="Energy") p.plot(T_exact, E_exact, label="for L = 4, exact") for i in range(len(Ising_L)): p.errorbar(T[i], E[i], yerr=errE[i], label="L=%s, MC" % Ising_L[i]) p.new(title="Mean absolute magnetization", xlabel="Temperature", ylabel=r"$\vert Magnetization \vert$") p.plot(T_exact, M_exact, label="for L = 4, exact") for i in range(len(Ising_L)): p.errorbar(T[i], M[i], yerr=errM[i], label="L=%s, MC" % Ising_L[i]) # p.make(ncols=1,show=False) for i in range(len(Ising_L)): p.new(title="Frequency of energies (L=%s)" % Ising_L[i], xlabel="Energy", ylabel="Temperature") temp = (T[i] * np.ones_like(arrE[i]).T).T H, xedges, yedges = np.histogram2d(temp.flatten(), arrE[i].flatten(), bins=(len(T[i]), 100)) p.imshow( H, extent=[yedges[0], yedges[-1], xedges[0], xedges[-1]], interpolation="nearest",