= 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 === * Download the needed dependent packages (see [[https://libxerus.org/md_building_xerus.html]]). On Ubuntu these packages can be downloaded using {{{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/fftw3 ; make ; make install}}} You can change the installation path