HLIBcore contains basic type definitions and function implementations from HLIBpro needed by libHLR, e.g., matrix types, clustering algorithms and input/output functions.
The API is a fully compatible subset of the API provided by HLIBpro, i.e., you can directly replace HLIBcore with HLIBpro. However, all the arithmetic functions for H-matrices and even basic matrix construction is missing. For this, please use the functions provided by libHLR.
HLIBcore is tested on Linux and MacOS systems with GCC (>= v5), Clang (>= v4) and Intel
C++ compiler (>= v17). As a general rule: C++14 is required. Also a Fortran compiler is
needed, e.g., gfortran
or f77
.
Furthermore, the Boost C++ library and BLAS/LAPACK are needed for HLIBcore.
For compilation, the SCons construction tool is used, while the configuration utility is based on Python 3.
Optional libraries are
These libraries can normally be installed via the standard packet management systems of your operating system.
> apt install gcc g++ gfortran scons python3
> apt install libboost-all-dev liblapack-dev libsuitesparse-dev libmetis-dev libscotch-dev libgsl-dev libhdf5-dev
Download an archived release or clone the repository:
> git clone https://gitlab.mis.mpg.de/rok/hlibcore
Afterwards, call the configuration tool
> ./configure
If configuration went without problems, you can start compilation
> scons