For the building ofH-matrices it is very convenient to use a tree structure for search- ing the appropriate block decomposition. The index set I was defined for the basis functions in (2.4.6). The vector blocks inCI are provided from the cluster treesT(I). The block cluster treeT(I×I)produces all sizes of different matrix blocks.
5.2.1 Cluster Trees
The different partitions of the index set I into disjoint subsets are described by the tree T(I). The set of these partitions is called cluster trees. The elements of the partitions are named vertices. The clusters are denoted by τ or σ. τ is a leaf, if τ cannot be decomposed. The set of leaves is represented by L(T(I)). On the other hand, ifτis decomposed into subsetsτ1,· · · ,τs, they are called sons ofτ. The set of sons is denoted by
S(τ) ={τ1,· · · ,τs}.
The following conditions are required:
I = root(T(I)), τ6=∅ for allτ∈ T(I), #S(τ)>1 and
[
σ∈S(τ)
σ =τdisjoint union for all τ∈ T(I)/L(T(I)).
A conclusion is thatτ⊂ I holds for allτ∈ T(I).
A recommendation for practical purpose is to avoid blocks too small. One fixes somenmin∈Nand requires
#τ≤nmin if and only if τ∈ L(T(I)).
Each index ν ∈ I associated with the basis functions bν in the subspace Vgh, the
support of these functions is denoted by
Ων:=supp(bν) ν∈ I.
The generalisation ofΩν for the clusterτ∈ T(I)is given by Ωτ :=
[
ν∈τ
Ων, τ∈T(I). (5.2.1)
Dealing with the supports to construct a cluster tree is very difficult. It is more convenient to use the nodal points. Each indexν∈ I is connected with a nodal point ξν ∈ R3. For the construction, it is considered a correspondence between a subset
τ⊂ I and a set of nodal points as
5.2H-Matrices Construction 55
One considers 3-dimensional cuboids as
Q= [a1,b1]×[a2,b2]×[a3,b3],
that contains Xτ. The bounding box of Xτ is the smallest cuboid Qwhere Xτ ⊂ Q
and it is denoted by
Qmin(Xτ).
Let ξν,µ denote the components of ξν ∈ Xτ with 1 ≤ µ ≤ 3. Then, Qmin(Xτ) = [a1,b1]×[a2,b2]×[a3,b3]holds withaµ:=minν∈τ{ξν,µ}andbµ :=maxν∈τ{ξν,µ}.
A binary cluster tree can be built by using the following steps: (a) Letτ:= I be the root to whichQI :=Qmin(XI)is associated.
(b) The boxQτ is split into two boxesQ1τ andQ
2
τ generating two subsets of clusters
represented by τk := {i∈ τ;ξi ∈ Qkτ}fork =1, 2. The clustersτk are the sons of
τand are used for the decomposition at step (b). The subboxesQkτ have to satisfy
Xτk ⊂Qτk ⊂Q
k τ.
(c) The decomposition process is carried out until the condition #τ≤nminis fulfilled.
For a regular geometric partition which is the case using a 3D image, the Regular Geometric Bisection method is used to determine Qk
τ andτk. LetQτ be the box with
Qτ = [a1,b1]×[a2,b2]×[a3,b3]. Let jbe an index that corresponds to the largest side lengthbj−aj and the setmj := aj
−bj
2 . The division of the boxQτ is as follows:
Q1τ := [a1,b1]× · · ·[aj,mj]× · · · ×[a3,b3],
Q2τ := [a1,b1]× · · ·(mj,bj]× · · · ×[a3,b3] and the set Qτk := Q
k
τ for k = 1, 2. After the l steps of the decomposition process,
all boxes are similar and their volumes are defined by Vol(Qτ) := 2−l(QI). For the
case whereXτ is completely contained inQ1τ, thenτ1:=τandτ2:=∅hold. For this
situation,τ2 is not considered as a son andτhas only one sonτ1=τ.
5.2.2 Block Cluster Tree
The rows and columns of matrices inCI×I correspond to the product index setI×I. The construction of the block decomposition of I× I is the tree T(I×I) which is called block cluster tree. This is obtained from the product of cluster tree T(I).
Definition 5.2.1 (Block cluster tree). Let T(I)be a cluster tree with the index set I. A block cluster tree is built as follows
(a) I×I is the root.
56 Hierarchical Matrices Xτ Xσ σ diam(X ) τ diam(X ) σ τ dist(X ,X )
Figure 5.2.1: SupportsXτ andXσ. Image after Hackbusch [2015].
(1b) The set of sons of b=τ×σis defined by
S(b):=
(
∅ if ST(I)(τ) =∅or ST(I)(σ) =∅,
{τ0×
σ0 :τ0 ∈ST(I)(τ),σ0 ∈ST(I)(σ)} otherwise.
(2b) Apply recursively (1,2b) to all sons of (b) if S(b)6=∅.
Let T(I×I)be a block cluster tree. LetP be a set of blocksb⊂ I×I. Pis called the block partition or the partition of I×I if
P⊂T(I×I), for allb,b0 ∈ Pwithb6=b0 ⇒b∩b0 =∅,
[
b∈P
b= I×I.
5.2.3 Admissible Blocks
In order to construct an optimal partition, the admissibility condition should be sat- isfied. This is used to define a balance between the storage requirement of an H- matrix and its approximation. This is also utilised to determine the blocks that can be approximated by low rank matrices.
The set of nodal points in (5.2.2) is redefined as
Xτ := [
ν∈τ
Xν⊂R3. (5.2.3)
The diameter of the cluster and the distance between two clusters can be defined by
diam(τ):=max{kx0−x00k:x0,x00 ∈ Xτ}, τ∈ I, (5.2.4a)
dist(τ,σ):=min{kx−yk: x∈ Xτ,y∈ Xσ}, τ,σ⊂ I. (5.2.4b)
Definition 5.2.2(η-admissibility of a block). Letτandσbe clusters withτ,σ ⊂ I which
are associated with the support Xτ and Xσ. Then the block b =τ×σis called η-admissible
if
min{diam(τ),diam(σ)} ≤ηdist(τ,σ), (5.2.5)