You are on page 1of 80

Aufwandsabsch¨tzungen a fur H-Matrizen ¨ bei nicht ausgeglichenen Cluster-B¨umen a

Diplomarbeit von Achim Abeling

am Institut f¨r Informatik und Praktische Mathematik u der Christian-Albrechts-Universit¨t zu Kiel a Prof. Dr. W. Hackbusch

Kiel 2000

Inhaltsverzeichnis
1 Einfuhrung ¨ 4

2 Hierarchische H-Matrizen zur Approximation von Integraloperatoren 6 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Der H-Baum . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Block-Cluster-Baum . . . . . . . . . . . . . . . . . . . . . Zul¨ssige Partitionierungen . . . . . . . . . . . . . . . . . . . . a 6 8 9

H-Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Rk-Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 H-Matrix-Arithmetik . . . . . . . . . . . . . . . . . . . . . . . 13 Diskretisierung von Integraloperatoren . . . . . . . . . . . . . 15 21

3 Aufwandsmaße fur H-Matrizen ¨ 3.1 3.2

Ein Cluster-Baum-Maß . . . . . . . . . . . . . . . . . . . . . . 22 Ein Block-Cluster-Baum-Maß . . . . . . . . . . . . . . . . . . 25 30

4 Modellprobleme 4.1 4.2 4.3 4.4

Das eindimensionale Modellproblem . . . . . . . . . . . . . . . 30 Das zweidimensionale Modellproblem . . . . . . . . . . . . . . 33 J-level-mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Polynomiell graduierte Intervallunterteilung . . . . . . . . . . 38 39

5 Numerische Ergebnisse 5.1 5.2 5.3

Zur Messung des Aufwandes . . . . . . . . . . . . . . . . . . . 39 Zur K¨rzung der Matrizen . . . . . . . . . . . . . . . . . . . . 39 u Numerische Ergebnisse zum eindimensionalen Modellproblem I 40 5.3.1 5.3.2 5.3.3 Das Verhalten der Maße . . . . . . . . . . . . . . . . . 41 Das Verhalten des Speicheraufwandes . . . . . . . . . . 42 Das Verhalten des Aufwandes der Matrix-VektorMultiplikation . . . . . . . . . . . . . . . . . . . . . . . 43

1

5.3.4 5.4

Das Verhalten des Aufwandes f¨r die Matrix-Matrixu Multiplikation . . . . . . . . . . . . . . . . . . . . . . . 45 Das Verhalten der Maße . . . . . . . . . . . . . . . . . 48 Das Verhalten des Speicheraufwandes . . . . . . . . . . 50 Das Verhalten des Aufwandes der Matrix-MatrixMultiplikation . . . . . . . . . . . . . . . . . . . . . . . 50

Numerische Ergebnisse zum eindimensionalen Modellproblem II 48 5.4.1 5.4.2 5.4.3

5.5 5.6

Numerische Ergebnisse zum eindimensionalen Modellproblem III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Numerische Ergebnisse zum zweidimensionalen Modellproblem 55 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 Das Verhalten der Maße . . . . . . . . . . . . . . . . . 56 Das Verhalten des Speicheraufwandes . . . . . . . . . . 58 Das Verhalten des Aufwandes der Matrix-VektorMultiplikation . . . . . . . . . . . . . . . . . . . . . . . 59 Das Verhalten des Aufwandes der Matrix-MatrixMultiplikation . . . . . . . . . . . . . . . . . . . . . . . 60 Das Verhalten des Aufwandes der Inversion . . . . . . 61 62 64 69

6 Beurteilung der numerische Ergebnisse 7 Anwendung der Maße 8 Zusammenfassung

A Algorithmus zur Berechnung eines balancierten ClusterBaums 71 B Kurzung einer H-Matrix auf eine Rk-Matrix ¨ 73

2

Abbildungsverzeichnis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Verhalten der Maße (1D,I) . . . . . . . . . . . . . . . . . . . . 41 Verhalten des Speicheraufwandes (1D,I) . . . . . . . . . . . . . 43 Verhalten des Aufwandes der Matrix-Vektor-Multiplikation und Absch¨tzung mit MBCT (1D,I) . . . . . . . . . . . . . . . 44 a Verhalten des Aufwandes der Matrix-Vektor-Multiplikation und Absch¨tzung mit MCT (1D,I) . . . . . . . . . . . . . . . . 45 a Verhalten des Aufwandes einer Matrix-Matrix-Multiplikation und Absch¨tzungen (1D,I) . . . . . . . . . . . . . . . . . . . . 46 a Verhalten der Maße (1D,II) . . . . . . . . . . . . . . . . . . . 48 Verhalten der Quotienten (1D,II) . . . . . . . . . . . . . . . . 49 Verhalten des Speicheraufwandes (1D,II) . . . . . . . . . . . . 51 Verhalten des Aufwandes der Matrix-Matrix-Multiplikation (1D,II) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Verhalten des Aufwandes der Matrix-Matrix-Multiplikation (1D,III) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Verhalten der Maße (2D) . . . . . . . . . . . . . . . . . . . . . 56 Verhalten der Quotienten (2D) . . . . . . . . . . . . . . . . . . 57 Verhalten des Speicheraufwandes (2D) . . . . . . . . . . . . . 58 Verhalten des Aufwandes der Matrix-Vektor-Multiplikation (2D) 59 Verhalten des Aufwandes der Matrix-Matrix-Multiplikation (2D) 60 Verhalten des Aufwandes der Matrix-Inversion . . . . . . . . . 61 Anwendung eines Maßes . . . . . . . . . . . . . . . . . . . . . 64

3

1. Einf¨hrung u

4

1

Einfuhrung ¨

Die vorliegende Diplomarbeit untersucht das Komplexit¨tsverhalten von Ha Matrizen, deren Grundlagen in [6] eingef¨hrt wurden. H-Matrizen k¨nnen u o benutzt werden, um vollbesetzte Matrizen, wie sie bei Integraloperatoren oder bei der Inversion von Matrizen zu elliptischen Randwertaufgaben entstehen, zu approximieren. In [6] wurde eine Arithmetik auf der Klasse der H-Matrizen definiert, die es erlaubt, Matrix-Vektor-Multiplikationen, Matrix-Matrix-Multiplikationen und Inversionen mit fast linearem Aufwand1 bez¨glich der Matrixgr¨ße n durchzuf¨hren. Der Speicheraufwand f¨r diese u o u u Matrizen ist ebenfalls fast linear. Die Definition der H-Matrizen beruht auf einer hierarchischen Unterteilung der dem Integraloperator bzw. Differentialoperator zugrunde liegenden Oberfl¨che in große und kleine Teilgebiete. Diese Partitionierung kann als Clustera Baum dargestellt werden, welcher schon bei der Panel-Clustering-Methode in [10] eingef¨hrt wurde. Die Komplexit¨t einer H-Matrix ist dann abh¨ngig u a a von der ,,Ausgeglichenheit” des Cluster-Baumes, zum Beispiel in dem Sinne, daß alle Unterb¨ume eines Knotens die gleiche Anzahl von Bl¨ttern haben2 . a a Bei ausgeglichenen Cluster-B¨umen erreicht man die erw¨hnte fast lineare a a Komplexit¨t, im ung¨nstigen Fall verschlechtert sich die Komplexit¨t aber a u a zu O(n2 ) bei Speicherung und Matrix-Vektor-Multiplikation sowie O(n3 ) im Falle von Matrix-Matrix-Multiplikation und Inversion. Nicht-ausgeglichene Cluster-B¨ume k¨nnen nach einem Verfeinerungsschritt a o bei adaptiven Verfahren, bei denen H-Matrizen eingesetzt werden, entstehen. Eine M¨glichkeit, die optimale Komplexit¨t f¨r den n¨chsten Recheno a u a schritt im adaptiven Verfahren zu erreichen, w¨re, einen neuen ausgeglichea nen Cluster-Baum und demzufolge auch eine neue H-Matrix zu berechnen. Eine andere M¨glichkeit w¨re, die schon existierende H-Matrix, welche zu der o a nicht verfeinerten Oberfl¨che aus dem vorherigen Rechenschritt geh¨rt, enta o ¨ sprechend dem neuen Cluster-Baum abzu¨ndern. Diese Anderung hat einen a geringeren Rechenaufwand als eine Neuberechnung der H-Matrix, damit ist aber auch eine schlechtere Komplexit¨t der Arithmetik und Speicherung vera bunden. Zur Absch¨tzung der H-Matrix-Komplexit¨t werden in dieser Arbeit zwei a a Maße f¨r die ,,Ausgeglichenheit” einer H-Matrix eingef¨hrt. Damit wird es u u
Linear bis auf einen logarithmischen Faktor logk n. Es sind aber auch andere Definitionen von ,,Ausgeglichenheit” denkbar, die aber zu gleichen Komplexit¨ten f¨hren. a u
1 2

4

1. Einf¨hrung u

5

m¨glich, eine Entscheidung dar¨ber zu treffen, ob eine Neuberechnung des o u Cluster-Baumes und damit der H-Matrix f¨r den Gesamtaufwand eines adu aptiven Verfahrens g¨nstiger ist, als das Rechnen mit einer Matrix zu einem u nicht ausgeglichenen Cluster-Baum.

5

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren

6

2

Hierarchische H-Matrizen zur Approximation von Integraloperatoren

Im folgenden werden die Begriffe zur Definition von H-Matrizen, der Notation aus [6] folgend, gegeben. Schließlich wird erl¨utert, wie man H-Matrizen zur a Approximation von Diskretisierungen von Integraloperatoren verwendet.

2.1

Der H-Baum

Zur Definition des H-Baumes werden zuvor einige Begriffe aus der Graphentheorie eingef¨hrt. u Ein Baum ist ein gerichteter Graph T = (K, S) mit Knotenmenge K und Nachfolgerrelation S ⊆ K × K, wobei (i) genau ein Knoten r ∈ K, die Wurzel, keinen Vorg¨nger hat, a (ii) alle anderen Knoten genau einen Vorg¨nger haben und a (iii) es keine Kreise {x0 , x1 , . . . , xn = x0 } mit (xi , xi+1 ) ∈ S f¨r 0 ≤ i < n u gibt. Hierbei heißt x ∈ K Vorg¨nger von y ∈ K, falls (x, y) ∈ S. Ein Knoten ohne a Nachfolger heißt Blatt. Ist T = (K, S) ein Baum, so schreibt man auch t ∈ T , falls t ∈ K. Mit S(t) := {s ∈ T : (t, s) ∈ S} bezeichnet man die Menge der S¨hne eines Knotens t ∈ T und mit nt die o Anzahl der S¨hne von t. o Die Menge der Bl¨tter eines Baumes T wird dann mit a L(T ) := {t ∈ T : S(t) = ∅} bezeichnet. Ist K ′ ⊆ K, so ist T ′ = (K ′ , S ∩ (K ′ × K ′ )) Teilbaum von T , falls T ′ selber ein Baum ist.

6

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 2.1. Der H-Baum

7

Definition 2.1 Sei I eine endliche Indexmenge. Ein Baum T heißt H-Baum (zu I), falls gilt: (i) I ∈ T (ii) Falls t ∈ T kein Blatt ist, so ist t disjunkte Vereinigung seiner S¨hne: o t =
s∈S(t)

s.

Es folgt, daß I die Wurzel des Baumes T ist und daß t ⊆ I f¨r alle t ∈ T gilt. u Die Teilmengen t ⊆ I, die Knoten von T sind, werden als Cluster bezeichnet, weswegen der Baum T auch Cluster-Baum genannt wird. Beispiel 2.2 Sei I = {1, 2, 3, 4, 5, 6, 7, 8}. Dann ist {1, 2, 3, 4, 5, 6, 7, 8}
✘ ✘✘ ✘✘✘ ✘❳❳ ❳❳❳ ❳❳ ✟✟❍❍ ❍ ❍

{1, 2, 3, 4}
✟ ✟ ✟ ✟❍❍ ❍ ❍

{5, 6, 7, 8}
✟ ✟

{1, 2}
 ❅   ❅

{3, 4}
 ❅   ❅

{5, 6}
 ❅   ❅

{7, 8}
 ❅   ❅

{1}

{2}

{3}

{4}

{5}

{6}

{7}

{8}

ein H-Baum zu I. Betrachtet man einen Teilbaum T ′ von T , welcher die Eigenschaft hat, H-Baum zu sein, so bildet die Menge der Bl¨tter von T ′ a P := L(T ′ ). eine Partitionierung von I der Art I= .
k j=1 Ij

(2.1)

und Ii ∩ Ij = ∅ f¨r alle i = j. u

Eine solche Partitionierung wird H- oder T -Partitionierung genannt, und die Menge all dieser Partitionierungen heißt P(T ) := {L(T ′ ) : T ′ ⊆ T und T ′ ist H-Baum}. Die Inklusionsordnung auf der Menge der H-B¨ume erlaubt die Definition a einer partiellen Ordnung auf P(T ):

7

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 2.2. Der Block-Cluster-Baum

8

Definition 2.3 Seien T1 und T2 Teilb¨ume von T und H-B¨ume. Seien fera a ner P1 := L(T1 ), P2 := L(T2 ) ∈ P(T ). Die Partitionierung P1 heißt gr¨ber o (feiner ) als P2 , falls T1 ⊆ T2 (T2 ⊆ T1 ) gilt. Sp¨ter wird jedes Element i ∈ I mit einer Koordinate xi ∈ d oder mit einer a Teilmenge Xi ⊆ d (d = 1, 2, 3) assoziiert. Daraus ergeben sich Definitionen f¨r den Durchmesser eines Clusters und den Abstand zwischen zwei Clustern: u

Ê

Ê

Definition 2.4 Sei t ∈ T ein Cluster. Dann ist diam(t) := max |xi − xj |
i,j∈t i∈t

bzw. mit X(t) := diam(t) :=

Xi

x,y∈X(t)

max |x − y|

der Durchmesser von t. Ist s ∈ T ein weiteres Cluster, so ist dist(s, t) := min |xi − xj |
i∈s,j∈t

bzw. dist(s, t) :=
x∈X(s),y∈X(t)

min

|x − y|

der Abstand zwischen s und t. Nat¨rlich kann man die Knoten des Cluster-Baums auch gleich als Menu gen von Koordinaten oder als Mengen von Teilmengen von d ansehen anstatt als Mengen von Indizes. Dies vereinfacht zum Beispiel die Betrachtung von Cluster-B¨umen im Falle der Verfeinerung. In Abschnitt 4.3 wird diese a M¨glichkeit verwendet. o

Ê

2.2

Der Block-Cluster-Baum

Ebenso wie f¨r die Indexmenge I kann man einen Cluster-Baum f¨r die u u Menge I × I aufstellen, welcher Block-Cluster-Baum genannt und mit T2 = T (I × I) bezeichnet wird. Konstruktion 2.5 gibt an, wie ein Block-ClusterBaum zu einem Cluster-Baum T erzeugt wird: Konstruktion 2.5 Sei T = T (I) ein Cluster-Baum. Der Block-ClusterBaum T2 = T (I × I) ist rekursiv definiert durch:

8

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 2.3. Zul¨ssige Partitionierungen a (i) Die Wurzel von T2 ist I × I. (ii) Der Knoten t = (t1 , t2 ) ∈ T2 hat genau die S¨hne o

9

(a) (s1 , s2 ) mit s1 ∈ S(t1 ) und s2 ∈ S(t2 ), falls S(t1 ) = ∅ und S(t2 ) = ∅. (b) (s1 , t2 ) mit s1 ∈ S(t1 ), falls S(t1 ) = ∅ und S(t2 ) = ∅. (c) (t1 , s2 ) mit s2 ∈ S(t2 ), falls S(t1 ) = ∅ und S(t2 ) = ∅. Ein so konstruierter Block-Cluster-Baum T2 ist offensichtlich ein H-Baum ′ ′ und P = L(T2 ) mit T2 Teilbaum von T2 und H-Baum somit eine H-Partitionierung oder T2 -Partitionierung. Die Menge der S¨hne eines Knoo tens t des Block-Cluster-Baums wird im folgenden mit S2 (t) bezeichnet. Man kann eine zweite Konstruktion angeben, mit der gew¨hrleistet ist, daß a die Cluster t1 , t2 eines Cluster-Blocks t nicht zu unterschiedliche Durchmesser haben: Konstruktion 2.6 Sei T = T (I) ein Cluster-Baum. Der Block-ClusterBaum T2 = T (I × I) ist rekursiv definiert durch: (i) Die Wurzel von T2 ist I × I. (ii) Der Knoten t = (t1 , t2 ) ∈ T2 hat genau die S¨hne o (a) (s1 , t2 ) mit s1 ∈ S(t1 ), falls S(t2 ) = ∅ oder diam(t1 ) ≥ diam(t2 ), vorausgesetzt, daß S(t1 ) = ∅. (b) (t1 , s2 ) mit s2 ∈ S(t2 ), falls S(t1 ) = ∅ oder diam(t1 ) < diam(t2 ), vorausgesetzt, daß S(t2 ) = ∅. Anstatt des Zieles diam(t1 ) ≈ diam(t2 ) kann man auch andere M¨glichkeiten o w¨hlen, wie zum Beispiel |t1 | ≈ |t2 |, damit die Cluster eine ¨hnliche Anzahl a a von Indizes beinhalten.

2.3

Zul¨ssige Partitionierungen a

H-Matrizen basieren, wie in §2.4 noch definiert werden wird, auf Partitionierungen von I × I. Um Integraloperatoren durch H-Matrizen gen¨gend genau u approximieren zu k¨nnen, ben¨tigt man Partitionierungen, die eine Zul¨ssigo o a keitsbedingung erf¨llen, welche in diesem Abschnitt eingef¨hrt werden wird. u u

9

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 10 2.3. Zul¨ssige Partitionierungen a Zun¨chst ben¨tigt man die a o Definition 2.7 Ein Block t = (t1 , t2 ) ∈ T2 heißt zul¨ssig, falls t ein Blatt ist a oder min{diam(t1 ), diam(t2 )} ≤ 2η dist(t1 , t2 ) gilt, wobei η < 1 eine Konstante ist, die sp¨ter festgelegt werden wird. a Damit erh¨lt man die a Definition 2.8 Eine T2 -Partitionierung P von I × I heißt zul¨ssige Partia tionierung, falls alle Bl¨cke t ∈ P zul¨ssig sind. o a Offensichtlich ist P = L(T2 ) eine zul¨ssige Partitionierung von I × I, da alle a Bl¨cke t ∈ P Bl¨tter von T2 sind. o a Bemerkung 2.9 Seien T ′ und T ′′ Teilb¨ume von T2 und H-B¨ume. Seia a ′ ′ ′′ ′′ en ferner P = L(T ) und P = L(T ) zwei verschiedene zul¨ssige T2 a ′ ′′ Partitionierungen. Dann liefert T ∩ T eine zul¨ssige T2 -Partitionierung a P = L(T ′ ∩ T ′′ ), die im Sinne von Definition 2.3 gr¨ber ist als P ′ und P ′′ o ′ ′′ und es gilt |P | ≤ min{|P |, |P |} f¨r die Anzahl der Bl¨cke von P . u o ✷ Diese Bemerkung erlaubt die Definition einer minimalen zul¨ssigen Partitioa nierung: Definition 2.10 Die minimale zul¨ssige T2 -Partitionierung ist diejenige mit a der kleinsten Anzahl von Bl¨cken. o Definition 2.11 Die minimale zul¨ssige Partitionierung erh¨lt man durch a a Aufruf der folgenden rekursiv definierten Funktion Φ, die in Abh¨ngigkeit a eines Blocks t = (t1 , t2 ) ∈ T2 eine minimal zul¨ssige Partitionierung von a t1 × t2 berechnet, mit Pmin := Φ(I × I):   {t}    (2.2)

