Hierarchische Matrizen: Algorithmen und Analysis [1 ed.] 3642002218, 9783642002212 [PDF]

Bei der Diskretisierung von Randwertaufgaben und Integralgleichungen entstehen große, eventuell auch voll besetzte Matri

140 100 4MB

German Pages 451 [467] Year 2009

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Front Matter....Pages 1-18
Einleitung....Pages 1-24
Rang- $k$ -Matrizen....Pages 25-42
Einführendes Beispiel....Pages 43-54
Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen....Pages 55-82
Matrixpartition....Pages 83-112
Definition und Eigenschaften der hierarchischen Matrizen....Pages 113-146
Formatierte Matrixoperationen für hierarchische Matrizen....Pages 147-190
$\mathcal{H}^{2}$ -Matrizen....Pages 191-216
Verschiedene Ergänzungen....Pages 217-250
Anwendungen auf diskretisierte Integraloperatoren....Pages 251-266
Anwendungen auf Finite-Element-Matrizen....Pages 267-290
Inversion mit partieller Auswertung....Pages 291-312
Matrixfunktionen....Pages 313-328
Matrixgleichungen....Pages 329-337
Tensorprodukte....Pages 339-354
Back Matter....Pages 1-95
Papiere empfehlen

Hierarchische Matrizen: Algorithmen und Analysis [1 ed.]
 3642002218, 9783642002212 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Hierarchische Matrizen

W. Hackbusch

Hierarchische Matrizen Algorithmen und Analysis

123

Wolfgang Hackbusch Max-Planck-Institut f¨ur Mathematik in den Naturwissenschaften Abteilung Wissenschaftliches Rechnen Inselstr. 22-26 04103 Leipzig Deutschland [email protected]

ISBN 978-3-642-00221-2 e-ISBN 978-3-642-00222-9 DOI 10.1007/978-3-642-00222-9 Springer Dordrecht Heidelberg London New York Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet u¨ ber http://dnb.d-nb.de abrufbar. Mathematics Subject Classification (2000): 65F05, 65F30, 65F50, 65F10, 15A09, 15A24, 15A99, 15A18, 47A56, 68P05, 65N22, 65N38, 65R20, 45B05 c Springer-Verlag Berlin Heidelberg 2009  Dieses Werk ist urheberrechtlich gesch¨utzt. Die dadurch begr¨undeten Rechte, insbesondere die der ¨ Ubersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielf¨altigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielf¨altigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zul¨assig. Sie ist grunds¨atzlich verg¨utungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten w¨aren und daher von jedermann benutzt werden d¨urften. Einbandentwurf: WMXDesign GmbH, Heidelberg Printed on acid-free paper Springer ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com)

Meiner Frau Ingrid gewidmet

Vorwort

Operationen mit großen Matrizen werden in der Numerik weitgehend vermieden. Stattdessen wird in der Regel versucht, alle Algorithmen auf MatrixVektor -Multiplikationen zur¨ uckzuf¨ uhren. Der Grund ist der hohe Aufwand ur eine Multiplikation von n × nvon z.B. O(n3 ) Gleitkommaoperationen f¨ Matrizen. Beginnend mit dem Strassen-Algorithmus wurde versucht, den Aufuhungen k¨onnen aber wand auf O(nγ ) mit γ < 3 zu reduzieren. Diese Bem¨ nicht zum Ziel f¨ uhren, da die theoretische untere Schranke γ ≥ 2 besteht, und selbst quadratischer Aufwand bei großskaligen Matrizen inakzeptabel ist. Dass die Matrixoperationen im hier beschriebenen H-Matrix-Format trotzuhrbar sind, ist kein Widerdem mit fast linearem Aufwand O(n log∗ n) ausf¨ spruch zu der vorherigen Aussage, da oben die exakte Berechnung unterstellt wird, w¨ ahrend die H-Matrix-Operationen Approximationen enthalten. Die Approximationsfehler sind jedoch akzeptabel, da großskalige Matrizen von Diskretisierungen stammen, die ohnehin Diskretisierungsfehler enthalten. Die mit der H-Matrix-Technik erm¨ oglichten Operationen sind nicht nur die Matrixaddition und -multiplikation , sondern auch die Matrixinversion und die LU- oder Cholesky-Zerlegung. Verwendet man die H-Matrix-Technik zur L¨osung von linearen Gleichungssystemen, so nimmt sie eine Stellung zwischen direkten Verfahren und Iterationsverfahren ein. Auf der einen Seite kann die approximative Inverse oder LU-Zerlegung mit w¨ ahlbarer Genauigkeit bestimmt und damit das Gleichungssystem gel¨ ost werden. Auf der anderen Seite reicht eine Inverse oder LU-Zerlegung mit m¨ aßiger Genauigkeit, um eine schnelle Iteration zu konstruieren. Hat man die Matrixoperationen zur Verf¨ ugung, l¨asst sich eine wesentlich gr¨ oßere Problemklasse behandeln, als dass mit der Beschr¨ankung auf MatrixVektor-Multiplikationen m¨ oglich ist. Hierzu geh¨oren die Berechnung von matrixwertigen Funktionen, zum Beispiel der Matrix-Exponentialfunktion, und die L¨ osung von Matrixgleichungen, etwa der Riccati-Gleichung. Die approximative Durchf¨ uhrung der Operationen kann nur erfolgreich sein, wenn der Aufwand f¨ ur eine Genauigkeit ε nur schwach mit ε → 0 w¨achst.

VIII

Vorwort

F¨ ur die Inversen von Diskretisierungsmatrizen elliptischer Randwertprobleme und f¨ ur zugeh¨ orige Randintegralgleichungen l¨asst zeigen, dass der Aufwand nur logarithmisch von ε abh¨ angt. F¨ ur allgemeine, große Matrizen ist diese Aussage falsch, d.h. die H-Matrix-Technik ist nicht f¨ ur allgemeine Matrizen anwendbar. Trotzdem zeigen numerische Tests ein sehr robustes Verhalten. F¨ ur die praktische Durchf¨ uhrung ist es zudem sehr wichtig, dass die H-MatrixTechnik in hohem Maße blackbox-artig ist. Die Tatsache, dass nicht alle Matrizen (mit verbessertem Aufwand) dargestellt werden k¨ onnen, entspricht nicht dem klassischen Verst¨andnis der Linearen Algebra. Dort ist man es gewohnt, dass Verfahren m¨oglichst auf s¨amtliche Elemente eines endlichdimensionalen Vektorraumes anwendbar sind. Andererseits ist der Approximationsgedanke der Ursprung der Analysis. Da die Objekte wie zum Beispiel Funktionen im Allgemeinen unendlich viele Daten enthalten, verwendet man seit Anbeginn der Analysis Approximation aufgrund von partiellen Informationen (Beispiel Interpolation), wobei man in Kauf nimmt, dass die Approximation nur unter geeigneten Glattheitsvoraussetzungen m¨ oglich ist. Die H-Matrix-Technik beruht auf drei verschiedenen Komponenten. Die erste, analytische Komponente ist die lokale, separable Approximation der Greenschen Funktion beziehungsweise der Integralkernfunktion. Derartige Techniken sind in der Vergangenheit in verschiedenen Versionen bei der Behandlung diskreter Integraloperatoren angewandt worden: bei der PaneelClusterungstechnik, bei Multipolentwicklungen, aber auch bei der Matrixkompression von Wavelet-Matrizen. Nur mit Hilfe dieser Techniken kann die Matrix-Vektor-Multiplikation mit der an sich vollen Matrix in fast linearem Aufwand durchgef¨ uhrt werden. Die zweite Komponente geh¨ort der linearen Algebra an. Techniken der Singul¨ arwertzerlegung und der QR-Zerlegung spielen eine wichtige Rolle bei der Organisation der lokalen Matrixdaten. Die dritte Komponente betrifft die diskreten Strukturen. Die ersten beiden Komponenten werden auf Teilmatrizen angewandt. Die geeignete Partition der Matrix in Teilmatrizen der richtigen Gr¨ oße ist f¨ ur die Matrixoperationen der entscheidende Schritt. Die diskreten Strukturen stellen sich in Form vom B¨ aumen, den Cluster- und Blockclusterb¨ aumen dar. Ziel dieser Monographie ist die umfassende Einf¨ uhrung in die Technik hierarchischer Matrizen. Da diese insbesondere f¨ ur die großskaligen Matrizen aus dem Umfeld von Randwertaufgaben entwickelt worden sind, muss auch knapp auf die Diskretisierung von Randwertaufgaben und auf die Randintegralmethode eingegangen werden. Den oben aufgez¨ahlten, sehr unterschiedlichen Komponenten entsprechend widmen sich die ersten Kapitel den verschiedenen Fragen zur Analysis, zur Linearen Algebra und den Strukturen, die dann die Grundlage der Algorithmen bilden. Um die Kapitel einerseits nicht zu umfangreich werden zu lassen und andererseits hinreichend Hintergrundmaterial bereitzustellen, enth¨ alt das Buch f¨ unf Anh¨ange. Hier findet der Leser den ben¨ otigten Hintergrund zu Themen aus dem Hauptteil.

Vorwort

IX

Das letzte Kapitel gibt einen kleinen Einstieg in die Behandlung großskaliger Tensoren. Hier werden nur Anwendungen angesprochen, die direkt mit hierarchischen Matrizen verbunden sind. Andererseits besteht die herausfordernde Aufgabe, die im Umfeld der hierarchischen Matrizen entwickelten Techniken auf Tensoren zu u ¨bertragen. Da der Speicher- und Rechenaufwand bei großskaligen Tensoren den Anwender vor noch gr¨oßere Schwierigkeiten als bei Matrizen stellt, sind geeignete Darstellungsmethoden und Algorithmen zur Approximation der Operationen dringend erforderlich. Die in diesem Bereich erzielten Resultate passen thematisch nicht in diese Monographie und g¨ aben Stoff f¨ ur ein weiteres Buch. In zahlreichen Hinweisen wird verbal auf Details der Implementierung eingegangen. Eine konkrete Beschreibung der in C geschriebenen Algorithmen wird hier vermieden, da hierf¨ ur die Lecture Notes [26] und ein zuk¨ unftiges, hieraus hervorzugehendes Buchprojekt heranzuziehen sind. Letzteres ist auch ein besserer Platz f¨ ur konkrete numerische Beispiele und Vergleiche. Lesehinweis: Unterkapitel, die mit einem Stern∗ versehen sind, k¨onnen beim ersten Lesen u ¨bersprungen werden, da sie eher der thematischen Vertiefung dienen. Algorithmen sind in einer Notation angegeben, die sich an Algol und Pascal anlehnt. Man beachte, dass die geschweiften Klammern Kommentare enthalten. Der Einfachheit halber werden die Parameter nicht mit einer Typenbeschreibung versehen, sondern verbal erkl¨art. F¨ ur die (wenigen) Hilfsvariablen wird ebenfalls keine explizite Spezifikation gegeben, da sie sich aus dem Zusammenhang ergibt. Der Autor entwickelte die Technik der hierarchischen Matrizen Ende der 90er Jahre. Die erste Arbeit [69] hierzu erschien 1999. Ein wesentlicher Schritt war die Implementierung der Methode in der Dissertation [50] von Dr. L. Grasedyck, die 2001 verteidigt wurde. Die Grundlagen zu dieser Monographie wurde durch Manuskripte zu Vorlesungen an der Universit¨at Leipzig (Sommersemester 2004 und Wintersemester 2006/7) und an der Christian-Albrechts-Universit¨ at zu Kiel (Sommersemester 2004) gelegt. Das Material wurde entscheidend anreichert durch die Beitr¨age der Drs. S. B¨ orm, M. Bebendorf, R. Kriemann und B. Khoromskij. Insgesamt sind zum Thema der hierarchischen Matrizen und seinem Umfeld zwei Dissertationen und eine Habilitationsarbeit an der Christian-AlbrechtsUniversit¨ at zu Kiel und vier Dissertationen und eine Habilitationsarbeit an der Universit¨ at Leipzig geschrieben worden. Die neuartigen M¨oglichkeiten, die die H-Matrix-Technik bietet, haben zu einem Programmpaket Huhrt, das f¨ ur kommerzielle Zwecke zur Verf¨ ugung steht (siehe Libpro gef¨ http://www.scai.fraunhofer.de/hlibpro.html). Neben den oben Genannten danke ich Dr. L. Banjai, Dr. Wendy Kreß, Prof. Sabine Le Borne, Dr. Maike L¨ ohndorf, Prof. J.M. Melenk, Prof. S. Sauter, sowie weiteren Mitarbeitern und G¨ asten des Leipziger Max-PlanckInstitutes, die wesentlich zum Inhalt dieses Buches beigetragen haben. Herrn Dr. Ronald Kriemann gilt mein Dank f¨ ur die Gestaltung des Umschlagbildes.

X

Vorwort

Dem Springer-Verlag danke ich f¨ ur die unkomplizierte Kooperation bei der Fertigstellung dieses Werkes.

November 2008

Wolfgang Hackbusch

Inhaltsverzeichnis

1

Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Was ist die zu l¨ osende Aufgabe, wo liegen die Schwierigkeiten? 1.1.1 Aufgabenbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Gr¨ oßenordnung der Dimension . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Exakte oder n¨ aherungsweise Berechnung . . . . . . . . . . . . . 1.2 Komplexit¨ at der Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Komplexit¨ at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Warum braucht man (fast) lineare Komplexit¨at f¨ ur großskalige Probleme? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Zugrundeliegende Strukturen und Implementierungsdarstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Vektor- und Matrixnotation . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Implementierungsdarstellungen . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Darstellungen und Operationen . . . . . . . . . . . . . . . . . . . . . 1.4 In welchen F¨ allen ist lineare Komplexit¨at erreichbar? . . . . . . . . 1.4.1 Familie der Diagonalmatrizen . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Anwendung der schnellen Fourier-Transformation . . . . . . 1.4.3 Schwierigkeiten in anderen F¨ allen . . . . . . . . . . . . . . . . . . . 1.5 Wo entstehen großskalige Probleme? . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Diskretisierung elliptischer Differentialgleichungen . . . . . 1.5.2 Integralgleichungen und ihre Diskretisierung . . . . . . . . . . 1.6 Angeordnete bzw. nicht angeordnete Indexmengen . . . . . . . . . . . 1.6.1 Indexmengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.2 Vektoren x ∈ RI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.3 Matrizen A ∈ RI×I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.4 Anordnung bzw. Nichtanordnung bei hierarchischen Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ 1.7 Ubersicht u ¨ber die weiteren Kapitel . . . . . . . . . . . . . . . . . . . . . . . . 1.7.1 Lokale Rang-k-Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.2 Hierarchie und Matrixoperationen . . . . . . . . . . . . . . . . . . .

1 1 1 3 3 3 3 5 6 6 7 12 13 13 13 14 15 15 17 21 21 22 22 23 23 23 24

XII

2

3

4

Inhaltsverzeichnis

Rang-k-Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Darstellung und Kosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Operationen und ihre Kosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Bestapproximation durch Rang-k-Matrizen . . . . . . . . . . . . . . . . . 2.5 Bestapproximation von Rang--Matrizen durch Rang-kMatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Rang-k-Matrix-Addition mit anschließender K¨ urzung . . . . . . . . 2.6.1 Formatierte Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.2 Formatierte Agglomeration . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.3 Mehr als zwei Terme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.4 Stufenweise ausgef¨ uhrte Agglomeration . . . . . . . . . . . . . . . 2.7 Varianten der Rang-k-Matrixdarstellungen . . . . . . . . . . . . . . . . . . 2.7.1 AKB-Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.2 SVD-Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einf¨ uhrendes Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Das Modellformat Hp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Zahl der Bl¨ ocke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Speicheraufwand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Matrix-Vektor-Multiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Matrix-Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Matrix-Matrix-Multiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Matrixinversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 LU-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.1 Vorw¨ artssubstitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.2 R¨ uckw¨ artssubstitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.3 Aufwand der LU-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Weitere Eigenschaften der Modellmatrizen und Semiseparabilit¨ at ∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Separable Entwicklungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Exponentielle Konvergenz . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Zul¨ assigkeitsbedingungen an X, Y . . . . . . . . . . . . . . . . . . . 4.2 Separable Polynom-Entwicklungen . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Taylor-Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 Exponentielle Fehlerabsch¨ atzung . . . . . . . . . . . . . . . . . . . . 4.2.4 Asymptotisch glatte Kerne . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.5 Taylor-Fehlerabsch¨ atzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.6 Interpolationsfehler f¨ ur d = 1 . . . . . . . . . . . . . . . . . . . . . . . 4.2.7 Versch¨ arfte Fehlerabsch¨ atzung . . . . . . . . . . . . . . . . . . . . . .

25 26 26 28 30 33 35 35 36 36 38 39 39 41 43 43 44 45 45 45 46 48 49 49 50 50 51 55 56 56 57 59 60 60 62 63 64 65 66 68

Inhaltsverzeichnis

XIII

4.2.8 Interpolationsfehler f¨ ur d > 1 . . . . . . . . . . . . . . . . . . . . . . . 4.3 Weitere separable Entwicklungen . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Andere Interpolationsverfahren ∗ . . . . . . . . . . . . . . . . . . . . 4.3.2 Transformationen ∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 St¨ uckweise separable Entwicklung ∗ . . . . . . . . . . . . . . . . . . 4.3.4 Kerne, die von x − y abh¨ angen . . . . . . . . . . . . . . . . . . . . . . 4.3.5 L-harmonische Funktionen ∗ . . . . . . . . . . . . . . . . . . . . . . . . 4.3.6 Separable Entwicklungen mittels Kreuzapproximation ∗ 4.3.7 Die optimale separable Entwicklung . . . . . . . . . . . . . . . . . 4.4 Diskretisierung von Integraloperatoren mit separablen Kernfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Einf¨ uhrung: Separable Entwicklung und GalerkinDiskretisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Separable Entwicklung und allgemeine Diskretisierungen ∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Approximationsfehler ∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Operatornormen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.2 Matrixnormen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Sachgerechte Normen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

69 70 70 70 71 72 72 73 73 74 74 76 78 78 79 81

Matrixpartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.1.1 Ziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.1.2 Eindimensionales Modellbeispiel . . . . . . . . . . . . . . . . . . . . . 84 5.2 Zul¨ assige Bl¨ ocke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2.1 Metrik der Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2.2 Zul¨ assigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.2.3 Verallgemeinerte Zul¨ assigkeit . . . . . . . . . . . . . . . . . . . . . . . 89 5.2.4 Erl¨ auterung am Beispiel aus §5.1.2 . . . . . . . . . . . . . . . . . . 90 5.3 Clusterbaum T (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.3.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.3.2 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.3.3 Blockzerlegung eines Vektors . . . . . . . . . . . . . . . . . . . . . . . . 93 5.3.4 Speicherkosten f¨ ur T (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.4 Konstruktion des Clusterbaums T (I) . . . . . . . . . . . . . . . . . . . . . . . 96 5.4.1 Notwendige Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.4.2 Geometriebasierte Konstruktion mittels Minimalquader 97 5.4.3 Kardinalit¨ atsbasierte Konstruktion . . . . . . . . . . . . . . . . . . 101 5.4.4 Implementierung und Aufwand . . . . . . . . . . . . . . . . . . . . . . 101 5.4.5 Auswertung der Zul¨ assigkeitsbedingung . . . . . . . . . . . . . . 102 5.5 Blockclusterbaum T (I × J) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.5.1 Definition des stufentreuen Blockclusterbaums . . . . . . . . 104 5.5.2 Verallgemeinerung der Definition . . . . . . . . . . . . . . . . . . . . 105 5.5.3 Alternative Konstruktion von T (I × J) aus T (I) und T (J) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

XIV

Inhaltsverzeichnis

5.5.4 Matrixpartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.5.5 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.6 Alternative Clusterbaumkonstruktionen und Partitionen . . . . . . 112 6

Definition und Eigenschaften der hierarchischen Matrizen . 113 6.1 Menge H(k, P ) der hierarchischen Matrizen . . . . . . . . . . . . . . . . . 113 6.2 Elementare Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.3 Schwachbesetztheit und Speicherbedarf . . . . . . . . . . . . . . . . . . . . . 116 6.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.3.2 Speicherbedarf einer hierarchischen Matrix . . . . . . . . . . . 118 6.4 Absch¨ atzung von Csp ∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.4.1 Erster Zugang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.4.2 Absch¨ atzung zu Konstruktion (5.30) . . . . . . . . . . . . . . . . . 123 6.4.3 Anmerkung zu Konstruktion (5.34) . . . . . . . . . . . . . . . . . . 127 6.5 Fehlerabsch¨ atzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.5.1 Frobenius-Norm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.5.2 Vorbereitende Lemmata . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.5.3 Spektralnorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.5.4 Norm ||| · ||| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.6 Adaptive Rangbestimmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.7 Rekompressionstechniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.7.1 Kompression durch TεH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.7.2 Vergr¨ oberung der Bl¨ ocke . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6.8 Modifikationen des H-Matrixformates . . . . . . . . . . . . . . . . . . . . . . 141 6.8.1 H-Matrizen mit Gleichungsnebenbedingungen . . . . . . . . . 141 6.8.2 Positive Definitheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.8.3 Positivit¨ at von Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.8.4 Orthogonalit¨ at von Matrizen . . . . . . . . . . . . . . . . . . . . . . . . 146

7

Formatierte Matrixoperationen f¨ ur hierarchische Matrizen . 147 7.1 Matrix-Vektor-Multiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.2 K¨ urzungen und Konvertierungen . . . . . . . . . . . . . . . . . . . . . . . . . . 148 R H , TkR und Tk← . . . . . . . . . . . . . . . . . . . . . 148 7.2.1 K¨ urzungen Tk← 7.2.2 Agglomeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.2.3 Konvertierung TkR←H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.2.4 Konvertierung TPH←H  ←P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7.2.5 Konvertierung TPH←H  ←P bei unterschiedlichen Blockclusterb¨ aumen ∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7.3 Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 7.4 Matrix-Matrix-Multiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.4.1 Komplikationen bei der Matrix-Matrix-Multiplikation . . 155 7.4.2 Algorithmus im konsistenten Fall . . . . . . . . . . . . . . . . . . . . 157 7.4.3 Algorithmus im stufentreuen Fall . . . . . . . . . . . . . . . . . . . . 167 7.5 Matrix-Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.5.1 Rekursiver Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Inhaltsverzeichnis

XV

7.5.2 Alternativer Algorithmus mittels Gebietszerlegung . . . . . 172 7.5.3 Newton-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 7.6 LU- bzw. Cholesky-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 7.6.1 Format der Dreiecksmatrizen . . . . . . . . . . . . . . . . . . . . . . . 173 7.6.2 Aufl¨ osung von LU x = b . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.6.3 Matrixwertige L¨ osung von LX = Z und XU = Z . . . . . . 176 7.6.4 Erzeugung der LU- bzw. Cholesky-Zerlegung . . . . . . . . . . 177 7.7 Hadamard-Produkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.8 Aufwand der Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.8.1 Matrix-Vektor-Multiplikation . . . . . . . . . . . . . . . . . . . . . . . 179 7.8.2 Matrix-Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.8.3 Matrix-Matrix-Multiplikation . . . . . . . . . . . . . . . . . . . . . . . 180 7.8.4 Matrix-Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 7.8.5 LU- bzw. Cholesky-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . 189 8

H2 -Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 8.1 Erster Schritt: M |b ∈ Vb ⊗ Wb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 8.2 Zweiter Schritt: M |τ ×σ ∈ Vτ ⊗ Wσ . . . . . . . . . . . . . . . . . . . . . . . . . 195 8.3 Definition der H2 -Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 8.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 8.3.2 Transformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 8.3.3 Speicherbedarf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 8.3.4 Projektion auf H2 -Format . . . . . . . . . . . . . . . . . . . . . . . . . . 200 8.4 Hinreichende Bedingungen f¨ ur geschachtelte Basen . . . . . . . . . . . 202 8.4.1 Allgemeiner Fall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 8.4.2 Beispiel: Approximation von Integraloperatoren durch Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 8.5 Matrix-Vektor-Multiplikation mit H2 -Matrizen . . . . . . . . . . . . . . 204 8.5.1 Vorw¨ artstransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 8.5.2 Multiplikationsphase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 8.5.3 R¨ ucktransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 8.5.4 Gesamtalgorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 8.6 H2 -Matrizen mit linearem Aufwand . . . . . . . . . . . . . . . . . . . . . . . . 207 aume Vτ und Wσ . . . . . . . . . . . 209 8.7 Adaptive Bestimmung der H2 -R¨ 8.8 Matrix-Matrix-Multiplikation von H2 -Matrizen . . . . . . . . . . . . . . 213 8.8.1 Multiplikation bei gegebenem H2 -Format . . . . . . . . . . . . . 213 8.8.2 Multiplikation bei gesuchtem H2 -Format . . . . . . . . . . . . . 214 8.9 Numerisches Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

9

Verschiedene Erg¨ anzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 9.1 Konstruktion schneller Iterationsverfahren . . . . . . . . . . . . . . . . . . 217 9.2 Modifizierte Clusterb¨ aume f¨ ur schwach besetzte Matrizen . . . . 219 9.2.1 Problembeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 9.2.2 Finite-Element-Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 9.2.3 Separierbarkeit der Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 222

XVI

Inhaltsverzeichnis

9.3

9.4

9.5 9.6

9.2.4 Konstruktion des Clusterbaums . . . . . . . . . . . . . . . . . . . . . 224 9.2.5 Anwendung auf Invertierung . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.6 Zul¨ assigkeitsbedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.7 LU-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.8 H-Matrixeigenschaften der LU-Faktoren . . . . . . . . . . . . . . 228 9.2.9 Geometriefreie Konstruktion der Partition . . . . . . . . . . . . 231 Schwache Zul¨ assigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 9.3.1 Definition und Absch¨ atzungen . . . . . . . . . . . . . . . . . . . . . . 232 9.3.2 Beispiel k(x, y) = log |x − y| . . . . . . . . . . . . . . . . . . . . . . . . 234 9.3.3 Zusammenhang mit der Matrixfamilie Mk,τ . . . . . . . . . . 235 Kreuzapproximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 9.4.1 Basisverfahren und theoretische Aussagen . . . . . . . . . . . . 238 9.4.2 Praktische Durchf¨ uhrung der Kreuzapproximation . . . . . 239 9.4.3 Adaptive Kreuzapproximation . . . . . . . . . . . . . . . . . . . . . . 241 9.4.4 Erzeugung separabler Entwicklungen mittels Kreuzapproximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 9.4.5 Die hybride Kreuzapproximation . . . . . . . . . . . . . . . . . . . . 245 Kriterien f¨ ur Approximierbarkeit in H(k, P ) . . . . . . . . . . . . . . . . 246 ¨ Anderung der Matrizen bei Gitterverfeinerung . . . . . . . . . . . . . . 249

10 Anwendungen auf diskretisierte Integraloperatoren . . . . . . . . 251 10.1 Typische Integraloperatoren f¨ ur elliptische Randwertaufgaben 251 10.1.1 Randwertproblem und Fundamentall¨osung . . . . . . . . . . . . 252 10.1.2 Einfach-Schicht-Potential f¨ ur das Dirichlet-Problem . . . . 252 10.1.3 Direkte Methode, Doppelschicht-Operator . . . . . . . . . . . . 253 10.1.4 Hypersingul¨ arer Operator . . . . . . . . . . . . . . . . . . . . . . . . . . 254 10.1.5 Calder´ on-Projektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 10.2 Newton-Potential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 10.3 Randelementdiskretisierung und Erzeugung der Systemmatrix in hierarchischer Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 10.4 Helmholtz-Gleichung f¨ ur hohe Frequenzen . . . . . . . . . . . . . . . . . . 257 10.5 Allgemeine Fredholm-Integraloperatoren . . . . . . . . . . . . . . . . . . . . 258 10.6 Anwendungen auf Volterra-Integraloperatoren . . . . . . . . . . . . . . . 258 10.6.1 Diskretisierungen von Volterra-Integraloperatoren . . . . . 258 10.6.2 Implementierung als Standard-H-Matrix . . . . . . . . . . . . . 260 10.6.3 Niedrigrangdarstellung von Profilmatrizen . . . . . . . . . . . . 261 10.6.4 Matrix-Vektor-Multiplikation . . . . . . . . . . . . . . . . . . . . . . . 262 10.7 Faltungsintegrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 11 Anwendungen auf Finite-Element-Matrizen . . . . . . . . . . . . . . . . 267 11.1 Inverse der Massematrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 11.2 Der Green-Operator und seine Galerkin-Diskretisierung . . . . . . 271 11.2.1 Das elliptische Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 11.2.2 Die Green-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 11.2.3 Der Green-Operator G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

Inhaltsverzeichnis

XVII

11.2.4 Galerkin-Diskretisierung von G und der Zusammenhang mit A−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 11.2.5 Folgerungen aus separabler Approximation der Greenschen Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 11.3 Analysis der Greenschen Funktion . . . . . . . . . . . . . . . . . . . . . . . . . 279 11.3.1 L-harmonische Funktionen und innere Regularit¨at . . . . . 280 11.3.2 Approximation durch endlich-dimensionale Unterr¨aume 282 11.3.3 Hauptresultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 11.3.4 Anwendung auf die Randelementmethode . . . . . . . . . . . . 289 11.3.5 FEM-BEM-Kopplung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 12 Inversion mit partieller Auswertung . . . . . . . . . . . . . . . . . . . . . . . 291 12.1 Baum der Gebietszerlegung und zugeh¨orige Spurabbildungen . . 292 ¨ 12.2 Diskrete Variante - Ubersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 12.3 Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 12.3.1 Finite-Element-Diskretisierung und Matrixformulierung 295 12.3.2 Zerlegung der Indexmenge . . . . . . . . . . . . . . . . . . . . . . . . . . 297 12.3.3 Die Abbildung Φω . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 12.3.4 Nat¨ urliche Randbedingung . . . . . . . . . . . . . . . . . . . . . . . . . 298 12.3.5 Zusammenhang der Matrizen . . . . . . . . . . . . . . . . . . . . . . . 299 12.3.6 Die Abbildung Ψω . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 12.3.7 Konstruktion von Φω aus Ψω1 und Ψω2 . . . . . . . . . . . . . . . 300 12.3.8 Konstruktion von Ψω aus Ψω1 und Ψω2 . . . . . . . . . . . . . . . 303 12.4 Basisalgorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 12.4.1 Definitionsphase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 12.4.2 Auswertungsphase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 12.4.3 Homogene Differentialgleichung . . . . . . . . . . . . . . . . . . . . . 306 12.5 Verwendung hierarchischer Matrizen . . . . . . . . . . . . . . . . . . . . . . . 306 12.6 Partielle Auswertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 12.6.1 Basisverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 12.6.2 Realisierung mit hierarchischen Matrizen . . . . . . . . . . . . . 310 12.6.3 Vergr¨ oberung des Ansatzraumes f¨ ur die rechte Seite . . . 311 12.6.4 Berechnung von Funktionalen . . . . . . . . . . . . . . . . . . . . . . . 311 13 Matrixfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 13.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 13.1.1 Funktionserweiterung mittels Diagonalmatrizen . . . . . . . 314 13.1.2 Potenzreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 13.1.3 Cauchy-Integraldarstellung . . . . . . . . . . . . . . . . . . . . . . . . . 316 13.1.4 Spezialf¨ alle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 13.2 Konstruktionen spezieller Funktionen . . . . . . . . . . . . . . . . . . . . . . 317 13.2.1 Approximation von Matrixfunktionen . . . . . . . . . . . . . . . . 317 13.2.2 Matrix-Exponentialfunktion . . . . . . . . . . . . . . . . . . . . . . . . 319 13.2.3 Inverse Funktion 1/z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 13.2.4 Anwendung von Newton-artigen Verfahren . . . . . . . . . . . 328

XVIII Inhaltsverzeichnis

13.3 H-Matrix-Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 13.3.1 Matrix-Exponentialfunktion . . . . . . . . . . . . . . . . . . . . . . . . 328 13.3.2 Approximation nichtglatter Matrixfunktionen . . . . . . . . . 328 14 Matrixgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 14.1 Ljapunow- und Sylvester-Gleichung . . . . . . . . . . . . . . . . . . . . . . . . 330 14.1.1 Definition und L¨ osbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . 330 14.1.2 Andere L¨ osungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 14.2 Riccati-Gleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 14.2.1 Definition und Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . 332 14.2.2 L¨ osung mittels der Signumfunktion . . . . . . . . . . . . . . . . . . 333 14.3 Newton-artige Verfahren zur L¨ osung nichtlinearer Matrixgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 14.3.1 Beispiel der Quadratwurzel einer Matrix . . . . . . . . . . . . . 334 14.3.2 Einfluss der K¨ urzung bei Fixpunktiterationen . . . . . . . . . 335 15 Tensorprodukte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 15.1 Tensor-Vektorraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 15.1.1 Notationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 15.1.2 Hilbert-Raum-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 15.1.3 Datenkomplexit¨ at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 15.2 Approximation im Tensorraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 15.2.1 k-Term-Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 15.2.2 k-Term-Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 15.2.3 Darstellung mit Tensorprodukten von Unterr¨aumen . . . . 343 15.3 Kronecker-Produkte von Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . 343 15.3.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 15.3.2 Anwendung auf die Exponentialfunktion . . . . . . . . . . . . . 345 15.3.3 Hierarchische Kronecker-Tensorproduktdarstellung . . . . . 346 15.4 Der Fall d = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 15.4.1 Tensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 15.4.2 Kronecker-Matrixprodukte . . . . . . . . . . . . . . . . . . . . . . . . . 348 15.4.3 Komplexit¨ atsbetrachtungen . . . . . . . . . . . . . . . . . . . . . . . . . 349 15.4.4 HKT-Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 15.5 Der Fall d > 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 15.5.1 Spezielle Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 15.5.2 Inverse eines separablen Differentialoperators . . . . . . . . . 353 A

Graphen und B¨ aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 A.1 Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 A.2 B¨ aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 A.3 Teilb¨ aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 A.4 B¨ aume zu Mengenzerlegungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

Inhaltsverzeichnis

XIX

B

Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 B.1 Multiindizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 B.1.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 B.1.2 Formelsammlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 B.2 Polynomapproximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 B.3 Polynominterpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 B.3.1 Eindimensionale Interpolation . . . . . . . . . . . . . . . . . . . . . . . 366 B.3.2 Tensorprodukt-Interpolation . . . . . . . . . . . . . . . . . . . . . . . . 369

C

Lineare Algebra, Funktionalanalysis, Singul¨ arwertzerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 C.1 Matrixnormen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 C.2 Singul¨ arwertzerlegung von Matrizen . . . . . . . . . . . . . . . . . . . . . . . 373 C.3 Hilbert-R¨ aume, L2 -Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 C.4 Singul¨ arwertzerlegung kompakter Operatoren . . . . . . . . . . . . . . . 379 C.4.1 Singul¨ arwertzerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 C.4.2 Hilbert-Schmidt-Operatoren . . . . . . . . . . . . . . . . . . . . . . . . 381 C.5 Abbildungen zu Galerkin-Unterr¨ aumen . . . . . . . . . . . . . . . . . . . . . 383 C.5.1 Orthogonale Projektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 C.5.2 Unterraumbasis, Prolongation, Restriktion, Massematrix383 C.5.3 Norm ||| · ||| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 C.5.4 Bilinearformen, Diskretisierung . . . . . . . . . . . . . . . . . . . . . . 388

D

Sinc-Interpolation und -Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . 391 D.1 Elementare Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 D.2 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 D.2.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 D.2.2 Stabilit¨ at der Sinc-Interpolation . . . . . . . . . . . . . . . . . . . . . 393 D.2.3 Absch¨ atzungen im Streifen Dd . . . . . . . . . . . . . . . . . . . . . . 394 D.2.4 Absch¨ atzungen durch e−CN/ log N . . . . . . . . . . . . . . . . . . . . 397 D.2.5 Approximation der Ableitung . . . . . . . . . . . . . . . . . . . . . . . 399 D.2.6 Meromorphes f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 D.2.7 Andere Singularit¨ aten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 D.3 Separable Sinc-Entwicklungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 D.3.1 Direkte Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 D.3.2 Transformation und Skalierung . . . . . . . . . . . . . . . . . . . . . . 401 D.3.3 Eine spezielle Transformation . . . . . . . . . . . . . . . . . . . . . . . 403 D.3.4 Beispiel 1/(x + y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 D.3.5 Beispiel log(x + y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 D.4 Sinc-Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 D.4.1 Quadraturverfahren und Analyse . . . . . . . . . . . . . . . . . . . . 409 D.4.2 Separable Entwicklungen mittels Quadratur . . . . . . . . . . 411 D.4.3 Beispiel: Integrand exp(−rt) . . . . . . . . . . . . . . . . . . . . . . . . 412 D.4.4 Beispiel: Integrand exp(−r2 t2 ) . . . . . . . . . . . . . . . . . . . . . . 416

XX

E

Inhaltsverzeichnis

Asymptotisch glatte Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 −a E.1 Beispiel |x − y| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 E.1.1 Richtungsableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 E.1.2 Gemischte Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 E.1.3 Analytizit¨ at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 E.2 Asymptotische Glattheit weiterer Funktionen . . . . . . . . . . . . . . . 425 E.3 Allgemeine Eigenschaften asymptotisch glatter Funktionen . . . . 427 E.3.1 Hilfsabsch¨ atzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 E.3.2 Absch¨ atzung f¨ ur Richtungsableitungen . . . . . . . . . . . . . . . 429 E.3.3 Aussagen f¨ ur beschr¨ ankte Gebiete . . . . . . . . . . . . . . . . . . . 430 E.3.4 Produkte asymptotisch glatter Funktionen . . . . . . . . . . . . 431

Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Notationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

1 Einleitung

1.1 Was ist die zu l¨ osende Aufgabe, wo liegen die Schwierigkeiten? 1.1.1 Aufgabenbeispiele Aufgaben der linearen Algebra treten bei verschiedensten Anwendungen auf. Im Zusammenhang mit Vektoren (z.B.1 im Rn ) sind die VektorraumOperationen x, y ∈ Rn λ ∈ R, x ∈ Rn

→

x + y ∈ Rn ,

→

λx ∈ Rn

gefordert, was im Allgemeinen die geringsten M¨ uhen bereitet. Im Zusammenhang mit Matrizen (quadratischen n×n-Matrizen wie rechteckigen n×m-Matrizen) kann schon die Abspeicherung ein Problem darstellen, wenn n2 bzw. nm groß sind. Unter den Operationen mit Matrizen ist die h¨aufigste die Matrix-VektorMultiplikation (1.1) A ∈ Rn×m , x ∈ Rm → Ax ∈ Rn , die der Realisierung der mit A beschriebenen linearen Abbildung entspricht. Da Matrizen einen Ring beschreiben, m¨ochte man auch die Ringoperationen durchf¨ uhren: A, B ∈ Rn×m A∈R

n×m

1

,B∈R

m×p

→

A + B ∈ Rn×m ,

(1.2)

→

A·B ∈R

(1.3)

n×p

F¨ ur den zugrundeliegenden K¨ orper nehmen wir im Folgenden stets R an. Gelegentlich ist auch der K¨ orper C der komplexen Zahlen notwendig, aber die Verallgemeinerung auf C bringt keine prinzipiell neuen Probleme, sodass eine Beschr¨ ankung auf R Sinn macht. V¨ ollig andersartige K¨ orper wie z.B. Zp werden explizit ausgeschlossen, da man hierin exakt rechnen m¨ usste, w¨ ahrend im Folgenden Approximationen angewandt werden sollen.

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 1, c Springer-Verlag Berlin Heidelberg 2009 

2

1 Einleitung

(die Skalarmultiplikation A ∈ Rn×m , λ ∈ R → λA ∈ Rn×m geh¨ort auch dazu, ist aber nicht so bemerkenswert). Schließlich m¨ochte man f¨ ur regul¨are Matrizen die Inverse berechnen: ar A ∈ Rn×n regul¨

→

A−1 ∈ Rn×n .

(1.4)

Daneben gibt es weitere Aufgaben wie die LU-Zerlegung ar → A = LU, A ∈ Rn×n regul¨ L untere normierte und U obere Dreiecksmatrix,

(1.5a)

die eventuell um die Pivotisierung erg¨ anzt werden muss, sowie die CholeskyZerlegung 2 A ∈ Rn×n positiv definit → A = LL , (1.5b) L untere Dreiecksmatrix mit Lii > 0 (vgl. Stoer [129, Abschnitte 4.1 und 4.3]). Im Falle eines Gleichungssystems Ax = b m¨ochte man nicht die inverse Matrix berechnen, sondern nur das spezielle Bild x = A−1 b ermitteln: ar, b ∈ Rn A ∈ Rn×n regul¨

→

x ∈ Rn L¨osung von Ax = b.

(1.6)

Mitunter sind auch Funktionen von Matrizen von Interesse. Das bekannteste Beispiel ist die Matrix-Exponentialfunktion A∈R

n×n

→

∞  1 ν A . exp(A) := ν! ν=0

(1.7)

Schließlich gibt es noch (lineare oder nichtlineare) Gleichungssysteme f¨ ur Matrizen. Eine bekannte lineare Gleichung in X ist die Ljapunow 3-Gleichung AX + XA = B

(A, B ∈ Rn×n gegeben, X ∈ Rn×n gesucht).

(1.8)

Die Riccati 4-Gleichung AX + XA + XCX = B (A,B,C ∈ Rn×n gegeben, X ∈ Rn×n gesucht) (1.9) ist quadratisch in X und daher nichtlinear. 2

3

4

Andr´e Louis Cholesky (geb. 15.10.1875 in Montguyon bei Bordeaux, gest. am 31.8.1918) setzte dieses Verfahren f¨ ur Kleinste-Quadrate-Probleme ein, die bei geod¨ atischen Vermessungen auftraten. Sein Verfahren wurde posthum von Benoˆıt [16] ver¨ offentlicht. Eine Beschreibung des Verfahrens findet sich auf handschriftlichen Notizen von Cholesky datiert auf den 2.12.1910. Aleksandr Michailowitsch Ljapunow, geboren am 6. Juni 1857 in Yaroslavl, gestorben am 3. Nov. 1918 in Odessa. Jacopo Francesco Riccati, geboren am 28. Mai 1676 in Venedig, gestorben am 15. April 1754 in Treviso (Venezianische Republik).

1.2 Komplexit¨ at der Algorithmen

3

1.1.2 Gr¨ oßenordnung der Dimension Solange n eine feste, kleine Zahl ist, stellen die genannten Aufgaben (wenn sie nicht schlecht konditioniert sind) keine Schwierigkeit dar. Es gibt aber eine große Klassen von Problemen der Linearen Algebra, die aus der Diskretisierung partieller Differentialgleichungen oder verwandter Integralgleichungen resultieren. Vor der Diskretisierung sind die Aufgaben unendlich-dimensional. Der durch die Diskretisierung induzierte Fehler (der sogenannte Diskretisierungsfehler ) geht gegen null, wenn die Dimension n gegen ∞ geht. Daher wird man versuchen, n so groß wie m¨ oglich zu w¨ ahlen, und das heißt, so groß, dass der Rechner-Speicherplatz ausreicht und das Resultat der Rechnung in einer Zeitspanne geliefert wird, die akzeptabel ist. Man hat sich die Gr¨oßenordnung n = 106 und mehr vorzustellen, und eventuell ben¨otigt der Rechner mehrere Tage f¨ ur die Ausf¨ uhrung. 1.1.3 Exakte oder n¨ aherungsweise Berechnung Die oben aufgez¨ ahlten Aufgaben fragen nach dem exakten Resultat der jeweiligen Operation. Legt man den K¨ orper R zugrunde, so ist offensichtlich, dass Rundungsfehler in der Gr¨ oßenordnung der relativen Maschinengenauigkeit eps unvermeidbar sind. Viel entscheidender ist aber, dass wegen der in §1.1.2 angesprochenen Diskretisierung auch bei exakt ausgef¨ uhrter linearer Algebra die Resultate nur N¨ aherungen gegen¨ uber der L¨osung der eigentlichen partiellen Differentialgleichung darstellen. Wichtig ist in diesem Zusammenhang, dass der Diskretisierungsfehler εDiskr im Allgemeinen um Gr¨ oßenordnungen gr¨ oßer als eps ist. Ein zus¨ atzlicher Fehler infolge einer inexakten Auswertung der algebraischen Operationen in der Gr¨oßenordnung von εDiskr ist durchaus akzeptabel. Die Tatsache, dass man beispielsweise ein Gleichungssystem (1.6) nicht exakt, sondern nur n¨ aherungsweise berechnen m¨ochte, erlaubt iterative Verfahren, deren Iterationsfehler mit der Anzahl der Iterationsschritte und damit mit dem Rechenaufwand verbunden ist (vgl. Hackbusch [66]).

1.2 Komplexit¨ at der Algorithmen Es reicht nicht aus zu wissen, dass ein Algorithmus prinzipiell durchf¨ uhrbar ist, sondern man muss auch sicherstellen, dass die Speicherkapazit¨at und Rechengeschwindigkeit der zur Zeit verf¨ ugbaren Rechner ausreichen. F¨ ur diesen Zweck ist die Komplexit¨ at eines Algorithmus zu quantifizieren. 1.2.1 Komplexit¨ at Sei Φ : x ∈ D ⊂ Rn → y ∈ Rm eine beliebige Abbildung. Ein Algorithmus AΦ zur Berechnung von Φ(x) ist eine Folge von Elementaroperationen,

4

1 Einleitung

die durch die Implementierung festgelegt werden. Unter der vereinfachenden Annahme, dass alle als Elementaroperationen zugelassenen Operationen die gleiche Rechenzeit ben¨ otigen, ist die Rechenzeit durch die Anzahl NΦ der Elementaroperationen charakterisiert. Im Allgemeinen kann NΦ vom Argument x abh¨ angen, sodass man dann zur maximalen Anzahl supx NΦ (x) u ¨bergehen sollte.5 Anmerkung 1.2.1. Die Abbildung Φ : x ∈ D ⊂ Rn → y ∈ Rm sei in dem Sinne nichttrivial, dass Φ(x) von allen Eingabedaten (d.h. allen Komponenten angt und y im Allgemeinen verschiedene Komponenten yi besitzt und xi ) abh¨ ur gewisse Paare (i, j) und alle x ∈ D) zutrifft. nicht die Identit¨ at Φj (x) = xi (f¨ Dann gilt NΦ ≥ max{n/2, m} .6 Beweis. Die Elementaroperationen haben h¨ ochstens zwei Argumente. Zu jedem i muss es eine Elementaroperation geben, die xi als Argument enth¨alt, angt. Damit m¨ ussen mindestens n/2 Elementarda sonst Φ(x) nicht von xi abh¨ operationen auftreten. Außerdem muss jedes yj Resultat einer Elementaroperation sein, sodass ihre Anzahl ≥ m ist. Der vom Algorithmus in Anspruch genommene Speicher (Einheit ist der Speicherbedarf einer reellen Maschinenzahl) sei mit SΦ bezeichnet. Dabei kann angig von n, m sein (Beispiel: Summation aus in g¨ unstigen F¨ allen SΦ unabh¨ Fußnote 6), ist in ung¨ unstigen Situationen aber aufgrund von vielen simultan auftretenden Zwischenwerten wesentlich gr¨ oßer. Zur Vereinfachung beschr¨ anken wir uns auf einen Dimensionsparameter n (d.h. n = m). Viele Algorithmen haben n als Parameter, d.h. die obige Abbildung Φ wird als Φn : x ∈ Rn → y geschrieben, und man betrachtet die Familie aller {Φn : n ∈ N}. Alle Aufgaben aus §1.1.1 sind von dieser Art. Damit werden NΦ und SΦ Funktionen von n ∈ N: NΦ (n) := NΦn ,

SΦ (n) := SΦn .

Folglich l¨ asst sich das Verhalten von NΦ und SΦ bez¨ uglich n → ∞ diskutieren. Wir benutzen das Landau7 -Symbol O: NΦ (n) = O(g(n)) bedeutet, dass ur alle n ≥ n0 . Konstanten K und n0 existieren, sodass NΦ (n) ≤ Kg(n) f¨ Gem¨ aß Anmerkung 1.2.1 ist NΦ (n) = O(n) die bestm¨ogliche Absch¨atzung. In diesem Falle spricht man von linearer Komplexit¨ at. Die Matrix-Vektor-Multiplikation x ∈ Rn → y := Ax ∈ Rn wird n im Allgemeinen mit Hilfe der Summation yj = j=1 Ajk xk berechnet 5

6

7

Falls eine sinnvolle statistische Verteilung der Argumente x definiert werden kann, l¨ asst sich auch ein Erwartungswert E(NΦ (·)) definieren. max{n/2, m} kann sogar durch max{n−1, m} ersetzt werden (Beweishintergrund: Ein bin¨ arer Baum mit n Bl¨ attern muss außer den Bl¨ attern noch n − 1 weitere Knoten  enthalten; vgl. Lemma A.3.4). Ein Beispiel f¨ ur die Anzahl NΦ = n − 1 ist 1 Φ(x) = n i=1 xi =: y ∈ R (d.h. m = 1). Edmund Georg Hermann Landau, geboren am 14. Februar 1877 in Berlin, gestorben am 19. Februar 1938 in Berlin.

1.2 Komplexit¨ at der Algorithmen

5

und ben¨ otigt damit n2 Multiplikationen und n (n − 1) Additionen. Also ist NΦ (n) = 2n2 − n = O(n2 ) , d.h. dieser Algorithmus hat quadratische Komplexit¨ at. F¨ ur die Gleichungsaufl¨ osung b ∈ Rn → x := A−1 b ∈ Rn aus (1.6) 8 at: l¨ asst sich die Gauß -Elimination verwenden. Sie besitzt kubische Komplexit¨ asst sich diese Aufgabe auch anders interpreNΦ (n) = O(n3 ) . Allerdings l¨ tieren. Sieht man neben b ∈ Rn die Matrix A ∈ Rn×n als Eingabe an, ist n := n2 + n die Zahl der Eingabedaten und NΦ gleich O(n 3/2 ). Bisher traten nur Beispiele f¨ ur polynomielle Komplexit¨at auf, d.h. O(np ). In der diskreten Optimierung sind die meisten interessanten Probleme schwierig in dem Sinne, dass NΦ (n) nicht polynomiell beschr¨ankt ist und beispielsweise exponentiell in n w¨ achst. Ein Beispiel aus der Linearen Algebra ist der nicht nachahmenswerte Versuch, det(A) f¨ ur A ∈ Rn×n mittels der 9 ur ermittelt man Laplaceschen Entwicklungsformel zu berechnen. Hierf¨ NΦ (n) = O(n!). ˆ ∈ Rn (siehe Die schnelle Fourier10 -Transformation Φn : x ∈ Rn → x ¨ Ubung 1.4.1) ben¨ otigt den Aufwand O(n log n). Da der Logarithmus nur sehr schwach ansteigt, werden wir im Folgenden von fast linearer Komplexit¨ at ur ein von n unabh¨angiges q ≥ 0 gilt. sprechen, wenn NΦ (n) = O(n logq n) f¨ 1.2.2 Warum braucht man (fast) lineare Komplexit¨ at f¨ ur großskalige Probleme? Als großskalige Probleme werden solche bezeichnet, die man mit maximal ugbare Speicher, so m¨ oglichem n berechnen m¨ ochte. Ist Smax der maximal verf¨ kann man an der Berechnung von Φn mit nmax := max{n : SΦ (n ) ≤ Smax } interessiert sein. Es wurde schon bemerkt, dass Diskretisierungen partieller Differentialgleichungen zu derartigen großskaligen Problemen f¨ uhren. Weiterhin nehmen wir an, dass der Speicherbedarf der Algorithmen agt. SΦ (n) = O(n) betr¨ Um zu verstehen, dass nur Algorithmen von (fast) linearer Komplexit¨ at akzeptabel sind, hat man die zeitliche Entwicklung der Rechnertechnik einzubeziehen. Es ist eine empirische Beobachtung, dass sich sowohl die Speicherkapazit¨ at als auch die Rechengeschwindigkeit pro Zeiteinheit ¨ um einen konstanten Faktor verbessern. F¨ ur die folgenden Uberlegungen ist es nur wichtig, dass beide um den gleichen Faktor ansteigen. Danach gibt es z.B. eine Zeitspanne Δt, in der sich der Speicher verdoppelt ur eine Elementaroperation (Smax (t + Δt) = 2Smax (t)) und der Zeitbedarf f¨ halbiert. Das oben definierte nmax ist damit auch zeitabh¨angig: wegen 8

9

10

Johann Carl Friedrich Gauß, geboren am 30. April 1777 in Braunschweig, gestorben am 23. Feb. 1855 in G¨ ottingen. Pierre-Simon Laplace, geboren am 23. M¨ arz 1749 in Beaumont-en-Auge, Normandy, gestorben am 5. M¨ arz 1827 in Paris. Jean Baptiste Joseph Fourier, geboren am 21. M¨ arz 1769 in Auxerre (Bourgogne), gestorben am 16. Mai 1830 in Paris.

6

1 Einleitung

SΦ (n) = O(n) gilt nmax (t + Δt) = 2nmax (t). Auf einem Rechner zur Zeit t + Δt berechnet man die Aufgabe mit dem gestiegenen nmax . Die Zahl der Operationen ist NΦ (nmax (t + Δt)) = NΦ (2nmax (t)). Es sei nun eine polynomielle Komplexit¨ at O(np ) angenommen. Dann ist p NΦ (nmax (t + Δt)) = NΦ (2nmax (t)) ≈ 2 NΦ (nmax (t)), d.h. der Aufwand steigt um den Faktor 2p . Da gleichzeitig die Rechengeschwindigkeit verdoppelt ist, steigt die ben¨ otigte Rechenzeit nur um 2p /2 = 2p−1 . Hieraus ergibt sich der folgende Schluss. Falls p > 1, ben¨otigt der neue oßerte Rechenzeit. Nur falls p = 1, Rechner eine um den Faktor 2p−1 > 1 vergr¨ bleibt die Rechenzeit konstant. Damit “¨ uberleben” nur die Algorithmen mit linearer Komplexit¨ at (wieder gilt, dass fast lineare Komplexit¨at tolerierbar ist; hierbei steigt die Rechenzeit nur um eine additive Gr¨oße). Es ist offenbar, dass ein zu großer Speicherbedarf die Verwendung eines Algorithmus ausschließt. Dies gilt aber auch hinsichtlich der Rechendauer. F¨ ur große n liegen die Rechenzeiten bei linearer und quadratischer Komplexit¨at um den Faktor O(n) auseinander. Schon bei n = 500 000 – einer Dimension, die heute durchaus auftritt – ist dies der Quotient zwischen einer Minute und einem Jahr.

1.3 Zugrundeliegende Strukturen und Implementierungsdarstellungen Es gibt viele Aufgaben, f¨ ur deren L¨ osung man in allgemeinen Fall keinen befriedigenden Algorithmus kennt; trotzdem k¨ onnen Spezialf¨alle11 gut l¨osbar sein. F¨ ur eine gute Implementierung ist es wesentlich, dass die zugrundeliegenden Strukturen ausgenutzt werden. 1.3.1 Vektor- und Matrixnotation Zun¨ achst wird eine mathematische Notation eingef¨ uhrt. Anstelle von x ∈ Rn verwenden wir die pr¨ azisere Schreibweise x = (xi )i∈I ∈ RI ,

(1.10a)

wobei I die zugrundeliegende (nicht notwendigerweise angeordnete) endliche Indexmenge ist. Wenn die Schreibweise Rn verwendet wird, so ist sie ein Sammelbegriff f¨ ur alle RI mit #I = n. Hierbei bezeichnet das Symbol # die Elementeanzahl (Kardinalit¨ at) einer Menge. ur die Vektormenge, schreiben wir Analog zur Schreibweise RI f¨ 11

Die meisten in der Praxis auftretenden und zu l¨ osenden Aufgaben sind in dem Sinne Spezialf¨ alle, als sie spezifische Strukturen enthalten. Spezialf¨ alle sind daher eher die Regel als die Ausnahme!

1.3 Zugrundeliegende Strukturen und Implementierungsdarstellungen

M ∈ RI×J

7

(1.10b)

f¨ ur Matrizen (Mi,j )i∈I,j∈J . Die sonst u ¨bliche Schreibweise Rn×m wird als I×J mit #I = n und #J = m benutzt. Sammelbegriff f¨ ur alle Mengen R 1.3.2 Implementierungsdarstellungen Auch wenn ein mathematisches Objekt eindeutig definiert ist, so erlaubt es doch viele Darstellungen f¨ ur die Implementierung auf dem Rechner. Jede der Darstellungen kann f¨ ur Spezialf¨ alle besonders vorteilhaft sein. Umgekehrt findet man selten Darstellungen, die in jedem Fall optimal sind. Die gew¨ahlte Darstellung ist einerseits wichtig f¨ ur die Abspeicherung der Daten und bestimmt den Speicheraufwand. Andererseits werden mathematische Objekte mittels Operationen verkn¨ upft, was je nach Wahl der Darstellung zu mehr oder weniger Rechenaufwand f¨ uhren kann. Im Folgenden geben wir einige Beispiele f¨ ur Implementierungsdarstellungen von Vektoren (§§1.3.2.1-1.3.2.3) und Matrizen (§§1.3.2.4-1.3.2.12). Außerdem werden Begriffe eingef¨ uhrt, die sp¨ ater ben¨ otigt werden. 1.3.2.1 Voller Vektor Die naheliegende Darstellung eines Vektors x ∈ RI ist ein Tupel (xi )i∈I von real-Maschinenzahlen, wobei das Tupel entweder als array oder als Liste organisiert ist (auch die Information u ugbar sein). ¨ber I sollte verf¨ Der damit verbundene Speicherplatz ist S = O(#I). Diese Darstellung kann als Voller Vektor(I) bezeichnet werden (falls I = {1, . . . , n}, auch Voller Vektor(n) genannt).  Anmerkung 1.3.1. Ein Skalarprodukt (x, y) = i∈I xi yi zweier voll besetzter Vektoren x, y ∈ RI kostet 2#I − 1 Operationen. 1.3.2.2 Schwach besetzter Vektor Eine Alternative k¨ onnte ein schwach besetzter Vektor sein. Wenn nur ein kleiner Teil der Komponenten xi von x ∈ RI ungleich null ist, stellt dies eine Struktur dar, die man ausnutzen kann. Es wird eine Liste von Paaren    (i1 , xi1 ) , (i2 , xi2 ) , . . . , ip , xip mit 0 ≤ p ≤ #I abgespeichert, die alle Nicht-Null-Komponenten enth¨alt. Falls die Indizes angeordnet sind, sollte zudem i1 < i2 < . . . < ip vorausgesetzt werden. Dies definiert die Darstellung Duenner Vektor(I). In diesem Format l¨ asst sich z.B. ein Einheitsvektor als das 1-Tupel (i, 1) darstellen, hat also einen von n unabh¨ angigen Speicheraufwand.

8

1 Einleitung

1.3.2.3 Blockvektor Da die Partition einer Indexmenge auch sp¨ ater eine wichtige Rolle spielen wird, geben wir eine ausdr¨ uckliche Definition: Definition 1.3.2 (Partition). I sei eine endliche Indexmenge. P ist eine Partition von I, falls P = {I1 , . . . , Ip } ⊂ P(I)\{∅} (P: Potenzmenge) die Eigenschaften ur i = j (Disjunktheit), Ii ∩ Ij = ∅ f¨

I=

p 

Ij (Vollst¨ andigkeit)

(1.11)

j=1

besitzt. Die angeordnete Menge {1, . . . , p} kann auch durch eine nicht angeordnete Indexmenge K ersetzt werden: P = {Iι : ι ∈ K}. Der Vektorblock von x ∈ RI zu τ ∈ P ist x|τ := (xi )i∈τ ∈ Rτ .

(1.12)

12

Eine Darstellung von x als Blockvektor ist durch x = (x|Ij )j=1,...,p gegeben. Jeder Vektorblock kann eine der bisher beschriebenen Darstellungen haben.  ¨ zu einem VektorW¨ ahrend x ∈ RI → x|I  ∈ RI (I  ⊂ I) der Ubergang block ist, tritt auch der umgekehrte Prozess auf: Definition 1.3.3 (Einbettung, Agglomeration). a) Seien τ ⊂ I und z ∈ Rτ . Die Einbettung von z in RI geschieht mittels  zi f¨ ur i ∈ τ, (1.13) x := z|I ∈ RI , wobei xi := 0 sonst. ocke einer Partition von I und b) Seien I1 , I2 ∈ P zwei verschiedene Indexbl¨ y ∈ RI1 , z ∈ RI2 . Dann wird die Summe x := y|I +z|I auch als Agglomeration von y und z bezeichnet. Man beachte, dass im zweiten Fall I1 und I2 disjunkt sind. Die Agglomeration  des Blockvektors durch seine Vektorbl¨ocke schreibt sich nun als x = j (x|IJ ) |I . 1.3.2.4 Volle Matrix Matrizen k¨ onnen viele verschiedene Strukturen besitzen, die auf verschiedenen Ebenen ausgenutzt werden k¨ onnen. Die primitivste Form, die keine Strukturen aufzeigt, ist die Darstellung als volle Matrix, die in der Form Volle Matrix(I, J) = array(I) of Voller Vektor(J) konstruiert werden k¨ onnte, d.h. jede der #I Zeilen ist als voller Vektor wie oben dargestellt. Der Speicheraufwand ist S = #I#J. 12

Man beachte den Unterschied von Vektorblock und Blockvektor. Ein Vektorblock ist ein Teilvektor zur Indexmenge Ij , ein Blockvektor dagegen der Gesamtvektor mit einer Blockstruktur.

1.3 Zugrundeliegende Strukturen und Implementierungsdarstellungen

9

Anmerkung 1.3.4. a) Seien M ∈ RI×J eine volle Matrix und x ∈ RJ . Die Matrix-Vektor-Multiplikation M · x kostet #I (2#J − 1) Operationen. b) Seien A ∈ RI×J und B ∈ RJ×K zwei volle Matrizen. Die Matrix-MatrixMultiplikation A · B kostet #I#K (2#J − 1) Operationen. Beweis. Die obigen Berechnungen erfordern a) #I bzw. b) #I#K Skalarprodukte von J-Vektoren. ¨ Ubung 1.3.5. Das Produkt dreier Matrizen A ∈ RI×J , B ∈ RJ×K und K×L ist wegen der Kommutativit¨ at auf zwei Arten berechenbar: als C ∈ R A · (B · C) oder (A · B) · C. Sind die Kosten gleich? Falls nicht, was ist billiger? 1.3.2.5 Schwach besetzte Matrix Die Finite-Element-Diskretisierung von partiellen Differentialgleichungen liefert schwach besetzte Matrizen, das heißt, jede Zeile enth¨alt nur wenige Nicht-Null-Eintr¨ age. Hier bietet sich das Format array(I) of Duenner Vektor(J) an. Wenn, wie in diesem Beispiel, die Zahl der Nicht-Null-Eintr¨ age unabh¨ angig von #J beschr¨ankt ist, betr¨agt der Speicheraufwand S = O(#I). 1.3.2.6 Bandmatrix Spezielle schwach besetzte Matrix sind die Bandmatrizen, bei denen I = J = {1, 2, . . . , n} eine angeordnete Indexmenge ist und die Nicht-Null-Eintr¨age auf die Positionen (i, j) mit |i − j| ≤ b beschr¨ ankt sind (b: Bandbreite). Pro Zeile sind 2b + 1 Zahlen (z.B. im Format Voller Vektor(2b + 1)) abzulegen, sodass der Speicheraufwand S = n(2b + 1) = O(bn) ist. F¨ ur b = 1 erh¨alt man als Spezialfall die tridiagonalen Matrizen. Der Fall b = 0 wird nachfolgend behandelt. 1.3.2.7 Diagonalmatrix Der angenehmste Fall ist die Diagonalmatrix A = diag{aii : i ∈ I}. Hier enth¨ alt die Darstellung mittels Voller Vektor(I) alle notwendigen Daten. Der Speicheraufwand ist S = n. 1.3.2.8 Toeplitz-Matrix Seien I = {1, . . . , n} ⊂ Z und J = {1, . . . , m} ⊂ Z. Bei einer Toeplitz13 Matrix A h¨ angen die Eintr¨ age Aij nur von der Differenz i − j ab, d.h. in der Diagonalen sowie in jeder Nebendiagonalen stehen identische Werte: 13

Otto Toeplitz, geboren am 1. August 1881 in Breslau, gestorben am 15. Februar 1940 in Jerusalem. Er war Ordinarius an den Universit¨ aten Kiel (bis 1928) und Bonn (bis 1933).

10

1 Einleitung



a0 a1 . . . ⎢ a−1 a0 a1 ⎢ A = ⎢. .. .. ⎣ .. . . a1−n . . . a−1

⎤ an−1 ... ⎥ ⎥ ⎥ .. . ⎦

(Toeplitz-Matrix f¨ ur n = m).

a0

F¨ ur i ∈ I, j ∈ I variiert i − j in der Differenzmenge K := {1 − m, . . . , n − 1} . Mit Voller Vektor(K) werden die notwendigen Daten (ak )k∈K bereitgestellt. Der Speicheraufwand betr¨ agt S = #I + #J − 1. 1.3.2.9 Zirkulante Matrix Ein Spezialfall einer quadratischen Toeplitz-Matrix ist die zirkulante Matrix. Hier h¨ angt Aij nur von der Differenz i − j modulo n ab: ⎤ ⎡ an−1 a0 a1 ⎥ ⎢ an−1 a0 a1 ⎥ ⎢ . (1.14) A=⎢ . . . .. .. .. ⎥ ⎦ ⎣ an−1 a0 a1 Da die Werte (a0 , . . . , an−1 ) eine zirkulante Matrix vollst¨andig charakterisieren, ist die Darstellung Voller Vektor(n) m¨oglich und ben¨otigt den Speicheraufwand S = n. 1.3.2.10 Rang-k-Matrix Falls eine Matrix A ∈ RI×J einen Rang ≤ k besitzt, gibt es eine Faktorisierung A = B · C

mit B ∈ RI×{1,...,k} , C ∈ RJ×{1,...,k} ,

(1.15)

die hilfreich ist, wenn k  min{#I, #J}, d.h. wenn B=

,

C =

schmale Formate haben. Die Darstellung Rang(k)Matrix(I, J) besteht aus dem Paar von Volle Matrix(I, K) und Volle Matrix(J, K), wobei K = {1, . . . , k}. Der Fall k = 0 ist als Null-Matrix zu interpretieren. Der Speicheraufwand im Falle des Formates Rang(k)Matrix(I, J) ist S = k (#I + #J) . Im Namen “Rang-k-Matrix” ist k eine freie Variable, sodass auch von einer Rang--Matrix oder Rang-16-Matrix gesprochen werden kann.

1.3 Zugrundeliegende Strukturen und Implementierungsdarstellungen

11

1.3.2.11 Blockmatrix Was die Abspeicherung betrifft, k¨ onnte eine Matrix aus RI×J als ein Vektor zur Indexmenge I × J behandelt werden. Die zus¨atzliche Produktstruktur von I ×J wird jedoch in der folgenden Definition der Blockpartition ber¨ ucksichtigt (vgl. Definition 1.3.2). Definition 1.3.6 (Blockpartitionierung). Seien I und J endliche Indexmengen. P = {b1 , . . . , bp } ⊂ P(I × J)\{∅} ist eine Blockpartition von I × J, falls f¨ ur alle i ∈ {1, . . . , p} ist bi = I  ×J  mit I  ⊂ I, J  ⊂ J (Produktstruktur), ∅ f¨ ur i = j (Disjunktheit), bi ∩ bj = p (Vollst¨ andigkeit). I × J = j=1 bj Ein Beispiel einer Blockpartition sieht man in (3.3). H¨aufig wird eine wesentlich speziellere Blockpartition verwendet: Anmerkung 1.3.7. Seien PI und PJ Partitionen von I und J im Sinne von Definition 1.3.2. Dann definiert P := {b = τ × σ : τ ∈ PI , σ ∈ PJ } die von PI und PJ erzeugte Tensor-Blockpartition von I × J. b wird Indexblock (oder k¨ urzer: Block) genannt. Die mittels einer Blockpartition strukturierte Matrix wird kurz als Blockmatrix bezeichnet. Der Name Matrixblock wird dagegen f¨ ur die Untermatrix verwendet, die einem Block b ∈ P entspricht. Wir f¨ uhren hierf¨ ur die folgende Notation ein: M |b := (Mij )(i,j)∈b ∈ Rb

f¨ ur ein b ∈ P.

(1.16)

Die Blockmatrix kann demnach in der Form M = (M |b )b∈P geschrieben werden. Jeder Matrixblock kann eine der bisher beschriebenen Darstellungen haben. In v¨ olliger Analogie zu Definition 1.3.3 formulieren wir die Definition 1.3.8 (Einbettung, Agglomeration). Sei eine Blockpartition P von I × J gegeben. a) Seien b ∈ P und Z ∈ Rb . Die Einbettung von Z in RI×J geschieht mittels  Zi,j f¨ ur (i, j) ∈ b, I×J I×J ∈R , wobei Mi,j := (1.17) M := Z| 0 sonst. ocke und Y ∈ Rb1 , Z ∈ Rb2 . Dann b) Seien b1 , b2 ∈ P zwei disjunkte Indexbl¨ I×J I×J + Z| auch als Agglomeration von Y und Z wird die Summe M := Y | bezeichnet.

12

1 Einleitung

Notation 1.3.9 (Matrixzeilen und -spalten) Sei M ∈ RI×J . Die i-te Zeile (i ∈ I) bzw. j-te Spalte (j ∈ J) von M wird als Mi,J := (Mij ) j∈J ,

MI,j := (Mij )i∈I

bezeichnet. F¨ ur τ ⊂ I und σ ⊂ J bezeichnen Mi,σ := (Mij ) j∈σ und Mτ,j := (Mij )i∈τ die Beschr¨ ankungen auf σ bzw. τ. Partitionen von I × J erlauben eine Halbordnung: Definition 1.3.10. P1 und P2 seien Partitionen von I × J. Dann heißt “P1 feiner als P2 ” (gleichbedeutend: P2 gr¨ ober als P1 ), falls f¨ ur alle b1 ∈ P1 ein b2 ∈ P2 mit b1 ⊂ b2 existiert. 1.3.2.12 Funktionsdarstellungen Die bisherigen Darstellungen gehen davon aus, dass alle Daten simultan vorliegen. Die Daten k¨ onnen aber auch bei Bedarf von einer Funktion berechnet werden. Hier sind zwei Alternativen von praktischem Interesse. 1) Die Matrix M , die die lineare Abbildung φ(x) = M x repr¨asentiert, ist durch diese Abbildung kodiert. Anwendung auf den i-ten Einheitsvektor liefert dann z.B. die i-te Spalte von M. Ist M ∈ RI×J , so bedarf es #J Aufrufe von φ, um alle Koeffizienten von M zu erzeugen. 2) Die Koeffizienten sind als Funktion der Indizes bestimmbar, d.h. es liegt eine Funktion μ(i, j) vor, die f¨ ur jedes Paar i ∈ I, j ∈ J den Eintrag Mij zur¨ uckgibt. 1.3.2.13 Anmerkungen zu den Darstellungsarten Einige der Darstellungen sind vollst¨ andig, d.h. man kann jede Matrix in diesem Format darstellen. Andere (wie z.B. die Diagonalmatrix) stellen nur eine Untermenge von Matrizen dar. Zu den vollst¨andigen Darstellungen von Vektoren geh¨ ort z.B. auch Duenner Vektor(I), da nicht ausgeschlossen wird, dass die schwach besetzte Darstellung alle Komponenten enth¨alt, obwohl dann der Name nicht mehr zutrifft und die Darstellung ung¨ unstig wird. 1.3.3 Darstellungen und Operationen Soweit sind verschiedene Darstellungen vorgestellt und hinsichtlich des Speicherbedarfs gekennzeichnet worden. Sobald man Operationen durchf¨ uhren will, stellt sich die Frage, ob die Durchf¨ uhrung der Operation durch die Darstellungen der Operanden beg¨ unstigt oder behindert wird und ob das Format erhalten bleibt. Hier gibt es drei unterschiedliche F¨alle, f¨ ur die jeweils ein Beispiel angegeben wird. 1) Positiver Fall: Summe und Produkt zweier Diagonalmatrizen sind wieder Diagonalmatrizen.

1.4 In welchen F¨ allen ist lineare Komplexit¨ at erreichbar?

13

2) Eingeschr¨ ankt positiver Fall: Das Produkt zweier Bandmatrizen mit Bandbreiten b1 und b2 ist wieder eine Bandmatrix der gr¨oßeren Breite b1 + b2 . Wiederholt man die Operationen aus Fall 2, erh¨alt man immer weniger g¨ unstige Darstellungen. 3) Negativer Fall: Das Produkt zweier Toeplitz-Matrizen ist im Allgemeinen keine Toeplitz-Matrix. ¨ Ubung 1.3.11. Man u ufe die Anwendung der verschiedenen Opera¨berpr¨ tionen auf Daten verschiedener Formate.

1.4 In welchen F¨ allen ist lineare Komplexit¨ at erreichbar? Im allgemeinen Fall kann man nicht erwarten, dass alle Operationen der Linearen Algebra eine lineare Komplexit¨ at besitzen. Es w¨are aber schon hilfreich, wenn f¨ ur praktisch wichtige Teilklassen von Matrizen diese Operationen lineare Komplexit¨ at aufweisen. Wir diskutieren der Reihe nach einige F¨alle. 1.4.1 Familie der Diagonalmatrizen Wie schon erw¨ ahnt, lassen sich f¨ ur Diagonalmatrizen alle Operationen einschließlich der Matrixfunktionen mit linearer Komplexit¨at in n ausf¨ uhren. Allerdings liegen die praktisch auftretenden Matrizen nur selten in diagonaler Form vor. 1.4.2 Anwendung der schnellen Fourier-Transformation Die Fourier-Transformationsmatrix ist F = (Fk, )k,=0,...,n−1 mit 1 Fk, = √ ω k n



ω = e2πi/n ,

k,  = 0, . . . , n − 1,

i=

√  −1 . (1.18)

Die Matrix F ist offenbar komplexwertig und unit¨ar, d.h. F −1 = F H (H ist die ¨ zum komplex Konjugierten). Transposition  zusammen mit dem Ubergang p Zur Vereinfachung sei n = 2 angenommen. Der enormen Bedeutung der auf Gauß zur¨ uckgehenden schnellen Fourier-Transformation (Abk¨ urzung: FFT) liegen zwei Tatsachen zugrunde: • Die Matrix-Vektor-Multiplikation mit F und F −1 ist von fast linearer ¨ Komplexit¨ at (vgl. Ubung 1.4.1) und • viele wichtige Matrizen M werden durch F diagonalisiert, d.h. F −1 M F ist ¨ diagonal (vgl. Ubung 1.4.2). Damit sind die positiven Eigenschaften aus §1.4.1 ausnutzbar.

14

1 Einleitung

Sind z.B. A, B zwei mittels F diagonalisierbare Matrizen (F −1 AF = DA , onnen die Operationen auf Diagonalmatrizen reduF BF = DB ), so k¨ ziert werden. Das Produkt A · B wird durch F · (DA · DB ) · F −1 dargestellt, −1 · F −1 , die Funktionsauswertung f (A) durch die Inverse A−1 durch F · DA −1 F · f (DA ) · F , usw. Die Multiplikationen mit F und F −1 brauchen nicht ausgerechnet werden, wenn f¨ ur die Matrix-Vektor-Multiplikation     das Resultat verwendet werden soll: F · D · F −1 · x = F · D · F −1 · x . −1

¨ Ubung 1.4.1. Man lese zum Beispiel in [129, Abschnitt 2.3.2] nach, wie der FFT-Algorithmus f¨ ur die Matrix-Vektor-Multiplikation mit F bzw. F −1 aussieht und warum der Aufwand 14 NM V = O(n log n) betr¨agt. Am Beispiel des FFT-Algorithmus wird klar, dass eine lineare Abbildung x → F x durchaus exakt ausgef¨ uhrt werden kann, ohne dass man auf die Matrixkoeffizienten zugreifen muss. ¨ Ubung 1.4.2. a) Man beweise, dass F −1 M F f¨ ur eine zirkulante Matrix M (vgl. (1.14)) diagonal ist. Wie lauten die Eigenwerte in Abh¨angigkeit von den Koeffizienten a0 , . . . , an−1 ? b) Man weise nach, dass Summen und Produkte zirkulanter Matrizen und, falls (a0 , . . . , an−1 ) = 0, auch die Inverse wieder eine zirkulante Matrix ergeben. Wie oben erw¨ ahnt, ist die Matrix-Vektor-Multiplikation y := M · x mit einer zirkulanten Matrix u ¨ber die Zwischenschritte x → a := F −1 · x → b := D · a → y := F · b erreichbar und kostet O(n log n). Obwohl Toeplitz-Matrizen im Allgemeinen nicht mit F diagonalisierbar sind, kann die Matrix-VektorMultiplikation a uhrt werden: ¨hnlich durchgef¨ ¨ Ubung 1.4.3. M ∈ Rn×n sei eine Toeplitz-Matrix. a) Man konstruiere  eine  ∗M N ×N (N ≥ 2n − 1) von der Blockform Z = , zirkulante Matrix Z ∈ R ∗∗ sodass sich M im oberen Dreiecksteil von Z befindet. n ¯ =  b)  Sei x ∈ R vorgegeben. Man erweitere x durch Nullen  auf  x 0 y ∈ RN und berechne y¯ := Z x ¯. Der Vektorblock y aus y¯ = ist das x ∗ gesuchte Produkt y = M x. c) Man konstruiere Analoges f¨ ur den rechteckigen Fall M ∈ RI×J . 1.4.3 Schwierigkeiten in anderen F¨ allen Volle Matrixdarstellung: Alle Operationen sind durchf¨ uhrbar, kosten aber O(n2 ) bis O(n3 ).

14

Der Index

MV

steht f¨ ur “Matrix-Vektor-Multiplikation”.

1.5 Wo entstehen großskalige Probleme?

15

Schwach besetzte Matrizen: Die Vorteile beschr¨anken sich auf die MatrixVektor-Multiplikation. Wiederholte Produktbildung zerst¨ort die Schwachbesetztheit. Bandmatrizen: Wiederholte Produktbildung l¨ asst die Bandbreite anwachsen. Auf der Positivliste steht neben der Matrix-Vektor-Multiplikation die Tatsache, dass die LU- bzw. Cholesky-Zerlegung als Faktoren Matrizen der gleichen Bandbreite produziert. Toeplitz-Matrizen: Die g¨ unstige Matrix-Vektor-Multiplikation wurde in ¨ Ubung 1.4.3 erw¨ ahnt. Das Resultat einer Matrix-Matrix-Multiplikation ist im Allgemeinen keine Toeplitz-Matrix mehr! Rang-k-Matrizen: Matrix-Vektor- sowie Matrix-Matrix-Multiplikationen sind g¨ unstig durchf¨ uhrbar (vgl. Anmerkung 2.3.1). Die Matrix-Addition erh¨oht allerdings den Rang. Sobald k in die N¨ ahe des halben Vollranges gelangt, ist die Rang-k-Darstellung nicht mehr vorteilhaft. In direkter Form treten Rang-k-Matrizen in praktischen Anwendungen selten auf. Man findet allenfalls Rang-1-Matrizen, wie z.B. in Kombination mit der Einheitsmatrix in der Householder15 -Matrix P = I − a · a (a = 1, vgl. [129, Abschnitt 4.7]). Funktionsdarstellungen: Im Falle der Darstellung von M durch die Funktion φ(x) = M x ist die Matrix-Vektor-Multiplikation gerade die Auswertung von φ. Da man aber keinen direkten Zugriff auf die Koeffizienten hat, ist schon die Matrix-Vektor-Multiplikation mit der Transponierten ein Problem: M  x. Im zweiten Fall der Koeffizientenfunktion μ(i, j) liegt im Grunde die volle Matrixdarstellung vor, wobei der Speicherbedarf #I#J durch die Kosten der #I#J Funktionsaufrufe zu ersetzen ist.

1.5 Wo entstehen großskalige Probleme? 1.5.1 Diskretisierung elliptischer Differentialgleichungen Details der hier aufgelisteten Eigenschaften findet man z.B. in Braess [30, Kapitel II] und Hackbusch [67]. Sei Ω ⊂ Rd ein Gebiet und Γ := ∂Ω dessen Rand. Eine Randwertaufgabe kann z.B. die Gestalt Lu = f

in Ω

mit Lu := − u=g

15

 ∂u ∂u ∂ αij (x) + βi (x) + γ(x)u, ∂xj ∂xi i=1 ∂xi i,j=1

auf Γ

d 

(1.19a) d

(1.19b)

Alston Scott Householder, geboren am 5. Mai 1904 in Rockford (Illinois, USA), gestorben am 4. Juli 1993 in Malibu (Kalifornien, USA).

16

1 Einleitung

haben. Der Differentialoperator L ist elliptisch, wenn die Matrix A(x) := ur alle x ∈ Ω positiv definit ist. (αij (x))i,j=1,...,d f¨ Die zugeh¨ orige Variationsformulierung von (1.19a,b) lautet in vielen F¨ allen: Gesucht ist u ∈ V mit

a(u, v) = f (v)

f¨ ur alle v ∈ V.

(1.20a)

Dabei ist V z.B. der Sobolew16 -Raum H01 (Ω) (falls g = 0 in (1.19b)). Die Bilinearform a(·, ·) lautet in diesem Falle a(u, v) :=

  d Ω

 d  ∂u ∂v ∂u αij (x) + βi (x)v(x) + γ(x)u(x)v(x) dx, ∂xi ∂xj ∂xi i,j=1 i=1 (1.20b)

w¨ ahrend die rechte Seite f (·) das folgende Funktional ist17 :  f (v) := f (x)v(x)dx.

(1.20c)

Ω

Bei der Galerkin18 -Diskretisierung wird V durch einen n-dimensionalen Unterraum Vn ⊂ V ersetzt: ur alle v ∈ Vn . Gesucht ist un ∈ Vn mit a(un , v) = f (v) f¨

(1.21)

Ist {φ1 , . . . , φn } eine Basis von Vn , sucht man nach den Koeffizienten xj , sodass n  xj φj . (1.22a) un = j=1

Aus (1.21) erh¨ alt man das Gleichungssystem Ax = b

(1.22b)

f¨ ur x = (xi )i=1,...,n , wobei die Koeffizienten von A, b wie folgt definiert sind: Aij = a(φj , φi ) bi = f (φi )

(i, j = 1, . . . , n), (i = 1, . . . , n).

(1.22c) (1.22d)

Bei der Finite-Element-Methode (Abk¨ urzung: FEM ) werden die Basisahlt, dass die Tr¨ ager19 von φj und φi sich in der funktionen φi so gew¨ 16

17

18

19

Sergei Lwowiˇc Sobolew, geboren am 6. Oktober 1908 in St. Petersburg, gestorben am 3. Januar 1989 in Leningrad. Das Symbol f wird hier sowohl f¨ ur die Funktion als auch f¨ ur das Funktional verwendet. Boris Grigoriewiˇc Galerkin, am 4. M¨ arz 1871 in Polotsk (Weißrussland) geboren, am 12. Juni 1945 in Moskau gestorben. Der Tr¨ ager einer Funktion φ ist die abgeschlossene Menge Tr¨ ager(φ) := {x : φ(x) = 0}.

1.5 Wo entstehen großskalige Probleme?

17

u ¨berwiegenden Anzahl nicht u ¨berlappen. In diesem Fall ist A schwach besetzt (vgl. §1.3.2.5). Hierzu wird das Gebiet (das hier als endliches Polytop vorausgesetzt wird) in disjunkte “Elemente” (z.B. Dreiecke im 2D- und Tetraeder im 3D-Fall) zerlegt. Im Falle der Dreiecke spielen die Dreiecks-Eckpunkte P1 , . . . , Pn ∈ Ω die Rolle einer Indexmenge. Zu allen i definiert man φi als die st¨ uckweise linearen Funktionen, die φi (Pj ) = δij (Kronecker20 -Symbol) ager von φj , φi einen gemeinsamen erf¨ ullen. Aij = 0 tritt nur auf, wenn die Tr¨ inneren Punkt haben (d.h. sich nicht nur am Rand ber¨ uhren). Im Falle der Dreieckselemente heißt dies: Aij = 0 nur wenn Pi und Pj eine Dreieckskante bilden. Die Konvergenzanalysis besagt, dass im Falle der Dreieckselement die Fehlerabsch¨ atzung u − un V = O(h)

(u, un L¨ osungen von (1.19a) bzw. (1.21))

gilt, wobei h die maximale Gr¨ oße der Dreiecke ist und technische Bedingungen erf¨ ullt werden m¨ ussen. Die Relation zwischen der Dimension n und der Gr¨oße h ist h = O(n−1/d ), wobei d die Raumdimension ist: Ω ⊂ Rd . Die rechte uckweise linearen Funktionen Seite O(h) ¨ andert sich in O(hκ ), falls statt der st¨ h¨ ohere Polynomans¨ atze verwendet werden oder falls die V -Norm durch eine andere ersetzt wird. Wir halten fest, dass im Allgemeinen Absch¨atzungen der Form (κ > 0) (1.23) u − un  = O(n−κ/d ) zu erwarten sind. Um den Fehler klein zu machen, ist n zu erh¨ohen. Dies erkl¨ art, warum man an großskaligen Gleichungssystemen (1.22b) interessiert ist. F¨ ur sp¨ atere Zwecke sei noch auf die sogenannte Massematrix 21 hingewiesen. Die Galerkin-Diskretisierung der Identit¨at ist durch  φi (x)φj (x)dx (1.24) M ∈ Rn×n mit Mij = Ω

gegeben. 1.5.2 Integralgleichungen und ihre Diskretisierung 1.5.2.1 Problemstellung und Variationsformulierung Randwertprobleme (1.19a,b) mit f = 0 und konstanten Koeffizienten in L k¨ onnen als Integralgleichungen umformuliert werden. Details hierzu findet 20

21

Leopold Kronecker, geboren am 7. Dez. 1823 in Liegnitz (Preussen, jetzt Legnica, Polen), gestorben am 29. Dez. 1891 in Berlin. Diese Matrix wird in verschiedenen Zusammenh¨ angen unterschiedlich benannt. Als Diskretisierung der Identit¨ at wird diese Matrix insbesondere in der Strukturmechanik als Massematrix bezeichnet. Im rein mathematischen Zusammenhang heißt sie Gramsche Matrix des Funktionensystems {φi : i ∈ I} . Im stochastischen Umfeld spricht man von einer Korrelationsmatrix. In der Quantenchemie ist der ¨ Ausdr¨ uck Uberlappmatrix u ¨blich.

18

1 Einleitung

man z.B. in Hackbusch [68, §8], Sauter-Schwab [125], McLean [113] und HsiaoWendland [94]. Die entstehenden Integralgleichungen haben die Form λu = Ku + f

(u gesucht, λ und f gegeben)

(1.25a)

(λ = 0 : Integralgleichung erster Art, λ = 0: Integralgleichung zweiter Art), wobei K der Integraloperator  κ(x, y)u(y)dΓy (x ∈ Γ ) (1.25b) (Ku) (x) = Γ



ist. Hierbei ist Γ . . . dΓy die Integration u ¨ber die Oberfl¨ache22 Γ. κ(·, ·) ist eine gegebene Kernfunktion, die eine Singularit¨at bei x = y besitzt23 . Ein typisches Beispiel f¨ ur die Kernfunktion ist κ(x, y) = log |x − y|, wobei |·| die Euklidische Norm im Rd bezeichnet. Die Variationsformulierung lautet in Analogie zu (1.20a): Gesucht ist u ∈ V mit aλ (u, v) = aK (u, v) + f (v) f¨ ur alle v ∈ V, (1.26)    wobei aλ (u, v) = λ Γ u v dΓ , aK (u, v) = Γ Γ κ(x, y)v(x)u(y)dΓx dΓy und f wie in (1.20c). Zur Galerkin-Diskretisierung werden wieder ein Unterraum Vn ⊂ V und uhrt. Ersetzung von V in (1.26) durch eine Basis {φ1 , . . . , φn } von Vn eingef¨ Vn ergibt die diskrete Aufgabe Gesucht ist u ∈ Vn mit

aλ (u, v) = aK (u, v) + f (v) f¨ ur alle v ∈ Vn (1.27)

mit aλ (·, ·) und aK (·, ·) wie in (1.26). F¨ ur den Koeffizientenvektor x = (xi )ni=1 von u = i xi φi erh¨ alt man das Gleichungssystem (1.22b) mit b wie in (1.22d) und A = λM − K, wobei M durch (1.24) definiert ist (mit Ω und dx ersetzt durch Γ und dΓx ) und   κ(x, y)φi (x)φj (y)dΓx dΓy . (1.28) Kij = Γ

Γ

Die Mannigfaltigkeit Γ wird ¨ ahnlich wie im FEM-Fall in Dreieckselemente (falls d = 3) oder Streckenz¨ uge (falls d = 2) zerlegt24 . Darauf werden die 22

23

24

Wenn nicht eindeutig feststeht, ob Γ eine Oberfl¨ achenmannigfaltigkeit ist oder eine d-dimensionale Teilmenge von Rd , so schreiben wir vereinfachend . . . dy. Im Spezialfall interpretiere man dy als dΓy . Die St¨ arke der Singularit¨ at kann verschieden sein. Bei κ(x, y) = (x − y) log |x − y| ist κ noch stetig, aber die Ableitungen sind singul¨ ar. κ kann aber auch stark singul¨ ar sein, sodass das Integral nur noch im Sinne von Hadamard interpretierbar ist. Diese Vorgehensweise ist nur m¨ oglich, falls Γ ausschließlich aus flachen St¨ ucken zusammengesetzt ist (z.B. Oberfl¨ ache eines W¨ urfels). Im Allgemeinen ist Γ gekr¨ ummt. Dann braucht man geeignete Parametermengen P ⊂ Rd−1 , auf denen die st¨ uckweise polynomialen Ansatzfunktionen definiert werden und durch eine glatte Funktion auf Γ (bzw. St¨ ucke daraus) abgebildet werden.

1.5 Wo entstehen großskalige Probleme?

19

Basisfunktionen φi definiert. Dadurch entsteht die sogenannte Randelementmethode (Abk¨ urzung BEM aus “boundary element method”). Da h¨aufig uckweise konstante V ⊃ L2 (Γ ) gilt, kann man anders als im FEM-Fall auch st¨ Funktionen w¨ ahlen, d.h. n ist die Anzahl der Elemente Δi und φi ist die charakteristische Funktion zu Δi (in diesem Fall ist M aus (1.24) diagonal!). Die kleinen Tr¨ ager der Basisfunktionen implizieren, dass die Integrationen in (1.28) nicht u ache Γ , sondern nur u ucke ¨ber die gesamte Oberfl¨ ¨ber kleine Teilst¨ ausgef¨ uhrt werden m¨ ussen. Anders als im FEM-Fall ist die Matrix K aber nicht schwach besetzt. Diese Tatsache wird festgehalten in Anmerkung 1.5.1. Die BEM-Matrizen gem¨ aß (1.28) sind im Allgemeinen voll besetzt. Da f¨ ur den Diskretisierungsfehler eine zu (1.23) analoge Absch¨atzung gilt (d ist durch die Dimension d − 1 der Mannigfaltigkeit Γ zu ersetzen), erhalten wir auch hier ein großskaliges Gleichungssystem. Wegen Anmerkung 1.5.1 ist schon die Berechnung und Abspeicherung aufgrund der O(n2 )-Komplexit¨at ein Problem. 1.5.2.2 Andere Diskretisierungen ∗ Zur Erg¨ anzung sei auf Alternativen zur Galerkin-Diskretisierung hingewiesen.  Beim Kollokationsverfahren wird un als j xj φj ∈ Vn angesetzt und die Gleichung (1.25a) in Kollokationspunkten ξi (1 ≤ i ≤ n) gefordert:  λ u(ξi ) = κ(ξi , y) u(y) dΓy + f (ξi ) (u ∈ Vn , 1 ≤ i ≤ n). (1.29) Γ

alt man die Gleichung Ax = b F¨ ur den Koeffizientenvektor x = (xj )nj=1 erh¨ mit bi = f (ξi ), A = λM − K, Mij = φi (ξj ) und  Kij = κ(ξi , y) φj (y) dΓy . (1.30) Γ

Beim Nystrøm-Verfahren ersetzt man die Integration eine Quadratur Q(g) =

n 

ωj g(ξj )

 Γ

g(y) dΓy durch

(ξj : Quadraturpunkte, ωj : Quadraturgewichte).

j=1

alt man die Gleichung F¨ ur u(ξi ) erh¨ λ u(ξi ) =

n 

ωj κ(ξi , ξj ) u(ξj ) + f (ξi )

(1 ≤ i ≤ n)

(1.31)

j=1

und somit f¨ ur den Vektor x = (u(ξi ))nj=1 der Unbekannten das Gleichungssystem Ax = b mit A = λI − K und

20

1 Einleitung

Kij = ωj κ(ξi , ξj ) .

(1.32)

Eine gemeinsame Formulierung der Matrizen K aus (1.28), (1.30), (1.32) ist das Produkt25 K = Λ1 KΛ∗2 , (1.33a) wobei Λ1 : L2 (Γ ) → Rn , Λ2 : L2 (Γ ) → Rn die folgenden Abbildungen sind:  Galerkin-Verfahren: (Λ1 g)j = (Λ2 g)j = Γ g(y)φj (y) dΓy , Kollokation: (Λ1 g)i = g(ξi ), Nystrøm-Verfahren: (Λ1 g)i = g(ξi ),

Λ2 wie beim Galerkin-Verfahren, (Λ2 g)i = ωi g(ξi ). (1.33b) Die adjungierten Abbildungen Λ∗2 lassen sich konkret angeben:  Anmerkung 1.5.2. Die Adjungierte von (Λ2 g)j = Γ g(y)φj (y) dΓy (Galerkin und Kollokation) ist  xj φj (x ∈ Rn ) , (1.34) Λ∗2 : Rn → L2 (Γ ) mit Λ∗2 x = j

w¨ ahrend die Adjungierte von (Λ2 g)i = ωi g(ξi ) (Nystrøm) durch  xj ωj δξj Λ∗2 x = j

gegeben ist. δξj = δ(· − ξj ) ist das Dirac26 -Funktional an der Stelle ξj . Beweis. Im ersten Falle ist g, Λ∗2 x = Λ2 g, x =  =

g(y) Γ

 j

 j

xj (Λ2 g)j =



 xj

g(y)φj (y) dΓy Γ

j

   xj φj (y) dΓy = g, xj φj j

L2

f¨ ur alle g ∈ L2 (Γ ), sodass die Behauptung folgt.  Im zweiten Fall ist g, Λ∗2 x = Λ2 g, x = xj (Λ2 g)j = j xj ωj g(ξj ) =    g, j xj ωj δξj . L2 Die Abbildungen Λ1 = Λ2 des Galerkin-Verfahrens stimmen mit R = P ∗ aus (C.24) u ¨berein.

25

26

Λ∗2 : Rn → L2 (Γ ) ist die Adjungierte: (Λ∗2 x, v)L2 (Γ ) = x, Λ2 vRn f¨ ur alle x ∈ Rn , 2 v ∈ L (Γ ). Paul Adrien Maurice Dirac, geboren am 8. August 1902 in Bristol (England), gestorben am 20. Oktober 1984 in Tallahassee (Florida, USA).

1.6 Angeordnete bzw. nicht angeordnete Indexmengen

21

1.6 Angeordnete bzw. nicht angeordnete Indexmengen Erfahrungsgem¨ aß treten Missverst¨ andnisse zur Anordnung der Indizes auf. Bevor im Detail einige Grundlagen gekl¨ art werden, sei vermerkt, dass die Technik der hierarchischen Matrizen keine spezielle Anordnung der Indizes erfordert. 1.6.1 Indexmengen Eine Indexmenge sei hier als endliche Menge definiert, wobei der Name nur andeutet, dass die Elemente dieser Menge als Indizes verwendet werden. Insbesondere handelt es sich lediglich um eine Menge, deren Elemente bekanntlich nicht angeordnet 27 sind. Auch wenn die Angabe I = {a, b, c} einer (Index-)Menge wegen der linearen Ausrichtung unserer Schrift eine Anordnung angibt, sind alle Schreibweisen {a, b, c} , {b, a, c} , . . . gleichberechtigt. Im Modellproblem von §3 wird die Indexmenge I = {1, 2, . . . , n} auftreten. Auch in diesem Fall sind die Elemente ohne Anordnung gemeint. Dass man f¨ ur 1, 2, . . . , n eine nat¨ urliche Anordnung angeben kann, steht außer Frage, aber von dieser Anordnung wird kein Gebrauch gemacht. Bei Diskretisierungen von skalaren Differentialgleichungen k¨ onnen die sogenannten Knotenpunkte des Gitters bzw. der Triangulation als Indizes verwendet werden. Sobald es sich um Knotenpunkte in einem zwei- oder h¨ oher-dimensionalen Gebiet handelt, gibt es keine “nat¨ urliche” Anordnung mehr. Was oben u ur ¨ber unsere Schreibweise gesagt wurde, gilt h¨aufig auch f¨ die Darstellung im Rechner. Mengen (wie zum Beispiel Mengen von Knotenpunkten) k¨ onnen etwa mit Hilfe von Listen realisiert werden, die damit implizit eine Anordnung festlegen. Wenn jedoch ein Algorithmus eine Indexmenge I und keine zus¨ atzliche Anordnung als Eingabe erfordert, darf das Resultat nicht von der “zuf¨ alligen” rechnerinternen Darstellung abh¨angen. Dass die letzte Aussage nicht immer ganz richtig ist, zeigt folgendes  Beispiel. Da die Addition eine bin¨ are Operation ist, ist die Summe i∈I ai zun¨ achst f¨ ur eine Indexmenge I = {i1 , i2 , . . .} mit mehr als zwei Elementen ur angeordnete Indexmengen nicht definiert. Man definiert i∈I ai erst f¨ mittels (((ai1 + ai2 ) + ai3 ) + . . .). Da alle Anordnungen  aufgrund der Distributiveigenschaft die gleiche Summe liefern, l¨asst sich i∈I ai eindeutig f¨ ur nicht-angeordnete Indexmengen definieren. Bei der Realisierung auf dem Rechner gilt die Distributivit¨ at nicht exakt, da die Gleitkommafehler von der Anordnung abh¨ angen. Dies f¨ uhrt dazu, dass Algorithmen mit verschiedenen internen Darstellungen nur modulo der Rechnerarithmetikauswirkungen identisch sind.

27

Eine Anordnung kann zus¨ atzlich definiert sein, ist aber nicht Teil der Mengenstruktur.

22

1 Einleitung

1.6.2 Vektoren x ∈ RI Es ⎤ Usus in der Linearen Algebra, einen n-dimensionalen Vektor als ⎡ ist x1 ⎢ .. ⎥ ⎣ . ⎦ zu schreiben. Man suggeriert damit, dass in der Linearen Algebra xn Indexmengen angeordnet seien m¨ ussten. Dies ist ein Missverst¨andnis, da  x es nur darum geht, die Koeffizienten xi der Darstellung x = i∈I i ei (ei : Einheitsvektoren) zu symbolisieren. Letzteres kann besser durch die Angabe (xi )i∈I ∈ RI geschehen. Alle Vektoroperationen wie   z.B. die Addition ) + (y ) = (x + y ) oder das Skalarprodukt (xi )i∈I , (yi )i∈I = (x i i∈I i i i∈I i i∈I i∈I xi yi lassen sich ohne Bezug auf eine Anordnung definieren. 1.6.3 Matrizen A ∈ RI×I Das ur Vektoren Gesagte gilt analog f¨ ur Matrizen. Anstelle der Schreibweise   f¨ a11 · · · kann die Schreibweise A = (aij )i,j∈I verwendet werden. Matrix.. . . . . operationen wie die Addition und Multiplikation wie auch die Matrixvektormultiplikation k¨ onnen ohne R¨ uckbezug auf eine Anordnung der Indizes aus I beschrieben werden. Es gibt aber F¨ alle, die eine Anordnung der Indizes voraussetzen. Ein ur j > i defiBeispiel ist die “untere Dreiecksmatrix”, die mittels aij = 0 f¨ niert wird. Sobald eine LU- oder Cholesky-Zerlegung auftritt, muss zuvor explizit eine Anordnung festgelegt werden. Umgekehrt f¨ uhren verschiedene Anordnungen zu verschiedenen LU-Zerlegungen. Missverst¨ andnisse treten h¨ aufig im Zusammenhang mit Blockmatrizen auf. Ein Block einer I × I-Matrix ist mittels zweier Teilmengen τ ⊂ I und σ ⊂ I u ¨ber die Paarmenge τ ×σ definiert: A = (aij )i,j∈I ∈ RI×I hat den τ ×σ-Block B = (aij )i∈τ, j∈σ . Diese Definition erfordert keine Anordnung. Die Illustration σ  dieses Blockes geschieht meist mittels der Darstellung

τ{

B

, die

den Eindruck erweckt, dass I so angeordnet werden m¨ usste, dass die Indizes von τ bzw. σ aufeinanderfolgend seien. Hier ist die Lage ¨ahnlich wie bei der erw¨ ahnten Schreibweise der Menge {α, β, γ}, die zu {β, α, γ} , {α, γ, β} usw. aquivalent ist. F¨ ur den Fall I = {α, β, γ} und τ = σ = {α, β} sind die ¨ α γ β α β γ α • • α • • und Blockdarstellungen ¨aquivalent, wobei β • • γ γ β • • die Blockpositionen durch • bezeichnet sind.

¨ 1.7 Ubersicht u ¨ber die weiteren Kapitel

23

1.6.4 Anordnung bzw. Nichtanordnung bei hierarchischen Matrizen Ein wesentliches Element der hierarchischen Matrizen ist die Verwendung von Untermatrizen aufgrund einer Blockstruktur. Nach dem oben Gesagten setzt dies aber keine Anordnung, sondern nur eine Beschreibung von Teilmengen voraus. Deshalb h¨ angt die Verwendung der Technik hierarchischer Matrizen auch nicht von einer geeigneten Anordnung ab. Die Beschreibung geht von einer (ungeordneten) Indexmenge aus. Falls schon eine Anordnung vorhanden ist, wird diese ignoriert. Trotzdem wird intern eine Anordnung definiert (vgl. Konstruktion 5.3.6), um die Kodierung der Teilmengen m¨ oglichst effizient zu machen. Das Ergebnis h¨angt aber nicht von diesem Implementierungsschritt ab. Sobald eine Problemstellung wie z.B. die LU-Zerlegung eine Anordnung erfordert, ¨ andert sich das Bild. Im genannten Fall wird die vorhin als intern bezeichnete Anordnung zugrundegelegt und geht damit explizit in die Problembeschreibung ein.

¨ 1.7 Ubersicht u ¨ ber die weiteren Kapitel ¨ Die Technik der hierarchischen Matrizen beruht auf drei Uberlegungen: 1. Die Darstellungen und Operationen brauchen nicht exakt zu sein. Abweichungen um einen Fehler ε sind beispielsweise dann akzeptabel, wenn ε unter dem Diskretisierungsfehler O(n−α ) liegt (vgl. (1.23) und Entsprechendes in §1.5.2). Wichtig ist, dass der Fehler kontrollierbar ist und unter Umst¨ anden adaptiv gew¨ ahlt werden kann. 2. Die Matrix wird in Bl¨ ocke zerlegt und jeder Block wird als Rang-k-Matrix dargestellt (mehr in §1.7.1). 3. Bei entsprechend systematischer Blockzerlegung – hier wird die Hierarchie der Clusterb¨ aume wesentlich sein – werden die approximativen Matrixoperationen durchf¨ uhrbar (mehr in §1.7.2). 1.7.1 Lokale Rang-k-Matrizen Im Zusammenhang mit Rang-k-Matrizen (mit k  n) wurde angemerkt, dass diese in der Praxis selten auftreten. In der Tat hat die FEM-Matrix ebenso wie ihre Inverse vollen Rang n. Der Integraloperator K ist unter u ¨blichen Bedingungen kompakt (vgl. Definition C.3.5), sodass seine Eigenwerte sich bei null h¨ aufen. Hier mag die Hoffnung aufkommen, dass die BEM-Matrix K viele kleine Eigenwerte besitzt, die durch null ersetzt werden k¨onnten und so eine Matrix kleinen Ranges erg¨ aben. Dem steht entgegen, dass die Beschr¨ankung uhrt, sodass kleine k nicht zu guten auf Rang k zu einem Fehler O(k −α ) f¨ Approximationen f¨ uhren k¨ onnen.

24

1 Einleitung

Stattdessen werden Rang-k-Matrizen zur Darstellung von Teilmatrizen verwendet. Sei dazu I die Indexmenge und M ∈ RI×I eine quadratische Matrix. Seien τ und σ zwei beliebige Teilmengen von I. Das Produkt b = τ ×σ ist eine Teilmenge der Paarmenge I ×I und wird Element einer Blockpartition von I × I werden. Die Position des Matrixblockes M |b (vgl. (1.16)) wird in σ

 M= τ



M |b

(b = τ × σ)

veranschaulicht. Es wird sich herausstellen, dass M |b f¨ ur FEM- und BEM-Anwendungen gut als Rang-k-Matrix darstellbar ist, wenn τ und σ eine sogenannte Zul¨ assigkeitsbedingung erf¨ ullen. Allerdings erfordert die Zul¨ assigkeitsbedingung, dass die Matrix M in Bl¨ocke verschiedener Gr¨oße zu zerlegen ist (grob gesagt: große Bl¨ ocke fern der Diagonalen, kleine Bl¨ ocke nah der Diagonalen. Dies entspricht gerade nicht der u ¨blichen Tensor-Blockpartition aus Anmerkung 1.3.7). Es wird sich zeigen, dass der Approximationsfehler exponentiell mit dem lokalen Rang k f¨allt. Ein Fehler O(n−α ) wird damit von einem k erreicht, das nur logarithmisch von n abh¨ angt. Die hierf¨ ur ben¨ otigte Analyse findet sich in §4. 1.7.2 Hierarchie und Matrixoperationen Die erw¨ ahnte Approximation durch Rang-k-Matrizen f¨ ur Teilmatrizen sorgt in erster Linie daf¨ ur, den Speicheraufwand von O(n2 ) auf O(kn log n) zu reduzieren. Eine Datenkompression kann aber dazu f¨ uhren, dass die Operationen, die man mit der Matrix durchf¨ uhren m¨ ochte, erschwert werden. Dies ist auch der Fall, wenn man die Teilmatrizen beliebig w¨ahlt (vgl. [131]). Damit die Matrixoperationen effizient durchgef¨ uhrt werden k¨onnen, muss die Zerlegung der Matrix in Teilmatrizen (“Blockpartition”) geeignet organisiert werden. Dies f¨ uhrt auf die Konstruktion der hierarchischen Partition, die systematisch in §5.4 diskutiert wird. Der Bezeichnung “hierarchisch” leitet sich davon ab, dass die Strukturen rekursiv erzeugt werden. Die mathematische Beschreibung verwendet daher Baumstrukturen: der Clusterbaum wird in §5.3 und der Blockclusterbaum in §5.5 als wesentliches Bauprinzip eingef¨ uhrt. Als Einf¨ uhrung in die Problematik der Matrixoperationen wird in §3 eine spezielle Partition konstruiert. Wegen der gew¨ ahlten Einfachheit des Modells kann die Komplexit¨ at, d.h. der Speicher- und Rechenaufwand explizit analysiert werden. Die allgemeinen Matrix-Vektor- und Matrix-Matrix-Operationen werden im Detail in §7 behandelt.

2 Rang-k-Matrizen

Rang-k-Matrizen werden ein wichtiger Baustein der hierarchischen Matrizen sein. Da insbesondere an kleine Werte von k gedacht ist, wird auch von Niedrigrangmatrizen gesprochen. Um einem m¨oglichen Missverst¨andnis vorzubeugen, sei noch einmal betont, dass Rang-k-Matrizen nicht den exakten Rang k, sondern h¨ ochstens den Rang k besitzen sollen. Die Speicherung von Rang-k-Matrizen sowie Operationen mit Rang-k-Matrizen bilden die Basis der H-Matrixdarstellung (H-Matrix = hierarchische Matrix) und der H-Matrixoperationen, da diese auf Additionen und Multiplikationen mit Rang-k- oder vollen Matrizen zur¨ uckgef¨ uhrt werden. Vorschau auf die nachfolgenden Unterkapitel: §2.1: Notationen RI und RI×J , Rang einer Matrix. §2.2: Triviale Anmerkungen zur Darstellung der Rang-k-Matrizen und den Speicherkosten, Notation R(k, I, J). §2.3: Arithmetischer Aufwand f¨ ur Matrix-Vektor-Multiplikation, MatrixMatrix-Addition und Matrix-Matrix-Multiplikation mit Rang-k-Matrizen. §2.4: Erinnerung an die Singul¨ arwertzerlegung (SVD) und die optimale Approximation einer Matrix durch eine Rang-k-Matrix (Details und Beweise im Anhang C.2), Definition der “komprimierten Singul¨arwertzerlegung”. §2.5: Wichtiges sp¨ ateres Hilfsmittel ist die Approximation einer Rang-Matrix durch eine solche vom kleineren Rang k < . Die QR-Zerlegung und die komprimierte QR-Zerlegung werden definiert. §2.6: Unter Anwendung des vorherigen Abschnittes wird die formatierte Addition eingef¨ uhrt. §2.7: Modifikation der Standarddarstellung R(k, I, J). Im ersten Lesedurchgang k¨ onnen §§2.3-2.7 u ¨berflogen werden. Die in §2.6 beschriebene Addition ben¨ otigt man allerdings in Kapitel 3.

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 2, c Springer-Verlag Berlin Heidelberg 2009 

26

2 Rang-k-Matrizen

2.1 Allgemeines Sei I eine endliche Indexmenge, die nicht angeordnet zu sein braucht. Dann ist RI die Menge der Vektoren (xi )i∈I mit den Komponenten xi ∈ R (vgl. §1.3.1). Sei J eine zweite Indexmenge. Dann geh¨ ort eine Matrix M zu RI×J , falls M = (Mij )i∈I,j∈J . Im Falle von I = J ist M eine quadratische Matrix. Das Bild einer Matrix M ∈ RI×J ist Bild (M ) := {M x ∈ RI : x ∈ RJ } und kann auch als Aufspann seiner Spalten formuliert werden. Eine der vielen Definitionsm¨ oglichkeiten f¨ ur den Rang einer Matrix M ist Rang(M ) := dim Bild (M ). Es wird an die folgenden wohlbekannten Aussagen erinnert: Anmerkung 2.1.1. a) Der Rang von M ∈ RI×J liegt zwischen 0 und dem Maximalrang min{#I, #J}. b) Rang(A) ≤ min{Rang(B), Rang(C)} f¨ ur A = BC. c) Rang(A) ≤ Rang(B) + Rang(C), f¨ ur A = B + C. d) Dimensionssatz: F¨ ur jede Matrix M ∈ RI×J gilt Rang(M ) + dim Kern(M ) = #J. ¨ Ubung 2.1.2. Sei M (λ) ∈ RI×J eine stetige matrixwertige Funktion des Argumentes λ ∈ Λ. Dann kann r(λ) := Rang(M (λ)) unstetig sein, aber man zeige: Die Stetigkeitspunkte von r bilden eine offene Teilmenge Λ0 ⊂ Λ. Seien Λ0 eine Zusammenhangskomponente von Λ0 und λ0 ∈ ∂Λ0 . Dann gilt Rang(M (λ0 )) ≤

lim

λ→λ0 , λ∈Λ0

Rang(M (λ)).

2.2 Darstellung und Kosten Sei M eine Matrix aus RI×J . In (1.15) wurde bereits die Darstellung als Rang(k)Matrix(I, J) erw¨ ahnt. Charakteristisch ist die Faktorisierung in M = AB 

(A ∈ RI×{1,...,k} , B ∈ RJ×{1,...,k} , k ∈ N0 ).

(2.1)

Bezeichnet man die k Spalten von A und B mit ai und bi (1 ≤ i ≤ k), so ist M=

k 

ai b i

(2.1’)

i=1

eine zu (2.1) ¨ aquivalente Beschreibung. Das Produkt ab ∈ RI×J ist die   Matrix mit den Komponenten ab αβ = aα bβ (α ∈ I, β ∈ J). Man beachte,

2.2 Darstellung und Kosten

27

dass auch k = 0 in (2.1) zugelassen ist und die Nullmatrix beschreibt. Dass die Darstellung M = AB  in keiner Weise eindeutig ist, st¨ort bei der Anwendung nicht, sondern vermeidet im Gegenteil Rechenkosten. Zum Zusammenhang zwischen Matrizen vom Rang k und den Matrizen mit Rang(k)Matrix(I, J)-Darstellung werden die folgenden zwei Anmerkungen angef¨ uhrt. Anmerkung 2.2.1. F¨ ur M aus (2.1) gilt Rang(M ) ≤ k. Beweis. Aus (2.1) folgt nach Anmerkung 2.1.1a Rang(A) ≤ k. Teil b) zeigt Rang(M ) ≤ Rang(A). Man beachte, dass nicht behauptet wird, dass eine Matrix mit der Darstellung (2.1) den Rang k besitzt. Es gilt aber die folgenden Anmerkung, die konstruktiv in Anmerkung 9.4.4 bewiesen wird. Anmerkung 2.2.2. Falls Rang(M ) = r, existiert eine Darstellung (2.1) mit k := r. Wir sprechen von Rang-k-Matrizen, wenn eine Darstellung (2.1) existiert. Wenn dagegen von Matrizen im Rang(k)Matrix(I, J)-Format gesprochen wird, ist damit gemeint, dass die Faktoren aus (2.1) nicht nur existieren, sondern auch explizit gegeben sind. F¨ ur die Familie aller Matrizen der zweiten Sorte f¨ uhren wir die Abk¨ urzungen R(k, I, J) bzw. R(k) ein: Definition 2.2.3. a) Die Schreibweise M ∈ R(k, I, J) bedeutet, dass die Matrix M ∈ RI×J im Rang(k)Matrix(I, J)-Format gegeben (falls anstelle der Indexmengen I, J nur das Produkt b = I × J bezeichnet ist, wird auch R(k, b) geschrieben). b) M ∈ R(k) :⇐⇒ Es gibt Indexmengen I, J, sodass M ∈ R(k, I, J). c) M ∈ R(I, J) :⇐⇒ Es gibt ein k ∈ N0 , sodass M ∈ R(k, I, J). d) M ∈ R :⇐⇒ Es gibt ein k ∈ N0 , sodass M ∈ R(k). Anmerkung 2.2.4. Anstelle der Darstellung (2.1) mit einer festen Schranke k f¨ ur den Rang empfiehlt sich eine Modifikation: Es wird weiterhin Speicherplatz f¨ ur k Spalten der Matrizen A ∈ Rτ ×{1,...,k} , B ∈ Rσ×{1,...,k} bereitgestellt, aber zus¨ atzlich wird eine Zahl  ∈ {0, 1, . . . , k} abgespeichert, die die aktuelle  Rangschranke bezeichnet: M = i=1 ai b i (die Vektoren zu  < i ≤ k bleiben unbenutzt). Die Rechenkosten werden nun durch  statt durch k bestimmt. Wird statt eines festen Feldes der L¨ ange k eine Liste verwendet, sind auch die Speicherkosten nur von  abh¨ angig. Insbesondere ist die Nullmatrix allein durch  = 0 charakterisiert. Wir wiederholen die triviale Aussage aus §1.3.2.10: Anmerkung 2.2.5 (Speicherkosten). Die Darstellung einer M ∈ R(k, I, J) erfordert einen Speicheraufwand von k (#I + #J) .

Matrix

28

2 Rang-k-Matrizen

Sei #I = #J = n. Falls k  n, ist k (#I + #J) = 2kn wesentlich kleiner als der Speicheraufwand n2 der vollen Darstellung. Man beachte aber, dass die volle 2 × 2-Matrix nicht mehr Speicher in Anspruch nimmt als die Rang(1)Matrix(2, 2)-Darstellung. Die Darstellung Volle Matrix(I, J) kann daher f¨ ur kleine Dimensionen g¨ unstiger sein. Die Notation f¨ ur das volle Matrixformat sei V(I × J) := {M ∈ R

I×J

(2.2) : M im Format Volle Matrix(I, J) gespeichert}.

F¨ ur einen Block b = τ × σ mit τ ⊂ I und σ ⊂ J bezeichnet V(b) entsprechend einen vollen Matrixblock. Wenn b nicht spezifiziert werden soll, wird statt V(b) nur V geschrieben. Anmerkung 2.2.6. Seien M ∈ R(k, I, J) und τ ⊂ I, σ ⊂ J. Dann gilt M |τ ×σ ∈ R(k, τ, σ) f¨ ur Untermatrizen von M . Die Beschr¨ankung M → M |τ ×σ verursacht keine arithmetischen Kosten. Beweis. Sei ai b ankung auf τ × σ ist i ein Summand aus (2.1’). Die Beschr¨    ai bi |τ ×σ = (ai |τ ) (bi |σ ) , sodass (2.1’) die Behauptung zeigt. Den Spektral- und Frobenius1 -Normen ·2 , ·F (vgl. §C.1) sei folgende ¨ Ubung gewidmet: ¨ Ubung 2.2.7. a) F¨ ur alle a ∈ RI , b ∈ RJ gilt die Identit¨at ab

2

= ab

F

= a2 b2 .

b) F¨ ur alle a(ν) ∈ RI , b(ν) ∈ RJ und k ∈ N gilt ! " k k  "    (ν) (ν) a(ν) , a(μ) b(ν) , b(μ) . a b =# ν=1

ν,μ=1

F

$

% $ % Falls entweder die Vektoren a(ν) oder die Vektoren b(ν) orthogonal sind, ergibt sich ! " k k "  (ν) (ν) a(ν) b(ν) . a b =# 2

ν=1

F

2

ν=1

2.3 Operationen und ihre Kosten Anmerkung 2.3.1. a) Matrix-Vektor-Multiplikation: Seien k > 0 und M ∈ R(k, I, J) mit den Faktoren A, B  aus (2.1) gegeben und x ∈ RJ . Die Multiplikation M · x wird in zwei Phasen durchgef¨ uhrt: 1

Ferdinand Georg Frobenius, geboren am 26. Oktober 1849 in Charlottenburg; gestorben am 3. August 1917 in Berlin.

2.3 Operationen und ihre Kosten

29

z := B  · x kostet k (2#J − 1) Operationen, y := A · z kostet #I (2k − 1) Operationen. Zusammen ergeben sich NM V = 2k (#I + #J) − #I − k Operationen. b) Matrix-Matrix-Addition: Seien M  ∈ R(k  , I, J), M  ∈ R(k  , I, J) in der Form (2.1) gegeben:      A ∈ RI×{1,...,k } , B  ∈ RJ×{1,...,k } ,       M =AB , M =A B   A ∈ RI×{1,...,k } , B  ∈ RJ×{1,...,k } . Dann ist M im Rang(k  + k  )Matrix(I, J)-Format gegeben als &   A := [A A ] ∈ RI×{1,...,k +k } ,    M = M + M = AB mit   B = [B  B  ] ∈ RJ×{1,...,k +k } , d.h. M ∈ R(k  + k  , I, J), wobei [A A ] die aus A und A als Untermatrizen zusammengesetzte Matrix ist. Dies ist eine Agglomeration im Sinne von Definition 1.3.8b und ben¨ otigt keine Operationen.2 Allerdings vergr¨oßert sich die Schranke f¨ ur den Rang. c) Matrix-Matrix-Multiplikation: Seien Matrizen M  ∈ R(k  , I, J) und M  ∈ R(k  , J, K) gegeben:      A ∈ RI×{1,...,k } , B  ∈ RJ×{1,...,k } , M  = A B , M  = A B    A ∈ RJ×{1,...,k } , B  ∈ RK×{1,...,k } . F¨ ur das Produkt M := M  · M  = AB  gibt es zwei Darstellungsm¨ oglichkeiten: 1) M ∈ R(k  , I, K) mit A := A B A und B := B  , wobei die Berechnung von A in der Reihenfolge A · B  · A einen Aufwand von NR·R = 2k  k  (#I + #J) − k  (#I + k  ) erfordert; 2) M ∈ R(k  , I, K) mit A := A und B := B  A B  und dem Aufwand NR·R = 2k  k  (#J + #K) − k  (#K + k  ) . d) Links- und Rechtsidealeigenschaft: F¨ ur jede beliebig dargestellte Matrix M  ∈ RK×I und die Rang-k-Matrix M  ∈ R(k, I, J) mit M  = AB  hat das Produkt M  · M  ∈ R(k, K, J) wieder eine Darstellung A B  mit A := M  ·A. Der Rechenaufwand entspricht k Matrix-Vektor-Multiplikationen mit M. Analoges gilt f¨ ur den Fall, dass die erste Matrix in M  · M  aus R(k, I, J) und die zweite beliebig aus RJ×K stammt. Der Vollst¨ andigkeit halber sei eine weitere Operation erw¨ahnt:

2

Da wir nur arithmetische Operationen z¨ ahlen, unterstellen wir Umspeicherungsund Kopieraktionen als kostenlos.

30

2 Rang-k-Matrizen

¨ Ubung 2.3.2. Das Hadamard 3-Produkt zweier Matrizen M  , M  ∈ RI×J ist durch die komponentenweisen Produkte gegeben:   Mij (M  ◦ M  )ij = Mij

(i ∈ I, j ∈ J)

Man zeige: Das Hadamard-Produkt der Matrizen M  ∈ R(k  , I, J) und M  ∈ R(k  , I, J) hat das Format R(k, I, J) mit k := k  k  . Was sind die Kosten?

2.4 Bestapproximation durch Rang-k-Matrizen Bisher sind alle Operationen exakt durchgef¨ uhrt worden bzw. die Matrizen exakt dargestellt worden. Viel wichtiger ist es aber, in kontrollierter Weise Approximationen in R(k, I, J) zu erzeugen. F¨ ur diesen Zweck wird an die Singul¨ arwertzerlegung erinnert (vgl. Anhang C.2, wo auch die Spektralnorm art sind). Das Resultat aus Folgerung ·2 und die Frobenius-Norm ·F erkl¨ C.2.4 sei hier noch einmal wiederholt: Satz 2.4.1 (Bestapproximation mit Niedrigrangmatrix). Die Matrix arwertzerlegung M = U ΣV  ( U, V orthogonal; M ∈ RI×J habe die Singul¨ vgl. Anhang C), Σ ist diagonal mit Singul¨ arwerten σi = Σii in der Anordnung σ1 ≥ σ2 ≥ . . .). Die beiden Minimierungsaufgaben min

Rang(R)≤k

M − R2

werden von R := U Σk V 

und

 mit (Σk )ij =

min

Rang(R)≤k

M − RF

σi f¨ ur i = j ≤ min{k, #I, #J}, 0 sonst,

(2.3a)

(2.3b)

ur i > k durch null ersetzt werden). gel¨ ost ( Σk entsteht aus Σ, indem alle σi f¨ Der dabei auftretende Fehler ist ' min{#I,#J} σi2 (2.3c) M − R2 = σk+1 bzw. M − RF = i=k+1

ur k ≥ min{#I, #J} gesetzt sei). (wobei σk+1 := 0 f¨ Die Definition (2.3b) sichert die Existenz einer Rang-k-Darstellung f¨ ur R. Es bleibt die Aufgabe, die Faktoren in R = AB  explizit zu bestimmen. Anmerkung 2.4.2 (komprimierte Singul¨ arwertzerlegung). Sei k ≤ min{#I,#J}    Σ 0 (es angenommen. Die Matrix Σk schreibe man in der Blockzerlegung 0 0 3

Jacques Salomon Hadamard, am 8. Dezember 1865 in Versailles geboren und am 17. Oktober 1963 in Paris gestorben.

2.4 Bestapproximation durch Rang-k-Matrizen

31

wird die Tensor-Blockpartition mit Zeilenbl¨ ocken {1, . . . , k}, {k + 1, . . . , #I} und Spaltenbl¨ ocken {1, .. . , k}, {k+1, . . . , #J} verwendet). Entsprechend sind ) ( V  aufgeteilt. Die mit ∗ gekennzeichneten Bl¨ocke U = U  ∗ und V  = ∗ sind irrelevant, da sie in      ( ) Σ 0 V R = U ∗ 0 0 ∗ mit null multipliziert werden. Das Produkt stimmt mit der komprimierten Singul¨ arwertzerlegung    U ∈ RI×{1,...,k} , V  ∈ RJ×{1,...,k} ,    R=U ΣV (2.4) Σ  ∈ R{1,...,k}×{1,...,k} u ¨ber A := U  Σ  , ¨berein. Die Darstellung (2.1) von R = AB  erh¨alt man u     B := V oder A := U , B := V Σ . In der Notation (2.1’) lautet die Singul¨ arwertzerlegung von M : 

min{#I,#J}

M=

σi ui vi

(2.5a)

i=1

(vgl. (C.8)), wobei ui und vi die (orthonormalen) i-ten Spalten von U und V sind (σi , U, V aus M = U ΣV  ). Die Rang-k-Matrix R aus (2.3b) ist die k¨ urzere Summe k  σi ui vi . (2.5b) R= i=1

Bei der Suche nach einer Niedrigrangmatrix kann es verschiedene Vorgaben geben: 1. Eine Schranke f¨ ur den Rang ist vorgegeben. Der Fehler ergibt sich dann aus (2.3c). 2. Ein Fehler ε > 0 ist vorgegeben. Letzteres entspricht der folgenden Aufgabe 2.4.3. Die Approximation einer Matrix M durch eine Rangk-Matrix m¨ oge den relativen Fehler ε > 0 nicht u ¨berschreiten, d.h. ullt M − R2 ≤ ε M 2 . Die beste Rang-k-Matrix R aus (2.3b) erf¨ M − R2 / M 2 = σk+1 /σ1 . Es ist also k(ε) := min{k ∈ N0 : σk+1 ≤ εσ1 }

(2.6)

gesucht. Entsprechend kann auch der absolute Fehler M − R2 ≤ ε das Ziel sein, der mit der Wahl kabs (ε) := min{k ∈ N0 : σk+1 ≤ ε} erreicht wird.

32

2 Rang-k-Matrizen

Hinsichtlich guter Approximationen schließt man aus (2.6): Falls die Singul¨ arwerte σi einer Matrix M schnell gegen null fallen, l¨asst sich M gut durch eine Rang-k-Matrix mit kleinem k ann¨ ahern. Wenn zudem σk+2 deutlich kleiner als σk+1 ist, stimmen die beiden Fehlernormen in (2.3c) gut u ¨berein. Falls dagegen die Singul¨ arwerte s¨ amtlich die gleiche Gr¨oßenordnung haben (Beispiel M = I), ist im schlechtesten Fall eine Vollrangmatrix mit k = min{#I, #J} die einzige L¨ osung der Aufgabe 2.4.3. In §4.2 werden wir konkrete Voraussetzungen kennenlernen, unter denen k(ε) = O(logd (ε)) gefolgert werden kann, wobei d die Raumdimension bzw. die Dimension der Integrationsmannigfaltigkeit ist. Diese Absch¨atzung entspricht einem exponentiellen Abfall der Singul¨ arwerte gem¨aß σ = O(exp(−c 1/d )) mit einem Koeffizienten c > 0 (vgl. Lemma 4.1.4). In diesem Unterkapitel ist die Existenz einer Niedrigrangapproximation das Thema, nicht seine konkrete Bestimmung. Zu Letzterem vergleiche man zum Beispiel Satz 4.4.1 und §9.4. Abschließend soll der Einfluss von St¨ orungen der Matrix M diskutiert werden. Die Ursachen f¨ ur eine St¨ orung k¨ onnen vielf¨altig sein: Quadraturfehler, falls sich Mij als Auswertung eines Integrales ergibt, Vernachl¨assigung hin˜ eine N¨ ˜ 2 ≤ δ. reichend kleiner Terme, etc. Sei M aherung von M mit M − M Dann gilt   ˜ M ˜ 2 . ˜ 2 ≤ δ2 := δ M 2 + M M  M − M Die Eigenwerte von M  M sind die Quadrate σk2 der Singul¨arwerte. * * Zu jedem ˜ M ˜ (Singul¨ ˜ ) mit *σ 2 − σ ort ein Eigenwert σ ˜k2 von M ˜k2 * ≤ arwert von M σk2 geh¨ k δ2 . Die Wielandt-Hoffmann-Ungleichung liefert eine alternative Absch¨atzung: '  2 ˜ M ˜ F . (σk2 − σ ˜k2 ) ≤ M  M − M k

In jedem Fall gelten f¨ ur die Singul¨ arwerte nur tiven Fehlerabsch¨ atzungen, wie auch das folgende M := diag{σ1 , σ2 , . . .} mit σ1 ≥ σ2 ≥ . . . und  σi f¨ ur ˜ := diag{˜ M σ1 , σ ˜2 , . . .} mit σ ˜i = ur δ + σi f¨

absolute, keine relaBeispiel zeigt: Seien 1 ≤ i < kabs (δ), i ≥ kabs (δ).

˜ − M = diag{μ1 , μ2 , . . .} mit μi = 0 f¨ Die Differenz M ur 1 ≤ i ≤ kabs (δ) − 1 ˜ 2 ≤ δ, aber die relativen Fehler von ur i ≥ kabs (δ) erf¨ ullt M − M und μi = δ f¨ ˜i ≥ δ f¨ ur alle i ≥ kabs (δ). ur i ≥ kabs (δ). Insbesondere gilt σ σ ˜i u ¨bersteigen 1 f¨ Eine wichtige Schlussfolgerung lautet: ˜ 2 ≤ δ. Selbst wenn die Singul¨arwerte von Anmerkung 2.4.4. Sei M − M M schnell abfallen, sodass k(ε) aus (2.6) wie auch kabs (ε) nur langsam mit ε → 0 ansteigen, so gilt dieses Verhalten nicht mehr notwendigerweise f¨ ur ˜ ˜ entsprechenden Gr¨ die M oßen k(ε), k˜abs (ε). Vielmehr gilt kabs (ε) ≈ k˜abs (ε) nur, solange ε  δ. Sobald ε  δ, kann k˜abs (ε) = min{#I, #J} den Vollrang darstellen.

2.5 Bestapproximation von Rang--Matrizen durch Rang-k-Matrizen

33

2.5 Bestapproximation von Rang--Matrizen durch Rang-k-Matrizen Im Falle großer Matrizen mit Vollrang ist Satz 2.4.1 nur als Existenzresultat zu interpretieren, nicht als praktische Anleitung, denn f¨ ur den Aufwand gilt: Anmerkung 2.5.1. Der Aufwand f¨ ur die Singul¨arwertzerlegung einer n × natzt 4 . Matrix wird in [46, §5.4.5] mit 21n3 gesch¨ Im Weiteren wird aber die speziellere Aufgabe auftreten, eine Rang-Matrix M ∈ R(, I, J) durch eine Rang-k-Matrix M  ∈ R(k, I, J) mit k <  anzun¨ ahern. Zun¨ achst sei an die QR-Zerlegung erinnert. Lemma 2.5.2 (QR-Zerlegung). Seien I, J angeordnete Indexmengen und M ∈ RI×J . a) Dann existiert eine orthogonale Matrix Q ∈ RI×I und eine ur alle i > j) mit obere Dreiecksmatrix R ∈ RI×J (d.h. Rij = 0 f¨ M = QR

(Q orthogonal, R obere Dreiecksmatrix).

(2.7)

Q kann als Produkt von Householder-Transformationen konstruiert werden (vgl. [129, Abschnitt 4.7]).   R , wobei die b) Falls n = #I > m = #J, hat R die Blockstruktur 0 obere n × n-Untermatrix R eine quadratische obere Dreiecksmatrix ist. Die ) ( entsprechende Blockzerlegung Q = Q ∗ liefert u ¨ber M = QR = Q R die komprimierte QR-Zerlegung M = Q R

(Q ∈ RI×J , R ∈ RJ×J ).

(2.8)

2

Der Aufwand f¨ ur (2.8) betr¨ agt 4nm2 = 4#I (#J) Operationen (vgl. [46, §5.2.9]). Die Berechnung der komprimierten Singul¨ arwertzerlegung kann wie folgt vorgenommen werden: Algorithmus 2.5.3 (komprimierte Singul¨ arwertzerlegung) Die Faktoren in M = AB  ∈ R(, I, J) seien A ∈ RI×{1,...,} und B ∈ RJ×{1,...,} . 1) Man berechne die komprimierte QR-Zerlegung A = QA RA mit QA ∈ RI×{1,...,} und der oberen Dreiecksmatrix RA ∈ R{1,...,}×{1,...,} . 2) Man berechne die komprimierte QR-Zerlegung B = QB RB mit QB ∈ RJ×{1,...,} und der oberen Dreiecksmatrix RB ∈ R{1,...,}×{1,...,} .  ∈ R{1,...,}×{1,...,} berechne man die Singul¨arwertzerlegung 3) Zu RA RB  ˆ RA RB = U Σ Vˆ  (alle Matrizen im Format R{1,...,}×{1,...,} ). 4

F¨ ur n ≥ 5 ist die Berechnung der Singul¨ arwertzerlegung mittels endlich vieler Operationen nicht exakt ausf¨ uhrbar, daher h¨ angt der Aufwand z.B. von der Maschinengenauigkeit ab.

34

2 Rang-k-Matrizen

ˆ ∈ RI×{1,...,} und V := QB Vˆ ∈ RJ×{1,...,} . 4) Man definiere U := QA U Dann ist M = U Σ V  die komprimierte Singul¨ arwertzerlegung und 3 < ben¨ otigt f¨ ur ihre Berechnung weniger als 62 (#I + #J) + 65 3  2 6 (#I + #J + 3.62 · ) Operationen. Beweis. Da QA , QB orthogonal sind, u agt sich die Orthogonalit¨at von ¨bertr¨ ˆ , Vˆ auf U, V . Bez¨ U uglich des Aufwandes hat man noch  zu ber¨  ucksichtigen,  einen Aufwand von 13  22 + 1 Operationen dass die Multiplikation RA RB erfordert. Zusammen mit den schon beschriebenen Kosten (zwei komprimierte QR-Zerlegungen mit 4#I2 und 4#J2 Operationen, Singul¨arwertzerlegung ˆ und QB Vˆ mit #I (2 − 1) und mit 213 Operationen, Multiplikation QA U #J (2 − 1) Operationen) folgen die Gesamtkosten. M = U Σ V  sei wie oben berechnet und0 < k 2. Die i i=1 q I×J M | zur¨ uckgef¨ uhrt. Agglomeration wird wieder auf die Summe i i=1 q Die genauste Behandlung von i=1 Mi mit Mi ∈ R(ki , I, J) innerhalb der formatierte Arithmetik w¨ are . q /  R  (2.14) Mi . M := Tk← q ki i=1

i=1

2.6 Rang-k-Matrix-Addition mit anschließender K¨ urzung

37

Im Standardfall ist ki = k, also ist eine K¨ urzung von Rang qk auf k n¨otig. Ein Blick auf den Aufwand NT R (qk) in (2.9) zeigt, dass die Zahl q der Summanden den Aufwand unangenehm wachsen l¨ asst. Eine Alternative ist die paarweise K¨ urzung     R R R M1 + . . . + Tk←k Mq−2 + Tk←k (Mq−1 + Mq ) . . . , Tk←k 1 +k q−2 +k q−1 +kq die mit R M := Tk←k (Mq−1 + Mq ); q−1 +kq R for i := q − 2 downto 1 do M := Tk←k (Mi + M ); i +k

(2.15a)

beschrieben ist. Das Resultat sei als q  R (Mi ∈ R(ki , I, J), M ∈ R(k, I, J)) (2.15b) Mi M = Tk,paarw i=1

notiert. Der h¨ ochste, zwischenzeitlich auftretende Rang ist beschr¨ankt durch max{kq−1 + kq , k + ki : 1 ≤ i ≤ q − 2}. ¨ Ubung 2.6.3. a) Was ist der Aufwand von (2.15a)? b) Man konstruiere ein 3 urzung Beispiel mit ki = k =1 und M := i=1 Mi ∈ R(1, I, J), sodass die K¨ 3 R uhrt, obwohl die Summe ohne K¨ urzung darzu T1,paarw i=1 Mi = 0 = M f¨ stellbar w¨ are. Das Beispiel aus Teil b), das der Ausl¨ oschung der u ¨blichen Rechnerarithmetik entspricht, zeigt, dass der relative Fehler beliebig schlecht ausfallen kann. Um die Wahrscheinlichkeit der Ausl¨oschung herabzusetzen, ist eine Variante von (2.15a) denkbar: Die zwischenzeitlichen Ergebnisse werden als Rang-k  -Matrix mit k  > k behandelt, nur das Endresultat erh¨alt wieder den Rang k: M := TkR ←kq−1 +kq (Mq−1 + Mq ); for i := q − 2 downto 2 do M := TkR ←ki +k (Mi + M ); R M := Tk←k  (M1 + M ); 1 +k

(2.15c)

¨ Die folgende Ubung u agt die paarweise K¨ urzung auf die Agglomera¨bertr¨ tion. ¨ ˙ 2 und J = J1 ∪J ˙ 2 disjunkt zerlegt. Die Matrix Ubung 2.6.4. Seien I = I1 ∪I M ∈ R(4k, I, J) habe die vier Untermatrizen Mij := M |Ii ×Jj ∈ R(k, Ii , Jj )

(1 ≤ i, j ≤ 2).

In Analogie zu (2.15a) berechne man der Reihe nach R ([M11 M12 ]), M1 := Tk←2k R M2 := Tk←2k ([M21 M22 ]), ( ) M1 ˜ := T R . M k←2k M2

˜ := T R (M ) kosten? Was ist der Aufwand? Was w¨ urde M k←4k

38

2 Rang-k-Matrizen

2.6.4 Stufenweise ausgef¨ uhrte Agglomeration Die Agglomeration wurde in §2.6.2 ** ** * * * * ** * * ** als Sonderform der Addition auf** * * ** * * ** * * ** gefasst. Allerdings bringt sie eine A1 A2 A3 A4 neue Struktureigenschaft mit sich: die Summanden besitzen unterschiedliche Abb. 2.1. stufenweise Agglomeration Tr¨ ager (in der obigen Notation I × J1 der mit * gekennzeichneten Bl¨ocke und I × J2 ), die Unterbl¨ ocke der Gesamtstruktur I × J sind. In sp¨ateren Anwendungen (vgl. §7.2.3) wird diese Zerlegung in Teilbl¨ocke iteriert auftreten. Der paarweisen K¨ urzung (2.15a) entspricht ein stufenweises K¨ urzen bei der Agglomeration. W¨ ahrend aber bei der Addition die Ausl¨oschung keine gene¨ relle Genauigkeitsgarantie erlaubt (vgl. Ubung 2.6.3b), liegen die Summanden bei der Agglomeration auf verschiedenen Bl¨ ocken und sind daher orthogonal bez¨ uglich ·, ·F (vgl. (C.2)). Eine typische, stufenweise ausgef¨ uhrte Agglomeration ist in Abbildung 2.1 illustriert. 1. Sei A ∈ RI×J die Ausgangsmatrix. Sie habe die Blockstruktur A = A|b (A|b )b∈P (vgl. §1.3.2.11). Im ersten Schritt wird jeder Matrixblock  auf Rang k gek¨ urzt. Das Resultat sei mit A1 := TkR (A|b ) b∈P bezeichnet. 4 2. Sei b = i=1 bi mit b1 , . . . , b4 ∈ P einer der mit Sternen markierten Unterbl¨ ocke. Die vier Matrixbl¨ ocke A1 |bi werden zu A2 |b ∈ R(k, b ) agglomeriert (inklusive der K¨ urzung auf Rang k). Die nichtmarkierten Bl¨ocke andert gelassen und definieren A2 |b = A1 |b . Damit b von A1 werden unver¨ oberen Blockstruktur P2 definiert. ist A2 = (A2 |b )b∈P2 mit der gr¨ 3. In analoger Weise werden A3 aus A2 und schließlich A4 aus A3 definiert. A4 ∈ R(k, I, J) ist eine globale Rang-k-Matrix und wird als Ersatz der Bestapproximation TkR (A) verwendet. Im Folgenden werden die Fehler A4 − TkR (A)F und A4 − AF abgesch¨ atzt. Wir schreiben A als A=R+δ

mit R := TkR (A) ∈ R(k, I, J) und δ := A − R.

ur b ∈ P . Es gilt A|b = Der obige Schritt 1 definiert A1 |b := TkR (A|b ) f¨ R|b + δ|b , wobei R|b ∈ R(k, b) nach Anmerkung 2.2.6. Aus Lemma C.2.6 folgt die Absch¨ atzung A1 |b − R|b F = TkR (R|b + δ|b ) − R|b

F

≤ 2 δ|b F .

Summation u ocke b ∈ P ergibt ¨ber alle Bl¨   2 2 2 A1 |b − R|b 2F ≤ 4 δ|b F = 4 δF . A1 − RF = b∈P

b∈P

2.7 Varianten der Rang-k-Matrixdarstellungen

39

In Schritt 2 werden je vier Matrixbl¨ ocke A1 |b (b ∈ P ) zu einem Block b ∈ P  agglomeriert. Wir schreiben A1 = R + δ1 , wobei δ1 := A1 − R oben durch δ1 F = A1 − RF ≤ 2 δF abgesch¨atzt ist. Die Agglomeration definiert A2 mittels A2 |b = TkR (A1 |b ) = TkR (R|b + δ1 |b ). Wie oben gilt A2 |b − R|b F = TkR (R|b + δ1 |b ) − R|b

F

≤ 2 δ1 |b F .

Summation u ¨ber b ∈ P  ergibt   2 2 2 2 A2 − RF = A2 |b − R|b F = 4 δ1 |b F = 4 δ1 F , b ∈P 

b ∈P 

also A2 − RF ≤ 2 δ1 F ≤ 4 δF . Auf diese Weise erh¨ alt man nach p Schritten (im obigen Beispiel p = 4) Ap − RF ≤ 2p δF . Zusammen mit A − RF ≤ δF und der Dreiecksungleichung folgt die schließliche Fehlerabsch¨ atzung Ap − AF ≤ (2p + 1) δF = (2p + 1) A − TkR (A)

F

.

(2.16)

Die stufenweise ausgef¨ uhrte Agglomeration wird in §7.2.3 noch formalisiert werden.

2.7 Varianten der Rang-k-Matrixdarstellungen 2.7.1 AKB-Darstellung Die Faktorisierung (2.1) in zwei Matrizen (M = AB  ) wird erweitert zu einer Faktorisierung M = AKB  A∈R

I×{1,...,k1 }

mit

(2.17) {1,...,k1 }×{1,...,k2 }

, K∈R

J×{1,...,k2 }

, B∈R

),

k1 , k2 ∈ N0 ,

die eine zus¨ atzliche “Koeffizientenmatrix” K enth¨alt. Die (2.1’) entsprechende Formulierung lautet k1  k2  Kij ai b (2.17’) M= j . i=1 j=1

Falls M mittels der Daten A, K, B aus (2.17) vorliegt, schreiben wir M ∈ R(k1 , k2 , I, J) .

40

2 Rang-k-Matrizen

Anmerkung 2.7.1. a) Der agt R(k1 , k2 , I, J) betr¨

Speicheraufwand

f¨ ur

eine

Matrix

S = k1 #I + k2 #J + k1 k2 .



M

(2.18)

b) Jedes M ∈ R(k, I, J) definiert die Darstellung (2.17) mit k1 = k2 := k und K := I (Einheitsmatrix in R{1,...,k}×{1,...,k} ) und damit M ∈ R(k, k, I, J). Umgekehrt liefert ein Ausmultiplizieren von KB  bzw. AK in (2.17) eine Darstellung als R(k1 )- bzw. R(k2 )-Matrix. Der ben¨otigte Transfer-Aufwand ist k1 #J (2k2 − 1) bzw. k1 #I (2k2 − 1) . c) Im Prinzip lassen sich k1 , k2 auf k := min{k1 , k2 } reduzieren, allerdings wird sich in Anmerkung 2.7.2 der Vorteil von m¨oglicherweise unterschiedlichen k1 , k2 zeigen. d) Sei k1 = k2 (im Folgenden k genannt). Solange man von k  min{#I, #J} ausgeht, ist S aus (2.18) nur unwesentlich gr¨oßer als der Speicherbedarf k (#I + #J) f¨ ur (2.1). Der Vorteil von (2.17) zeigt sich bei der Matrix-Matrix-Multiplikation: F¨ ur #I = #J = #K =: n und k1 = k2 = k1 = k2 =: k braucht die R(k)Darstellung nach Anmerkung 2.3.1c 4nk 2 − nk − k 2 Operationen, w¨ahrend die nachfolgende Anmerkung f¨ ur die R(k, k)-Darstellung 2nk2 + O(k 3 ) Operationen notiert. Anmerkung 2.7.2. Seien M  ∈ R(k1 , k2 , I, J) und M  ∈ R(k1 , k2 , J, K) gegeben: ⎧   ⎨ A ∈ RI×{1,...,k1 } ,  mit M  = A K  B  B  ∈ RJ×{1,...,k2 } , ⎩    K ∈ R{1,...,k1 }×{1,...,k2 } , ⎧   ⎨ A ∈ RJ×{1,...,k1 } ,  M  = A K  B  mit B  ∈ RK×{1,...,k2 } , ⎩    K ∈ R{1,...,k1 }×{1,...,k2 } . Dann geh¨ ort das Produkt M  · M  zu R(k1 , k2 , I, J), wobei die Darstellung  anderten Faktoren A und B  sowie M = A KB  mit unver¨   K := K  B  A K  gilt. Die Berechnung von K erfordert NR·R = 2#Jk1 k2 + O(k 3 ) Operationen, ur einen kubischen Term in den Gr¨oßen ki und ki steht. wobei O(k3 ) f¨ Die Addition M1 + M2 = A1 K1 B1 + A2 K2 B2 ist metische Operationen  uhrbar, da die Summe als  durchf¨ K1 0 A = [A1 A2 ], K = und B = [B1 B2 ] . 0 K2  ) K1 ( Die Agglomeration M = [M1 M2 ] = A1 A2 0 ebenfalls bereits von der gew¨ unschten Form.

wieder ohne arithM = AKB  mit

0 K2



B1 0 0 B2

 ist

2.7 Varianten der Rang-k-Matrixdarstellungen

41

Die Beschr¨ ankung von M = AKB  ∈ RI×J auf die Untermatrix I  × J  ⊂ I × J geschieht durch Beschr¨ ankung von A auf I  × {1, . . . , k} und von B auf  J × {1, . . . , k}. 2.7.2 SVD-Darstellung Da die Niedrigrangmatrizen im Weiteren h¨ aufig durch K¨ urzung mittels Singul¨ arwertzerlegung gewonnen werden (vgl. §2.5), liegt es nahe, die komprimierte Singul¨ arwertzerlegung (2.4) als Darstellungsform zu w¨ahlen (vgl. [13, §4]): ⎞ ⎛ U ∈ RI×{1,...,k} und (2.19) M = U ΣV  ∈ R(k, I, J) ⎝ V ∈ RJ×{1,...,k} orthogonal, ⎠ Σ = diag {σ1 , . . . , σk } . W¨ ahrend die Addition in der Standardform kostenlos ist (vgl. Anmerkung 2.3.1b), erh¨ alt man nun das Zwischenresultat M1 + M2 = U1 Σ1 V1 + U2 Σ2 V2 = Ua Σa Va Ua = [U1 U2 ] ,

Va = [V1 V2 ] ,

Σa =



mit

 Σ1 0 , 0 Σ2

in dem Ua und Va noch nicht orthogonal sind. Um diese herzustellen, wendet man die QR-Zerlegungen ˆ RU , Ua = U

Va = Vˆ RV mit 5 4 5 ˆ2 und Vˆ = V1 Vˆ2 orthogonal, ˆ = U1 U U     I RU,1 I RV,1 , RV = , RU = 0 RU,0 0 RV,0 4

RU,0 , RV,0 obere Dreiecksmatrizen, an, sodass

ˆ RU Σa R Vˆ  . M1 + M2 = Ua Σa Va = U V

ˇ Σ Vˇ  Die k × k-Matrix5 RU Σa RV wird mittels Singul¨arwertzerlegung als U geschrieben: ˆU ˇ Σ Vˇ  Vˆ  = U ΣV  M1 + M 2 = U ˆU ˇ und V := Vˆ Vˇ . Hier besteht die hat die gew¨ unschte Darstellung mit U := U urzen. Da hierbei M¨ oglichkeit, von Rang k auf einen kleineren Rang k zu k¨ nur Spalten von U und V gestrichen werden, ist der Rest noch orthogonal. Die Agglomeration gestaltet sich sogar noch einfacher:     ) ( ) Σ1 0 ( V1 0 . [M1 M2 ] = U1 Σ1 V1 U2 Σ2 V2 = U1 U2 0 Σ2 0 V2 5

Hier ist k = k1 + k2 , wobei k1 und k2 die R¨ ange der Summanden M1 und M2 sind.

42

2 Rang-k-Matrizen

) ( U1 U2 ist wie bei der Addition zu orthogonalisieren, w¨ahrend Die Matrix   V1 0 bereits orthogonal ist. V := 0 V2 Eine neue, vollst¨ andig durchgef¨ uhrte Singul¨arwertzerlegung ist notwendig, wenn von M = U ΣV  eine Teilmatrix M |I  ×J  (I  ⊂ I, J  ⊂ J) in das Format (2.19) gebracht werden soll.

3 Einfu ¨ hrendes Beispiel

Dass es blockweise m¨oglich ist, eine Matrix zu vereinfachen, ist nicht neu. PaneelClusterungsmethoden (vgl. [90], [125, §7]), Multipolverfahren (vgl. [122], [125, §7.1.3.2]), Mosaikapproximation (vgl. [131]) und Matrixkompressionstechniken bei Wavelets (vgl. [35]) beruhen auf dem gleichen Konzept. Allerdings ist es in keinem dieser F¨ alle m¨ oglich, andere Matrixoperationen als die Matrixvektormultiplikation effizient durchzuf¨ uhren. Deshalb soll in diesem Kapitel herausgestellt werden, wie die Abb. 3.1. Blockzerlegung von Matrixoperationen ausgef¨ uhrt werden und H7 (n = 128) was ihr Aufwand ist. Insbesondere wird sich herausstellen, dass alle Matrixoperationen mit fast linearem Aufwand berechnet werden k¨ onnen (statt O(n2 ) oder O(n3 ) wie bei voller Matrixdarstellung), wobei aber zu ber¨ ucksichtigen ist, dass die Resultate im Allgemeinen Approximationsfehler enthalten. In diesem Modellbeispiel ist das Matrixformat fest vorgegeben. In den praktischen Anwendungen ist das Format dagegen speziell f¨ ur die jeweilige Aufgabe zu konstruieren (dies wird in §5 beschrieben werden).

3.1 Das Modellformat Hp Wir beschr¨ anken uns auf die Indexmengen I = {1, . . . , n} mit Zweierpotenzen n = 2p

(3.1)

und definieren induktiv in p das Matrixformat Hp . Um I in Abh¨angigkeit von ur I. p zu charakterisieren, schreiben wir auch Ip f¨

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 3, c Springer-Verlag Berlin Heidelberg 2009 

44

3 Einf¨ uhrendes Beispiel

F¨ ur p = 0 ist M ∈ RI×I eine 1 × 1-Matrix, die formal als volle Matrix dargestellt sei. Entsprechend sei H0 die Menge aller 1×1-Matrizen in der Darstellung Volle Matrix(1, 1). Die weiteren Darstellungen Hp werden rekursiv definiert. ur Matrizen aus Wir nehmen an, dass das Darstellungsformat von Hp−1 f¨ RIp−1 ×Ip−1 bekannt sei. Eine Matrix aus RIp ×Ip kann als Blockmatrix   M11 M12 , Mij ∈ RIp−1 ×Ip−1 , (3.2a) M= M21 M22 dargestellt werden. Wir schr¨ anken die Menge aller M ∈ RI×I durch die folgende Forderung ein: M11 , M22 ∈ Hp−1 ,

M12 , M21 ∈ Rp−1 (k),

(3.2b)

wobei Rp−1 (k) := Rp−1 (k, Ip−1 , Ip−1 ) die Rang-k-Matrixfamilie aus Definition 2.2.3 ist. Die Menge der Matrizen (3.2a) mit (3.2b) bildet die Menge Hp . Der lokale Rang k ist eigentlich so zu w¨ ahlen, dass eine bestimmte Approximationsg¨ ute erreicht wird. Da in diesem Abschnitt die Approximation keine Rolle spielen soll, treffen wir in (3.2b) die einfache Wahl k=1

(3.2c)

ur Rp−1 (1). Die rekursive Struktur von Hp kann und schreiben kurz Rp−1 f¨ durch   Hp−1 Rp−1 (3.2d) Hp = Rp−1 Hp−1 charakterisiert werden. L¨ ost man die Rekursion auf, erh¨alt man die folgenden Blockzerlegungen, die in p=0

p=1

p=2

p=3 (3.3)

f¨ ur p = 0, 1, 2, 3 wiedergegeben sind. Abbildung 3.1 zeigt den Fall n = 27 = 128. Nach Definition von Rp (k) kann jeder Block b einen beliebigen Matrixblock M |b mit Rang(M |b ) ≤ k enthalten, wobei hier k = 1 gem¨aß (3.2c).

3.2 Zahl der Blo ¨cke Als Erstes sei die Zahl der Bl¨ ocke in Matrizen aus Mp per Induktion bestimmt. F¨ ur p = 0 in (3.1) liegt eine 1 × 1-Matrizen vor, d.h. Nblock (0) = 1. ur p > 1. Diese Die Rekursion (3.2d) zeigt Nblock (p) = 2 + 2Nblock (p − 1) f¨ Rekursionsgleichung wird erf¨ ullt durch Nblock (p) = 3n − 2.

(3.4)

3.5 Matrix-Addition

45

3.3 Speicheraufwand Der Speicheraufwand einer Rp -Matrix (n = 2p ) ist SR (p) = 2p+1 (vgl. Anur p = 0 merkung 2.2.5). Sei Sp der Speicheraufwand einer Matrix aus Hp . F¨ ist nur eine 1 × 1-Matrix zu speichern, d.h. S0 = 1. Die Rekursion (3.2d) zeigt Sp = 2SR1 (p − 1) + 2Sp−1 = 2p+1 + 2Sp−1 . Zusammen mit S0 = 1 folgt Sp = (2p + 1)n. Dies beweist das agt Lemma 3.3.1. Der Speicherbedarf einer Matrix aus Hp (n = 2p ) betr¨ Sp = n + 2n log2 n.

(3.5)

3.4 Matrix-Vektor-Multiplikation Seien M ∈ Hp und x ∈ RIp mit n = 2p . Die noch zu bestimmenden Kosten ur p ≥ 1 sei f¨ ur M ·x seien mit NMV (p) bezeichnet. F¨  M wie in (3.2a) zerlegt: M11 M12 x1 M = . Entsprechend wird x in x = mit x1 , x2 ∈ RIp−1 M21 M22 x2 zerlegt. Die Multiplikation M x reduziert sich auf die Berechnung von y11 := M11 x1 ,

y12 := M12 x2 ,

y21 := M21 x1 ,

y22 := M22 x2

und die Additionen y11 + y12 und y21 + y22 . Nach Anmerkung 2.3.1a kosten ahrend die Additionen je n2 OperaM12 x2 und M21 x1 je 3 n2 −1 Operationen, w¨ tionen ben¨ otigen. Dies f¨ uhrt auf die Rekursion NMV (p) = 2NMV (p − 1) + 4n − 2 mit dem Startwert NMV (0) = 1. Ihre L¨ osung lautet NMV (p) = 4np − n + 2. Lemma 3.4.1. Sei n = 2p . Die Matrix-Vektor-Multiplikation von M ∈ Hp mit x ∈ RIp ben¨ otigt den Aufwand NMV (p) = 4n log2 n − n + 2.

(3.6)

Im Gegensatz zu den folgenden Operationen wird die Matrix-VektorMultiplikation exakt durchgef¨ uhrt.

3.5 Matrix-Addition Wir unterscheiden drei Typen von Additionen: 1) A ⊕1 B ∈ Rp f¨ ur A, B ∈ Rp mit I = {1, . . . , n} mit den Kosten NR+R (p). ur A, B ∈ Hp mit den Kosten NH+H (p). 2) A ⊕1 B ∈ Hp f¨ ur A ∈ Hp und B ∈ Rp mit den Kosten NH+R (p). 3) A ⊕1 B ∈ Hp f¨

46

3 Einf¨ uhrendes Beispiel

Das Symbol ⊕1 macht deutlich, dass nicht die exakte Addition vorliegt, sondern blockweise auf Rang-1-Matrizen gek¨ urzt wird. Gem¨ aß Korollar 2.6.1b ist NR+R (p) = 18n + 29 (sp¨ater in der Form NR+R (p − 1) = 9n + 29 angewandt). Im Falle A, B ∈ Hp verwenden wir die Blockstruktur (3.2d). Die Summe hat die Gestalt       Hp−1 Rp−1 Hp−1 + Hp−1 Rp−1 + Rp−1 Hp−1 Rp−1 + = . Rp−1 Hp−1 Rp−1 Hp−1 Rp−1 + Rp−1 Hp−1 + Hp−1 Die exakte Definition der Operation ⊕1 : Hp × Hp → Hp lautet: F¨ ur p = 0 ist ⊕1 = + die exakte Addition. Ansonsten gilt die Rekursion       M11 ⊕1 M11 M12 ⊕1 M12 . (3.7) M  ⊕1 M  :=     M21 ⊕1 M21 M22 ⊕1 M22 Dabei ist in den Außerdiagonalbl¨ ocken ⊕1 : Rp−1 × Rp−1 → Rp−1 die schon definierte formatierte Addition von Rp−1 -Matrizen (vgl. (2.13)), w¨ahrend in den Diagonalbl¨ ocken die Operation ⊕1 : Hp−1 × Hp−1 → Hp−1 der Stufe p − 1 vorliegt. Gem¨ aß (3.7) erh¨ alt man f¨ ur den Aufwand die Rekursion NH+H (p) = 2NH+H (p − 1) + 2NR+R (p − 1) = 2NH+H (p − 1) + 18n + 58. Zusammen mit NH+H (0) = 1 folgt NH+H (p) = 18n log2 n + 59n − 58. (3.8)   B11 B12 mit Bij ∈ Rp−1 schreiben: Im dritten Fall l¨ asst sich B als B21 B22   Rp−1 Rp−1 (vgl. Anmerkung 2.2.6). Die Summe B= Rp−1 Rp−1   Hp−1 + Rp−1 Rp−1 + Rp−1 A+B = Rp−1 + Rp−1 Hp−1 + Rp−1 zeigt die Rekursion NH+R (p) = 2NH+R (p − 1) + 2NR+R (p − 1). Da diese ur NH+H (p) sind, und der Startwert NH+R (0) = 1 identisch mit denjenigen f¨ ergeben sie ebenfalls NH+R (p) = 18n log2 n + 59n − 58. Lemma 3.5.1. Sei n = 2p . Die formatierte Addition ⊕1 zweier Matrizen otigt ebenso wie diejenige einer Hp -Matrix mit einer Rp -Matrix aus Hp ben¨ 18n log2 n + 59n − 58 Operationen.

3.6 Matrix-Matrix-Multiplikation Sei n = 2p . Bei der Matrix-Matrix-Multiplikation sind drei verschiedene F¨alle und die zugeh¨ origen Kosten zu unterscheiden:

3.6 Matrix-Matrix-Multiplikation

1) 2a) 2b) 3)

A · B ∈ Rp A · B ∈ Rp A · B ∈ Rp A  B ∈ Hp

f¨ ur f¨ ur f¨ ur f¨ ur

A, B ∈ Rp A ∈ Rp und B ∈ Hp A ∈ Hp und B ∈ Rp A, B ∈ Hp

mit mit mit mit

den den den den

Kosten Kosten Kosten Kosten

47

NR·R (p). NR·H (p). NH·R (p). NH·H (p).

In den F¨ allen 1) und 2) sind die Resultate exakt. Im Falle 3) wird das Produkt approximativ in Hp bestimmt. Im ersten Fall lautet die L¨ osung NR·R (p) = 3n−1 (vgl. Anmerkung 2.3.1c). Im Falle A ∈ Hp , B ∈ Rp verwendet man A·ab = (Aa)·b , d.h. das Resultat ist a b ∈ Rp mit a := Aa und kostet eine Matrix-Vektor-Multiplikation A · a. Gem¨ aß Lemma 3.4.1 sind die Kosten NH·R (p) = 4n log2 n − n + 2.   F¨ ur B ∈ Rp , A ∈ Hp gilt entsprechend BA = ab · A = a · A b , sodass NR·H (p) = NH·R (p). Im dritten Fall A  B f¨ ur A, B ∈ Hp hat das Produkt die Gestalt     Hp−1 Rp−1 Hp−1 Rp−1 · Rp−1 Hp−1 Rp−1 Hp−1   Hp−1 · Hp−1 + Rp−1 · Rp−1 Hp−1 · Rp−1 + Rp−1 · Hp−1 . = Rp−1 · Hp−1 + Hp−1 · Rp−1 Rp−1 · Rp−1 + Hp−1 · Hp−1 Auf der Stufe p − 1 treten alle drei Multiplikationstypen auf. Der dritte Multiplikationstyp Hp−1 · Hp−1 erfordert die Approximation durch . Schließlich ist die Addition mittels ⊕1 anzun¨ahern. Abz¨ahlen der Operationen liefert die Rekursion NH·H (p) = 2NH·H (p − 1) + 2NR·R (p − 1) + 2NH·R (p − 1) + 2NR·H (p − 1) + 2NH+R (p − 1) + 2NR+R (p − 1). Wir setzen die bekannten Gr¨ oßen NR·R (p − 1) =

3 n − 1, 2

(3.9)

n 5 n n log2 − + 2 = 2n log2 n − n + 2, 2 2 2 2 n n 41 n NH+R (p − 1) = 18 log2 + 59 − 58 = 9n log2 n + n − 58, 2 2 2 2 n NR+R (p − 1) = 18 + 29 = 9n + 29 2 NH·R (p − 1) = NR·H (p − 1) = 4

ein und erhalten NH·H (p) = 2NH·H (p − 1) + 26pn + 52n − 52. Diese Rekursion und der Startwert NH·H (0) = 1 ergeben die L¨osung NH·H (p) = 13np2 + 65np − 51n + 52 . Lemma 3.6.1. Die Multiplikation zweier Hp -Matrizen kostet NH·H (p) = 13n log22 n + 65n log2 n − 51n + 52 Operationen.

48

3 Einf¨ uhrendes Beispiel

Das Produkt zwischen Hp und Rp erfordert NH·R (p) = NR·H (p) = 4n log2 n − n + 2 Operationen, die Multiplikation zweier Rp -Matrizen ben¨otigt NR·R (p) = 3n − 1 Operationen.

3.7 Matrixinversion Im Folgenden wollen wir die Inverse M −1 einer Matrix M ∈ Hp approximieren. Dazu wird die Inversionsabbildung Inv : Dp ⊂ Hp → Hp rekursiv definiert. F¨ ur p = 0 kann Inv(M ) := M −1 als exakte Inverse der 1 × 1-Matrix M definiert werden, solange M = 0. Sei Inv auf Dp−1 ⊂ Hp−1 definiert. Die (exakte) Inverse von M mit der Blockstruktur (3.2d) ist   −1 −1 −1 −1 M11 + M11 M12 S −1 M21 M11 −M11 M12 S −1 , (3.10) M −1 = −1 −S −1 M21 M11 S −1 −1 wobei das Schur-Komplement S := M22 − M21 M11 M12 ben¨otigt wird. Man beachte, dass die Darstellung (3.10) und damit auch der zu beschreibende ar ist. Algorithmus voraussetzen, dass M11 regul¨

¨ Ubung 3.7.1. a) Ist M positiv definit, so ist M11 regul¨ar. ar, so ist auch das Schur-Komplement S regul¨ar. b) Sind M und M11 regul¨ −1 durch Inv(M11 ) ersetzt. Die Multiplikationen mit M12 In (3.10) wird M11 und M21 k¨ onnen exakt durchgef¨ uhrt werden, da diese aus Rp−1 stammen. Die Additionen (zu denen auch die Subtraktion gez¨ahlt wird) werden als ⊕1 durchgef¨ uhrt. Damit k¨ onnen sowohl S als auch alle Matrixbl¨ocke aus (3.10) approximativ berechnet werden, und Inv(M ) ist vollst¨andig definiert. Die genaue Abfolge der Operationen ist

Matrixoperation M11

→ N11 := Inv(M11 ) ∈ Hp−1 M21 , N11 → X21 := M21 · N11 ∈ Rp−1 N11 , M12 → X12 := N11 · M12 ∈ Rp−1 X21 , M12 → X22 := X21 · M12 ∈ Rp−1 M22 , X22 → Sˆ := M22 1 X22 ∈ Hp−1 ˆ Sˆ

→ T := Inv(S) ∈ Hp−1 T, X21

→ Z21 := −T · X21 ∈ Rp−1 X12 , T

→ Z12 := −X12 · T ∈ Rp−1 X12 , Z21 → X11 := X12 · Z21 ∈ Rp−1 N11 , X11 → Z11 := N11 ⊕1 X11 ∈ Hp−1



Z11 Z12 Somit ist Inv(M ) = Z21 T Kosten ergibt die Rekursion



Kosten Ninv NR·H NH·R NR·R NH+R Ninv NH·R NR·H NR·R NH+R

approximierter Ausdruck −1 M11 −1 M21 M11 −1 M11 M12 −1 M21 M11 M12 −1 M22 − M21 M11 M12 −1 S −1 −S −1 M21 M11 −1 −M11 M12 S −1 −1 −1 −M11 M12 S −1 M21 M11 −1 −1 −1 M11 +M11 M12 S −1 M21 M11

bestimmt. Die Addition der aufgez¨ahlten

3.8 LU-Zerlegung

49

Ninv (p) = 2Ninv (p − 1) + 2NR·H (p − 1) + 2NH·R (p − 1) + 2NH+R (p − 1) + 2NR·R (p − 1) (sehr ¨ ahnlich zur NH·H -Rekursion). Mit den Werten aus (3.9) folgt Ninv (p) = 2Ninv (p − 1) + 26n log2 n + 34n − 110. Zusammen mit Ninv (0) = 1 ergibt sich Ninv (p) = 13p2 n + 47pn − 109n + 110. Dies beweist das otigt Lemma 3.7.2. Die approximative Inversion einer Matrix aus Hp ben¨ 13n log22 n + 47n log2 n − 109n + 110 Operationen.

3.8 LU-Zerlegung Eine LU-Zerlegung (ohne Pivotwahl) braucht nicht zu existieren. Hinreichend sind a) nichtverschwindende Hauptunterdeterminanten, b) Positivdefinitheit oder c) H-Matrix-Eigenschaft (vgl. [66, Kriterium 8.5.8]). Die hierarchischen Matrizen f¨ ur die Faktoren L und U stammen aus den folgenden Untermengen: ur j > i} , Hp,L := {M ∈ Hp : Mii = 1, Mij = 0 f¨ Hp,U := {M ∈ Hp : Mij = 0 f¨ ur j < i} . Wie bei der u ¨blichen Abspeicherung als volle Matrix gilt auch hier, dass der Speicherplatz f¨ ur die beiden Matrizen L ∈ Hp,L und U ∈ Hp,U zusammen dem einer allgemeinen Matrix M ∈ Hp entspricht. 3.8.1 Vorw¨ artssubstitution Seien eine normierte untere Dreiecksmatrix L ∈ Hp,L und eine rechte Seite ahrend die L¨ osung x ∈ RIp von Lx = y zu bestimmen ist. y ∈ RIp gegeben, w¨ F¨ ur p ≥ 1 zerf¨ allt L in die Bl¨ ocke   L11 0 mit L11 , L22 ∈ Hp−1,L und L21 ∈ Rp−1 . L= L21 L22     x1 y Ferner seien die Vektoren blockzerlegt: x = , y = 1 . Die L¨osung von x2 y2 Lx = y geschieht mittels der Vorw¨ artssubstitution, die zur Rekursion l¨ ose L11 x1 = y1 ,

setze z := y2 − L21 x1 ,

l¨ose L22 x2 = z

f¨ uhrt. Nach Anmerkung 2.3.1a ben¨ otigt man − 1 Operationen f¨ ur die Matrixvektormultiplikation L21 x1 . Die Addition von y2 kostet n2 Operationen, sodass die Rekursion f¨ ur den Aufwand wie folgt aussieht: 3 n2

Nvorw (p) = 2Nvorw (p − 1) + 2n − 1

(3.11a)

50

3 Einf¨ uhrendes Beispiel

F¨ ur p = 0 ist die Aufl¨ osung von Lx = y kostenlos, da1 x = y, sodass osung der Rekursion f¨ ur Nvorw (p) lautet Nvorw (0) = 0. Die L¨ Nvorw (p) = 2n log2 n − n + 1

(n = 2p ).

3.8.2 R¨ uckw¨ artssubstitution Die Kosten der Aufl¨ osung der Gleichung U x = y f¨ ur U ∈ Hp,U seien mit Nr¨uckw (p) bezeichnet. Die Rekursionsformel ist mit Nvorw identisch: Nr¨uckw (p) = 2Nr¨uckw (p − 1) + 2n − 1, aber der Startwert lautet Nvorw (0) = 1. Dies liefert (n = 2p ). (3.11b) Nr¨uckw (p) = 2n log2 n + 1 Im n¨ achsten Unterabschnitt ben¨ otigt man eine Variante der R¨ uckw¨artssubstitution: die Aufl¨ osung von x U = y  nach x. Sie ist a¨quivalent zu U  x = y, wobei U  eine obere Dreiecksmatrix ist. Da U  aber nicht normiert ist, ergibt sich der gleiche Aufwand Nr¨uckw (p) wie oben. 3.8.3 Aufwand der LU-Zerlegung     L11 0 U11 U12 Der Ansatz L = ∈ Hp,L , U = ∈ Hp,U f¨ ur LU = M = 0 U22 L21 L22   M11 M12 ∈ Hp f¨ uhrt auf die vier Gleichungen M21 M22 M11 = L11 U11 ,

M12 = L11 U12 ,

M21 = L21 U11 ,

M22 = L21 U12 +L22 U22 .

Damit stellen sich die folgenden Unteraufgaben: 1) 2) 3)

bestimme die LU-Zerlegung von M11 −1 berechne U12 := L−1 11 M12 und L21 := M21 U11 , berechne die LU-Zerlegung von M22 − L21 U12

(Resultat: L11 , U11 ), (Resultat: L22 , U22 ).

ur geeignete a, b ∈ RIp−1 . Die Darstellung Da M12 ∈ Rp−1 , gilt M12 = ab f¨ alt man von U12 ∈ Rp−1 ist gegeben durch a b mit a = L−1 11 a. Offenbar erh¨ artssubstitution aus L11 a = a zu den Kosten Nvorw (p − 1). a mittels Vorw¨ −1 ∈ Rp−1 gerade Analog kostet die (exakte) Berechnung von L21 = M21 U11 Nr¨uckw (p − 1). Es ergibt sich eine rekursive Aufwandsbeschreibung: NLU (p) = 2NLU (p − 1) + Nvorw (p − 1) + Nr¨uckw (p − 1) + NR·R (p − 1) + NH+R (p − 1) 5 4 n = 2NLU (p − 1) + n(p − 1) − + 1 + [n(p − 1) + 1] 2 5 4 5 4 n n + 3 − 1 + 9n(p − 1) + 59 − 58 2 2 1

Hier wird ausgenutzt, dass L normiert ist, d.h. Lii = 1 f¨ ur alle i ∈ I.

3.9 Weitere Eigenschaften der Modellmatrizen und Semiseparabilit¨ at ∗

51

39 n − 57 2 osung lautet mit dem Startwert NLU (0) = 0. Die L¨ = 2NLU (p − 1) + 11np +

NLU (p) =

11 n log22 n + 25n log2 n − 57 (n − 1) . 2

(3.11c)

Damit ist der Aufwand deutlich niedriger als die Berechnung der Inversen mit Ninv (p) = 13n log22 n + . . . . ¨ Ubung 3.8.1. F¨ ur positiv definite Matrizen M im Hp -Format formuliere man die Cholesky-Zerlegung (vgl. (1.5b)).

3.9 Weitere Eigenschaften der Modellmatrizen und Semiseparabilit¨ at ∗ Die Inversionsabbildung Inv aus §3.7 wurde als approximativ beschrieben. Es gibt aber einen wichtigen Fall, in dem Inv exakt ist: Proposition 3.9.1 (tridiagonale Matrizen). Sei M ∈ RIp ×Ip tridiagonal. a) Dann gilt M ∈ Hp . b) Ist M zudem regul¨ ar, so geh¨ ort auch M −1 zu Hp . ar. Dann ist das c) Alle Hauptuntermatrizen M |Iq ×Iq (0 ≤ q ≤ p) seien regul¨ Resultat Inv(M ) aus §3.7 wohldefiniert und liefert die exakte Inverse M −1 . Der Beweis wird anschließend an Korollar 3.9.9 nachgeholt. Proposition 3.9.1 ist leicht auf Bandmatrizen mit Bandbreite 2k + 1 (k obere und k untere Außerdiagonalen, k > 1) zu verallgemeinern, indem man in der Definition von Hp statt der Rang-1-Matrizen Rp = R(1, Ip , Ip ) die Rang-k-Matrizen R(k, Ip , Ip ) verwendet. Die obige Aussage macht davon Gebrauch, dass die Inverse tridiagonaler Matrizen spezielle Eigenschaften besitzt. Es gibt auch die umgekehrte Fragestellung: Unter welchen Bedingungen hat eine Matrix eine tridiagonale Inverse? Dies f¨ uhrt auf den Begriff der Semiseparabilit¨ at. Da tridiagonale Matrizen (oder etwas breitere Bandmatrizen) sich aus eindimensionalen Randwertaufgaben ergeben und in der Praxis eher zwei oder mehr Raumvariablen auftreten, ist die Anwendbarkeit der Semiseparabilit¨atseigenschaften allerdings beschr¨ ankt. Weil in der Literatur die Semiseparabilit¨at nicht einheitlich definiert ist (vgl. [132]), wird hier auf eine Definition verzichtet. Stattdessen beschreibt Definition 3.9.2 eine Menge, die hier neutral als Sk bezeichnet sei und den semiseparablen Matrizen nahekommt. F¨ ur unsere Zwecke wird eine schw¨ achere Bedingung an die Menge Mk,τ ausreichen (vgl. Definition 3.9.5). Die hier definierten Sk - und Mk,τ -Matrizen haben interessante Invarianzeigenschaften bez¨ uglich verschiedener Operationen.

52

3 Einf¨ uhrendes Beispiel

Definition 3.9.2. Seien I angeordnet und 1 ≤ k < #I. M ∈ RI×I geh¨ ort ur jeden Block b ⊂ I × I gilt, der im strikten zu Sk , wenn Rang(M |b ) ≤ k f¨ oberen Dreiecksteil {(i, j) : i < j} oder im strikten unteren Dreiecksteil enthalten ist. Offenbar geh¨ ort jede Matrix M ∈ RI×I zu Sk mit k = #I − 1. Anmerkung 3.9.3. a) Tridiagonale Matrizen geh¨oren zu S1 . b) Bandmatrizen mit h¨ ochstens k oberen und k unteren Nebendiagonalen geh¨ oren zu Sk . oren M und M +D zu Sk mit gleichem k. c) Sei D ∈ RI×I diagonal. Dann geh¨ d) Jede Matrix M ∈ Sk ∩ Rn×n (n = 2p ) l¨asst sich im Format Hp exakt darstellen, wenn anstelle von (3.2c) der lokale Rang k gew¨ahlt wird. Beweis. a) Spezialfall k = 1 von b). b) M |b enth¨alt h¨ochstens k Nichtnullzeilen. c) Die Diagonale ist f¨ ur Sk irrelevant. d) Die Diagonalbl¨ocke im Hp Format sind (volle) Matrizen der Gr¨ oße 1 × 1 und enthalten ohnehin die exakten Daten. Alle anderen Bl¨ ocke b sind ganz im oberen bzw. unteren Matrixdreieck enthalten, sodass Rang(M |b ) ≤ k. Damit k¨onnen sie aber exakt im Format R(k, b) dargestellt werden. ¨ Die folgende Ubung kn¨ upft an eine andere Definition semiseparabler Matrizen an. ¨ Ubung 3.9.4. Sei I = {1, . . .  , n}. Man zeige:6a) Wenn es Matrizen M o , M u ∈ o Mij f¨ ur j > i , so ist M ∈ Sk . R(k, I, I) gibt, sodass Mij = u f¨ ur j < i Mij b) F¨ ur alle 1 ≤ ν ≤ n − 1 und die zugeh¨ origen Bl¨ocke b = {1, . . . , ν} × {ν + 1, . . . , n} gelte, dass die erste Spalte in M |b linear abh¨angig von den o f¨ ur j > i. u ¨brigen sei. Dann gibt es ein M o ∈ R(k, I, I), sodass Mij = Mij u f¨ ur Man formuliere eine entsprechende Bedingung, sodass auch Mij = Mij u j < i mit einem M ∈ R(k, I, I). Im Weiteren untersuchen wir eine Matrixfamilie Mk,τ mit schw¨acheren Eigenschaften. Insbesondere braucht I nicht angeordnet zu sein. Definition 3.9.5. Seien ihr Komplement und k Rang (A|τ ×τ  ) ≤ k und entbehrlich ist, wird auch

∅ = τ ⊂ I eine Indexteilmenge, τ  := I\τ ∈ N. Eine Matrix A geh¨ort zu Mk,τ (I), wenn Rang (A|τ  ×τ ) ≤ k. Falls die Angabe von I Mk,τ anstelle von Mk,τ (I) geschrieben.

Falls die Indizes so angeordnet werden, dass zuerst die Indizes aus τ kommen und dann die aus τ  folgen, erhalten wir die Blockaufteilung τ A11 A= A21

τ  = I\τ A12 A22

τ τ

Definition 3.9.5 besagt, dass Rang(A12 ) ≤ k und Rang(A21 ) ≤ k.

(3.12)

3.9 Weitere Eigenschaften der Modellmatrizen und Semiseparabilit¨ at ∗

53

Der Zusammenhang mit Sk wird gegeben durch die Anmerkung 3.9.6. Sei I = {1, . . . , n} angeordnet. M ∈ RI×I geh¨ort genau ur alle i < n die Eigenschaft M ∈ Mk,τ (I) f¨ ur τ = dann zu Sk , wenn f¨ {1, . . . , i} gilt. Im Folgenden sind die Matrixoperationen ∗,−1 , + in ihrer exakten Form, d.h. ohne jede K¨ urzung gemeint. Lemma 3.9.7. a) Seien A ∈ MkA ,τ (I) und B ∈ MkB ,τ (I). Dann gilt ur k = kA + kB . A ∗ B ∈ Mk,τ (I) f¨ b) Sei A ∈ Mk,τ (I) regul¨ar. Dann gilt A−1 ∈ Mk,τ (I) mit gleichem k. ur alle Diagonalmatrizen c) Sei A ∈ Mk,τ (I). Dann ist A + D ∈ Mk,τ (I) f¨ D ∈ RI×I . ort die Hauptuntermatrix d) Sei A ∈ Mk,τ (I) und ∅ = τ ⊂ I   I. Dann geh¨ ur das Schur-Komplement SI  = A|I  ×I  zu Mk,τ (I  ). Die gleiche Aussage gilt f¨ −1 A|I  ×I  − A|I  ×I  ∗ (A|I  ×I  ) ∗ A|I  ×I  (I  := I\I  ), falls dieses existiert. Beweis. a) Mit der (3.12) entsprechenden Notation f¨ ur A, B und C := AB ist C12 = A11 B12 + A12 B22 . Aus Rang (A11 B12 ) ≤ Rang (B12 ) ≤ kB und Rang (A12 B22 ) ≤ Rang (A12 ) ≤ kA schließt man auf Rang(C12 ) ≤ kA + kB . Analog f¨ ur Rang(C21 ). ar angenommen. Dann ist das Schur-Komplement b1) Sei A11 als regul¨ A ebenfalls regul¨ ar, und die Inverse von A aus (3.12) ist S = A22 − A21 A−1 11 12   −1 A11 + A−1 A12 S −1 A21 A−1 −A−1 A12 S −1 −1 11 11 11 (3.13) A = −S −1 A21 A−1 S −1 11 −1 ) ≤ Rang(A12 ) ≤ k (vgl. (3.10)). Da Rang(A−1 |τ ×τ  ) = Rang(−A−1 11 A12 S −1 wie auch Rang(A|τ  ×τ ) ≤ Rang(A12 ) ≤ k, folgt A ∈ Mk,τ (I). ar ist, wird ur hinreichend b2) Falls A11 singul¨  Aε := A + εI f¨  die Matrix  ≤ Rang(A | ) unabh¨ angig von kleines ε = 0 regul¨ ar. Da Rang A−1 τ ×τ 12 ε −1 −1 ∈ M (I). Der Limes lim A ist A , da ε gilt, folgt A−1 k,τ ε→0 ε ε   −1nach An¨ nahme A regul¨ ar ist. Der Rang erf¨ u llt nach Ubung 2.1.2 Rang A |τ ×τ  =    −1 (A12 ) ≤ k. ZuRang limε→0 A−1 ε |τ ×τ  ≤ limε→0 Rang Aε |τ ×τ  ≤ Rang  sammen mit der analogen Ungleichung Rang A−1 |τ  ×τ ≤ k ergibt sich die Behauptung A−1 ∈ Mk,τ (I). ¨ c) Anderung der Diagonale ¨ andert nicht die Teile ∗|τ ×τ  und ∗|τ  ×τ . d1) Restriktion der Matrix auf I  × I  ⊂ I × I kann den Rang nur verkleinern: A|I  ×I  ∈ Mk,τ (I  ). −1 d2) Sei A als regul¨ ar angenommen. Das inverse Schur-Komplement (SI ) ist die Haupt-I ×I  -Untermatrix von A−1 . Nach Teil b) folgt A−1 ∈ Mk,τ (I), −1 −1 ∈ Mk,τ (I  ). Erneute Anwendung von b) mit (SI ) und d1) zeigt (SI  )  anstelle von A liefert die Behauptung SI  ∈ Mk,τ (I ). F¨ ur singul¨ares A argumentiert man wie in b2).

54

3 Einf¨ uhrendes Beispiel

Eine Konsequenz von Lemma 3.9.7 ist die folgende Aussage. Lemma 3.9.8. Sei R(·) eine rationale Funktion R(x) = P I (x)/P II (x) mit Polynomen P I , P II der Grade dI , dII ∈ N0 . Die Eigenwerte von A ∈ Mk,τ (I) seien verschieden von den Polen von R. Dann geh¨ort die Matrix2 R(A) zu MkR ,τ (I) mit kR = k ∗ dR , wobei dR := max (dI , dII ) der Grad von R ist.  7dI  x − xIi und Beweis. Die Polynome P I , P II seien in P I (x) = aI i=1  7dII  P II (x) = aII i=1 x − xII faktorisiert3 . F¨ ur i ≤ min (dI , dII ) treten i I     II x−xi I auf. Ersetzung von x rationale Faktoren x−xII = 1 + xi − xi / x − xII i i   II −1 I durch A ∈ Mk,τ (I) liefert Ri (A) := I + xi − xi A − xII ∈ Mk,τ (I) i I gem¨ aß Lemma 3.9.7c. Also ist R(A) ein Produkt von min (dI , dII ) rationalen Faktoren Ri (A) und max (dI , dII ) − min (dI , dII ) Faktoren der Form A − xIi I  −1 f¨ ur dI < dII , die alle zu Mk,τ (I) geh¨oren. f¨ ur dI > dII und A − xII i I Nach Lemma 3.9.7a liegt das Produkt in MkR ,τ (I) mit kR = kdR . Korollar 3.9.9. Die bisherigen Aussagen u aß Anmerkung ¨bertragen sich gem¨ 3.9.6 entsprechend auf Sk -Matrizen. Zum Beispiel ist die Inverse, wenn sie existiert, wieder in Sk . Wir holen nun den Beweis zu Proposition 3.9.1 nach. a) Teil a) folgt aus Anmerkung 3.9.3a,d. b) Teil b) folgt aus Korollar 3.9.9. c) Nachdem Teil b) verwendet werden kann, bleibt nur zu zeigen, dass der Algorithmus Inv wohldefiniert ist und keine Approximationsfehler einf¨ uhrt. Wir verwenden Induktion u ¨ber p. Definitionsgem¨aß ist Inv auf H0 exakt. Die Aussage gelte f¨ ur p − 1. M ∈ RIp−1 ×Ip−1 sei gem¨aß (3.2a) zerlegt. Die Untermatrizen M11 , M22 sind wieder tridiagonal, wobei M11 nach Voraus−1 = Inv(M11 ) gilt. setzung regul¨ ar ist und nach Induktionsvoraussetzung M11 Bei der Berechnung von M21  Inv(M11 )  M12 sind alle Zwischenresultate vom Rang ≤ 1 und werden somit exakt ausgewertet. Lemma 3.9.7d zeigt, −1 ¨ M12 ebenso wie die nach Ubung 3.7.1 existierendass S = M22 − M21 M11 −1 im Hp−1 -Format darstellbar ist. Die exakte Inverse von M de Inverse S −1 M12 S −1 und ist durch (3.10) gegeben. F¨ ur die Nebendiagonalbl¨ocke −M11 −1 −1 −S M21 M11 gilt ebenfalls, dass nicht nur das Gesamtprodukt, sondern auch die Zwischenresultate exakt in Rp−1 dargestellt werden. Damit ist Inv auch auf der Stufe p exakt. Zusammenh¨ ange zwischen Mk,τ und der schwachen Zul¨assigkeit werden in §9.3.3 diskutiert werden.

2 3

Zu Matrixfunktionen sei auf die sp¨ ateren Definitionen in §13.1 verwiesen. Entgegen der bisherigen Beschr¨ ankung auf R k¨ onnen komplexe xIi , xII i auftreten.

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

In den vorhergehenden Kapiteln wurden Niedrigrangmatrizen und Modellformate mit Niedrigrangmatrizen als Matrixbl¨ocken diskutiert. Es bleibt die wesentliche Frage, ob und in welchen F¨ allen Niedrigrangmatrizen eine gute Approximation sein k¨ onnen. In vielen F¨ allen folgt diese Eigenschaft aus dem Vorhandensein einer separablen Entwicklung, die Gegenstand dieses Kapitels ist. Wie man aus (1.28) sieht, k¨ onnen Matrizen mit einer Funktion κ(x, y) assoziiert sein. Falls Untermatrizen durch Rang-k-Matrizen gut approximiert werden k¨ onnen, ist dies meist eine Folge der Eigenschaften von κ. Die beiden Eigenschaften, die sich entsprechen, sind: • •

Approximierbarkeit einer Untermatrix M |b (b geeigneter Block) durch eine Rang-k-Matrix. Approximierbarkeit der Funktion κ(x, y) beschr¨ankt auf einen geeigneten, dem obigen Block b entsprechenden Teilbereich durch eine sogenannte separable Entwicklung.

¨ Ubersicht u ¨ ber dieses Kapitel: In §4.1 werden die im Folgenden ben¨ otigten Grundbegriffe erl¨autert: Von zentraler Bedeutung ist die separable Entwicklung (§4.1.1), insbesondere wenn sie exponentielle Konvergenz (§4.1.2) aufweist. Damit u ¨bliche Kernfunktionen κ(x, y) diese Eigenschaft besitzen, ben¨ otigt man eine Zul¨ assigkeitsbedingung (§4.1.3) an den Definitionsbereich X × Y von κ(·, ·). In §4.2 werden separable Entwicklungen mittels Polynomen diskutiert. Neben der Taylor1-Entwicklung (§4.2.1) bietet sich insbesondere die Interpolation (§4.2.2) an. Eine geeignete Regularit¨atsbedingung an die Kernfunktion κ ist die asymptotische Glattheit, da sie exponentielle Konvergenz garantiert (§4.2.3). Anschließend werden die Fehlerabsch¨ atzungen f¨ ur die Taylor-Entwicklung (§4.2.5) und die Interpolation (§§4.2.6-4.2.8) diskutiert. 1

Brook Taylor, geboren am 18. August 1685 in Edmonton, Middlesex, England, gestorben am 29. Dezember 1731 in Somerset House, London.

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 4, c Springer-Verlag Berlin Heidelberg 2009 

56

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

Polynomapproximation ist nicht die einzige Wahl. In §4.3 werden weitere Techniken diskutiert (§§4.3.1-4.3.5). In §4.3.7 wird f¨ ur theoretische Zwecke die optimale separable Entwicklung eingef¨ uhrt, die im Diskreten der Singul¨ arwertzerlegung entspricht. In §4.4 zeigt sich die zentrale Bedeutung der separablen Entwicklung: Die Diskretisierung von Integralkernen mit Separationsrang k liefert Matrizen vom Rang ≤ k. Schließlich beschreibt §4.5, wie der Fehler der Matrixapproximation mit Hilfe des Fehlers der separablen Entwicklung abgesch¨atzt werden kann.

4.1 Grundbegriffe Im Folgenden geht es um die Entwicklung von Funktionen κ(x, y), die sp¨ater als Kernfunktionen der Integraloperatoren auftreten werden. Obwohl die beiden Variablen x, y des Integralkerns im Allgemeinen im gleichen Bereich Γ variieren, betrachten wir hier statt Γ × Γ einen reduzierten Definitionsbereich X × Y , wobei in §4.1.3 noch spezielle Anforderungen an X, Y gestellt werden. Welche konkrete Teilbereiche X, Y auftreten werden, wird aus §5.2 hervorgehen, wenn die Blockzerlegung einer Matrix bestimmt wird. Die dort definierten Mengen X := Xτ und Y := Xσ werden die Zul¨assigkeitsbedingung aus Definition 4.1.7 erf¨ ullen. Die Anforderungen an die separable Entwicklung sind (i) die Trennung der Variablen x, y in unterschiedliche Faktoren und (ii) ein hinreichend kleiner Restterm. Punkt (i) wird in §4.1.1 diskutiert, Punkt (ii) in §4.1.2. 4.1.1 Separable Entwicklungen Definition 4.1.1 (separabler Ausdruck, separable Entwicklung). a) Jede Funktion, die in der Form κ (k) (x, y) =

k 

(k) ϕ(k) ν (x)ψν (y)

f¨ ur x ∈ X, y ∈ Y

(4.1)

ν=1

geschrieben werden kann, heißt separabler Ausdruck in X × Y. Dabei d¨ urfen (k) (k) ϕν und ψν beliebige Funktionen sein (der obere Index (k) bezeichnet nicht die k-te Ableitung, sondern nur die m¨ ogliche Abh¨ angigkeit von k). Die Zahl k der Summanden in (4.1) wird Separationsrang von κ (k) genannt. b) Die rechte Seite in κ(x, y) =

k 

(k) ϕ(k) ν (x)ψν (y) + Rk (x, y)

f¨ ur x ∈ X, y ∈ Y

(4.2)

ν=1

heißt separable Entwicklung von κ (mit k Termen) in X × Y mit Restglied Rk .

4.1 Grundbegriffe

57 (k)

Man beachte, dass in (4.1) lediglich der Umstand wesentlich ist, dass ϕν (k) nur von x und ψν nur von y abh¨ angen. Im Falle der separablen Entwicklung (4.2) hofft man auf eine Konvergenz (k) (k) ur k → ∞. Falls die Funktionen ϕν , ψν Rk → 0 in einer geeigneten Norm f¨ (k) nicht vom Separationsrang k abh¨ angen, ist die Konvergenz κ → κ mit einer konvergenten, unendlichen Summendarstellung κ(x, y) =

∞ 

ϕν (x)ψν (y)

f¨ ur x ∈ X, y ∈ Y

(4.3)

ν=1

identisch. In der Theorie der Integralgleichungen werden Kerne der Form (4.1) bzw. der zugeh¨ orige Operator als ausgeartet bezeichnet (vgl. RieszNagy [119, IV.69]). Operatoren mit dem Kern (4.3) heißen nuklear, falls ∞ ν=1 ϕν  ψν  < ∞ (vgl. Werner [134, §VI.5]). Proposition 4.1.2. a) Die separablen Ausdr¨ ucke bilden einen Ring, d.h. Summen und Produkte von separablen Ausdr¨ ucken sind wieder separabel. b) Polynome in x und y sind separabel. c) Eine Substitution x = α(x ) von x und eine Substitution y = β(y  ) von y erhalten die Separabilit¨ at bei gleichem Separationsrang. d) Soweit die auftretenden Funktionen differenzierbar sind, sind auch die Ableitungen eines separablen Ausdrucks wieder separabel. Gleiches gilt f¨ ur Stammfunktionen bez¨ uglich x oder y. Beweis. a) Die Aussage f¨ ur die Summe ist trivial, wobei der Separationsrang k (k ) (k ) die Summe der einzelnen R¨ ange ist. Beim Produkt von ν=1 ϕI,ν (x)ψI,ν (y) k (k ) (k ) alt man h¨ ochstens den Separationsrang k  k  und μ=1 ϕII,μ (x)ψII,μ (y) erh¨        (k ) (k ) (k ) (k ) und Terme der Form ϕI,ν (x)ϕII,μ (x) · ψI,ν (y)ψII,μ (y) . b) Jedes Polynom P (x, y) l¨ asst sich in der Form P (x, y) =

p 

pν (x)y ν

oder auch P (x, y) =

ν=0

q 

xμ qμ (y)

(4.4)

μ=0

schreiben. Dabei ist p (bzw. q) der Polynomgrad in x (bzw. y), und pν und (k) qμ sind Polynome in einer Variablen. Im ersten Fall gilt (4.1) mit ϕν (x) := (k) pν−1 (x) und ψν (y) := y ν−1 und k := p + 1 (man beachte, dass die Summe in (4.1) bei ν = 1 beginnt). c) Die Aussagen c) und d) sind offenbar. 4.1.2 Exponentielle Konvergenz Im Folgenden wird fast durchweg vorausgesetzt, dass die Restglieder Rk besonders schnell, n¨ amlich exponentiell konvergieren. Die zugrundeliegende Norm kann beispielsweise die Maximumnorm

58

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

Rk ∞,X×Y := sup{|Rk (x, y)| : x ∈ X, y ∈ Y } oder die L2 -Norm

8 

Rk L2 (X×Y ) := sein. Die Norm

2

|Rk (x, y)| dxdy Y

X



Rk L2 (X)←L2 (Y ) :=

sup 0 =f ∈L2 (Y )

/ f L2 (Y )

Rk (·, y)f (y)dy Y

L2 (X)

wird meist mittels Rk L2 (X×Y ) abgesch¨ atzt. Definition 4.1.3. Die separable Entwicklung (4.2) heißt exponentiell konvergent (bez¨ uglich der Norm ·), falls es Konstanten c1 ≥ 0 und c2 , α > 0 gibt, sodass (4.5) Rk  ≤ c1 exp (−c2 k α ) . Im Vorgriff auf sp¨ atere Anwendungen sei angemerkt, dass der wichtige Exponent α oft den Wert α = 1/d (4.6) annehmen wird, wobei d die r¨ aumliche Dimension von Rd oder die Dimension der Integrationsmannigfaltigkeit bezeichnet. Die Konstante c1 kann in der Notation Rk  ≤ O(exp (−c2 k α )) versteckt werden. In der Definition der exponentiellen Konvergenz wird die Konstante c2 nicht fixiert. Dies hat den Vorteil, dass z.B. zwischen O(exp (−c2 k α )) und ur Polynome P nicht unterschieden werden muss, wie O(P (k) exp (−c2 k α )) f¨ das n¨ achste Lemma zeigt. ur jedes Polynom P (·) (oder jede Lemma 4.1.4. Seien c2 > 0, α > 0. a) F¨ h¨ ochstens polynomiell wachsende Funktion P ) und jedes c ∈ (0, c2 ) ist P (k) exp(−c2 k α ) ≤ O(exp(−c k α )). b) Es gilt ∞ 

exp(−c2 ν α ) = O(exp(−c k α ))

f¨ ur jedes c ∈ (0, c2 ),

ν=k+1

wobei f¨ ur α ≥ 1 auch c = c2 m¨ oglich ist. ur alle k ∈ N, so gilt auch c) Falls σk ≤ O(exp(−c2 k α )) f¨ ! "  " ∞ # σν2 ≤ O(exp(−c k α )) f¨ ur jedes c ∈ (0, c2 ), ν=k+1

wobei f¨ ur α ≥ 1 die Wahl c = c2 m¨ oglich ist.

4.1 Grundbegriffe

59

Beweis. 1) Da jedes Polynom durch Exponentialfunktionen majorisiert ur alle η ∈ (0, c2 ) . Teil a) folgt mit wird, gilt |P (k)| ≤ O(exp(ηk α )) f¨ η := c2 − c > 0 . 2) Es gilt die Absch¨ atzung ∞ 

exp(−c2 ν α ) ≤

ν=k+1

∞

exp(−c2 xα )dx

k

≤ =

ξ=xα

1 ∞ α−1 αx exp(−c2 xα )dx αk α−1 k ∞ −c ξ 1 1 e 2 dξ = exp(−c2 k α ). αk α−1 kα αc2 k α−1

∞ Falls α ≥ 1, ist hiermit ν=k+1 exp(−c2 ν α ) = O(exp(−c2 k α )) gezeigt. Wenn ochstens polynomiell und Teil a) α ∈ (0, 1), w¨ achst der Vorfaktor αc2 k1α−1 h¨ ist anwendbar. 3) Teil c) ist direkte Folgerung aus Teil b). In (4.5) wird Rk in Abh¨ angigkeit von k abgesch¨atzt. Wenn die Bedingung ullt werden soll, ist ε = c1 exp (−c2 k α ) nach k aufzul¨osen. Rk  ≤ ε erf¨ Anmerkung 4.1.5. Es liege die exponentielle Konvergenz (4.5) vor. Die : 9 c1 1/α 1 Absch¨ atzung Rk  ≤ ε erfordert k = ( c2 log ε ) , d.h. 1 k = O(log1/α ) ε

(ε → 0).

(4.7)

F¨ ur (4.6) gilt insbesondere k = O(logd 1ε ). ¨ Ubung 4.1.6. Die Funktionen κ I (x, y) und κ II (x, y) m¨ogen exponentiell konvergente separable Entwicklungen (4.2) besitzen. Man zeige: a) Die Summe κ I + κ II ist wieder exponentiell konvergent, wobei sich die andern kann. Konstante c2 in (4.5) ¨ b) Das Produkt κ I κ II ist ebenfalls exponentiell konvergent, wobei sich andern k¨ onnen. die Konstanten c2 , α in (4.5) ¨ 4.1.3 Zul¨ assigkeitsbedingungen an X, Y Wie oben erw¨ ahnt, sei X × Y eine Untermenge des gesamdist(X,Y) X ten Definitionsbereiches von Y κ(·, ·). Eine f¨ ur die sp¨ ateren Anwendungen typische Eindiam(X) schr¨ ankung besagt, dass X diam(Y) und Y disjunkt sein m¨ ogen Abb. 4.1. Definitionsbereiche X und Y und ihr Abstand in einem Verh¨ altnis zum Bereichsdurchmesser steht.

60

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

F¨ ur Entwicklungen in der Variablen x erh¨alt man die erste Bedingung: F¨ ur ein η > 0 gelte diam(X) ≤ η dist(X, Y ). (4.8a) Bei Entwicklungen in der Variablen y fordert man entsprechend diam(Y ) ≤ η dist(X, Y ).

(4.8b)

Kann man zwischen der x- und y-Entwicklung w¨ahlen, reicht die Annahme min{diam(X), diam(Y )} ≤ η dist(X, Y ).

(4.8c)

In einigen F¨ allen braucht man beide Bedingungen (4.8a,b), d.h. max{diam(X), diam(Y )} ≤ η dist(X, Y ).

(4.8d)

Definition 4.1.7 (η-Zul¨ assigkeit). Sei η > 0. Die Bereiche X, Y heißen η-zul¨ assig, wenn die passende der Bedingungen (4.8a-d) erf¨ ullt ist. Je kleiner der Parameter η ist, umso g¨ unstiger ist die Zul¨assigkeitseigenschaft. In einigen Anwendungsbeispielen wird man η ≤ η0 fordern, bei anderen ben¨ otigt man keine obere Schranke. Sobald η fixiert ist oder aber nicht spezifiziert werden soll, wird k¨ urzer von der Zul¨assigkeit (statt η-Zul¨assigkeit) gesprochen. In §4.2.3, in den S¨ atzen 4.2.8, 4.2.10 und §§4.2.7-4.2.8 wird von den Zul¨ assigkeitsbedingungen Gebrauch gemacht werden.

4.2 Separable Polynom-Entwicklungen 4.2.1 Taylor-Entwicklung Sei κ(·, ·) : X × Y → R eine Funktion aus C m (X × Y ), wobei X ⊂ Rd . Wir w¨ ahlen einen Entwicklungspunkt2 x0 ∈ X und wenden die Taylor-Entwicklung mit Restglied an: κ(x, y) =

 α∈Nd 0,

|α|≤m

(x − x0 )

α

1 α ∂ κ(x0 , y) + Rk , α! x

(4.9)

 wobei k = k(m, d) die Anzahl der Summanden in α∈Nd , |α|≤m angebe (siehe 0 (4.11); zur Multiindex-Notation vergleiche man Anhang B.1.2). Die Approximation von κ(x, y) durch 2

x0 braucht nicht zu X geh¨ oren, wenn der Definitionsbereich gr¨ oßer gew¨ ahlt werden kann. Zum Beispiel sind die Fundamentall¨ osungen, die als Kernfunktionen nur u ache Γ zu integrieren sind, im gesamten Rd bis auf die Singu¨ber die Oberfl¨ larit¨ atenstellen definiert.

4.2 Separable Polynom-Entwicklungen

κ (k) (x, y) :=



(x − x0 )

α∈Nd 0 , |α|≤m

α

1 α ∂ κ(x0 , y) α! x

mit k = k(m, d)

61

(4.10)

ergibt einen Fehler, der durch den Restterm Rk beschrieben wird. Aussagen oglich, wenn man n¨ ahere Annahmen u u ¨ber κ macht. ¨ber Rk sind nur m¨ Anmerkung 4.2.1. Die  Taylor-Approximation aus (4.10) istα ein separabler Ausdruck der Form α ϕα (x)ψα (y), wobei ϕα (x) := (x − x0 ) Monome sind, 1 α ∂x κ(x0 , y) allgemeine Funktionen in y darstellen. Die w¨ ahrend ψα (y) := α! Anzahl der Summanden (Separationsrang) betr¨agt k = k(m, d) := #{α ∈ Nd0 : |α| ≤ m}   1 = (m + 1) (m + 2) · . . . · (m + d) = m+d . d d!

(4.11)

Beweis. Zum Beweis von (4.11) stellt man die Rekursion k(m, d) =  m μ=0 k(μ, m − 1) auf. Zusammen mit k(m, 1) = m + 1 leitet man die Behauptung ab. In der n¨ achsten Anmerkung diskutieren wir Modifikationen der TaylorEntwicklung.

0 a x0 b

c

d1

Abb. 4.2. Intervalle X und Y

Anmerkung 4.2.2. a) In (4.9) wird bez¨ uglich x entwickelt. Genauso gut kann man eine Entwicklung bez¨ uglich y um y0 ∈ Y vornehmen. Vorausgesetzt, dass die x- und y-Ableitungen (die schließlich im Restterm auftreten) von ¨ahnlicher Gr¨ oße sind, entscheiden die Gr¨ oßen rx := sup{|x − x0 | : x ∈ X} und ry := sup{|y − y0 | : x ∈ Y } u ¨ber die Auswahl: Bei rx < ry ist die x-Entwicklung vorteilhafter, sonst die ˇ sev3 Entwicklung in y. Zudem empfiehlt sich die Wahl von x0 , y0 in den Cebyˇ 4 ur die die Ausdr¨ ucke rx und ry als Funktion von x0 bzw. Zentren von X, Y, f¨ ˇ sev-Radien. y0 minimal werden. Die resultierenden rx , ry heißen Cebyˇ b) Eine Taylor-Entwicklung in beiden Variablen liefert ein Polynom von der Form (4.4) (ν bzw. μ sind dabei durch Multiindizes zu ersetzen, wenn d > 1). Diese Entwicklung bringt im Allgemeinen nur dann einen Vorteil, wenn man die explizite Polynomform (ϕα und ψα sind Polynome) ausnutzen kann. Zun¨ achst sei ein typisches Beispiel vorgef¨ uhrt (vgl. Abbildung 4.2). 3

4

ˇ Pafnuti Lvoviˇc Cebyˇ sev, geb. am 14. Mai 1821 in Okatovo (westliches Russland), gestorben am 8. Dez. 1894 in St. Petersburg. Sei B ⊂ Rn eine Teilmenge und K die eindeutig definierte abgeschlossene Kugel, die B enth¨ alt und minimalen Radius besitzt. Der Mittelpunkt von K heißt ˇ ˇ Cebyˇ sev-Zentrum und der Radius der Cebyˇ sev-Radius.

62

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

Beispiel 4.2.3. Die Kernfunktion log |x − y| (x, y ∈ [0, 1]) ist analytisch, wenn man f¨ ur x und y disjunkte Bereiche w¨ ahlt: X = [a, b], Y = [c, d] mit 0 ≤ a < b < c < d ≤ 1. Gem¨ aß Anmerkung 4.2.2a ist die Entwicklung in x angebracht, falls ˇ b − a ≤ d − c . Das Cebyˇ sev-Zentrum von X ist x0 = a+b 2 . Die Ableitungen ∂ −1 ( − 1)! log |x − y| = (−1)   ∂x (x − y)

( ∈ N)

(4.12)

liefern die Taylor-Approximation κ (k) (x, y) := log |x0 − y| +

k−1 

(x − x0 )

=1



−1 

 (y − x0 )

,

x0 =

a+b . 2

Die Absch¨ atzung des zugeh¨ origen Restterms findet sich in Anmerkung 4.2.4. 4.2.2 Interpolation Die Taylor-Entwicklung ist eine spezielle Hermite5 -Interpolation, aber keinesfalls besser als eine Interpolation beruhend auf Interpolationspunkten origen Interpolationswerten κ(xi , y). {xi : i = 1, . . . , k} und den zugeh¨ Im Falle des vorherigen Beispiels 4.2.3 sollten die xi im Intervall [a, b] ˇ liegen, z.B. sind die Cebyˇ sev-Knoten6 eine gute Wahl 7 (vgl. §B.3.1.4). x−xj 7 Die zugeh¨ origen Lagrange -Polynome sind Li (x) = j∈{1,...,k}\{i} xi −xj (vgl. (B.12)). Sie erlauben die Darstellung des Interpolationspolynoms durch κ (k) (x, y) :=

k 

Lν (x) κ(xν , y).

(4.13)

ν=1 (k)

Offenbar ist wieder die separable Form (4.1) erreicht, wobei ϕν (x) = Lν (x) (k) ein Polynom ist, w¨ ahrend ψν (y) = κ(xν , y) von allgemeinerer Art ist. Die Interpolation (4.13) hat entscheidende Implementierungsvorteile gegen¨ uber der Taylor-Entwicklung, da lediglich die Auswertung der Funktion κ(x, y) erforderlich ist, Ableitungen m¨ ussen nicht bereitgestellt werden. Falls das Argument x aus κ(x, y) in einem Bereich des Rd mit d > 1 variiert, empfiehlt sich eine Tensorprodukt-Interpolation (vgl. §B.3.2). Dabei 5

6

7

Charles Hermite, geboren am 24. Dezember 1822 in Dieuze, Lorraine, gestorben am 14. Januar 1901 in Paris. ˇ ξi = cos( i+1/2 π) ∈ [−1, 1], i = 1, . . . , k, sind die Nullstellen des k-ten Cebyˇ sevk unschten Polynoms Tk . Die affine Abbildung von [−1, 1] auf [a, b] ergibt die gew¨ ˇ + b−a ξi . Cebyˇ sev-Knoten: xi = a+b 2 2 Joseph-Louis Lagrange, geboren am 25. Januar 1736 in Turin, gestorben am 10. April 1813 in Paris.

4.2 Separable Polynom-Entwicklungen

63

f¨ uhrt man hintereinander d jeweils eindimensionale Interpolationen bez¨ uglich utzstellen xi,j (j = 1, . . . , m) aus. xi (i-te Komponente von x ∈ Rd ) in den St¨ Die Zahl der Terme in κ (k) (x, y) := m m m    L1,ν1 (x1 ) L2,ν2 (x2 ) . . . Ld,νd (xd ) κ((x1,ν1 , . . . , xd,νd ), y)    ν1 =1 ν2 =1 νd =1 xν1 ,...,νd ist k = md . Gelegentlich ist die Kernfunktion κ eine (ein- oder mehrfache) Ablei  tung einer einfachen Funktion g, z.B. ist κ(x, y) := grady g(x, y), n(y) die Normalenableitung bez¨ uglich x (vgl. (10.6)). Die Ableitungen bestehen in der Regel aus mehr Termen und ihre Auswertung ist daher teuerer. Hier bietet es sich an, die einfachere Funktion zu interpolieren und die Ableitungen auf das Interpolationspolynom anzuwenden. Die zugeh¨orige Fehlerabsch¨atzung wird hier nicht behandelt, findet sich aber zum Beispiel in [26]. In Hayami-Sauter [92] wird f¨ ur die Randelementformulierung der Elastostatik die matrixwertige Fundamentall¨ osung im Wesentlichen auf zweite Ableitungen der Funktion |x − y| zur¨ uckgef¨ uhrt. 4.2.3 Exponentielle Fehlerabsch¨ atzung Das Ziel ist eine Absch¨ atzung des Taylor- bzw. Interpolationsfehlers Rk durch ur sind eine exponentielle Schranke der Form c1 exp (−c2 k α ) aus (4.5). Hierf¨ zwei Voraussetzungen zu stellen: • κ(·, ·) muss (mindestens in einer Variablen) asymptotisch glatt sein (vgl. §4.2.4). Dies sichert Schranken f¨ ur die in Rk auftretenden Ableitungen von κ. • Die Bereiche X, Y m¨ ussen η-zul¨ assig sein. Zusammen erreicht man dann typischerweise eine Fehlerabsch¨atzung der Art κ − κ (k) ∞,X×Y = Rk ∞,X×Y ≤ c1 (c2 η)

m

mit k = k(m − 1, d) (4.14)

(vgl. S¨ atze 4.2.10 und 4.2.13). Da (c2 η) = exp(m log(c2 η)) und m ≈ k 1/d , folgt (4.5) mit c2 := − log(c2 η) und α wie in (4.6). Damit c2 > 0 (d.h. c2 η < 1) ist, muss η < 1/c2 vorausgesetzt werden. Dass exponentielle Konvergenz auch f¨ ur alle η > 0 gesichert werden kann, zeigt das Beispiel 4.2.3, dessen Taylor-Rest in der n¨achsten Anmerkung analysiert wird. m

Anmerkung 4.2.4. κ(x, y) = log |x − y| und die Bereiche X = [a, b], Y = [c, d] sowie das Taylor-Entwicklungszentrum x0 = a+b 2 seien wie in Beispiel 4.2.3. Die Absch¨ atzung

64

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

 k |x−x0 | 1 |y−x0 | |Rk (x, y)| ≤ k 1 − |x−x0 | |y−x0 |

f¨ ur alle x ∈ X und y ∈ Y

(4.15a)

zeigt wegen |x − x0 | < |y − x0 | exponentielle Konvergenz. Da c > b vorausgesetzt ist, sind die Bereiche X und Y η-zul¨ assig mit η := diam(X)/ dist(X, Y ) = (b − a) / (c − b) (vgl. (4.8a)). Die Ungleichung |Rk (x, y)| ≤

2+η 2k



η 2+η

k f¨ ur alle x ∈ X, y ∈ Y

(4.15b)

zeigt, dass f¨ ur alle η > 0 exponentielle Konvergenz vorliegt. ∞  (−1)−1 Beweis. Aus Rk (x, y) = =k (x − x0 ) (x0 −y) (vgl. (4.12)) folgt |Rk | ≤ ∞  |x−x0 |  1 . Diese geometrische Reihe liefert die Absch¨atzung (4.15a). =k |x0 −y| k ¨ Uber |x − x0 | ≤ (b − a) /2 und |y − x0 | = y −x0 ≥ c−x0 = (b − a) /2+(c − b) folgen (b − a) /2 1 1 η |x − x0 | ≤ = = = |y − x0 | (b − a) /2 + (c − b) 1 + 2 (c − b) / (b − a) 1 + 2/η 2+η und (4.15b). 4.2.4 Asymptotisch glatte Kerne Die schon erw¨ ahnte Kernfunktion log |x − y| erf¨ ullt ebenso wie viele andere Fundamentall¨ osungen8 elliptischer Gleichungen die Eigenschaft, asymptotisch glatt zu sein (man spricht auch von Calder´ on-Zygmund-Kernen). Definition 4.2.5. Seien X, Y ⊂ Rd Teilmengen, sodass die Kernfunktion κ(x, y) f¨ ur x ∈ X, y ∈ Y , x = y, definiert und beliebig oft differenzierbar ist. κ heißt asymptotisch glatt in X × Y, falls |∂xα ∂yβ κ(x, y)| ≤ cas (α + β)|x − y|−|α|−|β|−s f¨ ur x ∈ X, y ∈ Y, x = y, α, β ∈

Nd0 ,

(4.16a) α + β = 0,

mit einem s ∈ R und cas (ν) = C ν! |ν| γ |ν| r

(ν ∈ Nd0 )

(4.16b)

gilt, wobei C, r, γ geeignete Konstanten sind. 8

Zu Fundamentall¨ osungen (Singularit¨ atenfunktionen) vergleiche man [67, §2.1].

4.2 Separable Polynom-Entwicklungen

65

r

Anmerkung 4.2.6. a) Der Faktor |ν| in (4.16b) erlaubt eine feinere Justierung des Wachstumsverhaltens. Man kann auf diesen Faktor verzichten, da er durch eine Vergr¨ oßerung von C und γ aufgefangen werden kann (vgl. Lemma 4.1.4a). b) Der Exponent s in (4.16a) beschreibt im Allgemeinen die Singularit¨at in x = y, wie man formal f¨ ur α = β = 0 sieht (vgl. aber Teil d)). c) Wenn X, Y unbeschr¨ ankt sind (z.B. X = Y = Rd ), beschreibt (4.16a) f¨ ur |x − y| → ∞ und |α| + |β| > −s , dass die entsprechenden Ableitungen gegen null streben. d) Der Fall α+β = 0 ist ausgenommen, weil f¨ ur r > 0 der Faktor cas (0) verschw¨ ande. Außerdem gibt es κ mit logarithmischer Singularit¨at. Diese erf¨ ullen (4.16a) nur f¨ ur α + β = 0. F¨ ur die spezielle Wahl β = 0 bzw. α = 0 erhalten wir die Ungleichungen   x ∈ X, y ∈ Y, x = y , (4.16c) |∂xα κ(x, y)| ≤ cas (α)|x − y|−|α|−s 0 = α ∈ Nd0   x ∈ X, y ∈ Y, x = y . (4.16d) |∂yβ κ(x, y)| ≤ cas (β)|x − y|−|β|−s 0 = β ∈ Nd0 d ∂ Meist ist es bequemer, mit Richtungsableitungen Dt,x = i=1 ti ∂xi  d t ∈ R , |t| = 1 zu arbeiten. Die entsprechenden Formulierungen lauten dann   x ∈ X, y ∈ Y, x = y p r p −p−s , (4.16e) |Dt,x κ(x, y)| ≤ C p! p γ |x − y| p ∈ N, |t| = 1   x ∈ X, y ∈ Y, x = y p (4.16f) κ(x, y)| ≤ C p! pr γ p |x − y|−p−s |Dt,y p ∈ N, |t| = 1



f¨ ur alle Richtungen t. Beispiel 4.2.7. F¨ ur jedes a ∈ R ist die Funktion κ(x, y) = |x − y|−a asymptotisch glatt in X = Y = Rd mit s = a. Die genauen Absch¨atzungen finden sich im Anhang E und werden dort bewiesen. Auch log |x − y| ist in X = Y = Rd asymptotisch glatt mit s = 0. Der Beweis zu log |x − y| f¨ ur d = 1 ergibt sich direkt durch Inspektion der Ableitungen (4.12). 4.2.5 Taylor-Fehlerabsch¨ atzung Es liege der mehrdimensionale Fall d > 1 mit k = k(m − 1, d) vor. Aufgrund der asymptotischen Glattheit kann der Taylor-Rest in der Form Rk =  (x−x0 )ν ν ∂x κ(x0 , y) geschrieben werden. Sei ξ ∈ Rd der Vektor mit den |ν|≥m ν! ν Komponenten ξi = |xi − x0,i |, sodass ξ ν = |(x − x0 ) | (|·|: Absolutbetrag). Wir verwenden (4.16c) mit C, r, γ aus (4.16b) und sch¨atzen wie folgt ab:

66

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

|Rk | ≤ C |x − y|−s



|ν|   ∞   γ γ = C|x − y|−s ξν . |x0 − y| |x0 − y|

 ξν

|ν|≥m

=m

|ν|=

  F¨ ur ϕd, (ξ) := |ν|= ξ ν ist in Lemma E.3.1 die Schranke O(|ξ| ) bewiesen. Mit |ξ| = |x − x0 | folgt  ∞   γ |x − x0 | ϑm (4.17) = C |Rk | ≤ C  |x0 − y| 1−ϑ =m

γ |x − x0 | γrx mit ϑ := ≤ , |x0 − y| |x0 − y|

rx = max |x − x0 | , x∈X

vorausgesetzt dass ϑ < 1 die Konvergenz sichert. Dies beweist den Satz 4.2.8. κ(x, y) sei asymptotisch glatt 9 in X × Y ⊂ Rd × Rd . Sei rx = ulle dist(x0 , Y ) > γ rx , wobei γ die Konstante in maxx∈X |x − x0 | . a) Y erf¨ (4.16b) ist. Dann gilt f¨ ur alle y ∈ Y die Absch¨ atzung (4.17). b) Wenn X, Y η-zul¨ assig im Sinne von (4.8a) sind, gilt rx < diam X und dist(x0 , Y ) ≥ dist(X, Y ), sodass ϑ < ηγ. Damit garantiert η ≤ 1/γ exponentielle Konvergenz. Anders als im eindimensionalen Fall (d = 1) oßer als braucht dist(x0 , Y ) nicht wesentlich gr¨ dist(X, Y ) zu sein, auch wenn diam(X) nicht klein Y ist. Das Gegenbeispiel ist in Abbildung 4.3 veran- x0 X schaulicht. Die im Weiteren diskutierten Interpolationsfehler k¨ onnen als Taylor-Fehler angesehen werden, wenn Abb. 4.3. Beispiel f¨ur man die Interpolationsst¨ utzstellen xi gegen das dist(x0 , Y ) ≈ dist(X, Y ) asst (vgl. Taylor-Entwicklungszentrum x0 streben l¨ Lemma 4.2.9, Korollar 4.2.11 und Satz 4.2.13b). 4.2.6 Interpolationsfehler f¨ ur d = 1 Sowohl die Taylor-Entwicklung als auch die Interpolation (4.13) mit den uhren auf den Fehler10 St¨ utzstellen xi f¨ κ(x, y) − κ (k) (x, y) = 9 10

k * ; ω(x) k * ∂x κ(x, y)* mit ω(x) := (x − xi ) , k! x=ξ i=1

(4.18)

Es wird lediglich die Ungleichung (4.16c) ben¨ otigt. 7 ˇ Im Falle der Cebyˇ sev-Knoten xi ∈ [a, b] *ist ki=1 (x − *xi ) = ( b−a )k Tk (ξ) f¨ ur 4 7 * * k a+b b−a b−a k ur alle x ∈ ξ = (x − 2 )/ 2 ∈ [−1, 1]. Damit folgt * i=1 (x − xi )* ≤ ( 4 ) f¨ *7 * * k * [a, b]. Im Fall der Taylor-Entwicklung gilt dagegen * i=1 (x − xi )* = |x − x0 |k ≤ *7 * * * ( b−a )k . F¨ ur beliebige Wahl der xi ∈ [a, b] trifft * ki=1 (x − xi )* ≤ (b − a)k zu. 2

4.2 Separable Polynom-Entwicklungen

67

wobei ξ ein Zwischenwert im Intervall [min{x, x1 , . . . , xn }, max{x, x1 , . . . , xn }] ur alle i zu setzen; vgl. (B.14)). ist (im Taylor-Fall ist xi := x0 f¨ F¨ ur viele Zwecke sind ableitungsfreie Fehlerabsch¨atzungen hilfreicher. Hierbei ist vorausgesetzt, dass κ(·, y) bez¨ uglich des ersten Argumentes in einer komplexen Umgebung analytisch ist (vgl. Satz B.3.3). Lemma 4.2.9. κ(x, y) sei asymptotisch glatt 11 in X × Y ⊂ R × R, wobei X ein Intervall sei. Die Interpolation bez¨ uglich x verwende St¨ utzstellen in X und produziere κ (k) (x, y) (Grad der Polynominterpolation ist k − 1). Es gelte k > 0 und k + s ≥ 0 (s aus (4.16e)). Dann gilt die Absch¨ atzung  κ(·, y) − κ (k) (·, y)

∞,X

≤ c1

c2 · diam(X) dist(y, X)

k f¨ ur alle y ∈ Y \X (4.19)

mit Konstanten c1 , c2 unabh¨ angig von k. Die gleiche Absch¨ atzung gilt f¨ ur die Taylor-Approximation (4.10) mit x0 ∈ X. Beweis. Gem¨ aß (4.18) ist * * *1 * cas (k) ω∞ |ξ − y|−k−s . |κ(x, y) − κ (k) (x, y)| ≤ ** ω(x)∂xk κ(ξ, y)** ≤ k! k! Da der Zwischenwert ξ in X liegt, folgt |ξ − y|−k−s ≤ dist(y, X)−k−s . Die 7k Funktion ω(x) = i=1 (x − xi ) kann im schlechtesten Falle durch diam(X)k abgesch¨ atzt werden. Der g¨ unstigste Fall ω∞ = ( diam(X) )k ergibt sich f¨ ur 4  k ˇ die Cebyˇsev-Knoten xi (vgl. (B.20*)). Es gilt also ω∞ ≤ (c2 ) diam(X)k ( ) f¨ ur ein c2 ∈ 14 , 1 . Schließlich ist cask!(k) = C k r γ k mit C, r, γ aus (4.16b). Zur Vereinfachung folgen wir der Anmerkung 4.2.6a und nehmen o.B.d.A. r = 0 an, d.h. cask!(k) = C γ k . Insgesamt erhalten wir |κ(x, y) − κ (k) (x, y)| ≤ C γ k (c2 ) diam(X)k dist(y, X)−k−s . k

Wir setzen c1 := C dist(y, X)−s , c2 := γc2 und gelangen zu (4.19). Da im η-zul¨ assigen Fall diam(X) ≤ η dist(X, Y ) ≤ η dist(y, X)

f¨ ur alle y ∈ Y

gilt, folgt der n¨ achste Satz, der die Ungleichung (4.14) best¨atigt. Satz 4.2.10. Zus¨atzlich zu den Voraussetzungen in Lemma 4.2.9 seien X, Y η-zul¨ assig im Sinne von (4.8a). Dann gilt mit den Konstanten c1 , c2 aus (4.19) die Absch¨ atzung k (4.20) κ − κ (k) ∞,X×Y ≤ c1 (c2 η) . 11

Es wird lediglich die Ungleichung (4.16e) ben¨ otigt.

68

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

Korollar 4.2.11. a) Die Konstante c2 aus (4.19) und (4.20) ist γ/4 mit γ ˇ sev-Interpolation (vgl. §B.3.1.4). F¨ aus (4.16e) im Falle der Cebyˇ ur die Taylorˇ sev-Zentrum von X gilt c = γ/2. Entwicklung im Cebyˇ 2 b) F¨ ur κ(x, y) = |x − y|−a und κ(x, y) = log |x − y| (k > 0) ist γ = 1 (vgl. Satz E.1.1) und damit c2 = 1/4 bzw. c2 = 1/2 in beiden F¨allen aus a). c) Im Falle der Interpolation bez¨ uglich y ∈ Y gilt entsprechend  κ(x, ·) − κ

(k)

(x, ·)

∞,Y

≤ c1

c2 · diam(Y ) dist(x, Y )

k f¨ ur alle x ∈ X\Y. (4.21)

Die Zul¨ assigkeitsbedingung (4.8b) liefert (4.20). d) Interpolation bez¨ uglich x ∈ X und y ∈ Y f¨ uhrt auf  κ − κ (k)

∞,X×Y

≤ c1

c2 · max{diam(X), diam(Y )} dist(X, Y )

k .

(4.22)

Mit der Zul¨ assigkeitsbedingung (4.8d) folgt wieder (4.20). 4.2.7 Versch¨ arfte Fehlerabsch¨ atzung F¨ ur die eindimensionale Interpolation l¨ asst sich wie f¨ ur die TaylorEntwicklung in Anmerkung 4.2.4 ein versch¨arftes Resultat zeigen, das exponentielle Konvergenz f¨ ur alle Parameterwerte η garantiert. Zwar steigen die k-unabh¨ angigen Faktoren in der nachfolgenden Absch¨atzung (4.23) f¨ ur −k ] dist(y, X)  0 polynomiell gegen ∞. Aber der Faktor [1 + 2γdist(y,X) diam(X) konvergiert f¨ ur dist(y, X)  0 exponentiell gegen null. Satz 4.2.12. κ(x, y) sei asymptotisch glatt 12 in X × Y ⊂ R × R, wobei X ein kompaktes Intervall sei und X ∩ Y = ∅. Die Interpolation in x vom Polynomgrad k − 1 habe auf X die Stabilit¨atskonstante Cstab (vgl. (B.17)) und produatzung ziere die Interpolierende κ (k) (· , y). Dann gilt die Absch¨ κ(·, y) − κ (k) (·, y)

(4.23)

∞,X

 −k   k r+1 2 dist(y, X) γ diam(X) 1+ ≤K 1+ dist(y, X) dist(y, X)s γ diam(X)

(y ∈ Y )

mit K := 4e (1 + Cstab ) C und C, r, γ aus (4.16e). Sind X, Y η-zul¨assig im Sinne von (4.8a), so folgt κ − κ (k)

12

∞,X×Y

≤ K (1 + γη)

k r+1 dist(X, Y )s

Es wird lediglich die Ungleichung (4.16e) ben¨ otigt.



γη 2 + γη

k .

4.2 Separable Polynom-Entwicklungen

69

Beweis. y ∈ Y sei fest. Der Interpolationsfehler κ(·, y) − κ (k) (·, y)∞,X ist gem¨ aß Lemma B.3.2 absch¨ atzbar durch (1 + Cstab ) multipliziert mit dem Bestapproximationsfehler. F¨ ur Letzteren wird in Lemma B.2.3 die Schranke ur u = κ(·, y) aus (B.11a) ergeben (B.11b) bereitgestellt. Die Gr¨ oßen Cu , γu f¨ sich aus (4.16e) als Cu := C k r dist(y, X)−s und γu := γ / dist(y, X). Einsetzen dieser Gr¨ oßen in (B.11b) zeigt die Behauptung. Die letzte Ungleichung des Satzes liefert u ¨ber Lemma 4.1.4a wieder (4.14). 4.2.8 Interpolationsfehler f¨ ur d > 1 Im mehrdimensionalen Fall d > 1 verwenden wir die Tensorprodukt-Interd 7 [ai , bi ]. Der Interpolationsfehler betr¨agt polation im Quader X = i=1 d * *  1 d−1 * * (k) C κ(x, y) − κ (x, y) ≤ (m) ωi ∞,[ai ,bi ] ∂xmi f * * m! stab i=1

mit

ωi (xi ) :=

m ;

∞,X

(4.24)

(xi − xi,j ) ,

j=1

wobei k = md (vgl. (B.22)). Zur Stabilit¨ atskonstante Cstab (m) vergleiche man (B.17) und (B.21). Man beachte, dass der Separationsrang k und der Polynomgrad m nicht mehr wie f¨ ur d = 1 identisch sind. Wegen k = md verschlechtert sich der Separationsrang f¨ ur eine fixierte Genauigkeit mit zunehmender Dimension d. Satz 4.2.13. a) κ(x, y) sei asymptotisch glatt 13 in X×Y ⊂ Rd ×Rd . Dabei sei 7d X = i=1 [ai. , bi ]. Die Tensorprodukt-Interpolation verwende den Grad m − 1 utzstellen in [ai. , bi ] und produziere in allen Koordinatenrichtungen xi mit St¨ ur die Stabilit¨ atskonstante gelte Cstab (m) ≤ O(constm ). κ (k) (x, y) (k = md ). F¨ Ferner sei m + s ≥ 0 (s aus (4.16e)). Dann gilt die Absch¨ atzung m   c · diam∞ (X) ≤ c1 2 f¨ ur alle y ∈ Y \X (4.25) κ(·, y) − κ (k) (·, y) dist(y, X) ∞,X mit Konstanten c1 , c2 unabh¨ angig von m. Hierbei ist diam∞ (X) = max{bi − ai : 1 ≤ i ≤ d} der Durchmesser bez¨ uglich der Maximumnorm. Sind X, Y η-zul¨assig im Sinne von diam∞ (X) ≤ η dist(X, Y ), so folgt (4.14). b) Die Taylor-Entwicklung (4.10) vom Grad m − 1 um x0 ∈ X liefert k = k(m − 1, d) Terme (vgl. (4.11)). Der Taylor-Rest gen¨ ugt der Ungleichung 13

Es wird lediglich die Ungleichung (4.16e) ben¨ otigt.

70

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

 κ(·, y) − κ

(k)

(·, y)

∞,X

≤ c1

c2 · diam(X) dist(y, X)

m f¨ ur alle y ∈ Y \X, (4.26)

wobei jetzt diam(X) mittels der Euklidischen Norm definiert ist. Sind X, Y η-zul¨ assig im Sinne von (4.8a), so folgt (4.14). Beweis. a) Da in (4.24) nur Ableitungen in einer Koordinatenrichtung auftreten, wird die asymptotische Glattheit lediglich in der Form (4.16e) ben¨ otigt. Der Beweis von Lemma 4.2.9 kann analog auf den Fall d > 1 d−1 (m) in u ¨bertragen werden. Zu beachten ist nur der zus¨atzliche Faktor Cstab (4.24), der die Wahl von c2 beeinflusst. 1 m Dx−x κ(x0 +ϑ (x − x0 ) , y) aus (B.7) lautet b) Der Taylor-Rest Rm−1 = m! 0 −1 nach der Normierung t := |x − x0 | (x − x0 ) ∈ Rd m

|x − x0 | |Dtm κ(x0 + ϑ (x − x0 ) , y)| m! m ≤ C |x − x0 | γ m |x0 + ϑ (x − x0 ) − y|−m−s

|Rm−1 | =

m

und ist durch O ([|x − x0 | γ/ dist(y, X)] ) beschr¨ankt.

4.3 Weitere separable Entwicklungen 4.3.1 Andere Interpolationsverfahren ∗ Die Polynominterpolation ist wegen ihrer Einfachheit oft die erste Wahl, aber andere Interpolationsverfahren k¨ onnen ebensogut verwendet werden. Hierzu geh¨ oren zum Beispiel die trigonometrische Interpolation (vgl. [129]) oder die in §D.2 diskutierte Sinc-Interpolation. St¨ uckweise Interpolationen kommen weniger in Frage, da dort die Fehlerabsch¨ atzungen ung¨ unstiger sind. Wenn allerdings die Kernfunktion κ nicht asymptotisch glatt, sondern nur st¨ uckweise glatt ist, w¨aren st¨ uckweise Interpolationen wie in §4.3.3 beschrieben die beste Methode. Auf Interpolation bzw. Approximation durch Exponentialfunktionen wird speziell in Abschnitt 4.3.4 hingewiesen. 4.3.2 Transformationen ∗ Eine weitere M¨ oglichkeit ist, die Funktion κ(x, y) zuerst mittels x = ϕ(t) geeignet zu transformieren: κ(t, ˜ y) := κ(ϕ(t), y). Die Interpolation von κ(t, ˜ y) liefere die Darstellung  κ(t ˜ j , y)Lj (t) κ(t, ˜ y) ≈ κ ˜ (k) (t, y) = j

4.3 Weitere separable Entwicklungen

71

(tj : St¨ utzstellen, Lj : Lagrange-Funktionen14 ). Sei ϕ−1 die Umkehrfunktion zu ϕ. Dann schreibt sich die N¨ aherung ¨ aquivalent in der Form  κ(ϕ(tj ), y)Lj (ϕ−1 (x)). κ(x, y) ≈ κ (k) (x, y) = j

Das Resultat l¨ asst sich als eine Interpolation mit Hilfe der Funktionen Lj (ϕ−1 (·)) deuten. Diese Methode ist zum Beispiel interessant, wenn ϕ die Parametrisierung einer Kurve beschreibt. 4.3.3 St¨ uckweise separable Entwicklung ∗ Der Bereich X × Y , in dem die separable Entwicklung (4.1) bestimmt werden soll, kann auch disjunkt in Teilbereiche zerlegt werden, die jedoch alle die ussen. Separable Entwicklungen in den TeilProduktform X  × Y  besitzen m¨ bereichen k¨ onnen dann zu einer separablen Entwicklung im Gesamtbereich zusammengesetzt werden. ˙ 2 und Beispielsweise w¨ ahle man eine disjunkte Zerlegung von X in X1 ∪X ˙ 2 . F¨ ur alle vier Kombinationen Xi × Yj ⊂ X × Y bestimme von Y in Y1 ∪Y man jeweils eine separable Entwicklung κ

(k,i,j)

(x, y) =

k 

ϕ(k,i,j) (x)ψν(k,i,j) (y) f¨ ur x ∈ Xi , y ∈ Yj ν

(1 ≤ i, j ≤ 2).

ν=1

Dabei d¨ urfen die jeweiligen Entwicklungen nach unterschiedlichen Methoden konstruiert sein. Wir setzen ϕ1+4(ν−1)+2(i−1)+j−1 := ϕν

(4k)

(k,i,j)

· χXi ,

(4k) ψ1+4(ν−1)+2(i−1)+j−1

(k,i,j) ψν

· χYj ,

:=

(1 ≤ i, j ≤ 2, 1 ≤ ν ≤ k)

wobei χC die charakteristische Funktion der Menge C bezeichnet. Produkte mit χC seien außerhalb von C stets als null definiert, auch wenn der andere Faktor dort nicht definiert ist. Damit erh¨ alt man eine separable Entwicklung der Form (4.1): κ (4k) (x, y) =

4k  ν=1

(4k) ϕ(4k) ν (x)ψν (y) =

2  k      (k,i,j) ϕ(k,i,j) (x) ψ (y). χ χ X Y ν ν i j i,j=1ν=1

Die Zahl der Terme betr¨ agt k multipliziert mit der Anzahl der Teilbereiche (hier 4). Man u ur (x, y) ∈ Xi × Yj  alle Kombina¨berzeugt sich leicht, dass f¨ 2 uhren bis auf i = i , j = j  , sodass κ (4k) (x, y) tionen i, j aus i,j=1 zu null f¨ k (k,i,j) (k,i,j) wie vorher mit ν=1 ϕν (x)ψν (y) u ¨bereinstimmt. 14

Lj heißt Lagrange-Funktion, wenn sie im gew¨ unschten Interpolationsraum liegt ullt. Falls der Interpolationsraum durch und Lj (tk ) = δjk (Kronecker-Symbol) erf¨ Polynome gegeben ist, sind die Lj die Lagrange-Polynome.

72

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

Anmerkung 4.3.1. Beim st¨ uckweisen Vorgehen darf die Zerlegung des xBereiches nicht vom Argument y abh¨ angig gemacht werden und umgekehrt. Wie im obigen Beispiel m¨ ussen die Teilbereiche kartesische Produkte Xi × Yj 2 sein. Es ist z.B. nicht m¨ oglich, das Quadrat [0, 1] in die beiden Dreiecke {(x, y) : 0 ≤ x ≤ y ≤ 1} und {(x, y) : 0 ≤ y ≤ x ≤ 1} zu zerlegen. 4.3.4 Kerne, die von x − y abh¨ angen Viele der interessanten Kernfunktionen sind eine Funktion der Differenz x−y, d.h. κ(x, y) = s(x − y). Wenn x und y in X bzw. Y variieren, geh¨ ort die Differenz t = x − y zu Bt := Bt (X, Y ) := {x − y : x ∈ X, y ∈ Y }. Falls man s(·) in Bt durch ein Polynom approximiert: s(t) ≈ P (t) (TaylorEntwicklung, Interpolation usw.), ist P (x − y) offenbar ein Polynom gleichen Grades in x und y. Wegen (4.4) ist damit eine separable Approximation (4.1) (k) (k) f¨ ur κ(x, y) = s(x − y) gefunden, bei der ϕν und ψν Polynome sind. Eine weitere M¨ oglichkeit ist die Approximation von s(t) durch eine b/a k (k) der Form s (t) := ν=1 ων exp(−αν t) (vgl. §13.2.3.2, §D.4.2). Dann besitzt κ (k)(x, y) := s(k)(x − y) den gleichen Separationsrang k. Zum Teil wendet man f¨ ur verschiedene Bereiche von t verschiedene Entwicklungen$ an. Wegen Anmerkung % 4.3.1 kann ein Bereich aber nicht implizit durch (x, y) : t ≤ x − y ≤ t definiert werden, sondern muss die Gestalt X × Y besitzen. Umgekehrt ist zu beachten, dass auch f¨ ur disjunkte Bereiche X × Y und X  × Y  die Mengen Bt (X, Y ) und Bt (X  , Y  ) u ¨berlappen k¨onnen. 4.3.5 L-harmonische Funktionen ∗ Die in §4.2 behandelten Approximationen verwenden Polynome. F¨ ur die Wahl der Polynome spricht, dass diese f¨ ur analytische Funktionen die optimale Approximationsordnung liefern. In vielen Anwendungen sind die Kernfunktionen Fundamentall¨osungen elliptischer Gleichungen, das heißt, sie erf¨ ullen Lx κ(x, y) = δ(x − y) und L∗y κ(x, y) = δ(x − y). Dabei sind L ein elliptischer Differentialoperator (z.B. d L = Δ = i=1 ∂ 2 /∂x2i ) und L∗ der adjungierte Operator. Der untere Index in Lx bzw. L∗y besagt, dass L auf die x- bzw. y-Variable angewandt wird. δ(·) ist die Diracsche Deltafunktion. W¨ ahlt man disjunkte Bereiche X und Y, ur x ∈ X und y ∈ Y. Damit sind κ(·, y) folgt Lx κ(x, y) = L∗y κ(x, y) = 0 f¨ L−harmonisch und κ(x, ·) L∗ -harmonisch im Sinne der folgenden

4.3 Weitere separable Entwicklungen

73

Definition 4.3.2. Eine Funktion u(·) mit Lu = 0 heißt L-harmonisch15 . k (k) (k) F¨ ur die Entwicklung κ (k) (x, y) = ν=1 ϕν (x)ψν (y) kann man fordern, (k) ∗ dass auch κ L-harmonisch in x und L -harmonisch in y seien: L ϕ(k) ν = 0,

L∗ ψν(k) = 0.

F¨ ur den Laplace-Operator Δ ergeben sich als Kandidaten die harmonischen Polynome. Im Falle d = 2 lauten die harmonischen Polynome in x = (x1 , x2 ) : Grad = 0 : Grad = 1 : Grad = 2 : Grad = 3 : Grad = 4 :

1 x1 x21 − x22 x31 − 3x1 x22 x41 − 6x21 x22 + x42

x2 x1 x2 x32 − 3x21 x2 x31 x2 − x1 x32

Der offensichtliche Vorteil ist, dass die Anzahl der harmonischen Polynome bis zu einem Grad m nur O(m) betr¨ agt (statt O(m2 ) im allgemeinen Fall; vgl. Anmerkung 4.2.1). Bei Raumdimension d reduziert sich die Zahl von O(md ) auf O(md−1 ). Die Hinzunahme der nicht-harmonischen Polynome verbessert die Approximation an eine harmonische Funktion nicht. Ans¨ atze mit L-harmonischen Funktionen werden in Multipol-Verfahren verwendet (vgl. [122], Sauter-Schwab [125, §7.1.3.2]). Man beachte, dass f¨ ur spezielle Differentialoperatoren L auch spezielle Funktionensysteme ben¨otigt werden. F¨ ur L mit variablen Koeffizienten kennt man im Allgemeinen die L-harmonischen Funktionen nicht explizit. 4.3.6 Separable Entwicklungen mittels Kreuzapproximation ∗ Die Anwendung der Kreuzapproximation auf bivariate Funktionen wird in §9.4.4 erl¨ autert werden. Sie liefert separable Entwicklungen, die in §9.4.5 f¨ ur die sogenannte hybride Kreuzapproximation ausgenutzt werden. 4.3.7 Die optimale separable Entwicklung Bei Matrizen erm¨ oglicht die Singul¨ arwertzerlegung die beste Approximation durch Rang-k-Matrizen (vgl. Satz 2.4.1). Im Anhang C.4 findet sich die Herleitung der Singul¨ arwertzerlegung f¨ ur kompakte Operatoren. Das Resultat ist die Darstellung 15

 Falls Δu = 0 f¨ ur den Laplace-Operator Δ = di=1 (∂/∂xi )2 gilt, heißt u harmonisch. Der Name “L-harmonisch” ist eine Verallgemeinerung f¨ ur andere Differentialoperatoren L als Δ. Die Bedingung Lu = 0 kann auch in der schwachen Form (Variationsformulierung) angegeben werden.

74

4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen

κ(x, y) =

∞ 

σν ϕν (x) ψν (y)

(x ∈ X, y ∈ Y )

(4.27)

ν=1

mit Singul¨ arwerten σ1 ≥ σ2 ≥ . . . ≥ σν  0 und Funktionensystemen {ϕν : ν ∈ N} und {ψν : ν ∈ N}, die jeweils Orthonormalsysteme in L2 (X) bzw. L2 (Y ) darstellen (vgl. Satz C.4.1 und Anmerkung C.4.2b). Wie im Matrixfall ergibt sich die beste k-Term-Approximation als die Teilsumme k  σν ϕν (x) ψν (y) (x ∈ X, y ∈ Y ), (4.28) κ (k) (x, y) = ν=1 (k) ϕν

(k)

:= σν ϕν und ψν die (4.1) mit (C.17) und (C.20)

= ψν entspricht. Die Fehler sind gem¨aß

(k)

KXY − KXY L2 (X)←L2 (Y ) = σk+1 , 0. Zu den Clustern τ ⊂ I und σ ⊂ J seien die Tr¨ ager Xτ und Xσ assoziiert. Der Block b = τ × σ heißt η-zul¨ assig, wenn min{diam(τ ), diam(σ)} ≤ η dist(τ, σ)

(5.8)

im Sinne von (5.6a,b). Die Abbildung 5.2 entspricht der Abbildung 4.1 mit X und Y durch Xτ und Xσ ersetzt.



dist(Xτ ,Yσ )



diam(Xτ ) diam(Xσ) Anmerkung 5.2.5. a) Wenn der spezielle Wert von η nicht explizit betont werden soll oder η aus Abb. 5.2. Clustertr¨ager dem Zusammenhang hervorgeht, wird nur von der Xτ und Xσ Zul¨ assigkeit von b gesprochen. b) In Analogie zu (4.8d) und (4.8a,b) gibt es die folgenden Varianten der η-Zul¨ assigkeit:

max{diam(τ ), diam(σ)} ≤ η dist(τ, σ),

(5.9a)

diam(τ ) ≤ η dist(τ, σ), diam(σ) ≤ η dist(τ, σ).

(5.9b) (5.9c)

Da die exakte Berechnung von diam(τ ), diam(σ), dist(τ, σ) sehr aufw¨andig w¨ are, ist die folgende Aussage hilfreich, die aus den Ungleichungen (5.7a,b) abgeleitet wird.

88

5 Matrixpartition

Lemma 5.2.6. Sei b = τ × σ, und Xτ ⊂ Qτ und Xσ ⊂ Qσ gelte mit den (Minimal-)Quadern aus Lemma 5.2.2. Dann folgt die η-Zul¨ assigkeitsbedingung (5.8) aus min{diam(Qτ ), diam(Qσ )} ≤ η dist(Qτ , Qσ ).

(5.10)

Analog folgen (5.9a-c) aus den entsprechenden Ungleichungen f¨ ur Qτ und Qσ . Das Ziel der Charakterisierung eines zul¨ assigen Blocks ist, hierdurch indirekt Bl¨ ocke zu identifizieren, die gut durch Rang-k-Matrizen approximiert werden k¨ onnen. Wie der n¨ achste Satz zeigt, ist die Zul¨assigkeitsbedingung (5.8) auf asymptotisch glatte Kernfunktionen zugeschnitten. K sei ein Integraloperator (1.25b) mit asymptotisch glatter Kernfunktion κ(x, y) in X × Y ⊂ Rd × Rd . Die Diskretisierung von K ergebe die Matrix ur den η-zul¨ assigen Block b = τ × σ ⊂ I × I gelte Xτ ⊂ X und K ∈ RI×I . F¨ assigkeit ist Xσ ⊂ Y . Aufgrund der η-Zul¨ min{diam(Xτ ), diam(Xσ )} ≤ η dist(Xτ , Xσ ). ur diam(Xτ ) angenommen. Damit sind Xτ und O.B.d.A.2 sei das Minimum f¨ assig im Sinne der Definition 4.1.7. F¨ ur die verschiedenen KonstrukXσ η-zul¨ tionen separabler Entwicklungen κ (k) sind in §4.2 Absch¨atzungen der Art m  c2 · diam(Xτ ) m ≤ c1 (c2 η) (5.11) κ − κ (k) ∞,Xτ ×Xσ ≤ c1 dist(Xτ , Xσ ) nachgewiesen worden, wobei k = k(m − 1, d) = O(md ) der Separationsrang ucken. ist. In (5.11) l¨ asst sich der Exponent m auch als O(k 1/d ) ausdr¨ Nach Satz 4.4.3 geh¨ ort zu κ (k) der Matrixblock K (k) |b ∈ Rb , der eine Rang-k-Matrix darstellt. Satz 4.5.4 garantiert die Fehlerabsch¨atzung |||K|b − K (k) |b ||| ≤ K − K(k) L2 (Xτ )←L2 (Xσ )

(b = τ × σ).

(5.12)

= Da K − K(k) L2 (Xτ )←L2 (Xσ ) ≤ μ(Xτ )μ(Xσ )κ − κ (k) ∞,Xτ ×Xσ (μ(·): Maß passend zum Integrationsgebiet) eine triviale Absch¨atzung ist, liefert die Kombination von (5.11) und (5.12) die Fehlerschranke = m (k = k(m − 1, d) = O(md )). |||K|b − K (k) |b ||| ≤ c1 μ(Xτ )μ(Xσ ) (c2 η) Damit f¨ allt der Fehler exponentiell mit m, vorausgesetzt dass η < 1/c2 . Die Beschr¨ ankung von η entf¨ allt, wenn die versch¨arften Ungleichungen (4.17) 5 4 2 dist(Xτ ,Xσ ) oder (4.23) gelten, in denen statt c2 η zum Beispiel 1/ 1 + γ diam(Xτ ) ≤ 5 4 2 < 1 auftritt. 1/ 1 + γη 2

Sonst ist die Interpolation bzw. Taylor-Entwicklung bez¨ uglich y vorzunehmen.

5.2 Zul¨ assige Bl¨ ocke

89

Satz 5.2.7. K sei ein Integraloperator (1.25b) mit asymptotisch glatter Kernfunktion κ(x, y) in Γ × Γ ⊂ Rd × Rd . Die Diskretisierung von K ergebe die Matrix K ∈ RI×I . Die obigen Konstruktionen m¨ogen die Approximaur einen η-zul¨ assigen Block b = τ × σ definieren. Dann gelten tion K (k) |b f¨ Ungleichungen der Form = c k1/d . |||K|b − K (k) |b ||| ≤ c1 μ(Xτ )μ(Xσ ) (c2 η) 3 5.2.3 Verallgemeinerte Zul¨ assigkeit Die Zul¨ assigkeitsbedingung (5.8) ist die passende Beschreibung, wenn in einer Ungleichung wie (5.11) der Quotient diam(Xτ )/ dist(Xτ , Xσ ) die kritische Gr¨ oße ist. F¨ ur Kernfunktionen, deren Eigenschaften von den asymptotisch glatten Funktionen stark abweichen, sind aber auch andere Charakterisierungen denkbar. Die Zul¨ assigkeitsbedingung ist kein Selbstzweck, sondern nur ein bequemes Hilfsmittel, um a priori Informationen u ¨ber die Approximierbarkeit eines Matrixblockes M |b durch R(k, b)-Matrizen zu erhalten. Erh¨alt man diese Informationen oder Zusatzinformationen auf andere Weise, sollte man dies in die Definition der Zul¨ assigkeit einbauen. Ist z.B. nur eine einzige Matrix M als hierarchische Matrix darzustellen und ist bekannt, dass M |b = 0 ein Nullblock ist, so sollte b als zul¨ assig erkl¨ art werden, damit keine unn¨otigen Blockzerlegungen auftreten. Dieser Fall tritt beispielsweise bei der LU-Zerlegung auf, bei der bestimmte Nullbl¨ ocke der schwach besetzten Ausgangsmatrix M ur w¨ ahrend der LU-Zerlegung nicht aufgef¨ ullt werden, sodass L|b = U |b = 0 f¨ die Faktoren von M = LU gilt (vgl. §9.2.6). ¨ F¨ ur die weiteren Uberlegungen kann die konkrete Zul¨assigkeitsbedingung (5.8) durch eine allgemeine Boolsche Funktion Adm : P(Rd ) × P(Rd ) → {true, f alse}

(5.13a)

(P(Rd ) ist die Potenzmenge: Menge der Teilmengen von Rd ) ersetzt werden, die die folgende Monotonie-Eigenschaft besitzen soll: (X ⊂ X  ∧ Y ⊂ Y  ∧ Adm(X  , Y  ) = true) ⇒ Adm(X, Y ) = true, (5.13b) d.h. Untermengen zul¨ assiger Mengen seien ebenfalls zul¨assig. Eventuell muss auch die Symmetrie Adm(X, Y )

⇐⇒

Adm(Y, X)

(5.13c)

vorausgesetzt werden, die f¨ ur (5.8) und (5.9a) zutrifft, nicht aber f¨ ur (5.9b,c). Anmerkung 5.2.8. Im Falle der Zul¨ assigkeitsbedingung (5.8) wurde die Monotonie-Eigenschaft (5.13b) in Lemma 5.2.6 ausgenutzt. Mit (5.13b) ist es auch f¨ ur die allgemeine Zul¨ assigkeitsbedingung (5.13a) m¨oglich, die Zul¨ assigkeit anhand einfacherer Obermengen zu pr¨ ufen.

90

5 Matrixpartition

5.2.4 Erl¨ auterung am Beispiel aus §5.1.2 uhrt gem¨aß (5.4) auf die Sei h = 1/n. Die Matrix K = (Kij )i∈I,j∈J aus (5.3) f¨ Tr¨ agermengen3 $ % Xτ = (i − 12 )h : i ∈ τ ⊂ [0, 1], (5.14) Xσ = [minj∈σ (j − 1) h, maxj∈σ jh] ⊂ [0, 1]. In §3 wurde in (3.3) f¨ ur n = 4 die Blockmatrix

verwendet. Wir

pr¨ ufen den oberen rechten Block b = τ × σ mit τ = {1, 2}, σ = {3, 4}. Die zugeh¨ origen Tr¨ agermengen sind Xτ = {1/8, 3/8} und Xσ = [1/2, 1], sodass min{diam(τ ), diam(σ)} = diam(τ ) = 1/4 und dist(τ, σ) = 1/8. F¨ ur beliebiges ur den oberen rechten Block min{diam(τ ), diam(σ)} = n = 2p ergibt sich f¨ diam(τ ) = diam({h/2, 3h/2, . . . , ( n2 − 12 )h}) = 1/2 − h und dist(τ, σ) = h/2, sodass 1/2 − h 1 min{diam(τ ), diam(σ)} = = −2 dist(τ, σ) h/2 h nicht gleichm¨ aßig durch ein η abgesch¨ atzt werden kann. Damit erf¨ ullt dieser Block nicht die Zul¨ assigkeitsbedingung (5.8). Infolgedessen ist die Partition aus §3 nicht zul¨ assig im Sinne der sp¨ ateren Definition 5.5.6b.   Hp−1 Rp−1 Eine Abhilfe sieht wie folgt aus. Die Rekursion Hp = aus Rp−1 Hp−1 (3.2d) wird ersetzt durch       ∗ Np−1 H Rp−1 Np−1 Rp−1 Rp−1 ∗ Hp = p−1 , N , N . (5.15) = = p ∗ p Np−1 Hp−1 Np−1 Rp−1 Rp−1 Rp−1 Diese f¨ uhrt auf die Blockstruktur aus Abbildung 5.1 von Seite 86. F¨ ur den Block links von dem rechts oben liegenden Block in Abbildung 5.1 gilt τ = {1, . . . , 32} und σ = {65, . . . , 96}, sowie min{diam(τ ), diam(σ)} = diam(τ ) = 1/4 − h, dist(τ, σ) = 1/4 + h/2. Die Ungleichung min{diam(τ ), diam(σ)} ≤ η dist(τ, σ)

mit η = 1

(5.16)

ist nicht nur f¨ ur diesen Block erf¨ ullt, sondern f¨ ur alle Bl¨ocke in Abbildung 5.1, ausgenommen die 1 × 1-Bl¨ ocke im Tridiagonalband. Damit sind alle Bl¨ocke bis auf die genannten Ausnahmen η-zul¨ assig mit η = 1. Es ist leicht nachzupr¨ ufen, dass auch Matrizen vom Format (5.15) Kosten der gleichen Gr¨ oßenordnung wie f¨ ur (3.2d) verursachen (vgl. Hackbusch [69]). Damit bleiben die g¨ unstigen Eigenschaften hinsichtlich der formatierten Matrixoperationen erhalten. Dass das Matrixformat (5.15) die Eigenschaft (5.16) f¨ ur alle Bl¨ocke außerhalb des Tridiagonalbandes besitzt, liegt an zwei Gegebenheiten: 3

Damit die Darstellung f¨ ur Xσ richtig ist, muss angenommen werden, dass σ alle Indizes j min := min{j ∈ σ}, j min + 1, j min + 2, . . ., j max := max{j ∈ σ} mit Tr¨ ager in diesem Intervall enth¨ alt (vgl. (5.21)).

5.3 Clusterbaum T (I)

91

a) Das Matrixformat ist regelm¨ aßig und die Schrittweite in §5.1.2 ¨aquidistant. b) Das Modellproblem ist eindimensional, sodass der Indexabstand im Wesentlichen proportional zum Abstand der Tr¨ ager ist. Da wir aber auch f¨ ur nichtregelm¨ aßige Diskretisierungen und h¨oherdimensionale Probleme ein passendes Blockformat konstruieren wollen, brauchen wir Verfahren, die anhand der Diskretisierung die Blockzerlegung automatisch finden. Dies ist das Thema der beiden folgenden Unterkapitel.

5.3 Clusterbaum T (I) Die konkrete Konstruktion eines Clusterbaums wird in §5.4 nachgeholt. In diesem Abschnitt wird nur der Rahmen in Form einer formalen Definition gegeben. Die grundlegenden Begriffe zu B¨ aumen (Wurzel, S¨ohne, Bl¨atter, usw.) sind in Anhang A erkl¨ art. 5.3.1 Definitionen Wir gehen von einer (endlichen) Indexmenge I aus. Der Clusterbaum T (I) ist erkl¨ art als Zerlegungsbaum der Menge I im Sinne der Definition A.4.1. Dazu seien die Elemente von T (I) mit τ notiert. S(τ ) sei die Menge der S¨ohne von τ. Mit L(T (I)) wird die Menge der Bl¨ atter bezeichnet: L(T (I)) = {τ : S(τ ) = ∅}. Die Bedingungen an T (I) lauten dann I ∈ T (I) ist die Wurzel des Baumes T (I),  σ = τ disjunkte Vereinigung f¨ ur alle τ ∈ T (I)\L(T (I)) ist

(5.17a) (5.17b)

σ∈S(τ )

(vgl. §A.4). Anwendung von (5.17b) auf τ = I zeigt induktiv, dass τ ⊂ I f¨ ur alle τ ∈ T (I) gilt (d.h. T (I) ⊂ P(I) ). Zus¨ atzlich sei τ = ∅ ausgeschlossen: T (I) ⊂ P(I)\{∅}.

(5.17c)

Da Teilmengen τ ⊂ I “Cluster” (von Indizes aus I) genannt werden, erkl¨art sich der Name “Clusterbaum”. Eventuell m¨ ochte man zu kleine bzw. hinreichend große Cluster kennzeichnen und f¨ uhrt deshalb die folgende Boolsche Funktion ein: Gr¨ osseT (I) : P(I) → {true, f alse} mit den Eigenschaften: Gr¨ osseT (I) (τ ) = true und τ  ⊃ τ ⇒ Gr¨ osseT (I) (τ  ) = true, ur alle τ ∈ L(T (I)). Gr¨ osseT (I) (τ ) = f alse f¨

(5.18)

Die erste Bedingung bedeutet: Ist τ hinreichend groß, so auch jede Obermenge. Die zweite Bedingung besagt, dass Blatt-Cluster hinreichend klein sein m¨ ussen. Eine Versch¨ arfung der Bedingungen wird in Anmerkung 5.3.7 eingef¨ uhrt.

92

5 Matrixpartition

Beispiel 5.3.1. Sei nmin ∈ N fixiert. Die Standarddefinition von Gr¨ osseT (I) lautet (5.19) Gr¨ osseT (I) (τ ) := (#τ > nmin ) . Sie gen¨ ugt der Bedingung (5.18), vorausgesetzt die Bl¨atter von T (I) enthalten h¨ ochstens nmin Elemente. Anmerkung 5.3.2. Die gew¨ ahlte Beschreibung kann auf das folgende Problem f¨ uhren. Falls ein τ ∈ T (I) nur einen Sohn besitzt, muss nach Eigenschaft (5.17b) f¨ ur den Sohn σ ∈ S(τ ) die Gleichheit τ = σ gelten, was im Widerspruch dazu steht, dass der Sohn und der Vater zwei verschiedene Elemente des Baumes sein m¨ ussen. Diese Schwierigkeit l¨asst sich auf mehrere Weisen vermeiden: 1) Man f¨ uhrt die pr¨ azise, aber umst¨ andlichere Schreibweise aus Definition A.4.1 ein, bei der man zwischen den Baumknoten v ∈ T (I) und den Bezeichnungen (Clustern) μ(v) ∈ P(I)\{∅} unterscheidet, oder 2) man ersetzt τ durch das Paar (τ, ) ∈ T () (I), wobei  die Stufe bezeichnet (vgl. (A.2)), oder 3) man verbietet den Konfliktfall durch die Vorschrift #S(τ ) = 1

f¨ ur alle τ ∈ T (I).

(5.17d)

Im Folgenden verwenden wir die einfachere Notation aus (5.17a-c). Falls (5.17d) nicht gilt, f¨ allt es nicht schwer, je nach Zusammenhang τ ∈ T (I) als Baumelement bzw. als Cluster (eigentlich μ(τ )) zu interpretieren. Die Sohnfunktion S(τ ) bezieht sich zum Beispiel stets auf τ als Baumelement. Schließlich sei daran erinnert, dass zu jedem τ ∈ T (I) eine Tr¨agermenge ort. Die Definition (5.5b) zusammen mit (5.17b) liefert Xτ geh¨  Xτ = Xσ f¨ ur τ ∈ T (I)\L(T (I)). (5.20) σ∈S(τ )

5.3.2 Beispiel Im Modellbeispiel aus §5.1.2 ist J = {1, . . . , n}. F¨ ur eine Zweierpotenz n = 23 bietet sich ein bin¨ arer Clusterbaum an: J = {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}

Stufe 0 Stufe 1 (5.21) Stufe 2 Stufe 3

Die zugeh¨ origen Tr¨ ager Xτ (zweiter Fall in (5.14)) sind die Intervalle

5.3 Clusterbaum T (I) [0,1]

Stufe 0 \

/ [0, 12 ] / / [0, 18 ]

\ [ 18 , 14 ]

[ 12 ,1]

\

[0, 14 ]

/ [ 14 , 12 ]

/ [ 14 , 38 ]

93

\ [ 38 , 12 ]

[ 12 , 34 ] / [ 12 , 58 ]

\ [ 58 , 34 ]

Stufe 1 \ [ 34 ,1]

/ [ 34 , 78 ]

Stufe 2

\ [ 78 ,1]

Stufe 3

Im Falle von n = 2L besteht der bin¨ are Baum T (J) aus den Clustern {τi : 0 ≤  ≤ L, 1 ≤ i ≤ 2 } , wobei % $ τi = (i − 1) · 2L− + 1, (i − 1) · 2L− + 2, . . . , i · 2L− (5.22) (0 ≤  ≤ L, 1 ≤ i ≤ 2 ). J ist die Wurzel. Die Cluster der Stufe L bilden die Bl¨atter. Da #τiL = 1 , erf¨ ullen die Bl¨ atter die Bedingung (5.19) f¨ ur jedes nmin ∈ N. Die S¨ohne +1 +1 und τ2i . Die Tr¨ ager und ihre Durchmesser bzw. von τi ( < L) sind τ2i−1 Abst¨ ande sind Xτ = [(i − 1) · 2− , i · 2− ] diam(τi ) = 2− ,

f¨ ur τ = τi ,

dist(τi , τj ) = 2− max{0, |i − j| − 1}.

(5.23)

5.3.3 Blockzerlegung eines Vektors Der Clusterbaum T (I) kann genutzt werden, um einen Vektor x ∈ RI als Blockvektor zu strukturieren. Dazu ist I als disjunkte Vereinigung von Clustern τi ∈ T (I) (1 ≤ i ≤ p) darzustellen. Die Definition 1.3.2 einer Partition P ist dazu um die Bedingung P ⊂ T (I) zu erg¨anzen. Im Folgenden w¨ahlen wir hierf¨ ur die Formulierung “P ⊂ T (I) sei eine Partition (von I)”. W¨ ahlt man z.B. τ1 = {1}, τ2 = {2}, τ3 = {3, 4} und τ4 = {5, 6, 7, 8} aus (5.21), erh¨ alt man den Blockvektor x =

x1

x2

x3

x4

x5

x6

x7

x8

zur Partition P = {τ1 , τ2 , τ3 , τ4 }. Die wichtigen Merkmale sind: 1) Die Bl¨ocke k¨ onnen verschieden groß sein. 2) Es sind nur Bl¨ocke τ ∈ T (I) zugelassen. Wegen des zweiten Punktes sollte der Baum T (I) Cluster der verschiedensten Gr¨ oßenordnungen anbieten. Eine Partition l¨ asst sich auch anders charakterisieren. Im Falle des gegebenen Beispiels betrachten wir den Teilbaum I = {1, 2, 3, 4, 5, 6, 7, 8} / \ {1, 2, 3, 4} {5, 6, 7, 8} / \ {1, 2} {3, 4} / \ {1} {2}

Stufe 0 Stufe 1 Stufe 2 Stufe 3

94

5 Matrixpartition

mit der gleichen Wurzel I (vgl. Anmerkung A.3.2). Seine Bl¨atter stimmen mit der Partition P u uhrt zu dem Isomorphismus, der in Lemma 5.3.5 ¨berein. Dies f¨ beschrieben wird. Notation 5.3.3 Sei T (I, P ) der Teilbaum im Sinne der Anmerkung A.3.2, der aus allen Vorg¨ angern v ∈ T (I) von Clustern τ ∈ P besteht. ¨ Ubung 5.3.4. Man zeige: a) Der Teilbaum T (I, P ) ist auch eindeutig beschrieben durch die Eigenschaften I ∈ T (I, P ) ⊂ T (I) und L(T (I, P )) = P. b) Erf¨ ullt T (I) die Bedingungen (5.17a-c) [und eventuell (5.17d)], so auch T (I, P ). Das folgende Lemma besagt, dass jede Partition P ⊂ T (I) als Blattmenge von T (I, P ) beschrieben werden kann. Umgekehrt f¨ uhrt jeder Teilbaum T  (I) ⊂ T (I) (im Sinne der Anmerkung A.3.2) zu einer Partition P := L(T  (I)) von I im Sinne von (1.11). Lemma 5.3.5. Ein Zerlegungsbaum T (I) sei gegeben. Zwischen allen Partitionen P ⊂ T (I) und allen Teilzerlegungsb¨ aumen T  (I) ⊂ T (I) (mit gleicher Wurzel I) besteht der Isomorphismus Φ : P → T  (I) := T (I, P )

und

Φ−1 : T  (I) → P := L(T  (I)).

5.3.4 Speicherkosten f¨ ur T (I) Sei n = #I. Dann gibt es h¨ ochstens n Bl¨ atter (im maximalen Fall w¨aren diese wie in (5.21) einelementige Cluster). F¨ ur die Zahl der Baumknoten gilt im Falle von (5.17d) #T (I) ≤ 2#L(T (I)) − 1 ≤ 2n − 1 (vgl. Lemma A.3.4a). Damit sind O(n) Cluster zu verwalten. Dies f¨ uhrt mit der nachfolgenden Konstruktion 5.3.6 zu einem Speicheraufwand von O(n). Falls (5.17d) nicht gilt, kann #T (I) beliebig groß werden4 . Falls die Baumtiefe gegeben ist, liefert Lemma A.3.4b eine Absch¨ atzung. Es bleibt die Aufgabe, jeden Cluster mit einem Speicheraufwand von O(1) zu verwaltet. Eine m¨ ogliche Implementierung wird nachfolgend beschrieben. Zun¨ achst sind Anmerkungen zur Anordnung der Baumknoten (Cluster) vorauszuschicken. Zum Begriff des Vorg¨ angers vergleiche man §A.2. Sei T ein Baum mit der Eigenschaft, dass f¨ ur alle τ ∈ T die S¨ohne aus ur τ  , τ  ∈ S(τ ), wenn τ  vor S(τ ) angeordnet sind (Schreibweise: τ  < τ  f¨ τ  angeordnet ist). Damit wird die nachfolgende Anordnung des gesamten Baumes induziert. F¨ ur zwei Knoten τ, σ ∈ T mit τ = σ trifft genau einer der folgenden drei F¨ alle zu: 4

Beispiel in der 2. Notation der Bemerkung 5.3.2: L ∈ N sei beliebig gew¨ ahlt. Die Wurzel sei (I, 0) , jeder Knoten (I, ) habe (I,  + 1) als Sohn (0 ≤  ≤ L). Damit ist #T (I) = L + 1.

5.3 Clusterbaum T (I)

95

(i) σ ist Vorg¨ anger von τ. Dann gelte σ < τ. (ii) τ ist Vorg¨ anger von σ. Dann gelte τ < σ. (iii) Es gibt ρ ∈ T und τ  , σ  ∈ S(ρ) mit τ  = σ  , sodass τ  Vorg¨anger5 von τ anger von σ (ρ ist der n¨ achste gemeinsame Vorg¨anger von τ und σ  Vorg¨ und σ, vgl. Abbildung 5.3). Hier wird die Anordnung der Sohnmenge S(ρ) verwendet: Falls τ  < σ  [bzw. σ  < τ  ], wird τ < σ [bzw. σ < τ ] gesetzt. Die Anordnung der Knoten von T (I) induziert insbesondere eine Anordnung der Bl¨ atter in L(T (I)). Die folgende Konstruktion definiert Anfangs- und Endindizes α(τ ) und β(τ ) zu jedem τ ∈ T (I). Im Teil c) werden diese Indizes f¨ ur alle Bl¨ atter und danach in d) induktiv f¨ ur alle u ¨brigen Cluster definiert.

ρ τ |

τ

/

\

σ |

σ

Abb. 5.3. zu (iii)

Konstruktion 5.3.6 a) Die Indexmenge I braucht keine Anordnung zu besitzen. Falls I angeordnet ist, wird diese Anordnung im Folgenden ignoriert. b) Die S¨ohne σ ∈ S(τ ) aller τ ∈ T (I) werden in beliebiger Weise angeordnet: S(τ ) = {σ1 , . . . , σ#S(τ ) }. Damit ergibt sich ein angeordneter Baum (siehe oben); insbesondere sind die Bl¨atter L(T (I)) angeordnet. Diese werden als {τ1 , . . . , τ#L(T (I)) } geschrieben (innere Knoten von T (I)\L(T (I)) werden bei dieser Nummerierung ignoriert!). #L(T (I)) τi eine disjunkte Vereinigung ist (vgl. Lemma c) Da I = i=1 A.4.2a), brauchen nur noch die Indizes innerhalb der Teilmengen τi ⊂ I angeordnet werden, um zu einer Anordnung innerhalb von I zu kommen. Man nummeriere die Indizes der Elemente von τ1 , . . . , τ#L(T (I)) in beliebiger Weise durchgehend:  α(τ1 ) := 1, mit τ1 = {iν : α(τ1 ) ≤ ν ≤ β(τ1 )} β(τ1 ) := α(τ1 ) − 1 + #τ1 , ⎧ ⎨ α(τj ) := β(τj−1 ) + 1, β(τj ) := α(τj ) − 1 + #τj τj = {iν : α(τj ) ≤ ν ≤ β(τj )} mit ⎩ f¨ ur 2 ≤ j ≤ #L(T (I). Damit lassen sich alle Bl¨ atter τj durch die Paare (α(τj ), β(τj )) ∈ N2 eindeutig charakterisieren. d) Die Darstellung der Cluster τ ∈ T (I)\L(T (I)) geschieht rekursiv: Sind σ1 , . . . , σ#S(τ ) die S¨ohne aus S(τ ), so besteht τ aus allen {iν : α(τ ) ≤ ν ≤ β(τ )} mit α(τ ) := α(σ1 ) und β(τ ) := β(σ#S(τ ) ), sodass das Paar (α(τ ), β(τ )) den Cluster τ eindeutig repr¨ asentiert. Insgesamt ist ein n-Tupel {i1 , . . . , in } und je ein Paar aus N2 pro τ ∈ T (I) abzuspeichern. Wegen #T (I) ≤ O(n) ist der Gesamtaufwand proportional zu n = #I.

5

Die Definition des Vorg¨ angers schließt die F¨ alle τ  = τ bzw. σ  = σ ein.

96

5 Matrixpartition

Um die Kosten f¨ ur die Abspeicherung von T (I) und sp¨atere Kosten f¨ ur die Suche in T (I) gering zu halten, sollte die Tiefe des Baumes auf das notwendige Minimum beschr¨ ankt werden. Hierauf bezieht sich die Anmerkung 5.3.7. Falls es einen Cluster τ ∈ T (I)\L(T (I)) mit Gr¨ osse(τ ) = f alse gibt, gilt er als “klein” und wird in den sp¨ateren Anwendungen nicht mehr zerlegt. Daher sind S¨ ohne aus S(τ  ) ohne Interesse. Folglich kann der Baum T (I) durch den Teilbaum T (I)\ τ  ∈S(τ ) T (τ  ) ersetzt werden (zu T (τ  ) vgl. Anmerkung A.3.3). Nach einer entsprechenden Verk¨ urzung des Baumes ¨ gilt die Aquivalenz: f¨ ur alle τ ∈ T (I) gilt:

Gr¨ osse(τ ) = f alse ⇐⇒ τ ∈ L(T (I)) .

(5.24)

Beweis. a) τ ∈ L(T (I)) ⇒ Gr¨ osse(τ ) = f alse: Diese Eigenschaft gilt gem¨aß (5.18) f¨ ur T (I) vor der K¨ urzung. Da S(τ ) nur dann aus T (I) entfernt wird, wenn Gr¨ osse(τ ) = f alse, bleibt diese Eigenschaft erhalten. b) Gr¨ osse(τ ) = f alse ⇒ τ ∈ L(T (I)): W¨ are τ ∈ / L(T (I)), k¨onnte auch S(τ ) noch entfernt werden. Die Anwendung der Anmerkung auf das Beispiel aus (5.21) bedeutet: ussen alle Cluster Wenn Gr¨ osse mittels (5.19) und nmin = 2 definiert ist, m¨ der Stufe 3 in (5.21) gestrichen werden.

5.4 Konstruktion des Clusterbaums T (I) Dieses Kapitel ist f¨ ur die praktische Implementierung essentiell, kann aber im ersten Durchgang u ¨berschlagen werden. Die nachfolgenden Definitionen sind von diesem Kapitel unabh¨ angig. 5.4.1 Notwendige Daten Gegeben seien • •

I: nichtleere Indexmenge, deren Elemente nicht angeordnet sein m¨ ussen. Adm : eine Zul¨ assigkeitsbedingung (5.13a,b) f¨ ur Paare von Teilmengen von I. Letztere erfordert u ¨blicherweise die folgenden geometrischen Daten: • Xi : Teilmenge des Rd zugeordnet zu i ∈ I (z.B. Xi = {ξi }). Hieraus wird art (vgl. (5.5b)). Xτ erkl¨ • Gr¨ osse(τ ): Bewertungsfunktion; nur wenn Gr¨ osse(τ ) = true, soll τ in Teilcluster (die S¨ ohne) zerlegt werden (vgl. (5.18)). Man beachte, dass Adm nicht die spezielle Form (5.8), (5.9a-c) haben muss. Unter Umst¨ anden k¨ onnen die Geometriedaten Xi sogar entfallen (vgl. §9.2.9).

5.4 Konstruktion des Clusterbaums T (I)

97

5.4.2 Geometriebasierte Konstruktion mittels Minimalquader 5.4.2.1 Knoten ξi Der einfachste Fall der zugeordneten Teilmenge ist Xi = {ξi }. Falls Xi mehr ager einer Basisfunktion ist, w¨ahlt man als einen Punkt enth¨ alt, da Xi z.B. Tr¨ ur in Anmerkung 5.4.1b einen Ersatzpunkt ξi (“Knotenpunkt” zu i ∈ I), wof¨ ein Vorschlag gemacht wird. Als (achsenparallelen) Minimalquader (“bounding box”) zu einer Menge X ⊂ Rd definieren wir den kleinsten6 Quader 7d ur den Minimalquader zu X Q = i=1 [ai , bi ] mit der Eigenschaft Q ⊃ X. F¨ verwenden wir die Schreibweise Qmin (X). Anmerkung 5.4.1. a) Ist X konvexe H¨ ulle der Punkte {x1 , . . . , xq }, so gilt ur eine endliche Qmin (X) = Qmin ({x1 , . . . , xq }). Die Bestimmung von Qmin f¨ Punktmenge wird in (5.29) beschrieben werden. b) Da man in der Praxis nur Minimalquader f¨ ur Punktmengen bestimmen m¨ ochte, wird die Tr¨ agermenge Xi (i ∈ I) in folgender Weise durch eine einˆ i := {ξi } ersetzt. F¨ ur jedes i ∈ I sei Qi := Qmin (Xi ) elementige Menge X der Minimalquader zu Xi (vgl. Abbildung 5.4). Dann definiere man ξi als Mittelpunkt von Qi . In diesem Falle gilt ˆ i = {ξi } und Qi ⊃ Xi , Qi ⊃ X √ 1 max{|ξi − x| : x ∈ Xi } ≤ 2 diam Qi ≤ 2d diam(Xi ).

(5.25)

ˇ c) Eine andere, etwas aufw¨ andigere Wahl w¨ are das Cebyˇ sev-Zentrum ξi von Xi (vgl. Anmerkung 4.2.2). Im Weiteren nehmen wir an, dass Xi und Xτ durch ˆ i = {ξi } X

(i ∈ I),

ˆ τ = {ξi : i ∈ τ } X

(τ ⊂ I)

(5.26)

ˆ i := Xi gesetzt). ersetzt werden (falls Xi schon einelementig ist, wird X F¨ ur unterschiedliche Indizes i1 , . . . , im kann der Knotenpunkt ξi1 = ξi2 = . . . mehrfach auftreten. Beispiele sind i) Finite-Element-Ans¨ atze, die im gleichen Knotenpunkt Basisfunktionen sowohl f¨ ur den Wert als ¨ auch f¨ ur Ableitungen besitzen, oder ii) Systeme von Abb. 5.4. Außeres Differentialgleichungen, bei denen Basisfunktionen im Rechteck: Minimalgleichen Punkt f¨ ur verschiedene Komponenten des Sys- quader Qτ ⊃ Xτ , ˆ τ , inneres tems auftreten. Sei m die maximale Anzahl u ¨berein- Kreise: X ˆτ ˆτ ⊃ X Rechteck: Q stimmender Knotenpunkte: % $ (5.27a) m := max # {j ∈ I : ξj = x} : x ∈ Rd . Bei der geometrie-basierten Konstruktion werden Indizes nur aufgrund ihrer Knotenpunkte ξj bewertet, sodass Indizes mit u ¨bereinstimmenden ξj nicht 6

Eine formale Definition ist z.B. Q :=

>

{Q ⊃ X : Q achsenparalleler Quader}.

98

5 Matrixpartition

getrennt werden k¨ onnen. Dies induziert die folgende Forderung an die Bewertungsfunktion Gr¨ osse: #τ ≤ m



Gr¨ osse(τ ) = f alse.

(5.27b)

Im Standardfall (5.19) muss somit nmin ≥ m gew¨ahlt werden. Die folgenden Konstruktionen werden Cluster τ und zugeh¨orige Quader ˆ τ erzeugen, sodass (vgl. Abbildung 5.4) Q  I ˆτ ⊂ Q ˆτ , ˆ τ = QτII gem¨aß §5.4.2.2 oder X (5.28) wobei Q Qτ gem¨aß §5.4.2.3. Wir fassen zusammen: Xi , Xτ : exakte Cluster, Qi , Qτ : Quader zu Xi , Xτ ,

ˆi, X ˆ τ : Ersatzcluster, X ˆi, Q ˆ τ : Quader zu X ˆi, X ˆτ . Q

ˆ i , treten keine weiteren Fragen auf. Andernfalls wird in §5.4.5 Falls Xi = X ˆ i erzeugt werden bzw. wie diese diskutiert, welche Ungenauigkeiten durch X zu korrigieren sind. 5.4.2.2 Erste Variante: Regelm¨ aßige Teilquader QIτ Der (achsenparallele) Minimalquader zu einem Cluster τ (Teilmenge von I) ergibt sich als Resultat von function Minimalquader(τ ); begin for i = 1 to d do {d ist Dimension des Rd } begin a[i] := minj∈τ ξj,i ; ˆ j = {ξj }} b[i] := maxj∈τ ξj,i {ξj ist das Element von X end; 7d Minimalquader := i=1 [a[i], b[i]] end;

(5.29)

Im Folgenden bezeichnen Q, QS[1], QS[2] achsenparallele Quader. Die folgende Prozedur zerlegt sowohl einen Quader Q in Teilquader QS[1], QS[2] als auch den Cluster τ in die S¨ ohne σ[1] und σ[2]. F¨ ur die Eingabeparameter ur alle j ∈ τ. Nach Ausf¨ uhrung der Q, τ wird vorausgesetzt, dass ξj ∈ Q f¨ ˙ ur alle j ∈ σ[i] (i = Prozedur gilt dann σ[1]∪σ[2] = τ und ξj ∈ QS[i] f¨ 1, 2). Man beachte, dass die Halbierung des Quaders in Richtung der l¨angsten Ausdehnung stattfindet (vgl. j aus Zeile 4 der nachfolgenden Prozedur).

5.4 Konstruktion des Clusterbaums T (I)

procedure ZerlegungGeometrisch(Q, QS, τ, σ); {Q, τ Eingabe, QS[1 : 2], σ[1 : 2] Ausgabe} 7d begin {sei Q = i=1 [ai , bi ] mit ai ≤ bi } bestimme ein j mit bj − aj = max bi − ai 1≤i≤d 7j−1 7d QS[1] := i=1 [ai , bi ] × [aj , aj + 12 (bj − aj )] × i=j+1 [ai , bi ]; 7j−1 7d QS[2] := i=1 [ai , bi ] × [aj + 12 (bj − aj ) , bj ] × i=j+1 [ai , bi ];

99

(5.30)

σ[1] := ∅; σ[2] := ∅; for all j ∈ τ do if ξj ∈ QS[1] then σ[1] := σ[1] ∪ {j} else σ[2] := σ[2] ∪ {j} end; Falls ξj ∈ QS[1]∩QS[2], ist die Zuordnung zu σ[1] bzw. σ[2] beliebig; o.B.d.A. wird hier σ[1] gew¨ ahlt. Ein Baum ist durch die Angabe von V (Knotenmenge), root(T ) (Wurzel) und der Sohnabbildung S definiert (vgl. Definition A.2.1). Die Sohnmengen werden in der nachfolgenden Prozedur als Feld S[τ ] u ¨ber alle Indizes τ ∈ V beschrieben und definiert. procedure SohnCluster(τ, Q, V, S); {Eingabe: τ : Cluster, Q: zugeh¨ origer Quader, Ausgabe: V : Clustermenge, S : Feld der Sohnmengen} begin S[τ ] := ∅; {S ist Sohnmenge} if Gr¨ osse(τ ) then begin ZerlegungGeometrisch(Q, QS[1 : 2], τ, σ[1 : 2]); for i = 1, 2 do if σ[i] = ∅ then begin V := V ∪ {σ[i]}; S[τ ] := S[τ ] ∪ {σ[i]}; SohnCluster(σ[i], QS[i], V, S) end end end;

(5.31)

Sei I = ∅. Der Baum T (I) := (V, root(T ), S) bestehend aus der Knotenmenge V, der Wurzel und der Sohnabbildung S wird definiert mittels ˆ I ); root(T ) := I; SohnCluster(I, Q, V, S); V := {I} ; Q := Qmin (X

(5.32)

Im Folgenden identifizieren wir T (I) wieder mit V und schreiben z.B. τ ∈ T (I) statt τ ∈ V . Der zu τ konstruierte Quader Q sei mit QIτ bezeichnet. Aufgrund ur alle j ∈ τ, d.h. der Konstruktion (5.30) hat er die Eigenschaft ξj ∈ QIτ f¨ ˆ τ ⊂ QIτ wie in (5.28) verlangt. X Die Eigenschaften des Baumes T (I) werden diskutiert in Anmerkung 5.4.2. Vorausgesetzt sei (5.27b). Dann terminiert der Algorithmus und produziert einen Baum, wobei f¨ ur alle Cluster τ ∈ T (I) die Anzahl der S¨ ohne durch 2 beschr¨ ankt ist, aber #S(τ ) = 1 nicht ausgeschlossen ist. Seien δmin := min{ξi − ξj ∞ : i, j ∈ I mit ξi = ξj } und δmax := max{ξi − ξj ∞ : i, j ∈ I}. Dann ist die Tiefe des Baumes beschr¨ankt durch depth(T (I)) ≤ d log2 (δmax /δmin ) .

(5.33)

100

5 Matrixpartition

Beweis. F¨ ur den Minimalquader Q zu I (vgl. (5.32)) gilt diam∞ (Q) = δmax . Die Halbierung der Quader entlang der l¨ angsten Seite garantiert, dass jeder Quader nach d Schritten einen halbierten Durchmesser hat. Nach L Schritten ur haben alle Quader QIτ einen Durchmesser diam∞ (QIτ ) = δmax /2 L/d . F¨ L = d log2 (δmax /δmin ) ist δmax /2 L/d ≤ δmin , sodass nach Definition von δmin jeder Cluster τ identische Knotenpunkte enthalten muss und gem¨aß (5.27b) Gr¨ osse(τ ) = f alse gilt. Damit induziert die Prozedur SohnCluster keinen weiteren rekursiven Aufruf. Anmerkung 5.4.3. Die zu τ ∈ T (I) geh¨ origen Quader QIτ entstehen nach Konstruktion durch eine regelm¨ aßige Zerlegung. Insbesondere sind alle Quader QIτ f¨ ur Cluster τ ∈ T () (I) der gleichen Stufe  bis auf eine Translation identisch. Auf der anderen Seite sind zwei ung¨ unstige Eigenschaften anzumerken: 1) Die QIτ sind im Allgemeinen nicht minimal. 2) Teilquader, die von ZerlegungGeometrisch erzeugt werden, entfallen, wenn diese keinen Knoten von τ enthalten. Dies ist der Grund, dass #S(τ ) = 1 auftreten kann. Wegen der Bezeichnungsproblematik im Falle von #S(τ ) = 1 sei auf Bemerkung 5.3.2 verwiesen. 5.4.2.3 Zweite Variante: Minimalquader QII τ Wenn man die identische Gr¨ oße der Quader {QIτ : τ ∈ T () (I)} nicht ben¨otigt und stattdessen eher einen Baum kleinerer Tiefe bevorzugt, sollte man die Quader zu τ als Minimalquader definieren. Hierzu ersetzt man die Prozedur ZerlegungGeometrisch in SohnCluster durch die folgende: procedure ZerlegungGeometrischMinimal(Q, QS, τ, σ); begin ZerlegungGeometrisch(Q, QS, τ, σ); for i = 1, 2 do QS[i] := Minimalquader(σ[i]) end;

(5.34)

Die hierdurch erzeugten Quader seien als QII τ bezeichnet. Die Abbildung 5.5 entspricht der Variante (5.34).

Abb. 5.5. Der linke Minimalquader, der die Knotenpunkte ξi enth¨ alt, wird entlang der x-Achse halbiert (Mitte). Im n¨ achsten Schritt werden die neuen Minimalquader entlang der y-Richtung zerlegt (rechts).

5.4 Konstruktion des Clusterbaums T (I)

101

Anmerkung 5.4.4. a) Im Falle von (5.34) ist T (I) ein Bin¨arbaum. Seine Tiefe ist nicht gr¨ oßer als die f¨ ur T (I) aus (5.33). ˆτ sind eindeutig durch die Knotenpunkte {ξi : i ∈ τ } = X b) Die Quader QII τ ˆ gegeben, da QII = Q ( X ). min τ τ c) Die beiden Varianten aus §5.4.2.2 und §5.4.2.3 produzieren B¨aume, die im Allgemeinen verschieden sind. Wie Abbildung 5.5 illustriert, sind die entstehenden Quader QII τ im Allgemeinen von unterschiedlicher Gestalt und Gr¨ oße. 7d ur alle Beweis. a) Sei QII τ = i=1 [ai , bi ] der Minimalquader. Falls ai = bi f¨ i, wird τ zum Blatt (vgl. (5.27b)). Andernfalls sei i so, dass bi − ai maximal ist. Sowohl zu ai als auch zu bi muss es nach Definition eines Minimalquaders Indizes ja und jb aus τ geben, sodass ξja ,i = ai und ξjb ,i = bi . Eine Halbierung erzeugt daher zwei Teilquader, denen nichtleere S¨ohne σ1 und σ2 entsprechen. Damit kommen nur die F¨ alle #S(τ ) = 0 und #S(τ ) = 2 vor. 5.4.3 Kardinalit¨ atsbasierte Konstruktion Die nachfolgenden Aussagen gelten f¨ ur den Fall m = 1 in (5.27a). Die Verallgemeinerung f¨ ur m > 1 ist dem Leser u ¨berlassen. Bei der vorherigen Konstruktion spielt die Verteilung der Anzahlen #σ[1] und #σ[2] keine Rolle. Es kann aber auch eine Zerlegung gew¨ unscht werden, sodass #σ[1] und #σ[2] ¨ ahnlich groß sind (im optimalen Falle |#σ[1] − #σ[2]| ≤ 1). Hierzu ist die Prozedur ZerlegungGeometrisch in (5.31) durch die folgende zu ersetzen, wobei #τ ≥ 2 vorausgesetzt ist: procedure ZerlegungKardinalit¨ at(Q, QS, τ, σ); {Q, τ Eingabe, QS[1 : 2], σ[1 : 2] Ausgabe} 7d begin {Sei Q = i=1 [ai , bi ] mit ai ≤ bi } bestimme ein j mit bj − aj = max bi − ai 1≤i≤d

sortiere τ = {i1 , . . . , i#τ } derart, dass f¨ ur 1 ≤ k ≤  ≤ #τ gilt: ξik ,j ≤ ξi ,j ; σ[1] := {i1 , . . . , i#τ /2 }; σ[2] := {i#τ /2+1 , . . . , i#τ }; for i = 1, 2 do QS[i] := Minimalquader(σ[i]) end;

(5.35)

Der Vorteil der kardinalit¨ atsbasierten Konstruktion liegt in der minimalen Baumtiefe (d.h. der Baum ist balanciert). Anmerkung 5.4.5. Bei Verwendung von (5.35) betr¨agt die Baumtiefe depth(T (I)) ≤ log2 (#I) . 5.4.4 Implementierung und Aufwand F¨ ur die Implementierung des Baumes ist die Nummerierung aus Konstruktion 5.3.6 hilfreich. Diese kann parallel zur Erzeugung des Baumes durchgef¨ uhrt werden:

102

5 Matrixpartition

1. I sei beim Start beliebig nummeriert, 2. wird τ in zwei S¨ ohne σ1 , σ2 zerlegt, so wird die Anordnung so ge¨andert, dass alle i ∈ σ1 vor jedem j ∈ σ2 stehen, 3. bei Erreichen der Bl¨ atter ist die Nummerierung beendet. Die Bestimmung des Minimalquaders zu τ kostet O(#τ ). Ebenso ist der Aufwand f¨ ur ZerlegungGeometrisch(Q, QS, τ, σ) proportional zu #τ. Damit  ist der Gesamtaufwand O( τ ∈T (I) #τ ), wobei  τ ∈T (I)

#τ =



#τ · (level(τ ) + 1) ≤ #I · (depth(T (I)) + 1) .

τ ∈L(T (I))

Zum Beweis beachte man, dass jedes τ ∈ L(T (I)) als Teilmenge in level(τ )+1 Vorg¨ angern auftritt und dass τ ∈L(T (I)) #τ = #I. Im Falle von (5.35) kostet die Sortierung O(#τ · log(#τ )) Operationen. 5.4.5 Auswertung der Zul¨ assigkeitsbedingung Die Zul¨ assigkeitsbedingung (5.8) verwendet die Gr¨oßen diam(τ ) = diam(Xτ ) und dist(τ, σ) = dist(Xτ , Xσ ). In den obigen Konstruktionen werden die Menˆ τ ersetzt. W¨ahrend gen Xτ durch die einfacher zu verwaltenden Mengen X diam(τ ) und dist(τ, σ) im Allgemeinen nicht billig berechnet werden k¨onnen, ur Quader Q, Q , Q leicht k¨ onnen gem¨ aß (5.7a,b) diam(Q) und dist(Q , Q ) f¨ ausgewertet werden. Im Weiteren sind folgende F¨alle zu unterscheiden. 1) Falls Quader Qτ ⊃ Xτ (τ ∈ T (I)) als Obermengen vorliegen, kann die Zul¨ assigkeitsbedingung anhand dieser Quader bestimmt werden (vgl. Lemma 5.2.6). ˆ τ aus (5.26) verwendet wird, 2) Wenn anstelle von Xτ die Ersatzmenge X I ˆ ˆ gelten die Inklusionen Qτ ⊃ Xτ (bei Konstruktion (5.32)) bzw. QII τ ⊃ Xτ ˆ ˆ (bei Konstruktion (5.34)), aber im Allgemeinen nicht Qτ ⊃ Xτ , wobei Qτ je nach Konstruktion f¨ ur QIτ oder QII τ steht. 2a) Entweder ersetzt man die echte Zul¨ assigkeitsbedingung (5.8) durch ˆ τ ), diam(Q ˆ σ )} ≤ η dist(Q ˆτ , Q ˆσ) min{diam(Q ˆ τ := QIτ bzw. Q ˆ τ := QII mit Q τ .

(5.36)

Dann muss man beachten, dass diese Ungleichung im Allgemeinen nicht (5.8) impliziert. 2b) Oder man f¨ uhrt eine st¨ arkere Ersatz-Zul¨assigkeitsbedingung ein, die (5.8) impliziert. Zun¨ achst wird untersucht, wie groß der Fehler ist, wenn man die “falsche” Zul¨ assigkeitsbedingung (5.36) verwendet.

5.4 Konstruktion des Clusterbaums T (I)

103

Anmerkung 5.4.6. Sei Qi := Qmin (Xi ) wie in Anmerkung 5.4.1b. Dann gelten die Ungleichungen ˆ τ ) + maxj∈τ diam(Qj ), diam(τ ) ≤ diam(Q ˆτ , Q ˆ σ ) − maxj∈τ ∪σ diam(Qj ) dist(τ, σ) ≥ dist(Q

(5.37)

ˆ τ ) (vgl. Anmerkung 5.4.4b), wie sie beispielsweise von ˆ τ ⊃ Qmin (X f¨ ur alle Q ˆ τ sind die mittels (5.31) (5.34) erzeugt werden. Eine m¨ ogliche Wahl von Q I ˆ konstruierten Quader Qτ ⊃ Xτ . Beweis. Seien x, y ∈ Xτ . F¨ ur geeignete i, j ∈ τ gilt x ∈ Xi ⊂ Qi und y ∈ Xj ⊂ Qj . Mit Hilfe der Quadermittelpunkte sch¨atzen wir ab: |x − y| ≤ |x − ξi | + |ξi − ξj | + |ξj − y| 1 1 ≤ diam(Qi ) + |ξi − ξj | + diam(Qj ) 2 2 ≤ diam(QII τ ) + max diam(Qj ), j∈τ

ur dist(τ, σ). da ξi , ξj ∈ QII τ . Entsprechend beweist man die Ungleichung f¨ Die Absch¨ atzung zeigt, dass diam(τ ) und dist(τ, σ) jeweils h¨ochstens um ur die Gr¨ oßenordnung diam(Qj ) falsch ausgewertet werden. Insbesondere f¨ gr¨ oßere Cluster ist dies ein vernachl¨ assigbarer Anteil, sodass die Ersetzung von (5.8) durch (5.36) nicht unvern¨ unftig sein muss. Im Weiteren werden wir dem obigen Punkt 2b folgen und nach einer Ersatzbedingung suchen, die (5.8) impliziert. Dazu definieren wir die Gr¨oßen ˆ τ ) + maxj∈τ diam(Qj ),  ) := diam(Q diam(τ ? σ) := dist(Q ˆ σ ) − maxj∈τ ∪σ diam(Qj ), ˆτ , Q dist(τ,

(5.38)

ˆ τ ein Quader mit Q ˆ τ ⊃ Qmin (X ˆ i ) sei und X ˆ i in (5.26) definiert ist. wobei Q Die Ersatz-Zul¨ assigkeitsbedingung lautet ? σ).  ), diam(σ)}  min{diam(τ ≤ η dist(τ,

(5.39)

Aus (5.37) und (5.39) folgt das Lemma 5.4.7. (5.39) impliziert die Standard-Zul¨ assigkeitsbedingung (5.8). Damit kann der Algorithmus (5.53) mit der mittels (5.38) definierten Ersatz-Zul¨ assigkeitsbedingung Adm durchgef¨ uhrt werden. Die entstehende Partition ist zul¨ assig im strengen Sinne von (5.8): min{diam(τ ), diam(σ)} ≤ η dist(τ, σ).

104

5 Matrixpartition

5.5 Blockclusterbaum T (I × J ) Will man statt Vektoren x ∈ RI Matrizen M ∈ RI×J partitionieren, so ist I durch die Indexmenge I × J zu ersetzen. Man beachte, dass eine Partition von I×J nicht beliebige Teilmengen, sondern nur solche mit einer Produktstruktur zul¨ asst (vgl. Definition 1.3.6). W¨ urde man die Konstruktion von §5.3 direkt u abe sich nach Konstruktion 5.3.6 ein Aufwand ¨bertragen (I × J statt I), erg¨ von # (I × J) = #I · #J, der im Falle von #I, #J = O(n) viel zu groß ausfiele. Man kann aber die Abspeicherung des Blockclusterbaums T (I × J) v¨ ollig vermeiden, da die notwendigen Informationen bereits in T (I) und T (J) enthalten sind. Wir geben zun¨ achst die Beschreibung des stufentreuen Blockclusterbaums (vgl. §5.5.1). Hierdurch wird der Blockclusterbaum T (I × J) eindeutig durch die Clusterb¨ aume T (I) und T (J) definiert. M¨ogliche Verallgemeinerungen werden in §5.5.3 behandelt. 5.5.1 Definition des stufentreuen Blockclusterbaums Seien T (I) und T (J) Clusterb¨ aume im Sinne von (5.17a-c). Außerdem m¨ogen osseT (J) die Bedingungen (5.18) und (5.24) erf¨ ullen. Wir Gr¨ osseT (I) und Gr¨ definieren T (I × J) mittels der Wurzel I × J ∈ T (I × J) und der folgenden Rekursion, die die Sohnabbildung S = ST (I×J) definiert: Konstruktion 5.5.1 (stufentreue Blockclusterbaumkonstruktion) 1) Setze I × J als Wurzel. 2) Die Rekursion starte mit b = τ × σ f¨ ur τ = I und σ = J. 2a) Sei b = τ × σ; definiere die Sohnmenge als  ∅, falls ST (I) (τ ) = ∅ oder ST (J) (σ) = ∅, S(b) := {τ  × σ  : τ  ∈ ST (I) (τ ), σ  ∈ ST (J) (σ)} sonst. 2b) Wende 2a) auf alle S¨ ohne von b an, wenn diese existieren. Die Eigenschaften des entstehenden Baumes T (I × J) sind zusammengefasst in  Satz 5.5.2. a) F¨ ur alle b ∈ T (I × J)\L(T (I × J)) ist b = b ∈S(b) b eine disjunkte Vereinigung. b) Alle b ∈ T (I × J) haben die Gestalt b = τ × σ mit τ ∈ T (I) und σ ∈ T (J), f¨ ur die außerdem gilt: level(b) = level(τ ) = level(σ)

(“Stufentreue”).

(5.40)

c) Definiert man Gr¨ osseT (I×J) (τ × σ) :⇔



 Gr¨ osseT (I) (τ ) und Gr¨ osseT (J) (σ) ,

(5.41a)

5.5 Blockclusterbaum T (I × J)

105

so erf¨ ullt Gr¨ osseT (I×J) die zu (5.18) analogen Eigenschaften: Gr¨ osseT (I×J) : T (I × J) → {true, f alse}

mit



osseT (I) (b ) = true, Gr¨ osseT (I) (b) = true und b ⊃ b ⇒ Gr¨ ur alle b ∈ L(T (I × J)), Gr¨ osseT (I) (b) = f alse f¨

(5.41b)

wobei mit (5.24) auch die umgekehrte Implikation b ∈ L(T (I × J)) ⇒ Gr¨ osseT (I) (b) = f alse gilt. Definition (5.41a) impliziert im Falle I = J die Symmetrie: osseT (I×I) (σ × τ ). Gr¨ osseT (I×I) (τ × σ) = Gr¨ d) Erf¨ ullt einer der B¨ aume T (I) oder T (J) die Bedingung (5.17d), so gilt Entsprechendes f¨ ur T (I × J), n¨ amlich #ST (I×J) (b) = 1. e) F¨ ur die Baumtiefe gilt depth(T (I × J)) = min{depth(T (I)), depth(T (J))}. f ) Sind T (I) und T (J) Bin¨ arb¨ aume (was der Regelfall ist), so liefert die stufentreue Konstruktion 5.5.1 einen quatern¨ aren Baum (sogenannten “quadtree”): Jeder Block

wird in

zerlegt.

 Beweis. a) {τ  ×σ  : τ  ∈ ST (I) (τ )} = τ ×σ  gilt wegen (5.17b). Entsprechend liefert die Vereinigung u ¨ber σ  ∈ ST (J) (σ) den Block b = τ × σ. Damit gilt   b ∈S(b) b = b im Sinne der disjunkte Vereinigung. b) Aussage b) gilt f¨ ur die Wurzel und vererbt sich auf die Nachfolger. c) Zum Nachweis von (5.41b) beachte man, dass b = τ × σ ∈ L(T (I × J)) genau dann gilt, wenn entweder τ ∈ L(T (I)) oder σ ∈ L(T (J)). d) Man verwende #S(b) = #S(τ ) · #S(σ) f¨ ur b = τ × σ. Wenn Gr¨ osseT (I) und Gr¨ osseT (J) wie in Beispiel 5.3.1 mit dem gleichen nmin definiert sind, ergibt sich die Standarddefinition Gr¨ osseT (I×J) (τ × σ) := (min{#τ, #σ} > nmin ) .

(5.42)

5.5.2 Verallgemeinerung der Definition Auch wenn die Konstruktion des stufentreuen Blockclusterbaums in der Praxis der Regelfall ist, werden nachfolgend alternative Konstruktionen benannt werden, die etwas allgemeinere Eigenschaften ergeben. Definition 5.5.3. Der aus T (I) und T (J) erzeugte Blockclusterbaum T (I × J) soll die folgenden Eigenschaften besitzen, wobei S = ST (I×J) die Sohnabbildung ist:

106

5 Matrixpartition

T (I) und T (J) seien Clusterb¨ aume im Sinne von (5.17a-c),

(5.43a)

I × J sei Wurzel des Baumes T (I × J),

(5.43b)

f¨ ur alle T (I × J)\L(T (I × J)) gelte:  b∈ b = b ist disjunkte Vereinigung,

(5.43c)

b ∈S(b)

alle b ∈ T (I × J) haben die Gestalt b = τ × σ mit τ ∈ T (I) und σ ∈ T (J),

(5.43d)

   f¨ ur b = τ × σ ∈ T (I × J)\L(T  (I × J)),  b = τ × σ ∈ S(b) gelte  τ  = τ oder τ  ∈ ST (I) (τ ) und σ  = σ oder σ  ∈ ST (I) (σ) ,

(5.43e)

eine Funktion Gr¨ osseT (I×J) : P(I × J) → {true, f alse} existiere mit Gr¨ osseT (I×J) (b) = true und (5.43f) osseT (I×J) (b ) = true, b ⊃ b ⇒ Gr¨ f¨ ur alle b ∈ L(T (I × J)) gelte Gr¨ osseT (I×J) (b) = f alse,

(5.43g)

f¨ ur alle b ∈ T (I × J) gelte #S(b) = 1.

(5.43h)

Dabei ist die letzte Bedingung (5.43h) wie zuvor (5.17d) keine strikte Bedingung (vgl. nachfolgende Anmerkung 5.5.4a). Anmerkung 5.5.4. a) Ist (5.17d) weder f¨ ur T (I) noch T (J) erf¨ ullt, kann der Fall eintreten, dass (5.43e) notwendigerweise zu b = S(b) und damit zu einer Verletzung von (5.43h) f¨ uhrt. F¨ ur einen Blockclusterbaum macht es aber wenig Sinn, auf diese Bedingung zu verzichten. Daher ist im Zweifelsfall die Verk¨ urzung des Baumes gem¨ aß Anmerkung A.4.4 durchzuf¨ uhren. b) Eine weitgehende Verallgemeinerung w¨ are die Streichung der Bedingung (5.43e). Wegen (5.43c) ließe sich dann noch folgern: b = τ × σ ∈ T (I × J)\L(T (I × J)) hat S¨ ohne b = τ  × σ  , wobei τ  Nachfolger von τ  und σ Nachfolger von σ sind. c) F¨ ur die durch b → S(b) beschriebene Blockzerlegung k¨onnen im Wesentlichen nur die folgenden drei F¨ alle auftreten: →

,



,



,

(5.44)

wobei die Zweiteilung in den Abbildungen die eventuell allgemeinere Aufteilung in #S(τ ) ≥ 2 bzw. #S(σ) ≥ 2 Teile darstellen m¨oge. Wird Bedingung (5.43h) nicht gefordert, ist zus¨ atzlich



m¨oglich.

d) Bedingung (5.43d) folgt aus (5.43b,e) Die Bedingungen (5.43b,c,f,g) stimmen mit denen aus (5.17a,b) und (5.18) u ¨berein. Damit ist der Blockclusterbaum T (I ×J) ein Clusterbaum zur Indexmenge I × J im Sinne der Definition aus §5.3.1. Die Konsistenz zu T (I) und T (J) wird durch (5.43d) garantiert. Die Eigenschaft (5.43e) wird sp¨ ater bei der Matrix-Matrix-Multiplikation hilfreich sein

5.5 Blockclusterbaum T (I × J)

107

(vgl. §7.4.2.5). Mit Hilfe von Gr¨ osseT (I×J) k¨ onnen kleine Bl¨ocke identifiziert werden. Bedingung (5.43g) sagt aus, dass die Bl¨atter von T (I × J) “kleine” Bl¨ ocke sind (vgl. (5.42)). Anmerkung 5.5.5. Der stufentreue Fall b = τ × σ ∈ T () (I × J) ⇒ τ ∈ T () (I), σ ∈ T () (J) (vgl. Definition A.2.3) liegt genau dann vor, wenn T (I × J) wie in Konstruktion 5.5.1 gebildet ist. 5.5.3 Alternative Konstruktion von T (I × J ) aus T (I) und T (J ) ¨ Ublicherweise werden T (I) und T (J) als bin¨ are B¨aume konstruiert (vgl. §5.4). Gem¨ aß Satz 5.5.2f ist der Blockclusterbaum T (I × J) aus Konstruktion 5.5.1 dann ein quatern¨ arer Baum. Auch hier kann man es vorziehen, einen bin¨aren Baum zu bilden. Die entsprechende Variante der Konstruktion 5.5.1 besteht darin, einen Zwischenschritt einzuf¨ ugen, in dem ein Block nur in Zeilen- oder Spaltenrichtung in zwei Bl¨ ocke zerlegt wird: →



oder





.

F¨ ur die Auswahl zwischen den beiden M¨ oglichkeiten gibt es zwei prinzipielle M¨ oglichkeiten: 1. Die Zerlegung wird von den individuellen Clustern τ und σ abh¨angig gemacht, z.B. wird der Cluster in Richtung der gr¨oßeren Ausdehnung zerlegt, 2. die Zerlegungsvariante h¨ angt nur von den Stufenzahlen level(τ ) und level(σ) ab. Beispielsweise entspricht τ wird zerlegt, falls level(τ ) = level(σ), σ wird zerlegt, falls level(τ ) = level(σ) + 1,

(5.45a)

dem zweiten Fall. In allen F¨ allen wird die Baumtiefe gegen¨ uber der stufentreuen Variante in etwa verdoppelt. Die Cluster τ, σ zu Bl¨ ocken b = τ × σ aus T () (I × J) geh¨oren im Allgemeinen nicht zur Stufe . Der explizite Algorithmus zur Konstruktion des Blockclusterbaumes T = T (I × J) mit der Eigenschaft (5.45a) sieht wie folgt aus: 1) Start: T := {I × J},  := 0 2) Rekursion f¨ ur alle b ∈ T () mit Gr¨ osse(b) = true: 2a1 ) falls “ gerade” ST (I×J) (b) := {τ  × σ : τ  ∈ ST (I) (τ )} 2a2 ) falls “ ungerade” ST (I×J) (b) := {τ × σ  : σ  ∈ ST (J) (σ)} 2b) T := T ∪ ST (I×J) (b) 2c) Abbruch, falls ST (I×J) (b) = ∅ f¨ ur alle b ∈ T () . Sonst  :=  + 1 und Wiederholung.

(5.45b)

108

5 Matrixpartition

Man beachte, dass zum Beispiel {τ  × σ : τ  ∈ ST (I) (τ )} die leere Menge darstellt, wenn ST (I) (τ ) = ∅. Die in Schritt 2c hinzukommenden Knoten geh¨oren zu T (+1) . Wenn T (I) und T (J) bin¨ are B¨ aume sind, ist auch T (I × J) bin¨ar. Eine andere Modifikation betrifft den Fall “ST (I) (τ )=∅ oder ST (J) (σ)=∅”, uhrt. Stattdessen l¨asst sich der in Konstruktion 5.5.1 zu ST (I×J) (b) = ∅ f¨ definieren: ST (I×J) (b) ⎧  ⎨ {τ × σ : τ  ∈ ST (I) (τ )} = {τ × σ  : σ  ∈ ST (J) (σ)} ⎩ ∅

(5.46) falls ST (I) (τ ) = ∅ und ST (J) (σ) = ∅, falls ST (I) (τ ) = ∅ und ST (J) (σ) = ∅, falls ST (I) (τ ) = ∅ und ST (J) (σ) = ∅.

Alle genannten Modifikationen liefern einen Blockclusterbaum, der der Definition 5.5.3 gen¨ ugt. Die Definition (5.46) wird in §8 f¨ ur die H2 -Matrizen von Interesse sein, da dort die Bl¨ atter b = τ × σ durch Gr¨ osse(b) = f alse



Gr¨ osse(τ ) = Gr¨ osse(σ) = f alse,

(5.47)

d.h. im Standardfall durch max{#τ, #σ} > nmin festzulegen sind. Daher muss z.B. im Falle b = τ × σ mit S(τ ) = ∅, aber Gr¨ osse(σ) = true, σ noch weiter zerlegt werden, wie in (5.46) beschrieben. 5.5.4 Matrixpartition Die Begriffe “Matrixpartition” und “Blockpartition” werden synonym verwendet und h¨ aufig zu “Partition” verk¨ urzt. Definition 5.5.6 (Matrixpartition, zul¨ assige Partition). Ein Blockclusterbaum T (I × J) sei gegeben. a) Dann heißt P eine Partition (von I × J), falls P ⊂ T (I × J), b, b ∈ P ⇒ (b = b oder b ∩ b = ∅) .  b∈P b = I × J

(Konsistenz zu T (I × J)) (Disjunktheit) (5.48) ¨ (disjunkte Uberdeckungseigenschaft)

b) Sei eine Zul¨ assigkeitsbedingung Adm gem¨ aß (5.13a,b) gegeben. Wir schreiben Adm(b) := Adm(τ, σ) f¨ ur b = τ × σ. Eine Partition P heißt zul¨ assig (pr¨ azise: Adm-zul¨ assig), falls entweder Adm(b) = true oder Gr¨ osseT (I×J) (b) = f alse

f¨ ur alle b ∈ P.

(5.49)

5.5 Blockclusterbaum T (I × J)

109

Die Bedingung (5.49) besagt, dass alle Bl¨ocke der Partition, die im osse(b) = true), Sinne der Funktion Gr¨ osseT (I×J) hinreichend groß sind (Gr¨ auch zul¨ assig sein m¨ ussen. Im Allgemeinen existiert keine Partition P , die nur aus Adm-zul¨ assigen Bl¨ ocken besteht. Daher ist die Hinzunahme der Charakterisierung mittels Gr¨ osseT (I×J) (b) notwendig. Man beachte, dass P = L(T (I × J)) eine zul¨ assige Partition ist, da Gr¨ osseT (I×J) (b) = f alse f¨ ur alle b ∈ L(T (I × J)) (vgl. (5.43g)). Zur k¨ urzeren Schreibweise von (5.49) f¨ uhren wir die Boolsche Funktion Adm∗ ein:   osseT (I×J) (b) (5.50) Adm∗ (b) := Adm(b) ∨ ¬ Gr¨ osseT (I×J) (b) = f alse). (d.h. Adm∗ (b) = true, falls Adm(b) = true oder Gr¨ In Lemma 5.3.5 l¨ asst sich I sofort durch I × J austauschen. Dies beweist das Lemma 5.5.7. Zu einer Partition P ⊂ T (I × J) sei T (I × J, P ) als Teilbaum T (I × J, P ) := {b ∈ T (I × J) : b hat Nachfolger b ∈ P }

(5.51)

definiert. Zwischen allen Partitionen P ⊂ T (I × J) und allen Teilb¨ aumen T  (I × J) ⊂ T (I × J) (mit gleicher Wurzel I × J) besteht der folgende Isomorphismus: Φ : P → T  (I ×J) := T (I ×J, P )

und

Φ−1 : T  (I ×J) → P := L(T  (I ×J)).

Eine ¨ aquivalente Definition ist “T (I × J, P ) besteht aus allen Vorg¨angern von Bl¨ ocken in P ”. In den nachfolgenden Algorithmen werden sowohl P als auch T (I × J, P ) verwendet. Im einfachsten Fall reicht eine Schleife u ¨ber alle Bl¨ocke von P. In anderen F¨ allen ist es g¨ unstiger, den Baum T (I × J, P ) von der Wurzel her zu durchlaufen, um schließlich zu b ∈ P als den Bl¨attern von T (I × J, P ) zu gelangen. In §5.1.1 wurden verschiedene Ziele formuliert. Unter anderem sollte die Matrix m¨ oglichst wenige Bl¨ ocke enthalten. Dies f¨ uhrt auf die Aufgabe, eine zul¨ assige Partition minimaler Kardinalit¨ at zu konstruieren. ¨ Ubung 5.5.8. Seien P1 und P2 zwei Partitionen P ⊂ T (I × J). Man beweise: a) T (I × J, P1 ) ∩ T (I × J, P2 ) und T (I × J, P1 ) ∪ T (I × J, P2 ) mit entsprechend definierten Sohnmengen sind Teilb¨ aume von T (I ×J) zur gleichen Wurzel. b) min{P1 , P2 } := L (T (I × J, P1 ) ∩ T (I × J, P2 )) ist eine Partition mit den Eigenschaften: ort zu P1 oder P2 ; i) Jeder Block b ∈ min{P1 , P2 } geh¨ ii) ∀ b ∈ P1 ∪ P2 ∀ b ∈ min{P1 , P2 } : b ∩ b = ∅ ⇒ b ⊂ b (d.h. min{P1 , P2 } ist gr¨ ober als P1 und P2 ); iii) # min{P1 , P2 } ≤ min{#P1 , #P2 }.

110

5 Matrixpartition

c) max{P1 , P2 } := L (T (I × J, P1 ) ∪ T (I × J, P2 )) ist eine Partition mit den Eigenschaften: ort zu P1 oder P2 ; i) Jeder Block b ∈ max{P1 , P2 } geh¨ ii) ∀ b ∈ P1 ∪P2 ∀ b ∈ max{P1 , P2 } : b∩b = ∅ ⇒ b ⊃ b (d.h. max{P1 , P2 } ist feiner als P1 oder P2 ); iii) # max{P1 , P2 } ≥ max{#P1 , #P2 }. d) Sind P1 und P2 Adm-zul¨ assige Partitionen, so sind auch min{P1 , P2 } und assig (d.h. die Adm-zul¨assigen Partitionen bilden max{P1 , P2 } Adm-zul¨ einen Verband). e) Unter den Adm-zul¨ assigen Partitionen gibt es eine eindeutige Admzul¨ assige Partition Pmin mit minimaler Kardinalit¨at #Pmin . ¨ Das optimale Pmin aus Ubung 5.5.8e l¨ asst sich sehr einfach berechnen durch den Aufruf assige P artition(I × J) Pmin := minimale zul¨

(5.52)

der folgenden rekursiven Funktion mit dem Wertebereich P(T (I × J)): function minimale zul¨ assige P artition(b); {b ∈ T (I × J)} var P ; {P ∈ P(T (I × J) ist Mengenvariable} begin P := ∅; if Adm∗ (b) then P := {b} {Adm∗ aus (5.50)}  else for all b ∈ S(b) do P := P ∪ minimale zul¨ assige P artition(b ); minimale zul¨ assige P artition := P end;

(5.53)

Man ur Bl¨ atter b ∈ L(T (I × J)) der “else”-Fall nicht auftritt,  beachte, dass f¨ da ¬ Gr¨ osseT (I×J) (b) = true in (5.50) auf Grund von (5.43g). ¨ Ubung 5.5.9. Man formuliere den Algorithmus (5.53) so um, dass der Teilbaum T (I × J, Pmin ) anstelle von Pmin resultiert. Anmerkung 5.5.10 (Aufwand der Pmin -Berechnung). Der Aufwand von (5.52) betr¨ agt O(#Pmin ) gemessen in der Zahl der Aufrufe von Adm(b) und Gr¨ osseT (I×J) (b). Definition 5.5.11 (Nah- und Fernfeld). P ⊂ T (I × J) sei eine zul¨ assige Partition. Dann sind das “Nahfeld” P − und das “Fernfeld” P + definiert durch osseT (I×J) (b) = f alse}, P − := {b ∈ P : Gr¨

P + := P \P − .

(5.54)

¨ Ubung 5.5.12. Man zeige, dass alle b ∈ P + zul¨assig sind (aber b ∈ P − ist nicht notwendigerweise unzul¨ assig).

5.5 Blockclusterbaum T (I × J)

111

Aufgrund der letzten Aussage w¨ are es auch m¨oglich, das Fernfeld als Pˆ + := {b ∈ P : Adm(b) = true} und das Nahfeld als Pˆ − := P \Pˆ + zu definieren. Die kleinen, aber zul¨ assigen Bl¨ ocke w¨ are dann in Pˆ + statt in P − . Wenn ahlt ist, dass f¨ ur b ∈ P − ∩ Pˆ + der Speicheraufwand einer Gr¨ osseT (I×J) so gew¨ R(k)-Matrix M |b ¨ ahnlich zu dem einer vollen Matrix aus Rb ist, hat die Behandlung als volle Matrix den Vorteil, dass kein Genauigkeitsverlust auftritt. Deshalb ist die Einteilung (5.54) im Zweifelsfall vorzuziehen. 5.5.5 Beispiele Wie schon in §5.2.4 ausgef¨ uhrt, verwendet das − − 3 3 Modellbeispiel aus §3 eine Partition P , deren 2 − − − 3 2 Bl¨ocke nicht zul¨ assig sind. Wenn Gr¨ osseT (I×I) 3 − − − 3 3 nicht f¨ ur alle Bl¨ ocke den Wert f alse liefert, folgt 2 3 3 − − − 3 zumindest f¨ ur hinreichend große Matrizen, dass P nicht Adm-zul¨ assig im Sinne von Definition 3 − − − 3 3 2 3 3 − − − 3 5.5.6b ist. In §5.2.4 wurde das Format (5.15) definiert. − − − Im Folgenden gelte die rechte Seite in (5.14) 2 2 33 3 − − ur Xτ (Galerkinnicht nur f¨ ur Xσ , sondern auch f¨ Fall). F¨ ur n = 8 sieht diese Blockstruktur wie Abb. 5.6. Markierungen 2, in Abbildung 5.6 aus. Verwendet man (5.8) mit 3: zul¨assige Bl¨ocke der Stuη = 1 als Zul¨ assigkeitsbedingung Adm, so sind fe 2, 3; Markierung –: nichtalle mit “2” und “3” gekennzeichneten Bl¨ ocke zul¨assige 1 × 1-Bl¨ocke aus P − zul¨ assig. Zum Beispiel gilt f¨ ur alle 1 × 1-Bl¨ ocke b = τ × σ ∈ T (3) (I × I) (vgl. (A.2)) mit der Markierung “3”, dass diam(τ ) = diam(σ) = 2−3 und dist(τ, σ) ≥ 2−3 . Entsprechend ist diam(τ ) = diam(σ) = ur die Bl¨ ocke “2”. F¨ ur die Bl¨ocke “–” ergibt sich 2−2 und dist(τ, σ) ≥ 2−2 f¨ der Abstand dist(τ, σ) = 0, da sich die Tr¨ ager zu τ und σ entweder ber¨ uhren oder u assigkeit (5.8) f¨ ur kein η > 0 erf¨ ullt. ¨bereinstimmen. Damit ist die η-Zul¨ W¨ ahlen wir Gr¨ osseT (I×J) wie in (5.42) mit nmin := 1, so gilt ur alle 1 × 1-Bl¨ocke. Damit ergibt (5.49), Gr¨ osseT (I×J) (b) = f alse f¨ dass die obige Partition zul¨ assig ist. ¨ Ubung 5.5.13. Adm sei mittels (5.8) mit η = 1 gew¨ahlt, w¨ahrend ur Gr¨ osseT (I×J) wie in (5.42) mit nmin := 1 definiert sei. Man zeige, dass f¨ alle n = 2p die aus (5.15) entstehenden Partitionen die Zul¨assigkeitsbedingung (5.49) erf¨ ullen. Dass nmin = 1 eine zu kleine Wahl ist, sieht man daran, dass eine 2 × 2-Rang-1-Matrix ebenso wie eine volle 2 × 2-Matrix vier Speichereinheiten ben¨ otigt. Die Wahl nmin = 2 bedeutet, dass alle auftretenden 2 × 2-Untermatrizen als volle Matrizen behandelt werden und nicht in 1 × 1-Matrizen aufgespalten werden.

112

5 Matrixpartition

5.6 Alternative Clusterbaumkonstruktionen und Partitionen Die bisherigen Konstruktionen ergaben bin¨ are Clusterb¨aume T (I). In §9.2.4 wird ein tern¨ aren Clusterbaum T (I) beschrieben, der auf Anwendungen mit schwach besetzten Matrizen zugeschnitten ist. Die Partition h¨ angt wesentlich von der Zul¨ assigkeitsbedingung ab. In §9.3 wird eine sogenannte schwache Zul¨ assigkeit eingef¨ uhrt, die gr¨obere Partitionen liefert.

6 Definition und Eigenschaften der hierarchischen Matrizen

¨ Ubersicht u ¨ber die Inhalte der nachfolgenden Abschnitte: • • • • • • • •

§6.1: Die Menge H(k, P ) der hierarchischen Matrizen (H-Matrizen) wird definiert. Geeignete Teilmatrizen erben die H-Matrixstruktur. §6.2: Die H-Matrixstruktur ist gegen Transformation mit Diagonalmatrizen und gegen Transposition invariant. §6.3: Der Speicheraufwand einer n × n-H-Matrix ist O(n log∗ n). Die genaue Absch¨ atzung inklusive der Konstanten wird in §6.3.2 mithilfe der oglicht. Gr¨ oße Csp aus (6.4b) erm¨ §6.4: In diesem technischen Kapitel wird gezeigt: Matrizen, die von einer Finite-Element-Diskretisierung stammen, f¨ uhren auf eine Konstante Csp , die nur von der Formregularit¨ at der finiten Elemente abh¨angt. §6.5: Es wird die Frage beantwortet, wie sich die Approximationsfehler der Teilmatrizen auf die Gesamtmatrix auswirken. §6.6: In der Definition von H(k, P ) kann k als fest vorgegebener lokaler Rang verstanden werden. F¨ ur die Praxis interessanter ist eine adaptive Rangfestlegung. §6.7: Die a-priori -Wahl des lokalen Ranges k kann zu groß ausfallen. Deshalb ist in der Praxis eine weitere Rangverkleinerung (“Rekompression”) empfehlenswert. §6.8: Hier wird beschrieben, wie Gleichungsnebenbedingungen, Positivit¨ ats- oder Orthogonalit¨ atsbedingungen ber¨ ucksichtigt werden k¨onnen.

6.1 Menge H(k, P ) der hierarchischen Matrizen In der folgenden Definition ist P eine beliebige Partition, obwohl wir sp¨ater nur an zul¨ assigen Partitionen interessiert sind. P + ist die Teilmenge von P mit Gr¨ osseT (I×J) (b) = true (d.h. Teilmenge der hinreichend großen Cluster, vgl. Definition 5.5.11).

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 6, c Springer-Verlag Berlin Heidelberg 2009 

114

6 Definition und Eigenschaften der hierarchischen Matrizen

Definition 6.1.1 (hierarchische Matrix). Seien I und J Indexmengen, T (I × J) ein Blockclusterbaum und P eine Partition. Ferner sei eine lokale Rangverteilung (6.1) k : P → N0 gegeben. Dann besteht die Menge H(k, P ) ⊂ RI×J der hierarchischen Matrizen (zur Partition P und zur Rangverteilung k) aus allen M ∈ RI×J mit Rang(M |b ) ≤ k(b)

f¨ ur alle b ∈ P + .

(6.2)

Genauer soll f¨ ur alle Bl¨ ocke b ∈ P + gelten, dass M |b ∈ R(k(b), I, J) (vgl. Definition 2.2.3a), d.h. die Faktoren Ab , Bb der Darstellung M |b = Ab Bb sind explizit gegeben. Die Matrixbl¨ ocke M |b mit b ∈ P − werden als volle Matrizen implementiert: M |b ∈ V(b) (vgl. (2.2)). Statt von “hierarchischen Matrizen” werden wir auch kurz von “HMatrizen” sprechen, die nicht mit den H-Matrizen (vgl. [66, Definition 6.6.7]) verwechselt werden sollten, die eine Verallgemeinerung der M-Matrizen sind. Wir werden von H(k, P ) auch als dem H-Matrixformat sprechen. Die Notation R(k, I, J) gibt die Indexmengen I,  J direkt als Parameter an. In der Notation H(k, P ) sind I, J indirekt mittels b∈P = I × J enthalten und werden deshalb nicht noch einmal explizit erw¨ahnt. Die Implementierung der Speicherplatzanforderungen f¨ ur die Faktoren Ab , Bb ist geeignet vorzunehmen, da sonst die Speicherverwaltung insbesondere bei parallelen Anwendungen ung¨ unstige Laufzeiten ergeben kann (vgl. Kriemann [103]). Anmerkung 6.1.2. a) Die Standardwahl von (6.1) ist eine Konstante k ∈ N0 . Wir sprechen dann von hierarchischen Matrizen mit dem lokalen Rang k. b) H¨ aufig wird ein variables k(b) verwendet. Wenn k(b) nur von der Stufenzahl  = level(b) abh¨ angt (vgl. §8.6), schreiben wir k statt k(b). Die Beschr¨ ankung einer hierarchischen Matrix auf einen Blockbereich τ × σ ∈ T (I × J, P ) ist wieder eine hierarchische Matrix: ¨ Ubung 6.1.3. Sei P ⊂ T (I × J) eine Partition und τ × σ ∈ T (I × J, P ) (vgl. Lemma 5.5.7). Die Partition P |τ ×σ := P ∩ P(τ × σ) = {b ∈ P : b ⊂ τ × σ}

(6.3)

von τ × σ sei als “Beschr¨ ankung” von P auf T (τ × σ) (Teilbaum von T (I × J)) definiert. Man zeige, a) dass P |τ ×σ eine Partition von τ × σ ist, die zul¨assig ist, wenn P eine zul¨ assige Partition ist, und b) dass jedes M ∈ H(k, P ) zu einer hierarchischen Untermatrix M |τ ×σ ∈ uhrt, H(k, P |τ ×σ ) f¨ c) dass die Definition (6.3) f¨ ur allgemeine Bl¨ocke τ × σ ⊂ I × J genau dann eine Partition von τ × σ darstellt, wenn τ × σ konsistent zu P ist, das

6.2 Elementare Eigenschaften

115

soll heißen: τ × σ ist darstellbar als Vereinigung von Teilbl¨ocken von P . Die Konsistenz impliziert, dass τ ∈ T (I) und σ ∈ T (J). d) Sei τ × σ nicht konsistent im obigen Sinne. Man formuliere eine analoge Aussage M |τ ×σ ∈ H(k, P  ) mit geeignetem P  .

6.2 Elementare Eigenschaften Anmerkung 6.2.1 (Diagonalinvarianz). a) Ist M ∈ H(k, P ) (P ⊂ T (I × J) ) und haben D1 ∈ RI×I und D2 ∈ RJ×J Diagonalgestalt, so geh¨oren D1 M , M D2 und D1 M D2 ebenfalls zu H(k, P ). b) Man streiche in T (I) alle kleinen, nicht in P auftretenden Cluster: T  (I) := {τ ∈ T (I) : es gibt ein τ ∗ ∈ T (I) und ein τ ∗ × σ ∈ P mit τ ∗ ⊂ τ }. Die Blattmenge π := L (T  (I)) beschreibt eine Vektorpartition und π × π eine uglich π × π blockdiagonal ist Tensor-Matrixpartition. Falls D1 bez¨ ur alle α, β ∈ π mit α = β), gilt die Aussage a) (d.h. D1 |α×β = 0 f¨ ebenfalls. Ebenso darf D2 im analogen Sinne blockdiagonal sein. Beweis. Es ist nur die triviale Eigenschaft nachzupr¨ ufen, dass Rangk-Matrizen und volle Matrizen nach Diagonalskalierung ihre Struktur beibehalten. Die Aussage f¨ ur Blockdiagonalmatrizen ist eine einfache Verallgemeinerung. Man beachte, dass andere Struktureigenschaften wie z.B. die ToeplitzStruktur durch Multiplikation mit einer Diagonalmatrix zerst¨ort werden. Anmerkung 6.2.2 (Invarianz gegen Transposition). Die Zul¨assigkeitsbedingung Adm und die Funktion Gr¨ osse seien symmetrisch (vgl. (5.13c) und Satz 5.5.2c). Ist M ∈ H(k, P ) (P ⊂ T (I × J)), so gilt M  ∈ H(k  , P  ) mit der adjungierten Partition P  := {σ × τ : τ × σ ∈ P } ⊂ T (J × I) und k  (σ × τ ) := k(τ × σ). Beweis. Symmetrie von Adm und Gr¨ osse sichert, dass P  die minimale zu l¨ assige Partition f¨ ur M ist. Diese triviale Eigenschaft ist von Bedeutung f¨ ur Varianten der Konjugierten-Gradienten-Verfahren, in denen auch die Matrix-VektorMultiplikation M  x auftritt. Bisher wurde noch nicht von der m¨ oglichen Symmetrie einer Matrix Gebrauch gemacht. Hierf¨ ur l¨ asst sich der Speicheraufwand im Prinzip halbieren. Anmerkung 6.2.3. Es sei vorausgesetzt, dass P symmetrisch sei, d.h. P = P  mit P  aus der letzten Anmerkung. Ist dann M ∈ H(k, P ) eine symmetrische Matrix, so brauchen f¨ ur b = τ × σ und b = σ × τ die Faktoren Ab , Bb von   M |b = Ab Bb und M |b = (M |b ) = Bb A b nur einmal gespeichert werden. Gleiches gilt f¨ ur die vollen Matrixbl¨ ocke.

116

6 Definition und Eigenschaften der hierarchischen Matrizen

6.3 Schwachbesetztheit und Speicherbedarf Im Folgenden wird die Gr¨ oße Csp eingef¨ uhrt, die wesentlich in die Absch¨atzung des Speicherbedarfs einer H-Matrix und der Kosten der sp¨ater erkl¨arten Matrixoperationen auftreten wird. 6.3.1 Definition ur “sparsity”. F¨ ur schwach besetzte Der Index “sp” der Gr¨ oße Csp steht f¨ Matrizen aus §1.3.2.5 ist die maximale Anzahl maxi∈I #{j ∈ J : Mij = 0} der Nichtnullelemente pro Zeile ein m¨ ogliches Schwachbesetztheitsmaß, das als Faktor C in die Absch¨ atzung S ≤ C#I f¨ ur den Speicherbedarf bzw. ur die Matrix-Vektor-Multiplikationskosten eingeht. Bei in NM V ≤ 2C#I f¨ den hierarchischen Matrizen wird der Begriff “Schwachbesetztheit” in einem anderen Sinne angewandt. Seien T (I × J) der Blockclusterbaum zu T (I), T (J) und P die Partition. F¨ ur σ ∈ T (J) sollten nur wenige Bl¨ ocke b ∈ P auftreten, die σ als Faktor enthalten. Die Gr¨ oßen Csp,l (τ, P ) := #{σ ∈ T (J) : τ × σ ∈ P } Csp,r (σ, P ) := #{τ ∈ T (I) : τ × σ ∈ P }

f¨ ur τ ∈ T (I), f¨ ur σ ∈ T (J)

(6.4a)

beschreiben, wie h¨ aufig die Cluster τ und σ als Spalten- bzw. Zeilenblock in der Partition P auftreten. Sei  6 (6.4b) Csp (P ) := max max Csp,l (τ, P ) , max Csp,r (σ, P ) . τ ∈T (I)

σ∈T (J)

uhrt; ¨ahnliche Die Gr¨ oße Csp = Csp (P ) wurde von Grasedyck [50] eingef¨ Gr¨ oßen findet man auch in [81, 86]. Allgemeiner kann man f¨ ur jede Teilmenge X ⊂ T (I × J) die Gr¨oßen f¨ ur τ ∈ T (I), Csp,l (τ, X) := #{σ ∈ T (J) : τ × σ ∈ X} f¨ ur σ ∈ T (J), Csp,r (σ, X) := #{τ ∈ T (I) : τ × σ ∈ X} $ % Csp (X) := max maxτ ∈T (I) Csp,l (τ, X) , maxσ∈T (J) Csp,r (σ, X)

(6.5)

definieren. Dabei ist insbesondere der Fall X = T (I × J, P ) (vgl. (5.51)), aber auch X = P + und X = P − von Interesse. Offenbar gilt   (6.6) Csp P ± ≤ Csp (P ) ≤ Csp (T (I × J, P )) . Die Partition aus Abbildung 5.1 geh¨ ort zum Blockclusterbaum T (I × I) mit T (I) aus §5.3.2 zur FormatA A A beschreibung (5.15). Die rechte Skizze zeigt drei mit ‘A’ gekennzeichnete Bl¨ ocke τ × σ, die zum gleichen τ geh¨ oren, sodass Csp,l (τ, P + ) = Csp,l (τ, P ) = 3. Die mit B B ‘B’ gekennzeichneten Bl¨ ocke τ × σ geh¨ oren zu einem τ mit ur die kleinsten Bl¨ocke findet man bis auf Csp,l (τ, P + ) = Csp,l (τ, P ) = 2. F¨ die ersten und letzten beiden Zeilen, dass Csp,l (τ, P − ) = Csp,l (τ, P ) = 6.

6.3 Schwachbesetztheit und Speicherbedarf

117

¨ Ubung 6.3.1. a) F¨ ur das Format aus (5.15) beweise man Csp (T (I × I, P )) = Csp (P ) = Csp (P − ) = 6,

Csp (P + ) = 3

sowie im Falle von #I = 2L Csp,l/r (τ, P ) = Csp,l/r (τ, P + ) ≤ 3, Csp,l/r (τ, P − ) = 0

f¨ ur τ mit level(τ ) < L,

Csp,l/r (τ, P + ) ≤ 3, Csp,l/r (τ, P ) = Csp,l/r (τ, P − ) = 6

f¨ ur τ mit level(τ ) = L.

b) F¨ ur das einfachere Format aus §3.1 zeige man Csp (T (I ×I, P )) = Csp (P ) = Csp (P − ) = 2 und Csp (P + ) = 1. ¨ In der nachfolgenden Ubung wird der Cluster τ in der rechten Seite von (6.4a) durch einen Vorg¨ anger τ  ⊃ τ ersetzt. ¨ Ubung 6.3.2. Seien τ ∈ T (I) und σ ∈ T (J). Man zeige f¨ ur beliebige Teilmengen X ⊂ T (I × J, P ) (z.B. X = P oder X = T (I × J, P )), dass ⊂ (τ, X) := #{σ ∈ T (J) : τ  × σ ∈ X mit τ ⊂ τ  ∈ T (I)} Csp,l ≤ (level(τ ) + 1) Csp (P ) , ⊂ (σ, X) := #{τ ∈ T (I) : τ × σ  ∈ X mit σ ⊂ σ  ∈ T (J)} Csp,r ≤ (level(σ) + 1) Csp (P ) .

(6.7)

Es sei an grad(T (I)) aus Definition A.2.4 erinnert. ¨ Ubung 6.3.3. T (I × J) sei stufentreu (vgl. Konstruktion 5.5.1). Ferner sei T := T (I × J, P ) . Dann gelten die Absch¨ atzungen Csp,l (T ) ≤ C˜sp,l (T ) := grad(T (J)) ·

max

#σ,

max

#τ,

σ∈T (J), τ ×σ∈T \P nicht Adm-zul¨ assig

Csp,r (T ) ≤ C˜sp,r (T ) := grad(T (I)) · τ ∈T (I),  @ Csp (T ) ≤ max C˜sp,l (T ) , C˜sp,r (T ) .

τ ×σ∈T \P nicht Adm-zul¨ assig

Beweis. Sei τ ∈ T () (I). Falls  = 0, ist C˜sp,l (τ, T ) = 1. F¨ ur  > 0 sei τ    der Vater: τ ∈ ST (I) (τ ). Zu jedem nicht Adm-zul¨assigen τ × σ  ∈ T geh¨oren grad(σ) Elemente σ ∈ T (J) aus {σ ∈ T (J) : τ × σ ∈ T }, somit ist Csp,l (τ, T ) = #{σ ∈ T (J) : τ × σ ∈ T } ≤ grad(T (J)) · #{σ  ∈ T (J) : τ  × σ  ∈ T \P nicht Adm-zul¨assig}. Damit folgen die weiteren Absch¨ atzungen.

118

6 Definition und Eigenschaften der hierarchischen Matrizen

6.3.2 Speicherbedarf einer hierarchischen Matrix Zun¨ achst wird die Zahl der Bl¨ ocke abgesch¨ atzt (diese Gr¨oße charakterisiert u.a. den Aufwand f¨ ur die Verwaltung von P ). Lemma 6.3.4. Die Zahl der Bl¨ ocke ist beschr¨ ankt durch #P ≤ (2 min{#I, #J} − 1) Csp (P ) . Beweis. a) Es ist    #P = 1= #{σ ∈ T (J) : τ × σ ∈ P } ≤ Csp (P ) τ ×σ∈P

τ ∈T (I)

τ ∈T (I)

≤ (2#I − 1) Csp (P ) . Durch Vertauschen der Rollen von τ und σ l¨asst sich ebenso die Schranke (2#J − 1) Csp (P ) zeigen. b) In Teil a) wurde #T (I) ≤ 2#I − 1 verwendet (vgl. (A.3a)). Dies erfordert die Annahme #S(v) = 1. Falls diese Annahme falsch ist, ersetze man T (I), T (J) und T (I, J) durch die reduzierten B¨aume gem¨aß Anmerkung A.4.4. Da diese Modifikation nichts an P und Csp (P ) ¨andert, folgt die Behauptung. Anmerkung 6.3.5. Die Absch¨ atzung von #T (I) durch 2#I − 1 kann verbessert werden, wenn die Bl¨ atter τ ∈ L(T (I)) zum Beispiel die Bedingung 1 ullen. Dann folgt #T (I) ≤ (4#I/nmin − 1) und da2 nmin ≤ #τ ≤ nmin erf¨ mit #P ≤ (4 min{#I, #J}/nmin − 1) Csp (P ). Als N¨ achstes wollen wir den Speicherbedarf SH (k, P ) f¨ ur hierarchische Matrizen aus H(k, P ) mit Partition P und lokalem Rang k (k ist hier als eine Konstante angenommen) absch¨ atzen. Es sei daran erinnert, dass der Matrixblock M |b entweder eine Rang-k-Matrix aus R(k, τ, σ) (falls b = τ × σ ∈ P + ) oder eine volle Matrix aus V(τ × σ) ist (falls b = τ × σ ∈ P − ). Eine Rang-kMatrix aus R(k, τ, σ) ben¨ otigt den Speicherbedarf SR (τ, σ, k) = k (#τ + #σ) (vgl. Anmerkung 2.2.5), w¨ ahrend volle Matrizen aus V(τ × σ) den Speicher SV (τ, σ) = #τ #σ (vgl. §1.3.2.4) erfordern. Nachfolgend spalten wir SH (k, P ) ur den Fern- und Nahfeldnoch einmal in SH (k, P ) = SH (k, P + ) + SH (P − ) f¨ bereich auf. Die Absch¨ atzung des Speicherbedarfs SH (k, P ) = SH (k, P + ) + SH (P − )  (#τ + #σ) , SH (k, P + ) = k b=τ ×σ∈P +

mit −

SH (P ) =



(6.8) #τ #σ

b=τ ×σ∈P −

ist direkt mit dem Schwachbesetztheitsmaß Csp (P ) verbunden:

6.3 Schwachbesetztheit und Speicherbedarf

119

Lemma 6.3.6 (Speicherbedarf ). nmin erf¨ ulle die Bedingung (5.42). Dann betr¨ agt der Speicheraufwand f¨ ur Matrizen aus H(k, P ) (6.9a) SH (k, P ) ≤ Csp (P ) · max{nmin , k} · [(depth(T (I)) + 1) #I + (depth(T (J)) + 1) #J] . Falls die reduzierten Versionen der B¨ aume T (I), T (J) nach Anmerkung A.4.4 zu einer kleineren Tiefe f¨ uhren, d¨ urfen diese in (6.9a) eingesetzt werden. Die in (6.9a) auftretende Tiefe kann noch etwas reduziert werden: Es gilt SH (k, P ) ≤ Csp (P ) · max{nmin , k} · (#LI #I + #LJ #J) ,

(6.9b)

wobei LI := { ∈ N0 : es gibt b = τ × σ ∈ P mit τ ∈ T () (I)}, LJ := { ∈ N0 : es gibt b = τ × σ ∈ P mit σ ∈ T () (J)}. Beweis. SH (k, P ) ist die Summe des Speicherbedarfs aller Bl¨ocke b=τ ×σ ∈P:   SR (τ, σ, k) + SV (τ, σ) SH (k, P ) = τ ×σ∈P −

τ ×σ∈P +



=k



(#τ + #σ) +

#τ · #σ.

τ ×σ∈P −

τ ×σ∈P +

Wegen (7.4) ist #τ #σ = min{#τ, #σ} max{#τ, #σ} ≤ min{#τ, #σ} (#τ + #σ) ≤ nmin (#τ + #σ) . Also SH (k, P ) ≤ max{nmin , k}

 τ ×σ∈P

(#τ + #σ) .

Nach Definition von Csp,l (τ, P ) und Csp (P ) gilt . /   ∗ ∗ #τ #τ = 1 = τ ×σ∈P

τ ∈T (I)

≤ Csp (P )

∗

σ:τ ×σ∈P

τ ∈T (I)

#τ = Csp (P )

τ ∈T (I)



#τ Csp,l (τ, P )



#τ ,

∈LI τ ∈T () (I)

∗ wobei die Summen uhren sind, f¨ ur die ¨ber die τ zu f¨ τ ∈T (I) nur u mindestens ein σ mit τ × σ ∈ P existiert. Nach Korollar A.4.3b ist   #τ ≤ #I, sodass #τ ≤ C (P ) #L #I. Ebenso ist () sp I τ ×σ∈P τ ∈T (I) τ ×σ∈P #σ ≤ Csp (P ) #LJ #J. Zusammen ist die Behauptung (6.9b) bewiesen.

120

6 Definition und Eigenschaften der hierarchischen Matrizen

Da LI ⊂ {0, . . . , depth(T (I))}, ist #LI ≤ depth(T (I)) + 1. Die analoge Ungleichung #LJ ≤ depth(T (J)) + 1 zeigt (6.9a). F¨ ur die Baumtiefen erwartet man depth(T (I)) = O(log #I) und depth(T (J)) = O(log #J) (dies folgt f¨ ur balancierte B¨aume). Damit ist der Speicherbedarf von der Gr¨ oßenordnung O((#I + #J) log (#I + #J)) wie in (3.5) im Falle des Modellproblems. ¨ 6.3.1 Die Gr¨ oßen Csp,l (τ, P ) und Csp,r (σ, P ) sind, wie man an Ubung sieht, deutlich gr¨ oßer, wenn unzul¨ assige Bl¨ ocke τ × σ ∈ P auftreten. Deshalb l¨ asst sich die Absch¨ atzung verbessern, wenn man die Bl¨ocke aus P + und − ahlt. Der Beweis des folgenden Lemmas benutzt die gleiche P getrennt z¨ Argumentation wie der Beweis zu Lemma 6.3.6. Korollar 6.3.7. Seien ± mit τ ∈ T () (I)} L± I := { ∈ N0 : es gibt b = τ × σ ∈ P

ur Matrizen aus und L± J analog definiert. Dann ist der Speicheraufwand f¨ H(k, P ) absch¨atzbar durch     + SH (k, P ) ≤ Csp P + k #L+ I #I + #LJ #J     − + Csp P − nmin #L− I #I + #LJ #J . ¨ Im Modellfall von Ubung 6.3.1 gilt I = J, L+ I = {1, . . . , L − 1} und + − − = {L} , sodass #LI = #L+ = L − 1 und #L J I = #LJ = 1 zusammen uhrt: mit nmin = 1 zu folgender Ungleichung mit n = 2L f¨ ( ) SH (k, P ) ≤ 2Csp (P + )k (L − 1) + 2Csp (P − ) n = [6k (L − 1) + 12] n. L− I

Anmerkung 6.3.8. Im Falle der stufentreuen Konstruktion des Blockclusterbaumes (vgl. §5.5.1) treten nur Bl¨ ocke b = τ × σ und damit auch nur Cluster τ und σ der Stufe ≤ min {depth(T (I)), depth(T (J))} auf (siehe Satz 5.5.2e). Daher kann die eckige Klammer in (6.9a) durch (min {depth(T (I)), depth(T (J))} + 1) (#I + #J) ersetzt werden.

6.4 Absch¨ atzung von Csp



Hier soll untersucht werden, wie die Gr¨ oße Csp ihrerseits abgesch¨atzt werden kann. 6.4.1 Erster Zugang Eine erste, allgemeine Argumentation ist durch die Abbildung 6.1 illustriert. ˇ sev-Radius Die Cluster τ1 , τ2 , τ3 sind durch Dreiecke dargestellt. ρ1 ist der Cebyˇ assig ist, muss der Abstand hindes Clusters τ1 . Damit der Block τ1 × τ2 zul¨ reichend groß sein. Sobald τ2 außerhalb des Kreises mit dem Radius ρ2 liegt,

6.4 Absch¨ atzung von Csp



121

betr¨ agt der Abstand mindestens ρ2 − ρ1 . F¨ ur geeignetes ρ2 ist die Zul¨assigkeit garantiert. Wenn der Abstand allerdings einen kritischen Wert u ¨bersteigt und τ3 in den Bereich jenseits des Radius ρ3 hineinreicht, besitzen (unter geeigneten Voraussetzungen) auch die V¨ ater τ1∗ und τ3∗ von τ1 und τ3 einen hinreichenden Abstand, sodass der Block τ1∗ × τ3∗ zul¨assig ist. F¨ ur die Bestimmung von Csp,l (τ1 , P ) sind nur die σ = τ2 wesentlich, die ganz τ3 τ2 im Kreisring {x : ρ2 ≤ |x| ≤ ρ3 } liegen. Außerdem m¨ ussen (bei der stufentreuen Konstruktion) die τ2 die gleiche Stufenτ1 ur zahl wie τ1 besitzen. Unterstellt man f¨ ρ1 ρ2 ρ3 die gleiche Stufenzahl eine vergleichbare Fl¨ache, kann man das Argument anwenden, dass der Kreisring nur eine bestimmte Zahl von Clustern enthalten kann. Im Weiteren werden die Voraussetzungen pr¨ azisiert, die man f¨ ur die ˇ Abb. 6.1. Cebyˇ sev-Kreis um τ1 , Schlussfolgerung ben¨ otigt. Die Zul¨ assigkeit ur Zul¨ assigkeit und RaRadius ρ2 f¨ Adm ist die u assigkeit nach dius ρ f¨ur Zul¨assigkeit der Eltern¨bliche η-Zul¨ 3 (5.8). Die stufentreue Konstruktion 5.5.1 cluster sei vorausgesetzt. Zum Argument der “vergleichbaren Fl¨ achen” sind zwei F¨ alle zu unterscheiden. Die Tr¨ ager Xi einer Basisfunktion sind im Allgemeinen nicht disjunkt. Nur f¨ ur st¨ uckweise konstante Basisochstens funktionen haben verschiedene Xi h¨ einen Durchschnitt vom Maß null. Andernfalls ˇ i reduziert muss Xi zu einem kleineren Bereich X ˇ ˇ ur i = j Abb. 6.2. Duale Zelle X werden, sodass Xi ∩ Xj das Maß null f¨ ˇi besitzt. Im Falle von st¨ uckweise linearen finiten (schraffiert) um den Knotenˇ i die Zelle um punkt ξ in der Mitte Elementen φi auf Dreiecken ist X i den Knotenpunkt ξi , die sich durch Verbinden der Dreiecksschwerpunkte und der Dreiecksseitenmitten ergibt (vgl. Abbildung ˇ i h¨ochstens am Rand 6.2). Wie man leicht sieht, k¨ onnen sich die Zellen X u ¨berschneiden. Die genaue Voraussetzung lautet: F¨ ur alle i ∈ I ∪J existiere eine Teilmenge ˇ i ⊂ Xi ⊂ Rd , sodass gilt: X ˇi ∩ X ˇ j hat Maß null f¨ X ur alle i = j mit i, j ∈ I oder i, j ∈ J. (6.10a)  ˇ τ := ˇ ˇ F¨ ur τ ∈ T (I) sei X i∈τ Xi . Die Durchmesser und Volumina der Xτ seien im Wesentlichen durch die Stufenzahl festgelegt: ˇ τ ) ≤ diam(Xτ ) ≤ Cd 2− diam(X ˇτ ) 2−d /Cv ≤ vol(X

f¨ ur τ ∈ T () (I) ∪ T () (J),

wobei das Volumen als d-dimensionales Maß zu verstehen ist.

(6.10b)

122

6 Definition und Eigenschaften der hierarchischen Matrizen

Satz 6.4.1. P ⊂ T (I × J) sei eine η-zul¨ assige Partition. Die Bereiche ˇ τ (τ ∈ T (I)) und X ˇ σ (σ ∈ T (J)) m¨ ˇ i ⊂ Rd (i ∈ I ∪ J) bzw. X ogen (6.10a,b) X erf¨ ullen. Dann gilt 

−d

Csp (P ) ≤ ωd 1 − 2



 Cv

1 2 (2 + ) Cd η

d ,

wobei ωd das Volumen der d-dimensionalen Einheitskugel ist. ˇ sev-Radius $des Clusters τ ∈ T (I). Beweis. a) ρ1 sei der Cebyˇ % Seien ρ2 wie in Abbildung 6.1 und K(ρ2 ) := x ∈ Rd : x − ξτ  < ρ2 die Kugel ˇ um das Cebyˇ sev-Zentrum ξτ von τ ∈ T () (I). F¨ ur ein σ ∈ T () (J) gelte ˇ ˇσ ˇ ur den Abstand folgt dist(Xτ , Xσ ) ≥ ρ2 −ρ1 . Da ein x ˇ∈X Xσ ∩K(ρ2 ) = ∅. F¨ − und ein x ∈ Xσ den Abstand diam(Xσ ) ≤ Cd 2 besitzen k¨onnen, folgt dist(Xτ , Xσ ) ≥ ρ2 − ρ1 − Cd 2− . Damit ist wegen ρ1 ≤ diam(τ ) ≤ Cd 2− Cd 2− diam(τ ) ≤ ≤ η. dist(τ, σ) ρ2 − 2Cd 2− F¨ ur die Wahl

  1 Cd 2− ρ2 := 2 + η

diam(τ ) ˇ σ f¨ folgt dist(τ,σ) ≤ η, d.h. alle außerhalb K(ρ2 ) gelegenen X uhren zu ηzul¨ assigen Bl¨ ocken τ × σ. b) Sei τ ∗ ∈ T (−1) (I) der Vater von τ ∈ T () (I). Entsprechend sei ∗ σ ∈ T (−1) (J) mit σ ∈ ST (J) (σ ∗ ) ∈ T () (J). Xτ ∗ in K(Cd 21− ) enthalten. ˇ σ ∩ K(ρ3 ) = ∅, gibt es einen Punkt y ∈ X ˇ σ ⊂ Xσ ⊂ Xσ∗ in K(ρ3 ). Falls X ∗ 1− erh¨ alt man f¨ ur den Abstand Wegen diam(σ ) ≤ Cd 2

dist(τ ∗ , σ ∗ ) ≥ ρ3 − 2Cd 21− . F¨ ur die Wahl ρ3 := 2ρ2 folgt Cd 21− diam(τ ∗ ) ≤ ≤ η, ∗ ∗ dist(τ , σ ) ρ3 − 2Cd 21− d.h. der Block τ × σ tritt nicht in der Partition P auf, da bereits τ ∗ × σ ∗ η-zul¨ assig ist.   c)Der Kreisring KRing := K(ρ3 )\K(ρ2 ) hat das Volumen ωd ρd3 − ρd2 =  ωd ρd2 2d − 1 . Eine Obermenge von {σ ∈ T (J) : τ × σ ∈ P } ist nach a) und ˇ ˇ disjunkt b) Σ := {σ ∈ T (J)  d : Xσ ⊂ KRing }. Da die Xσnach Voraussetzung  d ˇ ˇσ =  sind, folgt ωd ρ2 2 − 1 = vol(KRing ) ≥ vol σ∈Σ X σ∈Σ vol Xσ ≥ −d #Σ · 2 /Cv , sodass  d   d    1 #Σ ≤ ωd 2d − 1 Cv 2 ρ2 = ωd 2d − 1 Cv (2 + )Cd η

6.4 Absch¨ atzung von Csp



123

die Ungleichung Csp,l (τ, P ) ≤ #Σ [in analoger Weise Csp,r (σ, P ) ≤ #Σ] und so die Behauptung beweist. Es wurde vorausgesetzt, dass die Tr¨ ager Xi ein positives d-dimensionales Maß besitzen. Dies schließt Randelemente auf einer (d − 1)-dimensionalen Mannigfaltigkeit aus. Eine analoge Argumentation f¨ ur diesen Fall findet man in Hackbusch-Nowak [90]. 6.4.2 Absch¨ atzung zu Konstruktion (5.30) In §6.4.1 wurden naheliegende Eigenschaften der Cluster vorausgesetzt. Allerdings wurde keine Konstruktion des Clusterbaumes gegeben, die diese Eigenschaften garantiert. In diesem Abschnitt wird der umgekehrte Weg beschritten. Es wird angenommen, dass ein Finite-Element-Problem vorliegt, zu dem mit Hilfe der Konstruktion (5.30) der Clusterbaum Abb. 6.3. T (I) konstruiert wird. Zudem ist J = I angenommen. Gitter mit hervorgehobenem Tr¨ ager Xi

6.4.2.1 Voraussetzungen

Die Konstruktion (5.30) arbeitet mit den Ersatzpunkten ξi . Mit dem Test (5.39) auf Zul¨ assigkeit ist eine st¨ arkere Bedingung gegeben als durch die η-Zul¨ assigkeit. Die Ersatz-Zul¨ assigkeitsbedingung (5.39) erfordert eine weitere Voraussetzung, die besagt, dass in einer bestimmten Umgebung der Tr¨ agermenge Xi nur wenige Xj liegen. Die exakte Bedingung lautet: Es gebe eine sogenannte Separationskonstante Csep , sodass {j ∈ I : dist(Xi , Xj ) ≤ diam(Xi )/Csep } ≤ nmin

f¨ ur alle i ∈ I.

(6.11)

osseT (I) und Dabei ist nmin die Konstante aus der Definition (5.19) von Gr¨ der Definition (5.42) von Gr¨ osseT (I×I) . Im Zweifelsfall ist nmin zu erh¨ohen, damit (6.11) erf¨ ullt ist. atzen k¨onnen. Zuvor soll aber Mit Hilfe von Csep werden wir Csp absch¨ untersucht werden, wie Csep von anderen Problemparametern abh¨angt. ur Finite-Element-Gitter 6.4.2.2 Diskussion von Csep f¨ Wir gehen von einer u ¨blichen Finite-Element-Diskretisierung mit einer Triangulation (Gitter) T des Grundgebietes Ω ⊂ R2 aus. Die Menge T besteht aus abgeschlossenen Dreiecken. Zwei Dreiecke t, t heißen benachbart, falls assige Triangulation, d.h. t ∩ t = ∅. Im Allgemeinen verlangt man eine zul¨ benachbarte Dreiecke aus T sind entweder gleich oder ihr Schnitt besteht aus einer (vollst¨ andigen) Seite beider Dreiecke oder einem gemeinsamen Eckpunkt (vgl. Abbildung 6.3).

124

6 Definition und Eigenschaften der hierarchischen Matrizen

Eine Standardvoraussetzung ist die Formregularit¨ at, d.h. der minimale Innenwinkel aller Dreiecke aus T sei durch einen positiven Winkel nach unten beschr¨ ankt: Es gibt γmin > 0, sodass γ ≥ γmin (6.12a) f¨ ur alle Innenwinkel γ der Dreiecke t ∈ T . Eine ¨ aquivalente Forderung lautet: Der Durchmesser des gr¨oßten Innenkreises von t ∈ T und der Durchmesser diam(t) haben ein in beide Richtungen beschr¨ anktes Verh¨ altnis. Der Tr¨ ager Xi einer Finite-Element-Basisfunktion φi (i ∈ I) ist eine Vereinigung von Dreiecken t ∈ T . Abbildung 6.3 zeigt hervorgehoben den Tr¨ager einer st¨ uckweise linearen Basisfunktion zum Knotenpunkt x0 . Allgemein angend sei und dass die Zahl der Dreiecke fordern wir, dass Xi zusammenh¨ in Xi eine Schranke K1 besitze: Xi zusammenh¨ angend und es gibt K1 ∈ N mit ur alle i ∈ I. # {t ∈ T : t ⊂ Xi } ≤ K1 f¨

(6.12b)

Anmerkung 6.4.2. a) Es gelte (6.12a). Im Falle der st¨ uckweise linearen Basisfunktionen ist (6.12b) mit K1 = "2π/γmin # erf¨ ullt. b) In seltenen F¨ allen k¨ onnte # {t ∈ T : t ⊂ Xi } auch noch Dreiecke außerhalb des schraffierten Bereichs von Abbildung 6.3 enthalten, sodass sich K1 erh¨ oht. Die Existenz der Schranke K1 in (6.12b) ist u.a. ein Grund f¨ ur den Namen “finite Elemente”. c) Die Eigenschaft “zusammenh¨ angend” kann ebensogut im Sinne der Nachbarschaftsbeziehung der Dreiecke {t ∈ T : t ⊂ Xi } interpretiert werden. Eine weitere Forderung lautet: Es gibt ein K2 ∈ N mit # {i ∈ I : t ⊂ Xi } ≤ K2 f¨ ur alle t ∈ T ,

(6.12c)

d.h. ein Dreieck kommt in h¨ ochstens K2 Tr¨ agern Xi vor. Anmerkung 6.4.3. a) Wenn es pro Eckpunktsknoten nur einen Freiheitsgrad gibt und die linearen Basisfunktionen verwendet werden, ist K2 = 3. b) Wenn ein Differentialgleichungssystem mit m Komponenten diskretisiert wird, kann die gleiche Basisfunktion f¨ ur alle m Komponenten auftreten, ur m verschiedene i ∈ I vorliegt und sodass die identische Tr¨ agermenge Xi f¨ oht. sich die Schranke K2 entsprechend erh¨ c) Bei Finite-Element-Ans¨ atzen mit h¨ oheren Polynomgraden h¨angt K2 auch vom Polynomgrad ab. Ein besonderer Vorteil der Finite-Element-Methode ist die Flexibilit¨at des Gitters f¨ ur Zwecke der lokalen Gitterverfeinerung. Damit ist durchaus beabsichtigt, dass verschiedene Dreiecke aus T sehr verschiedene Gr¨oße haben k¨ onnen. Allerdings soll kein starker Gr¨ oßenunterschied zwischen benachbarten Dreiecken herrschen:  1/K3 ≤ diam(t)/ diam(t ) ≤ K3 (6.12d) Es gibt K3 > 0 mit f¨ ur alle benachbarten t, t ∈ T .

6.4 Absch¨ atzung von Csp



125

Anmerkung 6.4.4. a) Wenn (6.12d) mit K = K3 zutrifft, spricht man von einem K-Gitter. Es muss stets K ≥ 1 gelten. K = 1 charakterisiert regelm¨ aßige Gitter (alle Dreiecke haben gleichen Durchmesser). b) F¨ ur eine zul¨ assige Triangulation T mit der Formregularit¨atseigenschaft (6.12a) gilt (6.12d). Der extreme Fall einer exponentiell abfallenden Schrittweitenfolge ist in Abbildung 6.4 wiedergegeben. Hier gilt K3 = 2. Zun¨ achst sei die Schreibweise A  B erkl¨art, die wir im nachfolgenden Beweis benutzen. Notation 6.4.5 Die Schreibweise A α,β,... B bedeutet, dass es eine nur von α, β, . . . abh¨ angige Konstanten c gibt, sodass A ≤ cB. Die Ungleichung A α,β,... B ist gleichbedeutend zu B α,β,... A. Die Schreibweise A ∼α,β,... B bedeu- Abb. 6.4. Verfeinertes tet, dass sowohl A α,β,... B als auch A α,β,... B Finite-Element-Gitter mit K3 = 2 in (6.12d) gelten. ur ein Lemma 6.4.6. Es gelte (6.12a,b,d). Dann folgt aus dist(Xi , Xj ) > 0 f¨ ρ = ρ(K1 , K3 , γmin ) > 0 die Ungleichung dist(Xi , Xj ) ≥ ρ diam(Xi )

f¨ ur alle i, j ∈ I.

(6.13)

ur ein t ∈ T und ein i ∈ I. Wegen (6.12b,d) gilt Beweis. a) Sei t ⊂ Xi f¨ diam(t) K1 ,K3 diam(Xi ). b) Sei t ∈ T ein Nachbar von t. Die K-Gittereigenschaft (6.12d) beweist diam(t ) K3 diam(t). c) Sei λ(t) die minimale H¨ ohe eines Dreiecks t (vgl. Abbildung 6.5). Mit der Formregularit¨ at (6.12a) folgt λ(t ) γmin diam(t ) . d) Wenn dist(Xi , Xj ) > 0, gibt es Punkte x ∈ Xi und y ∈ Xj mit |x − y| = dist(Xi , Xj ). Dabei muss einer der Punkte x, y ein Eckpunkt eines Dreiecks t sein, das weder in Xi noch Xj liegt, aber Nachbar eines t ⊂ Xi ∪ Xj ist. Die Strecke xy muss t von diesem Eckpunkt bis zur gegenu ¨berliegenden Seite durchqueren. Daher ist |x − y| ≥ λ(t ). e) Die Ungleichungskette dist(Xi , Xj ) = |x − y| ≥ λ(t ) γmin diam(t ) K3 diam(t) K1 ,K3 diam(Xi ) beweist diam(Xi ) ≤ c dist(Xi , Xj ) angigen Konstanten c. Damit ist (6.13) mit einer nur von K1 , K3 , γmin abh¨ mit ρ := 1/c > 0 erf¨ ullt. Lemma 6.4.7. Es gelte (6.12a-c). Dann gibt es ein N = N (K1 , K2 , γmin ) ∈ N, sodass f¨ ur alle i ∈ I. (6.14) # {j ∈ I : Xi ∩ Xj = ∅} ≤ N Beweis. a) Seien i ∈ I und t ⊂ Xi . Die Zahl der j ∈ I mit t ⊂ Xj ist durch K2 beschr¨ ankt (vgl. (6.12c)). Die Zahl der m¨ oglichen t ⊂ Xi ist nach (6.12b) durch

126

6 Definition und Eigenschaften der hierarchischen Matrizen

K1 beschr¨ ankt. Es bleibt der Fall, dass sich Xi und Xj nur im Rand schneiden. Aus (6.12a) schließt man, dass auch # {t ∈ T : Xj ∩ t = ∅} K1 ,γmin 1. Mit # {j ∈ I : Xi ∩ Xj = ∅} K1 ,K2 ,γmin 1 ist die Behauptung bewiesen. Damit kommen wir zur Hauptaussage: Satz 6.4.8. Es gelte (6.12a-d). Sei Csep > 1/ρ, wobei ρ aus (6.13) nur von angt. Wenn nmin ≤ N f¨ ur N = N (K1 , K2 , γmin ) aus (6.14), K1 , K3 , γmin abh¨ ist die Bedingung (6.11) erf¨ ullt. Beweis. Die Ungleichung dist(Xi , Xj ) ≤ diam(Xi )/Csep hat zur Folge, dass dist(Xi , Xj ) < ρ diam(Xi ). Aus Lemma 6.4.6 folgt dist(Xi , Xj ) = 0, d.h. Xi ∩ Xj = ∅. Damit ist Lemma 6.4.7 anwendbar und zeigt zusammen mit nmin ≤ N die Ungleichung (6.11). ¨ Die Uberlegungen dieses Abschnittes ur d = 2 k¨ onnen sinngem¨ aß auf Ω ⊂ Rd f¨ u ¨bertragen werden. t’

6.4.2.3 Absch¨ atzungen mittels Csep Abb. 6.5. Abstand zweier Tr¨ ager-

Im Weiteren gehen wir von Situationen mengen Xi , Xj . λ(t ) ist die kleinste aus, in denen die Bedingung (6.11) mit H¨ohe des Dreiecks t . ullt ist. Ferner einer Konstanten Csep erf¨ setzen wir voraus, dass die Partition zul¨ assig im Sinne der Bedingung (5.39) mit der Gr¨ oße η > 0 ist, wie es das Resultat der Konstruktion (5.30) ist. Zudem gehen wir von der Annahme aus, dass die Knotenpunkte ξi (Mittelpunkte aus Qi = Qmin (Xi )) aus Anmerkung 5.4.1 selbst zu Xi geh¨oren: ξi ∈ Xi

f¨ ur alle i ∈ I.

(6.15)

ˆ τ ⊂ Xτ f¨ ur alle τ ∈ T (I) (vgl. Eine unmittelbare Folge dieser Annahme ist X ˆ Anmerkung 5.4.1 zu Xτ ). Lemma 6.4.9 (Csp -Absch¨ atzung). Es gelte (6.11) und (6.15). Der Baum T (I) sei mit Hilfe der Konstruktion (5.30) erzeugt. Der Blockclusterbaum T (I × I) sei durch die stufentreue Konstruktion 5.5.1 entstanden, wobei die Bl¨ ocke der Partition P die Ersatz-Zul¨ assigkeitsbedingung (5.39) mit einem η > 0 erf¨ ullen. Dann gilt d   √ 1 + Csep + Csep . Csp ≤ 4 + 8 d 2 η Beweis. Der Beweis findet sich in [56, Lemma 4.5], wobei η wegen einer anderen Skalierung durch η/2 zu ersetzen ist. Es gibt allerdings F¨ alle, in denen eine anisotrope Verfeinerung optimal ist. Hier treten Dreiecke mit extrem kleinen Winkeln oder extrem gestreckte Rechtecke auf. F¨ ur Randelement-Anwendungen ist eine solche Situation

6.4 Absch¨ atzung von Csp



127

in Graham-Grasedyck-Hackbusch-Sauter [49] beschrieben: Die u ¨bliche Zul¨ assigkeitsbedingung f¨ uhrt zu einem nicht-konstanten Csp und damit zu einem nicht-optimalen Aufwand, aber nach einer speziellen Behandlung der kritischen Matrixelemente l¨ asst sich wieder eine fast lineare Komplexit¨at erreichen. 6.4.3 Anmerkung zu Konstruktion (5.34) Die Konstruktion (5.34) ist einerseits g¨ unstiger, da die Verwendung der Minimalquader zu einer gleichm¨ aßigeren Halbierung der Cluster f¨ uhrt. im Gegensatz zu (5.30) keine regelm¨ a ßige Andererseits haben die Quader QII τ Struktur (vgl. Anmerkung 5.4.4). Dies f¨ uhrt dazu, dass sich eine gleichm¨aßige asst. Ein Gegenbeispiel ist in Abbildung 6.6 Schranke f¨ ur Csp nicht beweisen l¨ illustriert. Sei der Startquader QII I wie in der Abbildung 6.6. Auf der linken Seite ergebe sich eine regelm¨aßige τR Situation: Die rekursiv halbierten Quader seien zugleich die Minimalquader, sodass sich das hervorgehobene Rechteck R = [−a, 0]×[b, c] als Cluster τR der Stufe  = 7 ergibt. Die rechte H¨alfte des Quaders QII I enthalte nur einen Punkt am rechten Rand1 , alle weiteren ξ i Abb. 6.6. Gegenbeispiel zu beschr¨ anktem Indizes m¨ogen in dem schmalen Csp im Falle der Konstruktion (5.34) Rechteck [d, d + ε] × [b, c] mit √ d := (c − b) 22.5− und 0 ≤ ε < d/ 2 liegen, das damit den Abstand d vom Rechteck R hat. Der Minimalquader der Stufe 1 ist das gestrichelte Rechteck. Nach einer weiteren Halbierung ergibt sich auf der Stufe 2 einerseits der Punkt ξi (wird Blatt in T (I)) und andererseits das Rechteck [d, d + ε] × [b, c]. Alle weiteren Halbierungen verlaufen in waagerechter Richtung. Auf der Stufe  = 7 erh¨ alt man die Minimalquader ur ν = 0,. . ., 2−2 −1. [d, d + ε] × [b + ν22− (c − b) , b + (ν + 1) 22− (c − b)] f¨ Die zugeh¨ origen Cluster seien τν . Ihre Durchmesser sind kleiner oder gleich 2  ahrend ihr Abstand von R gerade d betr¨agt. [ 22− (c − b) + ε2 ]1/2 ≤ d, w¨ F¨ ur die Wahl η = 1 sind alle Bl¨ ocke τR × τν zul¨assig. Weil ihre V¨ater nicht zul¨ assig sind, ergibt sich Csp,l (τR , P ) = 2−2 . Da die Stufe  = 7 beliebig erh¨ oht werden kann, kann Csp,l beliebig groß werden.

1

Damit QII I ein Minimalquader ist, muss mindestens ein Punkt am rechten Rand liegen.

128

6 Definition und Eigenschaften der hierarchischen Matrizen

6.5 Fehlerabsch¨ atzungen Die Approximationsfehler sind mit den Bl¨ ocken M |b , b ∈ P, assoziiert. Hier wird diskutiert, wie sich diese lokalen Fehler zu einem globalen Fehler von M zusammensetzen. Dabei h¨ angt das Resultat wesentlich von der Wahl der verwendeten Norm ab. Im Folgenden werden die Frobenius-Norm, die Spektralnorm und die spezielle Norm ||| · ||| aus §C.5.3 untersucht. 6.5.1 Frobenius-Norm Die bequemste Norm im Umgang mit H-Matrizen ist die Frobenius-Norm, denn es gilt 8 M |b 2F f¨ ur alle M ∈ H(k, P ). M F = b∈P

¨ 2.2.7b. Zur Frobenius-Norm von M |b vergleiche man Ubung 6.5.2 Vorbereitende Lemmata 6.5.2.1 Problemstellung F¨ ur die Spektralnorm und verwandte Normen gibt es keinen so einfachen Zusammenhang zwischen den lokalen Matrixbl¨ ocken M |b und der Gesamtmatrix A ∈ RI×J . Die Resultate unterscheiden sich, je nachdem wie die Gr¨oßenordnung der Normen M |b  verteilt ist. Drei F¨alle werden unterschieden: 1. Alle Normen A|b  sind vergleichbar groß und werden durch ihr Maximum abgesch¨ atzt (vgl. Lemma 6.5.7). Die resultierende Absch¨atzung f¨ ur die Spektralnorm stammt von Grasedyck [50]. ur 2. Die Normen nehmen mit zunehmender Stufenzahl ab: A|b  ≤ Cq −1 f¨ 6.5.6). b ∈ P ∩ T () (I × J, P ) (vgl. Lemma  3. Die Normen sind derart, dass b∈P A|b 2 gut absch¨atzbar (vgl. §6.5.2.2). ur ||| · ||| aus §4.5.3 Da die Resultate f¨ ur die Spektralnorm ·2 als auch f¨ angewandt werden sollen, wird zun¨ achst ein allgemeinerer  Rahmen gew¨ahlt.  Jedem τ ∈ T (I) wird ein Hilbert-Raum Xτ = Rτ , ·Xτ zugeordnet, wobei die Norm ·Xτ von der u ¨blichen Euklidischen Norm abweichen kann. Die Dualnorm zu ·Xτ ist uτ X  := sup{|(uτ , vτ )| / vτ Xτ : 0 = vτ ∈ Rτ } τ

f¨ ur alle uτ ∈ Rτ (6.16a)

  und f¨ uhrt zum Dualraum Xτ = Rτ , ·Xτ . Aus Xτ ergeben sich die Produktr¨ aume ; ; ; X := X , X := X = X (6.16b) τ τ () τ ∈T

(I)

τ ∈T (I)



6.5 Fehlerabsch¨ atzungen

mit den zugeh¨ origen Normen 8 (uτ )τ ∈T () (I) = X

(uτ )τ ∈T (I) 

X



129

2

uτ Xτ ,

τ ∈T () (I)

! "depth(T (I×J,P )) 8  "  2 2 # = u X = uτ Xτ .

, Xσ

τ ∈T (I)

=0

X

Die Dualr¨ aume X und besitzen Dualnormen, die wie oben aus den komponentenweisen Dualnormen gebildet werden. Analog seien zur Indexmenge J und zu σ ∈ T (J) die R¨aume Y, Yσ , Y und die entsprechenden Normen eingef¨ uhrt. Die Spezialf¨ alle σ = I und τ = J in Xσ und Yσ ergeben die R¨aume XI und YJ . Die Matrix A ∈ RI×J wird im Folgenden als Abbildung von YJ nach XI aufgefasst. Der Operator A : Y → X  zur Matrix A ∈ RI×J bestehe aus den Komponenten ur b = τ × σ ∈ T (I) × T (J), Ab : Yσ → Xτ f¨  A|b f¨ ur b ∈ P, wobei Ab := 0 f¨ ur b ∈ / P.

(6.16c)

Man beachte, dass auch Bl¨ ocke b = τ × σ auftreten, die nicht zu T (I × J) geh¨ oren, da T (I) × T (J)  T (I × J). Diese sind jedoch null, da gem¨aß (6.16c) nichttriviale Eintr¨ age nur f¨ ur b ∈ P auftreten. Die Matrix A : YJ → XI l¨asst sich aus A mittels  ∗ mit S I : XI → X , S J : YJ → Y (6.16d) A = SI A SJ rekonstruieren, wobei ⎛ I⎞ ⎛ J⎞ S0 S0 I J S I = ⎝ S1 ⎠ , S J = ⎝ S1 ⎠ , .. .. . . &   depth(T (I×J,P )) , SI u := (uτ )τ ∈T () (I) , S I u : = SI u =0 mit   depth(T (I×J,P )) , SJ u := (uσ )σ∈T () (J) . S J u : = SI u =0

(6.16e)

Anmerkung 6.5.1. F¨ ur stufentreue Blockclusterb¨aume ist A blockdiagonal: A = diag {A : 0 ≤  ≤ depth(T (I × J, P ))} . Dabei enth¨ alt A die Komponenten Ab f¨ ur b ∈ T 

depth(T (I×J,P ))

A=

A ,

()

(I) × T

()

(6.17a) (J). Es gilt

 ∗ wobei A := SI A SJ .

(6.17b)

=0

Im Folgenden wird der Zusammenhang zwischen den Normen AX  ←YJ I und Ab X  ←Yσ diskutiert. τ

130

6 Definition und Eigenschaften der hierarchischen Matrizen

6.5.2.2 Fall 3 Zuerst sei der dritte Fall von Seite =128 untersucht, in dem die Absch¨atzung 2 uhrt werden soll. Zur mit der Frobenius-artigen Norm b∈P A|b  durchgef¨ Vereinfachung der Notation sei die Menge L(τ ) := {τ  ∈ L(T (I)) : τ  ⊂ τ }

(6.18)

aller Bl¨ atter von T (I) eingef¨ uhrt, die Nachfolger von τ sind. Entsprechend ist L(σ) f¨ ur σ ∈ T (J) eine Teilmenge von L(T (J)). Lemma 6.5.2. F¨ ur alle u ∈ XI und alle Komponenten uτ von S I u = (uτ )τ ∈T (I) sei 1 2 uτ Xτ ≤ C0

 τ  ∈L(τ )

2

2

uτ  Xτ  ≤ C0 uτ Xτ

f¨ ur alle τ ∈ T (I)

(6.19)

vorausgesetzt. Entsprechendes gelte f¨ ur die Komponenten uσ von S J u. Dann gilt 8  A|b 2Xτ ←Yσ . (6.20) AX  ←YI ≤ C02 I

b=τ ×σ∈P

Bevor wir das Lemma beweisen, sei zun¨ achst der Fall der Euklidischen Norm diskutiert. Anmerkung 6.5.3. Es sei vorausgesetzt, dass die Normen ·Xτ usw. mit der  2 2 2 Euklidischen Norm u ¨bereinstimmen: uτ Xτ = uτ 2 = i∈τ |uτ,i | .  2 2 a) Es gilt uτ 2 = τ  ∈L(τ ) uτ  2 , sodass die Ungleichung (6.19) mit  2 2 C0 = 1 erf¨ ullt ist. Wegen der analogen Identit¨at u2 = τ ∈T () (I) uτ 2 ist SI 2 = SJ 2 = 1 f¨ ur alle . b) Ab Xτ ←Yσ = Ab 2 ist die Spektralnorm. Falls A|b 2 relativ zu der Gr¨ oße des Blockes b abgesch¨ atzt werden kann, d.h. = A|b 2 ≤ ε #b/#I#J f¨ ur alle b ∈ P, (6.21a) folgt



A|b 22 ≤ ε2 .

(6.21b)

b∈P

Ungleichung (6.21a) ergibt sich beispielsweise aus der komponentenweisen √ Ungleichung |Aij | ≤ ε/ #I#J. c) Xτ und Xσ seien gem¨ aß (5.5a,b) definiert. Gilt die Ungleichung A|b 2 ≤ ε ωL2 (Xτ ×Xσ )

(b = τ × σ ∈ P )

(6.21c)

6.5 Fehlerabsch¨ atzungen

131

f¨ ur eine geeignete Funktion ω ∈ L2 (X × Y ), so folgt '  = A|b 22 ≤ ε M1 M2 ωL2 (X×Y ) (6.21d) b∈P  M1 := maxx∈X #{i ∈ I : x innerer Punkt von Xi ⊂ X}, mit M2 := maxy∈Y #{i ∈ I : y innerer Punkt von Xj ⊂ Y }. ¨ der Tr¨ager Xi Die Zahlen M1 und M2 beschreiben den maximalen Uberlapp bzw. Xj und sind f¨ ur formregul¨ are Finite-Element-Gitter stets beschr¨ankt.  Beweis. Zu b) Die Definition einer Partition P impliziert b∈P #b = #I#J. Hiermit folgt (6.21b) sofort aus (6.21a). Zu c) Sei χτ die charakteristische Funktion zu Xτ . Dann gilt ωL2 (Xτ ×Xσ ) = χτ χσ ωL2 (X×Y ) . Summation der Quadrate liefert 

A|b 22 ≤ ε2

2

χτ (x)χσ (y)ω(x, y)L2 (X×Y )

b=τ ×σ∈P

b∈P

= ε2 Mit χτ ≤

 

2

χτ (x)χσ (y)ω(x, y)

b=τ ×σ∈P



L2 (X×Y )

.

χi (χi ist charakteristische Funktion zu Xi aus (5.5a)) folgt     2 A|b 22 ≤ ε2 χi (x)χj (y) |ω(x, y)| dx dy. i∈τ

b∈P

X×Y b=τ ×σ∈P i∈τ j∈σ

   Wegen der Partitionseigenschaft von P stimmt die Summe b=τ ×σ∈P i∈τ j∈σ u ¨berein mit 4 54  5  2 2 χi (x)χj (y) |ω(x, y)| = χi (x) χj (y) |ω(x, y)| . i∈I j∈J

i∈I

j∈J

Die eckigen Klammern sind durch M1 bzw. M2 beschr¨ankt, sodass  2 2 2 b∈P A|b 2 ≤ ε M1 M2 ωL2 (X×Y ) . Aus den Beispielen (6.21a) und (6.21c) erkennt man, dass das Lemma 6.5.2 auf den Fall zugeschnitten ist, dass kleine Bl¨ocke b ∈ P auch kleine besitzen. Enthalten alle Bl¨ ocke ¨ahnliche Fehler, so enth¨alt die Fehler A|b 2 Ungleichung b∈P A|b 22 ≤ #P max A|b 22 einen Faktor #P der Gr¨oßenordnung der Indexmengen #I, #J. F¨ ur diesen Fall sind die Absch¨atzungen des nachfolgenden Unterabschnittes g¨ unstiger. Beweis zu Lemma 6.5.2. Die Norm AX  ←YJ ist das Supremum des EukliI dischen Skalarproduktes |(Au, v)| u ¨ber alle u ∈ YJ , v ∈ XI mit uYJ =  ∗ v = 1. Auf Grund der Darstellung A = S I AS J (vgl. (6.16d)) ist  IXI∗    (S ) AS J u, v = AS J u, S I v zu untersuchen. Mit uσ , vτ aus (6.16e) folgt  J   AS u, S I v = (Ab uσ , vτ ) b=τ ×σ∈P

132

6 Definition und Eigenschaften der hierarchischen Matrizen

(hier wurde ausgenutzt, dass (Ab uσ , vτ ) = 0 f¨ ur b ∈ / P wegen Ab = 0 gilt). Blockweise Absch¨ atzung liefert   * J * * AS u, S I v * ≤ |(Ab uσ , vτ )| ≤ Ab Xτ ←Yσ uσ Yσ vτ Xτ . b=τ ×σ∈P

b=τ ×σ∈P

Die Schwarzsche Ungleichung ergibt /. .  * J * 2 * AS u, S I v * ≤ Ab 2X  ←Y σ

τ

b=τ ×σ∈P

/



2 uσ Yσ b=τ ×σ∈P

2 vτ Xτ

. (6.22a)

 2 2 Mit der ersten Ungleichung in (6.19) l¨ asst sich uσ Yσ ≤ C0 σ ∈L(σ) uσ Yσ  2 2 ableiten. Entsprechend ist vτ Xτ ≤ C0 τ  ∈L(τ ) vτ  Xτ  , sodass 

2

b=τ ×σ∈P



2

uσ Yσ vτ Xτ ≤ C02





2

b=τ ×σ∈P σ  ∈L(σ) τ  ∈L(τ )

Induktion u ¨ber den Baum T (I × J, P ) beweist   . Somit ist

2

uσ Yσ vτ  Xτ  .







=

b=τ ×σ∈P σ  ∈L(σ) τ  ∈L(τ )

σ  ∈L(T (J)) τ  ∈L(T (I))

 b=τ ×σ∈P

2

2

uσ Yσ vτ Xτ ≤ C02

4



2

σ  ∈L(T (J))

uσ Yσ

54

 τ  ∈L(T (I))

5 2 vτ  Xτ  .

4 5 2 2 Die zweite Ungleichung aus (6.19) zeigt ≤ C0 uJ YJ σ  ∈L(T (J)) uσ  Yσ und liefert die entsprechende Ungleichung f¨ ur den zweiten Klammerausdruck, sodass  2 2 2 2 2 2 uσ Yσ vτ Xτ ≤ C04 uJ YJ vI XI = C04 uYJ vXI . (6.22b) b=τ ×σ∈P

ur die Komponente uJ von Die letzte Gleichheit nutzt aus, dass uJ = u f¨ S J u = (uτ )τ ∈T (J) und analog vI = v. Kombination der Ungleichungen (6.22a,b) liefert ' * J * I 2 * * |(Au, v)| = AS u, S v ≤ C0 Ab 2Xτ ←Yσ uYJ vXI , b=τ ×σ∈P

woraus die Behauptung (6.20) folgt. 6.5.2.3 F¨ alle 1 und 2 Die von A erlaubte die Darstellung A = S ∗ AS =  Blockdiagonalstruktur ¨ S∗ A S . Die weiteren Uberlegung beruhen auf 

6.5 Fehlerabsch¨ atzungen

AX  ←YJ ≤



I

(SI )∗ A SJ







(SI )∗



=



(6.23a)

XI ←YJ

XI ←X

A X  ←Y SJ 

A X  ←Y SI 

133

SJ

X ←XI

Y ←YJ

Y ←YJ

,



indem A X  ←Y abgesch¨ atzt wird. Wie im Beweis von Lemma 6.5.2 ist  |(A u , v )| zu untersuchen, wobei u := SJ u = (uσ )σ∈T () (J) und v := SI v = (vτ )τ ∈T () (I) . Wie oben ist 

|(A u , v )| ≤

|(Ab uσ , vτ )|

(6.23b)

b=τ ×σ∈T () (I)×T () (J)





Ab Xτ ←Yσ uσ Yσ vτ Xτ .

b=τ ×σ∈T () (I)×T () (J) ()

()

Sei nun eine Matrix A ∈ RT (I)×T (J) mittels Aτ,σ := Aτ ×σ Xτ ←Yσ () () definiert. Ferner seien die Vektoren v ∈ RT (I) , u ∈ RT (J) komponentenart. Dann lautet die rechte Seite weise als uσ := uσ Yσ und vτ := vτ Xτ erkl¨ ()

in (6.23b) Au, v mit dem Euklidischen Skalarprodukt des RT (I) . F¨ ur die Absch¨ atzung der Spektralnorm A2 verwenden wir Anmerkung = C.1.3 g: A2 ≤ A∞ A ∞ . Die Zeilensummen von A zu τ ∈ T () (I) sind   Aτ ×σ Xτ ←Yσ = Ab Xτ ←Yσ , σ∈T () (J) mit b=τ ×σ∈P

σ∈T () (J)

da Ab = 0 f¨ ur b = τ × σ ∈ / P. Die Zahl der Summanden ist gem¨aß (6.4a,b) ur alle τ ∈ T () (I), sodass A∞ ≤ Csp, (P )α mit Csp,l (τ, P ) ≤ Csp, (P ) f¨  @ (6.23c) α := max Ab Xτ ←Yσ : b = τ × σ ∈ P ∩ T () (I × I) , Csp, (P ) := Csp (P ∩ T () (I × J))  = max max Csp,l (τ, P ) , τ ∈T () (I)

max

σ∈T () (J)

6 Csp,r (σ, P ) .

(6.23d)

Analog lautet die Zeilensumme von A zu σ ∈ T () (J)   Aτ ×σ Xτ ←Yσ = Ab Xτ ←Yσ τ ∈T () (I)

τ ∈T () (I) mit b=τ ×σ∈P

und ist durch Csp,r (σ, P ) ≤ Csp, (P ) f¨ ur alle σ ∈ T () (I) beschr¨ankt, sodass  auch A ∞ ≤ Csp, (P )α . Zusammen folgt A2 ≤ Csp, (P )α .

(6.23e)

134

6 Definition und Eigenschaften der hierarchischen Matrizen

Weiterhin ist |Au, v| ≤ A2 u2 v2 . Nach Definition der u, v und der Normen in X und Y ist   2 2 2 2 2 2 u2 = |uσ | = uσ Yσ = u Y und v2 = v X . (6.23f) σ

σ

Kombination von (6.23b-e) zeigt ur alle u ∈ Y , v ∈ X |(A u , v )| ≤ |Au, v| ≤ Csp, (P )α u Y v X f¨ und damit A X  ←Y ≤ Csp, (P )α .

(6.23g)



Diese Ungleichung ist die Grundlage der folgenden Lemmata. Der Fall I × J ∈ P (Matrix vom globalen Rang k) ist eher selten. Damit dieser Fall im Weiteren ausgeschlossen werden kann, sei er zuerst behandelt: Anmerkung 6.5.4.  Falls I × J ∈ P, ist b = I × J der einige Block in P, sodass A|b X  ←YJ . AX  ←YJ = I

b∈P

I

Lemma 6.5.5. Der Blockclusterbaum sei stufentreu, ferner sei I × J ∈ / P. Dann gilt AX  ←YJ I



depth(T (I×J,P ))



=0

Csp, (P ) ·

max

b∈P ∩T () (I×J)

A|b Xτ ←Yσ · SI

X ←XI

SJ

Y ←YJ

,

wobei Csp, (P ) das Schwachbesetztheitsmaß der Stufe  ist (vgl. (6.23d) und §6.3). Lemma 6.5.6. Der Blockclusterbaum sei stufentreu, ferner sei I × J ∈ / P. Die Absch¨ atzung ur alle b ∈ P ∩ T () (I × I) und geeignetes q < 1 A|b Xτ ←Yσ ≤ CA q −1 f¨ beschreibe, wie sich die Schranke f¨ ur steigende Stufenzahl  verbessert. Dann gilt $ I % S X ←XI SJ Y ←YJ Csp (P ) CA max 1≤≤depth(T (I×I,P )) AX  ←YI ≤ I 1−q unabh¨ angig von der Tiefe des Baumes T (I × J, P ). Beweis. F¨ ur  = 0 gibt es keinen Beitrag. Die u ¨brigen Stufen liefern f¨ ur A X ←Y SI X ←XI SJ Y ←YJ eine geometrische Summe. Es wird Csp, (P ) ≤ Csp (P ) verwendet.

6.5 Fehlerabsch¨ atzungen

135

Lemma 6.5.7. Der Blockclusterbaum sei stufentreu, ferner sei I × J ∈ / P. Dann gilt AX  ←YJ ≤ Csp (P ) · depth(T (I ×J, P )) · max Ab Xτ ←Yσ I

·

max

1≤≤depth(T (I×J,P ))

b∈P I S X ←XI SJ Y ←YJ .

Beweis. F¨ ur die Stufe  = 0 gibt es keinen Beitrag. Die Summation der u ¨brigen Stufen f¨ uhrt zum Faktor depth(T (I × J, P )) . 6.5.3 Spektralnorm Lemma 6.5.8 (Spektralnormabsch¨ atzung [50], [56]). P ⊂ T (I × J) sei eine stufentreue Partition. Dann gilt f¨ ur alle Matrizen A ∈ RI×J die Ungleichung 

depth(T (I×J,P ))

A2 ≤

=0

Csp, (P )

max

b∈P ∩T () (I×J,P )

A|b 2

≤ max {1, Csp (P ) · (depth(T (I × J, P )))} · max A|b 2 b∈P

(6.24a) (6.24b)

zwischen der globalen und den blockweisen Spektralnormen, wobei Csp, (P ) wie in Lemma 6.5.5 definiert ist. Die Adaption der Absch¨atzungsvariante aus Lemma 6.5.6 ist offensichtlich. Beweis. Die Xτ - und Yσ -Normen sind als Euklidische Norm zu w¨ahlen. Nach Anmerkung 6.5.3a ist SI X ←XI = SJ Y ←YJ = 1. Der Wert 1 in max {1, . . .} entspricht dem Sonderfall I × J ∈ P mit depth(T (I × J, P )) = 0, andernfalls sind Lemma 6.5.5 bzw. Lemma 6.5.7 anzuwenden und ergeben (6.24a,b). Der Faktor depth(T (I ×J, P )) hat f¨ ur #I, #J = O(n) die Gr¨oßenordnung log(n). Dass die erste Ungleichung in (6.24a) scharf ist, zeigt das folgende Beispiel. ¨ Ubung 6.5.9. Sei P die Partition aus Abbildung 3.1 f¨ ur das Modellformat ur 1 ≤  ≤ p − 1 und Hp (p > 0) aus §3. Dann gilt Csp,0 (P ) = 0, Csp, (P ) = 1 f¨ ur  = p. Man definiere die Matrix Mp ∈ Hp rekursiv durch Csp,p (P ) = 2 f¨ M0 = 1 und   Mp−1 Rp−1 Mp = mit Rp = 2−p 11 ∈ Rp , Rp−1 Mp−1 wobei 1 der nur aus Einsen bestehende Vektor ist, und zeige Mp 1 = (p + 1) 1. Man folgere

136

6 Definition und Eigenschaften der hierarchischen Matrizen

Mp 2 ≥ p + 1 =

p−1  =1



max M |b 2 + 2 max M |b 2 b∈P

b∈P

depth(T (I×I,P ))

=

Csp, (P ) max M |b 2 b∈P

=0

f¨ ur P := P ∩ T () (I × J, P ). Hinweis: M |b 2 = 1 f¨ ur alle b ∈ P. Die m¨ ogliche Anwendung von Lemma 6.5.2 ist bereits in der Anmerkung 6.5.3 gegeben worden: = Lemma 6.5.10. a) Es sei A|b 2 ≤ ε #b/#I#J f¨ ur alle b ∈ P vorausgesetzt. Dann gilt A2 ≤ ε. ur alle b) Sei ω ∈ L2 (X × Y ). Es gelte A|b 2 ≤ ε ω(·, ·)L2 (Xτ ×Xσ ) f¨ b ∈ P . Dann ist A2 ≤ εM ω(·, ·)L2 (X×Y ) mit M := M1 M2 , wobei < M1 := max #{i ∈ I : x innerer Punkt von Xi }, x∈X ' M2 := max #{j ∈ J : y innerer Punkt von Xj }. y∈Y

6.5.4 Norm ||| · ||| Die Fehleruntersuchungen in §4.5 haben gezeigt, dass die Frobenius- oder Spektralnormen A weniger interessant sind, da sie von Skalierungen ver¨ schiedenster Art abh¨ angen. Die gleichen Uberlegungen wie in Lemma 4.5.3 und Satz 4.5.4 zeigen, dass stattdessen im Fall der Galerkin-Diskretisierung die Norm |||A||| := PI MI−1 AMJ−1 RJ L2 (X)←L2 (Y )

=

(C.29d)

−1/2

MI

−1/2

AMJ

2

(6.25)

angemessen ist. Dabei sind PI = P und RI = R = P ∗ die Abbildungen aus §C.5.2, MI = RI PI die Massematrix und ·2 die Spektralnorm (die doppelte ur die PartiVerwendung von P f¨ ur die Prolongation P : RI → L2 (X) und f¨ tion P ⊂ T (I × J) sollte zu keinen Verwechslungen f¨ uhren). Im Falle I = J gibt es m¨ oglicherweise verschiedene R¨ aume L2 (X) und L2 (Y ). Entsprechend I 2 muss zwischen PI : R → L (X) und PJ : RJ → L2 (Y ) unterschieden werden. F¨ ur die Anwendung der Lemmata aus §6.5.2 werden die Normen ·Xτ und ·Yσ wie folgt gew¨ ahlt: uXτ := Pτ uL2 (X) = Mτ u2

1/2

f¨ ur u ∈ Rτ ,

uYσ := Pσ uL2 (X) =

1/2 Mσ u2

f¨ ur u ∈ Rσ .

(6.26)

6.5 Fehlerabsch¨ atzungen

137

Diese Norm ist in §C.5.3 als ||| · ||| bezeichnet, hier wird sie allerdings separat f¨ ur alle Cluster τ ∈ T (I) und σ ∈ T (J) aufgestellt. Gem¨aß Lemma C.5.3 stimmt die Operatornorm ·Xτ ←Yσ mit (6.25) u ¨berein, aber nun bezogen auf τ und σ statt I und J: Ab Xτ ←Yσ = Mτ−1/2 Ab Mσ−1/2 2 = |||Ab |||

f¨ ur alle Ab ∈ Rτ ×σ . (6.27)

Zur Interpretation von |||Ab ||| muss man die Cluster τ, σ implizit aus dem Indexbereich des Blockes b ermitteln. Lemma 6.5.11. Unter der Voraussetzung (C.32b), die beispielsweise gem¨aß Lemma C.5.5 f¨ ur st¨ uckweise konstante oder lineare finiten Elemente bei formregul¨ arer Triangulation gilt, folgt 1/2 1 2 C0 Mτ uτ 2

≤ ≤

1/2 1 2 C0 Mσ uσ 2

≤ ≤



1/2 2  τ  ∈L(τ ) Mτ  uτ |τ 2 1/2 C0 Mτ uτ 22 f¨ ur τ ∈ T (I) und uτ ∈ Rτ ,  1/2 2  σ  ∈L(σ) Mσ  uσ |σ 2 1/2 C0 Mσ uσ 22 f¨ ur σ ∈ T (J) und uσ ∈ Rσ

(zu L(τ ) und L(σ) vgl. (6.18)). Ungleichung (6.28a) impliziert 8  −1/2 −1/2 −1/2 −1/2 2 2 AMJ 2 ≤ C0 Mτ A|b Mσ 2 |||A||| = MI =

C02

8

(6.28a)

(6.28b)

b=τ ×σ∈P 2

|||A|b ||| .

b∈P

Beweis. Lemma 6.5.2 ist anzuwenden. Voraussetzung (6.19) ist mit (6.28a) identisch. Die Aussage (6.20) ist wegen (6.27) mit (6.28b) identisch. Satz 4.5.4 zeigte |||K|b − K (k) |b ||| ≤ K − K(k) L2 (Xτ )←L2 (Xσ ) , was gem¨aß (4.40a,b) durch K − K(k) L2 (Xτ )←L2 (Xσ ) ≤ κ − κ (k) L2 (Xτ ×Xσ ) fortgesetzt werden kann. Dabei ist κ der (globale) Kern des Integraloperators K, dessen Galerkin-Diskretisierung die Matrix K ergibt, w¨ahrend κ (k) der Ersatzkern von K(k) : L2 (Xσ ) → L2 (Xτ ) ist und den Matrixblock K (k) |b definiert: |||K|b − K (k) |b ||| ≤ κ − κ (k) L2 (Xτ ×Xσ ) . Folgerung 6.5.12 a) K, K, κ und K (k) |b , K(k) , κ (k) seien wie oben definiert. ˜ ∈ H(k, P ) mit den Bl¨ ˜ b := K (k) |b erf¨ ullt die UnDie H-Matrix K ocken K| gleichung 8  ˜ ≤ C02 κ − κ (k) 2L2 (Xτ ×Xσ ) . |||K − K||| b=τ ×σ∈P

b) W¨ ahlt man als Kriterium ur die Wahl von k = kb die Fehlerschranke < f¨ #σ κ − κ (k) L2 (Xτ ×Xσ ) ≤ ε #τ #I#J , so folgt

138

6 Definition und Eigenschaften der hierarchischen Matrizen

˜ ≤ C02 ε. |||K − K||| = c) Eine Alternative ist κ − κ (k) L2 (Xτ ×Xσ ) ≤ ε μ(Xτ )μ(Xσ ) (μ: Maß (Fl¨ ache, Volumen usw.)), was auf = ˜ ≤ C02 M1 M2 μ(X) μ(Y ) |||K − K||| uhrt. mit M1 , M2 aus (6.21d) f¨ In (11.17c) tritt die Situation auf, dass eine Absch¨atzung der Form |||K|b − K (k) |b ||| ≤ K − K(k) L2 (Xτ )←L2 (Xσ ) ≤ εKL2 (X)←L2 (Y ) vorliegt. In diesem Fall ist die folgende Voraussetzung (6.29a) mit CA := ullt. KL2 (X)←L2 (Y ) erf¨ Satz 6.5.13. Der Blockclusterbaum sei stufentreu, ferner sei I × J ∈ / P. Es ¨ gelte (C.32b) mit der Aquivalenzkonstanten C (vgl. Lemma C.5.5). Dann implizieren die lokalen Fehlerschranken |||A|b ||| ≤ CA ε

(6.29a)

die Absch¨ atzung |||A||| ≤ C 2 · Csp (P ) · depth(T (I ×J, P )) · CA ε.

(6.29b)

¨ Beweis. Die Aquivalenz MI ∼ diag{MI,ii : i ∈ I} aus (C.32b) impliziert ur die Partition π = T () (I). Damit gilt nach Anmerkung C.5.4a MI ∼ Dπ f¨  2 2 2 τ ∈T () (I) |||u|τ ||| ≤ C |||u||| .

6.6 Adaptive Rangbestimmung Im Format H(k, P ) ist die Rangverteilung k : P → N0 eine Abbildung, sodass k(b) in jedem Block einen anderen Wert annehmen darf (vgl. (6.1)). H¨ aufig wird k als Konstante angenommen. Hintergrund dieser Wahl sind die Absch¨ atzungen des Fehlers in Satz 5.2.7, wo eine Fehlerschranke ε mit einem festen k = k(ε) erreichbar ist. Ein Beispiel, f¨ ur das das Format H(k, P ) mit variabler Rangverteilung vorteilhaft ist, ist die Inverse der Finite-ElementMassematrix (vgl. §11.1). Die f¨ ur die Implementierung entscheidende Frage ist nicht die, ob k konstant oder variabel ist, sondern ob k a priori bekannt ist oder erst a posteriori bestimmt wird. Im ersten Fall kann ein f¨ ur alle Male der Speicherbereich f¨ ur die Faktoren A und B pro Matrixblock M |b = AB  angefordert werden. Im zweiten Fall muss der Speicherbereich w¨ ahrend der Rechnung geeignet vergr¨ oßert bzw. zu verkleinert werden.

6.6 Adaptive Rangbestimmung

139

Ein Kompromiss wird durch Anmerkung 2.2.4 gewiesen: Die obere Rangschranke k ist a priori fixiert, aber der aktuelle Rang  ≤ k kann a posteriori gew¨ ahlt werden, vorausgesetzt er u ¨berschreitet k nicht. Es mag im Allgemeinen nicht sinnvoll sein, eine Rangverteilung k zu fixieren und die Resultate der Matrixoperationen in H(k, P ) zu erwarten. Vielmehr wird man zum Beispiel f¨ ur Summanden M1 ∈ H(k1 , P ) und M2 ∈ H(k2 , P ) (k1 , k2 : P → N0 ) eine Summe M = M1 ⊕ M2 ∈ H(k, P ) mit einer geeigneten Rangverteilung k ≤ k1 + k2 : P → N0 berechnen, die selbst (zusammen mit M ) zu bestimmen ist (siehe unten). In diesem Falle kann man von einer adaptiven Rangbestimmung sprechen. Bisher wurden die formatierten Operationen mit Hilfe der K¨ urzung R : R(, I, J) → R(k, I, J) Tk←

aus (2.10) bestimmt, wobei der Zielrang k fest vorgegeben war. Im Folgenden wird die Kontrolle des Ranges direkt u ¨ber den Fehler stattfinden. Dazu sei R wird durch die nachfolgend ein Schwellwert ε > 0 gegeben. Die K¨ urzung Tk← R definierte K¨ urzung Tε : R(k, I, J) → R(I, J) ersetzt: M ∈ R(k, I, J) habe die Singul¨ arwertzerlegung M = U ΣV  mit ur i > k. Σ = diag{σi } und σ1 ≥ σ2 ≥ . . . ≥ σk ≥ 0, σi = 0 f¨  σi falls σi > ε, Man setze Σε := diag{σε,i } mit σε,i := 0 sonst und definiere TεR (M ) := U Σε V  .

(6.30)

k Eine Variante lautet: Sei  ∈ N0 die kleinste Zahl mit i=+1 σi2 ≤ ε2 . Man setze  σi falls i ≤ , Σε := diag{σε,i } mit σε,i := 0 sonst und TεR (M ) := U Σε V  .

(6.31)

Anmerkung 6.6.1. Die K¨ urzung TεR aus (6.30) hat die Eigenschaft R Tε (M ) − M 2 ≤ ε; die K¨ urzung aus (6.31) f¨ uhrt auf TεR (M ) − M F ≤ ε. Anstelle eines absoluten Fehlers kann auch der relative Fehler R TεM 2 (M ) − M 2 ≤ ε M 2

erzielt werden. Die Ungleichung σi > ε M 2 in (6.30) kann ¨aquivalent als σi > εσ1 formuliert werden. Im Weiteren bezeichne M wieder eine H-Matrix aus H(k, P ). Die Verwenuhrt auf Resultate M in dung der K¨ urzung TεR bei allen Matrixoperationen f¨ ˜ H(k, P ), wobei k˜ ≤ k die adaptiv bestimmte Rangverteilung ist. Gegen¨ uber den formatierten Operationen mit konstantem k ist die Hoffnung, dass der

140

6 Definition und Eigenschaften der hierarchischen Matrizen

˜ Rang k(b) f¨ ur viele Bl¨ ocke b kleiner ist, als er f¨ ur ein fest zu w¨ahlendes k ˜ ausfiele, bzw. dass große k(b) nur f¨ ur wenige Bl¨ocke auftreten. Bei der Implementierung ist zu bedenken, dass der Speicherbedarf f¨ ur M |b nicht vorweg bekannt ist (die obere Schranke min{#τ, #σ} von k(τ × σ) im Falle einer Vollrangmatrix ist hier im Allgemeinen ungeeignet, da viel zu groß).

6.7 Rekompressionstechniken Ist eine Matrix M im H-Matrixformat H(k, P ) gegeben, lassen sich die Daten weiter ausd¨ unnen, ohne die Approximationsg¨ ute wesentlich zu verschlechtern. Das Vorgehen in den n¨ achsten Unterkapiteln kann man als eine Anpassung des Formates an eine gegebene bzw. berechnete Matrix verstehen. 6.7.1 Kompression durch TεH Eine naheliegende Kompression der Daten M ∈ H(k, P ) erh¨alt man als Resultat der K¨ urzung TεH , die durch  R ur b ∈ P + , ˜ |b = Tε (M |b ) f¨ ˜ := TεH (M ) (6.32) :⇔ M M f¨ ur b ∈ P − . M |b blockweise definiert ist. Diese “Bereinigung” kann innerhalb des H(k, P )Formates durchgef¨ uhrt werden, wenn die Darstellung von M |b ∈ R(k, τ, σ) (b = τ × σ) wie in Anmerkung 2.2.4 vorgenommen wird. Im Falle von Integralgleichungen auf Oberfl¨achen gibt es einen systematischen Grund, warum eine Kompression TεH erfolgreich ist: Die einfachste Methode f¨ ur eine Kernapproximation ist die Tensorprodukt-Interpolation d der Kernfunktion im Rd . Entsprechend ergibt sich ein Rang k = (p + 1) , wenn p der Polynomgrad der eindimensionalen Interpolation ist. Da die Integration u uhrt wird, ¨ber eine (d − 1)-dimensionale Mannigfaltigkeit ausgef¨ w¨ aren an sich Interpolationen in dieser Mannigfaltigkeit ausreichend, was d−1 erg¨ abe. Damit ist a priori bekannt, dass ein kleinerer Rang k  = (p + 1) d ur die gew¨ unschte Genauigkeit ausreicht. Die Kompression als k = (p + 1) f¨ TεH (M ) findet den kleineren Rang in systematischer Weise. Ein a anomen ergibt sich f¨ ur die Approximation von Fundamen¨hnliches Ph¨ tall¨ osungen: Wie in §4.3.5 ausgef¨ uhrt, werden nur die harmonischen Polynome f¨ ur die Approximation von 1/ |x − y| ben¨otigt. Verwendet man trotzdem Ans¨ atze mit allgemeinen Polynomen, filtert die Kompression TεH die unn¨ otigen Ansatzfunktionen heraus. Man beachte, dass es in den beiden genannten F¨allen viel einfacher ist, mit allgemeinen Methoden zu approximieren und dann zu komprimieren als spezielle Funktionsentwicklungen herzuleiten und damit zu approximieren. Es sei schon darauf hingewiesen, dass die H2 -Matrizen aus §8 eine Realisierung der Kompression TεH erlauben, deren Kosten von den R¨angen k(b) angen, nicht aber von der Gr¨ oße der Bl¨ocke b (vgl. Anmerkung und #P + abh¨ 8.1.8.

6.8 Modifikationen des H-Matrixformates

141

6.7.2 Vergr¨ oberung der Bl¨ ocke Bisher wurden die Partition P ⊂ T (I × J) beziehungsweise die Bl¨ocke b ∈ P unver¨ andert gehalten. F¨ ur die folgende Diskussion geht man vom Teilbaum T (I × J, P ) aus. Sei b∗ ∈ T (I × J, P ) ein Block, der nur S¨ohne b ∈ P besitzt: S(b∗ ) ⊂ P. Im Folgenden nehmen wir spezieller an, dass S(b∗ ) ⊂ P +

und

M |b ∈ R(k(b), b)

f¨ ur b ∈ S(b∗ ).

Dabei sei k(b) optimal in dem Sinne, dass wegen TεR (M |b ) = M |b keine Rangverbesserung mit der bisher besprochenen Kompression erreichbar  ist. Offenbar l¨ asst sich M |b∗ exakt als Matrix in R(k ∗ , b∗ ) mit k ∗ := b∈S(b∗ ) k(b) ˜ |b∗ = T R (M |b∗ ) darstellen (vgl. §7.2.2). Auf M |b∗ kann man eine K¨ urzung M ε ∗ ˜ |b∗ ∈ R(, b∗ ). Es ist nun oge: M anwenden, die einen Rang  ≤ k ergeben m¨ zu entscheiden, ob es g¨ unstiger ist, (i) alle Untermatrizen M |b ∈ R(k(b), b) f¨ ur b ∈ S(b∗ ) abzuspeichern, oder ˜ |b∗ mit dem Rang . (ii) nur M Der Speicheraufwand in den F¨ allen (i) und (ii) betr¨agt  (i) S1 = b=τ ×σ∈S(b∗ ) k(b) (#τ + #σ) bzw. (ii) S2 =  (#τ ∗ + #σ ∗ ) , wobei b∗ = τ ∗ × σ ∗ .

(6.33)

Im stufentreuen Fall ist τ ∗ (bzw. σ ∗ ) der Vater aller links vorkommenden τ (bzw. σ). ˜ |b∗ = TεR (M |b∗ ) mit dem zugeh¨origen Rang Eine m¨ ogliche Strategie ist, M  zu berechnen und nachzupr¨ ufen, ob S2 < S1 . In diesem Fall akzeptiert man ˜ |b∗ , ansonsten bel¨ asst man es bei den M |b ∈ R(k(b), b) die Vergr¨ oberung auf M f¨ ur b ∈ S(b∗ ). ¨ Ubung 6.7.1. T (I ×J) sei stufentreu konstruiert, T (I) und T (J) seien bin¨are B¨aume. In (6.33) gelte k(b) = k f¨ ur alle b ∈ S(b∗ ). Man zeige, dass in (6.33) S1 = 2k (#τ ∗ + #σ ∗ ) gilt, sodass sich der Vergleich S2 < S1 auf  < 2k reduziert. In Grasedyck [53] findet man numerische Beispiele zur Rekompression bei Randelement-Systemmatrizen.

6.8 Modifikationen des H-Matrixformates 6.8.1 H-Matrizen mit Gleichungsnebenbedingungen Auch wenn die Diskretisierungen immer mit Diskretisierungsfehlern verbunden sind, kann es Situationen geben, in denen bestimmte Nebenbedingungen

142

6 Definition und Eigenschaften der hierarchischen Matrizen

exakt gelten sollen. Zum Beispiel k¨ onnte gefordert werden, dass der “konstante” Vektor 1 = (1)i∈I im Kern der Matrix M liegt: M 1 = 0 oder dass M  1 = 0. Im Zusammenhang mit Problemen der Elastizit¨atsgleichungen sollen die Translationen und Drehungen (“Starrk¨orperbewegungen”) im Kern der Matrix liegen. Sei M ∈ RI×J eine Matrix mit den Eigenschaften M a(i) = b(i)

f¨ ur a(i) ∈ RJ , b(i) ∈ RI

(1 ≤ i ≤ m).

˜ , die M approximiert, aber Wir suchen eine H-Matrix M ˜ a(i) = b(i) M

f¨ ur a(i) ∈ RJ , b(i) ∈ RI

(1 ≤ i ≤ m)

(6.34)

exakt erf¨ ullt. ˜ mit minimaler Frobenius-Norm, die zugleich Lemma 6.8.1. Die Matrix M die Nebenbedingungen (6.34) erf¨ ullt, ist die Rang-m-Matrix ˜ = BG−1 A ∈ R(m, I, J) mit M 5 4 B = b(1) b(2) . . . b(m) ∈ RI×{1,...,m} , 5 4 A = a(1) a(2) . . . a(m) ∈ RJ×{1,...,m} , G = A A.   Beweis. Die Nebenbedingungen b(i) − M a(i) j = 0 (j ∈ I) werden mittels ˜ 2 gebunden: Lagrange-Faktoren λi,j an die zu minimierende Funktion M F minimiere

˜ 2 + ˜ , (λi,j )1≤i≤m,j∈I ) := M Φ(M F

m   i=1 j∈I

  λi,j b(i) − M a(i) . j

˜ α,β (α ∈ I, β ∈ J) liefert die Optimalit¨atsbedingung Die Ableitung nach M ˜ α,β = M

m 

(i)

λi,α aβ ,

i=1

˜ = ΛA mit Λi,α = λi,α folgt. Andererseits m¨ ussen die Gleichungen woraus M ˜ A = B zusammenfassen lassen. Dies f¨ (6.34) gelten, die sich zu M uhrt auf ˜ = BG−1 A . ΛA A = B und damit M Von Lemma 6.8.1 kann man wie folgt Gebrauch machen: 1. Man berechne wie u ¨blich eine H-Matrixapproximation M  ∈ H(k, P ) an I×J . M ∈R ur 1 ≤ i ≤ m. 2. Man berechne die Defekte d(i) := b(i) − M  a(i) f¨ 3. Man wende Lemma 6.8.1 mit d(i) statt b(i) an. Die L¨osung sei mit δM ˜ bezeichnet. statt M

6.8 Modifikationen des H-Matrixformates

143

˜ := M  + δM geh¨ 4. M ort zu H(k + m, P ) und erf¨ ullt (6.34). Zum Beweis der letzten Aussage beachte man   ˜ a(i) = M  a(i) + δM a(i) = b(i) − d(i) + d(i) = b(i) . M 6.8.2 Positive Definitheit Weil die in §7 zu definierenden Operationen nur approximativ sind, k¨onnte ein Ergebnis, das bei exakter Rechnung positiv definit sein sollte, diese Eigenschaft verlieren. Da die Inexaktheit stets von Rangk¨ urzungen herr¨ uhrt, wird im Folgenden nur der K¨ urzungsprozess selbst untersucht. Sei A = A eine positiv definite Matrix aus H(, P ), P ⊂ I × I, R (vgl. (2.10)) auf Rang k gebracht werden deren Bl¨ ocke M |b mittels Tk← ur sollen. Wegen der symmetrischen Struktur muss gleichzeitig mit M |b f¨ R ur b∗ = σ × τ mit Tk← gek¨ urzt werden. Die Operation b = τ × σ auch M |b∗ f¨ R M |b besteht in der Subtraktion von −k Rang-1-Matrizen σi ui vi M |b → Tk← (k + 1 ≤ i ≤ ), die aus der Singul¨ arwertzerlegung stammen, und kann in der Form  C = [σk+1 uk+1 . . . σ u ] , R  mit Tk← M |b = M |b − CD D = [vk+1 . . . v ] R geschrieben werden. Gleichzeitig wird Tk← M |b∗ = M |b∗ −DC  durchgef¨ uhrt. Diese doppelte Korrektur schreibt sich als τ



σ

 CD

M → M − DC 

}τ }σ

und kann die Positivdefinitheit zerst¨ oren. Stattdessen kann man τ

˜ := M − M → M

σ





−CC 

CD



DC 

−DD



    C C −CC  CD = − wird eine nicht−D −D DC  −DD ˜ ≥ M im Sinne der Positivpositiv definite Matrix abgezogen, sodass M urzung definitheit gilt. Die Addition M |τ ×τ + CC  kann ihrerseits eine Rangk¨ 

verwenden. Wegen

144

6 Definition und Eigenschaften der hierarchischen Matrizen

in τ × τ erfordern, falls τ × τ ∈ / P − . Diese K¨ urzung ist in gleicher Weise durchzuf¨ uhren und f¨ uhrt auf einen rekursiven Prozess. Eine ausf¨ uhrliche Beschreibung der Stabilisierung und ein numerisches Beispiel finden sich in Bebendorf-Hackbusch [13]. 6.8.3 Positivit¨ at von Matrizen Eine Matrix M heißt nichtnegativ (bzw. positiv), falls sie elementweise nichtnegativ (bzw. positiv) ist: Mij ≥ 0 (bzw. Mij > 0). Wir notieren diese Eigenschaft mit M ≥ O (bzw. M > O). Ebenso schreiben wir x ≥ 0 (bzw. x > 0) f¨ ur Vektoren mit nichtnegativen (bzw. positiven) Komponenten. Bei der Approximation durch eine H-Matrix m¨ochte man unter Umst¨ anden diese Vorzeichenbedingung erhalten. Offenbar reicht es bei diesen ¨ Uberlegungen aus, jeden Matrixblock M |b (b ∈ P ) einzeln zu betrachten. Damit entsteht die folgende Frage: •

Die nichtnegative Matrix M |b sei durch eine Rang-k-Matrix R = AB  ∈ R(k, b) approximierbar: M |b − RF ≤ ε M |b F . Wie erh¨alt man eine ahnlicher Approximationsg¨ ute, die nichtnegative Matrix R+ ∈ R(k, b) mit ¨ ullt? R+ ≥ O bzw. R+ > O erf¨

Lemma 6.8.2. Sei M |b ≥ O mit b = τ × σ. R = AB  ∈ R(k, b) sei die aß §2.4. Die ersten Spalten von A und B seien Bestapproximation zu M |b gem¨ a1 = σ1 u1 und b1 = v1 aus (2.5b). Dann gelten die folgenden Aussagen u ¨ber die Vorzeichen von σ1 , a1 , b1 . (i) Es gilt σ1 ≥ 0 und a1 ≥ 0, b1 ≥ 0. (ii) M |b > O impliziert σ1 > 0 und a1 > 0, b1 > 0. (iii) σ1 > 0 gilt genau dann, wenn M |b = O. ˙ 2 gibt, sodass (iv) a1 > 0 gilt genau dann, wenn es keine Partition τ = τ1 ∪τ alle Zeilen {Mi,σ : i ∈ τ1 } senkrecht auf allen Zeilen {Mi,σ : i ∈ τ2 } stehen (vgl. Notation 1.3.9 zu Mi,σ ). ˙ 2 gibt, sodass (v) b1 > 0 gilt genau dann, wenn es keine Partition σ = σ1 ∪σ alle Zeilen {Mτ, :  ∈ σ1 } senkrecht auf allen Zeilen {Mτ, :  ∈ σ2 } stehen. Beweis. a) Seien X := M |b (M |b ) und Y := (M |b ) M |b . Dann sind X, Y quadratische, nichtnegative Matrizen. σ12 ist der gr¨oßte Eigenwert von X wie ur X und b1 f¨ ur Y. Die Perron-FrobeniusY. Der zugeh¨ orige Eigenvektor ist a1 f¨ Theorie sagt aus, dass eine irreduzible2 Matrix einen (einfachen) positiven Eigenwert besitzt und der zugeh¨ orige Eigenvektor positiv ist (vgl. [66, Satz 6.3.1]). Ist die Matrix lediglich nichtnegativ, folgen noch die Ungleichungen aus Behauptung (i) (vgl. [66, Satz 6.3.10]). b) Mit M |b > O sind auch X > O und Y > O, sodass sie insbesondere irreduzibel sind und Aussage (ii) folgt. 2

Eine Matrix M ∈ RI×I heißt irreduzibel, falls es keine Partition I = I1 ∪ I2 gibt mit I1 ∩ I2 = ∅, I1 = ∅, I2 = ∅ und M |I1 ×I2 = O.

6.8 Modifikationen des H-Matrixformates

145

c) Teil (iii) folgt aus M |b 2 = σ1 (vgl. Lemma C.2.1b). d) Die Bedingungen in (iv) bzw. (v) sind ¨ aquivalent dazu, dass X bzw. Y irreduzibel sind. Sei R = AB  ∈ R(k, b) die Approximation von M |b , die aber nicht die gew¨ unschte Eigenschaft R ≥ O besitzt: δ := − min{Rij : (i, j) ∈ b} > 0. Im schlechtesten Falle gilt die Absch¨ atzung δ ≤ M |b − RF ≤ ε M |b F . ¨ Eine m¨ ogliche, den Rang erhaltende Korrektur besteht in der Anderung a+ 1 := a1 + x,

b+ 1 := b1 + y

der ersten Spalten von A und B mit positiven Vektoren x ∈ Rτ und y ∈ Rσ . Seien A+ und B + die modifizierten Matrizen. Dann gilt    R+ := A+ B + = R + a1 y  + xb . 1 + xy Falls a1 > 0 und b1 > 0 hinreichend von null getrennt sind, d.h.3 a1,j ≥ σ1 γ,

b1,j ≥ γ

mit einem γ > 0,

folgt f¨ ur die Wahl x = κa1 und y = κb1 mit einem Faktor κ > 0, dass    a1 y  + xb ≥ σ1 κ (2 + κ) γ 2 f¨ ur alle (i, j) ∈ b. 1 + xy ij Offenbar ist R+ ≥ O gesichert, sobald σ1 κ (2 + κ) γ 2 ≥ δ,

d.h. κ ≥ δ/(σ1 γ 2 +

< σ1 γ 2 δ + σ12 γ 4 ).

Falls γ = O(1), hat die rechte Seite die Gr¨ oßenordnung O(δ/σ1 ) ≤ O(ε) wegen σ1 = M |b F . Aus κ = O(ε) folgt M |b − R+

F

≤ M |b − RF + R − R+

F

≤ ε M |b F + κ (2 + κ) a1 2 b1 2 =

a1 2 =σ1 ,b1 2 =1

ε M |b F + κ (2 + κ) σ1 = O(ε) M |b F .

Dies zeigt die Anmerkung 6.8.3. Falls 0 < γ = O(1), f¨ uhrt die Wahl x = κa1 und y = κb1 mit geeignetem κ = O(ε) zu einer nichtnegativen N¨aherung R+ ∈ R(k, b), sodass der Approximationsfehler von der gleichen Gr¨oßenordnung ist. Falls γ klein  oder sogar null ist, kann2 x = κσ1 1 und y = κ1 gew¨ahlt ≥ κ σ1 garantiert. Wegen der Wahl werden, was a1 y  + xb 1 + xy ij √ κ = O( ε) erh¨ alt man √ im schlechtesten Falle die verschlechterte N¨aherung M |b − R+ F = O( ε). Im Zweifelsfall hat man nachzupr¨ ufen, ob die Eigenschaft R ≥ O nur f¨ ur wenige Komponenten nicht zutrifft. Dann k¨ onnen x und y relativ schwach besetzte Vektoren sein. 3

Hier ist wegen der Wahl a1 = σ1 u1 aus (2.5b) die Normierung a1  = σ1 angenommen.

146

6 Definition und Eigenschaften der hierarchischen Matrizen

6.8.4 Orthogonalit¨ at von Matrizen Sei M ∈ RI×J eine orthogonale Matrix: M  M = I (#J ≤ #I, vgl. Definition  MH = I C.1.2). Eine H-Matrixn¨ aherung MH wird im Allgemeinen zu MH f¨ uhren, sodass eine nachtr¨ agliche Verbesserung der Orthogonalit¨atseigenschaft gew¨ unscht ist. Der Korrekturalgorithmus lautet wie folgt:   MH und breche ab, wenn D 1. Man berechne den Defekt D := I − MH klein genug ist. 2. Man ersetze MH durch MH  (I − 12 D) und wiederhole die Iteration bei Schritt 1.

Anmerkung 6.8.4. a) Bei exakter Multiplikation anstelle von  konvergiert der Defekt lokal quadratisch gegen null. F¨ ur D < 1 ist globale Konvergenz gesichert. b) Bei formatierter Multiplikation muss  genauer sein als ε im Abbruchkriterium D ≤ ε aus Schritt 1. und Dk := I − Mk Mk Beweis. Die k-te Iterierte MH sei als Mk bezeichnet  der zugeh¨ orige Defekt. Damit folgt Mk+1 := Mk I + 12 Dk und  Mk+1 Mk+1

    1 1 = I − Dk+1 = I + Dk (I − Dk ) I + Dk 2 2 3 2 1 3 = I − Dk − Dk , 4 4 2

3

sodass Dk+1  ≤ 34 Dk  + O(Dk  ). Mit Dk  < 1 ⇒ Dk+1  < Dk  erh¨ alt man Teil a). Entsprechend behandelt man den Fall einer rechteckigen Matrix mit #J > #I , f¨ ur die M  orthogonal ist.    Die obige Iteration Mk → Mk+1 = Φ(Mk ) := Mk I + 12 I − Mk Mk ist ein Beispiel f¨ ur eine quadratisch konvergente Fixpunktiteration. Derartige Fixpunktiterationen werden in §14.3.2 n¨ aher untersucht werden.

7 Formatierte Matrixoperationen fu ¨r hierarchische Matrizen

Der wesentliche Fortschritt, der durch das Hilfsmittel der hierarchischen Matrizen erzielt wird, beruht auf der M¨ oglichkeit, alle Matrixoperationen mit fast linearer Komplexit¨ at durchf¨ uhren zu k¨onnen. Deshalb spielt dieses Kapitel eine wichtige Rolle f¨ ur die Implementierung. Da (abgesehen von der Matrix-Vektor-Multiplikation) die Resultate in Form einer H-Matrix ausgegeben werden, sprechen wir von einer formatierten Operation. Diese werden in §§7.1-7.6 algorithmisch vorgestellt. Die Analyse des hierf¨ ur ben¨otigten Rechenaufwandes findet sich in §7.8. Im Falle der Addition und Multiplikation gibt es auch die Option einer exakten Berechnung, da das exakte Resultat f¨ ur geeignete Parameter eine H-Matrix darstellt (vgl. Korollar 7.3.2 und Lemma 7.4.5). Zu parallelen Implementierungen, die hier nicht diskutiert werden, findet man Details in Kriemann [103, 102, 104] und Bebendorf-Kriemann [14]. Vorschau auf die n¨ achsten Unterkapitel: §7.1: Beschreibung der Matrix-Vektor-Multiplikation. Aufwandsbeschreibung in §7.8.1. §7.2: Beschreibung der K¨ urzungen und Konvertierungen, die im Weiteren ben¨ otigt werden. §7.3: Beschreibung der formatierten Matrixaddition. Hier wird die H aus §7.2.1 ben¨ otigt. Aufwandsbeschreibung in §7.8.2. K¨ urzung Tk← §7.4: Beschreibung der formatierten Matrix-Matrix-Multiplikation. Hier werden weitere Konvertierungen aus §7.2 ben¨ otigt. Aufwandsbeschreibung in §7.8.3 (Satz 7.8.19b und Lemma 7.8.21). §7.5: Beschreibung der formatierten Matrix-Inversion. Aufwandsbeschreibung in §7.8.4. §7.6: Beschreibung der formatierten LU- bzw. Cholesky-Zerlegung. Aufwandsbeschreibung in §7.8.5. §7.8: Diskussion des Aufwandes (siehe oben).

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 7, c Springer-Verlag Berlin Heidelberg 2009 

148

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

7.1 Matrix-Vektor-Multiplikation Sei P ⊂ T (I × J) eine Partition. Der Algorithmus zur Matrix-VektorMultiplikation y := M x mit M ∈ H(k, P ) , x ∈ RJ , y ∈ RI wird in der additiven Form y := y + M x formuliert, sodass y im Zweifelsfall mit y := 0 zu initialisieren ist. F¨ ur b = τ × σ berechnet MVM (y, M, x, b) den Ausdruck y|τ := y|τ + M |b · x|σ . Mit b := I × J folgt: MVM (y, M, x, I × J)

produziert y := y + M x .

(7.1)

Gem¨ aß Lemma 5.5.7 ist P die Blattmenge des Baumes T (I × J, P ), d.h. P = L(T (I × J, P )). Die folgende Rekursion l¨auft u ¨ber die Nachfolger von b, bis ein Blatt aus P erreicht ist, was wegen b ∈ T (I × J, P ) garantiert ist. Die Parameter M, x, b = τ × σ sind Eingabeparameter, y ist Ein- und Ausgabeparameter. Dabei sind M ∈ H(k, P ), x ∈ RJ , y ∈ RI und b ∈ T (I ×J, P ). procedure MVM (y, M, x, b); if b = τ × σ ∈ P then y|τ := y|τ + M |b · x|σ else for all b ∈ S(b) do MVM (y, M, x, b );

(7.2)

Zu Zeile 2: Die Matrix-Vektor-Multiplikation M |b · x|σ mit dem Matrixblock ur b ∈ P − ist M |b · x|σ die Matrix-Vektor-Multiplikation M |b ist polymorph: f¨ mit einer vollen Matrix, andernfalls mit einer Rang-k-Matrix. Im Gegensatz zu den folgenden Operationen ist die Matrix-Vektor-Multiplikation exakt bis auf Fehler der Gleitkomma-Arithmetik. ¨ Ubung 7.1.1. Man formuliere die Prozedur VMM (y, M, x, b), die die Vektorur x ∈ RI und M ∈ H(k, P ) ∩ RI×J Matrix-Multiplikation y  := y  + x M f¨ ausf¨ uhrt. ¨ Ubung 7.1.2. Wie kann die Berechnung eines Skalarproduktes y, M x durchgef¨ uhrt werden, ohne dass zuvor der Vektor M x berechnet wird (vgl. ¨ Ubung 7.8.2)?

7.2 Ku ¨rzungen und Konvertierungen Die weiteren Operationen werden im Allgemeinen nur approximativ durchgef¨ uhrt (vgl. Modellfall aus §3). Der Grund sind K¨ urzungen auf einen geringeren Rang oder die Konvertierung in ein gr¨oberes Partitionsmuster. R H , TkR und Tk← 7.2.1 K¨ urzungen Tk← R In Anmerkung 2.5.4 wurde bereits die “K¨ urzung” Tk← einer Rang--Matrix auf eine optimale Rang-k-Matrix definiert, wobei f¨ ur k ≥  die Identit¨at

7.2 K¨ urzungen und Konvertierungen

149

vorliegt. Falls M ∈ R eine Niedrigrangmatrix mit nicht festgelegtem Rang R nur TkR .  ist, schreiben wir statt Tk← Es kann vorkommen, dass eine volle Matrix M ∈ V(b) in eine Rang-kMatrix umgewandelt werden soll: TkR←V : TkR←V M

V(τ × σ) → R(k, τ, σ), ist Resultat der komprimierten Singul¨arwertzerlegung aus Anmerkung 2.4.2.

(7.3)

Diese an sich teuere Operation wird nur auf die Nahfeld-Matrixbl¨ocke M |b (b = τ × σ ∈ P − ) angewandt werden. Gem¨ aß (5.42) k¨onnen wir voraussetzen, ochstens den Rang nmin besitzen kann: dass M |b h¨ b = τ × σ ∈ P − ⇔ Gr¨ osseT (I×J) (b) = f alse ⇔ min{#τ, #σ} ≤ nmin . (7.4) Hieraus folgt insbesondere, dass TkR←V f¨ ur k ≥ nmin zwar das Format ¨andert, aber die Genauigkeit unver¨ andert l¨ asst. ussen, f¨ uhren Um nicht zwischen b ∈ P − und b ∈ P + unterscheiden zu m¨ R aus (2.10) ein: wir die Kombination von TkR←V und Tk←  TkR : V(τ × σ) ∪ R(, τ, σ) → R(k, τ, σ), (7.5) ∈N0  R←V Tk M falls M ∈ V(τ × σ), TkR M := R M falls M ∈ R(, τ, σ). Tk← R Ausgangs- und Zielformat der Abbildungen Tk← , TkR←V , TkR ist der gleiche → . Block: Die Abbildung TkR wird im Folgenden auf hierarchische Matrizen M ∈ H(, P ) u ¨bertragen (der obere Index R ¨andert sich dann in H). Das H M wird blockweise definiert. Gelegentlich wird von der Resultat von Tk← H Gebrauch gemacht: k¨ urzeren Notation TkH statt Tk← H TkH = Tk← : H(, P ) → H(k, P )  R  H  Tk← (M |b ) falls b ∈ P + Tk← M |b = M |b falls b ∈ P −

(k,  ∈ N0 ),

(7.6)

f¨ ur M ∈ H(, P ).

Man beachte, dass Bild und Urbild hierarchische Matrizen zur gleichen Partition P sind. Nur der lokale Rang wird von  in k ge¨andert. Die Verallgemeinerung auf blockabh¨ angige R¨ ange k = k(b) ist ohne Schwierigkeiten m¨ oglich. TkH kann prinzipiell auch auf eine allgemeine Matrix M ∈ RI×J angewandt ur b ∈ P + eine volle Matrix werden: Da M |b bei allgemeinen Matrizen auch f¨ R←V (M |b ) angewandt werden, was allerdings sehr teuer werden ist, kann Tk kann. Lemma 7.2.1. a) Sei M ∈ RI×J . M  = TkH (M ) liefert das Minimum von M − M  F u ¨ber alle M  ∈ H(k, P ) . H uglich des Skalarproduktes b) Tk isteine Projektion auf H(k, P ), die bez¨ M, N F := i∈I,j∈J Mij Nij sogar orthogonal ist.

150

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

7.2.2 Agglomeration Im Folgenden wird die Umwandlung eines feiner unterteilten Blocks in → . Sei b der Block der Zieleine Rang-k-Matrix auftreten, z.B. matrix, w¨ a hrend die Ausgangsmatrix in die Bl¨ o cke bi ∈ S(b) unterteilt ist:   M1 M2 ∈ Rb mit Mi ∈ R(, bi ). Mit dem Symbol ·|b wird die Erweiterung M3 M4 einer Teilmatrix zu einer Matrix in Rb bezeichnet (vgl. Definition 1.3.8): 

M ∈ Rb , b ⊂ b → M |b ∈ Rb    Mi,j falls (i, j) ∈ b , mit M |b i,j = 0 falls (i, j) ∈ b\b . Dies erlaubt die Schreibweise   M1 M2 = M1 |b + M2 |b + M3 |b + M4 |b . M= M3 M4

(7.7)

(7.8)

Anmerkung 7.2.2. a) Aus M ∈ R(k, b ) und b ⊂ b folgt wieder M |b ∈ R(k, b). b) Eine aus R(ki , bi )-Matrizen zusammengesetzte Gesamtmatrix kann daher ur die K¨ urzung als Summe von R(ki , b)-Matrizen aufgefasst werden. F¨ der entstehenden Summe auf Rang k stehen gem¨aß §2.6.3 die genauere R  R urzung Tk,paarw zur K¨ urzung Tk← ki und die vereinfachte paarweise K¨ ¨ Verf¨ ugung (vgl. Ubung 2.6.4). Wegen der Identit¨at (7.8) verwenden wir die R  R gleichen Funktionsnamen Tk← ur die K¨ urzung der ki (M ) bzw. Tk,paarw (M ) f¨ zusammengesetzten Matrix. c) Die Darstellungsvariante aus §2.7.2 ist bei dieser Anwendung besonders g¨ unstig. ¨ Ubung 7.2.3. Die Beschr¨ ankung M |b ist eine lineare Abbildung RI×J → Rb . Man zeige, dass die Abbildung M  ∈ Rb → M  |b ∈ RI×J zu der ersten bez¨ uglich ·, ·F adjungiert ist. 7.2.3 Konvertierung TkR←H Die linke Seite in (7.8) ist eine sehr einfache Form einer hierarchischen Matrix. ¨ Es sei an Ubung 6.1.3 erinnert: Die Beschr¨ ankung einer hierarchischen Matrix auf b ∈ T (I × J) liefert die hierarchischen Matrizen aus H(, P |b ), wobei P |b := P ∩ P(b) = {b ∈ P : b ⊂ b} die Partition von b beschreibt. Im Folgenden soll M ∈ H(, P |b ) mit Hilfe der K¨ urzung TkR←H in eine Niedrigrangmatrix TkR←H M ∈ R(k, b) verwandelt werden. Da M ∈ H(, P |b ) auch nur aus Niedrigrang- und vollen Teilmatrizen zusammengesetzt ist, ist TkR←H M die Agglomeration aller M |b u ¨ber b ∈ P |b .

7.2 K¨ urzungen und Konvertierungen

151

Die Summe u ¨ber alle (M |b ) |b wird mit Hilfe des Blockclusterbaums T (I × J) rekursiv organisiert. Das folgende Beispiel skizziert das stufenweise Vorgehen: →

→

Zun¨ achst werden alle Teilmatrizen der Ausgangsmatrix mittels TkR in Rangk-Matrizen umgeformt. Danach wird die eben beschriebene Agglomeration solange angewandt, bis das Zielformat erreicht ist (vgl. auch das Beispiel aus §2.6.4). Der Aufruf Konvertieren von H (M, b, T (I × J, P ), k) der nachfolgend angegebenen Prozedur mit Argumenten b ∈ T (I × J, P ) und M ∈ H(, P ) wandelt nur den Matrixblock M |b um. Wegen M ∈ H(, P ) sind alle Teilmatrizen M |b mit b ∈ P entweder volle Matrizen (b ∈ P − ) oder Rang--Matrizen (b ∈ P + ). Die Prozedur Konvertieren von H schließt den osse(b) = f alse), Fall ein, dass M |b als volle Matrix dargestellt wird (Gr¨ wobei keine arithmetischen Operationen auftreten. procedure Konvertieren von H (M, b, T, k); {M ∈ H(, P ), b ∈ T , T : Blockclusterbaum, k ∈ N0 } if b ∈ L(T ) then begin if Gr¨ osse(b) = true then M |b := TkR (M |b ) else M |b als V-Matrix darstellen end else begin for all b ∈ S(b) do Konvertieren von H (M, b , T, k); R if Gr¨ osse(b) = true then M |b := Tk,paarw (M |b )  else M |b := b ∈S(b) (M |b ) |b {M |b , M |b : volle Matrizen} end;

(7.9)

In der vierten Zeile wird f¨ ur Gr¨ osse(b) = true eine Rang--Matrix M |b erwartet, die im Falle  > k auf Rang k gek¨ urzt wird. In Zeile 8 wird die paarweise Umwandlung in Rang k angewandt. Die exaktere, aber wesentlich teuereAlternative w¨ are die verlustlose Berechnung von M |b ∈ R(k  , b) mit  urzung auf Rang k. k := b ∈P |b Rang(M |b ) und anschließender K¨ Bisher wurde b ∈ T (I × J, P ) vorausgesetzt. Falls b ein nicht in T (I × J, P ) ¨ vorkommender Block ist, bleibt Ubung 6.1.3c anwendbar: Die Beschr¨ankung von M ∈ H(, P ) mit P ⊂ T (I × J) auf b definiert eine hierarchische Matrix M |b ∈ H(, P |b ), wobei P |b := {b ∩ b : b ∈ P und b ∩ b = ∅}. Der zugeh¨orige Blockclusterbaum1 T besteht aus allen b ∩ b = ∅ mit b ∈ T (I × J). Die Prozedur Konvertieren von H nach R ist auch mit diesen Parametern b, T anwendbar. Lemma 7.2.4. Seien Rbest ∈ R(k, I, J) die Bestapproximation f¨ ur ein miniR←H M. Dann gilt males M − Rbest F und Rk = Tk←k 1

¨ Dass hierbei die Baumstruktur erhalten bleibt, ist Gegenstand der Ubung 6.1.3c.

152

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

  M − Rk F ≤ 1 + 21+depth(T (I×J,P )) M − Rbest F . Beweis. Siehe [56, Lemma 2.12]. Das Beweismuster findet sich in §2.6.4. 7.2.4 Konvertierung TPH←H  ←P Die folgende Art der K¨ urzung betrifft nicht (nur) den Rang, sondern auch die Feinheit der Partition. Ist P ⊂ T (I × J) eine Partition, so heißt jede Partition ober (echt gr¨ ober, falls auch P  = P ; vgl. Definition P  mit P  ⊂ T (I ×J, P ) gr¨ 1.3.10). Zum Beispiel ist die Partition aus Abbildung 3.1 gr¨ober als die aus   Abbildung 5.1. Die Konvertierung TPH←H  ←P von H(k, P ) nach H(k , P ) lautet M  := TPH←H  ←P (M ) mit M  |b = TkR←H (M |b ) f¨ ur alle b ∈ P  

(P  gr¨ober als P ) .

(7.10)

ort, reduziert sich TkR←H auf die K¨ urzung TkR ←k . Falls b ∈ P  auch zu P geh¨  In Ausnahmef¨ allen m¨ ochte man M ∈ H(k, P ) in ein v¨ollig anderes Format oberung darstellt. Auch dies ist mit H(k , P  ) konvertieren, das keine Vergr¨ (7.10) m¨ oglich (siehe Absatz vor Lemma 7.2.4). Ein systematischer Zugang wird im nachfolgenden Abschnitt vorgestellt. 7.2.5 Konvertierung TPH←H  ←P bei unterschiedlichen Blockclusterb¨ aumen ∗ Ein Blockclusterbaum T = T (I × J) abgeleitet von den Clusterb¨aumen T (I) und T (J) hat verschiedene Bedingungen zu erf¨ ullen (vgl. (5.43a-g)), ist aber durch diese nicht eindeutig definiert. Deshalb gibt es Situationen, in denen neben T = T (I ×J) ein zweiter Clusterbaum T  = T  (I ×J) vorliegt. Spezieller gehen wir von zwei Partitionen P ⊂ T und P  ⊂ T  aus und beschr¨anken die B¨ aume auf die Teilb¨ aume P ⊂ T := T (I × J, P ),

P  ⊂ T  := T  (I × J, P  )

(dies sei eine Neudefinition von T und T  ). Man beachte, dass trotz unterschiedlicher Blockclusterb¨ aume die Partitionen u ¨bereinstimmen k¨onnen → → , w¨ahrend T  zu (Beispiel: T beschreibe die Zerlegung →



oder



geh¨ ore).

Gegeben sei eine hierarchische Matrix M ∈ H(k, P ), gesucht ist die Umwandlung in M  ∈ H(k  , P  ). Eine solche Aufgabe ergibt sich beispielsweise in §7.4.2.12. Man beachte, dass im Allgemeinen weder P gr¨ober als P  noch ober als P sein muss. Es gibt aber eine gr¨obste Partition P  , die feiner P  gr¨ als P und P  ist. Wir werden den Blockclusterbaum T = T (I × J, P ) unterhalb seiner Blattmenge P = L(T ) so zu Terw = Terw (I × J) fortsetzen, dass

7.2 K¨ urzungen und Konvertierungen

153

   P  = L(Terw ). Ebenso wird T  zu Terw = Terw (I × J) mit P  = L(Terw ) erweitert. Der entsprechende Algorithmus besteht aus der Rekursion (7.11a)  . Diese zur Berechnung von Terw und aus (7.11b) zur Berechnung von Terw  andern diese und enden mit Terw bzw. Algorithmen starten mit T bzw. T , ver¨  : Terw

while es gibt ein b = τ × σ ∈ P := L(T ) mit b ⊂ b f¨ ur alle b ∈ P  do      begin w¨ ahle b = τ × σ ∈ P mit b ∩ b = ∅; if τ  τ  then S(b) := {τ ∗ × σ : τ ∗ ∈ S(τ )} (7.11a) else S(b) := {τ × σ ∗ : σ ∗ ∈ S(σ)} end; Falls die while-Bedingung in (7.11a) falsch ist, ist P feiner als P  . An¨ sonsten gibt es wegen der Uberdeckungseigenschaft ein b = τ × σ ∈ P und ein b = τ  × σ  ∈ P  mit b ∩ b = ∅. Da b ⊂ b , muss entweder τ  τ  oder uglich der Komponente σ  σ  gelten. Im ersten Fall wird das Blatt b ∈ T bez¨ τ zerlegt ( → ), sonst bez¨ uglich σ ( → ). Die Rekursion wird beendet, wenn das aktuelle2 P := L(T ) feiner als P  ist. Das berechnete T wird Terw genannt.  erfolgt durch Die Berechnung von Terw while es gibt ein b = τ  × σ  ∈ P  := L(T  ) mit b ∈ / P  = L(Terw ) do   begin w¨ ahle b = τ × σ ∈ P mit b ⊃ b ; if τ  τ  then S(b ) := {τ ∗ × σ  : τ ∗ ∈ S(τ  )} (7.11b) else S(b ) := {τ  × σ ∗ : σ ∗ ∈ S(σ  )} end; Im positiven Fall liefert die while-Bedingung aus (7.11b) ein b ∈ / P  =   ahrend der Rekursion auch feiner L(Terw ). Da P feiner als P ist (und w¨ / P  ¨ ur ein geeignetes b = τ × σ ∈ P  . aquivalent zu b  b f¨ bleibt), ist b ∈ Wie vorher muss entweder τ  τ  oder σ  σ  gelten. Entsprechend wird das uglich τ oder σ zerlegt und T  entsprechend erweitert. Blatt b ∈ T  bez¨ Die gesuchte Abbildung    TPH←H  ←P : M ∈ H(k, P ) → M ∈ H(k , P ) H←H ist das Produkt TPH←H  ←P  ◦ TP  ←P , wobei die Umwandlung   TPH←H  ←P : M ∈ H(k, P ) → M ∈ H(k, P )

verlustfrei ist, da P  feiner als P ist und Matrixbl¨ocke nur aufgespalten werden. Die zweite Abbildung TPH←H  ←P  entspricht der Situation von §7.2.4 und wird wie in (7.10) durchgef¨ uhrt. 2

Man beachte, dass sich P = L(T ) bzw. P  = L(T  ) innerhalb der while-Schleifen andern, wenn neue Sohnmengen definiert werden. ¨

154

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

7.3 Addition Die Operationen zwischen Matrizen sind wie schon im Modellfall aus §3 nicht exakt, da K¨ urzungen auf das gegebene Format durchgef¨ uhrt werden m¨ ussen. Analog zur Addition (2.13) von Rang-k-Matrizen definieren wir die formatierte Addition ⊕k . Hier findet TkH ←k aus (7.6) eine direkte Anwendung. Definition 7.3.1 (formatierte Matrix-Addition). Seien lokale R¨ ange k, k1 , k2 : P → N0 und Matrizen M1 ∈ H(k1 , P ) und M2 ∈ H(k2 , P ) zur gleichen Partition P gegeben. Dann wird die formatierte Matrix-Addition ⊕k definiert mittels ⊕k : H(k1 , P ) × H(k2 , P ) → H(k, P ) H mit M1 ⊕k M2 := Tk←k (M1 + M2 ). 1 +k2

(7.12)

Wenn k(b) < k1 (b) + k2 (b) f¨ ur ein b ∈ P , wird die ⊕k -Addition im Allgemeinen einen K¨ urzungsfehler enthalten. Dies gilt insbesondere f¨ ur den Standardfall k1 = k2 = k. Die folgende Prozedur Add (M, M 1, M 2, b, k), die f¨ ur jeden Block b ∈ T (I × J, P ) das Teilresultat M |b := M 1|b ⊕k M 2|b berechnet, zeigt die algorithmische Realisierung: procedure Add (M, M 1, M 2, b, k); {M |b := M 1|b ⊕k M 2|b } {Ausgabe: M ∈ H(k1 , P ), Eingabe: M 1 ∈ H(k1 , P ), M 2 ∈ H(k2 , P ), b ∈ T (I × J, P ), k ∈ N0 } if b ∈ / P then for all b ∈ ST (I×J) (b) do Add (M, M 1, M 2, b , k) else {es gilt b ∈ P. k1 , k2 lokale R¨ange von M 1, M 2} if b ∈ P + then R M |b := Tk(b)←k (M 1|b + M 2|b ) 1 (b)+k2 (b) else M |b := M 1|b + M 2|b ; {Addition voller Matrizen, da b ∈ P − }

(7.13)

Zur Ausf¨ uhrung von M := M1 ⊕k M2 ist Add (M, M1 , M2 , I × J, k) aufzurufen (d.h. b = I × J). R die Identit¨at, d.h. die blockweise F¨ ur k ≥ k1 + k2 ist Tk(b)←k 1 (b)+k2 (b) Addition ist dann exakt. Korollar 7.3.2 (exakte Addition). Die (exakte) Summe M1 + M2 von M1 ∈ H(k1 , P ) und M2 ∈ H(k2 , P ) ist in H(k1 + k2 , P ) darstellbar. Im Folgenden wird anstelle des Aufrufes von Add vereinfachend das Operationszeichen ⊕k verwendet. Falls der Rang k nicht festgelegt werden soll, wird nur ⊕ geschrieben.

7.4 Matrix-Matrix-Multiplikation

155

7.4 Matrix-Matrix-Multiplikation Die Matrix-Matrix-Multiplikation ist eine kompliziertere Operation. Um die Probleme zu verstehen, wird in §7.4.1 zun¨ achst auf die charakteristischen Schwierigkeiten hingewiesen. 7.4.1 Komplikationen bei der Matrix-Matrix-Multiplikation Das Grundprinzip der Multiplikation wurde bereits in §3.6 f¨ ur das Modellproblem vorgestellt: Die Multiplikation M := M  · M  m¨ochte man dadurch vornehmen, dass man das Produkt M (bzw. dessen Untermatrizen) rekursiv mit Hilfe der Produkte der Untermatrizen von M  und M  erkl¨art. Im Modellocke zerlegt, und man erh¨alt die fall waren M, M  und M  in die vier Bl¨     · M1j + Mi2 · M2j f¨ ur die vier Untermatrizen Mij Darstellungen Mij = Mi1 (i, j = 1, 2) von M . Die Rekursion endet, wenn keine Notwendigkeit f¨ ur eine weitere Zerlegung vorliegt. Letzteres trifft zu, wenn einer der Faktoren das Format R oder V besitzt und das Produkt direkt bestimmt werden kann. Es bleibt die Aufgabe, die Teilprodukte aufzusummieren. 7.4.1.1 Schwierigkeit A: Niedrigrang- oder volle Matrizen sind weiter zu zerlegen Wir bleiben beim Modellproblem und sehen uns den ersten Diagonalblock M11       an. Er ist die Summe M11 · M11 + M12 · M21 . Das erste Produkt M11 · M11 enth¨ alt zwei unterstrukturierte Matrizen, so dass die Rekursion fortgesetzt zu zerlegen. werden muss, d.h. der Block ist weiter in die vier Unterbl¨ocke   · M21 enth¨ alt zwei Faktoren aus R, ist also direkt Das zweite Produkt M12 als Niedrigrangmatrix vom Format R auswertbar und ben¨otigt keine weitere Blockzerlegung. Der Konflikt besteht also allgemein gesagt darin, dass mindestens ein Unterprodukt eine weitere Zerlegung und damit die Fortf¨ uhrung der Rekursion erfordert, w¨ ahrend es ein anderes Teilprodukt gibt, das die Zerlegung nicht ben¨ otigt. In diesem Fall wird die weitere Zerlegung durch  ·M21 weiter gef¨ uhrt, was nach sich zieht, dass auch die Niedrigrangmatrix M12 zerlegt werden muss.     · M21 ∈ R, wobei M12 , M21 ∈ R f¨ ur beide Die Zerlegung von R := M12 Faktoren gilt, kann in zwei Weisen organisiert werden: Methode 1) Das Produkt R ∈ R wird auf dem aktuellen Block ausgerechnet und das Resultat auf die Bl¨ ocke der Partition verteilt.   , M21 ∈ R werden als solche zerlegt, so dass Methode 2) Die Faktoren M12 auf den Unterbl¨ ocken in rekursiver Form wieder Produkte von R-Matrizen auftreten. Man u ¨berlegt sich, dass Methode 1 billiger ist.   · M21 ∈ R nur einer der Falls anders als im Modellfall in R := M12 Faktoren zu R geh¨ ort und der andere Faktor unterstrukturiert ist, k¨onnen beide Methoden auf das Gleiche hinauslaufen.

156

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

¨ Eine weitere Uberlegung ist notwendig, wenn einer der Faktoren als volle Matrix dargestellt ist (siehe §7.4.2.4). 7.4.1.2 Schwierigkeit B: feinere Unterteilungen als in Zielpartition Als Beispiel diene die Zerlegung aus Abbildung 5.1:

. Die erste Zerle-

    · M12 + M12 · M22 , gung in vier Unterbl¨ ocke ergibt die Darstellung M12 = M11

·

wobei die Faktoren die Gestalt

+

·

besitzen. Die weitere

Rekursion liefert f¨ ur den oberen Diagonalblock         M12,11 = M11,11 · M12,11 + M11,12 · M12,21 + M12,11 · M22,11 + M12,12 · M22,21

=

·

+

·

+

·

+

·

.

Drei der Faktoren liefern bereits R(k)-Teilprodukte, wie es auch dem Ziel  · M12,21 = · erfordert format entspricht. Die Auswertung von M11,12 aber noch einen weiteren Rekursionsschritt. Damit wird M12,11 zun¨achst im berechnet und muss anschließend auf vergr¨obert werden. Es Format sei angemerkt, dass es offenbar nicht ratsam ist, die anderen R(k)-Produkte zun¨ achst in das feinere Format zu zerlegen und danach wieder zu vergr¨obern. Stattdessen bel¨ asst man diese im Ausgangsformat und addiert alle Teilresul  · M12,21 wieder vergr¨obert worden ist. tate, nachdem das Produkt M11,12 7.4.1.3 Schwierigkeit C: widersprechende Zerlegungsw¨ unsche Seien M  , M  zwei Faktoren vom Format

. Wir wollen das Produkt

M := M  · M  berechnen. Die erste Zerlegung → f¨ uhrt wieder auf den       · M11 + M12 · M21 . In M11 · M11 sind beide Faktoren Ausdruck M11 = M11  ur den ersten Faktor M11 kann diese Zerlegung nicht ausgezerlegbar in . F¨  nutzt werden, da der zweite Faktor M11 nicht entsprechend zerlegt werden  in der urspr¨ unglichen Form und erh¨alt f¨ ur kann. Man bel¨ asst daher M11     ·M21 haben M11 ·M11 = · ein Resultat im Format . Die Faktoren in M12 und sollten in analoger Weise zu · = f¨ uhren. Dadie Blockstruktur mit erh¨ alt man widersprechende Zerlegungsw¨ unsche. Will man das Produkt M wieder im urspr¨ unglichen Format darstellen, sollte M11 die Struktur     besitzen. Damit hat M11 · M11 bereits die4 gew¨ unschte5 Form, aber in M12 · M21     = muss man M21 zwangsl¨ aufig in M21 = M21,l M21,r zerlegen, obwohl    M21,o    die gegebene Darstellung ist. Sind z.B. M21,o M21 = , M21,u ∈ R, so  M21,u  und M  zu zerlegen (analog hat man diese Niedrigrangmatrizen in M21,ol       21,or M M21,or 21,ol    , M21,r zu bilden. f¨ ur M21,u ) und M21,l := :=   M21,ul M21,ur

7.4 Matrix-Matrix-Multiplikation

157

7.4.1.4 Schwierigkeit D: Wahl der Zielpartition In den vorhergehenden Beispielen wurden verschiedene Partitionen P f¨ ur quadratische Matrizen verwendet. Das Produkt von M  , M  ∈ H(k, P ) wurde wieder in H(k, P ) dargestellt. Es ist aber keineswegs selbstverst¨andlich, dass P die richtige Partition f¨ ur das Produkt ist. Als Gegenbeispiel verwenden , dies entspricht dem Modellformat aus §3.1,

wir die Partition P gem¨ aß

allerdings wird hier die Gegendiagonale zur Verfeinerung verwendet. Sei Q die Permutationsmatrix mit Einsen in der Gegendiagonale: Q = Q = Q−1 . Man stellt fest, dass mit Q das Modellformat wieder erreicht wird: wie auch Q

=

Q=

. Damit ergibt sich f¨ ur das Produkt ·

=

QQ

=

·

.

Das Produkt auf der rechten Seite m¨ ochte man aber eher im Format darstellen und nicht als

.

Damit stellt sich die Frage, ob es f¨ ur das Produkt eine besonders geeignete Partition gibt und wie man diese gegebenenfalls findet. Die Problematik der Zielpartition verst¨ arkt sich noch, wenn die Faktoren M  ∈ RI×J und  J×K rechteckige Matrizen sind und damit M := M  · M  ∈ RI×K ein M ∈R drittes, v¨ ollig neues Format besitzt. 7.4.2 Algorithmus im konsistenten Fall Die hier angesprochene Konsistenz wird in §7.4.2.11 definiert werden. 7.4.2.1 Notationen Im Folgenden werden Abk¨ urzungen ben¨ otigt, die die Eigenschaften der Bl¨ocke b ∈ T (I × J) eines Blockclusterbaumes wiedergeben: • T yp(b) = W (in Worten: b ist vom Typ W) bedeutet, dass der Block b waagerecht unterteilt wird3 :



, d.h.

$ % ST (I×J) (b) = τ  × σ : τ  ∈ ST (I) (τ ) . •

T yp(b) = S bedeutet, dass der Block b senkrecht unterteilt wird3 : , d.h.

3

$ % ST (I×J) (b) = τ  × σ  : σ  ∈ ST (J) (σ) .

Die Illustration gilt nur f¨ ur den Fall von zwei S¨ ohnen.

(7.14a) →

(7.14b)

158



7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

T yp(b) = K bedeutet, dass der Block b in beiden Richtungen (kreuzartig) unterteilt wird4 :



, d.h.

$ % ST (I×J) (b) = τ  × σ  : τ  ∈ ST (I) (τ ), σ  ∈ ST (J) (σ) .

(7.14c)

osse(b) = true. • T yp(b) = R bedeutet M |b ∈ R(b) bzw. gleichbedeutend Gr¨ • T yp(b) = V bedeutet M |b ∈ V(b) bzw. gleichbedeutend Gr¨ osse(b) = f alse. Hierbei ist ohne Beschr¨ ankung der Allgemeinheit angenommen, dass die ullen, andernfalls w¨are Blockclusterb¨ aume T  und T  die Bedingung (5.43h) erf¨ die Reduktion gem¨ aß Anmerkung A.4.4 durchzuf¨ uhren. Im Weiteren wird angenommen, dass die logische Funktion Gr¨ osse f¨ ur die beteiligten Cluster- und Blockclusterb¨ aume mittels (5.19) bzw. (5.42) mit gleichem nmin definiert ist. Bei der Addition zweier Matrizen aus H(k, P ) liegen beide im gleichen Format vor und auch das Resultat hat dieses Format. Anders ist es bei der Matrix-Matrix-Multiplikation M = M  M  . Die Faktoren M  ∈ RI×J und oren im Allgemeinen zu verschiedenen Formaten und f¨ ur das M  ∈ RJ×K geh¨ Produkt M ∈ RI×K gibt es noch ein drittes Format (oder dieses ist erst noch zu bestimmen). Wir verwenden im Weiteren die Notationen I, J, K T (I), T (J), T (K) T  := T (I × J), T  := T (J × K), T := T (I × K) P  ⊂ T  , P  ⊂ T  , P ⊂ T M  ∈ RI×J , M  ∈ RJ×K , M ∈ RI×K

Indexmengen, Clusterb¨aume, Blockclusterb¨aume, Partitionen, Matrizen. (7.15) F¨ ur die Cluster verwenden wir je nach der Indexmenge verschiedene griechische Buchstaben: τ, σ, ρ f¨ ur τ ∈ T (I), σ ∈ T (J), ρ ∈ T (K). Der Baum T = T (I × K) bzw. die zugeh¨ orige Partition P wird erst in §7.4.2.12 in ¨ Erscheinung treten. Ubergangsweise wird ein induzierter Blockclusterbaum uhren unter Tind = Tind (I × K) erzeugt. Die angedeuteten Schwierigkeiten r¨ Anderem daher, dass Tind = T gelten kann, oder – was noch wichtiger ist – die entstehenden Partitionen Pind und P verschieden sein k¨onnen. Die Definition uhrung der Multiplikation (vgl. von Tind geschieht simultan mit der Durchf¨ Aufruf von (7.19) in MM Allg). Am Anfang besteht Tind = {I × K} nur aus der Wurzel. Im Folgenden werden Produkte der Form M  |b ·M  |b zu untersuchen sein, die aus M  · M  bei rekursiver Aufspaltung entstehen. Die Komponenten von b ∈ T  und b ∈ T  werden stets mit b = τ × σ und b = σ × ρ bezeichnet (¨ ubereinstimmendes σ!). Hieraus wird b := τ × ρ gebildet. 4

Die Illustration gilt nur f¨ ur den Fall von zwei S¨ ohnen.

7.4 Matrix-Matrix-Multiplikation

159

7.4.2.2 Die Tupel Σ P , Σ R , Σ V Das Tupel

  Σ P = ΣbP b∈T

ind

enth¨ alt f¨ ur alle b = τ × ρ ∈ Tind Teilmengen ΣbP ⊂ T (J). Dabei zeigt σ ∈ ΣbP an, dass eine Multiplikation M  |τ ×σ · M  |σ×ρ

(7.16)

ausgef¨ uhrt werden muss (der obere Index “P” in Σ P bedeutet “Produkte”). Am Anfang steht nur die Multiplikation M  · M  = M  |I×J · M  |J×K an, d.h. der Anfangszustand von Σ P ist durch die Komponenten P ΣI×K = {J},

ΣbP = ∅ sonst

gegeben. Die Multiplikationsaufgabe ist erst beendet, wenn ΣbP = ∅ f¨ ur alle b ∈ Tind gilt. Bei der Multiplikation entstehen Zwischenresultate in Form von R(b)- und V(b)-Matrizen f¨ ur einige Bl¨ ocke b ∈ Tind . Die Tupel     Σ R = ΣbR b∈T und Σ V = ΣbV b∈T ind

5

ΣbR

ind

ΣbV

enthalten Listen = (R1 , . . .) und = (V1 , . . .) von Niedrigrangmatrizen R1 , . . . ∈ R(b) bzw. vollen Matrizen V1 , . . . ∈ V(b), wobei diese Listen auch leer sein k¨ onnen. Die Summation u ¨ber die Listenelemente sei als Rb,i ∈ΣbR Rb,i  bzw. Vb,i ∈Σ V Vb,i geschrieben. Zu Beginn der Multiplikation seien alle Listen b ΣbR und ΣbV leer (Notation: ΣbR = ΣbV = ∅). Es sei angemerkt, dass die R(b)-Matrizen R1 , R2 , . . . , die als Zwischenresultate auftreten, nicht addiert, sondern nur aufgesammelt werden. Der Grund ist, dass der Block b nicht zul¨ assig zu sein braucht und daher unklar ist, ob eine formatierte Addition mit Rangk¨ urzung sinnvoll ist. Anders k¨ onnen die vollen Matrizen V1 , . . . ∈ V(b) gehandhabt werden, da hier die Addition exakt ist. Bei sofortiger Aufsummation g¨abe es f¨ ur ΣbV nur zwei V M¨ oglichkeiten: entweder ist Σb die leere Liste oder sie enth¨alt genau eine Komponente V1 ∈ V(b). Die Startwerte von Σ P , Σ R , Σ V ergeben M  · M  =  b=τ ×ρ∈Tind

⎛ ⎝

 σ∈ΣbP

M  |τ ×σ · M  |σ×ρ +

 Rb,i ∈ΣbR

Rb,i +

 Vb,i ∈ΣbV

(7.17) ⎞*I×K * * Vb,i ⎠** *

(die erste Summe enth¨ alt einen Summanden, die weiteren Summen sind leer). Die folgenden Schritte m¨ ussen die Gesamtsumme invariant lassen. Ist σ ∈ ΣbP , so wird versucht, die Teilaufgabe (7.16) zu “l¨ osen”, indem entweder 5

ΣbR und ΣbV k¨ onnen nicht als Mengen angesehen werden, da zwei gleiche Komponenten auftreten k¨ onnten.

160

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen



das Produkt als R(b)- oder V(b)-Matrix geschrieben wird (dann wechselt dieser Anteil in (7.17) von der ersten Summe in die zweite oder dritte) oder • das Produkt in kleinere Teilprodukte zerlegt wird (dann bleiben die Anteile in der ersten Summe, aber wechseln von ΣbP nach ΣbP zu kleineren Bl¨ocken b ).

7.4.2.3 Produkte mit R-Matrizen Seien b = τ × ρ ∈ Tind und σ ∈ ΣbP . Die Teilaufgabe (7.16) kann als R(b)Matrix ausgewertet werden, falls M  |τ ×σ ∈ R(τ ×σ) oder M  |σ×ρ ∈ R(σ ×ρ). Dies gilt genau dann, wenn τ × σ ∈ P + bzw. σ × ρ ∈ P + . Im Falle von σ × ρ ∈ P + wertet der folgende Algorithmus das Produkt  ugt es zur Liste ΣτR×ρ hinzu. M |τ ×σ · M  |σ×ρ als R(k, τ, ρ)-Matrix aus und f¨ MVM ist die Matrix-Vektor-Multiplikation (vgl. (7.2)). procedure MM R R2 (M  , M  , τ, σ, ρ, Σ P , Σ R ); begin {sei M  |σ×ρ = AB  mit A = [aσ,1 · · · aσ,k ] , vgl. Notation 1.3.9} for ν := 1 to k do begin aτ,ν := 0; MVM (aτ,ν , M  , aσ,ν , τ × σ) end; A := [aτ,1 · · · aτ,k ]; {A B  ∈ R(k, τ, ρ): gesuchte Darstellung von M  |τ ×σ · M  |σ×ρ } ΣτP×ρ := ΣτP×ρ \ {σ}; Liste ΣτR×ρ um A B  erweitern end; In der Bezeichnung MM R R2 soll das erste “R” den Zieltyp andeuten, w¨ ahrend “R2” bedeutet, dass der zweite Faktor M  |σ×ρ vom Typ R(b) ist. Analog kann die Prozedur procedure MM R R1 (M  , M  , τ, σ, ρ, Σ P , Σ R ); formuliert werden, bei der der erste Faktor M  |τ ×σ ∈ R(k, τ, σ) eine Niedrigrangmatrix sein muss. 7.4.2.4 Produkte mit V-Matrizen Seien b = τ × ρ, b = τ × σ und b = σ × ρ. Wenn der zweite Faktor ort (d.h. wenn Gr¨ osse(b ) = f alse) und das Produkt M  |b zu V(b ) geh¨ als volle Matrix dargestellt werden kann (d.h. Gr¨ osse(b) = f alse), lautet die Multiplikationsprozedur procedure MM V V2 (M  , M  , τ, σ, ρ, Σ P , Σ V ); {M  |τ ×σ · M  |σ×ρ wird als V -Matrix ausgewertet und der Liste ΣbV angef¨ ugt} begin {sei ai (i ∈ ρ) die i-te Spalte von M  |σ×ρ }  for all i ∈ ρ do begin Zτ,i := 0; MVM (Zτ,i , M  , Mσ,i , τ × σ) end; P P V Στ ×ρ := Στ ×ρ \ {σ} ; Liste Στ ×ρ um Z|τ ×ρ ∈ V(τ × ρ) erweitern end;

7.4 Matrix-Matrix-Multiplikation

161

 In Zeile 4 ist Mσ,i die i-te Spalte (vgl. Notation 1.3.9). Das Produkt mit  M |τ ×σ wird in Zτ,i (i ∈ ρ) abgelegt. Es kann der Fall auftreten, dass einer der Faktoren M  |b oder M  |b eine V-Matrix ist, jedoch das Produkt wegen Gr¨ osse(b) = true nicht als volle Matrix dargestellt werden soll. Hier ist der einfachste6 Ausweg, den V-Faktor in eine R-Matrix umzuwandeln (vgl. (7.3)) und MM R R2 anzuwenden. Die folgende Prozedur setzt M  |σ×ρ ∈ V(σ, ρ) voraus, wertet M  |τ ×σ · M  |σ×ρ als R- oder V-Matrix aus und f¨ ugt es der entsprechenden Liste an.

procedure MM V2 (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ); if Gr¨ osse(τ × ρ) = f alse then MM V V2 (M  , M  , τ, σ, ρ, Σ P , Σ V ) R←V else MM R R2 (M  , T#σ (M  |σ×ρ ), τ, σ, ρ, Σ P , Σ R ); In Zeile 2 darf das Produkt als volle Matrix dargestellt werden. In Zeile 3 ist R←V aus (7.5) wandelt M  |σ×ρ in eine R(#σ, τ, σ)dies nicht m¨ oglich, und T#σ Matrix um. Die entsprechende Prozedur procedure MM V1 (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ); bei der der erste Faktor eine volle Matrix ist, sei wieder dem Leser u ¨berlassen. 7.4.2.5 Erweiterung von Tind Wenn die Multiplikationsaufgabe M  |τ ×σ · M  |σ×ρ in neue Teilaufgaben zerlegt werden kann, f¨ uhrt dies bis auf den Fall in §7.4.2.6 zu einer Zerlegung des Blockes b = τ × ρ. Dementsprechend ist zu b eine passende Sohnmenge ur gibt es die drei M¨oglichkeiten STind (b) zu definieren. Hierf¨ STind (τ × ρ) = {τ  × ρ : τ  ∈ S(τ )} , STind (τ × ρ) = {τ × ρ : ρ ∈ S(ρ)} , STind (τ × ρ) = {τ  × ρ : τ  ∈ S(τ ), ρ ∈ S(ρ)} .

(7.18a) (7.18b) (7.18c)

Die folgende Prozedur definiert STind (b), falls b noch als Blatt erkl¨art ist. Außerdem werden zu neu eingerichteten Bl¨ ocken b ∈ STind (b) die KompoP R V nenten von Σ , Σ , Σ als leer definiert. Der Parameter T yp hat Werte aus {S, W, K}. procedure MM Tind (τ, ρ, Σ P , Σ R , Σ V , T yp); ⎧ if STind (τ × ρ) = ∅ then ⎨ (7.18a) falls T yp = W begin definiere STind (τ × ρ) gem¨ aß (7.18b) falls T yp = S ; ⎩ (7.18c) falls T yp = K for all bs ∈ STind (τ × ρ) do ΣbPs := ΣbRs := ΣbVs := ∅ end; 6

(7.19)

Es muss nicht der billigste Ausweg sein. Sobald die Sohnmenge STind (τ × ρ) bekannt ist, k¨ onnten die Matrizen weiter aufgespalten werden.

162

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

7.4.2.6 Interne Aufspaltung Das folgende Vorgehen setzt voraus, dass T yp(τ × σ) = S

und T yp(σ × ρ) = W.

Im Falle von #σ = 2 ist diese Situation durch Wegen

M  |τ ×σ · M  |σ×ρ =



·

(7.20) veranschaulicht.

M  |τ ×σ · M  |σ ×ρ

(7.21)

σ  ∈S(σ)

kann das Produkt in #σ Produkte im gleichen Block b = τ × ρ aufgespalten werden. Die Prozedur braucht nur ΣbP zu aktualisieren: procedure MM SW (M  , M  , τ, σ, ρ, Σ P ); begin ΣbP := ΣbP \{σ}; ΣbP := ΣbP ∪ S(σ) end; Hierbei sind (7.20) und b = τ × ρ vorausgesetzt. 7.4.2.7 W-Aufspaltung Das folgende Vorgehen setzt voraus, dass eine der folgenden zwei Bedingungen zutrifft: T yp(τ × σ) = W, T yp(τ × σ) = K und T yp(σ × ρ) = W

(7.22a) (7.22b)

ur #τ = 2 (im Falle von (7.22a) spielt die Struktur von M  |σ ×ρ keine Rolle). F¨ sind diese Situationen durch

·

=

und

·

=

veran-



schaulicht. Es entstehen Untermatrizen zu den Bl¨ocken τ × ρ ∈ STind (τ × ρ) , aß (7.18a) zu erweitern ist. Die Teilwobei im Zweifelsfall der Baum Tind gem¨ matrizen sind die Produkte   falls (7.22a), M |τ  ×σ · M  |σ×ρ (M  |b · M  |b ) |τ  ×ρ =       M | · M | τ ×σ σ ×ρ falls (7.22b). σ  ∈S(σ) Man beachte, dass diese Produkte nicht ausgewertet werden, sondern nur als neue Multiplikationsaufgaben registriert werden. Mit ΣbP := ΣbP \{σ} wird die Multiplikation M  |b · M  |b als erledigt verbucht, w¨ahrend im Fall (7.22a) ur alle bs ∈ STind (b) durch ΣbPs := ΣbPs ∪ {σ} neue Multiplikationsaufgaben f¨ angezeigt werden. Im Falle von (7.22b) ist ΣbPs := ΣbPs ∪ S(σ) zu setzen. Dies geschieht durch procedure MM W (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ); if (7.22a) then MM Allg(M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V , W, {σ}) else MM Allg(M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V , W, S(σ));

7.4 Matrix-Matrix-Multiplikation

163

wobei procedure MM Allg(M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V , T yp,Neu); begin MM Tind (τ, ρ, Σ P , Σ R , Σ V , T yp); ΣbP := ΣbP \{σ}; for all bs ∈ STind (b) do ΣbPs := ΣbPs ∪ Neu end; Hierbei ist T yp wie in (7.19) erkl¨ art, und die Mengenvariable Neu ist entweder {σ} oder S(σ). 7.4.2.8 S-Aufspaltung Analog wird hier eine der Bedingungen (7.23a) oder (7.23b) vorausgesetzt: T yp(σ × ρ) = S, T yp(τ × σ) = S und T yp(σ × ρ) = K. Im Falle von #ρ = 2 sind diese Situationen durch und

·

=

(7.23a) (7.23b) ·

=

veranschaulicht. Es entstehen Untermatrizen zu den



Bl¨ ocken τ × ρ ∈ STind (τ × ρ). Die Teilmatrizen sind die Produkte   falls (7.23a), M |τ ×σ · M  |σ×ρ . (M  |b · M  |b ) |τ ×ρ =       σ  ∈S(σ) M |τ ×σ · M |σ ×ρ falls (7.23b). Die analoge Prozedur lautet procedure MM S (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ); if (7.23a) then MM Allg(M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V , S, {σ}) else MM Allg(M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V , S, S(σ)); 7.4.2.9 K-Aufspaltung Eine Aufteilung von b = τ × ρ in beiden Richtungen kann unter zwei verschiedenen Bedingungen entstehen: T yp(τ × σ) = T yp(σ × ρ) = K,

(7.24a)

T yp(τ × σ) = W

(7.24b)

und T yp(σ × ρ) = S.

In beiden F¨ allen ist das Produkt in S¨ ohne von (7.18c) zerlegbar:        σ  ∈S(σ) M |τ ×σ · M |σ ×ρ falls (7.24a), (M  |b · M  |b ) |τ  ×ρ =    M |τ ×σ · M |σ×ρ falls (7.24b). Die entsprechende Prozedur ist procedure MM K (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ); if (7.24b) then MM Allg(M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V , K, {σ}) else MM Allg(M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V , K, S(σ));

164

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

7.4.2.10 Gesamtalgorithmus f¨ ur Phase 1 Gegeben einen Block b = τ × ρ, wird man zun¨achst versuchen, die durch ΣbP beschriebenen Aufgaben nach den sofort auswertbaren F¨allen (§§7.4.2.37.4.2.4) und nach der Anwendbarkeit der internen Aufspaltung (§7.4.2.6) abzusuchen. Dies geschieht durch procedure MM Reduktion(M  , M  , τ, ρ, Σ P , Σ R , Σ V ); for all σ ∈ ΣbP do if T yp(τ × σ) = R then MM R R1 (M  , M  , τ, σ, ρ, Σ P , Σ R ) else if T yp(σ × ρ) = R then MM R R2 (M  , M  , τ, σ, ρ, Σ P , Σ R ) else if T yp(τ × σ) = V then MM V1 (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ) else if T yp(σ × ρ) = V then MM V2 (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ) else if (7.20) then MM SW (M  , M  , τ, σ, ρ, Σ P ); (7.25) Hierbei ist die Schleife u ¨ber die σ ∈ ΣbP so zu interpretieren, dass die eventuell durch MM SW neu erzeugten Elemente von ΣbP auch durchlaufen werden. unf Damit ist gesichert, dass nach Ausf¨ uhrung von MM Reduktion keiner der f¨ F¨ alle aus den Zeilen 3-7 f¨ ur ein σ ∈ ΣbP zutreffen kann. ur den Block b = τ × ρ Falls ΣbP = ∅, ist die Multiplikationsaufgabe f¨ ausgef¨ uhrt. In der nachfolgenden Prozedur f¨ uhrt ΣbP = ∅ zu leeren Schleifen, sodass keine Aktion mehr erfolgt. Falls ΣbP = ∅, besteht die Schwierigkeit darin, dass die Aufspaltung von b f¨ ur alle σ ∈ ΣbP in der gleichen Art vorzunehmen ist. procedure MM Phase1 (M  , M  , τ, ρ, Σ P , Σ R , Σ V ); begin MM Reduktion(M  , M  , τ, ρ, Σ P , Σ R , Σ V ); if (7.27a) then MM K (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ) else if (7.27b) then MM W (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ) else if (7.27c) then MM S (M  , M  , τ, σ, ρ, Σ P , Σ R , Σ V ) else Abbruch {nicht-konsistenter Fall}; for all τ  × ρ ∈ STind (τ × ρ) do MM Phase1 (M  , M  , τ  , ρ , Σ P , Σ R , Σ V ) end;

(7.26)

Simultane Zerlegbarkeit nach Typ K, W bzw. S liegt vor, wenn die entsprechenden Kriterien gegeben sind:  6 T yp(τ × σ) = T yp(σ × ρ) = K oder , (7.27a) ∀σ ∈ ΣτP×ρ : (T yp(τ × σ) = W und T yp(σ × ρ) = S)  6 T yp(τ × σ) = W oder , (7.27b) ∀σ ∈ ΣτP×ρ : (T yp(τ × σ) = K und T yp(σ × ρ) = W )  6 T yp(σ × ρ) = S oder . (7.27c) ∀σ ∈ ΣτP×ρ : (T yp(τ × σ) = S und T yp(σ × ρ) = K) (vgl. (7.24a,b), (7.22a,b), (7.23a,b)). Die Voraussetzungen (7.27b) und (7.27c) k¨ onnen zugleich zutreffen.

7.4 Matrix-Matrix-Multiplikation

165

Wenn eine Sohnmenge STind (b) definiert wird, wird mindestens einer der atestens Bl¨ ocke b oder b zerlegt. Deshalb ist nach sp¨ depth(T (I × J, P  )) + depth(T (J × K, P  )) Schritten ein Blatt erreicht. Dies beweist die folgende Aussage a). Anmerkung 7.4.1. a) Die Tiefe des erzeugten Blockclusterbaumes Tind ist durch depth(T (I × J, P  )) + depth(T (J × K, P  )) beschr¨ankt. ullt nicht die Bedingung (5.43g): Sobald in einem Blatt von Tind b) Tind erf¨ alle Produkte M  |b · M  |b zu σ ∈ ΣbP als R(b)-Matrizen ausgewertet werden k¨ onnen, liegt in b keine Multiplikationsaufgabe vor, die zur Konstruktion von S(b) verwendet werden k¨ onnte. 7.4.2.11 Hinreichende Bedingungen f¨ ur Konsistenz der Blockclusterb¨ aume Die Blockclusterb¨ aume T  und T  seien konsistent genannt, wenn der Algorithmus (7.26) zu keinem Abbruch f¨ uhrt. Hinreichend ist die Stufentreue. Lemma 7.4.2. Sind die Blockclusterb¨ aume T  und T  stufentreu (vgl. (5.40)), so sind sie konsistent. Der induzierte Baum Tind ist ebenfalls stufentreu. Der stufentreue Fall ist dabei eine Spezialvariante der folgenden Eigenschaft: der Blockclusterbaum T (I × J) sei auf jeder Stufe gleichartig zerlegt: f¨ ur$alle  ≥ 0 gelte: %  # T yp(b) : b ∈ T () (I × J)\L(T (I × J) \ {V, R} ≤ 1

(7.28)

(vgl. (A.2) zur Notation T () ). Dies bedeutet, dass alle Bl¨ocke einer Stufe , wenn sie nicht V- oder R-Matrizen sind, nur zu einem der Typen W, S, K geh¨ oren d¨ urfen. Im stufentreuen Fall ist dies der Typ K. Beispielsweise f¨ uhrt die Konstruktion (5.45a,b) zur Eigenschaft (7.28). Im folgenden Lemma sollen T  und T  die Bedingung (7.28) unabh¨angig urfen von unterschiedvoneinander erf¨ ullen, d.h. b ∈ T () und b ∈ T () d¨ lichem Typ sein. Lemma 7.4.3. Erf¨ ullen die Blockclusterb¨ aume T  und T  (7.28), so sind sie konsistent. % $ / {V, R} Beweis. Sei b := τ ×ρ. Alle Bl¨ ocke aus b = τ × σ : σ ∈ ΣbP , T yp(b ) ∈ m¨ ogen den gleichen Typ besitzen und ebenso alle Bl¨ocken aus $  % b = σ × ρ : σ ∈ ΣbP , T yp(b ) ∈ / {V, R} . Die F¨ alle mit V- oder R-Faktoren werden durch die Auswertung in (7.25) eliminiert. F¨ ur die verbleibenden σ ∈ ΣbP werden identische Aufteilungen vorgenommen, sodass die neuen Aufgaben wieder die Induktionsvoraussetzung P nur einen Block erf¨ ullen. Der Induktionsanfang ergibt sich daraus, dass ΣI×K enth¨ alt.

166

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

¨ Ubung 7.4.4. a) Erf¨ ullen T  und T  (7.28), so auch der induzierte Blockclusterbaum Tind . aß (5.45a) definiert, so erf¨ ullt auch Tind diese Beb) Sind T  und T  gem¨ dingung. 7.4.2.12 Phase 2 Es sei daran erinnert, dass das (approximative) Produkt M ≈ M  ·M  mittels P ⊂ L(T ), T = T (I × K) strukturiert werden soll, d.h. es ist M ∈ H(k, P ) zu erzeugen. Nach Konstruktion von Tind enthalten alle Bl¨atter in Pind = L(Tind ) R- oder V-Matrizen, also Eintr¨ age der Listen Σ R , Σ V (allerdings k¨onnen auch Eintr¨ age zu internen Knoten b ∈ Tind \Pind auftreten). Da die induzierte Parunschte Zielpartition P im Allgemeinen verschieden tition Pind und die gew¨ sind, ist eine Konvertierung gem¨ aß §7.2.5 notwendig. Mittels (7.11a) wird Tind so zu Tind,erw erweitert, dass L(Tind,erw ) die gr¨obste Partition ist, die feiner als Pind und P ist. Ferner liefert (7.11b) eine Erweiterung Terw von ur die hilfsweise auftretenden T (I × K, P ), sodass L(Terw ) = L(Tind,erw ). F¨ Bl¨ ocke b ∈ Terw \T (I × K, P ) werden Matrixbl¨ocke M |b je nach Wert von Gr¨ osse(b) im R- oder V-Format dargestellt. Im ersten Schritt werden alle in ΣbR , ΣbV gesammelten R- oder V-Matrizen in die Bl¨ atter von L(Tind,erw ) transportiert und dort addiert (Zeilen 6,7). Der anschließende Transport in die Bl¨ atter von P ist die Agglomeration mittels Konvertieren von H aus (7.9). procedure MM Phase2 (M, P, Σ R , Σ V ); 6  R begin Z := 0; Σb enthalte R1 , . . . , RmR (b) ∈ R(b), for all b ∈ Tind do ΣbV enthalte V1 , . . . , VmV (b) ∈ V(b) begin if mR (b) + mV (b) > 0 then for all b∗ ∈ L(Tind,erw ) mit b∗ ⊂ b do begin for i := 1 to mR (b) do Z|b∗ := Z|b∗ ⊕ Ri |b∗ ; for i := 1 to mV (b) do Z|b∗ := Z|b∗ ⊕ Vi |b∗ end end; {Transport auf L(Tind,erw ) durchgef¨ uhrt} for all b ∈ P do Konvertieren von H(Z, b, Terw , k(b)}; M |b := M |b ⊕ Z|b end; Die Addition ⊕ (in den Zeilen 6,7,10) ist entweder die formatierte R(k)Summation (Gr¨ osse(b) = true) mit dem Rang k = k(b) oder die exakte Summation (Gr¨ osse(b) = f alse). Man beachte, dass die R(k)-Addition erst in den Bl¨ocken b∗ ∈ L(Tind,erw ) stattfindet (Gr¨ osse(b) = true vorausgesetzt). Da die Partition L(Tind,erw ) feiner als P ist, sind diese Bl¨ ocke zul¨ assig, sodass die formatierte Addition Sinn macht. ort, wird die Addition gleich im Falls b ∈ Pind auch zu T (I × K, P ) geh¨ Zielblock durchgef¨ uhrt.

7.4 Matrix-Matrix-Multiplikation

167

7.4.3 Algorithmus im stufentreuen Fall 7.4.3.1 Spezielle Eigenschaften im stufentreuen Fall Hier wird angenommen, dass alle Blockclusterb¨aume T  := T (I × J), T  := T (J × K) und T := T (I × K) aus (7.15) stufentreu seien. Damit haben alle Bl¨ ocke, die keine Bl¨ atter sind, den Typ K. Nach Lemma 7.4.2 ist auch Tind stufentreu. Letzteres bedeutet Tind ⊂ T (I × K), sodass – anders als im allgemeinen Fall – keine Bl¨ ocke b ∈ Tind auftreten k¨onnen, die nicht in den Blockclusterbaum T passen. Dies vereinfacht die Phase 2 aus §7.4.2.12 erheblich. Die Konvertierung in Phase 2 muss nur noch ber¨ ucksichtigen, dass die Partitionen Pind = L(Tind ) und P ⊂ T (I × K) im Allgemeinen onnen zwei F¨alle auftreten: verschieden sind. F¨ ur jedes b ∈ Pind k¨  ur geeignete bi ∈ P . • b ∈ T (I × K, P ): in diesem Fall gilt b = i bi f¨ Zwischenresultate b sind daher auf alle bi zu beschr¨anken und dort aufzuaddieren. • b ∈ T \T (I × K, P ): esgibt ein b∗ ∈ P mit b  b∗ . Dieses b∗ ∈ P ist ur geeignete bi ∈ Pind (b ist eines der bi ). die Vereinigung b∗ = i bi f¨ ussen mittels Agglomeration in b∗ zusammenZwischenresultate auf bi m¨ gef¨ uhrt werden. Wegen der wesentlich vereinfachten Phase 2 wird diese in den Multiplikationsalgorithmus (7.32) integriert. 7.4.3.2 Multiplikationsalgorithmus f¨ ur τ × ρ ∈ P Zun¨ achst wird die Durchf¨ uhrung von M |τ ×ρ ← M |τ ×ρ + M  |τ ×σ M  |σ×ρ

f¨ ur τ × ρ ∈ P

(7.29)

beschrieben. Falls τ × ρ ∈ P + , ist die Approximation R Tk,paarw (M |τ ×ρ + M  |τ ×σ M  |σ×ρ ) ∈ R (k, τ, ρ)

gesucht. Hierf¨ ur wird M |τ ×ρ ⊕k M  |τ ×σ k M  |σ×ρ geschrieben (k : formatierte Multiplikation). Falls τ × ρ ∈ P − , wird das Resultat ungek¨ urzt als volle Matrix berechnet. Aufgabe (7.29) wird durch den Aufruf ost. Dabei sind die Faktoren M  und M  MMR(M, M  , M  , τ, σ, ρ) gel¨ Eingabeparameter (nur die Teile M  |τ ×σ und M  |σ×ρ sind relevant). M ist Ein- und Ausgabeparameter, wobei auch hier nur die Untermatrix M |τ ×ρ ∈ R(k, τ, ρ) ∪ V(τ, ρ) von Interesse ist. Die Clusterparameter τ, σ, ρ ullen. F¨ ur τ × ρ m¨ ussen τ × σ ∈ T (I × J, P  ) und σ × ρ ∈ T (J × K, P  ) erf¨ ist lediglich τ × ρ ⊂ b ∈ P f¨ ur ein geeignetes b ∈ T (I × J, P ) vorausgesetzt, wobei im Allgemeinen die Gleichheit τ × ρ = b ∈ P mit τ × ρ aus (7.29) beim ersten Aufruf, aber nicht mehr f¨ ur die rekursiv erzeugten Aufrufe gilt (vgl. aber Folgerung 7.8.7b).

168 1

2 3 4 5 6 7a 7b 8 9 10

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

procedure MMR(M, M  , M  , τ, σ, ρ); (7.30) {M |τ ×ρ ← M|τ ×ρ ⊕k M  |τ ×σ k M  |σ×ρ , 6 R(k, τ, ρ) falls τ × ρ ⊂ b ∈ P + , } Resultat in V(τ × ρ) falls τ × ρ ⊂ b ∈ P − . begin if τ ×σ ∈ P  or σ×ρ ∈ P  then {τ ×ρ ⊂ b ∈ P ist vorausgesetzt} begin Z := M  |τ ×σ M  |σ×ρ ; {Zwischenresultat Z ∈ Rτ ×ρ } + R if τ ×ρ ⊂ b ∈ P then Z := Tk (Z) {f¨ur ein geeignetes b ∈ T } end else {im else-Fall gilt τ × σ ∈ / P  und σ × ρ ∈ / P  } begin Z|τ ×ρ := 0; for all τ  ∈ S(τ ), σ  ∈ S(σ), ρ ∈ S(ρ) do MMR(Z, M  , M  , τ  , σ  , ρ ) end; if τ × ρ ⊂ b ∈ P − then M |τ ×ρ := M |τ ×ρ + Z R else M |τ ×ρ := Tk←2k (M |τ ×ρ + Z) end;

Zeile 2: Da τ × σ ∈ T (I × J, P  ) und σ × ρ ∈ T (J × K, P  ) vorausgesetzt wird, sind die Cluster τ × σ und σ × ρ entweder unzul¨assig (d.h. echt gr¨ober oren zu einer der Partitionen. Der letzte als Cluster aus P  bzw. P  ) oder geh¨ Fall wird in den Zeilen 2-5 behandelt. Zeile 3: Die Hilfsgr¨ oße Z := M  |τ ×σ M  |σ×ρ ist eine Matrix vom Rang   ≤ max{k , k , nmin }. ucken als Zeile 4: Die Bedingung τ × ρ ⊂ b ∈ P + l¨asst sich auch ausdr¨ “τ × ρ ist Adm-zul¨ assig” (vgl. (5.13b)). Zeile 5: Im else-Fall m¨ ussen τ × σ und σ × ρ weiter zerlegt werden, da sie unzul¨ assig sind. Zeilen 7a,b: Die S¨ ohne τ  , σ  , ρ haben wieder die gleiche Stufenzahl. Ferner   gilt τ × σ ∈ S(τ × σ) ⊂ T (I × J, P  ), σ  × ρ ∈ S(σ × ρ) ⊂ T (J × K, P  ), da im vorliegenden Fall die Bl¨ ocke keine Bl¨ atter sind. Die Zerlegung aller Cluster τ, σ, ρ in ihre S¨ ohne entspricht der Behandlung in §7.4.2.9 im Falle von (7.24a). Zeile 9: Im Standardfall (5.42) kann τ ×ρ ⊂ b ∈ P − nur mit der Gleichheit τ × ρ = b ∈ P − auftreten. (Beweis: Sonst w¨are τ ∈ S(τ ∗ ), σ ∈ S(σ ∗ ), ρ ∈ S(ρ∗ ) und τ ∗ ×ρ∗ ⊂ b ∈ P − . Da min{#τ ∗ , #ρ∗ } ≤ nmin , sei zum Beispiel #τ ∗ ≤ nmin angenommen. Dies impliziert τ ∗ × σ ∗ ∈ P − , sodass kein Aufruf mit den S¨ ohnen τ, σ, ρ auftreten kann.) 7.4.3.3 Vollst¨ andiger Multiplikationsalgorithmus Die Notationen aus (7.15) werden verwendet. Die Multiplikation wird rekursiv u ¨ber die Multiplikation (und Aufaddition) der Untermatrizen definiert. Seien M  ∈ H(k  , P  ), M  ∈ H(k  , P  ) und M ∈ H(k, P ). Das formatierte Produkt wird in der Form M := M ⊕k M  k M  geschrieben, d.h. das eigentliche Produkt wird einem Startwert M (z.B. M := 0) aufaddiert. Der Aufruf MM (M, M  , M  , I, J, K)

produziert M := M ⊕k M  k M  ,

(7.31)

7.4 Matrix-Matrix-Multiplikation

169

wobei M M die Prozedur (7.32) ist. Hierbei sind die Faktoren M  , M  Eingabeparameter, w¨ ahrend M Ein- und Ausgabeparameter ist. Die Parameter τ, σ, ρ m¨ ussen τ × σ ∈ T (I × J, P  ), σ × ρ ∈ T (J × K, P  ), τ × ρ ∈ T (I × K, P ) erf¨ ullen. 1 2 3a 3b 4 5a 5b 6

procedure MM (M, M  , M  , τ, σ, ρ); (7.32) if τ × σ ∈ / P  and σ × ρ ∈ / P  and τ × ρ ∈ / P then for all τ  ∈ ST (I) (τ ), σ  ∈ ST (J) (σ), ρ ∈ ST (K) (ρ) do MM (M, M  , M  , τ  , σ  , ρ ) else if τ × ρ ∈ / P then {τ × σ ∈ P  oder σ × ρ ∈ P  gelten}   begin Z := M |τ ×σ M |σ×ρ ; H M |τ ×ρ := Tk←k+max{k (M |τ ×ρ + Z)  ,k  ,n min }   end else MMR(M, M , M , τ, σ, ρ); {τ × ρ ∈ P }

Zeile 1: Die Matrizen M, M  und M  werden im Allgemeinen die Gr¨oße I × K, I × J und J × K haben. Gelesen bzw. u ¨berschrieben werden aber nur die Teile M |τ ×ρ , M  |τ ×σ und M  |σ×ρ . Zeilen 2-3: Hier wird der Fall behandelt, dass alle Bl¨ocke τ × σ, σ × ρ und τ × ρ gr¨ ober als die entsprechenden Partitionen P, P  und P  sind. Zeile 3: Anstelle von M |τ ×ρ := M |τ ×ρ + M  |τ ×σ M  |σ×ρ wird M |τ  ×ρ := ohne durchgef¨ uhrt. M |τ  ×ρ + M  |τ  ×σ M  |σ ×ρ u ¨ber alle S¨ Zeile 4: Im else-Fall zusammen mit τ × ρ ∈ / P gilt τ × σ ∈ P  oder σ × ρ ∈ P  . Zeile 5: In diesem Fall ist der Block τ × ρ noch unterteilt, aber entweder τ × σ ∈ P  oder σ × ρ ∈ P  . Sei zum Beispiel σ × ρ ∈ P  angenommen. Hier gibt es zwei Unterf¨ alle: Ist σ × ρ ∈ P + , so ist M  |σ×ρ ∈ R(k  , σ, ρ) und damit auch Z := M  |τ ×σ M  |σ×ρ ∈ R(k  , τ, ρ). Ist σ ×ρ ∈ P − , so ist M  |σ×ρ eine volle Matrix. Wegen (5.42) ist #σ ≤ nmin oder #ρ ≤ nmin und impliziert Z ∈ R(nmin , τ, ρ) . Gilt dagegen τ × σ ∈ P  , ergibt sich analog Z ∈ R(k  , τ, ρ) oder Z ∈ R(nmin , τ, ρ). Insgesamt folgt Z ∈ R(max{k , k  , nmin }, τ, ρ) . Z kann als eine Matrix aus H(max{k  , k  , nmin }, τ, ρ) geschrieben werden. Die Summe M |τ ×ρ + Z ∈ H(k + max{k , k  , nmin }, τ × ρ) wird im Sinne des H auf den lokalen Rang k schnellen K¨ urzens sofort mittels Tk←k+max{k  ,k  ,n min } reduziert. Zeile 6: Der verbleibende else-Fall entspricht τ × ρ ∈ P, d.h. M |τ ×ρ + M  |τ ×σ M  |σ×ρ ist als Matrix im Format R(k, τ, ρ) darzustellen. Dies geschieht mit der Prozedur MMR aus (7.30). Sei M := M  · M  das exakte Produkt mit Faktoren M  ∈ H(k  , P ) und  M ∈ H(k  , P ), wobei P ⊂ T (I × I) eine gemeinsame Partition ist (d.h. I = J = K). Das folgende Lemma zeigt in Analogie zu Korollar 7.3.2, dass M ∈ H(k, P ) f¨ ur hinreichend großes k gilt (vgl. [56, Theorem 2.24]). Die ater in §7.8.3 definiert werden. auftretenden Gr¨ oßen Cid , CU werden erst sp¨ Lemma 7.4.5 (exakte Multiplikation). Seien M  ∈ H(k  , P ) und M  ∈ H(k , P ) mit der Partition P ⊂ T (I ×I), wobei der Blockclusterbaum T (I ×I)

170

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

stufentreu sei. nmin sei die charakteristische Gr¨ oße aus (5.42). Dann geh¨ ort das exakte Produkt M  · M  zu H(k, P ) mit k := Cid CU max{k  , k  , nmin } ≤ Cid Csp (depth(T (I)) + 1) max {k , k  , nmin } .

(7.33)

ateren Definition 7.8.14 eingef¨ uhrt. Dabei wird Cid = Cid (Pind ) in der sp¨ CU ist in (7.46b) definiert und kann z.B. durch Csp · (depth(T (I)) + 1) abgesch¨ atzt werden. Csp := Csp (Pind ) bezieht sich auf die induzierte Partition (vgl. §7.8.3.2). Beweis. Gem¨ aß Satz 7.8.19a gilt M  · M  ∈ H(k∗ , Pind )

mit

k ∗ = CU max{k  , k  , nmin }.

Die Produktpartition Pind kann feiner als P sein. Genauer kann ein Block ochstens Cid Bl¨ocken b ∈ Pind enthalten. b ∈ P Beitr¨ age (M  · M  ) |b aus h¨ ¨ Damit kann sich der lokale Rang beim Ubergang von Pind zur Partition P ohen. h¨ ochstens um den Faktor Cid erh¨

7.5 Matrix-Inversion Die nachfolgenden Algorithmen produzieren H-Matrix-Approximationen der Inversen. Ob diese u ¨berhaupt durch H-Matrizen approximiert werden kann, ist eine theoretischen Frage, die in Kriterium 9.5.3 und Lemma 9.5.4 f¨ ur positiv definite, wohlkonditionierte Matrizen (z.B. die Finite-Element-Massematrix, §11.1) und in Satz 11.2.8 f¨ ur Inversen von Finite-Element-Systemmatrizen beantwortet wird. 7.5.1 Rekursiver Algorithmus Sei T (I) ein bin¨ arer Baum (d.h. #S(τ ) = 2 f¨ ur alle τ ∈ T (I)\L(T  (I))). Die M11 M12 u Darstellung (3.10) zeigt, dass die Inversion von M = ¨ber M21 M22 M

−1



−1 −1 −1 −1 M11 + M11 M12 S −1 M21 M11 −M11 M12 S −1 = −1 −1 −1 −S M21 M11 S



rekursiv berechnet werden kann. Neben der selbstverst¨andlichen Voraussetzung “M regul¨ ar” braucht man “M11 regul¨ ar” (was bei der u ¨blichen GaußElimination mittels Pivotisierung erzwungen wird). Falls M positiv definit ist, folgt bekanntlich die Regularit¨at aller Hauptuntermatrizen, sodass die obigen Voraussetzungen erf¨ ullt sind. Andernfalls ist die Partition so zu w¨ ahlen, dass die Regularit¨ at gesichert ist.

7.5 Matrix-Inversion

171

Der folgende Algorithmus folgt der Darstellung (3.10), ist aber nicht auf bin¨ are B¨ aume T (I) beschr¨ ankt. Die formatierte Inverse H(k, P ) & A := Inv(M ) ≈ M −1 ergibt sich mittels A := 0 ; Inverse(M, I, A); {bildet M in A := Inverse(M ) ab, M wird u ¨berschrieben} mit der untenstehenden Prozedur7 Inverse. Hierin werden die S¨ohne ST (I) (τ ) als {τ [1], . . . , τ [t]} ( t = t(τ ) = #ST (I) (τ ) ) durchnummeriert. Die Symbole ' und  bezeichnen die formatierte Substraktion und Multiplikation. 1 2 3 4 5 6 7 8a 8b 9a 9b 10 11 12 13 14

procedure Inverse(M, τ, R); −1 if τ × τ ∈ P then R|τ ×τ := (M |τ ×τ ) else begin for  = 1, . . . , t(τ ) do begin Inverse(M, τ [], R); for j = 1, . . . ,  − 1 do R|τ []×τ [j] := R|τ []×τ []  R|τ []×τ [j] ; for j =  + 1, . . . , t(τ ) do M |τ []×τ [j] := R|τ []×τ []  M |τ []×τ [j] ; for i =  + 1, . . . , t(τ ) do begin for j = 1, . . . ,  do R|τ [i]×τ [j] := R|τ [i]×τ [j] ' M |τ [i]×τ []  R|τ []×τ [j] ; for j =  + 1, . . . , t(τ ) do M |τ [i]×τ [j] := M |τ [i]×τ [j] ' M |τ [i]×τ []  M |τ []×τ [j] end end; for  = t(τ ), . . . , 1 do for i =  − 1, . . . , 1 do for j = 1, . . . , t(τ ) do R|τ [i]×τ [j] := R|τ [i]×τ [j] ' M |τ [i]×τ []  R|τ []×τ [j] end;

Zeile 1: M ∈ H(k, P ) ist Eingabe; R|τ ×τ := Inv (M |τ ×τ ) ist Ausgabe, wobei τ ∈ T (I). Zeile 2: Da τ × τ ein Diagonalblock ist und M |τ ×τ vollen Rang haben muss, wird implizit angenommen, dass nicht nur τ × τ ∈ P, sondern auch τ × τ ∈ P − gilt und M |τ ×τ daher als volle Untermatrix vorliegt. Als solche wird sie mit Standardverfahren invertiert. Zeilen 3-14: Der Rest des Algorithmus behandelt den Fall τ × τ ∈ / P. t(τ ) ist die Zahl der S¨ ohne von τ. Nachfolgend ist die Block-Gauß-Elimination auf eine Blockmatrix bestehend aus t(τ ) × t(τ ) Bl¨ocken anzuwenden. Zeilen 3-10: Die -Schleife dient der Elimination der Bl¨ocke im unteren Dreiecksteil. In Zeile 4 wird der Diagonal-Unterblock M |τ []×τ [] invertiert (Resultat auf R|τ []×τ [] ). In den Zeilen 5+6 wird die -te Blockzeile mit R|τ []×τ [] = (M |τ []×τ [] )−1 multipliziert. Insbesondere lautet der neue RWert im Diagonalblock R|τ []×τ [] = I (dieser Wert wird aber weder berechnet noch abgespeichert. Deshalb kommt j =  in der Schleife nicht vor). Die Zeilen 7-9 dienen der Elimination der -ten Blockspalte. Zeilen 11-13: Elimination der Bl¨ ocke im oberen Dreiecksteil. 7

Eine pr¨ azisere Beschreibung findet sich im Prinzip in [56]. Wegen der dortigen Druckfehler sei auch auf den Report [55] verwiesen.

172

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

7.5.2 Alternativer Algorithmus mittels Gebietszerlegung ¨ Im Falle einer schwach besetzten Matrix M kann man Uberlegungen aus dem Bereich der Gebietszerlegungen anwenden. Man erh¨alt dann eine andere Partitionierung der Matrix, die ausf¨ uhrlich in §9.2 dargestellt ist. Die Anwendung auf die Invertierung l¨ asst sich zum Teil parallel gestalten (Details in §9.2.5). Der obige Algorithmus besitzt einen prinzipiellen Nachteil bei der Implementierung auf einem Parallelrechner. Die Invertierungen Inverse(M, τ [], R) f¨ ur  = 1, . . . , #S(τ ) aus Zeile 4 m¨ ussen im Allgemeinen sequentiell stattfinden, ur j >  ver¨andern. da die Berechnungen f¨ ur  die Untermatrizen M |τ [j]×τ [j] f¨ 7.5.3 Newton-Verfahren asst sich als L¨ osung der nichtlinearen Gleichung Die Inverse X := M −1 l¨ ur jede differenzierbare, nichtlineare f (X) := M − X −1 = 0 auffassen. Wie f¨ Gleichung f (X) = 0 ist das Newton8 -Verfahren als L¨osungsmethode anwendbar. Die Ableitung f  (X) : RI×I → RI×I lautet f  (X)Y = X −1 Y X −1

f¨ ur alle Y ∈ RI×I .

Die Newton-Iteration lautet X (m+1) = X (m) − Y , wobei Y die L¨osung von f  (X (m) )Y = f (X (m) ) ist. Mit der obigen Darstellung von f  (X) ergibt sich die L¨ osung Y = X (m) M X (m) − X (m) . Damit lautet das Newton-Verfahren9 (das f¨ ur diesen Spezialfall auch Schulz-Verfahren10 genannt wird)   X (m+1) = X (m) − X (m) M X (m) − X (m) = 2X (m) − X (m) M X (m) . (7.34) ¨ Ubung 7.5.1. Seien M invertierbar und X (0) ein Startwert mit der Fehlerschranke M  X (0) − M −1  =: q < 1 , wobei · eine submultiplikative Matrixnorm ist. Man zeige die quadratische Konvergenz X (m) − M −1  ≤ M −1 q 2 . m

Im positiv definiten Fall M −1 > X (0) > 0 zeige man globale Konvergenz und ur alle m ≥ 0. Hinweis: F¨ ur Fm := I − M 1/2 X (m) M 1/2 > 0 weise X (m) > 0 f¨ 2 man Fm+1 = Fm nach. 8

9

10

Sir Isaac Newton, geboren am 4. Jan. 1643 in Woolsthorpe in Lincolnshire, gestorben am 31. M¨ arz 1727 in London. Man sollte X (m+1) = 2X (m) − X (m) M X (m) eher nicht in der Reihenfolge oschungs(2X (m) ) − (X (m) M X (m) ) berechnen. Besser ist es, zuerst den ausl¨ anf¨ alligen Anteil, also das Residuum Z := X (m) M − I zu berechnen. Dann ist X (m+1) = (I − Z)X (m) . In dem Artikel [127] von G. Schulz wird der Algorithmus als “neues Iterations¨ verfahren” vorgestellt und die Ubereinstimmung mit dem Newton-Verfahren nicht erw¨ ahnt.

7.6 LU- bzw. Cholesky-Zerlegung

173

F¨ ur die praktische Durchf¨ uhrung ist (7.34) eher nicht zu empfehlen. Wenn keine speziellen Gegebenheiten ausgenutzt werden k¨onnen, kostet (7.34) zwei Matrix-Matrix-Multiplikationen. Die Kosten der Inversion entsprechen aber nur denen einer Matrix-Matrix-Multiplikation.

7.6 LU- bzw. Cholesky-Zerlegung Eine Standardmethode zur Aufl¨ osung des Gleichungssystems Ax = b ist die Zerlegung von A in das Produkt A = LU von Dreiecksmatrizen. Selbst wenn LU nur eine N¨ aherung von A darstellt, erh¨ alt man ein Iterationsverfahren (Details in §9.1), dessen Konvergenzgeschwindigkeit mit der Approximationsg¨ ute zunimmt. Zur Definition der LU- und Cholesky-Zerlegungen vergleiche man (1.5a) und (1.5b). Im Prinzip stellt sich zuerst die Frage, ob die LU-Faktoren der Zerlegung wieder durch H-Matrizen approximierbar sind. In §9.2 wird gezeigt werden, dass unter geeigneten Voraussetzungen (Schwachbesetztheit) diese Eigenschaft aus der H-Matrix-Approximierbarkeit der Inversen folgt. 7.6.1 Format der Dreiecksmatrizen Dreiecksmatrizen sind nur definierbar, wenn eine Anordnung der Indizes aus I vorgegeben ist. Ferner muss diese Anordnung zu der Zerlegung im Clusterbaum T (I) konsistent sein, d.h. I = {i1 , . . . , i#I } ist die Anordnung und f¨ ur alle τ ∈ T (I) gibt es α(τ ), β(τ ) ∈ {1, . . . , #I} , sodass τ = {iα(τ ) , iα(τ )+1 , . . . , iβ(τ ) }.

(7.35)

Hieraus ergibt sich die Anordnung der Cluster gleicher Stufe. Sind τ  , τ  ∈ ur alle T () (I) zwei verschiedene Cluster, so gilt nach (7.35) entweder i < j f¨ ur alle i ∈ τ  und j ∈ τ  . Dies definiert die i ∈ τ  und j ∈ τ  oder i > j f¨ eindeutige Anordnungsrelation τ  < τ  bzw. τ  > τ  . Die hier vorausgesetzten Anordnungseigenschaften stimmen mit denen u ur T (I) minimal ¨berein, die in §5.3.4 erzeugt werden, um die Speicherkosten f¨ zu halten. Die intern erzeugte Anordnung kann daher zur LU-Zerlegung verwandt werden. Die einfachste Annahme u ¨ber das Format hierarchischer Dreiecksmatrizen ¨ L und U der LU-Zerlegung ist die Uberlagerung beider Eigenschaften: ⎧ ur α < β, ⎨ Liα iβ = 0 f¨ ur 1 ≤ α ≤ #I, Liα iα = 1 f¨ (7.36a) L, U ∈ H(k, P ), ⎩ ur α > β. Uiα iβ = 0 f¨ F¨ ur die L¨ osbarkeit ist zudem Uiα iα = 0 zu garantieren. Ein stufentreuer Blockclusterbaum wird vorausgesetzt (damit die Komponenten der Bl¨ocke

174

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

zu gleichen Stufen geh¨ oren und somit vergleichbar sind). Auf der Blockebene bedeutet diese Bedingung ur b = τ × σ mit τ < σ, L|b = O f¨ ur b = τ × σ mit τ > σ, U |b = O f¨

(7.36b)

w¨ ahrend f¨ ur die Diagonalbl¨ ocke b = τ × τ die Matrixbl¨ocke L|b normierte untere Dreiecksmatrizen und U |b obere Dreiecksmatrizen sind. Im Falle der Cholesky-Zerlegung braucht nur ein Faktor L verwaltet zu werden, f¨ ur den statt Liα iα = 1 nur Liα iα > 0 vorausgesetzt wird. Die Dreiecksmatrizen k¨ onnen auch durch Block-Dreiecksmatrizen ersetzt werden: Außerdiagonalbl¨ ocke: ur τ < σ und U |τ ×σ = O f¨ ur τ > σ, L|τ ×σ = O f¨ Diagonalbl¨ ocke: ur τ × τ ∈ P. L|τ ×τ = I und U |τ ×τ ∈ V(τ × τ ) f¨

(7.37)

Der Vorteil der Block-Dreieckszerlegung besteht darin, dass sie wohldefiniert sein kann, obwohl die einfache LU-Zerlegung wegen Pivotproblemen nicht existiert oder numerisch bedenklich ist. 7.6.2 Auf l¨ osung von LU x = b Sinn der LU-Zerlegung ist die L¨ osung von Ax = b mit A = LU mittels der beiden Schritte Ly = b und U x = y. Die Gleichung Ly = b l¨ost man durch Vorw¨ arts- und U x = y durch R¨ uckw¨ artseinsetzen. Diese Schritte k¨onnen leicht f¨ ur hierarchische Matrizen formuliert werden und werden exakt durchgef¨ uhrt. Die Prozedur Vorw¨ artseinsetzen(L, τ, y, b) liefert die L¨osung y|τ von osung von Ly = b ist Vorw¨artseinsetzen(L, I, y, b) mit L|τ ×τ y|τ = b|τ . Zur L¨ τ = I aufzurufen, wobei der Eingabevektor b u ¨berschrieben wird (die Parameterwahl y = b ist m¨ oglich). 1 2 3 4 5 6 7 8

procedure Vorw¨ artseinsetzen(L, τ, y, b); if τ × τ ∈ P then for j := α(τ ) to β(τ ) do begin yj := bj ; for i := j +1 to β(τ ) do bi := bi −Lij yj end else for j := 1 to #S(τ ) do begin Vorw¨artseinsetzen(L, τ [j], y, b); for i := j + 1 to #S(τ ) do b|τ [i] := b|τ [i] − L|τ [i]×τ [j] · y|τ [j] end;

(7.38a)

In Zeile 1 der Prozedur sind L, τ , b Eingabe- und y Ausgabeparameter. Der Parameter τ muss zu T (I × I, P ) geh¨ oren, w¨ahrend y, b ∈ RI und L (7.36a) mit P ⊂ T (I × I) erf¨ ullen. Zeilen 2-4: Wie beim Inversionsalgorithmus erkl¨art, kann τ × τ ∈ P zu τ × τ ∈ P − verst¨arkt werden. Daher wird L|τ ×τ als volle Matrix behandelt.

7.6 LU- bzw. Cholesky-Zerlegung

175

Entsprechend wird das u ¨bliche, komponentenweise Vorw¨artseinsetzen durchgef¨ uhrt. Zeile 3: Die Gr¨ oßen α(τ ) und β(τ ) stammen aus (7.35). Zeilen 5-8: L|τ ×τ wird als Blockmatrix mit den Unterbl¨ocken τ [i] × τ [j] ∈ S(τ × τ ) behandelt. Dabei ist τ [1], . . . , τ [#S(τ )] eine Aufz¨ahlung der S¨ohne von τ. In Zeile 7 ist die Matrixvektormultiplikation M V M aus (7.2) aufzurufen, wobei entweder y durch −y zu ersetzen ist oder eine Variante MVM Minus(y, M, x, I × J) zu formulieren ist, die y := y − M x statt y := y + M x produziert. Die Prozedur R¨ uckw¨ artseinsetzen zur L¨ osung von U x = y lautet analog. U, τ, y sind Eingabe- und x Ausgabeparameter. y wird u ¨berschrieben. procedure R¨ uckw¨ artseinsetzen(U, τ, x, y); if τ × τ ∈ P then for j := β(τ ) downto α(τ ) do begin xj := yj /Ujj ; for i := α(τ ) to j − 1 do yi := yi − Uij xj end else for j := #S(τ ) downto 1 do begin R¨ uckw¨artseinsetzen(U, τ [j], x, y); for i := 1 to j − 1 do y|τ [i] := y|τ [i] − U |τ [i]×τ [j] · x|τ [j] end;

(7.38b)

Die Gesamt-LU-Aufl¨ osung lautet damit procedure L¨ ose LU (L, U, I, x, b); {L, U, I, b Ein-, x Ausgabe} begin x := b; Vorw¨ artseinsetzen(L, I, x, x); R¨ uckw¨ artseinsetzen(U, I, x, x) end;

(7.38c)

wobei hier der Eingabevektor b nicht u ¨berschrieben wird. ¨ Die Formulierung der Block-Version (7.37) ist dem Leser als Ubung u ¨berlassen. Da die Diagonalmatrizen U |τ ×τ mit τ × τ ∈ P invertiert werden m¨ ussen, ist es empfehlenswert, diese Invertierung sofort bei der Konstruktion von U durchzuf¨ uhren und beim R¨ uckw¨ artseinsetzen nur mit der auf U |τ ×τ abgelegten Inversen zu multiplizieren. Die Formulierung der Cholesky-Variante ist ebenfalls dem Leser u ¨berlassen. Im Cholesky-Fall ist die Prozedur Vorw¨ artseinsetzen zu modifizieren, da L nicht normiert ist. Ferner ist R¨ uckw¨ artseinsetzen(U, τ, x, y) so zu ¨andern, dass anstelle der oberen Dreiecksmatrix U = L direkt L verwendet wird. Die modifizierten Prozeduren seien Vorw¨ artseinsetzenC (L, τ, y, b) und R¨ uckw¨ artseinsetzenC (L, τ, x, y). Dann geschieht die Cholesky-Aufl¨ osung von LL x = b durch

176

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

procedure L¨ ose LLT (L, I, x, b); {L, U, I, b Ein-, x Ausgabe} begin x := b; Vorw¨ artseinsetzenC (L, I, x, x); R¨ uckw¨ artseinsetzenC (L, I, x, x) end;

(7.38d)

Schließlich wird noch ein Algorithmus zur Aufl¨osung von x U = y  ben¨ otigt. Die Gleichung ist identisch zu Lx = y mit L := U  , wobei in diesem Falle die untere Dreiecksmatrix L nicht normiert ist. Die zugeh¨orige Prozedur procedure Vorw¨ artseinsetzenT (U, τ, x, y);

{L¨osung von x U = y  }

ist dem Leser u ¨berlassen. 7.6.3 Matrixwertige L¨ osung von LX = Z und XU = Z X, Z ∈ H(k, P  ) seien hierarchische Matrizen zu einer Partition P  ⊂ T (I ×J) , wobei T (I × J) stufentreu sei. Die Indexmenge I stimme mit der aus L ∈ H(k, P ) und P ⊂ T (I × I) u osen ist die Gleichung ¨berein. Zu l¨ LX = Z in RI×J , die #J simultane skalare Gleichungen der Form Lx = z reost L|τ ×τ X|τ ×σ = Z|τ ×σ f¨ ur die pr¨ asentiert. Die Prozedur Vorw¨ arts M l¨ Bl¨ ocke τ × τ ∈ T (I × I, P ) und τ × σ ∈ T (I × J, P  ). Das Gleichungssystem LX = Z in I × J wird mittels Vorw¨ arts M (L, X, Z, I, J) gel¨ost. Zur Schreibur die Matrizenspalten vergleiche man Notation 1.3.9. weise Xτ,j usw. f¨ 1 2 3 4 5 6 7 8 9 10 11 12 13

procedure Vorw¨ arts M (L, Y, R, τ, σ) ; if τ × σ ∈ P − then {spaltenweises Vorw¨artseinsetzen} for all j ∈ σ do Vorw¨ artseinsetzen(L, τ, Xτ,j , Zτ,j ) else if τ × σ ∈ P + then begin {sei Z|τ ×σ = AB  gem¨ aß (2.1) mit A ∈ Rτ ×{1,...,k} } for j = 1 to k do Vorw¨ artseinsetzen(L, τ, Aτ,j , Aτ,j ); X|τ ×σ := Rang-k-Darstellung A B  end else for i = 1 to #S(τ ) do for σ  ∈ S(σ) do begin Vorw¨ arts M (L, X, Z, τ [i], σ  ) ; for j = i + 1 to #S(τ ) do Z|τ [j]×σ := Z|τ [j]×σ ' L|τ [j]×τ [i]  X|τ [i]×σ end;

(7.39a)

Zeile 1: Die Matrizen L, Z und die Cluster τ, σ sind Eingabeparameter, w¨ ahrend X Ausgabeparameter ist. Zeilen 2-3: Falls Z|τ ×σ eine volle Matrix ist, wird (7.38a) auf jede der #σ Spalten angewandt.

7.6 LU- bzw. Cholesky-Zerlegung

177

Zeilen 4-8: Falls Z|τ ×σ eine Rang-k-Matrix AB  ist, liefert das Vorw¨ artseinsetzen (7.38a) angewandt auf die k Spalten von A die Matrix A und (A , B) bilden die Rang-k-Darstellung des Resultats X|τ ×σ = A B  . Zeilen 9-13: Es bleibt der Fall τ × σ ∈ T (I × I, P )\P, der hier f¨ ur den Standardfall #S(σ) = 2 erkl¨ art sei. Das Problem L|τ ×τ X|τ ×σ = Z|τ ×σ hat die Blockstruktur      X11 X12 Z Z L11 0 = 11 12 Z21 Z22 L21 L22 X21 X22 mit Lij = L|τ [i]×τ [j] , Xij = X|τ [i]×σ[j] , Zij = Z|τ [i]×σ[j] . Die Gleichungen L11 X11 = Z11 und L11 X12 = Z12 der ersten Blockzeile werden mit dem Aufruf von Vorw¨ arts M in Zeile 10 gel¨ost, w¨ahrend die Gleichungen L21 X11 + L22 X21 = Z21 und L21 X12 + L22 X22 = Z22 der zweiten  := Z21 − L21 X11 usw. gebracht werden Blockzeile in die Form L22 X21 = Z21 (Zeilen 11-12), um f¨ ur i = 2 in Zeile 10 nach Y21 , Y22 gel¨ost werden zu k¨onnen. Zur L¨ osung der Gleichung XU = Z mit einer unteren hierarchischen Dreiecksmatrix U und der unbekannten Matrix X auf der linken Seite verwendet man procedure Vorw¨ artsT M (U, X, Z, τ, σ) ; if τ × σ ∈ P − then for all i ∈ τ do Vorw¨ artseinsetzenT (U, σ, Xi,σ , Zi,σ ) else if τ × σ ∈ P + then begin {sei Z|τ ×σ = AB  gem¨ aß (2.1) mit B ∈ R{1,...,k}×σ }  for j = 1 to k do Vorw¨ artseinsetzenT (U, σ, Bi,σ , Bi,σ );  X|τ ×σ := Rang-k-Darstellung AB end else for j = 1 to #S(σ) do for τ  ∈ S(τ ) do begin Vorw¨ artsT M (U, X, Z, τ  , σ[j]); for i = 1 to j − 1 do Z|τ  ×σ[i] := Z|τ  ×σ[i] ' X|τ  ×σ[i]  U |σ[i]×σ[j] end;

(7.39b)

Die Varianten im Cholesky-Fall sind dem Leser u ¨berlassen. 7.6.4 Erzeugung der LU- bzw. Cholesky-Zerlegung Es bleibt die Erzeugung der hierarchischen LU-Faktoren in A = LU zu beschreiben (siehe auch §3.8). Es sei zur Vereinfachung der Beschreibung angenommen,dass#S(I) = 2. die Matrizen in A = LU die Struktur  Dann besitzen   L11 O U11 U12 A11 A12 = . Dies f¨ uhrt auf die vier Unteraufgaben A21 A22 O U22 L21 L22 (i) (ii) (iii) (iv)

Berechne Berechne Berechne Berechne

L11 U12 L21 L22

und U11 als Faktoren der LU-Zerlegung von A11 . aus L11 U12 = A12 . aus L21 U11 = A21 . und U22 als LU-Zerlegung von L22 U22 = A22 − L21 U12 .

178

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

Aufgabe (ii) wird durch Vorw¨ arts M (L11 , U12 , A12 , τ1 , τ2 ) gel¨ost, w¨ahrend f¨ ur (iii) die Prozedur Vorw¨ artsT M aus (7.39b) zu verwenden ist. Die rechte Seite in L22 U22 = A22 −L21 U12 kann mit der u ¨blichen formatierten Multiplikation  berechnet werden, wobei eine spezielle Prozedur, die die Pr¨asenz der Nullen in den jeweiligen H¨ alften ber¨ ucksichtigt, effizienter w¨are. Es bleibt die Aufgabe, die Faktoren der beiden LU-Zerlegungen L11 U11 = . . . und L22 U22 = . . . zu bestimmen. Dies definiert eine Rekursion, die an den Bl¨attern durch die u ¨bliche LU-Zerlegung voller Matrizen definiert ist. Der Aufruf LU-Zerlegung(L, U, A, I) liefert die gew¨ unschten LU-Faktoren von A. Dabei l¨ ost die Prozedur LU-Zerlegung(L, U, A, τ ) das Teilproblem ur τ ∈ T (I × I, P ). L|τ ×τ U |τ ×τ = A|τ ×τ f¨ 1 2 3 4 5 6 7 8 9 10 11

procedure LU-Zerlegung(L, U, A, τ ) ; if τ × τ ∈ P then berechne L|τ ×τ und U |τ ×τ als LU-Faktoren von A|τ ×τ else for i = 1 to #S(τ ) do begin LU-Zerlegung(L, U, A, τ [i]) ; for j = i + 1 to #S(τ ) do begin Vorw¨ artsT M (U, L, A, τ [j], τ [i]); Vorw¨ arts M (L, U, A, τ [i], τ [j]); for k = i + 1 to #S(τ ) do A|τ [j]×τ [k] := A|τ [j]×τ [k] ' L|τ [j]×τ [i]  U |τ [i]×τ [k] end end;

(7.40)

Zeilen 2-3: Da τ ×τ ∈ P − , sind A|τ ×τ , L|τ ×τ und U |τ ×τ als volle Matrizen dargestellt. Zeilen 4-11: Die i-Schleife erfordert die Anordnung der Sohncluster S(τ ) = {τ [1], . . . , τ [#S(τ )]} . Zeile 7: Berechnung von L|τ [j]×τ [i] . Zeile 8: Berechnung von U |τ [i]×τ [j] . Die Formulierung der Cholesky-Zerlegungsprozedur ist dem Leser u ¨berlassen.

7.7 Hadamard-Produkt Das komponentenweise durchgef¨ uhrte Hadamard-Produkt zweier Matrizen kommt gelegentlich vor. Seien P ⊂ T (I × I) und M  ∈ H(k  , P ) und M  ∈ H(k  , P ). Wie die Addition ist das Hadamard-Produkt blockweise durchf¨ uhrbar: (M  ◦ M  ) |b = M  |b ◦ M  |b −



f¨ ur alle b ∈ P. 

F¨ ur b ∈ P werden die vollen Matrizen M |b , M |b elementweise multipliziert. F¨ ur b ∈ P + entsteht das Hadamard-Produkt M  |b ◦ M  |b zweier R-Matrizen. ¨ Gem¨ aß Ubung 2.3.2 gilt f¨ ur das exakte Resultat M  |b ◦ M  |b ∈ R(k  k  , b). Dies beweist die

7.8 Aufwand der Algorithmen

179

Anmerkung 7.7.1. Seien M  ∈ H(k  , P ) und M  ∈ H(k , P ). Dann geh¨ort das (exakte) Hadamard-Produkt M  ◦ M  zu H(k k  , P ). Nach entsprechender H alt man die N¨ aherung in H(k, P ). K¨ urzung mit Tk←k  k  erh¨

7.8 Aufwand der Algorithmen 7.8.1 Matrix-Vektor-Multiplikation Im Falle des vollen Matrixformats ben¨ otigt die Matrix-Vektor-Multiplikation eine Multiplikation und eine Addition pro Matrixeintrag, d.h. die Kosten der Matrix-Vektor-Multiplikation betragen das Doppelte des Speicheraufwandes. ¨ Ahnliches gilt f¨ ur die hierarchischen Matrizen, deren Speicheraufwand in Lemma 6.3.6 abgesch¨ atzt wurde. ur eine Lemma 7.8.1. Die Anzahl NMV der arithmetischen Operationen f¨ Matrix-Vektor-Multiplikation mit einer Matrix aus H(k, P ) ist absch¨atzbar durch den Speicheraufwand SH (k, P ) (vgl. Lemma 6.3.6): SH (k, P ) ≤ NMV ≤ 2SH (k, P ).

(7.41)

Beweis. a) Die Matrix-Vektor-Multiplikation y := M x erfordert die Matrixuralle b = τ × σ ∈ P und zus¨atzlich #τ Vektor-Multiplikation M |b x|σ f¨ Additionen, um M |b x|σ in y|τ = b=τ ×σ∈P M |b x|σ aufzuaddieren. b) Wenn b ∈ P − , ist M |b ∈ V(b) eine volle Matrix. In diesem Fall ist S = #τ #σ der Speicherbedarf und NMV = 2#τ #σ − #τ. Offenbar gelten die Ungleichungen S ≤ NMV und NMV + #τ ≤ 2S. ur die NMV = c) Wenn b ∈ P + , ist M |b eine Rang-k-Matrix, f¨ 2k (#τ + #σ) − #τ − k und der Speicherbedarf S = k (#τ + #σ) gelten (vgl. Anmerkungen 2.3.1a und 2.2.5). Wieder ist S ≤ NMV und NMV + #τ ≤ 2S. d) Summation aller Ungleichung liefert das gew¨ unschte Resultat (7.41). Falls man das Skalarprodukt y, M x als y, z mit z := M x berechnet, kommen zum Aufwand der z-Berechnung noch 2n − 1 Operationen im Fall ¨ einer n × n-Matrix M hinzu. Dies kann vermieden werden, wenn in Ubung 7.1.2 der richtige Algorithmus gefunden ist. ¨ ¨ Ubung 7.8.2. Der in Ubung 7.1.2 gesuchte optimale Algorithmus f¨ uhrt auf ur die Berechnung des Skalarproduktes y, M x . ≤ 2SH (k, P ) Operationen f¨ 7.8.2 Matrix-Addition H ergibt sich als Summe der Kosten f¨ ur Der Aufwand der K¨ urzung Tk← R + Tk← (M |b ) u ¨ber alle b ∈ P (vgl. Anmerkung 2.5.4).

180

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

H Lemma 7.8.3. Sei k < . Der Aufwand von M → Tk← M betr¨agt ( ) 62 (#τ + #σ) + 223 ≤ 6SH (, P + ) + 223 #P + , (7.42) NT H () ≤ b=τ ×σ∈P +

wobei die Schranken SH (, P + ) ≤ SH (, P ) und #P + ≤ #P in Lemmata 6.3.6 und 6.3.4 abgesch¨ atzt sind. Lemma 7.8.4. a) Die formatierte Addition ⊕k : H(k1 , P ) × H(k2 , P ) → H(k, P ) kostet  f¨ ur k < k1 + k2 NH+H = NT H (k1 + k2 ) + b∈P −#b 3 ≤ 6 (k1 + k2 ) SH (k1 + k2 , P ) + 22 (k1 + k2 ) #P + ,  − NH+H = f¨ ur k ≥ k1 + k2 . b∈P −#b ≤ SH (P ) b) Im Standardfall k = k1 = k2 lauten die Kosten   NH+H = NT H (2k) + #b ≤ 24kSH (k, P + ) + 176k 3 #P + + #b b∈P −

b∈P −

≤ 24kSH (k, P ) + 176k #P 3

+

(7.43)

ur b ∈ P + ist kostenlos (vgl. AnmerBeweis. a) Die Addition M1 |b + M2 |b f¨ urzung ist in kung 2.3.1b), die anschließende, nur f¨ ur k < k1 + k2 ben¨otigte K¨ − ist M | + M | die Addition voller (7.42) abgesch¨ atzt. Im Nahfeld b ∈ P 1 b 2 b   Matrizen und erfordert b∈P − #b Additionen. Da b∈P − #b = SH (P − ) ≤ 6 (k1 + k2 ) SH (P − ) und SH (k1 + k2 , P + ) + SH (P − ) = SH (k1 + k2 , P ), folgt Teil a. b) Wir verwenden die Absch¨ atzung 6 (k1 + k2 ) SH (k1 + k2 , P ) = 12kSH (2k, P ) ≤ 24kSH (k, P ). 7.8.3 Matrix-Matrix-Multiplikation Die wesentlichen Aussagen beschr¨ anken sich auf den Fall der stufentreuen Blockclusterb¨ aume und sind in Grasedyck-Hackbusch [56] zu finden. Wichtige Informationen liefert der induzierte Blockclusterbaum Tind mit der Partition Pind = L(Tind ), der in §7.8.3.2 untersucht wird. In H(k, Pind ) l¨asst sich f¨ ur geeignetes k das exakte Produkt darstellen und der Berechnungsaufwand absch¨ atzen (vgl. Satz 7.8.19). Bei einer Darstellung des Produktes in H(k, Pind ) mit kleinerem k tritt H auf (vgl. Korollar 7.8.20). zus¨ atzlich die K¨ urzung Tk← Der Standardfall der Matrix-Multiplikation ist I = J = K mit P := P  = P  . Das Zielformat ist wieder H(k, P ), wobei P h¨aufig etwas gr¨ober als die ur fallen weitere Kosten f¨ ur die Konverinduzierte Partition Pind ist. Hierf¨ R←H an (vgl. §7.8.3.1). F¨ ur die Absch¨atzung wird die Gr¨oße tierung mittels Tk←k otigt, die in §7.8.3.4 eingef¨ uhrt wird. Cid ben¨

7.8 Aufwand der Algorithmen

181

R←H 7.8.3.1 Kosten f¨ ur Tk←k

Lemma 7.8.5. Seien nmin ≤ k (nmin aus (5.42)), M ∈ H(k, P ) f¨ ur eine Partition P ⊂ T (I × J), Csp (P ) aus (6.4b) und s := maxb∈T (I×J,P ) #S(b) R←H M ∈ R(k, I, J) (Standard: s ≤ 4). Die Kosten der Umwandlung M → Tk←k sind absch¨ atzbar durch 6Csp (P )s2 k 2 (1 + depth(T (I × J))) (#I + #J) + 22s3 k 3 #T (I × J, P ). R die genauere Dabei ist anstelle der schnellen (paarweisen) K¨ urzung Tk,paarw R K¨ urzung Tk←k·#S(b) unterstellt.

Beweis. F¨ ur alle b ∈ P − ist die komprimierte Singul¨arwertzerlegung durchzuf¨ uhren (Aufwand in Anmerkung 2.5.1). F¨ ur alle b ∈ T (I × J, P )\P entsteht der Aufwand NT R (k) aus (2.9). Die Summe ist    2 2  6s k (#τ + #σ) + 22s3 k 3 21n3min + b∈P −





τ ×σ∈T (I×J,P )\P



6s2 k 2 (#τ + #σ) + 22s3 k 3



τ ×σ∈T (I×J,P )\P

≤ (1 + depth(T (I × J))) Csp (P )6s2 k 2 (#I + #J) + 22s3 k 3 #T (I × J, P ), wobei depth(T (I × J, P )\P ) ≤ depth(T (I × J)) und #T (I × J, P )\P ≤ #T (I × J, P ) verwendet wurde. 7.8.3.2 Induzierte Partition Pind Andere Namen f¨ ur den induzierten Blockclusterbaum Tind und die Partition Pind = L(Tind ) sind Produkt-Blockclusterbaum T  · T  und Produktpartition 11 (vgl. Grasedyck-Hackbusch [56]). Anmerkung 7.8.6. Die Blockclusterb¨ aume T  = T (I × J) und T  = T (J × K) seien konsistent (vgl. §7.4.2.11) und Tind = T  · T  der induzierte ProduktBlockclusterbaum. a) Zu jedem τ ×ρ ∈ Tind gibt es mindestens einen Cluster σ ∈ T (J), sodass τ × σ ∈ T (I × J, P  ) und σ × ρ ∈ T (J × K, P  ) (zu P  , P  vgl. (7.15)). ur alle b) Im Falle von τ × ρ ∈ Pind gilt τ × σ ∈ P  oder σ × ρ ∈ P  f¨ σ ∈ T (J) mit τ × σ ∈ T (I × J, P  ) und σ × ρ ∈ T (J × K, P  ). Insbesondere gibt es mindestens ein σ ∈ T (J) mit dieser Eigenschaft.

11

Die Notation P  · P  f¨ ur die Produktpartition aus P  ⊂ T (I × J) und P  ⊂ T (J × K) macht nur Sinn, wenn die Partitionen P  , P  eindeutig den induzierten aume Baum Tind definieren. Dies ist z.B. unter der Annahme richtig, dass alle B¨ stufentreu sind.

182

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

Beweis. a) Ein Blockcluster τ × ρ wird in der Konstruktion von §7.4.2 nur eingef¨ uhrt, wenn ein Teilprodukt M  |τ ×σ · M  |σ×ρ vorliegt. Hierbei gilt nicht nur τ × σ ∈ T  und σ × ρ ∈ T  , sondern auch τ × σ ∈ T (I × J, P  ) und σ × ρ ∈ T (J × K, P  ), da die Zerlegung bei Bl¨attern endet (vgl. §§7.4.2.37.4.2.4). b) Genau dann, wenn f¨ ur alle σ ∈ T (J) aus Teil a) stets eine der Matrizen ort, wird τ × ρ nicht weiter zerlegt und aus M  |τ ×σ · M  |σ×ρ zu R oder V geh¨ geh¨ ort daher zu Pind = L(Tind ). Folgerung 7.8.7 Seien T  und T  stufentreu. Ferner sei P := Pind gesetzt. Dann vereinfacht sich der Multiplikationsalgorithmus: a) Der zweite if-Fall aus Zeile 4 der Prozedur M M in (7.32) tritt nie auf. Falls die Bedingung in Zeile 2 nicht zutrifft, gilt der else-Fall von Zeile H nicht ben¨ otigt! 6 (Aufruf von M M R). Damit wird die Konvertierung Tk← b) Die Prozedur MMR aus (7.30) ist nicht rekursiv. Da nach Voraussetzung beim ersten Aufruf τ × ρ ∈ P gilt, trifft die if-Bedingung der Zeile 2 zu und die Rekursion im else-Teil der Zeilen 6-8 wird nie aufgerufen. ¨ Ubung 7.8.8. Man zeige f¨ ur den stufentreuen Fall: Tind ={τ × ρ ∈ T (I × K) : es gibt σ ∈ T (J) mit τ × σ ∈ T (I × J, P  ), σ × ρ ∈ T (J × K, P  )}. Die mittels Csp quantifizierte Schwachbesetztheit u ¨bertr¨agt sich von den Partitionen P  und P  auf die Produktpartition Pind , wie die folgenden Ungleichungen zeigen. Die Voraussetzung der Stufentreue wird hier nicht gebraucht. Die Notationen entsprechen (7.15). Lemma 7.8.9. Es gelten die Absch¨ atzungen (7.44a) Csp (Pind )      ≤ Csp (P ) Csp (T (J × K, P )\P ) + Csp (T (I × J, P )) Csp (P ) , Csp (Pind ) (7.44b) ≤ Csp (Tind ) ≤ Csp (T (I × J, P  )) Csp (T (J × K, P  )) . Genauer gilt (7.44c) Csp,l (τ, Pind ) ≤ Csp,l (τ, P  ) · Csp (T (J × K, P  )\P  )  ur alle τ ∈ T (I), + Csp,l (τ, T (I × J)) · Csp (P ) f¨ Csp,r (ρ, Pind ≤ Csp (P  ) · Csp,r (ρ, T (J × K, P  )\P  ) (7.44d)  ur alle τ ∈ T (I). + Csp (T (I × J)) · Csp,r (ρ, P ) f¨ Beweis. Zuerst sei Csp,l (τ, Pind ) = #{ρ ∈ T (K) : τ × ρ ∈ Pind } untersucht. Zu τ gibt es Csp,l (τ, P  ) Blockcluster τ × σ ∈ P  , und zu jedem σ ∈ T (J) geh¨oren Csp,l (σ, T (J × K, P  )) ≤ Csp (P  ) Blockcluster σ × ρ ∈ T (J × K, P  ). Damit

7.8 Aufwand der Algorithmen

183

existieren h¨ ochstens Csp,l (τ, P  )·Csp,l (σ, T (J × K, P  )) Blockcluster τ ×ρ mit  τ × σ ∈ P . Zur Alternative σ × ρ ∈ P  gibt es ≤ Csp,l (τ, T (I × J)) · Csp (P  ) M¨ oglichkeiten. Da hier die F¨ alle mit τ × σ ∈ P  und σ × ρ ∈ P  doppelt gez¨ ahlt sind, kann Csp (T (J × K, P  )) durch Csp (T (J × K, P  )\P  ) ersetzt werden. Damit ist (7.44c) bewiesen. (7.44d) wird analog gezeigt. Maximierung u ¨ber τ liefert (7.44a). Die Inklusion Pind ⊂ Tind liefert die erste Ungleichung in (7.44b). Die folgende ergibt sich mit ¨ ahnlicher Argumentation wie oben. 7.8.3.3 Beispiele zu Pind Um eine Vorstellung zu erhalten, wie die Produktpartition bei verschiedenen Ausgangspartitionen aussieht, werden im Weiteren Beispiele angegeben, deren ¨ ¨ Uberpr¨ ufung dem Leser als Ubung u ¨berlassen ist. Wir beschr¨anken uns auf den Fall I = J = K. Beispiel 7.8.10. Sei P ⊂ T (I × I) die Partition des Modellformates Hp aus §3.1, wie sie in Abbildung 3.1 wiedergegeben ist. Dann stimmt die Produktpartition Pind mit der Partition P der Faktoren u ¨berein. Ist M = M1  M2 (M, M1 , M2 ∈ Hp ) gem¨aß Beispiel 7.8.10, so erh¨ alt man mit einer Permutationsmatrix Q die Produktdarstellung M = (M1 Q)  (Q M2 ) . Beschreibt Q die Umkehrung der Indexanordnung, achsten Beispiels. so haben M1 Q und Q M2 das Format des n¨ ollig anders als P ausfallen: Beispiel 7.8.11. Pind kann v¨ . Beispiel 7.8.12. Das Produkt kann sogar einfacher (gr¨ober) als die Faktoren sein: ·

=

.

Das folgende Beispiel entspricht dem Standardfall. Beispiel 7.8.13. Ein zweites Modellformat Hp wurde in (5.15) definiert. Die zugeh¨ orige Partition P ist in Abbildung 5.1 illustriert. Die Produktpartition ugig feiner als P : Pind ist geringf¨ ·

=

.

184

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

Die Gr¨ oßen von Csp (P  ) = Csp (P  ) (wegen P  = P  ) und Csp (Pind ) f¨ ur die obigen Beispiele sind Beispiel Csp (T  ) = Csp (P  ) Csp (Tind ) = Csp (Pind )

7.8.10 2 2

7.8.11 2 2

7.8.12 2 2

7.8.13 6 8

In allen F¨ allen sind die Ungleichungen (7.44a,b) sehr pessimistisch. 7.8.3.4 Die Gr¨ oße Cid Die Wunschsituation ist die von Beispiel 7.8.10: Die Produktpartition Pind stimmt mit P u at”). Typisch f¨ ur die praktischen F¨alle ist ¨berein (“Identit¨ jedoch Beispiel 7.8.13: Die Produktpartition Pind ist ein wenig feiner als P. Zur uhrt: Cid = 1 Quantifizierung der Abweichung wird die Gr¨ oße Cid (P ) eingef¨ entspricht dem Fall, dass Pind = P oder Pind sogar gr¨ober als P ist, w¨ahrend Cid > 1 anzeigt, dass Pind partiell feiner als P ist. Definition 7.8.14 (Cid ). Sei P ⊂ T (I ×K). Die Blockclusterb¨aume T (I ×J) und T (J × K) seien stufentreu. F¨ ur τ × ρ ∈ P sei ⎫ ⎧   ⎬ ⎨ τ × ρ ∈ T (I × I, P ) : τ  und ρ sind Nachfolger von τ bzw. ρ, es gibt σ  ∈ T (I) , (7.45a) Cid (τ × ρ) := # ⎭ ⎩ mit τ  × σ  , σ  × ρ ∈ T (I × I, P ). Cid (P ) := max{1, max{Cid (τ × ρ) : τ × ρ ∈ P }}.

(7.45b)

Wenn der Bezug auf P zweifelsfrei ist, wird nur Cid anstelle von Cid (P ) geschrieben. Die Definition 7.8.14 erw¨ ahnt Tind nicht explizit, aber wegen der Dar¨ stellung aus Ubung 7.8.8 ist (7.45a) identisch mit Cid (τ × ρ) := # {τ  × ρ ∈ Tind : τ  × ρ ⊂ τ × ρ} . Wenn Pind = P wie in Beispiel 7.8.10, ist Cid = 1, da τ  × ρ = τ × ρ einziges Element der Menge in (7.45a) ist. Wenn Pind gr¨ober als P ist (siehe Beispiel ur die kleineren, nicht 7.8.12), ist ebenfalls Cid (P ) = 1 (aber Cid (τ × ρ) = 0 f¨ ocke). in Pind vorhandenen Bl¨ In Beispiel 7.8.13 gibt es einen Block τ ×ρ ∈ P, der in der Produktpartition ocke zerlegt wird. Entsprechend gilt in diesem Fall Cid = 5 Pind in vier Unterbl¨ (vier S¨ ohne aus ST (I×I) (τ × ρ) plus τ × ρ selbst). asst sich Cid absch¨atzen, wie in [56, Mit Hilfe der Gr¨ oße Csep aus (6.11) l¨ Lemma 4.5] bewiesen wird. atzung). Seien I = J = K. Der Clusterbaum Lemma 7.8.15 (Cid -Absch¨ ange des T (I) sei wie in §5.4.2.2 konstruiert. hmax sei die maximale Kantenl¨ ˆ I ) (vgl. (5.32)). T (I × I) sei der stufentreue Ausgangsminimalquaders Qmin (X Blockclusterbaum. Dann gilt die Absch¨atzung Cid ≤ [(4 + 2η) (1 + Csep )]

2d

.

7.8 Aufwand der Algorithmen

185

7.8.3.5 Exakte Multiplikation Die Blockclusterb¨ aume seien stufentreu. Wir gehen von M  ∈ H(k  , P  ) und    M ∈ H(k , P ) aus und bilden das Produkt in H(k, Pind ). Ausgehend von M |τ ×ρ = M  |τ ×J M  |J×ρ wird J so zerlegt, dass M |τ ×ρ = σ M  |τ ×σ M  |σ×ρ eine minimale Anzahl von Summanden hat, wobei entweder τ × σ ⊂ b ∈ P  oder σ × ρ ⊂ b ∈ P  . Dann folgt, dass der Rang von M |τ ×ρ beschr¨ankt ist durch max{k  , k  , nmax } multipliziert mit der Anzahl der σ. Die Anzahl kann auch mit Hilfe des Tupels Σ R beschrieben werden: τ ×ρ⊂b∈Tind #ΣbR . ¨ Ubung 7.8.16 ([56, Lemma 2.19]). Die Blockclusterb¨aume T (I × J), T (J × K) und T (I × K) seien stufentreu. Man zeige: Die im obigen Sinne minimale Zerlegung von J ist gegeben durch  level(τ ×ρ)  J= (disjunkte Vereinigung), σ∈U (τ ×ρ,j) σ j=0 wobei

⎧ ⎫ ⎨σ ∈ T (j) (J) : V j (τ ) × σ ∈ T (I × J, P  ) und ⎬ j  U (τ × ρ, j) := σ  ×j V (ρ) ∈ T (J × K, P ) und ⎭ ⎩ V (τ ) × σ ∈ P oder σ × V j (ρ) ∈ P 

und V j (τ ) ∈ T (j) (I) den eindeutig bestimmten Vorg¨anger von τ ∈ T (i) (I) auf der Stufe j ≤ i bezeichnet. Anmerkung 7.8.17. Die Kardinalit¨ at #U (τ × ρ, j) f¨ ur τ × ρ ∈ P kann abgesch¨ atzt werden durch (7.46a) CU,j (τ × ρ) := #U (τ × ρ, j)     ≤ min {Csp (T (I × J, P )) , Csp (T (J × K, P )) , Csp (P ) + Csp (P )} . % $ Beweis. Es ist #U (τ × ρ, j) ≤ # σ ∈ T (j) (J) : V j (τ ) × σ ∈ T (I × J, P  ) ≤ Csp (T (I × J, P  )). Die Schranke Csp (T (J × K, P  )) folgt analog. Mit @  #U (τ × ρ, j) ≤ # σ ∈ T (j) (J) : V j (τ ) × σ ∈ P  oder σ × V j (ρ) ∈ P  @  = # σ ∈ T (j) (J) : V j (τ ) × σ ∈ P  @  + # σ ∈ T (j) (J) : σ × V j (ρ) ∈ P    = Csp,l (V j (τ ), P  ) + Csp,r V j (ρ), P  ≤ Csp (P  ) + Csp (P  ) folgt die dritte Schranke. level(τ ×ρ) Sei U (τ U (τ × ρ, j). Die Zahl der Summanden in × ρ) := j=0 agt #U (τ × ρ) und ist durch M |τ ×ρ = σ M |τ ×σ M |σ×ρ betr¨

186

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

CU (τ × ρ) := #U (τ × ρ) ≤ CU := max CU (τ × ρ) τ ×ρ∈P

(7.46b)

beschr¨ ankt. Neben level(τ ×ρ) CU,j (τ × ρ) (7.46c) CU (τ × ρ) ≤ j=0 ⎫ ⎧ ⎨ Csp (T (I × J, P  )) , ⎬ ≤ (level(τ × ρ) + 1) min Csp (T (J × K, P  )) , ⎭ ⎩ Csp (P  ) + Csp (P  ) ⎧ ⎫ ⎨ Csp (T (I × J, P  )) , ⎬ ≤ (depth(T (I × K, P )) + 1) min Csp (T (J × K, P  )) , ⎩ ⎭ Csp (P  ) + Csp (P  ) gilt die Absch¨ atzung der folgenden ¨ Ubung 7.8.18. Man zeige: a) 6  ⊂ ⊂ (ρ, P  ) , Csp,l (τ, P  ) + Csp,r CU (τ ×ρ) ≤ min ⊂ ⊂ Csp,l (τ, T (I ×J, P  )) , Csp,r (ρ, T (I ×K, P  ))

(7.46d)

und wende die Absch¨ atzungen aus (6.7) an. b) depth(T (I × K, Pind )) ≤ min{depth(T (I × J), depth(T (J × K)}. Satz 7.8.19 (exaktes H-Matrix-Produkt). a) Seien M  ∈ H(k , P  ) und M  ∈ H(k  , P  ), wobei P  ⊂ T (I × J) und P  ⊂ T (J × K) die Partitionen oße aus (5.42). sind. Die Blockclusterb¨ aume seien stufentreu. nmin sei die Gr¨ Dann liegt das (exakte) Produkt M = M  M  in H(k, Pind ) mit k = CU max{k  , k  , nmin },

(7.47)

wobei CU aus (7.46b) stammt und mit (7.46a,c,d) abgesch¨atzt werden kann. b) Der zugeh¨ orige arithmetische Aufwand betr¨ agt 6  max{k , nmin } SH (k , P  ), , (7.48) NH·H (P , P  ) ≤ 2CU Csp (P ·P  ))·max max{k , nmin } SH (k  , P  ) wobei Csp (Pind ) in (7.44a,b) abgesch¨ atzt ist. level(τ ×ρ)    Beweis. a) Sei τ × ρ ∈ Pind . M |τ ×ρ = j=0 σ∈U (τ ×ρ,j) M |τ ×σ M |σ×ρ enth¨ alt ≤ CU Summanden. Wenn τ ×σ ⊂ b ∈ P  , ist Rang(M  |τ ×σ M  |σ×ρ ) ≤ Rang(M  |τ ×σ ) ≤ max{k , nmin }. Andernfalls gilt σ × ρ ⊂ b ∈ P  und Rang(M  |τ ×σ M  |σ×ρ ) ≤ Rang(M  |σ×ρ ) ≤ max{k  , nmin }. Zusammen folgt Rang(M ) ≤ k. b) Sei σ × ρ ⊂ b ∈ P  angenommen, d.h. M  |σ×ρ ∈ R(k  , σ, ρ) oder  M |σ×ρ ist eine volle Matrix mit #σ ≤ nmin oder #ρ ≤ nmin . Fall 1: #σ ≤ nmin . Es ist bereits M  |τ ×σ M  |σ×ρ ∈ R(nmin , τ, ρ), da die Faktorisierung AB  mit A = M  |τ ×σ und B  = M  |σ×ρ vorliegt. Es treten keine arithmetische Kosten auf.

7.8 Aufwand der Algorithmen

187

Fall 2: #ρ ≤ nmin . Das Resultat wird eine volle Matrix Rτ ×ρ . Wir nehmen ¨ 6.1.3 zur den aufw¨ andigsten Fall M  |τ ×σ ∈ H(k  , P  |τ ×σ ) an (vgl. Ubung Notation P  |τ ×σ ). Die Matrix-Vektor-Multiplikationen von M  |τ ×σ mit den #ρ Spalten von M  |σ×ρ kosten ≤ nmin NM V ≤ 2nmin SH (k  , P  |τ ×σ ) Operationen (vgl. (7.41)). Fall 3: M  |σ×ρ ∈ R(k , σ, ρ) mit M  |σ×ρ = AB  . Die k  Spalten von A sind mit M  |τ ×σ zu multiplizieren. Wie in Fall 2 erh¨alt man die Schranke ≤ k  NM V ≤ 2k  SH (k  , P  |τ ×σ ). Insgesamt ist 2k˜ SH (k  , P  |τ ×σ ) eine obere Kostenschranke, wobei  k˜ := max{k  , nmin } . M  |τ ×σ M  |σ×ρ ist entweder eine volle Matrix (Fall 2) oder eine Rang-k˜ -Matrix. alt man analog die Schranke 2k˜ SH (k  , P  |σ×ρ ) Wenn τ × σ ⊂ b ∈ P  , erh¨  ˜ f¨ ur die Kosten und k := max{k  , nmin } f¨ ur den Rang. c) Summation u ¨ber alle σ ∈ U (τ × ρ, j), 0 ≤ j ≤ level(τ × ρ), liefert den arithmetischen Aufwand   6  k˜ S (k  , P (τ × σ)), max ˜ H  Kosten f¨ ur M |τ ×ρ ≤ 2 k SH (k , P (σ × ρ)) j,σ∈U (τ ×ρ,j)

≤ 2CU max{k˜ SH (k  , P (τ × J)), k˜ SH (k  , P (J × ρ))}. Diese Kosten sind noch u ¨ber τ × ρ ∈ Pind aufzusummieren. Es ist   SH (k  , P (τ × J)) ≤ Csp,l (τ, Pind ) SH (k  , P (τ × J)) τ ×ρ∈P

τ ∈T (I)





=0

τ ∈T () (I)

depth(T (I))

≤ Csp (Pind )

SH (k  , P (τ × J))

= Csp (Pind ) (depth(T (I)) + 1) SH (k  , P (I × J)) = Csp (Pind ) (depth(T (I)) + 1) SH (k  , P ), sodass (7.48) folgt. ˜ Pind ) mit einem Korollar 7.8.20. a) Falls das Produkt M   M  in H(k, ˜ k < k (k aus (7.47)) berechnet werden soll, ist auf das exakte Produkt die H aus (7.6) anzuwenden. Die zus¨ atzlichen Kosten betragen nach K¨ urzung Tk←k ˜ + + 3 . Lemma 7.8.3 NT H (k) ≤ 6kSH (k, Pind ) + 22k #Pind b) Das Vorgehen nach Teil a) berechnet die Bestapproximation pro Block. Billiger ist es, schon bei der Aufsummation der Summanden von M |τ ×ρ =    R M | urzung Tk,paarw durchzuf¨ uhren. τ ×σ M |σ×ρ die paarweise K¨ ˜ σ 7.8.3.6 Aufwand der formatierten Multiplikation Der Standardfall der Matrixmultiplikation ist I = J = K mit P := P  = P  . Diese Partition ist auch das Zielformat H(k, P ) des Produktes, obwohl im

188

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

Allgemeinen P gr¨ ober als die Produktpartition Pind ist. Um von Pind auf das R←H anzuwenden, die in Format P zu konvertieren, ist die Konvertierung Tk←k §7.8.3.1 hinsichtlich ihrer Kosten abgesch¨ atzt wurde (in Lemma 7.8.5 ist I × J jeweils durch einen Block τ × ρ zu ersetzen). F¨ ur Cid (P ) = 1 reduziert sich R←H auf die Identit¨ at, mit steigendem Cid steigt auch der Aufwand der Tk←k Konvertierung. F¨ ur den Aufwand von M := M + M   M  mittels der Prozedur MM wird in [56, Theorem 2.24] f¨ ur den Standardfall I = J = K bewiesen: Lemma 7.8.21 (Aufwand der formatierten Multiplikation). Seien die Matrizen M ∈ H(k, P ), M  ∈ H(k  , P ) , M  ∈ H(k  , P ) mit gemeinsamer Partition P ⊂ T (I × I) gegeben, wobei zur Vereinfachung nmin ≤ min{k  , k  } angenommen sei. Die Berechnung von M ← M + M   M  mittels der Prozedur MM kostet NMM (P, k  , k  ) Operationen, wobei NMM (P, k  , k  ) ≤

2 56Csp

(7.49a) 



2

max{Cid , Csp } max{k , k } (depth(T (I × I, P ) + 1) #I

+ 184Cid Csp max{k  , k  }3 (depth(T (I × I, P ) + 1) #P. Hierbei ist die paarweise K¨ urzung zugrundegelegt. Die Berechnung der Bestapproximation des Produktes in H(k, P ) kostet NMM,best (P, k  , k  )

(7.49b)

3 3 Csp max{k  , k  }3 (depth(T (I × I, P ) + 1) max {#I, #P } . ≤ 43Cid 3

Zur Diskussion des asymptotischen Verhaltens verwende man #I = n, depth(T (I × I, P ) = O(log n) (vgl. Anmerkung 5.4.5) und #P = O(n) (vgl. Lemma 6.3.4). Dann erh¨ alt man mit k := max{k  , k  , nmin }    (7.50) NMM (P, k  , k  ) ≤ O kn log(n) log(n) + k 2 bzw.

NMM,best (P, k  , k  ) ≤ O(k 3 n log3 (n)).

7.8.4 Matrix-Inversion ur die Durchf¨ uhrung von Lemma 7.8.22. Die Zahl Ninv (k, P ) der f¨ Inverse(M, I, R) aus §7.5.1 ben¨ otigten Operationen ist durch NMM (P, k, k) beschr¨ ankt (vgl. Lemma 7.8.21). Beweis. Der Beweis (vgl. [56, Theorem 2.29]) wird durch Induktion u ¨ber die Stufenzahl gef¨ uhrt und beginnt bei τ × τ ∈ P, wo das entsprechende Resultat f¨ ur volle Matrizen verwendet wird. Sei nun τ × τ ∈ / P, wobei die Induktionsbehauptung f¨ ur alle τ [i] × τ [i] (1 ≤ i ≤ #S(τ )) gelte. Matrixmultiplikationen (meist zusammen mit einer Addition) treten f¨ ur die Bl¨ocke

7.8 Aufwand der Algorithmen

189

A|τ [i]×τ []  B|τ []×τ [j] auf (A, B stehen f¨ ur M oder R). Dabei verteilen sich die Indextripel (i, , j) wie folgt: Zeile 5: i =  > j, Zeile 6: i =  < j, Zeilen 8,9: i > , Zeile 12: i < . Die verbleibenden Tripel (, , ) werden den Aufrufen Inverse(M, τ [], R) zugeordnet, deren Kosten nach Induktionsbehauptung durch die einer Matrixmultiplikation beschr¨ankt sind. Damit folgt die Behauptung auch f¨ ur τ × τ ∈ / P . Mit τ = I ergibt sich die Behauptung. 7.8.5 LU- bzw. Cholesky-Zerlegung 7.8.5.1 Speicherbedarf ur jeden Diagonalblock b = τ × τ zusammen mit U |b als volle Matrix Da L|b f¨ auf b gespeichert werden kann, ben¨ otigen die Dreiecksmatrizen L, U ∈ H(k, P ) der LU-Zerlegung zusammen den gleichen Speicherplatz wie eine einzige Matrix aus H(k, P ). Gleiches gilt f¨ ur die Cholesky-Zerlegung bzw. die Blockvariante (7.37): SLU (k, P ) = SCholesky (k, P ) = SH (k, P )

(7.51)

(zu SH (k, P ) vgl. Lemma 6.3.6). 7.8.5.2 Auf l¨ osung von LU x = y Wie in Lemma 7.8.1 zeigt man, dass der Aufwand f¨ ur Vorw¨artseinsetzen(L, I, y, b) mit dem doppelten Speicherbedarf von L abgesch¨atzt werden kann; ebenso der Aufwand f¨ ur R¨ uckw¨ artseinsetzen(U, τ, x, y) durch den doppelten Speicherbedarf von U. Zusammen mit (7.51) erh¨alt man NLU (k, P ), NCholesky (k, P ) ≤ 2SH (k, P ). 7.8.5.3 Matrixwertige L¨ osung von LX = Z und XU = Z osung von LX = Z zusammen mit Im vollen Matrixformat zu Rτ ×τ ist die Aufl¨ der Aufl¨ osung von XU = Z billiger als die Multiplikation A · B. Hiermit l¨asst sich der Aufwand der Zeilen 2-3 in (7.39a) und den entsprechenden Zeilen atzen. Gleiches l¨asst sich f¨ ur die Rang-kder Prozedur Vorw¨artsT M absch¨ Multiplikation in den Zeilen 5-6 von Vorw¨ arts M und entsprechenden Stellen arts M und die analogen Zeilen in Vorw¨ artsT M zeigen. Zeilen 9-10 in Vorw¨ in Vorw¨ artsT M enthalten weniger Operationen ',  als bei der allgemeinen Multiplikation auftreten. Damit folgt NVorw¨arts M (k, P ), NVorw¨artsT M (k, P ) ≤ mit NMM (P, k, k) aus (7.49a).

1 NMM (P, k, k) 2

(7.52)

190

7 Formatierte Matrixoperationen f¨ ur hierarchische Matrizen

7.8.5.4 Erzeugung der LU- bzw. Cholesky-Zerlegung Lemma 7.8.23. Die Erzeugung der LU-Zerlegung mittels der Prozedur aus (7.40) braucht nicht mehr Operationen als die Matrix-Matrix-Multiplikation: NLU−Zerlegung (k, P ) ≤ NMM (P, k, k). Beweis. Der Induktionsbeweis ¨ ahnelt dem der Inversion (Lemma 7.8.22). Den Tripeln (j, i, k) mit i ≤ j, k ≤ #S(τ ) werden folgende F¨alle zugeordnet: a) f¨ ur j = i = k Aufruf von LU-Zerlegung in Zeile 6, b) f¨ ur j > i = k Aufruf von Vorw¨ artsT M in Zeile 8, c) f¨ ur j = i < k Aufruf von Vorw¨ arts M in Zeile 9, d) f¨ ur i < j, k die Matrixmultiplikation L|τ [j]×τ [i]  U |τ [i]×τ [k] in Zeile 10. Gem¨ aß Induktionsvoraussetzungen und (7.52) sind alle Operationskosten beschr¨ ankt durch die der Matrixmultiplikation, womit die Behauptung folgt. Die Absch¨ atzung des Lemmas ist viel zu pessimistisch, da nicht ber¨ ucksichtigt wurde, dass f¨ ur die Indexkombinationen mit min{j, k} < i keine Operationen anfallen. Geht man davon aus, dass alle Produkte A|τ [j]×τ [i] · B|τ [i]×τ [k] der Matrixmultiplikation gleich teuer sind, ergibt sich NLU−Zerlegung (k, P ) 

1 NMM (P, k, k). 3

In vielen F¨ allen kommt hinzu, dass bei schwach besetzten Matrizen A die Faktoren L und U in ihren Dreiecksh¨ alften zahlreiche Nullbl¨ocke enthalten. Zur systematischen Ausnutzung dieser Schwachbesetztheit sei auf §9.2 verwiesen.

8 H2 -Matrizen

Die Kombination der H-Matrizen mit einer zweiten Hierarchie-Struktur f¨ uhrt zu den H2 -Matrizen. Sie erlauben eine deutliche Reduktion beim Speicherbedarf und den Kosten der Matrixoperationen. In vielen F¨allen kann der logarithmische Faktor vermieden werden. Vorschau auf die n¨ achsten Unterkapitel: §§8.1-8.2: Es werden zun¨ achst Vorversionen der H2 -Matrizen behandelt. §8.3 enth¨ alt die endg¨ ultige Definition einer H2 -Matrix, die spezielle Schachtelungsbedingungen f¨ ur Vektorr¨ aume Vτ und Wσ erfordert. Ferner wird die spezielle Darstellung der Daten und ihr Speicherbedarf beschrieben. Schließlich beschreibt §8.3.4 die Projektion auf das H2 -Format. §8.4: Es werden hinreichende Bedingungen f¨ ur die erw¨ahnten Schachtelungsbedingungen diskutiert. §8.5: Beschreibung der Matrix-Vektor-Multiplikation mit H2 -Matrizen und des zugeh¨ origen Aufwandes. §8.6: Bei geeigneter Rangverteilung wird rein linearer Aufwand bewiesen. aume Vτ und Wσ . §8.7: Adaptive Bestimmung der H2 -R¨ §8.8: Multiplikation von H2 -Matrizen. §8.9: Numerischer Vergleich von H- und H2 -Matrizen. Bez¨ uge auf H2 -Matrizen finden sich auch in §9.3.3.

8.1 Erster Schritt: M |b ∈ Vb ⊗ Wb Niedrigrangmatrizen R(k, τ, σ) haben den Nachteil, dass Summen aus der ¨ Menge herausf¨ uhren, was den Ubergang zur formatierten Addition erfordert (§2.6). Ein Ausweg ist die Verwendung von Tensorproduktr¨aumen, die VektorUnterr¨ aume in R(k, τ, σ) beschreiben. Im allgemeinen Fall einer rechteckigen Matrix M ∈ RI×J ben¨otigt man die folgenden Daten: W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 8, c Springer-Verlag Berlin Heidelberg 2009 

192

8 H2 -Matrizen



Clusterb¨ aume T (I), T (J), Blockclusterbaum T (I × J), Partition ˙ − zerf¨ allt (P + enth¨alt die zul¨assigen P ⊂ T (I × J) , wobei P in P + ∪P Bl¨ ocke); • zu allen Bl¨ ocken b = τ × σ ∈ P + fixiere man zwei Vektorr¨aume Vb und Wb und w¨ ahle eine Basis: Vb ⊂ Rτ Wb ⊂ Rσ

mit dim Vb = kb,V , Basis {v1b , . . . , vkb b,V }, mit dim Wb = kb,W , Basis {w1b , . . . , wkb b,W },

(8.1)

wobei die Dimension eventuell nach oben durch kb,V , kb,W ≤ k beschr¨ankt sein kann. Im Folgenden halten wir den Block b = τ × σ ∈ P + fest und ersetzen urzere vi , wj . Die aus vi und wj gebildete die Schreibweise vib , wjb durch die k¨ Rang-1-Matrix ist vi wj ∈ Rb . Der hierdurch aufgespannte Vektorraum ist das Tensorprodukt1 Vb ⊗ Wb = span{vi wj : 1 ≤ i ≤ kb,V , 1 ≤ j ≤ kb,W }. Lemma 8.1.1. V und W seien endlichdimensionale Vektorr¨ aume [wobei im Spezialfall V = Vb und W = Wb aus (8.1) gelte ]. a) Die Dimension von V ⊗ W betr¨ agt (dim V) · (dim W) [im Spezialfall dim Vb ⊗ Wb = kb,V · kb,W ]. b) F¨ ur alle M ∈ V ⊗ W gilt Rang(M ) ≤ min{dim V, dim W} [bzw. Rang(M ) ≤ min{kb,V , kb,W }], sodass V ⊗ W ⊂ R(k)

f¨ ur k := min{dim V, dim W}.

(8.2)

c) Zur Beschreibung einer Matrix M ∈ V ⊗ W ben¨ otigt man neben den Basiselementen {v1 , . . . , vdim V }, {w1 , . . . , wdim W } die (dim V) · (dim W) [bzw. kb,V · kb,W ] Koeffizienten Kij in M=

dim V dim W i=1

vi Kij wj .

(8.3)

j=1

Definition 8.1.2 (uniforme H-Matrizen). P ⊂ T (I × J) sei Partition. Zu aume Vb und Wb gegeben. H(P, {Vb , Wb }b∈P + ) ⊂ RI×J b ∈ P + seien Vektorr¨ stellt die Menge aller M ∈ RI×J mit der Eigenschaft M |b ∈ Vb ⊗ Wb

f¨ ur alle b ∈ P +

dar. Untermatrizen {M |b : b ∈ P + } werden mittels (8.3) dargestellt, w¨ ahrend f¨ ur {M |b : b ∈ P − } die volle Matrixdarstellung verwendet wird. In [69] werden die Elemente von H(P, {Vb , Wb }b∈P + ) als uniforme HMatrizen bezeichnet. Da Lemma 8.1.1b die Inklusion Vb ⊗ Wb ⊂ R(k, τ, σ) f¨ ur b = τ × σ ∈ P + beweist, folgt die 1

Allgemeineres zu Tensor-Vektorr¨ aumen findet sich in §15.1.

8.1 Erster Schritt: M |b ∈ Vb ⊗ Wb

193

Anmerkung 8.1.3. Jede Matrix aus H(P, {Vb , Wb }b∈P + ) ist eine u ¨bliche H-Matrix , wobei die Rangabsch¨ atzung in (6.2) mit k(b) = min{kb,V , kb,W } gegeben ist. Falls es eine gleichm¨ aßige Schranke kb,V , kb,W ≤ k gibt, liegt ein fester lokaler Rang ≤ k vor (vgl. Anmerkung 6.1.2a). Im Prinzip gilt auch die umgekehrte Richtung: Eine u ¨bliche H-Matrix l¨asst sich als uniforme H-Matrix interpretieren, wenn man die R¨aume {Vb , Wb }b∈P k angepasst w¨ ahlen darf. Hierzu geht man von der Darstellung M |b = i=1 ai b i aus, setzt Vb := span{ai : 1 ≤ i ≤ k}, Wb := span{bi : 1 ≤ i ≤ k} und vib := ai , wjb := bi (vgl. Anmerkung 8.1.7). Der Sinn der Definition von H(k, P, {Vb , Wb }b∈P ) besteht allerdings darin, dass mehrere Matrizen die gleichen R¨ aume {Vb , Wb }b∈P + ) verwenden, da sich dann zum Beispiel die Addition vereinfacht. Anmerkung 8.1.4. Die Summe zweier H-Matrizen aus H(P, {Vb , Wb }b∈P ) liegt wieder in der Menge H(P, {Vb , Wb }b∈P ). Das heißt, H(P, {Vb , Wb }b∈P ) ist ein Vektorraum und die K¨ urzung der formatierten Addition ⊕k aus Definition 7.3.1 entf¨ allt. Der Vorteil ist ein doppelter: a) die Addition ist exakt, b) die (relativ teuere) Singul¨ arwertzerlegung entf¨allt. Anmerkung 8.1.5. Wenn I = J, liegt es nahe, gleiche R¨aume Vb = Wb zu w¨ ahlen. Da es aber Gr¨ unde geben kann, den Bildbereich von M anders als ur I = J die Wahl unterschiedlicher den von M  zu approximieren, ist auch f¨ Vb = Wb denkbar. Bei der Diskussion des Speicherbedarfes sind zwei Gr¨oßen zu unterscheiden: •

Die Abspeicherung der Basen {v1b , . . . , vkb b,V }, {w1b , . . . , wkb b,W } f¨ ur b ∈ P + erfordert den gleichen Speicherplatz wie eine u ¨bliche H-Matrix (dort wird ur die gleiche Anzahl von Vektoren zur Darstellung von M |b ⊂ R(k, τ, σ) f¨ otigt). Allerdings tritt dieser Aufwand jetzt nur einmal kb,V , kb,W ≤ k ben¨ auf unabh¨ angig von der Anzahl der zu behandelnden Matrizen. ur • Pro Matrix aus H(P, {Vb , Wb }b∈P + ) sind die vollen Matrixbl¨ocke M |b f¨ ur b ∈ P + b ∈ P − und die kb,V × kb,W -Matrizen Kb = (Kij ) aus (8.3) f¨ abzuspeichern. Der individuelle Aufwand betr¨agt somit   S Matrix = kb,V kb,W + #b. (8.4) + − b∈P

b∈P

ur den Modellfall aus §3, Wir diskutieren abschließend die Gr¨ oße S Matrix f¨ allerdings hier mit allgemeinem lokalen Rang k. Im Modellfall gilt I = J und #I = n. Der Einfachheit halber w¨ ahlen wir P = P + , d.h. auch die 1×1-Matrizen werden als Elemente von Vb ⊗Wb mit eindimensionalen Vektorr¨ aumen Vb und Wb betrachtet. Ferner sei kb,V = kb,W =: kb ≤ k vorausgesetzt. Da nach (3.4) #P = 3n − 2 gilt, w¨ urde man S = O(nk 2 ) vermuten. Das

8 H2 -Matrizen

194

n¨achste Lemma zeigt, dass sich k 2 durch k verbessern l¨asst. Der Grund sind die vielen kleinen Bl¨ ocke, f¨ ur die der Rang nicht den Wert k annehmen kann, sondern durch die Blockgr¨ oße beschr¨ ankt ist. Lemma 8.1.6. P sei das einfache Modellformat aus Kapitel 3. Dann lautet der Speicherbedarf von M ∈ H(k, P, {Vb , Wb }b∈P ) mit kb,V , kb,W ≤ k ∈ N  kb,V kb,W < 3 nk. S Matrix = b∈P

ur b = τ × σ gilt2 kb,V ≤ min{#τ, k} und Beweis. a) Neben kb,V , kb,W ≤ k f¨ kb,W ≤ min{#σ, k} wegen (8.2) mit dim V ≤ #τ , dim W ≤ #σ. Im Modellfall ur b = τ × σ ∈ P () := P ∩ T () (I × I). gilt #τ = #σ = 2p− (p := log2 (n)) f¨ Da die Schranken min{#τ, k} und kb,W ≤ min{#σ, k} nur von der Stufenzahl abh¨ angen, schreiben wir hierf¨ ur k , wobei k := min{2p− , k}. b) (3.4) beschreibt pdie Gesamtanzahl #P = 3n − 2. Aufgeteilt nach Stufen erh¨ alt man f¨ ur P = =0 P () die Anzahlen #P (0) = 0,

f¨ ur 1 ≤  ≤ p − 1,

#P () = 2

c) F¨ ur die Absch¨ atzung von  p kb,V · kb,W ≤ b∈P

=0

#P (p) = 2p+1 = 2n.

 2 #P () · min{2p− , k}

wird die Summe zerlegt. Sei κ := log2 (k). F¨ ur 1 ≤  ≤ "p − κ# gilt min{2p− , k} = k und damit    p−κ  2  p−κ  2 #P () · min{2p− , k} = 2 k = 2 2 p−κ − 1 k 2 . =0

=1

F¨ ur "p − κ# + 1 ≤  ≤ p ist min{2 , k} = 2p− und p  2 p−1 #P () · min{2p− , k} = p−

= p−κ+1

= p−κ+1

 2 2 2p− + 2n

p− p−κ

=2 n.  Zusammen ergibt sich S = 2 2 p−κ − 1 k 2 + 2p− p−κ n. Der abgerundete Wert ist "p − κ# = p − κ − θ mit θ ∈ [0, 1) und erlaubt die Darstellung n    2−θ − 1 k 2 + 2θ kn S = 2 2p−κ−θ − 1 k 2 + 2κ+θ n = 2 k     2 2 θ 2 θ + 2 kn − 2k < + 2 kn ≤ 3nk. = 2θ 2θ 

In (8.1) wurde {v1b , . . . , vkb b,V } als Basis von Vb eingef¨ uhrt (entsprechend f¨ ur Dies f¨ uhrt zu der minimalen Anzahl kb,V . Wenn man auf diese Eigenschaft zugunsten einer einfacheren Bestimmung der vib und wjb verzichtet, gelangt man zu folgender Verallgemeinerung.

wjb ).

2

Hier ist wesentlich, dass die vib und wjb aus (8.1) je eine Basis bilden. Bei einem Erzeugendensystem w¨ are kb,V ≤ #τ , kb,W ≤ #σ eine naheliegende Forderung.

8.2 Zweiter Schritt: M |τ ×σ ∈ Vτ ⊗ Wσ

195

Anmerkung 8.1.7 (Erzeugendensystem). Allgemeiner kann man von einer Darstellung (8.3) ausgehen, wobei die vib bzw. wjb Erzeugendensysteme bilden: Vb = span{v1b , . . . , vkb V },

Wb = span{w1b , . . . , wkb W }.

Im Folgenden werden wir der Einfachheit halber von der Basis {v1b , . . . , vkb V } bzw. der Basis {w1b , . . . , wkb W } sprechen, auch wenn es sich eigentlich um Erzeugendensysteme handelt. Die aus vib als Spalten konstruierte Matrix bezeichnen wir als Vb ; ebenso ist Wb definiert: 5 4 Vb = v1b v2b . . . vkb b,V ∈ Rτ ×{1,...,kb,V } , 5 4 f¨ ur b = τ × σ. Wb = w1b w2b . . . wkb b,W ∈ Rτ ×{1,...,kb,W }  Dann schreibt sich die Darstellung M |b = i,j vib Kij (wjb ) aus (8.3) auch als f¨ ur b ∈ P + . (8.5) M |b = Vb Kb Wb Falls die Matrizen Vb und Wb in Abh¨ angigkeit von M gew¨ahlt werden, entspricht dies der Darstellung (2.17). Die Darstellung (8.5) erlaubt eine preiswertere Berechnung der RekomR M |b . pression aus §6.7.1, d.h. der Auswertung von Tk← Anmerkung 8.1.8. Die Basen {v1b , . . . , vkb V } und {w1b , . . . , wkb W } seien orthonormal gew¨ ahlt, sodass Vb und Wb orthogonale Matrizen sind. Sei U ΣV  die Singul¨ arwertzerlegung von Kb . Dann stellt U  ΣV  mit U  := Vb U und  arwertzerlegung von M |b aus (8.5) dar. V := Wb V die komprimierte Singul¨ Die Kosten der Singul¨ arwertzerlegung h¨ angen nur von den Dimensionen kb,V und kb,W , nicht jedoch von #τ oder #σ ab. Selbst wenn die Basen nicht orthogonal sind, aber U 2 , V 2 = O(1) erf¨ ullen, kann die Singul¨ arwertzerlegung auf Kb beschr¨ankt werden.

8.2 Zweiter Schritt: M |τ×σ ∈ Vτ ⊗ Wσ Bisher gab es f¨ ur jeden Block b ∈ P eigene Vektorr¨aume Vb und Wb . F¨ ur verschiedene b = τ × σ mit gleichem τ ∈ T (I) (es gibt Csp,l (τ, P + ) derartige Bl¨ ocke) k¨ onnten im Prinzip v¨ ollig unterschiedliche R¨aume Vb verwendet werden. Die sp¨ ateren Anwendungen legen es aber nahe, dass der Bildraum der M |b mit einem gemeinsamen, nur von τ ∈ T (I) abh¨angigen Raum Vτ beschrieben werden kann. Analog fordern wir im Folgenden, dass auch Wb = Wσ nur vom Cluster σ ∈ T (J) abh¨angt. Die Voraussetzung ist daher:

196



8 H2 -Matrizen

zu allen Clustern3 τ ∈ T (I) fixiere man einen Vektorraum  mit der Dimension dim Vτ = kV (τ ) Vτ ⊂ Rτ und einer Basis {v1τ , . . . , vkτV (τ ) }, wobei kV (τ ) ≤ k die Dimension nach oben beschr¨anke; analog gebe es zu allen Clustern σ ∈ T (J) einen Vektorraum  mit der Dimension dim Wσ = kW (σ) Wσ ⊂ Rσ und einer Basis {w1σ , . . . , wkσW (σ) }



(8.6a)

(8.6b)

und kW (σ) ≤ k. Definition 8.2.1. Zu einer Partition P ⊂ T (I × J) und Vektorr¨ aumen Vτ (τ ∈ T (I)) und Wσ (σ ∈ T (J)) sei H(P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) ⊂ RI×J die Menge aller M ∈ RI×J mit der Eigenschaft M |b ∈ Vτ ⊗ Wσ

f¨ ur alle b = τ × σ ∈ P + .

(8.7)

Untermatrizen {M |b : b ∈ P + } werden mittels (8.3) dargestellt, d.h. M |b = Vτ Kb Wσ mit

5 4 Vτ = v1τ , . . . , vkτV (τ ) ,

(vgl. (8.5))

(8.8)

5 4 Wσ = w1σ , . . . , wkσW (σ)

und Kb ∈ R{1,...,kV (τ )}×{1,...,kW (σ)} , w¨ ahrend f¨ ur {M |b : b ∈ P − } volle Matrizen verwendet werden. ur die Offenbar gilt H(P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) = H(P, {Vb , Wb }b∈P + ) f¨ spezielle Wahl Vb := Vτ und Wb := Wσ (b = τ × σ). Das neue Format hat zwei Vorteile: Anmerkung 8.2.2. a) Die einmaligen Speicherkosten f¨ ur die Basen sind reduziert: Anstelle aller {Vb , Wb }b∈P + sind lediglich {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) zu speichern. b) Bei der Matrixvektormultiplikation M x kann  die Zahl der arithmetischen Operationen reduziert werden: Statt vτ := σ:τ ×σ∈P + (M |τ ×σ ) (x|σ )    f¨ ur jeden Summanden u ¨ber (M |τ ×σ ) (x|σ ) = Vb Kb Wb (x|σ ) (b = τ × σ) zu berechnen, kann Vτ ausgeklammert werden: ⎞ ⎛     (K|τ ×σ ) Wσ x|σ ⎠ . vτ = Vτ ⎝ σ:τ ×σ∈P +

  Die Zwischenresultate yσ := Wσ x|σ k¨ onnen auch f¨ ur andere vτ  mit τ  × σ ∈ P + verwendet werden. 3

    onnen ausgenommen Clustern τ, σ mit Csp,l τ, P + = 0 bzw. Csp,r σ, P + = 0 k¨ + werden, da es hierzu keine Bl¨ ocke b ∈ P gibt.

8.3 Definition der H2 -Matrizen

197

8.3 Definition der H2 -Matrizen 8.3.1 Definition Ebenso wie f¨ ur Vektoren und Matrizen verwenden wir die Restriktionsur Vektorr¨ aume: Sind U ein Teilvektorraum von RI und bezeichnung ·|∗ f¨ τ ⊂ I eine Teilmenge, so sei U|τ der Teilraum U|τ := {v|τ : v ∈ U} ⊂ Rτ . ur festes τ in In §8.2 wurde argumentiert, dass alle Beitr¨age von M |τ ×σ f¨ dem gleichen Bildraum Vτ liegen sollten. Ist τ  ⊂ τ (z.B. τ  ∈ ST (I) (τ )), sollte uhrt zur Bedingung auch M |τ  ×σ im Bildraum Vτ  liegen. Dies f¨ Vτ |τ  ⊂ Vτ 

f¨ ur alle τ  ∈ S(τ ),

(8.9a)

was bedeutet, dass die Vektorr¨ aume geschachtelt sind. Analog gelte Wσ |σ ⊂ Wσ

f¨ ur alle σ  ∈ S(σ).

(8.9b)

Die Bedingungen (8.9a,b) stellen eine zweite Hierarchie-Eigenschaft (“Schachuhrt. telungseigenschaft”) dar, die zu dem Namen H2 -Matrizen f¨ Definition 8.3.1 (H2 -Matrizen). {Vτ }τ ∈T (I) und {Wσ }σ∈T (J) seien Unterr¨ aume gem¨ aß (8.6a,b) mit der zus¨ atzlichen Eigenschaft (8.9a,b). Dann wird die Menge H(P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) als H2 (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) ⊂ RI×J bezeichnet. Wenn die Angabe von {Vτ }τ ∈T (I) und {Wσ }σ∈T (J) entbehrlich ist, wird die Kurznotation H2 (P ) gew¨ahlt. ankt sind, Wenn alle Dimensionen kV (τ ) und kW (σ) durch k ∈ N0 beschr¨ wird diese Schranke auch mit der Schreibweise H2 (k, P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) uckt. oder k¨ urzer H2 (k, P ) ausgedr¨ 8.3.2 Transformationen Wie in §8.1 seien Matrizen Vτ und Wσ mit 5 4 Vτ = span{v1τ , . . . , vkτV (τ ) }, Vτ = v1τ v2τ . . . vkτV (τ ) , 5 4 Wσ = span{w1σ , . . . , wkσW (σ) }, Wσ = w1σ w1σ . . . wkσW (σ) definiert.

(8.10)

198

8 H2 -Matrizen

Anmerkung 8.3.2. a) Die Eigenschaft (8.10) schreibt sich auch als Bild(Vτ ) = Vτ und Bild(Wσ ) = Wσ . b) Wenn es f¨ ur die nachfolgenden Anwendungen n¨ utzlich ist, d¨ urfen die Basen {v1τ , . . . , vkτV (τ ) } und {w1σ , . . . , wkσW (σ) } als Orthonormalbasen angenommen werden. Beispielsweise unterst¨ utzen Orthonormalbasen die Rekompressionsberechnung aus Anmerkung 8.1.8. Sei τ ∈ T (I)\L(T (I)) und τ  ∈ S(τ ). Die Eigenschaft (8.9a) besagt,   dass alle vjτ |τ  als Linearkombination der {v1τ , . . . , vkτV (τ  ) } geschrieben   werden k¨ onnen: vjτ |τ  = i viτ tij . Es gibt daher eine Matrix TτV = (tij ) ∈  R{1,...,kV (τ )}×{1,...,kV (τ )}, sodass Vτ |τ  ×{1,...,kV (τ )} = Vτ  TτV

f¨ ur alle τ  ∈ S(τ ).

Hieraus l¨ asst sich Vτ zusammensetzen (τ  , τ  , . . . sind die S¨ohne von τ ): ⎤ ⎡ Vτ |τ  ×{1,...,kV (τ )}    ⎥ ⎢ Vτ  TτV |τ ×{1,...,kV (τ )} (8.11a) Vτ = ⎣ Vτ |τ  ×{1,...,kV (τ )} ⎦ = ..  τ ∈S(τ ) . f¨ ur alle τ ∈ T (I)\L(T (I)). Anmerkung 8.3.3. In (8.11a) bezeichnet • |τ ×{1,...,kV (τ )} die Erweiterung auf Rτ ×{1,...,kV (τ )} (vgl. (7.7)). Nachfolgend werden wir diese Erweiterung aus Bequemlichkeit nicht notieren und  Vτ  TτV f¨ ur alle τ ∈ T (I)\L(T (I)) (8.11a’) Vτ = τ  ∈S(τ )

schreiben, d.h. wir unterscheiden nicht zwischen dem Matrixblock Vτ  ∈   Rτ ×{1,...,kV (τ )} und der mit null erweiterten Matrix Vτ  |τ ×{1,...,kV (τ )} ∈  Rτ ×{1,...,kV (τ )} . Ebenso erh¨ alt man f¨ ur Wσ , dass es Transformationsmatrizen TσW gibt mit    Wσ TσW |σ×{1,...,kW (σ)} (8.11b) Wσ = σ  ∈S(σ)

=



Wσ TσW

f¨ ur alle σ ∈ T (J)\L(T (J)),

σ  ∈S(σ)

wobei die zweite Zeile der Schreibweise (8.11a’) entspricht. Anmerkung 8.3.4. Da nur die Vektorr¨ aume {Vτ }τ ∈T (I) und {Wσ }σ∈T (J) festliegen, d¨ urfen alle Basen Vτ und Wσ in Vˆτ := Vτ (SτV )−1

ˆ σ := Wσ (S W )−1 und W σ

8.3 Definition der H2 -Matrizen

199

ge¨ andert werden, wobei SτV und SσW regul¨ are quadratische Matrizen der Gr¨oße andert die Transformationen in kV (τ ) bzw. kW (σ) seien. Dies ¨ TˆτV = SτV TτV (SτV )−1 ,

TˆσW = SσW TσW (SσW )−1

und die Koeffizientenmatrizen Kb (b = τ × σ) aus M |b = Vτ Kb Wσ in ˆ b = SτV Kb (SσW ) . K 8.3.3 Speicherbedarf ur τ ∈ T (I)\L(T (I)) mittels (8.11a) rekursiv aus Da die Matrizen Vτ f¨ onnen, reicht es, anstelle von {Vτ }τ ∈T (I) diese Vτ  konstruiert werden k¨ Matrizen nur f¨ ur die Blattcluster {Vτ }τ ∈L(T (I)) sowie die Transformationsmatrizen {TτV }τ ∈T (I)\{I} abzuspeichern. Analog werden {Wσ }σ∈L(T (J)) und {TσW }σ∈T (J)\{J} ben¨ otigt. Es sei wiederholt, dass die entsprechenden Basis nur einmal auftreten unabh¨angig von der Anzahl der Speicherkosten SH 2 Matrizen. Lemma 8.3.5. a) Der Speicherbedarf f¨ ur {Vτ }τ ∈L(T (I)) , {TτV }τ ∈T (I)\{I} , W agt {Wσ }σ∈L(T (J)) und {Tσ }σ∈T (J)\{J} betr¨ Basis SH = 2



τ ∈L(T (I))

+





#τ · kV (τ ) +

kV (Vater(τ )) · kV (τ )

(8.12)

τ ∈T (I)\{I}

#σ · kW (σ) +

σ∈L(T (J))



kW (Vater(σ)) · kW (σ).

σ∈T (J)\{J}

b) Seien k := max{ max kV (τ ), max kW (σ)}, τ ∈T (I)

kL := max{ max

τ ∈L(T (I))

σ∈T (J)

kV (τ ),

max

σ∈L(T (J))

kW (σ)}

(man beachte kL ≤ nmin unter der Bedingung (7.4)). Dann gilt die Absch¨ atzung Basis ≤ (#I + #J) kL + 2k 2 (#L(T (I)) + #L(T (J)) − 2) . (8.13) SH 2  Beweis. In der ersten und dritten Summe aus (8.12) wird τ ∈L(T (I)) #τ = #I  und σ∈L(T (J)) #σ = #J verwendet. In der zweiten Summe wird die Anzahl der Terme durch #T (I) − 1 ≤ 2#L(T (I)) − 2 abgesch¨atzt (vgl. (A.3a)). Die letzte Summe in (8.12) ist analog zu behandeln. Zur Einsch¨ atzung der rechten Seite in (8.13) sei angenommen, dass alle Blattcluster τ ∈ L(T (I)) und σ ∈ L(T (J)) die Gr¨oße #τ = #σ = und die maximale Dimension kL = nmin vorliegt. Wegen nmin besitzen  alt man #L(T (I)) = #I/nmin #I = τ ∈L(T (I)) #τ = #L(T (I)) · nmin erh¨

200

8 H2 -Matrizen

und analog #L(T  . Damit ist die rechte Seite in (8.13) kleiner  (J)) = #J/nmin ur die Wahl als (#I + #J) nmin + 2k 2 /nmin . Die Schranke wird minimal f¨ √ nmin ≈ 2k und liefert √ Basis ≤ 2 2 (#I + #J) k. SH 2 Man beachte die Analogie dieser Schranke zur Absch¨atzung in Lemma 8.1.6 f¨ ur den Spezialfall aus §3. Matrix aus F¨ ur jede individuelle H2 -Matrix entsteht der Speicheraufwand SH 2 (8.4). 8.3.4 Projektion auf H2 -Format Das Format H2 (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) mit seinen Unterr¨aumen sei gegeben. Als Basen der R¨ aume Vτ und Wσ w¨ahlen wir Orthonormalbasen (vgl. Anmerkung 8.3.2b). Ist {v1τ , . . . , vkτV (τ ) } eine Orthonormalbasis von Vτ , so ist die zugeh¨ orige Matrix Vτ = [v1τ v2τ . . . vkτV (τ ) ] aus (8.10) orthogonal. F¨ ur das Produkt Vτ Vτ gelten die folgenden Aussagen. Anmerkung 8.3.6. a) Unter den obigen Voraussetzungen ist Vτ Vτ als Abuglich des Euklibildung Rτ → Rτ die orthogonale Projektion auf Vτ bez¨ dischen Skalarproduktes. b) Sei b = τ × σ mit beliebiger Indexmenge σ gegeben. Dann ist Πτ := Vτ Vτ auch eine lineare Abbildung von Rτ ×σ in sich verm¨oge Πτ (A) = Vτ Vτ A . Diese Abbildung ist die orthogonale Projektion auf den Unterraum % $ A ∈ Rτ ×σ : Bild(A) ⊂ Vτ bez¨ uglich des Frobenius-Skalarproduktes, d.h. Πτ ist Projektion und Πτ (A), BF = A, Πτ (B)F (vgl. (C.2)). ˆ σ := Wσ W  auf Wσ gilt c) Im Falle der entsprechenden Projektion Π σ τ ×σ → Rτ ×σ aus Teil b) die Teil a) wortw¨ ortlich, w¨ ahrend die Abbildung R ˆ σ (A) = AWσ Wσ besitzt. Form Π Beweis. Teil a) ist wegen der Orthogonalit¨ at der Matrix Vτ trivial. (j ∈ σ) die Spalten von M ∈ Rτ ×σ . Da M  , M  F = Seien M   τ,j    ¨bliche Euklidische j∈σ Mτ,j , Mτ,j , wobei auf der rechten Seite das u Skalarprodukt von Rτ steht, folgt nach Teil a) E  D E D  (Πτ (A))τ,j , Bτ,j = Vτ Vτ A τ,j , Bτ,j Πτ (A), BF = j∈σ

=



Vτ Vτ Aτ,j , Bτ,j

j∈σ

=

D j∈σ



j∈σ

= E



Aτ,j , Vτ Vτ Bτ,j

j∈σ

Aτ,j , (Πτ (B))τ,j = A, Πτ (B)F .



8.3 Definition der H2 -Matrizen

201

Im Falle von c) verwendet man f¨ ur die zu b) analoge Aussage die Matrixzeilen. ˆ τ und Π ˆ σ die oben definierten Projektionen. Die Produkte Π ˆτ Π ˆσ Seien Π ˆ ˆ und Πσ Πτ stimmen u ¨berein und definieren Πτ ×σ : Rτ ×σ → Rτ ×σ

mit

Πτ ×σ (A) = Vτ Vτ AWσ Wσ .

(8.14)

Definition 8.3.7 (Projektion auf H2 -Format). Die Abbildung ΠH2 = ΠH2 (P,{Vτ }τ ∈T (I) ,{Wσ }σ∈T (J) ) von RI×J in sich ist blockweise definiert:  ΠH2 (A)|τ ×σ =

Πτ ×σ (A|τ ×σ ) f¨ ur τ × σ ∈ P + , f¨ ur τ × σ ∈ P − . A|τ ×σ

Lemma 8.3.8. a) ΠH2 hat die Produktdarstellung ; ΠH2 = (Πτ ×σ ) |I×J , +

(8.15)

τ ×σ∈P

wobei die Erweiterung (Πτ ×σ ) |I×J : RI×J → RI×J durch (8.14) auf Rτ ×σ  und die Identit¨ at (Πτ ×σ ) |I×J (A) |b = A|b f¨ ur b ∈ P \ (τ × σ) definiert ist. b) Die Reihenfolge in der Produktbildung (8.15) ist beliebig. uglich des Frobenius-Skalarproduktes. c) ΠH2 ist orthogonale Projektion bez¨ Damit gilt insbesondere A − ΠH2 (A)F =

min

X∈H2 (P,{Vτ }τ ∈T (I) ,{Wσ }σ∈T (J) )

A − XF .

Auf Grund der letzten Aussage l¨ asst sich im Prinzip jede Matrix A ∈ RI×J in die beste Approximation ΠH2 (A) ∈ H2 (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) abbilden. F¨ ur Matrizen in voller Darstellung erfordert dies jedoch einen Aufwand von O(#I · #J). Anders ist die Situation bei H-Matrizen. Anmerkung 8.3.9. Sei M ∈ H(k, P ) eine u ¨bliche hierarchische Matrix. Ferner sei H2 (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) ein H2 -Format mit gleicher Partition P . ur alle Die Projektion ΠH2 von A in die H2 -Bestapproximation erfordert f¨ b = τ × σ ∈ P + , dass die Darstellung M |b = Ab Bb (vgl. Definition 6.1.1) in ΠH2 (M )|b = Vτ Kb Wσ gewandelt wird, wozu Kb := VτAb Bb Wσ zu berechnen ist. Der Berechnungsaufwand f¨ ur VτAb ∈ RkV (τ )×k(b) und  kW (σ)×k(b) betr¨ agt 2#τ · k(b) · kV (τ ) bzw. 2#σ · k(b) · kW (σ). Die Wσ Bb ∈ R Multiplikation beider Matrizen zu Kb erfordert nochmals 2k(b)kV (τ )kW (σ) Operationen. Zusammen ergibt sich der Aufwand  k(b) · (#τ · kV (τ ) + #σ · kW (σ) + kV (τ )kW (σ)) . 2 b=τ ×σ∈P +

202

8 H2 -Matrizen

8.4 Hinreichende Bedingungen fu ¨r geschachtelte Basen 8.4.1 Allgemeiner Fall Im Falle der Integralgleichungen wurde die Kernfunktion κ(x, y) durch eine k (k) (k) separable Entwicklung κ (k) (x, y) = ν=1 ϕν (x) ψν (y) ersetzt (vgl. (4.1)). Die Funktionen spannen die Vektorr¨ aume V κ := span{ϕ(k) ν : 1 ≤ ν ≤ k},

W κ := span{ψν(k) : 1 ≤ ν ≤ k}

auf. F¨ ur jeden Block b = τ × σ ∈ P + sei eine eigene Entwicklung κ (k) (x, y) (k) (k) angenommen, wobei die Funktionen ϕν [bzw. ψν ] in Xτ [bzw. Xσ ] gem¨aß (5.5a,b) definiert seien. Demgem¨ aß ist in der Notation der obigen Vektorr¨aume der Index b hinzuzusetzen: Vbκ und Wbκ . Wie in §8.2 kann die Annahme gemacht werden, dass Vbκ nur von τ und κ angt, sodass Vτκ und Wσκ geschrieben werden kann. Die Wb nur von σ abh¨ pr¨ azisen Dimensionsannahmen sind ) V Vτκ = span{ϕ(τ ν : 1 ≤ ν ≤ kτ },

Wσκ := span{ψν(σ) : 1 ≤ ν ≤ kσW }. (8.16)

Schließlich kann die Schachtelungsbedingung (8.9a,b) u ¨bertragen werden: ur alle τ  = ST (I) (τ ), Vτκ |Xτ  ⊂ Vτκ f¨ Wσκ |Xσ ⊂ Wσκ f¨ ur alle σ  = ST (J) (σ).

(8.17)

Die hier eingef¨ uhrten R¨ aume Vτκ und Wσκ enthalten Funktionen. Der Zusammenhang mit den vorherigen Vektorr¨ aumen Vτ und Wσ wird im folgenden Lemma hergestellt. Lemma 8.4.1. Die Diskretisierung sei mittels der Abbildungen Λ1 |τ und Λ2 |σ aus (4.38) gegeben. Dann impliziert die Schachtelungsbedingung (8.17) die zweite Hierarchiestruktur (8.9a,b) f¨ ur Vτ und Wσ mit Dimensionsschranken kV (τ ) ≤ kτV und kW (σ) ≤ kσW . Beweis. Gem¨ aß (4.38) gilt M |b =

k ν=1



*  * (τ ) * (σ) * Λ1 (ϕν ) * Λ2 (ψν ) * , sodass τ

M |b ∈ Vτ ⊗ Wσ mit

@  * ) * V , Λ1 (ϕ(τ ) : 1 ≤ ν ≤ k * ν τ @  *τ * Wσ = span Λ2 (ψν(σ) ) * : 1 ≤ ν ≤ kσW . Vτ = span

σ

Dies beweist kV (τ ) = dim Vτ ≤ kτV und kW (σ) ≤ kσW . F¨ ur τ  = ST (I) (τ ) zeigt die Charakterisierung von Vτ , dass * @  ) * V Vτ |τ  = span Λ1 (ϕ(τ . ν )* : 1 ≤ ν ≤ kτ τ

σ

8.4 Hinreichende Bedingungen f¨ ur geschachtelte Basen

203

(8.17) impliziert span{ϕν |Xτ  : 1 ≤ ν ≤ kτV } ⊂ Vτκ . Damit ist jedes ϕν |Xτ   (τ  ) (τ ) (τ  ) eine Linearkombination der ϕμ , d.h. ϕν |Xτ  = μ αμ ϕμ . Da der Tr¨ager von Λ1 |τ  durch Xτ  gegeben ist, folgt //* . . *     * *    * * * ) ) ) Λ1 (ϕ(τ Λ1 αμ ϕ(τ αμ Λ1 ϕ(τ *  ∈ Vτ  . * = ν ) *  = μ μ * τ τ μ μ (τ )

(τ )

τ

Damit ist Vτ |τ  ⊂ Vτ  bewiesen. Wσκ |Xσ ⊂ Wσκ schließt man analog. Beispiel 8.4.2. Die Tr¨ ager Xτ seien eingebettet in den Rd . Taylor-Entwicklung in beiden Variablen x, y oder Polynominterpolation in beiden Variablen f¨ uhrt auf Polynomr¨ aume Vτκ . Genauer sei Vτκ einer der R¨aume span{xν |Xτ : |ν| ≤ k V }

oder

span{xν |Xτ : νi ≤ kiV f¨ ur 1 ≤ i ≤ d},

wobei der Gesamtpolynomgrad k V bzw. der partielle Polynomgrad kiV nicht von τ abh¨ ange. Dann ist (8.17) erf¨ ullt. Die gleiche Aussage gilt f¨ ur Wσκ . Beweis. Beschr¨ ankungen von Polynomen ergeben wieder Polynome des gleichen Grades. Dies beweist die Schachtelungseigenschaft (8.17). Der Fall der Polynominterpolation in beiden Variablen wird anschließend vorgef¨ uhrt. 8.4.2 Beispiel: Approximation von Integraloperatoren durch Interpolation  Der Integraloperator sei (Ku) (x) = Γ κ(x, y)u(y)dy (vgl. (1.25b)). Das Galerkin-Verfahren f¨ uhrt auf die Matrixelemente   Kij = κ(x, y)φi (x)φj (y)dxdy, Γ

Γ

wobei φi die Basiselemente sind (vgl. (1.28)). Zur Vereinfachung der Darstellung sei angenommen, dass Γ ⊂ R ein Intervall sei. assiger Block. Die Polynominterpolation in Xτ Sei b = τ × σ ∈ P + ein zul¨ ist durch k  τ f (x(ν) f ∈ C(Xτ ) → Pf (x) := τ )Lν (x) ν=1 (ν) xτ

gegeben, wobei ∈ Xτ disjunkte St¨ utzstellen und Lτν (x) Lagrange(μ) Polynome vom Grad k − 1 sind: Lτν (xτ ) = δνμ (vgl. §B.3.1.1). Die Interpolation der Kernfunktion κ(x, y) wird bez¨ uglich x und y durchgef¨ uhrt, (μ) wobei die St¨ utzstellen xσ und die Lagrange-Polynome Lσμ zu σ geh¨oren: κ(x, y) ≈

k k   ν=1 μ=1

(μ) τ σ κ(x(ν) τ , xσ ) Lν (x) Lμ (y)

in (x, y) ∈ Xτ × Xσ ⊂ Γ × Γ.

204

8 H2 -Matrizen

Einsetzen in die Darstellung Kij = Approximation Mij =

k k  

  Γ

Γ

κ(x, y)φi (x)φj (y)dxdy liefert die





(μ) κ(x(ν) τ , xσ )

Lτν (x)φi (x)dx Xτ

ν=1 μ=1

Lσμ (y)φj (y)dy

(8.18)



f¨ ur (i, j) ∈ b = τ × σ ∈ P + . Lemma 8.4.3. Die Untermatrix M |b = (Mij )(i,j)∈b aus (8.18) hat die Darstellung M |b = Vτ Kb Wσ mit   (μ) , x ) , Kb := κ(x(ν) τ σ (ν,μ)∈{1,...,k}×{1,...,k}   Lτν (x)φi (x)dx , Vτ := 

(i,ν)∈τ ×{1,...,k}



 Lσμ (y)φj (y)dy

Wσ := Xσ

. (j,μ)∈σ×{1,...,k}

Da die Polynome wie in Beispiel 8.4.2 die Schachtelungsbedingung (8.17) erf¨ ullen, liefert Lemma 8.4.1 die gesuchten Eigenschaften von Vτ und Wσ . In B¨ orm-Hackbusch [78] findet sich zu diesem Ansatz eine Absch¨atzung des Diskretisierungsfehlers.

8.5 Matrix-Vektor-Multiplikation mit H2 -Matrizen Die Matrix-Vektor-Multiplikation y → y + M x f¨ ur M ∈ H2 (P ) wird in drei Schritten durchgef¨ uhrt. Im ersten Schritt (“Vorw¨artstransformation”) wird x bzw. seine Restriktionen x|σ mittels Wσ transformiert. Die resultierenden Vektoren x ˆ|σ werden im zweiten Schritt (“Multiplikationsphase”) mit den Koeffizientenmatrizen Kb (b = τ ×σ) multipliziert. Die entstehenden Vektoren ussen im dritten Schritt (“R¨ ucktransformation”) mit Vτ multipliziert und yˆτ m¨ aufaddiert werden. Die vollen Matrixbl¨ ocke M |b (b ∈ P − ) werden gesondert behandelt. 8.5.1 Vorw¨ artstransformation ur alle σ ∈ T (J) zu berechnen. Im Prinzip ist x ˆσ := Wσ x|σ ∈ R{1,...,kW (σ)} f¨ Dies geschieht in direkter Form nur f¨ ur Blattcluster σ ∈ L(T (J)), da nur f¨ ur ur σ ∈ T (J)\L(T (J)) wird diese σ die Matrix Wσ vorhanden ist (vgl. §8.3.3). F¨ das Produkt indirekt mit Hilfe der Transformationsmatrizen durchgef¨ uhrt:    W    W  Tσ  Tσ  Wσ x|σ = x ˆσ  x ˆσ = Wσ x|σ = (8.11b)

σ  ∈ST (J) (σ)

σ  ∈ST (J) (σ)

8.5 Matrix-Vektor-Multiplikation mit H2 -Matrizen

205

f¨ ur σ ∈ T (J)\L(T (J)). Der Aufruf der Prozedur (8.19) durch Vorw¨ artstransformation(ˆ x, x, J) bestimmt im ersten Argument x ˆ = {ˆ xσ : σ ∈ T (J)} die Kollektion aller x ˆσ ∈ R{1,...,kW (σ)} aus dem Eingabevektor x ∈ RJ : procedure Vorw¨artstransformation(ˆ x, x, σ); if σ ∈ L(T (J)) then x ˆσ := Wσ x|σ else begin x ˆσ := 0; for all σ  ∈ ST (J) (σ) do begin Vorw¨ artstransformation(ˆ x, x, σ  );  W  x ˆσ := x ˆ σ + Tσ  x ˆσ  end end;

(8.19)

Der Aufwand l¨ asst sich mittels des Speicheraufwandes angeben, der in §8.3.3 abgesch¨ atzt wurde. Lemma 8.5.1. Der Aufruf von Vorw¨ artstransformation(ˆ x, x, J) ben¨otigt NVorw Additionen und Multiplikationen, wobei NVorw der Speicherbedarf f¨ ur {Wσ }σ∈L(T (J)) und {TσW }σ∈T (J)\{J} ist. Beweis. Mit jeder dieser Matrizen wird genau eine Matrix-VektorMultiplikation durchgef¨ uhrt. 8.5.2 Multiplikationsphase ˆσ f¨ ur alle τ ×σ ∈ P + auszurechnen Im zweiten Schritt sind die Produkte Sτ ×σ x und aufzusummieren:  Kτ ×σ x ˆσ f¨ ur alle τ ∈ T (I). (8.20) yˆτ := σ∈T (J): τ ×σ∈P +

Man beachte, dass yˆτ ∈ Rτ nicht die Beschr¨ ankung eines Vektors yˆ auf τ bedeutet. Lemma 8.5.2. a) Der Aufwand der Multiplikationsphase betr¨ agt NMult Additionen und Multiplikationen, wobei NMult der Speicherbedarf f¨ ur die Koeffizientenmatrizen {Kτ ×σ }τ ×σ∈P + ist. aß b) Wenn kW (σ) = kV (τ ) = k, kostet die Berechnung eines yˆτ gem¨ (8.20) 2Csp,l (τ, P + )k 2 − k Operationen. Beweis. a) Wieder wird genau eine Matrix-Vektor-Multiplikation mit jeder Matrix Kτ ×σ durchgef¨ uhrt. b) Die Zahl der Summanden in (8.20) ist Csp,l (τ, P + ). Da ˆσ ∈ R{1,...,k} , kostet die Matrix-VektorSτ ×σ ∈ R{1,...,k}×{1,...,k} und x ˆσ jeweils k (2k − 1) Operationen. Die Summation der Multiplikation Sτ ×σ x Resultate erfordert k (Csp,l (τ, P + ) − 1) Additionen.

206

8 H2 -Matrizen

8.5.3 R¨ ucktransformation Das Resultat von (8.20) lautet yˆ := {ˆ yτ : τ ∈ T (I)} und ist ein Eingabeparameter der Prozedur (8.21). Der Aufruf R¨ ucktransformation(y, yˆ, I) liefert ur b ∈ P + und M + |b = 0 f¨ ur b ∈ P − . y → y + M + x, wobei M + |b = M |b f¨ procedure R¨ ucktransformation(y, yˆ, τ ); if τ ∈ L(T (I)) then y|τ := Vτ yˆτ else for all τ  ∈ ST (I) (τ ) do begin y|τ := y|τ + TτV y|τ  ; R¨ ucktransformation(y, yˆ, τ  ) end;

(8.21)

Die R¨ ucktransformation ist adjungiert zur Vorw¨artstransformation. Analog zum vorherigen Lemma 8.5.1 beweist man das Lemma 8.5.3. Der Aufruf von R¨ ucktransformation(y, yˆ, I) ben¨ otigt NR¨uckw Additionen und Multiplikationen, wobei NR¨uckw der Speicherbedarf f¨ ur {Vτ }τ ∈L(T (I)) und {TτV }τ ∈T (I)\{I} ist. 8.5.4 Gesamtalgorithmus Bisher wurde nur der den zul¨ assigen Bl¨ ocken b ∈ P + entsprechende Anteil M + der Matrix M ber¨ ucksichtigt. Der Rest besteht aus den vollen Matrixbl¨ocken {M |b : b ∈ P − } . Die Prozedur der H2 -Matrixvektormultiplikation lautet damit insgesamt wie folgt: procedure MVM H2 (y, M, x); var x ˆ, yˆ; begin Vorw¨ artstransformation(ˆ x, x, J); for all τ ∈ T (I) do yˆτ := 0; for all b = τ × σ ∈ P + do yˆτ := yˆτ + Kτ ×σ x ˆσ ; y := 0; R¨ ucktransformation(y, yˆ, I); for all b = τ × σ ∈ P − do y|τ := y|τ + M |τ ×σ x|σ end;

(8.22)

Lemma 8.5.4 (Aufwand). Die H2 -Matrix-Vektor-Multiplikation (8.22) ben¨ otigt NMVM Additionen und Multiplikationen, wobei NMVM der Speicherbedarf f¨ ur {Vτ }τ ∈L(T (I)) , {TτV }τ ∈T (I)\{I} , {Wσ }σ∈L(T (J)) , {TσW }σ∈T (J)\{J} , {Kτ ×σ }τ ×σ∈P + und {M |τ ×σ }τ ×σ∈P − ist. Wie in §8.3.3 erkl¨ art, erh¨ alt man unter Standardbedingungen einen Gesamtaufwand O ((#I + #J)k) . Man beachte, dass der logarithmische Faktor hier fehlt, der in Lemma 7.8.1 (mit R¨ uckbezug auf Lemma 6.3.6) in Form der Baumtiefe auftritt (vgl. (6.9a)).

8.6 H2 -Matrizen mit linearem Aufwand

207

8.6 H2 -Matrizen mit linearem Aufwand Die oben erw¨ ahnte Komplexit¨ at O ((#I + #J)k) enth¨alt als einen Faktor den lokalen Rang k, der h¨ aufig als O(log n) zu w¨ ahlen ist, wenn #I, #J = O(n). Im Folgenden wird eine Variante diskutiert, bei der der Faktor k entf¨allt, sodass der Aufwand linear in n ist. Der Algorithmus wurde zuerst in HackbuschKhoromskij-Sauter [86] vorgestellt, und die erste Analyse findet sich in Sauter [124]. Im Folgenden wird die Idee nur skizziert und auf die Details in B¨ orm [18, §4.7] verwiesen. Zur Vereinfachung der Darstellung sei der Fall der quadratischen Matrix angenommen: I = J und n := #I = #J = 2L . Der Clusterbaum T (I) wird ur τ ∈ T () (I) . Der Blockstufenweise in T () (I) zerlegt mit #τ = 2L− f¨ () clusterbaum sei stufentreu definiert, d.h. T (I × I) enthalte nur Bl¨ocke b = τ × σ mit τ, σ ∈ T () (I). Wenn nmin = 1, liegt ein vollst¨andig balancierter Baum mit L(T (I)) = T (L) (I) und L = depth(T (I)) = log2 n vor. Die darzustellende Matrix sei eine BEM-Diskretisierung eines Integraloperators mit dem Kern κ(·, ·) : R2 → R. Das u ¨bliche Vorgehen ist die Ersetzung von κ durch separable Entwicklungen mittels Interpolation (vgl. 4.4). Dabei wurde stets der gleiche Polynomgrad f¨ ur alle zul¨assigen Bl¨ocke verwendet. Jetzt verwende man dagegen f¨ ur kleine Cluster niedrige Polynomgrade bei die Approximation von κ, aber h¨ ohere Grade f¨ ur große Cluster4 . Genauer wird der Grad p = p() als Funktion der Stufe gew¨ahlt: p() := p0 + (L − ) δ

(zum Beispiel mit δ := 1).

(8.23)

F¨ ur große Bl¨ ocke b ∈ T (I × I) (d.h.  ≈ 0) erh¨alt man den Grad p = O(L) = O(log n), w¨ ahrend f¨ ur kleine Bl¨ ocke ( ≈ L) p = O(1) gilt. Unter geeigneten Bedingungen sind die entstehenden Fehler von der gleichen Gr¨oßenordnung wie der Diskretisierungsfehler. ur alle τ ∈ T () (I). Der Gem¨ aß Lemma 8.4.1 ist kV (τ ) ≤ kτ ≤ p() + 1 f¨ Basis aß (8.12) enth¨ alt die Summanden Speicheraufwand SH2 gem¨ 

#τ · kV (τ ) =

τ ∈L(T (I))



#σ · kW (σ) ≤ (p(L) + 1) n = O(n). (8.23)

σ∈L(T (J))

Unter der Modellannahme #T () (I) = O(2 ) ist  kV (Vater(τ )) · kV (τ ) ≤ (p( − 1) + 1) (p() + 1) O(2 )    τ ∈T () (I) 2 = O 2 1 + (L − ) (8.23)

mit gleicher Absch¨ atzung f¨ ur 4

 σ∈T (J)\{J}

kW (Vater(σ)) · kW (σ). Damit ist

Dies entspricht dem Vorgehen bei der sogenannten hp-Finite-ElementDiskretisierung (vgl. [67, §8.6.3 in 3. Auflage]). In Korollar 9.3.2 wird eine Rangverteilung von der Form (8.23) in nat¨ urlicher Weise entstehen.

208

8 H2 -Matrizen Basis SH = O(n) + 2

L−1 

     2 = O(n) + O 2L = O(n). O 2 1 + (L − )

=0

Man pr¨ ufe nach, dass analog der Speicheraufwand f¨ ur {Kτ ×σ }τ ×σ∈P + und {M |τ ×σ }τ ×σ∈P − durch  τ ×σ∈P −

#τ #σ +



kV (τ )kV (σ) = n +

τ ×σ∈P +

L−1 

  2 2 O (p() + 1)

=1

=n+

L−1 

  2 2 O (L − ) = O(n)

=1

absch¨ atzbar ist. Aus Lemma 8.5.4 folgt somit der Aufwand O(n) f¨ ur die Matrix-Vektor-Multiplikation. Die Steuerung der Rangverteilung k : P + → N0 im allgemeinen Fall wird in der Dissertation [112] diskutiert. Bei der Diskussion des Approximationsfehlers tritt die Schwierigkeit auf, ¨ dass die Uberlegungen aus §8.4 nicht anwendbar sind. Die R¨aume Vτκ und κ aume, zum Beispiel im eindimensionalen Fall Wσ aus (8.16) sind Polynomr¨ Vτκ = Wσκ = Pp() := span{xν : 0 ≤ ν ≤ p()} f¨ ur alle τ ∈ T () (I), σ ∈ T () (J). Sei τ  ∈ S(τ ). Bei konstantem Grad p() = p konnte man die charakteristische Bedingung Vτκ |Xτ  ⊂ Vτκ (vgl. (8.17)) folgern, da die Einschr¨ankung von Polynomen vom Grad ≤ p auf Xτ  wieder Polynome vom Grad ≤ p sind. Nun ist aber nach der Definition (8.23) p( + 1) < p(), wobei τ ∈ T () (I) und ankung der Polynome vom Grad ≤ p() auf Xτ  τ  ∈ T (+1) (I). Die Einschr¨ liefert keine Polynome vom Grad ≤ p( + 1). Damit trotzdem die Schachtelungsbedingung (8.17) gilt, muss man Vτκ mittels st¨ uckweiser Polynome definieren. Zur Illustration sei die Konstruktion f¨ ur p() := L −  (d.h. p0 = 0 und δ = 1 in (8.23)) und die untersten Stufen L, L − 1, L − 2 vorgef¨ uhrt. F¨ ur die kleinsten Cluster τ ∈ T (L) (I) Xτ ’ X τ ’’ sind Vτκ die R¨aume der konstanten Funkur  = L − 1 werden tionen auf Xτ . F¨ Abb. 8.1. Ersetzung einer linearen die linearen Funktionen (gestrichelte Linie Funktion durch eine st¨ uckweise konin Abbildung 8.1) durch st¨ uckweise konstante Funktion stante Funktionen ersetzt. F¨ ur die S¨ohne τ  , τ  ∈ S(τ ) gilt damit Vτκ |Xτ  = Vτκ und Vτκ |Xτ  = Vτκ . F¨ ur  = L − 2 sollte Vτκ eigentlich die quadratischen Polynome entuckweise halten. Das quadratische Monom x2 wird zun¨achst durch die st¨

8.7 Adaptive Bestimmung der H2 -R¨ aume Vτ und Wσ

Xτ ’

209

X τ ’’

Abb. 8.2. Links: Ersatz einer quadratischen durch eine st¨ uckweise lineare Funktion. Rechts: Ersatz der st¨ uckweise linearen Funktion durch eine st¨ uckweise konstante Funktion.

lineare Funktion auf Xτ  und Xτ  (τ  , τ  ∈ S(τ )) ersetzt (vgl. Abbildung 8.2 links). Anschließend werden die linearen Funktionen auf Xτ  und Xτ  wie im Falle  = L − 1 durch st¨ uckweise konstante Funktionen ersetzt (vgl. Abbildung 8.2 rechts), was die Schachtelung Vτκ |Xτ  ⊂ Vτκ sicherstellt. Damit ist Vτκ ein dreidimensionaler Raum, der von Approximationen der Monome uckweise aus xν (0 ≤ ν ≤ 2) aufgespannt wird, wobei die Approximationen st¨ konstanten Teilst¨ ucken bestehen. Die Approximationseigenschaften dieser angepassten Funktionenr¨aume werden in [28] und [18, §4.7] analysiert.

aume Vτ und Wσ 8.7 Adaptive Bestimmung der H2 -R¨ Die g¨ unstigeren Eigenschaften der H2 -Matrizen erfordern auf der anderen Seite, dass die (geschachtelten) R¨ aume {Vτ }τ ∈T (I) und {Wσ }σ∈T (J) geeignet festgelegt werden m¨ ussen. Im Falle der Diskretisierung mittels Polynominterpolation konnte Vτ in §8.4.2 als Bild der Matrix   Lτν (x)φi (x)dx Vτ := Xτ

(i,ν)∈τ ×{1,...,k}

bestimmt werden. Es sind aber auch andere F¨ alle denkbar: asst sich MH durch eine H2 -Matrix MH2 (a) Eine H-Matrix MH sei gegeben. L¨ approximieren? Wie sehen geeignete R¨ aume {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) aus? (b) Eine allgemeine (voll besetzte) Matrix M ∈ RI×J sei gegeben sowie eine Fehlerschranke ε > 0. L¨ asst sich eine H2 -Matrix MH2 finden, sodass M − MH2  ≤ ε? Wie konstruiert man die zugeh¨origen R¨aume {Vτ }τ ∈T (I) und {Wσ }σ∈T (J) ? Wir werden zuerst die Aufgabe (b) l¨ osen. Aufgabe (a) ist ein Spezialfall von (b), wobei allerdings die Komplexit¨ at der Verfahren zu ber¨ ucksichtigen

210

8 H2 -Matrizen

ist. Im Falle von Aufgabe (b) ist der Aufwand mindestens #I · #J , da im Allucksichtigt werden m¨ ussen (andernfalls gemeinen alle Matrixelemente Mij ber¨ ist M − MH2  ≤ ε nicht garantierbar). Im Falle der Aufgabe (a) soll der Aufwand dagegen geringer ausfallen und etwa dem Speicheraufwand von MH entsprechen. Die Konstruktion der {Vτ }τ ∈T (I) startet von den Bl¨attern und verwendet Vτ  (τ  ∈ S(τ )) zur Auswahl von Vτ . Dabei wird von der folgenden Beobach tung Gebrauch gemacht. Die Fortsetzung u|τ ∈ Rτ von u ∈ Vτ  ⊂ Rτ ist in τ τ Definition 1.3.3 als Einbettung R "→ R definiert worden. Wir setzen Vτ  |τ := {v|τ : v ∈ Vτ  } . ur τ  ∈ S(τ ) ist ¨aquivalent Die Schachtelungsbedingung (8.9a): Vτ |τ  ⊂ Vτ  f¨ zu  Vτ  |τ f¨ ur alle τ ∈ T (I)\L(T (I)). (8.24) Vτ ⊂ Vˆτ := τ  ∈S(τ )

Sind die Vτ  gegeben, kann man Vˆτ konstruieren. Seine Dimension ist nur um den Faktor #S(τ ) (in der Regel #S(τ ) = 2) gr¨oßer als die maximale Dimension der Vτ  und damit im Allgemeinen deutlich kleiner als #τ. Es bleibt die Aufgabe, den Raum Vˆτ auf einen echten Unterraum Vτ zu verkleinern, ohne wesentliche Informationen zu verlieren. Die folgenden Konstruktionen vereinfachen sich, wenn die Basis von Vτ orthonormal gew¨ ahlt wird (vgl. Anmerkung 8.3.2b). Wie in §8.3.4 werden eine Orthonormalbasis {v1τ , . . . , vkτV (τ ) } von Vτ und die zugeh¨orige orthogonale 5 4 verwendet. Die orthogonale Matrix zu Vˆτ Matrix Vτ = v τ v τ . . . v τ 1

2

kV (τ )

aus (8.24) wird mit Vˆτ bezeichnet. W¨ ahrend bei fest vorgegebenem Raum Vτ anschließend eine Orthonormalbasis und die Matrix Vτ gew¨ahlt werden, ist hier die Reihenfolge umgekehrt. Wir werden Vτ konstruieren und damit Vτ = Bild(Vτ ) definieren. ur Bl¨ atter τ ∈ L(T (I)). Da #τ klein ist (nach Konstruktion der Vτ f¨ Konstruktion ≤ nmin ), setzen wir die maximale Dimension #τ an: Vτ := Rτ

f¨ ur alle τ ∈ L(T (I)).

ur Vorg¨ anger τ ∈ T (I)\L(T (I)). Der Raum Vτ Konstruktion der Vτ f¨ muss den Bildbereich der Untermatrix M |E(τ ) approximieren, wobei E(τ ) := (τ × J) \



b

b=τ  ×σ  ∈P : τ  τ

den Einflussbereich beschreibt. Die Bl¨ ocke b = τ  × σ  ∈ P mit τ   τ sind auszunehmen, da entweder (f¨ ur b ∈ P + ) M |b durch die schon konstruierten  ur b ∈ P − ) M |b als volle Matrix repr¨asentiert R¨ aume Vτ dargestellt oder (f¨ wird. Der Bereich E(τ ) ist in Abbildung 8.3 f¨ ur die Partitionierung aus

8.7 Adaptive Bestimmung der H2 -R¨ aume Vτ und Wσ

211

§3.1 illustriert. Man beachte, dass der Indexbereich E(τ ) in der Vereinigung   τ  ∈S(τ ) E(τ ) enthalten ist. ˆ Es gilt Bild (M |E(τ ) ) ⊂ Vˆτ mit Vˆτ aus (8.24). Sei Vˆτ ∈ Rτ ×{1,...,dim Vτ } eine orthogonale Matrix mit Bild (Vˆτ ) = Vˆτ . Die Untermatrix M |E(τ ) erlaubt die ˆ Darstellung M |E(τ ) = Vˆτ Zτ mit einer Matrix Zτ ∈ RJ(τ )×{1,...,dim Vτ } , wobei J(τ ) ⊂ J durch E(τ ) = τ ×J(τ ) definiert ist. Die Gramsche Matrix zu M |E(τ ) ist   M |E(τ ) M |E(τ ) = Vˆτ Zτ Zτ Vˆτ . ˆ

ˆ

Zu Zτ Zτ ∈ R{1,...,dim Vτ }×{1,...,dim Vτ } berechnet man die Singul¨arwertzerlegung (zugleich Diagonalisierung) ˆ τ Q mit D ˆ τ = diag{στ,1 , στ,2 , . . .} und στ,1 ≥ στ,2 ≥ . . . Zτ Zτ = QD Damit ist

      ˆ τ Vˆτ Q ˆ τ Vˆτ M |E(τ ) M |E(τ ) = Vˆτ QD = Vˆτ D

ˆ τ auf D ˆ τ,m mit mit der orthogonalen Matrix Vˆτ := Vˆτ Q. K¨ urzung von D τ ˆ ˆ Dτ,mτ = diag{στ,1 , . . . , στ,mτ , 0, . . .} und mτ ≤ dim Vτ , liefert 1/2 ˜ |E(τ ) := Vˆ  D ˆ 1/2 M τ τ,m = Vτ Dτ,m ≈ M |E(τ )

Dτ,m

mit    = diag{στ,1 , . . . , στ,mτ } und Vτ := Vˆτ,ij

i∈τ,j={1,...,mτ }

(Vτ ist die Beschr¨ ankung von Vˆτ auf die ersten mτ Spalten). Damit ist der Unterraum Vτ :=Bild (Vτ ) mit der Dimension mτ gefunden. Die Unter˜ |E(τ ) := Vτ Vτ M |E(τ ) ersetzt matrix M |E(τ ) wird durch die Projektion M (vgl. Anmerkung 8.3.6b) und die Konstruktion mit dem Vorg¨anger Vater (τ ) fortgesetzt, bis die Wurzel τ = I erreicht ist. F¨ ur sp¨atere Zwecke schreiben ˜ als ΠE(τ ) , d.h. wir die Abbildung M → M     ur b ∩ E(τ ) = ∅, Vτ Vτ M |E(τ ) |b f¨ ΠE(τ ) M |b = (8.25) sonst. M |b angt mit der gew¨ unschten Genauigkeit zusammen. Die Auswahl von mτ h¨

τ τ

τ

Abb. 8.3. Einflussbereich E(τ ) f¨ ur verschiedene Cluster τ

212

8 H2 -Matrizen

Lemma 8.7.1. Zahlen ετ > 0 seien vorgegeben. Zu jedem τ ∈ T (I) sei mτ so gew¨ ahlt, dass  2 στ,i ≤ ε2τ i>mτ

ˆ τ,m gilt. Dann liefert das obige f¨ ur die Singul¨arwerte στ,i aus der Matrix D τ Verfahren eine Matrix M  mit Bild(M  |E(τ ) ) ⊂ Vτ und dim Vτ = mτ , sodass 

M − M  F ≤ 2

ε2τ .

(8.26)

τ ∈T (I)

uhrt zur Korrektur von M |E(τ ) in Beweis. Die Konstruktion von Vτ f¨ ˜ steht im Sinne des ˜ |E(τ ) := Vτ Vτ M |E(τ ) . Die Korrektur M − M M Frobenius-Skalarproduktes senkrecht auf allen vorhergehenden Matrizen. Damit addieren sich die Fehlerquadrate (Pythagoras), und (8.26) folgt. 

Analoges Vorgehen mit (M  )

und Zahlen ετ > 0 liefert die Matrix

M  ∈ H2 (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) 

und die R¨ aume Wσ mit Bild ((M  ) |E(σ) ) ⊂ Wσ und dim Wσ = mσ . Die entsprechende Fehlerabsch¨ atzung  2   2 (εσ ) M  − M  F =  (M  ) − (M  ) 2F ≤ σ∈T (J)

f¨ uhrt auf

M − M  F ≤ 2



ε2τ +

τ ∈T (I)



(εσ ) . 2

(8.27)

σ∈T (J)

Zur adaptiven Wahl der Unterr¨ aume bei gegebener Genauigkeit ε w¨ahlt man ετ und εσ mit   2 ε2τ + (εσ ) = ε2 . τ ∈T (I)

σ∈T (J)

Die vorhergehende Ungleichung sichert M − M  F ≤ ε. Alternativ kann man ein festes mτ = mσ = k w¨ahlen. Mit 8 2 στ,i ετ := i>mτ

und entsprechenden εσ gilt die Fehlerabsch¨ atzung (8.27) ebenfalls. Details zum Algorithmus, zur Komplexit¨ at und den Absch¨atzungen findet man in B¨ orm-Hackbusch [79]. Dort wird zudem der Fall diskutiert, dass eine H-Matrix in das H2 -Format konvertiert wird.

8.8 Matrix-Matrix-Multiplikation von H2 -Matrizen

213

8.8 Matrix-Matrix-Multiplikation von H2 -Matrizen W¨ ahrend die Tensorstruktur der R¨ aume Vτ ⊗ Wσ bei der Addition sehr hilfreich ist, f¨ uhrt sie bei der Multiplikation auf starke Komplikationen. Zun¨ achst sind zwei Arten von H2 -Multiplikationen zu unterscheiden. Im ersten Fall sind f¨ ur die Zielmatrix die R¨ aume Vτ und Wσ a priori bekannt, im zweiten Fall werden sie a posteriori bestimmt. 8.8.1 Multiplikation bei gegebenem H2 -Format Zu einer Matrix C soll das Produkt A · B addiert werden: C ← C + A  B.

(8.28a)

Dabei d¨ urfen alle auftretenden Matrizen unterschiedliches Format besitzen: A ∈ RI×J ,

B ∈ RJ×K ,

C ∈ RI×K .

(8.28b)

A und B seien H2 -Matrizen mit zum Format passenden R¨aumen {VτA }τ ∈T (I) , {WσA }σ∈T (J) bzw. {VτB }τ ∈T (J) , {WσB }σ∈T (K) . Die auf C vorliegenden Startdaten und das Endresultat sollen im H2 -Format mit den R¨aumen {VτC }τ ∈T (I) und {WσC }σ∈T (K) dargestellt werden: A ∈ H2 (PA , {VτA }τ ∈T (I) , {WσA }σ∈T (J) ), B∈ C∈

H (PB , {VτB }τ ∈T (J) , {WσB }σ∈T (K) ), H2 (PC , {VτC }τ ∈T (I) , {WσC }σ∈T (K) ). 2

(8.28c) (8.28d) (8.28e)

Dabei gilt m¨ oglicherweise (aber nicht notwendigerweise) VτA = VτC und B C Wσ = Wσ . PA , PB und PC sind die Partitionen zu den Blockclusterb¨aumen T (I × J), T (J × K) und T (I × K). Zu {VτC }τ ∈T (I) und {WσC }σ∈T (K) wird in Definition 8.3.7 die Projektion C ΠH2 definiert. Die formatierte Multiplikation  in (8.28a) ist durch C A  B := ΠH 2 (A · B)

erkl¨ art, wobei im Argument das exakte Produkt A · B steht. Konkret ist f¨ ur alle b = τ × σ ∈ P + das Produkt VτC VτC (AB) |b WσC WσC zu bestimmen. Die Auswertung von (AB) |b war bereits f¨ ur u ¨bliche HMatrizen kompliziert (vgl. §7.4). Gleiches gilt f¨ ur die Durchf¨ uhrung von AB. Der H2 -Matrix-Matrix-Multiplikations-Algorithmus geht auf B¨orm [18, §7.7] zur¨ uck und kann dort nachgelesen werden. Erstaunlicherweise l¨asst sich lineare Komplexit¨ at ohne logarithmischen Faktor beweisen (vgl. [18, Theorem 7.17]).

214

8 H2 -Matrizen

Satz 8.8.1. Die beteiligten H2 -Formate m¨ ogen wie in (8.23) einen stufenabh¨ angigen Rang besitzen. Dann ben¨ otigt der in B¨ orm [18, §7.7] beschriebene Algorithmus zur Ausf¨ uhrung von (8.28a) den Aufwand O(#I + #J + #K). Damit ergibt sich O(n) f¨ ur I = J = K mit #I = n. In Lemma 7.4.5 wurde bei der H-Matrixmultiplikation ein Rang k bestimmt, sodass das Produkt von M  ∈ H(k  , P ) und M  ∈ H(k  , P ) exakt in H(k, P ) liegt. Entsprechend kann man fragen, wie der Blockclusterbaum ussen, damit T (I × K) und die R¨ aume {VτC }τ ∈T (I) , {WσC }σ∈T (K) aussehen m¨ das exakte Produkt AB in H2 (PC , {VτC }τ ∈T (I) , {WσC }σ∈T (K) ) liegt (damit ist auch die Addition C + AB exakt). Die Antwort auf diese Frage findet sich in B¨ orm [18, Theorem 7.27]. 8.8.2 Multiplikation bei gesuchtem H2 -Format ur das Produkt Gegeben seien H2 -Formate (8.28c,d). In vielen F¨allen liegen f¨ ur das H2 -Format AB keine R¨ aume {VτC }τ ∈T (I) und {WσC }σ∈T (K) vor, die f¨ (8.28e) ben¨ otigt werden5 . Warum der Vorschlag VτC := VτA und WσC := WσB nicht ausreichend ist, zeigt das folgende Beispiel. Beispiel 8.8.2. Lemma 9.2.2b wird zeigen, dass Finite-Element-Matrizen wegen ihrer speziellen Schwachbesetztheitsstruktur f¨ ur die trivialen R¨aume VτA = {0}

und

WσA = {0}

oren. Das Produkt AB mit einer zu H2 (PA , {VτA }τ ∈T (I) , {WσA }σ∈T (J) ) geh¨ weiteren H2 -Matrix B ist im allgemeinen nicht mehr schwach besetzt. Da ur die Verwendung von VτC := VτA = {0} bedeutet, dass alle Bl¨ocke (AB) |b f¨ ocke ersetzt w¨ urden, ist VτC := VτA offenbar keine gute b ∈ PC+ durch Nullbl¨ Wahl. Im Prinzip k¨ onnte m¨ ochte man C + AB exakt berechnen und dann wie in aume VτC und WσC adaptiv bestimmen. §8.7 die H2 -R¨ Ein zweiter Weg k¨ onnte u uhren: Wegen ¨ber die u ¨blichen H-Matrizen f¨ Anmerkung 8.1.3 ist jede H2 -Matrix auch eine H-Matrix. Man k¨onnte A, B, C als H-Matrizen interpretieren und in der H-Arithmetik C ⊕AB durchf¨ uhren. Die resultierende H-Matrix w¨ urde dann gem¨aß §8.7 in eine H2 -Matrix mit aumen konvertiert. Gegen die Anwendung der Multipligeeigneten VτC , WσC -R¨ uhrt hat, um die kation im H-Format spricht, dass man die H2 -Struktur eingef¨ Arithmetik zu vereinfachen (vgl. Anmerkung 8.1.4). Es bietet sich ein Ausweg an, der zwischen dem H- und H2 -Format liegt.

5

Eine ¨ ahnliche Frage stellt sich f¨ ur die Inverse einer H2 -Matrix. Dass die Unter2 raumfamilien von A ∈ H (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) nicht mit den optimalen ussen, zeigt Lemma 9.3.8. von A−1 u ¨bereinstimmen m¨

8.9 Numerisches Beispiel

215

Definition 8.8.3 (Semiuniforme Matrizen). P sei eine Partition zu aume aus (8.9a,b). T (I × J) . {Vτ }τ ∈T (I) und {Wσ }σ∈T (J) seien die H2 -R¨ 2 (P, {Vτ }τ ∈T (I) ) sind durch die a) Linksuniforme Matrizen M ∈ Hlinks Eigenschaft f¨ ur alle b = τ × σ ∈ P + Bild(M |b ) ⊂ Vτ charakterisiert. Die Matrixbl¨ ocke M |b werden f¨ ur b ∈ P + durch M |b = Vτ B  mit Vτ gem¨ aß (8.10) und einer allgemeinen Matrix B ∈ RJ×{1,...,kV (τ )} dargestellt. 2 (P, {Wσ }σ∈T (J) ) sind durch die b) Rechtsuniforme Matrizen M ∈ Hrechts Eigenschaft 

Bild((M |b ) ) ⊂ Wσ

f¨ ur alle b = τ × σ ∈ P + 

charakterisiert. Matrixbl¨ ocke M |b werden f¨ ur b ∈ P + durch M |b = A (Wσ ) mit Wσ gem¨ aß (8.10) und einer allgemeinen Matrix A ∈ RI×{1,...,kW (σ)} dargestellt. 2 (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) sind c) Semiuniforme Matrizen aus Hsemi Summen von links- und rechtsuniformen Anteilen. F¨ ur H-Matrizen konnte bei der Multiplikation die Idealeigenschaft ausgenutzt werden: Produkte von R(k)-Matrizen mit beliebigen anderen ergeben wieder das Format R(k) (vgl. Anmerkung 2.3.1d). Diese Vereinfachung asst sich aber das semiuniforme trifft auf H2 -Matrizen nicht zu. Hier l¨ Format ausnutzen. Teilprodukte von A · B haben zum Beispiel die Form / PB . Da A|τ ×κ · B|κ×σ , wobei τ × κ ∈ PA , aber vielleicht κ × σ ∈ Bild(A|τ ×κ · B|κ×σ ) ⊂ Bild(A|τ ×κ ) ⊂ Vτ , ur ein geeighat das exakte Produkt die Darstellung A|τ ×κ · B|κ×σ = Vτ Z  f¨ netes Z ∈ RJ×{1,...,kV (τ )} , d.h. das Produkt geh¨ort zum linksuniformen Anteil. Analog geh¨ ort A|τ ×κ · B|κ×σ zum rechtsuniformen Anteil, wenn κ × σ ∈ PB . Die Matrixmultiplikation mit adaptiver Wahl der H2 -R¨aume wird daher in B¨ orm [18, §8] so durchgef¨ uhrt, dass das Produkt als semiuniforme Matrix in 2 (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ) berechnet wird, das Resultat als (gek¨ urzte) Hsemi H-Matrix interpretiert und dann gem¨ aß §8.7 in eine H2 -Matrix mit geeigneten aumen konvertiert wird. VτC , WσC -R¨ Die Komplexit¨ atsabsch¨ atzungen in B¨ orm [18, Lemma 8.14] enthalten die Baumtiefen und damit wieder einen logarithmischen Faktor: O(n log n).

8.9 Numerisches Beispiel Die folgenden Resultate stammen aus B¨ orm [18, §8.5]. Zum Test der Matrixmultiplikation wird die Matrix M als Diskretisierung des Einfachschichtoperators gew¨ ahlt (vgl. §10.1.2). Mit dieser als H2 -Matrix dargestellten, vollen

216

8 H2 -Matrizen

Matrix wird die Matrixmultiplikation M · M durchgef¨ uhrt. F¨ ur das H2 Produkt gibt es zwei Varianten. Die Spalte “a priori” zeigt die Rechenzeiten (in sec) f¨ ur die Multiplikation bei gegebenem H2 -Format (vgl. §8.8.1), die Spalte “a posteriori” entspricht dem adaptiven Algorithmus aus §8.8.2. Zum Vergleich wird M als H-Matrix interpretiert und die Multiplikationszeiten der H-Arithmetik in Spalte “H-Arithmetik” gezeigt. Die Gr¨oße der Matrix M ∈ RI×I nimmt verschiedene Werte n = #I an. n 768 3072 12288 49152 196608

a priori 0.7 32.1 70.6 235.4 807.8

a posteriori 0.7 32.6 276.6 1343.7 6513.3

H-Arithmetik 0.7 153.0 824.8 6591.3 29741.6

¨ Man entnimmt diesen Zahlen die Uberlegenheit der H2 -Arithmetik gegen¨ uber der H-Arithmetik. Die Variante mit fester Basiswahl ist dabei noch einmal deutlich schneller als die adaptive Variante. Zur parallelen Implementierung der H2 -Matrixmethode auf Clustern mit verteiltem Speicher findet man Hinweise in B¨ orm-Bendoraityte [22].

9 Verschiedene Erg¨ anzungen

9.1 Konstruktion schneller Iterationsverfahren Solange man hinreichend genau berechnete H-Matrixapproximationen verwendet, erscheint die H-Matrix-Technik als eine direkte Methode mit dem Unterschied, dass die Fehler nicht durch die Maschinengenauigkeit, sondern durch die Genauigkeit der H-Matrix-Berechnung charakterisiert sind. ¨ Der Ubergang von direkten und iterativen Verfahren ist fließend. Selbst die Gauß-Elimination wurde in Gestalt der “Nachiteration” in eine iterative Form gebracht, allerdings in Zeiten, als die Computerarithmetik standardm¨ aßig noch die einfache Genauigkeit verwendete. Jede konsistente, lineare Iteration1 zur L¨osung des Gleichungssystems Ax = b hat die Gestalt xm+1 = xm − N (Axm − b)

(9.1)

(vgl. [66, (3.2.4)]) mit einer Matrix N ∈ RI×I . Umgekehrt definiert jede Matrix N ∈ RI×I u ¨ber (9.1) eine konsistente, lineare Iteration. Die Kunst der Konstruktion von (9.1) liegt darin, passend zu A ein N zu finden, sodass die Iteration nicht nur gegen x konvergiert, sondern auch eine m¨oglichst schnelle Konvergenzgeschwindigkeit aufweist und billig durchzuf¨ uhren ist. Asymptotisch ist die Konvergenzgeschwindigkeit durch den Spektralradius ρ(I −N A) gegeben (vgl. (13.1b) zu ρ und [66, Satz 3.2.7] zur Konvergenzaussage). Die optimale Geschwindigkeit ist ρ(O) = 0 f¨ ur die Wahl N := A−1 . W¨ ahrend u ¨bliche Methoden keinen Zugang zu A−1 haben, ist die Situation bei der H-Matrix-Technik umgekehrt. Das Resultat der Inversenberechnung (vgl. §7.5) ist eine sogar recht gute approximative Inverse N ≈ A−1 . Noch −1 g¨ unstiger ist es, die approximative Inverse in der Form N = (LU ) mit der H-LU-Zerlegung A ≈ LU (vgl. §7.6 und §9.2.7) zu konstruieren. Man beachte, 1

Eine konsistente Iteration liegt vor, wenn die L¨ osung x von Ax = b ein Fixpunkt angt. der Iteration ist. Eine Iteration ist linear, falls xm+1 linear von xm und b abh¨

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 9, c Springer-Verlag Berlin Heidelberg 2009 

218

9 Verschiedene Erg¨ anzungen

  −1 dass die Anwendung (LU ) x(m) = U −1 L−1 x(m) exakt und billig mit der Vorw¨ arts- und R¨ uckw¨ artssubstitution aus §3.8.1 und §3.8.2 durchf¨ uhrbar ist. Eine Invertierung von L oder U ist unn¨ otig. Die Approximation N ≈ A−1 kann z.B. durch eine Normabsch¨atzung I − N A2 ≤ ε < 1

(9.2a)

pr¨ azisiert werden. Ungleichung (9.2a) ist hinreichend f¨ ur die Spektralnormabsch¨ atzung ρ(I − N A) ≤ ε < 1. (9.2b) Die letzte Ungleichung beweist nicht nur Konvergenz, sondern auch die Rate ε. Ist etwa ε = 0.1, gewinnt man in der Iteration (9.1) pro Schritt asymptotisch eine Dezimalstelle. Dies gilt schon als schnelle Konvergenz, w¨ahrend N noch als grobe N¨ aherung der Inversen gelten w¨ urde. Eine Alternative zu (9.2a) ist I − A1/2 N A1/2 2 ≤ ε < 1

(9.2c)

f¨ ur positiv definite A. Dies ist ¨ aquivalent zu der Energienorm-Absch¨atzung A−1 − N A ≤ ε (·A ist die zur Vektornorm xA := A1/2 x2 geh¨orige Matrixnorm). Auch (9.2c) impliziert (9.2b). Gelten (9.2a) oder (9.2c), so hat man nicht nur eine asymptotische Konvergenzaussage, sondern f¨ ur jeden Iterationsschritt gilt die Fehlerabsch¨ atzung xm+1 − x ≤ ε xm − x

f¨ ur · = ·2

bzw.

· = ·A .

Diese Kontraktionsaussagen sind gerade dann wichtig, wenn nur wenige Iterationsschritte ausgef¨ uhrt werden sollen. Bei der Bestimmung der approximativen Inverse N ist Folgendes abzuw¨ agen: • Relativ ungenaue Approximation (moderates ε < 1): In diesem Fall kommt man mit kleinerem lokalen Rang der H-Matrixdarstellung aus, was Speicheraufwand und Rechenkosten spart. Daf¨ ur sind mehrere Schritte des Iterationsverfahrens (9.1) auszuf¨ uhren. Letzteres ist aber von geringerem Gewicht, da die Ausf¨ uhrung der Matrix-Vektor-Multiplikationen Axm und N d f¨ ur d := Axm − b wesentlich schneller ist als die Inversion bzw. LUZerlegung, die f¨ ur N ben¨ otigt wird. • Relativ genaue Approximation (kleines ε  1): Der lokale Rang der HMatrixdarstellung wird logarithmisch mit 1/ε steigen, daf¨ ur erh¨alt man ein Iterationsverfahren, von dem nur ein oder zwei Schritte ausgef¨ uhrt werden m¨ ussen. Die u ur positiv definite A zum ¨blichen Iterationsverfahren verwenden f¨ Beispiel N := B −1 mit Matrizen B, die zu A spektral¨aquivalent sind, d.h.

9.2 Modifizierte Clusterb¨ aume f¨ ur schwach besetzte Matrizen

1 Ax, x ≤ Bx, x ≤ c Ax, x c

f¨ ur alle x ∈ RI

219

(9.3)

f¨ ur eine Konstante c > 0. ¨ Ubung 9.1.1. Man zeige, dass (9.2c) die Spektral¨aquivalenz (9.3) f¨ ur 1 B = N −1 mit c := 1−ε ≈ 1 + ε impliziert. ¨ W¨ ahrend diese Ubung zeigt, dass die approximative Inverse zu einer spektral¨ aquivalenten Matrix f¨ uhrt, ist die Umkehrung falsch. Beispielsweise erf¨ ullt B := cA f¨ ur jedes c > 1 die Ungleichung (9.3), w¨ahrend B −1 = 1c A−1 kaum als approximative Inverse bezeichnet werden kann. Im Prinzip sollte es daher auch andere H-Matrix-Kandidaten f¨ ur N geben als die approximative Inverse. Allerdings ist die L¨ osung der folgenden Aufgabe noch v¨ollig offen. Aufgabe 9.1.2. Gegeben sei eine H-Matrix A ∈ RI×I (eventuell als positiv definit angenommen). Man bestimme eine H-Matrix N ∈ RI×I mit m¨oglichst ullt. geringem lokalen Rang, sodass B := N −1 die Spektral¨aquivalenz (9.3) erf¨ Die Spektral¨ aquivalenz kann aber auf andere Weise ins Spiel kommen. Bei der L¨ osung von nichtlinearen Problemen oder parabolischen Differentialgleichungen entsteht die Situation2 , dass man im Laufe der Berechnungen Gleichungssysteme A(ν) x(ν) = b(ν) mit unterschiedlichen Matrizen A(ν) zu l¨ osen hat, die aber im Allgemeinen noch spektral¨aquivalent sind. Dann reicht ur A(1) , A(2) , . . . es, f¨ ur A(0) eine approximative Inverse N zu berechnen und f¨ (ν) dieses N in der Iteration (9.1) mit A = A zu verwenden.

9.2 Modifizierte Clusterb¨ aume fu ¨ r schwach besetzte Matrizen 9.2.1 Problembeschreibung Moderne direkte Gleichungsl¨ oser f¨ ur schwach besetzte Matrizen versuchen in ausgefeilter Weise, den Auff¨ ullungseffekt w¨ ahrend der LU-Zerlegung m¨oglichst gering zu halten. Formal bedeutet dies in der Regel, eine Permutation P zu unstiger finden, sodass die LU-Zerlegung (ohne Pivotisierung) von P AP  g¨ als die f¨ ur A ist3 . Eine seit langem angewandte Methode ist die Minimierung der Bandbreite, da Auff¨ ullung der LU-Faktoren nur innerhalb des Bandes stattfindet. 2

3

Im nichtlinearen Fall f¨ uhrt z.B. das Newton-Verfahren zu verschiedenen Linearisierungen A(ν) , wobei ν der Index der Newton-Iteration ist. Im parabolischen Fall treten Matrizen A(t) auf, die von der Zeit t abh¨ angen. F¨ ur t = 0, Δt, 2Δt, . . . ergeben sich die Matrizen A(ν) = A(νΔt). Es sei daran erinnert, dass die LU-Zerlegung von der Anordnung der Indizes ¨ abh¨ angt. Andert man die Anordnung mittels einer Permutation P, erh¨ alt man eine andere LU-Zerlegung.

220

9 Verschiedene Erg¨ anzungen

¨ Ahnliches soll im Folgenden f¨ ur die LU-Zerlegung mittels H-Arithmetik versucht werden. Die pr¨ azisen Bedingungen an die (Besetztheitsstruktur der) Matrix werden in §9.2.3 erl¨ autert. Die Anordnung f¨ ur die LU-Zerlegung (und damit die Permutationsmatrix P ) ist durch den Clusterbaum T (I) festgelegt. Alternative Permutationen erfordern somit alternative Clusterb¨aume. Ein solcher wird in §9.2.4 eingef¨ uhrt. Auch wenn die LU-Zerlegung die Hauptanwendung ist, wurden die nachfolgenden Methoden zun¨ achst f¨ ur die Parallelisierung der Inversion entwickelt, wie in §9.2.5 beschrieben wird. Auf die M¨ oglichkeit, die Schwachbesetztheit erfolgreich auszunutzen, wurde zuerst von Lintner in [110] und seiner Dissertation [109] hingewiesen. Die nachfolgenden LU-Varianten gehen auf die Arbeiten Grasedyck-Kriemann-Le Borne [61, 60] zur¨ uck und haben sich als eine sehr schnelle L¨ osungsmethode herausgestellt. 9.2.2 Finite-Element-Matrizen Der Name “finite Elemente” bezeichnet die Tatsache, dass der Definitionsbereich4 Ω durch ein Gitter T bestehend aus offenen “finiten Elementen” t ∈ T disjunkt zerlegt ist:  ˙ t=Ω t∈T

und dass dieFinite-Element-Basis {φi : i ∈ I} von Vn Tr¨ager der Form Tr¨ ager(φi ) = t∈Ti t¯ mit Ti ⊂ T besitzt, wobei die Zahl #Ti unabh¨angig von n klein sein soll (vgl. Abbildung 11.1). Genauer sollen die Zahlen5  6 j ∈ I : Tr¨ ager(φi ) und Tr¨ ager(φj ) Cschw (i) := # f¨ ur i ∈ I, haben gemeinsamen inneren Punkt Cschw := maxi∈I Cschw (i) unabh¨ angig von n durch eine feste Konstante beschr¨ankt sein. Beispiel 9.2.1. a) F¨ ur st¨ uckweise konstante Basisfunktionen ist Cschw (i) = 1, da Tr¨ager(φi ) =: ti ∈ T . Jeder Index i entspricht eineindeutig einem finiten Element ti aus T . b) Im Falle st¨ uckweise linearer Basisfunktionen eines zweidimensionalen Dreiecksgitters oder dreidimensionalen Tetraedergitters entspricht jeder Index i ∈ I einem Eckpunkt xi ∈ Ω eines Dreiecks (Tetraeders), und Cschw (i) ist die Zahl der Elemente, die xi als einen der Eckpunkte besitzen. Damit Cschw (i) ≤ const gilt, muss zum Beispiel die Formregularit¨at (6.12a) vorausgesetzt werden. 4

5

˜ ersetzt Gelegentlich muss der Definitionsbereich Ω durch eine Approximation Ω werden (z.B. bei krumm berandeten Gebieten oder gekr¨ ummten Mannigfaltigkeiten). Der Fall, dass die abgeschlossenen Mengen Tr¨ ager(φi ) und Tr¨ ager(φj ) Randahlt. punkte gemeinsam haben, wird in Cschw (i) nicht gez¨

9.2 Modifizierte Clusterb¨ aume f¨ ur schwach besetzte Matrizen

221

Matrizen, die bei der Finite-Element-Methode auftreten, sind spezielle schwach besetzte Matrizen. Im Vorgriff auf §11 wird hier auf eine triviale, aber wichtige Eigenschaft hingewiesen. Alle im FEM-Zusammenhang auftretenden Integrale haben die Form  w(x) (D1 φi )(x) (D2 φj )(x) dx, Mij = Ω

ogliche Ableitungsoperatoren sind. Da aber die wobei D1 und D2 m¨ ager(φi ) gilt und sich wegen der FiniteInklusion Tr¨ ager(Dk φi ) ⊂ Tr¨ Element-Eigenschaft nur wenige Tr¨ ager u ¨berschneiden, ist die Anzahl # {j ∈ I : Mij = 0} der Nichtnullelemente pro Zeile unabh¨angig von der Gr¨oße der Matrix beschr¨ ankt, d.h. M ist im klassischen Sinne schwach besetzt. Lemma 9.2.2. a) Sei H(k, P ) ∈ RI×I ein beliebiges H-Matrixformat, wobei die in P eingehende Zul¨ assigkeitsbedingung durch eine der Ungleichungen (5.8) oder (5.9a-c) mit η > 0 gegeben ist. Ferner sei dist(τ, σ) mittels (5.5a,b) und (5.6b) definiert. Dann ist jede Finite-Element-Matrix (exakt) in H(k, P ) enthalten. b) Die Finite-Element-Matrix geh¨ ort ferner f¨ ur alle R¨aume {Vτ }τ ∈T (I) und {Wσ }σ∈T (J) zu H2 (P, {Vτ }τ ∈T (I) , {Wσ }σ∈T (J) ). Insbesondere ist es eine ur die triviale Wahl Vτ = {0} und Wσ = {0}. H2 -Matrix f¨ c) Die Aussage gilt allgemeiner f¨ ur jede Partition P mit der folgenden Implikation: b = τ × σ ∈ P+

=⇒

ager(φj ) f¨ ur alle i ∈ τ und j ∈ σ haben Tr¨ ager(φi ) und Tr¨ keinen gemeinsamen inneren Punkt. Beweis. i) Die Zul¨ assigkeitsbedingungen in Teil a) implizieren f¨ ur i ∈ τ und j ∈ σ (b = τ × σ ∈ P + ), dass dist(τ, σ) > 0. Definitionsgem¨aß gilt dann ager(φi ), Tr¨ager(φj )) > 0, dist(Xi , Xj ) = dist(Tr¨ ager(φj ) sind disjunkt und besitzen daher auch keinen d.h. Tr¨ ager(φi ) und Tr¨ gemeinsamen inneren Punkt. Damit ist Teil ii) anwendbar.  ii) F¨ ur alle (i, j) ∈ b = τ × σ ∈ P + hat Mij = Ω w(D1 φi )(D2 φj )dx einen Integranden, der fast u ¨berall verschwindet, sodass Mij = 0. Dies beweist ur alle b ∈ P + . Wegen Rang(M |b ) = 0 ≤ k ist dieser Teil der Matrix M |b = O f¨ exakt in H(k, P ) darstellbar. F¨ ur b ∈ P − wird die verlustlose Darstellung als volle Matrix verwendet, sodass insgesamt M ∈ H(k, P ) folgt. Da M |b = O ∈ ur alle Vτ und Wσ , folgt auch Teil b). Vτ × Wσ f¨ Die Darstellung einer Finite-Element-Matrix M im schwach besetzten Format (vgl. §1.3.2.5) ist im Allgemeinen die g¨ unstigste, und die Eigenschaft M ∈ H(k, P ) soll nicht bedeuten, dass hier vorgeschlagen w¨ urde, M

222

9 Verschiedene Erg¨ anzungen

stattdessen im H-Matrixformat zu speichern. Aber wenn M als Eingabeparameter einer H-Matrixoperation (z.B. Inversion oder LU-Zerlegung) verwendet werden soll, ist dies nach Lemma 9.2.2 problemlos m¨oglich. Die Konvertierung einer schwach besetzten Matrix in das H-Format besteht aus ur b ∈ P + und a) M |b := O f¨ ¨ ur b ∈ P − als volle Matrix. b) Ubertragung des Matrixblocks M |b f¨ F¨ ur Teil a) ist die Modifikation des Rang-k-Formates gem¨aß Anmerkung 2.2.4 hilfreich. Der Teil b) ist f¨ ur die Wahl nmin = 1 trivial: alle Nicht-Null-Elemente aus M werden in einen 1 × 1-Block M |b (b ∈ P − ) u ¨bertragen. Im Falle von ullen, die in der nmin > 1 ist die volle Matrix M |b mit weiteren Nullen aufzuf¨ schwach besetzten Darstellung unterdr¨ uckt werden. 9.2.3 Separierbarkeit der Matrix ¨ Die in der Uberschrift genannte Eigenschaft, schwach besetzt zu sein, ist noch nicht ganz ausreichend. Genauer wird an die Matrizen die folgende Bedingung gestellt: ˙ 2 ∪I ˙ s Die Indexmenge I sei disjunkt zerlegbar in I = I1 ∪I mit #I1 ≈ #I2 , und #Is  #I,

(9.4a) (9.4b) (9.4c)

sodass die zu zerlegende Matrix A, nachdem man die Indizes in der Reihenfolge I1 , I2 , Is sortiert hat, die Blockgestalt I2

A

=

{A I{ O I1

2 Is

11

Is {

{ {

I1

O

A 1s

A 22

A 2s A ss

{

(9.4d)

A s1 A s2

aufweist. Die Indexmenge Is sei Separator genannt, da A|(I\Is )×(I\Is ) in die allt; die Außerdiagonalbl¨ocke A12 und Diagonalblockmatrizen A11 und A22 zerf¨ A21 enthalten nur Nullen. Die Bedingung (9.4b) stellt zum einen sicher, dass Ιs ahnlicher Gr¨ oßenordnung sind, zum A11 und A22 von ¨ anderen, dass die Nullbl¨ ocke groß sind (w¨ are #I1 = 1, bilden A12 , A21 nur eine Zeile bzw. Spalte). Ι2 Bedingung (9.4c) sagt aus, dass der Separator ver- Ι1 gleichsweise klein ist. Quantifizierungen werden noch folgen. Abb. 9.1. MatrixDie Forderungen (9.4a,d) k¨ onnen anhand des graph mit Zerlegung Matrixgraphen G(A) (vgl. Definition A.1.1) einfach

9.2 Modifizierte Clusterb¨ aume f¨ ur schwach besetzte Matrizen

223

formuliert werden. I ist die Knotenmenge. Es gebe eine (kleine) Untermenge Is , sodass der Graph nach Streichen aller zu Is geh¨orenden Knoten und Kanten in zwei unverbundene Teilgraphen zu den Knotenmengen I1 und I2 zerf¨ allt (vgl. Abbildung 9.1). Die letzte Formulierung liefert sofort eine hinreichende Bedingung f¨ ur (9.4a-d). Wenn G(A) ein planarer Graph ist, reicht ein linearer Graph wie in Abbildung 9.1 als Separator. Planare Graphen entstehen zum Beispiel bei der Diskretisierung von zweidimensionalen Randwertaufgaben mit Differenzenverfahren oder st¨ uckweise linearen finiten Elementen. Ist n = #I die Problem√ gr¨oße, erwartet man f¨ ur den Separator nach geeigneter Wahl #Is = O( n) und #I1 , #I2 ≈ n/2. Im Falle der finiten Elemente im Gebiet Ω ⊂ R2 bestimmt man eine Kurve γ ⊂ Ω mit Endpunkten auf Γ = ∂Ω, die aus Seiten der Dreiecke der Finite-Element-Triangulation besteht γ (vgl. Abbildung 9.2). Die Indizes i ∈ Is sind den i i Knotenpunkten in γ zugeordnet. Die Knoten links (rechts) von γ werden zu I1 (I2 ) zusammengefasst. Sind i1 ∈ I1 und i2 ∈ I2 , so liegen die Tr¨ager der Abb. 9.2. Gebiets- Basisfunktionen φi1 und φi2 auf verschiedenen Seiten zerlegung mittels γ von γ und k¨ onnen sich h¨ochstens mit ihren R¨andern u ¨berlappen. Damit folgt Ai1 i2 = 0, wie in (9.4d) gefordert. Sollte der Tr¨ ager der Basisfunktionen breiter sein6 , muss auch der Separator breiter gew¨ ahlt werden. Im d-dimensionalen Fall Ω ⊂ Rd ist γ als eine (d − 1)0 dimensionale Mannigfaltigkeit zu w¨ ahlen, die aus Seiten0 fl¨ achen (d = 3) der finiten Elemente besteht und ∂γ ⊂ ∂Ω 0 erf¨ ullt. Dann bilden die in γ enthaltenen Knotenpunkte oßenordnungen den Separator Is . Die zu erwartenden Gr¨ 0 sind nun #Is = O(n(d−1)/d ) und #I1 , #I2 ≈ n/2. Mit steigender Dimension d verschlechtert sich das Verh¨altnis Abb. 9.3. Zwei#Is /#I = O(n−1/d ). fache Zerlegung Die Beispiele der Randwertaufgaben in Ω machen deutlich, dass das Verfahren iteriert werden kann: γ trennt Ω in Teilgebiete Ω1 und Ω2 , und die Untermatrizen A11 und A22 aus (9.4d) geh¨oren zu Randwertaufgaben in diesen Teilbereichen, sind also von gleicher Natur wie die Originalmatrix. Letzteres f¨ uhrt zur abschließenden Voraussetzung: 1

2

0

0

Die Teilmatrizen Aii := A|Ii ×Ii (i = 1, 2) sollen wieder (9.4a-e) erf¨ ullen oder hinreichend klein sein.

(9.4e)

Die Forderung gew¨ ahrleistet, dass die Zerlegung rekursiv fortgesetzt werden kann (Abbildung 9.3 zeigt das Resultat nach einer weiteren Zerlegung). Die 6

Der Tr¨ ager eines eindimensionalen kubischen B-Splines enth¨ alt vier Intervalle, reicht also u achsten Knoten. In einem ¨ber die Nachbarknoten bis zu den u ¨bern¨ quadratischen Gitter k¨ onnte man Tensorprodukte dieser B-Splines bilden.

224

9 Verschiedene Erg¨ anzungen

Bedingung #Is  #I ist selbstverst¨ andlich keine pr¨azise Bedingung. Insbesondere verliert das Zeichen  jede Bedeutung, wenn #I nicht mehr groß ist. In diesem Fall bricht die Rekursion ab, da in (9.4e) “hinreichend kleine” Teilmatrizen auftreten. Die Zerlegung (9.4a) findet sich schon bei dem dissection-Verfahren von George [45]. Sie entspricht aber auch der (iterierten Form der) Gebietszerlegung. 9.2.4 Konstruktion des Clusterbaums Die Zerlegung der Indexmenge I in die drei Teilmengen aus (9.4a) kann relativ leicht durchgef¨ uhrt werden. Eine Variante der Zerlegung aus §5.4.2 lautet wie folgt. Seien den Indizes i ∈ I wieder Knotenpunkte ξi ∈ Rd zugeordnet. Die Zerlegung des (Minimal-)Quaders liefere die Bin¨arzerlegung von I in Iˆ1 und Iˆ2 . Die erste Menge I1 := Iˆ1 wird u ¨bernommen, die zweite jedoch noch zerlegt: ur ein j ∈ I1 }, Is := {i ∈ Iˆ2 : es gibt Aij = 0 oder Aji = 0 f¨ I2 := Iˆ2 \Is . Offenbar erf¨ ullt die Zerlegung (I1 , I2 , Is ) die Bedingung (9.4a). Allerdings kann der Zerlegungsalgorithmus noch verbessert werden, um #Is m¨oglichst klein zu ahnlicher Kardinalit¨at zu erhalten machen (Bedingung (9.4c)) und I1 , I2 von ¨ (Bedingung (9.4b)). Prinzipiell k¨ onnte man diese Zerlegung rekursiv fortsetzen und erhielte so einen tern¨ aren Baum T (I). Es stellt sich aber heraus, dass dieses Vorgehen nicht optimal ist. Der Grund ist der unterschiedliche Charakter der drei Teilmengen I1 , I2 und Is . Zur Illustration wird im Folgenden der zweidimensionale Fall Ω ⊂ R2 zugrundegelegt. Die ersten beiden Mengen I1 und I2 entsprechen den (zweidimensionalen) Teilgebieten Ω1 und Ω2 (vgl. Abbildung 9.2). Dagegen geh¨ oren die Indizes von Is zu Knoten der (eindimensionalen) Kurve γ. Jeder Zerlegungsschritt halbiert die zugeh¨ orige Knotenmengen {ξi : i ∈ Iα }, α ∈ {1, 2, s}, in der Raumrichtung gr¨ oßer Ausdehnung. Wie im Beweis von Anmerkung 5.4.2 erw¨ ahnt, sorgt das Verfahren daf¨ ur, dass ein d-dimensionaler Ausgangsquader nach d Zerlegungsschritt (bez¨ uglich des Durchmessers) in etwa halbiert ist. Dies bedeutet: Die Durchmesser von √ Indexmengen, die zu Teilgebieten von Ω geh¨ oren, werden im Schnitt um 1/ 2 pro Zerlegungsstufe verkleinert; die Durchmesser von Indexmengen, die zu Trennlinien γ geh¨oren, werden dagegen im Schnitt um 1/2 verkleinert. Auf der Stufe  enth¨alt T () (I) somit Indexmengen von zunehmendem Gr¨ oßenunterschied. Da sp¨ater Bl¨ocke σ × τ aus Clustern τ, σ der gleichen Stufe konstruiert werden (“Stufentreue”), sind diese in einer Richtung (Zeile oder Spalte) unn¨otig verfeinert. Die folgende Modifikation (hier f¨ ur d = 2 erkl¨art und illustriert) vermeidet die systematische Verzerrung der Gr¨ oßenordnungen. Die Clustermenge T (I) wird in “zweidimensionale” Cluster Td (I) und “eindimensionale” Cluster Td−1 (I) unterteilt. Ihre Definition ist:

9.2 Modifizierte Clusterb¨ aume f¨ ur schwach besetzte Matrizen

225

a) I ∈ Td (I), oren die S¨ ohne τ1 , τ2 zu Td (I), w¨ahrend der dritte b) ist τ ∈ Td (I), so geh¨ ort, Sohn τs zu Td−1 (I) geh¨ oren zu Td−1 (I). c) alle Nachfolger von τ ∈ Td−1 (I) geh¨ I

I1

I 11

I 12

I2

I 1s

I 21

Is

I 22

I 2s

Is

Abb. 9.4. Clusterbaum T (I)

In Abbildung 9.4 entsprechen Rechtecke mit gestrichelten Seiten Clustern aus Td−1 (I), die anderen Rechtecke entsprechen Td−1 (I). Die Zerlegungsregeln lauten: a) Ein Cluster τ ∈ Td (I) wird stets tern¨ ar zerlegt. Da im Falle einer LUZerlegung eine Anordnung der S¨ ohne von τ erforderlich ist, sei diese wie folgt festgelegt: Zuerst kommen die S¨ ohne τ1 , τ2 ∈ S(τ ) ∩ Td (I) in beliebiger Reihenfolge (Kantenkennzeichnung in Abbildung 9.4 mit durchgezogener Linie), danach der Sohn τs ∈ S(τ ) ∩ Td−1 (I) (gestrichelte Linie). b) Die Behandlung eines Clusters τ ∈ Td−1 (I) h¨angt von seinem Abstand zum n¨ achsten Td (I)-Vorfahr ab. Hierzu sei α(τ ) := min{level(τ ) − level(τ  ) : τ  ∈ Td (I) Vorfahr von τ } eingef¨ uhrt. ba) F¨ ur ungerades α(τ ) wird nicht geteilt7 (punktierte Kante in Abbildung 9.4). bb) F¨ ur gerades α(τ ) wird τ wie bisher gem¨aß §5.4 bin¨ar8 geteilt (strichpunktierte Kanten in Abbildung 9.4). 7 8

Zur Problematik der Baumnotation vergleiche man Bemerkung 5.3.2. Da in Bl¨ ocken mit Td=1 (I)-Komponente (wie z.B. A1s aus (9.4d)) Auff¨ ullung stattfinden wird, ist eine tern¨ are Aufspaltung nicht sinnvoll.

226

9 Verschiedene Erg¨ anzungen

Diese Regeln garantieren, dass alle Cluster aus T () (I) Nachfolger auf der Stufe  + 2 haben, deren Durchmesser in etwa halbiert sind. F¨ ur d = 3 sind diese Regeln geeignet abzu¨ andern. Der zugeh¨ orige Blockclusterbaum9 T (I × I) sei stufentreu konstruiert. Die Blockpartition bis zur Stufe  = 2 ist in Abbildung 9.3 zu sehen. 9.2.5 Anwendung auf Invertierung Bei einer Implementierung auf einem Parallelrechner besitzt der Invertierungsalgorithmus aus §7.5.1 einen prinzipiellen Nachteil. Die Invertierung von M |τ ×τ kann erst erfolgen, wenn die #ST (I) (τ ) Invertierungen in den Bl¨ocken τ  × τ  (τ  ∈ ST (I) (τ )) abgearbeitet sind. Dies verhindert eine Parallelisierung10 . Bei der Zerlegung (9.4d) sind zwar auch erst die Diagonalbl¨ocke A11 und A22 zu invertieren, bevor das Schur-Komplement auf Is × Is gebildet und invertiert werden kann, aber zum einen k¨ onnen die Inversen von A11 und ollig parallel berechnet werden und zum anderen sind die Berechnungen A22 v¨ auf Is × Is wegen der Bedingung (9.4c) wesentlich billiger als die A11 - und A22 -Invertierungen. Der Algorithmus ist weiterhin sequentiell in der Stufenzahl: Die Invertierung von M |τ ×τ kann erst erfolgen, wenn die Invertierungen zu τ  × τ  (τ  = S(τ )) beendet sind. N¨ aheres zu dieser Methode findet sich in Hackbusch [70] und HackbuschKhoromskij-Kriemann [85]. Parallele H-Matrix-Implementierungen werden allgemein von Kriemann [103, 104] diskutiert. 9.2.6 Zul¨ assigkeitsbedingung Bei der Berechnung der Inversen f¨ ullen sich alle Nullbl¨ocke auf, da im alt. Die folgenden Modifikationen beziehen Allgemeinen A−1 keine Nullen enth¨ sich daher nur auf Matrixoperationen, die die Nullblockstruktur (9.4d) erhalten. Hierzu geh¨ ort auch die LU-Zerlegung (siehe Anmerkung 9.2.3). Die Nullbl¨ ocke aus (9.4d) sind durch ur ein τ ∈ Td (I) τ  × τ  mit τ  = τ  und τ  , τ  ∈ S(τ ) ∩ Td (I) f¨

(9.5)

charakterisiert. Die Bl¨ ocke b = τ  × τ  sind nicht zul¨assig im Sinne der Definiuhren tion 5.2.4, da sich die Tr¨ agermengen Xτ  und Xτ  in der Trennlinie γ ber¨ und somit dist(τ  , τ  ) = 0 gilt. Trotzdem ist macht es keinen Sinn, b weiter zu zerlegen. Deshalb wird die Zul¨ assigkeitsbedingung Adm∗ (·) aus (5.50) modifiziert: 9

10

Da hier LU-Zerlegungen durchgef¨ uhrt werden sollen, ist nur der quadratische Fall I = J von Interesse. Unbenommen ist die Parallelisierung der auftretenden Matrix-Matrix-Multiplikationen und -Additionen.

9.2 Modifizierte Clusterb¨ aume f¨ ur schwach besetzte Matrizen

227

Adm∗∗ (τ  × τ  ) := (Adm∗ (τ  × τ  ) oder τ  × τ  erf¨ ullt (9.5)) . assige P artition(I × I) ⊂ T (I × I) ist in Die Partition P := minimale zul¨ (5.52) definiert, wobei in (5.53) Adm∗ durch die neue Zul¨assigkeitsbedingung Adm∗∗ ersetzt sei. Bisher wurde P in die Nah- und Fernanteile zerlegt: ˙ + . Jetzt bietet sich eine dreifache Zerlegung an: P = P − ∪P ˙ − ∪P ˙ + P = P 0 ∪P

mit P 0 := {b ∈ P erf¨ ullt (9.5)},

˙ + zerlegt wird. w¨ ahrend P \P 0 wie bisher in P − ∪P 9.2.7 LU-Zerlegung Der Algorithmus aus §7.6 kann unver¨ andert angewandt werden. Der Vorteil des neuen Clusterbaums T (I) ergibt sich aus der folgenden Aussage. ur alle b ∈ P 0 . Dann liefert Anmerkung 9.2.3. A ∈ H(k, P ) erf¨ ulle A|b = O f¨ die approximative LU-Zerlegung gem¨ aß (7.40) Faktoren L, U ∈ H(k, P ), die ur b ∈ P 0 erf¨ ullen. ebenfalls L|b = U |b = O f¨ F¨ ur zweidimensionale Probleme, d.h. Diskretisierungen von Randwertaufgaben in Ω ⊂ R2 , l¨ asst sich noch eine weitere Vereinfachung vornehmen, die Bl¨ ocke τ × σ mit τ ∈ Td−1 (I) oder σ ∈ Td−1 (I) betrifft. Sei zun¨achst angenommen, dass beide Cluster τ, σ zum “eindimensionalen” Teil Td−1 (I) geh¨ oren. Der Abstand dist(τ, σ) kann in den folgenden F¨allen null sein oder zumindest sehr klein werden: a) τ = σ, b) τ und σ geh¨ oren zu Teilen derselben separierenden Kurve γ (siehe Abbildung 9.5, links), c) τ ist Teil von γ und σ Teil einer separierenden Kurve γ  im Teilgebiet (siehe Abbildung 9.5, Mitte). Im gemischten Fall τ ∈ Td (I) und σ ∈ Td−1 (I) tritt dist(τ, σ) = 0 in den folgenden F¨ allen auf: d) τ geh¨ ort zu einem Teilgebiet Ωτ und σ zu einem Separator γσ mit γσ ⊂ ∂Ωτ . ohne von τ V . Das Teilgebiet Ωτ V ist zerlegt in Ωτ und e) τ und τ  sind die S¨ ort zum Separator von Ωτ  (siehe Abbildung 9.5, rechts). Ωτ  . σ geh¨ In den F¨ allen a) und d) gibt es viele Indexpaare (i, j) mit i ∈ τ und j ∈ σ und dist(Xi , Xj ) = 0. Dagegen ber¨ uhren sich

τ b)

σ

c)

τ

σ e)

τ

Abb. 9.5. schwach zul¨ assige F¨ alle

σ

228

9 Verschiedene Erg¨ anzungen

die Tr¨ ager zu τ und σ in den F¨ allen b), c), e) nur f¨ ur ein Indexpaar. Dies entspricht der Situation, die in §9.3 n¨ aher analysiert wird. Wie dort an einfacheren Modellf¨ allen ausgef¨ uhrt, ist der Block τ × σ “schwach zul¨assig”. Er kann Element der Partition P werden und braucht daher nicht weiter unterteilt zu werden. Wenn man nicht von der schwachen Zul¨ assigkeit Gebrauch machen will, kann man zun¨ achst die u assigkeit verwenden und dann u ¨bliche Zul¨ ¨ber den Rekompressionsschritt aus §6.7.2 zu einer gr¨oberen Partition u ¨bergehen. Hier stellt sich oft heraus, dass die schwach zul¨assigen Bl¨ocke Resultat der Vergr¨ oberung sind (vgl. Grasedyck [53, Fig. 6]). Umfangreiche numerische Resultate und Vergleiche mit anderen Verfahren finden sich in Grasedyck-Hackbusch-Kriemann [59]. 9.2.8 H-Matrixeigenschaften der LU-Faktoren W¨ ahrend die Inverse einer Diskretisierungsmatrix noch Eigenschaften mit dem Schwartz-Kern des inversen Differentialoperators teilt, ist es zun¨achst unklar, was die Eigenschaften der LU-Faktoren sind, ob sie insbesondere durch das H-Matrixformat approximiert werden k¨ onnen. Bebendorf [9] stellte u ¨ber die nachfolgend erkl¨ arten Schur-Komplemente eine Verbindung zwischen der inversen Matrix und den LU-Faktoren her. Die Anwendung auf den Clusterbaum aus §9.2.4 wurde kurz danach in Grasedyck-Kriemann-Le Borne [60] ausgearbeitet. Die hier gegebene Darstellung folgt der letztgenannten Arbeit. In §5.3.4 wurde die interne Anordnung der Indizes und Cluster von T (I) diskutiert. Es sei an folgende Notationen erinnert: i < j (bzw. j > i) ist die Anordnungsrelation in I × I. Zu Teilmengen τ, σ ⊂ I sei definiert: min(τ ) := arg min {i ∈ τ } , max(τ ) := arg max {i ∈ τ } , min(τ, σ) := min{min(τ ), min(σ)}. In u onnen Intervalle gebildet werden: F¨ ur i, j ∈ I seien ¨blicher Weise k¨ [i, j] := {ν ∈ I : i ≤ ν ≤ j} ,

[i, j) := {ν ∈ I : i ≤ ν < j} .

Nach Konstruktion der Anordnung in §5.3.4 gilt f¨ ur alle Cluster τ ∈ T (I) die Intervalleigenschaft τ = [min(τ ), max(τ )]. Die Schur-Komplemente beziehen sich hier auf eine feste Matrix A ∈ RI×I . Voraussetzung 9.2.4 a) F¨ ur alle Intervalle ρ := [min(I), i] (i ∈ I) sei die Hauptuntermatrix A|ρ×ρ invertierbar. b) Es gebe eine Funktion k(ε) mit Werten in N0 , sodass zu jedem ρ aus Teil a) und alle ε > 0 eine approximative Inverse Bρ,H (ε) ∈ H(k(ε), P |ρ×ρ ) mit −1 (9.6) (A|ρ×ρ ) − Bρ,H (ε) ≤ ε 2

existiert (zu P |ρ×ρ vergleiche man (6.3)). Die Voraussetzung aus Teil a) ist hinreichend und notwendig f¨ ur die Existenz einer LU-Zerlegung.

9.2 Modifizierte Clusterb¨ aume f¨ ur schwach besetzte Matrizen

229

¨ ρ Die Uberlegungen aus §11 werden f¨ ur die Inverse σ von Finite-Element-Matrizen eine Ungleichung der Form ρ ρ x ρ (9.6) ergeben. F¨ ur die Inverse der Masse-Matrix liefert τ xσ §11.1 eine entsprechende Absch¨ atzung. Eine typische τ 2 d−1 (1/ε)), Gr¨ oßenordnungen von k(ε) ist O(log #I log wobei d die Raumdimension des zugrundeliegenden Gebietes ist. Die Resultate aus §11 sind etwas pessimistischer: d − 1 ist durch d + 1 ersetzt und es kommt Abb. 9.6. Bl¨ ocke durch die Beweistechnik bedingt ein Finite-Elementτ × σ und ρ × ρ Konsistenzfehler hinzu. Da diese Approximationsresultate nicht vom Gebiet abh¨ angen, gelten sie nicht nur f¨ ur das Gesamtgebiet, sondern auch f¨ ur Teilgebiete. Die Hauptuntermatrizen A|ρ×ρ lassen sich als Finite-Element-Matrizen zur gleichen Bilinearform aber beschr¨ankt auf ein Teilgebiet interpretieren. Definition 9.2.5. Es gelte Voraussetzung 9.2.4a. F¨ ur beliebige Cluster τ, σ ∈ T (I) wird das zugeh¨ orige Schur-Komplement definiert durch S(τ, σ) := A|τ ×σ − A|τ ×ρ (A|ρ×ρ )

−1

A|ρ×σ

mit ρ := [min(I), min(τ, σ)).

Abbildung 9.6 illustriert die Lage der Bl¨ ocke τ × σ und ρ × ρ. Die bisher aufgetretenen Schur-Komplemente entsprachen dem Sonderfall τ = σ. Falls −1 ρ = ∅, entf¨ allt der Teil A|τ ×ρ (A|ρ×ρ ) A|ρ×σ . So gilt insbesondere S(I, I) = A.

(9.7)

Lemma 9.2.6. Zu jedem Block b = τ × σ ∈ T (I × I, P ) und jedem ε > 0 existiert eine Matrix SH (τ, σ) ∈ H(kS (ε), P |b ) mit 2

S(τ, σ) − SH (τ, σ)2 ≤ A2 ε, wobei kS (ε) = O(depth(T (I × I, P )2 k(ε)) mit k(ε) aus Voraussetzung 9.2.4b. Beweis. Wir verwenden die Definition SH (τ, σ) := A|τ ×σ −A|τ ×ρ Bρ,H (ε)A|ρ×σ −1 mit Bρ,H (ε) aus (9.6) anstelle von (A|ρ×ρ ) . Die Multiplikation wird exakt durchgef¨ uhrt und erh¨ oht deshalb den lokalen Rang um den Faktor O(depth(T (I × I, P )2 ) (vgl. Satz 7.8.19 und [60, Theorem 1]). Das n¨ achste Lemma behandelt den Fall τ = σ. Es sei an die Menge Td (I) der Gebietscluster und die Menge Td−1 (I) der Separatoren(teilmengen) aus §9.2.6 erinnert. Lemma 9.2.7 ([60]). Die LU-Zerlegung des Schur-Komplements sei bezeichnet mit S(τ, τ ) = L(τ, τ )U (τ, τ ). a) F¨ ur τ ∈ T (I) ∩ Td (I) ist S(τ, τ ) = A|τ ×τ . Falls τ ∈ / L(T (I)) gilt die Blockzerlegung

230

9 Verschiedene Erg¨ anzungen

⎤ O A|τ1 ×τ3 A|τ1 ×τ1 A|τ2 ×τ2 A|τ2 ×τ3 ⎦ , =⎣ O A|τ3 ×τ1 A|τ3 ×τ2 A|τ3 ×τ3 ⎡

S(τ, τ ) = A|τ ×τ ⎡

L(τ1 , τ1 ) O L(τ, τ ) = ⎣ A|τ3 ×τ1 U (τ1 , τ1 )−1 ⎡ U (τ1 , τ1 ) O O U (τ2 , τ2 ) U (τ, τ ) = ⎣ O O

⎤ O O ⎦, O L(τ2 , τ2 ) −1 A|τ3 ×τ2 U (τ2 , τ2 ) L(τ3 , τ3 ) ⎤ −1 L(τ1 , τ1 ) A|τ1 ×τ3 L(τ2 , τ2 )−1 A|τ2 ×τ3 ⎦ , U (τ3 , τ3 )

wobei τ1 , τ2 ∈ T (I) ∩ Td (I) und τ3 ∈ T (I) ∩ Td−1 (I) die drei S¨ ohne von τ sind. ohnen τ1 , τ2 ∈ T (I) ∩ Td−1 (I) gilt die b) F¨ ur τ ∈ T (I) ∩ Td−1 (I) mit zwei S¨ Rekursionsformel   S(τ1 , τ2 ) S(τ1 , τ1 ) , S(τ, τ ) = S(τ2 , τ1 ) S(τ2 , τ2 ) − S(τ2 , τ1 )S(τ1 , τ1 )−1 S(τ1 , τ2 )   O L(τ1 , τ1 ) , L(τ, τ ) = S(τ2 , τ1 )U (τ1 , τ1 )−1 L(τ2 , τ2 )   U (τ1 , τ1 ) L(τ1 , τ1 )−1 S(τ1 , τ2 ) . U (τ, τ ) = O U (τ2 , τ2 ) Die Rekursion aus Lemma 9.2.7 f¨ ur L(τ, τ ) und U (τ, τ ) kann von den Bl¨ attern τ ∈ L(T (I)) bis zur Wurzel I angewandt werden. Wegen (9.7) sind L = L(I, I) und U = U (I, I) die gesuchten LU-Faktoren von A = LU. F¨ ur die H-Matrixdarstellung wird das Format H(kLU , P ) im Falle der ur die Teilmatrizen Gesamtmatrizen LH , UH und das Format H(kLU , P |τ ×τ ) f¨ ur die theoretische UnterLH (τ, τ ) und UH (τ, τ ) (τ ∈ T (I)) verwendet. F¨ suchung wird die optimale K¨ urzung der exakten Matrizen verwendet: (L(τ, τ )), LH (τ, τ ) := TkH LU

UH (τ, τ ) := TkH (U (τ, τ )), LU

atzung von L(τ, τ ) − LH (τ, τ )2 wobei TkH in (7.6) definiert ist. Zur Absch¨ und U (τ, τ ) − UH (τ, τ )2 wird die obige Rekursion verwendet, wobei f¨ ur die dort auftretenden Schur-Komplemente Lemma 9.2.6 eingesetzt wird. Der in [60, Theorem 1] durchgef¨ uhrte Induktionsbeweis ergibt schließlich f¨ ur L = L(I, I) und U = U (I, I) Approximationen LH und UH mit folgender Fehlerschranke: Satz 9.2.8. Es gelte Voraussetzung 9.2.4. Dann gilt 2

L − LH 2 ≤ cU depth(T (I × I, P )) A2 ε, 2

U − UH 2 ≤ cL depth(T (I × I, P )) A2 ε, wobei cU := maxτ ∈T (I) U (τ, τ )−1

2

und cL := maxτ ∈T (I) L(τ, τ )−1

2

.

9.2 Modifizierte Clusterb¨ aume f¨ ur schwach besetzte Matrizen

231

Die individuellen Fehlerabsch¨ atzungen f¨ ur LH und UH sind st¨arkere Bedingungen, als man sie wirklich ben¨ otigt. Da LH und UH nur in der Form des Produktes LH UH auftreten, ist eigentlich nur die Absch¨atzung von A − LH UH  = LU − LH UH  relevant. 9.2.9 Geometriefreie Konstruktion der Partition Die Zul¨ assigkeitsbedingung Adm nach Definition 5.2.4 ben¨ otigt die geometrischen Durchmesser und Abst¨ande der Cluster. Zur Vereinfachung wurden in §5.4.2 die Cluster durch Quader ersetzt, es waren aber weiterhin die Knotenpunkte ξi ∈ Rd als Geometriedaten essenγ tiell. γ Auch wenn die Geometriedaten bei der Aufstellung der schwach besetzten Matrix verwendet werden, brauchen die Daten bei sp¨ateren Programmschritten (z.B. LU-Zerlegung) nicht mehr verf¨ ugbar zu sein. Es stellt sich deshalb die Frage, ob die hierarchischen Abb. 9.7. Pfade f¨ ur Strukturen (Cluster-, Blockclusterbaum und Partinichtkonvexes Gebiet tion) ohne geometrischen Zusatzinformationen nur aus den Daten des Gleichungssystems konstruiert werden k¨ onnen. Die vergleichbare Situation hat bei Mehrgittermethoden zur Variante der “algebraischen Mehrgitterverfahren” gef¨ uhrt, wobei “algebraisch” bedeutet, dass nur das lineare algebraische Gleichungssystem als Eingabe dient11 . Im Falle einer schwach besetzten Matrix M gibt es einen (schwachen) Zusammenhang zwischen der geometrischen Situation und dem Matrixgraphen G(M ) (vgl. Definition A.1.1). Mit Hilfe des Matrixgraphen kann der Abstand δ(i, j) zwischen den Knoten i, j ∈ I definiert werden (vgl. (A.1)). Der Abstand δ(i, j) entspricht der L¨ ange eines Pfades γ = (i = i0 , i1 , . . . , i = j) im Graphen G(M ). Da jedem ik ∈ γ ein Knotenpunkt ξk ∈ Rd zugeordnet ist, entspricht γ einem geometrischen Pfad γˆ ⊂ Rd , der ξi mit ξj verbindet. Damit kann γˆ als Streckenzug ξi0 ξi1 ∪ ξi1 ξi2 ∪ . . . ∪ ξi−1 ξi definiert werden. In uniformen Gittern haben alle Strecken ξiν ξiν+1 eine Gr¨oße, die der Gitterweite h entspricht. Daher hat γˆ in etwa die L¨ange h. Somit folgt

Ω

L¨ ange(ˆ γ ) ≈ L¨ ange(γ) · h als Beziehung zwischen der geometrische Pfadl¨ange und der Graphenpfadl¨ ange in G(M ). In der sp¨ ateren Anmerkung 11.1.2 wird die Ungleichung 11

Der Terminus “algebraisches Mehrgitterverfahren” wird verschieden verwendet. Gelegentlich wird er benutzt, wenn nur ein Gitter mit allen geometrischen Gitterdaten vorliegt, aber nicht die f¨ ur das Mehr gitterverfahren typischen gr¨ oberen Gitter. Diese Situation ist bei hierarchischen Matrizen stets gegeben. Hier geht es um die strengere Auslegung, dass auch die geometrischen Daten des feinen Gitters nicht zur Verf¨ ugung stehen.

232

9 Verschiedene Erg¨ anzungen

L¨ ange(ˆ γ ) ≤ L¨ ange(γ) · h gezeigt werden. F¨ ur stark verfeinerte Gitter gehen die beiden Abstandsbegriffe auseinander. Wenn das zugrundeliegende Gebiet Ω ⊂ Rd konvex ist, l¨asst sich auch die umgekehrte Ungleichung L¨ ange(γ) · h ≤ const · L¨ ange(ˆ γ ) rechtfertigen. In nichtkonvexen Gebieten ist diese Aussage offenbar falsch (vgl. Abbildung 9.7), allerdings erweist sich f¨ ur das abgebildeten Randwertproblem, dass die minimale L¨ ange des im Gebiet vorlaufenden Pfades γ die Gegebenheiten besser beschreibt12 . Wir setzen nun diam(τ ) := 1 + max{δ(i, j) : i, j ∈ τ }, dist(τ, σ) := min{δ(i, j) : i ∈ τ, j ∈ σ}.

(9.8a) (9.8b)

Die Addition von 1 in diam(τ ) ist dadurch gerechtfertigt, dass f¨ ur i = j (d.h. δ(i, j) = 0) nur ein Knotenpunkt ξi vorliegt, der aber den Tr¨ager der Finiteasentiert, dessen Durchmesser h ist. Element-Basisfunktion φi repr¨ Mit den Gr¨ oßen (9.8a,b) l¨ asst sich die Zul¨assigkeitsbedingung (5.8) oder jene aus (5.9a-c) definieren. Man beachte, dass die Skalierung mit einer Schrittweite h irrelevant ist, da nur der Quotient von diam und dist eingeht. In der Arbeit Grasedyck-Kriemann-Le Borne [62] finden sich die Details zum Umgang mit der Graph-Metrik, zur Konstruktion der Gebietszerlegung, d.h. des Clusterbaumes aus §9.2.4, und zur hierarchischen LU-Zerlegung. Die dort pr¨ asentierten Testbeispiele zeigen, dass die geometriefreien Verfahren, die nur auf den Matrixgraph-Daten beruhen, verl¨ asslich gute Resultate liefern. Geometriefreie Verfahren f¨ ur Sattelpunktsysteme werden in Le Borne et al. [108] behandelt.

9.3 Schwache Zul¨ assigkeit 9.3.1 Definition und Absch¨ atzungen Die u assigkeitsbedingung aus Definition 5.2.4 wird im Folgenden ¨bliche η-Zul¨ als die starke Zul¨ assigkeitsbedingung bezeichnet. Sie f¨ uhrt im Falle des 1DModellproblems aus §5.1.2 zu der Partition aus Abbildung 5.1 (auf Seite 86). Auf der anderen Seite gibt es die einfachere Partition aus den einf¨ uhrenden Kapitel 3.1. Das dortige Modellformat Hp ist in Abbildung 3.1 (auf Seite 43) wiedergegeben. 12

Man beachte hier einen entscheidenden Unterschied zwischen a) den schwach besetzten Systemen, die Randwertaufgaben diskretisieren, und b) Randelementmatrizen. Im letzten Falle ist der Euklidische Abstand entscheidend, da er die St¨ arke der Singularit¨ at beschreibt. Der geod¨ atische Abstand auf der Oberfl¨ ache ist unerheblich. Im ersten Fall ist dagegen der geod¨ atische Abstand innerhalb des Gebietes maßgebend.

9.3 Schwache Zul¨ assigkeit

233

Man erkennt den wesentlichen Unterschied, wenn man jeweils das obere rechte Viertel der Matrixformate vergleicht. Im einfacheren Modellformat Hp befindet sich dort nur ein einziger Block

, w¨ ahrend dieser

in Abbildung 5.1 gem¨ aß der u assigkeits¨blichen Zul¨ bedingung zur Diagonale hin weiter unterteilt ist, wie Abbildung 9.8 zeigt. Eine Zul¨ assigkeitsbedingung, die im Falle des 1D- Abb. 9.8. Partition Modellproblems aus §5.1.2 das Modellformat Hp repro- bei starker Zul¨assigkeit duziert, ist  true falls X ∩ Y leer oder vom Maß null, (9.9) Admschwach (X, Y ) := f alse falls X ∩ Y positives Maß hat, wobei X und Y Teilintervalle von [0, 1] sind. Die durch (9.9) definierte Zul¨ assigkeitsbedingung sei jetzt als schwache Zul¨ assigkeit bezeichnet. Sie erf¨ ullt die Bedingungen (5.13a-c), die in §5.2.3 an verallgemeinerte Zul¨ assigkeitsbedingungen gestellt werden. Sei Pschwach ⊂ T (I × I) die Partition, die mit der schwachen Zul¨ assigkeitsbedingung erzeugt wird, bliche Partition bezeichne. Matrizen vom Modellw¨ ahrend P = Pstark die u ¨ oren dann zu H(k, Pschwach ), wobei in §5.1.2 k = 1 gew¨ahlt format Hp geh¨ worden war. ur die Offenbar geh¨ort jedes M ∈ H(k, Pschwach ) auch zu H(k, Pstark ). F¨ umgekehrte Richtung gilt die Anmerkung 9.3.1. Seien T (I) ein bin¨ arer Clusterbaum und M eine Matrix ur ein k ∈ N. Dann gilt M ∈ H(k , Pschwach ) f¨ ur den mit M ∈ H(k, Pstark ) f¨ vergr¨ oßerten Rang k  := 4 + 3k · (depth(T (I × I, Pschwach )) − 1) .

(9.10)

Im Falle des Modellformates Hp mit nmin = 1 ist depth(T (I × I, Pschwach )) = p − 1, wobei p = log2 #I. Beweis. Der schlechteste Fall ist in Abbildung 9.8 illustriert. Der zugeh¨orige ur  = 2, . . . , p−1. Block zerf¨ allt in je drei Teilbl¨ ocke aus T () (I ×I, Pschwach )) f¨ Auf der Stufe  = p treten vier 1×1-Teilbl¨ ocke (vom Rang 1) auf. Die Agglomeration aller 1 + 3kp Bl¨ ocke kann den Rang h¨ochstens um diesen Faktor vergr¨ oßern (vgl. Definition 1.3.8). Im Falle eines allgemeinen bin¨aren Clusterbaumes ist p − 1 durch depth(T (I × I, Pschwach )) zu ersetzen. Die Frage, ob eine Darstellung in H(k , Pschwach ) oder H(k, Pstark ) hinsichtlich des Speicherbedarfs g¨ unstiger ist, l¨asst sich einfach beantworten (zur Vereinfachung gehen wir vom Modellformat Hp mit n = 2p = #I aus). otigt 24k−8+(6 − 18k) n+6kn log2 n Speichereinheiten, M ∈ H(k, Pstark ) ben¨ uhrt. Asymptotisch w¨ ahrend H(k , Pschwach ) zu (2 − 2k  ) n + 2k  n log2 n f¨ verh¨ alt sich der Aufwand wie 3k zu k  . Wenn wie in (9.10) k  ≈ 3kp gilt,

234

9 Verschiedene Erg¨ anzungen

scheint die Darstellung in H(k , Pschwach ) ung¨ unstig zu sein. Allerdings ist der lokale Rang in (9.10) zu pessimistisch angegeben. Der lokale Rang verbessert sich, wenn er blockweise variieren darf (ein analoger Ansatz findet sich in §8.6). Korollar 9.3.2. Seien T (I) wie in Anmerkung 9.3.1 und M ∈ H(k, Pstark ). Dann gilt M ∈ H(k , Pschwach ) mit der lokalen Rangverteilung k  (b) = k := 4 + 3k (p − 1 − ) () f¨ ur b ∈ Pschwach := Pschwach ∩ T () (I × I, Pschwach )). Beweis. Der im obigen Beweis herangezogene Block aus Abbildung 9.8 geh¨ort zur Stufe  = 1. F¨ ur allgemeines  zerf¨ allt der Block in je drei Teilbl¨ocke aus ur λ =  + 1, . . . , p − 1. T (λ) (I × I, Pschwach )) f¨ Der Speicheraufwand f¨ ur das Format aus Korollar 9.3.2 ist halbiert, er betr¨ agt ≈ k  n log2 n mit k  aus (9.10). Eine weitere Verbesserung ergibt sich, wenn man der folgenden Frage nachgeht: Gegeben sei ein Integraloperator K mit asymptotisch glattem Kern diskretisiert durch die Matrix K. Ferner sei eine Genauigkeit ε > 0 vorgegeben. Die besten Approximationen Kstark,k ∈ H(k, Pstark ) und Kschwach,k ∈ uglich einer Matrixnorm ·) seien H(k, Pschwach ) (bez¨ best := arg min {M − K : M ∈ H(k, Pstark )} , Kstark,k best Kschwach,k := arg min {M − K : M ∈ H(k, Pschwach )} .

Im Falle der Frobenius-Norm · = ·F lassen sich die optimalen Approximationen durch die Anwendung von TkH aus (7.6) erreichen (jeweils bezogen auf die Partitionen Pstark und Pschwach ). Seien kstark = kstark (ε) und kschwach = kschwach (ε) die minimalen lokalen R¨ ange, die notwendig sind, um die Genauigkeit ε zu erreichen: % $ best ≤ε , kstark (ε) := arg min k ∈ N : K − Kstark,k % $ best kschwach (ε) := arg min k ∈ N : K − Kschwach,k ≤ε . + Definitionsgem¨ aß ist kstark/schwach konstant f¨ ur alle Bl¨ocke b ∈ Pstark/schwach . Die Aussage der Anmerkung 9.3.1 ergibt die Absch¨atzung

kschwach (ε) ≤ 4 + 3kstark (ε) · (depth(T (I × I, Pschwach )) − 1) .

(9.11)

9.3.2 Beispiel k(x, y) = log |x − y| Dank der asymptotischen Glattheit von k(x, y) liefert Anmerkung 4.1.5 die Asymptotik 1 (9.12a) kstark (ε) = O(log ) ε

9.3 Schwache Zul¨ assigkeit

235

(es liegt der eindimensionale Fall d = 1 vor). Mit Ungleichung (9.11) und depth(T (I × I, Pschwach ) = O(log n) ergibt sich     (9.12b) kschwach (ε) ≤ O log 1ε log n . + Eine Approximation von k(x, y) in b ∈ Pschwach ist problematisch. Sei zum uckweise konBeispiel b = τ × σ mit Xτ = [0, 1/2] und Xσ = [1/2, 1] (st¨ stante Ansatzfunktionen vorausgesetzt). F¨ ur x ∈ Xτ und y ∈ Xσ hat k(x, y) = log |x − y| eine Singularit¨ at bei x = y = 1/2. Folglich sind globale Polynomapproximationen nicht zielf¨ uhrend. Dagegen lassen sich mit hp-adaptiven Polynomapproximationen sowie mit der Sinc-Interpolation aus §D.2 separable Entwicklungen angeben, die zu    (9.12c) kschwach (ε) ≤ O log2 1ε

f¨ uhren. Eine andere Variante der Sinc-Interpolation f¨ uhrt zu  1   1   1 kschwach (ε) ≤ O log ε log h = O log ε log n .

(9.12d)

Will man bis auf den Diskretisierungsfehler genau approximieren, ist   log 1ε = O( log n) gefordert, sodass beide Schranken die identische Asymptotik O( log2 n) besitzen. Numerische Experimente (siehe [84])  zeigen   jedoch nicht das Verhalten (9.12b,c), sondern eher kschwach (ε) ≈ O log 1ε wie in (9.12a). Es l¨asst sich auch das ungef¨ ahre Verh¨ altnis von kschwach und kstark angeben: kschwach (ε) ≈ c · kstark (ε),

(9.12e)

wobei c eine Konstante zwischen 2 und 3.5 zu sein scheint. Es ist noch eine offene Frage, wie die L¨ ucke zwischen den theoretischen Schranken und den numerisch beobachteten Resultaten zu schließen ist. 9.3.3 Zusammenhang mit der Matrixfamilie Mk,τ Die Menge Mk,τ wurde in Definition 3.9.5 eingef¨ uhrt. ur alle Cluster Anmerkung 9.3.3. Sei k ∈ N0 . Die Eigenschaft A ∈ Mk,τ f¨ τ ∈ T (I)\{I} impliziert A ∈ H(k, Pschwach ) . Beweis. Seien τ  , τ  die S¨ ohne von I. Dann stimmt A|τ  ×τ  mit der Untermatrix A12 aus (3.12) u ¨berein, was Rang (A|τ  ×τ  ) ≤ k beweist. Gleiches ocke von Pschwach geh¨oren zu Hauptuntergilt f¨ ur A|τ  ×τ  . Die weiteren Bl¨ ur τ  ∈ T (I)\{I}. Seien τ ∗ und τ ∗∗ die S¨ohne von τ  . Da matrizen A|τ  ×τ  f¨ τ ∗ × τ ∗∗ ∈ Pschwach , ist Rang(A|τ ∗ ×τ ∗∗ ) ≤ k zu beweisen. Dies folgt aus ≤ Rang(A|τ ∗ ×(I\τ ∗ ) ) ≤ k. Rang(A|τ ∗ ×τ ∗∗ ) τ ∗∗ ⊂I\τ ∗

A∈Mk,τ ∗

Die direkte Umkehrung der Implikation aus Anmerkung 9.3.3 ist nicht richtig. Sie gilt aber, wenn in Mk,τ der Rang k geeignet erh¨oht wird.

236

9 Verschiedene Erg¨ anzungen

Lemma 9.3.4. Sei A ∈ H(k, Pschwach ) f¨ ur ein k ∈ N0 . Dann folgt A ∈ M·k,τ f¨ ur alle Cluster τ ∈ T () (I) der Stufe  (vgl. (A.2)). Beweis. Seien τ ∈ T () (I) und τ  = I\τ . Der Block τ × τ  schneidet  Bl¨ocke ur die nach Voraussetzung Rang(A|b ) ≤ k gilt. Daher ist der Rang b ∈ PW , f¨ ankt. Analoges gilt f¨ ur A|τ  ×τ . von A|τ ×τ  durch  · k beschr¨ Gem¨ aß Definition 6.1.1 ist der Parameter k in H(k, Pschwach ) im Allgemeinen eine Funktion k : Pschwach → N0 . Das n¨achste Folgerung beruht auf den Lemmata 3.9.7b und 9.3.4 und verwendet eine geringf¨ ugige Verallgemeinerung von Anmerkung 9.3.3 auf eine variable Rangverteilung. ur konstantes Folgerung 9.3.5 Sei A regul¨ ar mit A ∈ H(k, Pschwach ) f¨ ur alle Cluster τ ∈ T () (I), was k ∈ N0 . Dann gilt A−1 ∈ M·k,τ f¨ ur b ∈ T () (I × I) ∩ Pschwach A−1 ∈ H(k , Pschwach ) mit k  (b) = k f¨ nach sich zieht. Die Anmerkung 9.3.3 l¨ asst sich in verst¨ arkter Form f¨ ur H2 -Matrizen formulieren. Anmerkung 9.3.6. Sei A ∈ Mk,τ f¨ ur alle Cluster τ ∈ T (I). Dann gilt A ∈ H2 (k, Pschwach ) (vgl. Definition 8.3.1) mit Unterr¨aumen Vτ wie im Beweis konstruiert. Beweis. a) Es sei daran erinnert, dass die Aussage B ∈ Vτ ⊗ Wσ ¨aquivalent zu Bild(B) ⊂ Vτ und Bild(B  ) ⊂ Wσ ist. b) F¨ ur τ ∈ T (I) definiere man die R¨ aume Vτ := Bild(A|τ ×τ  )



und Wτ := Bild((A|τ  ×τ ) ),

wobei τ  := I\τ das Komplement von τ ist. Es gilt dim Vτ = Rang(A|τ ×τ  ) ≤ k und dim Wτ ≤ k. Sei τ˙ ein Sohn von τ mit dem Komplement τ˙  = I\τ˙ . Es folgt Vτ |τ˙ = Bild(A|τ ×τ  )|τ˙ = Bild(A|τ˙ ×τ  ). Da τ˙ ⊂ τ die Inklusion τ  ⊂ τ˙  impliziert, folgt Vτ |τ˙ ⊂ Bild(A|τ˙ ×τ˙  ) = Vτ˙ . Analog gilt Wτ |τ˙ ⊂ Wτ˙ . Damit sind die charakteristischen H2 -Eigenschaften (8.9a,b) der R¨aume Vτ und Wτ nachgewiesen. c) Seien b = τ × σ ∈ Pschwach , τ  := I\τ und σ  := I\σ. Aus σ ⊂ τ  folgt  Bild(A|b ) ⊂ Bild(A|τ ×τ  ) = Vτ . Analog ergibt sich Bild((A|b ) ) ⊂ Wσ , was A|b ∈ Vτ ⊗ Wσ beweist (siehe Teil a) und damit A ∈ H2 (k, Pschwach ). Im Gegensatz zu Anmerkung 9.3.3 gilt jetzt auch die Umkehrung der Aussage. Anmerkung 9.3.7. A ∈ H2 (k, Pschwach ) impliziert A ∈ Mk,τ f¨ ur alle Cluster τ ∈ T (I) .

9.3 Schwache Zul¨ assigkeit

237

Beweis. F¨ ur alle τ ∈ T (I) ist der Block τ × (I\τ ) eine (disjunkte) Vereinigung von Bl¨ ocken bi = τ × σi ⊂ τi × σi ∈ Pschwach . Wegen der H2 -Eigenschaft (8.9a) folgt Vτi |τ ⊗ Wσi ⊂ Vτ ⊗ Wσi . Also sind die Bilder aller A|bi in Vτ enthalten. F¨ ur die Summe der Bildr¨aume folgt damit Rang(A|τ ×(I\τ ) ) ≤ dim Vτ ≤ k. Die Kombination der Anmerkungen 9.3.7 und 9.3.6 f¨ uhrt auf ein Resultat u ¨ber die Inverse. Lemma 9.3.8. Sei H2 (k, Pschwach ) das H2 -Format bez¨ uglich der Unterraumfamilien 

{Vτ = Bild(A|τ ×τ  ), Wτ = Bild((A|τ  ×τ ) ) : τ ∈ T (I)}, wobei τ  := I\τ . Es sei angenommen, dass alle Hauptuntermatrizen A|τ ×τ invertierbar sind. Dann gilt A−1 ∈ H2 (k, Pschwach ) bez¨ uglich der Unterraumfamilien {Vˆτ := (A|τ ×τ )

−1

ˆ τ := (A|τ ×τ )− Wτ : τ ∈ T (I)}. Vτ , W

Beweis. a) Sei τ ∈ T (I). Der Block A−1 |τ ×τ  der Inversen hat nach (3.10) die −1 mit Form −A−1 11 A12 S A11 = A|τ ×τ , A12 = A|τ ×τ  , A22 = A|τ  ×τ  und S = A22 − A21 A−1 11 A12 . Wegen −1 −1 ) ⊂ Bild(A−1 Bild(A−1 |τ ×τ  ) = Bild(A−1 11 A12 S 11 A12 ) = A11 Bild(A12 ) −1 −1 = (A|τ ×τ ) Bild(A|τ ×τ  ) = (A|τ ×τ ) Vτ = Vˆτ

sind die Bilder der Bl¨ ocke in den entsprechenden R¨aumen enthalten. ohne von τ. Zum Nachweis der H2 -Struktur b) Seien τ1 , τ2 ∈ S(τ ) die S¨ ist die Schachtelungsbedingung Vˆτ |τ1 ⊂ Vˆτ1 zu zeigen. Wir setzen nun −1 ur 1 ≤ i, j ≤ 2. Die erste Blockzeile von (A|τ ×τ ) lautet Aij = A|τi ×τj f¨ ) ( −1 −1 −1 −1 −1 −1 . Wir schließen daraus dann A11 + A11 A12 S A21 A11 −A11 A12 S     −1 −1 −1 −1 Vˆτ |τ1 = (A|τ ×τ ) Vτ |τ1 ⊂ A−1 Vτ |τ2 . 11 + A11 A12 · · · Vτ |τ1 + A11 A12 S −1 ˆ Die H2 -Eigenschaft von Vτ impliziert A−1 11 Vτ |τ1 ⊂ A11 Vτ1 = Vτ1 . Die rest−1 ˆ lichen Terme liegen in Bild(A11 A12 ) = Vτ1 (siehe Teil a).

Die Anmerkungen 9.3.7, 9.3.6 und Lemma 9.3.8 lassen sich leicht auf L ur einen stufenabh¨ angigen Rang k = (k )=1 verallgemeiH2 (k, Pschwach ) f¨ nern.

238

9 Verschiedene Erg¨ anzungen

9.4 Kreuzapproximation 9.4.1 Basisverfahren und theoretische Aussagen Sei M ∈ Rτ ×σ eine Matrix, die durch eine (globale) Rang-k-Matrix approximiert werden soll. Da insbesondere an gr¨ oßere Dimensionen #τ und #σ gedacht ist, sind Alternativen zur Singul¨ arwertzerlegung gesucht. Aus Gr¨ unden des Speichers und der Berechnungskosten k¨ onnen wir nicht davon ausgehen, dass M mit ihren #τ · #σ Koeffizienten explizit vorliegt. Ein Ausweg ist die zweite Version der Funktionsdarstellung aus §1.3.2.12: Eine Funktion μ(i, j) ur Indexpaare i ∈ τ und j ∈ σ. liefere die Matrixkomponente μ(i, j) = Mij f¨ Jeder Funktionsaufruf bedeutet im Falle einer Integralgleichungsmatrix (1.28) eine m¨ oglicherweise aufw¨ andige Quadratur. Somit m¨ochte man die Zahl der Funktionsaufrufe μ(i, j) gering halten. Man muss also notwendigerweise auf der Basis einer unvollst¨ andigen Kenntnis von M die Approximierende R bestimmen. Dies f¨ uhrt auf die folgende grunds¨ atzliche Frage: asst sich eine gute Approximation durch eine Rang-k• Sei M ∈ Rτ ×σ . L¨ Matrix R bestimmen, die durch eine geringe Anzahl von Komponenten Mij definiert ist? Wie im Einf¨ uhrungskapitel §8.1 zu H2 -Matrizen wird eine Approximation im Tensorraum V ⊗ W gesucht, wobei die Vektorr¨aume V und W mit Hilfe von M konstruiert werden:    V := Bild(M |τ ×σ∗ ), W := Bild (M |τ ∗ ×σ ) . τ ∗ ⊂ τ, σ ∗ ⊂ σ, τ ∗ und σ ∗ sollen kleine Teilmengen sein, wobei insbesondere an #τ ∗ = #σ ∗ = k gedacht ist. Die Spalten j ∈ σ ∗ von M spannen V auf, die Zeilen i ∈ τ ∗ spannen W auf. Gem¨ aß (8.3) hat jede Matrix aus V ⊗ W die Form R := M |τ ×σ∗ · K · M |τ ∗ ×σ

mit K ∈ Rσ



×τ ∗

(9.13)

(K: Koeffizientenmatrix). Unter der Annahme #τ ∗ , #σ ∗ ≤ k folgt R ∈ R(k, τ, σ). Dass der Ansatz (9.13) im Prinzip erfolgreich ist, zeigt das folgende Approximationsresultat. Satz 9.4.1 ([47, Corollary 3.1]). Seien k ∈ N, M ∈ Rτ ×σ und Rbest := TkR M die Bestapproximation in R(k, τ, σ). Dann gilt  =  √ = M − R2 ≤ 1 + 2 k #τ + #σ M − Rbest 2 . min R aus (9.13) mit #τ ∗ ,#σ ∗ ≤k

Praktisch ist dieses Resultat nicht verwertbar, da die Minimierung auf der linken Seite u ¨ber alle R aus (9.13) ein sehr schwieriges Problem darstellt. Außerdem ist Wahl von R von allen Koeffizienten von M abh¨angig. Sie gibt

9.4 Kreuzapproximation

239

daher keine Antwort auf die obige Frage. Ein ¨ahnliches Resultat enth¨alt der n¨ achste Satz, in dem die Matrix K aus (9.13) sowie die Indexteilmengen τ ∗ und σ ∗ genauer charakterisiert werden. Satz 9.4.2 ([48]). Seien M ∈ Rτ ×σ und k ∈ N mit k ≤ min{#τ, #σ}. Die ahlt, Teilmengen τ ∗ ⊂ τ und σ ∗ ⊂ σ mit #τ ∗ = #σ ∗ = k seien so gew¨ dass |det M |τ ∗ ×σ∗ | = max {|det M |τ  ×σ | : #τ  = #σ  = k} . ·C bezeichne die Maximumnorm AC := max {|Aij | : i ∈ τ, j ∈ σ}. Dann gilt M − M |τ ×σ∗ · (M |τ ∗ ×σ∗ )

−1

· M |τ ∗ ×σ

C

≤ (k + 1) M − Rbest 2

f¨ ur Rbest := TkR M , falls det M |τ ∗ ×σ∗ = 0. Falls det M |τ ∗ ×σ∗ = 0, ist Rank(M ) < k. Man beachte, dass die Approximierende aus Satz 9.4.2 die Form (9.13) −1 mit K := (M |τ ∗ ×σ∗ ) besitzt (vgl. (9.15)). 9.4.2 Praktische Durchf¨ uhrung der Kreuzapproximation Ein Spezialfall der Approximation ist die Interpolation. Unter Interpolation in den Zeilen i ∈ τ ∗ und Spalten j ∈ σ ∗ wird folgende Eigenschaft verstanden: (M − R)ij = 0

f¨ ur i ∈ τ ∗ oder j ∈ σ ∗ .

(9.14)

Falls #τ ∗ = #σ ∗ = 1, stellen die Indexpaare {(i, j) : i ∈ τ ∗ oder j ∈ σ ∗ } ein “Kreuz” dar, das dem folgenden Verfahren den Namen “Kreuzapproximation” gegeben hat. Sei k vorgegeben. Die Teilmengen τ ∗ und σ ∗ werden iterativ definiert: 1. Start:  := 0, R0 := 0, τ ∗ := σ ∗ := ∅. 2. Iteration:  :=  + 1, 3. suche einen geeigneten Spaltenindex j ∈ σ\σ ∗ , setze σ ∗ := σ ∗ ∪ {j } und ur alle i ∈ τ, bestimme die zugeh¨ origen Matrixkomponenten Mi,j f¨ 4. suche einen geeigneten Zeilenindex i ∈ τ \τ ∗ mit (M − R−1 )i ,j = 0, setze τ ∗ := τ ∗ ∪ {i } und bestimme die zugeh¨origen Matrixkomponenten ur alle j ∈ σ, Mi ,j f¨ 5. setze R := R−1 + αab mit ai := (M − R−1 )i,j

(i ∈ τ ),

bj := (M − R−1 )i ,j

(j ∈ σ),

α := 1/ (M − R−1 )i ,j . Falls  < k, wiederhole man die Iteration bei 2. Andernfalls ist R := Rk die vorgeschlagene Approximation.

240

9 Verschiedene Erg¨ anzungen

Was in den Schritten 3 und 4 “geeignet” bedeuten soll, wird noch zu interpretieren sein. Die entscheidenden Kosten sind die Auswertungen der M -Koeffizienten in den Schritten 3 und 4, weil die Bestimmung der Komponenten von R−1 in Schritt 5 vernachl¨ assigbar billig ist. Die Konstruktion in Schritt 5 liefert ein R , das M in der i -ten Zeile und j -ten Spalte interpoliert. Die Interpolationseigenschaft bleibt w¨ahrend der Iteration erhalten, sodass (9.14) folgt. Da bei jedem Schritt 5 der Rang h¨ochstens um eins erh¨ oht wird, ist R ∈ R(, τ, σ) offensichtlich. Es gilt aber nicht nur Rang(R ) ≤ , sondern die Gleichheit Rang(R ) = , wenn im Schritt 5 a = 0 und b = 0 gilt. Einen wesentlichen Beweisschritt hierf¨ ur enth¨ alt die ¨ Ubung 9.4.3. Seien M, R1 = αab und i1 , j1 wie im obigen Algorithmus. Man zeige: Wenn a = 0 und b = 0, so gilt Rang(M −R1 ) ≤ Rang(M )−1. Hin/ Bild(M )⊥ = Kern(M  ) weis: Sei e der j1 -te Einheitsvektor. Man zeige e ∈ ⊥ ⊥ und Bild(M − R1 ) ⊃ span{Bild(M ) , e} und verwende Anmerkung 2.1.1d. Gilt in allen Iterationsschritten a = 0 und b = 0, folgt Rang(M − R ) ≤ Rang(M ) − . Dies impliziert Rang(R ) ≥ , sodass zusammen mit der vorherigen Ungleichung Rang(R ) ≤  die Gleichheiten Rang(R ) = ,

Rang(M − R ) = Rang(M ) − 

folgen. Unter diesen Voraussetzungen ist M |τ ∗ ×σ∗ regul¨ar. Da (9.14) auch in der Form (M − R) |τ ∗ ×σ = O und (M − R) |τ ×σ∗ = O geschrieben werden kann, sieht man leicht, dass R die Darstellung (9.13) mit −1

K = (M |τ ∗ ×σ∗ )

(9.15)

besitzt. Zun¨ achst geben wir ein positives Resultat an: Falls Rang(M ) = k gilt, rekonstruiert der Algorithmus die Bestapproximation M = Rk . Anmerkung 9.4.4. M habe exakt den Rang k. Ein Spaltenindex werde als “geeignet” bezeichnet, wenn die Spalte von M − R−1 nicht den Nullvektor ergibt. Dann gilt: Der Algorithmus ist durchf¨ uhrbar und endet nach k Schritten mit M = Rk . Beweis. Wegen Rang(M − R ) = Rang(M ) −  = k −  > 0 f¨ ur  ≤ k ist M − R−1 = O und erlaubt die Wahl von a = 0 und b = 0 in Schritt 5. F¨ ur  = k zeigt Rang(M − R ) = 0, dass R = Rk = M. Falls die Indexteilmengen τ ∗ und σ ∗ a priori gegeben sind, k¨onnen die Indizes i (j ) diese Mengen in beliebiger Reihenfolge durchlaufen. Die Darstellung (9.13) mit (9.15) zeigt, dass das Resultat von der Reihenfolge unabh¨ angig ist. Im Allgemeinen m¨ ochte man die Indexmengen jedoch erst im Laufe des Algorithmus festlegen.

9.4 Kreuzapproximation

241

Wahl des Spaltenindex j : Damit j ∈ σ\{j1 , . . . , j−1 } geeignet ist, muss in der j -ten Spalte von M − R−1 , die in Schritt 3 berechnet wird, ein Nichtnullelement vorkommen. Falls eine Nullspalte gefunden wurde, ist ein neues j zu suchen. Falls es f¨ ur kein j eine Nichtnullspalte gibt, ist M = R−1 , sodass R−1 bereits die optimale Approximation darstellt. allig gew¨ahlt werden. Eine m¨ogliche F¨ ur  = 1 kann j1 zum Beispiel zuf¨ deterministische Wahl kann geometrisch begr¨ undet sein: Der Tr¨ager Xj1 m¨oge nahe am Zentrum der dem Cluster τ zugeordneten Menge Xτ liegen. allig gew¨ ahlt werden. Da aber die Information F¨ ur  ≥ 2 kann j wieder zuf¨ aus dem vorherigen Schritt zur Verf¨ ugung steht, liegt eine andere Auswahlregel n¨ aher: Von M − R−2 ist die i−1 -te Zeile bekannt. Man w¨ahle j so, dass (9.16a) | (M − R−2 )i−1 ,j | = max | (M − R−2 )i−1 ,j | . j∈σ

Wahl des Zeilenindex i : Neben einer zuf¨ alligen Wahl kommt die zum letzten Fall analoge Regel in Betracht. Die Standardwahl ist der betragsm¨aßig gr¨oßte Eintrag der j -ten ulle Spalte von M − R−1 , d.h. i erf¨ | (M − R−1 )i ,j | = max | (M − R−1 )i,j | . i∈τ

(9.16b)

9.4.3 Adaptive Kreuzapproximation Falls man die Rangschranke k nicht a priori festlegt, ben¨otigt man ein Abbruchkriterium. Dazu w¨ ahlt man ein ε > 0 und testet zum Beispiel, ob die im letzten (-ten) Schritt erhaltenen Vektoren a() und b() die Ungleichung a() 2 b() 2 ≤ εrel a(1) 2 b(1) 2

(9.17a)

(a(1) , b(1) sind die im ersten Schritt erhaltenen Vektoren) oder a() 2 b() 2 ≤ εabs

(9.17b)

erf¨ ullen. Unter den Annahmen, dass der Restfehler M −R kleiner als M −R−1 ist und M − R−1 ≈ R − R−1 , folgt M − R 2  M − R−1 2 ≈ R − R−1 2 = R − R−1 2 = a() b() 2 = a() 2 b() 2 . Im Falle von (9.17b) vermutet man M − R 2  εabs . Unter der weiteren Annahme M 2 ≈ R1 2 folgt mit (9.17b) die relative Fehlersch¨atzung M − R 2  εrel M 2 . In [6], [15] und [14] finden sich weitere Kriterien. In diesen F¨allen wird der Rang k adaptiv (zu ε) bestimmt. Der Name adaptive Kreuzapproximation wird h¨ aufig durch ACA abgek¨ urzt. Hinsichtlich der Implementierung ist die folgende Anmerkung sehr wichtig.

242

9 Verschiedene Erg¨ anzungen

Anmerkung 9.4.5. Im Falle von Matrizen zu Integraloperatoren reicht die Implementierung einer Prozedur (Funktion) μ, die zu einem Indexpaar i, j den Matrixeintrag μ(i, j) = Mij berechnet (diese Implementierung ist nichttrivial, da Teilmengen Xi und Xj der Mannigfaltigkeit Γ und die zugeh¨orige Quadratur des Integrals (1.28) zu realisieren sind). Ist die Matrix M mittels dieser Prozedur μ gegeben, ist das weitere Vorgehen “blackbox”-artig. Im alternativen Fall der H-Matrixkonstruktion durch separable Entwicklungen der Kernfunktion wird diese Prozedur ebenfalls ben¨otigt, da sie f¨ ur die Nahfeldkomponenten (i, j) ∈ b ∈ P − verwendet wird. Daneben braucht man aber weitere Prozeduren, die die Integrale (4.33) realisieren. Dies ist nur mit zus¨ atzlichen13 Informationen u ¨ber die Basisfunktionen, die Kernfunktion und den Integrationsbereich Γ m¨ oglich. Nach den bisherigen positiven Resultaten ist nun auf negative Aussagen hinzuweisen, die in der Natur der partiellen Information liegen. Anmerkung 9.4.6. Auch bei ge¨ anderter Auswahl der Zeilen- und Spaltenindizes kann im Allgemeinen weder eine Fehlerabsch¨atzung M − R−1  < ε M  garantiert werden, noch wird eine Rang-k-Matrix M nach k Schritten (wie in Anmerkung 9.4.4) rekonstruiert. Der scheinbare Widerspruch zu Anmerkung 9.4.4 ergibt sich aus der Tatsache, dass in Anmerkung 9.4.4 per Definition eine Nichtnullspalte ausgew¨ahlt wird. Dies ist aber kein konstruktives Kriterium, wie das folgende Gegenbeispiel zeigt, das zugleich den Beweis der Anmerkung 9.4.6 ergibt. ur i = i0 und Beispiel 9.4.7. Sei M ∈ Rτ ×σ die Rang-1-Matrix mit Mij = 1 f¨ j = j0 und Mij = 0 sonst. Deterministische Auswahlkriterien werden die Nicht-Null-Spalte f¨ ur geeignete j0 nicht bzw. erst im #σ-ten Schritt finden14 . Auch Zufallsverfahren f¨ uhren auf einen Erwartungswert O(#σ) f¨ ur die Zahl der auszuwertenden Spalten. Dieses Gegenbeispiel ist nicht typisch f¨ ur die von Integraloperatoren erzeugten Matrizen. Im Falle des Doppelschichtpotientials k¨onnen aber Matrixbl¨ ocke der Form   0 A M= (9.18) B 0 auftreten, wobei die Nullen dadurch entstehen, dass die Indexpaare in der gleichen ebenen Fl¨ achenkomponente einer Oberfl¨ache Γ liegen, denn der Doppelschichtkern enth¨ alt einen Faktor n, x − y (n: Normalenrichtung), der im genannten Falle verschwindet (vgl. §10.1.3). 13

14

Insbesondere der letzte Punkt kann zu Implementierungsschwierigkeiten f¨ uhren, wenn fremde Software eine nur schwer zug¨ angliche Information u ¨ber die Approximation von Γ enth¨ alt. Zu jedem deterministischen Kriterium lassen sich i0 , j0 so w¨ ahlen, dass sie erst im #σ-ten Schritt gefunden werden.

9.4 Kreuzapproximation

243

Beispiel 9.4.8. Im Falle der Matrix M aus (9.18) und der Auswahlkriterien (9.16a,b) wird bestenfalls ein Rk bestimmt, dass nur A bzw. nur B approximiert. Genauer gilt: Liegt der erste Index j1 im zweiten Teil, werden nur Daten von A ber¨ ucksichtigt, andernfalls nur die Daten von B. Beweis. Liegt j1 im zweiten Teil, enth¨ alt die Spalte neben den Daten aus A aß (9.16b) liegt das Maximum wieder nur Nullen. In der Definition von i1 gem¨ im ersten Zeilenbereich usw. Was die Sinnhaftigkeit der Indexwahl von j bzw. i mittels der maximalen Komponenten betrifft, liegt hier die gleiche Problematik wie bei  der  ε1 Gauß-Elimination vor. Beim Gleichungssystem M x = b mit M = 12 (ε > 0 klein) sollte sicherlich M21 = 1 als erstes Pivotelement der Elimination gew¨ ahlt werden. Diese Pivotwahl sollte sich nicht ¨andern, wenn das Gleichungssystem mit D = diag{1/ε, ε} skaliert wird: DM x = Db, da sich das Rundungsfehlerverhalten mit der Skalierung ¨bliche  nicht ¨andert. Aber die u 1 1/ε Spaltenpivotwahl angewandt auf DM = w¨ahlt M11 als Pivotelement. ε 2ε Die Skalierung mag in diesem Beispiel etwas k¨ unstlich wirken, aber in Randelementanwendungen entstehen Matrizen, deren Eintr¨age hinsichtlich ihrer Gr¨ oße in der Regel von der lokalen Schrittweite abh¨angen. Bei lokalen Verfeinerungen sind daher die entsprechenden Zeilen und Spalten systematisch uhren herunterskaliert, was zu einer nichtoptimalen Auswahl der j bzw. i f¨ kann. Im Falle der Gauß-Elimination steht als Alternative noch die volle Pivotwahl zur Verf¨ ugung. Diese M¨ oglichkeit entf¨ allt bei der Kreuzapproximation, da man hierf¨ ur die Kenntnis aller Matrixelemente ben¨otigt. Insgesamt l¨ asst sich feststellen, dass das ACA-Verfahren blackbox-artig angewandt werden kann, dass aber verl¨ assliche Fehleraussagen (und damit die Richtigkeit des adaptiven Vorgehens) im Allgemeinen nicht mit Sicherheit erwartet werden k¨ onnen. Diese erfordern analytische Annahmen, die sich am besten in die Form kleiden lassen, dass die Matrix M Koeffizienten der Form Mij = f (xi , xj ) besitzt mit entsprechenden Annahmen an die Funktion f . 9.4.4 Erzeugung separabler Entwicklungen mittels Kreuzapproximation In §9.4 wurde das ACA-Verfahren auf Matrizen angewendet. Das Verfahren kann aber auch auf Funktionen κ(x, y) angewandt werden, um separable Entwicklungen κ (k) (x, y) zu erzeugen. Sei (9.19a) E0 (x, y) := κ(x, y) ∈ C (X × Y ) . Das Verfahren verwendet eine Auswahl von St¨ utzstellen xi , yi (1 ≤ i ≤ k). Beginnend mit E0 berechnet man rekursiv

244

9 Verschiedene Erg¨ anzungen

Ei (x, y) := Ei−1 (x, y) −

Ei−1 (xi , y)Ei−1 (x, yi ) Ei−1 (xi , yi )

(i = 1, . . . , k).

(9.19b)

Offenbar sind xi und yi so zu w¨ ahlen, dass Ei−1 (xi , yi ) = 0. Die Bezeichnung Ei deutet darauf hin, dass es sich um den Fehler handelt, d.h. die gew¨ unschte Approximation κ (k) (x, y) lautet κ (k) (x, y) := κ(x, y) − Ek (x, y) =

k  Ei−1 (x, yi )Ei−1 (xi , y)

Ei−1 (xi , yi )

i=1

,

(9.19c)

wie man sofort aus (9.19a,b) ableitet. Lemma 9.4.9. Es gelte Ei−1 (xi , yi ) = 0 f¨ ur i = 1, . . . , k. Dann ist κ (k) aus (9.19c) eine separable Funktion, die sich auch als κ (k) (x, y) =

k 

(k)

αij κ(x, yi )κ(xj , y)

(9.20a)

i,j=1

schreiben l¨ asst. Es gilt die Interpolationseigenschaft κ (k) (xi , y) = κ(xi , y) und κ (k) (x, yi ) = κ(x, yi ) f¨ ur alle i = 1, . . . , k und x ∈ X, y ∈ Y.

(9.20b)

Beweis. a) Die rechte Seite in (9.19c) beweist die Separabilit¨at. b) Zum Beweis von (9.20a) wird Induktion f¨ ur die ¨aquivalente Aussage i 

Ei (x, y) = κ(x, y) −

(i) ανμ κ(x, yν ) κ(xμ , y)

(0 ≤ i ≤ k)

(9.20c)

ν,μ=1

verwendet, die definitionsgem¨ aß f¨ ur i = 0 gilt. Einsetzen der Darstellung (9.20c) mit i − 1 (anstelle von i) in die Definition (9.19b) liefert Ei (x, y) = Ei−1 (x, y) − = κ(x, y) −

+

i−1 ν,μ=1

κ(xi , y) 



(i−1)

ανμ



i−1 ν,μ=1

κ(x, yi )κ(xi , y) Ei−1 (xi , yi )

(i−1) ανμ κ(x, yν ) κ(xμ , y) −

ν,μ=1

 +

i−1 

Ei−1 (x, yi )Ei−1 (xi , y) Ei−1 (xi , yi )

 κ(xi , yν ) κ(xμ , y) κ(x, yi ) Ei−1 (xi , yi )

i−1 ν,μ=1

(i−1)

ανμ



κ(x, yν ) κ(xμ , yi )

Ei−1 (xi , yi ) (i−1) ανμ

   (i−1) i−1 κ(xi , yν ) κ(xμ , y) κ(x, yν ) κ(xμ , yi ) ν,μ=1 ανμ Ei−1 (xi , yi )

.

9.4 Kreuzapproximation

245

Offenbar ist die rechte Seite von der gleichen Form wie in (9.20c) und definiert (i) die Koeffizienten ανμ . c) Die Interpolationseigenschaft (9.20b) ist ¨aquivalent zu Ei (xν , y) = ur 1 ≤ ν ≤ i. Der Induktionsbeginn ist die leere Aussage. Ei (x, yν ) = 0 f¨ Die Induktionsbehauptung f¨ ur Ei−1 beweist u ¨ber (9.19b), dass Ei (xν , y) = ur 1 ≤ ν ≤ i−1. F¨ ur ν = i ergibt die Konstruktion (9.19b), dass Ei (x, yν ) = 0 f¨ i ,y)Ei−1 (xi ,yi ) = Ei−1 (xi , y) − Ei−1 (xi , y) = 0 Ei (xi , y) = Ei−1 (xi , y) − Ei−1 (x Ei−1 (xi ,yi ) und analog Ei (x, yi ) = 0. Am einfachsten ist es, die St¨ utzstellen xi und yi a priori vorzugeben, wobei die Wahl ¨ ahnlich wie zum Beispiel bei der Polynominterpolation ¨ vorgenommen werden kann. Eine Ubertragung der adaptiven Wahl (9.16a) und (9.16b) ist nicht wortw¨ ortlich m¨ oglich, da die Maxima u ¨ber Mengen unendlicher Kardinalit¨ at zu bilden w¨ aren. Denkbar w¨are es, die x- und y-Werte auf ein Gitter zu beschr¨ anken und dann analog zum ACA-Verfahren vorzugehen. Der Aufwand des Verfahrens (9.19a-c) ist im Wesentlichen durch die Zahl k 2 der κ-Funktionsauswertungen bestimmt. Bei einem adaptiven Vorgehen mit weiteren Funktionsauswertung steigt die Anzahl entsprechend. Das hier beschriebene Verfahren ist die implizite Grundlage f¨ ur die Konvergenzbeweise der Algorithmen aus §9.4 und ist entsprechend in den dort zitierten Arbeiten analysiert worden. Sp¨ ater wurden sie z.B. in [33, 32] wiederentdeckt (“Newton-Geddes-Verfahren”) und zur numerisch-symbolischen  Quadratur von κ(x, y)dxdy verwendet. 9.4.5 Die hybride Kreuzapproximation Die separable Approximation (9.20a) wird nun auf Integraloperatoren angewandt. Die Systemmatrix ist gem¨ aß (1.28) durch   κ(x, y)φi (x)φj (y)dΓx dΓy Mij = Γ

Γ

gegeben. Die Beschr¨ ankung auf (i, ur einen zul¨assigen Block  j) ∈ τ × σ = b f¨ b ∈ P erlaubt, die Integration auf Xτ Xσ zu beschr¨anken. Die Tr¨ager Xτ und Xσ sind in Quadern Qτ und Qσ enthalten (vgl. §5.4.2). Man beachte hier die Anmerkung 5.2.3: W¨ ahrend Xτ und Xσ auf der (d − 1)-dimensionalen Integrationsoberfl¨ ache liegen, sind Qτ und Qσ d-dimensionale Quader. In Qτ und Qσ lassen sich leicht jeweils md Interpolationspunkte xμ ∈ Qτ und yν ∈ Qσ ˇ ausw¨ ahlen (z.B. Cebyˇ sev-Knoten, vgl. §4.2.2). Ersetzung der Kernfunktion (k) κ(x, y) durch κ (x, y) aus (9.20a) mit k = md liefert   ˜ Mij = κ (k) (x, y)φi (x)φj (y)dΓx dΓy Γ Γ    (k) = αν,μ κ(x, yν )φi (x)dΓx κ(xμ , y)φj (y)dΓy ν,μ∈{1,...,m−1}d

Γ

Γ

246

9 Verschiedene Erg¨ anzungen

˜ |b =  vν Kν,μ wμ aus (8.3) mit und damit die Darstellung M ν,μ   (k) (vν )i = κ(x, yν )φi (x)dΓx , (wμ )j = κ(xμ , y)φj (y)dΓy , Kν,μ = αν,μ . Γ

Γ

Da hier die Kreuzapproximationstechnik mit der u ¨blichen Integralapproximation durch separable Kerne kombiniert wird, wurde f¨ ur dies Vorgehen der Name “hybride Kreuzapproximation” und das K¨ urzel HCA eingef¨ uhrt (vgl. B¨ orm-Grasedyck [25]). Die speziellen Vorteile aus Anmerkung 9.4.5 sind nicht mehr gegeben, da die Γ -Quadraturen zus¨ atzlich zu implementieren sind. Daf¨ ur sind gesicherte Fehleraussagen m¨ oglich. Der Aufwand zur Bestimmung von κ (k) wurde in §9.4.4 mit k 2 = m2d κ-Auswertungen angegeben. Quadraturverfahren zur Approximation von (vν )i und (wμ )j erfordern weitere Auswertungen.

9.5 Kriterien fu ¨r Approximierbarkeit in H(k, P ) Damit eine Matrix M ∈ Rτ ×σ sinnvoll durch eine H-Matrix Mk ∈ H(k, P ) approximiert werden kann, ist zun¨ achst zu kl¨aren, wie klein der Fehler M − TkH (M ) F der Bestapproximation TkH (M ) ist (vgl. Lemma 7.2.1). Die erhoffte Genauigkeit ist eine exponentielle Asymptotik M − TkH (M ) F = O(exp(−ck α ). Eine zweite Frage ist die konkrete Konstruktion einer Matrix ahnliche Genauigkeit erzielt. MH ∈ H(k, P ), die eine ¨ Im nachfolgenden Kapitel zu den Randelementmatrizen bilden die separablen Entwicklungen aus §4 den Schl¨ ussel f¨ ur eine exponentielle Fehlerschranke. Bei Finite-Element-Matrizen verwendet man zur Absch¨atzung des Projektionsfehlers M − TkH (M ) F analytische Eigenschaften der Greenschen15 Funktion (vgl. §11). Eine einfache algebraische Eigenschaft wird in dem folgenden, hinreichenden Kriterium verwendet. Hierbei wird die Abstandsfunktion δ(·, ·) der Knoten im Matrixgraphen G(M ) verwendet (vgl. Definition A.1.1 und (A.1)). Kriterium 9.5.1 Die Partition P ⊂ T (I × I) sei mit Hilfe einer Zul¨ assigkeitsbedingung (5.9a) definiert, in der die Metrik diam(τ ) := 1 + max{δ(i, j) : i, j ∈ τ }, dist(τ, σ) := min{δ(i, j) : i ∈ τ, j ∈ σ}

(9.21a)

verwendet wird. F¨ ur geeignete positive Konstanten c1 , α gelte die Ungleichung α

diam(τ ) ≥ c1 (#τ )

f¨ ur alle τ ∈ T (I).

(9.21b)

Sei M ∈ RI×I eine Matrix mit der Eigenschaft 15

George Green, geboren im Juli 1793 in Sneinton, Nottingham, gestorben am 31. Mai 1841 ebenda.

9.5 Kriterien f¨ ur Approximierbarkeit in H(k, P )

|Mij | ≤ c2 q δ(i,j)

f¨ ur alle i, j ∈ I, wobei q < 1.

247

(9.21c)

Dann erf¨ ullt die mittels  M |b f¨ ur b = τ × σ ∈ P mit #τ #σ ≤ k 2 , Mk |b := O f¨ ur b = τ × σ ∈ P mit #τ #σ > k 2 ,

(9.21d)

atzung blockweise definierte H-Matrix Mk ∈ H(k, P ) die Fehlerabsch¨ α

M − Mk 2 ≤ Csp (P ) c2 (1 + depth(T (I × I, P ))) · O(rk )

(9.21e)

assigkeitsbedingung (5.9a)). Die mit r < q c1 /η (η ist der Faktor aus der Zul¨ Genauigkeit ε > 0 wird mit k = O(log1/α 1ε ) erreicht. √ Beweis. a) Da Rang(Mk |b ) ≤ min{#τ, #σ} ≤ #τ #σ ≤ k f¨ ur alle ur b ∈ P , geh¨ ort Mk zu H(k, P ). Sei E = M − Mk die Fehlermatrix. F¨ min{#τ, #σ} ≤ k ist E|b = O. Lemma 6.5.8 erlaubt daher eine Absch¨atzung von E2 , sobald die lokalen Spektralnormen von E|b = M |b im Falle von #τ #σ > k 2 bestimmt sind. b) F¨ ur #τ #σ > k 2 und i ∈ τ , j ∈ σ soll die Fehlerkomponente Eij = Mij abgesch¨ atzt werden. Die Zul¨ assigkeitsbedingung (5.9a) impliziert δ(i, j) ≥ dist(τ, σ) ≥ max{diam(τ ), diam(σ)}/η

(i ∈ τ, j ∈ σ).

α

Mit (9.21b) f¨ ur τ und σ folgt δ(i, j) ≥ c1 (#τ ) /η ebenso wie die Unα gleichung δ(i, j) ≥ c1 (#σ) /η. Die Kombination beider Aussagen liefert α/2 /η und somit δ(i, j) ≥ c1 (#τ #σ) |Eij | = |Mij | ≤ c2 q c1 (#τ #σ)

α/2



.

Eine grobe Absch¨ atzung der Spektralnorm ergibt = = α/2 E|b 2 ≤ #τ #σ max |Eij | ≤ c2 #τ #σ q c1 (#τ #σ) /η . i∈τ, j∈σ

Die rechte Seite kann vereinfacht werden: Sei kmin ≤ k. F¨ ur eine geeignete  α/2   c1 α/2 /η Konstante c1 = c1 (kmin ) > c1 gilt die Ungleichung  q ≤ q c1  /η f¨ ur alle  > kmin , sodass E|b 2 ≤ c2 q c1 (#τ #σ)

α/2




k2



c2 q c1 k

α



. 

α

Lemma 6.5.8 zeigt E2 ≤ Csp (P ) (1 + depth(T (I × J, P ))) c2 q c1 k /η . Die  Ungleichungen c1 > c1 und r := q c1 /η < q c1 /η sind ¨aquivalent und ergeben (9.21e). Die Ungleichung (9.21b) charakterisiert die Dimension d := 1/α des Graphen. W¨ are G(M ) Teilmenge des Graphen mit den Knoten Zd und den

248

9 Verschiedene Erg¨ anzungen

Kanten zwischen den Nachbarn ν, μ ∈ Zd mit ν − μ2 = 1, erg¨abe sich #τ ≤ diam(τ )d , also α = 1/d. α α Falls c2 eine Konstante ist, wird c2 O(rk ) zu O(rk ). Auch wenn −β angig ist, kann dieser Faktor aufgrund des exc2 = O(h ) schrittweitenabh¨ α ponentiellen Abfalls von O(rk ) durch eine geeignete Wahl von k kompensiert werden (vgl. Lemma 4.1.4). Anmerkung 9.5.2. a) Eine Bandmatrix mit fester Bandbreite erf¨ ullt stets die Eigenschaft (9.21c). b) Die bei der Diskretisierung lokaler Operatoren (z.B. Differentialoperatoren) entstehenden schwach besetzten Matrizen besitzen im Allgeur δ(i, j) ≥ δ0 > 0. Dann ist (9.21c) meinen die Eigenschaft, dass Mij = 0 f¨ erf¨ ullt. c) Eine weitere, auf den Beweis von Kriterium 9.5.1 zugeschnittene Zul¨ assigkeitsbedingung ist die Ungleichung = diam(τ ) · diam(σ) ≤ η dist(τ, σ), die einen Kompromiss zwischen (5.8) und (5.9a) darstellt. Eine Variante des Kriteriums, die die Zul¨assigkeitsbedingung (5.9a) mit den u ¨blichen dist- und diam-Funktionen verwendet, folgt. Die Voraussetzungen (9.22a,b) werden im Finite-Elemente-Kontext in Lemmata 11.1.4 und 11.1.3 bewiesen werden. Kriterium 9.5.3 P ⊂ T (I × I) sei eine Partition mit (5.9a), und diam, dist seien gem¨ aß (5.6a,b) definiert. F¨ ur geeignete positive Konstanten C1 , d und einen Skalierungsparameter h > 0 seien die Ungleichungen diam(Xτ )d ≥ C1 hd #τ vorausgesetzt. M ∈ R

I×I

f¨ ur alle τ ∈ T (I)

(9.22a)

sei eine Matrix mit der Eigenschaft

|Mij | ≤ c2 q dist(Xi ,Xj )/h

f¨ ur alle i, j ∈ I, wobei q < 1.

(9.22b)

Dann f¨ uhrt die Wahl (9.21d) auf Mk ∈ H(k, P ) mit der Fehlerabsch¨ atzung M − Mk 2 ≤ Csp (P ) c2 (1 + depth(T (I × I, P ))) · O(rk

1/d

)

(9.22c)

f¨ ur r < q C1 /η < 1. Beweis. Die Ungleichung dist(Xi , Xj ) h



i∈τ,j∈σ



= diam(Xτ ) diam(Xσ ) dist(Xτ , Xσ ) ≥ h hη √ √ C1 d k C1 h 2d #τ #σ > hη η

erlaubt den gleichen Schluss wie in Kriterium 9.5.1. F¨ ur Inversen von positiv definiten und wohlkonditionierten Matrizen l¨asst sich allgemein das folgende Lemma beweisen.

¨ 9.6 Anderung der Matrizen bei Gitterverfeinerung

249

Lemma 9.5.4. Sei M ∈ RI×I eine positiv definite Matrix mit dem Spektrum σ(M ) ⊂ [a, b], wobei 0 < a ≤ b. Zu i, j ∈ I bezeichne δ(i, j) den Abstand der Knoten i, j im Matrixgraphen G(M ). Dann gilt f¨ ur alle i = j, dass √ √ (1 + r)2 b r−1 , q=√ (9.23) , r= . |(M −1 )ij | ≤ cˆ q δ(i,j) mit cˆ = 2ar a r+1 Beweis. a) Da M und somit auch M −1 − p(M ) f¨ ur jedes Polynom p symmetrische Matrizen sind, folgt M −1 − p(M )2

=

Anm. C.1.3

ρ(M −1 − p(M ))

=

max |x−1 − p(x)|.

¨ bung 13.1.9 x∈σ(M ) U

b) F¨ ur jedes k ∈ N0 gibt es ein Polynom pk vom Grad ≤ k (vgl. [114, §4.3]), sodass x−1 − pk (x)∞,[a,b] ≤ cˆ q k+1 , wobei die Gr¨ oßen cˆ und q wie in (9.23) erkl¨ art sind. F¨ ur das Polynom pk folgt M −1 − pk (M )2 ≤ cˆ q k+1 wegen σ(M ) ⊂ [a, b]. c) Falls M reduzibel ist und δ(i, j) = ∞ f¨ ur ein Paar i, j ∈ I zutrifft, ur δ(i, j) = ∞ als null zu gilt (M −1 )ij = 0. Da q < 1, ist q δ(i,j) in (9.23) f¨ interpretieren. Im Weiteren sei δ(i, j) < ∞ angenommen. d) Zu i = j sei k := δ(i, j) − 1 gesetzt, und pk sei das Polynom aus ur alle i, j ∈ I mit Teil b). Aus Anmerkung A.1.2c folgt, dass (pk (M ))ij = 0 f¨ −1 k+1 ¨ folgt nach Ubung C.1.1 δ(i, j) > k ≥ Grad(pk ) . Aus M −pk (M )2 ≤ cˆ q |(M −1 )ij | = |(M −1 )ij − pk (M )ij | ≤ M −1 − pk (M )2 ≤ cˆ q k+1 = cˆ q δ(i,j) , womit die Behauptung bewiesen ist.

¨ 9.6 Anderung der Matrizen bei Gitterverfeinerung Diskretisierungsverfahren arbeiten h¨ aufig adaptiv, d.h. es gibt nicht G G nur ein diskretes Gleichungssystem M x = b, sondern eine Folge M (1) x(1) = b(1) , M (2) x(2) = b(2) , . . . von Diskretisierungen zu jeweils verfeinerten Gittern. Fehlersch¨ atzungen zu x(m−1) werden dazu benutzt, den Galerkin(1) (2) M M Unterraum f¨ ur den m-ten Schritt geeignet zu a ndern. ¨ Abb. 9.9. Gitterverfeinerung, zugeh¨ orige Bei IntegralgleichungsdiskretiMatrizen sierungen ist die Matrixerzeugung der teuerste Teil der Rechnungen. Deshalb w¨ are es ung¨ unstig, wenn f¨ ur jede (1)

(2)

250

9 Verschiedene Erg¨ anzungen

der Matrizen M (m) dieser Aufwand erneut auftr¨ate. Dies l¨asst sich vermeiden, wenn die Gitterverfeinerung von lokaler Art ist, wie es h¨aufig aufgrund lokaler Singularit¨ aten passiert. Zur Illustration verwenden wir ein einfaches eindimensionales Problem. ore zu einem st¨ uckweise konstanten Ansatz auf Die erste Matrix M (1) geh¨ dem Gitter G(1) (oben in Abbildung 9.9). Das zweite Gitter G(2) geht aus einer Halbierung des zweiten Teilintervalles von G(1) hervor. M (1) ist eine oße 5 × 5. Man u 4 × 4-Matrix, M (2) hat die Gr¨ ¨berlegt sich leicht, dass sich beide Matrizen nur in dem schraffierten Bereich unterscheiden, die anderen Eintr¨ age brauchen bei der Bestimmung von M (2) nicht neu ausgerechnet zu werden. Formal bedeutet dies im allgemeinen Fall: I (1) und I (2) sind zwei Indexmengen mit nichtleerem Durchschnitt. Zu i ∈ I (1) ∩ I (2) geh¨oren die (1) (2) ur alle i, j ∈ I (1) ∩ I (2) . gleichen Basisfunktionen φi , und es gilt Mij = Mij f¨ ¨ Diese einfache Uberlegung gilt jedoch nur f¨ ur die Darstellung als volle Matrix. F¨ ur Matrizen vom Format H(k, P ) stellen sich folgende Fragen: • Wie ¨ andert sich der Clusterbaum? Was haben T (I (1) ) und T (I (2) ) gemeinsam? • Wie ¨ andert sich die Partition? Inwieweit stimmen P (1) und P (2) u ¨berein? • Wenn ein Block b ∈ P (1) von einer Verfeinerung betroffen ist, braucht dies uhren. Muss M (2) |b v¨ollig neu berechnet werden? nur Teile von M (1) |b ber¨ Bei H2 -Matrizen kommt ein weiteres Problem hierzu: •

Wie ¨ andern sich die R¨ aume Vτ und Wσ bei einer Verfeinerung eines Teils von τ bzw. σ?

Die Antworten hierzu werden in der Dissertation [37] gegeben.

10 Anwendungen auf diskretisierte Integraloperatoren

Es wurde schon betont, dass die Diskretisierung von Integraloperatoren auf voll besetzte Matrizen f¨ uhrt. In den Unterkapiteln §§10.1-10.3 werden die Integraloperatoren behandelt, die sich aus der Umformulierung von elliptischen Randwertaufgaben ergeben. Danach wird kurz auf allgemeine Fredholmsche1 und Volterrasche2 Integraloperatoren eingegangen. Die Integralgleichungsmethode erlaubt die Formulierung elliptischer Randwertaufgaben mit Hilfe von Integralgleichungen. W¨ahrend Integralgleichungen und ihre Diskretisierungen schon in §1.5.2 erkl¨art wurden, werden in §10.1 die typischen Integralkerne vorgestellt. Die Randelementmethode (BEM: boundary element method ) verlangt sofort nach einer L¨ osung des Generierungs- und Speicherungsproblems. Eine Abspeicherung der vollst¨ andigen Systemmatrix w¨ urde n2 Speicherpl¨atze (n = #I) kosten. Die Generierung aller Matrixeintr¨age kostete mindestens O(n2 ) Operationen, wenn jede der auftretenden Quadraturen (im Schnitt) nur O(1) Operationen verlangt. Dementsprechend behandelt der Abschnitt §10.3 die zur Verf¨ ugung stehenden Methoden der Matrixgenerierung.

10.1 Typische Integraloperatoren fu ¨r elliptische Randwertaufgaben Details zu den hier nur skizzierten Ableitungen der Integralgleichungen findet man in [68], Sauter-Schwab [125] und Hsiao-Wendland [94].

1

2

Erik Ivar Fredholm, geboren am 7. April 1866 in Stockholm, gestorben am 17. August 1927 in Danderyd (Schweden). Vito Volterra, geboren am 3. Mai 1860 in Ancona, gestorben am 11. Oktober 1940 in Rom.

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 10, c Springer-Verlag Berlin Heidelberg 2009 

252

10 Anwendungen auf diskretisierte Integraloperatoren

10.1.1 Randwertproblem und Fundamentall¨ osung Zu l¨ osen sei ein elliptisches Randwertproblem mit verschwindender rechter Seite: (10.1) Lu = 0 in Ω ⊂ Rd . Zum Fall Lu = f = 0 sei auf §10.2 verwiesen. Hierbei darf das Gebiet Ω beschr¨ ankt oder unbeschr¨ ankt sein. Hat der Differentialoperator L konstante Koeffizienten, kann man die Fundamentall¨ osung s(x, y) explizit angeben, die durch Lx s(x, y) = δ(x − y) definiert ist, wobei der x-Index in Lx = L die Anwendung auf die x-Variable andeutet und δ die Dirac-Funktion ist. Beispiele f¨ ur L und s sind das Laplace-Problem,  1 log |x − y| f¨ ur d = 2 (d.h. x, y ∈ R2 ), (10.2) L = Δ, s(x, y) = 2π 1 f¨ ur d = 3 (d.h. x, y ∈ R3 ), 4π|x−y| und das Helmholtz3 -Problem L = Δ + a2 ,

s(x, y) =

exp (ia |x − y|) . 4π |x − y|

(10.3)

F¨ ur die Lam´e4 -Gleichungen findet man die matrixwertige Fundamentall¨osung in Wendland [133]. In allen Beispielen ist |x − y| die u ¨bliche Euklidische Norm des Vektors x − y ∈ Rd . Die Integralgleichungsmethode verwendet Integraloperatoren  κ(x, y)f (y)dΓy (vgl.(1.25b)), (Kf ) (x) := Γ

deren Kerne entweder mit den Fundamentall¨osungen u ¨bereinstimmen oder Ableitungen hiervon sind. Der Vorteil der Methode besteht in der Tatsache, dass das Gebiet Ω durch seinen Rand Γ = ∂Ω ersetzt wird. Zum einen reduziert dies die Raumdimension um 1, zum anderen werden hierdurch erst unbeschr¨ ankte Gebiete Ω zug¨ anglich. 10.1.2 Einfach-Schicht-Potential f¨ ur das Dirichlet-Problem Sei κ = s mit s aus (10.2), d.h. (Kf ) (x) =

3

4

1 4π

 Γ

f (y) dΓy |x − y|

Hermann Ludwig Ferdinand von Helmholtz, geboren am 31. August 1821 in Potsdam, gestorben am 8. September 1894 in Berlin. Gabriel Lam´e, geboren am 22. Juli 1795 in Tours, gestorben am 1. Mai 1870 in Paris.

10.1 Typische Integraloperatoren f¨ ur elliptische Randwertaufgaben

253

im 3D-Fall. Dann ist Φ(x) := (Kf ) (x) f¨ ur alle x ∈ Rd definiert und erf¨ ullt d 5 ΔΦ = 0 in R \Γ . Die Dirichlet -Randbedingung Φ=g

auf Γ

(10.4)

erzwingt man dadurch, dass f die Integralgleichung Kf = g

 Γ

f¨ ur alle x ∈ Γ,

d.h.

(10.5)

f (y) dΓy = 4πg(x) f¨ ur alle x ∈ Γ |x − y|

erf¨ ullen soll. Somit ist eine diskrete Version der Integralgleichung Kf = g zu l¨ osen. Hat man die L¨ osung f , kann man das Potential Φ = Kf definieren, das die Differentialgleichung (10.1) wie auch die Randwerte (10.4) erf¨ ullt und an gew¨ unschten Stellen ausgewertet werden kann. 10.1.3 Direkte Methode, Doppelschicht-Operator Die L¨ osungsmethode aus §10.1.2 ist indirekt: (10.5) liefert die Funktion f, die erst nach Einsetzen in das Potential Φ = Kf das Laplace-Problem l¨ost. Im n¨ achsten Beispiel sei das Laplace-Problem Δu = 0 im (beschr¨ankten) Innen∂u = φ zu l¨osen. Ein direkter Zugang gebiet Ω mit Neumann6 -Randdaten ∂n 7 ist  1 u(x) + κ(x, y)u(y)dΓy = g(x) f¨ ur alle x ∈ Γ (10.6) 2 Γ  ∂s mit κ := und g(x) := s(x, y)φ(y)dΓy , ∂ny Γ da sofort die Dirichlet-Randwerte u(x) f¨ ur x∈ Γ der L¨osung von Δu=0 resultieren. s(x, y) ist die Fundamentall¨ osung aus (10.2). κ(x, y) = ∂s(x,y) ist der ∂ny Doppelschicht-Kern und Ku mit  ∂s(x, y) (Ku) (x) = u(y)dΓy ∂ny Γ der Doppelschicht-Operator. Der zum Doppelschicht-Operator adjungierte Operator ist  ∂s(x, y) u(y)dΓy . (K∗ u) (x) = ∂nx Γ Hier wird im Kern nach x statt y abgeleitet. 5

6

7

Johann Peter Gustav Lejeune Dirichlet, am 13. Februar 1805 in D¨ uren (damals Frankreich) geboren, am 5. Mai 1859 in G¨ ottingen gestorben. J´ anos von Neumann, geboren am 28. Dezember 1903 in Budapest, gestorben am 8. Febr. 1957 in Washington D.C. Studienbeginn 1921 in Berlin (Chemie). Die Gleichung (10.6) gilt in fast allen x ∈ Γ . In Ecken- und Kantenpunkten ist der Raumwinkel zu ber¨ ucksichtigen.

254

10 Anwendungen auf diskretisierte Integraloperatoren

10.1.4 Hypersingul¨ arer Operator Eine weitere Ableitung Singularit¨ at. Daher ist

∂ ∂ ∂nx ∂ny s(x, y)

 (Wf ) (x) := Γ

erzeugt eine auf Γ nicht integrierbare

∂ ∂ s(x, y)f (y)dΓy ∂nx ∂ny

(10.7)

im Sinne von Hadamard zu interpretieren (vgl. [68, §7.5]). Eine alternative explizite Darstellung wird in Sauter-Schwab [125, §3.3.4] gegeben. 10.1.5 Calder´ on-Projektion In den vorhergehenden Unterkapiteln sind zu einer Fundamentall¨osung s(x, y) eingef¨ uhrt worden: 1) der Einfachschicht-Integraloperator, der traditionell mit V abgek¨ urzt wird, 2) der Doppelschicht-Integraloperator K und seine adjunare Integraloperator W aus (10.7): gierte Version K∗ und 3) der hypersingul¨  s(x, y)f (y)dΓy , (Vf ) (x) := Γ   ∂s(x, y) ∂s(x, y) (Kf )(x) := u(y)dΓy , (K∗ f )(x) := u(y)dΓy . ∂ny ∂nx Γ Γ F¨ ur einen selbstadjungierten Differentialoperator wie L = Δ ist s symmetrisch: s(x, y) = s(y, x). Damit sind V und W symmetrische Operatoren, nicht jedoch K bzw. K∗ . ur das Innenraumproblem lautet Der Calder´ on8 -Operator C f¨      1 V u0 I − K u1 2 = 1 u1 u0 I + K∗ W 2   =:C

(vgl. [125, §3.6]). Dabei sind u0 = u|Γ die Dirichlet-Werte von u auf Γ, w¨ ahrend u1 die Neumann-Daten (allgemeiner die konormale Ableitung) am Rand des Innengebiets sind. Der Calder´ on-Operator erlaubt, aus gegebenen Dirichlet-Werten die Neumann-Daten zu ermitteln oder umgekehrt. Die erste Zeile der obigen Gleichung ist mit (10.6) identisch. In technischen Anwendungen liegen oft gemischte Randbedingungen vor: auf einem Teil Γ0 ⊂ Γ ist der Dirichlet-Wert u0 gegeben, auf dem Rest uhrt eine Aufteilung der Integration Γ1 = Γ \Γ0 die Neumann-Daten. Dann f¨ in + zu den Gleichungen Γ Γ0 Γ1

8

Alberto Pedro Calder´ on, geboren am 14. Sept. 1920 in Mendoza (Argentinien), gestorben am 16. April 1998 in Chicago.

10.3 Randelementdiskretisierung und Erzeugung der Systemmatrix 1 2 u0 (x)

+ =

1 2 u1 (x)

− =

  Γ0 κK (x, y)u0 (y)dΓy −  Γ1 κV (x, y)u1 (y)dΓy κV (x, y)u1 (y)dΓy − Γ1 κK (x, y)u0 (y)dΓy Γ0  Γ0 κW (x, y)u0 (y)dΓy − Γ1 κK (y, x)u1 (y)dΓy κ (x, y)u0 (y)dΓy + Γ0 κK (y, x)u1 (y)dΓy Γ1 W

255

f¨ ur x ∈ Γ0 , f¨ ur x ∈ Γ1 ,

wobei die rechten Seiten bekannt sind, w¨ ahrend auf der linken Seite die gesuchten Daten stehen. Dabei bezeichnet κK den Kern von K usw.

10.2 Newton-Potential In §10.1 wurde ausgenutzt, dass die homogene Differentialgleichung Lu = 0 vorliegt und die Inhomogenit¨ at nur durch die Randwerte gegeben ist. Der Fall Lv = f in Ω mit f = 0 kann wie folgt gel¨ ost werden: 1. Man bestimme eine L¨ osung von Lv = f in Ω mit beliebigen Randdaten. 2. Anschließend suche man eine Korrektur w, die Lw = 0 in Ω und Bw = φ − Bv auf Γ (B ist der Randoperator). Dann ist u := v + w L¨ osung von Lu = f in Ω und Bu = φ auf Γ. Den ersten Teil kann man mit dem Newton-Potential behandeln:  s(x, y)f (y)dy f¨ ur alle x ∈ Ω. (10.8) v = Kf mit (Kv) (x) := Ω

Dabei ist s wieder die Fundamentall¨ osung9 von L (vgl. §10.1.1). K ist kein Einfachschichtoperator, da die Integration in (10.8) u ¨ber das Volumen Ω durchgef¨ uhrt wird. In Zusammenh¨ angen, wo L = Δ das elektrische Potential und f die elektrische Ladungsverteilung beschreiben, nennt man (10.8) auch das CoulombPotential. Die Fundamentall¨ osung des Laplace-Operators h¨angt nur von der Differenz x − y ab: s(x, y) = s(x − y). Damit beschreibt K eine Faltung. Eine schnelle approximative Faltung f¨ ur Ω = Rd wird in [77] beschrieben (vgl. §10.7).

10.3 Randelementdiskretisierung und Erzeugung der Systemmatrix in hierarchischer Form Die Galerkin-Diskretisierung eines Integraloperators wurde bereits in §1.5.2 vorgef¨ uhrt. Die hierbei verwendeten finiten Elemente werden in diesem Zusammenhang “Randelemente” genannt. Statt von der Finite-ElementMethode spricht man hier von der Randelementmethode (BEM). Die bei 9

W¨ urde man statt der Fundamentall¨ osung s(x, y) die Greensche Funktion g(x, y) nehmen, w¨ aren auch schon die homogenen Randbedingungen Bu = 0 erf¨ ullt, da ullt. die Greensche Funktion definitionsgem¨ aß Bx g(x, y) = 0 erf¨

256

10 Anwendungen auf diskretisierte Integraloperatoren

der Diskretisierung auftretenden Randelementmatrizen sind in (1.28) f¨ ur die Galerkin-Diskretisierung beschrieben:   κ(x, y)φi (x)φj (y)dΓx dΓy (i, j ∈ I) Kij = Γ

Γ

(zum Kollokations- und Nystrøm-Verfahren vergleiche man (1.30) und (1.32)). Zur Fragen bez¨ uglich der Diskretisierung sei auf [125] verwiesen. Die Generierung der Randelementmatrix K ∈ RI×I in der obigen Form muss auf jeden Fall vermieden werden, da dies n2 Integralauswertungen und einen Speicherbedarf von n2 erfordert (n := #I). Stattdessen ist die H-Matrix KH ≈ K direkt (d.h. ohne den Umweg u ¨ber die volle Matrix K) zu erzeugen. Mittels der Techniken aus §5.4 wird zun¨ achst ein Clusterbaum T (I) und daraus gem¨ aß §5.5 der Blockclusterbaum T (I × I) mit der Partition P konstruiert. F¨ ur P wird im Allgemeinen die u ¨bliche Zul¨assigkeitsbedingung verwendet (vgl. Definition 5.2.4). Falls Γ eine Kurve darstellt, kann auch die schwache Zul¨ assigkeitsbedingung aus §9.3 eingesetzt werden. Das Nahfeld besteht aus allen Indexpaaren (i, j) ∈ b ∈ P − , die zu nichtzul¨ assigen Bl¨ ocken geh¨ oren. Da diese Bl¨ ocke im vollen Matrixformat dargestellt werden, ben¨ otigt man f¨ ur diese (i, j) die obigen Werte Kij . Falls noch keine Implementierung vorliegt, ist die Integration durch eine hinreichend genaue Quadratur zu approximieren (vgl. [125]). Da die Zahl der Nahfeldkomponenten O(n) betr¨ agt, f¨ uhrt auch die Verwendung von Quadraturverfahren mit O(log∗ n) Quadraturpunkten zu einem fast linearen Aufwand O(n log∗ n). Es bleibt die Bestimmung der Komponenten im Fernfeld, d.h. von KH |b f¨ ur die zul¨ assigen Bl¨ ocke b ∈ P + . Zwei Strategien bieten sich an. Kreuzapproximation: Es sei angenommen, dass eine Implementierung ur ein Indexpaar (i, j) existiert10 . Dann bietet sich zur Auswertung von Kij f¨ die Kreuzapproximation aus §9.4 an. Die adaptive Anwendung nach §9.4.3 erm¨ oglicht es, mit heuristischer Sicherheit eine Rang-k-Matrix KH |b ∈ R(k) mit k = k(b) so zu bestimmen, dass der entstehende Fehler die gew¨ unschte Genauigkeit (z.B. Diskretisierungsfehler) besitzt. Anschließend kann eine Rekompression nach §6.7.1 folgen. Falls f¨ ur die Kreuzapproximation eine h¨ ohere als die Endgenauigkeit gew¨ ahlt wird, kann die Rekompression nah an das Optimum f¨ uhren, das entst¨ ande, wenn man den exakten Matrixblock arwertzerlegung auf die gew¨ unschte Genauigkeit k¨ urzt. K|b mittels Singul¨ Kernapproximation: Man w¨ ahlt eine der Methoden, den Kern des Integraloperator separabel zu approximieren. Unter diesen ist die (Tensorprodukt-)Interpolation die im Allgemeinen bequemste. Dabei ist es gelegentlich vorteilhaft, eine Funktion zu interpolieren, deren Ableitungen die gew¨ unschte Kernfunktion darstellen (vgl. §4.2.2). Eine Alternative ist 10

Bei eventuell von außen gegebener Implementierung von Kij k¨ onnen die folgenden Schritte durchgef¨ uhrt werden, ohne den Kern des Integraloperators kennen zu m¨ ussen. Dies schließt die Nahfeldkomponenten ein.

10.4 Helmholtz-Gleichung f¨ ur hohe Frequenzen

257

die hybride Kreuzapproximation aus §9.4.5. Auch hier bietet es sich an, anschließend eine Rekompression durchzuf¨ uhren, um den lokalen Rang k = k(b) so klein wie m¨ oglich zu halten. In beiden F¨ allen kann auch versucht werden, die Partition gem¨aß §6.7.2 zu vergr¨ obern. Anstelle einer H-Matrix KH kann auch eine H2 -Matrix KH2 konstruiert werden. Die direkte Konstruktion ist im Nahfeldanteil identisch zum bisherigen Vorgehen und folgt im Fernfeld der Beschreibung aus §8.4.2. Die indirekte Methode besteht darin, zun¨ achst wie oben eine H-Matrix KH zu erzeugen und dann §8.7 folgend KH in eine H2 -Matrix zu konvertieren. Neben den verschiedenen Integraloperatoren tritt bei Integralgleichungen der zweiten Art noch die Identit¨ at auf. Ihre Diskretisierung liefert die Massematrix (1.24) auf. Diese ist schwach besetzt und hat nur im Nahfeld Nicht-Null-Eintr¨ age. Damit ist die Diskretisierung von λI + K ohne weiteren Approximationsfehler als H- oder H2 -Matrix darstellbar.

10.4 Helmholtz-Gleichung fu ¨r hohe Frequenzen Die Helmholtz-Gleichung (10.3) enth¨ alt die Konstante a > 0, die die Rolle der Frequenz spielt. Sie definiert die Wellenl¨ ange λ := 2π/a. Wenn λ ≥ diam(Γ ), spricht man vom niederfrequenten Fall. λ  diam(Γ ) charakterisiert den hochfrequenten Fall, dazwischen befinden sich die moderaten Frequenzen. Der Darstellung der Fundamentall¨ osung s in (10.3) entnimmt man, dass sie nicht nur singul¨ ar ist bei x = y, sondern im hochfrequenten Fall wegen des Faktors exp (ia |x − y|) hochoszillierend ist. W¨ ahlt man einen zul¨ assigen Block b = τ × σ ∈ P + , so stellt man fest, dass der Rang k(ε), der notwendig ist, um eine Approximation der Genauigkeit ε zu erreichen (vgl. (2.6)), mit a ansteigt. Daher steigt der Speicher- und Rechenaufwand einer H-Matrixdarstellung, wenn a → ∞. F¨ ur eine pr¨ azisere Diskussion muss man die Gr¨oße des Blockes beachten, die durch d(b) := max {diam(τ ), diam(σ)} gegeben ist. F¨ ur die Niedrigrangaltnis d(b)/λ maßgebend. Solange nicht approximation von M |b ist das Verh¨ d(b)/λ ( 1 auftritt, ist eine Rang-k-Approximation mit akzeptablem k + + ˙ gross , ∪P m¨ oglich. Die Menge der zul¨ assigen Bl¨ ocke zerf¨ allt daher in P + = Pklein + + wobei b ∈ Pgross durch d(b)/λ ( 1 charakterisiert. Bl¨ocke b ∈ Pklein k¨onnen + treten Probleme auf. in u ur b ∈ Pgross ¨blicher Weise behandelt werden, nur f¨ Man beachte in diesem Zusammenhang, dass es sehr viel mehr kleine als große Bl¨ ocke gibt. In [3] wird die Systemmatrix M f¨ ur die hochfrequente HelmholtzGleichung als Summe MH + MH2 dargestellt, wobei MH die u ¨blichen + sowie die vollen Niedrigrangapproximationen in den Bl¨ ocken b ∈ Pklein + alt, w¨ ahrend MH |b = O f¨ ur b ∈ Pgross gilt. Matrixbl¨ ocke f¨ ur b ∈ P − enth¨ + ur den Kern eine Multipolentwicklung In den Bl¨ ocken b ∈ Pgross wird f¨ von Amini-Profit [2] verwendet, die im Prinzip eine H2 -Struktur definiert.

258

10 Anwendungen auf diskretisierte Integraloperatoren

+ F¨ ur b = τ × σ ∈ Pgross hat die Approximation von M |b die Gestalt  MH2 |b = Vτ Kb Wσ (vgl. (8.8)), wobei die Matrixgr¨oße von Kb nicht wie u uhrbaren Transforma¨blich klein ist, sondern ein Produkt von einfach durchf¨ + ∪ P − wird MH2 |b = O tionen und einer Diagonalmatrix ist. F¨ ur b ∈ Pklein definiert. Insgesamt ben¨ otigt MH + MH2 fast linearen Speicheraufwand und die Kosten der Matrixvektormultiplikation ist von gleicher H¨ohe. Allerdings unterst¨ utzt die spezielle Struktur von MH2 die u ¨brigen Matrix-Operationen nicht. Bei der Anwendung der Multipolentwicklung ist zu beachten, dass sie im nieder- oder moderat frequenten Fall zwar konvergent, aber instabil11 + ist. Daher ist es entscheidend, dass die Bl¨ ocke M |b mit b ∈ Pklein , f¨ ur die d(b)/λ ( 1 nicht gilt, nicht auf die Multipolentwicklung angewiesen sind.

10.5 Allgemeine Fredholm-Integraloperatoren Bisher wurden als Integralkerne Fundamentall¨osung elliptischer Differentialgleichungen oder ihre Ableitungen verwendet. Tritt ein Kern κ(x, y) anderer Art auf, stellt sich f¨ ur das diskretisierte Problem die Frage nach der richtigen Partition v¨ ollig neu. Die Zul¨ assigkeitsbedingung (5.8) ist nur f¨ ur den oben genannten Fall zugeschnitten und geht von einer Singularit¨at bei x = y auf. Ein allgemeiner Kern κ kann andere Singularit¨aten oder u ¨berhaupt keine enthalten. Daher l¨ asst sich kein genereller Rat erteilen. Vielmehr m¨ ussen f¨ ur andere Kerne erst Zul¨ assigkeitsbedingungen Adm entwickelt werden, die garantieren, dass Bl¨ ocke mit Adm(b) = true bei gleicher Rang-k-Approximation ¨ ahnliche Approximationsfehler ergeben.

10.6 Anwendungen auf Volterra-Integraloperatoren 10.6.1 Diskretisierungen von Volterra-Integraloperatoren Ein typischer linearer Volterra-Integraloperator besitzt die Form  x κ(x, y)u(y)dy f¨ ur 0 ≤ x ≤ 1, (Ku) (x) =

(10.9a)

0

wobei hier der Definitionsbereich der Variablen x auf [0, 1] normiert sei. Wesentlich ist die Variabilit¨ at der Integralgrenzen. Eine Verallgemeinerung ist 11

Ein einfaches Beispiel ur eine konvergente Summe mit Instabilit¨ atsproblemen k f¨ ν (−20) /ν!, da der Versuch, die kleine Zahl e−20 ≈ ist die Teilsumme ν=0 −9 mit großen Summanden wechselnden Vorzeichens auszurechnen, am 2 × 10 Ausl¨ oschungsproblem scheitert.

10.6 Anwendungen auf Volterra-Integraloperatoren



259

b(x)

κ(x, y)u(y)dy

(Ku) (x) =

f¨ ur 0 ≤ x ≤ 1,

(10.9b)

a(x)

wobei 0 ≤ a(x) ≤ b(x) ≤ 1. Der Kern κ(x, y) kann glatt sein oder wie bei der Abelschen12 Integral√ gleichung mit κ(x, y) = 1/ x − y schwach singul¨ar sein. Anmerkung 10.6.1. Ein Volterra-Integraloperator der Form (10.9a,b) kann als 1 ¯ y)u(y)dy aufgefasst werden, wobei Fredholm-Operator 0 κ(x, ⎧ f¨ ur 0 ≤ y ≤ x ≤ 1 ⎨ κ(x, y) bzw. 0 ≤ a(x) ≤ y ≤ b(x) ≤ 1, κ(x, ¯ y) := (10.10) ⎩ 0 sonst. Sei 0 = x0 < x1 < . . . < xN = 1 eine Intervallzerlegung von [0, 1]. Die Approximationen von u(xi ) seien als ui bezeichnet. Eine einfache Nystrømxj κ(x, y)u(y)dy artige Diskretisierung von (10.9a), die jedes Teilintegral xj−1 durch die Trapezregel ersetzt, liefert f¨ ur (Ku) (xi ) die N¨aherung i  xj − xj−1 (κ(xi , xj−1 )uj−1 + κ(xi , xj )uj ) . 2 j=1

Dies ergibt die Diskretisierungsmatrix K = (Kij )i,j=0,...,N ⎧ x1 −x0 κ(xi , x0 ) ⎪ 2 ⎪ ⎨ xj+1 −xj−1 κ(xi , xj ) mit Kij = xj −x2j−1 ⎪ κ(xi , xj ) ⎪ 2 ⎩ 0

(10.11a) f¨ ur f¨ ur f¨ ur f¨ ur

j = 0 und i > 0, 1 ≤ i ≤ j − 1, 1 ≤ i = j, i = 0 oder j > i.

Bei der Verwendung der tangentialen Trapezformel xj κ(x, y)u(y)dy ≈ (xj − xj−1 ) κ(x, xj−1/2 )u(xj−1/2 ) xj−1

alt man f¨ ur (Ku) (xi−1/2 ) die Approximation mit xj−1/2 := (xj + xj−1 ) /2 erh¨ i j=1 Kij Uj mit Uj ≈ u(xj−1/2 ) und 1 ≤ i ≤ N. Die Matrixelemente lauten K = (Kij )i,j=1,...,N mit  (xj − xj−1 ) κ(xi−1/2 , xj−1/2 ) Kij = 0 12

(10.11b) f¨ ur 1 ≤ i ≤ j ≤ N, f¨ ur 1 ≤ j < i ≤ N.

Niels Henrik Abel, geboren am 5. August 1802 auf der Insel Finnøy, gestorben am 6. April 1829 in Froland, Norwegen.

260

10 Anwendungen auf diskretisierte Integraloperatoren

In beiden F¨ allen ergibt sich eine untere Dreiecksmatrix K. Umgekehrt k¨onnen die Volterra-Integraloperatoren als die kontinuierlichen Analoga der Dreiecksmatrizen angesehen werden. F¨ ur die Galerkin-Diskretisierung geht man am einfachsten von der Anmerkung 10.6.1 aus und erh¨ alt  1 1 φj (x)κ(x, ¯ y)φi (y)dxdy (i, j ∈ I) Kij = 0

0

wie in (1.28). Die Auswertung des Doppelintegrals entf¨allt, wenn κ ¯ = 0 auf ager(φi ) gilt. Es ist zu beachten, dass die Matrix nicht notTr¨ager(φj ) × Tr¨ wendigerweise eine untere Dreiecksmatrix ist. Anmerkung 10.6.2. (i) F¨ ur st¨ uckweise konstante Basisfunktionen φi mit Tr¨ ager in [xi−1 , xi ] und den Fall (10.9a) ergibt sich die untere Dreiecksmatrix mit ⎧  xi  xj f¨ ur i < j, ⎪ ⎨ xi−1 xj−1 κ(x, y)dxdy  xi x Kij = κ(x, y)dy dx f¨ ur i = j, ⎪ ⎩ xi−1 xi−1 0 sonst. (ii) F¨ ur st¨ uckweise lineare Basisfunktionen ergibt sich eine untere ur i > j + 1. Hessenberg13 -Matrix: Kij = 0 gilt nur f¨ 10.6.2 Implementierung als Standard-H-Matrix Durch die Fortsetzung (10.10) mit null außerhalb des urspr¨ unglichen Definitionsbereiches ist κ ¯ eine Kernfunktion mit Singularit¨ at (Unstetigkeit) bei x = y (im Falle (10.9a)) bzw. bei y = a(x) und y = b(x) (im Falle (10.9b)). Zumindest im ersten Fall l¨ asst sich die Matrix K wie im Standardfall behandeln. Wenn κ in 0 ≤ y ≤ x ≤ 1 hinreichend glatt ist, ist die schwache Zul¨ assigkeitsbedingung aus §9.3 Abb. 10.1. Parausreichend. Falls κ wie im Fall der Abelschen Integral- tition bei Singugleichung schwach singul¨ ar ist, sind sowohl die schwache larit¨at in x = y wie die u assigkeitsbedingung anwendbar. ¨bliche Zul¨ F¨ ur eine Singularit¨ at (Unstetigkeit) bei y = b(x) l¨asst sich im Prinzip der u ur Kerne, die auf ¨bliche Cluster- und Blockclusterbaum aufstellen. F¨ 0 ≤ a(x) ≤ y ≤ b(x) ≤ 1 glatt sind, lautet die Zul¨assigkeitsbedingung b = τ × σ zul¨ assig, falls  Xτ × Xσ ⊂ {(x, y) : 0 ≤ a(x) ≤ y ≤ b(x) ≤ 1} oder Xτ × Xσ ∩ {(x, y) : 0 ≤ a(x) < y < b(x) ≤ 1} = ∅. 13

Karl Adolf Hessenberg, geboren am 8. Sept. 1904 in Frankfurt, gestorben am 22. Febr. 1959. Nicht zu verwechseln mit dem Mathematiker Gerhard Hessenberg (1874-1925).

10.6 Anwendungen auf Volterra-Integraloperatoren

261

Im ersten Fall l¨ asst sich κ in Xτ × Xσ separabel entwickeln (hier ist die Glattheit des Kernes vorausgesetzt), im zweiten Fall gilt K|b = 0. Wenn nicht alle Matrixoperationen unterst¨ utzt werden sollen, sondern nur die Matrixvektormultiplikation durchzuf¨ uhren ist, l¨asst sich die Darstellung wesentlich vereinfachen, wie in §10.6.4 erkl¨ art wird. 10.6.3 Niedrigrangdarstellung von Profilmatrizen Bei der Definition von schwach besetzten Matrizen benutzt man ein Muster M ⊂ I × I, das diejenigen Indexpositionen enth¨alt, die von null verschiedene Matrixeintr¨ age enthalten d¨ urfen: Eine Matrix A ∈ RI×I hat das Besetzungsur alle (i, j) ∈ (I × I) \M. muster M, wenn Aij = 0 f¨ Die zugeh¨ orige Projektion ΠM von RI×I in die Menge der Matrizen mit Besetzungsmuster M lautet  Aij f¨ ur (i, j) ∈ M, I×I mit (ΠM A)ij := (10.12) ΠM A ∈ R 0 sonst. Offenbar hat A das Besetzungsmuster M genau dann, wenn ΠM A = A. Definition 10.6.3 (Profilmatrix). Die Indexmenge I sei angeordnet (o.B.d.A. gelte I = {1, . . . , n}). A ∈ RI×I heißt Profilmatrix, wenn es (Profil-)Funktionen α, β : I → I gibt, sodass A das Besetzungsmuster M besitzt, wobei M := {(i, j) : i ∈ I und α(i) ≤ j ≤ β(i)} . A heißt Matrix mit monotonem Profil (oder monotone Profilmatrix), falls die Funktionen α und β schwach monoton sind. Die wichtigsten Anwendungsf¨ alle sind festgehalten in Anmerkung 10.6.4. a) Eine untere Dreiecksmatrix ist eine monotone Profilmatrix mit α(i) = 1, β(i) = i. ¨ b) Ubliche Diskretisierungen des Volterra-Operators (10.9b) f¨ uhren auf monotone Profilmatrizen, falls die Grenzen a(x) und b(x) schwach monoton sind. Sei R ∈ R(k, I, I) eine Rang-k-Matrix (vgl. Definition 2.2.3a). Die Projektion ΠM R ist im Allgemeinen keine Rang-k-Matrix mehr. Beispielsweise wird ur alle i, j) durch die Projektion die Rang-1-Matrix R = 11 (d.h. Rij = 1 f¨ auf das Muster der unteren Dreiecksmatrix in ⎡ ⎤ 1 0 ··· 0 ⎢1 1 ··· 0⎥ ⎢ ⎥ A := ΠM R = ⎢ . . . . ⎥ ⎣ .. .. . . .. ⎦ 11 1 1

262

10 Anwendungen auf diskretisierte Integraloperatoren

abgebildet. Offenbar ist A invertierbar, hat also den Rang n. Umgekehrt schließt man: auch wenn die Profilmatrix A keine Niedrigrangmatrix ist, kann sie eventuell als Bild ΠM R einer Niedrigrangmatrix R ∈ R(k, I, I) dargestellt werden. Eine unmittelbare Anwendung liefert die Anmerkung 10.6.5. Sei K die untere Dreiecksmatrix (10.11b). Ferner erlaube die Kernfunktion κ die separable Approximation κ(x, y) ≈ κ (k) (x, y) =

k 

(k) ϕ(k) ν (x)ψν (y)

f¨ ur 0 ≤ y ≤ x ≤ 1.

ν=1

˜ mit Dann wird K durch die untere Dreiecksmatrix K ˜ ij = (xj − xj−1 ) κ (k) (xi−1/2 , xj−1/2 ) K ˜ kann als Projektion ΠM R einer Rang-k-Matrix approximiert. K R ∈ R(k, I, I) auf das untere Dreiecksmuster dargestellt werden. Der notwendige Speicherbedarf ist daher mit 2nk beschrieben.  n  n (k) (k) , bν := (xj − xj−1 ) ψν (xj−1/2 ) . Beweis. Seien aν := ϕν (xi−1/2 ) j=1 k i=1  Die gesuchte Matrix R lautet ν=1 aν bν . Im Falle einer allgemeinen Profilmatrix sind außerdem die Profilfunktionen n n α und β in Form der Vektoren (α(i))i=1 und (β(i))i=1 zu speichern. 10.6.4 Matrix-Vektor-Multiplikation Hier verwenden wir die Darstellung

+

A = ΠM B, wobei B keine R¨ ucksicht auf die Profilgrenzen nimmt. B ist entweder eine globale Niedrigrangmatrix (§10.6.4.1) oder eine einfachere hierarchische Matrix (§10.6.4.2). Im Falle einer Singularit¨ at bei x = y = 0 kann B zum Beispiel eine Blockpartition wie in Abbildung 10.2 besitzen. Abb. 10.2. Partitionierung Man beachte, dass die Blockzerlegung Diagonalbei Singularit¨ at in x = y = 0 bl¨ ocke vorsieht, die wie in §10.6.4.1 Niedrigrangmatrizen sind und anders als in Abbildung 10.1 die Profilstruktur ignorieren. 10.6.4.1 Der Niedrigrangfall Zun¨ achst nehmen wir an, dass A = ΠM R eine Profilmatrix ist, die sich mit einer Niedrigrangmatrix R ∈ R(k, I, I) darstellen l¨asst. In den Versionen der

10.6 Anwendungen auf Volterra-Integraloperatoren

263

Matrixvektormultiplikation wird angenommen, dass die Profilfunktionen α, β schwach monoton steigend sind. Andere F¨ alle werden anschließend diskutiert. Zur Einf¨ uhrung sei der Fall einer unteren Dreiecksmatrix (α(i) = 1, β(i) = i , vgl. Anmerkung 10.6.4a) diskutiert, wobei A = ΠM R mit einer Rang-1-Matrix R = ab gilt. Das Resultat y := Ax ergibt sich aus σ := 0; for i := 1 to n do begin σ := σ + bi xi ; yi := ai σ end;

i {es gilt σ = j=1 bj xj } {es gilt yi = (Ax)i }

(10.13)

Der Rechenaufwand betr¨ agt 2n Multiplikationen und n − 1 Additionen und stimmt mit dem Aufwand zur Multiplikation Rx u ¨berein. Als N¨ achstes wird eine Matrix A = ΠM R mit R = ab und schwach monoton steigenden Profilfunktionen α, β vorausgesetzt. Der Algorithmus zur Matrixvektormultiplikation y := Ax lautet wie folgt: αalt := 1; βalt := 0; σ := 0; for i := 1 to n do α(i)−1 β(i)   begin σ := σ − bj xj + bj xj ; j=αalt

{es gilt σ =

j=βalt +1

β(i) 

bj xj }

(10.14)

j=α(i)

αalt := α(i); βalt := β(i); yi := ai σ {es gilt yi = (Ax)i } end; β(i) α(i)−1 Hierbei gilt die Konvention, dass die Summen j=αalt und j=βalt +1 leer (d.h. gleich null) sind, wenn der Endindex kleiner als der Anfangsindex ist. α(i)−1 F¨ ur alle i zusammen ben¨ otigen die Summen j=αalt bj xj genau α(n) − 1 ≤ n Multiplikationen und α(n) − 2 ≤ n Additionen. Entsprechend kosten die Summen

β(i)

j=βalt +1 bj xj

β(n) − 1 ≤ n Multiplikationen und β(n) − 2 ≤ n Additionen. Insgesamt ergeben sich h¨ ochstens 3n Multiplikationen und 2n Additionen. ¨ Ubung 10.6.6. Man formuliere entsprechende Algorithmen f¨ ur die F¨alle (i) α schwach monoton steigend, β schwach monoton fallend, (ii) α schwach monoton fallend, β schwach monoton steigend, (iii) α, β schwach monoton fallend. Man zeige, dass sich in den F¨ allen (i) und (ii) der Algorithmus so schreiben l¨ asst, dass der Aufwand durch 2n Additionen und Multiplikationen beschr¨ankt ist.

264

10 Anwendungen auf diskretisierte Integraloperatoren

Im nicht-monotonen Fall gibt es zwei Realisierungsm¨oglichkeiten. Die erste ist dem Algorithmus (10.14) nachempfunden und verwendet f¨ ur den Fall α(i) = 1 (i ∈ I) und nicht-monotones β die Erneuerungsformel ⎧ β(i) ⎪ ⎨ σ + j=βalt +1 bj xj falls β(i) > βalt , falls β(i) = βalt , σ := σ ⎪ ⎩ σ − βalt b x j=β(i)+1 j j falls β(i) < βalt . Die hierf¨ ur ben¨ otigte Zahl von  Additionen und Multiplikationen ist durch die n Totalvariation von β gegeben: i=1 |β(i) − β(i − 1)|, wobei β(0) := 0 gesetzt ist. Analoge zus¨ atzliche Korrekturen treten auf, wenn α nicht-monoton ist. Da die Totalvariation im Extremfall n2 nahekommt, kann die obige Variante ineffizient werden. Der folgende Algorithmus hat in allen F¨allen optimale Komplexit¨ at hinsichtlich der Matrix-Vektor-Multiplikationskosten, i ben¨ otigt aber noch einen Hilfsvektor σ ∈ R{0,...,n} mit σi := j=1 bj xj . Berechnung von y := Ax mit A = ΠM R und R = ab : σ0 := 0; for i := 1 to n do σi := σi−1 + bi x i; for i := 1 to n do yi := ai σβ(i) − σα(i)−1 ; Hierf¨ ur werden 2n Additionen und Multiplikationen ben¨otigt. Falls wie bei der unteren Dreiecksmatrix α(i) = 1 gilt, entf¨ allt sogar die Subtraktion von σα(i)−1 , da σα(i)−1 = σ0 = 0, und die Zahl der Additionen reduziert sich auf n. Bisher k war R als Rang-1-Matrix angenommen. Der allgemeine Fall R = ν=1 aν b ν ∈ R(k, I, I) mit k > 1 ergibt sich durch Anwendung der obigen Algorithmen auf jeden Summanden aν b ν. 10.6.4.2 Multiplikation mit einer hierarchischen Profilmatrix Die Bl¨ ocke b = τ ×σ ∈ P einer hierarchischen Matrix k¨onnen in drei disjunkte Klassen unterteilt werden: 1. b liegt außerhalb des Profilbereiches, d.h. j ∈ / [α(i), β(i)] f¨ ur alle (i, j) ∈ b. Dann ist A|b = 0, und der Block bleibt bei der Matrixvektormultiplikation unber¨ ucksichtigt. 2. b liegt innerhalb des Profilbereiches, d.h. j ∈ [α(i), β(i)] f¨ ur alle (i, j) ∈ b. uhrt Dann wird die Matrixvektormultiplikation A|b ·x|σ wie u ¨blich durchgef¨ (vgl. §7.1). 3. Andernfalls enth¨ alt der Block b die Matrix Rb ∈ R(k, b), die mittels A|b = ΠM Rb den wirklichen Matrixblock darstellt. Die Multiplikation A|b · x|σ verwendet einen der Algorithmen aus §10.6.4.1. Da sich auch im dritten Fall der Rechenaufwand nicht von dem Aufwand unterscheidet, der im u ¨blichen Falle auftritt, ist der Gesamtaufwand wie in §7.8.1.

10.7 Faltungsintegrale

265

Wenn die Kernfunktion κ(x, y) (definiert in 0 ≤ y ≤ x ≤ 1) wie im obigen Beispiel nur bei x = y = 0 eine Singularit¨ at besitzt, sieht die Blockpartition P wie in Abbildung 10.2 aus, wobei das Profil das der unteren Dreiecksmatrix ist. Die Bl¨ ocke in der oberen Dreiecksh¨alfte entsprechen dem Fall 1, die in der unteren Dreiecksh¨ alfte dem Fall 2, w¨ahrend die Diagonalbl¨ocke dem Fall 3 zuzuordnen sind.

10.7 Faltungsintegrale Eindimensionale Integrale vom Faltungstyp lauten  x f (y)g(x − y)dy

(10.15a)

0



oder

R

f (y)g(x − y)dy.

(10.15b)

Die erste Darstellung (10.15a) folgt aus (10.15b) unter der Bedingung f (t) = g(t) = 0 f¨ ur t < 0. Der Fall (10.15b) l¨ asst sich mehrdimensional in Rd verallgemeinern. Man kann hier κ(x, y) = g(x−y) als Kern betrachten, was den Funktionen f und g unterschiedliche Rollen zuteilen w¨ urde. Dagegen ist die Situation symmetrisch: es gilt f ∗ g = g ∗ f, wobei das Faltungsprodukt f ∗ g durch (10.15a) bzw. (10.15b) definiert ist. Entsprechend kommen hier auch andere Verfahren zum Einsatz. F¨ ur allgemeine f und g sei auf [76] verwiesen. Selbst wenn g der Kern des Newton-Potentials g(x − y) = 1/ |x − y| (x, y ∈ Rd , vgl. §10.2) ist, sind andere Methoden anwendbar (vgl. [77]). Beispiele f¨ ur das Auftreten der Faltung mit dem Coulomb-Potential in R3 findet man etwa in der Quantenchemie bei den Hartree-Fock- und Kohn-Sham-Gleichungen (vgl. Khoromskij [98]). Eine spezielle Mischung einer Integraloperatoranwendung mit einer Faltung tritt bei den Populationsbilanzgleichungen auf. Diese beschreiben die Dichten von Partikeln, die mindestens eine Eigenschaftskoordinate (z.B. Partikelvolumen) besitzen. Hier tritt ein quadratischer Integraloperator auf, der die Agglomeration von Partikeln beschreibt (vgl. Ramkrishna [118, §3.3.2]):  x

κ(x − y, y)f (y)f (x − y)dy.

Q(f )(x) =

(10.16)

0

x ist die Eigenschaftskoordinate, die in einem Intervall [0, xmax ] variiert14 . Im x Falle von κ = 1 ist 0 κ(x − y, y)f (y)f (x − y)dy = (f ∗ f ) (x) die Faltung von f mit sich selbst. 14

In der Populationsbilanzgleichung h¨ angt f außerdem von den Zeit- und Raumkoordinaten ab, die aber in (10.16) fixiert sind.

266

10 Anwendungen auf diskretisierte Integraloperatoren

Hier kann zun¨achst f¨ ur κ eine separable Approximation eingesetzt werden: κ(x, y) ≈

k 

αν (x)βν (y).

ν=1

Die separable N¨ aherung anstelle von κ ergibt die Gestalt k 

αν (x − y)βν (y)f (y)f (x − y)dy

ν=1

=

k 

βν (y)f (y)αν (x − y)f (x − y)dy

ν=1

=

k  

ν=1

x

ϕν (y)ψν (x − y)dy

0

mit ϕν := βν f

und ψν := αν f.

Damit ist das Problem auf Faltungen reduziert (vgl. [74], [75]).

11 Anwendungen auf Finite-Element-Matrizen

Im Einf¨ uhrungsteil wurde die Finite-Element-Diskretisierung mit der Basis uhrt. Entsprechend der sp¨ater verwendeten Nota{φ1 , . . . , φn } von Vn eingef¨ tion sei jetzt {φi : i ∈ I} geschrieben, wobei n = #I. In §9.2.2 wurde gezeigt, dass die bei dieser Diskretisierung entstehenden Matrizen (im Folgenden “Finite-Element-Matrizen” genannt) nicht nur schwach besetzt sind, sondern f¨ ur die Standardpartition P auch schon in der Menge H(k, P ) f¨ ur alle k ∈ N0 liegen. Damit kann jede FiniteElement-Matrizen unver¨ andert als hierarchische Matrix angesehen werden. Insbesondere kann sie als Eingabeparameter f¨ ur die Invertierungs- oder LU-Algorithmen dienen. Zun¨ achst wird die Massematrix diskutiert, die u.a. bei der Finite-ElementDiskretisierung von Eigenwertaufgaben auftritt. Mit den Mitteln aus §9.5 wird gezeigt, dass die Inverse der Massematrix wieder im H-Format darstellbar ist. Dies Resultat wird ben¨ otigt, um in §11.2.5 die Inverse der Finite-ElementMatrix zu diskutieren (vgl. Satz 11.2.8).

11.1 Inverse der Massematrix  Die Massematrix (Gram-Matrix) M ∈ RI×I mit Mij = Ω φi (x)φj (x)dx ist die Finite-Element-Approximation der Identit¨ at im Finite-Element-Raum Vn (vgl. (1.24)). Aus Lemma C.5.1 stammt die Darstellung M = RP mit der Prolongation P : Rn → Vn ,

v = (vj )j∈I → v =



vj φ j

j∈I

und der Restriktion

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 11, c Springer-Verlag Berlin Heidelberg 2009 

268

11 Anwendungen auf Finite-Element-Matrizen

R := P ∗ : Vn → RI ,

 (Rv)

j

=

v(x)φj (x)dx. Ω

M ist positiv definit, und die extremen Eigenwerte μmin und μmax ergeben √ √ die besten Schranken in der Ungleichung μmin v2 ≤ P v2 ≤ μmax v2 (v ∈ RI ) (vgl. Lemma C.5.1). Wenn die finiten Elemente t ∈ T s¨amtlich vergleichbare Gr¨ oße haben, d.h. diam(t)/ diam(t ) ≤ Cq

f¨ ur alle t, t ∈ T ,

heißt T quasi-uniform. Lemma 11.1.1. Wenn T quasi-uniform und ar ist (vgl. (6.12a)), √ formregul¨ sind die Normen P v2 /vol(Ω) und v2 / n (v ∈ RI ) ¨ aquivalent mit einer von n = #I unabh¨ angigen Konstanten. Damit ist insbesondere die Kondition angig von n = #I beschr¨ ankt.1 cond(M ) = μmax /μmin unabh¨ Beweis. Man vergleiche z.B. [67, Bemerkung 8.8.4]. F¨ ur positiv definite, wohlkonditionierte Matrizen l¨asst sich allgemein das nachfolgende Lemma 11.1.3 beweisen. Zu den hier ben¨otigten Begriffen des Matrixgraphen und des Abstandes δ vergleiche man Definition A.1.1 und (A.1). F¨ ur st¨ uckweise lineare Elemente und die nachfolgenden Schl¨ usse sei die Elementgr¨ oße durch h := maximale Seitenl¨ ange der Elemente t ∈ T

(11.1)

beschrieben. Wir gehen im Weiteren davon aus, dass •

jeder Index i ∈ I eineindeutig einem Knoten ξi ∈ Rd zuξi geordnet ist (zum Fall, dass verschiedene i, j dem gleichen Knoten ξi = ξj entsprechen, vergleiche man Seite 97), • der Tr¨ ager Xi von φi besteht aus allen Dreiecken der 11.1. Triangulation T , die den Knotenpunkt ξi als Eckpunkt Abb. Tr¨ ager Xi einer besitzen (vgl. Abbildung 11.1). Basisfunktion

Die letzte Bedingung legt die Wahl von ξi fest. Anmerkung 11.1.2. a) Wird der Knotenpunkt xi ∈ Xi wie oben gew¨ahlt, ist h eine obere Schranke des Radius von Xi : max {ξi − x2 : x ∈ Xi } = dist(ξi , Rd \Xi ) ≤ h. b) Sei {i = i0 , i1 , . . . , iδ = j} ein Pfad in G(M ) von i nach j der L¨ange ur die entsprechenden Knotenpunkte ξi − ξj 2 ≤ δh. δ ∈ N0 . Dann gilt f¨ Ferner ist δ ≥ 2 + dist(Xi , Xj )/h, wenn dist(Xi , Xj ) > 0 oder Xi ∩ Xj das Maß null besitzt. 1

Beide Werte μmin und μmax sind schrittweitenabh¨ angig (vgl. (C.27)), nicht aber ihr Quotient.

11.1 Inverse der Massematrix

269

Beweis. a) Die Menge {ξi − x2 : x ∈ Xi } nimmt ihre Maxima in den Eckpunkten an. Zu jedem Eckpunkt x von Xi gibt es aber ein Dreieck t ∈ T , sodass die Strecke ξi x mit einer Seite von t u ¨bereinstimmt. Somit gilt ξi − x 2 ≤ h. b) Wenn (im , im+1 ) eine Kante in G(M ) beschreibt, muss Mim ,im+1 = 0 gelten. Damit m¨ ussen sich die Tr¨ ager Xim und Xim+1 in inneren Punkten u ¨berschneiden. Dieser Fall tritt nur auf, wenn der Knotenpunkt ξim+1 einer der Eckpunkte von Xim ist oder mit ξim u ¨bereinstimmt. Folglich gilt ur einen Pfad der L¨ ange δ folgt mit der Dreiecksξim − ξim+1 2 ≤ h . F¨ ungleichung entsprechend ξi − ξj 2 ≤ δh. c) Sei δ ≥ 2. Wegen ξi1 ∈ Xi und ξiδ−1 ∈ Xj ist dist(Xi , Xj ) ≤ ξi1 − ξiδ−1 2 ≤ (δ − 2) h , woraus die weitere Behauptung folgt. Die Massematrix ist positiv definit, und definitionsgem¨aß sind die Normen und die extremen Eigenwerte durch μmin = M −1 −1 2 und μmax = M 2 verbunden. In der Ungleichung (9.22b) des Kriteriums 9.5.3 wird eine Konstante otigt, die im folgenden Lemma charakterisiert wird. c2 ben¨ Lemma 11.1.3. Seien μmin und μmax die extremen Eigenwerte der Massematrix M . Mit h aus (11.1) ist |(M −1 )ij | ≤ C M −1 2 q 1+dist(Xi ,Xj )/h

f¨ ur alle i, j ∈ I mit δ(i, j) ≥ 2,

√ √r−1 r+1

wobei C := r−1 ∈ (0, 1) mit r := cond(M ) = μmax /μmin . 2r und q := Damit gilt die Ungleichung (9.22b) mit c2 := C M −1 2 q. Bedingungen, unter denen r = cond(M ) unabh¨ angig von der Problemgr¨oße n beschr¨ ankt ist, sind in Lemma 11.1.1 angegeben. Beweis. Lemma 9.5.4 liefert |(M −1 )ij | ≤ cˆ q δ(i,j) mit Konstanten, die in (9.23) angegeben sind. Aus √ √ (1 + r)2 δ(i,j) (1 + r)2 δ(i,j) q q =C ≤ cˆ q δ(i,j) = 2ar a (r − 1) δ(i,j)≥2+dist(Xi ,Xj )/h √ (1 + r)2 q √ ≤C √ q 1+dist(Xi ,Xj )/h a ( r − 1) ( r + 1) 1 =C q 1+dist(Xi ,Xj )/h = C M −1 2 q 1+dist(Xi ,Xj )/h μmin folgt die Behauptung. Die Ungleichung vol(Xi ) ≥ cv hd

(11.2)

ist eine Folge der Formregularit¨ at und Quasiuniformit¨at des Finite-Elementonnen u Gitters. Die Tr¨ ager Xi k¨ ¨berlappen, aber unter der Annahme der ¨ Formregularit¨ at ist die Zahl der Uberlappungen beschr¨ankt. Dies wird in der folgenden Ungleichung ausgedr¨ uckt: Es gibt eine Konstante cM > 0, sodass

270

11 Anwendungen auf Finite-Element-Matrizen

cM vol(Xτ ) ≥



vol(Xi ).

(11.3)

i∈τ

Lemma 11.1.4. Aus (11.2) und (11.3) folgt die in (9.22a) verlangte Ungleichung cv diam(Xτ )d ≥ C1 hd #τ mit C1 := , ωd cM wobei ωd das Volumen der d-dimensionalen Einheitskugel ist. Beweis. Xτ ist in einer Kugel mit dem Radius diam(Xτ ) enthalten, sodass (diam(Xτ ))d ≥ vol(X  τ )/ωd . Andererseits erh¨alt man aus (11.3) und (11.2), dass vol(Xτ ) ≥ c1M i∈τ vol(Xi ) ≥ ccMv hd #τ. Satz 11.1.5. Als Zul¨ assigkeitsbedingung sei (5.9a) mit (5.5a) angenommen. Das Finite-Element-Gitter sei formregul¨ ar und quasiuniform (insbesondere gelte (11.2), (11.3) und cond(M ) = O(1), vgl. Lemma 11.1.1). T (I × I) sei ur alle ε > 0 eine Matrix NH ∈ H(P, kε ), die die stufentreu.2 Dann existiert f¨ Inverse der Massematrix approximiert: M −1 − NH 2 ≤ εM −1 2 mit kε =

O(logd ( Lε ))

(11.4)

und L = 1 + depth(T (I × I, P )).

Beweis. In Kriterium 9.5.3 (mit M ersetzt durch M −1 ) ist (9.22a) mit C1 := ωdccvM (vgl. Lemma 11.1.4) und (9.22b) mit c2 := C M −1 2 q (vgl. Lemma 11.1.3) erf¨ ullt. Die dort bewiesene Fehlerabsch¨atzung lautet damit M −1 − NH 2 ≤ M −1 2 · Csp (P ) (1 + depth(T (I × I, P ))) · const · ρk (11.4’) mit n-unabh¨ angigen Gr¨ oßen Csp (P ), const und ρ < q C1/η (η aus (5.9a)). Damit folgt (11.4) f¨ ur k = kε = O(logd (Lε)) mit L = 1 + depth(T (I ×I, P )). Die Ungleichung (11.4) beschreibt den relativen Fehler bez¨ uglich der Spektralnorm. Im Weiteren wird die Norm von P (M −1 − NH )R : L2 (Ω) → L2 (Ω) interessant sein. 1/d

Korollar 11.1.6. Unter den Voraussetzungen3 von Satz 11.1.5 gilt die Ungleichung M 1/2 (M −1 − NH )M 1/2 2 = P (M −1 − NH )RL2 (Ω)←L2 (Ω) ≤ Csp (P ) (1 + depth(T (I × I, P ))) · const · ρk

1/d

(11.5a) (11.5b)

wie in (11.4’), wobei const := const · cond(M ) mit const aus (11.4’). Wie in Satz 11.1.5 existiert f¨ ur alle ε > 0 eine Matrix NH ∈ H(P, kε ), sodass M 1/2 (M −1 − NH )M 1/2 2 ≤ ε mit kε = O(logd ( 1+depth(Tε (I×I,P )) )). (11.5c) 2 3

Diese Voraussetzung wird in Lemma 6.5.8 ben¨ otigt. Es reichen die Ungleichung (11.4) und die Bedingung cond(M ) = O(1).

11.2 Der Green-Operator und seine Galerkin-Diskretisierung

271

Beweis. Die Gleichheit in (11.5a) folgt aus (C.29d). Ferner ist M 1/2 (M −1 − NH )M 1/2 2 ≤ M 1/2 2 M −1 − NH 2 M 1/2 2 = M −1 − NH 2 M 1/2 22 = M −1 − NH 2 M 2 . Mit (11.4’) erreicht man M 1/2 (M −1 − NH )M 1/2 2 ≤ M −1 2 M 2 · Csp (P ) (1 + depth(T (I × I, P ))) · const · ρk

1/d

.

Da M −1 2 M 2 = cond(M ) = O(1), folgt die Behauptung.

11.2 Der Green-Operator und seine Galerkin-Diskretisierung 11.2.1 Das elliptische Problem Der im Folgenden untersuchte Differentialoperator ist Lu = − div(C(x) grad u)

in Ω,

(11.6)

anktes Lipschitz4 -Gebiet sei. wobei Ω ⊂ Rd ein beschr¨ Die Randwertaufgabe lautet Lu = f u =0

in Ω, auf Γ := ∂Ω.

(11.7)

Hierbei ist hervorzuheben, dass wir f¨ ur die d × d-Koeffizientenmatrix keine Regularit¨ at außer der Beschr¨ anktheit C(·) ∈ L∞ (Ω) annehmen wollen. Die gleichm¨ aßige Elliptizit¨ at wird durch die Ungleichungen 0 < λmin ≤ λ ≤ λmax f¨ur alle Eigenwerte λ ∈ σ(C(x)) und fast alle x ∈ Ω (11.8) beschrieben. Das Verh¨ altnis κC = λmax /λmin

(11.9)

ist eine obere Schranke aller Spektralkonditionen cond2 C(x). Man beachte ur das gleiche x ∈ Ω angenomaber, dass die Extrema λmin und λmax nicht f¨ men werden m¨ ussen. Die Variationsformulierung (1.20a) lautet hier  a(u, v) = Ω f (x)v(x)dx =: f (v)  (11.10) mit a(u, v) := Ω C(x) grad u(x), grad v(x) dx. 4

Rudolf Otto Sigismund Lipschitz, geboren am 14. Mai 1832 in K¨ onigsberg, gestorben am 7. Okt. 1903 in Bonn.

272

11 Anwendungen auf Finite-Element-Matrizen

Nach Festlegung der Basis in (C.22) f¨ ur den Unterraum Vn ⊂ V = H01 (Ω) ist die Finite-Elemente-Matrix A gem¨ aß (C.33) durch Aij = a(φj , φi ) definiert. Abschließend sei vermerkt, dass die folgenden Aussagen auch dann gelten, wenn L weitere Terme erster und nullter Ordnung mit L∞ -Koeffizienten enth¨ alt (vgl. Bebendorf [8]). Elliptische Systeme – insbesondere die Lam´eGleichungen – sind in der Dissertation [126] untersucht worden. Zum Verhalten der H-Matrixmethode bei dominanter Konvektion vergleiche man Le Borne [107] und Grasedyck-Le Borne [63]. 11.2.2 Die Green-Funktion F¨ ur alle x, y ∈ Ω ist die Green-Funktion G(x, y) als L¨osung von LG(·, y) = δy mit G(·, y)|Γ = 0 definiert (L und die Beschr¨ ankung auf Γ beziehen sich auf die erste Variable ·), wobei δy die Dirac-Distribution bei y ∈ Ω ist. Die GreenFunktion ist der Schwartz5 -Kern der Inversen L−1 , d.h. die L¨osung von (11.7) l¨ asst sich schreiben als  G(x, y) f (y) dy. u(x) = Ω

F¨ ur L = −Δ (d.h. C(x) = I) ist die Greensche Funktion in Ω analytisch. Da hier die Koeffizientenmatrix C(x) nur beschr¨ankt ist, braucht G nicht einmal stetig differenzierbar zu sein. Die Existenz der Greensche Funktion ist f¨ ur d ≥ 3 von Gr¨ uter-Widman [65] bewiesen. Zudem ist die Absch¨atzung   CG CG = CG (κC ) mit κC aus (11.9), 2−d (11.11a) |x − y| |G(x, y)| ≤ λmin aus (11.8) λmin gezeigt. F¨ ur d = 2 findet sich der Existenzbeweis bei Doltzmann-M¨ uller [38], wobei in diesem Falle |G(x, y)| ≤

CG log |x − y| λmin

(11.11b)

gilt. 11.2.3 Der Green-Operator G Auf Grund von (11.11a,b) ist der Integraloperator   −1  L f (x) = (Gf ) (x) := G(x, y)f (y)dy

(x ∈ Ω)

(11.12)

Ω

wohldefiniert. Dieser Green-Operator ist allerdings praktisch nicht zug¨anglich, da die Greensche Funktion G im Allgemeinen nicht explizit bekannt ist. Wir ¨ verwenden G aber hier nur f¨ ur theoretische Uberlegungen. 5

Laurent Schwartz, geboren am 5. M¨ arz 1915 in Paris, gestorben am 4. Juli 2002.

11.2 Der Green-Operator und seine Galerkin-Diskretisierung

273

Lemma 11.2.1. Unter den obigen Voraussetzungen (d.h. L gleichm¨ aßig ellip6 , Ω beschr¨ a nkt , Dirichlet-Nullrandbedingung) tisch mit unterer Schranke λ  min  gilt G ∈ L L2 (Ω), L2 (Ω) . Genauer lautet die Schranke GL2 (Ω)←L2 (Ω) ≤ diam(Ω)2 /λmin .

(11.13)

Beweis. Sei u = Gf ∈ H01 (Ω) mit f ∈ L2 (Ω). Aus (11.8) folgt a(u, u) ≥ ur ein beschr¨ anktes Gebiet Ω und Funktionen u ∈ H01 (Ω) λmin ∇u2L2 (Ω) . F¨ 2 gilt die Absch¨ atzung uL2 (Ω) ≤ diam(Ω)2 ∇u2L2 (Ω) , sodass 2

uL2 (Ω) ≤ diam(Ω)2 ∇u2L2 (Ω) ≤

diam(Ω)2 a(u, u). λmin

Andererseits ist a(u, u) = (f, u)L2 (Ω) ≤ f L2 (Ω) uL2 (Ω) , woraus nach Division durch uL2 (Ω) die behauptete Ungleichung folgt. Es sei angemerkt, dass man im Allgemeinen GL2 (Ω)←L2 (Ω) nicht durch die Hilbert-Schmidt-Norm GF = GL2 (Ω×Ω) (vgl. (C.19)) ersetzen darf, da G mit der Singularit¨ at (11.11a) f¨ ur d ≥ 4 nicht mehr in Ω × Ω quadratintegrabel ist. 11.2.4 Galerkin-Diskretisierung von G und der Zusammenhang mit A−1 Die Galerkin-Diskretisierungsmatrix zu G aus (11.12) ist B := R GP mit den Komponenten   φi (x)G(x, y)φj (y)dxdy (i, j ∈ I), (11.14) Bij := Ω

Ω

wobei f¨ ur φi die Finite-Element-Basis verwendet wird. Zwei unterschiedliche Finite-Element-Fehlerabsch¨atzungen k¨onnen aufgestellt werden. Die L2 (Ω)-orthogonale Projektion lautet Qh := P M −1 R : L2 (Ω) → Vh , (Qh u, vh )L2 = (u, vh )L2

d.h.

f¨ ur alle u ∈ V und vh ∈ Vh

(M ist die Massematrix). Der zugeh¨ orige Fehler ist eQ h (u) := u − Qh uL2 (Ω) . Andererseits ist die Finite-Element-Approximation verbunden mit der Ritz7 Projektion 6

7

Es reicht, dass Ω in einer Raumrichtung beschr¨ ankt ist, d.h. nach geeigneter Drehung und Verschiebung gelte Ω ⊂ {x ∈ Rd : 0 ≤ x1 ≤ δ} . Dann kann im Weiteren diam(Ω) durch die Streifenbreite δ ersetzt werden. Walter Ritz, geboren am 22. Februar 1878 in Sion (Sitten), gestorben am 7. Juli 1909 in G¨ ottingen.

274

11 Anwendungen auf Finite-Element-Matrizen

QRitz,h = P A−1 RL : V → Vh (vgl. [67, §8.2.3]). Ist u ∈ V die L¨ osung des Variationsproblems a(u, v) = f (v) (vgl. (11.10)), so ist uh = QRitz,h u die Finite-Element-L¨osung. Der FiniteElement-Fehler ist eP h (u) := u − QRitz,h uL2 (Ω) . P Da die L2 (Ω)-orthogonale Projektion die optimale ist, d.h. eQ h (u) ≤ eh (u), P ur eine Absch¨ atzung. Die schw¨achste Form der Finitereicht der Fehler eh f¨ Element-Konvergenz lautet

eP h (u) ≤ εh f L2 (Ω)

f¨ ur alle u = Gf, f ∈ L2 (Ω),

(11.15)

ur h → 0, d.h., εh = o(1), wie in Lemma C.5.8 beweisen wobei εh → 0 f¨ wird. Nur unter weiteren Glattheitsbedingungen an die Koeffizientenmatrix C (vgl. (11.6)) und unter Regularit¨ atsannahmen kann man ein besseres Verhalten εh = O(hσ ) mit σ ∈ (0, 2] erwarten. ur A−1 darDas folgende Lemma zeigt, dass M −1 BM −1 eine N¨aherung f¨ stellt. Lemma 11.2.2. εh sei die Gr¨ oße aus (11.15). Dann gilt mit der Norm ||| · ||| aus (6.25) die Absch¨ atzung |||M A−1 M − B||| = P A−1 R − P M −1 BM −1 RL2 (Ω)←L2 (Ω) ≤ 2εh . (11.16) Beweis. |||M A−1 M − B||| = P A−1 R − P M −1 BM −1 RL2 (Ω)←L2 (Ω) folgt aus der Definition (6.25). Wegen B = R GP ist P M −1 BM −1 R = P M −1 R GP M −1 R = Qh GQh .   ur f ∈ L2 (Ω) abzusch¨atzen. Da Rf = 0 Wir haben P A−1 R − Qh GQh f f¨ ⊥ f¨ ur f ∈ Vh , reicht es, f ∈ Vh zu verwenden. uh := P A−1 Rf ist die FiniteElement-L¨ osung zu Lu = f, w¨ ahrend Qh GQh f = Qh Gf = Qh u die L2 (Ω)Projektion der L¨ osung u von Lu = f auf Vh darstellt. Mit der Ritz-Projektion QRitz,h schreibt sich der Ausdruck als   P A−1 R − Qh GQh f = uh − Qh u = QRitz,h u − Qh u = (u − Qh u) − (u − QRitz,h u) und l¨ asst sich mit   P P  P A−1 R − Qh GQh f L2 (Ω) ≤ eQ h (u) + eh (u) ≤ 2eh (u) ≤ 2εh f L2 (Ω) absch¨ atzen. Damit ist die behauptete Ungleichung (11.16) bewiesen. Korollar 11.2.3. Eine ¨ aquivalente Formulierung der obigen Norm ist |||M A−1 M − B||| = M 1/2 A−1 M 1/2 − M −1/2 BM −1/2 2 . Eine Folgerung ist die Ungleichung A−1 − M −1 BM −1 2 ≤ |||M A−1 M − B|||M −1 2 ≤ 2 M −1 2 εh .

11.2 Der Green-Operator und seine Galerkin-Diskretisierung

275

Beweis. Zum ersten Teil vergleiche man (6.25). Der zweite Teil folgt aus A−1 − M −1 BM −1 2   = M −1/2 M 1/2 A−1 M 1/2 − M −1/2 BM −1/2 M −1/2 2 ≤ M −1/2 2 M 1/2 A−1 M 1/2 − M −1/2 BM −1/2 2 M −1/2 2 und M −1/2 22 = M −1 2 sowie (11.16). Es sei festgehalten, dass B ebenso wie G beschr¨ankt ist, denn wegen |||B||| = Qh GQh L2 (Ω)←L2 (Ω) gilt die Anmerkung 11.2.4. Es ist |||B||| ≤ GL2 (Ω)←L2 (Ω) . ¨ Die weiteren Uberlegungen sehen wie folgt aus. In §11.3 wird gezeigt, dass B durch eine H-Matrix BH gut approximiert werden kann. Nach Satz 11.1.5 ist bekannt, dass die Massematrix-Inverse M −1 eine H-Matrixapproximation NH besitzt. Gem¨aß Lemma 7.4.5 ergibt das Produkt NH BH NH wieder eine H-Matrix, die M −1 BM −1 approximiert. Da zus¨atzliche Fehler von der Gr¨oße des Diskretisierungsfehlers εh akzeptierbar sind, sind H-Matrix-N¨aherungen von M −1 BM −1 auch gute Approximationen von A−1 (vgl. (11.16)). 11.2.5 Folgerungen aus separabler Approximation der Greenschen Funktion Wir greifen dem Abschnitt §11.3 voraus und nehmen an, dass die Greensche Funktion eine separable Approximation erlaubt: G(x, y) ≈ Gk (x, y) =

k 

(k)

(k)

ui (x)vi (y)

f¨ ur x ∈ X, y ∈ Y,

(11.17a)

i=1

wobei X, Y ⊂ Ω die u assigkeitsbedingung ¨bliche Zul¨ min{diam(X), diam(Y )} ≤ η dist(X, Y )

(11.17b)

erf¨ ullen. Ferner falle der Approximationsfehler exponentiell, d.h. f¨ ur die   Integraloperatoren GXY , Gk,XY ∈ L L2 (Y ), L2 (X) , die f¨ ur x ∈ X mittels   G(x, y)f (y)dy, (Gk,XY f ) (x) := Gk (x, y)f (y)dy (GXY f ) (x) := Y

Y

definiert sind, gelte GXY − Gk,XY L2 (X)←L2 (Y ) ≤ εGL2 (Ω)←L2 (Ω) mit ε = ε(k) ≤ C1 exp(−c2 k c3 ), c1 , c2 , c3 > 0 f¨ ur alle k ∈ N. Wir werden (11.17c) mit den Konstanten

(11.17c)

276

11 Anwendungen auf Finite-Element-Matrizen

c1 ≈ 1, c2 ≈ cd/(d+1) , c3 = η

1 d+1

(cη = β 0 e mit β0 aus (11.35d)) (11.17d)

zeigen8. Der Beweis benutzt allerdings eine weitere Annahme: Wenn das Minimum in (11.17b) von diam(X) [bzw. diam(Y )] angenommen wird, sei X [bzw. Y ] konvex. In der Praxis ist dies keine Einschr¨ankung, da nach Konstruktion der Partition P ⊂ T (I × I) die Zul¨ assigkeit der (Minimal-)Quader verwendet wird (vgl. Lemma 5.2.6) und diese konvex sind. Die Verifizierung von (11.17a-d) findet sich im Anschluss an den Beweis von Lemma 11.3.10. Die Matrix B aus (11.14) wird offenbar durch Bk ∈ H(k, P ) approximiert, wobei f¨ ur Bk |b die Kernfunktion G in (11.14) durch die in diesem Block b zutreffende Approximation Gk aus (11.17a) ersetzt wird. Sei b = τ × σ. In diesem Fall sind X und Y durch Xτ und Xσ zu ersetzen (vgl. (5.5b)). Gem¨aß Satz 4.5.4 gilt |||B|b − Bk |b ||| ≤ GXτ Xσ − Gk,Xτ Xσ L2 (Xτ )←L2 (Xσ ) . Mit (11.17c) folgt |||B|b − Bk |b ||| ≤ εGL2 (Ω)←L2 (Ω)

f¨ ur alle b ∈ P + ,

w¨ ahrend im Nahfeld Bk |b := B|b (b ∈ P − ) gesetzt wird. Der Gesamtfehler betr¨ agt nach Satz 6.5.13 |||B − Bk ||| ≤ O(ε · Csp (P ) depth(T (I))) GL2 (Ω)←L2 (Ω) . Die Kombination dieser Ungleichung mit Csp (P ) = O(1) (vgl. Lemma 6.4.9) und GL2 (Ω)←L2 (Ω) = O(1) (vgl. (11.13)) zeigt |||B − Bk ||| ≤ O(ε · depth(T (I))). Damit ist das folgende Lemma bewiesen: Lemma 11.2.5. Die Voraussetzungen aus §11.2.1 m¨ogen gelten und die Finite-Element-Triangulation sei formregul¨ ar. Die Partition P ⊂ T (I × I) sei mit der Zul¨ assigkeitsbedingung (5.8) angewandt auf die Minimalquader definiert. Dann gilt f¨ ur die oben definierte Matrix Bk ∈ H(k, P ) die Fehlerabsch¨ atzung |||B − Bk ||| ≤ O(ε · depth(T (I)))

mit ε = ε(k) ≤ exp(−c2 k 1/(d+1) )

f¨ ur alle k ∈ N und mit der Konstanten c2 aus (11.17d). Anmerkung 11.2.6. a) Es sei daran erinnert, dass bei der u ¨blichen Konstruktion des Clusterbaums depth(T (I)) = O(log #I) gilt. 8

Dieser Wert von c3 ist nicht optimal. Die Absch¨ atzung sollte auch f¨ ur c3 = gelten.

1 d−1

11.2 Der Green-Operator und seine Galerkin-Diskretisierung



b) Im Folgenden setzen wir kε,B ≥ O logd+1 |||B − Bk ||| ≤ ε

depth(T (I)) ε

277

 , sodass

f¨ ur k = kε,B .

(11.18)

c) Zusammen mit |||B||| ≤ GL2 (Ω)←L2 (Ω) = O(1) aus Anmerkung 11.2.4 und Lemma 11.2.1 ergibt sich f¨ ur ε ≤ O(1) somit |||Bk ||| ≤ O(1).

(11.19)

Da nach Lemma 11.2.2 A−1 ≈ M −1 BM −1 und M −1 ≈ NH (vgl. Satz 11.1.5) sowie B ≈ Bk , verwenden wir H := NH Bkε,B NH

(11.20)

als Approximanden der inversen Finite-Element-Matrix A−1 . Lemma 11.2.7. Zu ε > 0 seien NH ∈ H(kε , P ) gem¨ aß Satz 11.1.5 und aß Lemma 11.2.5 gew¨ ahlt. Dann ist das (exakte) ProBkε,B ∈ H(kε,B , P ) gem¨ dukt H aus (11.20) eine hierarchische Matrix aus H(kε,H , P ) mit 2 max{kε , kε,B , nmin }, kε,H = CU

(11.21)

atzt ist: CU = O(log #I). wobei CU in (7.46b) definiert und in (7.46c) abgesch¨ Beweis. F¨ ur das exakte Produkt NH Bkε,B gilt nach Satz 11.1.5, dass NH Bkε,B ∈ H(kN B , P )

mit kN B = CU max{kε , kε,B , nmin }.   uhrt auf Die zweite Produktbildung H = NH Bkε,B NH f¨ kε,H = CU max{kN B , kε , nmin }. Da CU ≥ 1, schließt man u ¨ber max{kε , nmin } ≤ kN B auf (11.21). Die sachgem¨ aße Norm f¨ ur den Fehler A−1 − H ist     P A−1 − H RL2 (Ω)←L2 (Ω) = M 1/2 A−1 − H M 1/2 2 = |||M A

−1

(11.22a)

M − B|||

(vgl. (C.29d)). Mehrfache Verwendung der Dreiecksungleichung liefert   (11.22b) P A−1 − H RL2 (Ω)←L2 (Ω)   −1 −1 −1 RL2 (Ω)←L2 (Ω) ≤ P A − M BM   −1 −1 B − Bkε,B M RL2 (Ω)←L2 (Ω) + P M   −1 + P M Bkε,B M −1 − NH RL2 (Ω)←L2 (Ω)   + P M −1 − NH Bkε,B NH RL2 (Ω)←L2 (Ω) .

278

11 Anwendungen auf Finite-Element-Matrizen

Der erste Summand in (11.22b) ist in (11.16) durch die dort definierte atzt: Schranke εh abgesch¨   P A−1 − M −1 BM −1 RL2 (Ω)←L2 (Ω) ≤ 2εh . (11.22c) Der zweite Summand in (11.22b) kann wegen   P M −1 B − Bkε,B M −1 RL2 (Ω)←L2 (Ω) = |||B − Bkε,B ||| mittels Lemma 11.2.5 und (11.18) behandelt werden:   P M −1 B − Bkε,B M −1 RL2 (Ω)←L2 (Ω) ≤ ε.

(11.22d)

Der dritte Summand in (11.22b) wird aufgespalten in die Faktoren   P M −1 Bkε,B M −1 − NH RL2 (Ω)←L2 (Ω) (11.22e) 5 54 4   =  P M −1 Bkε,B M −1/2 M 1/2 M −1 − NH R L2 (Ω)←L2 (Ω)   ≤ P M −1 Bkε,B M −1/2 L2 (Ω)←RI M 1/2 M −1 − NH RRI ←L2 (Ω) = |||Bkε,B |||M 1/2 (M −1 − NH )M 1/2 2 ≤ O(1) · ε = O(ε), wobei die vorletzte Zeile (C.29b-d) verwendet und die letzte Ungleichung aus (11.19) und (11.5c) folgt. Der vierte Summand in (11.22b) wird analog behandelt:   P M −1 − NH Bkε,B NH RL2 (Ω)←L2 (Ω) 54 4  5  =  P M −1 − NH M 1/2 M −1/2 Bkε,B NH R L2 (Ω)←L2 (Ω)   ≤ P M −1 − NH M 1/2 L2 (Ω)←RI M −1/2 Bkε,B NH RRI ←L2 (Ω) = M 1/2 (M −1 − NH )M 1/2 2 P M −1 Bkε,B NH RL2 (Ω)←L2 (Ω) = εP M −1 Bkε,B NH RL2 (Ω)←L2 (Ω) ≤ ε(P M −1 Bkε,B M −1 RL2 (Ω)←L2 (Ω)   + P M −1 Bkε,B M −1 − NH RL2 (Ω)←L2 (Ω) ). Die vierte Zeile macht von (C.29b) Gebrauch. Der erste Normausdruck der letzten Zeile ist P M −1 Bkε,B M −1 RL2 (Ω)←L2 (Ω) = |||Bk ||| ≤ O(1), der zweite wird in (11.22e) mit O(ε) abgesch¨ atzt, sodass   (11.22f) P M −1 − NH Bkε,B NH RL2 (Ω)←L2 (Ω) ≤ O(ε). Die Kombination von (11.22a-f) liefert das Endresultat: Satz 11.2.8. Vorausgesetzt seien die Annahmen aus §11.1, §11.2.1 sowie depth(T (I)) = O(#I). Der lokale Rang kε = O(logd (#I/ε)) von NH ∈ H(kε ,P )

11.3 Analysis der Greenschen Funktion

279

sowie kε,B = O(logd+1 (#I/ε)) von Bkε,B ∈ H(kε,B , P ) zu vorgegebenem ε ∈ (0, 1) liefert mit H = NH Bkε,B NH ∈ H(kε,H , P ) eine Approximation der inversen Finite-Element-Matrix A−1 mit dem Fehler   (11.23) P A−1 − H RL2 (Ω)←L2 (Ω) ≤ O(ε + εh ), wobei   2 max{kε , kε,B , nmin } = O log2 (#I)kε,B kε,H = CU   = O logd+3 (#I) + log2 (#I) logd+1 (1/ε) , w¨ ahrend εh der Finite-Element-Konsistenzfehler aus (11.15) ist. Die naheliegende Wahl von ε ist ε = εh . Da bestenfalls εh = O(hα ) = O(#I −α/d ) (α > 0: Konsistenzordnung), stimmen log(#I) und log (1/ε) in der Gr¨ oßenordnung u ¨berein und ergeben   P A−1 − H RL2 (Ω)←L2 (Ω) ≤ O(hα )   f¨ ur ein H ∈ H(kεh ,H , P ) mit kεh ,H = O logd+3 (#I) . Da die rechte Seite O(ε + εh ) von (11.23) nicht kleiner als O(εh ) werden kann, beweist die Absch¨ atzung keine exponentielle Konvergenz f¨ ur ε → 0. Dies ist ein Artefakt des Beweises. Der Grund ist die Wahl von H, das aus einer anderen Diskretisierung stammt. Die numerischen Resultate zeigen eindeutig, angig von εh der Bestapproximationsfehler dass unabh¨  min{P A−1 − M RL2 (Ω)←L2 (Ω) : M ∈ H(k, P )} exponentiell mit k → ∞ f¨ allt.

11.3 Analysis der Greenschen Funktion Das Ziel dieses Abschnittes ist es, f¨ ur die Greensche Funktion eine separable Approximation der Form (11.17a), d.h. G(x, y) ≈ G(k) (x, y) =

k 

ui (x)vi (y)

in X × Y

i=1

zu zeigen, wobei X, Y ⊂ Ω eine Zul¨ assigkeitsbedingung erf¨ ullen. Die Greensche Funktion G ist in Ω × Ω definiert. Sobald X ⊂ Ω und Y ⊂ Ω disjunkt sind, ist die Beschr¨ ankung von G auf X × Y L-harmonisch, d.h. G erf¨ ullt die homogene Differentialgleichung LG = 0. Der Unterraum der L-harmonischen Funktionen wird anschließend in §11.3.1 diskutiert. Danach werden Approximationseigenschaften in diesem Unterr¨aume diskutiert.

280

11 Anwendungen auf Finite-Element-Matrizen

11.3.1 L-harmonische Funktionen und innere Regularit¨ at Ω ⊂ Rd ist das Definitionsgebiet des Differentialoperators L (vgl. (11.6), (11.7)). Im Folgenden soll der Raum Z(D) der L-harmonischen Funktionen definiert werden. Sei dazu D ⊂ Rd ein Gebiet mit Ω ∩ D = ∅. Aus technischen Gr¨ unden9 darf D zum Teil im Komplement von Ω liegen. In D\Ω werden die Funktionen jedoch als Nullfunktion definiert. Dar¨ uberhin aus sollen u ∈ Z(D) oren. Vor der pr¨azisen Definition in D ∩ Ω L-harmonisch und lokal zu H 1 geh¨ seien zun¨ achst einige Anmerkungen angef¨ ugt: Eine Funktion, die Lu = 0 in einem Teilgebiet erf¨ ullt, Ω nennt man dort L-harmonisch. Insbesondere ist die Greensche Funktion G(x, y) bez¨ uglich beider Argumente x, y Γ (D) L-harmonisch 10 , wenn x = y. Die hier geeignete schwache D Formulierung, die von der Bilinearform aus (11.10) Gebrauch macht, findet sich in (11.25c). Wenn x ∈ Ω ∩ ∂D, ist u := G(x, ·) zwar L-harmonisch in D (da x ∈ / D), aber u geh¨ ort wegen der Singularit¨at der Ω Greenschen Funktion nicht zu H 1 (D). Deshalb wird nur die ur alle Gebiete lokale H 1 -Eigenschaft gefordert: u ∈ H 1 (K) f¨ D K ⊂ D, die einen positiven Abstand von Γ (D)

Γ (D) := Ω ∩ ∂D

(11.24)

besitzen (vgl. Abbildung 11.2 und (11.25b)). F¨ ur die sp¨ ateren Konstruktionen ist es hilfreich, dass D u ¨ber Ω hinausreichen darf. Wegen der Nullrandbedingung G(x, y) = 0 f¨ ur x ∈ Ω und y ∈ ∂Ω, geh¨ ort die Fortsetzung von G(x, ·) mittels null in D\Ω wieder lokal zu H 1 . Bedingung (11.25a) ist eine leere Aussage, wenn D ⊂ Ω (oberer Fall in Abbildung 11.2). Abb. 11.2. Gebiete Ω, D, ΓD

Definition 11.3.1. Seien Ω, D ⊂ Rd und Γ (D) aus (11.24). Dann sei Z(D) der Raum aller u ∈ L2 (D) mit den Eigenschaften u|D\Ω = 0, u ∈ H (K) 1

a(u, ϕ) = 0

(11.25a) f¨ ur alle K ⊂ D mit dist(K, Γ (D)) > 0, f¨ ur alle ϕ ∈ C0∞ (D ∩ Ω).

(11.25b) (11.25c)

Anmerkung 11.3.2. Seien Z(D) und Z(D ) die Unterr¨aume zu D ⊂ D. F¨ ur alle u ∈ Z(D) geh¨ ort die Beschr¨ ankung u|D zu Z(D ), was kurz in der Form 9

10

Unter dieser Annahme kann D konvex gew¨ ahlt werden, w¨ ahrend Ω ∩ D dies nicht zu sein braucht. Daher brauchen wir nicht vorauszusetzen, dass Ω konvex ist. Im Allgemeinen ist G(x, y) L-harmonisch bez¨ uglich x ∈ Ω\{y}, w¨ ahrend es L∗ ∗ harmonisch bez¨ uglich y ∈ Ω\{x} ist, wobei L den zu L adjungierten Differentialoperator bezeichnet. Im Falle von (11.6) ist L jedoch selbstadjungiert: L = L∗ . Die Verallgemeinerung auf den unsymmetrischen Fall w¨ urde aber keine Schwierigkeiten bereiten.

11.3 Analysis der Greenschen Funktion

281

Z(D)|D ⊂ Z(D ) notiert werden kann. Falls dist(D , Γ (D)) > 0, gilt sogar Z(D)|D ⊂ Z(D ) ∩ H 1 (D ) (vgl. (11.25b)). Als innere Regularit¨at bezeichnet man die charakteristische Eigenschaft homogener L¨ osungen elliptischer Differentialgleichungen, in inneren Teilgebieten bessere Regularit¨ at als im Globalen aufzuweisen (vgl. [67, §9.1.6]). Hier wird speziell verwendet, dass f¨ ur jede Funktion u ∈ Z(D) in einem kleineren Gebiet K die Gradientennorm ∇uL2 (K∩Ω) mittels uL2 (D∩Ω) abgesch¨ atzt werden kann. Dank der Nullfortsetzung in D\Ω (vgl. (11.25a)) d¨ urfen auch die Normen ∇uL2 (K) und uL2 (D) verwendet werden. Lemma 11.3.3. Seien Ω, D, Z(D), Γ (D) und K ⊂ D mit dist(K, Γ (D)) > 0 oße aus (11.8)). Dann wie in Definition 11.3.1. κC = λmax /λmin ist die Gr¨ gilt die sogenannte Cacciopoli-Ungleichung √ 2 κC uL2 (D∩Ω) f¨ ur alle u ∈ Z(D). (11.26) ∇uL2 (K∩Ω) ≤ dist(K, Γ (D)) Beweis. Die Abschneidefunktion η ∈ C 1 (D) erf¨ ulle 0 ≤ η ≤ 1 in D, η = 1 in K und η = 0 in einer Umgebung von Γ (D) sowie |∇η| ≤ 2/δ in D ∩ Ω, wobei die Abk¨ urzung δ := dist(K, Γ (D)) ager(η) ⊂ D die Bedingung dist(K  , Γ (D)) > 0 verwandt wurde. Da K  := Tr¨ erf¨ ullt, folgert man aus (11.25b), dass u ∈ H 1 (K  ). Die Funktion ϕ := η 2 u ∈ 1 assige Testfunktion in der Variationsformulierung H0 (D ∩Ω) ist somit eine zul¨ a(u, ϕ) = 0:  (∇u) C(x)∇(η 2 u)dx (11.27) 0= D∩Ω   =2 ηu(∇u) C(x)(∇η)dx + η 2 (∇u) C(x)(∇u)dx. D∩Ω

D∩Ω

Die Ungleichungskette   η 2 C 1/2 (x)∇u2 dx = η 2 (∇u) C(x)(∇u)dx D∩Ω D∩Ω * * * *  * ηu(∇u) C(x)(∇η)dx** = 2* (11.27)

D∩Ω

 η |u| C 1/2 (x)∇η C 1/2 (x)∇u dx √  λmax 4 |u| η C 1/2 (x)∇u dx ≤ δ C≤λmax wegen (11.8), |∇η|≤2/δ D∩Ω 8 √ λmax 4 η 2 C 1/2 (x)∇u2 dx uL2 (D∩Ω) ≤ δ Schwarzsche Ungleichung D∩Ω ≤2

D∩Ω

282

11 Anwendungen auf Finite-Element-Matrizen

kann durch werden:

0 ersetzt werden. Damit gilt (11.26) mit dem Faktor 2 (1 + ε) f¨ ur alle ε > 0, also auch f¨ ur 2. Lemma 11.3.4. Der Teilraum Z(D) ist in L2 (D) abgeschlossen. Beweis. Die Folge {uk }k∈N ⊂ Z(D) konvergiere in L2 (D) gegen u. F¨ ur u sind die Eigenschaft (11.25a-c) nachzuweisen. a) Da uk |D\Ω = 0, folgt auch u|D\Ω = 0, d.h. (11.25a). b) Sei K ⊂ D mit dist(K, Γ (D)) > 0. Da uk L2 (D) gleichm¨aßig beschr¨ ankt ist, ist nach Lemma 11.3.3 auch {∇uk }k∈N auf K und damit die aßig beschr¨ ankt. Erneute Anwendung von Lemma Norm uk H 1 (K) gleichm¨ 11.3.3 auf uk − u zeigt uk − u H 1 (K) ≤ Cuk − u L2 (D) → 0. Da H 1 (K) vollst¨ andig ist, folgt u ∈ H 1 (K), d.h. (11.25b). aß (11.25c) gilt a(uk , ϕ) = 0. Nach Definition c) Sei ϕ ∈ C0∞ (D ∩ Ω). Gem¨ ager(ϕ) im Inneren von D ∩Ω. Damit geh¨ort das von C0∞ (D ∩Ω) liegt K := Tr¨ Funktional a(·, ϕ) zu (H 1 (K)) und die Konvergenz uk |K → u|K in H 1 (K) aus Teil b) beweist a(u, ϕ) = 0, womit (11.25c) auch f¨ ur u gilt. 11.3.2 Approximation durch endlich-dimensionale Unterr¨ aume Das n¨ achste Lemma garantiert die Existenz eines Unterraumes Vk ⊂ Z(D) der ute Dimension k ∈ N, mit dem alle u ∈ Z ∩H 1 (D) mit explizit beschriebener G¨ approximiert werden k¨ onnen. Der konkrete Raum Z(D) der L-harmonischen Funktionen kann im Lemma durch jeden abgeschlossener Unterraum des L2 (D) ersetzt werden. Lemma 11.3.5. Sei D ⊂ Rd ein konvexes Gebiet. Dann existiert f¨ ur alle k ∈ N ein Unterraum Vk ⊂ Z(D) der Dimension dim Vk ≤ k mit 11 diam(D) √ ∇uL2 (D) d √ k 2 d 1 . f¨ ur alle u ∈ Z ∩ H (D), wobei cappr := π distL2 (D) (u, Vk ) ≤ cappr

11

(11.28)

Alle Abst¨ ande und Durchmesser werden in der Euklidischen Norm des Rd gemessen, wenn nicht explizit anders angegeben.

11.3 Analysis der Greenschen Funktion

283

Beweis. a) D ist in einem W¨ urfel Q der Kantenl¨ange diam(D) enthalten. Sei z die W¨ urfelmitte: 1 D ⊂ Q = {x ∈ Rd : x − z∞ < diam(D)}. 2 b) Zuerst sei k = d angenommen. Wir unterteilen den W¨ urfel Q gleichange diam(D)/ und setzen Di = m¨ aßig in k Unterw¨ urfel Qi der Kantenl¨ D ∩ Qi (i = 1, . . . ,√k). Die Di sind wieder konvex und ihr Durchmesser ist durch diam(Di ) ≤ d diam(D) absch¨ atzbar. Der Unterraum ur alle i = 1, . . . , k} Wk = {v ∈ L2 (D) : v konstant auf Di f¨ hat die Dimension dim Wk ≤ k. Die Poincar´e12 -Ungleichung13 zeigt f¨ ur u ∈ H 1 (D) , dass   diam(D ) 2   √d diam(D) 2  i 2 2 |u − u ¯i | dx ≤ |∇u| dx ≤ |∇u|2 dx, π π Di Di Di  1 u dx der Mittelwert von u in Di ist. Summation u wobei u ¯i = vol(D ¨ber Di i) alle i liefert √ d diam(D) ∇uL2 (D) , distL2 (D) (u, Wk ) ≤ u − u ¯L2 (D) ≤ π wobei u ¯ die st¨ uckweise konstante Funktion aus Wk√mit u ¯|Di = u ¯i ist. c) F¨ ur allgemeines k ∈ N setze man  := " d k# ∈ N, d.h. d ≤ k < ( + 1)d . Wir wenden Teil a) mit k  := d an und definieren Wk := Wk , 2 2 < √ erhalten wir sodass dim Wk = dim Wk ≤ k  ≤ k. Wegen 1 ≤ +1 d k

distL2 (D) (u, Wk ) ≤ cappr

diam(D) √ ∇uL2 (D) d k

√ mit der Konstanten cappr := 2 d/π. d) Sei Π : L2 (D) → Z(D) die L2 (D)-orthogonale Projektion auf Z(D). Ferner wird Vk = Π(Wk ) definiert. Da Π als Projektion die Norm 1 besitzt ¯)L2 (D) ≤ und u ∈ Z, folgt die Behauptung aus u − Π u ¯L2 (D) = Π(u − u ur alle u ¯ ∈ Wk . u − u ¯L2 (D) f¨ Hier wurde der Einfachheit halber ausgenutzt, dass Di konvex ist. Die Poincar´e-Ungleichung gilt auch, wenn die Einbettung H 1 (Di ) "→ L2 (Di ) kompakt ist (was zum Beispiel gilt, wenn Di eine gleichm¨aßige Kegelbedingung erf¨ ullt). Allerdings ist dann die Poincar´e-Konstante von Di abh¨angig, und man hat Bedingungen zu stellen, die die gleichm¨ aßige Beschr¨anktheit aller Poincar´e-Konstanten sichern. 12

13

Jules Henri Poincar´e, geboren am 29. April 1854 in Nancy, Lorraine, gestorben am 17. Juli 1912 in Paris. An dieser Stelle wird die Konvexit¨ at von Di und damit indirekt die von D ben¨ otigt. Der korrigierte Beweis der Poincar´e-Ungleichung f¨ ur konvexe Gebiete findet sich in [7].

284

11 Anwendungen auf Finite-Element-Matrizen

11.3.3 Hauptresultat In der folgenden Konstruktion gehen wir von einem konvexen Gebiet K mit K ∩ Ω = ∅ aus. Die Verbreiterung von K um r ∈ (0, δ] ist definiert als K(r) := {x ∈ Rd : dist(x, K) < r},

(11.29)

wobei K(0) := K f¨ ur r = 0 gesetzt sei. Man sieht leicht, dass dist(K(r2 ), ∂K(r1 )) = r1 − r2 diam(K(r)) ≤ diam(K) + 2r

Γ(D)

f¨ ur r1 ≥ r2 ≥ 0, f¨ ur r ≥ 0.

(11.30)

D sei eine Obermenge von K mit

Ω

δ := dist(K, Γ (D)) > 0.

Κ Κ(δ) D Abb. 11.3. Die Gebiete Ω, K ⊂ K(δ) ⊂ D und Γ (D)

(11.31)

Offenbar ist K(δ) ∩ Ω ⊂ D ∩ Ω. Im Komplement Rd \Ω, wo alle Funktionen als null definiert sind, kann D aber ohne Beschr¨ankung der Allgemeinheit so vergr¨ oßert werden, dass K(δ) ⊂ D gilt. Das folgende Lemma beschreibt die Approximierbarkeit aller u ∈ Z(D) mittels eines Unterraumes W ⊂ Z(K) , sodass der Approximationsfehler exponentiell mit der Dimension dim W f¨allt (d.h. die Dimension steigt nur logarithmisch mit dem inversen Approximationsfehler).

Lemma 11.3.6. Seien Ω, D, Z(D), Γ (D) und K ⊂ D mit dist(K, Γ (D)) > 0 wie in Definition 11.3.1. Ferner sei K ein konvexes Gebiet mit diam(K) ≤ η dist(K, Γ (D)). Dann existiert f¨ ur alle ε < 1 ein Unterraum W = Wε ⊂ Z(K) mit der Approximationseigenschaft distL2 (K) (u, W ) ≤ ε uL2 (D∩Ω)

f¨ ur alle u ∈ Z(D)

(11.32)

und der Dimension 1 1 dim W ≤ cdη log d+1 + log  ε ε

√ mit cη = 2 e cappr κC (η + 2) . (11.33)

Beweis. a) Mit K sind auch alle K(r) aus (11.29) konvexe Gebiete, die sich ur r1 ≥ r2 . Das kleinste Gebiet mit wachsendem r vergr¨ oßern: K(r1 ) ⊃ K(r2 ) f¨ ist K(0) = K, w¨ ahrend K(δ) das maximale Gebiet mit K(δ) ⊂ D ist. b) Wir fixieren ein p ∈ N, das in Teil f) konkretisiert wird, und f¨ uhren Radien r0 > r1 > . . . > rp = 0 mittels j rj := (1 − ) δ p

(0 ≤ j ≤ p)

(11.34)

11.3 Analysis der Greenschen Funktion

285

ein. Wir setzen Kj := K(rj ),

Zj := Z(Kj )

(vgl. Definition 11.3.1)

und vermerken, dass K = Kp ⊂ Kp−1 ⊂ . . . ⊂ K1 ⊂ K0 ⊂ D. c) Sei j ∈ {1, . . . , p}. Anwendung von Lemma 11.3.3 mit den Gebieten Kj−1 , Kj anstelle von D, K liefert √ 2 κC vL2 (Kj−1 ) f¨ ur alle v ∈ Zj−1 , ∇vL2 (Kj ) ≤ dist(Kj , Γ (Kj−1 )) wobei Γ (Kj−1 ) der Definition (11.24) folgt. Wegen dist(Kj , Γ (Kj−1 )) ≥ dist(Kj , ∂Kj−1 ) = rj−1 − rj = δ/p (vgl. (11.30)) folgt √ 2p κC vL2 (Kj−1 ) f¨ ur alle v ∈ Zj−1 . (11.35a) ∇vL2 (Kj ) ≤ δ d) Wir wenden Lemma 11.3.5 mit Kj anstelle von D und mit k := (βp)d  an, wobei der Faktor β sp¨ ater in (11.35d) festgelegt werden wird. Gem¨aß Lemma 11.3.5 gibt es einen Unterraum Vj ⊂ Zj der Dimension dim Vj ≤ k, sodass diam(Kj ) √ ur alle v ∈ Zj ∩ H 1 (Kj ). ∇vL2 (Kj ) f¨ d k √ ¨ Uber die Ungleichungen d k ≥ βp und diam(Kj ) = diam(K) + 2rj ≤ diam(K) + 2δ (vgl. (11.30)) folgt distL2 (Kj ) (v, Vj ) ≤ cappr

diam(K) + 2δ ∇vL2 (Kj ) βp f¨ ur alle v ∈ Zj ∩ H 1 (Kj ). distL2 (Kj ) (v, Vj ) ≤ cappr

(11.35b)

Nach Anmerkung 11.3.2 geh¨ ort jedes v ∈ Zj−1 nach Beschr¨ankung auf Kj zu Zj ∩ H 1 (Kj ). Kombination der Absch¨ atzungen (11.35a,b) zusammen mit diam(K) ≤ ηδ zeigt √ 2cappr κC vL2 (Kj−1 ) distL2 (Kj ) (v, Vj ) ≤ (η + 2) (11.35c) β f¨ ur alle v ∈ Zj−1 . Damit der Faktor (η + 2) β := β0 ε−1/p

√ 2cappr κC β

mit ε1/p u ¨bereinstimmt, w¨ahlen wir

√ mit β0 := 2cappr κC (η + 2) .

(11.35d)

Ungleichung (11.35c) wird so zu distL2 (Kj ) (v, Vj ) ≤ ε1/p vL2 (Kj−1 )

f¨ ur alle v ∈ Zj−1 .

(11.35e)

286

11 Anwendungen auf Finite-Element-Matrizen

Die Definition von distL2 (Kj ) (v, Vj ) erlaubt eine andere Formulierung von (11.35e): F¨ ur alle vj−1 ∈ Zj−1 existiert eine Approximation uj ∈ Vj , sodass der Fehler vj := vj−1 − uj in Kj definiert ist und vj |Kj L2 (Kj ) ≤ ε1/p vj−1 L2 (Kj−1 ) erf¨ ullt. Insbesondere gilt vj−1 = uj + vj in Kj . e) Die letzte Formulierung wird nun f¨ ur j = 1 angewandt. F¨ ur jede Approximation u =: v0 ∈ Z0 gibt es nach (11.35e) ein u1 ∈ V1 ⊂ Z1 , sodass u|K1 = v0 |K1 = u1 + v1 und v1 L2 (K1 ) ≤ ε1/p v0 L2 (K0 ) . Zu v1 ∈ Z1 existiert analog ein u2 ∈ V2 ⊂ Z2 , sodass v1 |K2 = u2 + v2 und v2 L2 (K2 ) ≤ ε1/p v1 L2 (K1 ) . Die Kombination mit der vorigen Identit¨at u|K1 = u1 + v1 liefert wegen K2 ⊂ K1 die Darstellung u|K2 = u1 + u2 + v2 . ur j = 1, . . . , p, sodass wegen Durch Induktion konstruiert man uj ∈ Vj f¨ Kp = K u|K = vp +

p 

uj |K

mit vp L2 (K) ≤ ε uL2 (K) .

j=1

Da uj |K ∈ Vj |K , ist W := span{Vj |K : j = 1, . . . , p} der gesuchte Approximationsunterraum, der distL2 (D2 ) (u, W ) ≤ εuL2 (K0 )



K0 ⊂D

εuL2 (D)

=

u|D\Ω =0

εuL2 (D∩Ω)

garantiert. f) Die Dimension von W ist beschr¨ ankt durch p 

dim Vj = p(βp)d  ≤ p + β d pd+1 .

j=1

Die Wahl p := log 1ε  ergibt wegen ε−1/p = e(log ε )/p ≤ e1 die Dimensionsabsch¨ atzung 1 1 (11.35f) dim W ≤ log  + β0d ed log d+1 . ε ε Zusammen mit cη := β0 e folgt die Behauptung. 1

Anmerkung 11.3.7. Lemma 11.3.6 beschreibt die Dimension k := dim W in Abh¨ angigkeit vom Verbesserungsfaktor ε. Die Umkehrung zeigt den exponentiellen Abfall

11.3 Analysis der Greenschen Funktion



√  d+1 ε = ε(k) ≈ exp −c k

287

mit c ≈ (cη )−d/(d+1)

(die Gleichheit c = (cη )−d/(d+1) gilt, wenn in der rechten Seite von (11.35f) der  √  d+1 1 k Term log ε  von niedrigerer Ordnung fehlt, w¨ahrend ε(k) ≤ exp −c zutrifft, wenn log 1ε  durch log

1 ε

ersetzt ist).

F¨ ur x ∈ X ⊂ Ω ⊂ Rd ist die Greensche Funktion G(x, ·) L-harmonisch in Ω\X, d.h. G(x, ·) ∈ Z(Ω\X) und sogar G(x, ·) ∈ Z(Rd \X) wegen der Nullfortsetzung. Satz 11.3.8. Seien X ⊂ Ω ⊂ Rd und K ⊂ Rd zwei disjunkte Gebiete mit K ∩ Ω = ∅. Ferner sei K konvex mit diam(K) ≤ η dist(X, K). Dann existiert zu jedem ε ∈ (0, 1) eine separable Approximation Gk (x, y) =

k 

ui (x)vi (y)

mit k ≤ kε = cdη log 1ε d+1 + log 1ε 

i=1

(cη in (11.33) definiert), die G(x, ·) − Gk (x, ·)L2 (K) ≤ εG(x, ·)L2 (D∩Ω)

f¨ ur alle x ∈ X

(11.36)

erf¨ ullt, wobei D := {y ∈ Rd : dist(y, K) < dist(X, K)}. Beweis. Da diam(K) ≤ η dist(X, K) = η dist(X, ∂D) ≤ η dist(X, Γ (D)), l¨asst sich Lemma 11.3.6 anwenden. Sei {v1 , . . . , vk } eine Basis des dort erw¨ahnten ur alle Unterraumes W ⊂ Z(K) mit k = dim W ≤ cdη log 1ε d+1 + log 1ε . F¨ x ∈ X liegt die Funktion gx := G(x, ·) wegen X ∩ D = ∅ in Z(D). Gem¨aß (11.32) gilt gx = gxW + rx mit gxW ∈ W und rx L2 (K) ≤ εgx L2 (D∩Ω) . Die Approximation gxW hat eine Darstellung gxW

=

k 

ui (x)vi

(11.37)

i=1

mit Koeffizienten ui (x), die von x abh¨ angen. Da x in X variiert, sind die ui k auf X definierte Funktionen. Die Funktion Gk (x, y) := i=1 ui (x)vi (y) erf¨ ullt die Absch¨ atzung (11.36). Anmerkung 11.3.9. Ohne Beschr¨ ankung der Allgemeinheit kann {v1 , . . . , vk } im obigen Beweis als eine Orthogonalbasis von W gew¨ahlt werden. Dann ergeben sich die Koeffizienten ui (x) in (11.37) als das Skalarprodukt (G(x, ·), vi )L2 (K∩Ω) . Dies beweist, dass die Funktionen ui die Differentialgleichung

288

11 Anwendungen auf Finite-Element-Matrizen

 Lui =

vi in K ∩ Ω, 0 sonst

mit homogenen Dirichlet-Randwerten erf¨ ullen. Insbesondere sind die ui L-harmonisch in Ω\K. Man beachte, dass die ui nicht von der Wahl des Gebietes X abh¨ angen. Lemma 11.3.10. Seien X, K, D und ε wie in Satz 11.3.8. Mit GXK , GXD und Gk,XK seien die Integraloperatoren  (GXK f ) (x) = K∩Ω G(x, y)f (y)dy f¨ ur x ∈ X,  (GXD f ) (x) = D∩Ω G(x, y)f (y)dy f¨ ur x ∈ X,  f¨ ur x ∈ X, (Gk,XK ) (x) = K∩Ω Gk (x, y)f (y)dy w¨ ahrend G der Operator aus (11.12) ist. Dann gilt GXK − Gk,XK L2 (X)←L2 (K∩Ω) ≤ εGXD L2 (X)←L2 (D∩Ω) ≤ εGL2 (Ω)←L2 (Ω) .

(11.38)

Beweis. Sei ϕ ∈ L2 (X) eine beliebige Testfunktion. Hierzu wird  Φ(y) := G(x, y)ϕ(x)dx f¨ ur y ∈ D ∩ Ω X

gebildet. Da Φ ∈ Z(D) gilt, besteht wieder die Ungleichung Φ − Φk L2 (K∩Ω) ≤ εΦL2 (D∩Ω)

(11.39)

(Beweis wie in Satz 11.3.8 mit gleichem Unterraum W ). Da Φk die Projektion von Φ auf den Unterraum W ist, folgt  Φk (y) =

Gk (x, y)ϕ(x)dx = X

k   i=1

 ui (x)ϕ(x)dx vi (y).

X

F¨ ur alle ψ ∈ L2 (K ∩ Ω) gilt (ϕ, (GXY − Gk,XY ) ψ)L2 (X)   = (G(x, y) − Gk (x, y)) ϕ(x)ψ(y)dxdy = (Φ − Φk , ψ)L2 (K∩Ω) K∩Ω

X

≤ Φ − Φk L2 (K∩Ω) ψL2 (K∩Ω)



(11.39)

εΦL2 (D∩Ω) ψL2 (K∩Ω) .

∗ Φ kann auch als GXD ϕ geschrieben werden, sodass ∗ ΦL2 (D∩Ω) ≤ GXD L2 (D∩Ω)←L2 (X) ϕL2 (X)

= GXD L2 (X)←L2 (D∩Ω) ϕL2 (X)

11.3 Analysis der Greenschen Funktion

289

die erste Ungleichung in (11.38) zeigt. Die zweite Ungleichung gilt, da GXD eine Beschr¨ ankung von G darstellt. Wir wollen nun zeigen, dass die Annahmen in (11.17a-d) gelten. Die Approximation (11.17a) entspricht der Darstellung in Satz 11.3.8, wobei die Notation in (11.17a) anzeigt, dass die Funktionen ui , vi von der Dimension k abh¨angen. Wenn in (11.17b) das Minimum von diam(Y ) angenommen wird, darf Y = K gesetzt werden, und die in (11.17c) behauptete Ungleichung folgt nun aus (11.38). Sollte jedoch diam(X) ≤ η dist(X, Y ) mit konvexem X gelten, l¨ asst sich die gleiche Absch¨ atzung beweisen, indem man G(·, y) ∈ Z(X) bez¨ uglich des ersten Argumentes verwendet. Die Gr¨ oßen der Konstanten in (11.17d) ergeben sich aus Anmerkung 11.3.7. Die Absch¨ atzungen in diesem Abschnitt, z.B. in (11.32), verwenden die L2 Norm. Der Grund ist die linke Seite in (11.28), die den L2 -Abstand benutzt. Der Beweis von Lemma 11.3.6 kombiniert (11.28) und (11.26), was die Rekursion (11.35e) der L2 -Normen liefert. Man kann die Ungleichungen (11.28) und (11.26) auch in umgekehrter Reihenfolge kombinieren. Das Resultat ist eine Ungleichung u ¨ber die Normen ∇vL2 (Kj ) , d.h. im Wesentlichen eine Bealt man Approximationsaussagen ziehung der H 1 -Normen. Entsprechend erh¨ uhrt sind. in der H 1 -Norm, die in [26, §5] ausgef¨ Eine m¨ ogliche Ursache f¨ ur nichtglatte Koeffizienten sind springende Koeffizienten. F¨ ur iterative Verfahren k¨ onnen große Spr¨ unge ein Grund f¨ ur schlechte Konvergenz sein (vgl. zum Beispiel [1]). Es sei darauf hingeweisen, dass die obigen theoretischen Absch¨ atzungen von der H¨ohe der Spr¨ unge abh¨angen. Sie gehen prim¨ ar in die Zahl κC aus (11.9), und diese erscheint als Wurzel in der Gr¨ oße cη aus (11.33). Die numerischen Experimente verhalten allerdings wesentlich stabiler gegen großes κC . 11.3.4 Anwendung auf die Randelementmethode Da in der Randelementmethode die Fundamentall¨osung S mit der definierenden Eigenschaft Lx S(x, y) = δ(x − y)

f¨ ur alle x, y ∈ Rd

eine zentrale Rolle spielen, ist es von Interesse, den Satz 11.3.8 auf S anzuwenden. Das folgende Korollar garantiert, dass BEM-Matrizen erfolgreich im H-Format dargestellt werden k¨ onnen. Korollar 11.3.11. Die Existenz einer Fundamentall¨ osung S f¨ ur L sei vorausgesetzt. Seien X, Y ⊂ Rd zwei Gebiete, wobei Y konvex sei und diam(Y ) ≤ η dist(X, Y ) erf¨ ullt. Dann gibt es zu jedem ε > 0 eine separable Approximation

290

11 Anwendungen auf Finite-Element-Matrizen

Sk (x, y) =

k 

ui (x)vi (y)

mit k ≤ kε = cdη log 1ε d+1 + log 1ε 

i=1

(cη wie in (11.33)), sodass S(x, ·) − Sk (x, ·)L2 (Y ) ≤ εS(x, ·)L2 (D)

f¨ ur alle x ∈ X

mit D := {x ∈ Rd : dist(x, Y ) < dist(X, Y )}. 11.3.5 FEM-BEM-Kopplung Die Finite- und Randelementmethode k¨ onnen in vielf¨altiger Weise gekoppelt werden. Beispielsweise kann eine (eventuell sogar nichtlineare) elliptische Differentialgleichung in einem Innengebiet mit einer Randelementmethode f¨ ur den Außenraum kombiniert werden. Das entstehende Problem ist in den O(h−d ) Innengebietsgitterpunkten schwach besetzt, nur die O(h1−d ) Randknoten f¨ uhren zu einer vollen Teilmatrix. Da beide Teile gleichermaßen in das Konzept der hierarchischen Matrixtechnik passen, kann das Gesamtproblem als H-Matrix behandelt werden vorausgesetzt, dass der lineare Fall vorliegt. Eine Alternative insbesondere im nichtlinearen Fall ist die iterative L¨osung des Innenproblems mit Invertierung der Randgleichungen. Eine v¨ ollig andere Kombination der Finite- und Randelement-Ideen findet sich in der randkonzentrierten Finite-Element-Methode (vgl. KhoromskijMelenk [100] und Eibner-Melenk [39]). Der Konstruktion nach ist es eine hp-Finite-Element-Methode, de facto verh¨ alt es sich wie eine Randelementmethode, da die Zahl der Freiheitsgrade durch die Diskretisierung auf dem Rand bestimmt wird. Schließlich k¨ onnen im Rahmen einer Gebietszerlegung randkonzentrierte finite Elemente mit der Randelementmethode kombiniert werden (vgl. Langer-Pechstein [106]).

12 Inversion mit partieller Auswertung

Es liegt an der Begrifflichkeit der Linearen Algebra, dass man beim linearen Gleichungssystem Ax = b nur an den (vollst¨ andigen) L¨osungsvektor x ∈ RI und bei der Invertierung von A nur an die (vollst¨andige) Matrix A−1 ∈ RI×I denkt. Wenn eine Randwertaufgabe Lu = f in Ω mit zugeh¨origen Randbedingungen zu l¨ osen ist, m¨ ochte man u(ξ) nicht an den unendlich vielen Punkten ξ ∈ Ω auswerten. Dass eine Diskretisierung in einem recht feinen uhrt wird, kann an den Gitter mit vielen Knotenpunkten ξi durchgef¨ Genauigkeitsanforderungen liegen. Ob man wirklich daran interessiert ist, anschließend alle u(ξi ) als Ausgabe zu erhalten, ist eine ganz andere Frage. H¨ aufig ist man nur an einer Reihe von Funktionalen der L¨osung interessiert. Beispiele sind Randdaten ∂u/∂n auf Γ = ∂Ω bei gegebenen Dirichlet-Daten  oder auch nur ein Integral Γ0 ∂u/∂ndΓ u ¨ber Γ0 ⊂ Γ, das den Fluss u ¨ber Γ0 beschreibt, oder u in einem einzigen Punkt ξ0 ∈ Ω oder in einer Reihe von Punkten. Eine spezielle Fragestellung liegt bei Randwertaufgaben mit stark oszillierenden Koeffizienten a(·) vor: L = div a(·) grad . Da die L¨osung entsprechend oszilliert, ist man im Allgemeinen nicht an der komplizierten L¨osung mit allen ihren Details interessiert, sondern an lokalen Mittelwerten u ¯. Im Falle periodischer Koeffizienten a(·) setzt man Homogenisierungstechniken ein, die zu Approximationen von u ¯ f¨ uhren. Wenn die Voraussetzungen f¨ ur diese Techniken nicht gegeben sind, ist eine numerische Homogenisierung von Interesse. Ein Modellfall k¨ onnte wie folgt aussehen: a(·) ist eine gegebene, stark oszillierende Funktion f¨ ur den Koeffizienten von L. Um die Oszillationen aufzul¨osen, sei eine (recht kleine) Schrittweite h notwendig. Das zugeh¨orige Gleichungsonnte man l¨ osen, ist aber nicht an xh , sondern an system Ah xh = bh k¨ einer gegl¨ atteten Darstellung xH = Rxh zu einer gr¨oberen Schrittweite H interessiert1 . Damit ist 1

Im Falle von Galerkin-Verfahren k¨ onnte VH eine Triangulation zur Schrittweite H und Vh ⊃ VH eine Verfeinerung bis zur Schrittweite h sein. In diesem Fall

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 12, c Springer-Verlag Berlin Heidelberg 2009 

292

12 Inversion mit partieller Auswertung

xH = RA−1 h bh zu l¨ osen. Man kann noch einen Schritt weitergehen: Es gibt im Allgemeinen keinen Grund, die rechte Seite f der Differentialgleichung mit der Feinheit h aufzul¨ osen, hierf¨ ur mag die Schrittweite H ausreichen, was bH erg¨abe. uhrt Eine Prolongation bh = P bH eingesetzt in die vorherige Gleichung f¨ zur n¨ achsten Aufgabe: xH = RA−1 h P bH . Die Eigenschaften des nachfolgend beschriebenen Verfahrens sind: •

Es gibt eine erste Berechnungsphase, in der die Matrizen zu gewissen Abbildungen Φω bestimmt werden. Der zugeh¨orige Speicher- und Rechenaufwand h¨ angt fast linear von der Gesamtdimension ab. F¨ ur feine Schrittweiten h entsteht daher ein hoher Aufwand, aber wegen der zugrundeliegenden Gebietszerlegung sind alle Aufgaben der gleichen Stufe v¨ollig unabh¨ angig und k¨ onnen parallel berechnet werden. • In einer zweiten Berechnungsphase kann zu jeder rechten Seite die L¨ osung berechnet werden. Wenn diese Auswertung nur partiell stattfindet und bei einer gr¨ oberen Schrittweite H ( h endet, reduziert sich ur die der Speicheraufwand f¨ ur die Φω -Matrizen und die Rechenzeit f¨ L¨ osungsbestimmung. Auch hier sind alle Aufgaben der gleichen Stufe parallel berechenbar. Die partielle Auswertung ¨andert die Genauigkeit des Resultates nicht, d.h. es liegt keine Grobgitterdiskretisierung vor. • Bei mehreren Gleichungssystemen mit gleicher Matrix aber unterschiedlichen rechten Seiten, ist die erste Berechnungsphase nur einmal durchzuf¨ uhren. • Eine Familie lokaler Funktionale der L¨ osung ist leicht berechenbar.

Numerische Beispiele zu diesem Verfahren im r¨aumlich zweidimensionalen Falle findet man in der Dissertation [111]. In §12.1 wird das Grundschema der L¨ osungsdarstellung beschrieben. Die dort verwendeten Abbildungen Φω enthalten partielle Informationen aus A−1 h und m¨ ussen geeignet konstruiert werden. Das zugeh¨orige Verfahren wird in §12.4.1 dargelegt. Es entspricht der erste Berechnungsphase von oben. Die zweite Berechnungsphase ist die Auswertung, die in §12.4.2 erl¨autert wird. Die eigentliche partielle Auswertung findet sich in §12.6.

12.1 Baum der Gebietszerlegung und zugeh¨ orige Spurabbildungen Zun¨ achst soll anhand der exakten Randwertaufgabe die grundlegende Konstruktion erl¨ autert werden. Die Startsituation ist durch die Differentialgelten uh ∈ Vh und uH ∈ VH , und xH = RH←h xh ist die kanonische Restriktion der Finite-Element-Koeffizienten xH und xh zu uH und uh , wie sie in Mehrgitterverfahren verwendet wird (vgl. [72, §3.6]).

12.1 Baum der Gebietszerlegung und zugeh¨ orige Spurabbildungen

293

gleichung LuΩ = fΩ

in Ω ⊂ Rd

(12.1a)

auf ∂Ω

(12.1b)

mit den Randwerten2 uΩ |∂Ω = g∂Ω

gegeben. Sei γ(Ω) ⊂ Ω eine offene d-dimensionale Mannigfaltigkeit, die Ω in zwei Teilgebiete ω1 und ω2 mit ∂ω1 ∩ ∂ω2 = γ(Ω) zerlegt (erster Schritt in Abω 11 ω 21 bildung 12.1). γ(Ω) wird Ω ω1 ω2 ω 12 ω 22 im Folgenden interner Rand genannt. Die Beschr¨ ankung Abb. 12.1. Folge von Gebietszerlegungen der L¨ osung von (12.1a,b) auf γ(Ω) ist die Spur uΩ |γ(Ω) . Da uΩ von der rechten Seite fΩ und den Randwerten gΓ abh¨angt, ist hierdurch eine Abbildung ΦΩ : (fΩ , g∂Ω ) → uΩ |γ(Ω) definiert. Ω bildet die Wurzel des Gebietszerlegungsbaums GΩ aus Abbildung 12.2. Die Knoten des Baums GΩ (Teilgebiete von Ω) werden im Folgenden mit ω bzw. ω1 , ω2 usw. notiert. ω1 und ω2 seien die S¨ohne von Ω ∈ GΩ . F¨ ur Ω jeden Sohn ωi gilt Folgendes. Die Differentialgleichung (12.1a) kann auf ωi beschr¨ankt werden:

ω1

ω2

ω 11 ω 21 ω 12 ω 22 Abb. 12.2. Gebietszerlegungsbaum GΩ

Luωi = fωi

in ωi (i = 1, 2).

Der Rand ∂ωi setzt sich disjunkt aus ∂ωi ∩ ∂Ω und γ(ω) zusammen. Die Randwerte uωi |∂ωi = g∂ωi

auf ∂ωi

liegen f¨ ur die Teilmenge ∂ωi ∩ ∂Ω direkt vor, wo g∂ωi |∂ωi ∩∂Ω = g∂Ω |∂ωi ∩∂Ω mit g∂Ω aus (12.1b) gilt, w¨ahrend auf γ(Ω) die Randdaten durch gωi |γ(ω) = Φω (fω , g∂ω ) definiert sind. 2

Der Typ der Randbedingungen ist f¨ ur die Methode nicht wesentlich. Im Falle anderer Randbedingungen werden die Randbedingungen in den sp¨ ater auftretenden Teilgebieten ω gemischt sein: auf ∂ω ∩ Ω vom Dirichlet-Typ, auf ∂ω ∩ ∂Ω der obige Typ.

294

12 Inversion mit partieller Auswertung

Damit kann das Verfahren in den Teilgebieten ωi (i = 1, 2) fortgesetzt werden: Jedes ωi wird durch einen internen Rand γ(ωi ) in zwei Teile ωi,1 und ωi,2 zerlegt (vgl. mittlerer Teil der Abbildung 12.1). Ferner beschreibt die Abbildung Φωi : (fωi , g∂ωi ) → uωi |γ(ωi ) die Spur der L¨ osung auf γ(ωi ). Nach mehrfacher Anwendung erh¨ alt man eine feinere Zerlegung von Ω wie rechts in Abbildung 12.1 (illustriert f¨ ur eine regelm¨aßige Zerlegung) sowie den Gebietszerlegungsbaum aus Abbildung 12.2. unden als Der Gebietszerlegungsbaum GΩ wird aus praktischen Gr¨ Bin¨ ar baum konstruiert. Im kontinuierlichen Fall k¨ o nnte die Zerlegung unbe grenzt fortgesetzt werden (L(GΩ ) = ∅). Wegen ω∈GΩ ∂ω = Ω definieren die osung u in Ω. Spuren u|∂ω dann die gesamte L¨ Im diskreten Fall wird die L¨ osung nach endlichen vielen Schritten erreicht, wie im n¨ achsten Abschnitt diskutiert.

¨ 12.2 Diskrete Variante - Ubersicht Im Folgenden wird die Finite-Element-Diskretisierung zugrundegelegt (das Verfahren ist aber auch bei anderen Diskretisierungsverfahren anwendbar). Details zur Diskretisierung finden sich in §12.3.1. Die Gebietszerlegung aus §12.1 muss in diesem Fall mit der Finite-ElementTriangulation T (Ω) konsistent sein, d.h. alle Teilgebiete ω ∈ GΩ sind Veraquivalente Beschreibung ist, dass einigungen von Dreiecken3 aus T (Ω). Eine ¨ alle inneren R¨ ander γ(ω) auf Kanten von Dreiecken aus T (Ω) verlaufen. Die Zerlegung kann so lange fortgesetzt werden, bis die offenbar nicht weiter zerlegbaren Dreiecke ω ∈ T (Ω) als Teilgebiet erreicht sind. In Weiteren sei angenommen, dass die Bl¨ atter des Gebietszerlegungsbaums GΩ die Dreiecke von T (Ω) sind: (12.2) L(GΩ ) = T (Ω). Zu jedem Teilgebiet ω ∈ GΩ , das kein Blatt ist, wird eine Abbildung Φω : (rh (ω), rh (∂ω)) → xh |γ(ω) konstruiert werden, die aus den inneren Knotenwerten rh (ω) der rechten Seite f |ω und aus dem Komponenten rh (∂ω) der Randdaten uh |∂ω die Koeffizienten xh |γ(ω) der Spur uh |γ(ω) der diskreten Finite-Element-L¨osung uh auf γ(ω) produziert. Details zum zugrundeliegenden Gleichungssystem und zu Φω folgen in §12.3.1 und §12.3.3. 3

Die finiten Elemente werden als “Dreiecke” bezeichnet, da dies den 2DAbbildungen in diesem Abschnitt entspricht. Das Verfahren ist aber unabh¨ angig von der Art der Elemente und der Raumdimension.

12.3 Details

295

Die Diskretisierung des Randwertproblems in Ω liefert die Daten rh (Ω) ur die Wurzel Ω ∈ GΩ . Nach Anwendung von ΦΩ liegen die und rh (∂Ω) f¨ ur die S¨ ohne ω ∈ S(Ω) von Ω vor. Weitere reDaten rh (ω) und rh (∂ω) f¨ kursive Anwendung von Φω (vgl. Algorithmus in §12.4.2) liefert schließlich die Knotenwerte f¨ ur alle Dreiecke aus T (Ω) und somit alle Koeffizienten der L¨ osung uh . Daher produziert der Algorithmus die (vollst¨andige) L¨osung des Gleichungssystems. In diesem Sinne f¨ uhrt der Algorithmus die (vollst¨andige) Gleichungsl¨ osung durch. In einer Vorbereitungsphase m¨ ussen die Abbildungen Φω berechnet werden. Der zugeh¨ orige Algorithmus ist in §12.3.7 beschrieben. Hierzu ben¨ otigt man hilfsweise die Abbildungen Ψω , die in §12.3.6 definiert werden.

12.3 Details 12.3.1 Finite-Element-Diskretisierung und Matrixformulierung Die Finite-Element-Diskretisierung in Ω basiert auf einer Triangulation T (Ω). Die zus¨ atzliche Konsistenzeigenschaft des Gebietszerlegungsbaums G Ω lautet: f¨ ur alle ω ∈ GΩ gibt es eine Teilmenge T (ω) ⊂ T (Ω), sodass ω = t∈T (ω) t. Der innere Rand γ(ω) besteht notwendigerweise aus Randteilen der finiten Elemente. Aus praktischen Gr¨ unden sollte ω durch γ(ω) in ¨ahnlich große Teile ω1 und ω2 zerlegt werden, dabei sollte γ(ω) aber m¨oglichst kleine L¨ange haben bzw. eine minimale Anzahl von Knotenpunkten enthalten. Die Bl¨atter des Baumes GΩ seien die Dreiecke aus T (Ω), d.h. die Gebietszerlegung wird solange wie m¨ oglich fortgesetzt (vgl. (12.2)). Im Weiteren sei die Finite-Element-Diskretisierung in einem Teilgebiet aher beschrieben. Man beachte, dass die oben beschriebene Teilω ∈ GΩ n¨ menge T (ω) die Triangulation von ω darstellt. F¨ ur die Triangulation T (ω) beschreibe Vh ⊂ H01 (ω) den Finite-Element-Raum mit homogenen Randwerten auf ∂ω. Der Raum V¯h ⊃ Vh mit V¯h ⊂ H 1 (ω) enthalte zus¨atzlich die finiten Elemente zu Randknoten. Die gesuchte Finite-Element-L¨osung uh ∈ V¯h von (12.1a,b) habe die Variationsformulierung4,5 aω (uh , vh ) = fω (vh )   u w dΓ = ∂ω gwh dΓ ∂ω h h

f¨ ur alle vh ∈ Vh , f¨ ur alle wh ∈ V¯h .

(12.3)

Die zweite Gleichung6 besagt, dass uh |∂ω = gh die L2 (∂ω)-orthogonale Projektion von g auf V¯h |∂ω ist: 4

5

6

Die Notation aΩ und fΩ mit dem Index Ω betont den Integrationsbereich, der im Folgenden variabel sein wird. F¨ ur glatte g kann die L2 (Γ )-orthogonale Projektion durch die Interpolation wh (xj ) = g(xj ) in Randknoten xj ∈ Γ ersetzt werden. Die Variation u ¨ber wh ∈ V¯h kann ebenso durch die u ¨ber wh ∈ V¯h \Vh ersetzt werden, da f¨ ur wh ∈ Vh beide Seiten der Gleichung verschwinden.

296

12 Inversion mit partieller Auswertung



 gh wh dΓ =

∂ω

gwh dΓ. ∂ω

F¨ ur echte Teilgebiete ω = Ω werden die Randwerte g bereits im Raum V¯h |∂ω = {w|∂ω : w ∈ V¯h } vorliegen, sodass die Gleichheit uh = g auf ∂ω gilt. Nur f¨ ur ω = Ω ist einmalig die Projektion von g ∈ L2 (∂Ω) auf uh |∂Ω durchzuf¨ uhren. Die Koeffizienten der Finite-Element-Funktion uh seien mit xh,i bezeichnet: xh = (xh,i )i∈I mit  uh = xh,i φi (12.4) i∈I

(vgl. (1.22a)). Die zugeh¨ orige Indexmenge I = I(ω) besteht aus allen Knotenpunkten der Triangulation T (ω) einschließlich der Randknoten. Die disjunkte Zerlegung in innere und Randknoten sei mit I(ω) = I(ω) ∪˙ I(∂ω)

(12.5a)

beschrieben. Das der Variationsformulierung (12.3) entsprechende Gleichungssystem wird mit dem Teilgebiet ω ∈ GΩ als explizitem Argument bezeichnet: Ah (ω) xh (ω) = rh (ω). alt die Bl¨ocke rh (ω) und rh (∂ω). Die rechte Seite rh (ω) = (rh,j (ω))j∈I(ω) enth¨ Die Komponenten von rh (ω) = (rh,j (ω))j∈I(ω) repr¨asentieren die Daten von fω (rechte Seite der Differentialgleichung) mittels  fω φj dx f¨ ur j ∈ I(ω), (12.5b) rh,j (ω) = fω (φj ) = ω

w¨ ahrend die Komponenten von rh (∂ω) = (rh,j (∂ω))j∈I(∂ω) die Randdaten darstellen: * *  * uh |∂ω = rh,j (∂ω) φj ** . (12.5c) * j∈I(∂ω) ∂ω

Sei Ah = Ah (ω) die Diskretisierungsmatrix zu (12.3). Entsprechend der Zerlegung (12.5a) hat Ah (ω) die Gestalt  ω,ω ω,∂ω  A A . (12.5d) Ah (ω) = O I Die erste Gleichung in (12.3) liefert die Darstellung Aω,ω = a(φj , φi ) ij

f¨ ur i, j ∈ I(ω)

Aω,∂ω ij

f¨ ur i ∈ I(ω), j ∈ I(∂ω),

= a(φj , φi )

(vgl. (1.22c)),

(12.5e)

12.3 Details

297

wobei {φi : i ∈ I(ω)} eine Basis von Vh und {φi : i ∈ I(ω)} eine Basis von V¯h seien. Da rh (∂ω) bereits die Koeffizienten von ( uh)|∂ω explizit darstellt (vgl. (12.5c)), ergeben sich die einfachen Bl¨ ocke O I in der zweiten Blockzeile. Somit liegt ein block-gestaffeltes System vor: Zuerst sind die Randwerte asst sich die erste Gleichung nach den inneren rh (∂ω) einzusetzen, danach l¨ osen. Knotenwerten rh (ω) aufl¨ 12.3.2 Zerlegung der Indexmenge Jedes Teilgebiet ω ∈ GΩ wird durch den inneren Rand γ(ω) in die Teilgebiete ohne von ω, zerlegt. Die Indexmengen zu diesen drei Teilω1 und ω2 , die S¨ gebieten sind I(ω), I(ω1 ) und I(ω2 ). Jede dieser Indexmengen zerf¨allt in die disjunkten Teilmengen der inneren und Randknoten: I(ω) = I(ω) ∪˙ I(∂ω),

I(ω1 ) = I(ω1 ) ∪˙ I(∂ω1 ),

I(ω2 ) = I(ω2 ) ∪˙ I(∂ω2 ).

Der innere Rand γ(ω) besteht aus R¨ andern der Dreiecke von T (ω). Entsprechend bezeichnet I(γ(ω)) die Indexmenge zu den Finite-Element-Knoten in γ(ω). Da γ(ω) als offen definiert wurde, sind I(γ(ω)) und I(∂ω) durchschnittsfrei. Damit ist I(γ(ω)) eine echte Teilmenge von I(ω1 ) ∩ I(ω2 ): I(γ(ω)) := (I(ω1 ) ∩ I(ω2 )) \ I(∂ω). Zur Illustration stelle a a a a

a 1 1 a

a 1 1 a

s γ γ s

b 2 2 b

b 2 2 b

b b b b

(12.6)

ein Gitter dar, dessen Knotenpunkte mit a, b, γ, s, 1, 2 bezeichnet seien. Die mit γ und s gekennzeichneten Knoten m¨ ogen den trennenden inneren Rand γ(ω) amtlichen Knoten. Die anderen Indexmengen darstellen. I(ω) besteht aus s¨ sind wie folgt charakterisiert (obere Zeile: Indexmenge, untere: zugeh¨orige Knotenbezeichnungen): I(ω2 ) I(∂ω1 ) I(∂ω2 ) I(ω) I(∂ω) I(γ(ω)) I(ω1 ) I(ω2 ) I(ω1 ) 1, γ, 2 a, s, b γ 1 2 a, 1, s, γ b, 2, s, γ 1, s, γ 2, s, γ Will man die Situation aus (9.4a-c) herstellen, wo I = I(ω) disjunkt in ˙ 2 ∪I ˙ s zerlegt wird, so ist zu definieren: I1 ∪I Is := I(ω1 ) ∩ I(ω2 ) I1 := I(ω1 )\Is I2 := I(ω2 )\Is

(Knoten s, γ), (Knoten a, 1), (Knoten b, 2).

298

12 Inversion mit partieller Auswertung

12.3.3 Die Abbildung Φω Sei ω ∈ GΩ kein Blatt. Damit geh¨ ort zu ω ein innerer Rand γ(ω), der die Zerlegung bestimmt. In §12.1 wurde Φω als die Abbildung der rechten Seite und der Randdaten in die Spur u|γ(ω) definiert. Im Falle der FiniteElement-Diskretisierung verwenden wir das gleiche Symbol Φω , ersetzen aber die Funktionen durch die darstellenden Koeffizienten. Der Vektor rh (ω) ersetzt die rechte Seite fω (vgl. (12.5b)) und rh (∂ω) die Randwerte uh |∂ω (vgl. (12.5c)). Die Spur uh |γ(ω) wird durch die Koeffizienten xh |I(γ(ω)) = (xh,i )i∈I(γ(ω)) dargestellt (vgl. (12.4)). Das Gleichungssystem  −1  rh (ω) − Aω,∂ω rh (∂ω) (12.5d) liefert die L¨ osungsdarstellung xh = (Aω,ω ) f¨ ur den Gesamtl¨ osungsvektor xh ∈ RI(ω) . Die partielle Auswertung auf I(γ(ω)) liefert Φω (rh (ω)) ω,ω −1

= Φω (rh (ω), rh (∂ω)) := (A

)

** rh (ω) − Aω,∂ω rh (∂ω) *

(12.7)



I(γ(ω))

.

Man beachte, dass (12.7) die Abbildung definiert, aber nicht ihre praktische Konstruktion darstellen soll (diese folgt in §12.3.7). Im Folgenden wird die Verf¨ ugbarkeit von Φω angenommen. Entscheidend ist, dass f¨ ur jedes Teilgebiet ωi 1 2 (i = 1, 2) von ω vollst¨ andige Dirichlet-Randdaten auf allt disjunkt ∂ωi vorliegen. Die Indexmenge I(ωi ) zerf¨ in I(∂ωi ) ∩ I(∂ω) und I(γ(ω)). Auf I(∂ωi ) ∩ I(∂ω) stimmen die Knotenwerte mit den Daten von I(∂ω) u ¨berein, auf I(γ(ω)) sind sie durch Φω (rh (ω)) gegeben. Die Finite-Element-Diskretisierung in ωi beruht auf der Triangulation T (ωi ), die alle in ωi enthaltenen Elemente umfasst. Die Diskretisierungsmatrix in ωi (i = 1, 2) ist Ah (ωi ). Sie ist wiederum durch (12.5d-e) gegeben, wobei jetzt die Bilinearform a = aωi nur die Abb. 12.3. Bei der Integration im KnoIntegration u ¨ber ωi (statt ω, vgl. Abbildung 12.3) vertenpunkt xi verwenwendet und das Randintegral u ¨ber dete Dreiecke

ω

ω

γi := ∂ωi = (∂ω ∩ ωi ) ∪ γ(ω) statt ∂ω erstreckt wird. Der Zusammenhang der Matrizen Ah (ω), Ah (ω1 ) aher erl¨ autert. Hierzu sind zuvor die Matrizen und Ah (ω2 ) wird in §12.3.5 n¨ zu definieren, die bei nat¨ urlichen Randbedingungen entstehen. 12.3.4 Nat¨ urliche Randbedingung Ersetzt man die Dirichlet-Bedingung durch die nat¨ urliche Randbedingung (vgl. [67, §7.4]), erh¨ alt man die sp¨ ater ben¨ otigte Matrix Anat h (ω) mit den Eintr¨ agen

12.3 Details

299

Anat f¨ ur alle i, j ∈ I(ω). (12.8) i,j (ω) = a(φj , φi )  nat,ω,ω nat,ω,∂ω  A A Die Blockzerlegung Anat h (ω) = Anat,∂ω,ω Anat,∂ω,∂ω liefert in der ersten Zeile die gleichen Bl¨ ocke Aω,ω = Anat,ω,ω und Aω,∂ω = Anat,ω,∂ω wie (12.5d), aber andere Eintr¨ age in der zweiten Blockzeile f¨ ur (i, j) ∈ I(∂ω) × I(ω). 12.3.5 Zusammenhang der Matrizen f¨ ur ω, ω1 und ω2 wie oben definiert. Seien die Matrizen Ah und Anat h Anmerkung 12.3.1. Der Indexbereich α ∈ I(ω) entspricht der ersten Blockzeile in (12.5d). Hierf¨ ur gilt: (Ah (ω))α,β = ⎧ f¨ ur α ∈ I(ωi ), β ∈ I(ωi ), i = 1, 2, ⎨ (Ah (ωi ))α,β nat (Anat (ω )) + (A (ω )) f¨ 1 α,β 2 α,β ur α ∈ I(γ(ω)), β ∈ I(∂ω1 ) ∩ I(∂ω2 ), h ⎩ h 0 f¨ ur α ∈ I(ωi ), β ∈ I(ωj ), i = j. Im mittleren Fall treten Integrationen auf, die sowohl Teile von ω1 als auch von ω2 umfassen (vgl. Abbildung 12.3). Der Fall α ∈ I(∂ω) (zweite Blockzeile in (12.5d)) ist wegen der trivialen Struktur ausgelassen. Beweis. 1) F¨ ur α ∈ I(ωi ) und β ∈ I(ωi ) liegt der Durchschnitt der Tr¨ager der Basisfunktionen φα und φβ ganz in ωi ⊂ ω. Damit stimmen aω (φβ , φα ) und aωi (φβ , φα ) u ¨berein. 2) F¨ ur α, β ∈ I(γ(ω)) ⊂ I(∂ω1 ) ∩ I(∂ω2 ) liegt der Durchschnitt der Tr¨ager von φα und φβ teils in ω1 und teils ω2 , sodass die Summe zu bilden ist: aω (φβ , φα ) = aω1 (φβ , φα ) + aω2 (φβ , φα ). 3) F¨ ur α ∈ I(ωi ) und β ∈ I(ωj ) (i = j) sind die Tr¨ager von φα und φβ disjunkt. 12.3.6 Die Abbildung Ψω Zwar ist die Abbildung Φω in (12.7) definiert, ihre konstruktive Berechnung steht aber noch aus. Zu diesem Zweck wird eine weitere Abbildung Ψω : RI(ω) = RI(ω) × RI(∂ω) → RI(∂ω) eingef¨ uhrt. Ψω wird auf eine rechte Seite rh (ω) = (rh (ω), rh (∂ω)) ∈ RI(ω) mit rh (ω) ∈ RI(ω) und rh (∂ω) ∈ RI(∂ω) angewandt. Es sei daran erinnert, Seite fω enth¨ dass rh (ω) die Knotenwerte der rechten  alt, w¨ahrend rh (∂ω) die  Randwerte der L¨ osung xh (ω) = xh |I(ω) , xh |I(∂ω) ∈ RI(ω) sind, d.h. xh |I(∂ω) = rh (∂ω).

300

12 Inversion mit partieller Auswertung

Gem¨ aß Zerlegung (12.5d) sind die inneren Koeffizienten xh |I(ω) L¨osung von ω,ω A xh |I(ω) + Aω,∂ω xh |I(∂ω) = rh (ω), sodass  −1  rh (ω) − Aω,∂ω rh (∂ω) xh |I(ω) = (Aω,ω ) folgt (vergleiche (12.7) zur weiteren Beschr¨ ankung auf γ(ω)). Zu Randknotenindizes i ∈ I(∂ω) definieren wir nun die i-te Komponente von Ψω (rh (ω)) mit Hilfe der Finite-Element-L¨osung uh = j∈I(ω) xh,j φj : (Ψω (rh (ω)))i := aω (uh , φi ) =



xh,j aω (φj , φi )

f¨ ur i ∈ I(∂ω).

(12.9)

j∈I(ω)

Man beachte, dass aω (·, ·) die Bilinearform aus (12.3) mit der auf ω beschr¨ ankten Integration ist7 . Die Koeffizienten aω (φj , φi ) aus der letzten Gleichung stellen den Teil   Anat,∂ω = Anat,∂ω,∂ω , Anat,∂ω,ω mit   nat   nat,∂ω,∂ω nat,∂ω,ω := Ai,j i,j∈I(∂ω) , A := Anat A i,j i∈I(∂ω),j∈I(ω) der Matrix Anat = Anat (ω) aus (12.8) dar, sodass Ψω (rh (ω)) = Anat,∂ω xh . Setzt man f¨ ur xh die vorhergehenden Gleichungen ein, entsteht die Blockdarstellung   mit (12.10) Ψω = Ψωω , Ψω∂ω Ψωω := Anat,∂ω,ω (Aω,ω ) Ψω∂ω

:= A

nat,∂ω,∂ω

−A

−1

,

nat,∂ω,ω

(Aω,ω )

−1

Aω,∂ω .

Anmerkung 12.3.2. ω sei ein Dreieck der Triangulation T (Ω) und damit ein ur ein solches ω ist die Abbildung Blatt des Gebietszerlegungsbaums GΩ . F¨ Ψω leicht bestimmbar, da #I(ω) = 3. Im Weiteren werden wir die Konstruktion von Ψω von den Bl¨attern des uhren. Baumes GΩ bis zu der Wurzel Ω durchf¨ 12.3.7 Konstruktion von Φω aus Ψω1 und Ψω2 Seien ω1 und ω2 die S¨ ohne von ω im Gebietszerlegungsbaum. Zu ω1 und ω2 seien die Abbildungen Ψω1 und Ψω2 bekannt. Die Abbildung Ψω wird gesucht. Das Argument der linearen Abbildung Ψω ist rh (ω). Zu den Daten rh (ω) = (rh (ω), rh (∂ω)) wird in den nachfolgenden Schritten 1a-1c eine diskrete Randwertaufgabe in ω1 gebildet. 7

Ersetzt man ω durch die S¨ ohne ω1 und ω2 des Gebietszerlegungsbaumes GΩ , so entsteht f¨ ur i ∈ Is die Situation aus Abbildung 12.3: (Ψω1 (rh ))i und (Ψω2 (rh ))i ergeben sich aus einem Integral u ¨ber die Dreiecke auf der linken bzw. rechten Seite der Trennlinie.

12.3 Details

301

1a) Randdaten auf ∂ω1 : rh (∂ω) stimmt mit den Randdaten xh (ω)|I(∂ω) u ¨berein. Dies definiert die Randdaten xh (ω1 )|I(∂ω)∩I(∂ω1 ) . Die Indexmenge der Randknoten ist I(∂ω1 ) ⊂ I(ω1 ). Sie l¨asst sich disjunkt zerlegen in I(∂ω) ∩ I(∂ω1 ) und I(γ(ω)) (dies sind die Knoten mit der Bezeichnung ussen γ in §12.3.2). Die verbleibenden Randdaten xγ := xh (ω1 )|I(γ(ω)) m¨ noch bestimmt werden. ankung von rh (ω) auf die Indexmenge 1b) Innere Daten auf ω1 : Die Beschr¨ I(ω1 ) liefert rh (ω1 ). 1c) Diskretes Randwertproblem: Der Vektor x(1) := xh (ω1 ) im ersten Teil (1) (1) (1) gebiet werde als xω , x∂ω , xγ geschrieben, wobei die Blockzerlegung x(1) ω = xh (ω1 )|I(ω1 ) ,

(1)

x∂ω = xh (ω1 )|I(∂ω)∩I(∂ω1 ) ,

x(1) γ = xh (ω1 )|I(γ(ω)) (1)

(1)

verwendet wird. Bei vorgegebenen Randdaten (x∂ω , xγ ) lautet das (1) Gleichungssystem f¨ ur die inneren Knoten xω wie folgt: (1)

(1),ω,∂ω A(1),ω,ω x(1) x∂ω − A(1),ω,γ x(1) ω = rh (ω1 ) − A γ   (1),ω,ω mit A := (Ah (ω1 ))ij , i,j∈I(ω1 )   , A(1),ω,∂ω := (Ah (ω1 ))ij i∈I(ω1 ), j∈I(∂ω)∩I(∂ω1 )   . A(1),ω,γ := (Ah (ω1 ))ij

(12.11a)

i∈I(ω1 ),j∈Iσ

2) Analoges Vorgehen im zweiten Teilgebiet ω2 liefert (2)

(2),ω,∂ω A(2),ω,ω x(2) x∂ω − A(2),ω,γ x(2) ω = rh (ω2 ) − A γ

(12.11b)

mit entsprechenden Definitionen der Blockmatrizen. ur 3) Gleichung f¨ ur xγ : Die Komponenten des Vektors x(1) := xh (ω1 ) sind f¨ ur Indizes j ∈ I(ω2 ). Indizes j ∈ I(ω1 ) definiert, jene von x(2) := xh (ω2 ) f¨ ur Die Definitionsbereiche u ¨berlappen sich in Is := I(ω1 ) ∩ I(ω2 ). F¨ (1) (1) (2) (2) j ∈ Is ∩ I(∂ω) = Is \I(γ(ω)) gilt xj = x∂ω,j = (rh (∂ω))j = x∂ω,j = xj (vgl. 1a). F¨ ur j ∈ I(γ(ω)) wird die entsprechende Identit¨at gefordert, die ¨ die Ubereinstimmung der Randwerte am inneren Rand beschreibt: (2) I(γ(ω)) . x(1) γ := xγ := xγ ∈ R

(12.11c)

Unter dieser Bedingung definieren x(1) und x(2) eindeutig den Gesamtvektor xh (ω) ∈ RI(ω) mittels & (1) xj f¨ ur j ∈ I(ω1 ), (12.11d) xh,j (ω) := (2) ur j ∈ I(ω2 ), xj f¨ (1)

(2)

da f¨ ur j ∈ I(ω1 ) ∩ I(ω2 ) nun xj = xj gilt. Umgekehrt definiert jedes xh (ω) ∈ RI(ω) Vektoren x(i) := xh (ω)|I(ωi ) (i = 1, 2), die der Konsistenzbedingung (12.11c) gen¨ ugen.

302

12 Inversion mit partieller Auswertung (1) Beliebige xγ ∈ RI(γ(ω)) bestimmen u und x(2) . Diese ¨ber (12.11a,b) x definieren gem¨ aß (12.11d) xh (ω) und damit uh := j∈I(ω) xh,j (ω) φj . Zur Bestimmung von xγ werden die Gleichungen

aω (uh , φj ) = f (φj )

f¨ ur alle j ∈ I(γ(ω))

(12.11e)

verwendet. Die linke Seite kann in aω (uh , φj ) = aω1 (uh , φj ) + aω2 (uh , φj )

(12.11f)

umgeschrieben werden (da j ∈ I(γ(ω)) Index eines Knotens auf dem inneren Rand ist, trifft die Situation aus Abbildung 12.3 zu). Definitionsgem¨aß ist aω1 (uh , φj ) = (Ψω1 (rh (ω1 )))j , f¨ ur j ∈ I(γ(ω)). aω2 (uh , φj ) = (Ψω2 (rh (ω2 )))j Die rechte Seite von (12.11e) hat den Wert f (φj ) = (rh (ω))j . Die Beschr¨ ankung des Wertebereiches RI(∂ω1 ) von Ψω1 (rh (ω1 )) auf RI(γ(ω)) ergibt Ψω1 (rh (ω1 ))|I(γ(ω)) . Die Daten rh(ω1 ) ∈ RI(ω1 ) lassen sich blockzerlegen in rh (ω1 )|I(ω1 )\I(γ(ω)) , xγ , da die internen Randwerte rh (ω1 )|I(γ(ω)) = xγ fixiert wurden. Die lineare Abbildung Ψω1 (rh (ω1 ))|I(γ(ω)) ist daher von der Form Ψω1 (rh (ω1 ))|I(γ(ω)) = Ψ1γ xγ + Ψ1ω rh (ω1 )|I(ω1 )\I(γ(ω))

(12.11g)

mit geeigneten Matrizen Ψ1γ und Ψ1ω . Der Vektor rh (ω1 )|I(ω1 )\I(γ(ω)) enth¨ alt sowohl Randdaten rh (∂ω1 )|I(∂ω1 )\I(γ(ω)) als auch die Daten rh (ω1 )|I(ω1 ) = rh (ω1 ). asst sich analog zerlegen in Ψω2 (rh (ω2 ))|I(γ(ω)) l¨ Ψω2 (rh (ω2 ))|I(γ(ω)) = Ψ2γ xγ + Ψ2ω rh (ω2 )|I(ω2 )\I(γ(ω)) .

(12.11h)

Die Gleichungen (12.11e,f) zusammen mit f (φj ) = (rh (ω))j ergeben Ψω1 (rh (ω1 ))|I(γ(ω)) + Ψω2 (rh (ω2 ))|I(γ(ω)) = rh (ω)|I(γ(ω)) . Damit f¨ uhren (12.11g,h) auf (Ψ1γ + Ψ2γ ) xγ = rh (ω)|I(γ(ω)) − Ψ1ω rh (ω1 )|I(ω1 )\I(γ(ω)) − Ψ2ω rh (ω2 )|I(ω2 )\I(γ(ω)) . Invertierung liefert die Darstellung der Spurwerte auf I(γ(ω)):   rh (ω)|I(γ(ω)) − Ψ1ω rh (ω1 )|I(ω1 )\I(γ(ω)) −1 xγ = (Ψ1γ + Ψ2γ ) −Ψ2ω rh (ω2 )|I(ω2 )\I(γ(ω)) =: Φω (rh (ω)).

(12.11i)

12.3 Details

303

Anmerkung 12.3.3. Die Matrixdarstellung von Φω ist im Wesentlichen durch die Matrixbl¨ ocke (Ψ1γ + Ψ2γ )

−1

∈ RI(γ(ω))×I(γ(ω)) ,

−1

Ψ1ω ∈ RI(ω1 )\I(γ(ω))×I(γ(ω)) ,

−1

Ψ2ω ∈ RI(ω2 )\I(γ(ω))×I(γ(ω))

− (Ψ1γ + Ψ2γ ) − (Ψ1γ + Ψ2γ )

gegeben. Man beachte aber, dass sich die Indexmengen I(ω1 )\I(γ(ω)) und I(ω2 )\I(γ(ω)) u ¨berlappen (die gemeinsamen Indizes entsprechen der Kennzeichnung s in (12.6)). Daher addieren sich die Blockbeitr¨age im gemeinsamen Indexbereich (I(ω1 ) ∩ I(ω2 )) \I(γ(ω)) × I(γ(ω)). Lemma 12.3.4. Die rechte Seite in (12.11i) definiert die gesuchte Spurabbildung Φω : rh (ω) → xγ . Hierzu beachte man, dass alle ben¨otigten Daten rh (ω)|I(γ(ω)) , rh (ω1 )|I(ω1 )\I(γ(ω)) und rh (ω2 )|I(ω2 )\I(γ(ω)) in rh (ω) enthalten sind. Beweis. Sei xγ durch (12.11i) definiert. In Schritt 3)wurden x(1) und x(2) ¨ mittels (12.11a,b) bestimmt. Uber (12.11d) ist uh := j∈I(ω) xh,j (ω) φj definiert. Die Gleichungen (12.11a,b) sind ¨ aquivalent zu aω (uh , φj ) = f (φj ) f¨ ur ur j ∈ I(ω1 ) und j ∈ I(ω2 ). Die Definition von xγ sichert aω (uh , φj ) = f (φj ) f¨ ˙ ˙ = I(ω), erf¨ ullt uh die Finite-Elementj ∈ I(γ(ω)). Da I(ω1 )∪I(ω 2 )∪I(γ(ω)) Gleichung aω (uh , vh ) = fω (vh ) (vh ∈ Vh ) in ω. Die Randwerte von uh sind durch die Knotenwerte rh (∂ω) gegeben. Da xγ die Knotenwerte von uh |γ(ω) sind, ist die Behauptung bewiesen. 12.3.8 Konstruktion von Ψω aus Ψω1 und Ψω2 Sei ω ∈ GΩ ein Gebiet mit den S¨ ohnen (Teilgebieten) ω1 und ω2 . Wir definieren die Abbildungen Tω1 und Tω2 mittels Tω1 : rh (ω) → rh (ω1 ), Tω2 : rh (ω) → rh (ω2 ) rh (ω1 )|I(ω1 )\I(γ(ω)) := rh (ω)|I(ω1 )\I(γ(ω)) , rh (ω2 )|I(ω2 )\I(γ(ω)) := rh (ω)|I(ω2 )\I(γ(ω)) ,

mit

rh (ω1 )|I(γ(ω)) := rh (ω2 )|I(γ(ω)) := Φω (rh (ω)). Lemma 12.3.5. Seien ω1 und ω2 die S¨ohne von ω im Gebietszerlegungsbaum GΩ . Dann ergibt sich Ψω aus Ψω1 und Ψω2 mittels (Ψω (rh (ω))) j = ⎧ ⎨ (Ψω1 (Tω1 (rh (ω))))j (Ψω2 (Tω2 (rh (ω))))j ⎩ (Ψω1 (Tω1 (rh (ω))))j + (Ψω2 (Tω2 (rh (ω))))j

(12.12) f¨ ur j ∈ I(∂ω)\I(ω2 ), f¨ ur j ∈ I(∂ω)\I(ω1 ), f¨ ur j ∈ I(ω1 ) ∩ I(ω2 ).

Den drei F¨ allen in (12.12) entsprechen die folgenden Knotenbezeichnungen aus (12.6): i) I(∂ω)\I(ω2 ) hat die Kennzeichnungen a, 1; ii) I(∂ω)\I(ω1 ): b, 2; iii) I(ω1 ) ∩ I(ω2 ): γ, s.

304

12 Inversion mit partieller Auswertung

Beweis. a) Nach Definition (12.9) sind Ψω und Ψωi als aω (uh , φj ) bzw. aωi (uh , φj ) (i = 1, 2) definiert, wobei uh in beiden F¨allen u ¨bereinstimmt und die Finite-Element-L¨ osung zu den Daten aus rh (ω) ist. Es gilt der Zusammenhang aω (uh , φj ) = aω1 (uh , φj ) + aω2 (uh , φj ). F¨ ur Randknotenindizes j ∈ I(ω1 ) ∩ I(ω2 ) entspricht diese Identit¨at dem dritten Fall in (12.12). ager von φj in ω1 liegt, sodass b) F¨ ur j ∈ I(∂ω)\I(ω2 ) liegt der Tr¨ aω2 (uh , φj ) = 0 und der erste Fall in (12.12) folgt. Analog folgt der zweite Fall f¨ ur j ∈ I(∂ω)\I(ω1 ).

12.4 Basisalgorithmus In der Definitionsphase werden die Abbildungen Φω f¨ ur alle Gebiete ω ∈ GΩ \L(GΩ ) des Gebietszerlegungsbaums konstruiert, die nicht Bl¨atter ur ω ∈ GΩ \{Ω} werden nur zwischenzeitlich sind. Die Abbildungen Ψω f¨ bestimmt. Danach kann die Auswertungsphase f¨ ur Daten rh (Ω) ein- oder mehrmals ausgef¨ uhrt werden. 12.4.1 Definitionsphase Der Algorithmus verl¨ auft induktiv von den Bl¨attern von GΩ bis zur Wurzel. • Der Start besteht in der Bestimmung von Ψω

f¨ ur alle ω ∈ L(GΩ ).

Da L(GΩ ) = T (Ω) vorausgesetzt wurde, trifft Anmerkung 12.3.2 zu: Ψω ist einfach bestimmbar. Bei finiten Elementen ohne innere Knoten atsmatrix, da alle Argumentdaten (Standardfall) ist Ψω = I die Identit¨ rh (ω) Randdaten sind. • Induktion (von den Sohngebieten ω1 , ω2 zum Vater ω): Ψω1 und Ψω2 seien als bekannt angenommen. Gem¨ aß §12.3.7 wird Φω konstruiert. Unter Veraß §12.3.8 Ψω berechnet werden. Nach wendung von Φω kann dann gem¨ der Bestimmung von Ψω werden Ψω1 und Ψω2 nicht mehr gebraucht. In einer konkreten Implementierung kann somit der Speicherplatz wieder freigegeben werden. F¨ ur die algorithmische Durchf¨ uhrung ist es vorteilhaft, den Baum GΩ in () seine Stufen GΩ , 0 ≤  ≤ depth(GΩ ), zu zerlegen (vgl. Definition A.2.3):

12.4 Basisalgorithmus

305

for  := depth(GΩ ) − 1 downto 0 do (+1) begin for all ω∈GΩ ∩L(GΩ ) do berechne Ψω explizit; {vgl. Anm. 12.3.2} () for all ω ∈ GΩ \L(GΩ ) do begin {ω1 , ω2 } := SGΩ (ω); {SGΩ ist die Sohnabbildung; vgl. §A.2} bestimme die Matrix zu Φω gem¨ aß Anmerkung 12.3.3; if  > 0 then bestimme die Matrix zu Ψω gem¨aß Lemma 12.3.5; l¨ osche die Matrizen zu Ψω1 und Ψω2 (Speicherplatzfreigabe) end end; (12.13) ur ω ∈ GΩ \L(GΩ ) bestimmt, Nach Durchf¨ uhrung der Schleife sind alle Φω f¨ aber keine Ψω mehr gespeichert. Anmerkung 12.4.1. Da alle Matrixoperationen in der exakten Arithmetik beschrieben sind, ist das Verfahren (12.13) zwar wohldefiniert, aber rechenkostenintensiv. Die inversen Matrizen in (12.10) und (12.11i) f¨ uhren zu voll besetzten Darstellungsmatrizen f¨ ur Φω und Ψω . 12.4.2 Auswertungsphase Geht man vom Randwertproblem (12.1a,b) aus, sind zun¨achst aus fΩ und gΓ die Werte von rh (Ω) = (rh (Ω), rh (∂Ω)) zu bestimmen. F¨ ur den ersten Blockteil gilt (rh (Ω))j = Ω fΩ φj dx (j ∈ I(Ω)). Zur Berechnung von rh (∂Ω) ist die uhren L2 (∂Ω)-orthogonale Projektion von gΓ auf den Ansatzraum durchzuf¨ (zweite Zeile in (12.3)). Mit rh (Ω) ist die rechte Seite des Gleichungssystems Ah (Ω)xh (Ω) = rh (Ω) bestimmt. Die bisherige Formulierung geht von Eingabedaten rh (ω) aus und bestimmt daraus die Ausgabedaten xh (ω). Wegen der Identit¨at rh (ω)|I(∂ω) = aher, nur rh (ω) (ohne rh (∂ω)) zu verwenden und den xh (ω)|I(∂ω) liegt es n¨ Vektor xh (ω) als Ein- und Ausgabevektor zu verwenden, der die n¨otigen Randdaten schon auf ∂ω enth¨ alt. In der folgenden Prozedur k¨ onnen die beiden letzten Argumente r, x als Vektoren r = rh (Ω) ∈ RI(Ω) bzw. x = xh (Ω) ∈ RI(Ω) im Gesamtgebiet Ω aufgefasst werden, wobei allerdings nur die Bereiche rh (ω) = r|I(ω) und xh (ω) = x|I(ω) verwendet werden. r|I(ω) ist lediglich Eingabe. Im Falle von x ahrend ist x|I(∂ω) die Randwert-Eingabe, w¨  x|I(γ(ω)) dieAusgabe ist. Der Aufruf Φω (rh (ω), rh (∂ω)) wird damit zu Φω r|I(ω) , x|I(∂ω) . Das erste Argument ω der Prozedur Spur muss aus GΩ \L(GΩ ) stammen. I(Ω) procedure Spur , x ∈ RI(Ω) } (12.14)  (ω, r, x); {ω ∈ GΩ \L(GΩ ), r ∈ R x|I(γ(ω)) := Φω r|I(ω) , x|I(∂ω) ;

Um die L¨ osung xh (ω) in ω vollst¨ andig zu erhalten, ist Spur rekursiv aufzurufen:

306

12 Inversion mit partieller Auswertung

procedure vollst¨ andigeAuswertung(ω, r, x); {Eingabe: Randwerte auf x|I(∂ω) und rechte Seite auf r|I(ω) } begin Spur (ω, r, x); {r|I(γ(ω)) := x|I(γ(ω)) ;} for ω  ∈ SGΩ (ω) do vollst¨ andigeAuswertung(ω  , r, x); end;

(12.15)

Die Rekursion in (12.15) bricht ab, wenn ω ∈ GΩ ein Blatt und damit die Sohnmenge SGΩ (ω) leer ist. Damit die Auswertung wirklich vollst¨andig ist, muss die oben gemachte Annahme L(GΩ ) = T (Ω) gelten. In diesem Fall sind alle Dreiecksknoten8 in ω bestimmt. Die eingeklammerte Anweisung ur, dass r|I(∂ω ) f¨ ur ω  ∈ SGΩ (ω) die Randdaten r|I(γ(ω)) := x|I(γ(ω)) sorgt daf¨ tr¨ agt. Da diese aber mittels x|I(γ(ω)) u ¨bergeben werden, ist die Anweisung entbehrlich. Der Aufruf vollst¨andigeAuswertung(Ω, rh (Ω), xh (Ω)) liefert die L¨osung xh (Ω) des diskreten Randwertproblems in Ω. 12.4.3 Homogene Differentialgleichung Die lineare Abbildung Φω wird in (12.7) mit zwei Argumenten geschrieben: I(γ(ω))×I(ω) und Φω (rh (ω), xh (∂ω)). Damit gibt es zwei Matrizen Φω ω ∈ R ∂ω I(γ(ω))×I(∂ω) mit Φω ∈ R ∂ω Φω (rh (ω), xh (∂ω)) = Φω ω rh (ω) + Φω xh (∂ω),

die in Algorithmus (12.13) bestimmt werden m¨ ussen. Da im Allgemeinen ein wesentlich gr¨ o ßeres Format als Φ∂ω #I(ω) ( #I(∂ω), hat Φω ω ω . Ein nicht uninteressanter Spezialfall einer Randwertaufgabe ist die homogene Differentialgleichung LuΩ = 0 in Ω. Mit fΩ = 0 ist dann uhrt. In auch rh (Ω) = 0, was zu rh (ω) = 0 in allen Teilgebieten f¨ entfallen. Auch bei diesem Fall kann offenbar die Berechnung von Φω ω der Berechnung von Ψω sind entsprechende Vereinfachungen m¨oglich: Ψω : RI(ω) = RI(ω) × RI(∂ω) → RI(∂ω) kann auf Ψω : RI(∂ω) → RI(∂ω) reduziert werden.

12.5 Verwendung hierarchischer Matrizen Wie in Anmerkung 12.4.1 notiert, sind die Abbildungen Ψω und Φω voll besetzt. Das beschriebene Verfahren ist daher abgesehen von kleinen 8

Dies gilt nur f¨ ur Finite-Element-Knoten, die auf dem Elementrand liegen. Sollten Ans¨ atze mit inneren Knoten (sogenannte Blasenfunktionen) verwendet werden, so sind in den Elementen noch kleine Gleichungssysteme bez¨ uglich der inneren Freiheitsgrade zu l¨ osen. Da diese Gleichungssysteme aber schon vorweg aufgel¨ ost werden k¨ onnen, darf man ohne Beschr¨ ankung der Allgemeinheit davon ausgehen, dass nur Knoten auf den Elementr¨ andern vorliegen.

12.5 Verwendung hierarchischer Matrizen

307

Dimensionen nicht praktikabel. Jedoch k¨ onnen Ψω und Φω als hierarchische Matrizen behandelt und alle Berechnungsschritte mit Hilfe der H-Matrixarithmetik durchgef¨ uhrt werden. Obwohl die Definition von Ψω und Φω den u ¨blichen Konstruktionen folgt, ist auf Besonderheiten hinzuweisen. Sowohl Ψω als auch Φω zerfallen in I(ω)×I(∂ω) I(γ(ω))×I(∂ω) und Ψω∂ω , Φ∂ω . Ψωω , Φω ω ∈R ω ∈R • Matrizen aus RI(ω)×I(∂ω) haben rechteckiges Format. Knoten aus dem Inneren von ω haben einen festen Abstand zum Rand ∂ω. Daher werden Bl¨ ocke aus dem Inneren von ω gem¨ aß der u ¨blichen Zul¨assigkeitsbedingung nur bis zu einem Durchmesser verfeinert, der dem Abstand zum Rand entspricht. Die Verfeinerung, die man von der Diagonale u ¨blicher quadratischer Matrizen gewohnt ist, betrifft nur Bl¨ocke mit Knotenpunkten aus ∂ω. otigen eine relativ schwache Blockzer• Matrizen aus RI(γ(ω))×I(∂ω) ben¨ legung. Der Grund ist, dass die R¨ ander γ(ω) und ∂ω wenig Ber¨ uhrungspunkte haben. – d = 2 : Im zweidimensionalen Fall (Ω ⊂ R2 ) sind γ(ω) und ∂ω zwei eindimensionale Kurven, die sich in nur zwei Punkten ber¨ uhren. Dies entspricht der Situation, die in §9.3 behandelt wurde (“schwache Zul¨ assigkeitsbedingung”). Man kann auf die Blockzerlegung ganz verzichten und globale Niedrigrang-Approximationen f¨ ur Ψω∂ω und Φ∂ω ω verwenden. – d ≥ 3 : γ(ω) und ∂ω sind nun Mannigfaltigkeiten der Dimension d − 1 und schneiden sich in einer Untermannigfaltigkeit der Dimension d − 2. Blockverfeinerungen treten nur in der N¨ahe der letztgenannten Untermannigfaltigkeit auf. Anmerkung 12.5.1. Der Speicheraufwand f¨ ur Ψω und Φω kann mit O(k#ω log(#ω)) angesetzt werden (k: Schranke f¨ ur den Rang; #ω: Zahl der Knotenpunkte in ω). Somit ist der Gesamtspeicheraufwand proportional zu   #ω log(#ω) ≤ k log(#Ω) #ω ≤ k#ΩLGΩ log(#Ω), k ω∈GΩ

ω∈GΩ

wobei LGΩ die maximale Stufenzahl des Gebietszerlegungsbaumes ist:  () GΩ = 0≤≤LG GΩ . Ω

Der (m¨ oglicherweise große) Faktor #Ω ergibt sich f¨ ur die Teilmatrizen () ω ω I(ω)×I(∂ω) Ψω , Φω : R (summiert u ¨ber alle ω ∈ GΩ ). Die Matrizen Ψω∂ω , Φ∂ω ω ∈ I(γ(ω))×I(∂ω) sind wesentlich kleiner. Da die Mannigfaltigkeiten γ(ω) und ∂ω R (d−1)/d . eine Dimension weniger besitzen, erwartet man #γ(ω) ∼ #∂ω ∼ (#ω) Da aber die Vereinigung aller ∂ω f¨ ur ω ∈ GΩ das gesamte Gitter u ¨berdeckt, ist der Speicherplatz mindestens proportional zu #Ω. Bei der Wahl der Clusterb¨ aume gibt es zwei unterschiedliche Optionen.

308

12 Inversion mit partieller Auswertung

1. F¨ ur jedes ω ∈ G erstellt man f¨ ur ω und ∂ω separat Clusterb¨aume nach den Methoden aus §5.4 und erzeugt daraus die Blockclusterb¨aume f¨ ur die ∂ω ∂ω , Ψ und Φ . Matrizen Ψωω , Φω ω ω ω ur Ω konstruiert. F¨ ur alle Teil2. Der Clusterbaum T = T (Ω) wird nur f¨ mengen ω oder ∂ω von Ω konstruiert man den zugeh¨origen Clusterbaum wie in §A.4 als Teilbaum (vgl. Anmerkung A.4.5). Die erste Variante hat den Nachteil, dass die Clusterb¨aume zu ω und den zu den S¨ ohnen ω1 , ω2 ∈ S(ω) sowie die daraus abgeleiteten Blockclusterb¨aume nicht kompatibel sind. Vor den Matrixoperationen ist deshalb eine Konvertierung gem¨ aß §7.2.5 erforderlich. Bei der zweiten Variante folgt die Kompatibilit¨at aus der Konstruktion und vereinfacht die Matrixoperationen. Nachteil dieser Methode ist allerdings, dass die Cluster wesentlich kleiner ausfallen k¨ onnen als bei der ersten Variante, insbesondere kleiner als zur Erf¨ ullung der Zul¨ assigkeitsbedingung erforderlich.

12.6 Partielle Auswertung Die partielle Auswertung wird in §12.6.1 beschrieben. Als eine m¨ogliche Begr¨ undung sei wieder auf die Homogenisierung verwiesen. Es sei angenommen, dass die Differentialgleichung Koeffizienten mit kleinskaligem Verhalten besitzt. Die Bilinearform aω (uh , vh ) sei zum Beispiel  aΩ (uh , vh ) = A(x) grad uh , grad vh  dx (12.16) Ω

(A(x) ∈ Rd×d , ·, · Rd -Skalarprodukt, d: Raumdimension, d.h. Ω ⊂ Rd ), wobei die matrixwertige Funktion A(x) hochoszillierend, springend oder in anderer Weise nicht-glatt ist. Eine weitere M¨ oglichkeit ist, dass (unabh¨angig von Verhalten von A(x)) das Gebiet Ω kompliziert ist, z.B. viele L¨ocher verschiedener Gr¨ oßenordnungen besitzt. Um derartige Probleme mit FiniteElement-Verfahren vern¨ unftig zu diskretisieren, muss man eine feine Gitteraufl¨ osung verwenden. Im Falle hochoszillierender Koeffizienten sollte die Schrittweite so klein sein, dass die Variation in einem Element hinreichend klein wird, im Falle einer komplizierten Geometrie ben¨otigt man eine feine Triangulation, um die R¨ ander des Gebietes beispielsweise mit isoparametrischen9 Elementen zu approximieren. Auch wenn die Diskretisierung eine feine Gitteraufl¨osung erfordert, ist man nicht notwendigerweise daran interessiert, die Finite-Element-L¨osung osen. Oszillationen oder Spr¨ unge der Koeffizienten uh ebenso fein aufzul¨ werden Oszillationen oder Knicke in der L¨osung uh produzieren, aber h¨ aufig interessiert nur der gemittelte Verlauf und nicht die Details. Im Falle von periodisch oszillierenden Koeffizienten A(x/ε) der Frequenz 1/ε 9

Zu isoparametrischen finiten Elementen vgl. [67, §8.5.3].

12.6 Partielle Auswertung

309

kennt man sogenannte Homogenisierungsverfahren, die zu einer “homogenisierter” Bilinearform f¨ uhren. Da ihre Koeffizienten glatter sind, kann das homogenisierte Problem mit einer wesentlich gr¨oberen Schrittweite als das Ursprungsproblem gel¨ ost werden. Zur Berechnung der homogenisierten Koeffizienten ist das Originalproblem allerdings in einer Periodizit¨atszelle zu l¨ osen. Da im Allgemeinen nur eine numerische L¨osung m¨oglich ist, muss man auch hier annehmen, dass das periodische Problem mit einer hinreichend kleinen Schrittweite h  1/ε vern¨ unftig diskretisierbar ist. 12.6.1 Basisverfahren Das Standard-Homogenisierungsverfahren ist in unregelm¨ aßigeren Situationen nicht mehr anwendbar. Stattdessen soll die partielle Auswertung der Inversen ausgenutzt werden. Zu diesem Zweck wird der Baum der Gebietszerlegungen GΩ in einen groben Anteil und einen feinen Anteil Gfein Ggrob Ω geteilt: Ω ∪˙ Gfein GΩ = Ggrob Ω , Ω

Abb. 12.4. Knotenpunkte nach partieller Auswertung

= ∅ ein Unterbaum von GΩ mit gleicher wobei Ggrob Ω grob Wurzel Ω ist, w¨ ahrend Gfein den Rest darstellt. Ω = GΩ \GΩ F¨ ur eine gegebene Schrittweite H ∈ (0, diam(Ω)] lautet ein m¨ogliches Kriterium zur Bestimmung des groben Anteiles = Ggrob Ggrob Ω Ω,H := {ω ∈ GΩ : diam(ω) ≥ H} .

(12.17)

Das Basisverfahren besteht wieder aus zwei Teilen: 1. Definitionsphase wie in §12.4.1: Anwendung von (12.13). 2. Die Auswertungsphase beschr¨ ankt sich auf Ggrob Ω . Die Prozedur aus (12.15) erh¨ alt einen weiteren Parameter G (Unterbaum von GΩ mit gleicher Wurzel10 ). Der erste Parameter ω muss zu G\L(G) geh¨oren: procedure partielleAuswertung(ω, G, r, x); {Eingabe: Randwerte auf x|I(∂ω) und rechte Seite auf r|I(ω) } begin Spur (ω, r, x); {r|I(γ(ω)) := x|I(γ(ω)) ;} for ω  ∈ SG (ω) do partielleAuswertung(ω  , r, x) end;

(12.18)

Da hier die Sohnmenge SG (ω) zu G auftritt, bricht die Rekursion an den Bl¨ attern von G ab. 10

Das Resultat von vollst¨ andigeAuswertung(ω, r, x) ist ¨ aquivalent zum Aufruf partielleAuswertung(ω, GΩ , r, x) .

310

12 Inversion mit partieller Auswertung

Der Aufwand im ersten Schritt ist noch der gleiche, aber da die Auswertungsphase mehrmals mit verschiedenen Argumenten r, x aufgerufen werden kann, ist es hilfreich, dass der Aufwand der Auswertungsphase reduziert ist. Wichtig ist auch die Reduktion des Speicherbedarfs, wie in der folgenden Anmerkung beschrieben. Anmerkung 12.6.1. a) F¨ ur die partielle Auswertung im Teilbaum G sind nur die zugeh¨ origen Abbildungen Φω

f¨ ur ω ∈ G\L(G)

abzuspeichern. b) Trotz dieser reduzierten Daten erh¨ alt man in allen Knotenpunkten in  ∂ω ∂G := ω∈G

unver¨ anderte Resultate. c) Verwendet man die Definition (12.17) f¨ ur G = Ggrob Ω,H , so beschreibt 11 ein Gitter der Schrittweite ≤ H. Abbildung 12.4 zeigt die m¨ogliche ∂Ggrob Ω,H Konstellation der Knotenpunkte: auf den R¨ andern haben sie den Feingitterabstand, w¨ ahrend die Teilgebiete von der Gr¨ oße H sind. 12.6.2 Realisierung mit hierarchischen Matrizen Die Aussage a) der vorhergehenden Anmerkung kann mit der Anmerkung 12.5.1 kombiniert werden. Der Speicherbedarf ist proportional zu k#Ω log(#Ω)LG , wobei LG die Stufenzahl im Teilbaum G ist. Unter den Annahmen diam(Ω) = O(1) und einer volumenhalbierenden Gebietszerlegrob,() das (d-dimensionale) Volumen gungsstrategie haben Teilgebiete ω ∈ GΩ,H − O(2 ). Dem Durchmesser H entspricht das Volumen H d , das auf der Stufe ur diesen Modellfall ergibt sich somit LG = O(d log(1/H)) erreicht wird. F¨ der Speicherbedarf O(dk log(1/H)#Ω log(#Ω)). ∈ RI(γ(ω))×I(∂ω) Der Speicherbedarf der “kleineren” Matrizen Ψω∂ω , Φ∂ω ω (ω ∈ GΩ ), der im Falle homogener Randwerte als einziger entsteht (vgl. §12.4.3), summiert sich nun zu O(dkH −1 h1−d log(1/h)).

11

F¨ ur alle x ∈ Ω enth¨ alt der abgeschlossene Kreis um x mit Radius H/2 mindestens einen Punkt aus ∂Ggrob Ω,H .

12.6 Partielle Auswertung

311

12.6.3 Vergr¨ oberung des Ansatzraumes f¨ ur die rechte Seite Die feine Schrittweite h ist durch das kleinskalige Verhalten von A(x) in (12.16) bzw. durch die komplizierte Geometrie begr¨ undet. Im Allgemeinen ist die rechte Seite f jedoch mit gr¨ oberer Schrittweite H ( h approximierbar. Wir haben daher im Folgenden zwischen den Gittern ωh und ωH −d zu unterscheiden, wobei #ωh /#ωH ∼ (H/h) angenommen wird. Der I(ωH )×I(∂ωh ) ist bis auf logarithmische Speicherbedarf einer Matrix Ψωω , Φω ω :R Faktoren proportional zu #∂ωh + #ωH . Summation u ¨ber alle ω ∈ G ergibt  −1 1−d h + H −d ∼ H −1 h1−d . Insgesamt ergibt ω∈G() (#∂ωh + #ωH ) ∼ H sich O(k log(1/H)H −1 h1−d ). I(γ(ω))×I(∂ω) und ihr Speicherbedarf ¨andern sich Die Matrizen Ψω∂ω , Φ∂ω ω ∈ R nicht, da f¨ ur die Randwerte ω = ωh gilt.

12.6.4 Berechnung von Funktionalen Die partielle Auswertung nach §12.6.1 liefert in den Finite-Element-Knoten  = ω∈Ggrob ∂ω noch die Originalwerte (bis auf die K¨ urzungsfehler von ∂Ggrob Ω Ω infolge der H-Matrixarithmetik). Sinnvoller kann es sein, Mittelwerte in der Umgebung der Knoten zu ermitteln. Diese Mittelwerte sind ein Beispiel f¨ ur ein lineares Funktional  Jα xh,α . (12.19) J(uh ) = α∈IJ

xh,α sind die Koeffizienten von uh , vgl. (12.4). Mit IJ ⊂ I(Ω) ist die Tr¨agerur α ∈ IJ . menge von J bezeichnet, d.h.Jα = 0 f¨ grob Indem man die Summe α∈IJ auf die Teilmengen I(ω) zu ω ∈ GΩ beschr¨ ankt, erh¨ alt man Funktionale Jω (uh ). Damit die Additivit¨at  Jω (uh ) (12.20) Jω (uh ) = ω  ∈S

grob (ω) Ω

G

¨ u ¨ber die Sohn-Teilgebiete gilt, muss bei ihrer Definition auf die Uberlappung der Randknoten acht gegeben werden. Eine m¨ ogliche rekursive Definition ihrer ur die Wurzel Ω ∈ Ggrob ur ω ∈ Ggrob sei Koeffizienten ist: Jα,Ω := Jα f¨ Ω . F¨ Ω uhrt die Festlegung {ω1 , ω2 } = SGgrob (ω) die Sohnmenge. Dann f¨ Ω

Jα,ω1

  6 6 J f¨ J f¨ ur α ∈ I(ω1 ) ur α ∈ I(ω2 )\I(ω1 ) := α,ω , Jα,ω2 := α,ω 0 sonst 0 sonst

auf die Eigenschaft (12.20). Im n¨ achsten Schritt ist Jω als Funktion von rh (ω) darzustellen: Jω (rh (ω)) := Jω (uh (rh (ω))) .

312

12 Inversion mit partieller Auswertung

Konkret sind die zugeh¨ origen Matrizen Jωω und Jω∂ω aus Jω (rh (ω)) = Jωω rh (ω) + Jω∂ω rh (∂ω) zu bestimmen. Dies geschieht w¨ ahrend der Definitionsphase aus §12.4.1 in der asst Rekursion (12.13) von den Bl¨ attern zu der Wurzel. F¨ ur ω ∈ L(Ggrob Ω ) l¨ orige L¨ osung xh (ω) und damit Jω direkt ermitteln. sich aus rh (ω) die zugeh¨ grob Sei nun {ω1 , ω2 } = SGgrob (ω) die Sohnmenge von ω ∈ Ggrob Ω \L(GΩ ), und Ω Jω1 und Jω2 seien bekannt. Das Argument rh (ωi ) von Jωi (i = 1, 2) kann in (rh (ωi ), rh (∂ωi \γ(ω)), rh (γ(ω))) aufgespaltet werden: Jωi (rh (ωi )) = Jωi (rh (ωi ), rh (∂ωi \γ(ω)), rh (γ(ω))) . Die Daten rh (γ(ω)) sind die Randwerte xh |γ(ω) , die sich aus rh (ω) mittels Φω ergeben. Zusammen mit der Additivit¨ at (12.20) erh¨alt man  Jω (rh (ω)) = Jωi (rh (ωi ), rh (∂ωi \γ(ω)), Φω (rh (ω))) i=1,2

als Bestimmungsgleichung f¨ ur die Matrizen Jωω und Jω∂ω . Anmerkung 12.6.2. a) In der praktischen Realisierung werden Jωω und Jω∂ω als hierarchische Matrizen dargestellt. onnen die Daten zu Jωi f¨ ur ωi ∈ SGΩ (ω) b) Sobald Jω berechnet ist, k¨ gel¨ oscht werden. ager von J enth¨alt, d.h. IJ ⊂ I(ω), kann die c) Sobald ω ∈ GΩ den Tr¨ Rekursion abgebrochen werden12 . Nach der Bestimmung von xh (∂ω) sind die Daten rh (ω) = (rh (ω), rh (∂ω)) wegen rh (∂ω) = xh (∂ω) bekannt und k¨onnen bei der Auswertung von Jω (rh (ω)) verwendet werden.

12

Bei einer Fortsetzung zu gr¨ oßeren Teilgebieten bzw. zu Ω k¨ onnte der Speicheraufwand steigen.

13 Matrixfunktionen

Unter den Matrixfunktionen ist die Matrix-Exponentialfunktion eM das prominenteste Beispiel. Sie tritt als L¨ osung u(t) = etM u0 des gew¨ohnlichen  Differentialgleichungssystems u (t) = M u(t) mit Anfangswert u(0) = u0 auf. Sie wird ein wichtiger Baustein in §15 sein. Die Matrixfunktionen werden in §13.1 definiert. F¨ ur ihre Konstruktion stehen verschiedene Methoden zur Verf¨ ugung, die in §13.2 erl¨ autert werden. Da die Resultate der Matrixfunktionen im Allgemeinen vollbesetzte Matrizen sind, ist es essentiell, dass der (exakte) Matrixfunktionswert als H-Matrix behandelt werden kann. Dies ist Gegenstand von §13.3. In diesem Kapitel werden wir die komplexen Zahlen als zugrundeliegenden K¨ orper verwenden, da auch im Falle reeller Matrizen komplexe Eigenwerte und komplexe Pfadintegrale auftreten k¨ onnen. Es sei angemerkt, dass sich die meisten der folgenden Aussagen auch auf allgemeine Operatoren u ¨bertragen lassen. Eine sehr empfehlenswerte Einf¨ uhrung in die Theorie und praktische Handhabung der Matrixfunktionen findet man bei Higham [93].

13.1 Definitionen ¨ Unter Matrixfunktionen1 versteht man im Allgemeinen die Ubertragung reeller oder komplexer (skalarer) Funktionen auf solche mit Matrizen als ¨ Argument und Bild. Hier lassen sich mehrere M¨oglichkeiten der Ubertragung unterscheiden, die in den n¨ achsten drei Abschnitten diskutiert werden. Zuvor seien noch zwei Begriffe eingef¨ uhrt. Definition 13.1.1 (Spektrum, Spektralradius). F¨ ur eine quadratische Matrix M ∈ CI×I bezeichnet σ(M ) := {λ ∈ C : λ Eigenwert von M } 1

(13.1a)

Dies ist ein speziellerer Begriff als der einer matrixwertigen Funktion.

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 13, c Springer-Verlag Berlin Heidelberg 2009 

314

13 Matrixfunktionen

das Spektrum von M. Ihr Spektralradius ist ρ(M ) := max {|λ| : λ ∈ σ(M )} .

(13.1b)

13.1.1 Funktionserweiterung mittels Diagonalmatrizen In der Funktionsbeschreibung f :D→B

(D ⊂ C Definitionsbereich, B ⊂ C Bildbereich)

(13.2)

d¨ urfen D und B auf Teilmengen von R beschr¨ankt sein. Sei Δ eine Diagonalmatrix diag{λi : i ∈ I} mit der Eigenschaft λi ∈ D (da λi zugleich die Eigenwerte von Δ sind, schreibt sich diese Bedingung als σ(Δ) ⊂ D). Dann ist die Verallgemeinerung der Funktion x → f (x) zur Abbildung F : Δ = diag{λi : i ∈ I} ∈ CI×I → diag{f (λi ) : i ∈ I} ∈ CI×I

(13.3a)

naheliegend (F bildet Diagonalmatrizen in sich ab). Traditionell schreibt man ur wieder f statt F, d.h. f (Δ) = diag{f (λi ) : i ∈ I}. Man beachte, dass hierf¨ nur ben¨ otigt wird, dass f auf den diskreten Werten λi definiert ist. Annahmen u ur diesen Zweck ¨ber Stetigkeit oder weitergehende Glattheit von f sind f¨ unn¨ otig. Sei nun M ∈ CI×I eine diagonalisierbare Matrix: M = T −1 ΔT. Dann definiert man f (M ) := T −1 f (Δ)T

(f¨ ur M = T −1 ΔT ).

(13.3b)

Obwohl die Darstellung M = T −1 ΔT nicht in jedem Falle T und Δ eindeutig festlegt, u ¨berlegt man sich, dass (13.3a,b) einen eindeutigen Wert f (M ) ∈ alt man die CI×I definiert. Damit erh¨ Anmerkung 13.1.2. F¨ ur jede diagonalisierbare Matrix M ∈ CI×I mit σ(M ) ⊂ D (D Definitionsbereich der Funktion f ) ist f (M ) mittels (13.3a,b) wohldefiniert. Es wurde schon darauf hingewiesen, dass die Funktion f nicht glatt zu sein braucht. Eine einfache, unstetige Funktion, die sp¨ater noch verwendet wird, ist Gegenstand von Beispiel 13.1.3. Die Signum-Funktion sign(·) sei f¨ ur komplexe Argumente mittels ⎧ ⎫ ur x > 0 ⎬ ⎨ +1 f¨ 0 f¨ ur x = 0 sign(z) = sign(x) = (z = x + iy ∈ C, x = *e z) ⎩ ⎭ −1 f¨ ur x < 0 definiert. Damit ist sign(M ) f¨ ur jede diagonalisierbare Matrix definiert.

13.1 Definitionen

315

¨ Ubung 13.1.4. Seien f und g auf σ(M ) und ϕ auf g(σ(M )) definiert. Ferner seien h1 := f + g, h2 := f g und h3 := ϕ ◦ g (d.h. h3 (z) = ϕ(g(z))). Man zeige, dass sich diese Kompositionen auf die Matrixaddition und -multiplikation u ¨bertragen: h1 (M ) = f (M ) + g(M ),

h2 (M ) = f (M )g(M ),

h3 (M ) = ϕ(g(M )).

Die Beschr¨ ankung auf diagonalisierbare Matrizen liegt in der Natur der  λ 1 Definition. F¨ ur ein Jordan2 -K¨ astchen J = liefert dieser Ansatz keine 0λ Interpretation. 13.1.2 Potenzreihen Die Funktion f aus (13.2) sei nun als analytisch angenommen, wobei D ⊂ C ein Gebiet ist (d.h. offen und zusammenh¨ angend). In jedem Punkt z0 ∈ D ist f in eine Potenzreihe entwickelbar: f (z) =

∞ 

ν

cν (z − z0 ) .

(13.4)

ν=0

F¨ ur eine beliebige Matrix M versuchen wir, f (M ) mittels f (M ) :=

∞ 

ν

cν (M − z0 I)

(13.5)

ν=0

zu definieren (I: Einheitsmatrix). Lemma 13.1.5. a) Die Potenzreihe (13.4) besitze den Konvergenzradius r > 0 . Dann ist (13.5) f¨ ur Matrizen mit ρ(M − z0 I) < r wohldefiniert. b) Ist M zudem diagonalisierbar, ergeben (13.4) und (13.3b) gleiche Resultate. Beweis. a) Der kritische Punkt ist der Nachweis der Konvergenz auf der rechten Seite von (13.5). ur jede submultiplikative Matrixnorm · erh¨alt ∞ F¨ ν ur jedes rˆ im offenen Intervall man die Majorante ν=0 |cν | M − z0 I . F¨ finden, sodass M − z0 I ≤ rˆ (ρ(M − z0 I), r) l¨asst sich eine Matrixnorm ∞ ν |c | r ˆ < ∞ , ist eine konvergente (vgl. [66, Lemma 2.9.7]) Da aber ν=0 ν Majorante gefunden, die die Konvergenz der Reihe (13.5) impliziert. b) f (Δ) = diag{f (λi ) : i ∈ I} ergibt sich nach Einsetzen einer Diagonalν ν ur M = T −1 ΔT, folgt matrix in (13.5). Da (M − z0 I) = T −1 (Δ − z0 I) T f¨ auch (13.3b) f¨ ur f aus (13.5). Man beachte, dass bei dieser Konstruktion f¨ ur ein geeignetes z0 das gesamte Spektrum von M − z0 I im Konvergenzkreis Kr (z0 ) = {z : |z − z0 | < r} 2

Marie Ennemond Camille Jordan, geboren am 5. Januar 1838 in La Croix-Rousse, Lyon, gestorben am 22. Januar 1922 in Paris.

316

13 Matrixfunktionen

liegen muss. Es reicht nicht, dass alle Eigenwerte λi im Analytizit¨atsgebiet von f liegen. Anders als im vorigen Abschnitt ist (13.5) auch f¨ ur ein Jordan-K¨astchen definiert. Das Resultat ist Gegenstand der   λ1 ¨ Ubung 13.1.6. a) Sei M = mit |λ − z0 | < r (r: Konvergenzradius der 0λ  f (λ) f  (λ) . Reihe (13.5)). Man zeige f (M ) = 0 f (λ) b) Unter den gleichen Voraussetzungen zeige man allgemein, dass ein ur j < i und f (M )ij = k × k-Jordan-K¨ astchen zu f (M ) mit f (M )ij = 0 f¨ uhrt. f (j−i) (λ)/(j − i)! f¨ 13.1.3 Cauchy-Integraldarstellung Wir nehmen wie vorhin an, dass f im Gebiet D ⊂ C holomorph ist. Dann gilt die Cauchy3 -Integraldarstellung G 1 f (ζ)dζ (z ∈ Ω ⊂ D, C = ∂Ω), (13.6) f (z) = 2πi C ζ − z wobei der Rand C = ∂Ω im mathematisch positiven Sinne durchlaufen wird und Ω ein beschr¨ anktes, einfach zusammenh¨ angendes Gebiet ist. Falls Ω mehrfach zusammenh¨ angend ist (wie in Abbildung 13.1), besteht C = ∂Ω aus disjunkten Kurven. Schließlich darf Ω = i Ωi eineH Vereinigung disjunkter Gebiete sein. Dann  H ander von Ωi sind. ist C = i Ci , wobei Ci die R¨ Im Folgenden ist stets vorausgesetzt, dass der Rand C in der richtigen Richtung durchlaufen wird. Abb. 13.1. Ein Kreisring

Ω

D

als Definitionsbereich D und

Anmerkung 13.1.7. Unbeschr¨ ankte H Ω in eine Integrationskurve C als H Gebiete (13.6) sind m¨ oglich, wenn sichH C =H ∂Ω als Rand von Ω. σ(M ) besteht Grenzwert der Kurvenintegrale CR = ∂ΩR mit aus vier Punkten. ΩR := {z ∈ Ω : |z| < R} ergibt. Lemma 13.1.8. Zu einer Matrix M sei Ω ⊂ D so gew¨ ahlt, dass σ(M ) ⊂ Ω. Sei C = ∂Ω. Dann ist G 1 −1 (ζI − M ) f (ζ)dζ (13.7) f (M ) := 2πi C 3

Augustin Louis Cauchy, geboren am 21. August 1789 in Paris, gestorben am 23. Mai 1857 in Sceaux (bei Paris).

13.2 Konstruktionen spezieller Funktionen

317

die Dunford 4-Cauchy-Darstellung der Matrixfunktion. Sie ist wohldefiniert und stimmt im diagonalisierbaren Fall mit den Matrixfunktionen aus §§13.1.113.1.2 u ¨berein, wenn diese definiert sind. Ferner stimmt sie im allgemeinen Fall mit (13.5) u ¨berein, wenn diese definiert ist. Beweis. a) Wegen σ(M ) ⊂ Ω liegen keine Eigenwerte von M auf C. Damit −1 ur alle ζ ∈ C gleichm¨ aßig beschr¨ankt und das Integral (13.7) ist (ζI − M ) f¨ existiert. b) F¨ ur Diagonalmatrizen stimmen (13.7) und f (Δ) = diag{f (λi ) : i ∈ I} u ¨berein. Da auch (13.7) die Transformationsregel f (T −1 ΔT ) := T −1 f (Δ)T erf¨ ullt, stimmen (13.7) ur diagonalisierbare M u ¨berein.  und (13.3b) f¨  2 λ1 1/ (ζ − λ) 1/ (ζ − λ) −1 . Wegen c) F¨ ur M = ist (ζI − M ) = 0λ 0 1/ (ζ − λ) H −2 1 ¨ f (ζ)dζ = f  (λ) stimmt das Ergebnis mit dem aus Ubung 2πi C (ζ − λ) 13.1.6 u ¨berein. Die Abbildung 13.1 zeigt vier Eigenwerte im Definitionsbereich D. Es ist nicht m¨ oglich, einen Kreis in D zu finden, der das gesamte Spektrum σ(M ) enth¨ alt. Damit ist die Definition aus §13.1.2 nicht anwendbar. Es l¨asst sich aber eine geeignete Integrationskurve C = ∂Ω f¨ ur die Dunford-CauchyDarstellung finden. ¨ Ubung 13.1.9. Die Matrixfunktion sei definiert. Man zeige σ(f (M )) = {f (λ) : λ ∈ σ(M )},

ρ(f (M )) = max{|f (λ)| : λ ∈ σ(M )}.

13.1.4 Spezialf¨ alle Neben diesen drei Definitionsm¨ oglichkeiten kann man f¨ ur spezielle Funktionen ihre spezifischen Eigenschaften ausnutzen. Da beispielsweise die Exponentialn funktion mittels limn→∞ (1 + x/n) definiert werden kann und Potenzen von Matrizen erkl¨ art sind, ließe  sich die n (numerisch weniger brauchbare) Definition exp(M ) := limn→∞ 1 + n1 M geben. Die Matrix-Exponentialfunktion wird in §13.2.2 genauer behandelt werden. Die Funktion f (x) = 1/x ist mit (13.3b) zu der Matrixfunktion M → M −1 erweiterbar. Eine andere Darstellung dieser Matrixfunktion wird in §13.2.3 behandelt.

13.2 Konstruktionen spezieller Funktionen 13.2.1 Approximation von Matrixfunktionen Eine Matrixfunktionen f (M ) ist im Allgemeinen nicht exakt darstellbar (schon skalare Funktionen wie exp(x) m¨ ussen approximiert werden!). Im 4

Nelson Dunford, geboren 12. Dez. 1906 in St. Louis (Missouri, USA), gestorben 7. September 1986 in Sarasota (Florida).

318

13 Matrixfunktionen

Folgenden geht es um Techniken, die es erlauben, Fehlerabsch¨atzungen aus dem skalaren Fall auf den Matrixfall zu u ¨bertragen. Die approximierenden Funktionen f˜ k¨ onnten z.B. Polynome oder rationale Funktionen sein. Die Definition von f (M ) durch (13.3b) f¨ uhrt direkt auf den folgenden Satz, der die Maximumnorm f − f˜∞,σ(M ) und die Spektralkondition ur jede Teilmenge X des cond2 (T ) = T 2 T −1 2 benutzt. Dabei wird f¨ Definitionsbereiches einer Funktion g definiert: g∞,X := max{|g(z)| : z ∈ X}.

(13.8)

Satz 13.2.1. Sei M = T −1 ΔT diagonalisierbar. f und f˜ seien auf σ(M ) definiert. Dann gilt in der Spektralnorm f (M ) − f˜(M )2 ≤ cond2 (T ) · f − f˜∞,σ(M ) . Beweis. In f (M ) − f˜(M ) = T −1 f (Δ)T − T −1 f˜(Δ)T = T −1 [f (Δ) − f˜(Δ)]T wird die Diagonalmatrix D = f (Δ) − f˜(Δ) durch D2 = maxi |Dii | abgesch¨ atzt. Falls M nicht diagonalisierbar ist, braucht man f¨ ur eine entsprechende ¨ Absch¨ atzung auch mindestens die erste Ableitung f  − f˜ ∞,σ(M ) (vgl. Ubung 13.1.6). Im Falle symmetrischer Matrizen entf¨ allt der Faktor cond2 (T ) wegen T 2 = T −1 2 = 1, da T orthogonal ist. Ansonsten sind T und seine Norm aber selten bekannt. Einen Ausweg bietet der folgende Zugang. Sei Ω ein Gebiet, das das Spektrum von M enth¨alt: Ω ⊃ σ(M ). ur ζ ∈ Ω c ist die Mit Ω c := C\Ω sei das Komplement von Ω bezeichnet. F¨ Resolvente −1 (ζ ∈ Ω c ) R(ζ; M ) := (ζI − M ) −1

ur |ζ| → ∞, ist R(ζ; M )2 auf definiert. Da (ζI − M ) → O (Nullmatrix) f¨ aßig beschr¨ ankt. Ω c gleichm¨ In der Literatur werden verschiedene Familien von Matrizen (bzw. Operatoren) beschrieben, die wie folgt durch den Komplementbereich Ω c und eine Schrankenfunktion ϕ : Ω c → (0, ∞) charakterisiert sind: R(ζ; M )2 ≤ ϕ(ζ)

f¨ ur ζ ∈ Ω c .

(13.9)

Beispiel 13.2.2. a) In [44, (2.6)] wird allgemein Ω = {ζ = x + iy : x > fS (y)} und speziell die Parabel fS (y) = ay 2 + b mit der und ϕ(ζ) = fR (ζ) definiert= ahlt. Schranke fR (ζ) = M/(1 + |ζ| ) gew¨ = b) F¨ ur die Parabel fS (y) = ay 2 +b und die Schranke fR (ζ) = M/(1+ |ζ| ) ergeben sich die stark P-positiven Operatoren (vgl. [42], [43]). c ) Operatoren die (13.9) f¨ ur Ω = {ζ : *e ζ ≥ 0} und ϕ(ζ) = −1/*e ζ erf¨ ullen, heißen m-akkretiv (vgl. [96, S. 279]). Gibt es ein δ > 0, sodass (13.9) f¨ ur Ω = {ζ : *e ζ > 0} und ϕ(ζ) = 1/ (δ − *e ζ) gilt, heißt M strikt m-akkretiv ([96, S. 281]).

13.2 Konstruktionen spezieller Funktionen

319

Am Beispiel der stark P-positiven Operatoren sei der Beweis der Eigenschaft (13.9) vorgef¨ uhrt. $ % Lemma 13.2.3. Seien Ω = z = x + iy ∈ C: x > 0, y 2 < x ein Parabelgebiet und M eine Matrix mit einem Spektrum σ(M ) ⊂ Ω. Dann gibt es eine Konstante C, sodass −1

 (zI − M )

2 ≤

C = 1 + |z|

f¨ ur alle z ∈ C\Ω.

(13.10)

Beweis. a) Sei M eine Diagonalmatrix. Dann ist  (zI − M )

−1

2 =  diag{z − λ : λ ∈ σ(M )}−1 2 = 1/ min |z − λ| . λ∈σ(M )

= ur z ∈ C\Ω stetig und strebt Die Funktion (1 + |z| )/ minλ∈σ(M ) |z − λ| ist f¨ f¨ ur |z| → ∞ gegen null. Damit existiert ein endliches Maximum M. −1 b) Ist M diagonalisierbar: M = T −1 ΔT , so folgt mit  (zI − M ) 2 ≤ −1 −1 T 2  (zI − Δ) 2 T 2 und Teil a) wieder eine z-unabh¨angige Schranke. c) F¨ ur die Jordan-Normalform schließe man analog. Satz 13.2.4. Seien f und f˜ holomorph in Ω, C = ∂Ω und σ(M ) ⊂ Ω. Dann gilt G 1 |f (ζ) − f˜(ζ)| ϕ(ζ) |dζ| f (M ) − f˜(M )2 ≤ 2π C mit ϕ aus (13.9). H −1 1 Beweis. Wir gehen von f (M ) − f˜(M ) = 2πi (ζI − M ) [f (ζ) − f˜(ζ)]dζ aus C (vgl. (13.7)) und sch¨ atzen mit G 1 R(ζ; M )2 |f (ζ) − f˜(ζ)||dζ| f (M ) − f˜(M )2 ≤ 2π C ab. Wegen C ⊂ Ω c ist (13.9) anwendbar. 13.2.2 Matrix-Exponentialfunktion Auf die wichtige Rolle, die die Matrix-Exponentialfunktion exp(M ) spielt, wurde schon hingewiesen. Da exp eine ganze Funktion ist, lassen sich alle Definitionsm¨ oglichkeiten und weitere Funktionaleigenschaften f¨ ur die konkrete Konstruktion verwenden. Dass die konkrete Berechnung aber Schwierigkeiten bereiten kann, zeigt der lesenswerte Artikel [116] u ¨ber “19 dubiose Weisen”, exp(M ) zu berechnen.

320

13 Matrixfunktionen

13.2.2.1 Definition mittels Potenzreihe Die Potenzreihe der Exponentialfunktion legt die N¨aherung En :=

n−1  ν=0

1 ν M ≈ exp(M ) ν!

(13.11)

ur alle M , dass En → exp(M ), aber man sollte diese nahe5 . Zwar gilt f¨ N¨ aherung nur f¨ ur Matrizen anwenden, die in einer geeigneten Matrixnorm z.B. durch M  ≤ 1 beschr¨ ankt sind. Unter der Voraussetzung M  ≤ 1 ist ∞

1 ν M  ν=n ν! ∞  cn 1 = mit cn ∈ (1, 1.72) f¨ ≤ ur n ≥ 1 ν! n! ν=n

En − exp(M ) ≤

(das asymptotische Verhalten ist cn ∼ 1 + 1/n). Das Horner6 -Schema zur Auswertung von (13.11) lautet An := I;

for ν := n − 1 to 1 do Aν :=

1 Aν+1 M + I; ν

En := A0 ;

und erfordert n − 2 Matrixmultiplikationen mit M (die Multiplikation mit An = I ist trivial). 13.2.2.2 Halbierungsregel F¨ ur die Exponentialfunktion kann man die Funktionalgleichung ex+y = ex ey ausnutzen. ¨ Ubung 13.2.5. F¨ ur vertauschbare Matrizen A und B gilt die Identit¨at exp(A + B) = exp(A) exp(B). ¨ F¨ ur die Wahl A = B = 12 M f¨ uhrt das Resultat der Ubung auf exp(M ) = exp( 12 M )2 .

(13.12)

Wenn man voraussetzt, dass die Quadrierung einer Matrix handhabbar ist (wie im Falle von H-Matrizen), ist der folgende rekursive Algorithmus eine gute Wahl: 5

6

F¨ ur die Exponentialfunktion gilt, dass Matrizen M mit Eigenwerten mit negativem Realteil zu exp(M ) mit Eigenwerten vom Betrag < 1 f¨ uhren. Gelegentlich m¨ ochte man die gleiche Eigenschaft f¨ ur Approximationen. In diesem Fall kann die Taylor-Approximation (13.11) durch eine Pad´e-Approximation ersetzt werden. William George Horner, geboren 1786 in Bristol, gestorben 1837 in Bath.

13.2 Konstruktionen spezieller Funktionen

function MatrixExponentialFunktion(M ); if M  ≤ 1 then MatrixExponentialFunktion := En aus (13.11) else MatrixExponentialFunktion :=sqr(MatrixExponentialFunktion(0.5 · M )) ;

321

(13.13)

Hierbei ist sqr( M ) := M 2 . Die Norm · muss submultiplikativ sein. Die Zahl der Rekursionsschritte in (13.13) betr¨agt log2 (M ). Der Aufwand wird diskutiert in Anmerkung 13.2.6. F¨ ur eine beliebige Matrix M besteht der Aufwand der Auswertung von (13.13) in log2 (M ) Matrixmultiplikationen (Auswertung von sqr ) und der Berechnung von (13.11). Diese ist von der gew¨ unschten Genauigkeit ε > 0 abh¨ angig. F¨ ur ε ≈ 1/n! sind n Matrixmultiplikationen erforderlich. ur verschiedene 0 ≤ t1 < t2 < . . .. Im H¨ aufig ben¨ otigt man exp(tj M ) f¨ unstiger ist der Prinzip kann man (13.13) f¨ ur alle Argumente tj M aufrufen. G¨ folgende Zugang: 1. Man berechne exp(t1 M ). 2. Rekursion u ¨ber j: Sei exp(tj M ) bekannt. Man berechne die Hilfsmatrix Mj ≈ exp((tj+1 − tj ) M ) und danach das Produkt exp(tj M ) · Mj ≈ exp(tj+1 M ). Man wiederhole Schritt 2 mit j ← j + 1. Der Vorteil besteht in der Tatsache, dass (tj+1 − tj ) M eine kleinere Norm als tj+1 M besitzt und damit (13.13) weniger Halbierungsschritte erfordert. 13.2.2.3 Dunford-Cauchy-Integral W¨ahrend die Halbierungsregel f¨ ur die konkrete Berechnung gut geeignet ist, verr¨ at die Rekursion wenig u ¨ber die Struktureigenschaften von exp(M ). Im Folgenden wird zur Vereinfachung angenommen, dass M positiv definit ist, d.h. M ist symmetrisch und σ(M ) ⊂ (0, ∞). Gem¨aß §13.1.3 gilt G 1 −1 (ζI − M ) e−ζ dζ, (13.14) exp(−M ) = 2πi C wenn C = ∂Ω, Ω ⊃ σ(M ) und Ω einfach zusammenh¨angend. Da das Spektrum σ(M ) ⊂ (0, M ] erf¨ ullt, kann f¨ ur Ω zum Beispiel das folgende Gebiet (Parabelsegment) verwendet werden: @  = Ω = ζ ∈ C : 0 ≤ *e ζ ≤ M  + 1, |+m ζ| ≤ *e ζ . Der Rand C := ∂Ω von Ω besteht aus dem Parabelteil CP : ζ(s) = x(s) = + iy(s) ur s ∈ [−s0 , s0 ] mit s0 := M  + 1 mit x(s) := s2 und y(s) := −s f¨ und der senkrechten Strecke CS : ζ(s) = x(s) + iy(s) mit x(s) := s20 , y(s) := s f¨ ur s ∈ [−s0 , s0 ] (vgl. Abbildung 13.2). Ebensogut kann man s0 durch

322

13 Matrixfunktionen

H −1 einen gr¨ oßeren Wert ersetzen. Man stellt fest, dass CP (ζI − M ) e−ζ dζ H −1 f¨ ur s0 → ∞ konvergiert und lim CS (ζI − M ) e−ζ dζ = 0. Deshalb gilt s0 →∞

(13.14) auch mit der vollst¨ andigen Parabel {ζ(s) = x(s) + iy(s) : x(s) := s2 , y(s) := −s f¨ ur s ∈ R} als Integrationskurve C. Nach Substitution der Parameterdarstellung alt man ζ(s) = s2 − is erh¨ e

−M

1 = 2πi

∞ dζ(s) −1 ds (ζ(s)I − M ) e−ζ(s) ds

−∞ ∞

=

1 2πi

−∞

(13.15)



 −1 −s2 + is s2 − is I − M e (2s − i) ds.    =:F (s)

∞ 1 Das Integral 2πi F (s)ds kann durch −∞ eine Sinc-Quadratur approximiert werden (N¨ aheres in §D.4) und liefert einen Ausdruck der Form

Ω CS CP

TN (F, h) :=

N h  F (νh), 2πi ν=−N

Abb. 13.2. Integrationskurve: Rand des Parabelsegments Ω, uck, CS : Strecke CP : Parabelst¨

* * * −M *e *

wobei h > 0 eine Schrittweite ist, die hier in der Gr¨ oßenordnung h = O((N + 1)−2/3 ) gew¨ ahlt werden sollte. Die Fehlerabsch¨atzung aus Satz D.4.3b zeigt * * ** * N N * * 1 ∞  * h  h * * − F (νh)* = * F (s)ds − F (νh)** * * 2πi 2πi 2πi * ν=−N ν=−N −∞   (13.16) ≤ O exp(−cN 2/3 ) ,

wobei die Absch¨ atzung von gef¨ uhrt wird.



 −1 mit Hilfe von (13.10) durchs2 − is I − M

ahern, so Folgerung 13.2.7 Will man e−M mit der Genauigkeit ε > 0 ann¨ folgt aus (13.16), dass N in der Gr¨ oßenordnung O(log3/2 1ε ) zu w¨ahlen ist. Die matrixwertige Funktion F (s) aus (13.15) f¨ uhrt auf ⎧ ⎨ ω = h 2νh − i e−zν , h ν −1 F (νh) = ων (zν I − M ) mit 2πi ⎩ 2πi zν = (νh)2 − iνh,

13.2 Konstruktionen spezieller Funktionen

323

sodass das Quadraturresultat die Summe TN (F, h) =

N 

−1

ων (zν I − M )

(13.17a)

ν=−N −1

von 2N + 1 Resolventen (zν I − M ) liefert. Zwar sind ων und zν komplex, aber wegen f¨ ur − N ≤ ν ≤ N ων = ω−ν , zν = z−ν sind f¨ ur reellwertige M die Approximation TN (F, h) ebenso wie e−M reell. Die Summe (13.17a) reduziert sich auf −1

e−M ≈ TN (F, h) = ω0 (z0 I − M )

+ 2 *e

N 

−1

ων (zν I − M )

.

(13.17b)

ν=1 −1

Folgerung 13.2.8 Wenn von M bekannt ist, dass die Inversen (zν I − M ) mit hinreichender Genauigkeit im H-Matrixformat H(k, p) approximiert werden k¨ onnen, folgt aus (13.17b), dass eine entsprechend gute Approximation von exp(−M ) in H((N + 1) k, p) existiert. H −1 Wenn Kurvenintegrale C (ζI − M ) f (ζ)dζ formuliert werden, ist die Kurve C so zu w¨ ahlen, dass der Integrand nicht singul¨ar wird. Das heißt insbesondere, dass C keine Eigenwerte von M durchl¨auft. Trotzdem kann es unvermeidlich sein, dass die Kurve Eigenwerten nahe kommt. Hier stellt sich −1 ur Quadradie Frage nach der Stabilit¨ at H-Matrix-Resolventen (ζI − M ) f¨ turpunkte ζ nahe am Spektrum σ(M ). Diese Frage wird in Espig-Hackbusch [41] untersucht und auch mit numerischen Tests belegt. Es zeigt sich, dass die H-Matrixinverse von ζI − M sehr robust gegen die Ann¨aherung von ζ an σ(M ) ist. Eine einfache theoretische Erkl¨ arung bietet das folgende Lemma an. Lemma 13.2.9. Sei 0 = λ ∈ σ(M ) ein einfacher Eigenwert mit dem (Rechts-)Eigenvektor e aus M e = λe und dem Linkseigenvektor f aus f  M = λf  (falls M symmetrisch ist, gilt e = f ), wobei die Skalierung f, e = 1 gelten m¨ oge. Dann l¨asst sich M spektral zerlegen in M = M0 +λef  , wobei M0 −1 das Spektrum (σ(M ) ∪ {0}) \{λ} besitzt, sodass (ζI − M0 ) in der Umgebung −1 von λ wohldefiniert und stabil berechenbar ist. Die Resolvente (ζI − M ) hat die Darstellung −1

(ζI − M )

= (ζI − M0 )

Der f¨ ur ζ → λ divergierende Teil −1

−1

λ  ζ(ζ−λ) ef

+

λ ef  . ζ (ζ − λ)

ist eine Rang-1-Matrix. Wenn der

“harmlose” Anteil (ζI − M0 ) im Format H(k, P ) hinreichend gut approxi−1 in H(k + 1, P ) f¨ ur alle ζ = λ mit gleicher miert wird, so ist (ζI − M ) Genauigkeit darstellbar.

324

13 Matrixfunktionen

Die Voraussetzung 0 = λ ist nicht essentiell. Falls λ = 0 ∈ σ(M ) in der N¨ ahe von C liegt, kann z.B. die Zerlegung M = M1 − ef  (e, f Rechts- und −1 −1 1 ef  Linkseigenvektoren zu λ = 0) und (ζI − M ) = (ζI − M1 ) + ζ(1−ζ) verwendet werden. Bei mehrfachen Eigenwerten λ ∈ σ(M ) ist der Rang 1 durch einen entsprechend h¨ oheren zu ersetzen. 13.2.2.4 Approximation von exp(−tM ) Gelegentlich m¨ ochte man die Funktion exp(−tM ) f¨ ur z.B. positiv definites M und alle t > 0 approximieren. Hierf¨ ur ist es g¨ unstig, die Cauchy-Formel nicht f¨ ur tM anstelle von M , sondern in der Form G 1 −1 (ζI − M ) e−tζ dζ exp(−tM ) = 2πi C zu verwenden. Die analoge Quadratur f¨ uhrt auf exp(−tM ) ≈

N 

−1

ων (t) (zν I − M )

,

ων (t) := h

ν=−N

2νh − i −t((νh)2 −iνh) e 2πi

und gleichen St¨ utzstellen zν wie in §13.2.2.3. Der Vorteil besteht darin, dass ahrend die teueren Resolventen die t-Abh¨ angigkeit im Gewicht ων steckt, w¨ −1 angig von t sind. Es ist daher relativ einfach, exp(−tM ) (zν I − M ) unabh¨ f¨ ur viele t auszuwerten. Die Fehlerabsch¨ atzung findet sich in [43, §2.4] und unschte exponentielle Konvergenz bez¨ uglich liefert nur f¨ ur t ≥ t0 > 0 die gew¨ der St¨ utzstellenanzahl N . F¨ ur 0 ≤ t ≤ t0 werden andere Approximationsverfahren ben¨ otigt (z.B. mittels Potenzreihen wie in §13.2.2.1). 13.2.3 Inverse Funktion 1/z / σ(M ). Die Matrixversion der Funktion f (x) = 1/x ist f (M ) = M −1 , falls 0 ∈ In §13.2.2.3 wurde die Matrix-Exponentialfunktion exp(M ) mittels der −1 – der Matrixfunktion zu f (x) = 1/ (zν − x) – Resolventen (zν I − M ) approximiert. Jetzt wird der umgekehrte Weg beschritten: Die Inverse M −1 wird mit Hilfe der Gr¨ oßen exp(−tM ) dargestellt. Der Sinn dieser Darstellung wird in §15.5.2 offenbar werden. 13.2.3.1 Integraldarstellung von 1/z F¨ ur z ∈ C mit *e z > 0 gilt die Identit¨ at 1 = z

∞ 0

e−zt dt.

(13.18a)

13.2 Konstruktionen spezieller Funktionen

325

Lemma 13.2.10. F¨ ur die Matrix M ∈ CI×I gelte σ(M ) ⊂ {z ∈ C : *e z > 0}. −1 die Darstellung Dann hat M M −1 =

∞

e−M t dt.

(13.18b)

0

Beweis. Multiplikation mit M liefert *∞ * − e−M t * = I.

∞

M e−M t dt = −

0

∞ 0

d dt



 e−M t dt =

0

Ist λmin = min{λ ∈ σ(M )} der minimale Eigenwert einer Matrix mit 1 M ersetzt werden: positivem Spektrum, so kann die Matrix durch M  := λmin 1 −1 −1  M = λmin M , wobei (13.18b) auf M angewandt wird. Dies zeigt: Anmerkung 13.2.11. Hat M ein positives Spektrum, so kann in (13.18b) ohne Beschr¨ ankung der Allgemeinheit vorausgesetzt werden, dass alle Eigenwert ≥ 1 sind. Entsprechend ist die Diskussion von (13.18a) f¨ ur z ≥ 1 ausreichend. 13.2.3.2 Approximative Darstellung von 1/z durch Exponentialfunktionen Im Folgenden suchen wir Approximationen der rechten Seite in (13.18b) durch eine Summe der Form ∞

e−M t dt ≈

k 

ων e−M tν .

(13.19)

ν=1

0

Diese Ersetzung ist eng verbunden mit der Approximation von x1 durch k ur werden zwei eine Summe ν=1 ων e−xtν von Exponentialfunktionen. Hierf¨ Ans¨ atze diskutiert: 1. Erzeugung mittels Quadratur, 2. direkte Approximation. Im Anhang D.4.3 wird die Sinc-Quadratur f¨ ur zwei Integrale untersucht, die sich durch geeignete Substitutionen aus (13.18a) ergeben. Im ersten Fall (§D.4.3.1) erh¨ alt man eine N¨ aherung der Form Ek (x) =

k 

ων e−xtν

(13.20)

ν=1

mit der gleichm¨ aßigen Fehlerabsch¨ atzung * *   √ * * *Ek (x) − 1 * ≤ O e− πdk mit d < π/2 * x*

f¨ ur alle x ≥ 1

326

13 Matrixfunktionen 0.012

3e-07

0.01 2.5e-07 0.008 2e-07 0.006

0.004

1.5e-07

0.002 1e-07 0 5e-08 -0.002

-0.004

0 1

10

100

1000

1

10

100

1000

10000

Abb. 13.3. Graph der Funktion Ek (x; R) − x1 f¨ ur x ≥ 1 (links k = 5, rechts k = 45) mit Ek mittels Sinc-Quadratur

(in §D.4.3.1 wird ein ungerades k und N = k−1 2 wie in (13.17a) verwendet). Abbildung 13.3 zeigt den Fehler auf der linken Seite√f¨ ur k = 5 (N = 2, √ ur k = 45 (N = 22, h = 1.05·π/ N ). Die zugeh¨origen h = π/ N ) und rechts f¨ Fehlerschranken sind 1.19310 -2 und 2.6310 -7. Im Fall der zweiten Substitution (in §D.4.3.2) l¨asst sich ein besseres asymptotisches Verhalten bez¨ uglich k → ∞ zeigen, daf¨ ur ist die Absch¨atzung x-abh¨ angig: * *   * * *Ek (x) − 1 * ≤ O e−πd(x)k/ log(πd(x)k) mit d(x) = O(1/ log x) * x* (vgl. Satz D.4.13). Die numerischen Resultate best¨atigen den Faktor k/ log(k), aber das Verhalten bez¨ uglich x erscheint g¨ unstiger als durch d(x) = O(1/ log x) beschrieben. Die direkte Approximation durch Exponentialsummen bestimmt den Ausdruck Ek (x; R) aus (13.20), indem die Maximumnorm * * 6 * 1 1* := max **Ek (x; R) − ** : 1 ≤ x ≤ R (13.21) Ek (x; R) − x ∞,R x 0.002

0.002

0.0015

0.0015

0.001 0.001 0.0005 0.0005 0 0 -0.0005 -0.0005 -0.001

-0.001

-0.0015

-0.0015

-0.002 1

10

100

1000

1

10

100

1000

10000

Abb. 13.4. Graph der Funktion E4 (x; R)− x1 f¨ ur x ≥ 1 bei direkter Approximation. Links R = 100 mit dem Fehler 1.06610 -3 in [1,100]. Rechts R = R4 = 436.06 mit dem Fehler 1.70010 -3 in [1, ∞) .

13.2 Konstruktionen spezieller Funktionen

R = 10 R = 100 R = 1000 R=∞

k=5 4.243E-6 2.274E-4 6.385E-4 6.428E-4

k=7 2.344E-8 9.841E-6 7.153E-5 1.163E-4

k = 10 9.021E-12 8.303E-08 2.389E-06 1.312E-05

k = 12 4.654E-14 3.357E-09 2.412E-07 3.630E-06

Tabelle 13.1. Minimale Fehler Ek (x; R) −

1 x

327

k = 15 1.708E-17 2.667E-11 7.555E-09 6.311E-07

∞,R

bez¨ uglich der Parameter ων , tν (1 ≤ ν ≤ k) minimiert wird. Abbildung 13.4 ur k = 4. Das linke Diagramm entspricht dem zeigt den Fehler Ek (x; R) − x1 f¨ Fall R = 100. Der rechte Graph zeigt einen Grenzfall: F¨ ur hinreichend großes ur alle x ∈ [1, ∞). Man R = Rk (hier R4 = 436.06) gilt die Fehlerschranke f¨ sieht, dass die Bestapproximation aus (13.21) mit k = 4 deutlich deutlich kleinere Fehlermaxima als die Sinc-Quadratur f¨ ur k = 5 liefert. Die f¨ ur verschiedene Werte von k und R erreichbaren Genauigkeiten (miniur optimale Koeffizienten ων , tν ) sind in der male Fehler Ek (x; R) − x1 ∞,R f¨ Tabelle 13.1 skizziert. In [73] findet man weitere Resultate sowie die Web-Seite f¨ ur die Koeffizienten der optimalen Ek (x; R). 13.2.3.3 Absch¨ atzung der Matrixapproximation Die Matrix M sei diagonalisierbar mit σ(M ) ⊂ (0, ∞). Die Maximumnorm Ek (x) − x1 ∞,R kann im Folgenden durch die g¨ unstigere Schranke 1 Ek (x) − x

∞,σ(M )

* 6 * * 1 ** * := max *Ek (x) − * : x ∈ σ(M ) x

ersetzt werden. Ek (M ) bezeichnet die Matrixfunktion

k ν=1

ων e−M tν .

Satz 13.2.12. M sei diagonalisierbar mit M = T −1 ΔT und σ(M ) ⊂ (0, ∞). Dann gilt 7 Ek (M ) − M −1 ≤ T  T −1 

1 x

− Ek (x)

∞,σ(M )

.

  Beweis. Man sch¨ atze in Ek (M ) − M −1 = T −1 Ek (Δ) − Δ−1 T jeden einzelnen Faktor ab. Numerische Tests der direkten Approximation Ek (x; Rk ) − x1 zeigen ein √ Fehlerverhalten exp{c1 − c2 k} mit c1 in der Gr¨oßenordnung 11 bis 15 und c2 bei 4 bis 4.5 .

7

Die Norm muss submultiplikativ sein und diag{xi : i ∈ I} ≤ max{|xi | : i ∈ I} erf¨ ullen.

328

13 Matrixfunktionen

13.2.4 Anwendung von Newton-artigen Verfahren F¨ ur die Berechnung spezieller Funktionen f (z) eignet sich√das NewtonVerfahren. Beispielsweise kann die Quadratwurzel f (z) = z als Grenzwert von ym+1 := 12 (ym + z/ym ) berechnet werden. Wir werden hierauf im n¨ achsten Kapitel (§14) zur¨ uckkommen.

13.3 H-Matrix-Approximation 13.3.1 Matrix-Exponentialfunktion Die Berechnung durch H-Matrizen k¨ onnte von den Darstellungen (13.17a,b) −1 Gebrauch machen und alle Resolventen (zν I − M ) mittels der formatierten Inversion approximieren. −1

Anmerkung 13.3.1. a) Falls alle approximativen Resolventen (zν I − M ) ∈ H(k, P ) den lokalen Rang k ben¨ otigen, l¨ asst sich die exakte Summe (13.17b) mit dem lokalen Rang k (N + 1) darstellen. Da nach Folgerung 13.2.7 N = oht sich der Speicher- und Berechnungsaufwand gegen¨ uber O(log3/2 1ε ) gilt, erh¨ der bisherigen Operationen nur um einen logarithmischen Faktor. b) Auch wenn man eM in anderer Weise berechnet, zeigt Teil a) die Darstellbarkeit in H(k (N + 1) , P ). Der zweite Teil der Anmerkung ist auf die Berechnung nach §13.2.2.2 anwendbar. Der Algorithmus (13.13) erfordert die Quadrierung einer Matrix, die durch die formatierte Multiplikation in H(k , P ) ersetzt werden kann, wobei k  = k (N + 1) ausreichend ist. 13.3.2 Approximation nichtglatter Matrixfunktionen √ W¨ahrend exp(x), x und 1/x (die beiden letzten im positiven Bereich) glatte Funktionen sind, gibt es auch interessante unstetige Funktionen. F¨ ur die Signumfunktion aus Beispiel 13.1.3 wird im nachfolgenden Kapitel eine Iteration beschrieben werden, die dank der H-Matrix-Arithmetik durchf¨ uhrbar ist (vgl. (14.7)). Eine andere unstetige Funktion ist  x f¨ ur x ∈ (a, b], ϕa,b (x) = 0 sonst, wobei [a, b) ein vorgegebenes Intervall sei. Die interessante Eigenschaft besteht zum Beispiel darin, dass eine Matrix M mit reellem Spektrum in (−A, A) in seinen negativen Teil ϕ−A,0 (M ) und den positiven Teil ϕ0,A (M ) zerlegt werden kann: M = ϕ−A,0 (M ) + ϕ0,A (M ). Ist man an den Eigenwerten von M im Intervall (a, b] interessiert, reicht es, ϕa,b (M ) zu untersuchen. In Kreß-Hackbusch [89] wird ϕa,b durch eine rationale Funktion approximiert. Dabei ist der Grad der Z¨ ahler- und Nennerpolynome zwar sehr groß, nicht aber die Zahl der auszuf¨ uhrenden arithmetischen Operationen. Die H-Matrix-Arithmetik erlaubt nun, ϕa,b (M ) zu approximieren.

14 Matrixgleichungen

Die u ¨bliche Numerik der partiellen Differentialgleichungen ist gepr¨agt von der Idee, alle L¨ osungsprozeduren auf die Matrix-Vektor -Multiplikation als Basisoperation zur¨ uckzuf¨ uhren. Auf der einen Seite wird dies von schwach besetzten Matrizen unterst¨ utzt (vgl. §1.3.2.5), auf der anderen Seite sucht man schnelle Iterationsverfahren (zum Beispiel Mehrgitterverfahren, [72], [66, §12]), um mit wenigen Iterationsschritten auszukommen. Damit geht man der Inversen als L¨ osung der Matrixgleichung AX = I aus dem Weg. Es gibt aber interessante Matrizen, die L¨osung einer linearen oder nichtlinearen Matrixgleichung sind, und sich einer L¨osung u ¨ber die Matrixvektormultiplikation entziehen. Hierzu geh¨ oren die linearen Ljapunow- und Sylvester-Gleichungen sowie die quadratische Riccati-Gleichung, die u.a. in Problemen der optimalen Kontrolle partieller Differentialgleichungen auftritt. Die H-Matrixarithmetik macht es m¨ oglich, auch diese Gleichungen effizient zu l¨ osen. Damit macht man nicht nur von den weitergehenden Matrixoperationen und matrixwertigen Funktionen Gebrauch. Entscheidend ist die Tatsache, dass die L¨ osung X durch eine H-Matrix XH ersetzt wird. Sei X ∈ RI×I mit n = #I. Fasst man die Gleichung f (X) = 0 ur die n2 Komponenten von X auf, als ein System von n2 Gleichung f¨ h¨ atte ein optimales L¨ osungsverfahren die Komplexit¨at1 O(n2 ), da dies linear in der Anzahl der Unbekannten ist (vgl. Anmerkung 1.2.1). Erst wenn statt X eine H-Matrix XH mit O(n logq n) Daten bestimmt wird, kann ein L¨ osungsalgorithmus fast linear in n werden.

1

Wie zum Beispiel das Mehrgitterverfahren [123].

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 14, c Springer-Verlag Berlin Heidelberg 2009 

330

14 Matrixgleichungen

14.1 Ljapunow- und Sylvester-Gleichung 14.1.1 Definition und L¨ osbarkeit Die Ljapunow-Gleichung hat die Gestalt AX + XA = C,

(14.1)

wobei alle Matrizen vom Format RI×I seien. Die Matrizen A und C sind gegeben, w¨ ahrend X die gesuchte L¨ osung ist. Offenbar ist dies eine lineare Gleichung f¨ ur die n2 Koeffizienten von X, wobei n := #I. Im Falle C = C  zeigt die Transposition von (14.1), dass auch X  eine L¨osung ist. Wenn (14.1) eindeutig l¨ osbar ist, hat es damit eine symmetrische L¨osung X = X  . Die Frage der eindeutigen L¨ osbarkeit wird sich aus der Diskussion der allgemeineren Sylvester-Gleichung ergeben (vgl. Anmerkung 14.1.2b). Die Sylvester-Gleichung AX + XB = C

(14.2)

macht keine Symmetrie-Annahmen: A, B, C ∈ RI×I sind allgemeine, gegebene Matrizen, w¨ ahrend X ∈ RI×I gesucht ist. Lemma 14.1.1. Die Sylvester-Gleichung (14.2) hat genau dann f¨ ur alle osung, wenn σ(A) ∩ σ(−B) = ∅ (vgl. (13.1a)). C ∈ RI×I eine eindeutige L¨ Beweis. Dass σ(A) ∩ σ(−B) = ∅ notwendig ist, zeigt die n¨achste Anmerkung 14.1.2a. Die andere Richtung folgt aus dem sp¨ateren Lemma 14.1.4. Anmerkung 14.1.2. a) Sind A, B diagonalisierbar, d.h. A = SΔA S −1 und B = T ΔB T −1 mit ΔA = diag{αi : i ∈ I} und ΔB = diag{βi : i ∈ I}, so l¨ asst sich (14.2) transformieren in ΔA Y + Y ΔB = C  mit Y := S −1 XT uhrt auf die L¨osung und C  := S −1 CT . Komponentenweise Betrachtung f¨  / (αi + βj ) . Die Division durch αi + βj ist offenbar genau dann Yij = Cij m¨ oglich, wenn σ(A) ∩ σ(−B) = ∅. ur positiv b) Die Ljapunow-Gleichung ist der Spezialfall B := A . F¨ definite A ist offenbar σ(A) ∩ σ(−B) = ∅ erf¨ ullt und sichert die L¨osbarkeit von (14.1). c) Die Eigenwerte von A und B m¨ ogen positiven Realteil haben. Dann kann die L¨ osung von (14.2) explizit durch  ∞ e−tA Ce−tB dt (14.3) X= 0

beschrieben werden. Beweis zu c). Unter den gemachten Voraussetzungen fallen die Faktoren e−tA und e−tB f¨ ur t → ∞ exponentiell, sodass das uneigentliche Integral existiert. Partielle Integration liefert

14.1 Ljapunow- und Sylvester-Gleichung











AX + XB = 0

=− 0

331

 Ae−tA Ce−tB + e−tA Ce−tB B dt *∞ d  −tA tB  e dt = − e−tA CetB *0 = C Ce dt

und damit die gew¨ unschte Gleichung. Die Darstellung (14.3) liefert bereits eine L¨osungsm¨oglichkeit. Seien eine Quadraturformel M  e−tκ A Ce−tκ B X≈ κ=1

und die Approximationen e−tM ≈ TN (F, h) =

N 

−1

ων (t) (zν I − M )

von

ν=−N

e−tM aus §13.2.2.4 mit den t-abh¨ angigen Gewichten ων (t) gegeben. Einsetzen f¨ ur M = A und M = B ergibt .M / N   −1 −1 ων (tκ )ωμ (tκ ) (zν I − A) C (zμ I − B) . X≈ ν,μ=−N

κ=1

Da die Approximation f¨ ur e−tM nur f¨ ur t ≥ t0 > 0 die gew¨ unschte Genauigkeit ∞ eingesetzt werden, f¨ ur hat, kann die obige Quadratur nur f¨ u r das Integral t0  t0 sind andere Approximationen (z.B. Taylor-Entwicklungen) einzusetzen. 0 Die bisherigen Approximationen deuten auf ein interessantes Resultat: Anmerkung 14.1.3. Wenn die Matrix C den Rang k besitzt, so ist X approximierbar durch Matrizen vom Rang O(kN 2 ), wobei N logarithmisch von der Genauigkeit ε abh¨ angt. Damit ist es eine gute Strategie, die L¨osung X der Sylvester-Gleichung (14.2) im globalen Niedrigrangformat zu suchen2 (vgl. Penzl [117], Grasedyck [51], Baur [5]). Wenn C komplizierter ist und bereits durch eine H-Matrix dargestellt ist, bleibt nur die Darstellung von X im H-Format (vgl. [51]). 14.1.2 Andere L¨ osungsverfahren Die Dunford-Cauchy-Darstellung aus Lemma 13.1.8 existiert auch f¨ ur die L¨ osung der Sylvester-Gleichung. Lemma 14.1.4. F¨ ur die Matrizen A und B in der Sylvester-Gleichung (14.2) gelte σ(A) ∩ σ(−B) = ∅. Dann gibt es ein Gebiet Ω ⊂ C, sodass σ(A) ⊂ Ω und σ(−B) ⊂ C\Ω. Sei C die im mathematisch positiven Sinne durchlaufene Randkurve von Ω. Dann hat die L¨ osung der Sylvester-Gleichung die Gestalt  1 −1 −1 (ζI − A) C (ζI + B) dζ. (14.4) X= 2πi C 2

F¨ ur den Sonderfall A = 0 lautet die Sylvester-Gleichung XB = C und hat die L¨ osung X = CB −1 . Hier gilt strikt Rang(X) ≤ Rang(C).

332

14 Matrixgleichungen

Beweis. Das Integral in (14.4) existiert, da C keine Eigenwerte von A oder −B enth¨ alt. X aus (14.4) wird in die Sylvester-Gleichung (14.2) eingesetzt: AX + XB  4 5 1 −1 −1 −1 −1 A (ζI − A) C (ζI + B) + (ζI − A) C (ζI + B) B dζ = 2πi C   −1 −1  1 (A − ζI) (ζI − A) C (ζI + B) = dζ 2πi C + (ζI − A)−1 C (ζI + B)−1 (B + ζI)  4 5 1 −1 −1 −C (ζI + B) + (ζI − A) C dζ = C. = 2πi C −1

−1

In Zeile 3 wurde ζ (ζI − A) C (ζI + B) vom ersten Summanden des Integranden abgezogen und zum zweiten addiert. In der vierten Zeile wurde aus −1 genutzt, dass C (ζI + B) dζ = 0, da die Singularit¨aten außerhalb von Ω  −1 1 liegen, w¨ ahrend umgekehrt 2πi (ζI − A) dζ = I. C Die Darstellung (14.4) kann wie in §13.2.2.3 zum Nachweis benutzt werden, dass die Sylvester-L¨ osung X gut durch eine hierarchische Matrix approximiert werden kann. Da die Ljapunow-Gleichung ein Spezialfall der nachfolgend behandelten Riccati-Gleichung ist, sind die dortigen Verfahren auch hier anwendbar. Eine Kombination der Niedrigrangapproximationen mit der Mehrgitteriteration wird in Grasedyck-Hackbusch [57] beschrieben. ¨ Ahnlich behandelbar wie die Ljapunow-Gleichung ist die Stein-Gleichung X − AH XA = C (vgl. Lancaster-Rodman [105, S. 104]).

14.2 Riccati-Gleichung 14.2.1 Definition und Eigenschaften Die matrixwertige Riccati-Gleichung lautet AX + XA − XBX = C.

(14.5)

ahrend A, B, C ∈ RI×I gegeben sind. F¨ ur Wieder ist X ∈ RI×I gesucht, w¨ symmetrische Matrizen B und C erwartet man eine symmetrische L¨osung X. ¨ Uber die algebraische Riccati-Gleichung gibt die Monographie von LancasterRodman [105] umfassend Auskunft. Bei autonomen linear-quadratischen Problemen der optimale Kontrolle sind Rang(B) die Dimension der Kontrolle und Rang(C) die Zahl der Beobachtungsfunktionale. Bei entsprechenden Aufgaben ist daher damit zu rechnen, dass beide R¨ ange und damit auch

14.2 Riccati-Gleichung

333

Rang(C + XBX) ≤ Rang(C) + Rang(B) relativ klein sind. Wenn daher X eine L¨ osung von (14.5) ist, so l¨ost sie auch die Ljapunow-Gleichung AX + XA = C 

mit C  := C + XBX.

Nach Anmerkung 14.1.3 ist X unter diesen Umst¨anden gut durch globale Rang-k-Matrizen approximierbar. 14.2.2 L¨ osung mittels der Signumfunktion Da die Riccati-Gleichung nichtlinear ist, kann man das Newton-Verfahren zur iterativen L¨ osung in Betracht ziehen. Die pro Iteration zu l¨osenden linearen Probleme sind dann Ljapunow-Gleichungen (vgl. Grasedyck et al. [58]). Hier soll jedoch auf eine L¨ osungskonstruktion eingegangen werden, die auf Roberts [121] zur¨ uckgeht und die Signumfunktion verwendet. Die Signumfunktion wurde bereits in Beispiel 13.1.3 f¨ ur diagonalisierbare Matrizen definiert. Eine Definition f¨ ur allgemeine Matrizen ohne Eigenwerte ulle auf der imagin¨ aren Achse lautet wie folgt: M ∈ CI×I erf¨ *e(λ) = 0

f¨ ur alle λ ∈ σ(M ).

(14.6)

Dann ist die matrixwertige Signumfunktion erkl¨art durch G 1 (ξI − M )−1 dξ − I, sign(M ) := πi C wobei die geschlossene Kurve C alle Eigenwerte λ ∈ σ(M ) mit *e(λ) > 0 umschließe, w¨ ahrend Eigenwerte mit *e(λ) < 0 außerhalb liegen. Lemma 14.2.1. Sei A eine Matrix mit der Eigenschaft (14.6). Dann konvergiert die Iteration A0 := A,

Ai+1 :=

1 (Ai + A−1 i ) 2

(14.7)

lokal quadratisch gegen die Signumfunktion: lim Ai = sign A. Quantitative Konvergenzaussagen der Iteration (14.7) werden in [58] beschrieben und bewiesen. Das L¨ osungsverfahren f¨ ur die Riccati-Gleichung beruht auf der folgenden Darstellung. atsmatrix, d.h. *e(λ) < 0 f¨ ur Satz 14.2.2 ([121]). Sei A ∈ RI×I eine Stabilit¨ ullt die positiv alle λ ∈ σ(M ). Seien B, C ∈ RI×I positiv semidefinit. Dann erf¨ semidefinite L¨ osung X von (14.5)

334

14 Matrixgleichungen



   N11 N12 X=− , N21 N22

(14.8)

wobei die Matrizen N11 , N12 , N21 , N22 ∈ RI×I sich aus       A −C I0 N11 N12 := sign − 0I N21 N22 B −A   N11 ergeben. Ferner hat vollen Rang n. N21  N11 Das obige Verfahren erlaubt die Berechnung der Nij . Da vollen N21 Rang besitzt, ist die (konsistente) Gleichung (14.8) l¨osbar. Pr¨azise Angaben zur praktischen Durchf¨ uhrung finden sich in [58] (vgl. auch [5]). Die Kombination der H-Matrixtechnik mit der Mehrgitteriteration wird in Grasedyck [54] beschrieben. 

14.3 Newton-artige Verfahren zur L¨ osung nichtlinearer Matrixgleichungen Im Prinzip kann eine allgemeine nichtlineare Gleichung f (X) = O mithilfe des Newton-Verfahrens oder ¨ ahnlich schneller Verfahren iterativ gel¨ost werden. Bei der Berechnung der Ableitung f  ist aber zu beachten, dass Matrizen hinsichtlich der Multiplikation nicht kommutativ sind, sodass f  eine komplizierte lineare Abbildung von X sein kann. 14.3.1 Beispiel der Quadratwurzel einer Matrix Sei A eine positiv definite Matrix. Gesucht ist die eindeutige positive definite L¨ osung X von X 2 = A. Anwendung des Newton-Verfahrens auf f (X) := X 2 − A = O liefert die Iteration Xν−1 → Xν := Xν−1 + Δ, wobei Δ L¨osung der LjapunowGleichung 2 (14.9) Xν−1 Δν + Δν Xν−1 = A − Xν−1 ist. Zum Beweis setzt man X = Xν−1 +Δ in die Gleichung ein und entwickelt: ! 2 f (Xν−1 + Δ) = Xν−1 + ΔXν−1 + Xν−1 Δ + Δ2 − A = O. Vernachl¨assigung von uhrt zum obigen Resultat. Da im Allgemeinen ΔXν−1 = Xν−1 Δ, erh¨alt Δ2 f¨ man eine Ljapunow-Gleichung als zu l¨ osendes lineares Problem. Die Iteration verl¨ auft in der Menge der positiv definiten Matrizen, wenn der Startwert X0 geeignet gew¨ ahlt ist.

14.3 Newton-artige Verfahren zur L¨ osung nichtlinearer Matrixgleichungen

335

Ein naheliegender Startwert ist X0 := A. Hierf¨ ur und f¨ ur jedes andere asst sich nachweisen, dass auch positiv definite und mit A vertauschbare X0 l¨ alle folgenden Iteranden Xν mit A vertauschen. Damit vereinfacht sich (14.9) zur wesentlich einfacher auswertbaren Iteration Xν :=

1 −1 (Xν−1 + Xν−1 A). 2

(14.10)

In diesem Falle verl¨ auft die Iteration in der Mannigfaltigkeit M der mit A vertauschenden, positiv definiten Matrizen. Bei der numerischen Umsetzung der obigen Iterationen mittels H-Matrizen ist ein wichtiger Unterschied zu beachten. Die Iteration (14.9) ist stabil gegen hinreichend kleine St¨ orungen von X0 oder von sp¨ateren Iteranden Xν , wie sie aufgrund der H-Matrixarithmetik auftreten. F¨ ur die Iteration (14.10) ist der gleiche Aussage falsch, da St¨ orungen von Xν im Allgemeinen aus der Mannigfaltigkeit M herausf¨ uhren. Selbst wenn die St¨orung von Xν−1 noch / M), muss der folgende Iterand Xν nicht mehr symmetrisch ist (aber Xν−1 ∈ symmetrisch sein. Eine stabile Variante, die ¨ ahnlich einfach wie (14.10) ist, aber nicht in einer Untermannigfaltigkeit verl¨ auft, ist bei Higham [93] beschrieben. Die Iteration Y0 := A,

Z0 = I,

Yν+1 :=

1 (Yν + Zν−1 ), 2

Zν+1 :=

1 (Zν + Yν−1 ) 2

konvergiert quadratisch gegen die Wurzel bzw. deren Inverse: Yν → A1/2 und Zν → A−1/2 . 14.3.2 Einfluss der K¨ urzung bei Fixpunktiterationen Das Newton-Verfahren ist ein Beispiel einer Fixpunktiteration Xν = Φ(Xν−1 ),

ν = 1, 2, . . . .

(14.11)

Im Newton-Fall ist (14.11) lokal quadratisch konvergent. Diese Konvergenzaussage gilt aber nur bei exakt durchgef¨ uhrter Arithmetik. Sobald zum Beispiel die Matrixoperationen mittels der H-Matrixarithmetik angen¨ahert werden, entstehen Abweichungen. Es stellt sich die Frage, welche Konvergenzaussagen noch g¨ ultig sind. Diese Problematik wird nachfolgend behandelt, wobei Hackbusch-Khoromskij-Tyrtyshnikov [88] gefolgt wird, wo sich auch die Beweise der Aussagen finden. Wir gehen von einer Fixpunktiteration aus, die lokal mit einer Ordnung α > 1 gegen eine L¨ osung (14.12) lim Xν = X ∗ ν→∞

konvergiere. Die Elemente Xν und X ∗ werden in einem normierten Raum V mit der Norm · betrachtet. Die folgende Aussage beschreibt das Verhalten bei exakter Arithmetik.

336

14 Matrixgleichungen

Lemma 14.3.1 ([88]). Es gebe Konstanten cΦ , εΦ > 0 und α > 1 mit Φ(X) − X ∗  ≤ cΦ X − X ∗ 

f¨ ur alle X ∈ V mit X − X ∗  ≤ εΦ . √ Man setze ε := min (εΦ , 1/c) und c := α−1 cΦ . Dann trifft (14.12) f¨ ur alle Startwerte X0 mit ||X0 − X ∗ || < ε zu. Ferner gilt die Fehlerabsch¨atzung Xν − X ∗  ≤

α

1 αν (c X0 − X ∗  ) c

(ν = 0, 1, 2, . . .) .

Nun f¨ uhren wir die “gerundete Iteration” ein. Dazu sei S ⊂ V die Untermenge der in einem Datenformat darstellbaren Elemente. Ferner sei R : V → S der sogenannte Rundungsoperator von V auf S. Im Allgemeinen ist R nichtlinear. Eine naheliegende Eigenschaft ist, dass exakt darstellbare Elemente nicht ge¨ andert werden: f¨ ur alle X ∈ S.

R(X) = X

(14.13)

Beispiel 14.3.2. a) V = R, S: Menge der Maschinenzahlen, R: Rundung auf die n¨ achste Maschinenzahl. ur fixiertes k, R: Rangb) V = RI×I , S = R(k, I, I) Rang-k-Matrizen f¨ reduktion mittels Singul¨ arwertzerlegung (vgl. Satz 2.4.1). c) V = RI×I , S = H(k, P ), P ⊂ T (I ×I), R: blockweise wie in b) definiert. Die “gerundete Iteration” hat die folgendermaßen definierten Iteranden: Y0 := R(X0 ),

Yν := R(Φ(Yν−1 ))

(ν = 1, 2, . . .) .

(14.14)

Die Aussagen u ¨ber die Folgen {Yν } unterscheiden sich, je nachdem ob die ort oder nicht. Der erste Fall f¨ uhrt L¨ osung X ∗ (exakt) zur Untermenge S geh¨ auf den Satz 14.3.3 ([88]). Sei X ∗ ∈ S. Zus¨atzlich zu den Voraussetzungen von Lemma 14.3.1 gebe es eine Konstante cR , sodass X − R(X) ≤ cR X − X ∗  f¨ ur alle X ∈ V mit X − X ∗  ≤ εΦ . (14.15) Dann existiert δ > 0, sodass die gerundete Iteration (14.14) f¨ ur jeden Startullt, in folgender Weise gegen X ∗ wert Y0 = R(Y0 ), der Y0 − B < δ erf¨ konvergiert: Yν − X ∗  ≤ cRΦ Yν−1 − X ∗ 

α

mit cRΦ := (cR + 1)cΦ .

(14.16)

Ungleichung (14.15) beschreibt die Quasioptimalit¨at der Rundung R. F¨ ur die optimale Rundung Ropt (X) := arg min{X − Y  : Y ∈ S} w¨ urde (14.15) mit cR = 1 gelten. Aus (14.16) schließt man wie in Lemma αν 14.3.1 auf Yν − X ∗  ≤ C −1 (C Y0 − X ∗ ) mit entsprechendem C.

14.3 Newton-artige Verfahren zur L¨ osung nichtlinearer Matrixgleichungen

337

Im Allgemeinen wird die gesuchte L¨ osung nicht zu S geh¨oren, sie wird aber in hinreichender N¨ ahe von R(X ∗ ) ∈ S angenommen. Die entsprechende Ungleichung X ∗ − R(X ∗ ) ≤ εRX ergibt sich als Spezialfall X = X ∗ der nachfolgenden Voraussetzung (14.18). Das Resultat ist von der Gleitkomma-Arithmetik bekannt: Zun¨achst verh¨alt sich die Iteration wie bei exakter Arithmetik. Wenn sich der Approximationsfehler aber der Maschinengenauigkeit n¨ ahert, stagniert die Iteration. Der folgende Satz pr¨ azisiert diese Aussage. Satz 14.3.4 ([88]). Die Gr¨ oße εRX sei hinreichend klein: εRX
1 schließt Fixpunktiterationen mit linearer Konvergenz aus. Verallgemeinerungen auf α = 1 sind m¨oglich, wenn cΦ < 1 so klein ist, dass noch cRΦ = (cR + 1)cΦ < 1 gilt. Die Ungleichung (14.15) ergibt sich im Wesentlichen aus der LipschitzStetigkeit des Rundungsoperators R. Anmerkung 14.3.5 ([88]). Sei R Lipschitz-stetig bei X ∗ ∈ S. Dann folgt (14.15) aus (14.13). Insbesondere sind alle beschr¨ankten linearen Operatoren Lipschitz-stetig. Die Rundungsoperatoren aus Beispiel 14.3.2b,c erf¨ ullen die LipschitzAbsch¨ atzung mit cLip = 1.

15 Tensorprodukte

Tensoren sind wie voll besetzte Matrizen mathematische Objekte mit einer derartig großen Datenmenge, sodass naive Darstellungsweisen scheitern. Datenschwache Darstellungen bzw. Approximationen sind ein aktuelles Forschungsthema, das aber u ¨ber den Rahmen dieser Monographie hinausgeht. Hier stehen die Techniken im Vordergrund, bei denen hierarchische Matrizen eine Rolle spielen. Zun¨ achst wird in §15.1 der Tensor-Vektorraum am endlichdimensionalen uhrt. In einem n¨achsten Schritt gelangt Beispiel V = RI1 ⊗ · · · ⊗ RId eingef¨ man zu einer weiteren Tensorstruktur, dem Kronecker-Produkt von Matrizen (vgl. §15.3). Auf die besonderen Unterschiede zwischen Tensoren der Stufe d = 2 (Matrizen) und d > 2 wird in §15.4 und §15.5 eingegangen. Die eigentliche Aufgabe ist die datenschwache Darstellung von Tensoren. Hierzu wird in §15.2.1 die k-Term-Darstellung eingef¨ uhrt. F¨ ur KroneckerProdukte lassen sich die k-Term-Darstellungsweise und das Format der hierarchischen Matrizen zur HKT-Darstellung verbinden (vgl. §15.3.3). Anwendungen zur HKT-Darstellung finden sich in §15.4.4.2 (d = 2) und §15.5.2 f¨ ur den Fall d > 2.

15.1 Tensor-Vektorraum 15.1.1 Notationen aume, wobei d ≥ 1. Zur allgemeinen Definition Seien V i (1 ≤ i ≤ d) Vektorr¨ des Tensor-Vektorraumes1 V := V 1 ⊗ V 2 ⊗ · · · ⊗ V d 1

Im Folgenden werden Tensoren, Tensorr¨ aume usw. durch fette Buchstaben gekennzeichnet. Der obere Index wie in V i nummeriert die Faktoren. Falls der obere Index mit einem Exponenten verwechselt werden kann, wird auch die geklammerte Schreibweise (i) verwendet.

W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 15, c Springer-Verlag Berlin Heidelberg 2009 

340

15 Tensorprodukte

sei zum Beispiel auf Greub [64] verwiesen. Ein Standardbeispiel f¨ ur V i sind i Ii die Vektorr¨ aume V = R mit Indexmengen Ii (1 ≤ i ≤ d). Dann wird der Id Tensorraum V = RI1 ⊗ · · · ⊗ RId = i=1 V i mit dem isomorphen Raum RI identifiziert (in Zeichen: RI1 ⊗ · · · ⊗ RId ∼ = RI ), wobei I = I1 × . . . × Id das Mengenprodukt der Indexmengen ist. Die zus¨atzliche Eigenschaft von V · · · ⊗ v d von Vektoren v i ∈ V i zu ist die M¨ oglichkeit, Tensorprodukte v 1 ⊗I d 1 d i I bilden. Dabei ist v = v ⊗ · · · ⊗ v = i=1 v ∈ R der Vektor mit den Komponenten vm =

;d i=1

i vm ∈R i

f¨ ur m = (m1 , . . . , md ) ∈ I.

Offenbar ist das Produkt multilinear in allen Faktoren:   v 1 ⊗ · · · ⊗ αv i + βwi ⊗ · · · ⊗ v d     = α v 1 ⊗ · · · ⊗ v i ⊗ · · · ⊗ v d + β v 1 ⊗ · · · ⊗ wi ⊗ · · · ⊗ v d . 7d 7d Wegen #I = i=1 #Ii gilt dim V = i=1 dim V i . Diese Dimensionsformel macht deutlich, dass man hochdimensionale Vektorr¨aume mit Hilfe von niederdimensionalen beschreiben kann. Man beachte aber, dass ein allgemeiner Vektor v ∈ V im Allgemeinen nicht als ein Produkt v 1 ⊗ · · · ⊗ v d geschrieben werden kann. Die Darstellung durch eine Summe (von h¨ochstens dim V/ maxi dim Vi ) Tensorprodukten ist aber stets m¨oglich, da definitionsgem¨ aß (15.1) V = span{v 1 ⊗ · · · ⊗ v d : v i ∈ V i }. Wenn ein v ∈ V als Summe von einfachen Tensorprodukten formuliert wird, kann man nach der kleinsten Zahl der Summanden fragen. Dies f¨ uhrt auf die folgende Definition. Definition 15.1.1 (Tensorrang). Der Tensorrang von v ∈ V ist die Zahl 2 K & k J  d i,ν i,ν i . T ensorrang(v) := min k ∈ N0 : v = v , v ∈V ν=1

i=1

Die Verwendung des Wortes “Rang” in Anlehnung an den Matrixrang ist gerechtfertigt, wie sich in Anmerkung 15.4.1a zeigen wird.

2

F¨ ur k = 0 wird die Konvention der leeren Summe verwendet, d.h. das Nullelement v = 0 hat den Tensorrang 0.

15.2 Approximation im Tensorraum

341

15.1.2 Hilbert-Raum-Struktur aume mit dem Skalarprodukt ·, ·V i und der zugeh¨origen Seien V i Hilbert-R¨ Id ur zwei einNorm ·V i . Das induzierte Skalarprodukt in V = i=1 V i ist f¨ fache Tensorprodukte mittels 

;d  v 1 ⊗ · · · ⊗ v d , w1 ⊗ · · · ⊗ wd :=



i=1

v i , wi

 Vi

(15.2a)

definiert und = kann linear auf ganz V fortgesetzt werden. Die Norm auf V ist art. Insbesondere gilt durch v = v, v erkl¨ v1 ⊗ · · · ⊗ vd =

;d i=1

vi

Vi

.

(15.2b)

Im Falle von V i = RIi ist das Euklidische Skalarprodukt die Standardwahl und wird als ·, · notiert. Analog sei · f¨ ur die Euklidische Norm in RIi geschrieben. Die oben definierten Gr¨ oßen werden im Folgenden als das Euklidische Skalarprodukt in RI1 ⊗ · · · ⊗ RId bzw. die Euklidische Norm bezeichnet. 15.1.3 Datenkomplexit¨ at Wie bei Vektoren und Matrizen spricht man auch hier von der vollen Darstellung eines Tensors v ∈ V, wenn alle Komponenten vm , m ∈ I = I1 × . . . × Id , abgespeichert werden. Da wir von einer sehr großen Dimension #I ausgehen, ist die volle Darstellung im Allgemeinen nicht realisierbar. Der Grund f¨ ur die Gr¨ oße von #I kann ein vielf¨altiger sein. Sei zur Vereinur alle i angenommen. #I = nd ist groß, wenn (a) d klein fachung #Ii = n f¨ (1 ≤ d ≤ 3) und n groß oder (b) n ≥ 2 und d groß oder (c) n und d groß sind. Insbesondere der Fall großer Werte von d ist gef¨ urchtet, da #I exponentiell mit d w¨ achst (sogenannter “Fluch der Dimension”). Hieraus ergibt sich die Aufgabe, Tensoren v g¨ unstiger darzustellen. Da dies im Allgemeinen nicht exakt m¨ oglich ist, sind datenschwache Approximationen gefordert. Insbesondere ist f¨ ur h¨ ohere d darauf zu achten, dass der Speicherbzw. Rechenaufwand nicht mehr exponentiell mit d w¨achst. Optimal w¨aren uhren auf Approximationen mit Kosten O(d · n) (statt nd ). Einige Resultate f¨ ur O(d · n · logd (n)), was zwar immer noch exponentiell in d w¨achst, aber f¨ moderate d akzeptabel ist.

15.2 Approximation im Tensorraum 15.2.1 k-Term-Darstellung Aufgrund von (15.1) wissen wir, dass jedes v ∈ V als Summe von Tensorprodukten geschrieben werden kann. Es wird im Folgenden eine Darstellung

342

15 Tensorprodukte

(und sp¨ ater eine Approximation) der Form3 v :=

k 

v 1,ν ⊗ · · · ⊗ v d,ν

(15.3)

ν=1

mit geeigneten Vektoren v i,ν ∈ V i (1 ≤ i ≤ d, 1 ≤ ν ≤ k) gesucht. Die rechte Seite definiert die Menge & k K  Jd i,ν i,ν i v : v ∈ V , 1 ≤ i ≤ d, 1 ≤ ν ≤ k) ⊂ V. (15.4) Tk := ν=1

i=1

Eine andere Charakterisierung von Tk ist {v ∈ V : T ensorrang(v) ≤ k} . Die ur Matrizen M mit Rang(M ) ≤ k. Notation Tk entspricht R(k) f¨ d  Anmerkung 15.2.1. a) Der Speicherbedarf f¨ ur v ∈ Tk betr¨agt k · dim V i , i=1 i,ν i da alle v ∈ V (1 ≤ i ≤ d, 1 ≤ ν ≤ k) zu speichern sind.  k w Id  k v Id i,ν i,ν und w = ν=1 . Die Berechnung b) Seien v = ν=1 i=1 v i=1 w d des Skalarproduktes v, w (vgl. (15.2a)) kostet 2kv kw i=1 dim V i Operationen.

Bei der letzten Aussage ist beachtenswert, dass die Dimension d nur linear eingeht. Das Skalarprodukt wird insbesondere f¨ ur die Berechnung der Norm ben¨ otigt. 15.2.2 k-Term-Approximation Die Approximationsaufgabe lautet daher: Gegeben v ∈ V und k ∈ N0 , oglichst klein wird. suche u ∈ Tk , sodass v − u m¨

(15.5)

Die Norm wird im Allgemeinen die Euklidische Norm sein. Das Infimum4 aller Fehlernormen sei ε(k). Wegen der in der Fußnote angedeuteten Schwierigkeiten, empfiehlt es sich, die Approximationsaufgabe zu modifizieren (vgl. Folgerung 15.5.2). Eine Variante, bei der sich die Rollen von k und ε(k) umgekehren, lautet: Gegeben v ∈ V und ε > 0, ur minimales k. suche u ∈ Tk mit v − u ≤ ε f¨ 3

4

(15.6)

In einigen Anwendungsbereichen wird die Darstellung (15.3) auch kanonische Darstellung genannt und mit der abschreckenden Bezeichnung CANDECOMP/ PARAFAC oder k¨ urzer CP belegt (vgl. [91]). Wie Beispiel 15.5.1 zeigen wird, braucht kein Minimum zu existieren.

15.3 Kronecker-Produkte von Matrizen

343

15.2.3 Darstellung mit Tensorprodukten von Unterr¨ aumen In der vorigen Approximation ist Tk eine Untermenge von V, aber kein Unterraum. Der Vollst¨ andigkeit halber sei eine alternative Darstellungsweise erw¨ ahnt, die Tensorprodukte von Unterr¨ aumen verwendet. aume, die entweder a priori gegeben Seien U i ⊂ V i (1 ≤ i ≤ d) Unterr¨ sind oder selbst in optimaler Form gesucht werden. Die U i bilden das Unterraumprodukt 6 J Jd d (15.7) U i := span u i : ui ∈ U i . U := i=1

i=1

7d i U ist Unterraum von V mit dim U = i=1 dim % $ Ui,ν. F¨ ur konkrete Darstellungen werden Basen u : 1 ≤ ν ≤ dim U i von U i ben¨ otigt. Jeder Vektor u ∈ U hat eine eindeutige Darstellung5  u= am u1,m1 ⊗ · · · ⊗ ud,m2 (15.8) m=(m1 ,...,md )∈J

mit J := J1 × . . . × Jd , Ji := {1, 2, . . . , dim Ui } ⊂ N, da die u1,ν ⊗ · · · ⊗ ud,ν eine Basis in U bilden. Die Koeffizienten am bilden selbst wieder einen Tensor a := (am )m∈J ∈ RJ des Tensorraumes RJ1 ⊗ · · · ⊗ RJd ∼ = RJ = RJ1 ×...×Jd . Anmerkung 15.2.2. a) Der Speicherbedarf f¨ ur die Charakterisierung von U d betr¨ agt i=1 dim U i · dim V i (Zahl der Komponenten aller ui,ν ). 7d b) Der Speicherbedarf f¨ ur den Tensor a := (am )m∈J ist i=1 dim U i . c) Wie in §8.1 gilt: Werden mehrere Tensoren im gleichen Unterraum U behandelt, tritt der Speicherbedarf aus a) nur einmal auf, w¨ahrend der aus b) f¨ ur jeden Tensor ben¨ otigt wird.

15.3 Kronecker-Produkte von Matrizen 15.3.1 Definitionen Id Id i i Zu zwei Tensorr¨ aumen V = i=1 V und W = i=1 W seien d lineare 6 (i) i i Abbildungen M : V → W (1 ≤ i ≤ d) gegeben. Die Vorschrift v 1 ⊗ · · · ⊗ v d ∈ V → M (1) v 1 ⊗ · · · ⊗ M (d) v d ∈ W definiert eine lineare Abbildung zwischen V und W, die als 5

6

(15.8) wird auch Tucker-Darstellung genannt (cf. [130]) und mit dem (vektorwertigen) Rang dim V 1 , . . . , dim V d verbunden. Zur Notation beachte man die Fußnote 1 auf Seite 339.

344

15 Tensorprodukte

M = M (1) ⊗ · · · ⊗ M (d) =

Jd i=1

M (i)

notiert wird. Die Operation ⊗ bezeichnet wieder das Tensorprodukt, diesmal Id aber im Tensorraum i=1 L(V i , W i ), wobei L(V i , W i ) den Vektorraum der linearen Abbildungen von V i nach W i bezeichnet (vgl. §C.3) F¨ ur V i = RIi und W i = RJi identifizieren wir Abbildungen M (i) : V i → i W mit Matrizen M (i) ∈ RIi ×Ji . M = M (1) ⊗ · · · ⊗ M (d) ist dann eine Matrix aus RI×J mit I = I1 × . . . × Id und J = J1 × . . . × Jd . Das Produkt M = M (1) ⊗ · · · ⊗ M (d) wird als Kronecker7-Produkt bezeichnet und hat die komponentenweise Darstellung M(i1 ,...,id ),(j1 ,...,jd ) :=

;d ν=1

(ν)

Miν ,jν .

Im Falle von zwei Faktoren (d = 2) und einer lexikographischen Anordnung der Indizes (i1 , i2 ) ∈ I = I1 × I2 mit I1 = {1, . . . , n1 }, I2 = {1, . . . , n2 }, J1 = {1, . . . , m1 } und J2 = {1, . . . , m2 } gilt die Blockdarstellung ⎤ ⎡ a11 B a12 B . . . a1,m1 B ⎢ a21 B a22 B . . . a2,m1 B ⎥ ⎥ ⎢ A⊗B =⎢ . ur A ∈ RI1 ×J1 , B ∈ RI2 ×J2 . ⎥ f¨ .. .. .. ⎦ ⎣ .. . . . an1 ,1 B an1 ,2 B . . . an1 ,m1 B Ersetzt man die Indexmengen durch ihre Kardinalit¨at, so f¨ uhren Faktoren A ∈ Rn1 ×m1 , B ∈ Rn2 ×m2 zum Kronecker-Produkt A ⊗ B in Rn1 n2 ×m1 m2 . ¨ Die folgende Ubung fasst die Rechenregeln f¨ ur Kronecker-Matrixprodukte zusammen. ¨ Ubung 15.3.1. Man u ufe die Multilinearit¨at ¨berpr¨   (i) (i) M (1) ⊗ · · · ⊗ αMI + βMII ⊗ · · · ⊗ M (d)   (i) = α M (1) ⊗ · · · ⊗ MI ⊗ · · · ⊗ M (d)   (i) (α, β ∈ R) + β M (1) ⊗ · · · ⊗ MII ⊗ · · · ⊗ M (d)

(15.9a)

sowie die Algebra-Eigenschaften        A(1) ⊗ · · · ⊗A(d) · B (1) ⊗ · · · ⊗B (d) = A(1) ·B (1) ⊗ · · · ⊗ A(d) ·B (d) , (15.9b) I ⊗ · · · ⊗ I = I,

M

(1)

⊗ ··· ⊗ O ⊗ ··· ⊗ M

(d)

= O,

(15.9c)

wobei I, I und O, O die Einheits- bzw. Nullmatrizen der jeweiligen Dimension sind und “ ·” die u ¨bliche Matrixmultiplikation bezeichnet. 7

Leopold Kronecker, geboren am 7. Dez. 1823 in Liegnitz (Preussen, jetzt Legnica, Polen), gestorben am 29. Dezember 1891 in Berlin.

15.3 Kronecker-Produkte von Matrizen

¨ Ubung 15.3.2. In Analogie zu (15.2b) beweise man f¨ ur M = 7d (i) Spektralnorm M2 = i=1 M 2 .

Id i=1

345

M (i) die

Die Interpretation von Id Kronecker-Produkten als Tensorprodukt im Tensorraum L(V, W) = i=1 L(V i , W i ) beweist die folgende Anmerkung. Anmerkung 15.3.3 (Kronecker-Rang). Jede Abbildung M von V = RI nach W = RJ mit IdI = I1 ×. . .× Id und J = J1 × . . . × Jd kann als Summe k M = ν=1 i=1 M (i,ν) von Kronecker-Produkten geschrieben werden. Die minimale Zahl k der Summanden ist der T ensorrang(M) im Tensorraum Id i i i=1 L(V , W ) (vgl. Definition 15.1.1) und wird hier als Kronecker-Rang bezeichnet. Man beachte, dass der Kronecker-Rang einer Matrix etwas v¨ollig anderes als der u ¨bliche Matrixrang ist, z.B. hat die Identit¨at I = I ⊗ · · · ⊗ I den Kronecker-Rang 1, aber vollen Matrixrang. 15.3.2 Anwendung auf die Exponentialfunktion F¨ ur eine sp¨ atere Anwendung halten wir die folgenden Eigenschaften fest. Id Id (i) (i) und B = gelte die VerLemma 15.3.4. a) In A = i=1 A i=1 B (i) (i) (i) (i) ur alle 1 ≤ i ≤ d. Dann sind auch A und tauschbarkeit A B = B A f¨ B vertauschbar: AB = BA. b) Die Matrizen Mi (1 ≤ i ≤ d) seien die Kronecker-Produkte Mi = I ⊗ · · · ⊗ M (i) ⊗ · · · ⊗ I. Dann sind die Matrizen Mi vertauschbar, und die Matrix-Exponentialfunktion erf¨ ullt f¨ ur alle t ∈ C   (15.10a) exp (tMi ) = I ⊗ · · · ⊗ exp tM (i) ⊗ · · · ⊗ I,  ;     Jd d d (15.10b) Mi = exp (tMi ) = exp tM (i) , exp t i=1

i=1

i=1

7d

das u ¨bliche Matrixprodukt ist.  Id   Id  Beweis. a) (15.9b) zeigt AB = i=1 A(i) ·B (i) = i=1 B (i) ·A(i) = BA. b) Da M (i) mit I und sich selbst vertauschbar ist, trifft die Voraussetzung von Teil a) zu und beweist Mi Mj = Mj Mi . F¨ ur ein allgemeines Produkt M = M (1) ⊗ · · · ⊗ M (d) folgt mit (15.9b), ∞ 1 Id  (j) ν ∞ 1 ν M = . F¨ ur das spezielle dass exp(M) = ν=0 ν=0 ν! j=1 M  ν! (i)  ⊗ · · · ⊗ I ist M = tMi = I ⊗ · · · ⊗ tM wobei

i=1

ν ν   Mν = I ν ⊗ · · · ⊗ tM (j) ⊗ · · · ⊗ I ν = I ⊗ · · · ⊗ tM (j) ⊗ · · · ⊗ I.

346

15 Tensorprodukte

∞ 1 ν ∞ 1  (j) ν tM Die Regel (15.9a) zeigt ν=0 ν! M = I ⊗ · · · ⊗ ν=0 ν! ⊗ · · · ⊗ I, sodass (15.10a) bewiesen ist. ¨ sind, erlaubt Ubung 13.2.5 die Aussage Da  die Mi vertauschbar 7d d exp t i=1 Mi = i=1 exp (tMi ), wobei die Reihenfolge der Produktbildung irrelevant ist. Mit der Darstellung (15.10a) f¨ ur jeden Faktor gelangt man zur letzten Gleichheit in (15.10b). 15.3.3 Hierarchische Kronecker-Tensorproduktdarstellung M hat eine hierarchische Kronecker-Tensorproduktdarstellung (abgek¨ urzt HKT-Darstellung) mit k Termen liegt vor, falls M=

k ν=1

Jd i=1

Mν(i)

mit hierarchischen Matrizen Mν(i)

(vgl. Hackbusch-Khoromskij-Tyrtyshnikov [87], Hackbusch-Khoromskij [82, ur Aν , Bν aus, so lauten die 83]). Geht man vom Speicherbedarf O(n log∗ n) f¨ Kosten f¨ ur die Matrixvektormultiplikation wie folgt. Im obigen Fall a) war Vν = Aν U Bν auszurechnen. Z := Aν U enth¨alt n einfache Matrixvektormultiplikationen: Kosten = O(n2 log∗ n). Der gleiche Aufwand entsteht bei Vν = ZBν . Damit ergibt sich O(kn2 log∗ n). Im Falle b) betr¨agt der Aufwand O(kn log∗ n). Die entscheidende Frage im Zusammenhang mit der HKT-Darstellung ist, k ob sich die Faktoren Aν , Bν in Mk = ν=1 Aν ⊗ Bν gut durch hierarchische Matrizen approximieren lassen. Das nachfolgende Beispiel bezieht sich auf eine Matrix, die einen Integraloperator diskretisiert. Ein zweites Beispiel in §15.5.2 wird die Inverse eines diskreten Differentialoperators untersuchen.

15.4 Der Fall d = 2 Bei der Behandlung von Tensoren gibt es entscheidende Unterschiede zwischen d = 2 und d > 2. F¨ ur d = 2 lassen sich Bestapproximationen durch Singul¨ arwertzerlegung beschreiben. F¨ ur d > 2 ¨ andern sich die mathematischen Eigenschaften, insbesondere steht die Singul¨ arwertzerlegung nicht mehr zur Verf¨ ugung. 15.4.1 Tensoren Seien V 1 = RI1 und V 2 = RI2 . Der Tensorraum V 1 ⊗ V 2 ist isomorph zum Vektorraum der Matrizen in RI1 ×I2 . Der Isomorphismus Φ : RI1 ⊗ RI2 → RI1 ×I2 wird beschrieben durch Φ : v = (vα )α∈I1 ×I2 ∈ RI1 ⊗RI2 → M = (Mi,j )i∈I1 ,j∈I2 ∈ RI1 ×I2 , wobei v(i,j) = Mi,j .

(15.11)

15.4 Der Fall d = 2

347

Insbesondere wird ein einfaches Produkt a ⊗ b in die Rang-1-Matrix ab abgebildet. Trotz der Isomorphie gibt es Unterschiede zwischen einem Vektor v und einer Matrix M . Letztere ist nicht nur Element eines Vektorraumes, sondern auch einer Algebra (zus¨ atzliche Matrixmultiplikation). Die Isomorphie Φ−1 erlaubt nun im Spezialfall d = 2, alle Aussagen u ¨ber Matrizen auf Tensoren zu u ¨bertragen. Die Abbildung Φ−1 wird auch mit v = vec(M ) beschrieben (vgl. [105]). Anmerkung 15.4.1. Dem Tensor u sei die Matrix M = Φ(u) zugeordnet, d.h. u = M im Sinne der Identifizierung. a) Dann gilt T ensorrang(u) = Rang(M ), wobei “Rang” der u ¨bliche Matrixrang ist. b) Bei der Verwendung von Normen gilt die Isometrie u = M F

(15.12)

(links: Euklidische Norm, rechts: Frobenius-Norm). Die zuvor definierten k-Term- und Tensor-Unterraum-Darstellungen stellen sich als ¨ aquivalent heraus. Anmerkung 15.4.2. a) Zu jedem Tensor u ∈ V mit T ensorrang(u) = k asentierbar) gibt es einen Tensor(⇒ u ∈ Tk in k-Term-Darstellung repr¨ Unterraum U = U 1 ⊗ U 2 mit dim U i = k, sodass u ∈ U (d.h. u besitzt die Tensor-Unterraum-Darstellung (15.8)). Die Unterr¨aume U 1 und U 2 sind die kleinsten Unterr¨ aume mit u ∈ U 1 ⊗ U 2 und lassen sich einfach mit Hilfe der zugeordneten Matrix M = Φ(u) beschreiben: U 1 = Bild(M ),

U 2 = Bild(M  ).

(15.13)

b) Zu jedem u ∈ U = U 1 ⊗ U 2 gibt es eine k-Term-Darstellung k 

aν ⊗ bν

mit k := T ensorrang(u) = min{dim U 1 , dim U 2 }

ν=1

% $ % $ und Orthogonalsystemen a1 , . . . , ak und b1 , . . . , bk . c) Zum Zwecke der Approximation kann M = Φ(u) mittels Singul¨arwertzerlegung optimal durch Mk ∈ R(k) mit M − Mk F ≤ ε ersetzt werden. Dann ist uk := Φ−1 (Mk ) ∈ Tk die Approximation kleinsten Tensorranges k, ullt. die u − uk  ≤ ε erf¨ k Beweis. a) W¨ aren die Vektoren aν in u = ν=1 aν ⊗ bν linear abh¨angig, ließe sich eine (k − 1)-Term-Darstellung finden. Also hat U 1 = span{a1 , . . . , ak } die Dimension k. b) Man wende die komprimierte Singul¨ arwertzerlegung (2.5a) auf M = Φ(u) an. c) Teil c) folgt aus der Isometrie (15.12).

348

15 Tensorprodukte

15.4.2 Kronecker-Matrixprodukte Offenbar ist es g¨ unstig, eine hochdimensionale Matrix (z.B. in R(n1 n2 )×(m1 m2 ) ) ucken. Man mit Hilfe niederdimensionaler Faktoren aus Rnν ×mν auszudr¨ m¨ ochte eine Darstellung oder Approximation von M durch k Aν ⊗ Bν (15.14) Mk = ν=1

mit nicht zu großem k erreichen. Gem¨ aß Anmerkung 15.3.3 ist die kleinstm¨ ogliche Anzahl der Summanden durch den Kronecker-Rang beschrieben. Die sich daraus ergebende Aufgabe lautet wie folgt. ur Seien I = I1 × I2 , J = J1 × J2 und M ∈ RI×J gegeben. Man suche f¨ k ∈ N0 eine Approximation M = Mk + Rk mit k Aν ⊗ Bν , Aν ∈ RI1 ×J1 , Bν ∈ RI2 ×J2 , Mk =

(15.15)

ν=1

wobei der Rest Rk m¨ oglichst klein sein soll. Wenn in einer geeigneten Norm unscht ist, wird der kleinstm¨ ogliche Kronecker-Rang mit k(ε) Rk  ≤ ε gew¨ bezeichnet. Produktmengen I = I1 × I2 treten beispielsweise bei Vektoren auf, deren Komponenten auf einem “Tensorgitter” definiert sind. Wie man der Abbildung 15.1 entnimmt, braucht das Abb. 15.1. Tensorgitter mit Gitter nicht regelm¨ aßig zu sein. I = I1 × I2 ist das gleiche Indexmengen- Indexmengen der Gestalt I = produkt, dass f¨ ur Matrizen auftritt, die Ab- I1 × I2 uhrt zum Isomorphismus bildungen von RI2 nach RI1 beschreiben. Dies f¨ Φ : RI1 ⊗ RI2 → RI1 ×I2 aus (15.11). Φ beschreibt die Isomorphie zwischen dem Tensor a ⊗ b und der Rang-1Matrix ab . Eine analoge Isomorphie besteht auf einer h¨oherdimensionalen Ebene zwischen A ⊗ B und ab mit geeignet definierten Vektoren a, b. Dazu gehen wir von den Indexmengen I = I1 × I2 ,

J = J1 × J2

aus und definieren zus¨ atzlich die Paarmengen K := I1 × J1 ,

L := I2 × J2 .

Die folgende Abbildung Ψ stellt eine Verbindung zwischen verschiedenen Matrizenr¨ aumen dar: ˆ = Ψ (M) mit Komponenten Ψ : RI×J → RK×L , wobei M   i = (i1 , i2 ) ∈ I, ˆ M(i , j ) , (i , j ) = M(i , i ) , (j , j ) 1 1 2 2 1 2 1 2 j = (j1 , j2 ) ∈ J

(15.16)

15.4 Der Fall d = 2

349

(man beachte die unterschiedliche Anordnung der Indizes j1 und i2 !). Die Abbildung Ψ ist offenbar bijektiv und linear (d.h. Ψ (αM + βN) = αΨ (M) + βΨ (N) ), damit ist Ψ ein Isomorphismus. Lemma 15.4.3. a) Sei M = A ⊗ B ∈ RI×J . Dann gilt Ψ (M) = ab

f¨ ur

a := Φ−1 (A) ∈ RK , b := Φ−1 (B) ∈ RL ,

wobei Φ der Isomorphismus aus (15.11) ist. b) Ψ ist isometrisch bez¨ uglich der Frobenius-Norm: Ψ (M)F = MF . Beweis. a) Im Falle von M = A ⊗ B gilt M(i1 ,i2 ),(j1 ,j2 ) = Ai1 ,i2 Bj1 ,j2 . ˆ = Ψ (M) die Komponenten M ˆ (i ,j ),(i ,j ) = Ai1 ,i2 Bj1 ,j2 = Daher hat M 1 1 2 2 ˆ ˆ = ab . a(i1 ,i2 ) b(j1 ,j2 ) , d.h. Mα,β = aα bβ f¨ ur α ∈ K und β ∈ L. Dies zeigt M ˆ die gleichen Eintr¨age besitzen (nur anders b) Da die Matrizen M und M angeordnet), stimmen ihre Frobenius-Normen u ¨berein. Damit l¨ asst sich die k-Term-Approximation von M auf die Frage nach Rang-k-Approximationen zur¨ uckf¨ uhren: k Satz 15.4.4. Eine Approximation von M ∈ RI×J durch Mk = ν=1 Aν ⊗Bν ˆ = Ψ (M) durch eine Rang-k-Matrix ist genau dann durchf¨ uhrbar, wenn M k  ˆ Mk = ν=1 aν bν approximierbar ist. Die Faktoren sind Aν = Φ(aν ) und ˆ −M ˆ k F . Bν = Φ(bν ). Die Fehler sind identisch: M − Mk F = M ˆ k mit aν := Φ−1 (Aν ), bν := Φ−1 (Bν ). Die Beweis. Offenbar ist Ψ (Mk ) = M ¨ Isometrie zeigt die Ubereinstimmung der Frobenius-Normen von M−Mk und ˆ −M ˆ k. M Damit ist die Approximation von M durch Mk mit Kronecker-Rang k (vgl. (15.15)) prinzipiell berechenbar: Man wende die Singul¨arwertzerlegung ˆ = Ψ (M) an. Zu gegebener oder die Kreuzapproximation (vgl. §9.4) auf M  ˆ k = k aν b ¨ Genauigkeit ε oder zu gegebenem Rang k erh¨ alt man M ν . Uber ν=1 unschte L¨osung Mk . Ersetzt Aν = Φ(aν ) und Bν = Φ(bν ) ergibt sich die gew¨ ˆ durch approximative Methoden, erh¨alt man die Singul¨ arwertzerlegung von M acheren Genauigkeitsaussagen. man Mk mit schw¨ 15.4.3 Komplexit¨ atsbetrachtungen

k Wie in (15.15) sei eine Matrix M ∈ RI×J durch Mk = ν=1 Aν ⊗ Bν approximiert. Zun¨ achst gehen wir davon aus, dass die Matrizen Aν ∈ RI1 ×J1 und I2 ×J2 als volle Matrizen dargestellt sind. Dann lautet der SpeicherBν ∈ R bedarf f¨ ur Mk k · (#I1 · #J1 + #I2 · #J2 ) ,

was immerhin eine wesentliche Verbesserung gegen¨ uber dem Speicheraufwand ur M darstellt. F¨ ur den Spezialfall #I1 = #I2 = #J1 = #I1 · #J1 · #I2 · #J2 f¨ #J2 = n lauten diese Zahlen 2kn2 bzw. n4 . F¨ ur die Matrix-Vektor-Multiplikation Mu von M ∈ RI×J mit u ∈ RJ sind zwei verschiedene F¨ alle zu untersuchen:

350

15 Tensorprodukte

a) u ∈ RJ ist ein allgemeiner Tensor,  b) u = ν=1 u1,ν ⊗ u2,ν ist in Tensorproduktform mittels u1,ν ∈ RJ1 und u2,ν ∈ RJ2 gegeben. Fall a). Bei der Verwendung der vollen Matrix M kostet die Berechnung  von v := Mu ∈ RI im Wesentlichen 2#I1 · #J1 · #I2 · #J2 = 2n4 Operationen. k Im Falle von M = ν=1 Aν ⊗ Bν sei zuerst das Produkt v := (A ⊗ B) u (Indizes ν weggelassen) untersucht. Die komponentenweise Darstellung ist  Ai1 ,j1 Bi2 ,j2 u(j1 ,j2 ) . v(i1 ,i2 ) = j1 ,j2

Die Verwendung der zugeordneten Matrizen V := Φ(v), U := Φ(u) f¨ uhrt zu uhren V = A U B  , d.h. es sind zwei volle Matrixmultiplikationen durchzuf¨ ur M tritt dieser (Kosten: 2#I1 · #J1 · #J2 + 2#J1 · #J2 · #I2 (= 4n3 )). F¨ Aufwand k-fach auf: 2k · #J1 · #J2 · (#I1 + #I2 ) . Die Multiplikationskosten oßer als die Speicherkosten O(n2 ). O(n3 ) sind somit eine Ordnung gr¨  Fall b). Wegen (Aν ⊗ Bν ) u = ν=1 Aν u1,ν ⊗ Bν u2,ν treten nur Matrixvektormultiplikationen mit den kleineren Faktoren Aν , Bν auf. Der Aufwand betr¨ agt 2k (#I1 · #J1 + #I2 · #J2 ) und entspricht bis auf den Faktor 2 den Speicherkosten. 15.4.4 HKT-Darstellung 15.4.4.1 Komplexit¨ at Im eben diskutierten Fall b sind die Speicher- und Matrixvektormultiplikationskosten quadratisch, da die Aν und Bν als volle Matrizen vorausgesetzt sind. Die HKT-Darstellung aus §15.3.3 f¨ uhrt zu einer deutlichen Verbesserung. k (I1 ×I2 )×(J1 ×J2 ) Anmerkung 15.4.5. M = sei eine HKTν=1 Aν ⊗ Bν ∈ R Darstellung mit hierarchischen Matrizen Aν und Bν . Entsprechend lautet der Speicherbedarf O(kn log n), wenn die Kardinalit¨aten von I1 , I2 , J1 und J2  1,ν von der Ordnung n sind. Die Multiplikation mit u = ⊗ u2,ν erν=1 u fordert k Matrixvektormultiplikationen im H-Matrixformat, also insgesamt O(kn log n). 15.4.4.2 Beispiel Sei das Produkt Γ := [0, 1] × [0, 1] der Integrationsbereich des Integralunstlich definierten) Kernfunktion operators K : L2 (Γ ) → L2 (Γ ) mit der (k¨ κ(x, y) = =

g(x, y) |x1 − y1 | |x2 − y2 |

,

15.5 Der Fall d > 2

351

wobei g als hinreichend glatte Funktion vorausgesetzt sei. Entsprechend f¨ uhrt eine Entwicklung von g zu einer Trennung der Variablen (x1 , y1 ) einerseits und (x2 , y2 ) andererseits: k  β (x , y ) α (x , y ) = 1 1 · = 2 2 . |x1 − y1 | |x2 − y2 | =1

κ(x, y) ≈ κk (x, y) =

Eine Galerkin-Diskretisierung mit Produktform-Basisfunkionen φν (x) = uhrt zu einer Systemmatrix K ∈ RI×I mit φν1 (x1 )φν2 (x2 ) (ν ∈ I = I1 × I2 ) f¨ Koeffizienten  κk (x, y)φν1 (x1 )φν2 (x2 )φμ1 (y1 )φμ2 (y2 )dx1 dx2 dy1 dy2 Kνμ = k   α (x , y ) = 1 1 φν1 (x1 )φμ1 (y1 )dx1 dy1 · = |x1 − y1 | =1  β (x , y ) = 2 2 φν2 (x2 )φμ2 (y2 )dx2 dy2 |x2 − y2 |

=

k 

() A() ν1 ,μ1 · Bν2 ,μ2 .

=1 ()

()

Die durch die Doppelintegrale definierten Koeffizienten Aν1 ,μ1 , Bν2 ,μ2 bilden die Matrizen A() ∈ RI1 ×I1 und B () ∈ RI2 ×I2 der Kronecker-Darstellung K=

k 

A() ⊗ B () .

=1

Man beachte, dass die Umsortierung der Variablen von x1 , x2 , y1 , y2 in x1 , y1 , x2 , y2 der Abbildung Ψ aus (15.16) entspricht. α (x1 ,y1 ) β (x2 ,y2 ) Die Matrizen A() , B () sind vollbesetzt. Die Kerne √ bzw. √ |x1 −y1 |

|x2 −y2 |

mit glatten Funktionen α und β sind asymptotisch glatte Funktionen, sodass () eine gute Approximation von A() , B () durch hierarchische Matrizen AH und () BH m¨ oglich ist. Hierdurch wird die HKT-Darstellung definiert: KH :=

k 

()

()

AH ⊗ BH .

=1

15.5 Der Fall d > 2 15.5.1 Spezielle Eigenschaften F¨ ur d > 2 treten neue Eigenschaften auf, die den Umgang mit Tensoren erschweren.

352

15 Tensorprodukte

F¨ ur Matrizen (und damit f¨ ur d = 2) erf¨ ullt eine konvergente Matrixfolge {Mn } die Ungleichung Rang(lim Mn ) ≤ lim inf Rang(Mn )

(15.17)

¨ (vgl. Ubung 2.1.2). Hiervon wurde zum Beispiel im Beweis von Lemma 3.9.7 Gebrauch gemacht. Eine weitere Eigenschaft f¨ ur d = 2 ist das folgende Stabilit¨ atsresultat: Wenn M ∈ R(k, I, J), so gibt es eine Darstellung   k mit M = i=1 a(i) b(i) k  i=1

a(i) (b(i) )

2 F

2

≤ M F

und

a(i) (b(i) )

2

≤ M 2 .

(15.18)

F¨ ur d > 2 l¨ asst sich die Ungleichung (15.17) nicht auf den Tensorrang u atsresultat (15.18) gilt nicht mehr, sodass die ¨bertragen. Auch das Stabilit¨ k-Term-Approximationsaufgabe (15.5) instabil werden kann. Beide Aussagen folgen aus dem folgenden Beispiel, das f¨ ur d = 3 formuliert wird, sich aber trivial auf alle d ≥ 3 erweitern lassen. Beispiel 15.5.1. Sei V = V ⊗ V ⊗ V. Die Vektoren v, w ∈ V seien linear unabh¨ angig. Man setze v := v ⊗ w ⊗ w + w ⊗ v ⊗ w + w ⊗ w ⊗ v,   vn := (v + nw) ⊗ n1 v + w ⊗ w + w ⊗ w ⊗ (v − nw)

f¨ ur n ∈ N.

ur n → ∞. Auf Grund der Identit¨ at v − vn = − n1 v ⊗ v ⊗ w gilt lim vn = v f¨ Damit folgt 3 = T ensorrang(v) = T ensorrang(lim vn ) > T ensorrang(vn ) = 2 im Gegensatz zu (15.17)8 . Außerdem zeigt 8

Die Behauptung T ensorrang(v) = 3 ist noch zu beweisen. Sei dazu die lineare Abbildung Φ : V ⊗ V ⊗ V → V ⊗ V erkl¨ art durch    aν ⊗ bν ⊗ cν := cν , ϕ aν ⊗ bν Φ ν

ν

mit einem Vektor ϕ ∈ V (V ist hier als Hilbert-Raum vorausgesetzt). Falls T ensorrang(v) ≤ 2, h¨ atte v die Darstellung v = a ⊗ b ⊗ c + a ⊗ b ⊗ c . angig sind. Da v, w linear a) Sei zun¨ achst angenommen, dass c und c linear abh¨ unabh¨ angig sind, gibt es ein ϕ ∈ V mit c, ϕ = c , ϕ = 0 und v, ϕ = 0 oder w, ϕ = 0. Dann folgt der Widerspruch aus Φ(v) = 0 wegen c, ϕ = c , ϕ = 0 und Φ(v) = w, ϕ (v ⊗ w + w ⊗ v) + v, ϕ w ⊗ w = 0, (*) da v ⊗ w + w ⊗ v und w ⊗ w linear unabh¨ angig sind. angig angenommen. Einer dieser Vektoren b) Seien c und c als linear unabh¨ muss linear unabh¨ angig von w sein, o.B.d.A. sei dies c . Dann gibt ein ϕ ∈ V  mit c , ϕ = 0 und w, ϕ = 0. Damit folgt einerseits Φ(v) = c, ϕ a ⊗ b, also Rang(Φ(v)) ≤ 1. Andererseits ist (*) wieder g¨ ultig und zeigt Rang(Φ(v)) = 2.

15.5 Der Fall d > 2

 (v + nw) ⊗

1

nv

353



+ w ⊗ w → ∞, w ⊗ w ⊗ (v − nw) → ∞

die Instabilit¨ at. Folgerung 15.5.2 Wegen der Instabilit¨ at aus Beispiel 15.5.1 muss die Approximationsaufgabe (15.5) modifiziert werden. Beispielsweise kann bei k Id i,ν der Fehlerminimierung von v − u u ∈ Tk die ¨ber u = ν=1 i=1 v k Id 2 i,ν 2 Nebenbedingung ν=1  i=1 v  ≤ C u erg¨anzt werden. Eine typische Aufgabe, die u.a. wegen der Rangerh¨ohung infolge der verschiedenen Tensoroperationen erforderlich ist, ist die Rekompression. In (2.10) R : R(, I, J) → R(k, I, J) definiert, der f¨ ur  > k wurde der Operator Tk← Rank--Matrizen optimal in Rank-k-Matrizen k¨ urzt. F¨ ur Tensoren braucht ucksichtigung man eine entsprechende K¨ urzung von T nach Tk . Unter Ber¨ von Folgerung 15.5.2 ist ein solches Verfahren in der Dissertation [40] entwickelt worden, allerdings ist festzuhalten, dass diese Optimierung wesentlich R ist. komplizierter und auch kostenaufw¨ andiger als Tk← Das Problem, die optimale k-Term-Darstellung zu bestimmen, entf¨allt, wenn f¨ ur eine Aufgabe explizit eine gute k-Term-Darstellung konstruiert werden kann. Ein solches Beispiel folgt in §15.5.2. 15.5.2 Inverse eines separablen Differentialoperators d Ein Differentialoperator L in x1 , . . . , xd heißt separabel, wenn L = i=1 Li und Li nur auf die Variable xi wirkt und auch die Koeffizienten von Li nur angen. Außerdem sei das Grundgebiet ein d-dimensionaler Quader. von xi abh¨ Unter dieser Voraussetzung kann ein regelm¨ 7ad ßiges Gitter gew¨ahlt werden, sodass sich die Indexmenge I als Produkt i=1 Ii schreiben l¨asst, wobei Ii die Indizes in der i-ten Koordinatenrichtung enth¨alt. Bei geeigneter Diskretisierung hat die Systemmatrix die Gestalt9 M=

d 

I ⊗ · · · ⊗ M (i) ⊗ · · · ⊗ I,

M (i) ∈ RIi ×Ii

(15.19)

i=1

(Faktor M (i) an i-ter Stelle). Wir setzen voraus, dass M (i) positiv definit10 (i) ist mit kleinstem Eigenwert λmin . Da das Spektrum von M aus allen Summen d d (i) (i) mit λ(i) ∈ σ(M (i) ) besteht, ist λmin := i=1 λ i=1 λmin der kleinste (i) Eigenwert von M. λmin approximiert den kleinsten Eigenwert von Li , sodass (i) (i) onnten einige λmin klein ausfallen; in jedem λmin = O(1). Im anisotropen Fall k¨ Falle darf aber o.B.d.A. f¨ ur die λmin (nach geeigneter Skalierung von L) 9

10

Im Falle des Galerkin-Verfahrens treten anstelle der Einheitsmatrizen I die Massematrizen auf. Auch dieser Fall ist behandelbar (vgl. [52]). Im nichtsymmetrischen Fall k¨ onnen komplexe Eigenwerte auftreten. Dann sind ahlen, die auch dort noch 1/x approximieren. Exponentialsummen Ek zu w¨

354

15 Tensorprodukte

λmin ≥ 1 angenommen werden. In (13.21) wurden Bestapproximationen Ek als Exponentialsummen Ek (x) =

k 

ων e−xtν

ν=1

definiert, die die Funktion 1/x in [1, R] oder [1, ∞) optimal bez¨ uglich der Maximumnorm approximieren. Der Fehler εk := sup {|Ek (x) − 1/x| : 1 ≤ x < ∞} ist f¨ ur einige k in Tabelle 13.1 angegeben. Ein Fehler εk ≈ 10−5 wird beispielsweise f¨ ur k = 10 erreicht. Nach obiger Annahme gilt11 σ(M) ⊂ [1, ∞). Gem¨aß Satz 13.2.12 gilt Ek (M) − M−1 ≤ εk (hierbei wurde ausgenutzt, dass im positiv definiten Fall die Transformation T aus Satz 13.2.12 unit¨ ar ist, d.h. T  T −1  = 1). k  Zur Auswertung Ek (M) = ων exp(−tν M) liefert Lemma 15.3.4b ν=1

exp(−tν M) =

Jd i=1

  exp −tν M (i)

mit M (i) aus (15.19). F¨ ur die schwach besetzte Matrix M (i) ∈ RIi ×Ii wendet man den Algorithmus12 am Ende von §13.2.2.2 zur Berechnung der   H-Matrixapproximationen expH −tν M (i) von exp −tν M (i) an und erh¨alt M−1 ≈

k  ν=1

ων

Jd i=1

  expH −tν M (i) .

Die rechte Seite entspricht der HKT-Darstellung. d Der Berechnungsaufwand ist O(k i=1 #Ii log∗ #Ii ). F¨ ur #Ii = n angt von d nur noch linear ab. (1 ≤ i ≤ d) ist dies O(kdn log∗ n) und h¨ Damit ist es m¨ oglich, auch F¨ alle mit großen n und d zu behandeln. In Grasedyck [52] findet sich ein Beispiel mit n = 1024 und d ≈ 1000. Man beachte, dass in diesem Fall M−1 ∈ RN ×N mit N ≈ 103000 gilt.

11

12

Um die optimale Inklusion σ(M) ⊂ [λmin , λmax ] auszunutzen, m¨ ussten die extremen Eigenwerte explizit bekannt sein. Alternativ k¨ onnte die Methode aus §13.2.2.4 angewandt werden.

A Graphen und B¨ aume

A.1 Graphen Sei V eine nichtleere, endliche Menge (“vertex set”). Eine Paarmenge (V, E) mit der Eigenschaft E ⊂ V × V heißt (gerichteter) Graph mit den Knoten v ∈ V und den Kanten e ∈ E. Ist e das Paar (v, w) , so liegt eine Kante von v nach w vor. Ein Pfad in (V, E) ist eine endliche Folge (v0 , v1 , . . . , vm ), falls m ∈ N und ur alle 1 ≤ i ≤ m. Man spricht dann von einem Pfad, der (vi−1 , vi ) ∈ E f¨ v0 ∈ V mit vm ∈ V verbindet oder kurz einem Pfad von v0 nach vm . m ist die Pfadl¨ ange. Der (gerichtete und daher unsymmetrische) Abstand δ(v, w) zweier Knoten v, w ∈ V sei definiert als ⎧ falls v = w, ⎨ 0 ∞ falls kein Pfad von v nach w existiert, δ(v, w) := (A.1) ⎩ minimale Pfadl¨ ange u ¨ber alle Pfade von v nach w. Zur Bestimmung des Abstandes und zu weiteren Algorithmen mit Graphen sei auf Grasedyck-Kriemann-Le Borne [62] verwiesen. Ein Graph heißt zusammenh¨ angend, wenn f¨ ur beliebige v, w ∈ V, v = w, entweder ein Pfad von v nach w oder von w nach v existiert. Ein Pfad (v0 , v1 , . . . , vm ) heißt Zyklus, falls v0 = vm . Ein Graph, der keinen Zyklus enth¨ alt, heißt azyklisch. Definition A.1.1 (Matrixgraph). Sei M ∈ RI×I . Der zur Matrix M geh¨ orige Matrixgraph G(M ) ist gegeben durch V = I,

E = {(i, j) ∈ I × I : Mij = 0}.

Anmerkung A.1.2. a) Aus M1 , M2 ∈ RI×I sei das Produkt M := M1 M2 gebildet. Dann ist G(M ) enthalten in G := G(M1 ) · G(M2 ), wobei das Produkt der Graphen G(Mk ) = (I, Ek ) (k = 1, 2) wie folgt definiert ist:

356

A Graphen und B¨ aume

(I, E1 ) · (I, E2 ) = (I, EG ) mit EG := {(i, j) ∈ I × I : es gibt ein  ∈ I mit (i, ) ∈ E1 , (, j) ∈ E2 } . Die Gleichheit G(M ) = G anstelle von G(M ) ⊂ G gilt unter anderem f¨ ur agen. Matrizen M1 , M2 mit nichtnegativen Eintr¨ b) F¨ ur die Summe M = M1 + M2 gilt G(M ) ⊂ G(M1 ) ∪ G(M2 ). ur den Graphen von M q gilt c) Seien M ∈ RI×I und q ∈ N0 . F¨  6 (i, j) ∈ I × I : es gibt einen Pfad q . G(M ) ⊂ (I, Eq ) mit Eq := in G(M ) von i nach j der L¨ange q Ebenso gilt f¨ ur alle Polynome p vom Grad ≤ q, dass  6 q  (i, j) ∈ I × I : es gibt einen Pfad in (I, Ek ) = . G(p(M )) ⊂ G(M ) von i nach j der L¨ange ≤ q k=0

Beweis. a) Sei G(M ) = (I, E) . Wegen Mij = Implikationen

 ∈I

M1,i M2,j gelten die

(i, j) ∈ E ⇔ Mij = 0 ⇒ ∃ ∈ I : M1,i = 0 ∧ M2,j = 0 ⇔ (i, j) ∈ EG ; also E ⊂ EG bzw. G(M ) ⊂ G. Im Falle von M1,i , M2,j ≥ 0 reicht die Eigenschaft M1,i = 0 ∧ M2,j = 0 f¨ ur ein  (d.h. in diesem Fall M1,i > 0 und M2,j > 0), damit  M1,i M2,j > 0. Mij = ∈I

b) Mij = M1,ij + M2,ij = 0 ⇒ M1,ij = 0 ∨ M2,ij = 0 ⇔ (i, j) ∈ E1 ∪ E2 , d.h. G(M ) ⊂ G(M1 ) ∪ G(M2 ). ur q = 0, 1. Sei q ≥ 2. c) Die Aussage G(M q ) ⊂ (I, Eq ) folgt direkt f¨ Wenn im Falle a) M1 = M2 und damit E1 = E2 gilt, schreibt sich EG als {(i, j) ∈ I × I : es gibt einen Pfad in G(M1 ) von i nach j der L¨ange 2} . Die Verallgemeinerung von 2 auf q ist offensichtlich. p(M ) ist die Summe von αk M k u ¨ber 0 ≤ k ≤ q. Kombination von G(M q ) ⊂ (I, Eq ) und Teil b) zeigt die Behauptung. Die nachfolgend diskutierten B¨ aume kann man als azyklische, zusammenh¨angende Graphen definieren. Wir w¨ ahlen eine andere Einf¨ uhrung, die die Verwendung von E vermeidet.

A.2 B¨ aume Sei V eine nichtleere, endliche Menge (“vertex set”). S sei eine Abbildung von V in die Potenzmenge P(V ). Dann lassen sich die folgenden Begriffe einf¨ uhren:

A.2 B¨ aume

357

1) Sind v ∈ V und w ∈ S(v), so heißt w Sohn von v. Umgekehrt heißt w Vater von v. ur 2) Eine beliebige Folge (v0 , v1 , . . . , vk ) ∈ V k+1 (k ∈ N0 ) heißt Pfad, falls f¨ ange. alle1 0 ≤ i < k der Knoten vi+1 Sohn von vi ist. Dabei heißt k die Pfadl¨ 3) Ist (v0 , v1 , . . . , vk ) ein Pfad, so heißt vk Nachfolger 2 von v0 . Umgekehrt anger von vk . heißt v0 Vorg¨ B¨ aume werden im Folgenden mit dem Buchstaben T (“tree”) bezeichnet. Definition A.2.1 (Baum, Wurzel, Bl¨ atter). Gegeben seien eine nichtleere, endliche “Knotenmenge” V und die “Sohnabbildung” S : V → P(V ). Die Struktur T = (V, S) heißt Baum, falls die Eigenschaften (i)-(iii) gelten:  (i) Es gibt genau ein Element r ∈ V, das nicht Sohn ist (d.h. v∈V S(v) = V \{r}). Dieser Knoten heißt Wurzel des Baumes und wird mit root(T ) bezeichnet. (ii) Alle v ∈ V sind Nachfolger von r. (iii) Alle v ∈ V \{r} haben genau einen Vater. Die Menge L(T ) := {v ∈ V : S(v) = ∅} ist die Menge der Bl¨atter von T. Im Folgenden identifizieren wir T mit V. Im Zweifelsfall schreiben wir ST f¨ ur die Sohnabbildung in T. Anmerkung A.2.2. T sei ein Baum. a) Zu jedem v ∈ T \{r} gibt es genau einen Pfad von r nach v. b) Es gibt keine Zyklen in T . Dabei heißt ein Pfad (v0 , v1 , . . . , vk ) Zyklus, wenn v0 = vk und k > 0. Beweis. a) Sei (v0 , v1 , . . . , vk ) ein Pfad mit r = v0 , v = vk . Wegen Eigenschaft (iii) ist der Vater vk−1 von vk eindeutig festgelegt. Per Induktion erh¨alt man, dass auch alle Vorg¨ anger eindeutig bestimmt sind. Damit kann h¨ochstens ein in v endender Pfad existieren. Dank (ii) gibt es mindestens einen solchen Pfad. b) Sei (v0 , v1 , . . . , vk ) ein Zyklus. Da alle vi (0 ≤ i ≤ k) einen Vater aß (i) r nicht zum Zyklus geh¨oren. Es (n¨ amlich vi−1 mod k ) haben, kann gem¨ gibt aber einen Pfad (w0 = r, w1 , . . . , w = v0 ) von r zu v0 (vgl. (ii)). Sei w ur das erste Element des Pfades, das zu {v0 , v1 , . . . , vk } geh¨ort: w = wn = vm f¨ geeignete n, m. Dann hat w zwei V¨ ater wn−1 = vm−1 mod k im Widerspruch zu (iii). Definition A.2.3 (Stufenzahl, Baumtiefe). Der Wurzel r = root(T ) wird die Stufe 0 zugeordnet. Jedem v ∈ T \{r} wird die L¨ ange des Pfades von r nach v als Stufenzahl zugewiesen (nach Anmerkung A.2.2a ist der Pfad eindeutig). Die Stufenzahl von v ∈ T wird mit level(v) bezeichnet. Die Baumtiefe ist depth(T ) := max{level(v) : v ∈ T }. 1 2

Dies ist eine leere Bedingung, falls k = 0. Man beachte, dass jeder Knoten sein eigener Nachfolger und Vorg¨ anger ist (Fall k = 0).

358

A Graphen und B¨ aume

depth(T ) () Gelegentlich wird der Baum stufenweise zerlegt: T = ˙ =0 T , wobei T () := {v ∈ T : level(v) = }

f¨ ur 0 ≤  ≤ depth(T ).

(A.2)

Definition A.2.4 (Grad). Der Grad eines Knotens v ∈ T ist grad(v) = #S(v). Ferner wird grad(T (I)) := maxv∈T (I) grad(v) definiert.

A.3 Teilb¨ aume aume mit den SohnDefinition A.3.1 (Teilbaum). T und T  seien zwei B¨ ur alle v ∈ T  gilt, abbildungen S bzw. S  . T  heißt Teilbaum von T, falls f¨ dass v ∈ T und S  (v) ⊂ S(v). Zwei spezielle Arten von Teilb¨ aumen sind hier von besonderem Interesse. Anmerkung A.3.2 (vollst¨ andiger Teilbaum mit gleicher Wurzel). T  ⊂ T sei Teilbaum mit den zus¨ atzlichen Eigenschaften a) root(T ) ∈ T  (¨aquivalent zu  ur alle v ∈ T  erf¨ ulle die Sohnabbildung entweder root(T ) = root(T )) und b) f¨   S (v) = ∅ oder S (v) = S(v). Wir nennen T  einen “vollst¨andigen Teilbaum mit gleicher Wurzel”. Die Vollst¨ andigkeit bezieht sich auf die Eigenschaft, dass S  (v) keine echte Teilmenge zwischen ∅ und S(v) sein darf. F¨ ur den Zerlegungsbaum aus Definition A.4.1 wird die Bedingung b) der Anmerkung A.3.2 sofort aus der Grundbedingung S  (v) ⊂ S(v) folgen, sodass wir im Weiteren nur noch vom “Teilbaum mit gleicher Wurzel” sprechen werden. Anmerkung A.3.3 (Teilbaum zu v ∈ T ). T sei ein Baum mit der Sohnabbildung S = ST und v ∈ T. Sei T (v) ⊂ T die Menge, die aus allen Nachankung von S auf T (v). Dann ist folgern von v besteht. ST (v) sei die Beschr¨ T (v) mit ST (v) ein Baum und Teilbaum von T. Im Folgenden wird der Zusammenhang zwischen der Kardinalit¨at #T des Baumes und der Anzahl #L(T ) seiner Bl¨ atter untersucht. Lemma A.3.4. a) F¨ ur alle v ∈ T \L(T ) gelte #S(v) ≥ 2. Dann gilt3 #T ≤ 2 #L(T ) − 1.

(A.3a)

b) Im allgemeineren Fall #S(v) ≥ 1 f¨ ur v ∈ T \L(T ) gilt noch4 #T ≤ 1 + depth(T ) · #L(T ). 3

4

(A.3b)

Die Gleichheit in (A.3a) gilt f¨ ur einen bin¨ aren Baum, d.h. wenn #S(v) = 2 f¨ ur alle v ∈ T \L(T ). Die Gleichheit in (A.3b) gilt f¨ ur einen Baum mit #S(v) = 1 f¨ ur alle Knoten v ∈ T \(L(T ) ∪ {root(T )}).

A.4 B¨ aume zu Mengenzerlegungen

359

Beweis. i) F¨ ur (A.3a) wird Induktion u ¨ber #T verwendet. Im Falle #T = 1 ist T = L(T ) = {r} und #T = 1 = 2 · 1 − 1 = 2 #L(T ) − 1. Die Behauptung gelte f¨ ur B¨ aume der Kardinalit¨ at n−1. Sei #T = n > 1 und r = root(T ). Die Menge T zerf¨ allt disjunkt in {r} und die Teilb¨ aume T (v) (v ∈ S(r)) aus Anmerkung A.3.3. Die Eigenschaft aus Lemma A.3.4a u (v), sodass nach ¨bertr¨agt sich auf T Induktionsannahme #T (v) ≤ 2 #L(T (v)) − 1 . Da L(T ) = v∈S(r) L(T (v)) eine disjunkte Vereinigung ist, folgt  #T (v) ≤ 2 #L(T ) − #S(r) ≤ 2 #L(T ) − 2. v∈S(r)

 Zusammen erhalten wir #T = 1 + v∈S(r) #T (v) ≤ 2 #L(T ) − 1. ii) Im Falle b) gehen wir wie in i) vor, wobei jetzt #T (v) ≤ 1 + depth(T (v)) · #L(T (v)) gilt. Es folgt nun   #T = 1+ #T (v) ≤ 1+ depth(T )·#L(T (v)) = 1+depth(T )·#L(T ) v∈S(r)

v∈S(r)

wegen depth(T (v)) ≤ depth(T ) − 1.

A.4 B¨ aume zu Mengenzerlegungen Wir sprechen von einem bezeichneten Baum T , wenn es eine Bezeichnungsabbildung μ : T → B gibt. Im Folgenden wird der Baum die Zerlegung einer Menge I in Teilmengen beschreiben. Die Teilmengen werden als Bezeichnung gew¨ ahlt, sodass μ in die Potenzmenge B = P(I) abbildet. Definition A.4.1 (Zerlegungsbaum). Sei I eine Menge. Ein Baum T mit μ : T → P(I)\{∅} heißt Zerlegungsbaum zu I, falls gilt: (i) (ii) (iii)

μ(root(T )) = I, f¨ ur alle v ∈ T und s, s ∈ S(v) mit s = s gilt μ(s) ∩ μ(s ) = ∅,  f¨ ur alle v ∈ T \L(T ) gilt ˙ s∈S(v) μ(s) = μ(v).

Die Eigenschaften (ii) und (iii) besagen, dass die Teilmenge μ(v) ⊂ I in  disjunkte Teilmengen μ(vi ) mit ˙ i μ(vi ) = μ(v) zerlegt wird, wobei vi die S¨ ohne zu v seien. Die Wurzel repr¨ asentiert die Gesamtmenge. Lemma A.4.2. T sei ein Zerlegungsbaum zu I. Dann gilt: a) {μ(v) : v ∈ L(T )} ist eine disjunkte Zerlegung von I, d.h. die Teilmengen μ(v) sind disjunkt und ihre Vereinigung liefert I. b) Der Teilbaum T (v) aus Anmerkung A.3.3 ist ein Zerlegungsbaum zu μ(v).

360

A Graphen und B¨ aume

Beweis. Teil b) ist offensichtlich: Bedingung (i) aus Definition A.4.1 lautet μ(root(T (v))) = μ(v), w¨ ahrend (ii) und (iii) beschr¨ankt auf T (v) g¨ ultig bleiben. Teil a) wird durch Induktion u oße #T des Baumes bewiesen. ¨ber die Gr¨ F¨ ur #T = 1 besteht die Zerlegung nur aus {I}. Die Behauptung gelte f¨ ur B¨aume der Gr¨ oße ≤ n − 1, und es sei #T = n. F¨ ur die Teilb¨aume T (s), s ∈ S(root(T )), beschreiben {μ(v) : v ∈ L(T (s))} gem¨aß Induktionsannahme disjunkte Zerlegungen von μ(s). Da nach (ii) und (iii) {μ(s) : s ∈ S(root(T ))} seinerseits  eine disjunkte Zerlegung von I ist, folgt die Behauptung aus L(T ) = s∈S(root(T )) L(T (s)) . Korollar A.4.3. a) Sei T gem¨ aß (A.2) stufenweise in T () zerlegt. Dann ist I = {μ(v) : v ∈ T () } ∪˙

 ˙ −1  k=0

@

μ(v) : v ∈ L(T (k) )

eine disjunkte Zerlegung von I. b) Insbesondere ist v∈T () #μ(v) ≤ #I. Beweis. T 

:=

 ˙

k=0 T

(k)

ist ein Teilbaum mit der gleichen Wurzel −1 μ(root(T  )) = μ(root(T )) = I und mit L(T  ) = T () ∪˙ ˙ k=0 L(T (k) ). Teil b) folgt aus {μ(v) : v ∈ T () } ⊂ I. Wenn #S(v) = 1 f¨ ur alle v ∈ T gilt, ist die Bezeichnungsabbildung μ injektiv. Daher kann man die Knotenmenge T durch die Bezeichnungen μ(T ) ersetzen. Eine zus¨ atzliche Bezeichnung mittels μ er¨ ubrigt sich. Sobald aber #S(v) = 1 auftritt, muss μ(v) = μ(s) f¨ ur s ∈ S(v) gelten, d.h. μ ist nicht injektiv. v0

v1

v3

v6

v7

v0

v2

v4

v8

v1

v5

v9

v10

v3

v11

v6

v7

v’2

v4

v8

v10

v11

v9

Abb. A.1. Baum T (links) und reduzierter Baum Tred (rechts) mit μ(v2 ) = μ(v5 ) = μ(v2 )

Anmerkung A.4.4 (reduzierter Baum). Wenn #S(v) = 1 auftritt, aber die Knoten des Baumes nur mittels μ(v) ben¨ otigt werden, kann man von T zum reduzierten Baum Tred u ¨bergehen. Sei (v0 , v1 , . . . , vk ) ein maximaler ur 1 ≤ i ≤ k. Die Pfad mit S(vi−1 ) = {vi } (und daher μ(vi−1 ) = μ(vi )) f¨ Knoten {v0 , v1 , . . . , vk } von T werden in Tred zu einem einzigen Knoten v0 zusammengezogen, wobei μ(v0 ) := μ(v0 ) und S(v0 ) = S(vk ) definiert wird.

A.4 B¨ aume zu Mengenzerlegungen

361

Der entstehende Baum Tred erf¨ ullt dann #S(v) = 1 f¨ ur alle v ∈ Tred (vgl. Abbildung A.1). Man beachte, dass die Sohnmengen ST (vk ) und STred (v0 ) u ¨bereinstimmen, aber unterschiedlichen Stufen angeh¨oren. Sei T = T (I) ein Zerlegungsbaum zur Menge I. Dieser kann verwendet ur beliebige Teilwerden, um in einfacher Weise Zerlegungsb¨ aume T (I  ) f¨   mengen I ⊂ I zu konstruieren. T (I ) ist im Wesentlichen der Schnitt von T (I) mit I  . Zur Beschreibung verwendet wir als Zwischenschritt den Baum T ∗ mit den gleichen Knoten und Sohnabbildungen wie T (I), aber mit der neuen Bezeichnung μ∗ (v) := μ(v) ∩ I  . Man stellt fest, dass T ∗ die Bedingungen (i), (ii) und (iii) der Definition A.4.1 an einen Zerlegungsbaum zur ullt. Allerdings geh¨ ort μ∗ nur zu P(I  ) und nicht wie gefordert Menge I  erf¨ zu P(I  )\{∅}. Deshalb streicht man im zweiten Schritt alle Knoten v ∈ T ∗ mit μ∗ (v) = ∅ und reduziert die Sohnmenge des Vaters entsprechend. Dies definiert T (I  ). Anmerkung A.4.5. a) Falls in der obigen Konstruktion I  mit μ(v) f¨ ur ein v ∈ T (I) u ¨bereinstimmt, ist T (I  ) identisch zum Teilbaum T (v) aus Lemma A.4.2b. b) Auch wenn #S(v) = 1 f¨ ur v ∈ T (I), gilt diese Eigenschaft im Allgemeinen nicht f¨ ur T (I  ).

B Polynome

B.1 Multiindizes B.1.1 Notation Sei N0 = N ∪ {0}. Indizes ν ∈ N0 treten bei der ν-fachen Ableitung oder als Exponent in xν auf. Multiindizes sind d-Tupel ν ∈ Nd0 mit d ∈ N, wobei im Falle d = 1 der Multiindex zum u ¨blichen Index wird. Die folgenden Notationen sind u ¨blich: |ν| =

d  i=1

νi ,

ν! =

d ;

νi ! ,

xν =

i=1

d ;

xνi i

(x ∈ Rd oder x ∈ Cd )

(B.1)

i=1

Die Formulierung (B.1) erlaubt es, Polynome bzw. Potenzreihen in xi als  cν xν (B.2) ν

zu schreiben, wobei f¨ ur einen totalen [bzw. partiellen] Polynomgrad p u ¨ber ur 1 ≤ i ≤ d] summiert wird. Bei alle ν ∈ Nd0 mit |ν| ≤ p [bzw. νi ≤ p f¨ Potenzreihen wird u ¨ber alle ν ∈ Nd0 summiert. F¨ ur Funktionen von x ∈ Rd wird die |ν|-fache gemischte Ableitung wie folgt notiert:  νi d  ; ∂ ν . (B.3) ∂x = ∂xi i=1 B.1.2 Formelsammlung Die Ableitungen von Monomen sind ∂xν xμ =

μ! xμ−ν f¨ ur ν ≤ μ, (μ − ν)!

insbesondere ∂xν xν = ν! ,

(B.4)

364

B Polynome

wobei ν ≤ μ komponentenweise zu verstehen ν ∈ Nd0 . pμν− p−ν p ist: p Die binomische Formel (x1 + x2 ) = ν=1 ν x1 x2 verallgemeinert sich f¨ ur d Summanden zu /p . d   p! xν xi = (p ∈ N0 ), (B.5) ν! i=1 |ν|=p

uhrt wird. wobei die Summe u ¨ber alle ν ∈ Nd0 mit |ν| = p gef¨ Die Taylor-Reihe einer in allen Variablen analytischen Funktion lautet f (x) =

 (x − x0 )ν ∂xν f (x0 ). ν! d

(B.6)

ν∈N0

Die endliche Taylor-Summe mit Restglied ist f (x) =

 (x − x0 )ν ∂xν f (x0 ) + Rp ν!

(B.7)

|ν|≤p

mit Rp =

1 Dp+1 f (x0 + ϑ (x − x0 )), (p + 1)! x−x0

wobei ϑ ∈ (0, 1) ein geeigneter Zwischenwert ist und Dh =

d  i=1

hi

∂ ∂xi

(B.8)

die Ableitung in Richtung h ∈ Rd ist. Man beachte, dass h nicht notwendigerweise die L¨ ange 1 besitzt.

B.2 Polynomapproximation Der Raum der stetigen Funktionen definiert auf D wird mit C(D) bezeichnet. Die zugeh¨ orige Norm ist die Maximum- bzw. Supremumsnorm, die mit ·∞ , ·∞,D oder ·C(D) bezeichnet wird. Der Weierstraßsche1 Approximationssatz garantiert die Approximierbarkeit stetiger Funktionen auf einem Kompaktum bez¨ uglich der Maximumnorm. F¨ ur die in der Numerik notwendigen quantitativen Aussagen braucht man weitere Bedingungen an die Glattheit. Die weitestgehende Annahme ist, dass die Funktion in einem Bereich analytisch ist. Als ein solcher Bereich wird im Folgenden eine Ellipse gew¨ ahlt.  6 x2 y2 Ea,b := z ∈ C : z = x + iy, 2 + 2 ≤ 1 a b 1

Karl Theodor Wilhelm Weierstraß, geboren am 31. Oktober 1815 in Ostenfelde, gestorben am 19. Februar 1897 in Berlin.

B.2 Polynomapproximation

365

ist die Ellipse mit den Halbachsen a und b. Speziell ist Eρ := E 12 (ρ+1/ρ), 12 (ρ−1/ρ)

f¨ ur ρ > 1

die eindeutige Ellipse mit den Brennpunkten ±1 und der Halbachsensumme ρ. Das Innere von Eρ wird mit E˚ρ bezeichnet. Man beachte, dass wegen ρ > 1 das Intervall [−1, 1] in E˚ρ enthalten ist. Da im Folgenden die zu approximierende Funktion in E˚ρ holomorph sein soll, heißt Eρ auch Regularit¨atsellipse. Das Hauptergebnis ist der folgende Satz von Bernstein2 , der z.B. in [36, Sec. 8, Chap. 7] bewiesen ist. aßig Satz B.2.1 (Bernstein). Sei ρ > 1. f sei in E˚ρ analytisch und gleichm¨ beschr¨ ankt (d.h. f ∈ L∞ (E˚ρ )). Dann gibt es zu jedem p ∈ N0 ein Polynom Pp vom Grad ≤ p, sodass f − Pp ∞,[−1,1] ≤

2ρ−p f ∞,E˚ρ . ρ−1

(B.9)

Dabei bezeichnet f ∞,K := supz∈K |f (z)| die Supremumsnorm auf K. Ein beliebiges reelles Intervall [x1 , x2 ] mit x1 < x2 wird durch 2 (z − x1 ) auf [−1, 1] abgebildet. Wir setzen Φ(z) := −1 + x2 −x 1 Eρ ([x1 , x2 ]) := Φ−1 Eρ & =



z ∈ C : z = x + iy,

x−

 x1 +x2 2 2 2

(ρ + 1/ρ)

+



y2 (ρ − 1/ρ)

2



x2 − x1 4

2 K .

Eine einfache Folgerung aus Satz B.2.1 lautet wie folgt. Korollar B.2.2. Die auf J = [x1 , x2 ] definierte Funktion f lasse sich holomorph auf E˚ρ (J) fortsetzen mit M := sup{|f (z)| : z ∈ E˚ρ ([x1 , x2 ])}. Dann gibt es zu jedem p ∈ N0 ein Polynom Pp vom Grad ≤ p, sodass f − Pp ∞,J ≤

2ρ−p M. ρ−1

(B.10)

Die n¨ achste Aussage verlangt eine Eigenschaft von f, die in Anhang E als asymptotische Glattheit diskutiert werden wird. Lemma B.2.3. J ⊂ R sei ein abgeschlossenes Intervall der L¨ ange diam(J). Es gebe Konstanten C, γ ≥ 0 mit dn u dxn 2

∞,J

≤ Cu n!γun

f¨ ur alle n ∈ N0 .

(B.11a)

Sergei Natanowitsch Bernstein, geboren am 22. Februar 1880 in Odessa, gestorben am 26. Oktober 1968 in Moskau.

366

B Polynome

Dann gibt es zu jedem p ∈ N0 ein Polynom Pp vom Grad ≤ p, sodass  f − Pp ∞,J ≤ 4eCu (1 + γu diam(J)) (p + 1) 1 +

2 γu diam(J)

−(p+1) . (B.11b)

Beweis. In Melenk-B¨ orm-L¨ ohndorf [115].

B.3 Polynominterpolation B.3.1 Eindimensionale Interpolation B.3.1.1 Lagrange-Darstellung Zun¨ achst sei an die allgemeine Polynominterpolation im Intervall [a, b] erinnert. Gegeben sei eine mindestens in [a, b] stetige Funktion f. Seien p + 1 p ahlt. Die zugeh¨origen Lagrangeverschiedene St¨ utzstellen (xi )i=0 in [a, b] gew¨ Polynome sind ; x − xj . (B.12) Li (x) = xi − xj j∈{0,...,p}\{i}

Die Polynominterpolierende von f lautet dann I f := p

p 

f (xi )Li .

(B.13)

i=0

Die Interpolationsabbildung I p von C([a, b]) in den Unterraum der Polynome vom Grad ≤ p ist eine Projektion. B.3.1.2 Fehlerabsch¨ atzung Seien f ∈ C p+1 ([a, b]) und x ∈ [a, b]. Dann gibt es einen Zwischenwert ξ ∈ [a, b], sodass3 p ; 1 f (x) − (I f ) (x) = (x − xi ) f (p+1) (ξ) (p + 1)! i=0 p

(B.14)

7p (vgl. [129, Abschnitt 2.1.4]). Mit Cω (I p ) := max { i=0 |x − xi | : x ∈ [a, b]} folgt damit die Fehlerabsch¨ atzung in der Maximumnorm u ¨ber [a, b]: f − I p f ∞ ≤ 3

1 Cω (I p ) f (p+1) (p + 1)!



.

(B.15)

Falls der Fehler f (x)−(I p f ) (x) f¨ ur x außerhalb von [a, b] ben¨ otigt wird (Extrapolation), ist (B.14) anzuwenden mit ξ ∈ [min{x, x1 , . . . , xn }, max{x, x1 , . . . , xn }].

B.3 Polynominterpolation

367

Anmerkung B.3.1. Eine Interpolation in einem Referenzintervall [a, b] kann kanonisch auf ein Intervall [A, B] u ¨bertragen werden. Sei dazu Ξ : [a, b] → . Gilt (B.15) auf [a, b] [A, B] die affine Abbildung Ξ(x) = A + (B−A)(x−a) b−a ur die Interpolation von f ∈ C([A, B]) in den mit Cω = Cω (I p ), so folgt f¨ St¨ utzstellen ξi = Ξ(xi ), dass p f − I[A,B] f



p = f ◦ Ξ − I[a,b] (f ◦ Ξ)



1 (p+1) Cω (I p ) (f ◦ Ξ) ≤ (p + 1)! ∞  p+1 B−A 1 = Cω (I p ) f (p+1) (p + 1)! b − a



d.h. die Konstante Cω (I p ) transformiert sich gem¨aß p+1  B−A p p Cω (I[A,B] ) = Cω (I[a,b] ) . (B.16) b−a p k 1 (k) f (x0 ) (x − x0 ) ist der Im Falle der Taylor-Entwicklung f (x) ≈ k=0 k! utzstelle Entwicklungspunkt x0 eine (p + 1)-fache St¨ 7p (Spezialfall der HermiteInterpolation). Entsprechend gilt (B.14) mit i=0 (x − xi ) ersetzt durch p+1 (x − x0 ) . Wird x0 als der Mittelpunkt des Intervalles [a, b] gew¨ahlt, folgt (B.15) mit p+1  b−a . Cω (I p ) = 2 B.3.1.3 Stabilit¨ at Neben der Fehlerabsch¨ atzung interessiert noch die sogenannte Stabilit¨ atskonstante Cstab (I p ) := I p C(B)←C(B) =

sup f ∈C(B) und f ∞ =1

I p f ∞

(B.17)

(vgl. [71, §3.4]), wobei B ⊂ Rd ein kompakter Bereich ist. Cstab (I p ) ist die bestm¨ ogliche Konstante in der Absch¨ atzung I p f ∞,B ≤ Cstab (I p ) f ∞,B

f¨ ur alle f ∈ C(B).

(B.18)

Die Gr¨ oße Cstab (I p ) ist gegen eine affine Transformation auf einen anderen Bereich invariant. Die Stabilit¨ at erlaubt Bestapproximationsresultate min{f − Pp ∞,B : Pp Polynom vom Grad4 ≤ p} auf die Interpolation zu u ¨bertragen: 4

 Der Polynomgrad p von P = ν aν xν kann sowohl mittels |ν| ≤ p als auch durch max1≤i≤d νi ≤ p definiert werden, wenn auch die Polynominterpolaton I p im gleichen Sinne den totalen bzw. partiellen Grad p verwendet.

368

B Polynome

Lemma B.3.2. F¨ ur alle f ∈ C(B) gilt f − I p f ∞,B ≤ [1 + Cstab (I p )]

min

Pp Polynom vom Grad≤p

f − Pp ∞,B .

Beweis. Sei Pp das minimierende Polynom. Da I p (Pp ) = Pp , folgt f − I p (f ) = (f − Pp ) − (I p (f ) − I p (Pp )) = (f − Pp ) − I p (f − Pp ) , was zu f − I p (f )∞,J ≤ (1 + Cstab (I p )) f − Pp ∞,J = [1 + Cstab (I p )] min{f − Pp ∞,B } f¨ uhrt. Die Kombination der Stabilit¨ atsabsch¨ atzung mit der Bestapproximation aus Korollar B.2.2 erlaubt eine ableitungsfreie Absch¨atzung des Interpolationsfehlers. Satz B.3.3. Die auf J = [a, b] definierte Funktion f lasse sich holomorph auf E˚ρ (J) fortsetzen mit M := sup{|f (z)| : z ∈ E˚ρ (J)}. Die auf J definiert Interpolation I p besitze die Stabilit¨ atskonstante Cstab (I p ). Dann gilt 2ρ−p M. (B.19) f − I p (f )∞,J ≤ [1 + Cstab (I p )] ρ−1 ˇ B.3.1.4 Cebyˇ sev-Interpolation ˇ In [a, b] = [−1, 1] lauten die Cebyˇ sev-Knoten   i + 1/2 π , i = 0, . . . , p xi = cos p+1 ˇ (Nullstellen des Cebyˇ sev-Polynoms Tp+1 vom Grad p + 1). Folglich ist 7p −p−1 (x − x ) = 2 T i p+1 (x) und i=0 p Cω (ICebyˇ ) = 2−p−1 . ˇ sev

(B.20)

ˇ Transformation der Cebyˇ sev-Knoten auf ein allgemeines Intervall [a, b] f¨ uhrt gem¨ aß (B.16) auf p+1  b−a p )= . (B.20*) Cω (ICebyˇ ˇ sev,[a,b] 4 Außerdem ist die Stabilit¨ atseigenschaft optimal (vgl. [120]): p Cstab (ICebyˇ )≤1+ ˇ sev

2 log (p + 1) . π

(B.21)

B.3 Polynominterpolation

369

B.3.2 Tensorprodukt-Interpolation Sei d die r¨ aumliche Dimension und B := [a1 , b1 ] × . . . × [ad , bd ] ein ddimensionaler Quader. Auf jedem Intervall [ai , bi ] wird eine Interpolation Iip mit Polynomgrad p definiert. Da die Variablen nun x1 , . . . , xd heißen, werden die St¨ utzstellen von Iip in xi,0 , . . . , xi,p umbenannt. Entsprechend sind Li,0 , . . . , Li,p die Lagrange-Polynome in xi . Sei f ∈ C(B). Die Interpolation I1p f betrifft nur die Variable x1 . Die Gesamtinterpolation ist p = Idp · · · I2p I1p , IB  p wobei die Reihenfolge beliebig ist. Das Bild von IB ist ein Polynom aν xν d (vgl. (B.2)), wobei die Summe u ¨ber alle ν ∈ {0, 1, . . . , p} verl¨auft. Die mehrdimensionale Lagrange-Darstellung lautet p 

p f= IB

f (x1,i1 , . . . , x1,id ) L1,i1 (x1 ) · · · · · Ld,id (xd ),

i1 ,...,id =0

wobei Lk,i (xk ) (0 ≤ i ≤ p) die eindimensionalen Lagrange-Polynome zu den St¨ utzstellen xk,0 , . . . , xk,p sind. Lemma B.3.4. F¨ ur den Interpolationsfehler gilt ⎛ ⎞ d k−1  ; 1 ∂ p+1 p ⎝ f − IB f ∞,B ≤ Cstab (Ijp )⎠ Cω (Ikp ) f (p + 1)! ∂xp+1 i j=1 k=1

. ∞,B

(B.22) Beweis. F¨ ur jedes k ∈ {1, . . . , d} ist Ikp : C(B) → C(B) die Interpolationsabbildung mit (Ikp f ) (x1 , . . . , xk , . . . , xd ) =

p 

f (x1 , . . . , xk,i , . . . , xd ) Lk,i (xj ).

i=0

Fehlerabsch¨ atzung (B.15) und Stabilit¨ atsaussage (B.18) liefern 1 Cω (Ikp )∂jp+1 f ∞,B , (p + 1)! ≤ Cstab (Ikp )f ∞,B ,

f − Ikp f ∞,B ≤ Ikp f ∞,B ur wobei ∂kp+1 eine Kurzform f¨ erh¨ alt man hiermit

∂ p+1 ∂xp+1 k

p ist. F¨ ur das Produkt IB = Idp · · · I2p I1p

370

B Polynome

p f − IB f ∞,B = f −

=

d 

d  k=1

 k−1 ;



j=1



d  k=1



k−1 ;

⎝ ⎛

Ijp f

j=1



k=1



d ;

j=1

k−1 ;





=

≤ ∞,B





k−1 ;



k=1

∞,B



Ijp (f − Ikp f )⎠

d 

d  k=1

Ijp f −

j=1



⎞ Ijp f ⎠

j=1

∞,B





k−1 ;

k ;

Ijp ⎠ (f − Ikp f )

j=1

∞,B

Cstab (Ijp )⎠ f − Ikp f ∞,B ⎞ Cstab (Ijp )⎠

j=1

1 Cω (Ikp ) ∂kp+1 f ∞,B , (p + 1)!

womit (B.22) gezeigt ist. W¨ ahlt man die eindimensionalen Interpolationen mit Hilfe der (auf ˇ sev-Knoten, so ist Cstab (Ijp ) = O(log(p + 1)) [ai , bi ] transformierten) Cebyˇ p+1  i (vgl. (B.21)) und Cω (Iip ) = bi −a (vgl. Anmerkung B.3.1). Zusammen 4 erh¨ alt man p f f − IB, ˇ Cebyˇ sev



(B.23)

∞,B

p+1 d   const bi − ai ∂ p+1 logd−1 (p + 1) f (p + 1)! 4 ∂xp+1 i i=1

. ∞

C Lineare Algebra, Funktionalanalysis, Singul¨ arwertzerlegung

C.1 Matrixnormen Zuerst sei an die Standarddefinitionen von Matrixnormen erinnert. Wenn man die Matrix M ∈ RI×J als einen Vektor u ¨ber der Indexmenge I × J auffasst, l¨ asst sich die Euklidische Vektornorm definieren, die hier Frobenius-Norm heißt: 8  2 |Mi,j | f¨ ur M ∈ RI×J (C.1) M F = i∈I,j∈J

(weitere Namen f¨ ur ·F sind Schur-Norm und Hilbert-Schmidt-Norm). Der normierte Raum (RI×J , ·F ) ist ein Hilbert-Raum mit dem Skalarprodukt  A, BF := Ai,j Bi,j = Spur(AB  ), (C.2) i∈I,j∈J

 2 Ai,j Bi,j = da M, M F = M F . Im Falle von B ∈ CI×J ist in (C.2) Spur(AB H ) zu setzen. ur x ∈ RI bzw. y ∈ RJ , so geh¨ort Sind xX und yY Vektornormen f¨ hierzu die zugeordnete Matrixnorm 6  M yX J f¨ ur M ∈ RI×J . : 0 = y ∈ R M  := M X←Y := sup yY (C.3) F¨ ur die spezielle Wahl der Euklidischen Vektornorm 8 2 |ui | f¨ ur u ∈ RK (C.4) u2 := i∈K

anstelle der Normen ·X und ·Y erh¨ alt man als zugeordnete Matrixnorm M X←Y die Spektralnorm M 2 . ¨ Ubung C.1.1. F¨ ur M ∈ RI×J und i ∈ I, j ∈ J zeige man |Mij | ≤ M 2 .

372

C Lineare Algebra, Funktionalanalysis, Singul¨ arwertzerlegung

Im Falle quadratischer Matrizen ist der Begriff der “orthogonalen Matrix” u andlich, da eigentlich von orthonormalen ¨blich, wenn er auch etwas missverst¨ Matrizen gesprochen werden m¨ usste. Noch kritischer ist der Begriff im Falle von rechteckigen Matrizen anzusehen, da hier nur die Spalten (nicht die Zeilen) orthonormal sind. Definition C.1.2. a) Eine (rechteckige) Matrix U ∈ RI×J heißt orthogonal, wenn U  U = I ∈ RJ×J (d.h. die Spalten von U bilden ein Orthonormalsystem). b) Im Fall komplexer und quadratischer Matrizen heißt U unit¨ar, falls U H U = I. Man beachte, dass f¨ ur eine orthogonale Matrix stets #I ≥ #J gelten muss. F¨ ur quadratische Matrizen (#I = #J) impliziert U  U = I auch U U  = I, d.h. auch die Zeilen von U bilden ein Orthonormalsystem. Anmerkung C.1.3. a) Die Spektralnorm M 2 ist der gr¨oßte Eigenwert von M  M wie auch von M M  . b) Die folgenden Absch¨ atzungen sind die im allgemeinen Fall bestm¨ oglichen: = (C.5) M 2 ≤ M F ≤ Rang(M ) M 2 = I×J ≤ min{#I, #J} M 2 f¨ ur M ∈ R . c) Sind U ∈ RI×I und V ∈ RJ×J orthogonale Matrizen, so besitzen M, U M, M V  , U M V  die gleichen Spektralnormen wie auch die gleichen Frobenius-Normen. 2 = Spur(M  M ), wobei die Spur einer Matrix A ∈ RI×I durch d) M F Spur(A) := i∈I aii definiert ist. e) ρ(M ) ≤ M  f¨ ur jede zugeordnete Matrixnorm. ur alle normalen Matrizen (M ∈ CI×I ist normal, f) ρ(M ) = M 2 f¨ H H alle von normalen Matrizen sind Hermitesche falls M M = M M ). Spezialf¨ Matrizen (M == M H ) bzw. reelle symmetrische Matrizen (M = M  ∈ RI×I ). g) M 2 ≤ M ∞ M  ∞ mit der Zeilensummennorm  @ M ∞ = max |aij | : i ∈ I . j∈J

Schließlich sei an eine Charakterisierung der Eigenwerte einer positiv semidefiniten Matrix erinnert. Lemma C.1.4. A ∈ RI×I sei eine symmetrische, positiv semidefinite Matrix, d.h. Ax, x ≥ 0 f¨ ur alle x. a) Dann erlaubt A die Darstellung A = U ΛU  mit einer orthogonalen Matrix U ∈ RI×{1,...,#I} und einer Diagonalmatrix Λ ∈ R{1,...,#I}×{1,...,#I} mit nichtnegativen Eigenwerten λi = Λii . O.B.d.A. k¨ onnen die Eigenwerte als geordnet angenommen werden: λ1 ≥ λ2 ≥ . . . .

C.2 Singul¨ arwertzerlegung von Matrizen

373

b) Seien λ1 ≥ λ2 ≥ . . . die Eigenwerte aus a). F¨ ur alle 1 ≤ k ≤ #I gilt die Charakterisierung λk =

min V ⊂ RI Unterraum mit dim V ≤ k − 1

Ax, x . max x ∈ RI mit x2 = 1 und x⊥V

(C.6)

Beweis zu b). Da Ax, x = Λy, y f¨ ur y = U  x, kann die Behauptung auch in der Form $ % min max Λy, y : y ∈ RI mit y2 = 1, y⊥W λk = W, dim W≤k−1

mit Unterr¨ aumen W := U  V geschrieben werden. Sei W mit dim W ≤ k−1 ur alle i > k. Diese y bilden gegeben. Wir w¨ahlen y ∈ RI mit yi = 0 f¨ einen k-dimensionalen Unterraum Y. Da dim W ≤ k − 1, gibt es mindestens k 2 ein 0 = y ∈ Y mit y2 = 1, y⊥W. Offenbar gilt Λy, y = i=1 λi yi ≥ k 2 I alt i=1 λk yi ≥ λk . Mit der Wahl W = {w ∈ R : wi = 0 : k ≤ i ≤ #I} erh¨ man die Gleichheit Λy, y = λk .

C.2 Singul¨ arwertzerlegung von Matrizen Die Singul¨ arwertzerlegung (Abk¨ urzung: SVD f¨ ur das englische “singular value decomposition”) ist die Verallgemeinerung der Diagonalisierung quadratischer Matrizen. Die hier betrachteten Matrizen d¨ urfen das rechteckige Format RI×J besitzen, was den quadratischen Fall I = J einschließt. Lemma C.2.1 (Singul¨ arwertzerlegung). a) Sei M ∈ RI×J eine beliebige Matrix. Dann gibt es orthogonale Matrizen U ∈ RI×{1,...,#I} und V ∈ RJ×{1,...,#J} und eine diagonale Rechtecksmatrix Σ ∈ RI×I , ⎡ ⎤ σ1 0 . . . 0 0 . . . 0 ⎛ ⎞ ⎢ ⎥ Illustration ⎢ 0 σ2 . . . 0 0 ⎥ 0⎥ ⎝ f¨ ur den Fall ⎠ , Σ=⎢ (C.7a) ⎢. . . . .. .. ⎥ . . . . ⎣. . .. #I ≤ #J . .⎦ 0 ... 0

σ#I 0 . . . 0

mit sogenannten Singul¨ arwerten1 σ1 ≥ σ2 ≥ . . . ≥ σi = Σii ≥ . . . ≥ 0 (1 ≤ i ≤ min{#I, #J}), sodass M = U Σ V . b) Die Spektralnorm von M hat den Wert M 2 = σ1 . c) Die Frobenius-Norm von M hat den Wert ' min{#I,#J} σi2 . M F = i=1

1

(C.7b)

(C.7c)

F¨ ur Indizes  > min{#I, #J} werden formal die Singul¨ arwerte als σ := 0 definiert.

374

C Lineare Algebra, Funktionalanalysis, Singul¨ arwertzerlegung

Beweis. i) Sei o.B.d.A. #I ≤ #J angenommen und A := M M  ∈ RI×I gesetzt. Als symmetrische und sogar positiv semidefinite Matrix ist A zerlegbar in A = U D U  (U ∈ RI×{1,...,#I} orthogonal, D = diag{d1 , . . . , d#I }), wobei . ≥ 0. die (nichtnegativen) √ Eigenwerte o.B.d.A. sortiert seien: d1 ≥ d2 ≥ . .  ur W := M U = Setzen wir σi := di in (C.7a), so gilt D = ΣΣ  . F¨ alt man [w1 , . . . , w#I ] ∈ RJ×{1,...,#I} erh¨ D = U AU = U  M M  U = W  W. Damit sind die Spalten wi paarweise orthogonal mit wi , wi  = di = σi2 . Die Matrix V ∈ RJ×{1,...,#J} soll orthogonal sein und W = V Σ,

d.h. wi = σi vi

(1 ≤ i ≤ #I)

ur 1 ≤ i ≤ i∗ ergeben sich die vi eindeutig erf¨ ullen. Sei i∗ := max{i : σi > 0}. F¨ 1 ur i∗ + 1 ≤ i ≤ #I, folgt wi = 0 als die normierten Vektoren vi := σi wi . F¨ 2 ur jede Wahl von vi richtig ist. W¨ahlt aus wi , wi  = σi , sodass wi = σi vi f¨ man also {vi : i∗ + 1 ≤ i ≤ #J} als beliebige orthonormale Erg¨anzung der alt man eine orthogonale Matrix V = [v1 , . . . , v#I ] , die {vi : 1 ≤ i ≤ i∗ }, erh¨ ullt. Nach Definition von W ist M = U W  = M = U Σ V  , W = V Σ  erf¨ was (C.7b) beweist. ii) Mit Anmerkung C.1.3c folgt M 2 = Σ2 und M F = ΣF , was direkt die Teile b), c) beweist. Korollar C.2.2. ui und vi seien die Spalten von U und V (sie bilden jeweils ein Orthonormalsystem!). Dann ist M = U Σ V  aus (C.7b) identisch mit 

min{#I,#J}

M=

σi ui vi .

(C.8)

i=1

Lemma C.2.3. a) Seien M, R ∈ RI×J mit k := Rang(R). Die Singul¨ arwerte von M bzw. M − R seien als σi (M ) bzw. σi (M − R) bezeichnet. Dann gilt2 σi (M − R) ≥ σk+i (M )

f¨ ur alle 1 ≤ i ≤ min{#I, #J}.

arwertzerlegung von M ∈ RI×J und b) Sei M = U ΣV  die Singul¨  σi f¨ ur i = j ≤ min{k, #I, #J}, R := U Σk V  mit (Σk )ij = (C.9a) 0 sonst, (Σk entsteht aus Σ, indem man alle σi = Σii f¨ ur i > k durch null ersetzt werden). Der dabei auftretende Fehler ist ' min{#I,#J} bzw. M − RF = σi2 . (C.9b) M − R2 = σk+1 i=k+1

2

Vergleiche Fußnote 1 auf Seite 373.

C.2 Singul¨ arwertzerlegung von Matrizen

375

Beweis. i) Im Falle k + i ≥ min{#I, #J} mit σk+i (M ) = 0 ist nichts zu beweisen. Sei k + i < min{#I, #J} angenommen. 2 (M ) ist der ii) Zuerst sei der Fall i = 1 untersucht. λk+1 (M M  ) := σk+1  k + 1 -te Eigenwert von A = M M (vgl. Beweis zu Lemma C.2.1). Gem¨aß der Minimierung in (C.6) gilt $ % 2 (M ) ≤ max Ax, x : x ∈ RI mit x2 = 1, x⊥V σk+1 f¨ ur einen festen Unterraum V der Dimension ≤ k. Wir w¨ahlen V := Kern(R )⊥ . Da x⊥V zu x ∈ Kern(R ) ¨aquivalent ist, folgt E    D    Ax, x = M M  x, x = M  x, M  x = (M − R) x, (M − R) x E D  = (M − R) (M − R) x, x . 

Anwendung von (C.6) auf den ersten Eigenwert λ1 = λ1 ((M − R) (M − R) )  von (M − R) (M − R) zeigt % $ max Ax, x : x ∈ RI mit x2 = 1, x⊥V E @ D  = max (M − R) (M − R) x, x : x2 = 1, x⊥V E @ D  ≤ max (M − R) (M − R) x, x : x ∈ RI mit x2 = 1 

= λ1 ((M − R) (M − R) ) (beim ersten Eigenwert ist x⊥V mit dim V = 0 eine leere Bedingung). Da  2 (M ) ≤ σ12 (M − R) wieder λ1 ((M − R) (M − R) ) = σ12 (M − R) gilt, ist σk+1 beweisen, also Teil a) f¨ ur i = 1. iii) Im Falle von i > 1 wird V := Kern(R )⊥ + W gew¨ahlt, wobei W mit dim W ≤ i − 1 beliebig ist. Analog zu Teil ii) erh¨alt man die Schranke E @ D  max (M − R) (M − R) x, x : x ∈ RI mit x2 = 1, x⊥W . 

Minimierung u ¨ber alle W liefert λi ((M − R) (M − R) ) = σi2 (M − R). iv) Die Wahl aus (C.9a) eliminiert offenbar die Singul¨arwerte σ1 bis σk , ur alle i ≥ 1. sodass σi (M − R) = σk+i (M ) f¨ Folgerung C.2.4 (beste Rang-k-Matrix) Zu M ∈ RI×J sei R wie in (C.9a) konstruiert. Dann ist R die L¨ osung der beiden Minimierungsaufgaben min

Rang(R)≤k

M − R2

und

min

Rang(R)≤k

M − RF ,

(C.10)

wobei die Minima in (C.9b) angegeben sind. Das minimierende Element R ist genau dann eindeutig, wenn σk > σk+1 .

376

C Lineare Algebra, Funktionalanalysis, Singul¨ arwertzerlegung

 2 Beweis. i) Da M − R 2 = σ1 (M − R ) und M − R F = i>0 σi2 (M − R ) (vgl. Lemma C.2.1b,c), folgt aus Lemma C.2.3a, dass M − R 2 ≥ σk+1 (M )  2 und M − R F ≥ i>k σi2 (M ) f¨ ur R mit Rang(R ) ≤ k. Da bei R = R die Gleichheit gilt, ist R L¨ osung der Minimierungsaufgaben. alt man eine andere Singul¨arwertzerlegung, wenn ii) Im Falle σk = σk+1 erh¨ man in U und V die k-ten und (k + 1)-ten Spalten vertauscht. Entsprechend resultiert ein anderes R. Multiplikation einer Matrix mit einer nichtexpandierenden Matrix kann die Singul¨ arwerte nur verkleinern: 



Lemma C.2.5. Seien M ∈ RI×J , A ∈ RI ×I , B ∈ RJ×J mit A2 ≤ 1 und   B2 ≤ 1. Die Singul¨ arwerte von M und M  := AM B ∈ RI ×J seien σk und ur alle k ≥ 1. σk . Dann gilt3 σk ≤ σk f¨ Beweis. Zu M sei R gem¨ aß (C.9a) definiert. Wir setzen R := ARB und schließen aus Folgerung C.2.4, dass σk ≤ M  − R 2 = A (M − R) B2 ≤ A2 M − R2 B2 ≤ M − R2 = σk . Die Abbildung, die M ∈ RI×J in R aus (C.10) abbildet, sei mit R = R Tk (M ) bezeichnet4 . Die Abbildung TkR ist nicht stetig: wird  die Komponente   von M vergr¨ oßert, springt TkR (M ) um σk uk+1 vk+1 − uk vk . σk+1 uk+1 vk+1 Offenbar sind Rang-k-Matrizen Fixpunkte von TkR : TkR (R) = R f¨ ur alle R ∈ R(k, I, J). Von speziellem Interesse ist das St¨orungsverhalten von TkR (R + δ) bei R ∈ R(k, I, J). Lemma C.2.6. Sei A = R + δ mit R ∈ R(k, I, J) und δ ∈ RI×J . Dann gilt 5 TkR (R + δ) − R

F

≤ 2 δF .

Beweis. Die Bestapproximationseigenschaft lautet A − TkR (A) F ≤ ur alle B ∈ R(k, I, J). Die Wahl B = R ∈ R(k, I, J) liefert A − BF f¨ A − TkR (A) F ≤ A − RF . Mit der Dreiecksungleichung TkR (A) − R

F

≤ TkR (A) − A

F

+ A − RF ≤ 2 A − RF = 2 δF

folgt die Behauptung. 3 4 5

Vergleiche Fußnote 1 auf Seite 373. Falls R nicht eindeutig bestimmt ist, wird eine L¨ osung ausgesucht. Vielleicht ist der Faktor 2 nicht optimal. Der Faktor kann aber nicht besser = 5/2 = 1.58 . . . sein, wie das folgende Beispiel zeigt (Mitteilung von L. als Grasedyck). Seien k = 2, R = diag{1 − ε, 1/2, 0} f¨ ur ein ε ∈ (0, 1/2) und δ = diag{−1/2, 0, 1/2}, sodass A := R + δ = diag{1/2 − ε, 1/2, 1/2}. Offenbar ist T2R (A) = diag{0, 1/2, 1/2} und T2R (A) − R F = diag{ε − 1, 0, 1/2}F = = √ 5/4 − O(ε). Da δF = 1/ 2, folgt f¨ ur C in TkR (R + δ) − R F ≤ C δF die = Ungleichung C ≥ 5/2.

C.3 Hilbert-R¨ aume, L2 -Operatoren

377

C.3 Hilbert-R¨ aume, L2 -Operatoren Zun¨ achst sei an einige Notationen im Zusammenhang mit Hilbert-R¨aumen erinnert (vgl. [67, §6]). Anmerkung C.3.1. Im Weiteren werden die folgenden Eigenschaften von unendlich dimensionalen Hilbert-R¨ aumen benutzt: a) Zu einem Hilbert-Raum geh¨ ort ein= Skalarprodukt ·, ·H : H × H → R. b) Die zugeh¨ orige Norm ist uH := u, uH . c) Eine Menge {ϕν : ν ∈ N} heißt Orthonormalsystem, falls ϕν , ϕμ H = andiges) Orthonormalsystem von H δνμ (Kronecker-Symbol). Es wird (vollst¨ ur alle ν ∈ N. genannt, falls es kein 0 = u ∈ H gibt, sodass u, ϕν  = 0 f¨ d) Der Dualraum H  ist die Menge der Funktionale auf H, d.h. H  = {φ : H → R : φ linear} . Zu u ∈ H geh¨ ort das Funktional u∗ ∈ H  , das u ¨ber ∗ u (v) := v, uH definiert ist. Zu Teilmengen B1 ⊂ Rn1 und B2 ⊂ Rn2 seien L2 (B1 ) und L2 (B2 ) die Hilbert-R¨ aume der auf Bi quadratintegrierbaren Funktion, d.h. f ∈ L2 (Bi ) ist messbar mit dem Skalarprodukt6  u, vL2 (Bi ) = u(x)v(x)dx. Bi

 Falls Bi eine Oberfl¨ ache oder andere Mannigfaltigkeit ist, muss Bi . . . dx entsprechend als Oberfl¨ achenintegral gedeutet werden. Die L2 -Norm lautet gem¨ aß Anmerkung C.3.1b  2 |f (x)| dx. f L2 (Bi ) := Bi

Gem¨ aß Anmerkung C.3.1d geh¨ ort zu der Funktion u ∈ L2 (Bi ) das Funktional u∗ , das durch u∗ (v) = u, vL2 (Bi )

(C.11)

definiert ist. Definition C.3.2 (Tr¨ ager eines Funktionals). Sei λ ein Funktional auf 7 -Raum B u einem Banach ¨ber Ω ⊂ Rd . Dann wird Tr¨ager(λ), der Tr¨ager von > λ, durch {X ⊂ Ω : λ(f ) h¨angt f¨ ur alle f ∈ B nur von f |Ω ab} definiert. ¨ Ubung C.3.3. a) Seien u ∈ L2 (B) und u∗ durch (C.11) definiert. Dann ist Tr¨ager(u∗ ) = Tr¨ager(u). ager(δx ) = {x}. b) Sei δx das Dirac-Funktional bei x ∈ Ω. Dann ist Tr¨ 6

7

Falls die Funktionen vektorwertig sind: u(x), v(x) ∈ V mit Skalarprodukt ·, ·V ,  ist das Integral B u(x)v(x)dx durch B u(x), v(x)V dx zu ersetzen. i i Stefan Banach, geboren am 30. M¨ arz 1892 in Ostrowsko (bei Krakau), gestorben am 31. August 1945 in Lemberg (Lwow).

378

C Lineare Algebra, Funktionalanalysis, Singul¨ arwertzerlegung

Notation C.3.4 Da wir im Folgenden nur die Hilbert-R¨ aume Hi = L2 (Bi ) 8 betrachten , kann der Index L2 (Bi ) bei der Norm und dem Skalarprodukt durch ·2 , ·, ·2 ersetzt werden oder ganz weggelassen werden. Ein linearer Operator A : L2 (B2 ) → L2 (B1 ) ist beschr¨ankt, falls es eine Konstante CA gibt, sodass Av ≤ CA v

f¨ ur alle v ∈ L2 (B2 )

(C.12)

(die Beschr¨ anktheit ist mit der Stetigkeit von K : L2 (B2 ) → L2 (B1 ) identisch). Die Menge der linearen und beschr¨ ankten Operatoren von L2 (B2 ) nach 2 L (B1 ) wird durch L(L2 (B2 ), L2 (B1 )) bezeichnet. L(L2 (B2 ), L2 (B1 )) ist Banach-Raum mit der Operatornorm AL2 (B1 )←L2 (B2 ) = sup{Av / v : 0 = v ∈ L2 (B2 )} = min{CA : (C.12) gilt mit CA } urzen wir die Schreibweise ab: Wenn f¨ ur A ∈ L(L2 (B2 ), L2 (B1 )). Auch hier k¨ keine Verwechslung m¨ oglich ist, sei ·2 = ·L2 (B1 )←L2 (B2 ) .

(C.13)

Definition C.3.5. Ein Operator K ∈ L(L2 (B2 ), L2 (B1 )) heißt kompakt, falls gilt: Die Einheitskugel S := {v ∈ L2 (B2 ) : v ≤ 1} werde durch K in S  := KS := {Kv : v ∈ S} ⊂ L2 (B1 ) abgebildet und der Abschluss S  sei eine in L2 (B1 ) kompakte Teilmenge (d.h. jede Folge uν ∈ S  habe eine konvergente Teilfolge; vgl. [134, §II.3]). Anmerkung C.3.6. a) Die zu A ∈ L(L2 (B2 ), L2 (B1 )) adjungierte Abbildung ur alle ist A∗ ∈ L(L2 (B1 ), L2 (B2 )) und eindeutig durch A∗ u, v = u, Av f¨ u ∈ L2 (B1 ), v ∈ L2 (B2 ) definiert. 2 b) AL2 (B1 )←L2 (B2 ) ist maximaler Eigenwert von A∗A ∈ L(L2 (B2 ), L2 (B2 )) (ebenso der maximale Eigenwert von AA∗ ∈ L(L2 (B1 ), L2 (B1 )). Ferner gilt A2 = A∗ A2 = AA∗ 2 . 2

(C.14)

c) Die Aussagen a), b) bleiben g¨ ultig, wenn einer der Hilbert-R¨aume L2 (Bi ) durch den n-dimensionalen Hilbert-Raum Rn (versehen mit der Euklidischen Norm) ersetzt wird. 8

Gelegentlich treten (abgeschlossene) Unterr¨ aume von L2 (B) auf. Ein Beispiel ist  andert die Norm aber nicht. L20 (B) := {f ∈ L2 (B) : B f dx = 0}. Dies ¨

C.4 Singul¨ arwertzerlegung kompakter Operatoren

379

Definition C.3.7. Gegeben eine Kernfunktion κ(·, ·) : B1 × B2 → R, wird der zugeh¨ orige Integraloperator K durch  κ(x, y)v(y)dy (x ∈ B1 ) (C.15) (Kv) (x) := Bi

ankt nach L2 (B2 ) definiert. Falls K f¨ ur alle v ∈ L2 (B1 ) definiert ist und beschr¨ 2 2 abbildet, geh¨ ort K zu L(L (B2 ), L (B1 )). Unter geeigneten Bedingungen an κ(x, y) ist K kompakt (vgl. [68, Satz 3.2.6]). ¨ Ubung C.3.8. K ∈ L(L2 (B2 ), L2 (B1 )) sei mittels κ(x, y) wie in (C.15) definiert. Man zeige, dass K∗ ∈ L(L2 (B1 ), L2 (B2 )) in gleicher Weise aus κ(y, x) (Argumente sind vertauscht!) entsteht.

C.4 Singul¨ arwertzerlegung kompakter Operatoren C.4.1 Singul¨ arwertzerlegung Das Hauptresultat dieses Abschnittes ersetzt die endliche Singul¨arwertzerlegung (C.8) durch eine unendliche. Satz C.4.1. K ∈ L(L2 (B2 ), L2 (B1 )) sei kompakt. Dann gibt es Singul¨arwerte σ1 ≥ σ2 ≥ . . . mit σν  0 und Orthonormalsysteme {ϕν : ν ∈ N} und {ψν : ν ∈ N}, sodass ∞  σν ϕν ψν∗ , (C.16) K= ν=1

wobei die Summe im Sinne von K − K(k) 2 = σk+1  0

mit K(k) :=

k 

σν ϕν ψν∗

(C.17)

ν=1

konvergiert (zu ψν∗ vergleiche man die Anmerkung C.3.1d oder (C.11)). Beweis. Man setze T := K∗ K : L2 (B2 ) → L2 (B2 ). Als Produkt kompakter Operatoren ist T ∈ L(L2 (B2 ), L2 (B2 )) kompakt. Die Riesz9 -Schauder10 Theorie (vgl. [67, Satz 6.4.12], [68, Satz 1.3.8]) besagt, dass T Eigenwerte λν besitzt, die sich nur in null h¨ aufen: λν → 0. Wegen der Symmetrie existieren auch zugeh¨ orige Eigenfunktionen ψν , die sich orthonormal w¨ahlen lassen, 9

10

Frigyes Riesz, geboren am 22. Januar 1880 in Gy¨ or, gestorben am 28. Februar 1956 in Budapest (nicht zu verwechseln mit seinem Bruder Marcel, der ebenfalls Mathematiker war). ¨ Juliusz Pawel Schauder, geboren am 21. Sept. 1899 in Lvov (Galizien, Osterreich), gestorben im Sept. 1943 in Lvov.

380

C Lineare Algebra, Funktionalanalysis, Singul¨ arwertzerlegung

sodass ein Orthonormalsystem {ψν : ν ∈ N} definiert ist. Da T positiv semiur die Eigenwerte, sodass definit ist (T√u, u ≥ 0 f¨ ur alle u), folgt λν ≥ 0 f¨ uhren lassen. Schließsich σν := + λν als die nichtnegativen Wurzeln einf¨ lich setzen wir ϕν := Kψν / Kψν  = σ1ν Kψν (die letzte Gleichheit folgt aus 2 Kψν  = Kψν , Kψν  = ψν , K∗ Kψν  = ψν , T ψν  = λν ψν , ψν  = λν ). Die ϕν sind bereits auf eins normiert. Dass sie ein Orthonormalsystem bilden, ur ν = μ. folgt aus ϕν , ϕμ  = Kψν , Kψμ  = ψν , K∗ Kψμ  = λμ ψν , ψμ  = 0 f¨ (k) Definition von ϕ ) gilt auch K ψ = σν ϕν f¨ ur Neben Kψν = σν ϕν (vgl. ν ν  ν ≤ k, da ψμ∗ ψν = ψν , ψμ∗ = δνμ und . k / k   ∗ σ μ ϕμ ψ μ ψ ν = σμ ϕμ δνμ = σν ϕν . μ=1

μ=1

    Damit gilt K − K(k) ψν = 0 f¨ ur ν ≤ k, w¨ahrend K − K(k) ψν = Kψν ∗    K − K(k) die Eigenwerte f¨ ur ν > k. Hieraus schließt man, dass K − K(k) 2 2 σk+1 ≥ σk+2 ≥ . . . besitzt. Die Norm ist nach Anmerkung C.3.6b K − K(k) 2 = σk+1 . Wegen σν  0, folgt die Konvergenz. k Die Teilsumme K(k) := ν=1 σν ϕν ψν∗ ist ein Integraloperator: k ∗ 2 Anmerkung C.4.2. a) Sei K(k) := ν=1 σν ϕν ψν mit ϕν ∈ L (B1 ) und at wird hier nicht ben¨otigt). Dann ist ψν ∈ L2 (B2 ) gegeben (Orthogonalit¨ K(k) der Integraloperator    K(k) v (x) = κ (k) (x, y)v(y)dy (x ∈ B1 ) (C.18a) B2

zur Kernfunktion κ (k) (x, y) =

k 

σν ϕν (x)ψν (y)

(x ∈ B1 , y ∈ B2 ).

(C.18b)

ν=1

b) Die Konvergenz K−K(k) 2  0 aus (C.17) beschreibt eine schwache Form der Konvergenz von κk gegen κ(x, y) :=

∞ 

σν ϕν (x)ψν (y).

ν=1

   k k ∗ ∗ Beweis. Folgt aus ν=1 σν ϕν ψν v (x) = ν=1 σν ϕν (x) · ψν (v) =   k k ν=1 σν ϕν (x) B2 ψν (y)v(y)dy = B2 ν=1 σν ϕν (x)ψν (y)v(y)dy. Aus (C.17) sieht man, dass die Konvergenzgeschwindigkeit durch die Nullfolge (σk )k∈N festgelegt ist. Die Voraussetzung “K ist kompakt” ist ¨aquivalent zur schw¨ achsten Annahme, dass (σk )k∈N u ¨berhaupt eine Nullfolge ist, wie das folgende Lemma zeigt.

C.4 Singul¨ arwertzerlegung kompakter Operatoren

381

Lemma C.4.3. Sei K mittels (C.16) mit Orthonormalsystemen {ϕν : ν ∈ N}, {ψν : ν ∈ N} definiert. Dann ist die Eigenschaft σν → 0 hinreichend und notwendig f¨ ur die Kompaktheit von K ∈ L(L2 (B2 ), L2 (B1 )). Beweis. Satz C.4.1 zeigt, dass σν → 0 notwendig ist. Wird umgekehrt σν → 0 vorausgesetzt, folgt K − K(k) 2 → 0. Da K(k) ein k-dimensionales und damit endlich-dimensionales Bild besitzt, ist K(k) kompakt. Da Grenzwerte kompakter Operatoren wieder kompakt sind, ist die Kompaktheit von K = limk→∞ K(k) beweisen. Also ist σν → 0 auch hinreichend. C.4.2 Hilbert-Schmidt-Operatoren Die Frobenius-Norm f¨ ur Matrizen hat ihre Entsprechung f¨ ur Integraloperatoren, wobei wir die Notation ·F direkt u ¨bernehmen: Definition C.4.4. Ein Integraloperator (C.15) heißt Hilbert-SchmidtOperator, falls die Kernfunktion κ zu einer endlichen Norm 8  KF :=

2

|κ(x, y)| dxdy B2

(C.19)

B1

f¨ uhrt, d.h. κ ∈ L2 (B1 × B2 ). Indem man die L2 -Orthonormalit¨ at der Funktionen ϕν bzw. ψν verwendet, gelangt man zu Anmerkung C.4.5. a) Seien Hi = L2 (Bi ) (i = 1, 2) und K, K(k) durch (C.16) bzw. (C.17) definiert. Dann gilt 0).

Dd,n

(D.9)

= {z = x + iy : |x| < n, |y| < d − → F¨ ur D = Dd kann man D = ahlen. Damit muss insbesondere Dd (n → ∞) in Definition D.2.3b w¨  d |f (x + iy)| dy → 0 f¨ ur |x| → ∞ gelten. Die Integrale ∂Dd . . . dz bzw. −d |. . .| |dz| stellen damit die folgenden Grenzwerte dar: ∂Dd  

F (z)dz = limδd

∂Dd

∞

∂Dd

{F (x − iδ) − F (x + iδ)} dx,

−∞ ∞

|F (z)| |dz| = limδd

1 n}

{|F (x − iδ)| + |F (x + iδ)|} dx.

(D.10)

−∞

Der Interpolationsfehler l¨ asst sich dank des Residuensatzes wie folgt darstellen (vgl. [128, Thm 3.1.2]): Satz D.2.5 (Interpolationsfehler). Seien d > 0 und f ∈ H1 (Dd ). Dann gilt  sin(πz/h) f (ζ) dζ f¨ ur alle z ∈ Dd . (D.11) E(f, h)(z) = 2πi (ζ − z) sin (πζ/h) ∂Dd   ur jedes D mit R ⊂ D ⊂ Dd ersetzt Die Integration ∂Dd kann durch ∂D f¨ werden. Der Fehler E(f, h) kann in der Supremumsnorm E(f, h)∞ := sup |E(f, h)(x)| x∈R

oder in der L2 -Norm E(f, h)2 :=



1/2 |E(f, h)(x)| dx 2

R

abgesch¨ atzt werden (vgl. [128, (3.1.12)]): Lemma D.2.6 (Interpolationsfehler-Absch¨ atzung). F¨ ur f ∈ H1 (Dd ) gelten die Ungleichungen E(f, h)∞ ≤

N (f, Dd ) , 2πd sinh(πd/h)

N (f, Dd ) E(f, h)2 ≤ √ . (D.12a) 2 πd sinh(πd/h)

¨ Der Beweis verwendet Ubung D.1.1d,e. Der Nenner sinh(πd/h) entspricht dem Exponentialausdruck   −2πd −πd −πd 1 = 2 1 − exp exp = (2 − o(1)) exp (D.12b) sinh(πd/h) h h h (o(1) ist Nullfolge bez¨ uglich h  0). Das exponentielle Wachstum von sinh sorgt daf¨ ur, dass die rechte Seite in (D.12a) klein werden kann.

D.2 Interpolation

395

Lemma D.2.7. f ∈ H1 (Dd ) erf¨ ulle f¨ ur geeignete c ≥ 0 und α > 0 die Absch¨ atzung f¨ ur alle x ∈ R. (D.13) |f (x)| ≤ c · e−α|x|  Dann gilt f¨ ur den Rest E(f, h) − EN (f, h) = |k|>N f (kh)S(k, h) die Absch¨ atzung  2c −αN h 1 (p = ∞), E(f, h) − EN (f, h)p ≤ e mit σ(p) = (D.14) 1/2 (p = 2). αhσ(p)  Beweis. Da E(f, h) − EN (f, h) = |k|>N f (kh)S(k, h) und S(k, h)∞ ≤ 1,  ist von (D.13) abzusch¨atzen. F¨ ur p = 2 kann |k|>N |f (kh)| mit Hilfe * * * S(n, h)(x)S(m, h)(x)dx* ≤ h ausgenutzt werden (vgl. [128, (3.1.36)]): R   2 E(f, h) − EN (f, h)2 ≤ h |n|,|m|>N |f (nh)f (mh)| = 4h( k>N |f (kh)|)2 . Um eine m¨ oglichst kleine Schranke f¨ ur EN (f, h)p ≤ E(f, h)p + E(f, h) − EN (f, h)p

(p = 2, ∞)

zu finden, sollte h so gew¨ ahlt werden, dass beide Summanden ¨ahnlich sind (vgl. [128, Thm 3.1.7]): ur f ∈ H1 (Dd ) gelte (D.13). Satz D.2.8 (Absch¨ atzung von EN (f, h)). F¨ Die Schrittweite h sei als ' πd (D.15) h := hN := αN gew¨ ahlt. Dann ist der Interpolationsfehler absch¨ atzbar durch EN (f, h)p

(D.16) ⎧ = N (f,D ) d ⎨ √ + √2c N/d (p = ∞), √ πα )] N d = ≤ exp{− παdN } ·  π[1−exp(−παdN N (f,Dd ) 2c 4 ⎩ √ √ + √ N/d (p = 2). 4 4 3 π[1−exp(−παdN )] N d α π

Beweis. 1) Sei p = ur h aus (D.15) die √ ∞. (D.12a,b) und (D.14) liefern f¨ Schranke C exp{− παdN } mit √ ' N (f, Dd )e αN πd N √ C := + 2c πdα 2πd sinh( αN πd)   = 2c N (f, Dd ) √ N/d. +√ = πα πd [1 − exp(−παdN )] N d 2) p = 2 f¨ uhrt auf N (f,Dd ) √ e−αN h + α2c h 2 πd sinh(πd/h) √

 =



N (f,Dd ) √ 4 π[1−exp(−παdN )] N d

+

2c √ 4 3 α π





e−

παdN

< 4

N d.

396

D Sinc-Interpolation und -Quadratur

Der zweite Faktor auf der rechten Seite von (D.16) nach der geschweiften uglich N → ∞. Den Abfall des Fehlers Klammer w¨ achst wie O(N σ(p)/2 ) bez¨ (D.16) kann man vereinfacht als  √ √  f¨ ur C < παd (D.17) EN (f, hN )p ≤ O exp{−C N } mit hN aus (D.15) charakterisieren (vgl. Lemma 4.1.4a). √ die Beispiel D.2.9. Sei d > 0. f (x) := exp{− d2 + x2 } ist eine Funktion, √ (D.13) mit c := α := 1 erf¨ ullt. Da die komplexe Wurzelfunktion d2 + z 2 bei ±id Polstellen besitzt, ist Dd der gr¨ oßte Streifen, in den f analytisch fortsetzbar ist. Gem¨ aß (D.16) folgt  =  √ EN (f, h)∞ ≤ 2 N/ (πd) + O(1) exp{− πdN }. Korollar D.2.10. Die Absch¨ atzung (D.17) l¨ asst sich auch folgendermaßen ausdr¨ ucken. Seien eine Fehlerschranke ε > 0 vorgegeben und Nε := min{N ∈ N0 : EN (f, hN )p ≤ ε} definiert. Dann gilt Nε ≥

log2 (1/ε) 1 + O(log ). 2 C ε

(D.18)

Ein schnellerer Abfall als in (D.13) liegt vor, falls γ

|f (x)| ≤ c · e−α |x|

f¨ ur alle x ∈ R und ein γ > 1.

(D.19)

Anstelle von (D.14) erh¨ alt man E(f, h) − EN (f, h)∞ ≤

2c

γ

αN γ−1 hγ

exp(−α (N h) ),

(D.20)

wenn man die Absch¨ atzung  |k|>N

∞ 

|f (kh)| = 2

−α|kh|γ

c·e

k=N +1  ∞

2c ≤ h

2c ≤ h





exp (−αsγ ) ds

Nh

  γ−1 exp −α |N h| s ds

Nh

uhrt auf die verwendet. Der Abgleich von O(exp −πd h ) und O(exp(−α (N h) ) f¨ optimale Schrittweite γ

 h := hN :=

πd α

1/(γ+1)

γ N γ+1 −

(D.21)

Die Addition von (D.12a) und (D.20) f¨ ur die Schrittweite aus (D.21) f¨ uhrt zu folgendem Resultat.

D.2 Interpolation

397

Satz D.2.11. F¨ ur f ∈ H1 (Dd ) gelte (D.19) mit γ > 1. Die Schrittweite h sei wie in (D.21) gew¨ ahlt. Dann ist der Interpolationsfehler absch¨atzbar durch    γ γ 1 f¨ ur alle 0 < C < α γ+1 (πd) γ+1 . EN (f, hN )∞ ≤ O exp −C N γ+1 (D.22) Nε aus Korollar D.2.10 hat das asymptotische Verhalten  Nε ≥

log(1/ε) C

(γ+1)/γ (1 + o (1)) .

(D.23)

D.2.4 Absch¨ atzungen durch e−CN/ log N In vielen F¨ allen m¨ ochte man den Faktor log2 (1/ε) aus (D.18) bzw. usste log(γ+1)/γ (1/ε) aus (D.23) lieber durch log(1/ε) ersetzt sehen. Dann m¨ der Exponentialterm in (D.17) exp{−CN } lauten. Um in die N¨ahe dieser Asymptotik zu kommen, muss (D.13) durch die doppelt exponentielle Abfallrate f¨ ur alle x ∈ R (D.24) |f (x)| ≤ c1 · exp{−c2 ec3 |x| } ersetzt werden. Anstelle von Lemma D.2.7 verwendet man nun ulle f¨ ur geeignete Konstanten c1 , c2 , c3 > 0 Lemma D.2.12. f ∈ H1 (Dd ) erf¨ die Bedingung (D.24). Dann gilt f¨ u r den Rest E(f, h) − EN (f, h) =  f (kh)S(k, h) die Absch¨ a tzung |k|>N 2c1 e−c3 N h exp{−c2 ec3 N h } σ(p) c c h 2 3 1 falls p = ∞, mit σ(p) = 1/2 falls p = 2.

E(f, h) − EN (f, h)p ≤

(D.25)

Beweis. achst p = ∞ angenommen. Wie im Beweis von Lemma D.2.7  Sei zun¨ atzen: ist |k|>N |f (kh)| abzusch¨ 

|f (kh)| ≤ 2c1

|k|>N

= 2c1 exp{−c2 ec3 N h }

∞ 

exp{−c2 ec3 kh }

k=N +1 ∞ 

 @  exp c2 ec3 N h 1 − ec3 (k−N )h .

k=N +1

Anwendung von (D.1) auf ec3 mh mit m := k − N und auf exp{c2 ec3 N h c3 h} zeigt

398

D Sinc-Interpolation und -Quadratur



|f (kh)| ≤ 2c1 exp{−c2 ec3 N h }

|k|>N

∞ 

$ % exp −c2 ec3 N h c3 mh

m=1

2c1 exp{−c2 e } ≤ 2c1 exp{−c2 ec3 N h }/{c2 ec3 N h c3 h} exp{c2 ec3 N h c3 h} − 1 2c1 e−c3 N h . = exp{−c2 ec3 N h } c2 c3 h √  F¨ ur p = 2 ist E(f, h) − EN (f, h)2 ≤ 2 h k>N |f (kh)| (vgl. Beweis zu Lemma D.2.7). c3 N h

=

Die Fehler E(f, h) (aus (D.12a)) und E(f, h) − EN (f, h) (aus (D.25)) sind in etwa ausgewogen, wenn h := hN :=

log N . c3 N

(D.26)

Satz D.2.13. F¨ ur f ∈ H1 (Dd ) gelte (D.24). Mit der Schrittweite aus (D.26) und σ(p) aus (D.25) gilt   −πdc3 N 2c1 N (f, Dd ) exp + e−c2 N (D.27) EN (f, h)p ≤ πd log N c2 log N   −πdc3 N N (f, Dd ) mit Cp = (1 + o(1)) f¨ ur N → ∞. = Cp exp σ(p) log N 2 (πd) N (f,Dd ) Beweis. Der Beitrag von E(f, h) ist 2πd sinh(πd c3 N/log N ) mit der Asymptotik   N (f,Dd ) −πdc3 N (vgl. (D.12b)). Der zweite Term (D.25) hat die ( πd − o(1)) exp log N − log N

1 1 1 −c2 N Schranke c2c exp{−c2 elog N } (logeN )/(c3 N ) = 2c c2 e log N , die schneller als 2 c3 exp{−πd c3 N/ log N } gegen null f¨ allt. Analoges gilt f¨ ur p = 2. Bei asymptotischen Aussagen muss man vorsichtig sein, da alle in der Praxis auftretenden Parameter im vorasymptotischen Bereich liegen k¨onnen und damit nicht von der Asymptotik erfasst werden. Ein solcher Fall liegt beim Vergleich von exp(−αN ) und exp(−βN/ log N ) mit α, β > 0 vor. Asymptotisch ist exp(−αN )  exp(−βN/ log N ) , da   β exp(−αN ) = lim exp ( − α)N = 0. lim N →∞ exp(−βN/ log N ) N →∞ log N

Falls α  β, wird exp(−αN ) jedoch erst dann kleiner als exp(−βN/ log N ), wenn N > exp(β/α). Wegen β/α ( 1 kann exp(β/α) so groß sein, dass kein praktisch auftretendes N die notwendige Ungleichung erf¨ ullt. Deshalb ist die Wahl (D.26) zu u ¨berdenken, falls c2 deutlich kleiner als πdc3 ist. oßenordnung 1 ist, aber 0 < c2  1 , Anmerkung D.2.14. Falls πdc3 von der Gr¨ c2 so w¨ ahle man γ so, dass γc2 N γ−1 log N = 1 (in erster N¨aherung γ = − log log N ). Danach setzt man

D.2 Interpolation

399

γ log N . (D.28) c3 N       −πd 3N und exp −c2 ec3 N h = exp −c2 eγ log N = Dann ist e h = exp −πdc γ log N   N exp −c2 N γ−1 N = exp(− γ log N ). h := hN :=

Korollar D.2.15. ε > 0 und Nε seien wie in Korollar D.2.10. Aus (D.27) folgt     1 1 1 + o(1) · log log mit Cε = bzgl. ε → 0. (D.29) Nε ≥ Cε log ε ε πd c3 D.2.5 Approximation der Ableitung Wir untersuchen hier die erste Ableitung; h¨ohere Ableitungen lassen sich analog behandeln (vgl. [128, Thm 3.5.1]). ur E  (f, h)(x) := Satz D.2.16. Sei f ∈ H1 (Dd ). Dann gilt f¨ die Fehlerabsch¨ atzung E  (f, h)∞ ≤

d dx f



d dx C(f, h)

πd + h N (f, Dd ) . 2πhd2 sinh (πd/h)

Der Vorfaktor bringt eine Verschlechterung um den Faktor O(1/h) mit  sich. Das gleiche gilt f¨ ur die Absch¨ atzung von E  (f, h) − EN (f, h)∞ , da d statt S(k, h)∞ ≤ 1 nun dz S(k, h)(z) abzusch¨atzen ist und S  (k, h)∞ ≤ π h

d sin y dy y




0 um ζ0 ): ∂Dd,ζ = ∂Dd − ∂Kε (ζ0 ) . Bei einer einfachen Polstelle gilt 0  ϕ(ζ)f (ζ)dζ = 2πiϕ(ζ)Resζ=ζ0 (f ), wobei ϕ holomorph in ζ0 sei. ∂Kε (ζ0 ) Insgesamt folgt f¨ ur alle z ∈ Dd,ζ0 :  sin(πz/h) sin(πz/h) f (ζ) dζ − Res(f ). E(f, h)(z) = 2πi (ζ0 −z) sin (πζ0 /h) ζ=ζ0 ∂Dd(ζ −z) sin (πζ/h) (D.30) Die Absch¨ atzung (D.14) f¨ ur E(f, h) − EN (f, h) ist durch die Pr¨asenz einer Polstelle nicht betroffen, denn wegen der Voraussetzung (D.13) kann die Polur die Absch¨atzung des zus¨atzlichen stelle ζ0 nicht auf R liegen. Entscheidend f¨ ¨ D.1.1e gilt f¨ ur z ∈ R Terms in (D.30) ist der Imagin¨ arteil von ζ0 . Mit Ubung

400

D Sinc-Interpolation und -Quadratur

* * * * * * * * sin(πz/h) Resζ=ζ0 (f ) * * * * Res (f ) ≤ ζ=ζ0 * * +m y sinh(π+m y/h) * . * (ζ0 − z) sin (πζ0 /h) Entsprechendes gilt f¨ ur meromorphe Funktionen mit mehreren einfachen Polstellen. Falls f die Komposition f = F ◦ φ ist, wobei φ holomorph in ζ0 ist und F einen einfachen Pol in z0 = φ(ζ0 ) besitzt. so ist Resζ=ζ0 (f ) = Resζ=ζ0 (F ◦ φ) =

Resz=z0 (F ) . φ (ζ0 )

(D.31)

D.2.7 Andere Singularit¨ aten Im Falle von Logarithmusfunktionen oder nichtganzzahligen Potenzen ist nicht nur die Singularit¨ at ζ0 von Dd auszunehmen, sondern auch eine offene Kurve C von ζ0 zum Rand ∂Dd , sodass f auf Dd \C holomorph ist. Der Rand von Dd \C besteht aus ∂Dd und zwei Wegen, die den beiden Seiten von C entsprechen. Sei [f ](ζ) f¨ ur ζ ∈ C der Sprung von f u ¨ber C. Dann gilt  sin(πz/h) f (ζ)dζ (D.32) E(f, h)(z) = 2πi (ζ − z) sin (πζ/h) ∂Dd  sin(πz/h) [f ] (ζ)dζ f¨ ur z ∈ Dd \C . + 2πi (ζ − z) sin (πζ/h) C √ F¨ ur f (ζ) = log(ζ − ζ0 ) ist [f ](ζ) = 2πi, w¨ahrend sich f¨ ur f (ζ) = ζ − ζ0 der Sprung [f ](ζ) = 2f (ζ) ergibt.

D.3 Separable Sinc-Entwicklungen D.3.1 Direkte Interpolation Sei κ(x, y) eine Funktion mit Argumenten in x ∈ R und y ∈ Y ⊂ Rm . Wie jedes lineare Interpolationsverfahren f¨ uhrt auch die Sinc-Interpolation CN (f, h) aus (D.6a) auf eine separable Entwicklung κ(x, y) ≈ CN (κ(·, y), h)(x) =

N 

κ(h, y)S(, h)(x),

=−N (k)

die κ (k) (x, y) aus (4.1) mit k = 2N + 1, ϕν (x) := S(ν − 1 − N, h)(x) und (k) ur 1 ≤ ν ≤ k entspricht. F¨ ur den Fehler liefern ψν (y) = κ((ν − 1 − N ) h, y) f¨ (D.16) oder (D.27) exponentiell fallende Absch¨atzungen. Die Voraussetzungen an κ sind in gewisser Weise ¨ahnlich zu jenen f¨ ur die Polynominterpolation. Dort ist die holomorphe Fortsetzung auf die BernsteinEllipse hilfreich (Satz B.2.1), hier muss κ(·, y) in den Streifen Dd holomorph fortsetzbar sein.

D.3 Separable Sinc-Entwicklungen

401

2 ¨ Ubung D.3.1. Die Funktion κ(x, y) = e−yx f¨ ur x ∈ R und y ∈ Y := [a, b] mit 0 < a ≤ b < ∞ geh¨ ort f¨ ur alle d > 0 zu H1 (Dd ). Man beachte bei der Verwendung der Absch¨ atzung (D.12a) aber, dass die Norm N (κ(·, y), Dd ) wie angt. Was ist die optimale Wahl von d? Wie ist h exp(yd2 ) von y und d abh¨ zu w¨ ahlen? Wie lautet der Gesamtfehler?

D.3.2 Transformation und Skalierung H¨ aufig wird nicht κ(·, y) selbst, sondern eine transformierte Funktion κ(φ(·), y) mit Sinc-Funktionen interpoliert. Diese Transformation ist unvermeidbar, wenn das erste Argument von κ nur in einem echten Teilintervall X ⊂ R definiert ist. Selbst wenn X = R, kann eine Transformation das Abfallverhalten f¨ ur |x| → ∞ verbessern. Die Voraussetzungen sind •

κ(x, y) sei f¨ ur x ∈ X ⊂ R und y ∈ Y ⊂ Rm definiert, wobei nur die Beschr¨ ankung von κ(·, y) auf X0 ⊂ X von Interesse ist. • φ sei eine eineindeutige Abbildung von R auf X. • κ(ξ, ˜ y) := κ(φ(ξ), y) sei eine Funktion, die f¨ ur ein geeignetes d > 0 ˜ y), Dd ) < ∞ fortsetzbar bez¨ uglich ξ ∈ R holomorph auf Dd mit N (κ(·, ist. • F¨ ur x ∈ R liege ein Abfallverhalten gem¨ aß (D.13), (D.19) oder (D.24) vor. Dann liefern (D.16), (D.22) bzw. (D.27) exponentiell fallende Fehlerabsch¨ atzungen f¨ ur ˜ y), h)(ξ) = κ(ξ, ˜ y) ≈ CN (κ(·,

N 

κ(h, ˜ y) S(, h)(ξ).

=−N

Mit der Umkehrabbildung φ−1 (·) folgt die Interpolation2 κ(x, y) ≈

N 

κ(φ(h), y) S(, h)(φ−1 (x))

(D.33)

=−N

mit den transformierten Sinc-Funktionen S(, h)(φ−1 (·)). Mit (D.33) ist wieder die separable Entwicklung (4.1) erreicht, hier mit K & (k) ϕν (x) = S(ν − 1 − N, h)(φ−1 (x)) f¨ ur 1 ≤ ν ≤ k. k = 2N + 1, (k) ψν (y) = κ(φ((ν − 1 − N ) h), y) Anmerkung D.3.2. Wenn φ eine gerade Funktion ist, stimmen die St¨ utzstellen φ(h) und φ(−h) u ¨berein. Damit reduziert sich die Zahl der Terme in (D.33) von 2N + 1 auf N + 1. 2

Die neuen St¨ utzstellen sind φ(h) f¨ ur −N ≤  ≤ N.

402

D Sinc-Interpolation und -Quadratur

Falls κ(ξ, ˜ y) f¨ ur |ξ| → ∞ nicht schnell genug abf¨allt oder u ¨berhaupt nicht gegen null konvergiert, muss man dies durch eine Skalierung von κ(x, y) mit einem rasch abfallenden Vorfaktor erzwingen. Das heißt, dass anstelle von κ(x, y) die Funktion ω(x)κ(x, y) (ω(x) > 0 f¨ ur alle x ∈ X0 ) bzw. ihre transformierte Version ω(φ(ξ))κ(φ(ξ), y) interpoliert wird. Letztere liefert ω(φ(ξ))κ(φ(ξ), y) ≈

N 

ω(φ(h)) κ(φ(h), y) S(, h)(ξ)

bzw.

=−N

ω(x)κ(x, y) ≈

N 

ω(φ(h)) κ(φ(h), y) S(, h)(φ−1 (x)).

(D.34)

=−N

Die (punktweise) Fehlerabsch¨ atzung f¨ ur (D.34) ist durch ω(x) zu dividieren, um die Absch¨ atzung f¨ ur die separable Entwicklung κ(x, y) ≈

N 

ω(φ(h)) κ(φ(h, y))

=−N

S(, h)(φ−1 (x)) ω(x)

f¨ ur x ∈ X0 (D.35)

zu erhalten. Anmerkung D.3.2 gilt entsprechend f¨ ur (D.35). Sei f (ζ, y) := ω(φ(ζ))κ(φ(ζ), y).

(D.36)

alt (vgl. §§D.2.6-D.2.7), sind diese im AllgeWenn f Singularit¨ aten ζ0 enth¨ meinen von y abh¨ angig: ζ0 = ζ0 (y). Entsprechend ist der Fehler E(f (·, y), h)(z) aßig y-abh¨ angig. Wir setzen voraus, dass |E(f (·, y), h)(ξ)| f¨ ur ξ ∈ X0 gleichm¨ ¯ h) abgesch¨ durch eine Schranke E(y, atzt werden kann: ¯ h) |E(f (·, y), h)(x)| ≤ E(y,

f¨ ur x ∈ X0 .

Nach R¨ ucktransformation und Division durch den Vorfaktor ω lautet die Fehlerschranke ¯ h)/ω(x) . ε1 (y; h)(x) := E(y, ˜ m¨ Lemma D.3.3. Zu den Integraloperatoren K und K ogen die Kerne κ(x, y) und κ(x, y) + δ(x, y) geh¨oren, wobei |δ(x, y)| ≤ E(y, h)/ω(x). Dann gilt ˜ L2 (X)←L2 (Y ) ≤ E(y, h)L2 (Y ) 1/ωL2 (X) . K − K Beweis. F¨ ur jedes u ∈ L2 (Y ) ist * * * * * * * * ˜ * * * |((K − K)u)(x)| = * δ(x, y)u(y)dy * ≤ * E(y, h)u(y)dy ** /ω(x) Y

Y

≤ E(y, h)L2 (Y ) uL2 (Y ) /ω(x) ˜ und damit (K − K)u L2 (X) ≤ 1/ωL2 (X) E(y, h)L2 (Y ) uL2 (Y ) .

D.3 Separable Sinc-Entwicklungen

403

D.3.3 Eine spezielle Transformation Im Folgenden werden die Skalierung ω(x) und die Transformation φ speziell gew¨ ahlt, um ein doppelt exponentielles Abfallverhalten zu erzeugen. Der Definitionsbereich X wird zur Vereinfachung als X = (0, 1] gew¨ahlt, wobei X0 = (a, 1] mit geeignetem a > 0 der wesentliche Definitionsbereich ist. Sei ψ(ζ) = cosh(sinh(ζ)) : Dd → C

mit d < π/2

(D.37)

Da sinh(ζ) f¨ ur ζ ∈ Dd nicht die Werte iπ/2 ( ∈ Zungerade ), d.h. die Nullstellen von cos annehmen kann, ist ψ(ζ) = 0. Es gilt sogar die Aussage der ¨ ur d < π/2. Man zeige, dass die Werte Ubung D.3.4. Sei ζ ∈ Dd f¨  cosh(sinh(ζ)) nicht in [−C  , C  ] mit C  = cosh cot(d)(π 2 − sin2 (d))1/2 > 1 und C  = cos(sin(d)) ∈ (0, 1) liegen. Hinweis: Man beweise der Reihe nach: a) cos η > 0 und sin η > 0 f¨ ur η = +m ζ mit ζ ∈ Dd . b) Der Schnitt von A := {sinh(ζ) : ζ ∈ Dd } mit der imagin¨aren Achse ist A ∩ {ζ ∈ C : *e ζ = 0} = {z = iy : y ∈ (− sin d, sin d)}. c) Der Schnitt mit den Geraden +m ζ = kπ (k ∈ Z, k = 0) ist A ∩ {ζ ∈ C : +m ζ = kπ} = {ζ = x + ikπ : x ∈ (−∞, −ak ) ∪ (ak , ∞)} < 2 mit ak := cot(d) (kπ) − sin2 (d). d) Man l¨ ose die Bedingung +m ζ = kπ f¨ ur ζ = ξ + iη, d.h. cosh(ξ) sin η = kπ, nach ξ auf: ξ(η) = arcosh(kπ/ sin η). e) ξ  (η) = − √ 12

kπ 2 ξ −1 sin (η)

cos η < 0.

f) Minimum des Realteils sinh(ξ) cos(η) f¨ ur η = d bei ak = sinh(ξ(d)) cos d. = 2 g) sinh(ξ(d)) = (kπ/ sin d)) − 1. Wegen ψ(ζ) = 0 k¨ onnen wir die Transformation φ als φ(ζ) =

1 : Dd → C ψ(ζ)

mit d < π/2

(D.38)

definieren (vgl. Keinert [97]). Bez¨ uglich des Abfalls von φ f¨ ur ζ → ±∞ erh¨alt man: ¨ Ubung D.3.5. Sei ζ ∈ Dd mit d < a) φ(ζ) = φ(−ζ), |e ζ| b) |φ(ζ)| ≤ 2e−2 cos(m ζ)e .

π 2.

Man zeige

Als Skalierung wird im Folgenden gew¨ ahlt: ω(x) = xα

f¨ ur ein α > 0.

(D.39)

404

D Sinc-Interpolation und -Quadratur

Anmerkung D.3.6. a) Wenn f (·, y) in x = 0 H¨ older3 -stetig ist mit f (0, y) = 0, α enth¨ alt f bereits einen Faktor x , sodass eine Skalierung entfallen kann. b) Seien α ∈ R und d < π/2. Dann ist φα (ζ) holomorph in Dd . Ist daher f (·, y) f¨ ur alle y ∈ Y holomorph in C\{0}, so auch g(ζ, y) := φα (ζ)f (φ(ζ), y). zu b. Da φ(ζ) = 0 f¨ ur alle ζ ∈ Dd gilt und keine Kurve in Dd einen Wert ζ  mit  alt, ist φα (ζ) holomorph. Negative Werte φ(ζ  ) < 0 φ(ζ ) = 0 im Inneren enth¨ treten f¨ ur +m ζ = kπ, k ∈ Zungerade auf und liegen außerhalb von Dd . Somit ist f (φ(·), y) holomorph in Dd . Die Sinc-Interpolation wird auf g(ζ, y) = φα (ζ)f (φ(ζ), y) angewandt. N (g(·,y),Dd ) Lemma D.2.6 zeigt die Absch¨ atzung E(g(·, y), h)∞ ≤ 2πd sinh(πd/h) . Um eine in y gleichm¨ aßige Schranke zu erreichen, ist N (g(·, y), Dd ) ≤ C1,d

f¨ ur alle y ∈ Y

(D.40a)

vorauszusetzen. Hierbei ist das doppelt exponentielle Abfallverhalten des Vorfaktors φα (ζ) auf dem Rand von Dd interessant: |φα (ζ)| ≤ C exp{−c2 e|e ζ| } ¨ D.3.5b hervorgeht. mit c2 = α cos(sin(d)) > 0, wie aus Ubung Das Verhalten von φα im Reellen ist φα (x) = 2 exp(−2αe|x| ), wobei α > 0 vorausgesetzt sei. Damit auch φα (ζ)f (φ(ζ), y) ein a¨hnliches Verhalten besitzt, reicht |f (φ(x), y)| ≤ C2,ε exp(εe|x| )

f¨ ur alle ε > 0, x ∈ R, y ∈ Y

(D.40b)

aus, um |g(x, y)|  C2,α−α exp(−α e|x| ) f¨ ur alle α ∈ (0, α) zu garantieren. Satz D.3.7. Seien α > 0 und d ∈ (0, π/2) . f (·, y) sei f¨ ur alle y ∈ Y holomorph in C\{0} und erf¨ ulle (D.40a,b). Die Sinc-Interpolation werde mit h = hN = logNN auf g(ζ, y) = φα (ζ)f (φ(ζ), y) angewandt. Dann ist der Fehler aßig durch EN (g(·, y), hN ) gleichm¨   −πdN C2,α−α −α N C1,d exp +C  e EN (g(·, y), hN )∞ ≤ πd log N α log N   −πdN C1,d exp = (1 + o(1)) πd log N beschr¨ ankt, wobei α ∈ (0, α) beliebig, C eine Konstante, C1,d aus (D.40a) und C2,α−α aus (D.40b). Beweis. Folgt direkt aus Satz D.2.13. D.3.4 Beispiel 1/(x + y) Die zur Verf¨ ugung stehenden Techniken sollen nun auf 1/(x + y) angewandt werden. Es wird sich zeigen, dass die verschiedenen Varianten keine bessere √ Asymptotik als O(e−C N ) erreichen. 3

Otto Ludwig H¨ older, geboren am 22. Dez. 1859 in Stuttgart, gestorben am 29. August 1937 in Leipzig.

D.3 Separable Sinc-Entwicklungen

405

D.3.4.1 Approximation auf [1, ∞) Die Funktion κ(x, y) = 1/(x + y) ist in x, y ∈ [1, ∞) wohldefiniert. Wir substituieren x = cosh(ζ). Die Funktion f (ζ, y) =

1 y + cosh(ζ)

ur d < π, und N (f, Dd ) ist bez¨ uglich (als Funktion von ζ) geh¨ ort zu H1 (Dd ) f¨ y ∈ [1, ∞) gleichm¨ aßig beschr¨ ankt. Das asymptotische Verhalten auf R ist |f (ζ, y)| ≤ 1/ cosh(ζ) ≤ 2e−|ζ| , d.h. < (D.13) gilt mit c = 2 und α = 1. Nach Satz D.2.8 f¨ uhrt die Schrittweite h=

πd N

zum Interpolationsfehler √ ≤ exp{− πdN } ·

EN (f, h)∞

≤ O(e−C



N

)

.

√ / 4 N N (f, Dd ) + √ πd [1 − exp(−πdN )] πd

mit C < π.

Zu beachten ist, dass diese Absch¨ atzung gleichm¨aßig f¨ ur y ∈ [1, ∞) g¨ ultig ist. 1 1 ¨ Ubung D.3.8. Man verwende die Identit¨ at x+y = ξη ξ+η f¨ ur ξ := 1/x und η := 1/y, um eine separable Approximation in (0, 1] zu beschreiben.

D.3.4.2 Approximation auf (0, ∞) ur ein α ∈ (0, 1/2) Wir substituieren mit x = exp(ζ) und skalieren mit xα f¨ Die Funktion exp(αζ) f (ζ, y) = y + exp(ζ) (als Funktion von ζ) geh¨ ort zu H1 (Dd ) f¨ ur d < π. Anders als in §D.3.4.1 ist angig beschr¨ ankt: N (f (·, y), Dd ) aber y-abh¨ N (f (·, y), Dd ) ≤ O(y α−1 ), da auf der linken H¨ alfte des Randes das Integral 

0

−∞

exp(αζ) dζ = y α−1 y + exp(ζ)

 0

1/y

sα−1 ds 1+s

auftritt. In symmetrischer Weise erscheint die Gewichtung bez¨ uglich x mit ω(x) = xα (vgl. (D.36)). Man beachte, dass sowohl y α−1 als auch xα in endlichen Intervallen [0, A] quadratintegrabel sind (vgl. Lemma D.3.3).

406

D Sinc-Interpolation und -Quadratur

D.3.4.3 Versuch einer doppelt exponentiellen Substitution Die Funktion κ(x, y) = 1/(x + y) wird bez¨ uglich y auf Y := [1, A] beschr¨ankt. uhrt werden. Zudem soll die Approximation nur f¨ ur x ∈ X0 = [1, A] durchgef¨ In den Anwendungen wird 1/A die Diskretisierungsschrittweite h oder ein festes Vielfaches sein. Da h im Allgemeinen mit der Problemdimension u ¨ber angt, sei festgehalten, dass A mit der Matrixlog h1 = O(log n) zusammenh¨ gr¨ oße w¨ achst: A = O(log n). Wir verwenden die Transformation ψ(ζ) aus (D.37) ohne Skalierung (d.h. ω = 1 in (D.39)): g(ζ, y) = κ(ψ(ζ), y) =

1 . y + cosh(sinh(ζ))

Der doppelt exponentielle Abfall f¨ ur reelle ζ → ±∞ garantiert eine besonders gute Absch¨ atzung von E(f, h) − EN (f, h) (vgl. (D.25)). Die Schwierigkeit liegt aber im Bereich der komplexen ζ ∈ Dd (d < π2 ). Anders als in §D.3.4.1 ist g(·, y) nicht in Dd holomorph, sondern hat Polstellen, ist also meromorph. Daher ist die Analyse aus §D.2.6 anzuwenden: Der Fehler E(f, h) muss mit Hilfe von (D.30) abgesch¨ atzt werden. Der Parameter y ∈ Y sei im Folgenden fest. Offenbar hat κ(·, y) eine einfache Polstelle bei x0 = −y

(y ∈ Y )

mit Resx=x0 (κ(·, y)) = 1

außerhalb von [1, A]. F¨ ur festes y ∈ Y = [1, A] sind die Singularit¨aten von g(·, y) zu untersuchen, d.h. die L¨ osungen von y + ψ(ζ) = 0 . Im Reellen ist ur komψ(R) = X = [1, ∞), aber der negative Wert ψ(ζ) = x0 = −y tritt f¨ plexe ζ± mit sinh(ζ± ) = ±σ + iπ,

σ = arcosh(y) und  ∈ Zungerade ,

(D.41)

auf, da dann ψ(ζ± ) = cosh(σ + iπ) = cosh(σ) cos(π) + i sinh(σ) sin(π)] = − cosh(σ) = −y. Man rechnet nach, dass + , ζ− = −ζ− + ζ = ξ + iη ,

σ ≈ log(2y) ur große y ∈ Y und √ f¨ 2 ξ ≈ log(2 σ + 2 π 2 ), η ≈ arctan( π σ ).

Anmerkung D.3.9. Damit ζ± ∈ Dd ist, muss |η | < d < π2 gelten. Dies beschr¨ ankt die  ∈ Zungerade auf ||  πσ tan(d). Man beachte, dass tan(d) ∈ (0, ∞) wegen d < π2 wohldefiniert ist (vgl. (D.37)). Anmerkung D.3.10. Zur Untersuchung von N (g(·, y), Dd ) ist (wegen der Sym∞ dξ abzusch¨atzen. Da d < π2 abh¨angig von metrien) nur das Integral 0 ψ(ξ+id)+y y gew¨ ahlt werden darf, sei d derart, dass die Implikation |φ(ξ + id)| = y ⇒ φ(ξ + id) = y gilt (Details im Beweis). Dann ist N (g(·, y), Dd ) = O(1). Damit  f (ζ) dζ aus (D.30) die Schranke besitzt der erste Term sin(πz/h) 2πi ∂Dd (ζ−z) sin(πζ/h) ). O(exp −πd h

D.3 Separable Sinc-Entwicklungen

407

Beweis. a) Sei ζ = ξ + id derart, dass sinh(ζ) = σ + iπ mit einem  ∈ Zgerade . ¨ Nach Ubung D.1.1c f¨ uhrt diese Bedingung auf die Gleichungen und cosh(ξ) sin(d) = π mit  ∈ Zgerade .   sinh2 (ξ) + 1 cos2 (d) = cosh2 (ξ) cos2 (d) = Wegen σ 2 + cos2 (d) = = σ 2 + cos2 (d) tan(d) = π tan2 (d)[cosh2 (ξ) sin2 (d)] hat d die Gleichung ullen, w¨ ahrend sich ξ zu ξ = arsinh (σ/ cos(d)) ergibt. mit  ∈ Zgerade zu erf¨ Dann hat ψ(arsinh (σ/ cos(d)) + id) = y das gew¨ unschte Vorzeichen. Nach Wahl von d gilt f¨ u r den Nenner |ψ(ξ + id) + y|  |ψ(ξ + id)| + y. Also ist * * * * ∞ dξ * 0 ψ(ξ+id)+y * ≤ O(1). sinh(ξ) cos(d) = σ

b) Die Schranke O(exp −πd h ) folgt nach (D.12b). Aus Symmetriegr¨ unden reicht es, die Residuen bei ζ = ζ+ f¨ ur  ∈ Zungerade σ mit   π tan(d) zu untersuchen. Da ψ(ζ) = x0 = −y, folgt aus der Transformationsregel (D.31) und Resx=x0 (κ(·, y)) = 1 das Lemma D.3.11. F¨ ur z ∈ R und y > 0 ist der zweite Term aus (D.30) absch¨ atzbar durch * * * sin(πz/h)Res + (g) * 1 ζ=ζ * *  = * * (D.42) * + *≤ * ζ − z sin(πζ+ /h) * |η | |sinh(πη /h)| y 2 − 1 *cosh(ζ+ )*   −π 2 d || 1 exp( ) . =O || y σh Summation u ¨ber alle  ∈ Zungerade mit    1 −π 2 d O y exp( σh ) .

σ π

tan(d) liefert die Schranke

Beweis. Die Transformationsregel (D.31) und Resx=x0 (κ(·, y)) = 1 ergeben * * *  + * * * * * + (1/ (ψ(ζ) + y)) = 1/ ψ (ζ Res * *  ) . Die Ableitung ist ζ=ζ 

< ψ  (ζ+ ) = sinh(sinh(ζ+ )) · cosh(ζ+ ) = − ψ 2 (ζ+ ) − 1 · cosh(ζ+ ), = * * * * sodass sich der Wert *ψ  (ζ+ )* = y 2 − 1 · *cosh(ζ+ )* = O(yσ) mit σ aus π (D.41) ergibt. Zusammen mit η ≈ arctan( π σ ) ≈ σ folgt die Behauptung. Nimmt man die Absch¨ atzung (D.25) f¨ ur E(f, h) − EN (f, h) und die Absch¨ atzungen aus Anmerkung D.3.10 und dem vorigen Lemma f¨ ur E(f, h) zusammen, lautet die Fehlerordnung       −πd −π 2 d 1 1 +O exp . O exp(− exp(N h)) + O exp 2 h y σh F¨ ur die Wahl h:= logNN gem¨ aß (D.26) werden die ersten beiden ucke zu  Ausdr¨ −πdN 1 −π 2 dN O exp( log N ) , w¨ ahrend der letzte Term O y exp( σ log N y-abh¨angig ist,

408

D Sinc-Interpolation und -Quadratur

wobei σ ≈ log(2y) zu beachten ist. Die Funktion y1 exp (−c/ ln(2y)) nimmt √ √ 2 dN ihr Maximum 2e−2 c in y = 12 exp ( c) an, wobei c = −π log N einzusetzen ist. Hieraus lassen sich unterschiedliche Schl¨ usse ziehen.  < −π 2 dN 1. Betrachtet man die reine Asymptotik N → ∞, so liegt 12 exp log N f¨ ur fast alle N außerhalb von Y = [1, A]. Das Randmaximum     2 2 dN dN bei y = A liefert O y1 exp( −π ≤ O A1 exp( (log−π = σ log N A)(log N )   2 dN und damit eine Gesamtfehlerasymptotik O exp( (log−π A)(log N )   2 CN d π mit C = min{πd, −π O exp(− log N log A }, wobei d < 2 . 2. Wenn A = O(log n) und N ≈ O(log 1ε ) f¨ ur eine Genauigkeit ε mit  < 1 1 −π 2 dN im Intervall [1, A]. Das log ε ≈ log n gilt, liegt 2 exp log N <   2 dN Maximum O exp(−2 −π zeigt dann nur noch das Verhalten log N   √ O exp(−C N , das in §D.3.4.1 sogar f¨ ur [1, ∞) statt [1, A] erreicht wurde. D.3.5 Beispiel log(x + y) D.3.5.1 Approximation auf (0, ∞) Es wird x = exp(ζ) substituiert und mit 1/ cosh(αζ) skaliert, um einen exponentiellen Abfall f¨ ur ζ → ±∞ zu erzeugen: f (ζ, y) :=

log (y + exp(ζ)) cosh(αζ)

mit 0 < α < 1/2.

(D.43a)

ur Die Skalierung entspricht der Gewichtsfunktions ω(x) = 2/ (xα + x−α ) . F¨ alle 0 < y < ∞ ist f (·, y) in Dd mit d = π holomorph und N (f (·, y), Dd ), aber y-abh¨ angig: N (f (·, y), Dd ) ≤ O (log(2 + y))

gleichm¨ aßig bez¨ uglich y ∈ (0, ∞) . (D.43b)

Eine Alternative zu (D.43a) ist f (ζ, y) := [log (y + exp(ζ)) − log(y)] exp(−αζ). Da der zus¨ atzliche Term log(y) exp(−αζ) bereits separiert ist, liefert eine separable Approximation von f (ζ, y) auch die von log (y + exp(ζ)) exp(−ζ/2). F¨ ur ζ → ∞ verh¨ alt sich f wie ζ exp(−ζ/2), w¨ ahrend f¨ ur ζ → −∞ die Asymptotik log (1 + exp(ζ)/y) exp(−ζ/2) ≈ exp(ζ/2)/y gilt. Man rechnet nach, dass sich N (f (·, y), Dd ) wie   gleichm¨ aßig bez¨ uglich y ∈ (0, ∞) N (f (·, y), Dd ) ≤ O y −α verh¨ alt. Die Konvergenz des Fehlers als Funktion von der Zahl der Interpolations√ punkte ergibt sich wie in §D.3.4.1 als O(N (f (·, y), Dd ) exp(−C N ).

D.4 Sinc-Quadratur

409

D.3.5.2 Versuche mit schnellerem Abfallverhalten Substitutionen mit φ(ζ) = exp(−ζ γ ) oder φ(ζ) = cosh(sinh(ζ)) und geeigneten Skalierungen sichern einen schnelleren Abfall auf der reellen Achse. Daf¨ ur treten Singularit¨ aten in Dd auf. Man k¨onnte dies dadurch vermeiden, dass man d hinreichend klein w¨ ahlt. Damit ruiniert man jedoch die Fehler) von E(f, h). Es bleibt die M¨oglichkeit, die Singuabsch¨ atzung O(exp −πd h larit¨ aten speziell zu behandeln. Da logarithmische Singularit¨aten keine Polstellen sind, ist §D.2.7 anzuwenden. Leider f¨ uhrt das zweite Integral aus (D.32) √ zu einer Gr¨ oßenordnung O(exp(−C N ).

D.4 Sinc-Quadratur D.4.1 Quadraturverfahren und Analyse uhrt direkt zur SincDie Sinc-Interpolation f ≈ CN (f, h) (vgl. (D.6a)) f¨ Quadratur mittels  b  b  b N  f (x)dx ≈ CN (f, h)(x)dx = f (kh) S(k, h)(x)dx. a

a

a

k=−N

Von besonderem Interesse ist die Integration u ¨ber R (d.h. a = −∞, b = ∞). ∞ Wegen −∞ sin(πx) dx = 1 ergibt sich die Quadraturformel πx  ∞ ∞  f (x)dx ≈ T (f, h) := h f (kh), (D.44) −∞

k=−∞

die als unendliche Trapezformel interpretiert werden kann. T (f, h) wird durch den endlichen Ausdruck TN (f, h) := h

N 

f (kh)

(D.45)

k=−N

approximiert. Die zugeh¨ origen Fehler seien als η(f, h) und ηN (f, h) bezeichnet:  ∞  ∞ f (x)dx − T (f, h), ηN (f, h) = f (x)dx − TN (f, h). η(f, h) = −∞

−∞

(D.46)

Die Beweise der n¨ achsten Aussagen finden sich in [128, p. 144f]. Satz D.4.1 (Quadraturfehler). Sei f ∈ H1 (Dd ). Dann hat der Quadraturfehler η(f, h) die Darstellung   i ∞ f (t − id) exp(−π (d + it) /h) (D.47) η(f, h) = 2 −∞ sin(π (t − id) /h) 6 f (t + id) exp(−π (d − it) /h) dt. − sin(π (t + id) /h)

410

D Sinc-Interpolation und -Quadratur

Die Absch¨ atzung von η(f, h) im folgenden Lemma verwendet die Norm N (f, Dd ) aus (D.7): Lemma D.4.2 (Quadraturfehler-Absch¨ atzung). setzung f ∈ H1 (Dd ) gilt

Unter der Voraus-

exp(−πd/h) N (f, Dd ) ≤ N (f, Dd ) exp(−2πd/h). (D.48) 2 sinh(πd/h)  Die Differenz ηN (f, h) − η(f, h) = h |k|>N |f (kh)| h¨angt von der Geschwindigkeit des Funktionsabfall ab: Unter der Voraussetzung (D.13) des ex−αN h (gleiche Absch¨atzung ponentiellen Abfalls folgt |ηN (f, h) − η(f, h)| ≤ 2c αe wie in (D.14) f¨ ur p = ∞). Entsprechend liefert der doppelt exponentielle Ab1 exp{−c2 ec3 N h − c3 N h} (vgl. (D.25)). F¨ ur den fall (D.24) die Schranke c2c 2 c3 atzt als Summe von |η(f, h)| und |ηN (f, h) − η(f, h)| Fehler |ηN (f, h)| abgesch¨ empfiehlt sich die folgende Wahl von h. |η(f, h)| ≤

Satz D.4.3 (ηN (f, h)-Absch¨ atzung). Sei f ∈ H1 (Dd ). a) Im Falle des exponentiellen Abfalls (D.13) ist ' 2πd h := αN die optimale Schrittweite und liefert die Fehlerabsch¨atzung  √  N (f, Dd ) 2c − 2πdαN √ e + |ηN (f, h)| ≤ α 1 − exp(− 2πdαN ) (α, c aus (D.13)). b) Im Falle des st¨ arkeren Abfalls (D.19) ist 1/(γ+1)  2πd N γ/(γ+1) h := α

(D.49a)

(D.49b)

(D.50a)

die optimale Schrittweite und liefert die Fehlerabsch¨ atzung / .   1 (2πd)γ/(γ+1) 1 c 2πd γ+1 γ+1 N (f, Dd ) − N γ/(γ+1) + e α1/(γ+1) N |ηN (f, h)| ≤ 2 πd α    √ γ+1 mit C < 2πd/ ≤ O exp −CN γ/(γ+1) 2πdα, (D.50b) (α, γ, c aus (D.19)). c) Im Falle des doppelt exponentiellen Abfalls (D.24) ist h :=

log(2πdc3 N/c2 ) c3 N

(c1 , c2 , c3 aus (D.24))

(D.51a)

die optimale Schrittweite und liefert die Fehlerabsch¨ atzung |ηN (f, h)| ≤ N (f, Dd ) e−2πdc3 N/ log(2πdc3 N ) (1 + o(1)) .

(D.51b)

D.4 Sinc-Quadratur

411

exp(−2πd/h) Beweis. 1) F¨ ur den Ausdruck in (D.48) gilt 2exp(−πd/h) sinh(πd/h) = 1−exp(−2πd/h) = exp(−2πd/h) + O(exp(−4πd/h)). √ 2) Teil a) ergibt sich aus (D.48) mit exp(−2πd/h) = √exp(− 2πdαN ) und −αN h − 2πdαN ≤ 2c . der Absch¨ atzung |ηN (f, h) − η(f, h)| ≤ 2c αe αe  3) |ηN (f, h) − η(f, h)| ≤ |k|>N |f (kh)| hat die rechte Seite aus (D.20) als Schranke. Durch Abgleich der Exponenten in O(exp −2πd h ) und γ O(exp(−α (N h) ) folgt (D.50a) und daraus (D.50b). 4) In Teil c) verwendet man exp(−2πd/h) = exp(−2πdc3 N/ log(2πdc3 N )) f¨ ur η(f, h) und die Absch¨ atzung

2c1 exp(−c2 ec3 N h − c3 N h) c2 c3 c1 2c1 exp(−2πdc3 N ) exp(−2πdc3 N − log(2πdc3 N/c2 )) = = c2 c3 πdc23 N |ηN (f, h) − η(f, h)| ≤

(analog zu (D.25)), deren rechte Seite st¨ arker als e−2πdc3 N/ log(2πdc3 N ) f¨allt. D.4.2 Separable Entwicklungen mittels Quadratur Im Folgenden werden verschiedene Integrale diskutiert, die den Wert 1/r (oder andere Funktionen ϕ(r)) ergeben. Wichtig ist dabei, dass der Integrand von der Form  ∞ erF (t) G(t)dt (D.52a) ϕ(r) = −∞

ist. Falls die Sinc-Quadratur  erfolgreich auf das Integral angewandt werden kann, erh¨ alt man ϕ(r) ≈ ν erF (νh) G(νh). Setzt man nun r = x + y, ergibt sich die separable Entwicklung  G(νh)exF (νh) eyF (νh) . (D.52b) ϕ(x + y) ≈ ν

Anmerkung D.4.4. Diese Technik l¨ asst sich auf den multivariaten Fall d x alt man eine separable Entwicklung verallgemeinern: Mit r = i erh¨ d  7d i=1 xi F (νh) ϕ( i=1 xi ) ≈ ν G(νh) i=1 e in d Variablen. Beachtenswert ist bei diesem Zugang, dass die Zahl der Terme (der Separationsrang) unabh¨angig von d ist. Anmerkung D.4.5. Sei ϕ(r) = 1/r. Das Argument kann o.B.d.A. auf r ≥ 1 ¨ skaliert werden, darf in den folgenden Uberlegungen angenommen werden, dass der Parameter r in 1≤r≤R (D.53) variiert, wobei in den Randintegral-Anwendungen R = O(n) (n: Matrixgr¨oße) zu erwarten ist.

412

D Sinc-Interpolation und -Quadratur

D.4.3 Beispiel: Integrand exp(−rt) D.4.3.1 Quadratur mit einfach exponentiellem Abfall Das Integral 1 = r





e−rt dt

f¨ ur r > 0

(D.54a)

0

ist zun¨ achst so zu substituieren, dass sich die Integration u ¨ber R erstreckt. dt Eine M¨ oglichkeit ist t = log(1 + ex ). Wegen dx = ex / (1 + ex ) = 1/ (1 + e−x ) folgt  ∞ x dx 1 = e−r log(1 + e ) f¨ ur r > 0 (D.54b) r 1 + e−x −∞ ¨ Ubung D.4.6. Sei d ≤ π/2. Man zeige: a) Das Verhalten des Integranden ist O(e−re x ) f¨ ur *e x ≥ 0 (x ∈ Dd ) und O(e−|e x| ) f¨ ur *e x ≤ 0. b) Der Integrand von (D.54b) ist in Dd holomorph mit N (f, Dd ) = O(1+1/r). ur d < π holomorph, aber dann w¨achst c) Der Integrand ist sogar in Dd f¨ N (f, Dd ) exponentiell mit r. ¨ Aus Teil a) der vorstehenden Ubung erh¨ alt man das Verhalten (D.13) mit α = min{1, r}. Mit (D.53) sichert man α = 1. Entsprechend erh¨alt man gem¨aß (D.49b) die in r ≥ 1 gleichm¨ aßige Fehlerabsch¨ atzung √ (D.55) |ηN (f, h)| ≤ Ce− 2πdN . Die absoluten Fehler |ηN (f, h)| sind f¨ ur verschiedene r ≥ 1 und verschiedene N in Tabelle D.1 wiedergegeben. Man beachtet, dass die relativen Fehler (nach Multiplikation mit r) ung¨ unstiger aussehen. Berechnet man die Fakur den toren N/ log2 (1/ |ηN (f, h)|) (Aufwand pro Genauigkeit), so ergibt sich f¨ gesamten Parameterbereich aus Tabelle D.1 ein Wert um 0.08, der sogar besser ur d = π/2 erg¨abe. In jedem Falle wird als π −2 ≈ 0.10 ist, was sich aus (D.55) f¨ √ das exponentielle Fehlerverhalten mit einem Exponenten O( N ) numerisch best¨ atigt. D.4.3.2 Quadratur mit doppelt exponentiellem Abfall Um einen doppelt exponentiellen Abfall zu erzeugen, wird in (D.54b) x = sinh s substituiert:  ∞ sinh s 1 ) cosh s ds = e−r log(1 + e f¨ ur r > 0. (D.56a) r 1 + e− sinh s −∞ mit dem Integranden F (s) := e−r log(1 + e

sinh s

)

cosh s . 1 + e− sinh s

(D.56b)

D.4 Sinc-Quadratur N\r 5 10 20 30 40 50 60 80 100 120

1 1.62-04 1.58-05 2.09-07 6.75-09 3.65-10 2.76-11 2.66-12 4.21-14 1.11-15 2.22-16

10 5.25-04 1.75-05 3.25-07 6.26-09 2.27-10 1.43-11 1.31-12 2.04-14 5.22-16 3.61-17

100 3.18-04 1.78-05 3.43-07 1.40-08 1.41-09 1.48-10 2.34-11 4.69-13 1.57-14 9.79-16

1000 1.37-04 1.00-05 1.23-07 4.73-09 1.39-10 2.12-11 6.60-12 1.75-13 1.58-15 2.30-16

1E4 8.85-05 8.36-06 1.05-07 3.43-09 1.55-10 1.65-11 1.69-12 5.22-15 1.93-16 1.16-16

1E6 1.00-06 1.00-06 1.00-07 3.37-09 1.82-10 1.38-11 1.33-12 2.09-14 5.26-16 3.36-18

1E8 1.00-08 1.00-08 1.00-08 2.88-09 1.80-10 1.38-11 1.33-12 2.07-14 5.14-16 2.77-17

1E10 1.00-10 1.00-10 1.00-10 1.00-10 8.45-11 1.29-11 1.32-12 2.08-14 4.82-16 6.16-18

413

1E12 1.00-12 1.00-12 1.00-12 1.00-12 1.00-12 1.00-12 7.40-13 2.05-14 5.34-16 1.98-17

Tabelle D.1. Absolute Quadraturfehler der Sinc-Quadratur von (D.54b) f¨ ur h = √ 3.5/ N

¨ Ubung D.4.7. Man zeige: a) F¨ ur s → +∞ ist der Integrand F (s) ≈ 1 r s sinh s exp(s − re ) ≈ exp(− e ) doppelt exponentiell abfallend. 2 2 −r log(1+esinh s ) b) F¨ ur s → −∞ verh¨ alt sich e wie exp(− 2r e−|s| ) → 1, aber cosh s 1 s der zweite Faktor 1+e− sinh s = O(exp(−s + 2 e )) ≈ O(exp( 12 e−|s| )) sichert den doppelt exponentiellen Abfall. c) F ist in Dd mit d ≤ π/2 holomorph. Das asymptotische Verhalten garantiert, dass F aus (D.56b) zu H1 (Dd ) geh¨ ort. Allerdings kann die Absch¨ atzung (D.51b) durch N (F, Dd ) = O(er ) ur s = x + iy ∈ Dd mit ruiniert werden. Die Ursache ist, dass log(1 + esinh s ) f¨ sinh s ) x < 0 und y = d negativ werden kann und damit e−r log(1+e = O(er ). Im Folgenden wird F (s) in den vier Abschnitten  I1 := (−∞, x0 (r)], I3 := [0, x1 ], (D.57) Di := {s ∈ Dd : *e s ∈ Ii } mit I4 := [x1 , ∞) I2 := [x0 (r), 0], separat abgesch¨ atzt, wobei x0 (r) < 0 und x1 > 0 noch definiert werden. Wir werden zeigen, dass *e log(1 + esinh s ) ≥ 0 in I3 ∪I4 mit festem d > 0 erreicht angiges d = O(1/ log(r)) ben¨otigt werden kann, w¨ ahrend hierf¨ ur in I2 ein r-abh¨ sinh s log(1 + e ) beliebige Vorzeichen haben, aber dann ist der wird. In I1 kann * * ur alle r ≥ 1, x ≤ x0 (r). Exponent r *log(1 + esinh s )* ≤ O(1) f¨ Lemma D.4.8. Seien d < π/2 und x1 := arsinh( cos1 d ). F¨ ur alle s = x + iy ∈ Dd mit x ∈ I4 gilt * cosh(x) −r log(eX − 1) ** e (D.58a) |F (s)| ≤ * 1 − e−X X=sinh(x) cos(y) 

1 x−r sinh(x) cos(y) 1 x−r e  e 2 2

cos(d) |x| e 2 .

414

D Sinc-Interpolation und -Quadratur

Beweis. a) F¨ ur u = X + iY gilt *e log(1 + eu ) = 1 X 2X ). 2 log(1 + 2e cos(Y ) + e b) Die Komponenten von sinh(s) = X + iY sind X = sinh(x) cos(y),

Y = cosh(x) sin(y)

1 2

2

log(|1 + eu | ) =

f¨ ur s = x + iy ∈ Dd .

(D.59)

unstigste Fall f¨ ur den Ausx > arsinh( cos1 d ) impliziert X > 1. Der ung¨ druck aus a) tritt f¨ ur cos(Y ) = −1, d.h. f¨ ur hinreichend große x auf und liefert *e log(1 + eX+iY ) ≥ log(eX − 1) > log(e − 1) > 0.5. Dasinh s X ) mit ist |e−r log(1+e | ≤ e−r log(e −1) < 1 . Schließlich beweist |1+e−1sinh s | ≤ 1 Ungleichung (D.58a). |1−e−X | Lemma D.4.9. Seien d ≤ 0.93 < π/2 und x1 wie in Lemma D.4.8. F¨ ur alle s = x + iy ∈ Dd mit x ∈ I3 gilt √ (D.58b) |F (s)| ≤ 2. Beweis. 0 ≤ x ≤ x1 = arsinh( cos1 d ) impliziert 0 ≤ sinh x ≤ cos1 d . = 1 + sinh2 x schließt man auf Y = cosh(x) sin(y) ≤ Aus cosh(x) = √ 2 tan(d) 1 + cos d (X, Y aus (D.59)). Die Beschr¨ankung d ≤ 0.93 garanX+iY tiert π/2) * 0. Die Ungleichungen  und daher* *e e− sinh(s)≥  Y ∈ (−π/2, sinh(s) * > 1 zeigen |F (s)| ≤ * ) < 0 und 1 + e *e −r log(1 + e √ √ √ |Y | |cosh(s)| ≤ cosh(x) ≤ sin d = 1 + cos2 d/ cos d = 1 + cos−2 d ≤ 2. Anmerkung D.4.10. Die numerische Rechnung zeigt, dass der Realteil des Fakur alle x ≥ 0 positiv ist, wenn d ≤ 1.33. tors log(1+esinh(x+id) ) im Exponenten f¨ Der kritische Fall liegt f¨ ur x ∈ I2 vor, da d hier durch d ≤ d(r) = O(1/ log(r)) beschr¨ ankt werden muss. Lemma D.4.11. Der I2 definierende Wert x0 (r) aus (D.57) sei4   log(3r) = −O(log log(3r)) < 0 mit x0 (r) := − arsinh cos(d(r)) . / '   2 2 1 π2 π π A := 1+ + log2 (3r) , B := / A + A2 + , (D.58c) 2 4 4 4 √ d(r) := arcsin( B). F¨ ur alle s = x + iy ∈ Dd(r) mit x ∈ I2 = [x0 (r), 0] gilt |F (s)| ≤ 4

1 1 −x + sinh(x) cos(y) e ≤ e|x| − 2 2

cos(d(r)) |x| e . 2

(D.58d)

Die numerischen Werte von x0 (r) sind x0 (1) = −1.2068, x0 (10) = −2.0235, x0 (103 ) = −2.7957, x0 (106 ) = −3.4021, x0 (109 ) = −3.7792.

D.4 Sinc-Quadratur

415