Mehrgitterverfahren. Bachelorarbeit. Fakultät für Mathematik Ruhr-Universität Bochum

Größe: px
Ab Seite anzeigen:

Download "Mehrgitterverfahren. Bachelorarbeit. Fakultät für Mathematik Ruhr-Universität Bochum"

Transkript

1 Mehrgitterverfahren Bachelorarbeit Fakultät für Mathematik Ruhr-Universität Bochum Hrik Flaskühler Bochum, September 202

2 Inhaltsverzeichnis Einleitung 2 Numerische Behandlung partieller Differentialgleichungen 3 2. Finite Differenzen Der 5-Punkte-Stern Finite Elemente Numerische Behandlung linearer Gleichungssysteme 8 3. Direkte Lösungsverfahren Iterative Lösungsverfahren Das Jacobi-Verfahren Jacobi-Relaxation Das Gauß-Seidel-Verfahren Aufwand der iterativen Verfahren Die Glättungseigenschaft Kontrolle des Fehlers Mehr Gitter Das Mehrgitter-Verfahren Die Idee Restriktion und Prolongation Rekursion Varianten Aufwand des Mehrgitter-Verfahrens Implementierung Das Programm Erster Test: Einheitsquadrat Zweiter Test: Dreieck Dritter Test: L-förmiges Gebiet Literaturverzeichnis 4

3 Einleitung Partielle Differentialgleichungen sind wichtige Hilfsmittel bei der mathematischen Modellierung realer Prozesse. Man findet sie in den Naturwissenschaften, Ingenieurswissenschaften, in der Informatik und der Wirtschaftswissenschaft. Häufig ist jedoch eine analytische Lösung dieser Gleichungen nicht möglich. Somit ist man auf eine numerische Approximation angewiesen. Lösungsräume von Differentialgleichungen sind im Allgemeinen unlich dimensional. Numerische Verfahren versuchen nun, die Lösung mittels lich dimensionaler (diskreter) Probleme zu approximieren. Ein Ansatz ist, die Werte der Lösungsfunktion in lich vielen diskreten Gitterpunkten zu approximieren Verfahren der finiten Differenzen, Abschnitt 2.. Ein anderer Ansatz versucht eine möglichst gute Approximation der Lösungsfunktion in einem lich dimensionalen Unterraum des Lösungsraumes zu finden Verfahren der finiten Elemente, Abschnitt 2.2. Wir werden sehen, dass in beiden Fällen das diskrete Problem aus der Lösung eines dünn besetzten linearen Gleichungssystems besteht. Zwei Eigenschaften sind für numerische Lösungsverfahren wesentlich. Das Verfahren soll für größer werde Dimension des diskreten Problems gegen die exakte Lösung der Differentialgleichung konvergieren. Andererseits soll das diskrete Problem mit Hilfe von Computern möglichst effizient berechenbar sein. Im Rahmen dieser Arbeit wird uns vor allem der zweite Punkt beschäftigen, das heißt wir suchen nach möglichst effizienten Verfahren zum Lösen der hier entstehen dünn besetzten linearen Gleichungssysteme. Eine schöne Eigenschaft linearer Gleichungssysteme ist, dass direkte Lösungsverfahren existieren (Abschnitt 3.), das bedeutet Verfahren, die mit lich vielen Rechenoperationen im Rahmen der Maschinengenauigkeit die exakte Lösung liefern. Wir werden jedoch sehen, dass diese Verfahren für große Gleichungssysteme inakzeptabel aufwig sind. Auf der anderen Seite gibt es iterative Verfahren (Abschnitt 3.2), die mit einer bestimmten Anfangsnäherung der Lösung beginnen und diese in jedem Schritt verbessern, sodass nach unlich vielen Iterationen das Verfahren gegen die exakte Lösung konvergiert. Jeder Iterationsschritt ist normalerweise möglichst leicht durchzuführen, die Effizienz hängt somit maßgeblich von der Konvergenzrate des Verfahrens ab. Wir werden jedoch sehen, dass bei klassischen Iterationsverfahren die Konvergenzrate bei zunehmer Dimension des diskreten Problems schlechter wird. Eine hohe Dimension ist aber für eine hohe Genauigkeit des numerischen Lösungsverfahrens für die partielle Differentialgleichung notwig, und an deren Lösung sind wir ja eigentlich interessiert. Das bedeutet, je genauer man die Differentialgleichung lösen möchte, umso ineffizienter wird das Verfahren zur Lösung des diskreten Problems. Ziel hinter Mehrgitter-Verfahren ist es somit, ein Verfahren zu konstruieren, dessen Konvergenzrate unabhängig von der Dimension des diskreten Problems ist. Wir werden

4 Einleitung dazu die zentralen Ideen dieser Verfahren herleiten (Kapitel 4). Den formalen Konvergenzbeweis werden wir an dieser Stelle jedoch schuldig bleiben. Stattdessen versuchen wir in Kapitel 5 eine konkrete Implementierung eines Mehrgitter- Verfahrens für das in dieser Arbeit betrachtete Modellproblem in Matlab zu schreiben. 2

5 2 Numerische Behandlung partieller Differentialgleichungen Ausgangspunkt der hier vorgestellten Problemstellung ist die numerische Behandlung partieller Differentialgleichungen. Im Folgen werden die numerischen Verfahren anhand eines typischen Modellproblems vorgestellt. Als solches Problem wird hier die einfachste elliptische Differentialgleichung zweiter Ordnung gewählt, die Poisson-Gleichung: u = f i 2 u x 2 i = f (2.) Hierbei ist Ω R n offen und zusammenhäng, u C 2 (Ω, R) C 0 ( Ω, R) sowie f C 0 (Ω, R). Sei zusätzlich g C 0 ( Ω, R). Um eine eindeutige Lösung erwarten zu können benötigen wir zusätzlich Bedingungen an den Rand des Gebietes Ω. Dirichlet-Randbedingungen: u = g auf Ω. Neumann-Randbedingungen: n u = g auf Ω. Hier ist n die äußere Normale an Ω. Periodische Randbedingungen: Im eindimensionalen bedeutet das, zu fordern, dass u am linken und rechten Rand identisch sein soll. Im zweidimensionalen kann man das zum Beispiel bei Rechtecksgebieten für beide Koordinatenrichtungen fordern. Anhand dieses Modellproblems werden wir uns nun numerische Verfahren zur Lösung des Problems ansehen. 2. Finite Differenzen Eine einfache Methode zur Diskretisierung der Poisson-Gleichung ist die Klasse der Finiten-Differenzen-Verfahren. Hierbei werden Ableitungen durch Linearkombinationen von diskreten Auswertungen der gesuchten Funktion ersetzt. Ist die Funktion bekannt, können auf diese Weise Ableitungen beliebig genau berechnet werden. Erste Beispiele sind die Vorwärts- und Rückwärtsdifferenz für die erste Ableitung in einer Raumdimension. [LeV07, S.3-8] Vorwärtsdifferenz: f(x + h) f(x) h = f (x) + O(h) (2.2) 3

6 2 Numerische Behandlung partieller Differentialgleichungen f(x) f(x h) Rückwärtsdifferenz: = f (x) + O(h) (2.3) h Dies sind Approximationen erster Ordnung, das heißt, die Differenzen konvergieren für h 0 linear gegen die Ableitung der Funktion f. Wen wir nun erst die Rückwärts-, dann die Vorwärtsdifferenz auf f an, erhalten wir ( ) f(x h) 2f(x) + f(x + h) = f (x) + O(h 2 ). (2.4) h 2 Dies ist in der Tat eine Approximation zweiter Ordnung an die zweite Ableitung der Funktion f. Die Konvergenzeigenschaften der finiten Differenzen lassen sich leicht mittels Taylor-Entwicklung nachweisen, vorausgesetzt die Funktion ist ausreich oft differenzierbar. Betrachten wir nun partielle Differentialgleichungen, so sind die Lösungen im Allgemeinen natürlich nicht bekannt. Die zentrale Idee ist nun, das Gebiet, an dem man interessiert ist, mit einem diskreten Gitter zu überdecken und die Ableitungen der Lösungsfunktion in der Differentialgleichung durch finite Differenzen der umliegen Gitterpunkte zu ersetzen. Das führt bei linearen Differentialgleichungen auf ein lineares Gleichungssystem für die Werte der Lösungsfunktion in den Gitterpunkten. 2.. Der 5-Punkte-Stern Wir betrachten das obige Modellproblem der Poisson-Gleichung auf Ω = (0, ) 2, dem Einheitsquadrat. Dieses überdecken wir durch ein äquidistantes Gitter {( ) k Ω h = N +, l k, l N}. N + Hierbei ist also N die Anzahl an inneren Gitterpunkten pro Koordinatenrichtung. Man bezeichnet h = als Gitterweite. N+ Für dieses Problem in zwei Raumdimensionen benötigen wir nun eine Approximation für den Laplace-Operator = [LeV07, S.60f] Wir ersetzen hierfür die partiellen x 2 y 2 Ableitungen durch die zentrierte Differenz für die zweite Ableitung in einer Dimension. Das liefert h u(x h, y) 2u(x, y) + u(x + h, y) u(x, y h) 2u(x, y) + u(x, y + h) u(x, y) = + h 2 h 2 = ( ) 4u(x, y) + u(x h, y)) + u(x + h, y) + u(x, y h) + u(x, y + h). h 2 Wir schreiben im Folgen u k,l = u(kh, lh) als Kurzschreibweise für die Funktionsauswertung im (k, l) ten Gitterpunkt. Das liefert uns eine kompakte Formulierung des 5-Punkte-Sterns für den Laplace-Operator h u k,l = ( 4u h 2 k,l + u k,l + u k+,l + u k,l + u k,l+ ). (2.5) 4

7 2 Numerische Behandlung partieller Differentialgleichungen Ersetzen wir den Laplace-Operator in jedem Gitterpunkt durch den 5-Punkte-Stern und setzen ihn gleich dem Wert von f in diesem Gitterpunkt, führt das auf das lineare Gleichungssystem h 2 à Id Id à Id Id à Id u,. u N, u,2. u N,2.. u,n. u N,N = f,. f N, f,2. f N,2.. f,n. f N,N. (2.6) Hierbei sind à und Id N N-Blockmatrizen. Id ist die N-dimensionale Einheitsmatrix und à ist gegeben durch à =.. (2.7) Wir bezeichnen im folgen die Matrix aus Gleichung 2.6 mit A. Die Matrix A ist offensichtlich symmetrisch und was weniger offensichtlich ist die Eigenwerte sind gegeben durch λ p,q (A) = 2 h 2 [ ( cos(pπh) ) + ( cos(qπh) ) ], p, q N. (2.8) Man kann nachrechnen, dass dies tatsächlich die Eigenwerte zu den Einvektoren v p,q k,l = sin(pπkh) sin(qπlh), p, q N, k, l N (2.9) sind. [Ise96, Lemma 7., S.7f] Wie man sieht, sind alle Eigenwerte negativ, woraus folgt, dass A symmetrisch und negativ definit ist. Damit ist A insbesondere nicht singulär und das Gleichungssystem ist für alle rechten Seiten f lösbar. Es soll an dieser Stelle nicht das Ziel sein, die Korrektheit der 5-Punkte-Stern Diskretisierung zu beweisen. Vgl. hierzu [Ise96, Theorem 7.2, S.20] 5

