**Table of Contents**

This part of the documentation describes the installation of the Boundary
Element Template Library. In principle the installation should be the same
on all POSIX-like operating systems such as Unix, Linux, and Mac OS X. In
addition, since BETL's build process relies on CMake, the
library's installation should be also possible with other operating
systems like Microsoft Windows. Nevertheless, the installation's focus is
clearly on POSIX systems. Up to now, the installation on Windows systems
is not sufficiently tested by what it has to be considered as
*experimental*.

The installation of BETL requires the following packages:

Additionally, the use of the following libraries is recommended:

SuperLU (>= 4.1)

Intel's MKL (>= 10.3)

The term AHMED is an abbreviation for “**A**nother software library on **h**ierarchical **m**atrices for **e**lliptic **d**ifferential equations”. Although the
library is not mandatory its use is highly recommended since it
accelerates the computations of boundary layer potentials
significantly. The AHMED library implements the so-called Adaptive Cross
Approximation (ACA) by what the overall algorithm's complexity can be
reduced to a logarithmic order instead of its originally quadratic
complexity. For non-commercial purpose the library is freely
available. Please contact Prof. Dr. Mario Bebendorf for further details.

The use of the SuperLU and the SuiteSparse package becomes advantageous in situations where decompositions of sparse matrices and/or matrix operations other than a matrix-vector product might be necessary. Those operations usually arise within some preconditioning techniques. Of course, you can use also iterative methods for those tasks, but a direct solver is often more convenient since the sparse matrices are usually an order of magnitude smaller than sparse matrices arising from Finite Element discretisations. Alternatively, if you are using the Intel's Math Kernel Library (MKL) you can interface BETL also with the MKL's built-in direct sparse solver Pardiso. When you intend to use AHMED, linking against the MKL might be also a good idea since the MKL offers a highly optimised BLAS functionality on which the ACA heavily relies.

But no matter whether you intend to use the recommended libraries or not, the building process of BETL is not affected by the recommendations above. Hence, in the following section we will describe the installation process of BETL itself. A detailed description on how the additional libraries can be included will follow later.