在科學計算中,我們常常需要把numpy數組得到結果保存到磁盤上,然後在用畫圖軟件畫圖。因此文件的IO是必不可少的。
這裏一個技巧是利用numpy自帶的save和load方法,就可以把numpy數組寫入到二進制文件中,之後直接調用load進行處理,不用自己寫循環輸出成txt在處理。
# 計算chi0
time_start=time.time()
print("Start Calculate chi0")
chi0 = calculate_chi0(omegas,Gk_up_r,Gk_up_a,Gk_down_r,Gk_down_a,T,mu,N)
time_end = time.time()
print("Calculate chi0 cost :{:.2f}s".format(time_end-time_start))
np.save('chi0.npy',chi0)
np.save('chi0_00static.npy',chi0[0,:,0,0])
np.save('chi0_00.npy',chi0[:,:,0,0])
# RPA
time_start=time.time()
print("Start Calculate chi_RPA")
chi_RPA = chi_RPA(chi0,U)
time_end = time.time()
print("Calculate chi_RPA cost :{:.2f}s".format(time_end-time_start))
np.save('chi_RPA.npy',chi_RPA)
np.save('chi_RPA_static.npy',chi_RPA[0,:,0,0])
np.save('chi_RPA.npy',chi_RPA[:,:,0,0])