Installation guide : optional libraries
Contents
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
<pre>git clone https://github.com/valandil/complex_bessel.git</pre>
- Compile the code
<pre>cd complex_bessel ; bash build.sh</pre>
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
<pre>sudo apt-get install binutils-dev libopenblas-dev libsuitesparse-dev liblapacke-dev</pre>
- Get the latest development version of the code
<pre>git clone https://git.hemio.de/xerus/xerus.git ; cd xerus ; git checkout v3</pre>
- Copy the default configuration file and edit it
<pre>cp config.mk.default config.mk ; $(EDITOR) config.mk</pre>
- Test the library to be sure that all dependences and options are correct
<pre>make test -j4</pre>
- Compile and install the library. Depending on where you want to install it, you might need admin rights.
<pre>make shared -j4 ; make install</pre>
== 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
<pre>libalglib-dev</pre>
== 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 <pre>wget http://www.fftw.org/fftw-2.1.5.tar.gz</pre>
Uncompress it <pre>tar -zxf fftw-2.1.5.tar.gz</pre>
Go inside the folder with <pre>cd fftw-2.1.5</pre>
Configure and install with <pre>./configure --prefix=$HOME/fftw2 ; make ; make install</pre> You can change the installation path
=== Installation of FTSH
- ===
Download it at ["http://www.ohiouniversityfaculty.com/mohlenka/research/libftsh/"], using <pre>wget http://www.ohiouniversityfaculty.com/mohlenka/research/libftsh.tar</pre>
Uncompress it <pre>tar xf libftsh.tar</pre>
Go inside the folder with <pre>cd libftsh2012_4_6</pre>
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
<pre>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</pre>
Compile it with <pre>make</pre>.
=== Activation
- ===
The file boost-build-modules.jam should be modified in the following <pre> 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 ; </pre>
== 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
<pre>libfftw3-dev</pre>
=== Direct installation
- ===
Download it at ["http://www.fftw.org/download.html"], using <pre>wget http://www.fftw.org/fftw-3.3.8.tar.gz</pre>
Uncompress it <pre>tar -zxf fftw-3.3.8.tar.gz</pre>
Go inside the folder with <pre>cd fftw-3.3.8</pre>
Configure and install with <pre>./configure --prefix=$HOME/fftw2 ; make ; make install</pre> You can change the installation path