, falls t = (t1 , t2 ) zul¨ssiger Block oder Blatt ist, a Φ(s) , sonst.

Φ(t) :=

s∈S2 (t)

10

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 11 2.4. H-Matrizen

2.4

H-Matrizen

H-Matrizen basieren auf Partitionierungen P2 von I ×I. In der Praxis werden aber nur T2 -Partitionierungen verwendet werden. Ist M = (mij )(i,j)∈I×I eine Matrix, so beschreibt M b = (mij )(i,j)∈b einen Block der Matrix f¨r ein b ∈ P2 . u Definition 2.12 Sei P2 eine Partitionierung von I × I und k ∈ . Sei der dem Vektorraum der Matrizen zugrunde liegende K¨rper. Die Menge der o durch P2 induzierten H-Matrizen ist MH,k (I × I, P2 ) := {M ∈

Æ

Ã

Ã

I×I

: f¨r alle b ∈ P2 gilt Rang(M b ) ≤ k}. u

Eine Matrix A mit Rang(A) ≤ k heißt Rk-Matrix. Die Eigenschaften dieser Matrizen sind im folgenden Abschnitt zusammengefaßt. Anstatt f¨r jeden u Block b ∈ P2 einen festen Rang k zuzulassen, kann der Rang auch mit jedem Block variieren. Zur Vereinfachung gehen wir aber im weiteren davon aus, daß k fest gew¨hlt ist. a Die durch T2 -Partitionierungen induzierten H-Matrizen haben ein dem zur Partitionierung geh¨renden Block-Cluster-Baum T2 entsprechendes rekursiv o aufgebautes Blockformat. Jedem Cluster-Block t = (t1 , t2 ) ∈ T2 entspricht dabei eine Matrix A nach folgenden Regeln: (i) Ist t ein Blatt des Block-Cluster-Baumes, so ist A eine herk¨mmliche o vollbesetzte Matrix oder eine Rk-Matrix. (ii) Ist t kein Blatt, so bilden die S¨hne von t eine Partitionierung von t1 ×t2 . o A ist dann eine Matrix, deren Bl¨cke den S¨hnen von t entsprechen. o o Die Blockstruktur ergibt sich aus der nat¨rlichen Anordnung der S¨hne u o von t. Ist zum Beispiel t ein Cluster-Block mit den S¨hnen (ti , tj ) mit o 1 2 1 ≤ i ≤ n und 1 ≤ j ≤ m, wobei ti S¨hne des Clusters t1 und tj S¨hne o 2 o 1 des Clusters t2 sind, so hat die Matrix A eine n × m-Blockstruktur und der Block Aij entspricht dem Cluster-Block (ti , tj ). 1 2

2.5

Rk-Matrizen

Jede n × m-Matrix A mit Rang(A) ≤ k kann dargestellt werden durch
k

A = mit aj ∈

aj b T j
j=1 n

Ê

und bj ∈

Ê

m

f¨r 1 ≤ j ≤ k. u

11

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 12 2.5. Rk-Matrizen Bemerkung 2.13 Rk-Matrizen haben folgende Eigenschaften: (i) Der Speicheraufwand betr¨gt k(n + m). a (ii) Eine Rk-Matrix-Vektor-Multiplikation ben¨tigt k(2m+n−1)+n(k−1) o Operationen. (iii) Rk-Matrizen haben Rechts- und Linksidealeigenschaft, d.h. Multiplikation von rechts oder links mit einer beliebigen Matrix ergibt eine Rk-Matrix.
k T ′ (iv) Ist A = j=1 aj bj eine Rk-Matrix und A eine Untermatrix von A, so ist A′ wiederum eine Rk-Matrix k a′ j b′ T mit den Unterbl¨cken o j j=1 ′ ′ aj , bj von aj und bj , 1 ≤ j ≤ k.

Beweis: (i) Es m¨ssen k Vektoren aj ∈ u werden.

Ê

n

und bj ∈

Ê

m

gespeichert

(ii) Die Rechnung aj (bT x) ben¨tigt 2m + n − 1 Operationen. Diese o j wird k-mal durchgef¨hrt. Die Summe der resultierenden Vektoren u ben¨tigt n(k − 1) Operationen. o (iii) Siehe [6], Bemerkung 2.8(d). (iv) Siehe [6], Bemerkung 2.11. ✷

Die Summe zweier Rk-Matrizen A, A′ ∈ n×m ist im allgemeinen nicht wieder eine Rk-Matrix. Die Summe kann dann aber mit Hilfe der Singul¨rwertzerlea gung von A + A′ auf eine Rk-Matrix reduziert werden, wobei der Fehler der Reduktion minimal in der Frobeniusnorm ist. Es existiert eine Singul¨rwertzerlegung f¨r A + A′ der Form a u A + A′ = U DV T wobei U = [u1 , . . . , un ] ∈ n×n und V = [v1 , . . . , vm ] ∈ m×m orthonormale Matrizen sind und D = diag(σ1 , . . . , σr , 0, . . . , 0) ∈ n×m ist. r ist dabei der Rang der Matrix A + A′ .

Ê

Ê

Ê

Ê

Die Reduktion von A + A′ auf eine Rk-Matrix lautet dann A +Rk A′ := U · diag(σ1 , . . . , σk , 0, . . . , 0) · V T
k

=
j=1

T σ j uj v j .

12

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 13 2.6. H-Matrix-Arithmetik Bemerkung 2.14 Der Fehler der Reduktion von A + A′ auf A +Rk A′ ist
2 2 (i) ||(A + A′ ) − (A +Rk A′ )||2 = σk+1 + . . . + σr , F

(ii) ||(A + A′ ) − (A +Rk A′ )||2 = σk+1 .

Das Produkt zweier Rk-Matrizen ist wieder eine Rk-Matrix. Damit ist nun die Definition einer H-Matrix-Arithmetik m¨glich: o

2.6

H-Matrix-Arithmetik

Wir nehmen im folgenden an, daß die H-Matrizen eine wie in 2.4 dargestellte hierarchische Blockstruktur haben. Die Addition und Multiplikation zweier H-Matrizen erfolgen dann blockweise rekursiv. Sind A11 · · ·  . ... A =  . . An1 · · ·    B11 · · · A1m   . . ... .  und B =  . . . Bp1 · · · Anm  B1l  . .  . Bpl

zwei H-Matrizen, so ist im Falle von n = p und m = l, wobei jeweils passende Blockgr¨ßen angenommen werden, die Summe o A11 +H B11 · · ·  . ... A +H B =  . . An1 +H Bn1 · · ·  A1n +H B1n . . . Anm +H Bnm   

und im Falle von m = p ist, wieder unter Ber¨cksichtigung passender Blocku gr¨ßen, das Produkt o C11 · · ·  . ... C := A ∗H B =  . . Cn1 · · ·   C1l  . .  . Cnl

m mit Cij = u k=1 Aik ∗H Bkj f¨ r alle 1 ≤ i ≤ n und 1 ≤ j ≤ l, wobei die Summe in diesem Fall wieder eine approximierte H-Addition ist3 .
3 Diese Summe kann Rk-Matrix-Additionen enthalten, die mit einer Approximation verbunden sind. Sie ist aus diesem Grunde i.a. nicht kommutativ.

13

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 14 2.6. H-Matrix-Arithmetik Die Block-Matrix-Additionen bzw. Multiplikationen sind dabei entweder Operationen zwischen H-Matrizen, Rk-Matrizen und vollbesetzten Matrizen. Die Operation ist nur definiert, wenn die Matrizen eine f¨r die Operatiu on passende Blockstruktur besitzen und die dabei auftretenden Operationen der Blockmatrizen definiert sind. Addition und Multiplikation einer H-Matrix mit einer Rk-Matrix erfolgen durch Zerlegung der Rk-Matrix in Unterbl¨cke passender Gr¨ße (Bemerkung o o 2.13 (iv)) und blockweiser Anwendung der Arithmetik. Die Inversion einer H-Matrix erfolgt ebenfalls blockweise rekursiv. Die InA11 A12 eine verse einer 1 × 1-Matrix ist exakt definiert. Ist A = A21 A22 H-Matrix, so ist A−1 = A−1 + A−1 A12 S −1 A21 A−1 −A−1 A12 S −1 11 11 11 11 −S −1 A21 A−1 S −1 11 (2.3)

mit dem Schurkomplement S = A22 − A21 A−1 A12 die exakte Inverse von A. 11 Man erh¨lt eine approximierte Inverse InvH (A), indem man alle Operationen a durch die der H-Arithmetik ersetzt und f¨r A−1 und S −1 die nach Induktion u 11 bereits berechnete approximierte Inverse InvH (A11 ) bzw. InvH (S) einsetzt. Dieses Verfahren l¨ßt sich leicht auf H-Matrizen mit n × n-Blockung mit a n > 2 ubertragen. ¨ Bemerkung 2.15 Die approximierte Inverse InvH (A) hat im allgemeinen nicht die gleiche Blockstruktur wie A, es gilt also nicht A ∈ MH,k (I × I, P2 ) =⇒ InvH (A) ∈ MH,k (I × I, P2 ). f¨r eine Partitionierung P2 . u Ist zum Beispiel A eine 8 × 8-H-Matrix der Form ✷

wobei eine 2 × 2-Rk-Matrix bezeichnet, so haben die 4 × 4-Bl¨cke o InvH (A11 ) und InvH (S) die Form

und somit hat der linke untere Block von InvH (A) die Form

14

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 15 2.7. Diskretisierung von Integraloperatoren

*

*

=

*

=

.

Das gleiche gilt f¨r den rechten oberen Block, so daß InvH (A) folgende Form u hat:

Um trotzdem optimalen Aufwand f¨r die Inversion zu erhalten, m¨ssen die u u bei der Inversion auftretenden Zwischenergebnisse passend gek¨rzt werden. u Darauf wird in Abschnitt 5 n¨her eingegangen werden. a

2.7

Diskretisierung von Integraloperatoren

Man kann H-Matrizen verwenden, um Diskretisierungen von Integraloperatoren der Art

(Ku)(x) =
S

k(x, y)u(y)dy

(2.4)

zu approximieren. Solche Integraloperatoren treten bei Fredholmschen Integralgleichungen

λu = Ku + f der ersten (λ = 0) oder zweiten (λ = 0) Art auf. Wir nehmen an, daß S eine (d − 1)-dimensionale Mannigfaltigkeit im d (d = 2, 3, . . .) ist:

Ê

S = ∂Ω , Ω ⊆

Ê.
d

(2.5)

Der Integraloperator K wird diskretisiert zu Kn , indem die Ober߬che S a durch eine Menge Sn ersetzt wird, wobei Sn disjunkte Vereinigung von sogenannten Paneelen (engl. panels) oder Randelementen ist:
n

Sn =
j=1

πj .

15

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 16 2.7. Diskretisierung von Integraloperatoren Im folgenden bezeichne Π := {π1 , . . . , πn } die Menge der Paneele. Als n¨chster Diskretisierungschritt wird die Funktion u aus (2.4) beschr¨nkt a a auf Funktionen un ∈ Vn auf Sn , wobei Vn ein endlich dimensionaler Vektorraum von Funktionen der Dimension n ist. Vn k¨nnte beispielsweise der Raum o der auf den Paneelen π ∈ Π st¨ckweise konstanten oder stetigen st¨ckweise u u linearen Funktionen sein. Ist {φ1 , . . . , φn } eine Basis von Vn , so existiert f¨r jedes un ∈ Vn eine eindeuu tige Darstellung
n

un =
j=1

aj φ j .

(2.6)

Die Kollokationsmethode liefert nach Wahl einer Menge von Kollokationspunkten

Ξ = {ξ1 , . . . , ξn } das Kollokationsproblem:

Finde un ∈ Vn mit λun (ξ) = (Kn un )(ξ) + f (ξ) f¨r alle ξ ∈ Ξ. u Dies f¨hrt mit (2.6) auf das lineare Gleichungssystem (A − λB)a = f mit u

A∈

Ê B∈Ê

n×n n×n

mit A = (aij )ij und aij =
Sn

k(ξi , y) φj (y) dy , (2.7)

mit B = (bij )ij und bij = φj (ξi ) , fi = −f (ξi ) , a = (a1 , . . . , an )T .

Im folgenden wird gezeigt werden, daß man nach Wahl eines Block-ClusterBaumes T2 (I) mit I = {1, . . . , n} und einer zul¨ssigen Partitionierung P2 a von I × I, welche ermittelt wurde mit der Zul¨ssigkeitsbedingung (2.2), in a (2.7) die Kernfunktion k(x, y) f¨r zul¨ssige Bl¨cke ersetzen kann durch eine u a o entartete Kernfunktion der Form

16

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 17 2.7. Diskretisierung von Integraloperatoren

k

k(x, y) =
l=1

αl (x)βl (y),

(2.8)

so daß der dadurch entstehende Approximationsfehler in der Gr¨ßenordnung o des Diskretisierungsfehlers durch die Kollokations- bzw. Galerkin-Methode liegt, die so vorgenommene Approximation also erlaubt ist. Eine entartete Kernfunktion (2.8) erh¨lt man zum Beispiel durch eine Taylorentwicklung a von k(x, y) bez¨glich y. u Im folgenden wird eine Absch¨tzung f¨r den absoluten Fehler der Approxia u mation gegeben. Wir nehmen an, daß f¨r k(x, y) die Absch¨tzung u a
α β |∂x ∂y k(x, y)| ≤ c(|α|, |β|) |x − y|−|α|−|β| |k(x, y)|,

f¨r alle α, β ∈ u

Æ , x, y
d 0

Ê

(2.9)

d

gilt, wobei α, β Multiindizes mit |α| = α1 + . . . + αd und

Æ

0

=

Æ ∪ {0} sind.

Diese Absch¨tzung trifft f¨r die meisten Anwendungen zu, sobald aber logaa u rithmische Terme auftreten, wie bei der Kernfunktion des Einfachschichtpo1 u a a tentials [5] k(x, y) = − 2π log |x−y| f¨r d = 2, muß die Absch¨tzung ge¨ndert werden. Wir betrachten nun einen Block t = (tx , ty ) ∈ T2 und beschr¨nken die Werte a von x und y auf X(tx ) bzw. X(ty ). O.B.d.A. nehmen wir an, daß

diam(ty ) ≤ diam(tx )

(2.10)

gilt. Das optimale Entwicklungszentrum f¨r die Taylor-Entwicklung ist das u 4 Chebyshev-Zentrum y∗ von X(ty ), da dann 1 |y − y∗ | ≤ diam(ty ) 2

(2.11)

f¨r alle y ∈ X(ty ) gilt. Die Taylor-Entwicklung lautet k(x, y) = k(x, y) + R u mit
4 Das Chebyshev-Zentrum einer Menge X ist der Mittelpunkt der Sph¨re mit kleinstem a Radius, welche X enth¨lt. a

17

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 18 2.7. Diskretisierung von Integraloperatoren

m−1

k(x, y) =
|ν|=0 d

∂ ν k(x, y∗ ) 1 (y∗ − y)ν , ν! ∂y ν
d

wobei ν! =
i=1

νi ! und y =
i

ν

ν yi i , und R kann abgesch¨tzt werden durch a

|R| ≤

1 ∂ γ k(x, ζ) . |y∗ − y|m max ζ∈X(ty ),|γ|=m m! ∂y γ

(2.12)

Lemma 2.16 Es gelte (2.9) und die Zul¨ssigkeitsbedingung (2.2) f¨r tx und a u ty min{diam(tx ), diam(ty )} ≤ 2η dist(tx , ty ) mit 1 4c(0, 1)

η < min 1,

.

(2.13)

F¨r m ≥ 1 gilt dann u

|k(x, y) − k(x, y)| ≤ c(m) η m |k(x, y)|

f¨r alle x ∈ X(tx ), y ∈ X(ty ). u

Beweis: F¨r alle x ∈ X(tx ) und y, ζ ∈ X(ty ) gilt u |x − ζ| ≥ dist(tx , ty ) ≥
(2.10) (2.2) 1 2η

min{diam(tx ), diam(ty )} (2.14)
1 |y η

1 diam(ty ) 2η

(2.11)

− y∗ |

Also gilt |k(x, y) − k(x, y)|
(2.9)(2.12)

c(0,m) |y−y∗ |m |k(x, ζ)| m! |x−ζ|m

(2.15)

(2.14)

c(0,m) m η |k(x, ζ)| m!

18

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 19 2.7. Diskretisierung von Integraloperatoren f¨r ein ζ ∈ X(ty ) mit |k(x, ζ)| = max{|k(x, ξ)| : ξ ∈ X(ty )}. u Weiter gilt |k(x, ζ)| − |k(x, y)| ≤ ||k(x, ζ)| − |k(x, y)|| ≤ |k(x, ζ) − k(x, y)| ≤ |y − ζ|
∂k(x,ξ) ∂y (2.9)

≤ |y − ζ| c(0, 1)

1 |x−ξ|

|k(x, ξ)|

≤ 2 c(0, 1) η |k(x, ξ)|

≤ 2 c(0, 1) η |k(x, ζ)|,
(2.2) ≤ diam(ty ) ≤ 2η. dist(tx ,ty )

f¨r ein ξ zwischen y und ζ wegen u Damit gilt dann |k(x, ζ)| ≤

|y−ζ| |x−ξ|

(2.13) |k(x, y)| ≤ 2 |k(x, y)| 1 − 2 c(0, 1) η

und (2.15) wird vervollst¨ndigt zu a |k(x, y) − k(x, y)| ≤ 2 c(0, m) m η |k(x, y)|. m! ✷

Die Behauptung gilt also mit c(m) := 2 c(0,m) . m!

Ersetzt man in (2.7) die Kernfunktion k(x, y) durch k(x, y) und w¨hlt als a Basis von Vn in (2.6) st¨ckweise konstante Funktionen auf den Paneelen πj , u so erh¨lt man allgemein a
k

aij = ˜
Sn k

k(ξi , y) φj (y) dy =
πj l=1

αl (ξi ) βl (y)dy

=
l=1

αl (ξi )
πj

βl (y) dy

oder mit der Taylor-Entwicklung von k(x, y)
m−1

aij = ˜
|ν|=0

