In [16]:
import sys
In [17]:
sys.path.append('Source/Core')
sys.path.append('Source/Output')
sys.path.append('Source/GroupTheory/')
In [18]:
from sympy import init_printing
init_printing(use_latex=True)
In [19]:
from Toolbox import*
In [20]:
RGEs = loadmodel('results/2HDM/RGEsOutput.pickle')
In [65]:
!cat models/2HDM.model
# YAML 1.1

# #This is the Inert Doublet Model of 0903.2856

---

Author: Kristjan Kannike

Date: 12.01.2014

Name: 2HDM

Groups: {'U1': U1, 'SU2L': SU2, 'SU3c': SU3}



##############################

#Fermions assumed weyl spinors

##############################

Fermions: {

   Qbar: {Gen: 3, Qnb:{ U1: -1/6, SU2L: -2, SU3c: -3}},

   Lbar: {Gen: 3, Qnb:{ U1: 1/2, SU2L: -2, SU3c: 1}},

   uR: {Gen: 3, Qnb:{ U1: 2/3, SU2L: 1, SU3c: [1,0]}},

   dR: {Gen: 3, Qnb:{ U1: -1/3, SU2L: 1, SU3c: 3}},

   eR: {Gen: 3, Qnb:{ U1: -1, SU2L: 1, SU3c: 1}},

}



#############

#Real Scalars

#############



RealScalars: {

}



#################

#Complex Scalars 

#################



CplxScalars: {

  H: {RealFields: [Pi,I*Sigma], Norm: 1/Sqrt(2), Qnb : {U1: 1/2, SU2L: 2, SU3c: 1}},

  H*: {RealFields: [Pi,-I*Sigma], Norm: 1/Sqrt(2), Qnb : {U1: -1/2, SU2L: -2, SU3c: 1}},

  D: {RealFields: [PiD,I*SigmaD], Norm: 1/Sqrt(2), Qnb : {U1: 1/2, SU2L: 2, SU3c: 1}},

  D*: {RealFields: [PiD,-I*SigmaD], Norm: 1/Sqrt(2), Qnb : {U1: -1/2, SU2L: -2, SU3c: 1}},

}

Potential: {



#######################################

# All particles must be defined above !

#######################################

 

Yukawas:{

  #'Y_{u}': {Fields: [Qbar,uR,H*], Norm: 1},

  #'Y_{d}': {Fields: [Qbar,dR,H], Norm: 1},

  #'Y_{e}': {Fields: [Lbar,eR,H], Norm: 1}

 },

QuarticTerms: {

 '\lambda_1' : {Fields : [H*,H,H*,H], Norm : 1/2},

 '\lambda_2' : {Fields: [D,D*,D,D*], Norm : 1/2},

 '\lambda_3' : {Fields: [H*,H,D*,D], Norm : 1},

 '\lambda_4' : {Fields: [H*,D,D*,H], Norm : 1},

 '\lambda_5' : {Fields: [[H*,D,H*,D],[D*,H,D*,H]], Norm : 1/2},

 '\lambda_6' : {Fields: [[H*,H,H*,D],[H*,H,D*,H]], Norm : 1},

 '\lambda_7' : {Fields: [[D*,D,H*,D],[D*,D,D*,H]], Norm : 1},

 },

ScalarMasses: {

 '\mu_H' : {Fields : [H,H*], Norm : 1},

 '\mu_D' : {Fields : [D,D*], Norm : 1}

 }

}


1. Quartic terms

Let's start by looking at the results for the quartic terms, setting to zero all the gauge couplings $V(1,2) = (1{}1)^2) + (2{}2)^2 + 3(1 {}12{}2) + 4 1{}22{}1 + )((1{}2)^2+h.c.) + (1{}2 + h.c.)

