<< hexagon.m

Install["LoopTools"]

1) Comparison with Sector Decomposition (Table 2 of arxiv: 0807.2984)

p1s = p2s = p3s = p4s = p5s = p6s = -1;
s12 = s23 = s34 = s45 = s56 = s16 = s123 = s234 = -1;
s345 = -5/2;
m1s = m2s = m3s = m4s = m5s = m6s = 
                  1;

RedF0[p1s, p2s, p3s, p4s, p5s, p6s, s12, s23, s34, s45, s56, s16, s123, 
        s234, s345, m1s, m2s, m3s, m4s, m5s, m6s] /. D4 -> D0

2) Results of Table 4 (arxiv: 0807.2984)

p1s := p11*p11 - p12*p12 - p13*p13 - p14*p14
p2s := p21*p21 - p22*p22 - p23*p23 - p24*p24
p3s := p31*p31 - p32*p32 - p33*p33 - p34*p34
p4s := p41*p41 - p42*p42 - p43*p43 - p44*p44
p5s := p51*p51 - p52*p52 - p53*p53 - p54*p54
p6s := 
      p61*p61 - p62*p62 - p63*p63 - 
        p64*p64

 (*Two momenta IN going  & four momenta OUT going ... *) 

    
s12 := (p11 + p21)^2 - (p12 + p22)^2 - (p13 + 
              p23)^2 - (p14 + p24)^2
s23 := (p21 - p31)^2 - (p22 - p32)^2 - (p23 - 
              p33)^2 - (p24 - p34)^2
s34 := (p31 + p41)^2 - (p32 + p42)^2 - (p33 + 
              p43)^2 - (p34 + p44)^2
s45 := (p41 + p51)^2 - (p42 + p52)^2 - (p43 + 
              p53)^2 - (p44 + p54)^2
s56 := (p51 + p61)^2 - (p52 + p62)^2 - (p53 + 
              p63)^2 - (p54 + p64)^2
s16 := (p11 - p61)^2 - (p12 - p62)^2 - (p13 - 
              p63)^2 - (p14 - p64)^2
s123 := (p11 + p21 - p31)^2 - (p12 + p22 - p32)^2 - (p13 + 
              p23 - p33)^2 - (p14 + p24 - p34)^2
s234 := (p21 - p31 - p41)^2 - (p22 - p32 - p42)^2 - (p23 - 
              p33 - p43)^2 - (p24 - p34 - p44)^2
s345 := (p31 + p41 + p51)^2 - (p32 + p42 + 
              p52)^2 - (p33 + p43 + p53)^2 - (p34 + p44 + 
              p54)^2

    
chords := {q[n_, 0] -> 0, q[n_, 1] -> p1[n], 
        q[n_, 2] -> p1[n] + p2[n], 
        q[n_, 3] -> p1[n] + p2[n] - p3[n], 
        q[n_, 4] -> p1[n] + p2[n] - p3[n] - p4[n], 
        q[n_, 5] -> p1[n] + p2[n] - p3[n] - p4[n] - p5[n]}

p11 = 0.217745543033608*10^3;
p12 = 0. ;
p13 = 0. ;
p14 = 0.217745543033608*10^3;

    
p21 = 0.217745543033608*10^3;
p22 = 0. ;
p23 = 0. ;
\(\(\(p24 = \(-0.217745543033608\)*10^3;\)\(
\)
    \)\)
p31 = 0.203694145606766*10^3;
p32 = 0.475795122438478*10^2;
p33 = -0.421268225217969*10^2;
p34 = -0.840971806502753*10^2;

    
p41 = 0.209072365894312*10^3;
p42 = -0.552159614718998*10^2;
p43 = 0.466920343021516*10^2;
\(\(\(p44 = 0.900100867242416*10^2;\)\(
\)
    \)\)
