Installation guide : optional libraries

complex_bessel, library used for using complex-valued Bessel functions.

Concepts uses complex_bessel, a library written by Joey Dumont and Denis Gagnon to handle with complex-valued (see https://blog.joey-dumont.ca/complex_bessel/).

Direct installation

  • Dowload the latest version from the GIT repository
git clone https://github.com/valandil/complex_bessel.git
  • Compile the code
cd complex_bessel ; bash build.sh

Library will be in the build folder, whereas include files will be in the include folder.

Xerus, a general purpose tensor library

Complex uses Xerus, a general purpose tensor library written by Benjamin Huber and Sebastian Wolf.

Direct installation

sudo apt-get install binutils-dev libopenblas-dev libsuitesparse-dev liblapacke-dev
  • Get the latest development version of the code
git clone https://git.hemio.de/xerus/xerus.git ; cd xerus ; git checkout v3
  • Copy the default configuration file and edit it
cp config.mk.default config.mk ; $(EDITOR) config.mk
  • Test the library to be sure that all dependences and options are correct
make test -j4
  • Compile and install the library. Depending on where you want to install it, you might need admin rights.
make shared -j4 ; make install

alglib - cross-platform numerical analysis and data processing library

Installation of this library is optional since there is an already embedded version inside Concepts.

Installing packages in Debian, Ubuntu or Redhat

For the Linux distributions Debian or Ubuntu install the package

libalglib-dev

ftsh - fast transform for spherical harmonics library

Concepts uses FTSH, a library written by Martin J. Mohlenkamp to handle with fast transform for spherical harmonics. It relies on the version 2 of the FFTW library.

Installation of FFTW2

  • Download it at http://www.fftw.org/download.html, using
    wget http://www.fftw.org/fftw-2.1.5.tar.gz
  • Uncompress it
    tar -zxf fftw-2.1.5.tar.gz
  • Go inside the folder with
    cd fftw-2.1.5
  • Configure and install with
    ./configure --prefix=$HOME/fftw2 ; make ; make install
    You can change the installation path

Installation of FTSH

  • Download it at http://www.ohiouniversityfaculty.com/mohlenka/research/libftsh/, using
    wget http://www.ohiouniversityfaculty.com/mohlenka/research/libftsh.tar
  • Uncompress it
    tar xf libftsh.tar
  • Go inside the folder with
    cd libftsh2012_4_6
  • Edit the file make.inc to set up compiler and relative path to the FFTW2 library. Here are for example the local changes on a Ubuntu 18.04 system
10c10
< FORTRAN  = g77
---
> FORTRAN  = gfortran
41a42
> CFLAGS= -I$(HOME)/fftw2/include -fPIC
52c53
< LIBLINK= -lrfftw -lfftw -lm
---
> #LIBLINK= -lrfftw -lfftw -lm
63a65
> LIBLINK =  $(HOME)/fftw2/lib/librfftw.a $(HOME)/fftw2/lib/libfftw.a -lm
  • Compile it with
    make
    .

Activation

The file boost-build-modules.jam should be modified in the following
modules.poke : FFTW_PATH             : /home/semin/fftw2/lib ;
modules.poke : FFTW_INCLPATH         : /home/semin/fftw2/include ;
modules.poke : FTSH_PATH              : /home/semin/libftsh2012_4_6 ;
modules.poke : FTSH_INCLPATH          : /home/semin/libftsh2012_4_6 ;

FFTW3 - Fast Fourier Transform library

Concepts uses FFTW3, a library written by Matteo Frigo and Steven G. Johnson and that is used to compute Discrete Fourier Transforms.

Installing packages in Debian, Ubuntu or Redhat

For the Linux distributions Debian or Ubuntu install the package

libfftw3-dev

Direct installation

  • Download it at http://www.fftw.org/download.html, using
    wget http://www.fftw.org/fftw-3.3.8.tar.gz
  • Uncompress it
    tar -zxf fftw-3.3.8.tar.gz
  • Go inside the folder with
    cd fftw-3.3.8
  • Configure and install with
    ./configure --prefix=$HOME/fftw2 ; make ; make install
    You can change the installation path
Topic revision: r1 - 08 Sep 2023, KerstenSchmidt
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Concepts? Send feedback