Download

Download MARTY

To be notified about the latest news and developments, you can send us an email to g.uhlrich@ipnl.in2p3.fr!

MARTY-1.3 - 10 / 05 / 2021

MARTY-1.3.tar.xz (4.4 Mo, Linux / Mac)
MARTY-1.3.zip (7.1 Mo, All OS)

MARTY-1.2.1 - 13 / 02 / 2021

MARTY-1.2.1.tar.xz (4.6 Mo, Linux / Mac)
MARTY-1.2.1.zip (8.0 Mo, All OS)

MARTY-1.2 - 07 / 02 / 2021

MARTY-1.2.tar.xz (4.6 Mo, Linux / Mac)
MARTY-1.2.zip (8.0 Mo, All OS)

MARTY-1.1 - 03 / 12 / 2020

MARTY-1.1.tar.xz (4.6 Mo, Linux / Mac)
MARTY-1.1.zip (8.0 Mo, All OS)

MARTY-1.0 - 05 / 11 / 2020

MARTY-1.0.tar.xz (6.6 Mo, Linux / Mac)
MARTY-1.0.zip (12.1 Mo, All OS)

Build and Install MARTY

The following instructions are meant for Ubuntu / Debian and Mac (since 1.1) users.

For Windows (for sure) or other Linux distros, the installation script setup.sh may not work !

One may however install the dependencies (detailed below), compile the code (this should work on all OS with the required dependencies) and install the headers and libraries where wanted. Support for Ubuntu ≤16.04 is available only since 1.2.

Building and installing MARTY (Ubuntu / Debian, Mac since 1.1)

The first step is to download MARTY. Once done, go in MARTY's root directory and type the following commands. The path given to setup.sh must be valid. By default, the path will be /usr/local. If you choose this path, the installation script will need super-user rights (sudo).

 
  source setup.sh <path-for-marty-installation>
  make 
  make install
 

If you want the compilation to go faster and that your computer allows it, you may run the make command in parallel using 4 CPUs for example:

 
  make -j 4
 

If one chooses to install MARTY (together with CSL and GRAFED) in a non standard location (or if /usr/local is not contained in your default paths), environment variables must be set to help compilers and operating system to find the libraries (CPATH and C_INCLUDE_PATH may both be used depending on the compiler and the system):

 
  export PATH=<marty-installation-path>/bin:$PATH # Find the command grafed
  export LD_LIBRARY_PATH=<marty-installation-path>/lib:$LD_LIBRARY_PATH # Find libraries at run-time (Linux)
  export DYLD_LIBRARY_PATH=<marty-installation-path>/lib:$DYLD_LIBRARY_PATH # Find libraries at run-time (Mac)
  export LIBRARY_PATH=<marty-installation-path>/lib:$LIBRARY_PATH # Find libraries at compile-time
  export C_INCLUDE_PATH=<marty-installation-path>/include:$C_INCLUDE_PATH # Find headers at compile time
  export CPATH=<marty-installation-path>/include:$CPATH # Find headers at compile time
 

These bash commands together with the definition of C / C++ / Fortran compilers are generated by the installation script in the file marty_env.sh. Putting its content in a .bashrc file for example, compiling a C++ program with MARTY is as simple as:

 
  g++ -std=c++17 main.cpp -o main.x -lmarty 
 

Executing now main.x:

 
  ./main.x
 

One may now start to learn how to use MARTY here.

In case one wants to use custom compilers or versions, different than gcc-7, g++-7, gfortran-7, it is possible either to change the version by typing:

 
  export MARTY_COMPILER_VERSION=9
 

for example to use gcc-9, g++-9, gfortran-9, or to set particular compilers through the usual environment variables CC, CXX, FC for C / C++ / Fortran respectively. These adjustements must be done before sourcing the setup.sh script. Changing compilers is however not recommended, in particular for gfortran, to ensure a good compatibility with LoopTools.

Dependencies (Ubuntu / Debian)

In principle the installation script setup.sh should take care of all dependencies for Ubuntu / Debian and Mac users. In case the installation script does not work here is the list of dependencies.

For non Ubuntu / Debian users, the sudo apt-get command will not work, one then has to find the corresponding equivalent dependencies on the particular OS used (brew install on Mac for example).

First, the compilers must be up-to-date, at least version 7 for gcc, g++, gfortran. One may for example type:

 
  sudo apt-get install coreutils build-essential gcc-7 g++-7 gfortran-7 -y
 

GSL is used to diagonalize numerically mass matrices in particle physics models in order to get their spectrum. GSL may be installed on Ubuntu/Debian via:

 
  sudo apt-get install libgsl-dev libgslcblas0
 

Qt is a C++ framework to create Desktop applications. GRAFED uses the open-source and free version of Qt. dvipng is a converter from .dvi to .png files allowing GRAFED to compile and display labels from Latex source. One may install these dependencies typing:

 
  sudo apt-get install qt5-default qtcreator dvipng -y
 

Finally, LoopTools contains numerical values for momentum integrals, used to evaluate one-loop results.