Sie sind auf Seite 1von 80

Aufwandsabschtzungen a fur H-Matrizen bei nicht ausgeglichenen Cluster-Bumen a

Diplomarbeit von Achim Abeling

am Institut fr Informatik und Praktische Mathematik u der Christian-Albrechts-Universitt 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 . . . . . . . . . . . . . . . . . . . . . Zulssige Partitionierungen . . . . . . . . . . . . . . . . . . . . a 6 8 9

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

3 Aufwandsmae 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 Krzung der Matrizen . . . . . . . . . . . . . . . . . . . . 39 u Numerische Ergebnisse zum eindimensionalen Modellproblem I 40 5.3.1 5.3.2 5.3.3 Das Verhalten der Mae . . . . . . . . . . . . . . . . . 41 Das Verhalten des Speicheraufwandes . . . . . . . . . . 42 Das Verhalten des Aufwandes der Matrix-VektorMultiplikation . . . . . . . . . . . . . . . . . . . . . . . 43

5.3.4 5.4

Das Verhalten des Aufwandes fr die Matrix-Matrixu Multiplikation . . . . . . . . . . . . . . . . . . . . . . . 45 Das Verhalten der Mae . . . . . . . . . . . . . . . . . 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 Mae . . . . . . . . . . . . . . . . . 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 Mae 8 Zusammenfassung

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

Abbildungsverzeichnis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Verhalten der Mae (1D,I) . . . . . . . . . . . . . . . . . . . . 41 Verhalten des Speicheraufwandes (1D,I) . . . . . . . . . . . . . 43 Verhalten des Aufwandes der Matrix-Vektor-Multiplikation und Abschtzung mit MBCT (1D,I) . . . . . . . . . . . . . . . 44 a Verhalten des Aufwandes der Matrix-Vektor-Multiplikation und Abschtzung mit MCT (1D,I) . . . . . . . . . . . . . . . . 45 a Verhalten des Aufwandes einer Matrix-Matrix-Multiplikation und Abschtzungen (1D,I) . . . . . . . . . . . . . . . . . . . . 46 a Verhalten der Mae (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 Mae (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 Maes . . . . . . . . . . . . . . . . . . . . . 64

1. Einfhrung u

Einfuhrung

Die vorliegende Diplomarbeit untersucht das Komplexittsverhalten von Ha Matrizen, deren Grundlagen in [6] eingefhrt wurden. H-Matrizen knnen 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 deniert, die es erlaubt, Matrix-Vektor-Multiplikationen, Matrix-Matrix-Multiplikationen und Inversionen mit fast linearem Aufwand1 bezglich der Matrixgre n durchzufhren. Der Speicheraufwand fr diese u o u u Matrizen ist ebenfalls fast linear. Die Denition der H-Matrizen beruht auf einer hierarchischen Unterteilung der dem Integraloperator bzw. Dierentialoperator zugrunde liegenden Oberche in groe und kleine Teilgebiete. Diese Partitionierung kann als Clustera Baum dargestellt werden, welcher schon bei der Panel-Clustering-Methode in [10] eingefhrt wurde. Die Komplexitt einer H-Matrix ist dann abhngig u a a von der ,,Ausgeglichenheit des Cluster-Baumes, zum Beispiel in dem Sinne, da alle Unterbume eines Knotens die gleiche Anzahl von Blttern haben2 . a a Bei ausgeglichenen Cluster-Bumen erreicht man die erwhnte fast lineare a a Komplexitt, im ungnstigen Fall verschlechtert sich die Komplexitt 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-Bume knnen nach einem Verfeinerungsschritt a o bei adaptiven Verfahren, bei denen H-Matrizen eingesetzt werden, entstehen. Eine Mglichkeit, die optimale Komplexitt fr den nchsten Recheno a u a schritt im adaptiven Verfahren zu erreichen, wre, einen neuen ausgeglichea nen Cluster-Baum und demzufolge auch eine neue H-Matrix zu berechnen. Eine andere Mglichkeit wre, die schon existierende H-Matrix, welche zu der o a nicht verfeinerten Oberche aus dem vorherigen Rechenschritt gehrt, enta o sprechend dem neuen Cluster-Baum abzundern. Diese Anderung hat einen a geringeren Rechenaufwand als eine Neuberechnung der H-Matrix, damit ist aber auch eine schlechtere Komplexitt der Arithmetik und Speicherung vera bunden. Zur Abschtzung der H-Matrix-Komplexitt werden in dieser Arbeit zwei a a Mae fr die ,,Ausgeglichenheit einer H-Matrix eingefhrt. Damit wird es u u
Linear bis auf einen logarithmischen Faktor logk n. Es sind aber auch andere Denitionen von ,,Ausgeglichenheit denkbar, die aber zu gleichen Komplexitten fhren. a u
1 2

1. Einfhrung u

mglich, eine Entscheidung darber zu treen, ob eine Neuberechnung des o u Cluster-Baumes und damit der H-Matrix fr den Gesamtaufwand eines adu aptiven Verfahrens gnstiger ist, als das Rechnen mit einer Matrix zu einem u nicht ausgeglichenen Cluster-Baum.

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren

Hierarchische H-Matrizen zur Approximation von Integraloperatoren

Im folgenden werden die Begrie zur Denition von H-Matrizen, der Notation aus [6] folgend, gegeben. Schlielich wird erlutert, wie man H-Matrizen zur a Approximation von Diskretisierungen von Integraloperatoren verwendet.

2.1

Der H-Baum

Zur Denition des H-Baumes werden zuvor einige Begrie aus der Graphentheorie eingefhrt. 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 Vorgnger hat, a (ii) alle anderen Knoten genau einen Vorgnger haben und a (iii) es keine Kreise {x0 , x1 , . . . , xn = x0 } mit (xi , xi+1 ) S fr 0 i < n u gibt. Hierbei heit x K Vorgnger von y K, falls (x, y) S. Ein Knoten ohne a Nachfolger heit 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 Shne eines Knotens t T und mit nt die o Anzahl der Shne von t. o Die Menge der Bltter 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.

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

Denition 2.1 Sei I eine endliche Indexmenge. Ein Baum T heit H-Baum (zu I), falls gilt: (i) I T (ii) Falls t T kein Blatt ist, so ist t disjunkte Vereinigung seiner Shne: o t =
sS(t)

s.

Es folgt, da I die Wurzel des Baumes T ist und da t I fr 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 Bltter von T a P := L(T ). eine Partitionierung von I der Art I= .
k j=1 Ij

(2.1)

und Ii Ij = fr alle i = j. u

Eine solche Partitionierung wird H- oder T -Partitionierung genannt, und die Menge all dieser Partitionierungen heit P(T ) := {L(T ) : T T und T ist H-Baum}. Die Inklusionsordnung auf der Menge der H-Bume erlaubt die Denition a einer partiellen Ordnung auf P(T ):

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

Denition 2.3 Seien T1 und T2 Teilbume von T und H-Bume. Seien fera a ner P1 := L(T1 ), P2 := L(T2 ) P(T ). Die Partitionierung P1 heit grber o (feiner ) als P2 , falls T1 T2 (T2 T1 ) gilt. Spter 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 Denitionen fr den Durchmesser eines Clusters und den Abstand zwischen zwei Clustern: u

Denition 2.4 Sei t T ein Cluster. Dann ist diam(t) := max |xi xj |
i,jt it

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

Xi

x,yX(t)

max |x y|

der Durchmesser von t. Ist s T ein weiteres Cluster, so ist dist(s, t) := min |xi xj |
is,jt

bzw. dist(s, t) :=
xX(s),yX(t)

min

|x y|

der Abstand zwischen s und t. Natrlich 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-Bumen im Falle der Verfeinerung. In Abschnitt 4.3 wird diese a Mglichkeit verwendet. o

2.2

Der Block-Cluster-Baum

Ebenso wie fr die Indexmenge I kann man einen Cluster-Baum fr 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 deniert durch:

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 2.3. Zulssige Partitionierungen a (i) Die Wurzel von T2 ist I I. (ii) Der Knoten t = (t1 , t2 ) T2 hat genau die Shne o

(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 oensichtlich 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 Shne eines Knoo tens t des Block-Cluster-Baums wird im folgenden mit S2 (t) bezeichnet. Man kann eine zweite Konstruktion angeben, mit der gewhrleistet 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 deniert durch: (i) Die Wurzel von T2 ist I I. (ii) Der Knoten t = (t1 , t2 ) T2 hat genau die Shne 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 Mglichkeiten o whlen, wie zum Beispiel |t1 | |t2 |, damit die Cluster eine hnliche Anzahl a a von Indizes beinhalten.

2.3

Zulssige Partitionierungen a

H-Matrizen basieren, wie in 2.4 noch deniert werden wird, auf Partitionierungen von I I. Um Integraloperatoren durch H-Matrizen gengend genau u approximieren zu knnen, bentigt man Partitionierungen, die eine Zulssigo o a keitsbedingung erfllen, welche in diesem Abschnitt eingefhrt werden wird. u u

2. Hierarchische H-Matrizen zur Approximation von Integraloperatoren 10 2.3. Zulssige Partitionierungen a Zunchst bentigt man die a o Denition 2.7 Ein Block t = (t1 , t2 ) T2 heit zulssig, falls t ein Blatt ist a oder min{diam(t1 ), diam(t2 )} 2 dist(t1 , t2 ) gilt, wobei < 1 eine Konstante ist, die spter festgelegt werden wird. a Damit erhlt man die a Denition 2.8 Eine T2 -Partitionierung P von I I heit zulssige Partia tionierung, falls alle Blcke t P zulssig sind. o a Oensichtlich ist P = L(T2 ) eine zulssige Partitionierung von I I, da alle a Blcke t P Bltter von T2 sind. o a Bemerkung 2.9 Seien T und T Teilbume von T2 und H-Bume. Seia a en ferner P = L(T ) und P = L(T ) zwei verschiedene zulssige T2 a Partitionierungen. Dann liefert T T eine zulssige T2 -Partitionierung a P = L(T T ), die im Sinne von Denition 2.3 grber ist als P und P o und es gilt |P | min{|P |, |P |} fr die Anzahl der Blcke von P . u o Diese Bemerkung erlaubt die Denition einer minimalen zulssigen Partitioa nierung: Denition 2.10 Die minimale zulssige T2 -Partitionierung ist diejenige mit a der kleinsten Anzahl von Blcken. o Denition 2.11 Die minimale zulssige Partitionierung erhlt man durch a a Aufruf der folgenden rekursiv denierten Funktion , die in Abhngigkeit a eines Blocks t = (t1 , t2 ) T2 eine minimal zulssige Partitionierung von a t1 t2 berechnet, mit Pmin := (I I): {t} (2.2)

, falls t = (t1 , t2 ) zulssiger Block oder Blatt ist, a (s) , sonst.

(t) :=

sS2 (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)II eine Matrix, so beschreibt M b = (mij )(i,j)b einen Block der Matrix fr ein b P2 . u Denition 2.12 Sei P2 eine Partitionierung von I I und k . Sei der dem Vektorraum der Matrizen zugrunde liegende Krper. Die Menge der o durch P2 induzierten H-Matrizen ist MH,k (I I, P2 ) := {M

II

: fr alle b P2 gilt Rang(M b ) k}. u

Eine Matrix A mit Rang(A) k heit Rk-Matrix. Die Eigenschaften dieser Matrizen sind im folgenden Abschnitt zusammengefat. Anstatt fr 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 gewhlt ist. a Die durch T2 -Partitionierungen induzierten H-Matrizen haben ein dem zur Partitionierung gehrenden 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 herkmmliche o vollbesetzte Matrix oder eine Rk-Matrix. (ii) Ist t kein Blatt, so bilden die Shne von t eine Partitionierung von t1 t2 . o A ist dann eine Matrix, deren Blcke den Shnen von t entsprechen. o o Die Blockstruktur ergibt sich aus der natrlichen Anordnung der Shne u o von t. Ist zum Beispiel t ein Cluster-Block mit den Shnen (ti , tj ) mit o 1 2 1 i n und 1 j m, wobei ti Shne des Clusters t1 und tj Shne 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

fr 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 betrgt k(n + m). a (ii) Eine Rk-Matrix-Vektor-Multiplikation bentigt k(2m+n1)+n(k1) 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 Unterblcken o j j=1 aj , bj von aj und bj , 1 j k.

Beweis: (i) Es mssen k Vektoren aj u werden.

und bj

gespeichert

(ii) Die Rechnung aj (bT x) bentigt 2m + n 1 Operationen. Diese o j wird k-mal durchgefhrt. Die Summe der resultierenden Vektoren u bentigt 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 nm ist im allgemeinen nicht wieder eine Rk-Matrix. Die Summe kann dann aber mit Hilfe der Singulrwertzerlea gung von A + A auf eine Rk-Matrix reduziert werden, wobei der Fehler der Reduktion minimal in der Frobeniusnorm ist. Es existiert eine Singulrwertzerlegung fr A + A der Form a u A + A = U DV T wobei U = [u1 , . . . , un ] nn und V = [v1 , . . . , vm ] mm orthonormale Matrizen sind und D = diag(1 , . . . , r , 0, . . . , 0) nm 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 Denition einer H-Matrix-Arithmetik mglich: 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 Blockgren 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 Bercksichtigung passender Blocku gren, 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 deniert, wenn die Matrizen eine fr die Operatiu on passende Blockstruktur besitzen und die dabei auftretenden Operationen der Blockmatrizen deniert sind. Addition und Multiplikation einer H-Matrix mit einer Rk-Matrix erfolgen durch Zerlegung der Rk-Matrix in Unterblcke passender Gre (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 deniert. Ist A = A21 A22 H-Matrix, so ist A1 = A1 + A1 A12 S 1 A21 A1 A1 A12 S 1 11 11 11 11 S 1 A21 A1 S 1 11 (2.3)

mit dem Schurkomplement S = A22 A21 A1 A12 die exakte Inverse von A. 11 Man erhlt eine approximierte Inverse InvH (A), indem man alle Operationen a durch die der H-Arithmetik ersetzt und fr A1 und S 1 die nach Induktion u 11 bereits berechnete approximierte Inverse InvH (A11 ) bzw. InvH (S) einsetzt. Dieses Verfahren lt 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 ). fr 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-Blcke 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 fr den rechten oberen Block, so da InvH (A) folgende Form u hat:

Um trotzdem optimalen Aufwand fr die Inversion zu erhalten, mssen die u u bei der Inversion auftretenden Zwischenergebnisse passend gekrzt werden. u Darauf wird in Abschnitt 5 nher 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 Oberche 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 nchster Diskretisierungschritt wird die Funktion u aus (2.4) beschrnkt a a auf Funktionen un Vn auf Sn , wobei Vn ein endlich dimensionaler Vektorraum von Funktionen der Dimension n ist. Vn knnte beispielsweise der Raum o der auf den Paneelen stckweise konstanten oder stetigen stckweise u u linearen Funktionen sein. Ist {1 , . . . , n } eine Basis von Vn , so existiert fr 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 () fr alle . u Dies fhrt mit (2.6) auf das lineare Gleichungssystem (A B)a = f mit u

nn nn

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 zulssigen Partitionierung P2 a von I I, welche ermittelt wurde mit der Zulssigkeitsbedingung (2.2), in a (2.7) die Kernfunktion k(x, y) fr zulssige Blcke 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(x, y) =
l=1

l (x)l (y),

(2.8)

so da der dadurch entstehende Approximationsfehler in der Grenordnung o des Diskretisierungsfehlers durch die Kollokations- bzw. Galerkin-Methode liegt, die so vorgenommene Approximation also erlaubt ist. Eine entartete Kernfunktion (2.8) erhlt man zum Beispiel durch eine Taylorentwicklung a von k(x, y) bezglich y. u Im folgenden wird eine Abschtzung fr den absoluten Fehler der Approxia u mation gegeben. Wir nehmen an, da fr k(x, y) die Abschtzung u a
|x y k(x, y)| c(||, ||) |x y||||| |k(x, y)|,

fr alle , u

, x, y
d 0

(2.9)

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

{0} sind.

Diese Abschtzung trit fr 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 |xy| fr d = 2, mu die Abschtzung gendert werden. Wir betrachten nun einen Block t = (tx , ty ) T2 und beschrnken 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 fr die Taylor-Entwicklung ist das u 4 Chebyshev-Zentrum y von X(ty ), da dann 1 |y y | diam(ty ) 2

(2.11)

fr 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 Sphre mit kleinstem a Radius, welche X enthlt. a

17

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

m1

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 abgeschtzt 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 Zulssigkeitsbedingung (2.2) fr tx und a u ty min{diam(tx ), diam(ty )} 2 dist(tx , ty ) mit 1 4c(0, 1)

< min 1,

(2.13)

Fr m 1 gilt dann u

|k(x, y) k(x, y)| c(m) m |k(x, y)|

fr alle x X(tx ), y X(ty ). u

Beweis: Fr 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) |yy |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 fr 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 )

fr 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 vervollstndigt 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 whlt als a Basis von Vn in (2.6) stckweise konstante Funktionen auf den Paneelen j , u so erhlt 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)