1 ∂ ν k(ξi , y∗ ) ν! ∂y ν

(y∗ − y)ν dy.
πj

(2.16)

19

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 20 2.7. Diskretisierung von Integraloperatoren Ist t = (tx , ty ) ∈ T2 ein zul¨ssiger Block, so lautet die dazugeh¨rige Blocka o Matrix

k

A =
l=1

t

αl βlT

(2.17)

mit αl = (αl,i )i∈tx ∈ βl = (βl,j )j∈ty ∈

Ê Ê

|tx | |ty |

, αl,i = αl (ξi ) , βl,j = πj βl (y)dy,

(2.18)

wobei die βl (y) Funktionen von y in Abh¨ngigkeit eines fest gew¨hlten y∗ ∈ ty a a t sind. A ist also eine Rk-Matrix. Man erh¨lt dann, wie in Abschnitt 2.4 beschrieben, eine dem Block-Clustera Baum T2 entsprechend rekursiv aufgebaute H-Matrix, indem man f¨r zul¨ssiu a t ge Bl¨cke t die Rk-Matrix A w¨hlt und f¨r nicht zul¨ssige Bl¨cke t = (tx , ty ) o a u a o die Blockmatrix

At = (aij )i∈tx ,j∈ty mit aij wie in (2.7).

20

3. Aufwandsmaße f¨r H-Matrizen u

21

3

Aufwandsmaße fur H-Matrizen ¨

Wie in [7] festgestellt wurde, erreicht man bei kardinalit¨ts-balancierten a bin¨ren Cluster-B¨umen5 f¨r die daraus resultierende H-Matrix einen a a u Aufwand von O(n log2 n) f¨r die Speicherung und die Matrix-Vektoru u Multiplikation, sowie von O(n log2 n) f¨r die Matrix-Matrix-Multiplikation 2 und die Matrix-Inversion. F¨r nicht kardinalit¨ts-balancierte Cluster-B¨ume kann sich der Aufwand bis u a a 2 3 zu O(n ) bzw. O(n ) verschlechtern, wie folgendes Beispiel zeigt: Beispiel 3.1 Sei n ∈ beliebig und I = {1, . . . , n}. Es sei ferner folgender Cluster-Baum gegeben, welcher eine Partitionierung ergibt, die mindestens so fein wie die rechts abgebildete Partitionierung ist: {1, . . . , n}
✑ ✑ ✑◗ ◗ ◗

Æ

{1}

{2, . . . , n}
✑ ✑

✑ ♣♣♣ ♣♣ ♣

♣ ♣ ♣ ♣ ♣

{2}

{n − 1, n}
✑ ✑ ✑◗ ◗ ◗

{n − 1}

{n}

Eine daraus resultierende H-Matrix besteht nur aus 1×m- und m×1-Bl¨cken, o 2 der Speicheraufwand ist damit proportional zu n . In der Praxis wird man solche extrem nicht-balancierten Cluster-B¨ume vera meiden k¨nnen, es stellt sich aber weiterhin die Frage, wie groß der Aufwand o f¨r nicht ganz balancierte Cluster-B¨ume ist, welche zum Beispiel bei der u a Anwendung von H-Matrizen in adaptiven Verfahren entstehen k¨nnen. o In diesem Kapitel werden nun zwei Maße entwickelt, mit deren Hilfe eine Aussage uber die Balanciertheit eines Cluster-Baumes bzw. eines Block-Cluster¨ Baumes m¨glich wird. Außerdem werden erste theoretische Ergebnisse zur o Anwendung dieser Maße als Hilfsmittel zur Aufwandsabsch¨tzung gegeben. a
D.h. die Anzahl der Bl¨tter zweier beliebiger Unterb¨ume eines Knotens des Clustera a Baumes ist gleich.
5

21

3. Aufwandsmaße f¨r H-Matrizen u 3.1. Ein Cluster-Baum-Maß

22

3.1

Ein Cluster-Baum-Maß

Dem Cluster-Baum-Maß liegt folgende Motivation zugrunde: gegeben sei ein kardinalit¨ts-balancierter Cluster-Baum T (I) mit |I| = 2p = n. Eia ne aus diesem Cluster-Baum resultierende Partitionierung von I × I sei so gew¨hlt, daß alle Außerdiagonalbl¨cke zul¨ssig sind. Damit erh¨lt man die a o a a in [6] definierte Block-Partitionierung B2 (I, T ), f¨r die gezeigt wurde, daß u der Speicheraufwand und der Aufwand f¨r eine Matrix-Vektor-Multiplikation u O(n log2 n) und der Aufwand f¨r eine Matrix-Matrix-Multiplikation und u Matrix-Inversion O(n log2 n) betragen. 2 Die Block-Partitionierung B2 (I, T ) kann nun jedoch auch f¨r nicht balanu cierte Cluster-B¨ume berechnet werden, sodaß der Speicheraufwand der daa zugeh¨rigen H-Matrix als Maß f¨r die Ausgeglichenheit des Cluster-Baumes o u benutzt werden kann. Wir definieren zun¨chst die oben beschriebene Block-Partitionierung: a Definition 3.2 Sei T = T (I) ein beliebiger Cluster-Baum zu I mit der Eigenschaft nt = 1 f¨r alle t ∈ T und |t| = 1, falls t ein Blatt ist. u Ist t ∈ T , so sei eine Partitionierung P ∗ (t, T ) von t × t definiert durch (i) P ∗ (t, T ) = t × t, falls nt = 0, und (ii) P ∗ (t, T ) =
s∈S(t)

P ∗ (s, T ) ∪
(r,s)∈S(t)2 r=s

r × s, falls nt = 0.

Bemerkung 3.3 P ∗ (I, T ) ist die gr¨bste m¨gliche Partitionierung von I ×I, o o die sich aus einem Block-Cluster-Baum, der nach Konstruktion 3.1. erzeugt wurde, ergeben kann. ✷ Im folgenden betrachten wir nur H-Matrizen mit Block-Matrizen mit Rang 1. Außerdem nehmen wir an, daß auch die 1 × 1-Bl¨cke als R1-Matrizen o gespeichert werden, sodaß sich f¨r diese der Speicheraufwand 2 ergibt. u Der Speicheraufwand NST (I, T ) einer H-Matrix zur Partitionierung P ∗ (I, T ) ist dann nur abh¨ngig vom Cluster-Baum T und kann entsprechend der Dea finition der Partitionierung rekursiv berechnet werden durch

22

3. Aufwandsmaße f¨r H-Matrizen u 3.1. Ein Cluster-Baum-Maß

23

NST (t, T ) =

      

NST (s, T ) +
s∈S(t) (r,s)∈S(t)2 r=s

|r| + |s| , falls nt = 0

2

, falls nt = 0

Damit ergibt sich folgende einfache Formel zur Berechnung des Speicheraufwandes: Satz 3.4 Es gilt NST (I, T ) = 2
t∈T

|nt − 1| · |t|.

Beweis: Hilfsbehauptung 1: Es gilt
(r, s) ∈ S(t)2 r=s

|r| + |s| = 2(nt − 1)|t|

f¨r alle t ∈ T \ L(T ). u Beweis: Sei t ∈ T \ L(T ) und S(t) = {s1 , . . . , snt }. Dann gilt |r| + |s|
(r, s) ∈ r=s S(t)2 nt nt

=
i=1 nt j=1 j=i

|si | + |sj |
nt nt

=
i=1

|si |(nt − 1) +
i=1 j=1

|sj | − |si |

= (nt − 1)|t| + nt |t| − |t| = 2(nt − 1)|t|. Setze F (t) := {t} ∪ inklusive t). F (s) f¨r t ∈ T (die Nachkommen von t u |ns − 1||s| f¨r alle u
s∈F (t)

s∈S(t)

Hilfsbehauptung 2: Es gilt NST (t, T ) = 2 t ∈ T.

Beweis: (Durch vollst¨ndige Induktion uber den Baum T ) a ¨ Sei t ∈ T . Ist t ein Blatt, so gilt

23

3. Aufwandsmaße f¨r H-Matrizen u 3.1. Ein Cluster-Baum-Maß NST (t, T ) = 2 = 2|nt − 1||t| = 2
s∈F (t)

24

|ns − 1||s|.

Die Behauptung gelte nun f¨r alle S¨hne von t. Dann folgt u o NST (t, T ) =
s∈S(t)

NST (s, T ) +
(r,s)∈S(t)2 r=s

|r| + |s|

(IV)(HB1)

=

2
s∈S(t) r∈F (s)

|nr − 1||r| + 2|nt − 1||t|

=2
s∈F (t)

|ns − 1||s|. ✷

Da F (I) = T folgt damit die Behauptung.

Im balancierten Fall ist der Speicheraufwand proportional zu n log2 n, also definieren wir: Definition 3.5 Das Cluster-Baum-Maß zu einem Cluster-Baum T (I) mit |I| = n ist definiert durch MCT (T ) = ¯ MCT (T ) ¯ mit MCT (T ) = n log2 n |nt − 1||t|.
t∈T

(3.1)

Bemerkung 3.6 Die Berechnung des Cluster-Baum-Maßes ist mit linearem Aufwand m¨glich. o ✷ Wie kann mit Hilfe dieses Maßes nun eine Absch¨tzung f¨r den Aufwand von a u H-Matrizen angegeben werden? Dazu betrachten wir zwei M¨glichkeiten f¨r o u das Format eines Cluster-Baumes T : (i) der Cluster-Baum hat n = 2p , p ∈ balanciert.

Æ, Bl¨tter und ist kardinalit¨tsa a

(ii) die Anzahl der Bl¨tter n ∈ des Cluster-Baumes ist beliebig und der a Cluster-Baum ist eine lineare Liste wie in Beispiel 3.1 beschrieben. F¨r diese F¨lle l¨ßt sich das Cluster-Baum-Maß einfach berechnen, es gilt u a a n¨mlich im Fall (i) a ¯ MCT =
t∈T

Æ

|t| = (p + 1)n = n(log2 n + 1)

24

3. Aufwandsmaße f¨r H-Matrizen u 3.2. Ein Block-Cluster-Baum-Maß und damit MCT = log2 n + 1 log2 n

n→∞

25

1.

(3.2)

Im Fall (ii) gilt 1 1 ¯ MCT = n2 + n − 1. 2 2 Also folgt MCT = 1 n + O(1). 2 log2 n (3.3)

Zusammen mit (3.2) und (3.3) und der Tatsache, daß man im Fall (i) einen Speicheraufwand von O(n log2 n) und im Fall (ii) einen Speicheraufwand von O(n2 ) erh¨lt, erwartet man den Zusammenhang a NST ≈ C · MCT · n log2 n. Analog erwartet man dann f¨r den Aufwand der Matrix-Matrixu Multiplikation NMM und der Inversion NInv den Zusammenhang
2 NMM (NInv ) ≈ C · MCT · n log2 n, 2

da im Fall (i) der Aufwand O(n log2 n) und im Fall (ii) O(n3 ) ist. 2

3.2

Ein Block-Cluster-Baum-Maß

Das Block-Cluster-Baum-Maß ist motiviert durch ein Ergebnis aus dem Panel-Clustering-Verfahren (PCV), welches in [10] beschrieben wurde. Die Idee zu H-Matrizen ist insofern mit dem PCV verbunden, als daß bei diesem eine Partitionierung von {i} × I f¨r jeden einzelnen Index i ∈ I vorgenomu men wird, w¨hrend bei der Konstruktion von H-Matrizen Partitionierungen a von t × I f¨r Cluster t, also eine Menge von Indizes, ermittelt wird. Beim u PCV wurde gezeigt, daß, ausgehend von einem balancierten Cluster-Baum, die M¨chtigkeit der Partitionierungen f¨r die einzelnen Indizes proportional a u ¨ zu log2 n ist. Ubertr¨gt man dieses Ergebnis auf H-Matrizen, bzw. deren zua grundeliegende Partitionierung, so kann man annehmen, daß die Anzahl der Bl¨cke einer ausgeglichenen Partitionierung proportional zu n log n ist. Im o folgenden wird also die Anzahl der Bl¨cke einer Partitionierung von I × I o

25

3. Aufwandsmaße f¨r H-Matrizen u 3.2. Ein Block-Cluster-Baum-Maß

26

als Maß f¨r die Ausgeglichenheit eines Block-Cluster-Baumes verwendet weru den6 . Voraussetzungen 3.7 Sei I eine Indexmenge und P eine zul¨ssige Partia tionierung von I × I. Setze n := |I| und l := |P |. Bemerkung 3.8 Da P eine zul¨ssige Partitionierung ist, so ist sie wegen a der Symmetrie in der Zul¨ssigkeitsbedingung (2.2) auch symmetrisch, d.h. a mit (t1 , t2 ) ∈ P gilt auch (t2 , t1 ) ∈ P . ✷ Das Block-Cluster-Baum-Maß ist definiert uber die Anzahl der Bl¨cke in der o ¨ Partitionierung f¨r einen Index i ∈ I: u Definition 3.9 a) Das Zeilenmaß einer H-Matrix zu einer Partitionierung P ist definiert durch ¯ ¯ MBCT := MBCT (P ) :=
i∈I

| { (t1 , t2 ) ∈ P : i ∈ t1 } |.

b) Das Block-Cluster-Baum-Maß einer H-Matrix zu einer Partitionierung P ist definiert durch MBCT := ¯ MBCT (P ) . n log2 n

Bemerkung 3.10 Es gilt ¯ MBCT (P ) =
(t1 ,t2 )∈P

|t1 |.

Beweis: Mit χi∈t =
6

1 , falls i ∈ t gilt 0 , sonst

Genaugenommen wird die Ausgeglichenheit eines Teilbaums des Block-Cluster-Baums, welcher die Partitionierung induziert, gemessen. Wenn im folgenden vom Block-ClusterBaum-Maß die Rede ist, handelt es sich um ein Maß des Teilbaums, der die Partitionierung induziert.

26

3. Aufwandsmaße f¨r H-Matrizen u 3.2. Ein Block-Cluster-Baum-Maß

27

¯ MBCT (P ) =
i∈I

| { (t1 , t2 ) ∈ P : i ∈ t1 } | χi∈t1
i∈I (t1 ,t2 )∈P

= =
(t1 ,t2 )∈P i∈I

χi∈t1 |t1 |.
(t1 ,t2 )∈P

=

✷ im folgenden nehmen wir an, daß die betrachteten H-Matrizen blockweise aus R1-Matrizen bestehen. Definition 3.11 NST (P ) sei der Speicheraufwand f¨r eine H-Matrix zur Paru titionierung P . ¯ Satz 3.12 Es gilt NST (P ) = 2MBCT . Beweis: Eine n × m R1-Matrix hat den Speicheraufwand m + n. Geht man davon aus, daß jeder Block der Partitionierung P als R1-Matrix abgespeichert wird (auch die 1 × 1-Bl¨cke), so gilt o

NST (P ) =
(t1 ,t2 )∈P

(|t1 | + |t2 |) |t1 | +
(t1 ,t2 )∈P (t1 ,t2 )∈P

= =
(t1 ,t2 )∈P

|t2 | |t2 |
(t2 ,t1 )∈P

|t1 | +

¯ ¯ = MBCT + MBCT

¯ = 2MBCT , ✷

da mit (t1 , t2 ) ∈ P auch (t2 , t1 ) ∈ P gilt.

Definition 3.13 NMV (P ) sei der Aufwand f¨r die Matrix-Vektor-Multipliu kation einer H-Matrix zur Partitionierung P .

27

3. Aufwandsmaße f¨r H-Matrizen u 3.2. Ein Block-Cluster-Baum-Maß

28

Hilfsatz 3.14 Sei F : P −→ X eine Funktion, wobei X ein beliebiger Wertebereich ist. Dann gilt F (t1 , t2 ) =
(t1 ,t2 )∈P

1 2

(F (t1 , t2 ) + F (t2 , t1 )).
(t1 ,t2 )∈P

Beweis: Dies folgt einfach daraus, daß mit (t1 , t2 ) ∈ P auch (t2 , t1 ) ∈ P gilt. ✷ ¯ Satz 3.15 Es gilt NMV (P ) = 4MBCT − l − n. Beweis: Die Multiplikation der Matrix mit einem Vektor setzt sich zusammen aus den R1-Matrix-Vektor-Multiplikationen der Bl¨cke o ¯ BCT − n Addi(t1 , t2 ) ∈ P mit den Blockvektoren des Vektors und M tionen zur Zusammenf¨hrung dieser Teilergebnisse. Also gilt u ¯ (2|t2 | + |t1 | − 1) + MBCT − n
(t1 ,t2 )∈P 3.14

NMV (P ) = = 1 2

¯ (3 (|t1 | + |t2 |) − 2) + MBCT − n
(t1 ,t2 )∈P

3 = 2

¯ (|t1 | + |t2 |) − l + MBCT − n
(t1 ,t2 )∈P

3 ¯ ¯ ¯ = (MBCT + MBCT ) − l + MBCT − n 2 ¯ = 4MBCT − l − n ✷ Satz 3.16 Es gilt 3n − 2 ≤ l. Beweis: (Vollst¨ndige Induktion) a Seien I1 , I2 ⊆ I mit I1 ⊎ I2 = I so, daß f¨r alle (t1 , t2 ) ∈ P u (t1 , t2 ) ⊆ Ij × Ik mit 1 ≤ j, k ≤ 2 gilt. Sei Pjk := {(t1 , t2 ) ∈ P : t1 ∈ Ij und t2 ∈ Ik } f¨r 1 ≤ j, k ≤ 2. u

28

3. Aufwandsmaße f¨r H-Matrizen u 3.2. Ein Block-Cluster-Baum-Maß Es gilt trivialerweise |P12 | , |P21 | ≥ 1.

29

Die Partitionierungen P11 , P22 sind zul¨ssig, also gilt 3|I1 | − 2 ≤ |P11 | a und 3|I2 | − 2 ≤ |P22 |. Mit Induktion folgt dann
2

l = |P | =
j,k=1

|Pjk | ≥ (3|I1 | − 2) + (3|I2 | − 2) + 2 ✷

= 3(|I1 | + |I2 |) − 2 = 3|I| − 2 = 3n − 2. Korollar 3.17 Es gilt ¯ ¯ 3MBCT − n ≤ NMV ≤ 4MBCT − 4n + 2. Damit erh¨lt man folgende theoretische Resultate: a Korollar 3.18 Es gelten die asymptotischen Proportionalit¨ten a (i) NST ∼ MBCT · n log n und (ii) NMV ∼ MBCT · n log n.

Ob eine ¨hnliche Proportionalit¨t zum Aufwand der Matrix-Matrixa a Multiplikation NMM und der Matrix-Inversion NInv existiert, zeigen die numerischen Experimente.

29

4. Modellprobleme

30

4

Modellprobleme

