[ < ] [ globale Übersicht ] [ Kapitelübersicht ] [ Stichwortsuche ] [ > ]

9.9 Auswahl eines iterativen Verfahrens

Bevor man eine Aussage über die Geschwindigkeit der einzelnen Verfahrens machen kann, sollte man bemerken, daß iterative Verfahren bei schwach besetzen Gleichungssystemen geringere Genauigkeit liefert als direkte Verfahren.

Dabei ist dies nicht unbedingt ein Nachteil: denn dadurch hat man einen relativ frühen Abbruchzeitpunkt und kann somit nochmals die Rechenzeit verkürzen.

Dennoch sind schwach besetzte Systeme aufgrund der komprimierten Speicherschemata ein Problem: die Datenwiederverwendung ist gering (Cache wird nicht ausgelastet), und durch die Komprimierung geht viel Rechenzeit verloren.


Eigenschaften iterativer Verfahren

In diesem Abschnitt werden die wichtigsten iterativen Verfahren mit deren Charakteristika überblicksartig dargestellt. Es wird eine Aussage über das Anwendungsgebiet und die Effizienz getroffen. Denn oft funktioniert ein Verfahren nur auf Grund der Problemstellung. Auch kann ein Verfahren, obwohl es mehr Operationen benötigt, durchaus effizienter sein, als ein kürzeres Verfahren. Auch dies ist von der Aufgabenstellung bzw. der Anordnung der Daten abhängig.
Jacobi-Verfahren
Gauss-Seidel-Verfahren
SOR-Verfahren
CG-Verfahren
GMRES-verfahren
BiCG-Verfahren
QMR-Verfahren
CGS-Verfahren
BiCGSTAB-Verfahren
Tschebyscheff-Iteration

Jacobi-Verfahren



Gauß-Seidel-Verfahren



Überrelaxationsverfahren (SOR-Verfahren)



Verfahren der konjugierten Gradienten (CG-Verfahren)



Verallgemeinerte Residuenminimierung (GMRES-Verfahren)



Bikonjugiertes Gradientenverfahren (BiCG-Verfahren)



Quasi-Residuenminimierung (QMR-Verfahren)



Quadriertes CG-Verfahren (CGS-Verfahren)



Bikonjugiertes stabilisiertes Gradientenverfahren (BiCGSTAB-Verfahren)



Tschebyscheff-Iteration


Die Auswahl der ,,besten`` Lösungsmethode für eine gegebene Klasse von Problemen setzt nicht nur Kenntnisse des theoretischen Hintergrunds voraus (siehe z.B. Freund, Golub, Nachtigal []), sondern ist auch eine Frage von Versuchen und Erfahrung. Sie ist auch vom verfügbaren Speicherplatz (GMRES-Verfahren), von der Verfügbarkeit von $A^T$ (BiCG-, QMR-Verfahren) und vom Aufwand für Matrix-Vektor-Produkte im Vergleich zu inneren Produkten abhängig.


Vergleich iterativer Verfahren

Um verschiedene iterative Verfahren experimentell zu vergleichen, wurden die TEMPLATES-Programme (siehe Abschnitt ) so modifiziert, daß sie auch große Matrizen im CRS-Format verarbeiten können. Für die Matrix-Operationen wurden SPARSKIT-Programme (siehe Abschnitt ) verwendet.

Als Testdaten dienten die Matrizen BCSSTK14 und WATT1 der Harwell-Boeing-Collection ), die schon beim Vergleich der Speicherformate verwendet wurden. Dort befindet sich auch eine Beschreibung dieser Matrizen.

Durchführung der Tests

Zuerst wurde das Produkt der Matrix mit dem Vektor $u = ( 1 1 1 1 ... 1)^T$ gebildet. Das Ergebnis dieser Multiplikation wurde dann als rechte Seite b des Gleichungssystems verwendet.

Die numerischen Lösungen der einzelnen Programme wurden mit dem Vektor u verglichen. Die Beträge der maximalen Abweichungen stehen in den Tabellen in der Spalte "Fehler".

Die Tests wurden alle auf einer typischen HP-Workstation mit einer Maximalleistung von 50 Mflop/s durchgeführt. Die Zeitangaben in den Tabellen stellen sicher nicht die optimalen Werte dar, die auf diesem Rechner möglich wären, sondern dienen lediglich dem Vergleich der Verfahren untereinander.

Generell kann gesagt werden, daß die Verwendung der einfachen Jacobi-Vorkonditionierung oft zu einer Effizienzsteigerung, in manchen Fällen sogar zur Konvergenz eines divergenten Verfahrens führte. $A^T$ Tabelle: Testresultate für die symmetrische und positiv definite Matrix BCSSTK14


$A^T$ Tabelle: Testresultate für die unsymmetrische Matrix WATT1


[ < ] [ globale Übersicht ] [ Kapitelübersicht ] [ Stichwortsuche ] [ > ]