m1

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 zulssiger Block, so lautet die dazugehrige Blocka o Matrix

A =
l=1

l lT

(2.17)

mit l = (l,i )itx l = (l,j )jty

|tx | |ty |

, l,i = l (i ) , l,j = j l (y)dy,

(2.18)

wobei die l (y) Funktionen von y in Abhngigkeit eines fest gewhlten y ty a a t sind. A ist also eine Rk-Matrix. Man erhlt dann, wie in Abschnitt 2.4 beschrieben, eine dem Block-Clustera Baum T2 entsprechend rekursiv aufgebaute H-Matrix, indem man fr zulssiu a t ge Blcke t die Rk-Matrix A whlt und fr nicht zulssige Blcke t = (tx , ty ) o a u a o die Blockmatrix

At = (aij )itx ,jty mit aij wie in (2.7).

20

3. Aufwandsmae fr H-Matrizen u

21

Aufwandsmae fur H-Matrizen

Wie in [7] festgestellt wurde, erreicht man bei kardinalitts-balancierten a binren Cluster-Bumen5 fr die daraus resultierende H-Matrix einen a a u Aufwand von O(n log2 n) fr die Speicherung und die Matrix-Vektoru u Multiplikation, sowie von O(n log2 n) fr die Matrix-Matrix-Multiplikation 2 und die Matrix-Inversion. Fr nicht kardinalitts-balancierte Cluster-Bume 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 1m- und m1-Blcken, o 2 der Speicheraufwand ist damit proportional zu n . In der Praxis wird man solche extrem nicht-balancierten Cluster-Bume vera meiden knnen, es stellt sich aber weiterhin die Frage, wie gro der Aufwand o fr nicht ganz balancierte Cluster-Bume ist, welche zum Beispiel bei der u a Anwendung von H-Matrizen in adaptiven Verfahren entstehen knnen. o In diesem Kapitel werden nun zwei Mae entwickelt, mit deren Hilfe eine Aussage uber die Balanciertheit eines Cluster-Baumes bzw. eines Block-Cluster Baumes mglich wird. Auerdem werden erste theoretische Ergebnisse zur o Anwendung dieser Mae als Hilfsmittel zur Aufwandsabschtzung gegeben. a
D.h. die Anzahl der Bltter zweier beliebiger Unterbume eines Knotens des Clustera a Baumes ist gleich.
5