Das Ziel der numerischen Experimente ist, zu pr¨fen ob die in Abschnitt u 3 definierten Maße zur Aufwandsabsch¨tzung bei der Anwendung von Ha Matrizen anwendbar sind. Obwohl die Belegung einer H-Matrix f¨r den Aufwand unwesentlich ist, entu scheidend ist ausschließlich das Format der Matrix, werden im weiteren dennoch zwei Anwendungen von H-Matrizen ausf¨hrlich dargestellt. Die einu zelnen Testf¨lle unterscheiden sich außerdem noch in der Wahl der Clustera B¨ume. Dabei werden Cluster-B¨ume mit zunehmender Unausgeglichenheit a a untersucht. Beide Anwendungen l¨sen die gleiche Aufgabe: o Definition 4.1 Gegeben sei Ω := [0, 1]2 ⊆ Innenraumaufgabe (DIR) ist gegeben durch

Ê

2

und Γ := ∂Ω. Die Dirichlet-

Finde u mit ∆u = 0 in Ω und u = ϕ auf Γ
2 2

(4.1)

∂ ∂ wobei ∆ = ∂x2 + ∂y2 den Laplace-Operator bezeichnet und ϕ die DirichletRandbedingung beschreibt.

Die Integralgleichungsmethode [5] ist eine M¨glichkeit, dieses Problem zu o l¨sen, und f¨hrt auf ein eindimensionales Modellproblem. Die zweite M¨glicho u o keit ist die Diskretisierung der Laplace-Gleichung durch die F¨nfpunktformel u [4], wodurch man ein zweidimensionales Modellproblem erh¨lt. Im letzten a Fall ist die dabei verwendete Matrix schon schwach-besetzt, eine speichersparende Anwendung der H-Matrizen w¨re also nicht n¨tig, allerdings ist die a o Inverse der Matrix wieder vollbesetzt, sodaß die Verwendung von H-Matrizen lohnt.

4.1

Das eindimensionale Modellproblem

Bei der Integralgleichungsmethode wird eine partielle Differentialgleichung in d Raumvariablen in eine Integralgleichung uber einer (d − 1)-dimensionalen ¨ ¨ Mannigfaltigkeit uberf¨hrt. Eine wichtige Rolle bei diesem Ubergang spielt u ¨ die Singularit¨tenfunktion, die f¨r die zweidimensionale Laplace-Gleichung a u folgendermaßen lautet:

30

4. Modellprobleme 4.1. Das eindimensionale Modellproblem

31

s(x, y) = −

1 log |x − y|. 2π

Das Einfachschichtpotential zur Laplace-Gleichung ist dann definiert durch

Φ(x) =
Γ

s(x, y) u(y) dΓ , y

wobei u die Belegung des Einfachschichtpotentials bezeichnet. In unserem Fall ist Γ st¨ckweise stetig differenzierbar und nach Lemma 8.1.3 u [5] erf¨llt Φ damit die Laplace-Gleichung in 2 \ Γ. u

Ê

Um die Dirichlet-Randbedingung zu erf¨llen, muß zu¨tzlich u a

Φ = ϕ auf Γ gelten, also 1 2π

log |x − y| u(y) dΓy = ϕ(x) f¨r alle x ∈ Γ. u
Γ

Dies ist eine Fredholmsche Integralgleichung 1. Art, die mit dem Integraloperator 1 2π

(Su)(x) = −

log |x − y| u(y) dΓ y
Γ

k¨rzer dargestellt werden kann durch Su = ϕ. u Zur Vereinfachung betrachten wir hier aber nur den Integraloperator

(Ku)(x) =
I

k(x, y) u(y) dy

mit I = [0, 1] und dem Kern k(x, y) = log |x − y|.

31

4. Modellprobleme 4.1. Das eindimensionale Modellproblem

32

Im folgenden gehen wir wie in Abschnitt 2.7 vor, um eine Diskretisierung f¨r u den Integraloperator zu erhalten. Durch 0 = x0 < x1 < . . . < xn = 1 sei eine Intervallunterteilung von I = n πi mit πi = [xi−1 , xi ] gegeben. Sei Π := {π1 , . . . , πn }. i=1 Als Diskretisierung f¨r den Integraloperator wird die Kollokationsmethode u mit st¨ckweise konstanten Basisfunktionen auf den πi und den Kollokationsu punkten 1 (xi−1 + xi ) f¨r i ∈ {1, . . . , n} u 2

xi− 1 =
2

verwendet. Damit erh¨lt man die Matrix a

A = (aij )n i,j=1 mit aij =
πj

log |xi− 1 − y| dy.
2

Die Kernfunktion wird f¨r bestimmte Matrixeintr¨ge aij ersetzt durch die u a Taylorentwicklung des Kerns bez¨glich y um den Entwicklungspunkt y∗ , der u noch zu w¨hlen ist. Die Taylorentwicklung wird hier nach dem ersten Glied a abgebrochen, wodurch man in der H-Matrix-Approximation der Matrix A nur R1-Matrizen als Block-Matrizen f¨r zul¨ssige Bl¨cke erh¨lt. u a o a Die Kernapproximation lautet dann

˜ k(x, y) = log |x − y∗ |. Die approximierten Matrixeintr¨ge ergeben sich damit zu a

aij = ˜
πj

˜ k(xi− 1 , y) dy
2

(4.2) 1dy

= log |xi− 1 − y∗ |
2

Ij

= log |xi− 1 − y∗ | (xj − xj−1 ).
2

32

4. Modellprobleme 4.2. Das zweidimensionale Modellproblem

33

Nach Wahl eines Cluster-Baums, der die gegebene Intervallunterteilung induziert, und eines Block-Cluster-Baums, der durch Konstruktion 2.5 oder 2.6 aus dem Cluster-Baum erzeugt wurde, und einer minimalen zul¨ssigen Para titionierung nach Definition 2.11 von I × I erh¨lt man f¨r zul¨ssige Bl¨cke a u a o b = (t1 , t2 ) ∈ P die Matrix-Bl¨cke o ˜ Ab = αβ T mit α = (αi )i∈t1 , αi = log |xi− 1 − y∗ |, 2 β = (βj )j∈t2 , βj = xj − xj−1 und y∗ Chebyshev-Zentrum von t2 . ˜ F¨r nicht-zul¨ssige Bl¨cke stimmt A mit A uberein. u a o ¨ Damit erh¨lt man eine H-Matrix, die gem¨ß Abschnitt 2.4 rekursiv aufgebaut a a ist.

4.2

Das zweidimensionale Modellproblem

Das Gebiet Ω = [0, 1]2 wird aufgeteilt in eine Menge Π von Paneelen, welche definiert wird durch eine Intervallunterteilung von [0, 1], die gegeben ist durch einen bin¨ren Cluster-Baum T1 : a Sei n ∈ und [ξi−1 , ξi ], 1 ≤ i ≤ n eine Intervallunterteilung von [0, 1] und T1 ein beliebiger bin¨rer Cluster-Baum, der diese Intervallunterteilung induziert, a d.h. L(T1 ) = {[ξi−1 , ξi ] : 1 ≤ i ≤ n}. Um einen bin¨ren Cluster-Baum T , der eine Partitionierung Π von [0, 1]2 ina duziert, zu erhalten, berechnet man nach folgendem Algorithmus das Produkt von r mit r, wobei r die Wurzel von T1 ist: Konstruktion 4.2 Gegeben seien zwei Knoten t1 und t2 des Cluster-Baums T1 . Das Produkt dieser Cluster ist dann: (i) Falls t1 und t2 Paneele, also Bl¨tter von T1 , sind, so ist das Produkt a t1 × t2 . (ii) Falls t1 Paneel ist, t2 aber nicht, so berechne die Produkte von t1 mit den S¨hnen von t2 und gebe als Produkt den Cluster zur¨ck, der als o u S¨hne diese Produkte hat. o (iii) Falls t1 kein Paneel ist, aber t2 , gehe analog zu (ii) vor.

Æ

33

4. Modellprobleme 4.2. Das zweidimensionale Modellproblem

34

(iv) Falls t1 und t2 keine Paneele sind, berechne die vier Produkte von allen S¨hnen von t1 mit S¨hnen von t2 . Erzeuge einen Cluster c1 , der die o o ersten beiden Produkte als S¨hne hat, und einen zweiten Cluster c2 , o der die letzten beiden Produkte als S¨hne hat. Gebe als Produkt den o Cluster zur¨ck, der c1 und c2 als S¨hne hat. u o Dieser Algorithmus entspricht der Konstruktion 2.5, erzeugt aber im Gegensatz zu diesem zu einem bin¨ren Baum wieder einen bin¨ren Baum. Hier sei a a auch betont, daß der Baum T der Cluster-Baum und nicht der Block-ClusterBaum zu diesem Problem ist. Die Chebyshev-Zentren der Bl¨tter πij von T werden als die Punkte gew¨hlt, a a in denen die diskrete L¨sung berechnet wird. Wir bezeichnen mit uij den Wert o der gesuchten N¨herung im Chebyshev-Zentrum (xi , yj ) eines Blattes πij . a Das folgende Bild soll den Zusammenhang zwischen Paneelmenge und Diskretisierungsgitter veranschaulichen: (0,1) (1,1) Paneel Diskretisierungsgitter

(0,0)

(1,0)

Mit der Festlegung x0 = 0, y0 = 0, xn+1 = 1, yn+1 = 1 erh¨lt man mit dem a Differenzenschema von Shortley und Weller [11] eine Approximation f¨r den u Laplace-Operator:

∆u(xi , yi ) ≈ (4.3) uij (ai + bi + cj + dj ) − ui+1,j ai − ui−1,j bi − ui,j+1 cj − ui,j−1 dj

34

4. Modellprobleme 4.3. J-level-mesh mit ai = bi cj = =
1 2 , xi+1 −xi−1 xi+1 −xi 2 1 , xi+1 −xi−1 xi −xi−1 1 2 , yj+1 −yj−1 yj+1 −yj 2 1 . yj+1 −yj−1 yj −yj−1

35

dj =

Ist die Intervallunterteilung von [0, 1] ¨quidistant gew¨hlt, so entspricht (4.3) a a dem F¨nfpunktstern u  −1  −1 4 −1  . −1  Um das Gleichungssystem f¨r die Unbekannten uij aufzustellen, hat man u in (4.3) noch die f¨r u0,j , un+1,j , ui,0 und ui,n+1 auftretenden Randwerte u entsprechend durch ϕ zu ersetzen. Nun wird Konstruktion 2.5 verwendet, um einen Block-Cluster-Baum zu berechnen, mit dem dann eine minimal zul¨ssige Partitionierung P2 von a [0, 1]2 × [0, 1]2 erstellt wird. Die Matrix zu diesem Problem l¨ßt a 2 2 H ∈ MH,k ([0, 1] × [0, 1] , P2 ) darstellen. sich dann als H-Matrix

4.3

J-level-mesh

In den Abschnitten 4.1 und 4.2 war die Wahl eines Cluster-Baumes noch offen gelassen. Dieser wird nun in diesem und dem n¨chsten Abschnitt definiert. a Die J-level-Intervallunterteilung, die in diesem Abschnitt definiert wird, soll eine adaptiv verfeinerte Intervallunterteilung simulieren. In einem Verfahren mit adaptiver Verfeinerung, welches H-Matrizen verwendet, beginnt man mit einem balancierten Cluster-Baum, welcher eine gegebene Intervallunterteilung induziert. Eine adaptive Verfeinerung wird i.a. das Gitter nur lokal verfeinern, wodurch auch der dazugeh¨rige Cluster-Baum nur lokal ,,verfeio nert” wird, indem einige Teilb¨ume des Cluster-Baumes vergr¨ßert werden a o

35

4. Modellprobleme 4.3. J-level-mesh

36

(Bl¨tter werden ersetzt durch nicht-triviale B¨ume). Dadurch verliert der a a Cluster-Baum i.a. seine Ausgeglichenheit. Die J-level-Intervallunterteilung ist abh¨ngig von zwei Parametern p, J ∈ . a Der Parameter p steuert sozusagen die Anfangsgr¨ße der Intervalle, w¨hrend o a der Parameter J die Anzahl der adaptiven Verfeinerungen darstellt. Das Format des Cluster-Baums Tp,J zu den Werten p, J ist rekursiv folgendermaßen definiert: (i) Der Baum Tp,J hat Unterb¨ume des Formats Tp,J−1 und Tp,0 . a (ii) Der Baum Tp,0 hat zwei Unterb¨ume des Formats Tp−1,0 . a (iii) Der Baum T0,0 hat keine Unterb¨ume, ist also ein Blatt. a Alle Cluster auf einer Ebene des Cluster-Baums haben die gleiche Gr¨ße, o also Intervall¨nge. a Beispiel 4.3 F¨r die Werte p = 1 und J = 3 ergibt sich folgendes Baumu format: T1,3
✏ €€ € ✏✏

Æ

T1,2

✘ ✘ ✘ ✘

✘✘ ❳❳❳

❳❳ ❳

T1,0

T1,0

✟✟

✟❍

T1,1

✏ ✏

€ €

T1,0

T0,0 T0,0

  ❅   ❅

❍❍

T1,0

T0,0 T0,0

  ❅   ❅

T0,0 T0,0 T0,0 T0,0 Der konkrete Cluster-Baum f¨r diese Werte ist also u [0, 1]
✘ ✘✘✘ ✏ ✏✏ ✏✏ ✘✘ ✘❳❳ ❳❳❳

  ❅   ❅

  ❅   ❅

[0,

✏€€

1 ] 2

❳❳

€€

✟✟ ✟

1 [0, 4 ]

✟❍

[0,

1 1 1 3 3 [0, 16 ] [ 16 , 8 ] [ 1 , 16 ] [ 16 , 1 ] 8 4

 ❅   ❅

1 ] 8

❍❍ ❍

 ❅   ❅

1 [1, 4] 8

3 [1, 8] 4

 ❅   ❅

1 1 [4, 2]

€ €

3 [ 1 , 4 ] [ 3 , 1] 2 4

 ❅   ❅

[ 1 , 1] 2

1 [3, 2] 8

36

4. Modellprobleme 4.3. J-level-mesh

37

Die Menge der Bl¨tter eines Cluster-Baums des Formats Tp,J bildet eine a Partition Π von [0, 1], in diesem Fall ist also

1 1 3 3 1 1 Π = {[0, 16 ], [ 16 , 8 ], [ 1 , 16 ], [ 16 , 4 ], [ 1 , 3 ], [ 3 , 1 ], [ 1 , 3 ], [ 3 , 1]} 8 4 8 8 2 2 4 4

Die wachsende lokale Verfeinerung bei zunehmenden J-Wert wird deutlich durch eine graphische Darstellung der Intervallunterteilungen von [0, 1] f¨r u p = 1 und J = 0, 1, 2, 3: J =0: J =1: J =2: J =3: Der Cluster-Baum des Formats Tp,J f¨r J > 0 ist in dem Sinne nicht ausu geglichen, als daß es Baumknoten gibt, deren Unterb¨ume nicht die gleiche a Anzahl von Bl¨ttern haben. Wie sich sp¨ter herausstellen wird, sind sola a che Cluster-B¨ume ung¨nstig hinsichtlich des Aufwands der daraus resula u tierenden H-Matrizen. Zum Vergleich wird zu der vom nicht-ausgeglichenen Cluster-Baum induzierten Intervallunterteilung ein in obigem Sinne ausgeglichener Cluster-Baum erzeugt. Der dabei verwendete Algorithmus ist im Anhang A angegeben. Mit diesem Algorithmus erh¨lt man f¨r die Intervallunterteilung aus Beispiel a u 4.3 folgenden ausgeglichenen Cluster-Baum:
✘ ✘ ✘✘❳❳❳ ✘✘ ❳

[0, 1]

[0,

✟ ❍❍ ✟✟ ❍
1 ] 8

[0, 1 ] 4

❳ ❳

1 1 3 3 1 1 3 1 3 1 [0, 16 ][ 16 , 8 ][ 1 , 16 ][ 16 , 4 ] [ 4 , 8 ] [ 3 , 2 ] [ 1 , 4 ] [ 3 , 1] 8 8 2 4

  ❅   ❅

  ❅   ❅

1 1 [8, 4]

  ❅   ❅

1 [1, 2] 4

✟ ❍❍ ✟✟ ❍

1 [ 4 , 1]

  ❅   ❅

[ 1 , 1] 2

Da der Baum der Form Tp,J genau 2p (J +1) Bl¨tter hat, ist klar, daß man mit a diesem Algorithmus nicht immer einen exakt ausgeglichenen Cluster-Baum erh¨lt, sondern nur, falls die Anzahl der Bl¨tter eine Zweierpotenz ist. Aber a a man kann immer Ausgeglichenheit in dem Sinne erreichen, daß es nur Knoten

37

4. Modellprobleme 4.4. Polynomiell graduierte Intervallunterteilung

38

gibt, deren Unterb¨ume bis auf Differenz 1 die gleiche Anzahl von Bl¨ttern a a haben.

4.4

Polynomiell graduierte Intervallunterteilung

i Sei n ∈ und β ∈ . Seien wi := ( n )β f¨r 0 ≤ i ≤ n gegeben. Dann ist durch u πi := [wi−1 , wi ], 1 ≤ i ≤ n, eine Intervallunterteilung von [0, 1] gegeben.

Æ

Æ

F¨r diese Intervallunterteilung wird dann ein Cluster-Baum berechnet (mit u dem Algorithmus aus Anhang A) und daraus wiederum eine zul¨ssige Partia tionierung von I × I.

38

5. Numerische Ergebnisse

39

5

Numerische Ergebnisse

In diesem Abschnitt werden die Ergebnisse der numerischen Experimente dargestellt. Daf¨r wird zun¨chst die Durchf¨hrung der Messung des Aufwanu a u des erl¨utert. Ferner werden Grafiken angef¨hrt, welche das Verhalten der in a u Abschnitt 3 definierten Maße und deren Zusammenhang mit verschiedenen Aufw¨nden, die bei unterschiedlichen Modellproblemen mit balancierten und a unbalancierten Cluster-B¨umen ermittelt wurden, zeigen. a

5.1

Zur Messung des Aufwandes

Die Implementation der H-Matrix-Arithmetik setzt sich entsprechend dem rekursiven Aufbau der H-Matrizen aus verschiedenen Methoden zusammen. Der Aufwand f¨r diese Methoden wird direkt im Quellcode berechnet und auf u eine globale Variable aufaddiert, sodaß nach Durchf¨hrung einer Operation, u wie zum Beispiel einer H-Matrix-Inversion, der Gesamtaufwand dieser Operation in dieser Variablen verf¨gbar ist. Bei der Aufwandsberechnung werden u Gleitkomma-Multiplikationen und -Additionen gleichwertig behandelt. Operationen mit ganzzahligen Werten werden bei der Aufwandsmessung nicht ber¨cksichtigt. u Die bei der Rk-Matrix-Arithmetik anfallenden Eigenwertprobleme und Sigul¨rwertzerlegungen werden mit Routinen aus dem Linear Algebra Package a (LAPACK) gel¨st. Da eine Berechnung des Aufwandes direkt im Quellcode o dieser Routinen zu aufwendig w¨re, wird deren Aufwand durch eine Zeitmesa sung abgesch¨tzt. a

