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 < ≤ min{#I, #J}. Die Σ 0 , wobei Σ ∈ Rk×k die Diagonalmatrix hat die Blockstruktur Σ = 0 Σ Σ 0 aus (2.3b) definiert. Die beste Rang-k-Approximation Matrix Σk = 0 0 an M ist M = U Σk V . Auch hier kann wieder komprimiert werden: Seien ) ( V die entsprechenden Blockstrukturen. Dann U = U U und V = V folgt ⎧ ⎨ U = U |I×{1,...,k} ∈ RI×{1,...,k} , M =U ΣV mit Σ = Σ|{1,...,k}×{1,...,k} ∈ R{1,...,k}×{1,...,k} , ⎩ V = V |J×{1,...,k} ∈ RJ×{1,...,k} . Indem man U · Σ auswertet (die Kosten in H¨ohe von k#I Operationen sind eine Gr¨ oßenordnung kleiner als jene aus Lemma 2.5.3), erh¨alt man f¨ ur M = A B ∈ R(k, I, J) die Faktoren A := U Σ und B := V . Falls #J < #I , sollte man stattdessen A := U und B := V Σ w¨ahlen. Wir fassen zusammen: Anmerkung 2.5.4. Sei k < . Zu einer Rang--Matrix M ∈ R(, I, J) kann mit einem Aufwand von NT R () ≤ 62 (#I + #J) + 223 Operationen eine im Sinne von (2.3a) optimale M ∈ R(k, I, J) bestimmt werden. Die Abbildung R : R(, I, J) → R(k, I, J) Tk←
(2.9) Rang-k-Matrix (2.10)
R mit M = Tk← (M ) wird “ K¨ urzung auf Rang k” genannt. F¨ ur k ≥ wird R at definiert. Tk← als Identit¨
Falls der Rang der Argumentmatrix nicht vordefiniert ist, wird zur Vereinfachung auch M = TkR (M ) geschrieben:
2.6 Rang-k-Matrix-Addition mit anschließender K¨ urzung R TkR (M ) := Tk←Rang(M ) (M ).
35
(2.11)
Man beachte, dass im Falle von σk = σk+1 das Resultat M nicht eindeutig R eigentlich als mengenist (vgl. Satz 2.4.1). In diesem Fall m¨ usste man Tk← wertige Funktion ansehen. In der algorithmischen Durchf¨ uhrung wird eine Auswahl einer L¨ osung vorgenommen, die einerseits von der konkreten Implementierung und andererseits von Rundungsfehlereinfl¨ ussen bestimmt wird. R (M ) bezeichnet. Dieses Resultat wird im Folgenden als Tk←
2.6 Rang-k-Matrix-Addition mit anschließender Ku ¨rzung 2.6.1 Formatierte Addition Zwar ist die Addition von Matrizen M ∈ R(k , I, J) und M ∈ R(k , I, J) ohne arithmetische Operationen durchf¨ uhrbar (vgl. Anmerkung 2.3.1b), sie vergr¨ oßert aber im Allgemeinen den Rang: M ∈ R(k , I, J), M ∈ R(k , I, J) =⇒ M + M ∈ R(k + k , I, J). (2.12) Im Folgenden wird es sich als vern¨ unftig erweisen, das exakte Resultat anschließend auf einen Rang k < k + k “abzurunden”. Diese gerundete Addition wird als R (2.13) M ⊕k M := Tk←k +k (M + M ) geschrieben und auch als formatierte Addition bezeichnet (Bildbereich im Format R(k, I, J)). Wenn der Zielrang k bekannt ist, wird der Index k auch weggelassen und die Summe als M ⊕ M geschrieben. Insbesondere ist der Fall k = k = k von Interesse, da dann ⊕k eine Matrixoperation innerhalb der Menge R(k, I, J) ist. ⊕k wird dann auch “R(k)-Addition” genannt. Korollar 2.6.1. a) F¨ ur M , M ∈ R(k, I, J) erfordert die formatierte ohe von 24k 2 (#I + #J) + 176k 3 Matrixaddition ⊕k Kosten in der H¨ Operationen. b) Im Spezialfall k = 1 reichen 9(#I + #J) + 29 Operationen. Beweis. Teil a) folgt aus Anmerkung 2.5.4 mit 2k statt k. Summe ist AB mit Teil ) M =( a1 b1 ), M = a2 b2 . Die exakte ( b) Sei aß (2.3b) hat M ⊕1 M die Darstellung A = a1 a2 , B = b1 b2 . Gem¨ σ1 ab wobei a und b die ersten Spalten von U bzw. V und σ1 der erste oßte Eigenwert der 2 × 2-Matrix Singul¨ arwert sind. Demnach ist σ12 der gr¨ orige Eigenvektor von AAB B und a der Eigenvektor A AB B, b der zugeh¨ von B BAA. Die 2 × 2-Gram-Matrizen Ga = AA erfordern wegen ihrer Symmetrie nur ur Gb = B B. Die Berechnung von 3 Skalarprodukte ai , aj . Analoges gilt f¨
36
2 Rang-k-Matrizen
G := AAB B = Ga Gb kostet 12 Operationen. Zusammen erfordert dieser Teil 3 · (2#I − 1) + 3 · (2#J − 1) + 12 = 6 (#I + #J) + 6 Operationen. Die Berechnung des gr¨ oßten Eigenwertes der 2 × 2-Matrix G ist mit 9 Operationen m¨ oglich (die Quadratwurzel wird als eine Elementaroperation betrachtet). Die Ermittlung des zugeh¨ origen normierten Eigenvektors v = v1 erfordert nochmals 8 Operationen. Der gesuchte Eigenvektor b ergibt v2 sich als die Linearkombination b = v1 b1 + v2 b2 mit einem Aufwand von 3#J Operationen. Schließlich wird σ1 a als M b+M b berechnet. Man beachte, dass in M b = a1 · (v1 b1 , b1 + v2 b1 , b2 ) die Skalarprodukte bereits bekannt sind. ¨ Ahnliches gilt f¨ ur M b. Somit erfordert M b + M b nur 3#I + 6 Operationen. Die Summe der Operationen in diesem Abschnitt ist 3 (#I + #J) + 23. Die Kosten summieren sich zu 6 (#I + #J) + 6 + 3 (#I + #J) + 23 = 9(#I + #J) + 29. 2.6.2 Formatierte Agglomeration Seien J1 und J2 zwei disjunkte Indexmengen. Das Zusammensetzen der beiden Matrizen M1 ∈ RI×J1 und M2 ∈ RI×J2 zu M = [M1 M2 ] ∈ RI×J
mit
˙ 2 J := J1 ∪J
sei als Agglomeration bezeichnet. In der Notation von Definition 1.3.8 kann die Agglomeration als Addition geschrieben werden: [M1 M2 ] = [M1 0] + [0 M2 ] = M1 |I×J + M2 |I×J . Wie die Addition erh¨ oht die Agglomeration im Allgemeinen den Rang, sodass eine K¨ urzung vorzunehmen ist. Anmerkung 2.6.2. a) Seien M1 ∈ R(k1 , I, J1 ) und M2 ∈ R(k2 , I, J2 ) Matrizen R ˙ 2 . Dann ist M := Tk←k ([M1 M2 ]) = mit k1 , k2 ∈ N0 und J := J1 ∪J 1 +k2 I×J I×J M1 | ⊕k M2 | ∈ R(k, I, J) die formatierte Agglomeration. b) Der Aufwand der formatierten Agglomeration ist geringer als der der formatierten Addition, da die Behandlung der Summanden [M1 0] und [0 M2 ] wegen der Nullen billiger ist. 2.6.3 Mehr als zwei Terme Bisher wurde nur die Summe M1 + M2 von zwei Matrizen bzw. die Agglomeration von zwei Teilmatrizen diskutiert. Nun untersuchen wir die Summe q M oder die Agglomeration von q Teilmatrizen Mi , wobei q > 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 , < (k) ∞ 2 κ − κ (k) L2 (X×Y ) = KXY − KXY F = ν=k+1 σν .
(4.29)
(k)
Dabei sind KXY und KXY die Integraloperatoren mit den auf X × Y definierten Kernfunktionen κ und κ (k) : κ(x, y)u(y)dy, (KXY u) (x) := Y (x ∈ X) (4.30) (k) (k) κ (x, y)u(y)dy (KXY u)(x) := Y
(vgl. Fußnote 22 auf Seite 18). Es gibt kein κ (k) von der Form (4.1), das in (4.29) bessere Absch¨ atzungen erzielen kann (vgl. Satz C.4.6). Damit bestimmen allein die Singul¨ arwerte σν die bestm¨oglichen Fehler (k) KXY − KXY L2 (X)←L2 (Y ) und κ − κ (k) L2 (X×Y ) . Im Allgemeinen ist die Entwicklung (4.27) nicht zug¨anglich. Interessant ist aber bereits das asymptotische Verhalten der Singul¨arwerte σν . Falls beispielsare eine separable Entwicklung mit dem weise |σν | ≈ c1 exp (−c2 ν α ) gilt, w¨ Fehlerverhalten (4.5) (bei gleichem α) asymptotisch optimal.
4.4 Diskretisierung von Integraloperatoren mit separablen Kernfunktionen 4.4.1 Einf¨ uhrung: Separable Entwicklung und Galerkin-Diskretisierung Zum Zwecke der Einf¨ uhrung nehmen wir die folgende Situation an: 1. Die quadratische Matrix K ∈ RI×I werde auf einen zul¨assigen Block b = τ × σ (τ, σ ⊂ I) beschr¨ ankt.
4.4 Diskretisierung von Integraloperatoren mit separablen Kernfunktionen
75
2. Die Funktion κ(x, y) sei f¨ ur x, y ∈ Γ definiert. Gegeben Teilbereiche X und Y von Γ, betrachten wir im Folgenden die Beschr¨ankung von κ(x, y) (k) auf X ×Y und die hierdurch definierten Integraloperatoren KXY und KXY aus (4.30). 3. Der Zusammenhang von K und κ(x, y) sei durch (1.28) gegeben: ur i ∈ I sind die Basisfunktionen Kij = Γ Γ κ(x, y)φi (x)φj (y)dxdy (φi f¨ des Galerkin-Verfahrens, vgl. (1.22a)). Die Voraussetzung an die Indexteilmengen τ, σ ist, dass sie im folgenden Sinne zu X, Y passen: Tr¨ager(φi ) ⊂ X
f¨ ur i ∈ τ
und Tr¨ ager(φj ) ⊂ Y
f¨ ur j ∈ σ.
(4.31)
Damit l¨ asst sich der Integrationsbereich von Γ × Γ auf X × Y reduzieren: Kij = κ(x, y)φi (x)φj (y)dxdy f¨ ur alle i ∈ τ, j ∈ σ. (4.32) X Y
4. Zu einem k sei eine Approximation κ (k) (x, y) = gem¨ aß (4.1) gegeben.
k ν=1
(k)
(k)
ϕν (x)ψν (y)
In (4.32) ersetzen wir κ durch κ (k) und erhalten (k) κ (k) (x, y)φi (x)φj (y)dxdy f¨ ur alle i ∈ τ, j ∈ σ. Kij :=
(4.33)
X Y
Dies definiert den Matrixblock K (k) |τ ×σ , vorausgesetzt dass die Mengen X, Y aus (4.31) die Zul¨ assigkeitsbedingung aus §4.1.3 erf¨ ullen16 . (k) angt offenbar eng mit κ − κ (k) zusammen Der Fehler K |τ ×σ − K|τ ×σ h¨ und wird in §4.5 diskutiert werden. Die folgende Feststellung ist einfach, aber fundamental. ort Satz 4.4.1. Wenn κ (k) ein separabler Ausdruck der Form (4.1) ist, geh¨ K (k) |τ ×σ zu R(k, τ, σ). Beweis. F¨ ur i ∈ τ und j ∈ σ ist (k) Kij = κ (k) (x, y)φi (x)φj (y)dxdy X
=
Y
k ν=1
X
(k) ϕ(k) ν (x)ψν (y)φi (x)φj (y)dxdy =
Y
k (k) ϕ(k) (x)φ (x)dx ψ (y)φ (y)dy = aiν bjν i j ν ν Y ν=1 X ν=1 =: aiν =: bjν = AB i,j . =
16
k
Mit der sp¨ ater eingef¨ uhrten Notation wird dies als τ ×σ ∈ P + geschrieben. Es wird assig auch (kleine) Bl¨ ocke b = τ × σ ∈ P − geben, die nicht notwendigerweise zul¨ sind und f¨ ur die die exakten Matrixwerte K (k) |b = K|b verwendet werden.
76
4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen
Damit ist offenbar K (k) |τ ×σ = AB eine Matrix aus R(k, τ, σ). Somit ist anhand der Galerkin-Diskretisierung illustriert, wie man von der Existenz einer separablen Approximation vom Separationsrang k zu einer R(k, τ, σ)-Matrix gef¨ uhrt wird17 . Diese Implikation ist nicht auf die GalerkinDiskretisierung beschr¨ ankt, wie man in §4.4.2 sehen wird. 4.4.2 Separable Entwicklung und allgemeine Diskretisierungen ∗ Seien K|b die Untermatrix zum Indexblock b = τ × σ und κ(·, ·) : Γ × Γ → R die Integralkernfunktion des Integraloperators K aus (1.25b), wobei Γ eine Oberfl¨ ache oder ein Teilbereich von Rd sein kann. Wir betrachten die Funktion κ nur in dem Teilbereich κ : X × Y → R, in dem die separable Entwicklung (4.1) gelte (hierzu wird im Allgemeinen vorausgesetzt, dass X, Y ⊂ Γ einer der Zul¨assigkeitsbedingungen (4.8a-d) gen¨ ugen). Die Beschr¨ ankung auf X×Y definiert den Integraloperator KXY aus (4.30). KXY kann als Abbildung zwischen den Hilbert18-R¨aumen L2 (Y ) und L2 (X) angesehen werden kann (vgl. Definition C.3.7). Wir gehen im Folgenden aß (4.1) aus und definieren hierzu von einer separablen Entwicklung κ (k) gem¨ (k) den Integraloperator KXY wie in (4.30). Gem¨ aß (1.33a,b) lassen sich alle Diskretisierungen von K als K = Λ1 KΛ∗2 schreiben, wobei Λi : L2 (Γ ) → Rn (i = 1, 2) lineare Abbildungen sind. Die Komponenten Λ1,j von Λ1 sind Funktionale. Die Beschr¨ankung auf τ ergibt Λ1 |τ := (Λ1,j )j∈τ (gleiche Notation wie in (1.12)). Analog sei Λ2 |σ definiert. Wie in (4.31) setzen wir voraus, dass Tr¨ager(Λ1,i ) ⊂ X
f¨ ur i ∈ τ,
Tr¨ ager(Λ2,j ) ⊂ Y
f¨ ur j ∈ σ
(4.34)
(vgl. Definition C.3.2). Eine triviale Folge ist Kij = (Λ1 KΛ∗2 )ij = Λ1,i KΛ∗2,j = Λ1,i KXY Λ∗2,j
f¨ ur i ∈ τ, j ∈ σ,
(4.35a)
oder K|b = Λ1 |τ K (Λ2 |σ )∗ = Λ1 |τ KXY (Λ2 |σ )∗
f¨ ur b = τ × σ.
(4.35b)
Approximation von κ durch κ (k) liefert Kij := Λ1,i KXY Λ∗2,j (k)
17
18
(k)
f¨ ur i ∈ τ, j ∈ σ
(4.35c)
Man beachte, dass der Rang kleiner ausfallen darf: Der Fall Rang(K (k) |τ ×σ ) < k kann auch dann auftreten, wenn k in (4.1) minimal ist. David Hilbert, am 23. Januar 1862 in K¨ onigsberg (Preußen) geboren und am 14. Februar 1943 in G¨ ottingen gestorben.
4.4 Diskretisierung von Integraloperatoren mit separablen Kernfunktionen
77
oder in kompakter Form19 K
(k)
|b =
(k) Λ1 |τ KXY
∗
(Λ2 |σ )
mit
Λ1 |τ = (Λ1,i )i∈τ , Λ2 |σ = (Λ1,j )j∈σ .
(4.35d)
¨ Mit Hilfe der Ubung C.3.3 erh¨ alt man die Anmerkung 4.4.2. a) Galerkin: F¨ ur die Abbildungen Λ1 = Λ2 des GalerkinVerfahrens gilt ager(φj ) Tr¨ ager(Λ1,j ) = Tr¨ager(Λ2,j ) = Tr¨
(4.36a)
(φj : Basisfunktion aus (1.28)). b) Kollokation: F¨ ur das Kollokationsverfahren in den Kollokationspunkten xi ist (xi aus (1.30)), (4.36b) Tr¨ager(Λ1,i ) = {xi } w¨ ahrend (4.36a) f¨ ur Λ2 zutrifft. c) Nystrøm: Der Punktwert (4.36b) gilt auch f¨ ur die beiden zum NystrømVerfahren geh¨ orenden Abbildungen Λ1 und Λ2 . d) Die Bedingungen (4.34) erfordern daher Galerkin-Verfahren: ur i ∈ τ, Tr¨ager(φi ) ⊂ X f¨
Tr¨ ager(φj ) ⊂ Y f¨ ur j ∈ σ,
(4.37a)
Kollokationsverfahren: ur i ∈ τ, xi ∈ X f¨
Tr¨ ager(φj ) ⊂ Y f¨ ur j ∈ σ,
(4.37b)
Nystrøm-Verfahren: ur i ∈ τ, xi ∈ X f¨
xj ∈ Y f¨ ur j ∈ σ.
(4.37c)
Die Verallgemeinerung des Satzes 4.4.1 lautet wie folgt. Satz 4.4.3. Sei b = τ × σ ein Indexblock. Λ1 |τ : L2 (X) → Rτ
und
Λ2 |σ : L2 (Y ) → Rσ
seien lineare Abbildungen mit der Tr¨ agereigenschaft (4.31). Der separable orige Integraloperator Ausdruck κ (k) sei von der Form (4.1), und der zugeh¨ (k) KXY sei durch (4.30) definiert. Dann liefert (k)
∗
K (k) |b = (Λ1 |τ ) KXY (Λ2 |σ ) =
k
(k) Λ1 |τ (ϕ(k) ) Λ | (ψ ) 2 σ ν ν
(4.38)
ν=1
=
k
aν b ν
ν=1 19
Die Schreibweise K (k) |b = Λ1 |τ K(k) (Λ2 |σ )∗ mit K(k) statt KXY w¨ are nicht korrekt, da K(k) als Operator von L2 (Γ ) nach L2 (Γ ) nicht definiert ist. Nur wenn Γ × Γ in disjunkte Teilbereiche der Form X × Y zerlegt ist und auf allen asst sich K(k) erkl¨ aren. Teilbereichen eine Approximation κ (k) definiert ist, l¨ (k)
78
4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen (k)
(k)
mit aν = Λ1 |τ (ϕν ) ∈ Rτ und bν = Λ2 |σ (ψν ) ∈ Rσ eine Darstellung als Rang-k-Matrix. (k)
(k)
Beweis. a) Wegen (4.31) sind die Funktionale Λ1,i (ϕν ) (i ∈ τ ) und Λ2,j (ψν ) (j ∈ σ) wohldefiniert und ergeben die Vektoren aν ∈ Rτ und bν ∈ Rσ . (k) ur alle u ∈ Rσ gilt: b) Definitionsgem¨ aß ist bν = Λ2 |σ (ψν ) ∈ Rσ , sodass f¨ ∗ (k) (k) = ψ , (Λ | ) u b 2 σ ν u = (bν , u)Rσ = Λ2 |σ ψν , u ν Rσ L2 (Y ) ∗ = ψν(k) (y) (Λ2 |σ ) u (y) dy. (4.39) Y
F¨ ur x ∈ Y und u ∈ Rσ folgt
(k) KXY
∗
∗ κ (k) (x, y) (Λ2 |σ ) u (y) dy
(Λ2 |σ ) u (x) = Y
k
=
Y
= also
k
ν=1
k ∗ ψν(k) (y) (Λ2 |σ ) u (y) dy = ϕ(k) ν (x) bν u,
ϕ(k) ν (x)
(4.39)
Y
ν=1 (k) KXY
∗ (k) ϕ(k) (Λ2 |σ ) u (y) dy ν (x)ψν (y)
∗
(Λ2 |σ )
(x) =
k
(k) ν=1 ϕν (x)
b ν . Anwendung von Λ1 |τ liefert .
K (k) |b =
(k) Λ1 |τ KXY
ν=1
∗
(Λ2 |σ ) = Λ1 |τ
k
/ ϕ(k) ν bν
ν=1
=
k
Λ1 |τ (ϕ(k) ν ) bν =
ν=1
k
aν b ν.
ν=1
4.5 Approximationsfehler ∗ 4.5.1 Operatornormen In diesem Abschnitt werden wir den Fehler K|b − K (k) |b eines Matrixblockes zu b = τ × σ studieren, der durch die Approximation von κ durch κ (k) hervorgerufen wird. Der Fehler der Gesamtmatrix K (k) wird sp¨ater in §6.5.4 diskutiert werden, nachdem die Partition der Matrix in Teilbl¨ocke festgelegt worden ist. Drei mathematische Objekte k¨ onnen Gegenstand der Fehlerbetrachtung sein:
4.5 Approximationsfehler ∗
79
• der Fehler K|b − K (k) |b der Matrixbl¨ ocke, (k) • die Differenz KXY − KXY der Operatoren oder • die Differenz κ − κ (k) der Kernfunktionen, wobei die letzten beiden Gr¨ oßen eineindeutig aufeinander bezogen sind. F¨ ur alle genannten Gr¨ oßen bieten sich mehrere Normen an. Eine bequeme Norm (k) f¨ ur KXY − KXY ist die Hilbert-Schmidt20 -Norm ·F (vgl. (C.19)), denn es gilt der definitionsgem¨ aße Zusammenhang (k)
KXY − KXY F = κ − κ (k) L2 (X×Y ) .
(4.40a)
Naheliegender ist oft die Operatornorm von L(L2 (Y ), L2 (X)) (vgl. §C.3 zur Definition der Norm). Aufgrund der Ungleichung (k)
(k)
KXY − KXY L2 (X)←L2 (Y ) ≤ KXY − KXY F
(4.40b)
gelingt die Kombination mit (4.40a). atzungen sind f¨ ur das GalerkinDiese auf L2 -Normen basierenden Absch¨ Verfahren geeignet. Bei der Kollokation verlangt die Punktauswertung bez¨ uglich x zumindest Stetigkeit in x, sodass K − K(k) C(X)←L2 (Y ) naheliegt. Im Nystrøm-Fall ist Stetigkeit in beiden Variablen notwendig: K − K(k) C(X)←C(Y ) . Auch hier lassen sich leicht die Zusammenh¨ange (k) zwischen KXY − KXY und κ − κ (k) beschreiben, z.B. gilt (k)
KXY − KXY C(X)←L2 (Y ) = sup κ(x, ·) − κ (k) (x, ·)L2 (Y ) .
(4.40c)
x∈X
Auch diese Norm kann zur Absch¨ atzung von ·L2 (X)←L2 (Y ) verwendet werden (μ(X): Maß von X): = (k) (k) KXY − KXY L2 (X)←L2 (Y ) ≤ μ(X) KXY − KXY C(X)←L2 (Y ) . (4.40d) 4.5.2 Matrixnormen Der interessante Zusammenhang ist der zwischen K|b − K (k) |b einerseits (k) und KXY − KXY bzw. κ − κ (k) andererseits. Wir werden uns hier auf das Galerkin-Verfahren konzentrieren, f¨ ur das in §C.5.2 die Prolongation P, die uhrt werden. F¨ ur Restriktion R und die Gramsche21 (Masse-)Matrix M eingef¨ das Galerkin-Verfahren gilt gem¨ aß (1.33b) und Anmerkung 4.4.2, dass die die Diskretisierung charakterisierenden Abbildungen Λ1 , Λ2 R = Λ 1 = Λ2 ,
P = Λ∗1 = Λ∗2
lauten (vgl. (C.24)). F¨ ur die Beschr¨ ankungen R|τ notieren wir k¨ urzer Rτ . Entsprechend ist Pσ := P |σ = Rσ∗ . 20
21
Erhard Schmidt, geboren am 13 Januar 1876 in Dorpat (jetzt Tartu, Estland), gestorben am 6 Dezember 1959 in Berlin. J¨ orgen Pedersen Gram, geboren am 27. Juni 1850 in Nustrup (D¨ anemark), gestorben am 29. April 1916 in Kopenhagen.
80
4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen
Lemma 4.5.1. R, K|b und K (k) |b seien mittels der Galerkin-Diskretisierung definiert. a) Es gilt: 1/2
1/2
Rτ 2 := Rτ Rτ ←L2 (X) = Mτ 2 ,
Rσ 2 = Mσ 2 ,
(4.41a)
ankung der Gramschen Matrix (1.24) ist. Entwobei Mτ := M |τ ×τ die Beschr¨ sprechend ist Mσ = M |σ×σ . b) Bez¨ uglich der Spektralnorm gilt K|b − K (k) |b
2
≤ Rτ 2 Rσ 2 K − K(k) L2 (X)←L2 (Y ) .
(4.41b)
c) Komponentenweise gilt (k)
|Kij −Kij | ≤ κ−κ (k) L2 (Tr¨ager(φi)×Tr¨ager(φj)) φi L2 (X) φjL2 (Y) .
(4.41c)
d) Die Frobenius-Norm wird abgesch¨ atzt durch K|b − K (k) |b
1/2
F
≤ κ − κ (k) L2 (X×Y ) Mτ 2
1/2
Mσ 2 .
Beweis. a) Teil a) folgt aus Lemma C.5.1b. = Rτ KPσ − Rτ K(k) Pσ b) Folgerung aus K|b − K (k) |b (C.33) und (4.35b) ∗ Rτ K − K(k) (Rσ ) und der Absch¨ atzung der Faktoren. c) Man wende die Schwarzsche22 Ungleichung an auf (k) κ − κ (k) (x, y)φi (x)φj (y)dxdy. Kij − Kij =
(4.41d)
=
Pσ =(Rσ )∗
X×Y
d) Die lineare Abbildung λ : L2 (X × Y ) → Rb sei mittels λ(g) = (γij )(i,j)∈b mit γij = g(x, y)φi (x)φj (y)dxdy X×Y
(k) definiert, sodass Kij − Kij = λ κ − κ (k) . Wie in a) gilt λ22 = λλ∗ 2 . λλ∗ ist das Tensorprodukt Mτ ⊗ Mσ und daher λλ∗ 2 = Mτ 2 Mσ 2 ¨ (vgl. Ubung 15.3.2). ¨ Ubung 4.5.2. Man zeige Mτ 2 ≤ j∈τ μ(Tr¨ ager(φj ))|φj |2 ∞,X , wobei μ das entsprechende Fl¨ achen-, Volumen- oder Oberfl¨achenmaß und ·∞,X die Maximumnorm in X sind.
22
Hermann Amandus Schwarz, geboren am 25. Januar 1843 in Hermsdorf, gestorben am 30. November 1921 in Berlin.
4.5 Approximationsfehler ∗
81
4.5.3 Sachgerechte Normen Die Normen K|b − K (k) |b 2 oder K|b − K (k) |b F sind nicht die besten Beschreibungen des Fehlers. Beispielsweise k¨ onnen Matrizen verschiedener Diskretisierungsarten verschieden skaliert sein (die Koeffizienten Kij der Galerkin- und der Nystrøm-Diskretisierung unterscheiden sich um den Faktor h2d , wobei h die Schrittweite sei und d die Dimension des Integrationsbereichs). Bei ungleichm¨ aßigen Schrittweiten, beispielsweise bei lokaler Gitterverfeinerung, ist die Galerkin-Matrix in verschiedenen Bereichen unterschiedlich skaliert. Eine Standardmatrixnorm nimmt hierauf keine R¨ ucksicht. Bessere Matrixnormen basieren auf der Norm ||| · ||| aus §C.5.3. Die Galerkin-Diskretisierung kann mit Hilfe der orthogonalen Projektionen Πτ , Πσ , die auf den Ansatzraum span{φj : j ∈ σ} ⊂ L2 (Y ) bzw. den Testraum span{φj : j ∈ τ } ⊂ L2 (X) abbilden, definiert werden. Das nachfolgende Lemma stellt die Zusammenh¨ ange zwischen K|b , KXY , Πτ , Πσ , der Prolongation Pσ und den Massematrizen Mτ = Pτ∗ Pτ und Mσ = Pσ∗ Pσ her. Die Aussage ergibt sich aus Lemma C.5.6. Man beachte den Zusammenhang ∗ von Pσ = (Λ2 |σ ) mit Rτ = Λ1 |τ (Λi aus Anmerkung 4.4.2, R vom Beginn dieses Unterkapitels) mittels R|τ = Rτ und Pτ = Rτ∗ . Die Darstellung K|b = Rτ∗ K Pσ und die Definition der Projektionen achste Lemma. Πτ , Πσ ergeben das n¨ Lemma 4.5.3. In der Galerkin-Diskretisierung besteht zwischen K und K der Zusammenhang Pτ Mτ−1 K|b Mσ−1 Pσ∗ = Πτ K Πσ , wobei Pτ : Rτ → L2 (X) mit x = (xj )j∈τ ∈ Rτ → j∈τ xj φj und Πτ = −1 ∗ Pτ Mτ Pτ . Die Abbildungen Πτ und Πσ sind die orthogonalen Projektionen auf span{φj : j ∈ τ } bzw. span{φj : j ∈ σ}. Ebenso gilt Pτ Mτ−1 K (k) |b Mσ−1 Pσ∗ = Πτ K(k) Πσ . Die Norm Pτ Mτ−1 K|b Mσ−1 Pσ∗ L2 (X)←L2 (Y ) entspricht im Wesentlichen der Norm von K und ist insbesondere invariant gegen¨ uber der Basiswahl, uber unterschiedlichen Gittergr¨oßen gegen¨ uber Skalierungen der φj bzw. gegen¨ bei lokal verfeinerten Triangulationen. Deshalb ist diese Norm den vorhergehenden vorzuziehen. Dies legt die Verwendung der folgenden Operatornorm nahe (vgl. auch §C.5.3): |||A||| := Mτ−1/2 A Mσ−1/2 2
f¨ ur A ∈ Rτ ×σ .
(4.42)
Auf Grund von (C.29d) gilt die Identit¨ at Pτ Mτ−1 K|b Mσ−1 Pσ∗ L2 (X)←L2 (Y ) = Mτ−1/2 K|b Mσ−1/2 2 .
(4.43)
Satz 4.5.4. F¨ ur die Galerkin-Diskretisierung gilt die Identit¨ at und Absch¨ atzung
82
4 Separable Entwicklung und ihr Bezug zu Niedrigrangmatrizen
|||K|b − K (k) |b ||| = Πτ K − K(k) Πσ L2 (X)←L2 (Y )
(4.44)
≤ K − K(k) L2 (Xτ )←L2 (Xσ ) ≤ K − K(k) L2 (X)←L2 (Y ) mit Xτ ⊂ X und Xσ ⊂ Y aus (5.5a,b). Beweis. Analog zu (C.34) gilt Πτ K − K(k) Πσ = Pτ Mτ−1 K|b − K (k) |b Mσ−1 Pσ∗ . Die L(L2 (Y ), L2 (X))-Norm des letzten Ausdruckes ist gem¨aß (4.43) gleich |||K|b − K (k) |b |||. Die letzte Ungleichung in (4.44) ist Folge von Πτ L2 (X)←L2 (X) = Πσ L2 (Y )←L2 (Y ) = 1. ¨ Ubung 4.5.5. Wie ist ||| · ||| f¨ ur die F¨ alle der Kollokations- bzw. NystrømDiskretisierung zu definieren? Aus diesem und dem vorigen Abschnitt lassen sich die folgenden Schl¨ usse ziehen: k (k) (k) • Eine separable Approximation κ (k) (x, y) = ν=1 ϕν (x)ψν (y) in X × Y f¨ uhrt auf eine Rang-k-Matrix K (k) |b in b = τ × σ, wenn die Tr¨ agerbedingung aus (4.37a-c) zutrifft. • Der Matrixfehler K|b − K (k) |b gemessen in der Norm ||| · ||| ist beschr¨ankt durch den Operatornormfehler K − K(k) L2 (X)←L2 (Y ) . Es bleibt die prinzipielle Aufgabe, Approximationen κ (k) mit Separationsrang k zu finden, sodass K − K(k) L2 (X)←L2 (Y ) m¨oglichst klein ist. Die bestm¨ ogliche Approximation ergibt sich wieder durch die Singul¨arwertentwicklung (4.28). Konkrete Approximationen sind in §§4.2-4.3 konstruiert worden. Im nachfolgenden Kapitel wird die Matrix in Unterbl¨ocke partitioniert. ur alle Bl¨ocke b der Die obigen Fehlerabsch¨ atzungen f¨ ur K|b − K (k) |b k¨onnen f¨ Partition angewandt werden. Die Absch¨ atzungen f¨ ur die Gesamt-H-Matrix findet sich dann in §6.5.4.
5 Matrixpartition
5.1 Einleitung 5.1.1 Ziele Am einfachsten w¨ are es, wenn die gesamte Matrix M ∈ RI×J durch eine Rangk-Matrix approximiert werden k¨ onnte. Da dies in der Praxis selten m¨oglich ist, wurde schon in §1.7.1 angek¨ undigt, dass stattdessen Untermatrizen M |b bei geeigneter Auswahl der Bl¨ ocke b ⊂ I × J durch Rang-k-Matrizen ersetzt werden. Im einf¨ uhrenden Beispiel von §3 wurde im Falle der Indexmenge I = J = {1, . . . , n = 2p } eine Zerlegung der Matrix in 3n − 2 Untermatrizen angegeben (vgl. (3.4)). Wir nennen dies eine Blockpartition der Matrix (kurz: “Partition”; genauer gesagt ist es eine Partition der zugrundeliegenden Indexpaarmenge I ×J). Die exakte Definition einer Blockpartition P von I ×J wird in Definition 1.3.6 gegeben. Im Folgenden sammeln wir W¨ unsche an eine solche Partition: 1. Die Partition P soll m¨ oglichst wenige Bl¨ ocke enthalten, da eine Erh¨ohung der Anzahl den Speicheraufwand wachsen l¨asst. Eine Anzahl #P = O(max{#I, #J}) wie im einf¨ uhrenden Beispiel w¨are w¨ unschenswert. Da alle Bl¨ ocke zusammen #I·#J Eintr¨ age enthalten, d.h. b∈P #b = #I·#J, ist eine m¨ oglichst kleine Blockanzahl mit der n¨achsten Forderung a¨quivalent: 2. Die Bl¨ ocke b ∈ P der Partition P m¨ ussen m¨oglichst groß sein. Zudem gibt es eine Mindestgr¨ oße, da die Ersetzung einer Untermatrix M |b mit b = τ × σ durch eine Rang-k-Matrix nur Sinn macht, wenn k < min{#τ, #σ}; noch besser w¨ are k min{#τ, #σ}. 3. Zu große Bl¨ ocke b enthalten Untermatrizen M |b , deren Approximation durch eine Rang-k-Matrix vielleicht ein zu großes k verlangt. Daher m¨ ussen die Bl¨ ocke b ∈ P der Partition P klein genug sein, sodass M |b noch durch eine Rang-k-Matrix mit relativ kleinem k gut approximierbar ist. W. Hackbusch, Hierarchische Matrizen, DOI 10.1007/978-3-642-00222-9 5, c Springer-Verlag Berlin Heidelberg 2009
84
5 Matrixpartition
4. Die Blockstruktur der Blockpartition muss so geartet sein, dass die Matrixoperationen wie im einf¨ uhrenden Beispiel von §3 m¨oglichst billig durchf¨ uhrbar sind. Offensichtlich sind die 2. und 3. Bedingung gegenl¨aufig. Die W¨ unsche nach geringen Speicherkosten und hoher Approximationsgenauigkeit sind nicht gleichzeitig realisierbar. Die richtige Balance wird mit Hilfe der Zul¨ assigkeitsbedingung aus §5.2 erreicht werden. Die 4. Bedingung wendet sich gegen eine Blockzerlegung wie z.B. in
. . M= . . .
. . . . .
. . . . .
. . . . .
. . . . Hier w¨are eine Multiplikation M · M sehr erschwert, da die . .
Zeilen- und Spaltenindex-Untermengen der Bl¨ocke nicht richtig zusammenpassen. Eine geeignete Blockstruktur der Partition muss wie in §3 aus einer hierarchischen Konstruktion hervorgehen. Dies wird Gegenstand von §§5.3-5.4 sein. §5.3 liefert eine Menge T (I) von Bl¨ ocken (die sogenannten “Cluster”), die Teilmengen der Indexmenge I sind. Diese Bl¨ ocke k¨onnen benutzt werden, um einen Vektor x ∈ RI in einen Blockvektor zu zerlegen. Der “Clusterbaum” T (I) wird Bl¨ ocke jeder Gr¨ oßenordnung enthalten, sodass sowohl grobe als auch feine Blockstrukturen zur Verf¨ ugung stehen. Da die Matrixeintr¨ age durch Indexpaare (i, j) ∈ I × J indiziert werden, braucht man f¨ ur Matrizen den “Blockclusterbaum” T (I × J). Dieser wird in §5.5 eingef¨ uhrt. Im Folgenden werden wir eine Teilmenge (ein “Cluster”) der allgemeinen Indexmenge I mit dem griechischen Buchstaben τ bezeichnen (τ wird Element des Baumes T (I) sein). F¨ ur Paare von Clustern werden im Allgemeinen die Notationen τ und σ (z.B. in τ × σ) gew¨ ahlt. Der Block b = τ × σ ist Element des Blockclusterbaums T (I × J). 5.1.2 Eindimensionales Modellbeispiel Zur Illustration der folgenden Konstruktionen wird eine eindimensionale Integralgleichung als Modellbeispiel verwendet: 1 log |x − y|u(y)dy = g(x) f¨ ur x ∈ [0, 1]. (5.1) u(x) + 0
Das Intervall B = [0, 1] wird ¨ aquidistant in n = 2p Teilintervalle Ji = [(i − 1) h, ih],
1 ≤ i ≤ n,
der L¨ ange h = 1/n unterteilt. Die st¨ uckweise konstanten Funktionen 6 1 f¨ ur x ∈ Ji , φi (x) = 0 sonst
5.2 Zul¨ assige Bl¨ ocke
85
definieren den Unterraum Vn = span{φ1 , . . . , φn }. Dazu werden die Kolloka ahlt. Die Indexmenge ist demnach tionspunkte ξi = i − 12 h gew¨ I = {1, 2, . . . , n} Das Kollokationsverfahren lautet: Man suche u ∈ Vn mit
1
log |ξi − y|u(y)dy = g(ξi )
u(ξi ) +
Macht man den Ansatz u = Gleichungssystem x + Kx = g mit Kij :=
(5.2)
f¨ ur i ∈ I.
0
i∈I
xi φi , erh¨ alt man f¨ ur x = (xj )j∈I ∈ RI das (5.3)
jh
log |ξi − y|dy,
(j−1)h
g = (gi )i∈I ,
gi := g(ξi )
(vgl. (1.29) und (1.30)). Um an die Notation K = Λ1 KΛ∗2 aus (1.33a) anzukn¨ upfen, w¨ ahlt man die Funktionale1 Λ1,i und Λ2,i (Komponenten von Λ1 , Λ2 ) als jh
Λ1,i (u) = u(ξi ),
Λ2,j (u) =
u(y)dy
(i, j ∈ I).
(j−1)h
ih Im Falle des Galerkin-Verfahrens w¨ are Λ1,i (u) = (i−1)h u(y)dy von der gleichen Gestalt wie Λ2,j . Die Approximation des Integrals durch eine 1uhrt die GalerkinPunkt-Gauß-Quadratur liefert Λ1,i (u) = hu(ξi ) . Somit f¨ Diskretisierung mit dieser Quadratur zu den Gleichungen aus (5.3) multipliziert mit dem Faktor h. F¨ ur die Tr¨ ager der Funktionale gilt Tr¨ ager(Λ1,i ) = {ξi },
Tr¨ ager(Λ2,j ) = Jj = [(j − 1) h, jh].
(5.4)
Es wird sich herausstellen, dass f¨ ur diese Matrix die Blockstruktur aus Abbildung 5.1 die am besten geeignete ist.
5.2 Zul¨ assige Bl¨ ocke 5.2.1 Metrik der Cluster Sei τ ⊂ I eine beliebige Teilmenge (“Cluster”) der Indexmenge. Zu jedem i ∈ τ geh¨ ore wie in (5.4) eine Teilmenge Xi ⊂ Rd . Xi kann eine Punktmenge sein (z.B. Xi = {ξi } wie links in (5.4)) oder eine Teilmenge mit positivem Volumen (z.B. Xi = [(i − 1) h, ih] wie rechts in (5.4)). Die Standardwahl im zweiten Fall ist (5.5a) Xi = Tr¨ager(φi ), 1
Die Kollokation Λ1 ist auf V = L2 (B) nicht definierbar. Hier nutzt man jedoch osung u ∈ H 1 (B) ⊂ C(B) aus, dass die rechte Seite g ∈ L2 (B) in (5.1) zu einer L¨ f¨ uhrt. Damit gilt u ∈ C(B), und Λ1 : C(B) → Rn ist wohldefiniert.
86
5 Matrixpartition
wobei φi die Basisfunktion zu i ist. Beispiel 5.2.1. In dem Beispiel aus §5.1.2 liegt eine quadratische Matrix vor, aber wegen der unterschiedlichen Tr¨ ager in (5.4) sollte die Matrix K aus (5.3) als Element von RI×J betrachtet werden, wobei I und J zwar isomorph sind, aber als elementfremd ur behandelt werden. Dann sind Xi = {ξi } f¨ ur j ∈ J wohli ∈ I und Xj = [(j − 1) h, jh] f¨ unterscheidbar. F¨ ur jede Teilmenge τ von I definieren wir Xi ⊂ Rd (τ ⊂ I) . (5.5b) Xτ := i∈τ
Abb. 5.1. Blockstruktur aus der Rekursion (5.15) f¨ ur eine 128 × 128-Matrix
ager der Teilmenge τ. Wir nennen Xτ den Tr¨ Damit lassen sich der Durchmesser eines Clusters τ und der Abstand zweier Cluster τ und σ (bez¨ uglich der Euklidischen Norm) definieren: diam(τ ) := max{x − x : x , x ∈ Xτ }, dist(τ, σ) := min{x − y : x ∈ Xτ , y ∈ Xσ },
τ ⊂ I, τ ⊂ I, σ ⊂ J,
(5.6a) (5.6b)
wobei J eine zweite Indexmenge ist (eventuell mit I = J). Selbst wenn Xi = {ξi } einfache Punktmengen sind, kann die Berechnung von diam(τ ) aufw¨ andig werden. Ein einfacher Fall liegt dagegen f¨ ur Quader vor. Zur Vereinfachung werden daher wie im folgenden Lemma Quader als Obermengen gew¨ ahlt. 7d Lemma 5.2.2. a) Wenn Xτ ⊂ Rd im Quader Qτ = i=1 [ai , bi ] enthalten ist, gilt ' d 2 (bi − ai ) (5.7a) diam(τ ) ≤ diam(Qτ ) = i=1
uglich der Maxi(analog gilt diam∞ (τ ) ≤ diam∞ (Qτ ) = maxdi=1 (bi − ai ) bez¨ mumnorm). 7 7 asst sich die b) Wenn Xτ ⊂ Qτ = [aτi , bτi ] und Xσ ⊂ Qσ = [aσi , bσi ], l¨ Distanz durch ' d dist2 ([aτi , bτi ], [aσi , bσi ]) (5.7b) dist(τ, σ) ≥ dist(Qτ , Qσ ) = i=1
absch¨ atzen (analog gilt dist∞ (τ, σ) ≥ maxdi=1 dist([aτi , bτi ], [aσi , bσi ]) bez¨ uglich der Maximumnorm). c) Der kleinste Quader mit Xτ ⊂ Qτ heißt Minimalquader Qmin (Xτ ) (“bounding box”). Sei Xj = {ξj } oder sei Xj (z.B. Quader, Tetraeder usw.) otigten Punkte seien (ξjk )k=1,...,K mit die konvexe H¨ ulle mehrerer {ξj }. Die ben¨ K = O(#τ ). Dann ist der Minimalquader mit O(#τ ) Operationen berechenbar.
5.2 Zul¨ assige Bl¨ ocke
87
7d
Beweis zu c). Die ai , bi in der Darstellung Qτ = i=1 [ai , bi ] des Minimalquaders sind das Minimum bzw. Maximum der Komponenten (ξj )i bzw. (ξjk )i , 1 ≤ k ≤ K, u ¨ber alle j ∈ τ. Diese Extrema werden mit O(#τ ) Operationen berechnet. Es sei bemerkt, dass die Definition der Quader von der Achsenorientierung abh¨ angig ist. Die Definition geeigneter Quader Qτ ⊃ Xτ beliebiger Orientierung w¨ are m¨ oglich, w¨ urde aber die Berechnung wesentlich komplizierter gestalten. Die n¨ achste Anmerkung soll darauf aufmerksam machen, dass Qτ sich deutlich von Teilmengen des Integrationsbereiches B unterscheiden kann. Anmerkung 5.2.3. Wenn der Integrationsbereich B ⊂ Rd eine (d − 1)dimensionale Mannigfaltigkeit darstellt, ist Xτ von der Dimension d − 1, die Obermenge Qτ aber von der Dimension d. 5.2.2 Zul¨ assigkeit ocke durch das Produkt τ × σ der Cluster F¨ ur Matrizen in RI×J sind die Bl¨ τ ⊂ I und σ ⊂ J charakterisiert. In Anlehnung an Definition 4.1.7 gilt die Definition 5.2.4 (η-Zul¨ assigkeit eines Blockes). Sei η > 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.
Xτ
dist(Xτ ,Yσ )
Xσ
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ˆ + :=