8 2 Numerische Behandlung partieller Differentialgleichungen Eine weitere wichtige Eigenschaft ist, dass die Matrix A dünn besetzt ist. Das soll heißen, dass die Zahl der von Null verschiedenen Einträge in jeder Zeile nach oben beschränkt ist und das unabhängig von der Matrix-Dimension. Das heißt für großes N sind die meisten Einträge Null. Die maximale Anzahl der von Null verschiedenen Einträge pro Zeile ist im Falle der Matrix A gerade fünf oder, anders gesagt, in jeder Zeile stehen mindestens N 2 5 Nullen. Hieraus ergeben sich erhebliche Vorteile für den Speicherbedarf und den Aufwand von Lösungsverfahren. Das wird in Kapitel 3 noch näher betrachtet werden. 2.2 Finite Elemente Andere häufig verwete Verfahren sind die Finite-Element-Verfahren. Wir werden in diesem Abschnitt eine einfache Variante dieser Verfahren auf unser Modellproblem anwen, um uns davon zu überzeugen, dass auch diese im Wesentlichen auf die gleiche Art von linearen Gleichungssystemen führen. Die zentrale Idee der Finten Elemente ist, die Differentialgleichung in ein Variationsproblem der Form a(u, v) = l(v) v X (2.0) zu überführen. Hierbei ist (X,. X ) ein Banachraum, l L(X, R) ein stetiges lineares Funktional und a L 2 (X, R) bilinear, symmetrisch und koerziv. Dann sagt uns der Satz von Lax-Milgram, dass dieses Problem eine eindeutige Lösung u X besitzt. [Ver, S.5] Die Methoden der finiten Elemente ersetzen nun den Raum X durch einen lichdimensionalen Unterraum X h X und lösen dort das diskrete Problem a(u, v h ) = l(v h ) v h X h. (2.) Kommen wir zurück zu unserer Differentialgleichung, das heißt wir betrachten die Poisson-Gleichung mit homogenen Dirichlet-Randbedingungen auf Ω = (0, ) 2 [Ver, S.37ff]: { u(x, y) = f(y, x) (x, y) Ω (2.2) u(x, y) = 0 (x, y) Ω Wir setzen nun X = H0((0, ) 2 ), das heißt gleich dem Raum aller Funktionen, deren (schwache) Ableitung existiert und in L 2 ((0, ) 2 ) liegt. Der Index 0 gibt zudem an, dass die Funktionen auf dem Rand des Einheitsquadrates verschwinden sollen. Wir multiplizieren die Gleichung mit v X und integriere über Ω. Das liefert ( u)v = fv u v = fv. (2.3) Ω Ω Die rechte Gleichung folgt durch partielle Integration und Multiplikation mit. Wir benötigen an dieser Stelle nur noch die erste Ableitung, sodass u H 0(Ω) in der Tat ausreicht. Ω Ω 6

9 2 Numerische Behandlung partieller Differentialgleichungen Man kann weiterhin zeigen, dass a(u, v) = u v bilinear, symmetrisch und koerziv ist, sowie l(v) = fv linear und stetig. Gleichung 2.3 ist damit ein Variationsproblem im Sinne des Satzes von Lax-Milgram. Die Lösung dieses Variationsproblems muss nicht zwangsläufig in C 2 0(Ω) sein. Eine solche Lösung bezeichnet man als schwache Lösung der Differentialgleichung. Wir unterteilen das Gebiet Ω nun in rechtwinklig-gleichschenklige Dreiecke mit achsenparallelen Katheten und wählen als lich dimensionalen Unterraum X h = {ϕ C 0 ( Ω) : ϕ K P Dreiecke K, ϕ = 0 auf Ω}. Für jedes dieser Dreiecke ist ein lineares Polynom p P eindeutig bestimmt durch seine Werte in den drei Eckpunkten des Dreiecks. Zusätzlich gilt für zwei Dreiecke K und K 2 die genau eine Kante gemeinsam haben, dass die Funktion { ϕ = p auf K ϕ = ϕ = p 2 auf K 2 genau dann stetig ist, wenn p und p 2 in den Endpunkten der gemeinsamen Kante übereinstimmen. Damit sind die Funktionen aus X h eindeutig bestimmt durch ihre Werte in den Dreieckseckpunkten, die nicht auf Ω liegen. Als Basis des Raums X h wählen wir die nodalen Basisfunktionen b k,l. Zu jedem inneren Dreieckseckpunkt P k,l = (kh, lh) Ω sei b k,l genau die Funktion, die eingeschränkt auf ein beliebiges Dreieck K i ein lineares Polynom ist und zusätzlich in P k,l den Wert besitzt und in allen anderen Dreieckseckpunkten den Wert 0. Man kann sich davon überzeugen, dass die b k,l eindeutig bestimmt sind und zudem eine Basis von X h bilden. Wir müssen also nun das diskrete Problem u b k,l = fb k,l k, l =,..., N (2.4) Ω lösen. Da die b k,l eine Basis bilden, können wir die Lösung u in ihnen entwickeln u = Ω N c k,l b k,l c k,l R. (2.5) k,l= Das führt auf ein lineares Gleichungssystem für die c k,l. Insbesondere sind die c k,l gerade die Werte von u in den Dreieckseckpunkten. Das heißt, wir haben ein lineares Gleichungssystem für die Werte der Lösung der Differentialgleichung in diskreten Gitterpunkten. Man kann zeigen, dass dieses Gleichungssystem genau die Form aus Gleichung 2.6 besitzt. Wir haben uns also an dieser Stelle exemplarisch davon überzeugt, dass auch das Verfahren der finiten Elemente auf dünn besetzte lineare Gleichungssysteme führt. Es scheint also für die numerische Behandlung partieller Differentialgleichungen nützlich zu sein, sich mit der Lösung solcher Systeme näher zu beschäftigen. 7

10 3 Numerische Behandlung linearer Gleichungssysteme Wir haben gesehen, dass die Anwung von Finiten Differenzen oder Finiten Elementen auf das Lösen dünn besetzter linearer Gleichungssysteme führt. Es ist somit für die praktische Anwung essentiell wichtig, diese Gleichungssysteme mit möglichst geringem Aufwand lösen zu können. Es gibt zwei generelle Klassen von Lösungsverfahren. [LeV07, S.66] Da sind zum einen direkte Verfahren, die in exakter Arithmetik nach lich vielen Schritten die exakte Lösung des Gleichungssystem liefern. Zum anderen gibt es iterative Verfahren, die mit einem Startvektor beginnen und nach einer bestimmten Vorschrift versuchen, die Näherung an die Lösung zu verbessern. Dieser Prozess wird dann solange iteriert, bis der gewünschte Grad an Genauigkeit erreicht ist. Es wird sich zeigen, dass direkte Verfahren häufig deutlich mehr Aufwand und Speicherplatz benötigen. Im Falle der Systeme, die von Finiten Differenzen oder Finiten Elementen herrühren, kommt hinzu, dass man eigentlich nicht an der Lösung des Gleichungssystems, sondern an der Lösung der Differentialgleichung interessiert ist und die Genauigkeit hier bereits durch die Genauigkeit des Diskretisierungsverfahrens beschränkt ist. Verbessert man die Genauigkeit des Lösungsverfahrens über diese Schranke hinaus, bedeutet das im Allgemeinen keine Verbesserung der Lösung der Differentialgleichung. Deswegen bieten sich iterative Verfahren hier an. 3. Direkte Lösungsverfahren Direkte Lösungsverfahren liefern in licher Zeit die exakte Lösung des Systems und erscheinen daher zunächst die naheliegste Lösung zu sein. Das bekannteste direkte Lösungsverfahren ist sicherlich der Gauß-Algorithmus. Wie groß ist aber Aufwand und Speicherbedarf dieses Verfahrens? [LeV07, S.66ff] Sei M eine m m-matrix, das heißt, wir haben m Unbekannte, die es zu berechnen gilt. Der bestmögliche Fall benötigt mindestens O(m) Operationen und Speicherplätze. Beim Gauß-Algorithmus müssen alle Elemente ungleich Null unter der Diagonalen eliminiert werden, das heißt, der Gesamtaufwand des Algorithmus ist Anzahl der Elemente ungleich Null unter der Diagonalen mal Aufwand zum Eliminieren dieser Elemente. Bei einer allgemeinen Matrix gibt es m(m )/2 = O(m 2 ) Elemente unter der Diagonalen. Diese werden durch Linearkombinationen der Zeilen eliminiert, wobei für jedes Element O(m) Operationen benötigt werden. Insgesamt benötigt man also O(m 3 ) Operationen, was weit vom Optimalfall entfernt ist. 8

11 3 Numerische Behandlung linearer Gleichungssysteme Nun haben wir es hier nicht mit allgemeinen, sondern mit dünn besetzten Matrizen zu tun. Wir wollen sehen, ob das hilft. Nehmen wir zunächst den Fall des eindimensionalen Poisson-Problems. In diesem Fall führt die Diskretisierung mittels zentrierter Differenz (Gleichung 2.4) auf ein tridiagonales Gleichungssystem, das heißt, nur die Diagonalen und die ersten Nebiagonalen besitzen Elemente ungleich Null. [LeV07, S.5f] Hier gibt es offensichtlich nur m = O(m) Elemente ungleich Null unter der Diagonalen. Insbesondere ist die Eliminierung dieser Elemente einfach, jedes Elemente benötigt nur O() Operationen. Damit ist der Gauß-Algorithmus für tridiagonale Systeme tatsächlich optimal. Wie sieht es aber mit unserem Modell-Problem, dem zweidimensionalen Poisson- Problem aus? Hier gibt es in jeder Zeile unter der Diagonalen maximal zwei Elemente ungleich Null, was insgesamt erneut O(m) Elemente ergibt. Für die benötigten Operationen findet man, dass diese abhängig sind von der Bandbreite b der Matrix, das heißt, dem größten Abstand eines von Null verschiedenen Elementes zur Diagonalen. Hat eine Matrix Bandbreite b, so benötigt man zur Eliminierung eines Elementes O(b 2 ) Operationen. Im Fall der Matrix A aus Gleichung 2.6 ist b = m 2, das heißt, wir benötigen für jedes Element O(m), insgesamt also O(m 2 ) Operationen. Wählt man wie oben als Parameter N = m 2, also die Anzahl der Unbekannten je Koordinatenrichtung, benötigt der Gauß-Algorithmus O(N 4 ) Operationen. Wir werden als Nächstes untersuchen, ob iterative Methoden dies besser machen können. 3.2 Iterative Lösungsverfahren Wie oben bereits gesagt, nutzen iterative Verfahren im Allgemeinen beliebig gewählte Startvektoren und versuchen dann, diese in jedem Iterationsschritt zu verbessern. Damit ein solches Verfahren tatsächlich sinnvoll sein kann, muss es mindestens zwei Anforderungen erfüllen. [Ise96, S.85] Zum einen muss es für jeden beliebigen Startvektor konvergieren, zum anderen muss der Grenzwert des Verfahrens der exakten Lösung des Problems entsprechen. Diese beiden Eigenschaften sind sicherlich notwig, damit ein Verfahren brauchbar ist, reichen, wie wir sehen werden, im Allgemeinen aber noch nicht aus. Im Folgen wollen wir zur Vereinfachung einige Einschränkungen vornehmen. Unser Verfahren soll zum einen linear sein, dass bedeutet, die Iterationsvorschrift in jedem Schritt soll linear sein. Zum zweiten soll es stationär sein, dass heißt, die Iterationsvorschift ist in jedem Schritt die gleiche. Und schließlich soll das Verfahren ein Ein-Schritt- Verfahren sein, das bedeutet, dass für die Berechnung des neuen Wertes x [s+] nur der zuletzt berechnete Wert x [s] benutzt wird. Das motiviert die folge Definition. [Ver0, Das bedeutet b ist Bandbreite der Matrix M, falls gilt k > b + l l > b + k M kl = 0 9

12 3 Numerische Behandlung linearer Gleichungssysteme Definition IV.6., S.2] Definition 3. Seien A, M GL(n), A = M N und b R n. Eine Iterationsvorschrift der Form x [0] gegeben x [s+] = M Nx [s] + M b s = 0,,... nennen wir ein stationäres Iterationsverfahren zur Lösung des LGS Ax = b. Die Matrix S = M N = Id M A heißt Iterationsmatrix des Verfahrens. Bezüglich der Konvergenz eines solchen Verfahrens finden wir folgen Satz. [Ver0, Satz IV.6.7, S.7] Satz 3. Ein stationäres Iterationsverfahren konvergiert genau dann für jede rechte Seite b und jeden Startwert x [0], wenn für die Iterationsmatrix S gilt ρ(s) <. Hierbei ist ρ der Spektralradius der Matrix S, das bedeutet der betragsmäßig größte Eigenwert. Beweis: siehe [Ver0, S.7f]. Dieser Satz gibt ein Hilfsmittel, wie man die Güte eines stationären Iterationsverfahrens in erster Näherung bewerten kann. Sei x die exakte Lösung des Gleichungssystems, x [s] die Näherung nach s Iterationen und ε [s] = x x [s] der Fehler der Näherung nach s Iterationsschritten, so gilt ε [s] = S s ε [0]. (3.) Daraus folgt ε [s] S s ε [0] ( ρ(s) ) s ε [0]. (3.2) Das bedeutet, dass Verfahren konvergiert schnell, wenn der Spektralradius deutlich kleiner als ist und eher langsam, wenn der Betrag des größten Eigenwertes nahe bei liegt. 2 Wir wollen nun zwei typische Beispiele für stationäre Iterationsverfahren der Form aus Def. 3. im Bezug auf unser Modellproblem analysieren. 2 Für genauere Angaben über das in Gleichung 3.2 siehe den Beweis von Satz 3. in [Ver0] 0

13 3 Numerische Behandlung linearer Gleichungssysteme 3.2. Das Jacobi-Verfahren Wir betrachten noch einmal den 5-Punkte-Stern für die zweidimensionale Poisson-Gleichung. Die Zeilen des Gleichungssystem 2.6 können in der Form ( ) 4u h 2 k,l + u k,l + u k+,l + u k,l + u k,l+ = f k,l (3.3) geschrieben werden. [LeV07, S.69f] Dies kann umgeschrieben werden, zu u k,l = 4 Das motiviert die Iterationsvorschrift ( uk,l + u k+,l + u k,l + u k,l+ ) h 2 4 f k,l. (3.4) u [s+] k,l = ( [s] u k,l 4 + u[s] k+,l + u[s] k,l + ) h 2 u[s] k,l+ 4 f k,l. (3.5) Man stellt fest, dass diese Vorschrift tatsächlich die Form aus Def. 3. erfüllt, mit A = D L R, wobei gilt D ij = A ij falls i = j Sei nun M = D und N = R + L. Dann ist Der Iterationsschritt lautet damit L ij = A ij falls i > j R ij = Aij falls i < j. S J = D (R + L) = Id D A. (3.6) u [s+] = D (R + L)u [s] + D f. (3.7) Man nennt dies das Jacobi-Verfahren. Nach Satz 3. benötigen wir nun den Spektralradius ρ(s J ), um Konvergenz des Jacobi- Verfahrens für unser Modell-Problem zu zeigen. Man sieht leicht ein, dass S J die gleichen Eigenvektoren wie die Matrix A besitzt. Die zugehörigen Eigenwerte berechnen sich leicht zu λ p,q (S J ) = + h2 4 λp,q (A) = + 2 [ ( cos(pπh) ) + ( cos(qπh) ) ], p, q N. (3.8) Setzt man nun die Reihenentwicklung des Kosinus ein 3, so lassen sich die Eigenwerte abschätzen über λ p,q (S J ) p2 π 2 h 2 4 q2 π 2 h 2. (3.9) 4 3 cos(x) x 2 /2

14 3 Numerische Behandlung linearer Gleichungssysteme Der größte Eigenwert ist somit für p = q = gegeben durch λ max (S J ) = π2 h 2 2. (3.0) Man sieht nun, dass tatsächlich für jedes feste h > 0 gilt ρ(s) <. Damit konvergiert das Verfahren. Wir haben aber auch gesehen, dass der Wert ρ(s) ein Indikator für die Güte des Verfahrens ist. Für h 0 konvergiert der Ausdruck für den Spektralradius jedoch quadratisch gegen. Das bedeutet, je feiner man das Gitter für die Diskretisierung der Differentialgleichung wählt, umso langsamer konvergiert das Jacobi-Verfahren und umso aufwändiger wird somit das Lösen des Gleichungssystems Jacobi-Relaxation Eine leichte Verbesserung bringt das Jacobi-Relaxation-Verfahren. [Ver0, S.3] Das Jacobi-Verfahren war gegeben durch u [s+] = D (R + L)u [s] + D f u [s+] = (Id D A)u [s] + D f u [s+] = u [s] + D (f Au [s] ). (3.) Das heißt, das Jacobi-Verfahren ist eine Korrektur des Vektors u [s] um den Vektor r [s] := D (f Au [s] ). (3.2) Die Idee ist nun, diese Korrektur mit einem skalaren Vielfachen ω R + zu gewichten. Das liefert mit der neuen Iterationsmatrix u [s+] = u [s] + ωd (f Au [s] ) u [s+] = (Id ωd A)u [s] + ωd f u [s+] = ( ω)id + ω(id D A)u [s] + ωd f u [s+] = ( ω)id + ωs J u [s] + ωd f (3.3) S J,ω = ( ω)id + ωs J. (3.4) Die Eigenvektoren bleiben immer noch die gleichen wie beim Jacobi-Verfahren und der Originalmatrix A. Die neuen Eigenwerte errechnen sich leicht zu λ p,q (S J,ω ) = ( ω) + ωλ p,q (S J ), p, q N ( = ( ω) + ω + [ ( ) ( ) ]) cos(pπh) + cos(qπh) 2 = + ω 2 [ ( cos(pπh) ) + ( cos(qπh) ) ]. (3.5) 2

15 3 Numerische Behandlung linearer Gleichungssysteme Damit folgt für den Spektralradius ρ(s J,ω ) = ω π2 h 2 2. (3.6) Das bedeutet, das Jacobi-Relaxation-Verfahren konvergiert tatsächlich besser als das normale Jacobi-Verfahren falls ω (0, ). Am asymptotisch schlechten Verhalten für h 0 ändert dies aber nichts Das Gauß-Seidel-Verfahren Beim Jacobi-Verfahren wird der neue Wert u [s+] allein aus den Werten des Vektors u [s] berechnet. Durchläuft man die Gitterpunkte jedoch zum Beispiel Spaltenweise, so stehen für die Berechnung der (k, l)-ten Komponente von u [s+] die Werte u [s+],, u [s+] 2,,..., u [s+] k,l bereits bereit. Dies macht sich das Gauß-Seidel-Verfahren zu nutze. Seien D, L, R wie oben, dann ist die Iterationsvorschrift des Gauß-Seidel-Verfahren gegeben durch u [s+] = (D L) Ru [s] + (D L) f. (3.7) Die Iterationsmatrix ist dann gegeben durch S GS = (D L) R = Id (D L) A. (3.8) Im Gegensatz zum Jacobi-Verfahren macht sich das Gauß-Seidel-Verfahren die bereits berechneten Werte von u [s+] zu nutze. Damit macht es natürlich einen Unterschied, in welcher Reihenfolge die Punkte des Gitters durchlaufen werden. Wir wollen auf diesen Punkt jedoch nicht weiter eingehen und im Folgen immer annehmen, dass die Punkte spaltenweise durchlaufen werden. Unglücklicherweise sind die Eigenvektoren von S GS und A nun nicht mehr identisch. Nach dem Satz von Stein-Rosenberg [Ise96, Theorem 0.4, S.96] gilt aber unter der Voraussetzung das ρ(s J ) < gilt (was wir oben bereits gesehen haben) ρ(s J ) = ρ(s GS ) = 0 oder ρ(s GS ) < ρ(s J ). (3.9) Diese Abschätzung lässt sich noch verschärfen. [Ise96, S.24ff] ρ(s GS ) = ( ρ(s J ) ) 2 π 2 h 2. (3.20) Das liefert zwar insgesamt eine leicht bessere Konvergenzrate als das Jacobi-Verfahren. Das Problem bleibt aber, dass für kleines h der Spektralradius nahe an liegt, das Verfahren also schlecht konvergiert. Es sei der Vollständigkeit halber erwähnt, dass es auch für das Gauß-Seidel-Verfahren ein Relaxations-Verfahren gibt, das sogenannte Successive-Over-Relaxation (SOR)-Verfahren. Wir benötigen dieses für die weitere Betrachtung jedoch nicht. 3

16 3 Numerische Behandlung linearer Gleichungssysteme 3.3 Aufwand der iterativen Verfahren Wie oben bereits erwähnt, benötigt ein Lösungsverfahren für unser Modell-Problem im Optimalfall O(N 2 ) Operationen. Der Gauß-Algorithmus benötigte O(N 4 ) Operationen. Wie sieht es nun mit den vorgestellten iterativen Verfahren aus? Die Anwung eines der oben beschriebenen Verfahren benötigt in jedem Iterationsschritt eine Matrix-Vektor-Multiplikation. Diese benötigt für dünn besetzte Matrizen bereits O(N 2 ) Operationen. Das bedeutet aber, die Konvergenzrate das heißt die Anzahl an benötigten Iterationen, die nötig sind um eine bestimmte Genauigkeit zu erreichen muss unabhängig von N sein. Wir haben jedoch anhand des Spektralradius festgestellt, dass die Konvergenzrate für großes N immer schlechter wird, das heißt, insbesondere kann sie nicht unabhängig von N sein. Wir werden im Folgen also ein Verfahren suchen, dessen Konvergenzrate unabhängig von N ist. Dazu schauen wir uns die beschriebenen Verfahren einmal etwas genauer an. 3.4 Die Glättungseigenschaft Betrachten wir das Jacobi-Verfahren nochmal etwas genauer. [Hac85, S.8ff] Die Eigenvektoren der Iterationsmatrix S J sind gegeben durch v p,q k,l = sin(pπkh) sin(qπlh), p, q N, k, l N. (3.2) Wir nennen diese Wellenvektoren und das Tupel (p, q) Wellenzahl des Wellenvektors. Die Zahlen ϕ = pπh und ψ = qπh nennen wir Frequenz in x- bzw. y-richtung. Die Wellenvektoren bilden als Eigenvektoren der Matrix S J eine Basis des R 2, das bedeutet ein jeder Vektor x R 2 kann in den Wellenvektoren entwickelt werden: x = N c p,q v p,q, c p,q R (3.22) p,q= Sei nun ũ die exakte Lösung des Gleichungssystems Au = f. Da das Jacobi-Verfahren gegen die exakte Lösung konvergiert, muss gelten S J ũ D f = ũ. (3.23) Sei weiterhin u [s] die Näherung des Jacobi-Verfahrens nach s Iterationen und ε [s] = ũ u [s], so kann man u [s] schreiben als u [s] = ũ ε [s]. (3.24) Nun wen wir nochmal das Jacobi-Verfahren an, so erhalten wir S J u [s] D f = S J (ũ ε [s] ) D f = ũ S J ε [s]. (3.25) 4

17 3 Numerische Behandlung linearer Gleichungssysteme Abbildung 3.: Eigenwerte des Jacobi-Verfahrens für den 5-Punkte-Stern mit N = 5 Wir entwickeln den Fehler ε [s] nun in den Wellenvektoren v p,q und erhalten S J ε [s] = S J N p,q= c p,q v p,q = N c p,q S J v p,q = p,q= N c p,q λ p,q v p,q. (3.26) Das bedeutet die Komponente des Fehlers zur Wellenzahl (p, q) wird in jedem Iterationsschritt um den Faktor λ p,q gedämpft. Abbildung 3. zeigt die Eigenwerte λ p,q gegen die Wellenzahlen (p, q) aufgetragen. Wir sehen, dass vor allem Fehleranteile am Rand des Spektrums, das heißt für sowohl p als auch q nahe 0 oder nahe N, schlecht bis gar nicht gedämpft werden. Das erklärt die insgesamt langsame Konvergenzrate des Verfahrens. Die gleiche Rechnung wie oben lässt sich auch mit dem Jacobi-Relaxation-Verfahren durchführen, da S J und S J,ω die gleichen Eigenvektoren haben. Allerdings stellt sich das Eigenwertspektrum etwas anders dar. Abbildung 3.2 zeigt die Eigenwerte für ω = /2. Wie wir sehen, werden in diesem Fall vor allem hochfrequente Anteile, das heißt Fehleranteile für p, q > N/2 gut gedämpft, währ niedrig-frequente Fehleranteile schlecht gedämpft werden. 4 Wir nennen dies die Glättungseigenschaft des Jacobi-Relaxations- Verfahrens. Wir wollen nun sehen, ob das Gauß-Seidel-Verfahren ebenfalls diese Glättungseigenschaft besitzt. [Ise96, S.227ff] Allerdings ist die Betrachtung hier etwas schwieriger, da die Iterationsmatrix des Gauß-Seidel-Verfahrens nicht die gleichen Eigenvektoren besitzt wie die Matrix A. Natürlich können wir den Fehler immer noch in den Wellenvektoren entwickeln, allerdings sind die Dämpfungsfaktoren nicht mehr durch die Eigenwerte der Iterationsmatrix bestimmt. Das heißt, wir müssen diese Faktoren auf anderem Wege bestimmen. Zu diesem Zweck definieren wir die bivariate Fourier-Transformations des p,q= 4 Die Plots sehen ähnlich aus, allerdings ist auf die Beschriftung der z-achse zu achten. 5

18 3 Numerische Behandlung linearer Gleichungssysteme Abbildung 3.2: Eigenwerte des Jacobi-Relaxation-Verfahren mit ω = /2 Fehlers p [s] (ϕ, ψ) = N k,l= ε [s] k,l ei(kϕ+lψ), 0 ϕ, ψ π. (3.27) Man kann zeigen, das die L 2 -Norm dieses Ausdrucks bis auf einen konstanten Faktor mit der euklidischen Vektornorm des Fehlers übereinstimmt. 5 Sei ũ die exakte Lösung des Gleichungssystems Au = f so gilt ( 4ũ k,l + ũ k,l + ũ k+,l + ũ k,l + ũ k,l+ ) = h 2 f k,l, k, l =,..., N. (3.28) Das Gauß-Seidel-Verfahren ist komponentenweise gegeben durch ( ) 4u [s+] k,l + u [s] k,l + u[s+] k+,l + u[s] k,l + u[s+] k,l+ = h 2 f k,l, k, l =,..., N. (3.29) Subtrahieren wir nun 3.29 von 3.28, so erhalten wir ( ) 4ε [s+] k,l + ε [s] k,l + ε[s+] k+,l + ε[s] k,l + ε[s+] k,l+ = 0, k, l =,..., N. (3.30) Wir multiplizieren 3.30 nun mit e i(kϕ+lψ) und summieren über alle k, l =,..., N, so folgt N N N 4 ε [s+] k,l e i(kϕ+lψ) + ε [s] k,l ei(kϕ+lψ) + ε [s+] k+,l ei(kϕ+lψ) +... k,l= + N k,l= k,l= ε [s] k,l ei(kϕ+lψ) + N k,l= k,l= 5 Für den Beweis der Normenäquivalenz sei verwiesen auf [Ise96, S.229]. ε [s+] k,l+ ei(kϕ+lψ) = 0. (3.3) 6

19 3 Numerische Behandlung linearer Gleichungssysteme Abbildung 3.3: Darstellung des Dämpfungsfaktors für Frequenzen 0 ϕ, ψ π Wir sehen hier, dass der erste Summand in 3.3 gerade gleich 4p [s+] (ϕ, ψ) ist. Die übrigen Terme wollen wir nun durch Indexverschiebungen und Ausklammern einzelner Faktoren in die Form von Gleichung 3.27 bringen. Wir nehmen an dieser Stelle periodische Randbedingungen an, das heißt, man kann annehmen, dass ε [s] k+n,l+n = ε[s] k,l gilt. 6 Damit vereinfacht sich Gleichung 3.3 zu (4 e iϕ e iψ ) Mit Gleichung 3.27 folgt N k,l= ε [s+] k,l e i(kϕ+lψ) = (e iϕ + e iψ ) N k,l= ε [s] k,l ei(kϕ+lψ). (3.32) (4 e iϕ e iψ )p [s+] (ϕ, ψ) = (e iϕ + e iψ )p [s] (ϕ, ψ) p [s+] (ϕ, ψ) p [s] (ϕ, ψ) = e iϕ + e iψ 4 e iϕ e iψ. (3.33) Die linke Seite von Gleichung 3.33 ist nun aber nichts anderes als der Faktor, mit dem die Fouriertransformierte des Fehlers im Iterationsschritt s s + multipliziert wird. Da p norm-äquivalent zu ε ist, ist dies der gesuchte Dämpfungsfaktor. Der Term rechts ist insbesondere abhängig von ϕ und ψ, aber unabhängig von s. Abbildung 3.3 zeigt den Term aus Gleichung 3.33 gegen die Frequenzen ϕ, ψ. Man sieht hier, wie beim Jacobi-Relaxation-Verfahren, dass Fehleranteile zu Frequenzen in der oberen Hälfte des Frequenzspektrums deutlich besser gedämpft werden, als solche zu niedrigen Frequenzen. Das heißt, auch das Gauß-Seidel-Verfahren besitzt die Glättungseigenschaft. 6 Nimmt man an dieser Stelle zum Beispiel homogene Dirichlet-Randbedingungen an, so entsteht im Folgen ein zusätzlicher Term, wodurch der Dämpfungsfaktor nicht mehr mathematisch sauber herzuleiten ist. Vgl. hierzu [Ise96, S.230] 7

20 3 Numerische Behandlung linearer Gleichungssysteme 3.5 Kontrolle des Fehlers Eine Frage, die sich bei numerischen Verfahren immer stellt, ist, ob man irgwie den Fehler der Approximation abschätzen kann. Bei der Behandlung linearer Gleichungssysteme spielt die folge Definition eine besondere Rolle. Definition 3.2 Sei u [s] die Approximation der Lösung von Au = f nach s Iterationsschritten. Das Residuum dieser Approximation ist definiert als r [s] = f Au [s]. Multipliziert man nun den Fehler mit der Matrix A erhält man Dies nennen wir die Residuumsgleichung. 3.6 Mehr Gitter ɛ [s] = u [s] ũ Aɛ [s] = Au [s] Aũ Aɛ [s] = Au [s] f Aɛ [s] = r [s]. Wir haben gesehen, dass das Jacobi-Realaxation- und das Gauß-Seidel-Verfahren hochfrequente Fehleranteile besser dämpfen, als niedrig-frequente. Die Frequenz, um die es dabei geht war (ϕ, ψ) = (pπh, qπh), p, q N, h = N. (3.34) Das heißt, die Frequenz ist einmal abhängig von der Wellenzahl (p, q), zum anderen wird sie aber auch in Relation zum Gitter gemessen, das bedeutet, sie ist auch abhängig von der Gitterweite h. Welche Frequenz ergibt sich aber, wenn wir den Wellenvektor v p,q auf ein gröberes Gitter mit Gitterweite 2h transformieren? Wir beachten hierbei, dass auf dem gröberen Gitter nur Wellenzahlen mit p, q N/2 existieren. Sei also zunächst p, q N/2. Die Transformation auf das gröbere Gitter bedeutet praktisch jeden zweiten Gitterpunkt wegzulassen, das heißt, aus v p,q k,l, k, l N wird v p,q 2k,2l, k, l N/2. Setzen wir Gleichung 3.2 ein, so folgt die Transformation sin ( pπkh ) sin ( qπlh ) sin ( pπ(2k)h ) sin ( qπ(2l)h ). (3.35) Sehen wir uns die Frequenz des transformierten Wellenvektors an, so finden wir ( ϕ, ψ) = (2pπh, 2qπh) = (2ϕ, 2ψ). (3.36) Das bedeutet, auf dem gröberen Gitter erscheint die Frequenz der ersten N/2 Wellenvektoren im Vergleich zur Darstellung auf dem feineren Gitter doppelt so groß. Insbesondere 8

21 3 Numerische Behandlung linearer Gleichungssysteme bedeutet das aber auch, dass sich die Frequenzen in den Bereich verschieben, in dem sie von Jacobi-Relaxation und Gauß-Seidel besser gedämpft werden. Bleibt noch die Frage was mit der anderen Hälfte des Spektrums passiert, also für p, q > N/2. Wir stellen dies der Übersichtlichkeit halber an einem eindimensionalen Wellenvektor dar. Im Eindimensionalen haben Wellenvektoren die Form v p j = sin(jpπh), j N, p N. (3.37) Wir setzen p = N 2 + η, 0 < η < N 2. Dann gilt v p,j = sin ( 2jpπh ) ( ) 2jpπ = sin N ( 2j( N 2 = sin + η)π ) ( = sin jπ + 2jηπ ) N N ( ) ( ) (N 2η)jπ (N 2η)jπ = sin 2πj + = sin N N ( ) 2(N p)jπ = sin = sin ( 2(N p)jπh ). (3.38) N Im zweidimensionalen funktioniert die Rechnung für den zweiten Sinus-Term natürlich analog. Diesmal finden wir für die Frequenzen ( ϕ, ψ) = ( 2(N p)πh, 2(N q)πh ) = ( 2π 2pπh, 2π 2qπh ) = ( 2(π ϕ), 2(π ψ) ). (3.39) Das bedeutet hohe Frequenzen erscheinen wieder niedrig-frequenter auf dem gröberen Gitter. Das sollte jedoch kein Problem sein, wenn die hochfrequenter Fehleranteile bereits vor dem Wechsel auf das gröbere Gitter gedämpft wurden. Das führt uns auf die zentrale Idee der Mehrgitterverfahren. 9

22 4 Das Mehrgitter-Verfahren 4. Die Idee Wir wollen noch einmal, die oben hergeleiteten Erkenntnisse zusammenfassen. Glättungseigenschaft Das Jacobi-Relaxation- und das Gauß-Seidel-Verfahren dämpfen hochfrequente Fehleranteile deutlich besser als niedrig-frequente. Residuumsgleichung Der Fehler der Approximation erfüllt sein eigenes lineares Gleichungssystem. Aε [s] = r [s] Gittertransformation Niedrig-frequente Fehleranteile erscheinen hochfrequenter auf gröberen Gittern. Das motiviert das folge Vorgehen. [Hac85, S.2ff] Zwei-Gitter Algorithmus. Gegeben seien die Matrix A R N 2 N 2, die rechte Seite f R N 2, sowie ein Startvektor u [0] R N 2 für das stationäre Iterationsverfahren. 2. Führe ν Iterationen mit dem Jacobi-Relaxation- oder dem Gauß-Seidel-Verfahren durch. (z.b. ν=2 oder ν = 3) Der Fehler sollte nun geglättet sein. 3. Berechne das Residuum r [ν] = f Au [ν]. 4. Transformiere das Residuum und die Matrix auf ein gröberes Gitter r [ν] r [ν], A Ā. 5. Löse die Residuumsgleichung auf dem gröberen Gitter ε [ν] = Ā r [ν]. 6. Transformiere das Ergebnis auf das feinere Gitter ε [ν] ε [ν]. 7. Berechne u [ν+ 2 ] = u [ν] ε [ν] 8. Führe nochmals ν Iterationen mit dem gewählten Iterationsverfahren und u [ν+ 2 ] als Startvektor durch. 20

23 4 Das Mehrgitter-Verfahren Abbildung 4.: Hierarchie von drei Gittern in einer Dimension. 9. Ausgabe: u [2ν+ 2 ] Allerdings lässt dieser Algorithmus noch einige Fragen unbeantwortet.. Wie funktionieren die Transformationen zwischen den Gittern? 2. Wie löst man die Residuumsgleichung auf dem gröberen Gitter? 3. Ist dieses Verfahren konvergent und wenn ja, verhält es sich wirklich besser als die oben beschriebenen Verfahren? Es sei gleich als erstes gesagt, dass wir die Frage nach der Konvergenz im Rahmen dieser Arbeit schuldig bleiben werden. 4.. Restriktion und Prolongation Wen wir uns also zunächst der ersten Frage zu. Als erstes nehmen wir an, dass auf dem feinsten Gitter, dem Gitter auf dem wir das Gleichungssystem eigentlich lösen wollen, gilt N = 2 m mit m N. Es sei daran erinnert, dass N die Anzahl an Gitterpunkten pro Koordinatenrichtung ist, dass heißt, wir haben auf dem feinsten Gitter N 2 Unbekannte. Die Gitterreduktion soll im Folgen so aussehen, dass wir in jeder Koordinatenrichtung jeden zweiten Gitterpunkt weglassen. Das entspricht einer Reduktion der Anzahl an Punkten in einer Richtung von N (N +). Abbildung 4. illustriert dieses Vorgehen. 2 Wir wollen uns zunächst den sogenannten Prolongations-Operator P ansehen, dass heißt die Transformation vom gröberen auf das feinere Gitter. Ein Weg diese Transformation zu erreichen ist lineare Interpolation. Sei (w k,l ) k,l N ein Vektor auf dem feinen Gitter, ( w k,l ) k,l N ein Vektor auf dem gröberen Gitter und N 2 die Anzahl an Gitterpunkten auf dem gröberen Gitter. Dann 2

24 4 Das Mehrgitter-Verfahren x o x o x o o o o o 2 x 4 2 o x o Abbildung 4.2: Darstellung des Prolongations-Operators. x entspricht Gitterpunkt auf gröberen Gitter; o entspricht neu berechnetem Gitterpunkt auf feinem Gitter. x liefert die lineare Interpolation die Formeln [Ise96, S.237] w 2k,2l = w k,l k, l =,..., N (4.) w 2k,2l = 2 ( w k,l + w k,l+ ) k =,..., N ; l =,..., N w 2k,2l = 2 ( w k,l + w k+,l ) k =,..., N ; l =,..., N w 2k,2l = 4 ( w k,l + w k,l+ + w k+,l + w k+,l+ ) k, l =,..., N. Abbildung 4.2 illustriert dieses Vorgehen. In Matrixform sieht das ganze folgermaßen aus. P P 2 P P = P 2... P P 2 (4.2) Hierbei ist P eine (2 N ) 2 N 2 -Matrix mit 2 N N-Blockmatrizen P und P P 2 2 =... P =... (4.3) Bleibt die Frage nach dem Restriktions-Operator R, das heißt nach der Transformation vom feinen auf das gröbere Gitter. Hierfür gibt es verschiedene Möglichkeiten. Die 22

25 4 Das Mehrgitter-Verfahren einfachste wäre sicher die Methode der Injektion. Dabei lässt man die nicht benötigten Gitterpunkte ganz einfach weg. Eine beliebtere Methode ist allerdings die Volle Gewichtung (full weighting) [Ise96, S.237] w k,l = 4 w 2k,2l + 8 (w 2k,2l + w 2k,2l + w2k +, 2l + w 2k,2l+ ) (w 2k,2l + w 2k,2l+ + w 2k+,2l + w 2k+,2l+ ) k, l =,..., N. (4.4) Diese Methode hat den Vorteil, dass die Matrixform besonders leicht bestimmt werden kann. Es gilt dann nämlich R = 4 P T. (4.5) Wir sind nun also in der Lage, Vektoren von einem Gitter auf das andere zu transformieren. Was ist aber mit der Matrix A? Zum Lösen der Residuumsgleichung auf dem gröberen Gitter brauchen wir auch eine transformierte Form dieser Matrix. Nehmen wir wie oben an, dass wir uns lediglich mit 5-Punkte-Stern auf dem Einheitsquadrat beschäftigen, fällt diese Aufgabe leicht. Die Matrix des 5-Punkte-Sterns hat eine besonders regelmäßige Struktur, die sich insbesondere bei Verwung einer anderen Gitterweite nicht ändert. Es genügt also, die überzähligen Zeilen und Spalten einfach wegzulassen. Im Allgemeinen möchte man Differentialgleichungen aber auf komplizierteren Gebieten als dem Einheitsquadrat untersuchen. In diesem Fall kommen Randapproximationen ins Spiel. [Ise96, S.20ff] Wir wollen darauf hier nicht näher eingehen, wichtig ist aber, dass man in einem solchen Fall nicht mehr annehmen kann, dass die Matrix ihre regelmäßige Struktur behält. Ein Ausweg biete die Transformation [Bri87] Ā = RAP. (4.6) Das heißt, wenn wir eine Matrix-Vektor-Multiplikation durchführen möchten, transformieren wir den Vektor zunächst auf das feinere Gitter, multiplizieren dort mit der ursprünglichen Matrix und transformieren anschließ zurück. In diesem Zusammenhang hat es sich dann auch gelohnt, die Matrixstruktur von R und P zu analysieren. Wir können nun also zwischen den Gittern wechseln. Bleibt die Frage nach der Lösung der Residuumsgleichung Rekursion Im Zwei-Gitter Algorithmus wurde davon ausgegangen, dass die Residuumsgleichung auf dem gröberen Gitter exakt lösbar ist. In der Praxis kann dies sicherlich nicht immer angenommen werden. Die Lösung besteht hier natürlich darin, den Algorithmus rekursiv zu wiederholen. Das bedeutet, zum Lösen der Residuumsgleichung startet man einen erneuten Zwei-Gitter Algorithmus. Da man hier jetzt die Residuumsgleichung zu lösen hat, wählt man üblicherweise 0 als Startvektor. 23

26 4 Das Mehrgitter-Verfahren Jetzt wird auch klar, warum wir N = 2 m + angenommen haben. Durch diese Wahl von N erhalten wir mit der oben beschriebenen Restriktion eine absteige Folge von Gittern, wobei das gröbste Gitter noch genau vier Gitterpunkt enthält. Das entstehe Gleichungssystem ist dann sicherlich direkt lösbar. Dieses Verfahren führt auf den folgen Algorithmus. Mehrgitter Algorithmus. Gegeben seien die Matrix A R N 2 N 2 mit N = 2 m + für ein m > 0, die rechte Seite f R N 2, sowie ein Startvektor u [0] R N 2 für das stationäre Iterationsverfahren. 2. Führe ν Iterationen mit dem Jacobi-Relaxation- oder dem Gauß-Seidel-Verfahren durch. (z.b. ν=2 oder ν = 3) Der Fehler sollte nun geglättet sein. 3. Berechne das Residuum r [ν] = f Au [ν]. 4. Transformiere das Residuum und die Matrix auf ein gröberes Gitter r [ν] r [ν] = Rr [ν], A Ā = RAP, N N = (N + ) Falls N = 2: Setze ε [ν] = Ā r [ν] Sonst: Gehe zu Schritt mit A = Ā, N = N, f = r [ν], u [0] = Transformiere das Ergebnis auf das feinere Gitter ε [ν] ε [ν] = P ε [ν]. 7. Berechne u [ν+ 2 ] = u [ν] ε [ν]. 8. Führe nochmals ν Iterationen mit dem gewählten Iterationsverfahren und u [ν+ 2 ] als Startvektor durch. 9. Ausgabe: u [2ν+ 2 ] 4.2 Varianten Den oben beschriebenen Algorithmus bezeichnet man auch als V-Zyklus. Der Grund für diese Bezeichnung liegt auf der Hand, man geht zunächst vom feinsten zum gröbsten Gitter und anschließ wieder zurück. Eine andere Möglichkeit ist der sogenannte W- Zyklus. Abbildung 4.3 illustriert dieses Vorgehen. Eine andere Möglichkeit bietet die sogenannte verschachtelte Iteration (nested iteration). Hierbei startet man nicht auf dem feinsten, sondern auf dem gröbsten Gitter. Die Idee dabei ist, für den eigentlichen Mehrgitter-Algorithmus (oder alternativ auch ein anderes iteratives Lösungsverfahren) einen möglichst guten Startvektor zu erhalten. Im Folgen bezeichnen wir mit f (n) die Darstellung des Vektors f auf dem Gitter mit (2 n + ) 2 Gitterpunkten. Analog für die Matrix A. Außerdem bezeichnen wir mit M G(A, f, u, m) die Ausführung eines Mehrgitter Algorithmus mit Matrix A, rechter Seite f, Startvektor u auf einem Gitter mit (2 m + ) 2 Gitterpunkten. Das liefert den folgen Algorithmus. [Hac85, S.98f] 24

27 4 Das Mehrgitter-Verfahren Abbildung 4.3: a) V-Zyklus; b) W-Zyklus nested iteration Algorithmus. Gegeben seien die Matrix A R N 2 N 2 mit N = 2 m + für ein m > 0 und die rechte Seite f R N Solange k < m a) Löse A (k) u (k) = f (k). b) Transformiere die Lösung auf das nächsthöhere Gitter u (k) u (k+) = P u (k). c) Setze u (k+) = MG(A (k+), f (k+), u (k+), k + ). d) k=k+ 3. Ausgabe: u (m ) Setzt man in Schritt 2 k < m anstatt k < m, so erhält man eine nested iteration mit anschließem V-Zyklus. Dieses Verfahren bezeichnet man dann als vollständiges Mehrgitter-Verfahren (full multi-grid). 4.3 Aufwand des Mehrgitter-Verfahrens Wie bei den anderen iterativen Verfahrens ist die Anzahl der benötigten Operationen gleich dem Produkt der Anzahl der Operationen pro Iterationsschritt das heißt in diesem Fall pro V-Zyklus und der Konvergenzrate das heißt der Anzahl an Operationen, die man benötigt, um eine bestimmte Genauigkeit zu erreichen. Schauen wir uns den V-Zyklus an. [Ise96, S.240f] Es werden auf jeder Stufe 2ν Iterationen mit dem gewählten Glättungsverfahren ausgeführt. Sei auf dem feinsten Gitter der Aufwand eines Iterationsschrittes des Glättungsverfahrens gegeben durch α. Bei der Restriktion wird die Anzahl der Unbekannten in jeder Koordinatenrichtung näherungsweise halbiert, das heißt, der Aufwand ist hier α. Der Gesamte V-Zyklus benötigt also 4 25

