Aufgabe 1.1: Methode der Konjugierten Gradienten in Matlab

Implementieren Sie den Algorithmus 1 aus der Vorlesung (Methode der Konjugierten Gradienten) zur Lösung des Gleichungssystems
Ax = b
in Matlab. Die Anwendung der Matrix A auf einen Vektor Au soll explizit, also als Matrix-Vektor-Multiplikation erfolgen. Die Matrix A soll dem diskreten Laplace-Operator mit Dirichlet-Randbedingungen in zwei Dimensionen entsprechen (A ∼ −Δ). Sie können dafür die auf der Website bereitgestellte Matlab-Routine laplace.m benutzen.

Testen Sie ihr Programm und untersuchen Sie die Konvergenz für eine Diskretisierung auf einem 64x64 Gitter:

  1. Plotten Sie die Norm des Residuums ||r(k)|| und des Fehlers ||e(k)|| als Funktion der Iterationsschritte k. Wie erklären Sie den Unterschied zwischen beiden?

  2. Die Konvergenz kann von der rechten Seite b abhängen. Testen Sie dies mit

    und setzen Sie dabei den Startvektor x(0) = 0.

10 Punkte

Aufgabe 1.2: Eigenschaften der Methode der Konjugierten Gradienten

Beweisen Sie die folgenden Eigenschaften der Residuen r(k) und Suchrichtungen p(k), die durch den Algorithmus aus der Vorlesung generiert werden:
r(k)Tp(i) = 0 i < k

p(k)TAp(i) = 0 i ≠ k

r(k)Tr(i) = 0 i ≠ k

p(k)Tr(k) = r(k)Tr(k)
Hinweis: Beweisen Sie die ersten beiden Zeilen durch Induktion.

10 Punkte