HOME

TheInfoList



OR:

In numerical mathematics, hierarchical matrices (H-matrices) are used as data-sparse approximations of non-sparse matrices. While a
sparse matrix In numerical analysis and scientific computing, a sparse matrix or sparse array is a matrix in which most of the elements are zero. There is no strict definition regarding the proportion of zero-value elements for a matrix to qualify as sparse b ...
of dimension n can be represented efficiently in O(n) units of storage by storing only its non-zero entries, a non-sparse matrix would require O(n^2) units of storage, and using this type of matrices for large problems would therefore be prohibitively expensive in terms of storage and computing time. Hierarchical matrices provide an approximation requiring only O(n k\,\log(n)) units of storage, where k is a parameter controlling the accuracy of the approximation. In typical applications, e.g., when discretizing integral equations, preconditioning the resulting systems of linear equations, or solving elliptic partial differential equations, a rank proportional to \log(1/\epsilon)^\gamma with a small constant \gamma is sufficient to ensure an accuracy of \epsilon. Compared to many other data-sparse representations of non-sparse matrices, hierarchical matrices offer a major advantage: the results of matrix arithmetic operations like matrix multiplication, factorization or inversion can be approximated in O(n k^\alpha\,\log(n)^\beta) operations, where \alpha,\beta\in\.


Basic idea