21

3. Aufwandsmae fr 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 kardinalitts-balancierter Cluster-Baum T (I) mit |I| = 2p = n. Eia ne aus diesem Cluster-Baum resultierende Partitionierung von I I sei so gewhlt, da alle Auerdiagonalblcke zulssig sind. Damit erhlt man die a o a a in [6] denierte Block-Partitionierung B2 (I, T ), fr die gezeigt wurde, da u der Speicheraufwand und der Aufwand fr eine Matrix-Vektor-Multiplikation u O(n log2 n) und der Aufwand fr eine Matrix-Matrix-Multiplikation und u Matrix-Inversion O(n log2 n) betragen. 2 Die Block-Partitionierung B2 (I, T ) kann nun jedoch auch fr nicht balanu cierte Cluster-Bume berechnet werden, soda der Speicheraufwand der daa zugehrigen H-Matrix als Ma fr die Ausgeglichenheit des Cluster-Baumes o u benutzt werden kann. Wir denieren zunchst die oben beschriebene Block-Partitionierung: a Denition 3.2 Sei T = T (I) ein beliebiger Cluster-Baum zu I mit der Eigenschaft nt = 1 fr 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 deniert durch (i) P (t, T ) = t t, falls nt = 0, und (ii) P (t, T ) =
sS(t)

P (s, T )
(r,s)S(t)2 r=s

r s, falls nt = 0.

Bemerkung 3.3 P (I, T ) ist die grbste mgliche 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. Auerdem nehmen wir an, da auch die 1 1-Blcke als R1-Matrizen o gespeichert werden, soda sich fr diese der Speicheraufwand 2 ergibt. u Der Speicheraufwand NST (I, T ) einer H-Matrix zur Partitionierung P (I, T ) ist dann nur abhngig vom Cluster-Baum T und kann entsprechend der Dea nition der Partitionierung rekursiv berechnet werden durch

22

3. Aufwandsmae fr H-Matrizen u 3.1. Ein Cluster-Baum-Ma

23

NST (t, T ) =

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

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

, falls nt = 0

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

|nt 1| |t|.

Beweis: Hilfsbehauptung 1: Es gilt


(r, s) S(t)2 r=s

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

fr 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) fr t T (die Nachkommen von t u |ns 1||s| fr alle u
sF (t)

sS(t)

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

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

23

3. Aufwandsmae fr H-Matrizen u 3.1. Ein Cluster-Baum-Ma NST (t, T ) = 2 = 2|nt 1||t| = 2


sF (t)

24

|ns 1||s|.

Die Behauptung gelte nun fr alle Shne von t. Dann folgt u o NST (t, T ) =
sS(t)

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

|r| + |s|

(IV)(HB1)

2
sS(t) rF (s)

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

=2
sF (t)

|ns 1||s|.

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

Im balancierten Fall ist der Speicheraufwand proportional zu n log2 n, also denieren wir: Denition 3.5 Das Cluster-Baum-Ma zu einem Cluster-Baum T (I) mit |I| = n ist deniert durch MCT (T ) = MCT (T ) mit MCT (T ) = n log2 n |nt 1||t|.
tT

(3.1)

Bemerkung 3.6 Die Berechnung des Cluster-Baum-Maes ist mit linearem Aufwand mglich. o Wie kann mit Hilfe dieses Maes nun eine Abschtzung fr den Aufwand von a u H-Matrizen angegeben werden? Dazu betrachten wir zwei Mglichkeiten fr o u das Format eines Cluster-Baumes T : (i) der Cluster-Baum hat n = 2p , p balanciert.

, Bltter und ist kardinalittsa a

(ii) die Anzahl der Bltter n des Cluster-Baumes ist beliebig und der a Cluster-Baum ist eine lineare Liste wie in Beispiel 3.1 beschrieben. Fr diese Flle lt sich das Cluster-Baum-Ma einfach berechnen, es gilt u a a nmlich im Fall (i) a MCT =
tT

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

24

3. Aufwandsmae fr H-Matrizen u 3.2. Ein Block-Cluster-Baum-Ma und damit MCT = log2 n + 1 log2 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 ) erhlt, erwartet man den Zusammenhang a NST C MCT n log2 n. Analog erwartet man dann fr 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 fr jeden einzelnen Index i I vorgenomu men wird, whrend bei der Konstruktion von H-Matrizen Partitionierungen a von t I fr Cluster t, also eine Menge von Indizes, ermittelt wird. Beim u PCV wurde gezeigt, da, ausgehend von einem balancierten Cluster-Baum, die Mchtigkeit der Partitionierungen fr die einzelnen Indizes proportional a u zu log2 n ist. Ubertrgt man dieses Ergebnis auf H-Matrizen, bzw. deren zua grundeliegende Partitionierung, so kann man annehmen, da die Anzahl der Blcke einer ausgeglichenen Partitionierung proportional zu n log n ist. Im o folgenden wird also die Anzahl der Blcke einer Partitionierung von I I o

25

3. Aufwandsmae fr H-Matrizen u 3.2. Ein Block-Cluster-Baum-Ma

26

als Ma fr die Ausgeglichenheit eines Block-Cluster-Baumes verwendet weru den6 . Voraussetzungen 3.7 Sei I eine Indexmenge und P eine zulssige Partia tionierung von I I. Setze n := |I| und l := |P |. Bemerkung 3.8 Da P eine zulssige Partitionierung ist, so ist sie wegen a der Symmetrie in der Zulssigkeitsbedingung (2.2) auch symmetrisch, d.h. a mit (t1 , t2 ) P gilt auch (t2 , t1 ) P . Das Block-Cluster-Baum-Ma ist deniert uber die Anzahl der Blcke in der o Partitionierung fr einen Index i I: u Denition 3.9 a) Das Zeilenma einer H-Matrix zu einer Partitionierung P ist deniert durch MBCT := MBCT (P ) :=
iI

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

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

Bemerkung 3.10 Es gilt MBCT (P ) =


(t1 ,t2 )P

|t1 |.

Beweis: Mit it =
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. Aufwandsmae fr H-Matrizen u 3.2. Ein Block-Cluster-Baum-Ma

27

MBCT (P ) =
iI

| { (t1 , t2 ) P : i t1 } | it1
iI (t1 ,t2 )P

= =
(t1 ,t2 )P iI

it1 |t1 |.
(t1 ,t2 )P

im folgenden nehmen wir an, da die betrachteten H-Matrizen blockweise aus R1-Matrizen bestehen. Denition 3.11 NST (P ) sei der Speicheraufwand fr 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-Blcke), 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.

Denition 3.13 NMV (P ) sei der Aufwand fr die Matrix-Vektor-Multipliu kation einer H-Matrix zur Partitionierung P .

27

3. Aufwandsmae fr 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 Blcke o BCT n Addi(t1 , t2 ) P mit den Blockvektoren des Vektors und M tionen zur Zusammenfhrung 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: (Vollstndige Induktion) a Seien I1 , I2 I mit I1 I2 = I so, da fr 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 } fr 1 j, k 2. u

28

3. Aufwandsmae fr H-Matrizen u 3.2. Ein Block-Cluster-Baum-Ma Es gilt trivialerweise |P12 | , |P21 | 1.

29

Die Partitionierungen P11 , P22 sind zulssig, 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 erhlt man folgende theoretische Resultate: a Korollar 3.18 Es gelten die asymptotischen Proportionalitten a (i) NST MBCT n log n und (ii) NMV MBCT n log n.

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

29

4. Modellprobleme

30

Modellprobleme

Das Ziel der numerischen Experimente ist, zu prfen ob die in Abschnitt u 3 denierten Mae zur Aufwandsabschtzung bei der Anwendung von Ha Matrizen anwendbar sind. Obwohl die Belegung einer H-Matrix fr den Aufwand unwesentlich ist, entu scheidend ist ausschlielich das Format der Matrix, werden im weiteren dennoch zwei Anwendungen von H-Matrizen ausfhrlich dargestellt. Die einu zelnen Testflle unterscheiden sich auerdem noch in der Wahl der Clustera Bume. Dabei werden Cluster-Bume mit zunehmender Unausgeglichenheit a a untersucht. Beide Anwendungen lsen die gleiche Aufgabe: o Denition 4.1 Gegeben sei := [0, 1]2 Innenraumaufgabe (DIR) ist gegeben durch

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 Mglichkeit, dieses Problem zu o lsen, und fhrt auf ein eindimensionales Modellproblem. Die zweite Mglicho u o keit ist die Diskretisierung der Laplace-Gleichung durch die Fnfpunktformel u [4], wodurch man ein zweidimensionales Modellproblem erhlt. Im letzten a Fall ist die dabei verwendete Matrix schon schwach-besetzt, eine speichersparende Anwendung der H-Matrizen wre also nicht ntig, 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 Dierentialgleichung in d Raumvariablen in eine Integralgleichung uber einer (d 1)-dimensionalen Mannigfaltigkeit uberfhrt. Eine wichtige Rolle bei diesem Ubergang spielt u die Singularittenfunktion, die fr die zweidimensionale Laplace-Gleichung a u folgendermaen 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 deniert durch

