|
> No.3945[元記事へ]
たろささんへのお返事です。
> 暫定版ですが、出来ました。
手直しして、途中からの計算をしました。
! Cohen 2000 MOD(x,4)=1(-)Ramanujan ζ(2n+1) zeta(x)1000桁精度
OPTION ARITHMETIC DECIMAL_HIGH
PRINT DATE$;"/"; TIME$
LET t0=TIME
FOR n=101 TO 105 STEP 4
LET Na=(N-1)/2
LET f=((2*PI)^n)/(FACT(n+1)*(n-1))
LET S=0
LET w= INT((n+1)/4)
FOR k1=0 TO w
LET S=S+((-1)^(k1))*(n+1-4*k1)*comb(n+1,2*k1)*BERNOULLI(n+1-2*k1)*BERNOULLI(2*k1)
NEXT k1
LET S1=0
FOR k2=1 TO 365 !数値溢れ370まで
LET q=2*PI*k2
LET S1=S1+(EX(q)*((1+(4*PI*k2)/(n-1))-1))/((k2^n)*(EX(q)-1)^2)
NEXT k2
LET zeta=f*S-2*S1
PRINT n;zeta+Ramanujan(Na)
NEXT n
PRINT TIME-t0;"秒"
PRINT DATE$;"/"; TIME$
END
EXTERNAL FUNCTION Ramanujan(n) !zeta(x) MOD(x,4)=3
OPTION ARITHMETIC DECIMAL_HIGH
FOR n=1 TO n
LET f=2^(2*n)*pi^(2*n+1)
LET S=0
FOR k1=0 TO n+1
LET S=S+((-1)^(k1+1))*BERNOULLI(2*k1)/FACT(2*k1)*BERNOULLI(2*n+2-2*k1)/FACT(2*n+2-2*k1)
NEXT k1
LET S1=0
FOR k2=1 TO 360
LET q=2*PI*k2
LET S1=S1+(k2^(-2*n-1))/(EX(q)-1)
NEXT k2
LET Ramanujan=f*S-2*S1
NEXT n
END FUNCTION
EXTERNAL FUNCTION BERNOULLI(n) !'ベルヌーイ定数
OPTION ARITHMETIC DECIMAL_HIGH
DIM b(0 TO n)
LET b(0)=1
IF n=0 THEN LET BERNOULLI=1
FOR k=2 TO n+1
LET s=0
FOR i=0 TO k-2
LET s=s+comb(k,i)*b(i)
NEXT i
LET b(k-1)=-s/k
LET BERNOULLI=b(k-1)
NEXT k
END FUNCTION
!1000桁モードで利用する指数関数
EXTERNAL FUNCTION EX(x)
OPTION ARITHMETIC DECIMAL_HIGH
FUNCTION s(y,n)
LET t=y*x/n
IF ABS(t)<=EPS(0) THEN
LET s=y+t
ELSE
LET s=y+s(t,n+1)
END IF
END FUNCTION
LET EX=s(1,1)
END FUNCTION
計算時間
20151106/10:49:06
50 101 1.00000000000000000000000000000039443045261050590335263935513575963608141044204433323680796761625237491928861445447104761428674299745438441574818957622047157087121949588291127548790096524591503013583366154091609592555734040093489167401537877730680292119177244345062720079530048987294893773720825124823557829467375629675004037826824689502078351153082020190034556854466943862945893574932257594460178334935822767226090976835684592392707422365634881380727204483236981418091615024437298781245092204000055752472644607980496146919583719462572020728942861303262753442706897595473814372098686898267645378670075647357998375763074992690066417983655645433158089100683705978144522084297107303957312401644138041378689506763888443128330237105606859250300409176278264467936209253937799101337731282246825242721017474195558896835960631640886967598186269848060428661060515337152476174048005987058003306858744049169321678254362379586923838911912007463446576063920040030151386246756337944355544528686758422059473828545744162746759
52 105 1.00000000000000000000000000000002465190328815661892710139510328781252773254859693427874476585837833141988834731051880378175626243532251405340305439542034477846314545378655567978140112785348324983780886855766308850997331315595325849404274875554200033271876099547506493928559569661347749040920220284617698459756285299907235960323489037631022207883909373233074479485346380846526453164589760838258265649982040133795192689428043960352287449872071163012854161869583666131500588715228284752482681170211212356737159502128684897403886992986286509036909235009575710743607587868873632989523716970514420613758929899183152917522064922535459889570084454194640071087546111610176471433038740037583760393532387745911806779739726065271018823999809581623114128124221327426547497395047222095610853791743910319009075257991685492529861618941593722311219357538689767376851814030062298069692165312911207185810141620298109690603253051928062249868752743843314262982434832062833658466460497038837578288576444294145687146867275876456996
7775.49 秒
20151106/12:58:41
G3258@4.6GHz(2時間09分35.49秒)
このPCの場合は、Ramanujan ζ(2n+1)と個別に、Cohen 2000 MOD(x,4)=1計算した方が速い。
Ramanujan ζ(2n+1)の探究には、役に立つのでは?
参照
双曲線関数にまつわる重要な公式まとめ
OPTION ARITHMETIC COMPLEX
PRINT 1/TANH(PI)
LET t=(EXP(PI)-EXP(-PI))/(EXP(PI)+EXP(-PI))
PRINT 1/t
END
素人思考では、桁合わせが難しい。
http://blogs.yahoo.co.jp/donald_stinger
|
|