Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Hierarchical matrix toolbox


The hm-toolbox is a toolbox implementing the arithmetic of HODLR and HSS matrices in MATLAB.

The HODLR case is handled in the @hodlr class, and correspond to H-matrices with partitioning recursively done in 2 x 2 blocks, where the off-diagonal blocks are of low-rank. The HSS arithmetic uses the same partitioning (with nested bases), and is available through the @hss class.

Routines to compute matrix functions [1] and to solve matrix equations are included [1,2].

Installation instructions

To install the toolbox download the latest revision from Github by running

 git clone

or downloading the ZIP file from the webpage Rename the folder to hm-toolbox if needed. Then, add it to your MATLAB path by running

 >> addpath /path/to/hm-toolbox

You are now ready to create new @hodlr and @hss objects. Check some examples in the examples/ folder.

Octave compatibility

The toolbox is compatible with GNU Octave >= 4.4. The easiest way to get a recent version of Octave on Linux is to enable Flatpak following the instructions here, and then run the command

 flatpak install flathub org.octave.Octave

You can then run Octave from the menu or by typing flatpak run org.octave.Octave in a terminal. Some functions require dependencies found in additional packages, namely octave-control (for the solvers of Lyapunov and Sylvester equations) and octave-statistics (for the ACA code that is used inside the HODLR handle constructor).


  1. Massei, S., Palitta, D., & Robol, L. (2018). Solving Rank-Structured Sylvester and Lyapunov Equations. SIAM Journal on Matrix Analysis and Applications, 39(4), 1564-1590.
  2. Kressner, D., Massei, S., & Robol, L. (2019). Low-rank updates and a divide-and-conquer method for linear matrix equations. SIAM Journal on Scientific Computing 41 (2), A848-A876.
  3. Massei, S., Robol, L., & Kressner, D. (2020). hm-toolbox: MATLAB Software for HODLR and HSS Matrices. SIAM Journal on Scientific Computing, 42(2), C43-C68.


Toolbox for HODLR and HSS matrices in MATLAB







No releases published


No packages published

Contributors 4