p51 = 0.684633076491974*10^1;
p52 = -0.530631952055453*10^1;
p53 = -0.296982674372730*10^1;
p54 = 0.314568707927384*10^1;

    
p61 = 0.158782438012184*10^2;
p62 = 0.129427687486066*10^2;
p63 = -0.159538503662741*10^1;
\(\(\(p64 = \(-0.905859315324015\)*10^1;\)\(
\)
    \)\)
M1 = 110. ;
M2 = 120. ;
M3 = 130. ;
M4 = 140. ;
M5 = 150. ;
M6 = 160. ;

SCALAR

RedF0[p1s, p2s, p3s, p4s, p5s, p6s, s12, s23, s34, s45, s56, s16, s123, 
        s234, s345, M1^2, M2^2, M3^2, M4^2, M5^2, M6^2] /. 
      D4 -> D0

VECTOR

vect = RedF1[p1s, p2s, p3s, p4s, p5s, p6s, s12, s23, s34, s45, s56, 
              s16, s123, s234, s345, M1^2, M2^2, M3^2, M4^2, M5^2, M6^2] /. 
            D4 -> D0 /. chords // Expand

Table[
      Ind[i - 1] -> (vect /. {p_[mu1] :> 
                ToExpression[ToString[p] <> ToString[i]]}), {i, 1, 
        4}]

TENSOR 2nd ORDER

tens2nd = RedF2[p1s, p2s, p3s, p4s, p5s, p6s, s12, s23, s34, s45, 
              s56, s16, s123, s234, s345, M1^2, M2^2, M3^2, M4^2, M5^2, 
              M6^2] /. D4 -> D0 /. chords // Expand

Table[Ind[i - 1, j - 1] -> tens2nd /. {mu1 -> i, 
                mu2 -> j} /. 
            pa_[mua_]*pb_[mub_] :> 
              ToExpression[ToString[pa] <> ToString[mua]]*
                ToExpression[ToString[pb] <> ToString[mub]] /. 
          p_[mu_]^2 :> (ToExpression[
                  ToString[p] <> ToString[mu]])^2, {i, 1, 4}, {j, i, 4}] // 
      Flatten

TENSOR 3rd ORDER

tens3rd = RedF3[p1s, p2s, p3s, p4s, p5s, p6s, s12, s23, s34, s45, 
                s56, s16, s123, s234, s345, M1^2, M2^2, M3^2, M4^2, M5^2, 
                M6^2] /. D4 -> D0 /. C3 -> C0 /. chords // 
        Expand

Table[Ind[i - 1, j - 1, k - 1] -> tens3rd /. 
                    g[mu1*mu2] -> g[mu1, mu2] /. {mu1 -> i, 
                    mu2 -> j, mu3 -> k} /. 
                p_[mu_] :> 
                  ToExpression[ToString[p] <> ToString[mu]] /. 
              g[1, 1] -> 1 /. g[mu_, mu_] -> -1 /. 
          g[mu_, nu_] -> 0, {i, 1, 4}, {j, i, 4}, {k, j, 4}] // 
      Flatten

TENSOR 4th ORDER

tens4th = RedF4[p1s, p2s, p3s, p4s, p5s, p6s, s12, s23, s34, s45, 
                  s56, s16, s123, s234, s345, M1^2, M2^2, M3^2, M4^2, M5^2, 
                  M6^2] /. D4 -> D0 /. C3 -> C0 /. 
            B2 -> B0 /. chords // Expand

Table[Ind[i - 1, j - 1, k - 1, l - 1] -> tens4th /. 
                    g[mu1_*mu2_] -> g[mu1, mu2] /. {mu1 -> i, 
                    mu2 -> j, mu3 -> k, mu4 -> l} /. 
                p_[mu_] :> 
                  ToExpression[ToString[p] <> ToString[mu]] /. 
              g[1, 1] -> 1 /. g[mu_, mu_] -> -1 /. 
          g[mu_, nu_] -> 0, {i, 1, 4}, {j, i, 4}, {k, j, 4}, {l, k, 4}] // 
      Flatten