You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
505 lines
23 KiB
505 lines
23 KiB
C=============================================================================
|
|
C--- basis expansions
|
|
C=============================================================================
|
|
|
|
C---- expansion of dilogarithm in y = - log(1-z) with Bernoulli numbers
|
|
|
|
double complex function bsli2_inside(z)
|
|
implicit none
|
|
integer i, Nmax
|
|
double complex ris, z, zb
|
|
double precision bern(11)
|
|
|
|
c bern(i+1) = BernoulliB(2i)/(2i)!
|
|
data bern /1.D0,0.8333333333333333D-1,-0.1388888888888889D-2
|
|
&,0.3306878306878307D-4,-0.8267195767195767D-6,0.208767569878681D-7
|
|
&,-0.5284190138687493D-9,0.1338253653068468D-10
|
|
&,-0.3389680296322583D-12,0.8586062056277845D-14
|
|
&,-0.2174868698558062D-15/
|
|
parameter (Nmax=11) ! this is half the order we want (coz odd bernoulli numbers are zero except BernoulliB(1)=-0.5d0)
|
|
|
|
zb = dcmplx(1d0,0d0)-z
|
|
zb = -log(zb)
|
|
ris = -zb**2/4d0 !accounting for BernoulliB(1) = -0.5d0
|
|
do i=1,Nmax
|
|
ris = ris + zb**(2*i-1)*bern(i)/(2*i-1)
|
|
enddo
|
|
bsli2_inside = ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of the dilogarithm in log(z) with Zeta values
|
|
C-------- used for border < |z| < 1
|
|
|
|
double complex function bsli2_outside(z)
|
|
implicit none
|
|
integer i, Nmax
|
|
double complex ris, z, zb
|
|
double precision zeta(29),zeta0,zeta2
|
|
|
|
c zeta(i) = Zeta(2-2i-1)/(2i+1)! i.e. Zeta(-1)/6, Zeta(-3)/120, Zeta(-5)/7!....
|
|
data zeta /-0.01388888888888889d0,0.00006944444444444444d0
|
|
&,-7.873519778281683d-7,1.148221634332745d-8,-1.897886998897100d-10
|
|
&,3.387301370953521d-12,-6.372636443183180d-14,1.246205991295067d-
|
|
&15,-2.510544460899955d-17,5.178258806090624d-19,-1.088735736830085
|
|
&d-20,2.325744114302087d-22,-5.035195213147390d-24,1.10264992943812
|
|
&2d-25,-2.438658550900734d-27,5.440142678856252d-29,-1.222834013121
|
|
&735d-30,2.767263468967951d-32,-6.300090591832014d-34,1.44208683884
|
|
&1848d-35,-3.317093999159543d-37,7.663913557920658d-39,-1.777871473
|
|
&383066d-40,4.139605898234137d-42,-9.671557036081102d-44,2.26671870
|
|
&1676613d-45,-5.327956311328254d-47,1.255724838956433d-48,-2.967000
|
|
&542247094d-50/
|
|
|
|
parameter (Nmax=29) ! this is half the order we want (coz even zetaval2 are zero except for 0,2)
|
|
parameter (zeta0 = 1.644934066848226d0)
|
|
parameter (zeta2 = -0.2500000000000000d0)
|
|
|
|
zb = log(z)
|
|
ris = dcmplx(zeta0, 0d0) + zb*(1d0 -log(-zb))
|
|
& + zb**2*zeta2
|
|
do i=1,Nmax
|
|
ris = ris + zb**(2*i+1)*zeta(i)
|
|
enddo
|
|
|
|
bsli2_outside=ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of trilogarithm in y = - log(1-z) with Bernoulli numbers
|
|
|
|
double complex function bsli3_inside(z)
|
|
implicit none
|
|
integer i, Nmax
|
|
double complex ris, z, zb
|
|
double precision bern(21)
|
|
|
|
c bern(n+1) = Sum(Bern(n-k)*Bern(k)/(k+1)!(n-k)!,k=0..n)
|
|
data bern /1d0,-0.7500000000000000d0,0.2361111111111111d0,-0.0347
|
|
&2222222222222d0,0.0006481481481481481d0,0.0004861111111111111d0,-
|
|
&0.00002393550012597632d0,-0.00001062925170068027d0,7.794784580498
|
|
&866d-7,2.526087595532040d-7,-2.359163915200471d-8,-6.168132746415
|
|
&575d-9,6.824456748981078d-10,1.524285616929085d-10,-1.91690941417
|
|
&4054d-11,-3.791718683693992d-12,5.277408409541286d-13,9.471165533
|
|
&842511d-13,-1.432311114490360d-14,-2.372464515550457d-15,3.846565
|
|
&792753191d-16/
|
|
|
|
parameter (Nmax=21)
|
|
|
|
zb = dcmplx(1d0,0d0)-z
|
|
zb = -log(zb)
|
|
ris = dcmplx(0d0, 0d0)
|
|
do i=1,Nmax
|
|
ris = ris + zb**(i)*bern(i)/(i)
|
|
enddo
|
|
bsli3_inside=ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of the trilogarithm in log(z) with Zeta values
|
|
C-------- used for border < |z| < 1
|
|
|
|
double complex function bsli3_outside(z)
|
|
implicit none
|
|
integer i, Nmax
|
|
double complex ris, z, zb
|
|
double precision zeta(29),zeta0,zeta1,zeta3
|
|
|
|
c zeta(i) = Zeta(3-2i-2)/(2i+2)! i.e. Zeta(-1)/24, Zeta(-3)/6!, Zeta(-5)/8!,....
|
|
data zeta /-0.003472222222222222d0,0.00001157407407407407d0,-9.84
|
|
&1899722852104d-8,1.148221634332745d-9,-1.581572499080917d-11,2.41
|
|
&9500979252515d-13,-3.982897776989488d-15,6.923366618305929d-17,-1
|
|
&.255272230449977d-18,2.353754002768465d-20,-4.536398903458687d-22
|
|
&,8.945169670392643d-24,-1.798284004695496d-25,3.675499764793738d-
|
|
&27,-7.620807971564795d-29,1.600041964369486d-30,-3.39676114756037
|
|
&6d-32,7.282272286757765d-34,-1.575022647958003d-35,3.433540092480
|
|
&589d-37,-7.538849998089870d-39,1.666068164765360d-40,-3.703898902
|
|
&881387d-42,8.279211796468275d-44,-1.859914814630981d-45,4.1976272
|
|
&25327060d-47,-9.514207698800454d-49,2.165042825786954d-50,-4.9450
|
|
&00903745158d-52/
|
|
|
|
parameter (zeta0 = 1.202056903159594d0)
|
|
parameter (zeta1 = 1.644934066848226d0)
|
|
parameter (zeta3 = -0.08333333333333333d0)
|
|
parameter (Nmax=30) ! again, half the order, coz odd zetas are zero except 1,3
|
|
zb = log(z)
|
|
ris = dcmplx(zeta0, 0d0) + zb*zeta1 + zb**3*zeta3
|
|
& + zb**2*(1d0 + 0.5d0 -log(-zb))/2d0
|
|
do i=2,Nmax
|
|
ris = ris + zb**(2*i)*zeta(i-1)
|
|
enddo
|
|
bsli3_outside=ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of tetralogarithm in y = - log(1-z) with Bernoulli numbers
|
|
|
|
double complex function bsli4_inside(z)
|
|
implicit none
|
|
integer i, Nmax
|
|
double complex ris, z, zb
|
|
double precision bern(21)
|
|
|
|
c bern(n+1) = Sum(Sum(Bern(n-k1)*Bern(k2)*Bern(k1-k2)/(k1+1)(k2+1)!(n-k1)!(k1-k2)!,k2=0..k1),k1=0..n)
|
|
data bern /1d0,-0.8750000000000000d0,0.3495370370370370d0,-0.0792
|
|
&8240740740741d0,0.009639660493827160d0,-0.0001863425925925926d0,-
|
|
&0.0001093680638040048d0,0.000006788098837418565d0,0.0000020618654
|
|
&94287074d0,-2.183261421852692d-7,-4.271107367089217d-8,6.53555052
|
|
&3864399d-9,9.049046773887543d-10,-1.872603276102330d-10,-1.917727
|
|
&902789986d-11,5.216900572839828d-12,4.020087098665104d-13,-1.4261
|
|
&64321965609d-13,-8.256053984896996d-15,3.847254012507184d-15,1.64
|
|
&0607009971150d-16/
|
|
|
|
parameter (Nmax=20)
|
|
zb = dcmplx(1d0,0d0)-z
|
|
zb = -log(zb)
|
|
ris = dcmplx(0d0, 0d0)
|
|
do i=0,Nmax
|
|
ris = ris+zb**(i+1)*bern(i+1)/(i+1)
|
|
enddo
|
|
bsli4_inside=ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of tetralogarithm in y = log(z) with Zeta values
|
|
C-------- used for 0.3 < |z| < 1
|
|
|
|
double complex function bsli4_outside(z)
|
|
implicit none
|
|
integer i, Nmax
|
|
double complex ris, z, zb
|
|
double precision zeta(28),zeta0,zeta1,zeta2,zeta4
|
|
|
|
c zeta(i) = Zeta(4-2i-3)/(2i+3)! i.e. Zeta(-1)/120, Zeta(-3)/7!, Zeta(-5)/9!,....
|
|
data zeta /-0.0006944444444444444d0,0.000001653439153439153d0,-1.
|
|
&093544413650234d-8,1.043837849393405d-10,-1.216594230062244d-12,1
|
|
&.613000652835010d-14,-2.342881045287934d-16,3.643877167529436d-18
|
|
&,-5.977486811666558d-20,1.023371305551507d-21,-1.814559561383475d
|
|
&-23,3.313025803849127d-25,-6.200979326536194d-27,1.18564508541733
|
|
&5d-28,-2.309335748959029d-30,4.571548469627103d-32,-9.18043553394
|
|
&6961d-34,1.867249304296863d-35,-3.841518653556106d-37,7.984976959
|
|
&257184d-39,-1.675299999575527d-40,3.544825882479490d-42,-7.558977
|
|
&352819157d-44,1.623374862052603d-45,-3.509273235152795d-47,7.6320
|
|
&49500594654d-49,-1.669159245403588d-50,3.669564111503313d-52/
|
|
|
|
parameter (zeta0 = 1.082323233711138d0)
|
|
parameter (zeta1 = 1.202056903159594d0)
|
|
parameter (zeta2 = 0.8224670334241131d0)
|
|
parameter (zeta4 = -0.02083333333333333d0)
|
|
parameter (Nmax=29)! half the order, again
|
|
zb = log(z)
|
|
ris = dcmplx(zeta0, 0d0)+zb*zeta1+zb**2*zeta2+zb**4*zeta4
|
|
& + zb**3*(1d0 + 0.5d0 + 1d0/3d0 -log(-zb))/6d0
|
|
do i=2,Nmax
|
|
ris = ris+zb**(2*i+1)*zeta(i-1)
|
|
enddo
|
|
bsli4_outside=ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of H2m2(z) = -Li22(-1,z) in y=-log(1+z)
|
|
C---- requires the routine bsh2m2_inside_coeff in li22coeff.F for the coefficients
|
|
C---- Nmax is the highest order of the taylor expansion
|
|
|
|
double complex function bsh2m2_inside(z)
|
|
implicit none
|
|
double complex z,y,ris
|
|
double precision coeff(60)
|
|
integer n, Nmax
|
|
|
|
c array starts with former bsh2m2_inside_coeff(1) (zeroth entry is 0)
|
|
c coeff(n) = Convulute[BernoulliB,Car[Convolute[l,b]]][k]/(k+1)!
|
|
data coeff /0.25d0,-0.3333333333333333d0,0.32465277777777777d0,-0
|
|
&.30625d0,0.30379243827160493d0,-0.31872354497354497d0,0.349427536
|
|
&06072058d0,-0.39610441205803308d0,0.460888390823150247d0,-0.54763
|
|
&208903089855d0,0.662009111119538934d0,-0.81188925838826538d0,1.00
|
|
&79564336222981625d0,-1.264599649091272633d0,1.6011498028257904542
|
|
&d0,-2.043574582641123829d0,2.6267914678514710834d0,-3.39782126623
|
|
&4530619d0,4.4200891674751389159d0,-5.779296054536628214d0,7.59144
|
|
&20822867649412d0,-10.01380417551731684d0,13.259972434270600399d0,
|
|
&-17.62046979451679106d0,23.491059571267035452d0,-31.4116491068060
|
|
&3666d0,42.119811446777543608d0,-56.62449156061816696d0,76.3076073
|
|
&22111233016d0,-103.0642326566170164d0,139.49618771598667273d0,-18
|
|
&9.1796144758557257d0,257.03512190956252314d0,-349.840231144116085
|
|
&0d0,476.93937865631952298d0,-651.2283789979552836d0,890.520432944
|
|
&17179905d0,-1219.442885038297044d0,1672.0727345109416041d0,-2295.
|
|
&601033726150628d0,3155.4310810264688627d0,-4342.275779476606369d0
|
|
&,5982.0439827309674170d0,-8249.619738145092382d0,11388.0780556475
|
|
&20056d0,-15735.49668840664380d0,21762.386319547507958d0,-30123.97
|
|
&109708559602d0,41733.247558206646695d0,-57863.12925898186469d0,80
|
|
&289.32329366449d0,-111490.2720614106d0,154927.0759149843d0,-21543
|
|
&5.5591115531d0,299775.6357407621d0,-417401.3987681358d0,581541.04
|
|
&13407259d0,-810711.850057715d0,1.130846347545417d6,-1.57827721432
|
|
&5144d6/
|
|
|
|
parameter (Nmax = 60)
|
|
|
|
y = dcmplx(1d0,0d0)+z
|
|
y = -log(y)
|
|
ris = dcmplx(0d0,0d0)
|
|
do n=1,Nmax
|
|
ris = ris + y**(n+1)*coeff(n)
|
|
enddo
|
|
bsh2m2_inside = ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of H2m2(z) = -Li22(-1,z) in y = log(z) (and Re(z) >= 0)
|
|
C---- requires the routine bsh2m2_outside_coeff in li22coeff.F for the coefficients
|
|
C---- Nmax is the highest order of the taylor expansion
|
|
|
|
double complex function bsh2m2_outside(z)
|
|
implicit none
|
|
double complex z,y,ris,ccli2,cli4
|
|
double precision coeff(61),pi,zeta3,ll2
|
|
integer n, Nmax
|
|
|
|
c coeff(k+1) = Convulute[Car[del],Bar[BernoulliB]][k]/(k+2)!
|
|
data coeff /-0.34657359027997265d0,-0.09942893171332877d0,-0.0187
|
|
&02410976110731d0,-0.00208333333333333333d0,-0.0000489283712703769
|
|
&565d0,0.00002066798941798941798d0,1.2884145995370693d-6,-4.592886
|
|
&537330981d-7,-3.841355103101167d-8,1.5187840708674042d-8,1.311812
|
|
&0316900653d-9,-6.557442900035492d-10,-5.153945830168646d-11,3.365
|
|
&5258621402486d-11,2.3077743717648296d-12,-1.931471133735372d-12,-
|
|
&1.155139350926238d-13,1.1964852873441280d-13,6.3245372250613078d-
|
|
&15,-7.839892377577508d-15,-3.716509741676115d-16,5.36648237346418
|
|
&43d-16,2.3098164428978878d-17,-3.805635847779211d-17,-1.501916986
|
|
&436523d-18,2.7792170059732893d-18,1.0136168766044270d-19,-2.08071
|
|
&4243170466d-19,-7.057701198743988d-21,1.59134829672210430d-20,5.0
|
|
&4683282290655840d-22,-1.2398157254237306d-21,-3.6929281941419875d
|
|
&-23,9.81732678916664963d-23,2.75713292850179439d-24,-7.8859343489
|
|
&266344d-24,-2.0953089297831929d-25,6.41581981843306157d-25,1.6176
|
|
&5642120919963d-26,-5.2797430490927965d-26,-1.2666416605710754d-27
|
|
&,4.38978751038320894d-27,1.00447851365803680d-28,-3.6840236598483
|
|
&991d-28,-8.0579510486468311d-30,3.11806182115730762d-29,6.5321288
|
|
&5795057049d-31,-2.6595787179672540d-30,-5.3461220898892793d-32,2.
|
|
&28469700745414128d-31,4.41401503099778189d-33,-1.975545204274158d
|
|
&-32,-3.673985220125961d-34,1.718584764348089d-33,3.08093293007346
|
|
&2d-35,-1.503444991124448d-34,-2.601539822964359d-36,1.32209980521
|
|
&4306d-35,2.210902587052212d-37,-1.168278254554942d-36,-1.89020535
|
|
&3734545d-38/
|
|
|
|
parameter (Nmax = 61)
|
|
parameter (pi=3.1415926535897932385D0)
|
|
parameter (zeta3=1.20205690315959428539973816151d0)
|
|
|
|
ll2 = dlog(2d0)
|
|
y = log(z)
|
|
ris = dcmplx(0d0,0d0)
|
|
do n=1,Nmax
|
|
ris = ris + y**(n+1)*coeff(n)
|
|
enddo
|
|
! additional pieces (not part of the sum)
|
|
ris = ris + 71d0/1440d0*pi**4 + 1d0/6d0*pi**2*ll2**2
|
|
& - ll2**4/6d0 - 4d0*cli4(dcmplx(0.5d0,0d0))
|
|
& - 7d0/2d0*ll2*zeta3
|
|
& - 5d0/8d0*zeta3*log(z) + pi**2/12d0*ccli2(z) - pi**4/72d0
|
|
|
|
bsh2m2_outside = ris
|
|
return
|
|
end
|
|
|
|
|
|
C---- expansion of H_2,1,-1(z) in y = log(1-z)
|
|
C---- requires the routine bsh21m1_inside_coeff in li22coeff.F for the coefficients
|
|
C---- Nmax is the highest order of the taylor expansion
|
|
|
|
double complex function bsh21m1_inside(z)
|
|
implicit none
|
|
double complex z,y,ris
|
|
double precision coeff(61)
|
|
integer n, Nmax
|
|
|
|
c coeff(k+1) = Convolute[Car[L},BernoulliB][k]/(k+1)!
|
|
data coeff /0d0,0d0,0.055555555555555555d0,-0.041666666666666667d0
|
|
&,0.021111111111111111d0,-0.011342592592592592d0,0.0073932350718065
|
|
&003d0,-0.0055762235449735449d0,0.0046271188516558886d0,-0.00411593
|
|
&36419753086d0,0.0038629405982625679d0,-0.0037835075429114780d0,0.0
|
|
&038369243287143673d0,-0.0040054452150998234d0,0.004285098530729088
|
|
&1d0,-0.0046816317089567285d0,0.0052089445088451841d0,-0.0058889221
|
|
&403273633d0,0.0067522208567755897d0,-0.0078398552418544069d0,0.009
|
|
&2055983909726064d0,-0.010919316080588861d0,0.013071451431842447d0,
|
|
&-0.015778977915698980d0,0.019193260007986854d0,-0.0235104153561822
|
|
&82d0,0.028984974459923778d0,-0.035947901615873312d0,0.044830397737
|
|
&630808d0,-0.056195382909281664d0,0.070779196153853163d0,-0.0895469
|
|
&08495008895d0,0.113765799431433695d0,-0.14510309989558134d0,0.1857
|
|
&5619678426856d0,-0.23862631525569750d0,0.30755050306441750d0,-0.39
|
|
&761188650052154d0,0.51555512609759617d0,-0.67034341981460265d0,0.8
|
|
&7390616355980603d0,-1.1421436848979772d0,1.4962789532328810d0,-1.9
|
|
&646780730203453d0,2.5853047361479493d0,-3.4090328131501249d0,4.504
|
|
&1215980597537d0,-5.9622676828419232d0,7.9067966940867543d0,-10.503
|
|
&761791350370d0,13.9769939331314087d0,-18.62852893150884d0,24.86635
|
|
&593168189d0,-33.24214291737328d0,44.50256824694052d0,-59.659220779
|
|
&7288d0,80.0838592330268d0,-107.6383289103828d0,144.8518753970011d0
|
|
&,-195.1633208123604d0,263.2520618632051d0/
|
|
|
|
parameter (Nmax= 61)
|
|
|
|
y = dcmplx(1d0,0d0)-z
|
|
y = -log(y)
|
|
ris = dcmplx(0d0,0d0)
|
|
do n=1,Nmax
|
|
ris = ris + y**(n)*coeff(n)
|
|
enddo
|
|
bsh21m1_inside = ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of H_2,1,-1(z) in y = log(z) for Re(z) >= 0
|
|
C---- requires the routine bsh21m1_outside_1_coeff in li22coeff.F for the coefficients
|
|
C---- Nmax is the highest order of the taylor expansion
|
|
|
|
double complex function bsh21m1_outside_1(z)
|
|
implicit none
|
|
double complex z,y,ris,ccli2,cli4,cli3
|
|
double precision coeff(61),pi,zeta3,ll2
|
|
integer n, Nmax
|
|
|
|
c coeff(k+1) = Convolute[Car[Convolute[Car[eta],Bar[BernoulliB]]],Bar[BernoulliB]][k]/(k+2)!
|
|
data coeff /0.25d0,0.072916666666666667d0,0.014178240740740740d0,0
|
|
&.0017144097222222222d0,0.00007301311728395061d0,-0.000012504133597
|
|
&88359d0,-1.4500984752366555d-6,2.23621289275741160d-7,3.6408877787
|
|
&2260015d-8,-6.75558808154294265d-9,-1.10997077282832335d-9,2.92072
|
|
&909317950879d-10,4.07040664729507986d-11,-1.54232004675897065d-11,
|
|
&-1.75868046912178768d-12,9.08205825364570960d-13,8.669694078292288
|
|
&52d-14,-5.72693997823042031d-14,-4.72265764364769275d-15,3.7961006
|
|
&7543463165d-15,2.77257823938750085d-16,-2.61818556127472709d-16,-1
|
|
&.72389951229310029d-17,1.86623221122622925d-17,1.12174938342744883
|
|
&d-18,-1.36784448627205447d-18,-7.57565156220199884d-20,1.026798362
|
|
&51631059d-19,5.27780444854412377d-21,-7.86896678494559070d-21,-3.7
|
|
&7574503246258978d-22,6.14038472358867460d-22,2.76380954800098593d-
|
|
&23,-4.86830965140488328d-23,-2.06403852393105725d-24,3.91454487572
|
|
&201673d-24,1.56894524286430607d-25,-3.18746217044925224d-25,-1.211
|
|
&51253199583864d-26,2.62488166036095086d-26,9.48775732188417713d-28
|
|
&,-2.18371877690768050d-27,-7.52502306611488092d-29,1.8335540084562
|
|
&6932d-28,6.03726988240999908d-30,-1.55254146773965411d-29,-4.89454
|
|
&744652263780d-31,1.32474791719770610d-30,4.00620187106289264d-32,-
|
|
&1.13838724502036771d-31,-3.30795228544275656d-33,9.8462750253901d-
|
|
&33,2.753533737449097d-34,-8.56771228709784d-34,-2.309189265362991d
|
|
&-35,7.496835279005074d-35,1.949976046480221d-36,-6.59387311821575d
|
|
&-36,-1.657248185332491d-37,5.827730590842361d-37,1.4169158195933d-
|
|
&38/
|
|
|
|
parameter (pi=3.1415926535897932385D0)
|
|
parameter (zeta3=1.20205690315959428539973816151d0)
|
|
parameter (Nmax = 61)
|
|
|
|
ll2 = dlog(2d0)
|
|
y = log(z)
|
|
ris = dcmplx(0d0,0d0)
|
|
do n=1,Nmax
|
|
ris = ris + y**(n+1)*coeff(n)
|
|
enddo
|
|
! additional pieces (not part of the sum)
|
|
ris = ris - pi**4/80d0 + pi**2/12d0*ll2**2+ll2**4/24d0
|
|
& + cli4(dcmplx(0.5d0,0d0)) + 7d0/8d0*ll2*zeta3
|
|
& + y*(7d0*zeta3/8d0 + ll2**3/6d0
|
|
& - pi**2/12d0*ll2) - (0.5d0*ll2**2 - pi**2/12d0)
|
|
& *(pi**2/6d0 - ccli2(z)) + ll2*(-cli3(1d0 - z)
|
|
& + ccli2(1d0 - z)*log(1d0 - z) + 0.5d0*y*log(1d0-z)**2)
|
|
|
|
bsh21m1_outside_1 = ris
|
|
return
|
|
end
|
|
|
|
C---- expansion of H_2,1,-1(z) in y = log(-z) for Re(z) <= 0
|
|
C---- requires the routine bsh21m1_outside_2_coeff in li22coeff.F for the coefficients
|
|
C---- Nmax is the highest order of the taylor expansion
|
|
|
|
double complex function bsh21m1_outside_2(z)
|
|
implicit none
|
|
double complex z,y,ris,ccli2,cli4
|
|
double precision coeff1(61),coeff2(61),coeff3(61),pi,zeta3,ll2
|
|
integer n, Nmax
|
|
|
|
c coeff1(k+1) = 1/4*Convolute[Car[gam],Bar[g]][k]/(k+2)!
|
|
data coeff1 /0.d0,0.041666666666666664d0,0.015625d0,0.0015625d0,-0
|
|
&.00043402777777777775d0,-0.00009300595238095238d0,0.00002170138888
|
|
&888889d0,6.329571759259259d-6,-1.3175843253968255d-6,-4.6385544432
|
|
&41943d-7,8.898717666078777d-8,3.573011792412834d-8,-6.440106731525
|
|
&382d-9,-2.8542441194350915d-9,4.893886071031408d-10,2.344413033238
|
|
&938d-10,-3.856644066310772d-11,-1.968447326291694d-11,3.1260778689
|
|
&1506d-12,1.6824596996814433d-12,-2.591491983625591d-13,-1.45933070
|
|
&17835898d-13,2.1881086259469504d-14,1.2815326053750633d-14,-1.8759
|
|
&379346457062d-15,-1.1373075263231321d-15,1.6291907312337193d-16,1.
|
|
&0185168333506942d-16,-1.4306199549864602d-17,-9.19374092648735d-18
|
|
&,1.2683309378387418d-18,8.3566882828284155d-19,-1.133901104753092d
|
|
&-19,-7.642747026760038d-20,1.0212284628172237d-20,7.02828640619486
|
|
&2d-21,-9.258027908274031d-22,-6.495160220257945d-22,8.442309112741
|
|
&091d-23,6.029235640418441d-23,-7.739195375033816d-24,-5.6193649124
|
|
&97749d-24,7.128585780343022d-25,5.2566533649945075d-25,-6.59470075
|
|
&137659d-26,-4.93392967748237d-26,6.1250097873844946d-27,4.64535674
|
|
&1659573d-27,-5.709457821604045d-28,-4.386141875296571d-28,5.339898
|
|
&687147003d-29,4.152318311693282d-29,-5.0096745880731456d-30,-3.940
|
|
&5785329265186d-30,4.713300047174754d-31,3.748145794905431d-31,-4.4
|
|
&46221644935614d-32,-3.572674119099468d-32,4.204633438143212d-33,3.
|
|
&412169733875996d-33,-3.985333763003178d-34/
|
|
|
|
c coeff2(k+1) = 1/4*Convolute[Car[Car[gam]],Bar[g]][k]/(k+2)!
|
|
data coeff2 /0.d0,0.041666666666666664d0,0.013020833333333334d0,0.
|
|
&00078125d0,-0.0003689236111111111d0,-0.000038752480158730157d0,0.0
|
|
&00019117890211640213d0,2.3861480838477368d-6,-1.1894858493165786d-
|
|
&6,-1.6288763440456148d-7,8.170640766126877d-8,1.1871052215290496d-
|
|
&8,-5.985996641481926d-9,-9.062814050215188d-10,4.5909312190151783d
|
|
&-10,7.164860053216312d-11,-3.6439614891245165d-11,-5.8209617103446
|
|
&45d-12,2.970688033325715d-12,4.833759556181296d-13,-2.474257822461
|
|
&5757d-13,-4.08667204085739d-14,2.0972977936448042d-14,3.5072146563
|
|
&23402d-15,-1.8040269804842876d-15,-3.0483852733626177d-16,1.571171
|
|
&1182980456d-16,2.6786142826729357d-17,-1.3830500796359254d-17,-2.3
|
|
&760539988433582d-18,1.2287808333254907d-18,2.1251906928701036d-19,
|
|
&-1.1006142352006812d-19,-1.914758950919985d-20,9.929086819155697d-
|
|
&21,1.736415980225799d-21,-9.014761409182746d-22,-1.583875009223077
|
|
&d-22,8.231536213165235d-23,1.4523246009621054d-23,-7.5551535337982
|
|
&56d-24,-1.3380308874662655d-24,6.966751883890051d-25,1.23805967731
|
|
&85416d-25,-6.451482502735583d-26,-1.150078830970023d-26,5.99752345
|
|
&9709979d-27,1.0722154394963392d-27,-5.59536576479478d-28,-1.002951
|
|
&0870647065d-28,5.237288869237119d-29,9.410440074501714d-30,-4.9169
|
|
&70159919398d-30,-8.854705143231399d-31,4.629190652393522d-31,8.353
|
|
&804322882449d-32,-4.369610683008465d-32,-7.900628258973509d-33,4.1
|
|
&34597171055496d-33,7.489193910055058d-34,-3.921089311632362d-34/
|
|
|
|
c coeff3(k+1) = 1/4*Convolute[Car[Convolute[Car[zeta0],Bar[g]]],Bar[g]][k]/(k+2)!
|
|
data coeff3 /0.d0,0.d0,-0.005208333333333333d0,-0.0027777777777777
|
|
&78d0,-0.00044849537037037037d0,0.00007171792328042328d0,0.00002896
|
|
&102017195767d0,-3.346929371028247d-6,-2.0962631290942304d-6,1.8625
|
|
&329226457698d-7,1.60459779406642d-7,-1.1441181000133152d-8,-1.2764
|
|
&225130425063d-8,7.505939634206319d-10,1.0452440048137503d-9,-5.160
|
|
&657975459795d-11,-8.75648538072804d-11,3.673361812319829d-12,7.471
|
|
&673863414197d-12,-2.683984455617326d-13,-6.47253582686209d-13,2.00
|
|
&03913648526046d-14,5.678497945410287d-14,-1.513304268111153d-15,-5
|
|
&.035798991109289d-15,1.1572839941957358d-16,4.507394710505403d-16,
|
|
&-8.914410489716942d-18,-4.0670492949357045d-17,6.892965976882595d-
|
|
&19,3.695736121536782d-18,-5.331738527522966d-20,-3.379368570142838
|
|
&5d-19,4.109583231716237d-21,3.107325998255573d-20,-3.1415554138242
|
|
&515d-22,-2.8714707772078157d-21,2.366884399780646d-23,2.6654773878
|
|
&106823d-22,-1.7413132417682244d-24,-2.4843649215594016d-23,1.23209
|
|
&56980933767d-25,2.3241652071346157d-24,-8.146550067702229d-27,-2.1
|
|
&81683231858151d-25,4.703074070673616d-28,2.0543215403071973d-26,-1
|
|
&.8468288618937404d-29,-1.939949730058493d-27,-5.3388442090463d-31,
|
|
&1.8368062259364445d-28,2.526733885848279d-31,-1.7434234837116958d-
|
|
&29,-4.201139772094111d-32,1.658570420649873d-30,5.61252287055187d-
|
|
&33,-1.5812076638267927d-31,-6.805461760217498d-34,1.51045244111749
|
|
&38d-32,7.816064202735668d-35,-1.4455508007435913d-33/
|
|
|
|
parameter (pi=3.1415926535897932385D0)
|
|
parameter (zeta3=1.20205690315959428539973816151d0)
|
|
parameter (Nmax = 61)
|
|
|
|
ll2 = dlog(2d0)
|
|
y = log(-z)
|
|
ris = dcmplx(0d0,0d0)
|
|
|
|
do n=1,Nmax
|
|
ris = ris + y**(n+1)*(-coeff2(n)-coeff3(n)
|
|
& +coeff1(n)*(log(-y) - 1d0/n - 1d0/(n+1)) )
|
|
enddo
|
|
|
|
! additional pieces (not part of the sum)
|
|
ris = ris + pi**4/80d0 - pi**2*ll2**2/24d0
|
|
& - ll2**4/12d0 - (pi**2/12d0
|
|
& - ll2**2/2d0)*(-pi**2/12d0 -ll2*y - ccli2(z))
|
|
& - 2d0*cli4(dcmplx(0.5d0,0d0))
|
|
& - y*(-ll2**3/6d0 + zeta3/8d0)
|
|
|
|
bsh21m1_outside_2 = ris
|
|
return
|
|
end
|