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.
360 lines
12 KiB
360 lines
12 KiB
c ------------------------------------------------
|
|
double complex function HPL3ar1(n1,n2,n3,x)
|
|
implicit none
|
|
integer n1,n2,n3,j,bcflag
|
|
double complex x,ris,myi,zp,llzp
|
|
double precision pi, zeta2, zeta3,ll2,xre
|
|
|
|
pi=3.1415926535897932385D0
|
|
zeta3=1.20205690315959428539973816151d0
|
|
zeta2=pi**2/6d0
|
|
myi = dcmplx(0d0,1d0)
|
|
ll2 = dlog(2d0)
|
|
bcflag = 0
|
|
|
|
j=1+(n3+1)*1+(n2+1)*3+(n1+1)*9
|
|
ris = dcmplx(0d0,0d0)
|
|
|
|
c--- +i*epsilon to get branch cuts right ---
|
|
if (dimag(x).eq.0d0) then
|
|
x = x + dcmplx(0d0,1d-60)
|
|
bcflag = 1
|
|
endif
|
|
c---
|
|
|
|
c This was file contains the Taylor
|
|
c expansions around x = +1
|
|
c The expansion parameter is zp = 1-x
|
|
select case(j)
|
|
|
|
case(1) !-1-1-1
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = -((zp*ll2**2)/4d0) + (ll2**3)/6d0 + z
|
|
&p**4*(-(1d0/64d0) + (11d0*ll2)/384d0 - (ll2**2)/128d0)
|
|
&+ zp**2*((ll2)/8d0 - (ll2**2)/16d0) + zp**5*(-(7d0/768d
|
|
&0) + (5d0*ll2)/384d0 - (ll2**2)/320d0) + zp**3*(-(1d0/4
|
|
&8d0) + (ll2)/16d0 - (ll2**2)/48d0) + zp**6*(-(5d0/1024d
|
|
&0) + (137d0*ll2)/23040d0 - (ll2**2)/768d0)
|
|
|
|
case(2) !-1-10
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = (pi**2*zp)/24d0 + (pi**2*zp**2)/96d0
|
|
&+ (-(1d0/24d0) + (pi**2)/288d0)*zp**3 + ((pi**2)/768d0
|
|
&- 7d0/192d0)*zp**4 + ((pi**2)/1920d0 - 1d0/40d0)*zp**5
|
|
&+ (-(23d0/1440d0) + (pi**2)/4608d0)*zp**6 - (pi**2*ll2)
|
|
&/12d0 + (zeta3)/8d0
|
|
|
|
case(3) !-1-11
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((ll2**3)/6d0) + zp*(-((pi**2)/24d0)
|
|
& + (ll2**2)/4d0) + zp**3*(-((pi**2)/288d0) + 7d0/96d0 +
|
|
& (ll2**2)/48d0 - (llzp)/16d0) + zp**6*(2213d0/460800d0
|
|
&- (pi**2)/4608d0 + (ll2**2)/768d0 - (137d0*llzp)/23040d
|
|
&0) + zp**4*(131d0/4608d0 - (pi**2)/768d0 + (ll2**2)/128
|
|
&d0 - (11d0*llzp)/384d0) + zp**5*(-((pi**2)/1920d0) + 53
|
|
&d0/4608d0 + (ll2**2)/320d0 - (5d0*llzp)/384d0) + zp**2*
|
|
&(3d0/16d0 - (pi**2)/96d0 + (ll2**2)/16d0 - (llzp)/8d0)
|
|
&+ (zeta3)/8d0
|
|
|
|
case(4) !-10-1
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = -((pi**2*zp)/24d0) + (pi**2*ll2)/12d0
|
|
& + zp**5*(-((pi**2)/1920d0) - 1d0/30d0 + (ll2)/15d0) +
|
|
&zp**6*(-((pi**2)/4608d0) - 97d0/3840d0 + (2d0*ll2)/45d0
|
|
&) + zp**2*(-((pi**2)/96d0) + (ll2)/4d0) + zp**4*(-(1d0/
|
|
&24d0) - (pi**2)/768d0 + (5d0*ll2)/48d0) + zp**3*(-(1d0/
|
|
&24d0) - (pi**2)/288d0 + (ll2)/6d0) - (zeta3)/4d0
|
|
|
|
case(5) !-100
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = -((zp**3)/12d0) - (3d0*zp**4)/32d0 -
|
|
&(zp**5)/12d0 - (5d0*zp**6)/72d0 + (3d0*zeta3)/4d0
|
|
|
|
case(6) !-101
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((pi**2*zp)/12d0) + (pi**2*ll2)/6d0
|
|
&+ zp**5*(79d0/1800d0 - (pi**2)/960d0 - (llzp)/15d0) + z
|
|
&p**6*(-((pi**2)/2304d0) + 169d0/7200d0 - (2d0*llzp)/45d
|
|
&0) + zp**2*(-((pi**2)/48d0) + 3d0/8d0 - (llzp)/4d0) + z
|
|
&p**4*(25d0/288d0 - (pi**2)/384d0 - (5d0*llzp)/48d0) + z
|
|
&p**3*(-((pi**2)/144d0) + 13d0/72d0 - (llzp)/6d0) - (5d0
|
|
&*zeta3)/8d0
|
|
|
|
case(7) !-11-1
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = (pi**2*ll2)/12d0 - (ll2**3)/6d0 + zp*
|
|
&*5*((pi**2)/1920d0 - 41d0/4608d0 - (ll2)/800d0 - (ll2**
|
|
&2)/320d0 + (ll2*llzp)/160d0) + zp**3*((pi**2)/288d0 - 5
|
|
&d0/96d0 - (ll2)/72d0 - (ll2**2)/48d0 + (ll2*llzp)/24d0)
|
|
& + zp*((pi**2)/24d0 - (ll2)/2d0 - (ll2**2)/4d0 + (ll2*l
|
|
&lzp)/2d0) + zp**6*((pi**2)/4608d0 - 5269d0/1382400d0 -
|
|
&(ll2)/2304d0 - (ll2**2)/768d0 + (ll2*llzp)/384d0) + zp*
|
|
&*4*(-(49d0/2304d0) + (pi**2)/768d0 - (ll2)/256d0 - (ll2
|
|
&**2)/128d0 + (ll2*llzp)/64d0) + zp**2*(-(1d0/8d0) + (pi
|
|
&**2)/96d0 - (ll2)/16d0 - (ll2**2)/16d0 + (ll2*llzp)/8d0
|
|
&) - (zeta3)/4d0
|
|
|
|
case(8) !-110
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = (pi**2*zp)/12d0 + ((pi**2)/48d0 - 1d0
|
|
&/4d0)*zp**2 + ((pi**2)/144d0 - 1d0/8d0)*zp**3 + ((pi**2
|
|
&)/384d0 - 35d0/576d0)*zp**4 + (-(11d0/360d0) + (pi**2)/
|
|
&960d0)*zp**5 + ((pi**2)/2304d0 - 347d0/21600d0)*zp**6 +
|
|
& (pi**2*ll2)/12d0 - zeta3
|
|
|
|
case(9) !-111
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((pi**2*ll2)/12d0) + (ll2**3)/6d0 +
|
|
&zp**4*(-(1d0/1024d0) + (llzp)/256d0 - (llzp**2)/128d0)
|
|
&+ zp**2*(-(1d0/32d0) + (llzp)/16d0 - (llzp**2)/16d0) +
|
|
&zp**5*(-(1d0/4000d0) + (llzp)/800d0 - (llzp**2)/320d0)
|
|
&+ zp**3*(-(1d0/216d0) + (llzp)/72d0 - (llzp**2)/48d0) +
|
|
& zp*(-(1d0/2d0) + (llzp)/2d0 - (llzp**2)/4d0) + zp**6*(
|
|
&-(1d0/13824d0) + (llzp)/2304d0 - (llzp**2)/768d0) + (7d
|
|
&0*zeta3)/8d0
|
|
|
|
case(10) !0-1-1
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = -((zp*ll2**2)/2d0) + zp**5*(-(83d0/19
|
|
&20d0) + (131d0*ll2)/960d0 - (ll2**2)/10d0) + zp**6*(-(1
|
|
&1d0/288d0) + (661d0*ll2)/5760d0 - (ll2**2)/12d0) + zp**
|
|
&2*((ll2)/4d0 - (ll2**2)/4d0) + zp**3*(-(1d0/24d0) + (5d
|
|
&0*ll2)/24d0 - (ll2**2)/6d0) + zp**4*(-(3d0/64d0) + (ll2
|
|
&)/6d0 - (ll2**2)/8d0) + (zeta3)/8d0
|
|
|
|
case(11) !0-10
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = (pi**2*zp)/12d0 + (pi**2*zp**2)/24d0
|
|
&+ (-(1d0/12d0) + (pi**2)/36d0)*zp**3 + ((pi**2)/48d0 -
|
|
&5d0/48d0)*zp**4 + (-(5d0/48d0) + (pi**2)/60d0)*zp**5 +
|
|
&(-(47d0/480d0) + (pi**2)/72d0)*zp**6 - (3d0*zeta3)/2d0
|
|
|
|
case(12) !0-11
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((pi**2*ll2)/4d0) + zp*(-((pi**2)/12
|
|
&d0) + (ll2**2)/2d0) + zp**2*(-((pi**2)/24d0) + 3d0/8d0
|
|
&+ (ll2**2)/4d0 - (llzp)/4d0) + zp**3*(-((pi**2)/36d0) +
|
|
& 37d0/144d0 + (ll2**2)/6d0 - (5d0*llzp)/24d0) + zp**6*(
|
|
&13369d0/115200d0 - (pi**2)/72d0 + (ll2**2)/12d0 - (661d
|
|
&0*llzp)/5760d0) + zp**4*(-((pi**2)/48d0) + 107d0/576d0
|
|
&+ (ll2**2)/8d0 - (llzp)/6d0) + zp**5*(-((pi**2)/60d0) +
|
|
& 8257d0/57600d0 + (ll2**2)/10d0 - (131d0*llzp)/960d0) +
|
|
& (13d0*zeta3)/8d0
|
|
|
|
case(13) !00-1
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = -((pi**2*zp)/12d0) + zp**4*(-((pi**2)
|
|
&/48d0) - 11d0/96d0 + (11d0*ll2)/24d0) + zp**2*(-((pi**2
|
|
&)/24d0) + (ll2)/2d0) + zp**3*(-(1d0/12d0) - (pi**2)/36d
|
|
&0 + (ll2)/2d0) + zp**6*(-((pi**2)/72d0) - 731d0/5760d0
|
|
&+ (137d0*ll2)/360d0) + zp**5*(-((pi**2)/60d0) - 1d0/8d0
|
|
& + (5d0*ll2)/12d0) + (3d0*zeta3)/4d0
|
|
|
|
case(14) !000
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = -((zp**3)/6d0) - (zp**4)/4d0 - (7d0*z
|
|
&p**5)/24d0 - (5d0*zp**6)/16d0
|
|
|
|
case(15) !001
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((pi**2*zp)/6d0) + zp**4*(-((pi**2)/
|
|
&24d0) + 131d0/288d0 - (11d0*llzp)/24d0) + zp**2*(-((pi*
|
|
&*2)/12d0) + 3d0/4d0 - (llzp)/2d0) + zp**3*(-((pi**2)/18
|
|
&d0) + 7d0/12d0 - (llzp)/2d0) + zp**6*(-((pi**2)/36d0) +
|
|
& 2213d0/7200d0 - (137d0*llzp)/360d0) + zp**5*(-((pi**2)
|
|
&/30d0) + 53d0/144d0 - (5d0*llzp)/12d0) + zeta3
|
|
|
|
case(16) !01-1
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = (pi**2*ll2)/4d0 + zp*((pi**2)/12d0 -
|
|
&ll2 - (ll2**2)/2d0 + ll2*llzp) + zp**2*((pi**2)/24d0 -
|
|
&1d0/4d0 - (ll2)/4d0 - (ll2**2)/4d0 + (ll2*llzp)/2d0) +
|
|
&zp**3*((pi**2)/36d0 - 3d0/16d0 - (ll2)/9d0 - (ll2**2)/6
|
|
&d0 + (ll2*llzp)/3d0) + zp**4*((pi**2)/48d0 - 83d0/576d0
|
|
& - (ll2)/16d0 - (ll2**2)/8d0 + (ll2*llzp)/4d0) + zp**5*
|
|
&(-(1337d0/11520d0) + (pi**2)/60d0 - (ll2)/25d0 - (ll2**
|
|
&2)/10d0 + (ll2*llzp)/5d0) + zp**6*(-(33497d0/345600d0)
|
|
&+ (pi**2)/72d0 - (ll2)/36d0 - (ll2**2)/12d0 + (ll2*llzp
|
|
&)/6d0) - zeta3
|
|
|
|
case(17) !010
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = (pi**2*zp)/6d0 + ((pi**2)/12d0 - 1d0/
|
|
&2d0)*zp**2 + ((pi**2)/18d0 - 5d0/12d0)*zp**3 + ((pi**2)
|
|
&/24d0 - 49d0/144d0)*zp**4 + ((pi**2)/30d0 - 41d0/144d0)
|
|
&*zp**5 + ((pi**2)/36d0 - 5269d0/21600d0)*zp**6 - 2*zeta
|
|
&3
|
|
|
|
case(18) !011
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = zp**5*(-(1d0/125d0) + (llzp)/25d0 - (
|
|
&llzp**2)/10d0) + zp**6*(-(1d0/216d0) + (llzp)/36d0 - (l
|
|
&lzp**2)/12d0) + zp*(-1 + llzp - (llzp**2)/2d0) + zp**2*
|
|
&(-(1d0/8d0) + (llzp)/4d0 - (llzp**2)/4d0) + zp**3*(-(1d
|
|
&0/27d0) + (llzp)/9d0 - (llzp**2)/6d0) + zp**4*(-(1d0/64
|
|
&d0) + (llzp)/16d0 - (llzp**2)/8d0) + zeta3
|
|
|
|
case(19) !1-1-1
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((pi**2*ll2)/12d0) + (zp*ll2)/2d0 +
|
|
&(ll2**3)/3d0 + zp**2*(-(1d0/16d0) + (ll2)/16d0) + zp**6
|
|
&*(-(137d0/138240d0) + (ll2)/2304d0) + zp**4*(-(11d0/153
|
|
&6d0) + (ll2)/256d0) + zp**3*(-(1d0/48d0) + (ll2)/72d0)
|
|
&+ zp**5*(-(1d0/384d0) + (ll2)/800d0) - (ll2**2*llzp)/2d
|
|
&0 + (zeta3)/8d0
|
|
|
|
case(20) !1-10
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((zp**2)/8d0) - (zp**3)/18d0 - (5d0*
|
|
&zp**4)/192d0 - (zp**5)/75d0 - (zp**6)/135d0 - (pi**2*ll
|
|
&2)/4d0 + (pi**2*llzp)/12d0 + (13d0*zeta3)/8d0
|
|
|
|
case(21) !1-11
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = (pi**2*ll2)/6d0 - (ll2**3)/3d0 - (pi*
|
|
&*2*llzp)/12d0 + (ll2**2*llzp)/2d0 + zp**2*(1d0/16d0 - (
|
|
&llzp)/16d0) + zp**6*(1d0/6912d0 - (llzp)/2304d0) + zp**
|
|
&4*(1d0/512d0 - (llzp)/256d0) + zp*(1 - (llzp)/2d0) + zp
|
|
&**3*(1d0/108d0 - (llzp)/72d0) + zp**5*(1d0/2000d0 - (ll
|
|
&zp)/800d0) - (7d0*zeta3)/4d0
|
|
|
|
case(22) !10-1
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = zp*ll2 + zp**4*(-(1d0/24d0) + (ll2)/1
|
|
&6d0) + zp**5*(-(131d0/4800d0) + (ll2)/25d0) + zp**6*(-(
|
|
&661d0/34560d0) + (ll2)/36d0) + zp**2*(-(1d0/8d0) + (ll2
|
|
&)/4d0) + zp**3*(-(5d0/72d0) + (ll2)/9d0) - (pi**2*llzp)
|
|
&/12d0 - (5d0*zeta3)/8d0
|
|
|
|
case(23) !100
|
|
|
|
zp = 1d0-x
|
|
|
|
ris = -((zp**2)/4d0) - (zp**3)/6d0 - (11d0*
|
|
&zp**4)/96d0 - (zp**5)/12d0 - (137d0*zp**6)/2160d0 + zet
|
|
&a3
|
|
|
|
case(24) !101
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = zp*(2 - llzp) - (pi**2*llzp)/6d0 + zp
|
|
&**4*(1d0/32d0 - (llzp)/16d0) + zp**5*(2d0/125d0 - (llzp
|
|
&)/25d0) + zp**6*(1d0/108d0 - (llzp)/36d0) + zp**2*(1d0/
|
|
&4d0 - (llzp)/4d0) + zp**3*(2d0/27d0 - (llzp)/9d0) - 2*z
|
|
&eta3
|
|
|
|
case(25) !11-1
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((zp)/2d0) - (zp**2)/32d0 - (zp**3)/
|
|
&216d0 - (zp**4)/1024d0 - (zp**5)/4000d0 - (zp**6)/13824
|
|
&d0 - (pi**2*ll2)/12d0 + (ll2**3)/6d0 + (pi**2*llzp)/12d
|
|
&0 - (ll2**2*llzp)/2d0 + (ll2*llzp**2)/2d0 + (7d0*zeta3)
|
|
&/8d0
|
|
|
|
case(26) !110
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -zp - (zp**2)/8d0 - (zp**3)/27d0 - (z
|
|
&p**4)/64d0 - (zp**5)/125d0 - (zp**6)/216d0 + (pi**2*llz
|
|
&p)/6d0 + zeta3
|
|
|
|
case(27) !111
|
|
|
|
zp = 1d0-x
|
|
llzp = log(zp)
|
|
|
|
ris = -((llzp**3)/6d0)
|
|
c End of expansions around x = +1
|
|
|
|
end select
|
|
c --- set the imaginary part back to zero if it has been modified to
|
|
c --- get the branch cuts right (and should be zero).
|
|
if (bcflag.eq.1) then
|
|
xre = dreal(x)
|
|
if (n3.eq.0.and.xre.gt.0d0) then
|
|
if (xre.lt.1d0) then
|
|
ris = dcmplx(dreal(ris),0d0)
|
|
endif
|
|
c
|
|
else if (n3.eq.1.and.xre.lt.1d0) then
|
|
if (n1.ne.-1.and.n2.ne.-1) then
|
|
ris = dcmplx(dreal(ris),0d0)
|
|
else if (xre.gt.-1d0) then
|
|
ris = dcmplx(dreal(ris),0d0)
|
|
endif
|
|
c
|
|
else if (n3.eq.-1.and.xre.gt.-1d0) then
|
|
if (n1.ne.1.and.n2.ne.1) then
|
|
ris = dcmplx(dreal(ris),0d0)
|
|
else if (xre.lt.1d0) then
|
|
ris = dcmplx(dreal(ris),0d0)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
HPL3ar1=ris
|
|
return
|
|
end function
|