def test_polylog(self): from pycoldatom.functions.polylog import g2, g2_fp x = np.linspace(0, 1.0, 100) ref = g2_fp(x) result = g2(x) # err = ref - result # rerr = result / ref # rerr[np.isnan(rerr)] = 1 # print('max:', np.max(err), np.max(rerr)) # print('min:', np.min(err), np.min(rerr)) # print('std:', np.std(err), np.std(rerr)) np.testing.assert_allclose(result, ref, rtol=0e-7, atol=2e-7)
def test_polylog(self): from pycoldatom.functions.polylog import g2, g2_fp x = np.linspace(0, 1.0, 100) ref = g2_fp(x) result = g2(x) # err = ref - result # rerr = result / ref # rerr[np.isnan(rerr)] = 1 # print('max:', np.max(err), np.max(rerr)) # print('min:', np.min(err), np.min(rerr)) # print('std:', np.std(err), np.std(rerr)) np.testing.assert_allclose(result, ref, rtol=0e-7, atol=2e-7)
def plot(): x = np.linspace(0, 1.0, 10000) def _g2_ref(x): return fp.polylog(2, x) g2_ref = np.vectorize(_g2_ref) cProfile.runctx('g2_ref(x)', globals(), locals()) ref = g2_ref(x) cProfile.runctx('g2(x)', globals(), locals()) res = g2(x) cProfile.runctx('g2_old(x)', globals(), locals()) res2 = g2_old(x) err = res - ref err2 = res2 - ref # print(res<0) print(err.std()) plt.plot(x, err, label='err1') # plt.plot(x, err2, label='err2') plt.legend() plt.show()
def plot(): x = np.linspace(0, 1.0, 10000) def _g2_ref(x): return fp.polylog(2, x) g2_ref = np.vectorize(_g2_ref) cProfile.runctx('g2_ref(x)', globals(), locals()) ref = g2_ref(x) cProfile.runctx('g2(x)', globals(), locals()) res = g2(x) cProfile.runctx('g2_old(x)', globals(), locals()) res2 = g2_old(x) err = res - ref err2 = res2 - ref # print(res<0) print(err.std()) plt.plot(x, err, label='err1') # plt.plot(x, err2, label='err2') plt.legend() plt.show()