Beispiel #1
0
    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)
Beispiel #2
0
	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)
Beispiel #3
0
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()
Beispiel #4
0
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()