In [35]:
l1,l2,l3,l4,l5,l6,l7 = symbols('lambda_1 lambda_2 lambda_3 lambda_4 lambda_5 lambda_6 lambda_7')
In [36]:
b1 = 12*l1**2 + 4*l3**2 +4*l3*l4 + 2*l4**2 + 2*l5**2 + 24*l6**2
b2 =  12*l2**2 + 4*l3**2 +4*l3*l4 + 2*l4**2 + 2*l5**2 + 24*l7**2
b3 =(l1+l2)*(6*l3+2*l4)+4*l3**2+2*l4**2+2*l5**2+4*l6**2+16*l6*l7 +4*l7**2
b4 = 2*(l1+l2)*l4+8*l3*l4+4*l4**2+8*l5**2+10*l6**2+4*l6*l7 +10*l7**2
b5 = 2*(l1+l2)*l5+8*l3*l5+12*l4*l5+10*l6**2+4*l6*l7+10*l7**2
b6 = 12*l1*l6 + 6*l3*(l6+l7)+8*l4*l6 +4*l4*l7+10*l5*l6 +2*l5*l7
b7 = 12*l2*l7 +6*l3*(l6+l7) +4*l4*l6+8*l4*l7 +2*l5*l6+10*l5*l7
In [58]:
#Beta function, Diff with D.R.T. Johns
(getoneloop(settozero(RGEs[0]['\\lambda_1'],['g1','g_SU2L','g_SU3c'],com=True)),getoneloop(settozero(RGEs[0]['\\lambda_1'],['g1','g_SU2L','g_SU3c'],com=True))-b1)
Out[58]:
$$\begin{pmatrix}12 \lambda_{1}^{2} + 4 \lambda_{3}^{2} + 4 \lambda_{3} \lambda_{4} + 2 \lambda_{4}^{2} + 2 \lambda_{5}^{2} + 24 \lambda_{6}^{2}, & 0\end{pmatrix}$$
In [59]:
#Beta function, Diff with D.R.T. Johns
(getoneloop(settozero(RGEs[0]['\\lambda_2'],['g1','g_SU2L','g_SU3c'],com=True)),getoneloop(settozero(RGEs[0]['\\lambda_2'],['g1','g_SU2L','g_SU3c'],com=True))-b2)
Out[59]:
$$\begin{pmatrix}12 \lambda_{2}^{2} + 4 \lambda_{3}^{2} + 4 \lambda_{3} \lambda_{4} + 2 \lambda_{4}^{2} + 2 \lambda_{5}^{2} + 24 \lambda_{7}^{2}, & 0\end{pmatrix}$$
In [60]:
getoneloop(settozero(RGEs[0]['\\lambda_3'],['g1','g_SU2L','g_SU3c'],com=True)),getoneloop(settozero(RGEs[0]['\\lambda_3'],['g1','g_SU2L','g_SU3c'],com=True))-b3.expand()
Out[60]:
$$\begin{pmatrix}6 \lambda_{1} \lambda_{3} + 2 \lambda_{1} \lambda_{4} + 6 \lambda_{2} \lambda_{3} + 2 \lambda_{2} \lambda_{4} + 4 \lambda_{3}^{2} + 2 \lambda_{4}^{2} + 2 \lambda_{5}^{2} + 4 \lambda_{6}^{2} + 16 \lambda_{6} \lambda_{7} + 4 \lambda_{7}^{2}, & 0\end{pmatrix}$$
In [61]:
getoneloop(settozero(RGEs[0]['\\lambda_5'],['g1','g_SU2L','g_SU3c'],com=True)),getoneloop(settozero(RGEs[0]['\\lambda_5'],['g1','g_SU2L','g_SU3c'],com=True))-b5.expand()
Out[61]:
$$\begin{pmatrix}2 \lambda_{1} \lambda_{5} + 2 \lambda_{2} \lambda_{5} + 8 \lambda_{3} \lambda_{5} + 12 \lambda_{4} \lambda_{5} + 10 \lambda_{6}^{2} + 4 \lambda_{6} \lambda_{7} + 10 \lambda_{7}^{2}, & 0\end{pmatrix}$$
In [62]:
getoneloop(settozero(RGEs[0]['\\lambda_6'],['g1','g_SU2L','g_SU3c'],com=True)),getoneloop(settozero(RGEs[0]['\\lambda_6'],['g1','g_SU2L','g_SU3c'],com=True))-b6.expand()
Out[62]:
$$\begin{pmatrix}12 \lambda_{1} \lambda_{6} + 6 \lambda_{3} \lambda_{6} + 6 \lambda_{3} \lambda_{7} + 8 \lambda_{4} \lambda_{6} + 4 \lambda_{4} \lambda_{7} + 10 \lambda_{5} \lambda_{6} + 2 \lambda_{5} \lambda_{7}, & 0\end{pmatrix}$$
In [63]:
getoneloop(settozero(RGEs[0]['\\lambda_7'],['g1','g_SU2L','g_SU3c'],com=True)),getoneloop(settozero(RGEs[0]['\\lambda_7'],['g1','g_SU2L','g_SU3c'],com=True))-b7.expand()
Out[63]:
$$\begin{pmatrix}12 \lambda_{2} \lambda_{7} + 6 \lambda_{3} \lambda_{6} + 6 \lambda_{3} \lambda_{7} + 4 \lambda_{4} \lambda_{6} + 8 \lambda_{4} \lambda_{7} + 2 \lambda_{5} \lambda_{6} + 10 \lambda_{5} \lambda_{7}, & 0\end{pmatrix}$$

