1
subroutine jiokxx(fi,fo,g,tmass,twidth , uio)
3
c This subroutine computes an amplitude of the fermion-fermion-vector
7
c complex fi(6) : flow-in fermion |fi>
8
c complex fo(6) : flow-out fermion <fo|
9
c complex g(1) : coupling constant -kappa/8
10
c real g(2) : fermion mass m_f
13
c complex uio(18) : outgoing tensor T_{mu,vu} = T(mu+4*(vu-1))
16
double complex fi(18), fo(18), uio(18),g(2)
17
double precision fmass,tmass,twidth
19
double complex tc(4,4),tc1(4,4),fgamf(4),ffm
20
double complex fkslaf,fgamfk(4,4),prop,denom
21
double precision k(4),pp,m2,p(4),eta(4,4)
25
parameter( ci = ( 0.0d0, 1.0d0 ) )
36
p(1) = dble( uio(17))/tmass
37
p(2) = dble( uio(18))/tmass
38
p(3) = dimag(uio(18))/tmass
39
p(4) = dimag(uio(17))/tmass
41
k(1) = dble( fi(5)+fo(5))
42
k(2) = dble( fi(6)+fo(6))
43
k(3) = dimag(fi(6)+fo(6))
44
k(4) = dimag(fi(5)+fo(5))
46
pp = p(1)**2 - p(2)**2 - p(3)**2 - p(4)**2
48
denom = dcmplx(pp*m2 - m2,tmass*twidth)
50
fgamf(1) = fi(3)*fo(1)+fi(4)*fo(2)+fi(1)*fo(3)+fi(2)*fo(4)
51
fgamf(2) = fi(4)*fo(1)+fi(3)*fo(2)-fi(2)*fo(3)-fi(1)*fo(4)
52
fgamf(3) =ci*(-fi(4)*fo(1)+fi(3)*fo(2)+fi(2)*fo(3)-fi(1)*fo(4))
53
fgamf(4) = fi(3)*fo(1)-fi(4)*fo(2)-fi(1)*fo(3)+fi(2)*fo(4)
54
ffm = 2d0*fmass*(fo(1)*fi(1)+fo(2)*fi(2)+fo(3)*fi(3)+fo(4)*fi(4))
55
fkslaf = k(1)* fgamf(1)-k(2)* fgamf(2)-
56
& k(3)* fgamf(3)-k(4)* fgamf(4)
72
tc(i,j)=fgamf(i)*k(j)+fgamf(j)*k(i)
77
tc(i,i)=2d0*(fgamf(i)*k(i)+(fkslaf-ffm))
79
tc(1,1)=2d0*(fgamf(1)*k(1)-(fkslaf-ffm))
81
c make indices upper indices before contracting with propagator
89
c multiply by propagator
94
uio(i+4*(j-1))=uio(i+4*(j-1))+
96
& (eta(i,ii)-p(i)*p(ii))*(eta(j,jj)-p(j)*p(jj))+
97
& (eta(i,jj)-p(i)*p(jj))*(eta(j,ii)-p(j)*p(ii))-
98
& 2d0/3d0*(eta(i,j)-p(i)*p(j))*(eta(ii,jj)-p(ii)*p(jj))
100
& *tc(ii,jj)*g(1)/denom