(x) =

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

wobei u die Belegung des Einfachschichtpotentials bezeichnet. In unserem Fall ist stckweise stetig dierenzierbar und nach Lemma 8.1.3 u [5] erfllt damit die Laplace-Gleichung in 2 \ . u

Um die Dirichlet-Randbedingung zu erfllen, mu zutzlich u a

= auf gelten, also 1 2

log |x y| u(y) dy = (x) fr 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

krzer 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 fr u den Integraloperator zu erhalten. Durch 0 = x0 < x1 < . . . < xn = 1 sei eine Intervallunterteilung von I = n i mit i = [xi1 , xi ] gegeben. Sei := {1 , . . . , n }. i=1 Als Diskretisierung fr den Integraloperator wird die Kollokationsmethode u mit stckweise konstanten Basisfunktionen auf den i und den Kollokationsu punkten 1 (xi1 + xi ) fr i {1, . . . , n} u 2

xi 1 =
2

verwendet. Damit erhlt man die Matrix a

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


j

log |xi 1 y| dy.


2

Die Kernfunktion wird fr bestimmte Matrixeintrge aij ersetzt durch die u a Taylorentwicklung des Kerns bezglich y um den Entwicklungspunkt y , der u noch zu whlen 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 fr zulssige Blcke erhlt. u a o a Die Kernapproximation lautet dann

k(x, y) = log |x y |. Die approximierten Matrixeintrge 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 xj1 ).


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 zulssigen Para titionierung nach Denition 2.11 von I I erhlt man fr zulssige Blcke a u a o b = (t1 , t2 ) P die Matrix-Blcke o Ab = T mit = (i )it1 , i = log |xi 1 y |, 2 = (j )jt2 , j = xj xj1 und y Chebyshev-Zentrum von t2 . Fr nicht-zulssige Blcke stimmt A mit A uberein. u a o Damit erhlt 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 deniert wird durch eine Intervallunterteilung von [0, 1], die gegeben ist durch einen binren Cluster-Baum T1 : a Sei n und [i1 , i ], 1 i n eine Intervallunterteilung von [0, 1] und T1 ein beliebiger binrer Cluster-Baum, der diese Intervallunterteilung induziert, a d.h. L(T1 ) = {[i1 , i ] : 1 i n}. Um einen binren 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 Bltter 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 Shnen von t2 und gebe als Produkt den Cluster zurck, der als o u Shne 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 Shnen von t1 mit Shnen von t2 . Erzeuge einen Cluster c1 , der die o o ersten beiden Produkte als Shne hat, und einen zweiten Cluster c2 , o der die letzten beiden Produkte als Shne hat. Gebe als Produkt den o Cluster zurck, der c1 und c2 als Shne hat. u o Dieser Algorithmus entspricht der Konstruktion 2.5, erzeugt aber im Gegensatz zu diesem zu einem binren Baum wieder einen binren 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 Bltter ij von T werden als die Punkte gewhlt, a a in denen die diskrete Lsung berechnet wird. Wir bezeichnen mit uij den Wert o der gesuchten Nherung 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 erhlt man mit dem a Dierenzenschema von Shortley und Weller [11] eine Approximation fr den u Laplace-Operator:

u(xi , yi ) (4.3) uij (ai + bi + cj + dj ) ui+1,j ai ui1,j bi ui,j+1 cj ui,j1 dj

34

4. Modellprobleme 4.3. J-level-mesh mit ai = bi cj = =


1 2 , xi+1 xi1 xi+1 xi 2 1 , xi+1 xi1 xi xi1 1 2 , yj+1 yj1 yj+1 yj 2 1 . yj+1 yj1 yj yj1

35

dj =

Ist die Intervallunterteilung von [0, 1] quidistant gewhlt, so entspricht (4.3) a a dem Fnfpunktstern u 1 1 4 1 . 1 Um das Gleichungssystem fr die Unbekannten uij aufzustellen, hat man u in (4.3) noch die fr 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 zulssige Partitionierung P2 von a [0, 1]2 [0, 1]2 erstellt wird. Die Matrix zu diesem Problem lt 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 oen gelassen. Dieser wird nun in diesem und dem nchsten Abschnitt deniert. a Die J-level-Intervallunterteilung, die in diesem Abschnitt deniert 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 dazugehrige Cluster-Baum nur lokal ,,verfeio nert wird, indem einige Teilbume des Cluster-Baumes vergrert werden a o

35

4. Modellprobleme 4.3. J-level-mesh

36

(Bltter werden ersetzt durch nicht-triviale Bume). Dadurch verliert der a a Cluster-Baum i.a. seine Ausgeglichenheit. Die J-level-Intervallunterteilung ist abhngig von zwei Parametern p, J . a Der Parameter p steuert sozusagen die Anfangsgre der Intervalle, whrend 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 folgendermaen deniert: (i) Der Baum Tp,J hat Unterbume des Formats Tp,J1 und Tp,0 . a (ii) Der Baum Tp,0 hat zwei Unterbume des Formats Tp1,0 . a (iii) Der Baum T0,0 hat keine Unterbume, ist also ein Blatt. a Alle Cluster auf einer Ebene des Cluster-Baums haben die gleiche Gre, o also Intervallnge. a Beispiel 4.3 Fr 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 fr 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 Bltter 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] fr u p = 1 und J = 0, 1, 2, 3: J =0: J =1: J =2: J =3: Der Cluster-Baum des Formats Tp,J fr J > 0 ist in dem Sinne nicht ausu geglichen, als da es Baumknoten gibt, deren Unterbume nicht die gleiche a Anzahl von Blttern haben. Wie sich spter herausstellen wird, sind sola a che Cluster-Bume ungnstig 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 erhlt man fr 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) Bltter hat, ist klar, da man mit a diesem Algorithmus nicht immer einen exakt ausgeglichenen Cluster-Baum erhlt, sondern nur, falls die Anzahl der Bltter 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 Unterbume bis auf Dierenz 1 die gleiche Anzahl von Blttern a a haben.

4.4

Polynomiell graduierte Intervallunterteilung

i Sei n und . Seien wi := ( n ) fr 0 i n gegeben. Dann ist durch u i := [wi1 , wi ], 1 i n, eine Intervallunterteilung von [0, 1] gegeben.

Fr diese Intervallunterteilung wird dann ein Cluster-Baum berechnet (mit u dem Algorithmus aus Anhang A) und daraus wiederum eine zulssige Partia tionierung von I I.

38

5. Numerische Ergebnisse

39

Numerische Ergebnisse

In diesem Abschnitt werden die Ergebnisse der numerischen Experimente dargestellt. Dafr wird zunchst die Durchfhrung der Messung des Aufwanu a u des erlutert. Ferner werden Graken angefhrt, welche das Verhalten der in a u Abschnitt 3 denierten Mae und deren Zusammenhang mit verschiedenen Aufwnden, die bei unterschiedlichen Modellproblemen mit balancierten und a unbalancierten Cluster-Bumen 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 fr diese Methoden wird direkt im Quellcode berechnet und auf u eine globale Variable aufaddiert, soda nach Durchfhrung einer Operation, u wie zum Beispiel einer H-Matrix-Inversion, der Gesamtaufwand dieser Operation in dieser Variablen verfgbar ist. Bei der Aufwandsberechnung werden u Gleitkomma-Multiplikationen und -Additionen gleichwertig behandelt. Operationen mit ganzzahligen Werten werden bei der Aufwandsmessung nicht bercksichtigt. u Die bei der Rk-Matrix-Arithmetik anfallenden Eigenwertprobleme und Sigulrwertzerlegungen werden mit Routinen aus dem Linear Algebra Package a (LAPACK) gelst. Da eine Berechnung des Aufwandes direkt im Quellcode o dieser Routinen zu aufwendig wre, wird deren Aufwand durch eine Zeitmesa sung abgeschtzt. a

5.2

Zur Kurzung der Matrizen

