GMRES Rundungsfehler

Neue Frage »

daryl Auf diesen Beitrag antworten »
GMRES Rundungsfehler
Hallo,

ich habe das GMRES-Verfahren zum Lösen linearer GS in der Programmiersprache PHP implementiert, die für arithmetische Operationen eine Genauigkeit von etwa 1E-14 angibt.
Nun wollte ich folgendes GS A*x=b lösen:

A = [4 2; 1 2]
b = [2; 2]

Der Algorithmus bekommt nun nach 2 Iterationen folgendes heraus:
x=[-0.05; 1.08]
Das erscheinen mir etwas zu große Rundungsfehler. Wenn ich anschließend mit dieser Lösung neustarte, dann kommt es der richtigen Lösung schon näher.
Sind diese Abweichungen normal bei einem System mit einer Genauigkeit von 1E-14 oder liegt der Fehler in meiner Implementierung?

Ich habe noch gelesen, dass die Givens-Rotationen eventuell durch Rundungsfehler ihre Orthogonalität verlieren. Kann diese große Abweichung evtl. daran liegen?
daryl Auf diesen Beitrag antworten »

Das Problem sind hierbei nicht wirklich die Rundungsfehler, denn dann würde ich einfach ein oder mehrere Male neustarten und dann passt es wieder.
Problematisch ist vielmehr, dass der Algorithmus bei folgendem GS divergiert bzw. gegen Unendlich geht.

A=[
3 2 6
1 1 3
-3 -2 -5
]

b=[
1
0
0
]
Neue Frage »
Antworten »



Verwandte Themen

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