5.2

Zur Kurzung der Matrizen ¨

In Definition 2.3 wurde eine partielle Ordnung auf Partitionierungen beschrieben, welche auf den zugrundeliegenden Block-Cluster-B¨umen beruhte. Diese a Ordnung l¨ßt sich ubertragen auf H-Matrizen und deren Schur-Komplementa ¨ Inverse, da das Format dieser beiden Matrizen durch Teilb¨ume des gleichen a Block-Cluster-Baumes bestimmt ist. Sind A und A′ also H-Matrizen und T , T ′ die dem Format der H-Matrizen zugrundeliegenden Teilb¨ume des Blocka Cluster-Baumes T2 , so heißt A gr¨ber (feiner ) als A′ , falls T ⊆ T ′ (T ′ ⊆ T ). o In Abschnitt 2.6 wurde angedeutet, daß die Inverse einer H-Matrix durchaus feiner sein kann als die Ausgangsmatrix. Trifft dies auch schon auf die Zwischenergebnisse bei der Berechnung der Inversen zu, so verschlechtert sich

39

5. Numerische Ergebnisse 5.3. Numerische Ergebnisse zum eindimensionalen Modellproblem I

40

der Aufwand. Also ist eine K¨rzung, daß heißt die Reduktion einer feineren u Matrix auf das Format der entsprechenden gr¨beren Matrix n¨tig. o o Wir nehmen an, daß die Inverse (2.3) (siehe Seite 14) einer H-Matrix mit einem 2 × 2-Block-Format zu berechnen ist: A= A00 A01 A10 A11 InvH (A) = B = B00 B01 B10 B11

Bei der Berechnung von InvH (A) mit der Schur-Komplement-Methode werden nacheinander die Bl¨cke B11 , B10 , B01 und B00 berechnet. Dabei wird o direkt nach der Berechnung von Bij diese Matrix auf das Format der Matrix Aij f¨r alle 0 ≤ i, j ≤ 1 nach folgenden Regeln gek¨rzt: u u Bij ist Rk-Matrix vollbesetzte Matrix Aij ist beliebige Matrix vollbesetzte Matrix Rk-Matrix Aktion keine K¨rzung u keine K¨rzung u Bij wird in Rk-Matrix transformiert mittels Singul¨rwertzerlegung a keine K¨rzung u Bij wird in vollbesetzte Matrix transformiert Bij wird in Rk-Matrix transformiert7 die hier beschriebene K¨rzung wird f¨r die u u Block-Matrizen von Bij und Aij durchgef¨hrt u

H-Matrix

H-Matrix vollbesetzte Matrix Rk-Matrix H-Matrix

5.3

Numerische Ergebnisse zum eindimensionalen Modellproblem I

Wir betrachten zun¨chst die Ergebnisse f¨r das eindimensionale Modellproa u blem (Abschnitt 4.1), bei dem mit einem J-level-mesh (Abschnitt 4.3) gerechnet wurde. Der p-Wert war in diesem Fall 7 und der J-Wert variierte von 0 bis 40. Als Wert f¨r den Parameter η f¨r die Zul¨ssigkeitsbedingung (2.2) u u a wurde 0.5 gew¨hlt. a
Daf¨r werden zuerst die Block-Matrizen von Bij rekursiv in Rk-Matrizen transformiert u und dann die K¨rzung nach Anhang B angewandt. u
7

40

5. Numerische Ergebnisse 5.3. Numerische Ergebnisse zum eindimensionalen Modellproblem I

41

Der Block-Cluster-Baum wurde mit Konstruktion 2.5 berechnet. Alle Bl¨cke o der daraus resultierenden H-Matrix wurden als R1-Matrizen gespeichert. In der Praxis w¨rde man Rk-Matrizen nur bis zu einer bestimmten Blockgr¨ße u o > 1 verwenden, da der Aufwand f¨r 1 × 1-Rk-Matrizen h¨her als f¨r vollbeu o u setzte 1 × 1-Matrizen ist. In diesem Fall werden aber auch f¨r die kleinsten u Matrix-Bl¨cke R1-Matrizen verwendet, da die Theorie f¨r die Maße auf dieser o u Annahme beruhte. Die Ergebnisse f¨r das gleiche Modellproblem mit einer u gegebenen Mindestgr¨ße f¨r Rk-Matrizen wird in Abschnitt 5.4 dargestellt. o u 5.3.1 Das Verhalten der Maße

Abbildung 1 zeigt das Verhalten des Cluster-Baum-Maßes MCT und des Block-Cluster-Baum-Maßes MBCT f¨r steigende J-Werte, also bei zunehmenu u u der Unausgeglichenheit des Cluster-Baumes (MBCT und MCT ). Außerdem wird das Verhalten der Maße f¨r einen balancierten Cluster-Baum gezeigt u b b (MBCT und MCT ). F¨r zunehmende J-Werte steigt auch die Dimension n des u Problems, da beim J-level-mesh n = 2p−1 (J + 2) gilt. Beide Maße verhalten 5.5 5 4.5 4 3.5 3 2.5 2 1.5 1 0 5 10 15 20 J Abbildung 1: Verhalten der Maße sich ¨hnlich: sie zeigen einen nahezu konstanten Verlauf im balancierten Fall a und steigen bei zunehmender Unausgeglichenheit an. Es zeigt sich damit, 25 30 35 40
u MCT b MCT u MBCT b MBCT

41

5. Numerische Ergebnisse 5.3. Numerische Ergebnisse zum eindimensionalen Modellproblem I

42

daß die definierten Maße wirklich auch als solche verwendet werden k¨nnen, o da sie die Ausgeglichenheit eines Cluster-Baumes bzw. eines Block-ClusterBaumes wiederspiegeln. Somit kann man also einen Cluster-Baum auch balanciert nennen, wenn sein Maß ungef¨hr 1 ist, oder wenn das Block-Clustera Baum-Maß einen konstanten, aber von weiteren Faktoren abh¨ngigen, Wert a annimmt. Diese Konstante wird zum Beispiel beeinflußt durch den in der Zul¨ssigkeitsbedingung (2.2) verwendeten Parameter η: je kleiner η ist, desto a feiner wird das Format der resultierenden H-Matrix, und damit w¨chst auch a der Speicheraufwand (bzw. das Block-Cluster-Baum-Maß) f¨r die H-Matrix. u Die Maße verhalten sich aber nicht genau gleich. F¨r die Maße im balanu b b cierten Fall gilt offensichtlich nahezu MBCT /MCT = const, f¨r die unbalanu cierten Werte trifft dies jedoch nicht zu. Untersucht man den Quotienten u u MBCT /MCT , welcher im Idealfall f¨r jeden Wert von J gleich dem konstanten u b b Wert MBCT /MCT sein sollte, so nimmt dieser f¨r J = 0 den Wert 2.25 an und u konvergiert dann ungef¨hr gegen 2. Das Fallen des Quotienten ist zu erkl¨ren, a a wenn man die beiden Maße f¨r den Fall der linearen Liste als Cluster-Baum u (siehe Beispiel 3.1 auf Seite 21) betrachtet. In diesem Fall stimmen die beiu u den Maße nahezu uberein, so daß sich der Quotient MBCT /MCT ≈ 1 ergibt. ¨ u u Der Wert MBCT /MCT muß also mit zunehmender Unausgeglichenheit abnehmen. Dieser Effekt d¨rfte um so geringer sein, je gr¨ßer die Dimension des u o Anfangsproblems gew¨hlt ist, da dann der Cluster-Baum bei zunehmender a Unausgeglichenheit um so weiter von dem Extremfall der linearen Liste als Cluster-Baum ,,entfernt” ist. Nun stellt sich die Frage, ob sich mit Hilfe der Maße auch eine Aussage uber ¨ den zu erwartenden Aufwand f¨r eine H-Matrix machen l¨ßt. u a 5.3.2 Das Verhalten des Speicheraufwandes

Die folgende Abbildung 2 zeigt den Speicheraufwand, der nach Definition mit dem Wert 2 · MBCT · n log2 n ubereinstimmt, und eine Absch¨tzung mit Hilfe a ¨ des Cluster-Baum-Maßes MCT , welche den in Abschnitt 3.1 erw¨hnten Zua sammenhang NST ≈ C · MCT · n log2 n verwendet. Der Proportionalit¨tsfaktor a C = 5 wurde so gew¨hlt, daß die Absch¨tzung im balancierten Fall m¨glichst a a o genau mit dem berechneten Speicheraufwand ubereinstimmt. Andererseits ¨ ergibt sich dieser Faktor aber auch folgendermaßen: der Speicheraufwand der das Cluster-Baum-Maß definierenden Matrix ist 2 · MCT · n log2 n, w¨hrend a das Block-Cluster-Baum-Maß im balancierten Fall ungef¨hr das 2.5-fache des a Cluster-Baum-Maßes ist.

42

5. Numerische Ergebnisse 5.3. Numerische Ergebnisse zum eindimensionalen Modellproblem I

43

400000 350000 300000

✸ +

✸ ✸ ✸ ✸ ✸✸ 250000 ✸ ✸✸ ✸ 200000 ✸✸ ✸✸ ++++ 150000 ✸✸ +++ ✸ + ✸✸ ++++ ✸✸ +++++ 100000 ✸✸ ✸✸++++++ ✸ ✸✸ ++ ++ 50000 ✸✸✸+ +++ + ✸✸ +++ ✸✸✸+ ++++ ✸✸✸✸ 0 0 5 10 15 20 25 30 35 40 J Abbildung 2: Verhalten des Speicheraufwandes Es zeigt sich, daß der Speicheraufwand gut mit dem Maß MCT abgesch¨tzt a werden kann. Die Absch¨tzung wird bei zunehmender Unausgeglichenheit a jedoch durch das in 5.3.1 beschriebene Verhalten der beiden Maße schlechter. 5.3.3 Das Verhalten Multiplikation des Aufwandes der Matrix-Vektor-

NST unbalanciert NST balanciert u 5 · MCT · n log2 n b 5 · MCT · n log2 n

Ein positives Resultat erh¨lt man f¨r die Absch¨tzung des Aufwandes f¨r eine a u a u Matrix-Vektor-Multiplikation, welche in Abbildung 3 gezeigt wird. Auch hier war eine Proportionalit¨t a NMV ∼ MBCT · n log2 n ermittelt worden (Korollar 3.18). Man konnte den Aufwand NMV sogar exakt angeben durch die Formel NMV = 4 · MBCT · n log2 n − l − n, wobei l die Anzahl der Bl¨tter des Block-Cluster-Baums war. Die verwena dete Implementation der H-Matrix-Arithmetik benutzt aber bei der MatrixVektor-Multiplikation pro Rk-Matrix eine Operation mehr als theoretisch

43

5. Numerische Ergebnisse 5.3. Numerische Ergebnisse zum eindimensionalen Modellproblem I

44

n¨tig (jede Rk-Matrix besitzt einen skalaren Faktor, um schnelle Skalarmulo tiplikation durchf¨hren zu k¨nnen). Da jedes Blatt des Block-Cluster-Baumes u o in der H-Matrix zu einer Rk-Matrix f¨hrte, werden dann bei einer Matrixu Vektor-Multiplikation genau l arithmetische Operationen mehr durchgef¨hrt u als theoretisch n¨tig, es gilt also o NMV = 4 · MBCT · n log n − n. 700000 600000

✸ ✸ ✸ ✸ ✸ ✸ 500000 ✸ ✸ ✸ ✸ 400000 ✸✸ ✸ + ✸✸ ++++ 300000 ✸ ++ ✸ ++ ✸✸ ++++ ++ ✸✸ 200000 ✸✸ +++++ ✸ ✸✸ +++ ✸✸+++ 100000 + + ✸✸✸+ ++++ ✸✸✸ +++ ++✸✸ ++✸✸ 0 ✸✸ 0 5 10 15 20 25 30 35 40 J Abbildung 3: Verhalten des Aufwandes der Matrix-Vektor-Multiplikation und Absch¨tzung mit MBCT a F¨r die Matrix-Vektor-Multiplikation best¨tigt sich damit der theoretisch u a festgestellte Zusammenhang zwischen Aufwand und Block-Cluster-BaumMaß. Auch das Cluster-Baum-Maß erlaubt eine relativ genaue Absch¨tzung des a Aufwandes der Matrix-Vektor-Multiplikation, wie in Abbildung 4 gezeigt wird. Der Proportionalit¨tsfaktor ergibt sich wieder als das 2.5-fache des Faktors a der Absch¨tzung mit dem Block-Cluster-Baum-Maß. Die Absch¨tzung ist a a gegen¨ber derjenigen mit dem Block-Cluster-Baum-Maß schlechter, hervoru gerufen durch das Verhalten der Maße bei zunehmender Unausgeglichenheit.

✸ +

NMV unbalanciert NMV balanciert u 4 · MBCT · n log2 n − n b 4 · MBCT · n log2 n − n

44

5. Numerische Ergebnisse 5.3. Numerische Ergebnisse zum eindimensionalen Modellproblem I

45

800000 700000 600000

✸ +

✸ ✸✸ ✸ ✸✸ 500000 ✸✸ ✸✸ 400000 ✸✸ ✸✸ ++++ 300000 ✸✸ +++ ✸ + ✸✸ ++++ ✸✸ +++++ 200000 ✸✸ ✸✸++++++ ✸ ✸✸ ++ ++ 100000 ✸✸✸+ +++ + ✸✸ ✸✸✸+ +++ ++++ ✸✸✸✸ 0 0 5 10 15 20 25 30 35 40 J Abbildung 4: Verhalten des Aufwandes der Matrix-Vektor-Multiplikation und Absch¨tzung mit MCT a 5.3.4 Das Verhalten des Aufwandes fur die Matrix-Matrix¨ Multiplikation

NMV unbalanciert NMV balanciert u 10 · MCT · n log2 n b 10 · MCT · n log2 n

Um den Aufwand der Matrix-Matrix-Multiplikation zu messen, wurde die berechnete H-Matrix mit sich selber multipliziert. Da die Inversion mit der Schur-Komplement-Methode im wesentlichen auf Matrix-MatrixMultiplikationen beruht, sollte der Aufwand der Inversion mit der der MatrixMatrix-Multiplikation vergleichbar sein, wie auch schon in [6] festgestellt wurde. Abbildung 5 zeigt den Aufwand f¨r eine Matrix-Matrix-Multiplikation jeweils u f¨r einen balancierten und einen unbalancierten Cluster-Baum. Als Ansatz u f¨r die Absch¨tzungen mit Hilfe der Maße wurde u a NMM ≈ C · M 2 · n log2 n 2 gew¨hlt, wobei M MCT oder MBCT ist. Dieser Zusammenhang zwischen a Aufwand und Maß wurde schon in 3.1 beschrieben. Die Faktoren f¨r die u Absch¨tzungen wurden in beiden F¨llen so gew¨hlt, daß die Absch¨tzung f¨r a a a a u den balancierten Fall m¨glichst genau mit den berechneten Werten ubereino ¨ stimmt. Daher wurden diese Absch¨tzungen nicht in der Grafik eingetragen. a

45

5. Numerische Ergebnisse 5.3. Numerische Ergebnisse zum eindimensionalen Modellproblem I

46

3e+08 2.5e+08 2e+08 1.5e+08

✸ +

NMM unbalanciert NMM balanciert u 20 · (MBCT )2 · n log2 n 2 u 125 · (MCT )2 · n log2 n 2

✸✸ ✸ ✸✸ ✸✸ ✸ ✸✸ 1e+08 ✸ ✸✸ ✸✸ ✸ ✸✸ 5e+07 ++++++ ✸✸ ✸✸ ✸ +++ +++++++++++ ✸✸ + ✸ ✸+++ +✸+✸✸ + +✸+✸++++ ✸ ++✸ ✸✸++✸ +✸✸ 0 ✸++ 0 5 10 15 20 25 30 35 40 J

Abbildung 5: Verhalten des Aufwandes einer Matrix-Matrix-Multiplikation und Absch¨tzungen a Der Faktor f¨r die Absch¨tzung mit dem Cluster-Baum-Maß MCT ergibt sich u a als das 2.52 -fache des Faktors f¨r die Absch¨tzung mit MBCT . u a Die Abbildung zeigt, daß beide Maße geeignet sind, den Aufwand abzusch¨tzen. Dabei verh¨lt sich die Absch¨tzung mit MCT etwas schlechter, a a a daß heißt mit zunehmender Unausgeglichenheit weicht die Absch¨tzung mit a MCT weiter von den realen Werten ab als die Absch¨tzung mit MBCT , was a wiederum auf das Verhalten der beiden Maße zur¨ckzuf¨hren ist. u u Die Absch¨tzung mit Hilfe der Maße kann aber außerdem noch durch folgende a ¨ Uberlegungen beeintr¨chtigt werden: a Im Fall eines balancierten Cluster-Baums erh¨lt man wie gesehen die Werte a MCT ≈ 1 und MBCT ≈ CBCT (= 2.5 in diesem Fall). Falls der Cluster-Baum eine lineare Liste darstellt, haben die Maße den Wert MCT , MBCT ≈ 1 n . 2 log2 n

Untersucht man f¨r beide F¨lle den Aufwand der Matrix-Matrixu a Multiplikation, kommt man im balancierten Fall auf NMM ≈ Cb ·n log2 n und 2 im anderen Fall auf NMM ≈ Cu · n3 . Der Ansatz NMM = C · M 2 · n log2 n 2

46

5. Numerische Ergebnisse 5.3. Numerische Ergebnisse zum eindimensionalen Modellproblem I

47

2 mit der Wahl C := Cb bei Verwendung von MCT und C := Cb /CBCT bei Verwendung von MBCT erlaubt eine gute Absch¨tzung des Aufwandes im a balancierten Fall, da dann 2 NMM = Cb · MCT · n log2 n ≈ Cb · n log2 n ≈ NMM bzw. 2 2 2 2 NMM = Cb /CBCT · MBCT · n log2 n ≈ Cb · n log2 n ≈ NMM 2 2

gilt. Im anderen Extremfall der linearen Liste als Cluster-Baum f¨hrt diese u Wahl von C dann zu den Absch¨tzungen a NMM = Cb · NMM = 1 n 2 log2 n
2

· n log2 n = 2

1 Cb · n3 bzw. 4

1 2 Cb /CBCT · n3 . 4

