Installing External Software

Fitbenchmarking will install all packages that are available through pip.

To enable Fitbenchmarking with the other supported software, they need to be installed and available on your machine. We give pointers outlining how to do this below, and you can find install scripts for Ubuntu 18.04 in the directory /build/<software>/

Ceres Solver

Ceres Solver is used as a fitting software in FitBenchmarking, and is called via the PyCeres interface.

Install instructions can be found on the PyCeres Github page and Ceres Solver documentation

Please note that the PYCERES_LOCATION environment variable must be set.

CUTEst

CUTEst is used to parse SIF files in FitBenchmarking, and is called via the PyCUTEst interface.

Currently this is only supported for Mac and Linux, and can be installed by following the instructions outlined on the pycutest documentation

Please note that the PYCUTEST_CACHE environment variable must be set, and it must be in the PYTHONPATH.

GSL

GSL is used as a fitting software in FitBenchmarking, and is called via the pyGSL interface.

Install instructions can be found at the pyGSL docs. This package is also installable via pip, provided GSL is available on your system; see our example build script in build/gsl.

Note: pyGSL may not be installable with the latest versions of pip. We have found that 20.0.2 works for our tests.

Horace

Horace can be installed by following the instructions on the Horace website. In addition, MATLAB and the MATLAB engine must be installed following the instructions given below.

Levmar

Levmar is available on pip, however the latest release will only work up to Python 3.8. In order to use Levmar with newer versions of python, you are required to clone the repository and build it locally. This is fast and has been tested on Ubuntu 20.04.

Instructions for linux are below, for other operating systems the process will be the same.

` git clone git@github.com:bjodah/levmar.git cd levmar pip install . cd .. rm -rf levmar `

Mantid

Mantid is used both as fitting software, and to parse data files.

Instructions on how to install Mantid for a range of systems are available at https://download.mantidproject.org/.

MATLAB

MATLAB is available to use as fitting software in FitBenchmarking, and is called via the MATLAB Engine API for Python.

To use this fitting software, both MATLAB and the MATLAB engine must be installed. Installation instructions for MATLAB are available at https://uk.mathworks.com/help/install/ug/install-products-with-internet-connection.html, and instructions for installing and setting up the MATLAB engine are here: https://uk.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html. Furthermore, Matlab requires additional Python packages to be installed. You can find the instructions on how to install these packages by following the link provided: here.

RALFit

RALFit is available to use as fitting software.

Instructions on how to build the python interface are at https://ralfit.readthedocs.io/projects/Python/en/latest/install.html

Theseus

Theseus is used as a fitting software in FitBenchmarking, and is called via theseus-ai python module which requries pytorch

Install instructions can be found on the Theseus Github page