
Hiren H. Patel
hhpatelumass.edu
Revision History
Package‑X 2.1.0: (September 7, 2017)
 Numerous symbols have been renamed to make Package‑X commandline friendly (more info).
 Added option
Dimensions>4 to LoopIntegrate , LoopRefine , and LoopRefineSeries to facilitate the calculation of loop integrals in spacetime dimensions other than 4.
 Option
Part to LoopRefine can now take the setting Discontinuity[s] to calculate discontinuities across normal threshold cuts of oneloop integrals.
 The precision of output of special functions (
ScalarC0 , ScalarD0 , etc) evaluated with arbitrary precision arithmetic now tracks the precision of input. It is no longer necessary to experimentally adjust the input precision to achieve the desired precision.

X`Utilities`EnableFancyInput and X`Utilities`DisableFancyInput have been renamed to X`Utilities`EnableFancyIO and X`Utilities`DisableFancyIO , respectively.

LoopIntegrate and Projector no longer support v1.0 syntax.

PVC no longer automatically reorganizes its arguments.
 Added tutorial "TreeLevel e^{+}e^{−}→γγ Cross Secion by The Optical Theorem".
 Added tutorial "Linking PackageX to COLLIER".
 Fixed a bug affecting
FermionLineExpand and LoopIntegrate that occasionally caused FermionLineProduct to be expanded incorrectly.
 Fixed a bug where
D0Expand would fail to return an analytic expression when trying to expand ScalarD0IR16 in certain cases (thanks, Christoph Bobeth).
Package‑X 2.0.4: (May 18, 2017)
 Fixed a bug causing
ScalarD0 to return 1/0 errors or incorrect values when an external invariant was evaluated on threshold with nonvanishing internal masses.
 Fixed a bug causing
D0Expand to incorrectly convert ScalarD0 when an external invariant was on threshold with nonvanishing internal masses.
 Fixed a bug affecting
LoopRefine and LoopRefineSeries causing it to incorrectly convert (n ≠ 4)dimensional, weighted, or differentiated PVD functions to analytic expressions (thanks, Mirko Serino). Normal forms of PVD functions were unaffected.

TraditionalForm s of PVA , PVB , PVC , and PVD are now typeset in boldface to emphasize their full dependence on number of dimensions d, and to distinguish them from ScalarC0 and ScalarD0 (which are defined in 4 dimensions).

MandelstamRelations now includes the rule ε_{{p1},{p2},{p3},{p4}}>0 among the list of rules in its output.
 The underlying code for
FermionLineExpand to process FermionLineProduct objects has been modified.
 Updated documentation pages for compatibility with the style featured in Mathematica 11.1 and above.
 Expanded tutorial "Scattering of Light by Light" accessed from the guide page.
 Completed tutorial "Ward identities and γ5 in Dimensional Regularization" accessed from the guide page.
Package‑X 2.0.3: (December 14, 2016)
 Fixed a bug where
Series would occasionally incorrectly expand DiscB at zero external momentum (thanks, Camilo Garcia Cely).
 Fixed a bug where
LoopRefineSeries would not convert its input to analytic expressions when the input was independent of the expansion parameter (thanks, Prasenjit Sanyal).
 Fixed a bug that caused
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).
Package‑X 2.0.2: (November 23, 2016)

FermionLineExpand no longer avoids applying spinor equations of motion when downvalues to scalar products are assigned.
 Addressed an issue that caused major performance slowdown on large expressions involving
FermionLine objects.

FermionLineExpand more completely simplifies FermionLineProduct objects.
 Added option
DiracAlgebra to FermionLineExpand .
 Off shell fermion self energy form factor C(p^{2}) has been redefined without a factor of i in front (affects
Projector only).

LoopRefine no longer gives 1/0 errors when Part>IRDivergent is set.
 Fixed typos in documentation.
Package‑X 2.0.1: (October 25, 2016)
 Fixed a bug where
FermionLineExpand and other tensor manipulation routines would drop the quadruply contracted LeviCivita symbol (thanks, Matthew Kirk).
 Fixed a bug where
FermionLineProduct would fail to automatically expand over deeply nested sums over FermionLine objects.
 Fixed a bug where on rare occasions
Series would incorrectly expand DiscB around normal threshold.
Package‑X 2.0.0: (October 14, 2016)
LoopIntegrate
 supports integrands with up to four distinct propagator factors.
 accepts new and more natural syntax so that any momentum rounting is possible.
 added option
