|
Go to the documentation of this file. 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
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
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 = (.5 D0,0 D0),
143 & c2ipi = (0 D0,6.28318530717958647692528676655896 D0),
144 & cipi2 = (0 D0,9.869604401089358618834490999876 D0),
145 & pi = 3.14159265358979323846264338327948 D0,
146 & pi6 = 1.644934066848226436472415166646 D0,
147 & pi12 = .822467033424113218236207583323 D0,
148 & xlg2 = .6931471805599453094172321214581 D0,
149 & sqrt2 = 1.4142135623730950488016887242096981 D0,
152 & cIeps = (0 D0,1 D-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
Target to(const Source &arg) Converts an object of type Source to an object of type Target.
void() D(dd)) coeff_t &arr
double C0(double m1, double m2, double m3) noexcept (arguments are interpreted as unsquared)
double D0(double m1, double m2, double m3, double m4) noexcept (arguments are interpreted as unsquared)
Complex< T > log(const Complex< T > &z) noexcept
|