SOSpin is hosted by Hepforge, IPPP Durham

SO(10) example

  1. $\frac{1}{3!}\left\langle{\Psi^{\ast}_{+\,a}}|\,B\ \Gamma_{\mu}\Gamma_{\nu}\Gamma_{\rho}\,|{\Psi_{+\,b}}\right\rangle \Phi_{\mu\nu\rho}$

    • Explicit declaration:

    • #include <sospin/son.h>
      using namespace sospin;

      int main(int argc, char *argv[]){
      setDim(10);

      Braket psipbra = bra(0, M(a), identity);
      psipbra += bra(2, 1/2*M20(a,o,p),-b(o)*b(p));
      psipbra += bra(4,1/24*e_(o,p,q,r,s)*Mb01(a,o),b(p)*b(q)*b(r)*b(s));

      Braket psipket = ket(0,M(b), identity);
      psipket += ket(2,1/2 * M20(b,j,k), bt(j) * bt(k));
      psipket += ket(4, 1/24*e_(j,k,l,m,n)*Mb01(b,j), bt(k)*bt(l)*bt(m)*bt(n));

      newId("a"); newId("b");
      Field(M, 0, 0, ASYM_WITH_FLAVOR);
      Field(M, 2, 0, ASYM_WITH_FLAVOR);
      Field(Mb, 0, 1, ASYM_WITH_FLAVOR);
      Braket gamma = free(-3,1/6*(e_(r1,r2,r3,r4,r5)*H20(r4,r5)/sqrt(3)),b(r1)*b(r2)*b(r3));
      gamma += free(3,1/6*(e_(r1,r2,r3,r4,r5)*H02(r4,r5)/sqrt(3)),bt(r1)*bt(r2)*bt(r3));
      gamma += free(-1,(2*H12(r1,r2,r3)+d_(r1,r2)*H01(r3)-d_(r1,r3)*H01(r2))/(2*sqrt(3)), bt(r1)*b(r2)*b(r3));
      gamma += free(1,(2*H21(r1,r2,r3)+d_(r1,r3)*H10(r2)-d_(r2,r3)*H10(r1))/(2*sqrt(3)), bt(r1)*bt(r2)*b(r3));
      gamma += free(-1,2*H01(r1)/sqrt(3),-b(r1));
      gamma += free(1,2*H10(r1)/sqrt(3), bt(r1));
      newId("r4"); newId("r5");

      Field(H, 1, 0, ASYM); Field(H, 0, 1, ASYM);
      Field(H, 0, 2, ASYM); Field(H, 2, 0, ASYM);
      Field(H, 2, 1, ASYM); Field(H, 1, 2, ASYM);

      Braket exp = psipbra * Bop() * gamma * psipket;
      exp.evaluate();
      CallForm(exp,true, true);

      CleanGlobalDecl();
      exit(0);
      }


    • Or by using the SO(10) library functions:

    • #include <sospin/son.h>
      #include <sospin/tools/so10.h>

      using namespace sospin;

      int main(int argc, char *argv[]){

      setDim(10);

      Braket res = psi_16p(bra) * Bop() * GammaH(3) * psi_16p(ket);

      res.evaluate();
      CallForm(res, true, true);

      CleanGlobalDecl();
      exit(0);
      }

    • Output result:

    • R = + 2*M(j1)*H10(j2)*Mb01(j3,j2)*sqrt(1/3)*i_
      - M(j1)*H02(j2,j3)*M20(j4,j2,j3)*sqrt(1/3)*i_
      + M20(j1,j2,j3)*H01(j3)*Mb01(j4,j2)*sqrt(1/3)*i_
      + M20(j1,j2,j3)*H02(j2,j3)*M(j4)*sqrt(1/3)*i_
      + 1/4*M20(j1,j2,j3)*H21(j4,j5,j6)*M20(j7,j6,j8)*sqrt(1/3)*e_(j2,j3,j4,j5,j8)*i_
      - 1/4*M20(j1,j2,j3)*H21(j4,j5,j6)*M20(j7,j8,j6)*sqrt(1/3)*e_(j2,j3,j4,j5,j8)*i_
      - M20(j1,j2,j3)*H12(j4,j2,j3)*Mb01(j5,j4)*sqrt(1/3)*i_
      - 2*Mb01(j1,j2)*H10(j2)*M(j3)*sqrt(1/3)*i_
      - 1/2*Mb01(j1,j2)*H01(j3)*M20(j4,j2,j3)*sqrt(1/3)*i_
      + 1/2*Mb01(j1,j2)*H01(j3)*M20(j4,j3,j2)*sqrt(1/3)*i_
      + 2*Mb01(j1,j2)*H20(j2,j3)*Mb01(j4,j3)*sqrt(1/3)*i_
      + Mb01(j1,j2)*H12(j2,j3,j4)*M20(j5,j3,j4)*sqrt(1/3)*i_;