28 4 Das Mehrgitter-Verfahren bei m Gittern ( = ( m µ= ) ( 2να < 4 µ 4 µ µ= ) 4 m ) 2να 2να = 8 να (4.7) 3 Operationen. Wir haben gesehen, das gilt α = O(N 2 ). Das heißt, asymptotisch benötigt auch der V-Zyklus O(N 2 ) Operationen. Restriktion und Prolongation liefern auf jeder Stufe zwei weitere Matrix-Vektor-Multiplikationen mit dünn besetzten Matrizen, ändern also am asymptotischen Verhalten nichts. Es sei dazu gesagt, dass dies eben nur das asymptotische Verhalten ist. Für N nicht allzu groß kann die Konstante in Gleichung 4.7 dafür sorgen, dass andere iterative Verfahren doch besser konvergieren. Deswegen werden Mehrgitter-Verfahren vor allem bei sehr großen Gleichungssystemen sehr feinen Gittern eingesetzt. Um zu zeigen, dass das Mehrgitter-Verfahren tatsächlich optimal im Aufwand ist, müsste man nun noch zeigen, dass das Verfahren formal konvergiert und die Anzahl an benötigten V-Zyklen für eine gegebene Genauigkeit unabhängig von N ist. Wir verweisen für diesen Beweis jedoch auf [Hac85] und [Ver] und wollen uns im nächsten Kapitel stattdessen mit einer konkreten Implementierung eines Mehrgitter-Verfahrens in Matlab beschäftigen. 26

