In[]:=
SetDirectory[NotebookDirectory[]];​​FR$Parallelize=False;​​LoadModel["phi4.fr"];​​
This model implementation was created by
Aditya Agarwal
Model Version: 0.1
For more information, type ModelInformation[].
- Loading particle classes.
- Loading parameter classes.
Model phi4 loaded.
​
​
In[]:=
Lexp=ExpandIndices[L,FlavorExpand->True];
In[]:=
Lexp
Out[]=
-
1
2
2
mphi
2
ϕ
-
lam
4
ϕ
24
+
1
2
2
∂
ν
[ϕ]
​
In[]:=
verts=FeynmanRules[Lexp]​​
Starting Feynman rule calculation.
Expanding the Lagrangian...
Collecting the different structures that enter the vertex.
1 possible non-zero vertices have been found -> starting the computation:
FeynRules`FR$FeynmanRules
/ 1.
1 vertex obtained.
Out[]=
{{{{ϕ,1},{ϕ,2},{ϕ,3},{ϕ,4}},-lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},3]ϕ**PRIVATE`crea[ϕ,{},4]+lamϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},3]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},1]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},3]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},2]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},3]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},2]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},3]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},3]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},3]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},3]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},3]PRIVATE`crea[ϕ,{},4]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},3]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},4]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},3]PRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},4]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},3]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},4]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},2]PRIVATE`crea[ϕ,{},3]**ϕPRIVATE`crea[ϕ,{},4]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},2]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},3]**ϕPRIVATE`crea[ϕ,{},4]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},1]PRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},3]**ϕPRIVATE`crea[ϕ,{},4]**ϕ-lamPRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},3]**ϕPRIVATE`crea[ϕ,{},4]**ϕ}}
In[]:=
​​verts1=verts/.(Phis**PRIVATE`crea[Phis,{},k_]-PRIVATE`crea[Phis,{},k_]**Phis):>1​​verts1//Simplify​​verts1[[1,2]]=Simplify[verts1[[1,2]]]
Out[]=
{{{{ϕ,1},{ϕ,2},{ϕ,3},{ϕ,4}},-lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},3]ϕ**PRIVATE`crea[ϕ,{},4]+lamϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},3]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},1]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},3]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},2]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},3]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},2]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},3]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},3]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},3]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},4]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},3]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},3]PRIVATE`crea[ϕ,{},4]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},2]ϕ**PRIVATE`crea[ϕ,{},3]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},4]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},3]PRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},4]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},3]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},4]**ϕ-lamϕ**PRIVATE`crea[ϕ,{},1]ϕ**PRIVATE`crea[ϕ,{},2]PRIVATE`crea[ϕ,{},3]**ϕPRIVATE`crea[ϕ,{},4]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},2]PRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},3]**ϕPRIVATE`crea[ϕ,{},4]**ϕ+lamϕ**PRIVATE`crea[ϕ,{},1]PRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},3]**ϕPRIVATE`crea[ϕ,{},4]**ϕ-lamPRIVATE`crea[ϕ,{},1]**ϕPRIVATE`crea[ϕ,{},2]**ϕPRIVATE`crea[ϕ,{},3]**ϕPRIVATE`crea[ϕ,{},4]**ϕ}}
Out[]=
{{{{ϕ,1},{ϕ,2},{ϕ,3},{ϕ,4}},-lam(ϕ**PRIVATE`crea[ϕ,{},1]-PRIVATE`crea[ϕ,{},1]**ϕ)(ϕ**PRIVATE`crea[ϕ,{},2]-PRIVATE`crea[ϕ,{},2]**ϕ)(ϕ**PRIVATE`crea[ϕ,{},3]-PRIVATE`crea[ϕ,{},3]**ϕ)(ϕ**PRIVATE`crea[ϕ,{},4]-PRIVATE`crea[ϕ,{},4]**ϕ)}}
Out[]=
-lam(ϕ**PRIVATE`crea[ϕ,{},1]-PRIVATE`crea[ϕ,{},1]**ϕ)(ϕ**PRIVATE`crea[ϕ,{},2]-PRIVATE`crea[ϕ,{},2]**ϕ)(ϕ**PRIVATE`crea[ϕ,{},3]-PRIVATE`crea[ϕ,{},3]**ϕ)(ϕ**PRIVATE`crea[ϕ,{},4]-PRIVATE`crea[ϕ,{},4]**ϕ)
​
In[]:=
Length[verts]
Out[]=
1
In[]:=
verts
Out[]=
{{{{Phis,1},{Phis,2},{Phis,3},{Phis,4}},-lamPhis**PRIVATE`crea[Phis,{},1]Phis**PRIVATE`crea[Phis,{},2]Phis**PRIVATE`crea[Phis,{},3]Phis**PRIVATE`crea[Phis,{},4]+lamPhis**PRIVATE`crea[Phis,{},2]Phis**PRIVATE`crea[Phis,{},3]Phis**PRIVATE`crea[Phis,{},4]PRIVATE`crea[Phis,{},1]**Phis+lamPhis**PRIVATE`crea[Phis,{},1]Phis**PRIVATE`crea[Phis,{},3]Phis**PRIVATE`crea[Phis,{},4]PRIVATE`crea[Phis,{},2]**Phis-lamPhis**PRIVATE`crea[Phis,{},3]Phis**PRIVATE`crea[Phis,{},4]PRIVATE`crea[Phis,{},1]**PhisPRIVATE`crea[Phis,{},2]**Phis+lamPhis**PRIVATE`crea[Phis,{},1]Phis**PRIVATE`crea[Phis,{},2]Phis**PRIVATE`crea[Phis,{},4]PRIVATE`crea[Phis,{},3]**Phis-lamPhis**PRIVATE`crea[Phis,{},2]Phis**PRIVATE`crea[Phis,{},4]PRIVATE`crea[Phis,{},1]**PhisPRIVATE`crea[Phis,{},3]**Phis-lamPhis**PRIVATE`crea[Phis,{},1]Phis**PRIVATE`crea[Phis,{},4]PRIVATE`crea[Phis,{},2]**PhisPRIVATE`crea[Phis,{},3]**Phis+lamPhis**PRIVATE`crea[Phis,{},4]PRIVATE`crea[Phis,{},1]**PhisPRIVATE`crea[Phis,{},2]**PhisPRIVATE`crea[Phis,{},3]**Phis+lamPhis**PRIVATE`crea[Phis,{},1]Phis**PRIVATE`crea[Phis,{},2]Phis**PRIVATE`crea[Phis,{},3]PRIVATE`crea[Phis,{},4]**Phis-lamPhis**PRIVATE`crea[Phis,{},2]Phis**PRIVATE`crea[Phis,{},3]PRIVATE`crea[Phis,{},1]**PhisPRIVATE`crea[Phis,{},4]**Phis-lamPhis**PRIVATE`crea[Phis,{},1]Phis**PRIVATE`crea[Phis,{},3]PRIVATE`crea[Phis,{},2]**PhisPRIVATE`crea[Phis,{},4]**Phis+lamPhis**PRIVATE`crea[Phis,{},3]PRIVATE`crea[Phis,{},1]**PhisPRIVATE`crea[Phis,{},2]**PhisPRIVATE`crea[Phis,{},4]**Phis-lamPhis**PRIVATE`crea[Phis,{},1]Phis**PRIVATE`crea[Phis,{},2]PRIVATE`crea[Phis,{},3]**PhisPRIVATE`crea[Phis,{},4]**Phis+lamPhis**PRIVATE`crea[Phis,{},2]PRIVATE`crea[Phis,{},1]**PhisPRIVATE`crea[Phis,{},3]**PhisPRIVATE`crea[Phis,{},4]**Phis+lamPhis**PRIVATE`crea[Phis,{},1]PRIVATE`crea[Phis,{},2]**PhisPRIVATE`crea[Phis,{},3]**PhisPRIVATE`crea[Phis,{},4]**Phis-lamPRIVATE`crea[Phis,{},1]**PhisPRIVATE`crea[Phis,{},2]**PhisPRIVATE`crea[Phis,{},3]**PhisPRIVATE`crea[Phis,{},4]**Phis}}
(*Trace[FeynmanRules[Lexp],TreatVertex[_]]*)
Starting Feynman rule calculation.
Expanding the Lagrangian...
Collecting the different structures that enter the vertex.
1 possible non-zero vertices have been found -> starting the computation:
FeynRules`FR$FeynmanRules
/ 1.
1 vertex obtained.
Out[]=
{}
(*GetFieldContent[Lint]*)
Out[]=
{Phis,Phis,Phis,Phis}
(*Trace[FeynmanRules[Lexp],TreatVertex[_]]*)
Starting Feynman rule calculation.
Expanding the Lagrangian...
Collecting the different structures that enter the vertex.
1 possible non-zero vertices have been found -> starting the computation:
FeynRules`FR$FeynmanRules
/ 1.
1 vertex obtained.
Out[]=
{}
In[]:=
Print["Lagrangian is:- ",Lexp]
Lagrangian is:- -
1
2
2
mphi
2
Phis
-
lam
4
Phis
24
+
1
2
2
∂
ν
[Phis]
In[]:=
ExpandIndices[Lint]
Out[]=
-
lam
4
Phis
24
(*lag=FieldExpand[Lexp/.Dot->FR$Dot]/.FR$Dot->Dot;​​templag=Plus@@(ExpandIndices[#]&/@If[Head[lag]===Plus,(List@@lag),{lag}]);​​Print["templag = ",templag];​​Print["templag == 0 ? ",templag==0]*)
◼
  • ​
  • ◼
  • ​