Python Landau Ramanujan常数计算
我试图用这个算法计算L-R常数K:Python Landau Ramanujan常数计算,python,algorithm,Python,Algorithm,我试图用这个算法计算L-R常数K: def betaD(x): return ((4**(-x))*(zeta(x,1/4)-zeta(x,3/4))) K = 1 lista = np.arange(1,9,1,dtype=float) for n in lista: K = K * (((1-(1/((2)**(2**n))))*(zeta(2**n)/betaD(2**n)))**(1/(2**(n+1)))) print(K) K = K*(1/n
def betaD(x):
return ((4**(-x))*(zeta(x,1/4)-zeta(x,3/4)))
K = 1
lista = np.arange(1,9,1,dtype=float)
for n in lista:
K = K * (((1-(1/((2)**(2**n))))*(zeta(2**n)/betaD(2**n)))**(1/(2**(n+1))))
print(K)
K = K*(1/np.sqrt(2))
(泽塔来自scipy.special)
如你们所见,我只能达到9次迭代,否则K变成=0,我得到:
/home/martina/pymartina/lib/python3.6/site-packages/ipykernel_launcher.py:9: RuntimeWarning: overflow encountered in double_scalars
if __name__ == '__main__':
/home/martina/pymartina/lib/python3.6/site-packages/ipykernel_launcher.py:2: RuntimeWarning: invalid value encountered in double_scalars
有人能帮忙吗?我希望能够得到更多的迭代次数和精度。谢谢当n10
时,zeta(2**n,1/4)
是无限的,所以betaD(2**n)
中有一个错误
decimal
库可以处理数据的大小:调试完成了吗?你的发现在哪里?谢谢!我无法找出问题出在哪里。现在我将尝试使用十进制库。