A modular, extensible and high-performance Trevisan extractor library. See arXiv:1212.0520 for a detailed description.
This program relies on a number of extra libraries. Installation commands are provided below for ubuntu-type systems (>= 18.04).
- First, a compiler and git are needed :
sudo apt install g++ git
- To activate support for libraries described in
/etc/ld.so.conf
, runsudo ldconfig
- To install GMP:
sudo apt install libgmp-dev
- We need a specific version of OpenSSL: it can be downloaded with
cd ..; git clone -b OpenSSL_1_0_2-stable https://github.com/openssl/openssl
. To prepare it, run commands./config
andmake
within the created folder. Keep this folder (it will be used during the compilation of LibTrevisian) - Install
gf2x
,NTL
andTclap
libraries on the system:sudo apt install libgf2x-dev libntl-dev libtclap-dev
- If you rather need to do this manually:
- Download gf2x-1.2 somewhere. Install it with the commands
./configure
,make
,make check
,sudo make install
,sudo ldconfig
within the downloaded folder. This folder can then be deleted. - Download NTL somewhere. Install with the commands
cd src
,./configure NTL_GF2X_LIB=on
,make
,make check
,sudo make install
. Delete the NTL folder. - Download Tclap somwehere. Install by running
mkdir build
,cd build
,cmake ..
,cmake --build .
,sudo cmake --install
within the downloaded folder. Then delete this folder. - Upon success, the downloaded folders of g2fx, NTL and Tclap can be removed.
- Download gf2x-1.2 somewhere. Install it with the commands
- Rcpp, RInside, and TBB are needed to enable block weak design: they can be installed with the command
sudo apt install r-cran-devtools r-cran-rcpp r-cran-rinside libtbb-dev
After these libraries are installed, simply run make
within the libtrevisian folder. This should create the targets extractor
and gen_irreps
.
Several additional rules are available in the Makefile. Here is additional software needed to run them
make src-pdf
needs enscript. It can be installed with the commandsudo apt install enscript
make figures
needs some R libraries. To install them, run the command following commands:
sudo R
install.packages("ggplot2")