Hierarchical matrices rely on local low-rank approximations: let I,J be index sets, and let G\in^ denote the matrix we have to approximate. In many applications (see above), we can find subsets t\subseteq I,s\subseteq J such that G, _ can be approximated by a rank-k matrix. This approximation can be represented in factorized form G, _\approx A B^* with factors A\in^,B\in^. While the standard representation of the matrix G, _ requires O((\#t)(\#s)) units of storage, the factorized representation requires only O(k(\#t+\#s)) units. If k is not too large, the storage requirements are reduced significantly. In order to approximate the entire matrix G, it is split into a family of submatrices. Large submatrices are stored in factorized representation, while small submatrices are stored in standard representation in order to improve efficiency. Low-rank matrices are closely related to degenerate expansions used in panel clustering and the
fast multipole method __NOTOC__ The fast multipole method (FMM) is a numerical technique that was developed to speed up the calculation of long-ranged forces in the ''n''-body problem. It does this by expanding the system Green's function using a multipole expansion, w ...
to approximate integral operators. In this sense, hierarchical matrices can be considered the algebraic counterparts of these techniques.


Application to integral operators

Hierarchical matrices are successfully used to treat integral equations, e.g., the single and double layer potential operators appearing in the
boundary element method The boundary element method (BEM) is a numerical computational method of solving linear partial differential equations which have been formulated as integral equations (i.e. in ''boundary integral'' form), including fluid mechanics, acoustics, e ...
. A typical operator has the form : x) = \int_\Omega \kappa(x,y) u(y) \,dy. The
Galerkin method In mathematics, in the area of numerical analysis, Galerkin methods, named after the Russian mathematician Boris Galerkin, convert a continuous operator problem, such as a differential equation, commonly in a weak formulation, to a discrete prob ...
leads to matrix entries of the form : g_ = \int_\Omega \int_\Omega \kappa(x,y) \varphi_i(x) \psi_j(y) \,dy\,dx, where (\varphi_i)_ and (\psi_j)_ are families of finite element basis functions. If the kernel function \kappa is sufficiently smooth, we can approximate it by
polynomial interpolation In numerical analysis, polynomial interpolation is the interpolation of a given data set by the polynomial of lowest possible degree that passes through the points of the dataset. Given a set of data points (x_0,y_0), \ldots, (x_n,y_n), with n ...
to obtain : \tilde\kappa(x,y) = \sum_^k \kappa(x,\xi_\nu) \ell_\nu(y), where (\xi_\nu)_^k is the family of interpolation points and (\ell_\nu)_^k is the corresponding family of
Lagrange polynomial In numerical analysis, the Lagrange interpolating polynomial is the unique polynomial of lowest degree that interpolates a given set of data. Given a data set of coordinate pairs (x_j, y_j) with 0 \leq j \leq k, the x_j are called ''nodes'' an ...
s. Replacing \kappa by \tilde\kappa yields an approximation : \tilde g_ = \int_\Omega \int_\Omega \tilde\kappa(x,y) \varphi_i(x) \psi_j(y) \,dy\,dx = \sum_^k \int_\Omega \kappa(x,\xi_\nu) \varphi_i(x) \,dx \int_\Omega \ell_\nu(y) \psi_j(y) \,dy = \sum_^k a_ b_ with the coefficients : a_ = \int_\Omega \kappa(x,\xi_\nu) \varphi_i(x) \,dx, : b_ = \int_\Omega \ell_\nu(y) \psi_j(y) \,dy. If we choose t\subseteq I,s\subseteq J and use the same interpolation points for all i\in t,j\in s, we obtain G, _ \approx A B^*. Obviously, any other approximation separating the variables x and y, e.g., the multipole expansion, would also allow us to split the double integral into two single integrals and thus arrive at a similar factorized low-rank matrix. Of particular interest are cross approximation techniques that use only the entries of the original matrix G to construct a low-rank approximation.


Application to elliptic partial differential equations

Since the solution operator of an elliptic partial differential equation can be expressed as an integral operator involving
Green's function In mathematics, a Green's function is the impulse response of an inhomogeneous linear differential operator defined on a domain with specified initial conditions or boundary conditions. This means that if \operatorname is the linear differenti ...
, it is not surprising that the inverse of the stiffness matrix arising from the
finite element method The finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat ...
and spectral method can be approximated by a hierarchical matrix. Green's function depends on the shape of the computational domain, therefore it is usually not known. Nevertheless, approximate arithmetic operations can be employed to compute an approximate inverse without knowing the function explicitly. Surprisingly, it is possible to prove that the inverse can be approximated even if the differential operator involves non-smooth coefficients and Green's function is therefore not smooth.


Arithmetic operations

The most important innovation of the hierarchical matrix method is the development of efficient algorithms for performing (approximate) matrix arithmetic operations on non-sparse matrices, e.g., to compute approximate inverses,
LU decomposition In numerical analysis and linear algebra, lower–upper (LU) decomposition or factorization factors a matrix as the product of a lower triangular matrix and an upper triangular matrix (see matrix decomposition). The product sometimes includes a ...
s and solutions to matrix equations. The central algorithm is the efficient matrix-matrix multiplication, i.e., the computation of Z = Z + \alpha X Y for hierarchical matrices X,Y,Z and a scalar factor \alpha. The algorithm requires the submatrices of the hierarchical matrices to be organized in a block tree structure and takes advantage of the properties of factorized low-rank matrices to compute the updated Z in O(n k^2\,\log(n)^2) operations. Taking advantage of the block structure, the inverse can be computed by using recursion to compute inverses and
Schur complement In linear algebra and the theory of matrices, the Schur complement of a block matrix is defined as follows. Suppose ''p'', ''q'' are nonnegative integers, and suppose ''A'', ''B'', ''C'', ''D'' are respectively ''p'' × ''p'', ''p'' × ''q'', ''q'' ...
s of diagonal blocks and combining both using the matrix-matrix multiplication. In a similar way, the
LU decomposition In numerical analysis and linear algebra, lower–upper (LU) decomposition or factorization factors a matrix as the product of a lower triangular matrix and an upper triangular matrix (see matrix decomposition). The product sometimes includes a ...
can be constructed using only recursion and multiplication. Both operations also require O(n k^2\,\log(n)^2) operations.


H2-matrices

In order to treat very large problems, the structure of hierarchical matrices can be improved: H2-matrices replace the general low-rank structure of the blocks by a hierarchical representation closely related to the
fast multipole method __NOTOC__ The fast multipole method (FMM) is a numerical technique that was developed to speed up the calculation of long-ranged forces in the ''n''-body problem. It does this by expanding the system Green's function using a multipole expansion, w ...
in order to reduce the storage complexity to O(n k). In the context of boundary integral operators, replacing the fixed rank k by block-dependent ranks leads to approximations that preserve the rate of convergence of the underlying boundary element method at a complexity of O(n). Arithmetic operations like multiplication, inversion, and Cholesky or LR factorization of H2-matrices can be implemented based on two fundamental operations: the matrix-vector multiplication with submatrices and the low-rank update of submatrices. While the matrix-vector multiplication is straightforward, implementing efficient low-rank updates with adaptively optimized cluster bases poses a significant challenge.


Literature


Software


HLib
is a C software library implementing the most important algorithms for hierarchical and {\mathcal H}^2-matrices.
AHMED
is a C++ software library that can be downloaded for educational purposes.
HLIBpro
is an implementation of the core hierarchical matrix algorithms for commercial applications.
H2Lib
is an open source implementation of hierarchical matrix algorithms intended for research and teaching.
awesome-hierarchical-matrices
is a repository containing a list of other H-Matrices implementations.
HierarchicalMatrices.jl
is a Julia package implementing hierarchical matrices. Matrices