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.
 
 
 
 
 
 

63 lines
1.5 KiB

FUNCTION XSPENZ(Z)
c
c CALCULATES THE EULER DILOG FOR ARBITRARY COMPLEX ARGUMENT Z
c CALLS THE SERIES CALCULATION XCDIL
c T. RIEMANN, ABOUT 1984, FOLLOWING:
c t Hooft, G. and Veltman, M., SCALAR ONE LOOP INTEGRALS,
c Nucl. Phys.B153, 365, App. A
c
implicit none
include 'types.f'
include 'constants.f'
complex(dp)::xspenz,xcdil,z,cspenz
real(dp)::REZ,AIZ,AAZ,AAS,AIS,RE1,RES
integer::n,jprint
c logical::first
c IMPLICIT COMPLEX*16(X,Y)
c IMPLICIT REAL*8(A-H,O-W,Z)
c COMPLEX*16 Z,XCDIL,CSPENZ,LOG
c COMMON/CDZPIF/PI,F1
EXTERNAL XCDIL
DATA N/0/
c
JPRINT=0
c
REZ=REAL(Z)
AIZ=AIMAG(Z)
AAZ=ABS(Z)
IF(AAZ) 11,9,11
9 CSPENZ=DCMPLX(0.D0,0.D0)
GOTO 99
11 IF(AAZ-one) 6,4,1
1 RE1=REAL(one/Z)
IF(RE1-half) 3,3,2
2 CONTINUE
CSPENZ=XCDIL(one-one/Z)-2.*pisqo6-LOG(Z)*LOG(one-one/Z)
& -half*(LOG(-Z))**2
GOTO 99
3 CONTINUE
CSPENZ=-XCDIL(one/Z)-pisqo6-half*LOG(-Z)**2
GOTO 99
4 IF(REZ-one) 6,5,1
5 CSPENZ=DCMPLX(pisqo6,0.D0)
GOTO 99
6 IF(REZ-half) 7,7,8
7 CONTINUE
CSPENZ=XCDIL(Z)
GOTO 99
8 CONTINUE
CSPENZ=-XCDIL(one-Z)+pisqo6-LOG(Z)*LOG(one-Z)
99 CONTINUE
AAS= ABS(CSPENZ)
RES=REAL(CSPENZ)
AIS=AIMAG(CSPENZ)
IF(JPRINT) 97,97,98
98 CONTINUE
97 CONTINUE
XSPENZ=CSPENZ
END
c================================================================