#The first thing to do is to make the Toolbox available
import sys
#pretty printing
%load_ext sympy.interactive.ipythonprinting
sys.path.append('Source/Output')
from Toolbox import *
#Now we can load a result which will serve as an example. For that purpose use the load function of the Toolbox
RGEs,info = loadmodel('SM-BL.pickle')
info
Generated by PyR@TE for SM.
#Print all the results available in the dictionary
RGEs.keys()
[\lambda_1, SU3c, \mu_1, SU2L, U1, \lambda_3, U1BL, m_H, Y_l, Y_H, \lambda_2, Y_e, Y_d, Y_u]
#Let's have a look at the lambda_1 coupling and we use the getoneloop function to get rid of the 4pi factors
Lambda1 = getoneloop(RGEs['\\lambda_1'])
Lambda1
Let's now imagine that we want to neglect all yukawas but the top quark. Then Yukawa matrix Yu is then a scalar. traces and MatMul are our own declared classes and that therefore they need to be loaded before being able to do any matching with it.
#Let's declare symbols for each yukawas
yl = Symbol('Y_l',commutative=False)
ye= Symbol('Y_e',commutative=False)
yu= Symbol('Y_u',commutative=False)
yd= Symbol('Y_d',commutative=False)
yt=Symbol('yt',real=True)
#List of substitutions
Subs = ((yl,0),(yd,0),(yl,0),(ye,0),(yu,yt))
Lambda1 = Lambda1.subs(Subs)
Lambda1
#load the trace and MatMul classes
from RGEsmathModule import trace,MatM
#declare some wild cards for the mapping
p,q,r,s,t,u,v,w = map(Wild,['p','q','r','s','t','u','v','w'])
#Remove the 0 traces
Lambda1 =Lambda1.replace(trace(p,q),p*q).replace(trace(p,q,r,s),p*q*r*s)
Lambda1
#Now Let's try to obtain the beta function for the parameter lambda_1 - lambda_3 in the same approximation
#We first filter the rges for the lambda3 result
yh = Symbol('Y_H',real=True)
YH = Symbol('Y_H',commutative=False)
Lambda3=getoneloop(RGEs['\\lambda_3']).subs(Subs).replace(trace(p,q),p*q).replace(trace(p,q,r,s),p*q*r*s).subs(YH,yh)
Lambda3
#We can now do the difference
Diff = (Lambda3 - Lambda1).expand()
Diff
Note that if one wants to export those results into latex it suffices to right click on the result and then onto Show Math As--> TeX Command
Let's now have a look at the Yukawa rge and try to do some simplification. The goal is to see how to match the Yukawa Matrices that are not inside the traces
bYl = getoneloop(RGEs['Y_l'])
bYl
#If we want to match the object representing the Yukawa with indices i.e. outside of the traces we need to use functions
FYl = Function('Y_l')
#Let's get rid of the indices and translate Y_l into the Symbol Yl that we have introduced above
bYl = bYl.replace(FYl(p,q),yl)
bYl
#Now to be consistent we should remove the indices in the MatM function and also transforms all the Yukawa as scalars
bYl.replace(MatM((p,q,r),u,v),MatM((p,q,r)))