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.
226 lines
9.0 KiB
226 lines
9.0 KiB
double complex function HPL4atm1(n1,n2,n3,n4)
|
|
implicit none
|
|
integer n1,n2,n3,n4,j
|
|
double complex ris,myi,cli4pt5,cli4
|
|
double precision pi, zeta2, zeta3,zeta4,ll2
|
|
|
|
pi=3.1415926535897932385D0
|
|
zeta3=1.20205690315959428539973816151d0
|
|
zeta2=pi**2/6d0
|
|
zeta4=pi**4/90d0
|
|
myi = dcmplx(0d0,1d0)
|
|
|
|
ll2 = dlog(2d0)
|
|
cli4pt5 = cli4(dcmplx(0.5d0,0d0))
|
|
|
|
j=1+(n4+1)*1+(n3+1)*3+(n2+1)*9+(n1+1)*27
|
|
ris = dcmplx(0d0,0d0)
|
|
|
|
if (j.ge.28) then
|
|
select case (j)
|
|
case(28) !0-1-1-1
|
|
ris = -pi**4/90d0
|
|
case(29) !0-1-10
|
|
ris = -pi**4/72d0 + myi*pi*zeta3
|
|
case(30) !0-1-11
|
|
ris = pi**4/80d0 - (pi**2*ll2**2)/12d0
|
|
& - ll2**4/24d0 - cli4pt5
|
|
& - (7*ll2*zeta3)/8d0
|
|
case(31) !0-10-1
|
|
ris = pi**4/120d0
|
|
case(32) !0-100
|
|
ris = pi**4/20d0 + 2d0*myi*pi*zeta3
|
|
case(33) !0-101
|
|
ris = (71*pi**4)/1440d0 + (pi**2*ll2**2)/6d0
|
|
& - ll2**4/6d0 - 4*cli4pt5
|
|
& - (7*ll2*zeta3)/2d0
|
|
case(34) !0-11-1
|
|
ris = (-7*pi**4)/288d0 + (pi**2*ll2**2)/8d0
|
|
& + ll2**4/8d0 + 3*cli4pt5
|
|
case(35) !0-110
|
|
ris = (-71*pi**4)/1440d0 - (pi**2*ll2**2)/6d0
|
|
& + ll2**4/6d0 + 4*cli4pt5
|
|
& + myi*pi*((pi**2*ll2)/4d0
|
|
& - zeta3) + (7*ll2*zeta3)/2d0
|
|
& - 2*((-19*pi**4)/1440d0
|
|
& + (7*ll2*zeta3)/4d0)
|
|
case(36) !0-111
|
|
ris = (-7*pi**4)/288d0 - (5*pi**2*ll2**2)/24d0
|
|
& + ll2**4/12d0 + 2*cli4pt5
|
|
& + (21*ll2*zeta3)/8d0
|
|
case(37) !00-1-1
|
|
ris = pi**4/360d0
|
|
case(38) !00-10
|
|
ris = pi**4/30d0 - myi*pi*zeta3
|
|
case(39) !00-11
|
|
ris = (-19*pi**4)/1440d0 + (7*ll2*zeta3)/4d0
|
|
case(40) !000-1
|
|
ris = -pi**4/90d0
|
|
case(41) !0000
|
|
ris = pi**4/24d0
|
|
case(42) !0001
|
|
ris = (-7*pi**4)/720d0
|
|
case(43) !001-1
|
|
ris = -pi**4/180d0 - (pi**2*ll2**2)/12d0
|
|
& + ll2**4/12d0 + 2*cli4pt5
|
|
case(44) !0010
|
|
ris = (7*pi**4)/240d0 - myi*3d0/4d0*pi*zeta3
|
|
case(45) !0011
|
|
ris = -pi**4/48d0 - (pi**2*ll2**2)/12d0
|
|
& + ll2**4/12d0 + 2*cli4pt5
|
|
& + (7*ll2*zeta3)/4d0
|
|
case(46) !01-1-1
|
|
ris = (11*pi**4)/720d0 - ll2**4/8d0 - 3*cli4pt5
|
|
case(47) !01-10
|
|
ris = -pi**4/480d0 - 2*(-pi**4/180d0
|
|
& - (pi**2*ll2**2)/12d0 + ll2**4/12d0
|
|
& + 2*cli4pt5)
|
|
& + myi*pi*(-(pi**2*ll2)/4d0 + (13*zeta3)/8d0)
|
|
case(48) !01-11
|
|
ris = (7*pi**4)/720d0 + (pi**2*ll2**2)/4d0
|
|
& - (21*ll2*zeta3)/8d0
|
|
case(49) !010-1
|
|
ris = pi**4/480d0
|
|
case(50) !0100
|
|
ris = pi**4/80d0 + myi*3d0/2d0*pi*zeta3
|
|
case(51) !0101
|
|
ris = (13*pi**4)/288d0 + (pi**2*ll2**2)/6d0
|
|
& - ll2**4/6d0 - 4*cli4pt5
|
|
& - (7*ll2*zeta3)/2d0
|
|
case(52) !011-1
|
|
ris = pi**4/80d0 - (pi**2*ll2**2)/24d0
|
|
& - ll2**4/12d0 - 2*cli4pt5
|
|
case(53) !0110
|
|
ris = (-13*pi**4)/288d0 - (pi**2*ll2**2)/6d0
|
|
& + ll2**4/6d0 + 4*cli4pt5
|
|
& + myi/8d0*pi*zeta3
|
|
& + (7*ll2*zeta3)/2d0 - 2*(-pi**4/48d0
|
|
& - (pi**2*ll2**2)
|
|
& /12d0 + ll2**4/12d0 + 2*cli4pt5
|
|
& + (7*ll2*zeta3)/4d0)
|
|
case(54) !0111
|
|
ris = -pi**4/90d0 - (pi**2*ll2**2)/24d0
|
|
& + ll2**4/24d0 + cli4pt5
|
|
& + (7*ll2*zeta3)/8d0
|
|
case(55) !1-1-1-1
|
|
ris = cli4pt5
|
|
case(56) !1-1-10
|
|
ris = pi**4/720d0 + ll2**4/24d0 + cli4pt5
|
|
& - myi*pi*(-(pi**2*ll2)/12d0 + ll2**3/6d0
|
|
& + (7*zeta3)/8d0) - (ll2*zeta3)/8d0
|
|
case(57) !1-1-11
|
|
ris = -pi**4/288d0 - (pi**2*ll2**2)/24d0
|
|
& + ll2**4/24d0 + (7*ll2*zeta3)/8d0
|
|
case(58) !1-10-1
|
|
ris = (-19*pi**4)/1440d0 + (pi**2*ll2**2)/24d0
|
|
& + ll2**4/24d0 + cli4pt5
|
|
& + (ll2*zeta3)/4d0
|
|
case(59) !1-100
|
|
ris = (19*pi**4)/1440d0 - (pi**2*(pi**2/12d0
|
|
& - ll2**2/2d0))/2d0
|
|
& - myi*pi*((pi**2*ll2)/6d0
|
|
& - (5*zeta3)/8d0) - (3*ll2*zeta3)/4d0
|
|
& - myi*pi*(-(pi**2*ll2)/4d0 + (13*zeta3)/8d0)
|
|
case(60) !1-101
|
|
ris = (-11*pi**4)/240d0 - (pi**2*ll2**2)/8d0
|
|
& + ll2**4/6d0 + 4*cli4pt5
|
|
& + (13*ll2*zeta3)/4d0
|
|
case(61) !1-11-1
|
|
ris = pi**4/1440d0 - (pi**2*ll2**2)/24d0
|
|
& + ll2**4/24d0 + (ll2*zeta3)/4d0
|
|
case(62) !1-110
|
|
ris = -pi**4/360d0 - (pi**2*ll2**2)/24d0
|
|
& - myi*pi*((pi**2*ll2)/12d0 - ll2**3/6d0
|
|
& - zeta3/4d0)
|
|
& + ll2*zeta3
|
|
case(63) !1-111
|
|
ris = pi**4/30d0 + (pi**2*ll2**2)/6d0
|
|
& - ll2**4/6d0 - 3*cli4pt5
|
|
& - (23*ll2*zeta3)/8d0
|
|
case(64) !10-1-1
|
|
ris = -pi**4/288d0 - (pi**2*ll2**2)/24d0
|
|
& + ll2**4/24d0 + cli4pt5
|
|
& - (ll2*zeta3)/8d0
|
|
case(65) !10-10
|
|
ris = -pi**4/480d0 + myi*pi*((pi**2*ll2)/6d0
|
|
& - (5*zeta3)/8d0) - 2*(pi**4/60d0
|
|
& + (pi**2*ll2**2)/12d0
|
|
& - ll2**4/12d0 - 2*cli4pt5
|
|
& - (3*ll2*zeta3)/4d0)
|
|
case(66) !10-11
|
|
ris = (7*pi**4)/180d0 - (pi**2*ll2**2)/12d0
|
|
& - ll2**4/6d0 - 4*cli4pt5
|
|
& - (13*ll2*zeta3)/8d0
|
|
case(67) !100-1
|
|
ris = pi**4/60d0 + (pi**2*ll2**2)/12d0
|
|
& - ll2**4/12d0 - 2*cli4pt5
|
|
& - (3*ll2*zeta3)/4d0
|
|
case(68) !1000
|
|
ris = (-23*pi**4)/720d0 + myi/6d0*pi**3*ll2
|
|
& - myi*3d0/4d0*pi*zeta3
|
|
case(69) !1001
|
|
ris = -pi**4/288d0 + (3*ll2*zeta3)/4d0
|
|
case(70) !101-1
|
|
ris = (-5*pi**4)/144d0 + (pi**2*ll2**2)/12d0
|
|
& + ll2**4/6d0 + 4*cli4pt5 + ll2*zeta3
|
|
case(71) !1010
|
|
ris = (-13*pi**4)/288d0 - (pi**2*ll2**2)/6d0
|
|
& + ll2**4/6d0 + 4*cli4pt5
|
|
& + myi*pi*((pi**2*ll2)
|
|
& /12d0 - zeta3/4d0) + (7*ll2*zeta3)/2d0
|
|
& - 2*(-pi**4/288d0
|
|
& + (3*ll2*zeta3)/4d0)
|
|
case(72) !1011
|
|
ris = pi**4/30d0 + (pi**2*ll2**2)/8d0
|
|
& - ll2**4/8d0 - 3*cli4pt5
|
|
& - (11*ll2*zeta3)/4d0
|
|
case(73) !11-1-1
|
|
ris = pi**4/720d0 + ll2**4/24d0
|
|
& - (ll2*zeta3)/8d0
|
|
case(74) !11-10
|
|
ris = (7*pi**4)/288d0 + (pi**2*ll2**2)/24d0
|
|
& - ll2**4/12d0 - 2*cli4pt5
|
|
& - myi*pi*(-ll2**3/6d0
|
|
& + zeta3/8d0) - (13*ll2*zeta3)/8d0
|
|
case(75) !11-11
|
|
ris = -pi**4/30d0 - (pi**2*ll2**2)/8d0
|
|
& + ll2**4/12d0 + 3*cli4pt5
|
|
& + (11*ll2*zeta3)/4d0
|
|
case(76) !110-1
|
|
ris = -pi**4/480d0 - (pi**2*ll2**2)/12d0
|
|
& + (5*ll2*zeta3)/8d0
|
|
case(77) !1100
|
|
ris = pi**4/48d0 - (pi**2*ll2**2)/6d0
|
|
& - ll2**4/12d0 - 2*cli4pt5
|
|
& - myi*pi*((pi**2*ll2)
|
|
& /12d0 - zeta3/4d0) - myi/8d0*pi*zeta3
|
|
& - ll2*zeta3
|
|
case(78) !1101
|
|
ris = -pi**4/30d0 - (pi**2*ll2**2)/6d0
|
|
& + ll2**4/8d0 + 3*cli4pt5
|
|
& + (23*ll2*zeta3)/8d0
|
|
case(79) !111-1
|
|
ris = pi**4/90d0 + (pi**2*ll2**2)/24d0
|
|
& - ll2**4/12d0 - cli4pt5
|
|
& - (7*ll2*zeta3)/8d0
|
|
case(80) !1110
|
|
ris = pi**4/90d0 + (pi**2*ll2**2)/12d0
|
|
& - myi/6d0*pi*ll2**3 - ll2**4/24d0
|
|
& - cli4pt5
|
|
& - ll2*zeta3
|
|
case(81) !1111
|
|
ris = ll2**4/24d0
|
|
end select
|
|
else
|
|
print*, ""
|
|
print*, "****************"
|
|
print*, "ERROR in HPL4: "
|
|
print*, "HPL4(",n1,",",n2,",",n3,",",n4
|
|
& ,",-1) is divergent!"
|
|
print*, "Aborting..."
|
|
print*,"****************"
|
|
stop
|
|
endif
|
|
HPL4atm1=ris
|
|
return
|
|
end function
|