1*
$Id: ff.h,v 1.1 1995/12/12 10:03:48 gj Exp $
2* -------------------------------------------------------------
3* INCLUDE FILE FOR THE FF ROUTINES.
4* Geert Jan van Oldenborgh.
5* -------------------------------------------------------------
6* please
do not change, and recompile _everything_ when you
do.
7* -------------------------------------------------------------
9*
this parameter determines how far the scalar npoint functions
10* will look back to find the same
parameters (when lmem is
true)
13 parameter (memory = 12)
15*
if .TRUE. then
default (ffinit)
16* l4also: in C0 (and higher), also consider the algorithm with 16
18* ldc3c4: in D0 (and higher), also consider possible cancellations
19* between the C0s .TRUE.
20* lmem: before computing the C0 and higher, first check whether
21* it has already been done recently .FALSE.
22* ldot: leave the dotproducts and some determinants in common
24* onshel: (in ffz?0 only): use onshell momenta .TRUE.
28 logical l4also,ldc3c4,lmem,ldot,onshel,lsmug,lnasty
30* nwidth: number of widths within which the complex mass is used
31*
nschem: scheme to
handle the complex mass (see ffinit.f)
32* idot: internal flags to signal that some of the dotproducts
33* are input: 0: none; 1: external pi.pj, 2: external +
34* kinematical determinant, 3: all dotproducts + kindet.
38*
xloss: factor that the
final result of a subtraction can be
39* smaller than the terms without warning (
default 1/8)
40* precx: precision of real numbers, determined at runtime by
41* ffinit (IEEE: 4.e-16)
42* precc: same for complex numbers
43* xalogm: smallest real number of which a log can be taken,
44* determined at runtime by ffinit (IEEE: 2.e-308)
45* xclogm: same for complex.
53* bf: factors in the expansion of dilog (~Bernouilli numbers)
57* fpij2: vi.vj for 2point function 1-2: si, 3-3: pi
58* fpij3: vi.vj for 3point function 1-3: si, 4-6: pi
59* fpij4: vi.vj for 4point function 1-4: si, 5-10: pi
60* fpij5: vi.vj for 5point function 1-5: si, 6-15: pi
61* fpij6: vi.vj for 6point function 1-6: si, 7-21: pi
62* fdel2: del2 = delta_(p1,p2)^(p1,p2) = p1^2.p2^2 - p1.p2^2 in C0
63* fdel3: del3 = delta_(p1,p2,p3)^(p1,p2,p3) in D0
64* fdel4s: del4s = delta_(s1,s2,s3,s4)^(s1,s2,s3,s4) in D0
65* fdel4: del4 = delta_(p1,p2,p3,p4)^(p1,p2,p3,p4) in E0
66* fdl3i: del3i = delta_(pj,pk,pl)^(pj,pk,pl) in E0, D0 without si
67* fdl4si: dl4si = del4s in E0, D0 without si
68* fdl3ij: same in F0 without si and sj.
69* fd4sij: dl4si = del4s in E0, D0 without si
70* fdl4i: delta4 in F0 without si.
71* fodel2: same offshell (in case of complex or z-functions)
78* fidel3: ier of del3 (is
not included in D0)
79* fidel4: ier of del4 (is
not included in E0)
80* fidl3i: ier of dl3i (is
not included in E0)
81* fid3ij: ier of dl3ij (is
not included in F0)
82* fidl4i: ier of dl4i (is
not included in F0)
85 & reqprc,pi,pi6,pi12,xlg2,sqrt2,bf(20),
86 & xninv(30),xn2inv(30),xinfac(30),
87 & fpij2(3,3),fpij3(6,6),fpij4(10,10),fpij5(15,15),
88 & fpij6(21,21),fdel2,fdel3,fdel4s,fdel4,fdl3i(5),
89 & fdl4si(5),fdl3ij(6,6),fd4sij(6,6),fdl4i(6),fodel2,
90 & fodel3,fodel4,fodl3i(5),fod3ij(6,6),fodl4i(6)
91 integer fidel3,fidel4,fidl3i(5),fid3ij(6,6),fidl4i(6)
97* cfp..: complex version of fp..., only defined in ff[cz]*
98* cmipj: (internal only) mi^2 - pj^2 in C0
99* c2sisj: (internal only) 2*si.sj in D0
100* cfdl4s: del4s in complex case (D0)
101* ca1: (internal only) complex A1
102* csdl2p: (internal only) complex transformed sqrt(del2)
105 & cfpij2(3,3),cfpij3(6,6),cfpij4(10,10),cfpij5(15,15),
106 & cfpij6(21,21),cmipj(3,3),c2sisj(4,4),cfdl4s,ca1
108* nevent: number in integration loop (to be updated by user)
109* ner: can be used to signal numerical problems (see ffrcvr)
110* id: identifier of scalar function (to be set by user)
111* idsub: internal identifier to pinpoint errors
112* inx: in D0: p(inx(i,j)) = isgn(i,j)*(s(i)-s(j))
113* inx5: in E0: p(inx5(i,j)) = isgn5(i,j)*(s(i)-s(j))
114* inx6: in F0: p(inx6(i,j)) = isgn6(i,j)*(s(i)-s(j))
118* iold: rotation matrix for 4point function
119* isgrot: signs to iold
120* isgn34: +1 or -1: which root to choose in the transformation (D0)
121* isgnal: +1 or -1: which root to choose in the alpha-trick (C0)
122* irota3: save the number of positions the C0 configuration has been
124* irota4: same for the D0
125* irota5: same for the E0
126* irota6: same for the F0
128 integer nevent,ner,id,idsub,inx(4,4),isgn(4,4),inx5(5,5),
129 & isgn5(5,5),inx6(6,6),isgn6(6,6),isgn34,isgnal,iold(13,
130 & 12),isgrot(10,12),irota3,irota4,irota5,irota6
141 & chalf = (.5D0,0D0),
143 & c2ipi = (0D0,6.28318530717958647692528676655896D0),
144 & cipi2 = (0D0,9.869604401089358618834490999876D0),
145 & pi = 3.14159265358979323846264338327948D0,
146 & pi6 = 1.644934066848226436472415166646D0,
147 & pi12 = .822467033424113218236207583323D0,
148 & xlg2 = .6931471805599453094172321214581D0,
149 & sqrt2 = 1.4142135623730950488016887242096981D0,
152 & cIeps = (0D0,1D-50) )
156 common /
ffsign/isgn34,isgnal
157 common /
ffprec/
xloss,precx,precc,xalogm,xclogm,xalog2,xclog2,
159 common /
ffflag/ l4also,ldc3c4,lmem,ldot,
160 & nevent,ner,id,idsub,nwidth,
nschem,onshel,idot
161 common /
ffcnst/ bf,xninv,xn2inv,xinfac,inx,isgn,iold,isgrot,
162 & inx5,isgn5,inx6,isgn6
163 common /
ffrota/ irota3,irota4,irota5,irota6
164 common /
ffdot/ fpij2,fpij3,fpij4,fpij5,fpij6
165 common /
ffdel/ fdel2,fdel3,fdel4s,fdel4,fdl3i,fdl4si,fdl3ij,
167 common /
ffidel/ fidel3,fidel4,fidl3i,fid3ij,fidl4i
168 common /
ffcdot/ cfpij2,cfpij3,cfpij4,cfpij5,cfpij6
169 common /
ffcdel/ fodel2,fodel3,cfdl4s,fodel4,fodl3i,fod3ij,fodl4i
170 common /
ffsmug/ lsmug,lnasty,idum93,cmipj,c2sisj,ca1
176 common /ltregul/ mudimc,delta,lambda,minmass
179 equivalence (mudimc, mudim)
181* nan is used for undefined values and is supposed to
182*
"poison" a result, much as the IEEE NaN, which is just
183* too unportable in Fortran
186 parameter (nan = (1D123, 1D123))
v and recompile _everything_ when you do ***this parameter determines how far the scalar npoint functions *will look back to find the same parameters(when lmem is true) *integer memory parameter(memory
without even the implied warranty of !MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU !General Public License for more details !You should have received a copy of the GNU General Public License !along with FlexibleSUSY If not