In Denition 2.3 wurde eine partielle Ordnung auf Partitionierungen beschrieben, welche auf den zugrundeliegenden Block-Cluster-Bumen beruhte. Diese a Ordnung lt sich ubertragen auf H-Matrizen und deren Schur-Komplementa Inverse, da das Format dieser beiden Matrizen durch Teilbume 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 Teilbume des Blocka Cluster-Baumes T2 , so heit A grber (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. Trit 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 Krzung, da heit die Reduktion einer feineren u Matrix auf das Format der entsprechenden grberen Matrix ntig. 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 Blcke B11 , B10 , B01 und B00 berechnet. Dabei wird o direkt nach der Berechnung von Bij diese Matrix auf das Format der Matrix Aij fr alle 0 i, j 1 nach folgenden Regeln gekrzt: u u Bij ist Rk-Matrix vollbesetzte Matrix Aij ist beliebige Matrix vollbesetzte Matrix Rk-Matrix Aktion keine Krzung u keine Krzung u Bij wird in Rk-Matrix transformiert mittels Singulrwertzerlegung a keine Krzung u Bij wird in vollbesetzte Matrix transformiert Bij wird in Rk-Matrix transformiert7 die hier beschriebene Krzung wird fr die u u Block-Matrizen von Bij und Aij durchgefhrt u

H-Matrix

H-Matrix vollbesetzte Matrix Rk-Matrix H-Matrix

5.3

Numerische Ergebnisse zum eindimensionalen Modellproblem I

Wir betrachten zunchst die Ergebnisse fr 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 fr den Parameter fr die Zulssigkeitsbedingung (2.2) u u a wurde 0.5 gewhlt. a
Dafr werden zuerst die Block-Matrizen von Bij rekursiv in Rk-Matrizen transformiert u und dann die Krzung 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 Blcke o der daraus resultierenden H-Matrix wurden als R1-Matrizen gespeichert. In der Praxis wrde man Rk-Matrizen nur bis zu einer bestimmten Blockgre u o > 1 verwenden, da der Aufwand fr 1 1-Rk-Matrizen hher als fr vollbeu o u setzte 1 1-Matrizen ist. In diesem Fall werden aber auch fr die kleinsten u Matrix-Blcke R1-Matrizen verwendet, da die Theorie fr die Mae auf dieser o u Annahme beruhte. Die Ergebnisse fr das gleiche Modellproblem mit einer u gegebenen Mindestgre fr Rk-Matrizen wird in Abschnitt 5.4 dargestellt. o u 5.3.1 Das Verhalten der Mae

Abbildung 1 zeigt das Verhalten des Cluster-Baum-Maes MCT und des Block-Cluster-Baum-Maes MBCT fr steigende J-Werte, also bei zunehmenu u u der Unausgeglichenheit des Cluster-Baumes (MBCT und MCT ). Auerdem wird das Verhalten der Mae fr einen balancierten Cluster-Baum gezeigt u b b (MBCT und MCT ). Fr zunehmende J-Werte steigt auch die Dimension n des u Problems, da beim J-level-mesh n = 2p1 (J + 2) gilt. Beide Mae 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 Mae 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 denierten Mae wirklich auch als solche verwendet werden knnen, 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 ungefhr 1 ist, oder wenn das Block-Clustera Baum-Ma einen konstanten, aber von weiteren Faktoren abhngigen, Wert a annimmt. Diese Konstante wird zum Beispiel beeinut durch den in der Zulssigkeitsbedingung (2.2) verwendeten Parameter : je kleiner ist, desto a feiner wird das Format der resultierenden H-Matrix, und damit wchst auch a der Speicheraufwand (bzw. das Block-Cluster-Baum-Ma) fr die H-Matrix. u Die Mae verhalten sich aber nicht genau gleich. Fr die Mae im balanu b b cierten Fall gilt oensichtlich nahezu MBCT /MCT = const, fr die unbalanu cierten Werte trit dies jedoch nicht zu. Untersucht man den Quotienten u u MBCT /MCT , welcher im Idealfall fr jeden Wert von J gleich dem konstanten u b b Wert MBCT /MCT sein sollte, so nimmt dieser fr J = 0 den Wert 2.25 an und u konvergiert dann ungefhr gegen 2. Das Fallen des Quotienten ist zu erklren, a a wenn man die beiden Mae fr 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 Mae nahezu uberein, so da sich der Quotient MBCT /MCT 1 ergibt. u u Der Wert MBCT /MCT mu also mit zunehmender Unausgeglichenheit abnehmen. Dieser Eekt drfte um so geringer sein, je grer die Dimension des u o Anfangsproblems gewhlt 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 Mae auch eine Aussage uber den zu erwartenden Aufwand fr eine H-Matrix machen lt. u a 5.3.2 Das Verhalten des Speicheraufwandes

Die folgende Abbildung 2 zeigt den Speicheraufwand, der nach Denition mit dem Wert 2 MBCT n log2 n ubereinstimmt, und eine Abschtzung mit Hilfe a des Cluster-Baum-Maes MCT , welche den in Abschnitt 3.1 erwhnten Zua sammenhang NST C MCT n log2 n verwendet. Der Proportionalittsfaktor a C = 5 wurde so gewhlt, da die Abschtzung im balancierten Fall mglichst a a o genau mit dem berechneten Speicheraufwand ubereinstimmt. Andererseits ergibt sich dieser Faktor aber auch folgendermaen: der Speicheraufwand der das Cluster-Baum-Ma denierenden Matrix ist 2 MCT n log2 n, whrend a das Block-Cluster-Baum-Ma im balancierten Fall ungefhr das 2.5-fache des a Cluster-Baum-Maes 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 abgeschtzt a werden kann. Die Abschtzung wird bei zunehmender Unausgeglichenheit a jedoch durch das in 5.3.1 beschriebene Verhalten der beiden Mae 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 erhlt man fr die Abschtzung des Aufwandes fr eine a u a u Matrix-Vektor-Multiplikation, welche in Abbildung 3 gezeigt wird. Auch hier war eine Proportionalitt 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 Bltter 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

ntig (jede Rk-Matrix besitzt einen skalaren Faktor, um schnelle Skalarmulo tiplikation durchfhren zu knnen). Da jedes Blatt des Block-Cluster-Baumes u o in der H-Matrix zu einer Rk-Matrix fhrte, werden dann bei einer Matrixu Vektor-Multiplikation genau l arithmetische Operationen mehr durchgefhrt u als theoretisch ntig, 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 Abschtzung mit MBCT a Fr die Matrix-Vektor-Multiplikation besttigt sich damit der theoretisch u a festgestellte Zusammenhang zwischen Aufwand und Block-Cluster-BaumMa. Auch das Cluster-Baum-Ma erlaubt eine relativ genaue Abschtzung des a Aufwandes der Matrix-Vektor-Multiplikation, wie in Abbildung 4 gezeigt wird. Der Proportionalittsfaktor ergibt sich wieder als das 2.5-fache des Faktors a der Abschtzung mit dem Block-Cluster-Baum-Ma. Die Abschtzung ist a a gegenber derjenigen mit dem Block-Cluster-Baum-Ma schlechter, hervoru gerufen durch das Verhalten der Mae 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 Abschtzung 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 fr eine Matrix-Matrix-Multiplikation jeweils u fr einen balancierten und einen unbalancierten Cluster-Baum. Als Ansatz u fr die Abschtzungen mit Hilfe der Mae wurde u a NMM C M 2 n log2 n 2 gewhlt, wobei M MCT oder MBCT ist. Dieser Zusammenhang zwischen a Aufwand und Ma wurde schon in 3.1 beschrieben. Die Faktoren fr die u Abschtzungen wurden in beiden Fllen so gewhlt, da die Abschtzung fr a a a a u den balancierten Fall mglichst genau mit den berechneten Werten ubereino stimmt. Daher wurden diese Abschtzungen nicht in der Grak 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 Abschtzungen a Der Faktor fr die Abschtzung mit dem Cluster-Baum-Ma MCT ergibt sich u a als das 2.52 -fache des Faktors fr die Abschtzung mit MBCT . u a Die Abbildung zeigt, da beide Mae geeignet sind, den Aufwand abzuschtzen. Dabei verhlt sich die Abschtzung mit MCT etwas schlechter, a a a da heit mit zunehmender Unausgeglichenheit weicht die Abschtzung mit a MCT weiter von den realen Werten ab als die Abschtzung mit MBCT , was a wiederum auf das Verhalten der beiden Mae zurckzufhren ist. u u Die Abschtzung mit Hilfe der Mae kann aber auerdem noch durch folgende a Uberlegungen beeintrchtigt werden: a Im Fall eines balancierten Cluster-Baums erhlt 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 Mae den Wert MCT , MBCT 1 n . 2 log2 n

Untersucht man fr beide Flle 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 Abschtzung 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 fhrt diese u Wahl von C dann zu den Abschtzungen 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 Abschtzung NMM wird dann bei groer Unausgeglichenheit um so weiter a 1 von echten Wert NMM abweichen, je grer der Unterschied zwischen 4 C und o Cu ist. Da sich jeder Cluster-Baum irgendwo zwischen einem vollstndig baa lancierten Baum und einer linearen Liste bendet, wird dieser Unterschied, sofern er denn existiert, in gewissem Mae in die Abschtzung eingehen. Da a man in der Praxis aber mit Anfangsproblemen mit einer groen Dimension und einem balanciertem Cluster-Baum arbeiten wird, werden die bei der Verfeinerung auftretenden Cluster-Bume den vollstndig balancierten Bumen a a a sehr viel nher sein als der linearen Liste, so da der Einu wohl zu vera nachlssigen ist. a Bei numerische Experimenten mit anderen Werten fr den Zulssigkeitsparau a meter und dem gleichen Modellproblem, ermittelt man fr die Abschtzung u a mit MBCT ebenfalls Proportionalittsfaktoren um den Wert 20, so da man a vermuten kann, da dieser Wert unabhngig 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 erwhnt, wird man in der Praxis keine H-Matrizen verwenden, a bei der 1 1-Blcke als Rk-Matrizen gespeichert werden, sondern wird nur o Matrix-Blcke bis zu einer bestimmten Minimalgre zulassen. Nicht-zulssio o a ge Blcke werden dann als vollbesetzte Matrizen und nur die zulssigen o a Blcke 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 Bltter, a unabhngig von der Zulssigkeit 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 Mae, des Speicheraufwandes, der MatrixVektor-Multiplikation und der Matrix-Matrix-Multiplikation untersucht. 5.4.1 Das Verhalten der Mae 5 4.5 4 3.5 3 2.5 2 1.5 1 0 5 10 15 20 J Abbildung 6: Verhalten der Mae Abbildung 6 zeigt das Verhalten der Mae. 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

verhlt sich natrlich wie im vorigen Modellproblem, da beide Probleme auf a u den jeweils gleichen Cluster-Bumen beruhen. Ein wenig anders verhlt 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 gewhnlich an. Anzumerken ist o noch, da das Ma MBCT fr kleine Werte von J die Ausgeglichenheit des u Block-Cluster-Baums nicht richtig wiedergibt, da es im unbalancierten Fall fr einige Werte kleiner als das Ma fr 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, verhlt sich auch der Quotient MBCT /MCT a u u in dieser Art. Der Verlauf von MBCT /MCT ist gleichmiger, 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 Proportionalittsfaktor in der a MCT -Abschtzung grer ist als in der MBCT -Abschtzung. Die Proportioa o a nalittsfaktoren sind festgelegt durch eine Anpassung der Abschtzungen an a a die real berechneten Aufwandswerte des balancierten Falls, da heit, beide

49

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

50

Abschtzungen sind gleich gut, denn sie geben die Werte mglichst genau wiea o der. Die gleichen Proportionalittsfaktoren werden auch fr die Abschtzung a u a im unbalancierten Fall verwendet. Dann bedeutet eine Dierenz in den Werten Qu und Qb aber, da die Abschtzungen nicht die gleichen Werte wiea dergeben knnen, die Qualitt der Abschtzungen ist unterschiedlich. Damit o a a ist aber noch nichts darber ausgesagt, welche Abschtzung besser ist. Bei u a diesem Modellproblem aber ist der Unterschied zwischen Qu und Qb nicht sehr gro, so da die Abschtzungen mit MCT und MBCT vergleichbar gut a sind. Numerische Experimente mit einer anderen Minimalgre fr die Blcke zeio u o gen, da sich die Quotienten um so spter (d.h. mit grer werdender Dia o mension des Problems) auf einen konstanten Wert einpendeln, je grer die o Minimalgre ist. o 5.4.2 Das Verhalten des Speicheraufwandes

Abbildung 8 zeigt, da auch in diesem Fall eine MBCT -Abschtzung den Speia cheraufwand gut wiedergibt. Gegenber dem letzten Modellproblem nderte u a sich der Proportionalittsfaktor geringfgig. Die Qualitt der Abschtzung a u a a ist umso erstaunlicher, als da das Ma MBCT nicht fr den Fall der hier veru wendeten Matrix deniert wurde, denn das Ma bercksichtigt nicht, ob manu che Block-Matrizen als vollbesetzte oder als R1-Matrizen gespeichert werden. Aber wieder zeigen Experimente mit greren Minimalgren, da anscheio o nend ein enger Zusammenhang zwischen der Qualitt der Abschtzung und a a dem Verhltnis zwischen Dimension des Problems und Minimalgre der a o Blcke besteht. Die Abschtzung mit Hilfe des Cluster-Baum-Maes wird o a hier nicht wiedergegeben, diese verhlt sich aber ahnlich gut wie diejenige a mit MBCT . Fr den Aufwand der Matrix-Vektor-Multiplikation gilt das gleiche wie fr u u den Speicheraufwand. Die berechneten Aufwnde und die Abschtzungen 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 Qualitt der Abschtzung 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 Abschtzung gut genug, um eine Aussage uber die a Dierenz zwischen dem Aufwand im balancierten und im unbalancierten Fall machen zu knnen. Auch fr diese Abschtzung ergibt sich wie in 5.3 ein Proo u a portionalittsfaktor um 20, so da der Einu der Minimalgre der Blcke a o o auf diesen Faktor mglicherweise auch nicht gravierend ist. o Die Abschtzung von NMM mit dem Ma MCT verhlt 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 bentigten Cluster-Baum nicht ein o J-level-mesh zugrunde, sondern das in 4.4 denierte polynomiell graduierte Gitter. Mit diesem Modellproblem soll uberprft werden, ob es einen Zusammenu hang zwischen der Intervallaufteilung und der Qualitt der Abschtzung gibt. a a Hier wird nicht zwischen balancierten und unbalancierten Cluster-Bumen a unterschieden, sondern nur die Ergebnisse fr balancierte Cluster-Bume veru a schiedener Gre betrachtet. Die Ergebnisse sind denen aus den vorangeo henden Abschnitten hnlich, daher wurde auf die meisten Graken verzicha tet. Nur Abbildung 10 zur Darstellung des Aufwandes der Matrix-MatrixMultiplikation und dessen Abschtzung mit den Maen MCT und MBCT ist a angefhrt. Die weiteren Ergebnisse werden nur schriftlich erlutert. 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 Denition der Intervallunterteilung wurde = 2 gewhlt. a Die minimal zulssige 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 fr die 1 1-Blcke. Daher ist der u o Speicheraufwand wieder gleich 2 MBCT n log2 n. Die Mae MCT und MBCT verhalten sich wie erwartet und zeigen konstante Werte um 1 bzw. 2.9. Der Quotient MBCT /MCT konvergiert fr u grer werdende Dimension n gegen 2.7. Dadurch ergibt sich dann natrlich o u 2 2.7 MCT n log2 n als weitere Abschtzung fr den Speicheraufwand und a u 4 2.7 MCT n log2 n als Abschtzung fr den Aufwand einer Matrix-Vektora u Multiplikation. Abbildung 10 zeigt, da sich der Proportionalittsfaktor fr die Abschtzung 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 abhngt, so da er letzten Endes a nur von der verwendeten Implementation der H-Matrix-Arithmetik bestimmt wird. Der Faktor fr die Abschtzung mit MCT ist um das 2.72 -fache grer 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

Fr das zweidimensionale Modellproblem wird erst ein Cluster-Baum berechu net, dessen Bltter 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 Lsung 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 gewhlt. Der entstehende Cluster-Baum T1 hat damit (2p1 (J + 2))2 Bltter. a a Bei der Berechnung des Block-Cluster-Baums T2 wurde Konstruktion 2.5 verwendet, wobei die Konstruktion bei allen Blcken 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 zulssigen Partitionierung a bentigten Werte fr den Abstand zwischen zwei Clustern s und t sowie o u dem Durchmesser eines Clusters t berechnet werden: Fr 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 deniert als die Lnge der Diagonale des Rechtecks b(t). Der a Abstand zweier Cluster s und t deniert sich durch den Abstand von b(s) und b(t). Die minimal zulssige 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-Eintrge gem a a (4.3) fr 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 Graken zeigen nur Ergebnisse fr Werte von J 20, da u sich das asymptotische Verhalten der Mae und des Aufwandes der MatrixMatrix-Multiplikation und der Inversion erst fr hhere 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 Mae

56

u MCT b MCT u MBCT b MBCT

Abbildung 11: Verhalten der Mae Die Mae zeigen wie auch bei den vorangegangenen Modellproblemen das erwartete Verhalten (Abbildung 11). Das Block-Cluster-Baum-Ma MBCT verluft zwar im balancierten Fall ungleichmig, es scheint sich jedoch mit a a zunehmender Dimension des Problems auf einen nahezu konstanten Wert um 4.5 einzupendeln. Entscheidend fr einen Vergleich der Abschtzungen 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 Dierenz zwischen den Quotienten fr festes n u grer. Die Qualitt der Abschtzungen mit MBCT und MCT wird damit uno a a terschiedlich sein. Wir knnen also nur erwarten, da hchstens eine der o o beiden Abschtzungen vernnftige 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 geringfgig grer als im balancierten Fall ist. u o Der Faktor 3 in der Abschtzung mit MBCT ergibt sich wieder durch Ana passung der Abschtzung an die berechneten Werte des balancierten Falls. a Mit diesem Faktor ergibt sich eine gute Abschtzung, da auch die Werte des a unbalancierten Falls gut wiedergegeben werden. Der Faktor 14 4.5 3 fhrt u dann zu einer guten MCT -Abschtzung der Werte der balancierten Rechnung, a whrend die MCT -Abschtzung 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 gegenber dem Speicheraufwand umgekehrte Situation vor: u whrend die Abschtzung mit MCT den Aufwand der Matrix-Vektora a Multiplikation gut approximiert, liefert die MBCT -Abschtzung zu kleine Wera te. Der Faktor 70 ist ungefhr das 4.5-fache von 15. Damit zeigt sich, da die a MCT -Abschtzung fr diesen Aufwand vernnftige 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, whrend sie a im unbalancierten Fall schneller wachsen. Die Einstellung der Faktoren fr u die MBCT - und die MCT - Abschtzung durch die Werte im balancierten Fall a fhrt auf 6 bzw. 121. Der Faktor 121 ergibt sich als das 4.52 -fache von 6. Mit u diesen Faktoren erhlt man dann eine gute Abschtzung der Aufwandswerte a a im unbalancierten Fall durch die MBCT -Abschtzung, die MCT -Abschtzung a a wchst 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 Fr das zweidimensionale Modellproblem wurde auch die Inverse der u H-Matrix berechnet. Dabei trat gegenber der Matrix-Matrix-Multiplikation u zustzlicher Aufwand durch die Krzung der Zwischenergebnisse auf (siehe a u Abschnitt 5.2). Wie man aber an Abbildung 16 erkennt, wchst der Aufwand a im balancierten Fall dennoch nahezu linear, whrend er im unbalancierten a Fall schneller ansteigt. Die Faktoren fr die Abschtzungen waren in diesem u a Fall schwer zu bestimmen, da nur wenige Werte fr den real bentigten Aufu o wand berechnet wurden. Mit der Wahl von 120 fr die MBCT -Abschtzung u a und 2500 fr die MCT -Abschtzung (wieder gilt 2500 4.52 120) erhlt man u a a dann Abschtzungen fr die Werte im unbalancierten Fall, die nicht in der a u Lage sind, die ermittelten Werte fr den Aufwand wiederzugeben. Insbesonu dere die MBCT -Abschtzung liefert viel zu kleine Werte. a

61

6. Beurteilung der numerische Ergebnisse

62

Beurteilung der numerische Ergebnisse

Die numerischen Experimente zeigten, da die Mae MBCT und MCT durchaus zur Abschtzung von Aufwnden, die bei der Speicherung und Rechnung mit a a H-Matrizen auftreten, verwendet werden knnen. Sie sind zwar nicht immer o im gleichen Umfang anwendbar, doch insbesondere das Block-Cluster-BaumMa MBCT lieferte bei den behandelten Modellproblemen fr die meisten u Aufwnde gute Abschtzungen. a a Fr den Spezialfall der H-Matrix, deren smtliche 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 fr den Aufwand einer Matrixu Matrix-Multiplikation ergaben sich mit MBCT verwertbare Abschtzungen. a Fr den Fall einer H-Matrix, die sich nicht vollstndig aus R1-Matrizen u a zusammensetzt, sondern deren Block-Matrizen ab einer bestimmten Minimalgre vollbesetzt sind, erwartet man eine Verschlechterung der Qualitt o a der Abschtzungen, da der Spezialfall des oben dargestellten H-Matrixa Formats die Denition der Mae motivierte. Trotzdem erhielt man auch im eindimensionalen Fall fr diese Matrizen Abschtzungen, welche die beu a rechneten Aufwandswerte fr Speicher, Matrix-Vektor-Multiplikation und u Matrix-Matrix-Multiplikation gut wiedergaben. Beim zweidimensionalen Modellproblem erhielt man unterschiedliche Ergebnisse: das Ma MBCT lieferte gute Abschtzungen fr den Speicheraufwand und den Matrix-Matrixa u Multiplikations-Aufwand, whrend MCT eine gute Abschtzung fr den Aufa a u wand einer Matrix-Vektor-Multiplikation ergab. Beide konnten jedoch den Inversionsaufwand nicht gengend genau wiedergeben. u Das Block-Cluster-Baum-Ma scheint im Uberblick gesehen die besseren Abschtzungen zu liefern, doch mssen zur Beurteilung der Mae noch weia u tere Punkte betrachtet werden. Das Cluster-Baum-Ma MCT hat gegenber u MBCT zwei Vorteile. Erstens ist zu dessen Berechnung natrlich kein Blocku Cluster-Baum ntig. Steht man also in einem Verfahren vor der Aufgabe, den o Speicheraufwand oder den Aufwand einer H-Matrix-Operation abzuschtzen, a kann dies mit MCT durchgefhrt werden ohne vorher den Block-Cluster-Baum u berechnen zu mssen. Zweitens zeigt MCT die Ausgeglichenheit eines Clusteru Baums dadurch an, da es einen Wert ungefhr bei 1 annimmt, und zwar a unabhngig vom behandelten Problem, whrend das Block-Cluster-Bauma a Ma im balancierten Fall zwar auch einen nahezu konstanten Wert annimmt, dieser aber von mehreren Faktoren abhngt, wie zum Beispiel dem Paramea

62

6. Beurteilung der numerische Ergebnisse

63

ter der Zulssigkeitsbedingung (2.2). Falls man diesen Wert, den MBCT im a balancierten Fall annimmt, in einem Verfahren bentigt (zum Beispiel, um o abschtzen zu knnen, 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 ClusterBume zum gleichen Problem ermitteln. a

63

7. Anwendung der Mae

64

Anwendung der Mae

In diesem Kapitel wird beschrieben, wie die vorgestellten Mae in einem Verfahren mit adaptiven Verfeinerungsschritten, welches H-Matrizen verwendet, benutzt werden knnen, 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. Durchfhrung der Rechnung u

5. Verfeinerung der Paneelmenge bzw. des Cluster-Baums

6. Update des Block-Cluster-Baums

7. Abschtzung des Aufwandes a

8a. Balancierung des Cluster-Baumes

8b. Update der H-Matrix

Abbildung 17: Anwendung eines Maes

sich nach einer Verfeinerung verndern und wie diese Anderungen auf die Ha Matrix ubertragen werden knnen. Auerdem wird erklrt, wie man zu der o a Entscheidung gelangt, entweder den Cluster-Baum zu balancieren oder nur ein Update der H-Matrix durchzufhren. u

64

7. Anwendung der Mae

65

Fr die Abschtzung einiger vorkommender Aufwnde 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 fr ein solches Verfahren u ntig sind. o 1. Berechnung des balancierten Cluster-Baums: zu einer gegebenen Paneel-Menge wird ein balancierter Cluster-Baum berechnet. Dafr u steht der in Anhang A beschriebene Algorithmus zur Verfgung. u 2. Berechnung des Block-Cluster-Baums: der Block-Cluster-Baum bzw. eine minimal zulssige 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 fr balancierte Block-Clusteru Bume nahezu konstant verhlt, erhlt man mit dem Ma dieses Baua a a start mes einen Richtwert MBCT fr 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 durchgefhrt, welche u dann zu der Entscheidung fhrt, die Paneelmenge zu verfeinern. u 5. Verfeinerung der Paneelmenge bzw. des Cluster-Baums: die Bltter des a Cluster-Baums entsprechen den einzelnen Paneelen. Dementsprechend fhrt die Verfeinerung eines Paneels dazu, da das entsprechende Blatt u des Cluster-Baums ersetzt wird durch einen nicht-trivialen Baum, dessen Bltter den durch Verfeinerung neu entstandenen Paneelen enta sprechen. Ein Update des Cluster-Baum-Maes MCT ist einfach durchzufhren. u 6. Update des Block-Cluster-Baums: dieser Schritt wird an dieser Stelle nur durchgefhrt, falls das Block-Cluster-Baum-Ma zur Abschtzung u a des Aufwandes benutzt wird. Andernfalls wrde er zwischen Schritt 7 u und 8b durchgefhrt. u Fr eine Verfeinerung kommen all die Bltter 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 Minimalgre fr ein solches Blatt vorgegeben ist, so ist t o u entweder zulssig oder nicht. Im zweiten Fall waren t1 und t2 vor der a

65

7. Anwendung der Mae

66

Verfeinerung Paneele. Ist t zulssig, so wird der Block nicht weiter vera feinert, da er auch nach Verfeinerung des Zeilen- oder Spalten-Cluster zulssig ist (die Zulssigkeitsbedingung (2.2) benutzt nur Durchmesser a a und Abstand von Clustern, welche sich bei Verfeinerung nicht ndern). a Nichtsdestotrotz mu die zu diesem Block gehrende Block-Matrix in o der H-Matrix in Schritt 8b angepat werden, da sich unter anderem deren Dimension gendert hat. Ist t nicht zulssig, werden entsprechend a a den verfeinerten Clustern t1 und/oder t2 die Shne von t berechnet. o Wenn mit einer Minimalgre fr Blcke gearbeitet wird, ist das Blatt o u o t entweder wiederum zulssig oder |t1 | und/oder |t2 | sind kleiner als die a Minimalgre. Im ersten Fall wird der Block nicht verfeinert. Im zweio ten Fall kann die Minimalgre nach der Verfeinerung uberschritten o sein, so da die Berechnung der Shne von t ntig wird. o o Nach dem Update des Block-Cluster-Baums kann der neue Wert fr u MBCT berechnet werden. 7. Abschtzung des Aufwandes: an dieser Stelle wird die Entscheidung a getroen, ob mit dem verfeinerten Cluster-Baum bzw. Block-ClusterBaum weitergerechnet wird, oder ob dieser vor weiteren Rechnungen balanciert wird. Fr die Rechnungen kommen Matrix-Vektor- oder u Matrix-Matrix-Multiplikationen oder Matrix-Inversionen in Frage. Folgende Aufwnde sind dabei gegeneinander abzuwgen: 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 nchsten a Rechnung

(V. Aufwand fr Update u des Block-Cluster-Baums) + VI. Aufwand fr Update u der Matrix + VII. Aufwand der nchsten a Rechnung

66

7. Anwendung der Mae

67

Ist der Aufwand der linken Seite kleiner als der der rechten Seite, entscheidet man sich fr 8a, die Balancierung des Cluster-Baums. Ansonu sten entscheidet man sich fr 8b, ein Update der Matrix. Falls mit dem u Block-Cluster-Baum-Ma gearbeitet wird, um den Aufwand zu IV und VII abzuschtzen, entfllt V, da der Block-Cluster-Baum dann schon a a in 6 angepat wurde. Fr IV wrde man als Wert fr das Ma in der u u u Abschtzung 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 nher erlutert, whrend der a a a Aufwand zu V und VI in dieser Arbeit nicht behandelt wird. 8a. Balancierung des Cluster-Baums: Fr 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 zulssig war. Die Zulssigkeitsbedingung (2.2) gilt dann a a wie schon gesagt auch nach der Verfeinerung fr 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 fhrt, zeigt, da die Vektoren l nur vom Cluster tx abhngen (abgeseu a hen vom Chebyshev-Zentrum y , welches aber bei Verfeinerung von ty nicht verndert wird) und die Vektoren l nur vom Cluster ty abhngen. a a Dementsprechend fhrt eine Verfeinerung von tx zu einer Neuberechu nung der Vektoren l , whrend ein neues ty zu neuen Vektoren l fhrt, a u welche dann eine neue Rk-Matrix ergeben. Fr 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 ) gehrenden o Rk-Matrix als auch zu einem Update von l -Vektoren in einem Block (ty , tx ) fhrt, 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 zulssig war, so hat man die Block-Matrix, welche a

67

7. Anwendung der Mae

68

zu t gehrt, 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 nher a erlutert wird. Der Aufwand fr I ist also eine nur von n abhngige Funktion, a u a die implementationsabhngig festgelegt ist. a Der Aufwand II zur Berechnung des Block-Cluster-Baums T2 bzw. einer minimal zulssigen Partitionierung besteht im wesentlichen aus dem Aufwand zur a Prfung der Zulssigkeitsbedingung (2.2) NAC fr jeden Knoten des Blocku a u Cluster-Baums (abgesehen von den Diagonalblcken, fr welche die Zulssigo u a keitsbedingung nie wahr ist): NBCB NAC |T2 |. Numerische Experimente zeigen, da die Anzahl der Bltter des Block-Cluster-Baums |T2 | fr unbaa u lancierte und balancierte Cluster-Bume nahezu gleich und linear ansteigend a in n ist. Also ist auch fr den Aufwand II eine einfache Abschtzung mglich. 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 smtliche Blcke als R1-Matrizen a o gespeichert sind. Die verwendeten R1-Matrizen haben die approximierten Matrixeintrge (4.2) (siehe Seite 32). Sei Nentry der Aufwand zur Berechnung a eines solchen Eintrags. Nun werden zur Denition einer R1-Matrix aber nicht n m Eintrge bentigt, sondern nur n + m, da heit, der Berechnungsaufa o wand einer R1-Matrix ist Nentry (n + m). Insgesamt hat die hier betrachtete H-Matrix MBCT n log2 n ,,R1-Matrix-Eintrge, soda sich der Aufwand a NBM = Nentry MBCT n log2 n ergibt. Dieser Aufwand besttigte sich auch bei den numerischen Experimena ten in 5.3.

68

8. Zusammenfassung

69

Zusammenfassung

Es gibt einige iterative Verfahren zur Lsung von linearen Gleichungssysteo men mit einer schwach-besetzten n n-Matrix, deren Speicheraufwand und Aufwand fr eine Matrix-Vektor-Multiplikation durch O(n) beschrieben ist. u Bei vollbesetzten Matrizen, die zum Beispiel bei der Randelementmethode auftreten, erhlt man jedoch Aufwnde der Grenordnung O(n2 ) oder sogar a a o 3 O(n ) fr Matrix-Matrix-Multiplikationen und Inversionen. u Die in [6] eingefhrten 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 Grenordnung des Diskretisierungso fehlers liegt und damit tolerierbar ist. Weiterhin ermglichen H-Matrizen o die Durchfhrung von arithmetischen Operationen mit einem Aufwand von u O(n log n) mit = 1, 2. 2 Fr die Konstruktion der H-Matrizen wird ein Cluster-Baum verwendet, der u eine hierarchische Aufteilung des dem Problem zugrundeliegenden Gebiets deniert. Durch diesen wiederum deniert man einen Block-Cluster-Baum, der zur Berechnung einer Block-Partitionierung der Matrix benutzt wird. Die einzelnen Blcke der H-Matrix sind dann im wesentlichen Rk-Matrizen, also o Matrizen mit Rang k. Um fr die H-Matrizen eine optimale Komplexitt 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 Shne eines beliebigen Knotens des Cluster-Baums die gleiche Mchtigkeit o a haben. In der vorliegenden Arbeit wurden zwei Funktionen eingefhrt, die ein Ma u fr 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 Mae den Speicheraufwand und den Aufwand fr arithmetische Operatiou nen der aus dem Cluster-Baum resultierenden H-Matrix in einigen Spezialfllen abschtzen kann. Eine Anwendung dieser Mae 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 Denition der Mae wurde motiviert durch den Speicheraufwand einer HMatrix, deren smtliche Blcke R1-Matrizen sind. Die numerischen Experia o mente wurden mit H-Matrizen dieses Formats und mit solchen durchgefhrt, u

69

8. Zusammenfassung

70

deren Block-Matrizen ab einer bestimmten Minimalgre vollbesetzt aber ano sonsten R1-Matrizen sind. Der Zusammenhang der Mae mit H-Matrizen, deren Block-Matrizen unterschiedlichen Rang oder einen konstanten Rang grer 1 haben, wurde nicht untersucht. Die Eigenschaft der Mae aber, die o Ausgeglichenheit des Cluster-Baums anzuzeigen, ist unabhngig von der Art a und Weise, welcher Rang fr die in der H-Matrix vorkommenden Blocku Matrizen gewhlt 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 Blcke der Auso gangsmatrix auf niederen Rang zu konvertieren sind. Die Berechnung einer Block-Partitionierung wird nicht weiter erlutert. Ohne die Konstruktion eia ner Block-Partitionierung durch einen Cluster-Baum ist also auch die Anwendung der vorgestellten Mae fr diesen Fall nicht mglich. u o Eine Erweiterung der H-Matrizen sind die H2 -Matrizen [9], deren Aufwand gegenber 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 mglich. Ob eine o 2 Abschtzung des Aufwands von H -Matrizen mit Hilfe der Mae mglich ist, a o mte jedoch noch weiter untersucht werden. u

70

A. Algorithmus zur Berechnung eines balancierten Cluster-Baums

71

Algorithmus zur Berechnung eines balancierten Cluster-Baums

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

fr 1 i n. u

Der folgende Algorithmus nach einer Idee von Klaus Giebermann, der auch in [2] beschrieben ist, berechnet einen Cluster-Baum, dessen Blttermenge a gleich der oben angegebenen Panelmenge ist. Die zugrundeliegende Idee einer Binary Space Partition wurde schon in [1] erwhnt. 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 zurck. u 2. Ansonsten (a) berechne fr 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) whle m {1, . . . , d} mit diamm diamk fr alle 1 k d, a u (c) teile auf in und mit || | | || 1, so da fr 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 Unterbume a besitzt, als Ergebnis zurck. u Mit diesem Algorithmus erhlt 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 mglichst o kleine Durchmesser haben. Diese Eigenschaft ist fr den Cluster-Baum u hinsichtlich der Zulssigkeitsbedingung (2.2) wichtig, bei der die geoa metrische Gre der Cluster eingeht. o 2. Durch die Aufteilung in (c) haben die Unterbume eines beliebigen a Knotens des Cluster-Baums bis auf Dierenz 1 die gleiche Blattanzahl, soda der berechnete Cluster-Baum im bisher angewandten Sinne ausgeglichen ist. Zur Durchfhrung des Schrittes (c) mu die Menge nicht vollstndig geordu a net werden, es reicht, die Menge zu teilen. Dafr 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. grer als der Median ist. o Insgesamt ergibt sich damit eine Laufzeit von O(n log2 n).

