1. Installation

1.1. Download the program and install

pySecDec should run fine with both, python 2.7 and python 3 on unix-like systems.

Before you install pySecDec, make sure that you have recent versions of numpy (http://www.numpy.org/) and sympy (http://www.sympy.org/) installed. In case you want to check for their availability type

$ python -c "import numpy"
$ python -c "import sympy" .

In case either numpy or sympy are missing on your machine, it is easiest to install them from your package repository. Alternatively, and in particular if you do not have administrator rights, pip (https://pip.pypa.io/en/stable/) may be used to perform the installation.

Then download and upack the tarball from http://secdec.hepforge.org/. The tarball contains a distribution of pySecDec and the additional dependencies listed below. Typing

$ make

should build all redistributed packages and display two commands to be added to your .bashrc or .profile.


Parallel build with make -j<number-of-cores> causes trouble on some systems. If make finished without a message starting with Successfully built “pySecDec” and its dependencies, try again without the -j option.

1.2. The Geomethod and Normaliz


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 versions 3.0.0, 3.1.0, and 3.1.1. 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. Additional Dependencies for Generated c++ Packages

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 required:

The functions pySecDec.code_writer.make_package() and pySecDec.loop_integral.loop_package() can use the external program nauty [BKAP] to find all sector symmetries and therefore reduce the number of sectors:

These packages are redistributed with the pySecDec tarball; i.e. you don’t have to install any of them yourself.