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.
 
 
 
 
 
 

67 lines
1.9 KiB

subroutine ovswitch(p1,F0,F1,F2,F3,F4,F1a,F2a,F3a,F4a)
C----from F0,F1,F2,F3,F4 calculate F1a,F2a,F3a,F4a
C----which has first denominator
C----shifted by p1
implicit none
include 'lib/TensorReduction/Include/types.f'
include 'lib/TensorReduction/Include/TRydef.f'
include 'lib/TensorReduction/Include/TRmaxindex.f'
integer n1,n2,n3,n4,ep
complex(dp):: F0(-2:0),F1(y1max,-2:0),F2(y2max,-2:0),
& F3(y3max,-2:0),F4(y4max,-2:0)
complex(dp):: F1a(y1max,-2:0),F2a(y2max,-2:0),
& F3a(y3max,-2:0),F4a(y4max,-2:0)
real(dp):: p1(4)
do ep=-2,0
do n1=1,4
if (maxeindex .lt. 2) cycle
F1a(n1,ep)=F1(n1,ep)-p1(n1)*F0(ep)
do n2=n1,4
if (maxeindex .lt. 3) cycle
F2a(y2(n1,n2),ep)=F2(y2(n1,n2),ep)
& -p1(n1)*F1(n2,ep)-p1(n2)*F1(n1,ep)
& +p1(n1)*p1(n2)*F0(ep)
do n3=n2,4
if (maxeindex .lt. 4) cycle
F3a(y3(n1,n2,n3),ep)=F3(y3(n1,n2,n3),ep)
& -p1(n1)*F2(y2(n2,n3),ep)
& -p1(n2)*F2(y2(n3,n1),ep)
& -p1(n3)*F2(y2(n1,n2),ep)
& +p1(n1)*p1(n2)*F1(n3,ep)
& +p1(n2)*p1(n3)*F1(n1,ep)
& +p1(n3)*p1(n1)*F1(n2,ep)
& -p1(n1)*p1(n2)*p1(n3)*F0(ep)
do n4=n3,4
if (maxeindex .lt. 5) cycle
F4a(y4(n1,n2,n3,n4),ep)=F4(y4(n1,n2,n3,n4),ep)
& -p1(n1)*F3(y3(n2,n3,n4),ep)
& -p1(n2)*F3(y3(n3,n4,n1),ep)
& -p1(n3)*F3(y3(n4,n1,n2),ep)
& -p1(n4)*F3(y3(n1,n2,n3),ep)
& +p1(n1)*p1(n2)*F2(y2(n3,n4),ep)
& +p1(n1)*p1(n3)*F2(y2(n2,n4),ep)
& +p1(n1)*p1(n4)*F2(y2(n2,n3),ep)
& +p1(n2)*p1(n3)*F2(y2(n1,n4),ep)
& +p1(n2)*p1(n4)*F2(y2(n1,n3),ep)
& +p1(n3)*p1(n4)*F2(y2(n1,n2),ep)
& -p1(n1)*p1(n2)*p1(n3)*F1(n4,ep)
& -p1(n2)*p1(n3)*p1(n4)*F1(n1,ep)
& -p1(n3)*p1(n4)*p1(n1)*F1(n2,ep)
& -p1(n4)*p1(n1)*p1(n2)*F1(n3,ep)
& +p1(n1)*p1(n2)*p1(n3)*p1(n4)*F0(ep)
enddo
enddo
enddo
enddo
enddo
return
end