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.
28 lines
1.0 KiB
28 lines
1.0 KiB
function polylog(n,x)
|
|
implicit none
|
|
include 'types.f'
|
|
real(dp):: x
|
|
real(dp):: polylog
|
|
complex(dp):: Hc1(-1:1),Hc2(-1:1,-1:1),Hc3(-1:1,-1:1,-1:1),Hc4(-1:1,-1:1,-1:1,-1:1)
|
|
real(dp):: Hr1(-1:1),Hr2(-1:1,-1:1),Hr3(-1:1,-1:1,-1:1),Hr4(-1:1,-1:1,-1:1,-1:1)
|
|
real(dp):: Hi1(-1:1),Hi2(-1:1,-1:1),Hi3(-1:1,-1:1,-1:1),Hi4(-1:1,-1:1,-1:1,-1:1)
|
|
integer:: n
|
|
if (n==2) then
|
|
call hplog(x,2,Hc1,Hc2,Hc3,Hc4,
|
|
& Hr1,Hr2,Hr3,Hr4,Hi1,Hi2,Hi3,Hi4,-1,1)
|
|
polylog=real(Hc2(0,1),kind=dp)
|
|
elseif (n==3) then
|
|
call hplog(x,3,Hc1,Hc2,Hc3,Hc4,
|
|
& Hr1,Hr2,Hr3,Hr4,Hi1,Hi2,Hi3,Hi4,-1,1)
|
|
polylog=real(Hc3(0,0,1),kind=dp)
|
|
elseif (n==4) then
|
|
call hplog(x,4,Hc1,Hc2,Hc3,Hc4,
|
|
& Hr1,Hr2,Hr3,Hr4,Hi1,Hi2,Hi3,Hi4,-1,1)
|
|
polylog=real(Hc4(0,0,0,1),kind=dp)
|
|
else
|
|
write(6,*) 'polylog(n,x) is only defined for n=2,3,4'
|
|
stop
|
|
endif
|
|
return
|
|
end
|
|
|