Welcome to HODLR3Dlib’s Documentation!
About \(\texttt{HODLR3Dlib}\):
HODLR3D (Hierarchical Off Diagonal Low Rank 3D) is a new class of Hierarchical matrix representation for matrices arising out of N-body problems in 3D.
\(\texttt{HODLR3Dlib}\) is a library to compute fast matrix-vector products using HODLR3D.
It relies on the fact that certain off-diagonal blocks in the matrix can be well-approximated by low-rank matrices.
The domain has been hierarchically partitioned using a uniform oct-tree.
The low-rank approximation of the appropriate blocks is obtained using ACA.
The code is written in C++ and features an easy-to-use interface, where the user provides the following inputs:
a
kernelobject which abstracts data of the matrix through a member functiongetMatrixEntry(int i, int j)which returns the entry at the \(i^{\mathrm{th}}\) row and \(j^{\mathrm{th}}\) column of the matrix.locations of nodes in the domain through a std::vector
particlesthe vector
bto be multiplied to the matrix
It obtains \(A x\) in almost linear complexity.
Doc Contents
Contents:
- Installation and Building
- Tutorial
- Benchmarks
- Reproducibility
- Numerical rank for different kernels
- Numerical benchmarks of HODLR3D matrix-vector product in comparison with those of HODLR and \(\mathcal{H}\) matrix-vector products for the kernel \(\frac{1}{r}\)
- Numerical benchmarks of HODLR3D matrix-vector product in comparison with those of HODLR and \(\mathcal{H}\) matrix-vector products for the kernel \(\frac{1}{r^4}\)
- Numerical benchmarks of HODLR3D matrix-vector product in comparison with those of HODLR and \(\mathcal{H}\) matrix-vector products for the kernel \(\frac{cos(r)}{r}\)
- Numerical benchmarks of the HODLR3D accelerated iterative solver for the integral equation in comparison with those of HODLR and \(\mathcal{H}\)
- Numerical benchmarks of parallel HODLR3D matrix-vector product using MPI
- Various interactions in 3D and their ranks
Other Links
Learn more about \(\texttt{HODLR3Dlib}\) by visiting the
Code Repository: https://github.com/SAFRAN-LAB/HODLR3D
Documentation: https://hodlr3d.readthedocs.io/en/latest/