Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

Phi4tools

Guides

  • Phi4tools

Tech Notes

  • Feynman Diagram Evaluation
  • Perturbative Series Generation

Symbols

  • BubbleSubdiagram
  • CountLoops
  • DeriveAndWriteExplicit
  • DrawGraph
  • ExternalMomentum
  • InformationDiagram
  • IntegrandDiagram
  • Momentum
  • MomVars
  • NComponents
  • NickelIndex
  • Propagator
  • SquareSubdiagram
  • SunsetSubdiagram
  • SymmetryFactorDiagram
  • TadSunsetSubdiagram
  • TadTriangleBubblesSubdiagram
  • TriangleSubdiagram
  • ValueDiagram
  • VisualizeDiagram
  • WriteExplicit
  • XCubicRatio
GSberveglieri`Phi4tools`
SquareSubdiagram
​
​
SquareSubdiagram
[[1],[2],[3],[4]]
represents the one-loop square subdiagram.
​
Details and Options

Examples  
(2)
Basic Examples  
(2)
In[1]:=
Needs["GSberveglieri`Phi4tools`"]
Let's look at the
th
6
diagram for
(4)
Γ
for the
4
ϕ
theory with
v4
=4 quartic vertices, let's visualize it and print its integrand:
In[2]:=

VisualizeDiagram
[4,0,4,6],
IntegrandDiagram
[4,0,4,6]
Out[2]=

,
1
4
[[1]][[2]][[1]+[2]-[3]]
2
[[3]]
[-[1]-[2]+[3]]
The function
WriteExplicit
prints the integrand in
d=3
in terms of the three-dimensional components in spherical coordinates ready to be integrated.
In[3]:=
integrand4046=
WriteExplicit
@
IntegrandDiagram
[4,0,4,6]
Out[3]=
141+
2
[1]
ρ
1+
2
[2]
ρ

2
1+
2
[3]
ρ

2
1+
2
(
[1]
ρ
+Cos[
[2]
θ
]
[2]
ρ
-Cos[
[3]
θ
]
[3]
ρ
)
+
2

[2]
ρ
Sin[
[2]
θ
]-Cos
[3]
ϕ

[3]
ρ
Sin[
[3]
θ
]
+
2
[3]
ρ
2
Sin[
[3]
θ
]
2
Sin
[3]
ϕ



The function
MomVars
returns in output the variables we have to integrate over to compute the value of this diagram. In this case we will have a six-dimensional integral to perform.
In[4]:=
MomVars
@integrand4046
Out[4]=

[1]
ρ
,
[2]
θ
,
[2]
ρ
,
[3]
θ
,
[3]
ρ
,
[3]
ϕ

Let's look at the case with the subdiagrams substituted
In[5]:=

VisualizeDiagram
[4,0,4,6,"Substitutions""Analytics"],
IntegrandDiagram
[4,0,4,6,"Substitutions""Analytics"]
Out[5]=

,
1
4
ℬ[[1]][0,-[1],0,[1]]
In[6]:=
integrand4046bubblesquare=
WriteExplicit
@
IntegrandDiagram
[4,0,4,6,"Substitutions""Analytics"]
Out[6]=
ArcTan
[1]
ρ
2

64
2
π
[1]
ρ
2
4+
2
[1]
ρ

The integral to perform is just one-dimensional. Notice how the
WriteExplicit
wrote
[0,-[1],0,[1]]
as its expression in
d=3
.
​
The function for the square subdiagram with all momenta different from zero is quite long and cumbersome in
d=3
.
In[1]:=
Simplify@
WriteExplicit
[[[1],[2],[3],[4]]]
Out[1]=
Every square subdiagram substitution reduces the number of loop of the diagram by one. Let's look at another example: the
th
8
diagram for
(0)
Γ
for the
4
ϕ
theory with vertices
v4
=6 quartic vertices, without and with the subdiagrams substitutions.
In[2]:=

VisualizeDiagram
[0,0,6,8],
VisualizeDiagram
[0,0,6,8,"Substitutions""Analytics"]
Out[2]=

,

In[3]:=
IntegrandDiagram
[0,0,6,8]​​
IntegrandDiagram
[0,0,6,8,"Substitutions""Analytics"]
Out[3]=
1
64
[[1]][[2]][-[1]+[2]-[3]]
2
[[3]]
[-[2]+[3]-[4]][[4]][[5]][-[3]-[5]-[6]][[6]][[3]+[5]-[7]][[7]]
Out[3]=
1
64
2
ℬ[[1]]
2
ℬ[[2]]
[[2],-[2],-[1],[1]]
The 5 substitutions, 4 bubble subdiagrams and 1 square one, reduced the number of loops from 7 to 2, as we can see printed using the function
CountLoops
on the respective integrands
In[4]:=
CountLoops
/@
IntegrandDiagram
[0,0,6,8],
IntegrandDiagram
[0,0,6,8,"Substitutions""Analytics"]
Out[4]=
{7,2}
SeeAlso
Propagator
 
▪
BubbleSubdiagram
 
▪
SunsetSubdiagram
 
▪
TriangleSubdiagram
 
▪
TadSunsetSubdiagram
 
▪
TadTriangleBubblesSubdiagram
 
▪
VisualizeDiagram
 
▪
IntegrandDiagram
 
▪
WriteExplicit
 
▪
InformationDiagram
TechNotes
▪
Feynman Diagram Evaluation
RelatedGuides
▪
Phi4tools
""

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com