
Compute the transverse part of the QED vacuum polarization tensor:  
In[1]:=  
Out[2]=  
Its series expansion near q^{2} = 0:  
In[3]:=  
Out[3]=  
Compute the QED vertex function:  
In[1]:=  
Out[2]=  
Compute the UVdivergent part of the QCD vacuum polarization function in general covariant R_{ξ} gauges:  
In[1]:=  
In[1]:=  
Out[1]=  
Compute the massless one loop scalar fourpoint integral in 6 dimensions:  
In[1]:=  
Out[1]=  
PackageX was developed after several long years of tedious work. Please include the following citation if PackageX was useful for your publication.
Hiren H. Patel, Comput. Phys. Commun. 197, 276 (2015),
ePrint: arXiv:1503.01469
Esentially all algorithms and formulae used by PackageX can be viewed in handwritten form at hhpatel.net/notes (Vol II, §1 and §5, and Vol V).
Series
would occasionally incorrectly expand DiscB
at zero external momentum (thanks, Camilo Garcia Cely).
LoopRefineSeries
would not convert its input to analytic expressions when the input was independent of the expansion parameter (thanks, Prasenjit Sanyal).
General::optb
error messages to be generated at initialization in earlier versions of Mathematica (thanks, Prasenjit Sanyal).
Longitudinal
and Transverse
no longer have HoldFirst
attribute, since it used to interfere with simplification routines of other tensor algebraic functions like LoopIntegrate
and Contract
.
FermionLineExpand
and LoopIntegrate
now correctly applies Sirlin identities to FermionLineProduct
involving massive spinors (thanks, Matteo Fael).
FermionLineExpand
no longer avoids applying spinor equations of motion when downvalues to scalar products are assigned.
FermionLine
objects.
FermionLineExpand
more completely simplifies FermionLineProduct
objects.
DiracAlgebra
to FermionLineExpand
.
Projector
only).
LoopRefine
no longer gives 1/0
errors when Part>IRDivergent
is set.
FermionLineExpand
and other tensor manipulation routines would drop the quadruply contracted LeviCivita symbol (thanks, Matthew Kirk).
FermionLineProduct
would fail to automatically expand over deeply nested sums over FermionLine
objects.
Series
would incorrectly expand DiscB
around normal threshold.
pvA
, pvB
, pvC
, pvC0
, and pvC0IR6
are now named PVA
, PVB
, PVC
, ScalarC0
, and ScalarC0IR6
, respectively, consistent with the naming convention of capitalizing the first letter of predefined symbols.
LoopIntegrate
now normalizes its integration measure so that e^{γ ϵ} is factored out instead of r_{Γ}. This is to prepare PackageX for computing two loop integrals in the future. This only changes the output of LoopRefine
for integrals exhibiting 1/ϵ^{2} poles, arising from overlapping soft and collinear divergences, by an amount proportional to ~π^{2}/12 to the finite part.
PVC
(was pvC
) and ScalarC0
(was pvC0
) has been changed to match that of FeynCalc, LoopTools, and essentially all other authors in the literature (Sorry to v1.0 users who struggled to match against literature!). The relations are PVC[r,n1,n2,s1,s12,s2,m0,m1,m2] = pvC[r,n1,n2,s1,s2,s12,m2,m1,m0]
and ScalarC0[s1,s12,s2,m0,m1,m2] = pvC0[s1,s2,s12,m2,m1,m0]
ScalarC0
is now a function defined manifestly in four dimensions, and will return ComplexInfinity
for cases that are IR divergent. The related function PVC[0,0,0, args]
lives in d dimensions, and will yield 1/ϵ poles by LoopRefine
for IR divergent cases.
X`IndexAlg`
, X`Spur`
, and X`OneLoop`
are deprecated; all package symbols now belong to a common context X`
pvb
is now obsolete, and is covered by higher weight PVB
functions.
μR
is now denoted with µ
(\[Micro]
), and entered with the keyboard alias [esc][m][m][esc]
.
Projector
only).
LoopIntegrate
generates capitalized PVA
...PVD
, and the threepoint functions PVC
and ScalarC0
are generated with the updated ordering for their arguments. LoopRefine
generates expressions with µ
denoting the dimensional regularization scale, and with the updated normalization affecting integrals with overlapping soft and collinear IR divergences. Since legacy syntax of LoopIntegrate
is still possible and the syntax of LoopRefine
is unchanged, rerunning code with v2.0 in notebooks that used v1.0 should update expressions reflecting the changes. You may download v1.0.4 here, but it is no longer supported.