Package-X is hosted by Hepforge, IPPP Durham

Hiren H. Patel

Revision History

Package‑X 2.1.0: (September 7, 2017)

  • Numerous symbols have been renamed to make Package‑X command-line 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 one-loop 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 "Tree-Level e+e→γγ Cross Secion by The Optical Theorem".
  • Added tutorial "Linking Package-X 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.
  • TraditionalForms 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(p2) 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 Levi-Civita 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 on-shell 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 under-the-hood improvements.
  • LoopRefine
    • can now convert four-point 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 UV-divergences. 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 under-the-hood improvements.
  • LoopRefineSeries
    generates a (multiple) Taylor series expansion of one-loop 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 non-vanishing 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 project-scale 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 four-vectors. (thanks, Shanmuka Shivashankara).
  • Various under-the-hood 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