Installation
One can install HepLib automatically or manually, the recommended one is to use the install.sh script or the makefile.
Install Automatically
One can install HepLib automatically with the all-in-one script install.sh or the all-in-one makefile.
wget https://heplib.github.io/install.sh
chmod +x install.sh
INSTALL_PATH=<INSTALL PATH> jn=<jn> ./install.shwget https://heplib.github.io/makefile
make INSTALL_PATH=<INSTALL PATH> jn=<jn><INSTALL PATH>the directory to which all external libraries/programs will be installed.<jn>the number of jobs in invokingmake -j $jn.
Install Manually
One can also install HepLib manually which is NOT recommended, including to install the required external libraries, external programs and HepLib iteself following the steps below.
1. Install External Libraries
GMP : it is required for MPFR and GiNaC.
curl -L -O https://gmplib.org/download/gmp/gmp-6.2.0.tar.gz
tar zxf gmp-6.2.0.tar.gz
cd gmp-6.2.0
./configure --prefix=$INSTALL_PATH
make -j 16
make installMPFR : it is used to handle the multiple precision in the numerical integration. MPFR needs to be compiled with the option
--enable-float128.
The quadruple precision type __float128 has been changed to _Float128 since MPFR 4.1.0, so we prefer the version MPFR 4.0.2 for the moment, furthermore the MPFR C++ wrapper is included in HepLib archive.
curl -L -O https://heplib.github.io/mpfr-4.0.2.tar.gz
tar zxf mpfr-4.0.2.tar.gz
cd mpfr-4.0.2
./configure --prefix=$INSTALL_PATH --with-gmp=$INSTALL_PATH --enable-float128 --enable-thread-safe
make -j 16
make installCLN : it is required for GiNaC.
curl -L -O https://www.ginac.de/CLN/cln-1.3.6.tar.bz2
tar jxf cln-1.3.6.tar.bz2
cd cln-1.3.6
./configure --prefix=$INSTALL_PATH --with-gmp=$INSTALL_PATH
make -j 16
make installGiNaC : The underlying language of HepLib, which is used for symbolic operations.
curl -L -O https://www.ginac.de/ginac-1.8.0.tar.bz2
cd ginac-1.8.0
./configure --prefix=$INSTALL_PATH PKG_CONFIG_PATH=$INSTALL_PATH/lib/pkgconfig
make -j 16
make installQHull : it is used for Sector Decompostion with the geometric strategy.
curl -L -O http://www.qhull.org/download/qhull-2020.2.zip
unzip -q qhull-2020.2.zip
cd qhull-2020.2
cp Makefile Makefile.bak
cat Makefile.bak | sed "s/\/usr\/local/\$\$INSTALL_PATH/g" > Makefile
make
make installMinUit2 : it is used to find the minimum of a function.
curl -L -O http://project-mathlibs.web.cern.ch/project-mathlibs/sw/5_34_14/Minuit2/Minuit2-5.34.14.tar.gz
cd Minuit2-5.34.14
./configure --prefix=$INSTALL_PATH
make -j 16
make installCUBA : it is one of the numerical integrators.
curl -L -O http://www.feynarts.de/cuba/Cuba-4.2.tar.gz
tar zxf Cuba-4.2.tar.gz
cd Cuba-4.2
./configure --prefix=$INSTALL_PATH --with-real=16 CFLAGS="-fPIC -fcommon" CXXFLAGS="-fPIC -fcommon"
make
make install2. Install External Programs
Fermat : it is used for matrix operation, multivariate rational polynormial simplification, etc..
curl -L -O http://home.bway.net/lewis/fermat64/ferl6.tar.gz
tar zxf ferl6.tar.gz
mv ferl6 $INSTALL_PATH
cd $INSTALL_PATH/bin
ln -s -f ../ferl6/fer64 .curl -L -O http://home.bway.net/lewis/fermat64/ferlm.tar.gz
tar zxf ferm6.tar.gz
mv ferm6 $INSTALL_PATH
cd $INSTALL_PATH/bin
ln -s -f ../ferm6/fer64 .Form : it is used for Dirac and Color matrix trace, Lorentz index contraction, etc..
curl -L -O https://github.com/vermaseren/form/releases/download/v4.2.1/form-4.2.1-x86_64-linux.tar.gz
tar zxf form-4.2.1-x86_64-linux.tar.gz
cp -rf form-4.2.1-x86_64-linux/form $INSTALL_PATH/bin/
cp -rf form-4.2.1-x86_64-linux/tform $INSTALL_PATH/bin/curl -L -O https://github.com/vermaseren/form/releases/download/v4.2.1/form-4.2.1-x86_64-osx.tar.gz
tar zxf form-4.2.1-x86_64-osx.tar.gz
cp -rf form-4.2.1-x86_64-osx/form $INSTALL_PATH/bin/
cp -rf form-4.2.1-x86_64-osx/tform $INSTALL_PATH/bin/FIRE : it is required for IBP reduction in
HepLib::IBP::FIREclass.
git clone https://bitbucket.org/feynmanIntegrals/fire.git
mv fire/FIRE6 $INSTALL_PATH/FIRE6
rm -rf fire
cd $INSTALL_PATH/FIRE6
./configure --enable_zlib --enable_snappy --enable_lthreads --enable_tcmalloc --enable_zstd
make -j 16
makeKIRA : it is required for IBP reduction in
HepLib::IBP::KIRAclass.
curl -L -o kira https://kira.hepforge.org/downloads?f=binaries/kira-2.0
chmod +x kira
mv -f kira $INSTALL_PATH/bin/kiraFor installation on Mac OS, please refer to official page of KIRA.
3. Install HepLib
One can download the most recent version of HepLib as a compressed archive: HepLib.tar.gz, uncompress it and change current directory into HepLib/src by the commands:
wget https://heplib.github.io/HepLib.tar.gz
tar zxfv HepLib.tar.gz
cd HepLib/srcCreate a directory for cmake to build the library as follows:
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH ..
make -j 4 && make installLast updated