72

B. Krzung einer H-Matrix auf eine Rk-Matrix u

73

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 Zeilenhhen 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 Lnge p. a 0r 1 . . . 0ri1 Deniere pr (al ) := al i ij ij 0ri+1 . . . 0r n Es gilt dann

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

.
c

kij

A=
i=1 j=1 l=1

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

r c

Deniere die Matrix A durch

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

r kij

73

B. Krzung einer H-Matrix auf eine Rk-Matrix u

74

Ai := (Ai1 . . . Aim ) und A := (A1 . . . An )

r k

o Die Spalten der Matrix A knnen nach dieser Konstruktion durch Tripel (i, j, k) indiziert werden, wobei A(i,j,k) der k-ten Spalte von Aij entspricht fr 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 fr 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 ) fr i1 = i2 i2 i1 . 0 sonst

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

(B.1)

Analog deniert man die Matrix GB := B T B durch


k Bij := (pc (b1 ) . . . pc (bijij )) j ij j

ckij

Bi := (Bi1 . . . Bim ) und B := (B1 . . . Bn ) mit der Eigenschaft u (bl1 j1 )T (bl2 j2 ) fr j1 = j2 i2 i1 . 0 sonst

ck

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

(B.2)

74

B. Krzung 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 zugehrigen Eigenvektoren v1 , . . . , vr . o Die Eintrge 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

kij

s,j = b
i=1 l=1

bl vs,(i,j,l) fr j = 1, . . . , m. u ij

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

75

B. Krzung einer H-Matrix auf eine Rk-Matrix u

76

Dann gilt fr die gekrzte Matrix u u


r

A :=
l=1

asT . 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:124133, 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):273294, 1997. [4] Wolfgang Hackbusch. Theorie und Numerik elliptischer Dierentialgleichungen. Teubner, 1986. [5] Wolfgang Hackbusch. Integralgleichungen. Teubner, 1989. [6] Wolfgang Hackbusch. A Sparse Matrix Arithmetic based on H-Matrices. Computing 62, pages 89108, 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 463491, 1989. [11] H.R. Shortley and R. Weller. Numerical solution of Laplaces equation. J. Appl. Phys., 9:334348, 1938.

77

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

Erklrung a
Hiermit versichere ich, da ich die vorliegende Arbeit selbstndig verfat a habe und ausschlielich die angegebenen Hilfsmittel und Quellen verwendet habe. Kiel, der

Das könnte Ihnen auch gefallen