29 5 Implementierung Im Folgen wollen wir versuchen, ein Matlab Programm zu entwerfen, dass die Poisson- Gleichung auf dem Einheitsquadrat oder Teilmengen davon mittels finiter Differenzen diskretisiert und anschließ das entstehe Gleichungssystem mit Hilfe des Mehrgitter- Algorithmus löst. 5. Das Programm Wir wollen uns dazu zunächst mit der Realisierung des Mehrgitter-Algorithmus selbst beschäftigen. Wir benötigen dazu Ein Glättungs-Verfahren z.b. das Gauß-Seidel Verfahren Den Prolongations- und den Restriktions-Operator Den Mehrgitter-Algorithmus selbst. Wir implementieren das Gauß-Seidel Verfahren in simpler Matrixform. Das bietet sich an, da in Matlab im Allgemeinen Matrix-Vektor Operationen schneller realisiert sind als Schleifen. gsm.m function v=gsm(a,u,f,m) %Gauß-Seidel Verfahren %A Matrix, u Startvektor, f rechte Seite, m Anzahl Iterationen [D,L,R]=divM(A); v=(d-l)^(-)*r*u+(d-l)^(-)*f; if(m>0) v=gsm(a,v,f,m-); else v=v; % function [D,L,R]=divM(A) [n,n]=size(a); D=R=L=zeros(n,n); for i=:n for j=:n if(i<j) R(i,j)=-A(i,j); elseif(i>j) L(i,j)=-A(i,j); 27

30 5 Implementierung else D(i,j)=A(i,j); D=D; L=L; R=R; Als nächstes müssen wir den Prolongations- und Restriktions-Operator realisieren. Hier kommt uns zu Gute, dass wir die Matrixform dieser Operatoren im vorausgegangenen Kapitel bereits bestimmt haben. Es reicht natürlich einen der Operatoren zu realisieren, da die Beziehung R = 4 P T gilt. erstp.m function erg=erstp(m) A=zeros(2*m-,m); A2=zeros(2*m-,m); B=zeros(2*m-,m); B2=zeros(2*m-,m); for i=:m A(2*i-,i)=; B(2*i-,i)=; for i=:m- A2(2*i,i+)=; A2(2*i,i)=; B(2*i,i+)=/2; B(2*i,i)=/2; B2=/2*B; erg=sparse(kron(a,b)); erg2=sparse(kron(a2,b2)); erg=erg+erg2; Diese Funktion realisiert einen linearen Interpolationsoperator P : R m2 R (2m )2. Bleibt nun noch den Mehrgitter-Algorithmus, so wie es im letzten Kapitel beschrieben wurde, zu realisieren. multig.m function erg=multig(a,st,f,m,nue); % Schritt : Parameter mg=/2*(m+); % Schritt 2: Vorglättung 28

31 5 Implementierung erg=gsm(a,st,f,nue); % Schritt 3: Berechnung Residuum r=f-a*erg; % Erstellung von Prolongations und Restriktionsmatrix P=erstP(mg); R=/4*P ; % Schritt 4: Transfer auf gröberes Gitter rg=r*r; Ag=R*A*P; % Schritt 5: Lösung der Residuumsgleichung if(mg==2) erg2=ag\-rg; else erg2=multig(ag,zeros(mg^2,),-rg,mg,nue); if % Schritt 6: Transfer auf feineres Gitter erg3=p*erg2; % Schritt 7: Anpassung der Lösung erg4=erg-erg3; % Schritt 8: Nachglättung erg5=gsm(a,erg4,f,nue); erg=erg5; Das Programm ist im Wesentlichen selbsterklär. Wichtig ist vor allem das Abbruchkriterium der Rekursion. Da wir von einem quadratischen Gebiet mit N 2 = (2 m + ) 2 Unbekannten ausgegangen sind, können wir annehmen, dass das gröbste Gitter erreicht ist, wenn es noch genau 4 Gitterpunkte enthält. Dann würde der Restriktionsoperator versagen. Das Gleichungssystem ist an dieser Stelle simpel genug, dass man davon ausgehen kann, dass ein direktes Lösungsverfahren hier ausreich gut funktioniert. Das ist hier einfach mit Hilfe des Matlab-Befehls \ realisiert. 29

32 5 Implementierung 5.2 Erster Test: Einheitsquadrat Wir wollen das Programm nun testen. Eine Funktion, die auf dem Einheitsquadrat differenzierbar und am Rand gleich Null ist, ist u : R 2 R (x, y) sin(πx) sin(πy). (5.) Eine Möglichkeit die Matrix aus Gleichung 2.6 aufzustellen, ist beschrieben in [LeV07, S.68]. Das liefert das folge Testprogramm. TestMZ.m % Testprogramm für MultiG clear all; close all; % Parameter m=2^4+; h=/(m+); % Erstellung der Matrix des 5-Punkte-Sterns mit % homogenen Dirichlet-Randbedingungen I = speye(m); e = ones(m,); T = spdiags([e -4*e e],[- 0 ],m,m); S = spdiags([e e],[- ],m,m); A = (kron(i,t) + kron(s,i)) / h^2; % Wahl eines Startvektors st=zeros(m^2,); % Echte Lösung true=@(x,y) sin(pi.*x).*sin(pi.*y); % Erstellung eines Gitters tx=linspace(h,-h,m); ty=linspace(h,-h,m); [X,Y]=meshgrid(tx,ty); X=X ; Y=Y ; % Erstellung rechte Seite f und Gittervektor der echten Lösung utrue=true(x,y); utruen=reshape(utrue,m^2,); f=a*utruen; % Lösung des linearen Gleichungssystems erg=st; for i=:2 erg=multig(a,erg,f,m,2); 30

33 5 Implementierung erg=reshape(erg,m,m); % Erstellung der Plots figure surf(x,y,utrue); figure surf(x,y,erg); figure surf(x,y,utrue-erg); % Ausgabe der Maximumsnorm des Fehlers norm(utrue-erg,inf) Die Funktion multig realisiert genau einen V-Zyklus. Die Schleife um den Aufruf der Funktion ermöglicht die Durchführung mehrerer V-Zyklen. Es fällt zudem auf, dass wir hier als rechte Seite nicht die Gitterfunktion des Laplace der exakten Lösung gewählt haben. Stattdessen bestimmen wir die rechte Seite als Produkt der 5-Punkte-Stern-Matrix mit der Gitterfunktion der exakten Lösung. Der Grund dafür ist, dass nun die Gitterfunktion der exakten Lösung auch die exakte Lösung des linearen Gleichungssystems ist. Damit ist der angegebene Fehler genau der Fehler, der bei der Lösung des Systems entsteht. Andernfalls würde auch ein Fehler durch die Diskretisierung der Differentialgleichung entstehen. An diesem sind wir hier aber nicht interessiert. Anzahl V-Zyklen Norm des Fehlers e-005 Die Gitterfunktion des Fehlers wird hier als N N-Matrix dargestellt. Als Norm dient die Zeilensummen-Norm. 5.3 Zweiter Test: Dreieck Als nächstes wollen wir nun noch versuchen, allgemeinere Gebiete zuzulassen und zwar solche, für die eine Gitterweite h existiert, sodass der Rand des Gebietes stets durch Gitterpunkte verläuft. Wir können nun das Gebiet bestimmen über die Angabe derjenigen Gitterpunkte, die auf dem Rand liegen. Wir nehmen hier grundsätzlich homogene Dirichlet-Randbedingungen an. Wenn nun der (k, l) te Gitterpunkt auf dem Rand oder außerhalb des Gebietes liegen sollte, wird die Formel des 5-Punkte-Sterns für diesen Gitterpunkt ersetzt durch die Angabe x k,l = 0 (5.2) Alle inneren Gitterpunkte werden, wie gehabt, über den 5-Punkte-Stern bestimmt. 3

34 5 Implementierung Abbildung 5.: a) Plot der exakten Lösung der Differentialgleichung; b) Plot der berechneten Näherung; c) Plot der Fehlers 32

35 5 Implementierung Um diese Vorgehensweise zu testen, wählen wir die Funktion u : R 2 R (x, y) xy( x y) (5.3) Als Gebiet wählen wir das Dreieck mit den Eckpunkten (0, 0), (0, ), (, 0). Man stellt fest, das die Funktion u gerade so gewählt ist, dass sie Null ist auf dem Rand dieses Dreiecks. Das ist im folgen Testprogramm realisiert. TestDZ.m clear all; close all; % Parameter m=2^4+; h=/(m+); % Randwerte ydown=h; yup=-h; xleft=h*ones(m,); for i=:m xright(i)=(m+-i)*h; xleft=xleft ; % Erstellung des Gitters tx=linspace(h,-h,m); ty=linspace(h,-h,m); [X,Y]=meshgrid(tx,ty); %X=X ; Y=Y ; % Erstellung der Matrix des 5-Punkte-Sterns % auf dem Einheitsquadrat I = speye(m); e = ones(m,); T = spdiags([e -4*e e],[- 0 ],m,m); S = spdiags([e e],[- ],m,m); A = (kron(i,t) + kron(s,i)) / h^2; % Herausstreichen der äußeren Punkte B=speye(m^2); for i=:m for j=:m if(x(i,j)<xleft(i) X(i,j)>xright(i) Y(i,j)<ydown Y(i,j)>yup) A((i-)*m+j,:)=B((i-)*m+j,:); 33

36 5 Implementierung if % Wahl eines Startvektors st=zeros(m^2,); % Erstellung der rechten Seite truecon=@(x,y) x.*y.*(.-x.-y); %exakte Lösung true=truecon(x,y); %Gitterfunktion der exakten Lösung for i=:m for j=:m if(x(i,j)<xleft(i) X(i,j)>xright(i) Y(i,j)<ydown Y(i,j)>yup) true(i,j)=0; if true=reshape(true,m^2,); f=a*true; % Lösung des lineare Gleichungssystems erg=st; for i=:3 erg=multig(a,erg,f,m,2); % Maximum des Fehlers und Plots error=erg-true; norm(error,inf) error=reshape(error,m,m); figure surf(x,y,error); true=reshape(true,m,m); figure surf(x,y,true); erg=reshape(erg,m,m); figure surf(x,y,erg); Der Vorteil dieser Vorgehensweise ist, dass unser Mehrgitter-Programm multig nicht verändert zu werden braucht. Tatsächlich genügt eine kleine Anpassung der Matrix, indem äußere Punkte als Null vordefiniert werden. 34

37 5 Implementierung Abbildung 5.2: a) Plot der exakten Lösung der Differentialgleichung; b) Plot der berechneten Näherung; c) Plot der Fehlers 35

38 5 Implementierung Anzahl V-Zyklen Norm des Fehlers e e-005 Wir sehen also, sowohl auf dem Einheitsquadrat als auch auf Teilmengen konvergiert das Mehrgitter-Programm gegen die exakte Lösung des Gleichungssystems. 5.4 Dritter Test: L-förmiges Gebiet Als letzten Test wählen wir ein L-förmiges Gebiet Ω = (, ) 2 \([0, ] [, 0]). Auf diesem Gebiet ist die Funktion f : Ω R (r, ϕ) r 2 3 sin ( 2 3 ϕ ) (5.4) harmonisch, das heißt f = 0. Ziel dieses Tests ist es zu zeigen, dass das Mehrgitterprogramm zwar gegen die exakte Lösung des diskreten Problems das bedeutet, des linearen Gleichungssystems konvergiert, aber nicht gegen die exakte Lösung der Differentialgleichung. Den Aufruf der exakten Lösung realisieren wir über das folge Hilfsprogramm. spez.m function erg=spez(x,y); r=@(x,y) sqrt((x).^2+(y).^2); f=@(x,y) nthroot(x.^2,3).*sin(2/3*(y)); phi=ret(x,y); erg=f(r(x,y),phi); % function erg=ret(x,y); erg=atan2(y,x); [n,m]=size(x); for i=:n for j=:m if(erg(i,j)>=0) erg(i,j)=erg(i,j); else erg(i,j)=erg(i,j)+2*pi; Die Funktion ist in Polarkoordinaten angegeben, das heißt x = r cos ϕ, y = r sin ϕ. 36

39 5 Implementierung if Dies ist notwig, da die Funktion in Polarkoordinaten definiert ist. Die Unterfunktion r realisiert den Radialanteil, ret realisiert den Winkelanteil. Für den Winkelanteil gibt es die Matlab-interne Funktion atan2, diese gibt den Winkel allerdings im Intervall ( π, π] an. Wir benötigen den Winkel jedoch im Intevall [0, 2π), deswegen werden alle negativen Winkel nochmal mit 2π addiert. Wir gehen zunächst wie vorher auch vor und berechnen die rechte Seite als Produkt von Matrix und Gitterfunktion der exakten Lösung. TestLZ.m clear all; close all; % Parameter m=2^4+; h=/(m+); % Randwerte ydown=h-; yup=-h; xleft=(h-)*ones(m,); for i=:m if(i<=(m-)/2) xright(i)=0; else xright(i)=-h; if xleft=xleft ; % Erstellung des Gitters tx=linspace(h-,-h,m); ty=linspace(h-,-h,m); [X,Y]=meshgrid(tx,ty); X=X ; Y=Y ; % Erstellung der Matrix des 5-Punkte-Sterns % auf dem Einheitsquadrat I = speye(m); e = ones(m,); T = spdiags([e -4*e e],[- 0 ],m,m); S = spdiags([e e],[- ],m,m); A = (kron(i,t) + kron(s,i)) / h^2; 37

40 5 Implementierung % Herausstreichen der äußeren Punkte B=speye(m^2); for i=:m for j=:m if(x(i,j)<xleft(i) X(i,j)>xright(i) Y(i,j)<ydown Y(i,j)>yup) A((i-)*m+j,:)=B((i-)*m+j,:); if % Wahl eines Startvektors st=zeros(m^2,); % Erstellung der rechten Seite true=spez(x,y); %exakte Lösung for i=:m for j=:m if(x(i,j)<xleft(j) X(i,j)>xright(j) Y(i,j)<ydown Y(i,j)>yup) true(i,j)=0; if true=reshape(true,m^2,); f=a*true; % Lösung des lineare Gleichungssystems erg=st; for i=: erg=multig(a,erg,f,m,2); % Maximum des Fehlers und Plots error=erg-true; norm(error,inf) error=reshape(error,m,m); figure surf(x,y,error); true=reshape(true,m,m); figure surf(x,y,true); erg=reshape(erg,m,m); figure 38

41 5 Implementierung surf(x,y,erg); Anzahl V-Zyklen Norm des Fehlers e e-005 Das berechnete Ergebnis konvergiert wie bei den beiden anderen Tests gegen die exakte Lösung. Wir wollen nun tatsächlich die Differentialgleichung diskretisieren, das heißt die rechte Seite ist die Gitterfunktion des Laplace der exakten Lösung. Hier ist darauf zu achten, dass die Funktion in diesem Test keine homogenen Randbedingungen besitzt, das heißt die Randbedingungen müssen vom Vektor der rechten Seite abgezogen werden. Das realisieren wir wir folgt. TestLZ2.m (Auszug) % Erstellung der rechten Seite true=spez(x,y); %exakte Lösung for i=:m for j=:m if(x(i,j)<xleft(j) X(i,j)>xright(j) Y(i,j)<ydown Y(i,j)>yup) true(i,j)=0; if true=reshape(true,m^2,); f=zeros(m,m); % Laplace der exakten Lösung % Randbedingungen f(:(m-)/2,)=f(:(m-)/2,)-/h^2* (spez(tx(:(m-)/2),-*ones(,(m-)/2)) ); f(,:m)=f(,:m)-/h^2*(spez(-*ones(,m),ty)); f(:m,m)=f(:m,m)-/h^2*(spez(tx,ones(,m)) ); f(m,(m+)/2:m)=f(m,(m+)/2:m)-/h^2*(spez(ones(,(m+)/2),ty((m+)/2:m))); f=reshape(f,m^2,); Anzahl V-Zyklen Norm des Fehlers Wie wir sehen, konvergiert das Verfahren nun nicht mehr. An dieser Stelle sehen wir nämlich nicht nur den Fehler, der bei der Lösung des Gleichungssystems entsteht, sondern auch den, der bei der Diskretisierung mittels 5-Punkte-Stern entsteht. Der Plot des Fehlers zeigt, dass der Fehler an der Stelle der einspringen Ecke gleichbleib hoch bleibt, das heißt, dass die Diskretiserung hier versagt. Dieses Problem wäre nur mit Hilfe eines feineren Gitters in der Nähe dieser Stelle zu lösen. 39

42 5 Implementierung Abbildung 5.3: Plot des Fehlers nach einem, zwei und drei V-Zyklen 40

Kevin Caldwell. 18.April 2012

Kevin Caldwell. 18.April 2012 im Rahmen des Proseminars Numerische Lineare Algebra von Prof.Dr.Sven Beuchler 18.April 2012 Gliederung 1 2 3 Mathematische Beschreibung von naturwissenschaftlich-technischen Problemstellungen führt häufig

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s Nachtrag zur allgemeinen Vektorraum-Theorie. 1.5.15. Direkte Summen. Sei V ein Vektorraum, seien U 1,..., U t Unterräume, wir schreiben V = U 1 U 2 U t = t i=1 U i falls die folgenden beiden Bedingungen

Mehr

Optimalitätskriterien

Optimalitätskriterien Kapitel 4 Optimalitätskriterien Als Optimalitätskriterien bezeichnet man notwendige oder hinreichende Bedingungen dafür, dass ein x 0 Ω R n Lösung eines Optimierungsproblems ist. Diese Kriterien besitzen

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr

Numerische Behandlung des Eigenwertproblems

Numerische Behandlung des Eigenwertproblems Numerische Behandlung des Eigenwertproblems Zusammenfassung Das Ziel dieses Vortrages ist, zwei gute Methoden für die numerische Bestimmung der Eigenwerte zu zeigen und wie man diese mit Matlab anwenden

Mehr

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Einführung in die Vektor- und Matrizenrechnung. Matrizen Einführung in die Vektor- und Matrizenrechnung Matrizen Definition einer Matrix Unter einer (reellen) m x n Matrix A versteht man ein rechteckiges Schema aus reellen Zahlen, die wie folgt angeordnet sind:

Mehr

Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler

Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler Wintersemester 3/4 (.3.4). (a) Für z = + i und z = 3 4i berechne man z z und z z. Die Ergebnisse sind in kartesischer Form anzugeben.

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009 Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009 Aufgabe 35: Thema: Singulärwertzerlegung und assoziierte Unterräume Sei A eine m n Matrix mit Rang r und A = UDV T ihre Singulärwertzerlegung.

Mehr

Lösungen zum 3. Aufgabenblatt

Lösungen zum 3. Aufgabenblatt SS, Lineare Algebra Die Lösungen wurden erstellt von: Isabel Voigt, Vanessa Lamm und Matthias Rehder Hinweis: Eine Liste der zur Bearbeitung verwendeten Literatur ist unter www.mathematiwelt.com aufrufbar.

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

Beispiel 11.2. Wenn p ein Polynom vom Grad größer gleich 1 ist, ist q : C Ĉ definiert durch q (z) =

Beispiel 11.2. Wenn p ein Polynom vom Grad größer gleich 1 ist, ist q : C Ĉ definiert durch q (z) = Funktionentheorie, Woche Funktionen und Polstellen. Meromorphe Funktionen Definition.. Sei U C offen und sei f : U gilt, nennt man f meromorph auf U: Ĉ eine Funktion. Wenn folgendes. P := f hat keine Häufungspunkte;.

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

ax 2 + bx + c = 0, (4.1)

ax 2 + bx + c = 0, (4.1) Kapitel 4 Komplexe Zahlen Wenn wir uns auf die reellen Zahlen beschränken, ist die Operation des Wurzelziehens (also die Umkehrung der Potenzierung) nicht immer möglich. Zum Beispiel können wir nicht die

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

Optimale Steuerung. Sequentielle Quadratische Programmierung. Kevin Sieg. 14. Juli 2010. Fachbereich für Mathematik und Statistik Universität Konstanz

Optimale Steuerung. Sequentielle Quadratische Programmierung. Kevin Sieg. 14. Juli 2010. Fachbereich für Mathematik und Statistik Universität Konstanz Optimale Steuerung Kevin Sieg Fachbereich für Mathematik und Statistik Universität Konstanz 14. Juli 2010 1 / 29 Aufgabenstellung 1 Aufgabenstellung Aufgabenstellung 2 Die zusammengesetzte Trapezregel

Mehr

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 ) Aufgabe 65. Ganz schön span(n)end. Gegeben sei folgende Menge M von 6 Vektoren v, v,..., v 6 R 4 aus Aufgabe P 6: M = v =, v =, v =, v 4 =, v 5 =, v 6 = Welche der folgenden Aussagen sind wahr? span(v,

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme Übung Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme Diese Übung beschäftigt sich mit Grundbegriffen der linearen Algebra. Im Speziellen werden lineare Abbildungen, sowie

Mehr

Einführung. Vita Rutka. Universität Konstanz Fachbereich Mathematik & Statistik AG Numerik SS 2009

Einführung. Vita Rutka. Universität Konstanz Fachbereich Mathematik & Statistik AG Numerik SS 2009 Einführung Vita Rutka Universität Konstanz Fachbereich Mathematik & Statistik AG Numerik SS 2009 Was ist FEM? Die Finite-Elemente-Methode (FEM) ist ein numerisches Verfahren zur näherungsweisen Lösung,

Mehr

Finite Differenzen und Elemente

Finite Differenzen und Elemente Dietrich Marsal Finite Differenzen und Elemente Numerische Lösung von Variationsproblemen und partiellen Differentialgleichungen Mit 64 Abbildungen Springer-Verlag Berlin Heidelberg NewYork London Paris

Mehr

Modulabschlussklausur Analysis II

Modulabschlussklausur Analysis II Modulabschlussklausur Analysis II. Juli 015 Bearbeitungszeit: 150 min Aufgabe 1 [5/10 Punkte] Es sei a R und f a : R 3 R mit f a (x, y, z) = x cos(y) + z 3 sin(y) + a 3 + (z + ay a y) cos(x) a) Bestimmen

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder

Mehr

17. Penalty- und Barriere-Methoden

17. Penalty- und Barriere-Methoden H.J. Oberle Optimierung SoSe 01 17. Penalty- und Barriere-Methoden Penalty- und Barriere Methoden gehören zu den ältesten Ansätzen zur Lösung allgemeiner restringierter Optimierungsaufgaben. Die grundlegende

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München SoSe 213 Institut für Informatik Prof. Dr. Thomas Huckle Dipl.-Inf. Christoph Riesinger Dipl.-Math. Jürgen Bräckle Numerisches Programmieren 2. Programmieraufgabe: Lineare

Mehr

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von. HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

Dünn besetzte Matrizen. Unterschiede in Speicherbedarf und Rechenzeit im Vergleich zu voll besetzten Matrizen. Besetzungsmuster mit spy.

Dünn besetzte Matrizen. Unterschiede in Speicherbedarf und Rechenzeit im Vergleich zu voll besetzten Matrizen. Besetzungsmuster mit spy. 170 005 Übungen zu Numerische Methoden I Fünfte Übungseinheit 21. März, 22. und 23. April 2013 Inhalt der fünften Übungseinheit: Dünn besetzte Matrizen. Unterschiede in Speicherbedarf und Rechenzeit im

Mehr

Vorlesung 12 22. bzw. 23. Januar 2014. Determinanten 1. Cramersche Regel

Vorlesung 12 22. bzw. 23. Januar 2014. Determinanten 1. Cramersche Regel Vorlesung 2 22 bzw 23 Januar 204 Lineares Gleichungssystem a a 2 b b 2 = F a a 2 a 3 b b 2 b 3 c c 2 c 3 = V V =< a, b c > c b a b a F V Seite 70 a x + a 2 x 2 + a 3 x 3 b = 0 < a x + a 2 x 2 + a 3 x 3

Mehr

11. Primfaktorzerlegungen

11. Primfaktorzerlegungen 78 Andreas Gathmann 11 Primfaktorzerlegungen Euch ist sicher aus der Schule bekannt, dass sich jede positive ganze Zahl a als Produkt a = p 1 p n von Primzahlen schreiben lässt, und dass diese Darstellung

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München WS /3 Institut für Informatik Prof Dr Hans-Joachim Bungartz Dipl-Inf Christoph Riesinger Dipl-Inf Dipl-Math Jürgen Bräckle Numerisches Programmieren Programmieraufgabe: Polnominterpolation,

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN. Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität

TECHNISCHE UNIVERSITÄT MÜNCHEN. Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität TECHNISCHE UNIVERSITÄT MÜNCHEN Zentrum Mathematik Prof. Dr. Friedrich Roesler Ralf Franken, PhD Max Lein Lineare Algebra 1 WS 26/7 en Blatt 4 13.11.26 Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Sei K ein Körper, a ij K für 1 i m, 1 j n. Weiters seien b 1,..., b m K. Dann heißt a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2... a m1

Mehr

Praktikum Wissenschaftliches Rechnen 3. Aufgabenblatt

Praktikum Wissenschaftliches Rechnen 3. Aufgabenblatt Institut für Wissenschaftliches Rechnen Technische Universität Braunschweig Prof. Hermann G. Matthies, Ph. D. Dipl.-inform. Oliver Kayser-Herold Praktikum Wissenschaftliches Rechnen 3. Aufgabenblatt Wir

Mehr

Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik

Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik Höhere Mathematik 3 Apl. Prof. Dr. Norbert Knarr FB Mathematik Wintersemester 2015/16 4. Homogene lineare Dierentialgleichungen 4.1. Grundbegrie 4.1.1. Denition. Es sei J R ein Intervall und a 0 ; : :

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

LINEARE ALGEBRA Ferienkurs. Hanna Schäfer Philipp Gadow

LINEARE ALGEBRA Ferienkurs. Hanna Schäfer Philipp Gadow LINEARE ALGERA Ferienkurs Hanna Schäfer Philipp Gadow INHALT Eigenwerte und Eigenvektoren. asiswechsel.2 Eigenwertgleichung 2.3 Diagonalisierbarkeit 5.4 Trigonalisierung 8.5 Zusatzmaterial 8 Aufgaben 9

Mehr

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Computer Vision: 3D-Geometrie D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Lochkamera Modell C Projektionszentrum, Optische Achse, Bildebene, P Hauptpunkt (optische Achse kreuzt die Bildebene),

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München SS 2012 Institut für Informatik Prof Dr Thomas Huckle Dipl-Inf Christoph Riesinger Dipl-Math Alexander Breuer Dipl-Math Dipl-Inf Jürgen Bräckle Dr-Ing Markus Kowarschik Numerisches

Mehr

13. Abzählen von Null- und Polstellen

13. Abzählen von Null- und Polstellen 13. Abzählen von Null- und Polstellen 77 13. Abzählen von Null- und Polstellen Als weitere Anwendung des Residuensatzes wollen wir nun sehen, wie man ot au einache Art berechnen kann, wie viele Null- bzw.

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Definition und Eigenschaften Finiter Elemente

Definition und Eigenschaften Finiter Elemente Definition und Eigenschaften Finiter Elemente 1 Das letzte Mal Im letzten Vortrag haben wir zum Schluss das Lemma von Lax Milgram präsentiert bekommen, dass ich hier nocheinmal in Erinnerung rufen möchte:

Mehr

Lineare Algebra (Mathe I) für Wirtschaftsinformatiker; Zusammenfassung

Lineare Algebra (Mathe I) für Wirtschaftsinformatiker; Zusammenfassung Lineare Algebra (Mathe I) für Wirtschaftsinformatiker; Zusammenfassung Artur Trzewik sw562@uni-essen.de v1., 26.3.1998 korrigiert 16. Februar 2 Zusammenfassung Warnung: für die Richtigkeit der Definitionnen

Mehr

3. Grundlagen der Linearen Programmierung

3. Grundlagen der Linearen Programmierung 3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations

Mehr

Berechnung von Eigenwerten und Eigenvektoren

Berechnung von Eigenwerten und Eigenvektoren Kapitel 5 Berechnung von Eigenwerten und Eigenvektoren 5.1 Einführung Bemerkung 5.1 Aufgabenstellung. Diese Kapitel behandelt numerische Verfahren zur Lösung des Eigenwertproblems. Gegeben sei A R n n.

Mehr

Modellierung, Simulation, Optimierung Diskretisierung 1

Modellierung, Simulation, Optimierung Diskretisierung 1 Modellierung, Simulation, Optimierung Diskretisierung Prof. Michael Resch Dr. Martin Bernreuther, Dr. Natalia Currle-Linde, Dr. Martin Hecht, Uwe Küster, Dr. Oliver Mangold, Melanie Mochmann, Christoph

Mehr

Ergänzungen zur Analysis I

Ergänzungen zur Analysis I 537. Ergänzungsstunde Logik, Mengen Ergänzungen zur Analysis I Die Behauptungen in Satz 0.2 über die Verknüpfung von Mengen werden auf die entsprechenden Regelnfür die Verknüpfung von Aussagen zurückgeführt.

Mehr

Übungen zum Ferienkurs Lineare Algebra WS 14/15

Übungen zum Ferienkurs Lineare Algebra WS 14/15 Übungen zum Ferienkurs Lineare Algebra WS 14/15 Linearkombinationen, Basen, Lineare Abbildungen 2.1 Lineare Unabhängigkeit Sind die folgenden Vektoren linear unabhängig? (a) 1, 2, 3 im Q Vektorraum R (b)

Mehr

2.12 Potenzreihen. 1. Definitionen. 2. Berechnung 2.12. POTENZREIHEN 207. Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen.

2.12 Potenzreihen. 1. Definitionen. 2. Berechnung 2.12. POTENZREIHEN 207. Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen. 2.2. POTENZREIHEN 207 2.2 Potenzreihen. Definitionen Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen. Eine Potenzreihe mit Entwicklungspunkt x 0 ist eine Reihe a n x x 0 n. Es gilt: es

Mehr

Leitfaden Lineare Algebra: Determinanten

Leitfaden Lineare Algebra: Determinanten Leitfaden Lineare Algebra: Determinanten Die symmetrische Gruppe S n. Eine Permutation σ der Menge S ist eine bijektive Abbildung σ : S S. Ist S eine endliche Menge, so reicht es zu verlangen, dass σ injektiv

Mehr

Kochen mit Jordan. Vorbereitungen. Schnellzubereitung. JNF für Genießer wenn s noch etwas mehr sein darf

Kochen mit Jordan. Vorbereitungen. Schnellzubereitung. JNF für Genießer wenn s noch etwas mehr sein darf Kochen mit Jordan Vorbereitungen Man nehme eine Matrix A R n n und bestimme ihr charakteristisches Polynom p(λ) = (λ c ) r (λ c j ) rj C[X] Dabei gilt: algebraische Vielfachheit r j ˆ= Länge des Jordanblocks

Mehr

TEILWEISE ASYNCHRONE ALGORITHMEN

TEILWEISE ASYNCHRONE ALGORITHMEN TEILWEISE ASYNCHRONE ALGORITHMEN FRANK LANGBEIN Literatur: D. Berseas, J. Tsitsilis: Parallel and distributed computatoin, pp. 48 489 URI: http://www.langbein.org/research/parallel/ Modell teilweiser asynchroner

Mehr

1 Lineare Gleichungssysteme

1 Lineare Gleichungssysteme MLAN1 1 LINEARE GLEICHUNGSSYSTEME 1 Literatur: K Nipp/D Stoffer, Lineare Algebra, Eine Einführung für Ingenieure, VDF der ETHZ, 4 Auflage, 1998, oder neuer 1 Lineare Gleichungssysteme Zu den grundlegenden

Mehr

34 5. FINANZMATHEMATIK

34 5. FINANZMATHEMATIK 34 5. FINANZMATHEMATIK 5. Finanzmathematik 5.1. Ein einführendes Beispiel Betrachten wir eine ganz einfache Situation. Wir haben einen Markt, wo es nur erlaubt ist, heute und in einem Monat zu handeln.

Mehr

Eigenwerte und Eigenvektoren von Matrizen

Eigenwerte und Eigenvektoren von Matrizen Eigenwerte und Eigenvektoren von Matrizen Das Eigenwertproblem Sei A eine quadratische Matrix vom Typ m,m. Die Aufgabe, eine Zahl λ und einen dazugehörigen Vektor x zu finden, damit Ax = λx ist, nennt

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Bildverarbeitung Herbstsemester 2012. Kanten und Ecken

Bildverarbeitung Herbstsemester 2012. Kanten und Ecken Bildverarbeitung Herbstsemester 01 Kanten und Ecken 1 Inhalt Einführung Kantendetektierung Gradientenbasierende Verfahren Verfahren basierend auf der zweiten Ableitung Eckpunkterkennung Harris Corner Detector

Mehr

Lineare Algebra - alles was man wissen muß

Lineare Algebra - alles was man wissen muß Statistik für Bioinformatiker SoSe 3 Rainer Spang Lineare Algebra - alles was man wissen muß Der Titel ist natürlich gelogen, aber was wir hier zusammengetragen haben ist zumindest ein Anfang. Weniger

Mehr

PageRank-Algorithmus

PageRank-Algorithmus Proseminar Algorithms and Data Structures Gliederung Gliederung 1 Einführung 2 PageRank 3 Eziente Berechnung 4 Zusammenfassung Motivation Motivation Wir wollen eine Suchmaschine bauen, die das Web durchsucht.

Mehr

Computer Vision: Optische Flüsse

Computer Vision: Optische Flüsse Computer Vision: Optische Flüsse D. Schlesinger TUD/INF/KI/IS Bewegungsanalyse Optischer Fluss Lokale Verfahren (Lukas-Kanade) Globale Verfahren (Horn-Schunck) (+ kontinuierliche Ansätze: mathematische

Mehr

Ohne Mathematik undenkbar!

Ohne Mathematik undenkbar! Die tägliche - Suche: Ohne Mathematik undenkbar! Dipl.-Wirt.Math. Jan Maruhn FB IV - Mathematik Universität Trier 29. März 2006 29. März 2006 Seite 1 Gliederung Einleitung und Motivation Das Internet als

Mehr

Repetitionsaufgaben: Lineare Gleichungen

Repetitionsaufgaben: Lineare Gleichungen Kantonale Fachschaft Mathematik Repetitionsaufgaben: Lineare Gleichungen Zusammengestellt von Hannes Ernst, KSR Lernziele: - Lineare Gleichungen von Hand auflösen können. - Lineare Gleichungen mit Parametern

Mehr

2.4 Adaptive Verfahren mit Schrittweitensteuerung

2.4 Adaptive Verfahren mit Schrittweitensteuerung 0 0 0 Euler und RK4 fuer f(t,y) = t 0. Euler RK4 /N 0 0 f(t,y) =. t 0., graduiertes Gitter RK4 /N 4 Fehler bei T = 0 3 0 4 0 5 Fehler bei T = 0 5 0 0 0 6 0 7 0 0 0 0 2 0 3 0 4 0 5 Anzahl Schritte N 0 5

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Extremwertverteilungen

Extremwertverteilungen Seminar Statistik Institut für Stochastik 12. Februar 2009 Gliederung 1 Grenzwertwahrscheinlichkeiten 2 3 MDA Fréchet MDA Weibull MDA Gumbel 4 5 6 Darstellung von multivariaten, max-stabilen Verteilungsfunktionen

Mehr

Charakteristikenmethode im Beispiel

Charakteristikenmethode im Beispiel Charakteristikenmethode im Wir betrachten die PDE in drei Variablen xu x + yu y + (x + y )u z = 0. Das charakteristische System lautet dann ẋ = x ẏ = y ż = x + y und besitzt die allgemeine Lösung x(t)

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Seminararbeit für das SE Reine Mathematik- Graphentheorie Seminararbeit für das SE Reine Mathematik- Graphentheorie Der binäre Rang, der symplektische Graph, die Spektralzerlegung und rationale Funktionen Vortrag am 24.01.2012 Heike Farkas 0410052 Inhaltsverzeichnis

Mehr

6 Conways Chequerboard-Armee

6 Conways Chequerboard-Armee 6 Conways Chequerboard-Armee Spiele gehören zu den interessantesten Schöpfungen des menschlichen Geistes und die Analyse ihrer Struktur ist voller Abenteuer und Überraschungen. James R. Newman Es ist sehr

Mehr

Einführung in MATLAB

Einführung in MATLAB Kapitel 4 Einführung in MATLAB 41 Allgemeines MATLAB ist eine kommerzielle mathematische Software zur Lösung mathematischer Probleme und zur graphischen Darstellung der Ergebnisse Die Verfahren in MATLAB

Mehr

Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung.

Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung. Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung. Die heutige Sitzung dient dem ersten Kennenlernen von MATLAB. Wir wollen MATLAB zuerst

Mehr

Musterlösungen zu Prüfungsaufgaben über gewöhnliche Differentialgleichungen Prüfungsaufgabe a) Gegeben sei die lineare Differentialgleichung

Musterlösungen zu Prüfungsaufgaben über gewöhnliche Differentialgleichungen Prüfungsaufgabe a) Gegeben sei die lineare Differentialgleichung Musterlösungen zu n über gewöhnliche Differentialgleichungen a) Gegeben sei die lineare Differentialgleichung y + - y = e - ln, > 0 Man gebe die allgemeine Lösung der homogenen Gleichung an Wie lautet

Mehr

Kapitel 15: Differentialgleichungen

Kapitel 15: Differentialgleichungen FernUNI Hagen WS 00/03 Kapitel 15: Differentialgleichungen Differentialgleichungen = Gleichungen die Beziehungen zwischen einer Funktion und mindestens einer ihrer Ableitungen herstellen. Kommen bei vielen

Mehr

Rekursionen (Teschl/Teschl 8.1-8.2)

Rekursionen (Teschl/Teschl 8.1-8.2) Rekursionen (Teschl/Teschl 8.1-8.2) Eine Rekursion kter Ordnung für k N ist eine Folge x 1, x 2, x 3,... deniert durch eine Rekursionsvorschrift x n = f n (x n 1,..., x n k ) für n > k, d. h. jedes Folgenglied

Mehr

Die Methode der Finiten Elemente

Die Methode der Finiten Elemente KAPITEL 2 Die Methode der Finiten Elemente 1. Theoretische Grundlagen Wir bezeichnen im Folgenden mit H m (Ω) L 2 (Ω), Ω R n offen, den Sobolevraum aller Funktionen mit schwachen Ableitungen α u in L 2

Mehr

Schnelle Lösung großer Gleichungssysteme

Schnelle Lösung großer Gleichungssysteme Schnelle Lösung großer Gleichungssysteme Anton Schüller 1 Ulrich Trottenberg 1,2 Roman Wienands 2 1 Fraunhofer-Institut Algorithmen und Wissenschaftliches Rechnen SCAI 2 Mathematisches Institut der Universität

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Kapitel 3 Mathematik. Kapitel 3.3. Algebra Gleichungen

Kapitel 3 Mathematik. Kapitel 3.3. Algebra Gleichungen TG TECHNOLOGISCHE GRUNDLAGEN Kapitel 3 Mathematik Kapitel 3.3 Algebra Gleichungen Verfasser: Hans-Rudolf Niederberger Elektroingenieur FH/HTL Vordergut 1, 877 Nidfurn 055-654 1 87 Ausgabe: Februar 009

Mehr

Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011

Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011 Mathematik für Informatiker II Christoph Eisinger Sommersemester 211 Beispiellösungen zur Probeklausur Aufgabe 1 Gegeben sind die Polynome f, g, h K[x]. Zu zeigen: Es gibt genau dann Polynome h 1 und h

Mehr

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

JOHANNES BONNEKOH. Analysis. Allgemeine Hochschulreife und Fachabitur

JOHANNES BONNEKOH. Analysis. Allgemeine Hochschulreife und Fachabitur JOHANNES BONNEKOH Analysis Allgemeine Hochschulreife und Fachabitur Vorwort Vorwort Mathematik ist eine Sprache, die uns hilft die Natur und allgemeine naturwissenschaftliche Vorgänge zu beschreiben. Johannes

Mehr

Vorwort. Günter M. Gramlich. Lineare Algebra. Eine Einführung ISBN: 978-3-446-43035-8. Weitere Informationen oder Bestellungen unter

Vorwort. Günter M. Gramlich. Lineare Algebra. Eine Einführung ISBN: 978-3-446-43035-8. Weitere Informationen oder Bestellungen unter Vorwort Günter M. Gramlich Lineare Algebra Eine Einführung ISBN: 978-3-446-43035-8 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-43035-8 sowie im Buchhandel. Carl Hanser

Mehr

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB.

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen. while-schleifen. Zahlarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen In der letzten Sitzung haben wir kennengelernt, wie wir Zahlen mit Operationen

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

(2) (x 2 1 + x 2 2 + + x 2 n)(y 2 1 + y 2 2 + + y 2 n) = z 2 1 + z 2 2 + + z 2 n

(2) (x 2 1 + x 2 2 + + x 2 n)(y 2 1 + y 2 2 + + y 2 n) = z 2 1 + z 2 2 + + z 2 n Über die Komposition der quadratischen Formen von beliebig vielen Variablen 1. (Nachrichten von der k. Gesellschaft der Wissenschaften zu Göttingen, Mathematisch-physikalische Klasse, 1898, S. 309 316.)

Mehr

PRAKTIKUM REGELUNGSTECHNIK 2

PRAKTIKUM REGELUNGSTECHNIK 2 FACHHOCHSCHULE LANDSHUT Fachbereich Elektrotechnik Prof. Dr. G. Dorn PRAKTIKUM REGELUNGSTECHNIK 2 1 Versuch 2: Übertragungsfunktion und Polvorgabe 1.1 Einleitung Die Laplace Transformation ist ein äußerst

Mehr

6 Symmetrische Matrizen und quadratische Formen

6 Symmetrische Matrizen und quadratische Formen Mathematik für Ingenieure II, SS 9 Freitag. $Id: quadrat.tex,v.5 9//5 ::59 hk Exp $ $Id: orthogonal.tex,v.4 9// ::54 hk Exp $ $Id: fourier.tex,v. 9// :: hk Exp $ Symmetrische Matrizen und quadratische

Mehr

Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b Aufgabe 1: Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. (a) Nehmen Sie lineares Wachstum gemäß z(t) = at + b an, wobei z die Einwohnerzahl ist und

Mehr

Approximation durch Taylorpolynome

Approximation durch Taylorpolynome TU Berlin Fakultät II - Mathematik und Naturwissenschaften Sekretariat MA 4-1 Straße des 17. Juni 10623 Berlin Hochschultag Approximation durch Taylorpolynome Im Rahmen der Schülerinnen- und Schüler-Uni

Mehr

Taylorentwicklung der k ten Dimension

Taylorentwicklung der k ten Dimension Taylorentwicklung der k ten Dimension 1.) Taylorentwicklung... 2 1.1.) Vorgehenesweise... 2 1.2.) Beispiel: f ((x, y)) = e x2 +y 2 8x 2 4y 4... 3 2.) Realisierung des Algorithmus im CAS Sage Math... 5

Mehr

u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u.

u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u. Universität Stuttgart Fachbereich Mathematik Prof. Dr. C. Hesse PD Dr. P. H. Lesky Dipl. Math. D. Zimmermann Msc. J. Köllner FAQ 3 Höhere Mathematik I 4..03 el, kyb, mecha, phys Vektorräume Vektorräume

Mehr

Grundlagen der Computer-Tomographie

Grundlagen der Computer-Tomographie Grundlagen der Computer-Tomographie Quellenangabe Die folgenden Folien sind zum Teil dem Übersichtsvortrag: imbie.meb.uni-bonn.de/epileptologie/staff/lehnertz/ct1.pdf entnommen. Als Quelle für die mathematischen

Mehr

Bildverarbeitung Herbstsemester 2012. Fourier-Transformation

Bildverarbeitung Herbstsemester 2012. Fourier-Transformation Bildverarbeitung Herbstsemester 2012 Fourier-Transformation 1 Inhalt Fourierreihe Fouriertransformation (FT) Diskrete Fouriertransformation (DFT) DFT in 2D Fourierspektrum interpretieren 2 Lernziele Sie

Mehr