1
subroutine iotxkk(fi,fo,tc,g,fmass , vertex)
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 tc(6,4) : input tensor t
10
c real g : coupling constant -kappa/8
11
c real fmass : fermion mass m_f
14
c complex vertex : amplitude <fo|t|fi>
17
double complex fi(6), fo(6), tc(6,4), vertex
18
double precision g, fmass
20
double complex k23, k23s, D1, D2, D3, D4, Tii
21
double complex T11, T22, T33, T44, T12, T13, T14, T23, T24, T34
22
double complex f13, f14, f23, f24, f31, f32, f41, f42
23
double precision k(4), k14p, k14m, m2
25
double precision rZero, rTwo
26
parameter( rZero = 0.0d0, rTwo = 2.0d0 )
28
parameter( ci = ( 0.0d0, 1.0d0 ) )
32
k(1) = dreal(fi(5)+fo(5))
33
k(2) = dreal(fi(6)+fo(6))
34
k(3) = dimag(fi(6)+fo(6))
35
k(4) = dimag(fi(5)+fo(5))
36
k23 = dcmplx( k(2),k(3) )
54
T12 = tc(1,2) + tc(2,1)
55
T13 = tc(1,3) + tc(3,1)
56
T14 = tc(1,4) + tc(4,1)
57
T23 = tc(2,3) + tc(3,2)
58
T24 = tc(2,4) + tc(4,2)
59
T34 = tc(3,4) + tc(4,3)
61
D1 = k(1)*(T11-T14) - k(2)*(T12-T24)
62
& - k(3)*(T13-T34) - k(4)*(T14-T44)
64
D2 = - k(1)*(T12-ci*T13) + k(2)*(T22-ci*T23)
65
& + k(3)*(T23-ci*T33) + k(4)*(T24-ci*T34)
67
D3 = - k(1)*(T12+ci*T13) + k(2)*(T22+ci*T23)
68
& + k(3)*(T23+ci*T33) + k(4)*(T24+ci*T34)
70
D4 = k(1)*(T11+T14) - k(2)*(T12+T24)
71
& - k(3)*(T13+T34) - k(4)*(T14+T44)
73
Tii = T11 - T22 - T33 - T44
75
vertex = D1*(f13+f42) + D2*(f14-f32) + D3*(f23-f41) + D4*(f24+f31)
77
vertex = vertex + Tii*( - k14p*(f24+f31) - k14m*(f13+f42)
78
& + k23*(f23-f41) + k23s*(f14-f32) )
80
if ( fmass.ne.rZero ) then
81
vertex = vertex + m2*Tii*( fo(1)*fi(1) + fo(2)*fi(2)
82
& + fo(3)*fi(3) + fo(4)*fi(4) )