Die Absch¨tzung NMM wird dann bei großer Unausgeglichenheit um so weiter a 1 von echten Wert NMM abweichen, je gr¨ßer der Unterschied zwischen 4 C und o Cu ist. Da sich jeder Cluster-Baum irgendwo zwischen einem vollst¨ndig baa lancierten Baum und einer linearen Liste befindet, wird dieser Unterschied, sofern er denn existiert, in gewissem Maße in die Absch¨tzung eingehen. Da a man in der Praxis aber mit Anfangsproblemen mit einer großen Dimension und einem balanciertem Cluster-Baum arbeiten wird, werden die bei der Verfeinerung auftretenden Cluster-B¨ume den vollst¨ndig balancierten B¨umen a a a sehr viel n¨her sein als der linearen Liste, so daß der Einfluß wohl zu vera nachl¨ssigen ist. a Bei numerische Experimenten mit anderen Werten f¨r den Zul¨ssigkeitsparau a meter η und dem gleichen Modellproblem, ermittelt man f¨r die Absch¨tzung u a mit MBCT ebenfalls Proportionalit¨tsfaktoren um den Wert 20, so daß man a vermuten kann, daß dieser Wert unabh¨ngig von η ist. a

47

5. Numerische Ergebnisse 5.4. Numerische Ergebnisse zum eindimensionalen Modellproblem II

48

5.4

Numerische Ergebnisse zum eindimensionalen Modellproblem II

Wie schon erw¨hnt, wird man in der Praxis keine H-Matrizen verwenden, a bei der 1 × 1-Bl¨cke als Rk-Matrizen gespeichert werden, sondern wird nur o Matrix-Bl¨cke bis zu einer bestimmten Minimalgr¨ße zulassen. Nicht-zul¨ssio o a ge Bl¨cke werden dann als vollbesetzte Matrizen und nur die zul¨ssigen o a Bl¨cke als Rk-Matrizen gespeichert. Dieser Fall wird im folgenden betrachtet. o Die folgenden Ergebnisse beziehen sich auf das gleiche Modellproblem wie im vorigen Abschnitt, bei der Konstruktion des Block-Cluster-Baumes sind jedoch Block-Cluster t = (t1 , t2 ) mit min{|t1 |, |t2 |} ≤ 4 automatisch Bl¨tter, a unabh¨ngig von der Zul¨ssigkeit des Blocks. Es wurde wiederum mit einem a a J-level-mesh mit p = 7 und J = 0, . . . , 40 gerechnet. Wie beim ersten Modellproblem werden das Verhalten der Maße, des Speicheraufwandes, der MatrixVektor-Multiplikation und der Matrix-Matrix-Multiplikation untersucht. 5.4.1 Das Verhalten der Maße 5 4.5 4 3.5 3 2.5 2 1.5 1 0 5 10 15 20 J Abbildung 6: Verhalten der Maße Abbildung 6 zeigt das Verhalten der Maße. Das Cluster-Baum-Maß MCT 25 30 35 40

MCT unbalanciert MCT balanciert MBCT unbalanciert MBCT balanciert

48

5. Numerische Ergebnisse 5.4. Numerische Ergebnisse zum eindimensionalen Modellproblem II

49

verh¨lt sich nat¨rlich wie im vorigen Modellproblem, da beide Probleme auf a u den jeweils gleichen Cluster-B¨umen beruhen. Ein wenig anders verh¨lt es a a sich mit dem Block-Cluster-Baum-Maß MBCT , dessen Konstanz im balancierten Fall sich erst langsam mit zunehmender Dimension des Problems einstellt. Im unbalancierten Fall steigt das Maß wie gew¨hnlich an. Anzumerken ist o noch, daß das Maß MBCT f¨r kleine Werte von J die Ausgeglichenheit des u Block-Cluster-Baums nicht richtig wiedergibt, da es im unbalancierten Fall f¨r einige Werte kleiner als das Maß f¨r den balancierten Fall ist. u u
u u b b Die Quotienten MBCT /MCT und MBCT /MCT zeigen hier ein vom letzten Modellproblem unterschiedliches Verhalten (Abbildung 7). Da das BlockCluster-Baum-Maß im balancierten Fall langsam ansteigend ist, bis es seinen b b nahezu konstanten Wert erreicht, verh¨lt sich auch der Quotient MBCT /MCT a u u in dieser Art. Der Verlauf von MBCT /MCT ist gleichm¨ßiger, entspricht aber a im groben dem des Quotienten im balancierten Fall. Die Quotienten schei-

2.3 2.2 2.1 2 1.9 1.8 1.7 1.6 1.5 0 5

u u MBCT /MCT b b MBCT /MCT

10

15

20 J

25

30

35

40

Abbildung 7: Verhalten der Quotienten nen aber gegen unterschiedliche Werte Qu und Qb zu konvergieren. Der Wert Qb legt fest, um welchen Faktor der Proportionalit¨tsfaktor in der a MCT -Absch¨tzung gr¨ßer ist als in der MBCT -Absch¨tzung. Die Proportioa o a nalit¨tsfaktoren sind festgelegt durch eine Anpassung der Absch¨tzungen an a a die real berechneten Aufwandswerte des balancierten Falls, daß heißt, beide

49

5. Numerische Ergebnisse 5.4. Numerische Ergebnisse zum eindimensionalen Modellproblem II

50

Absch¨tzungen sind gleich gut, denn sie geben die Werte m¨glichst genau wiea o der. Die gleichen Proportionalit¨tsfaktoren werden auch f¨r die Absch¨tzung a u a im unbalancierten Fall verwendet. Dann bedeutet eine Differenz in den Werten Qu und Qb aber, daß die Absch¨tzungen nicht die gleichen Werte wiea dergeben k¨nnen, die Qualit¨t der Absch¨tzungen ist unterschiedlich. Damit o a a ist aber noch nichts dar¨ber ausgesagt, welche Absch¨tzung besser ist. Bei u a diesem Modellproblem aber ist der Unterschied zwischen Qu und Qb nicht sehr groß, so daß die Absch¨tzungen mit MCT und MBCT vergleichbar gut a sind. Numerische Experimente mit einer anderen Minimalgr¨ße f¨r die Bl¨cke zeio u o gen, daß sich die Quotienten um so sp¨ter (d.h. mit gr¨ßer werdender Dia o mension des Problems) auf einen konstanten Wert einpendeln, je gr¨ßer die o Minimalgr¨ße ist. o 5.4.2 Das Verhalten des Speicheraufwandes

Abbildung 8 zeigt, daß auch in diesem Fall eine MBCT -Absch¨tzung den Speia cheraufwand gut wiedergibt. Gegen¨ber dem letzten Modellproblem ¨nderte u a sich der Proportionalit¨tsfaktor geringf¨gig. Die Qualit¨t der Absch¨tzung a u a a ist umso erstaunlicher, als daß das Maß MBCT nicht f¨r den Fall der hier veru wendeten Matrix definiert wurde, denn das Maß ber¨cksichtigt nicht, ob manu che Block-Matrizen als vollbesetzte oder als R1-Matrizen gespeichert werden. Aber wieder zeigen Experimente mit gr¨ßeren Minimalgr¨ßen, daß anscheio o nend ein enger Zusammenhang zwischen der Qualit¨t der Absch¨tzung und a a dem Verh¨ltnis zwischen Dimension des Problems und Minimalgr¨ße der a o Bl¨cke besteht. Die Absch¨tzung mit Hilfe des Cluster-Baum-Maßes wird o a hier nicht wiedergegeben, diese verh¨lt sich aber ahnlich gut wie diejenige a ¨ mit MBCT . F¨r den Aufwand der Matrix-Vektor-Multiplikation gilt das gleiche wie f¨r u u den Speicheraufwand. Die berechneten Aufw¨nde und die Absch¨tzungen a a verhalten sich analog zu den Werten im Falle des Speicheraufwandes. 5.4.3 Das Verhalten Multiplikation des Aufwandes der Matrix-Matrix-

Wie an Abbildung 9 zu sehen ist, wiederholen sich auch hier die guten Ergebnisse vom ersten Modellproblem, obwohl die Qualit¨t der Absch¨tzung a a etwas abgenommen hat. Im relevanten Bereich jedoch, also bei niedriger Un-

50

5. Numerische Ergebnisse 5.4. Numerische Ergebnisse zum eindimensionalen Modellproblem II

51

350000 300000

✸ ✸ ✸ ✸ ✸ ✸ 250000 ✸ ✸ ✸ ✸ 200000 ✸✸ ✸ ✸✸ + 150000 ✸ ++++ ✸✸ +++ ✸ ++ ✸✸ ++++ 100000 ✸ ++ ++ ✸✸ ✸✸++++++ ✸✸++ 50000 + ✸✸✸++ + ✸✸✸+ +++ +++✸ ✸✸✸+ +++ 0 ✸✸✸ 0 5 10 15 20 25 30 35 40 J Abbildung 8: Verhalten des Speicheraufwandes ausgeglichenheit, ist die Absch¨tzung gut genug, um eine Aussage uber die a ¨ Differenz zwischen dem Aufwand im balancierten und im unbalancierten Fall machen zu k¨nnen. Auch f¨r diese Absch¨tzung ergibt sich wie in 5.3 ein Proo u a portionalit¨tsfaktor um 20, so daß der Einfluß der Minimalgr¨ße der Bl¨cke a o o auf diesen Faktor m¨glicherweise auch nicht gravierend ist. o Die Absch¨tzung von NMM mit dem Maß MCT verh¨lt sich wie im ersten a a Modellproblem.

✸ +

NST unbalanciert NST balanciert u 2.1 · MBCT · n log2 n b 2.1 · MBCT · n log2 n

51

5. Numerische Ergebnisse 5.4. Numerische Ergebnisse zum eindimensionalen Modellproblem II

52

1.8e+08 1.6e+08

✸ ✸ ✸ 1.4e+08 ✸ ✸ ✸ 1.2e+08 ✸ ✸ ✸ 1e+08 ✸ ✸ ✸ 8e+07 ✸✸ ✸✸ 6e+07 ✸ ✸ ✸ ✸ 4e+07 ++ ++ ✸✸ ++++ + ✸✸ ++ + ✸ ++++++++ + ✸ 2e+07 ✸✸ ✸✸+++++++ ✸ ++✸✸++ ✸ ✸ ++ +✸✸+++✸ 0 ✸++✸✸ + 0 5 10 15 20 25 30 35 40 J Abbildung 9: Verhalten des Aufwandes der Matrix-Matrix-Multiplikation

✸ +

NMM unbalanciert NMM balanciert u 22 · (MBCT )2 · n log2 n 2 b 22 · (MBCT )2 · n log2 n 2

52

5. Numerische Ergebnisse 5.5. Numerische Ergebnisse zum eindimensionalen Modellproblem III

53

5.5

Numerische Ergebnisse zum eindimensionalen Modellproblem III

Die Ergebnisse in diesem Abschnitt beziehen sich auf das eindimensionale Modellproblem aus 4.1, also der Approximation einer Integralgleichung durch eine H-Matrix. Im Unterschied zu den vorhergehenden Abschnitten liegt hier aber dem zur Konstruktion der H-Matrix ben¨tigten Cluster-Baum nicht ein o J-level-mesh zugrunde, sondern das in 4.4 definierte polynomiell graduierte Gitter. Mit diesem Modellproblem soll uberpr¨ft werden, ob es einen Zusammenu ¨ hang zwischen der Intervallaufteilung und der Qualit¨t der Absch¨tzung gibt. a a Hier wird nicht zwischen balancierten und unbalancierten Cluster-B¨umen a unterschieden, sondern nur die Ergebnisse f¨r balancierte Cluster-B¨ume veru a schiedener Gr¨ße betrachtet. Die Ergebnisse sind denen aus den vorangeo henden Abschnitten ¨hnlich, daher wurde auf die meisten Grafiken verzicha tet. Nur Abbildung 10 zur Darstellung des Aufwandes der Matrix-MatrixMultiplikation und dessen Absch¨tzung mit den Maßen MCT und MBCT ist a angef¨hrt. Die weiteren Ergebnisse werden nur schriftlich erl¨utert. u a 1.4e+08 1.2e+08 1e+08 8e+07 ✸ NMM 22 · (MBCT )2 · n log2 n 2 22 · (2.7)2 · (MCT )2 · n log2 n 2 ✸

✸ ✸

✸ ✸ ✸✸ 6e+07 ✸ ✸ ✸ ✸✸ ✸✸ 4e+07 ✸✸ ✸ ✸ ✸ ✸ 2e+07 ✸ ✸✸ ✸✸ ✸ ✸ ✸ 0 ✸✸ 0 500 1000 1500 2000 2500 3000 3500 4000 4500 n Abbildung 10: Verhalten des Aufwandes der Matrix-Matrix-Multiplikation Als Parameter zur Definition der Intervallunterteilung wurde β = 2 gew¨hlt. a Die minimal zul¨ssige Partitionierung wurde mit dem Parameter η = 0.5 a

53

5. Numerische Ergebnisse 5.5. Numerische Ergebnisse zum eindimensionalen Modellproblem III

54

berechnet. Die erzeugten H-Matrizen setzen sich blockweise aus R1-Matrizen zusammen. Dies gilt wie in 5.3 auch f¨r die 1 × 1-Bl¨cke. Daher ist der u o Speicheraufwand wieder gleich 2 · MBCT · n log2 n. Die Maße MCT und MBCT verhalten sich wie erwartet und zeigen konstante Werte um 1 bzw. 2.9. Der Quotient MBCT /MCT konvergiert f¨r u gr¨ßer werdende Dimension n gegen 2.7. Dadurch ergibt sich dann nat¨rlich o u 2 · 2.7 · MCT · n log2 n als weitere Absch¨tzung f¨r den Speicheraufwand und a u 4 · 2.7 · MCT · n log2 n als Absch¨tzung f¨r den Aufwand einer Matrix-Vektora u Multiplikation. Abbildung 10 zeigt, daß sich der Proportionalit¨tsfaktor f¨r die Absch¨tzung a u a von NMM mit dem Maß MBCT nicht stark von dem in 5.3 und 5.4 ermittelten unterscheidet. Das bedeutet, daß dieser Faktor vielleicht auch nicht von der zugrundeliegenden Intervallunterteilung abh¨ngt, so daß er letzten Endes a nur von der verwendeten Implementation der H-Matrix-Arithmetik bestimmt wird. Der Faktor f¨r die Absch¨tzung mit MCT ist um das 2.72 -fache gr¨ßer u a o als der Faktor zu derjenigen mit MBCT .

54

5. Numerische Ergebnisse 5.6. Numerische Ergebnisse zum zweidimensionalen Modellproblem

55

5.6

Numerische Ergebnisse zum zweidimensionalen Modellproblem

F¨r das zweidimensionale Modellproblem wird erst ein Cluster-Baum berechu net, dessen Bl¨tter eine Intervallunterteilung von [0, 1] induzieren, und daraus a wiederum ein Cluster-Baum T1 nach Konstruktion 4.2 auf Seite 33, welcher eine Unterteilung von [0, 1]2 in Paneele πij , wie in Abschnitt 4.2 beschrieben, induziert. Die Chebyshev-Zentren der πij bilden die Punkte, in denen die diskrete L¨sung nach (4.3) berechnet wird. Als Intervallunterteilung von [0, 1] o wurde wie in 5.3 ein J-level-mesh mit Parametern p = 3 und steigendem J gew¨hlt. Der entstehende Cluster-Baum T1 hat damit (2p−1 (J + 2))2 Bl¨tter. a a Bei der Berechnung des Block-Cluster-Baums T2 wurde Konstruktion 2.5 verwendet, wobei die Konstruktion bei allen Bl¨cken t = (t1 , t2 ) mit o min{|t1 |, |t2 |} ≤ 16 abgebrochen wurde. Im Gegensatz zum eindimensionalen Modellproblem ist es in diesem Fall nicht trivial, wie die bei der Berechnung einer minimal zul¨ssigen Partitionierung a ben¨tigten Werte f¨r den Abstand zwischen zwei Clustern s und t sowie o u dem Durchmesser eines Clusters t berechnet werden: F¨r beide Werte wird u die Bounding Box eines Clusters verwendet. Ist t ein Cluster, so ist das Rechteck b(t) = [xmin , xmax ] × [ymin , ymax ] mit minimaler Ausdehnung in x- und y-Richtung und t ⊆ b(t) die Bounding Box des Clusters. Der Durchmesser von t ist dann definiert als die L¨nge der Diagonale des Rechtecks b(t). Der a Abstand zweier Cluster s und t definiert sich durch den Abstand von b(s) und b(t). Die minimal zul¨ssige Partitionierung induziert das H-Matrix-Format. Die a berechnete H-Matrix besteht blockweise aus R1-Matrizen und vollbesetzten Matrizen. Dabei ist eine Block-Matrix zu einem Cluster-Block t = (t1 , t2 ) genau dann eine R1-Matrix, falls die Anzahl der Nicht-Null-Eintr¨ge gem¨ß a a (4.3) f¨r den Block t kleiner oder gleich 1 ist. Auf diese Weise kann die Matrix u zur Diskretisierung (4.3) im gegebenen H-Matrix-Format exakt dargestellt werden. Die folgenden Grafiken zeigen nur Ergebnisse f¨r Werte von J ≥ 20, da u sich das asymptotische Verhalten der Maße und des Aufwandes der MatrixMatrix-Multiplikation und der Inversion erst f¨r h¨here Werte zeigte. u o

55

5. Numerische Ergebnisse 5.6. Numerische Ergebnisse zum zweidimensionalen Modellproblem 5.6.1 10 9 8 7 6 5 4 3 2 1 5000 10000 15000 20000 n 25000 30000 35000 Das Verhalten der Maße

56

u MCT b MCT u MBCT b MBCT

Abbildung 11: Verhalten der Maße Die Maße zeigen wie auch bei den vorangegangenen Modellproblemen das erwartete Verhalten (Abbildung 11). Das Block-Cluster-Baum-Maß MBCT verl¨uft zwar im balancierten Fall ungleichm¨ßig, es scheint sich jedoch mit a a zunehmender Dimension des Problems auf einen nahezu konstanten Wert um 4.5 einzupendeln. Entscheidend f¨r einen Vergleich der Absch¨tzungen mit MBCT und MCT u a u u b b sind die Quotienten MBCT /MCT und MBCT /MCT , welche in Abbildung 12 dargestellt sind. Im Gegensatz zu 5.4, wo diese Quotienten auch schon untersucht wurden, ist hier die Differenz zwischen den Quotienten f¨r festes n u gr¨ßer. Die Qualit¨t der Absch¨tzungen mit MBCT und MCT wird damit uno a a terschiedlich sein. Wir k¨nnen also nur erwarten, daß h¨chstens eine der o o beiden Absch¨tzungen vern¨nftige Werte liefert. a u

56

5. Numerische Ergebnisse 5.6. Numerische Ergebnisse zum zweidimensionalen Modellproblem

57

5 4.5 4 3.5 3 2.5 5000

u u MBCT /MCT b b MBCT /MCT

10000

15000

20000 n

25000

30000

35000

Abbildung 12: Verhalten der Quotienten

57

5. Numerische Ergebnisse 5.6. Numerische Ergebnisse zum zweidimensionalen Modellproblem 5.6.2 Das Verhalten des Speicheraufwandes

58

2.5e+07 2e+07 1.5e+07 1e+07 5e+06 0 5000

✸ +

NST unbalanciert NST balanciert u 3 · MBCT · n log2 n b 3 · MBCT · n log2 n u 14 · MCT · n log2 n b 14 · MCT · n log2 n ✸ + ✸ +

