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.
 
 
 
 
 
 

100 lines
2.6 KiB

program test
include 'lib/TensorReduction/Include/types.f'
include 'lib/TensorReduction/Include/pvCnames.f'
include 'lib/TensorReduction/Include/pvextCv.f'
include 'lib/TensorReduction/Include/TRydef.f'
include 'lib/TensorReduction/Include/pvverbose.f'
integer r,rmaxC,rmaxD,rmaxE
real(dp):: p1(4),p2(4),p3(4),p4(4),q1(4),q2(4),q3(4),q4(4),
& m1s,m2s,m3s,m4s,m5s
complex(dp):: FC0(-2:0),FC1(y1max,-2:0),FC2(y2max,-2:0),
& FC3(y3max,-2:0),FC4(y4max,-2:0),FC5(y5max,-2:0),FC6(y6max,-2:0),
& FD0(-2:0),FD1(y1max,-2:0),FD2(y2max,-2:0),
& FD3(y3max,-2:0),FD4(y4max,-2:0),FD5(y5max,-2:0),FD6(y6max,-2:0),
& FE0(-2:0),FE1(y1max,-2:0),FE2(y2max,-2:0),
& FE3(y3max,-2:0),FE4(y4max,-2:0),FE5(y5max,-2:0)
logical failed,dopvext
c--- flag to check pvext or not
dopvext=.false.
p1(:)=0._dp
p1(4)=3._dp
p1(3)=3._dp
p2(:)=0._dp
p2(4)=2._dp
p2(3)=-2._dp
p3(4)=3.5_dp
p3(1)=1.1_dp
p3(2)=0._dp
p3(3)=1.3_dp
p4(4)=4.5_dp
p4(1)=-1.1_dp
p4(2)=0.4_dp
p4(3)=2.7_dp
m1s=0.123_dp
m2s=0.419_dp
m3s=0.391_dp
m4s=0.0273_dp
m5s=0.0773_dp
m1s=0._dp
m2s=0._dp
m3s=0._dp
m4s=0._dp
m5s=0._dp
q1=p1
q2=p1+p2
q3=p1+p2+p3
q4=p1+p2+p3+p4
call qlinit
call pvsetmudim(1._dp)
call TRsetmaxindex(6,6,4)
if (dopvext) then
call pvextCtensor(p1,p2,m1s,m2s,m3s,FC0,FC1,FC2,FC3)
call pvextDtensor(p1,p2,p3,m1s,m2s,m3s,m4s,FD0,FD1,FD2,FD3,FD4)
rmaxC=3
rmaxD=4
rmaxE=0
else
call pvCtensor(q1,q2,m1s,m2s,m3s,FC0,FC1,FC2,FC3,FC4,FC5,FC6)
call pvDtensor(q1,q2,q3,m1s,m2s,m3s,m4s,
& FD0,FD1,FD2,FD3,FD4,FD5,FD6)
call pvEtensor(q1,q2,q3,q4,m1s,m2s,m3s,m4s,m5s,
& FE0,FE1,FE2,FE3,FE4,FE5)
rmaxC=6
rmaxD=6
rmaxE=5
endif
c--- triangles
do r=1,rmaxC
call pvCcheck(r,q1,q2,m1s,m2s,m3s,
& FC0,FC1,FC2,FC3,FC4,FC5,FC6,failed)
write(6,*) 'pvCcheck: rank,failed=',r,failed
enddo
c--- boxes
do r=1,rmaxD
call pvDcheck(r,q1,q2,q3,m1s,m2s,m3s,m4s,
& FD0,FD1,FD2,FD3,FD4,FD5,FD6,failed)
write(6,*) 'pvDcheck: rank,failed=',r,failed
enddo
c--- pentagons
do r=1,rmaxE
call pvEcheck(r,q1,q2,q3,q4,m1s,m2s,m3s,m4s,m5s,
& FE0,FE1,FE2,FE3,FE4,FE5,failed)
write(6,*) 'pvEcheck: rank,failed=',r,failed
enddo
stop
end