Apart to expand linearly dependent propagator factors into partial fractions.
 added option
Cancel to cancel common factors in the integrand, which generally leads to substantially increased performance and quality of LoopRefine .
 added option
Organization > Automatic to specify how result is to be organized.
LoopIntegrate can now remove spurious kinematic singularities when onshell vector vertex Projector is used.
 added support for integrands with propagator factors of arbitrary integer powers.
 now takes
DiracMatrix , FermionLine (new) and FermionLineProduct (new) objects in the numerator.
 added option
DiracAlgebra to specify whether Dirac algebra should be used to simplify open fermion lines in the numerator.
 has received major underthehood improvements.
LoopRefine
 can now convert fourpoint coefficient functions
PVD to elementary functions.
 can now convert coefficient functions
PVA , PVB , PVC , PVD of arbitrary integer weights defined in any even number of spacetime dimensions to elementary functions.
 now tests for convergence, and issues a message if the loop integral is power infrared divergent.
 added option
Analytic > False (default). Setting Analytic > True generates a result with dim. reg. parameter ϵ analytically continued to large and negative values, rending power infrared divergences formally convergent.
 added option
Part > All . Setting Part > UVDivergent (rapidly) generates only the 1/ϵ part associated with UVdivergences. Likewise, setting Part > IRDivergent generates only the 1/ϵ and 1/ϵ^{2} part associated with soft and collinear singularities.
 improved algorithms for expression optimization, including simplification of polylogarithms and their arguments.
Projector
 accepts new and more natural syntax.
Contract and Spur
 have received major underthehood improvements.
LoopRefineSeries generates a (multiple) Taylor series expansion of oneloop tensor integrals around any kinematic point away from Landau singularities to arbitrary order. Setting option Analytic>True enables expansions around Landau singularities, by continuing the dim. reg. parameter ϵ to sufficiently large and negative values, rendering the necessary derivatives of tensor integral existant.
MandelstamRelations gives a list of replacement rules expressing Lorentz scalar products in terms of Mandelstam invariants and masses.
 Objects
FermionLine and FermionLineProduct , and function FermionLineExpand added for rudimentary support of open fermion lines.
ScalarC0 (was pvC0 )
 improved performance of numerical implementation, and edge cases systematically covered.
 automatically returns an explicit expression for vanishing external invariants.
 can give numerical results to aribtrary precision.
ScalarC0IR6 (was pvC0IR6 )
 redefined so that it no longer exhibits a branch cut along
s<0 (which used to yield a nonvanishing imaginary part in that region).
 improved performance of numerical implementation, and edge cases systematically covered.
 can give numerical results to aribtrary precision.
 Wolfram Documentation Center help pages
 added over one hundred basic usage examples, three projectscale tutorials, and instructions on linking Package‑X to established packages such as FeynCalc and LoopTools.
Package‑X 1.0.4: (October 12, 2015)
 Scalar C function
pvC[0,0,0,0,m^2,0,m,0,0] now reduces to the correct analytic expression by LoopRefine (thanks, Benjamin Lillard).

Simplify and FullSimplify no longer tries to bring the divergent and finite parts of LoopRefine output under a common denominator proportional to ϵ .
Package‑X 1.0.3: (September 5, 2015)
 Fixed bug in
LoopIntegrate that lead to excessive evaluation times for integrands that used Projector due to uncontracted Lorentz fourvectors. (thanks, Shanmuka Shivashankara).
 Various underthehood improvements.
 (Second release) Fixed typos in Wolfram documentation help pages for
LoopIntegrate and ϵ , and tutorial (thanks, Gregory Ovanesyan and Nicholas Rodd).
Package‑X 1.0.2: (June 23, 2015)
 Added option
Organization to LoopRefine . Results can now be organized by tensor structures.
 Improved performance of
LoopRefine ; (e.g. LoopRefine no longer sometimes hangs when the option ExplicitC0 > All is set).

Transverse and Longitudinal no longer throw errors when three arguments are passed to them (Transverse and Longitudinal are no longer Listable ).
 Fixed typos / clarified certain points in Wolfram documentation help pages.
Package‑X 1.0.1: (March 24, 2015)
 Scalar C function
pvC[0,0,0,0,0,s,0,0,m0] now reduces to the correct analytic expression by LoopRefine (thanks, Vladyslav Shtabovenko).

FrontEndObject::notavail warnings are no longer issued when Package‑X is loaded without a front end.
Package‑X 1.0.0: (March 6, 2015)
Original release
