Hierarchical Matrices

HLib Package

What is HLib?

HLib is a program library for hierarchical matrices and H2-matrices. It provides

  • routines for the construction of hierarchical matrix structures (i.e., of cluster trees, block cluster trees, low-rank matrices and block matrices),
  • discretization functions that fill these structures by approximations of FEM or BEM operators,
  • arithmetic algorithms that perform approximative matrix operations like addition, multiplication, factorizations and inversion,
  • conversion routines that turn sparse matrices and dense matrices into H-matrices and H-matrices or H2-matrices into H2-matrices and
  • service functions that display matrix structures, perform numerical quadrature or handle files.


The library is written in the C programming language and requires BLAS and LAPACK to perform lower-level algebraic operations (like performing dense matrix-matrix multiplications or solving eigenvalue problems).
On Unix-type systems, we use Autoconf, Automake and Libtool in order to provide the user with a fully automatic build process.
If GTK+, OpenGL and GTKGLArea are installed, a visualization program for surface meshes and cluster trees is provided that can be quite useful for debugging BEM applications. We are currently working on a comprehensive GUI that will offer the more interesting functions of the library.


Since HLib was developed (at least partially) at the Max-Planck-Institut Leipzig, we cannot use an open source license and turn it into free software. But we can give it away for free to scientist interested in doing research if they sign an appropriate license agreement.

Steffen Börm and Lars Grasedyck
Max-Planck-Institut für Mathematik in den Naturwissenschaften
Inselstrasse 22-26, 04103 Leipzig, Germany

Valid HTML 4.01