✸ ✸ ✸ ✸ + + ✸ ✸ + + ✸✸ + + + + 10000 15000 20000 n

✸ +

✸ +

25000

30000

35000

Abbildung 13: Verhalten des Speicheraufwandes Abbildung 13 zeigt, daß der Speicheraufwand im unbalancierten Fall nur geringf¨gig gr¨ßer als im balancierten Fall ist. u o Der Faktor 3 in der Absch¨tzung mit MBCT ergibt sich wieder durch Ana passung der Absch¨tzung an die berechneten Werte des balancierten Falls. a Mit diesem Faktor ergibt sich eine gute Absch¨tzung, da auch die Werte des a unbalancierten Falls gut wiedergegeben werden. Der Faktor 14 ≈ 4.5 · 3 f¨hrt u dann zu einer guten MCT -Absch¨tzung der Werte der balancierten Rechnung, a w¨hrend die MCT -Absch¨tzung der unbalancierten Rechnung zu hoch ist. a a

58

5. Numerische Ergebnisse 5.6. Numerische Ergebnisse zum zweidimensionalen Modellproblem 5.6.3 Das Verhalten Multiplikation des Aufwandes der

59

Matrix-Vektor-

1.2e+08 1e+08 8e+07 6e+07 4e+07 2e+07 0 5000

✸ +

NMV unbalanciert NMV balanciert u 15 · MBCT · n log2 n b 15 · MBCT · n log2 n u 70 · MCT · n log2 n b 70 · MCT · n log2 n ✸ ✸ ✸ ✸ ✸ + +

✸ ✸ ✸ ✸

✸ + + + + + + 10000 15000

+

+

+

+

20000 n

25000

30000

35000

Abbildung 14: Verhalten des Aufwandes der Matrix-Vektor-Multiplikation Hier liegt eine gegen¨ber dem Speicheraufwand umgekehrte Situation vor: u w¨hrend die Absch¨tzung mit MCT den Aufwand der Matrix-Vektora a Multiplikation gut approximiert, liefert die MBCT -Absch¨tzung zu kleine Wera te. Der Faktor 70 ist ungef¨hr das 4.5-fache von 15. Damit zeigt sich, daß die a MCT -Absch¨tzung f¨r diesen Aufwand vern¨nftige Werte liefert. a u u

59

5. Numerische Ergebnisse 5.6. Numerische Ergebnisse zum zweidimensionalen Modellproblem 5.6.4 Das Verhalten Multiplikation des Aufwandes der

60

Matrix-Matrix-

1e+10 9e+09 8e+09 7e+09 6e+09 5e+09 4e+09 3e+09 2e+09 1e+09

✸ +

NMM unbalanciert NMM balanciert u 6 · (MBCT )2 · n log2 n 2 b 6 · (MBCT )2 · n log2 n 2 u 121 · (MCT )2 · n log2 n 2 b 121 · (MCT )2 · n log2 n 2

+ ✸ ✸ + ✸ ✸ ✸ + ✸ ✸ ✸ + + + + + + + + + 0 5000 10000 15000 20000 25000 30000 n

35000

Abbildung 15: Verhalten des Aufwandes der Matrix-Matrix-Multiplikation Abbildung 15 zeigt, daß sich die berechneten Aufwandswerte wie erwartet verhalten: Im balancierten Fall steigen sie nahezu linear in n an, w¨hrend sie a im unbalancierten Fall schneller wachsen. Die Einstellung der Faktoren f¨r u die MBCT - und die MCT - Absch¨tzung durch die Werte im balancierten Fall a f¨hrt auf 6 bzw. 121. Der Faktor 121 ergibt sich als das 4.52 -fache von 6. Mit u diesen Faktoren erh¨lt man dann eine gute Absch¨tzung der Aufwandswerte a a im unbalancierten Fall durch die MBCT -Absch¨tzung, die MCT -Absch¨tzung a a w¨chst jedoch zu schnell an. a

60

5. Numerische Ergebnisse 5.6. Numerische Ergebnisse zum zweidimensionalen Modellproblem 5.6.5 Das Verhalten des Aufwandes der Inversion

61

2.5e+11 2e+11 1.5e+11 1e+11

✸ +

NInv unbalanciert NInv balanciert u 120 · (MBCT )2 · n log2 n 2 b 120 · (MBCT )2 · n log2 n 2 u 2500 · (MCT )2 · n log2 n 2 b 2500 · (MCT )2 · n log2 n 2 ✸ ✸ ✸ ✸ ✸

✸ ✸ ✸

5e+10 ✸

✸ + + + + + + + + + + 0 6000 8000 100001200014000160001800020000220002400026000 n Abbildung 16: Verhalten des Aufwandes der Matrix-Inversion F¨r das zweidimensionale Modellproblem wurde auch die Inverse der u H-Matrix berechnet. Dabei trat gegen¨ber der Matrix-Matrix-Multiplikation u zus¨tzlicher Aufwand durch die K¨rzung der Zwischenergebnisse auf (siehe a u Abschnitt 5.2). Wie man aber an Abbildung 16 erkennt, w¨chst der Aufwand a im balancierten Fall dennoch nahezu linear, w¨hrend er im unbalancierten a Fall schneller ansteigt. Die Faktoren f¨r die Absch¨tzungen waren in diesem u a Fall schwer zu bestimmen, da nur wenige Werte f¨r den real ben¨tigten Aufu o wand berechnet wurden. Mit der Wahl von 120 f¨r die MBCT -Absch¨tzung u a und 2500 f¨r die MCT -Absch¨tzung (wieder gilt 2500 ≈ 4.52 · 120) erh¨lt man u a a dann Absch¨tzungen f¨r die Werte im unbalancierten Fall, die nicht in der a u Lage sind, die ermittelten Werte f¨r den Aufwand wiederzugeben. Insbesonu dere die MBCT -Absch¨tzung liefert viel zu kleine Werte. a

61

6. Beurteilung der numerische Ergebnisse

62

6

Beurteilung der numerische Ergebnisse

Die numerischen Experimente zeigten, daß die Maße MBCT und MCT durchaus zur Absch¨tzung von Aufw¨nden, die bei der Speicherung und Rechnung mit a a H-Matrizen auftreten, verwendet werden k¨nnen. Sie sind zwar nicht immer o im gleichen Umfang anwendbar, doch insbesondere das Block-Cluster-BaumMaß MBCT lieferte bei den behandelten Modellproblemen f¨r die meisten u Aufw¨nde gute Absch¨tzungen. a a F¨r den Spezialfall der H-Matrix, deren s¨mtliche Block-Matrizen R1u a Matrizen sind, kann man zum Beispiel, wie auch schon theoretisch gezeigt, den Speicheraufwand und den Aufwand einer Matrix-Vektor-Multiplikation exakt mittels MBCT berechnen. Aber auch f¨r den Aufwand einer Matrixu Matrix-Multiplikation ergaben sich mit MBCT verwertbare Absch¨tzungen. a F¨r den Fall einer H-Matrix, die sich nicht vollst¨ndig aus R1-Matrizen u a zusammensetzt, sondern deren Block-Matrizen ab einer bestimmten Minimalgr¨ße vollbesetzt sind, erwartet man eine Verschlechterung der Qualit¨t o a der Absch¨tzungen, da der Spezialfall des oben dargestellten H-Matrixa Formats die Definition der Maße motivierte. Trotzdem erhielt man auch im eindimensionalen Fall f¨r diese Matrizen Absch¨tzungen, welche die beu a rechneten Aufwandswerte f¨r Speicher, Matrix-Vektor-Multiplikation und u Matrix-Matrix-Multiplikation gut wiedergaben. Beim zweidimensionalen Modellproblem erhielt man unterschiedliche Ergebnisse: das Maß MBCT lieferte gute Absch¨tzungen f¨r den Speicheraufwand und den Matrix-Matrixa u Multiplikations-Aufwand, w¨hrend MCT eine gute Absch¨tzung f¨r den Aufa a u wand einer Matrix-Vektor-Multiplikation ergab. Beide konnten jedoch den Inversionsaufwand nicht gen¨gend genau wiedergeben. u ¨ Das Block-Cluster-Baum-Maß scheint im Uberblick gesehen die besseren Absch¨tzungen zu liefern, doch m¨ssen zur Beurteilung der Maße noch weia u tere Punkte betrachtet werden. Das Cluster-Baum-Maß MCT hat gegen¨ber u MBCT zwei Vorteile. Erstens ist zu dessen Berechnung nat¨rlich kein Blocku Cluster-Baum n¨tig. Steht man also in einem Verfahren vor der Aufgabe, den o Speicheraufwand oder den Aufwand einer H-Matrix-Operation abzusch¨tzen, a kann dies mit MCT durchgef¨hrt werden ohne vorher den Block-Cluster-Baum u berechnen zu m¨ssen. Zweitens zeigt MCT die Ausgeglichenheit eines Clusteru Baums dadurch an, daß es einen Wert ungef¨hr bei 1 annimmt, und zwar a unabh¨ngig vom behandelten Problem, w¨hrend das Block-Cluster-Bauma a Maß im balancierten Fall zwar auch einen nahezu konstanten Wert annimmt, dieser aber von mehreren Faktoren abh¨ngt, wie zum Beispiel dem Paramea

62

6. Beurteilung der numerische Ergebnisse

63

ter η der Zul¨ssigkeitsbedingung (2.2). Falls man diesen Wert, den MBCT im a balancierten Fall annimmt, in einem Verfahren ben¨tigt (zum Beispiel, um o absch¨tzen zu k¨nnen, wie groß der Unterschied zwischen dem Aufwand zu a o einem balancierten Baum und dem Aufwand zu einem unbalancierten Baum ist), muß man ihn erst durch Berechnung verschiedener balancierter ClusterB¨ume zum gleichen Problem ermitteln. a

63

7. Anwendung der Maße

64

7

Anwendung der Maße

In diesem Kapitel wird beschrieben, wie die vorgestellten Maße in einem Verfahren mit adaptiven Verfeinerungsschritten, welches H-Matrizen verwendet, benutzt werden k¨nnen, um den Aufwand des Gesamtverfahrens zu verbeso sern. Es wird dargestellt, wie der Cluster-Baum und der Block-Cluster-Baum 1. Berechnung des balancierten Cluster-Baums

2. Berechnung des Block-Cluster-Baums

3. Berechnung der H-Matrix zum Block-Cluster-Baum

4. Durchf¨hrung der Rechnung u

5. Verfeinerung der Paneelmenge bzw. des Cluster-Baums

6. Update des Block-Cluster-Baums

7. Absch¨tzung des Aufwandes a

8a. Balancierung des Cluster-Baumes

8b. Update der H-Matrix

Abbildung 17: Anwendung eines Maßes

¨ sich nach einer Verfeinerung ver¨ndern und wie diese Anderungen auf die Ha Matrix ubertragen werden k¨nnen. Außerdem wird erkl¨rt, wie man zu der o a ¨ Entscheidung gelangt, entweder den Cluster-Baum zu balancieren oder nur ein Update der H-Matrix durchzuf¨hren. u

64

7. Anwendung der Maße

65

F¨r die Absch¨tzung einiger vorkommender Aufw¨nde kann entweder das u a a Cluster-Baum-Maß MCT oder das Block-Cluster-Baum-Maß MBCT verwendet werden. Je nachdem ergeben sich Unterschiede im Ablauf des Verfahrens. Die Abbildung 17 zeigt die einzelnen Schritte, die f¨r ein solches Verfahren u n¨tig sind. o 1. Berechnung des balancierten Cluster-Baums: zu einer gegebenen Paneel-Menge wird ein balancierter Cluster-Baum berechnet. Daf¨r u steht der in Anhang A beschriebene Algorithmus zur Verf¨gung. u 2. Berechnung des Block-Cluster-Baums: der Block-Cluster-Baum bzw. eine minimal zul¨ssige Partitionierung wird nach Konstruktion 2.5 oder a 2.6 berechnet. Ist von dem zu behandelnden Problem bekannt, daß sich das Block-Cluster-Baum-Maß MBCT f¨r balancierte Block-Clusteru B¨ume nahezu konstant verh¨lt, erh¨lt man mit dem Maß dieses Baua a a start mes einen Richtwert MBCT f¨r die weiteren Rechnungen. u 3. Berechnung der H-Matrix zum Block-Cluster-Baum: die Matrix wird dem Problem und dem Block-Cluster-Baum entsprechend aufgestellt. 4. Mit der berechneten Matrix wird eine Operation durchgef¨hrt, welche u dann zu der Entscheidung f¨hrt, die Paneelmenge zu verfeinern. u 5. Verfeinerung der Paneelmenge bzw. des Cluster-Baums: die Bl¨tter des a Cluster-Baums entsprechen den einzelnen Paneelen. Dementsprechend f¨hrt die Verfeinerung eines Paneels dazu, daß das entsprechende Blatt u des Cluster-Baums ersetzt wird durch einen nicht-trivialen Baum, dessen Bl¨tter den durch Verfeinerung neu entstandenen Paneelen enta sprechen. Ein Update des Cluster-Baum-Maßes MCT ist einfach durchzuf¨hren. u 6. Update des Block-Cluster-Baums: dieser Schritt wird an dieser Stelle nur durchgef¨hrt, falls das Block-Cluster-Baum-Maß zur Absch¨tzung u a des Aufwandes benutzt wird. Andernfalls w¨rde er zwischen Schritt 7 u und 8b durchgef¨hrt. u F¨r eine Verfeinerung kommen all die Bl¨tter t = (t1 , t2 ) des Blocku a Cluster-Baums in Frage, deren Zeilen- oder Spalten-Cluster t1 und t2 als Teilmenge ein verfeinertes Paneel enthalten. Wenn keine Minimalgr¨ße f¨r ein solches Blatt vorgegeben ist, so ist t o u entweder zul¨ssig oder nicht. Im zweiten Fall waren t1 und t2 vor der a

65

7. Anwendung der Maße

66

Verfeinerung Paneele. Ist t zul¨ssig, so wird der Block nicht weiter vera feinert, da er auch nach Verfeinerung des Zeilen- oder Spalten-Cluster zul¨ssig ist (die Zul¨ssigkeitsbedingung (2.2) benutzt nur Durchmesser a a und Abstand von Clustern, welche sich bei Verfeinerung nicht ¨ndern). a Nichtsdestotrotz muß die zu diesem Block geh¨rende Block-Matrix in o der H-Matrix in Schritt 8b angepaßt werden, da sich unter anderem deren Dimension ge¨ndert hat. Ist t nicht zul¨ssig, werden entsprechend a a den verfeinerten Clustern t1 und/oder t2 die S¨hne von t berechnet. o Wenn mit einer Minimalgr¨ße f¨r Bl¨cke gearbeitet wird, ist das Blatt o u o t entweder wiederum zul¨ssig oder |t1 | und/oder |t2 | sind kleiner als die a Minimalgr¨ße. Im ersten Fall wird der Block nicht verfeinert. Im zweio ten Fall kann die Minimalgr¨ße nach der Verfeinerung uberschritten o ¨ sein, so daß die Berechnung der S¨hne von t n¨tig wird. o o Nach dem Update des Block-Cluster-Baums kann der neue Wert f¨r u MBCT berechnet werden. 7. Absch¨tzung des Aufwandes: an dieser Stelle wird die Entscheidung a getroffen, ob mit dem verfeinerten Cluster-Baum bzw. Block-ClusterBaum weitergerechnet wird, oder ob dieser vor weiteren Rechnungen balanciert wird. F¨r die Rechnungen kommen Matrix-Vektor- oder u Matrix-Matrix-Multiplikationen oder Matrix-Inversionen in Frage. Folgende Aufw¨nde sind dabei gegeneinander abzuw¨gen: a a

I. Aufwand der Balancierung des Cluster-Baums + II. Aufwand der Berechnung des Block-Cluster-Baums + III. Aufwand der Berechnung der H-Matrix + IV. Aufwand der n¨chsten a Rechnung

(V. Aufwand f¨r Update u des Block-Cluster-Baums) + VI. Aufwand f¨r Update u der Matrix + VII. Aufwand der n¨chsten a Rechnung

66

7. Anwendung der Maße

67

Ist der Aufwand der linken Seite kleiner als der der rechten Seite, entscheidet man sich f¨r 8a, die Balancierung des Cluster-Baums. Ansonu sten entscheidet man sich f¨r 8b, ein Update der Matrix. Falls mit dem u Block-Cluster-Baum-Maß gearbeitet wird, um den Aufwand zu IV und VII abzusch¨tzen, entf¨llt V, da der Block-Cluster-Baum dann schon a a in 6 angepaßt wurde. F¨r IV w¨rde man als Wert f¨r das Maß in der u u u Absch¨tzung entweder 1.0, falls mit dem Cluster-Baum-Maß gerechnet a start wird, oder MBCT verwenden, falls mit dem Block-Cluster-Baum-Maß gerechnet wird. In VII wird das nach dem Update neu berechnete Maß verwendet. Der Aufwand zu I, II und III wird unten n¨her erl¨utert, w¨hrend der a a a Aufwand zu V und VI in dieser Arbeit nicht behandelt wird. 8a. Balancierung des Cluster-Baums: F¨r diese Aufgabe kann der im Anu hang A beschriebene Algorithmus verwendet werden. 8b. Update der H-Matrix: im folgenden nehmen wir an, daß die H-Matrix, wie in Abschnitt 2.7 beschrieben, zur Diskretisierung eines Integraloperators verwendet wird. Sei t = (tx , ty ) ein in Schritt 6 verfeinerter Block-Cluster, der vor der Verfeinerung zul¨ssig war. Die Zul¨ssigkeitsbedingung (2.2) gilt dann a a wie schon gesagt auch nach der Verfeinerung f¨r diesen Block. Dadurch u bleibt die dem Block entsprechende Block-Matrix also eine Rk-Matrix, nur die Vektoren αl und βl (siehe (2.17) und (2.18) auf Seite 20) ¨ndern a sich. Die Darstellung (2.16) auf Seite 19, die zu der Block-Matrix At f¨hrt, zeigt, daß die Vektoren αl nur vom Cluster tx abh¨ngen (abgeseu a hen vom Chebyshev-Zentrum y∗ , welches aber bei Verfeinerung von ty nicht ver¨ndert wird) und die Vektoren βl nur vom Cluster ty abh¨ngen. a a Dementsprechend f¨hrt eine Verfeinerung von tx zu einer Neuberechu nung der Vektoren αl , w¨hrend ein neues ty zu neuen Vektoren βl f¨hrt, a u welche dann eine neue Rk-Matrix ergeben. F¨r eine Betrachtung des Aufwands des Matrix-Updates kann aber u noch angemerkt werden, daß ein verfeinerter Cluster tx sowohl zu einem Update von αl -Vektoren in einer zu Block (tx , ty ) geh¨renden o Rk-Matrix als auch zu einem Update von βl -Vektoren in einem Block (ty , tx ) f¨hrt, da mit dem Block t = (tx , ty ) auch der Block t′ = (ty , tx ) u in der Partitionierung auftritt. Ist t = (tx , ty ) ein in Schritt 6 verfeinerter Block-Cluster, der vor der Verfeinerung nicht zul¨ssig war, so hat man die Block-Matrix, welche a

