1. Installation¶
1.1. Download the Program and Install¶
pySecDec works under Python version 3.6 or newer on unix-like systems. The latest release can be installed from PyPI by first (optionally) upgrading pip:
$ python3 -m pip install --user 'pip>=20.1'
and then running:
$ python3 -m pip install --user --upgrade pySecDec
1.2. The Geomethod and Normaliz¶
Note
If you are not urgently interested in using the
geometric decomposition
, you
can ignore this section for the beginning. The instructions below are
not essential for a pySecDec installation. You can still install
normaliz after installing pySecDec. All but the
geometric decomposition
routines work without normaliz.
If you want to use the geometric decomposition
module, you need the normaliz [BIR] command line executable.
The geometric decomposition
module is
designed for normaliz version 3 - currently versions
3.3.0
, 3.4.0
, 3.5.4
, 3.6.0
, 3.6.2
, 3.7.3
,
3.7.4
, and 3.8.1
are known to work. We recommend to set your $PATH
such that the
normaliz executable is found. Alternatively, you can pass the path to the normaliz
executable directly to the functions that need it.
1.3. Drawing Feynman Diagrams with neato¶
In order to use plot_diagram()
, the command line tool
neato must be available. The function loop_package()
tries
to call plot_diagram()
if given a
LoopIntegralFromGraph
and issues a warning on failure. That
warning can be safely ignored if you are not interested in the drawing.
neato is part of the graphviz package. It is available in many package repositories and at http://www.graphviz.org.
1.4. Additional Dependencies for Generated c++ Packages¶
Note
The following packages are redistributed with the pySecDec tarball; i.e. you don’t have to install any of them yourself.
The intended main usage of pySecDec is to make it write c++ packages using the functions
pySecDec.code_writer.make_package()
and pySecDec.loop_integral.loop_package()
.
In order to build these c++ packages, the following additional non-python-based libraries
and programs are used:
CUBA (http://www.feynarts.de/cuba/)
FORM (http://www.nikhef.nl/~form/)
SecDecUtil (part of pySecDec, see SedDecUtil), depends on:
The functions pySecDec.code_writer.make_package()
and pySecDec.loop_integral.loop_package()
can use the external program nauty [MP+14] to find all sector symmetries and therefore reduce the number of
sectors:
NAUTY (http://pallini.di.uniroma1.it/)
These packages are redistributed along with pySecDec itself, and will be built automatically during pySecDec installation.