CG Verfahren (Algorithmus)

Neue Frage »

alina94 Auf diesen Beitrag antworten »
CG Verfahren (Algorithmus)
Hey smile
ich habe in einem Skript hier folgenden Algorithmus für das CG-Verfahren (für , spd):

Wähle und setze .
Für :
(i) Falls : Abbruch, ist gesuchte Lösung.
(ii) Andernfalls: Setze



Anschließend ist noch bemerkt, dass gilt



Ich habe zwecks Verständnis jetzt 2 Fragen:
1.) Wieso ist die Lösung, wenn ?
2.) Woher kommt die 2. Gleichung in der anschließenden Bemerkung?

Meine Vermutung ist, dass beides zusammenhängt. In einem anschließenden Satz wurde bewiesen, dass für auch . Auf der linken Seite der Bemerkung steht schließlich das Residuum, das null werden muss. Und auf der rechten Seite vermute ich gerade, ob das ein Druckfehler ist und eigentlich heißen muss, was genau entspräche nach der Definition? Allerdings sehe ich auch hier noch nicht, wie dann die Gleichheit folgen würde.
Wäre super, wenn mir hier jemand weiterhelfen oder mir sagen könnte ob ich gerade auf dem Holzweg bin. Danke schon mal! smile
sibelius84 Auf diesen Beitrag antworten »

Hallo alina,

was bedeutet denn "CG"? Mir sagt Jacobi oder Gauß-Seidel in diesem Zusammenhang etwas. Jedenfalls scheint es hier um die Implementierung eines iterativen Verfahrens zu gehen. Und wenn eben die Iterierte x_k sich ab dann nicht mehr verändert (also x_k = x_(k+1) = x_(k+2) = ...), dann handelt es sich um die Lösung, zumindest wenn die Iteration auf dem Banach'schen Fixpunktsatz basiert.

In der zweiten Gleichung gilt die erste Gleichheit nach der Definition von x_(k+1), und für die zweite bin ich gerade unsicher, denn b taucht ja in den ganzen Definitionen praktisch gar nicht auf, nur oben drüber bei r_0 und d_0. Man könnte versuchen es so anzugehen, um anhand dessen vielleicht etwas zu sehen:






LG
sibelius84
alina94 Auf diesen Beitrag antworten »

Hallo sibelius,

danke für deine Antwort! CG steht für Conjugate Gradients (also ein Krylow Raum Verfahren, das beruht soweit ich sehe nicht auf dem Banachschen Fixpunktsatz), hat mit Jacobi und Gauß Seidel aber nicht direkt zu tun. Ich habe mir das Ganze jetzt so erklärt:

Nach Definition ist . Und induktiv erhalten wir

,

wobei die letzte Gleichung einfach Definition aus dem Algorithmus ist, die vorletzte benutzt die I.V. Dementsprechend wäre die Stelle im Skript tatsächlich ein Druckfehler, was dann wieder zu meiner anfänglichen Annahme passt.
sibelius84 Auf diesen Beitrag antworten »

Zitat:
Fortunately, the conjugate gradient method can be used as an iterative method as it provides monotonically improving approximations to the exact solution [...]. The improvement is typically linear and its speed is determined by the condition number of the system matrix A: the larger is, the slower the improvement.[2]
(Quelle: en.wikipedia.org)


Also handelt es sich um ein Iterationsverfahren, bei dem die Lösung x_k in jedem Schritt besser, und der Fehler r_k demnach in jedem Schritt kleiner wird. Wenn also x_k = x_(k+1) für irgendein k eintritt, so muss x_k schon die Lösung gewesen sein (sonst hätte sich ja noch etwas geändert / verbessert).
alina94 Auf diesen Beitrag antworten »

Zitat:
Original von sibelius84
Zitat:
Fortunately, the conjugate gradient method can be used as an iterative method as it provides monotonically improving approximations to the exact solution [...]. The improvement is typically linear and its speed is determined by the condition number of the system matrix A: the larger is, the slower the improvement.[2]
(Quelle: en.wikipedia.org)


Also handelt es sich um ein Iterationsverfahren, bei dem die Lösung x_k in jedem Schritt besser, und der Fehler r_k demnach in jedem Schritt kleiner wird. Wenn also x_k = x_(k+1) für irgendein k eintritt, so muss x_k schon die Lösung gewesen sein (sonst hätte sich ja noch etwas geändert / verbessert).


So hatte ich es bisher noch nicht betrachtet, aber ja, das leuchtet natürlich ein. Danke nochmal smile
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »