K i: ddlmZddlmZddlmZmZmZed+dZed,dZ edZ ed Z gd Z d Z ed-d Zed ZedZedZedZedZedZed.dZdZdZdZdZedZed.dZed.dZedZedZed/dZed0d Z d!Z!d"Z"edgdfd#Z#edgdfd$Z$d%Z%d&Z&d'Z'd(Z(ed1d)Z)ed*Z*y)2)print_function)xrange)defun defun_wrapped defun_staticc" jjdkrjdStdr j}n ix}_dk(r0dk(r jS|vr|\}}|j k\r|Sd  fd}j } dkDr'd_j |djgd  |d ztd zz_j |djgd }jzd zz jdzzdzz z d |zz zz}|_dk(r"jrj |f|<|S#|_wxYw) Nrz&Stieltjes constants defined for n >= 0stieltjes_cacherc|z }|jz jj|zz zzd|dzzz jdjz|zdz z }j |z SNrr)jlnexppi_re)xxavactxmagns [/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mpmath/functions/zeta.pyfzstieltjes..fsw qS Xsvvaai(!+ +Qr1uW 5swwqxz7J17L MwwqzC2) maxdegree ?r) convert bad_domainhasattrr eulerprecquadinfintrisint) rrrr r'srorigrrs ``` @r stieltjesr.s AA AA1u~~FGGs%&--022#-Av 6II:   %a(GD!sxxr C  88D  r6CH((1qkQ(7C"9s1c6{* HHQ377 rH 2 FF1IqL!A# QqS!11Q3!7 7!A#a%) CAv#))A,!hh] 2Is +B)F Fc,t|}||jk(s||jk(r=|dkr,||jk(r|dk(r |jS|jS|jS|dk(r|j |rY|j dd|zz}|j dd|zz }|j |j dz |zd||z zz S|j|r|S|j |j dd|zz|j |jdz |zz S|dkDrd|dz z|j|dz dd|zz z}d|dz z|j|dz dd|zzz}|j |r4|dk(r'd|j|jzd||zzzSd||zzS|dk(r6|jd|j|jzd||zzzS|jd||zzSy)Nrr?y?r) r*r)ninfzero_imloggammarrisinf polygammalogr)rt derivativedrbs r siegelthetar>,s JA cggchh q5CHH}axx77N88OAv 771: T$q&[)A T$q&[)AFF366N?1$Q&qs3 3yy|773<<T!V 45svvq8H8JJ J1u acN3==1d46k: : QqSM#--!T$q&[9 9 771:AvCGGCFFO+D!A#J66QqSz!AvwwtCGGCFFO3D!A#J>??wwtQqSz** rc djzjdjdzdzdjzz zz}j fd|S)NrrcFj|jzz SN)r>r)r:rrs rzgrampoint..Ss#//!"4SVVAX"=r)rrlambertwefindroot)rrgs`` r grampointrHNsU #&&3<<1Q355(9::;;A <<=q AArc  t|jdd}j|}j|}j |}j } t |d|zkDr>|dz|kr6j||}j|rj|S|Sxj dz c_jj|}jdj|zz|dk(r1|z}|_j|rj|S|Sjdj|zzdj|d|dk(rDj|zzzz}|_j|rj|S|Sjdj|zzdj|ddzjzz |dk(rM fd } j| d}| |z}|_j|rj|S|Sxj d z c_jdj|zzd j|d d zd jzzzz z |d k(r\ fd } j| d}j |z|z}|_j|rj|S|Sjdj|zzd j|d fd} j| d |d k(rQ f d} j| d}||z}|_j|rj|S|S|d kDrfd} j| ||d z Sy#t$rYGwxYw)Nr;rrr"rr;c dzzzgSNr)comb1theta1zz1z2srtermszsiegelz..termszsbDKQuW- -rr!rc2dzzdzzzzgS)NrrO)rPcomb2rQrRrSrTz3srrUzsiegelz..termss(vXb[!B$u*b5j9 9rcvdzdjzdzzzddzzdzzjzgS)NrYrr)rrQtheta2theta3theta4srrUzsiegelz..termssL 2cee8FAI-f4bl vIf ceeFl, ,rcj ddzzzdjzzzdzzdzz zgS)Nrr[rYr^) rWcomb3rrQr_rRrSrTrXz4s rrUzsiegelz..termssLvqy[^RXb[%76"2eR5* *rc*j|dS)NrYrL)siegelz)rrs rrCzsiegelz..sckk!k2r)r)r*getr#rr5r'absrs_z _is_real_typeNotImplementedErrorexpjr>zetarsum_accuratelydiff)rr:kwargsr<t1t2r're1rUhrPrWrdrQr_r`rarRrSrTrXres` @@@@@@@@@@@@rrgrgVs FJJ|Q '(A AA B B 88D r7SX "a%"*AA  #wwqz!HHHNH #//!$ %B SUU1WAAv qD   Q 771: r #ceeAg+! ,B __Q1_ -FAv UU2Xr!F({ #   Q 771: r #ceeAg+! ,B __Q1_ -F AIceeFl "EAv . .   ua (SU   Q 771: r HHNH #ceeAg+! ,B __Q1_ -F AIagfnV+ +F 2EAv : :   ua (eeVBYq[   Q 771: r #ceeAg+! ,B __Q1_ -F,,   ua (EAv * *   ua ( T   Q 771: r 1u 2xx1!x$$ y    s)A O36O33 P?P)dgD,@g|c5@g9@gll>@gYw@@gjDB@gp`uD@g,ݩE@geȨH@gP H@gN~3|J@gC9L@g7kM@g1wjN@g?a3GP@gP@gM>bQ@gY`OLR@gR@gXGEIS@gXeS@giCT@gH&Q/U@gܩ7U@gK`z3V@gwG{W@gꞯW@grxW@g˻;I2X@gSWTY@gts7oY@g~x\Z@gEAZ@gK [@g|j[@gZ~\@gU-]@gB/]@gg W^@g'٘^@go_@gCY_@gڡ2`@g#-Xb`@ggv`@gS5`@gӝCa@g{wa@g:ia@g=a@gl @b@g'B/Kmb@g;upb@gHٵb@gլJ c@gc@gZUxc@gҍd3c@gu &d@g`d@gĸ/d@g2d@g1E#e@gL.=e@gOТN+e@gBV"e@g': f@gxLf@gKS}f@gcf@gg@goLc<)3g@gstUSgg@g.+Qg@g6p^h@g"h@g%-!~hh@g@T# h@goj}h@g x(i@g㸆Oi@gxۙi@g5\i@gki@g늁r2j@gqߋvj@g '"j@g֍dj@ghlk@gѿ)bk@gyk@gWȭk@g=IX9l@g`Lewl@gx|ml@g+P̪l@gl@gbnl@g]06m@gJ}Ɛm@cddl}|j|}|jDcgc] }t|}}t |ddk(sJ|t ddycc}w)Nr)urlliburlopen readlinesfloatround _zeta_zeros)urlrxr<rLs r_load_zeta_zerosrsTsA;;=)aq)A) 1;"  KN *sAc lt|}|dkr |j| jS|dk(r td|t t kDr|dkr t ||t t kDr td|jd|j|jt |dz S)Nrzn must be nonzeroizn too large for zetazerosr"r) r*zetazero conjugate ValueErrorlenr}rrlmpcrFrg)rrr~s r oldzetazerors AA1u||QB))++Av,--3{ V 3{ !"=>> 773 S[[+ac2BC DDrc |dk(r |jSt|dkDrZ|j|}d|j|j|z}t|t||jzkr|St|dkr8|xj t |jt|d z c_|jx}}|j|}d}t|t||jzkDrO||z|z }||||j|dzzz z }|dz }t|t||jzkDrO|S)Nrr"g{Gz?rr) r4rilisqrtepsr'r*r9oner _zeta_int)rrrr=r,r:uks rriemannrrs!Avxx 1v} FF1I sxx{# # q6CF377N "H 1v} CQ**++ GGOA q A A a&3q6#''> ! EAI Q!cmmAaC(( )) Q a&3q6#''> ! HrcXt|}|dkryt|j|S)Nrr)r*r list_primes)rrs rprimepirs) AA1u sq! ""rcft|}|dkr|jjS|dkr*|jj|j |S|j |}|j |d|j|dzdz |jdz }|j|jj||z jd}|j|jj||zjd}|jj||gS)Nria r)roundingr@r<) r*_ivr4mpfrrrrrfloorrceilr=)rrmiderrrr=s rprimepi2rs AA1uww||4xww{{3;;q>** &&)C ((1c( "366!S6#9 9! ;CFFCF

0rr"c3Kj}d} |dz }j|}|s_|jj|zz|z }|sy|_|Xw)Nrr)r'moebiusrrn)r-rrr:rr,wps rrUzprimezeta..terms sx88DAQKKNcffSXXac]++A-sA(A+) isnanrerr)rr3rr'r*ro)rr,rrUrs`` @r primezetars yy| vvayA~IJJAvwwCxwwsxx(( q A388|Av XXA  "   e $$rc:tdkr tddk(s dk(rdkDrjSdk(r*jddz dz jzSdkr=dk(rdzSdk(rdz Sdk(rdzdz zdzdz Sdk(rdz zdzzSj rzSj rSt dkDrfd }j|zzSfd }j|S) Nrz-Bernoulli polynomials only defined for n >= 0rr"rrrcg?c3Kj}|jz }d}|kr=|dz|z z|z |z}|dkDr|dzs|j|z|dz }|kr.terms6szAG AAq&qs1uIaKMA!a%CMM!,,,Q q&s A"A(&A(c3Kjj}d}|krB|dz|z z|z z}|z }|dkDr|dzs|j|z|dz }|krAyywr )rr)r:rmrrrRs rrUzbernpoly..termsBs--" "AAq&qs1uIaK!OaCA!a%CMM!,,,Q q&s A'A-+A-)r*rrldexpr7rriro)rrrRrUs``` rbernpolyr!s< AA1uHIIAv!q&QU}}QCx !AaC "CMM!$444Av 6!q&= 6!c'> 61Q3!9Q;/) 6!Q#Ys]++ yy|Av  yy| 1vz !!%(1a4// !!%((rctdkr tddkr!dk(rdzSdk(rdz Sdk(rdz zSjrzSjrSdz}dk(r3dj d|dz zj |z|z dzzSdk(r3dj d|dz zj |z|z dzzSdk(r_dzr j Sdks'jdzzjd zkr"j j Sfd }j||z S) Nrz)Euler polynomials only defined for n >= 0rrr"dg.eT>?r0c3Kj}d}jddz} |z dz}|dkDr|dzsd|z j|z|z|dz }|kDry|z|z dzz|z }|dz}Pw)Nrrrr")rrr)r:rwrrrrRs rrUzeulerpoly..termsgs GG  IIa! !AAEa!esCMM!,,Q.. FA1u!QqSU A A HAsA5A8) r*rr7rrrr4rr' _eulernumro)rrrRrrUs``` r eulerpolyrNsv AA1uDEEAv 6!q&= 6!c'> 6!QqS'> yy|!t  yy| !AAv399Qq>!#$S]]1%55a7!Q$>>Av#))Aa."#CMM!$44Q6A==Cx q588O s7a 1 -- =99S]]1-r2 2    e $q ((rFct|}|rt|j|S|dkr |j|j|S|dzr |jS|j |j |d|S)Nrrr")r*rrr4rr)rrexacts reulernumrvsm AA 3==#$$3wwws}}Q'((1uxx 99S]]1S)1 --rc|j}|j}d}|} |||zz }||z }t||kr |S||z}|dz }))Nr)rr4ri)rr,rRtollrzkterms rpolylog_seriesrsg 77(C A A B AqDy T  t9s?  H a Q rc|dkr|dzSd|jz}||z |j|z |j||j||z z}|j |r|dkr|j |}|j |dks(|j |dk(rF|j |dk\r2|||j||dz zz|j|dz z z}|S)Nry@r)rfacrrrkrr5)rrrRtwopijrs rpolylog_continuationrs1us #&&[F  3771: Qq &0@ AAA A GGAJ wwqzA~#''!*/cggajAo VCFF1I!$ $SWWQqS\ 11 Hrc|j}|dkDr|j}|j|}|j}d} ||z dk7r?|j ||z |z|j |z }|rt ||krn||z }||z}|dz }R||j||dz z|j |dz z |j|dz |j|j| z zz }n|dkr|j | |j| |dz zz}|j|}|j} d} |j| |z dz} | r4| | z|j | | |z dzzz }t ||krn||z}| |z} | dz } Xt|j|r|dkr|j|}|S)Nrr) rr4rrrnrriharmonicrrrkr) rrrRrrlogzlogmzrrlogkzrr=s rpolylog_unitcirclers 77(C1u HHvvay !zxx!}u,swwqz9CIOT  TME FA SVVAY1 cggacl *CLL1,=cffcffQiZ>P,P QQ Q GGQBK#&&)qs+ +vvay  ac!e$Aw AaCE 23t9s?T  TME FA A GGAJ HrcT|j}|j|}t|dks|j}d|z }|j| d|jz|zz }|j |||z|j |d|zz|| z|j |d|z zzzd|jz|zz Sd}d} |j ||z |z} t| |jkrn|| z }|dz }||z}||z}E|j d|z | |dz zz|zS)Nrrr"r)r4rrirrgammarnr) rr,rRrrryr:rrs rpolylog_generalrs= A q A q6A: EE aC FFA2J#&& #yy|QT#((1SU"33a!eCHHQs1uA21+ % ))rc |j|}|j|}|dk(r|j|S|dk(r|j| S|dk(r|d|z z S|dk(r|jd|z  S|dk(r |d|z dzz St |dks|j |st |dkr t |||St |dk\rP|j |r?d|dzzt ||d|z zt|t|j||zS|j |r%t|t|j||St|||S)Nrrr?g?gffffff?) r#rnaltzetarrir+rrr*rrr)rr,rRs rpolylogrsK AA AAAvxx{Bw AAv!A#wAvqs |Bw!A#z 1v~ciils1v|c1a(( 1v}1ac{>#q!A#669McSVWZW]W]^_W`Sacd9eee yy|!#s366!9~q99 31 %%rc|j|r|dkrt|dzdk(r|dzS|r|j|}n|j|}|j |r2|j |r!|j |j ||Sd|z }d|j |||j ||z zS)Nrrrr1)r+r*expjpirmrkimrrr,rRrrr=s rclsinrs yy|A#a&1*/s  JJqM HHQK  1 1! 4vvckk!A&'' !A CKK!$s{{1Q'77 88rc|j|r|dkrt|dzdk(r|dzS|r|j|}n|j|}|j |r2|j |r!|j |j ||Sd|z }d|j |||j ||zzS)Nrrrr")r+r*rrmrkrrrs rclcosrs yy|A#a&1*/s  JJqM HHQK  1 1! 4vvckk!A&'' !A  Aa 3;;q#33 44rc j |j|fi|S#t$r|j|cYSwxYwrB)_altzetarl_altzeta_generic)rr,rqs rrrs='s||A((( '##A&&'s 22c|dk(r|jd|zzS|jdd|z  |j|zS)Nrrr)ln2powm1rn)rr,s rrr s@Avww1} IIa1   ++rNc |t|}|dk(r|s|s |j|fi|S|j|}|j}|j d}|j d}|s(|s&|j d|j|dz S|dk(r|dk7rt|j|} t|j|} t| d|zkDr d| z|kr|d ks|d k(r* |r td |j||fi|||_S|dk(r |jSt|} | |jk(r@|j||jk(r|dk(r |jS|j S|dzS|j#| rd|z S|j|d |jzkDr'|dk(r"|s |j|j%d | zS|j&|||fi|S#t$rYwxYw#t$r|r td YnwxYw ||_#||_wxYw)Nrmethodverboser"rzeuler-maclaurinrJr!rYzriemann-siegelz4zeta: Attempting to use the Riemann-Siegel algorithmz0zeta: Could not use the Riemann-Siegel algorithmr)r*_zetarlr#r'rhr_convert_paramrir5rprintrs_zetar)rrr4rpower_hurwitz) rr,rr;rrqr<r'rrrabsss rrnrns, JAAvqF 399Q)&) ) AA 88D ZZ !Fjj#G wws|c003A666Av&-- _ _ r7SX "R%$,:? & & TU&3;;q*??  Avww q6D sww 66!9 Avww88Os 4s  vvay1SXX:!q&ww1qb))) CLLAq +F + ++]#   6+PQ4s5G<5 H < H H  H%"H2$H%%H22 H;c |j}|jd} d}|xj|z c_|j|\}}|j|dkr$|r t d t |||||||_S|r t d ||z|_t|||||dz|\} } |j| |j| | zz } |r%t d| t d| t d | d | |kr | | z||_Std |zt| d zd |z}||jdd |zkDr|jd#t $rYnwxYw|st d#||_wxYw)Nrr!rz#zeta: Attempting reflection formulazzeta: Reflection formula failedz)zeta: Using the Euler-Maclaurin algorithmzTerm 1:zTerm 2:z Cancellation:bitsrrrmaxpreczzeta: too much cancellation) r'rhrrr_hurwitz_reflectionrl _hurwitz_emrmaxmin NoConvergence) rr,rr<rqr'r extraprecatypeT1T2 cancellations rrrFs 88Djj#G  I%%a(5 66!9q=;< *31a?,#  = >i'CH aAtBw@FB772;B7Li$i$o|V<i'Bw   ) S1A3t8-LM vzz)SX>>++,IJJ '  78$s>A E5,EBE5A E5 E# E5"E##E5) E55 E>c6 |dk7rtj|}| }j|r+t|}|dkrj d|z ||dz z S|dk(s |dk(std|z d}d} | j dkDr' dz | |zz}| dz} j dkDr'j dkr'| |zz } dz | dz } j dkr' |j \} | | zz } d| cxkr ksJJj fdtd dzD} | djzdjz zzz z} || z }|S#|t|k(sJt|} d YxYw)NrrQZc3K|]6}jdz d|zzz j|fz8yw)rN)cospir).0rr=rqr:s r z&_hurwitz_reflection..sF 1Q3qs1u9%cll1aU&;;sG"sRi(G3=4'' C q!A# "A1BAvs1bd| !A#J6KKR40S!A#Y8AQqSUAaDLBqE8!A#AA1!QqS'1QqS61A(AAT  D!A% b(99D5AA qLGwwqzCb1Ww... RTBqDM !D) "*  ,B(8#''!*kSV WRTB 66!9q= AIAa rc8 tj|djzkr j||||Sj |d|dgk7}t |dk(}|sg|s*jfdt|dzDggfS|r9|d j fdt|dzD}d z|zggfSt|} |st| dz}|D cgc]} j} } |r|D cgc]} j} } ng} t|dzD]} | z}|z}|r!jj||zz }|rxj| }|r)|| z}| dxx||zz cc<|s^| dxx|zz cc<oj}|D]) | xx||zz cc<|r| xx|zz cc<||z}+| dxx|z cc<|s| dxxz cc<| | fS#t$rYwxYwcc} wcc} w) a Returns [xd0,xd1,...,xdr], [yd0,yd1,...ydr] where xdk = D^k ( 1/a^s + 1/(a+1)^s + ... + 1/(a+n)^s ) ydk = D^k conj( 1/a^(1-s) + 1/(a+1)^(1-s) + ... + 1/(a+n)^(1-s) ) D^k = kth derivative with respect to s, k ranges over the given list of derivatives (which should consist of either a single element or a range 0,1,...r). If reflect=False, the ydks are not computed. r"Trrrc3.K|] }|zzywrBrO)rrrrs rrz_zetasum..s>QacD[>sc3^K|]$}j|zz|zzz&ywrB)r)rrrrr<rs rrz_zetasum..s.K!!a1Q3+5Ks*-r)rirr' _zetasum_fastrlfnegrrrrrr4conjrr)rr,rr derivativesreflecthave_derivativeshave_one_derivativermaxdr<xsysrrxtermytermlogwr:rs` ` ` @rrrsB 366!9~chh& $$Q1k7C C 88AT8 "D"qc)k*a/ HH>&1+>>?C C AAKvac{KKA!GaK="$ $ { D DFm ' (q#(( (B ( + ,1chh , ,  AaC[ ET  HHSWWE 23E FF1I:D"t|1%qEUT\)EGG$AqEUQY&E1*IA  qEUNE1-. r6MW#    ) ,sH4HH HHc |j|}t|}t|}|dkDr td|j} |xjdz c_|dk(rWd}|D]:}|s|dk7s d}|j } |xjd|dzzzc_|| z }<|r|j ||_S|j} td|dzD]y} || |zs |dk(rI| || |z|j|| |fd|j|| |f|j|zz zz } Z| || |z|j|| |fzz } {| ||zz} ||_| S#||_wxYw)Nrzarbitrary order derivativesr!rTF) r#rr*rlr'rr)r4rrnr9) rr,chir;rr<r' have_polerrurRrs r dirichletr3s AA CA JA1u!"?@@ 88D B 6I a %IAHH1Q3'HFA   x HHq1 7A1Q3x6QqSSXXa!A%:QqE*3771:5&677AQqSCHHQ1$666A  7 QT  2Is%#E)E/?E6&EA8E E(c f j} fd}jx}}j}d} ||kDrC||z }| dz } jj |  || }t |}||kDrCd} |j drj} djdzztd| z| dz zzj djzz zjd dzzzt jdz z } t | } || | fS) NcLjdzdzzd zzS)Nr"rT) regularized)r)rrrgammr,s rrCz&secondzeta_main_term..7s-#,,s1uaaiT,B41":Mrrrerrorr"rrr2) rr4r)rzetazero_memoizedrirhrrrr9rr) rr,rrqrrtotsumrmgrrsgr7s ``` @rsecondzeta_main_termr=5s) ''CMAHHFT B A s($ Qvvc++A./t Y s( C zz' VVAY#&&2,s1Ry(RV4SWWT1SVV8_5MM \\$$' *++.syy1~+>?#h 7C?rc "j}fd}jx}}j}d} ||kDs| dkr;||z }| dz } || }|dk(r j}n t|}||kDr5| dkr;|j dr|} | | fS)NcPjddz zdj|dzzdzzdj|zdz zzj|zj|z dj dzzjj zz S)Nr"rr0rr)rr9mangoldtrrrrrrr,s rrCz'secondzeta_prime_term..Ks#,,sAaCycggaj!m);a"g)EF cggaj.AaC ""%,,q/225((1+> 399SU  CHHSVV, ,.rr rr8)rr4r)rirh) rr,rrqrrr:rr;rrs ``` rsecondzeta_prime_termrCIs ''C .AHHFT B A s(a!e$ Qt 19BTB s(a!ezz' 7C?rcjrTjdkr@ttj}|dzsj d| dzzSj }fd}j }|d}j}d} ||kDr#||z }| dz } || }t|}||kDr#dzz|zjdzz } | S)Nrrz-0.25rcJdz|z|dzzj|zz S)Nr0r")rrAs rrCz%secondzeta_exp_term..cs)46A+#a%34rr") r+rr*r|rrr4r)rir) rr,rrrrr:rr;rrs ``` rsecondzeta_exp_termrF]s yy|q Q cffQi !1u777#qb!e, , ''C4A XXF Q4D B A s($ Qt Y s( CE 6#))CE**A Hrc ddz zzdjjzjdzzz }j|}xj|z c_ddz zzdjjzjdzzz }j }fd}j }j} d} || } t| } | |kDrA| | kr<|| z }| dz } || } || z }| dz } || } | } t| } | |kDr| | kr<|| z }ddz dzzjjdjdzzzzdz dzzz} || |zz}d }|jd r| |kDr| | ks|| |kr9jd tjt||zd z}| | kDr9jd tjt|| zd z}t|j d z}xj|zc_||fS) Nr"rrYcj|ddjz|zzjd|zz|zdz j|zz S)NrrYr"r)rrrrrAs rrCz*secondzeta_singular_term..vsZ#,,q&#((1+ '99 yyQA#a%+-rrrrrr8r!?)rrrrr'rr4r)rir&r9rhrr*r)rr,rrqfactorrrrr:mg1rrmg2polestrs``` rsecondzeta_singular_termrPps6 ac^Qsxx// #a%0@@ AFIHH H ac^Qsxx// #a%0@@ AF ''C -A XXF ''C A Q4D d)C )s $ Qt$ At$i )s  dNF qsbk>399SWWR \!^%<1` by .. math :: Z(s) = \sum_{n=1}^{\infty} \frac{1}{\tau_n^s} where `\frac12+i\tau_n` runs through the zeros of `\zeta(s)` with imaginary part positive. `Z(s)` extends to a meromorphic function on `\mathbb{C}` with a double pole at `s=1` and simple poles at the points `-2n` for `n=0`, 1, 2, ... **Examples** >>> from mpmath import * >>> mp.pretty = True; mp.dps = 15 >>> secondzeta(2) 0.023104993115419 >>> xi = lambda s: 0.5*s*(s-1)*pi**(-0.5*s)*gamma(0.5*s)*zeta(s) >>> Xi = lambda t: xi(0.5+t*j) >>> chop(-0.5*diff(Xi,0,n=2)/Xi(0)) 0.023104993115419 We may ask for an approximate error value:: >>> secondzeta(0.5+100j, error=True) ((-0.216272011276718 - 0.844952708937228j), 2.22044604925031e-16) The function has poles at the negative odd integers, and dyadic rational values at the negative even integers:: >>> mp.dps = 30 >>> secondzeta(-8) -0.67236328125 >>> secondzeta(-7) +inf **Implementation notes** The function is computed as sum of four terms `Z(s)=A(s)-P(s)+E(s)-S(s)` respectively main, prime, exponential and singular terms. The main term `A(s)` is computed from the zeros of zeta. The prime term depends on the von Mangoldt function. The singular term is responsible for the poles of the function. The four terms depends on a small parameter `a`. We may change the value of `a`. Theoretically this has no effect on the sum of the four terms, but in practice may be important. A smaller value of the parameter `a` makes `A(s)` depend on a smaller number of zeros of zeta, but `P(s)` uses more values of von Mangoldt function. We may also add a verbose option to obtain data about the values of the four terms. >>> mp.dps = 10 >>> secondzeta(0.5 + 40j, error=True, verbose=True) main term = (-30190318549.138656312556 - 13964804384.624622876523j) computed using 19 zeros of zeta prime term = (132717176.89212754625045 + 188980555.17563978290601j) computed using 9 values of the von Mangoldt function exponential term = (542447428666.07179812536 + 362434922978.80192435203j) singular term = (512124392939.98154322355 + 348281138038.65531023921j) ((0.059471043 + 0.3463514534j), 1.455191523e-11) >>> secondzeta(0.5 + 40j, a=0.04, error=True, verbose=True) main term = (-151962888.19606243907725 - 217930683.90210294051982j) computed using 9 zeros of zeta prime term = (2476659342.3038722372461 + 28711581821.921627163136j) computed using 37 values of the von Mangoldt function exponential term = (178506047114.7838188264 + 819674143244.45677330576j) singular term = (175877424884.22441310708 + 790744630738.28669174871j) ((0.059471043 + 0.3463514534j), 1.455191523e-11) Notice the great cancellation between the four terms. Changing `a`, the four terms are very different numbers but the cancellation gives the good value of Z(s). **References** A. Voros, Zeta functions for the Riemann zeros, Ann. Institute Fourier, 53, (2003) 665--699. A. Voros, Zeta functions over Zeros of Zeta Functions, Lecture Notes of the Unione Matematica Italiana, Springer, 2009. rrrrr@Tr rrTrue)r8r)r8rz main term =z computed usingz zeros of zetaz prime term =z#values of the von Mangoldt functionzexponential term =zsingular term =r8rJ)r#rr+rrir)r*r|fractionrr'rFrrr=rCrPrhr)rr,rrqrrr't3rrrr1gtrsr2ptt4r4rr:rs r secondzetar[s9x AA AA ''C yy|q Q qs8c$h 77N cffQi ! q577NA2q5M<<#,,r,"= =a1"Q$iHI J 88D a + A&  IM!)#aO B*3qP B)#a?B a +eBh rE"HRK ::i - $ &O < ." % &,Q R & + #R ( zz' A "#ad(CGGBJq!tO,r3w 2I s -C5I Ic |dk(r zS|dk(rjSdk(rj||z Sjdkrjr t dt j djz }j}j}t|D]}|||zzz z }||z}|j||zz|zSj| ddzzz jdz  z dz zz|zz z}dz djz  fd}|dj|djgzz }j!|sGj!s6j!s%j|dkrj#|}|S)a Gives the Lerch transcendent, defined for `|z| < 1` and `\Re{a} > 0` by .. math :: \Phi(z,s,a) = \sum_{k=0}^{\infty} \frac{z^k}{(a+k)^s} and generally by the recurrence `\Phi(z,s,a) = z \Phi(z,s,a+1) + a^{-s}` along with the integral representation valid for `\Re{a} > 0` .. math :: \Phi(z,s,a) = \frac{1}{2 a^s} + \int_0^{\infty} \frac{z^t}{(a+t)^s} dt - 2 \int_0^{\infty} \frac{\sin(t \log z - s \operatorname{arctan}(t/a)}{(a^2 + t^2)^{s/2} (e^{2 \pi t}-1)} dt. The Lerch transcendent generalizes the Hurwitz zeta function :func:`zeta` (`z = 1`) and the polylogarithm :func:`polylog` (`a = 1`). **Examples** Several evaluations in terms of simpler functions:: >>> from mpmath import * >>> mp.dps = 25; mp.pretty = True >>> lerchphi(-1,2,0.5); 4*catalan 3.663862376708876060218414 3.663862376708876060218414 >>> diff(lerchphi, (-1,-2,1), (0,1,0)); 7*zeta(3)/(4*pi**2) 0.2131391994087528954617607 0.2131391994087528954617607 >>> lerchphi(-4,1,1); log(5)/4 0.4023594781085250936501898 0.4023594781085250936501898 >>> lerchphi(-3+2j,1,0.5); 2*atanh(sqrt(-3+2j))/sqrt(-3+2j) (1.142423447120257137774002 + 0.2118232380980201350495795j) (1.142423447120257137774002 + 0.2118232380980201350495795j) Evaluation works for complex arguments and `|z| \ge 1`:: >>> lerchphi(1+2j, 3-j, 4+2j) (0.002025009957009908600539469 + 0.003327897536813558807438089j) >>> lerchphi(-2,2,-2.5) -12.28676272353094275265944 >>> lerchphi(10,10,10) (-4.462130727102185701817349e-11 - 1.575172198981096218823481e-12j) >>> lerchphi(10,10,-10.5) (112658784011940.5605789002 - 498113185.5756221777743631j) Some degenerate cases:: >>> lerchphi(0,1,2) 0.5 >>> lerchphi(0,1,-2) -0.5 Reduction to simpler functions:: >>> lerchphi(1, 4.25+1j, 1) (1.044674457556746668033975 - 0.04674508654012658932271226j) >>> zeta(4.25+1j) (1.044674457556746668033975 - 0.04674508654012658932271226j) >>> lerchphi(1 - 0.5**10, 4.25+1j, 1) (1.044629338021507546737197 - 0.04667768813963388181708101j) >>> lerchphi(3, 4, 1) (1.249503297023366545192592 - 0.2314252413375664776474462j) >>> polylog(4, 3) / 3 (1.249503297023366545192592 - 0.2314252413375664776474462j) >>> lerchphi(3, 4, 1 - 0.5**10) (1.253978063946663945672674 - 0.2316736622836535468765376j) **References** 1. [DLMF]_ section 25.14 rrz#Lerch transcendent complex infinityrcjj|z z|zz dz|dzzzj|zzz SrN)sinatanexpm1)r:rrrGrurr,s rrCzlerchphi..}sR#''!CHHQqSM/!A#-. Q$q!t)a#))AaC. (*r)rnrrrrr*rr4rrlerchphirrrr(r)rchop) rrRr,rrrzpowrrrGrurs ` `` @@@rrarasb AvaRyAvxx1~Av{{1a 1$$ vvay1} ;;q>BC C 366!9% & HHww A 1q A AID cll1Q!,,q00 q A 1QT6 S\\!A#r!t,ac{:QTAAA AA #&&A * *A388A377| $ $$A 66!9SVVAYsvvaySVVAY] HHQK Hr)r)r)z2http://www.dtc.umn.edu/~odlyzko/zeta_tables/zeros1)F)rrN)rr)gQ?)+ __future__r libmp.backendr functionsrrr r.r>rHrgr}rrrrrrrrrrrrrrrrrrrnrrrrr3r=rCrFrPr[rarOrrrgs@%"99##J++BBBJ%J%Z . E E  ,##  %%F*)*)X%)%)N..    " H*(&&* 9 9 5 5'' ,, 3,3,j""H' R=B()sE;;z#!B(( &"HDj j r