The value of \(\lambda_4\) is actually \(\beta_5+\beta_4+\beta_3\)

In [64]:
getoneloop(settozero(RGEs[0]['\\lambda_4'],['g1','g_SU2L','g_SU3c'],com=True))-b5.expand()-b3.expand(),getoneloop(settozero(RGEs[0]['\\lambda_4'],['g1','g_SU2L','g_SU3c'],com=True))-b4.expand()-b5.expand()-b3.expand()
Out[64]:
$$\begin{pmatrix}2 \lambda_{1} \lambda_{4} + 2 \lambda_{2} \lambda_{4} + 8 \lambda_{3} \lambda_{4} + 4 \lambda_{4}^{2} + 8 \lambda_{5}^{2} + 10 \lambda_{6}^{2} + 4 \lambda_{6} \lambda_{7} + 10 \lambda_{7}^{2}, & 0\end{pmatrix}$$

2. Gauge beta functions and contrinbutions to quartic terms

In [47]:
getoneloop(RGEs[0]['U1']),getoneloop(RGEs[0]['SU2L']),getoneloop(RGEs[0]['SU3c'])
Out[47]:
$$\begin{pmatrix}7 g_{1}^{3}, & - 3 g_{SU2L}^{3}, & - 7 g_{SU3c}^{3}\end{pmatrix}$$
In [34]:
settozero(getoneloop(RGEs[1]['\\lambda_1']),['\lambda_{}'.format(i) for i in range(1,8) if i != 1],com=True)
Out[34]:
$$12 \lambda_{1}^{2} - 3 \lambda_{1} g_{1}^{2} - 9 \lambda_{1} g_{SU2L}^{2} + \frac{3}{4} g_{1}^{4} + \frac{3}{2} g_{1}^{2} g_{SU2L}^{2} + \frac{9}{4} g_{SU2L}^{4}$$
In [33]:
settozero(getoneloop(RGEs[1]['\\lambda_2']),['\lambda_{}'.format(i) for i in range(1,8) if i != 2],com=True)
Out[33]:
$$12 \lambda_{2}^{2} - 3 \lambda_{2} g_{1}^{2} - 9 \lambda_{2} g_{SU2L}^{2} + \frac{3}{4} g_{1}^{4} + \frac{3}{2} g_{1}^{2} g_{SU2L}^{2} + \frac{9}{4} g_{SU2L}^{4}$$
In [36]:
settozero(getoneloop(RGEs[1]['\\lambda_3']),['\lambda_{}'.format(i) for i in range(1,8) if i != 3],com=True)
Out[36]:
$$4 \lambda_{3}^{2} - 3 \lambda_{3} g_{1}^{2} - 9 \lambda_{3} g_{SU2L}^{2} + \frac{3}{4} g_{1}^{4} - \frac{3}{2} g_{1}^{2} g_{SU2L}^{2} + \frac{9}{4} g_{SU2L}^{4}$$
In [39]:
settozero(getoneloop(RGEs[1]['\\lambda_5']),['\lambda_{}'.format(i) for i in range(1,8) if i != 5],com=True),settozero(getoneloop(RGEs[1]['\\lambda_6']),['\lambda_{}'.format(i) for i in range(1,8) if i != 6],com=True),settozero(getoneloop(RGEs[1]['\\lambda_7']),['\lambda_{}'.format(i) for i in range(1,8) if i != 7],com=True)
Out[39]:
$$\begin{pmatrix}- 5 \lambda_{5}^{2} - 3 \lambda_{5} g_{1}^{2} - 9 \lambda_{5} g_{SU2L}^{2}, & - 3 \lambda_{6} g_{1}^{2} - 9 \lambda_{6} g_{SU2L}^{2}, & - 3 \lambda_{7} g_{1}^{2} - 9 \lambda_{7} g_{SU2L}^{2}\end{pmatrix}$$

So the equations (44) (45) are correct. Note that I did not check the yukawa contributions

3. Notes on version 1.1.0_beta

In [67]:
!cat Run2HDM.settings
Only: {'QuarticTerms': ['\lambda_4']}
skip: ['CAabcd','CL2abcd']
verbose: True
Quartic-Couplings: True
Pickle: True