Htool – Parallelised hierarchical matrices

Htool is a lightweight header-only C++11 library that provides an easy-to-use interface for parallel matrix compression via hierarchical matrices. Its goal is to provide minimal linear algebra and linear solvers for such matrices.

It also offers a modular framework where one can modify, or add other alternatives, for each part of the compression algorithm (low-rank approximation, clustering and admissibility condition). Via its interface with HPDDM, it is also a flexible tool to test various iterative solvers and preconditioners.

The project is hosted on GitHub, under the permissive MIT license.

C++

Python

Documentation

cpp

python

doc

cpp_cov

python_cov

Projects using Htool

Htool provides distributed compression using hierarchical matrices, which can be used in many situations. In particular, Htool is used for different applications in the following projects:

  • FreeFEM to compress matrices stemming from the discretisation of boundary integral equations,

  • PETSc for black-box compression.

License

Htool is licensed under the terms of the MIT license that can be found in the LICENSE file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.

Authors

If you need help or have questions regarding Htool, feel free to contact the main developers or to leave a report on our GitHub issue tracker!

Developers:

Contributors/Collaborators:

Acknowledgements

Contents

Documentation