FORMSoft - An automated tool for 1-loop soft anomalous dimension calculation

git clone git://git.bcharge.de/FORMSoft.git

About | Log | Files | Refs

commit 32033bd3055a8a5fe0e7d64a3a1734d74f92faa8
parent 1eb4724c7e3ae3e569226f925b7dab9e207c4180
Author: Bakar Chargeishvili <bakar@bcharge.de>
Date:   Sun, 27 Aug 2023 01:30:03 +0200

Fix conventions, add more examples

Diffstat:
MSoft.ggttg.frm | 153++++++++++++++++++++++++++++++-------------------------------------------------
MSoft.uuttg.frm | 85+++++++++++++++++++++++++++++++++++++++++++++----------------------------------
Mf2m.sh | 9+++++----
3 files changed, 111 insertions(+), 136 deletions(-)

diff --git a/Soft.ggttg.frm b/Soft.ggttg.frm @@ -75,23 +75,23 @@ I iA=NF,iB=NF,iAb=NF,iBb=NF; * \____\___/|_|\___/|_| |_.__/ \__,_|___/_|___/* *************************************************** #define ColBasDim "11" -G proj1 = d_(Glu1,Glu2)*SUNT(Glu5,Col3,Col4); -G proj2 = i_*SUNF(Glu1,Glu2,Glu5)*d_(Col3,Col4); -G proj3 = SUND(Glu1,Glu2,Glu5)*d_(Col3,Col4); -G proj4 = i_*SUNF(Glu1,Glu2,Glu100)*i_*SUNF(Glu101,Glu5,Glu100)*SUNT(Glu101,Col3,Col4); -G proj5 = i_*SUND(Glu1,Glu2,Glu100)*SUNF(Glu101,Glu5,Glu100)*SUNT(Glu101,Col3,Col4); -G proj6 = i_*SUNF(Glu1,Glu2,Glu100)*SUND(Glu101,Glu5,Glu100)*SUNT(Glu101,Col3,Col4); -G proj7 = SUND(Glu1,Glu2,Glu100)*SUND(Glu101,Glu5,Glu100)*SUNT(Glu101,Col3,Col4); -G proj8 = (1/2*(d_(Glu1,Glu101)*d_(Glu2,Glu5)-d_(Glu1,Glu5)*d_(Glu101,Glu2)) +L proj1 = d_(Glu1,Glu2)*SUNT(Glu5,Col3,Col4); +L proj2 = i_*SUNF(Glu1,Glu2,Glu5)*d_(Col3,Col4); +L proj3 = SUND(Glu1,Glu2,Glu5)*d_(Col3,Col4); +L proj4 = i_*SUNF(Glu1,Glu2,Glu100)*i_*SUNF(Glu101,Glu5,Glu100)*SUNT(Glu101,Col3,Col4); +L proj5 = i_*SUND(Glu1,Glu2,Glu100)*SUNF(Glu101,Glu5,Glu100)*SUNT(Glu101,Col3,Col4); +L proj6 = i_*SUNF(Glu1,Glu2,Glu100)*SUND(Glu101,Glu5,Glu100)*SUNT(Glu101,Col3,Col4); +L proj7 = SUND(Glu1,Glu2,Glu100)*SUND(Glu101,Glu5,Glu100)*SUNT(Glu101,Col3,Col4); +L proj8 = (1/2*(d_(Glu1,Glu101)*d_(Glu2,Glu5)-d_(Glu1,Glu5)*d_(Glu101,Glu2)) -SUNF(Glu1,Glu2,Glu100)*SUNF(Glu101,Glu5,Glu100)*Denom(NF))*SUNT(Glu101,Col3,Col4); -G proj9 = 1/2*(SUND(Glu1,Glu101,Glu100)*i_*SUNF(Glu2,Glu100,Glu5) +L proj9 = 1/2*(SUND(Glu1,Glu101,Glu100)*i_*SUNF(Glu2,Glu100,Glu5) -SUND(Glu2,Glu100,Glu5)*i_*SUNF(Glu1,Glu101,Glu100))*SUNT(Glu101,Col3,Col4); -G proj10 = -(NF*SUND(Glu1,Glu2,Glu100)*SUND(Glu101,Glu5,Glu100)*Denom(4*(NF+2)) +L proj10 = -(NF*SUND(Glu1,Glu2,Glu100)*SUND(Glu101,Glu5,Glu100)*Denom(4*(NF+2)) +1/2*SUNF(Glu1,Glu5,Glu100)*SUNF(Glu101,Glu2,Glu100) -1/4*SUNF(Glu1,Glu2,Glu100)*SUNF(Glu101,Glu5,Glu100) +1/4*d_(Glu1,Glu5)*d_(Glu2,Glu101)+1/4*d_(Glu1,Glu101)*d_(Glu2,Glu5) +d_(Glu1,Glu2)*d_(Glu101,Glu5)*Denom(2*(NF+1)))*SUNT(Glu101,Col3,Col4); -G proj11 = (-NF*SUND(Glu1,Glu2,Glu100)*SUND(Glu101,Glu5,Glu100)*Denom(4*(NF-2)) +L proj11 = (-NF*SUND(Glu1,Glu2,Glu100)*SUND(Glu101,Glu5,Glu100)*Denom(4*(NF-2)) -1/2*SUNF(Glu1,Glu5,Glu100)*SUNF(Glu101,Glu2,Glu100) +1/4*SUNF(Glu1,Glu2,Glu100)*SUNF(Glu101,Glu5,Glu100) +1/4*d_(Glu1,Glu5)*d_(Glu2,Glu101)+1/4*d_(Glu1,Glu101)*d_(Glu2,Glu5) @@ -114,7 +114,7 @@ id NA = NF^2-1; #do i=1,`ColBasDim' #do j=1,`ColBasDim' - G P`i'x`j' = + L P`i'x`j' = proj`i' * proj`j'b*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col3,Col993)*d_(Col4,Col994)*d_(Glu5,Glu995); #enddo #enddo @@ -156,62 +156,59 @@ id Denom(0) = 0; * * partial amplitudes (kinematical parts) * -*L A12 = v1(n1)/(v1.l)*v2(m1)/(-v2.l)*Ngluon(n1,m1)/l.l; -*L A13 = v1(n1)/(v1.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; -*L A14 = v1(n1)/(v1.l)*v4(m1)/(-v4.l)*Ngluon(n1,m1)/l.l; -*L A15 = v1(n1)/(v1.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; -*L A23 = v2(n1)/(v2.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; -*L A24 = v2(n1)/(v2.l)*v4(m1)/(-v4.l)*Ngluon(n1,m1)/l.l; -*L A25 = v2(n1)/(v2.l)*v2(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; -*L A34 = v3(n1)/(v3.l)*v4(m1)/(-v4.l)*Ngluon(n1,m1)/l.l; -*L A35 = v3(n1)/(v3.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; -*L A45 = v4(n1)/(v4.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; -*L Self1 = v3(n1)/(v3.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; -*L Self2 = v4(n1)/(v2.l)*v4(m1)/(-v4.l)*Ngluon(n1,m1)/l.l; -L A12 = v1(n1)/(-v1.l)*v2(m1)/(v2.l)*Ngluon(n1,m1)/l.l; -L A13 = -v1(n1)/(v1.l)*v3(m1)/(v3.l)*Ngluon(n1,m1)/l.l; -L A14 = -v1(n1)/(v1.l)*v4(m1)/(v4.l)*Ngluon(n1,m1)/l.l; -L A15 = v1(n1)/(v1.l)*v5(m1)/(v5.l)*Ngluon(n1,m1)/l.l; -L A23 = -v2(n1)/(v2.l)*v3(m1)/(v3.l)*Ngluon(n1,m1)/l.l; -L A24 = v2(n1)/(v2.l)*v4(m1)/(v4.l)*Ngluon(n1,m1)/l.l; -L A25 = -v2(n1)/(v2.l)*v5(m1)/(v5.l)*Ngluon(n1,m1)/l.l; -L A34 = v3(n1)/(v3.l)*v4(m1)/(-v4.l)*Ngluon(n1,m1)/l.l; -L A35 = v3(n1)/(v3.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; -L A45 = -v4(n1)/(v4.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; -L Self1 = -v3(n1)/(v3.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; -L Self2 = -v4(n1)/(v4.l)*v4(m1)/(-v4.l)*Ngluon(n1,m1)/l.l; +L A12 = v1(n1)/(-v1.l)*(-v2(m1))/(v2.l)*Ngluon(n1,m1)/l.l; +L A13 = (-v1(n1))/(v1.l)*v3(m1)/(v3.l)*Ngluon(n1,m1)/l.l; +L A14 = (-v1(n1))/(v1.l)*(-v4(m1))/(v4.l)*Ngluon(n1,m1)/l.l; +L A15 = (-v1(n1))/(v1.l)*(-v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l; +L A23 = v2(n1)/(-v2.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; +L A24 = v2(n1)/(-v2.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l; +L A25 = v2(n1)/(-v2.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; +L A34 = v3(n1)/(-v3.l)*(-v4(m1))/(v4.l)*Ngluon(n1,m1)/l.l; +L A35 = v3(n1)/(-v3.l)*(-v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l; +L A45 = (-v4(n1))/(-v4.l)*(-v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l; +L Self1 = v3(n1)/(v3.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; +L Self2 = (-v4(n1))/(v4.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l; * * Color factors * -L C12 = (-i_)*SUNF(Glu99,Glu1,Glu991)*(-i_)*SUNF(Glu99,Glu2,Glu992)*d_(Col3,Col993)*d_(Col4,Col994)*d_(Glu5,Glu995); -L C13 = (-i_)*SUNF(Glu99,Glu1,Glu991)*SUNT(Glu99,Col3,Col993)*d_(Glu2,Glu992)*d_(Col4,Col994)*d_(Glu5,Glu995); -L C14 = (-i_)*SUNF(Glu99,Glu991,Glu1)*SUNT(Glu99,Col994,Col4)*d_(Glu2,Glu992)*d_(Col3,Col993)*d_(Glu5,Glu995); -L C15 = (-i_)*SUNF(Glu99,Glu1,Glu991)*(-i_)*SUNF(Glu99,Glu5,Glu995)*d_(Glu2,Glu992)*d_(Col3,Col993)*d_(Col4,Col994); -L C23 = (-i_)*SUNF(Glu99,Glu2,Glu992)*SUNT(Glu99,Col3,Col993)*d_(Glu1,Glu991)*d_(Col4,Col994)*d_(Glu5,Glu995); -L C24 = (-i_)*SUNF(Glu99,Glu2,Glu992)*SUNT(Glu99,Col994,Col4)*d_(Glu1,Glu991)*d_(Col3,Col993)*d_(Glu5,Glu995); -L C25 = (-i_)*SUNF(Glu99,Glu2,Glu992)*(-i_)*SUNF(Glu99,Glu5,Glu995)*d_(Glu1,Glu991)*d_(Col3,Col993)*d_(Col4,Col994); -L C34 = SUNT(Glu99,Col3,Col993)*SUNT(Glu99,Col994,Col4)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Glu5,Glu995); -L C35 = SUNT(Glu99,Col3,Col993)*(-i_)*SUNF(Glu99,Glu5,Glu995)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col4,Col994); -L C45 = SUNT(Glu99,Col994,Col4)*(-i_)*SUNF(Glu99,Glu5,Glu995)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col3,Col993); -L CSelf1 = SUNT(Glu99,Col3,Col203)*SUNT(Glu99,Col203,Col993)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col4,Col994)*d_(Glu5,Glu995); -L CSelf2 = SUNT(Glu99,Col4,Col204)*SUNT(Glu99,Col204,Col994)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col3,Col993)*d_(Glu5,Glu995); +L C12 = (-i_)*SUNF(Glu99,Glu1,Glu991)*(-i_)*SUNF(Glu99,Glu992,Glu2)*d_(Col3,Col993)*d_(Col4,Col994)*d_(Glu5,Glu995); +L C13 = (-i_)*SUNF(Glu99,Glu991,Glu1)*SUNT(Glu99,Col993,Col3)*d_(Glu2,Glu992)*d_(Col4,Col994)*d_(Glu5,Glu995); +L C14 = (-i_)*SUNF(Glu99,Glu991,Glu1)*SUNT(Glu99,Col4,Col994)*d_(Glu2,Glu992)*d_(Col3,Col993)*d_(Glu5,Glu995); +L C15 = (-i_)*SUNF(Glu99,Glu991,Glu1)*(-i_)*SUNF(Glu99,Glu5,Glu995)*d_(Glu2,Glu992)*d_(Col3,Col993)*d_(Col4,Col994); +L C23 = (-i_)*SUNF(Glu99,Glu2,Glu992)*SUNT(Glu99,Col993,Col3)*d_(Glu1,Glu991)*d_(Col4,Col994)*d_(Glu5,Glu995); +L C24 = (-i_)*SUNF(Glu99,Glu2,Glu992)*SUNT(Glu99,Col4,Col994)*d_(Glu1,Glu991)*d_(Col3,Col993)*d_(Glu5,Glu995); +L C25 = (-i_)*SUNF(Glu99,Glu2,Glu992)*(-i_)*SUNF(Glu99,Glu995,Glu5)*d_(Glu1,Glu991)*d_(Col3,Col993)*d_(Col4,Col994); +L C34 = SUNT(Glu99,Col993,Col3)*SUNT(Glu99,Col4,Col994)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Glu5,Glu995); +L C35 = SUNT(Glu99,Col993,Col3)*(-i_)*SUNF(Glu99,Glu5,Glu995)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col4,Col994); +L C45 = SUNT(Glu99,Col4,Col994)*(-i_)*SUNF(Glu99,Glu5,Glu995)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col3,Col993); +L CSelf1 = SUNT(Glu99,Col203,Col3)*SUNT(Glu99,Col993,Col203)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col4,Col994)*d_(Glu5,Glu995); +L CSelf2 = SUNT(Glu99,Col204,Col4)*SUNT(Glu99,Col994,Col204)*d_(Glu1,Glu991)*d_(Glu2,Glu992)*d_(Col3,Col993)*d_(Glu5,Glu995); -id SUNT(Glu?,Col1?,Col2?) = SUNT(Glu,Col2,Col1); .sort #do i=1,`ColBasDim' #do j=1,`ColBasDim' L [S(alpha_s)_`i'x`j'] = proj`i' * proj`j'b* -*C23; -*( (CAB*SAB + C12*S12 + CA1*SA1 + CA2*SA2 -* + CB1*SB1 + CB2*SB2 + CSelf1*Self1/2 + CSelf2*Self2/2) ); -(C12*A12+C13*A13+C14*A14+C15*A15+C23*A23+C24*A24+C25*A25+C34*A34+C35*A35+C45*A45+CSelf1*Self1/2+CSelf2*Self2/2); +( + +C12*A12 + +C13*A13 + +C14*A14 + +C15*A15 + +C23*A23 + +C24*A24 + +C25*A25 + +C34*A34 + +C35*A35 + +C45*A45 + +CSelf1*Self1/2 + +CSelf2*Self2/2 +); #enddo #enddo -id Ngluon(n1?,m1?) = -d_(n1,m1)+(l(n1)*n(m1)/n.l + n(n1)*l(m1)/n.l) - -l(n1)*l(m1)/n.l^2*n.n; +id Ngluon(n1?,m1?) = d_(n1,m1)-(l(n1)*n(m1)/n.l + n(n1)*l(m1)/n.l) + +l(n1)*l(m1)/n.l^2*n.n; * * * substituition of integrals; measure d^Dl/(2*Pi)^D; @@ -278,7 +275,7 @@ id n.n*l.l^-1*n.l^-2 = - [alpha_s/pi] * eps^-1; #do k=1,`ColBasDim' #$summ = `$summ'+invP`i'x`k'*[S(alpha_s)_`k'x`j']*(-eps); #enddo - L [Gamma(alpha_s)_`i'x`j'] = `$summ'; + G [G^ggttg_`i'x`j'] = `$summ'; #enddo #enddo @@ -322,44 +319,10 @@ id dummy(?k) = exp_(?k,1); id [ln(-v1.v2/2)] = [ln(-1/2)]; *Bracket [alpha_s/pi]; -Bracket [alpha_s/pi],[L_1],[L_2]; +*Bracket [alpha_s/pi],[L_1],[L_2]; +AntiBracket NF; Print; +.sort +.store +save anc/ggttg.sav; .end - - - -*.sort -*Drop; -* -*#do i=1,`ColBasDim' -*#do j=1,`ColBasDim' -* #$summ = 0; -* #do k=1,`ColBasDim' -* #if (`i'!=`k'); -* #else -* #$summ = `$summ'+invP`i'x`k'*[S(alpha_s)_`k'x`j']; -* #endif -* #enddo -* L [Gamma(alpha_s)_`i'x`j'] = `$summ'; -*#enddo -*#enddo -* -*#call SUn -*id a = 1/2; -*id NA = NF^2-1; -**id Denom(?k) = exp_(?k,-1); -*.sort -*Bracket Denom; -*.sort -*collect dummy; -*.sort -*PolyRatFun rat; -*id dummy(?num)=rat(?num,1); -*id Denom(?den)=rat(1,?den); -*.sort -*PolyRatFun; -*id rat(S?,T?) = S/T; -* -*.sort -*Print; -*.end diff --git a/Soft.uuttg.frm b/Soft.uuttg.frm @@ -9,6 +9,7 @@ off stats; format 75; auto s sM; auto i iM; +auto s tag; #define HaveFermions "0" @@ -98,7 +99,7 @@ id NA = NF^2-1; #do i=1,`ColBasDim' #do j=1,`ColBasDim' - G P`i'x`j' = + L P`i'x`j' = proj`i' * proj`j'b*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col3,Col103)*d_(Col4,Col104)*d_(Glu5,Glu105); #enddo #enddo @@ -125,53 +126,59 @@ Skip; * * partial amplitudes (kinematical parts) * -L A12 = v1(n1)/(-v1.l)*v2(m1)/(v2.l)*Ngluon(n1,m1)/l.l; -L A13 = -v1(n1)/(v1.l)*v3(m1)/(v3.l)*Ngluon(n1,m1)/l.l; -L A14 = v1(n1)/(v1.l)*v4(m1)/(v4.l)*Ngluon(n1,m1)/l.l; -L A15 = v1(n1)/(v1.l)*v5(m1)/(v5.l)*Ngluon(n1,m1)/l.l; -L A23 = v2(n1)/(v2.l)*v3(m1)/(v3.l)*Ngluon(n1,m1)/l.l; -L A24 = -v2(n1)/(v2.l)*v4(m1)/(v4.l)*Ngluon(n1,m1)/l.l; -L A25 = -v2(n1)/(v2.l)*v5(m1)/(v5.l)*Ngluon(n1,m1)/l.l; -L A34 = v3(n1)/(v3.l)*v4(m1)/(-v4.l)*Ngluon(n1,m1)/l.l; -L A35 = v3(n1)/(v3.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; -L A45 = -v4(n1)/(v4.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; -L Self1 = -v3(n1)/(v3.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; -L Self2 = -v4(n1)/(v4.l)*v4(m1)/(-v4.l)*Ngluon(n1,m1)/l.l; +L A12 = v1(n1)/(-v1.l)*(-v2(m1))/(v2.l)*Ngluon(n1,m1)/l.l; +L A13 = v1(n1)/(v1.l)*v3(m1)/(v3.l)*Ngluon(n1,m1)/l.l; +L A14 = v1(n1)/(v1.l)*(-v4(m1))/(v4.l)*Ngluon(n1,m1)/l.l; +L A15 = v1(n1)/(v1.l)*(-v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l; +L A23 = (-v2(n1))/(-v2.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; +L A24 = (-v2(n1))/(-v2.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l; +L A25 = (-v2(n1))/(-v2.l)*v5(m1)/(-v5.l)*Ngluon(n1,m1)/l.l; +L A34 = v3(n1)/(-v3.l)*(-v4(m1))/(v4.l)*Ngluon(n1,m1)/l.l; +L A35 = v3(n1)/(-v3.l)*(-v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l; +L A45 = (-v4(n1))/(-v4.l)*(-v5(m1))/(v5.l)*Ngluon(n1,m1)/l.l; +L Self1 = v3(n1)/(v3.l)*v3(m1)/(-v3.l)*Ngluon(n1,m1)/l.l; +L Self2 = (-v4(n1))/(v4.l)*(-v4(m1))/(-v4.l)*Ngluon(n1,m1)/l.l; * * Color factors * -L C12 = SUNT(Glu99,Col101,Col1)*SUNT(Glu99,Col2,Col102)*d_(Col3,Col103)*d_(Col4,Col104)*d_(Glu5,Glu105); -L C13 = SUNT(Glu99,Col101,Col1)*SUNT(Glu99,Col3,Col103)*d_(Col2,Col102)*d_(Col4,Col104)*d_(Glu5,Glu105); -L C14 = SUNT(Glu99,Col101,Col1)*SUNT(Glu99,Col104,Col4)*d_(Col2,Col102)*d_(Col3,Col103)*d_(Glu5,Glu105); -L C15 = SUNT(Glu99,Col101,Col1)*(-i_)*SUNF(Glu99,Glu5,Glu105)*d_(Col2,Col102)*d_(Col3,Col103)*d_(Col4,Col104); -L C23 = SUNT(Glu99,Col2,Col102)*SUNT(Glu99,Col3,Col103)*d_(Col1,Col101)*d_(Col4,Col104)*d_(Glu5,Glu105); -L C24 = SUNT(Glu99,Col2,Col102)*SUNT(Glu99,Col104,Col4)*d_(Col1,Col101)*d_(Col3,Col103)*d_(Glu5,Glu105); -L C25 = SUNT(Glu99,Col2,Col102)*(-i_)*SUNF(Glu99,Glu5,Glu105)*d_(Col1,Col101)*d_(Col3,Col103)*d_(Col4,Col104); -L C34 = SUNT(Glu99,Col3,Col103)*SUNT(Glu99,Col104,Col4)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Glu5,Glu105); -L C35 = SUNT(Glu99,Col3,Col103)*(-i_)*SUNF(Glu99,Glu5,Glu105)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col4,Col104); -L C45 = SUNT(Glu99,Col104,Col4)*(-i_)*SUNF(Glu99,Glu5,Glu105)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col3,Col103); -L CSelf1 = SUNT(Glu99,Col3,Col203)*SUNT(Glu99,Col203,Col103)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col4,Col104)*d_(Glu5,Glu105); -L CSelf2 = SUNT(Glu99,Col4,Col204)*SUNT(Glu99,Col204,Col104)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col3,Col103)*d_(Glu5,Glu105); +L C12 = SUNT(Glu99,Col1,Col101)*SUNT(Glu99,Col102,Col2)*d_(Col3,Col103)*d_(Col4,Col104)*d_(Glu5,Glu105); +L C13 = SUNT(Glu99,Col1,Col101)*SUNT(Glu99,Col103,Col3)*d_(Col2,Col102)*d_(Col4,Col104)*d_(Glu5,Glu105); +L C14 = SUNT(Glu99,Col1,Col101)*SUNT(Glu99,Col4,Col104)*d_(Col2,Col102)*d_(Col3,Col103)*d_(Glu5,Glu105); +L C15 = SUNT(Glu99,Col1,Col101)*(-i_)*SUNF(Glu99,Glu5,Glu105)*d_(Col2,Col102)*d_(Col3,Col103)*d_(Col4,Col104); +L C23 = SUNT(Glu99,Col102,Col2)*SUNT(Glu99,Col103,Col3)*d_(Col1,Col101)*d_(Col4,Col104)*d_(Glu5,Glu105); +L C24 = SUNT(Glu99,Col102,Col2)*SUNT(Glu99,Col4,Col104)*d_(Col1,Col101)*d_(Col3,Col103)*d_(Glu5,Glu105); +L C25 = SUNT(Glu99,Col102,Col2)*(-i_)*SUNF(Glu99,Glu105,Glu5)*d_(Col1,Col101)*d_(Col3,Col103)*d_(Col4,Col104); +L C34 = SUNT(Glu99,Col103,Col3)*SUNT(Glu99,Col4,Col104)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Glu5,Glu105); +L C35 = SUNT(Glu99,Col103,Col3)*(-i_)*SUNF(Glu99,Glu5,Glu105)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col4,Col104); +L C45 = SUNT(Glu99,Col4,Col104)*(-i_)*SUNF(Glu99,Glu5,Glu105)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col3,Col103); +L CSelf1 = SUNT(Glu99,Col203,Col3)*SUNT(Glu99,Col103,Col203)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col4,Col104)*d_(Glu5,Glu105); +L CSelf2 = SUNT(Glu99,Col204,Col4)*SUNT(Glu99,Col104,Col204)*d_(Col1,Col101)*d_(Col2,Col102)*d_(Col3,Col103)*d_(Glu5,Glu105); -id SUNT(Glu?,Col1?,Col2?) = SUNT(Glu,Col2,Col1); .sort #do i=1,`ColBasDim' #do j=1,`ColBasDim' L [S(alpha_s)_`i'x`j'] = proj`i' * proj`j'b * -*C14; -*(C15*A15+C25*A25); -*(C35*A35+C45*A45); -*(C15*A15+C25*A25+C35*A35+C45*A45); -*(CSelf1*Self1/2+CSelf2*Self2/2); -*(C15*A15+C25*A25+C35*A35+C45*A45); -(C12*A12+C13*A13+C14*A14+C15*A15+C23*A23+C24*A24+C25*A25+C34*A34+C35*A35+C45*A45+CSelf1*Self1/2+CSelf2*Self2/2); +( + +C12*A12 + +C13*A13 + +C14*A14 + +C15*A15 + +C23*A23 + +C24*A24 + +C25*A25 + +C34*A34 + +C35*A35 + +C45*A45 + +CSelf1*Self1/2 + +CSelf2*Self2/2 +); #enddo #enddo -id Ngluon(n1?,m1?) = -d_(n1,m1)+(l(n1)*n(m1)/n.l + n(n1)*l(m1)/n.l) - -l(n1)*l(m1)/n.l^2*n.n; +id Ngluon(n1?,m1?) = d_(n1,m1)-(l(n1)*n(m1)/n.l + n(n1)*l(m1)/n.l) + +l(n1)*l(m1)/n.l^2*n.n; * * * substituition of integrals; measure d^Dl/(2*Pi)^D; @@ -238,7 +245,7 @@ id n.n*l.l^-1*n.l^-2 = - [alpha_s/pi] * eps^-1; #do k=1,`ColBasDim' #$summ = `$summ'+invP`i'x`k'*[S(alpha_s)_`k'x`j']*(-eps); #enddo - L [Gamma(alpha_s)_`i'x`j'] = `$summ'; + G [G^qqttg_`i'x`j'] = `$summ'; #enddo #enddo @@ -264,8 +271,12 @@ id dummy(?k) = exp_(?k,1); *id [ln((v1.n)^2/n^2)] = [ln(1/2)]; *id [ln((v2.n)^2/n^2)] = [ln(1/2)]; id [ln(-v1.v2/2)] = [ln(-1/2)]; +*id NF^(-1) = cA-2*cF; +*id NF = cA; -Bracket [alpha_s/pi]; AntiBracket NF; Print; +.sort +.store +save anc/qqttg.sav; .end diff --git a/f2m.sh b/f2m.sh @@ -1,12 +1,12 @@ #!/bin/sh -str=$(cat $1 | perl -pe 's|\[Gamma\(alpha_s\)_(.*?)\]|G\1|' |\ +str=$(cat $1 | perl -pe 's|\[G\^(.*?)_(.*?)\]|G\2|' |\ perl -pe 's|\[alpha_s/pi\]|1/pi|' |\ perl -pe 's|NF|N_c|g' |\ perl -pe 's|\[ln\((.*?)\)\]|Log[\1]|g' |\ perl -pe 's|Log\[\(v(\d+).n\)\^2\/n\^2\]|log(nu\1)|g' |\ perl -pe 's|v(\d+).v(\d+)|v\1\2|g' |\ - perl -pe 's|\[L_beta\]|L_beta|g' |\ + perl -pe 's|\[L_beta_(.*?)\]|L_beta_\1|g' |\ perl -pe 's|Log\[(.*?)\]|log(\1)|g' |\ perl -pe 's|;|"""|'| perl -pe 's| ||' |\ perl -pe 's|=\n?|="""|' \ @@ -21,14 +21,15 @@ echo "import subprocess" >> simp.py cat <<EOF >>simp.py def runFORM(expr): expr = str(expr) - expr = re.sub('L_beta',r"Lbeta",expr) + expr = re.sub('L_beta_',r"Lbeta",expr) expr = re.sub('N_c',r"Nc",expr) expr = re.sub('I',r"i_",expr) code = '''\ #- off stats; -S Lbeta,Nc, pi, s, MT; +S Nc, pi, s, MT; +Auto S Lbeta; Auto S nu, v; CF log;