67

7. Anwendung der Maße

68

zu t geh¨rt, durch eine andere, dem verfeinerten Block t entsprechende, o Matrix zu ersetzen. Der in Anhang A beschriebene Algorithmus zur Berechnung eines balancierten Cluster-Baums hat einen Aufwand von O(n log2 n), wie dort noch n¨her a erl¨utert wird. Der Aufwand f¨r I ist also eine nur von n abh¨ngige Funktion, a u a die implementationsabh¨ngig festgelegt ist. a Der Aufwand II zur Berechnung des Block-Cluster-Baums T2 bzw. einer minimal zul¨ssigen Partitionierung besteht im wesentlichen aus dem Aufwand zur a Pr¨fung der Zul¨ssigkeitsbedingung (2.2) NAC f¨r jeden Knoten des Blocku a u Cluster-Baums (abgesehen von den Diagonalbl¨cken, f¨r welche die Zul¨ssigo u a keitsbedingung nie wahr ist): NBCB ≈ NAC · |T2 |. Numerische Experimente zeigen, daß die Anzahl der Bl¨tter des Block-Cluster-Baums |T2 | f¨r unbaa u lancierte und balancierte Cluster-B¨ume nahezu gleich und linear ansteigend a in n ist. Also ist auch f¨r den Aufwand II eine einfache Absch¨tzung m¨glich. u a o Zur Untersuchung des Aufwandes III der Berechnung einer H-Matrix betrachten wir den speziellen Fall einer Matrix zum eindimensionalen Modellproblem (Abschnitt 4.1 auf Seite 30), deren s¨mtliche Bl¨cke als R1-Matrizen a o gespeichert sind. Die verwendeten R1-Matrizen haben die approximierten Matrixeintr¨ge (4.2) (siehe Seite 32). Sei Nentry der Aufwand zur Berechnung a eines solchen Eintrags. Nun werden zur Definition einer R1-Matrix aber nicht n · m Eintr¨ge ben¨tigt, sondern nur n + m, daß heißt, der Berechnungsaufa o wand einer R1-Matrix ist Nentry · (n + m). Insgesamt hat die hier betrachtete H-Matrix MBCT · n log2 n ,,R1-Matrix-Eintr¨ge”, sodaß sich der Aufwand a NBM = Nentry · MBCT · n log2 n ergibt. Dieser Aufwand best¨tigte sich auch bei den numerischen Experimena ten in 5.3.

68

8. Zusammenfassung

69

8

Zusammenfassung

Es gibt einige iterative Verfahren zur L¨sung von linearen Gleichungssysteo men mit einer schwach-besetzten n × n-Matrix, deren Speicheraufwand und Aufwand f¨r eine Matrix-Vektor-Multiplikation durch O(n) beschrieben ist. u Bei vollbesetzten Matrizen, die zum Beispiel bei der Randelementmethode auftreten, erh¨lt man jedoch Aufw¨nde der Gr¨ßenordnung O(n2 ) oder sogar a a o 3 O(n ) f¨r Matrix-Matrix-Multiplikationen und Inversionen. u Die in [6] eingef¨hrten H-Matrizen erlauben es, vollbesetzte Matrizen, welu che schon mit einem bestimmten Diskretisierungsfehler behaftet sind, so zu approximieren, daß der Speicheraufwand die Ordnung O(n log2 n) besitzt, und der Approximationsfehler in der Gr¨ßenordnung des Diskretisierungso fehlers liegt und damit tolerierbar ist. Weiterhin erm¨glichen H-Matrizen o die Durchf¨hrung von arithmetischen Operationen mit einem Aufwand von u O(n logα n) mit α = 1, 2. 2 F¨r die Konstruktion der H-Matrizen wird ein Cluster-Baum verwendet, der u eine hierarchische Aufteilung des dem Problem zugrundeliegenden Gebiets definiert. Durch diesen wiederum definiert man einen Block-Cluster-Baum, der zur Berechnung einer Block-Partitionierung der Matrix benutzt wird. Die einzelnen Bl¨cke der H-Matrix sind dann im wesentlichen Rk-Matrizen, also o Matrizen mit Rang k. Um f¨r die H-Matrizen eine optimale Komplexit¨t von u a α O(n log2 n) zu erreichen, wurden bestimmte Bedingungen an den ClusterBaum gestellt, zum Beispiel daß dieser ausgeglichen ist in dem Sinne, daß alle S¨hne eines beliebigen Knotens des Cluster-Baums die gleiche M¨chtigkeit o a haben. In der vorliegenden Arbeit wurden zwei Funktionen eingef¨hrt, die ein Maß u f¨r die Ausgeglichenheit des Cluster-Baums bzw. des aus dem Cluster-Baum u konstruierten Block-Cluster-Baums sind. Ferner wurde durch numerische Ex¨ perimente und theoretische Uberlegungen gezeigt, wie man mit Hilfe dieser Maße den Speicheraufwand und den Aufwand f¨r arithmetische Operatiou nen der aus dem Cluster-Baum resultierenden H-Matrix in einigen Spezialf¨llen absch¨tzen kann. Eine Anwendung dieser Maße in einem adaptiven a a Verfahren, bei dem das dem Problem zugrundeliegende Gebiet verfeinert wird (wodurch der Cluster-Baum im allgemeinen seine Ausgeglichenheit verliert), wurde ebenfalls beschrieben. Die Definition der Maße wurde motiviert durch den Speicheraufwand einer HMatrix, deren s¨mtliche Bl¨cke R1-Matrizen sind. Die numerischen Experia o mente wurden mit H-Matrizen dieses Formats und mit solchen durchgef¨hrt, u

69

8. Zusammenfassung

70

deren Block-Matrizen ab einer bestimmten Minimalgr¨ße vollbesetzt aber ano sonsten R1-Matrizen sind. Der Zusammenhang der Maße mit H-Matrizen, deren Block-Matrizen unterschiedlichen Rang oder einen konstanten Rang gr¨ßer 1 haben, wurde nicht untersucht. Die Eigenschaft der Maße aber, die o Ausgeglichenheit des Cluster-Baums anzuzeigen, ist unabh¨ngig von der Art a und Weise, welcher Rang f¨r die in der H-Matrix vorkommenden Blocku Matrizen gew¨hlt wird. a Der Ansatz, eine Matrix blockweise durch Matrizen niederen Ranges zu ersetzen, wird auch in anderen Arbeiten wie [3] beschrieben. Diese Arbeit konzentriert sich aber mehr auf die Frage, wie die einzelnen Bl¨cke der Auso gangsmatrix auf niederen Rang zu konvertieren sind. Die Berechnung einer Block-Partitionierung wird nicht weiter erl¨utert. Ohne die Konstruktion eia ner Block-Partitionierung durch einen Cluster-Baum ist also auch die Anwendung der vorgestellten Maße f¨r diesen Fall nicht m¨glich. u o Eine Erweiterung der H-Matrizen sind die H2 -Matrizen [9], deren Aufwand gegen¨ber den H-Matrizen nochmal verbessert wurde, da der logarithmische u Faktor im Aufwand bei diesen fehlt. H2 -Matrizen basieren auf der gleichen Cluster-Baum- und Block-Cluster-Baum-Konstruktion wie H-Matrizen. Eine Aussage uber die Ausgeglichenheit ist also problemlos m¨glich. Ob eine o ¨ 2 Absch¨tzung des Aufwands von H -Matrizen mit Hilfe der Maße m¨glich ist, a o m¨ßte jedoch noch weiter untersucht werden. u

70

A. Algorithmus zur Berechnung eines balancierten Cluster-Baums

71

A

Algorithmus zur Berechnung eines balancierten Cluster-Baums

Sei Π = {π1 , . . . , πn } eine Paneelmenge mit πi ⊆

Ê

d

f¨r 1 ≤ i ≤ n. u

Der folgende Algorithmus nach einer Idee von Klaus Giebermann, der auch in [2] beschrieben ist, berechnet einen Cluster-Baum, dessen Bl¨ttermenge a gleich der oben angegebenen Panelmenge Π ist. Die zugrundeliegende Idee einer Binary Space Partition wurde schon in [1] erw¨hnt. a Algorithmus A.1 Eingabe: Panelmenge Π = {π1 , . . . , πn }, Ausgabe: Cluster-Baum T mit L(T ) = Π,

1. Falls n = 1 ist, so liefere den Baum, der nur aus dem Knoten π1 besteht, als Ergebnis zur¨ck. u 2. Ansonsten (a) berechne f¨r 1 ≤ k ≤ d u mink := min{xk : (x1 , . . . , xd ) ∈ πi , 1 ≤ i ≤ n} maxk := max{xk : (x1 , . . . , xd ) ∈ πi , 1 ≤ i ≤ n} diamk := maxk − mink , (b) w¨hle m ∈ {1, . . . , d} mit diamm ≥ diamk f¨r alle 1 ≤ k ≤ d, a u (c) teile Π auf in Π′ und Π′′ mit ||Π′ | − |Π′′ || ≤ 1, so daß f¨r alu ′ ′ ′′ ′′ le π ∈ Π und π ∈ Π die m-te Komponente des ChebyshevZentrums von π ′ kleiner oder gleich der m-ten Komponente des Chebyshev-Zentrums von π ′′ ist, (d) berechne T ′ und T ′′ durch Aufruf dieses Algorithmus mit den Mengen Π′ und Π′′ , (e) liefere den Cluster-Baum, der T ′ und T ′′ als einzige Unterb¨ume a besitzt, als Ergebnis zur¨ck. u Mit diesem Algorithmus erh¨lt man einen Cluster-Baum mit folgenden Eia genschaften:

71

A. Algorithmus zur Berechnung eines balancierten Cluster-Baums

72

1. Die Wahl der Teilungsrichtung in (b) bewirkt, daß die Cluster m¨glichst o kleine Durchmesser haben. Diese Eigenschaft ist f¨r den Cluster-Baum u hinsichtlich der Zul¨ssigkeitsbedingung (2.2) wichtig, bei der die geoa metrische Gr¨ße der Cluster eingeht. o 2. Durch die Aufteilung in (c) haben die Unterb¨ume eines beliebigen a Knotens des Cluster-Baums bis auf Differenz 1 die gleiche Blattanzahl, sodaß der berechnete Cluster-Baum im bisher angewandten Sinne ausgeglichen ist. Zur Durchf¨hrung des Schrittes (c) muß die Menge Π nicht vollst¨ndig geordu a net werden, es reicht, die Menge zu teilen. Daf¨r berechnet man den Median u der Menge der m-ten Komponenten, also den ⌊n/2⌋-kleinsten Wert dieser Menge, welcher in O(n) gefunden werden kann. Dann teilt man Π auf in die Elemente, deren m-te Komponente kleiner bzw. gr¨ßer als der Median ist. o Insgesamt ergibt sich damit eine Laufzeit von O(n log2 n).

72

B. K¨rzung einer H-Matrix auf eine Rk-Matrix u

73

B

Kurzung einer H-Matrix auf eine Rk¨ Matrix

Sei A eine H-Matrix der Form  A11 . . . A1m  . .  .   . . . An1 . . . Anm  mit Aij ∈ ri ×cj Rk-Matrizen mit Rang kij , wobei ri die Zeilenh¨hen und o cj die Spaltenbreiten sind.
n m n m

Ê

¯ Setze k :=
i=1 j=1

kij , r := ¯
i=1 kij T

ri und c := ¯
j=1

cj .

Es seien Aij =
l=1

al bl Rk-Matrizen. ij ij  

Sei 0p ein Nullvektor der L¨nge p. a   0r 1  .  .  .     0ri−1    Definiere pr (al ) :=  al  ∈ i ij  ij   0ri+1   .   .  . 0r n Es gilt dann

Ê

r ¯

0c 1  . .  .   0cj−1  und pc (bl ) :=  bl j ij  ij  0cj+1  .  . . 0c m

      ∈    

Ê.
c ¯

n

m

kij

A=
i=1 j=1 l=1

pr (al )pc (bl )T ∈ i ij j ij

Ê

r ׯ ¯ c

.

¯ Definiere die Matrix A durch

k ˆ Aij := (pr (a1 ) . . . pr (aijij )) ∈ i ij i

Ê

r ×kij ¯

,

73

B. K¨rzung einer H-Matrix auf eine Rk-Matrix u

74

ˇ ˆ ˆ Ai := (Ai1 . . . Aim ) und ¯ ˇ ˇ A := (A1 . . . An ) ∈

Ê

r ×k ¯ ¯

.

¯ o Die Spalten der Matrix A k¨nnen nach dieser Konstruktion durch Tripel ¯ ˆ (i, j, k) indiziert werden, wobei A(i,j,k) der k-ten Spalte von Aij entspricht f¨r u 1 ≤ i ≤ n, 1 ≤ j ≤ m und 1 ≤ k ≤ kij . ¯ ¯ Die Matrix GA := AT A hat dementsprechend Zeilen- und Spaltenindizes ¯ der Form (i, j, k) und es gilt (GA )(i1 ,j1 ,l1 ),(i2 ,j2 ,l2 ) = pr1 (al1 j1 )T pr2 (al2 j2 ) ¯ i i i2 i1 f¨r 1 ≤ i1 , i2 ≤ n , 1 ≤ j1 , j2 ≤ m , 1 ≤ l1 ≤ ki1 j1 und 1 ≤ l2 ≤ ki2 j2 . u Es gilt u (al1 j1 )T (al2 j2 ) f¨r i1 = i2 i2 i1 . 0 sonst

(GA )(i1 ,j1 ,l1 ),(i2 ,j2 ,l2 ) = ¯

(B.1)

¯ ¯ Analog definiert man die Matrix GB := B T B durch ¯
k ˆ Bij := (pc (b1 ) . . . pc (bijij )) ∈ j ij j

Ê

c×kij ¯

,

ˇ ˆ ˆ Bi := (Bi1 . . . Bim ) und ¯ ˇ ˇ B := (B1 . . . Bn ) ∈ mit der Eigenschaft u (bl1 j1 )T (bl2 j2 ) f¨r j1 = j2 i2 i1 . 0 sonst

Ê

c×k ¯ ¯

(GB )(i1 ,j1 ,l1 ),(i2 ,j2 ,l2 ) = ¯ Dann folgt

(B.2)

74

B. K¨rzung einer H-Matrix auf eine Rk-Matrix u

75

(GA GB )(i1 ,j1 ,l1 ),(i2 ,j2 ,l2 ) ¯ ¯ = = (GA )(i1 ,j1 ,l1 ),(i,j,l) (GB )(i,j,l),(i2 ,j2 ,l2 ) ¯ ¯
(i,j,l) (B.1)(B.2) ki 1 j 2

(GA )(i1 ,j1 ,l1 ),(i1 ,j2 ,l) (GB )(i1 ,j2 ,l),(i2 ,j2 ,l2 ) ¯ ¯
l=1 ki 1 j 2

(B.1)(B.2)

=

(al1 j1 )T (al1 j2 ) (bl1 j2 )T (bl2 j2 ) i i i2 i1
l=1

Das weitere Vorgehen ist wie bei der Addition von Rk-Matrizen (zu weiteren Einzelheiten siehe [6]). Berechne die Nichtnulleigenwerte µ1 ≥ . . . µr > 0 von GA GB und die zugeh¨rigen Eigenvektoren v1 , . . . , vr . o ¯ ¯ Die Eintr¨ge des Vektors vs seien ebenfalls durch Tripel (i, j, k) indiziert. a Setze
n m kij

ˆs := Bvs = ¯ b
i=1 j=1 l=1

pc (bl ) · vs,(i,j,l) . j ij

Mit der Unterteilung  ˆs,1 b  ˆs =  . b   . . ˆs,m b 

gilt

n

kij

ˆs,j = b
i=1 l=1

bl · vs,(i,j,l) f¨r j = 1, . . . , m. u ij

Setze as := (Aˆs )/(ˆT ˆs ). ˆ b bs b

75

B. K¨rzung einer H-Matrix auf eine Rk-Matrix u

76

Dann gilt f¨r die gek¨rzte Matrix u u
r

ˆ A :=
l=1

asˆT . ˆ bs

76

Literatur
[1] H. Fuchs, Z.M. Kedem, and B.F. Naylor. On Visible Surface Generation by A Priori Tree Structures. Computer Graphics, 14:124–133, 1980. [2] Klaus Giebermann. A Particle Clustering Algorithm for the Fast Evaluation of Coulomb-Type Potentials in 3 . submitted.

Ê

[3] S.A. Goreinov, E.E. Tyrtyshnikov, and A.Yu. Yeremin. Matrix-free Iterative Solution Strategies for Large Dense Linear Systems. Numerical Linear Algebra with Applications, 4(4):273–294, 1997. [4] Wolfgang Hackbusch. Theorie und Numerik elliptischer Differentialgleichungen. Teubner, 1986. [5] Wolfgang Hackbusch. Integralgleichungen. Teubner, 1989. [6] Wolfgang Hackbusch. A Sparse Matrix Arithmetic based on H-Matrices. Computing 62, pages 89–108, 1999. [7] Wolfgang Hackbusch and Boris N. Khoromskij. H-Matrix approximation on Graded Meshes. Preprint MPI 54, Leipzig 1999, to appear in the Proceedings of MAFELAP 1999 (ed. J.R. Whiteman). [8] Wolfgang Hackbusch and Boris N. Khoromskij. A Sparse H-Matrix arithmetic: general complexity estimates. Preprint MPI 66, Leipzig 1999. [9] Wolfgang Hackbusch, Boris N. Khoromskij, and Stefan A. Sauter. On H2 -matrices. Preprint MPI 50, Leipzig 1999. [10] Wolfgang Hackbusch and Z.P. Nowak. On the fast matrix multiplication in the boundary element method by panel clustering. Numer. Math. 54, pages 463–491, 1989. [11] H.R. Shortley and R. Weller. Numerical solution of Laplace’s equation. J. Appl. Phys., 9:334–348, 1938.

77

Danksagung
Ich bedanke mich bei Prof. Dr. Wolfgang Hackbusch und Dr. Sabine Le Borne f¨r die geduldige Betreuung und Unterst¨tzung bei dieser Arbeit. Ich danke u u ferner Lars Grasedyck f¨r Anregungen und Hinweise bei der Implementation u der H-Matrix-Arithmetik. Ute Elsner gilt Dank f¨r das Korrekturlesen der u Arbeit und aufmunternde Worte. Außerdem danke ich noch Jethro Tull f¨r u die Hintergrundmusik.

Erkl¨rung a
Hiermit versichere ich, daß ich die vorliegende Arbeit selbst¨ndig verfaßt a habe und ausschließlich die angegebenen Hilfsmittel und Quellen verwendet habe. Kiel, der