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

9.12 Softwarepakete für Gleichungssysteme


ITPACK TEMPLATES SLAP Y12M UMFPACK PIM

ITPACK

ITPACK 2C ITPACK 2D ITPACK 3A ITPACK 3B NSPCG
Dieses Paket wurde hauptsächlich an der Universität von Texas entwickelt . Es bildete einen großen Teil der in ELLPACK verwendeten Software zur iteartiven Lösung von Gliechungssystemen . Drei der Pakete die ITPACK ausmachen, sind in der NETLIB enthalten : ITPACK 2C, ITPACK 2D und NSPCG . Weiters gibt es noch die Pakete ITPACK 3A und 3B .

ITPACK 2C

Dieses Paket verwendet das CRS-For,at um seine Systemmatrizen einzulesen . Es beherrscht das Jacobi-, SOR-, SSOR- Verfahren sowie die Richardson-Iteration . Diese Verfahren werden durch Beschleunigungsverfahren zusätzlich optimitert . So werden beispielsweise manche Algorithmusparamter dynamisch dem Iterationsverhalten angepasst .

ITPACK 2D

ITPACK 2D entspricht, was die angebotenen Algorithmen angeht, vollständig dem Packet ITPACK 2C, wobei die Implementierung abweicht . Es wird hier das JDS-Format verwendet, wodurch sich die Vektorisierbarkeit erheblich verbessert . Das JDS-Format wird deshalb oft auch ITPACK-Format genannt .

ITPACK 3A

ITPACK 3A erweiter ITPACK 2C um die Fähigkeit nichtsymmetrische Koeffizeintenmatrizen zu verarbeiten, und bietet dazu noch einige Verbesserung der Konvergenzbeschleunigungsverfahren .

ITPACK 3B

ITPACK 3B entspricht ITPACK 3A, außer das hier noch ein Präprozessor, ähnlich dem von ELLPACK eingeführt wurde, der es erlaubt, das lineare Gleichungssystem und die Lösungsmethode in einer Anwendersprache zu beschreiben .

NSPCG

NSPCG erweitert die Pakete ITPACK 2C und ITPACK 3A Diese Erweiterung enthält die Möglichkeit zusätzliche Speicherformate zu verwenden, sowie die Möglichkeit die Koeffizientenmatrix nicht explizit sondern durch Unterprogramme zur Matrix-Vektor-Multiplikation zu übergeben . Dieses Paket stellt von allen ITPACK Paketen sicherlich das flexibelste dar .

TEMPLATES

Auch TEMPLATES ist ein iteratives Lösungsverfahren . TEMPLATES ist als public-domain-Software erhältlich und ist Teil der NETLIB, wo es in der Bibliothek linalg zu finden ist . TEMPLATES besteht aus insgesamt fünf Paketen die nichts anderes als UNIX-Shell-Scripts sind, die sich selbst entpacken . Die angebotenen Routinen können Koeffizientenmatrizen im Jacobi-, SOR-, CG-, CGS-, GMRES, und vielen anderen Formaten mehr verarbeiten . Zur Erklärung der verschiedenen Speicherformate bitte hier klicken . Es werden folgene Programme angeboten :

Dateiname Inhalt
sctemplates.shar C Programm, einfache Genauigkeit (float)
dctemplates.shar C Programm, doppelte Genauigkeit (double)
sftemplates.shar Fortran-77 Programm, einfache Genauigkeit
dftemplates.shar Fortran-77 Programm, doppelte Genauigkeit (double)
mltemplates.shar MATLAB Programm

SLAP

SLAP wurde am Lawrence Livermore National Laboratory entwickelt,das Gleichungssysteme iterativ löst . Dieses Paket bietet eine ganze Reihe von verschiedenen Verfahren an, die entweder auf explizit im COO- oder MCS- Format vom Benutzer übergebenen Matrizen arbeitet, oder aber auf den Ergebnissen von Unterprogrammen, die die Matrix-Vektor-Multipliakation implementieren . Werden die Matrizen direkt übergeben, so können vom Paket noch entweder eine Jacobi-Vorkonditionierung, oder eine Konditionierung über unvollständige LU-Zerlegung durchgeführt werden . Ansonsten muß jegliche Konditionierung im Unterprogramm implementiert werden .
Auch SLAP ist Teil der NETLIB und ist dort im Verzeichnis slap zu finden .

Y12M

Y12M beteht aus fünf Unterprogrammen und löst schwach besetzte Gliechungssysteme mittels Gauß-Elemination, die dafür ein wenig amgepaßt wurde . Dabei wird das Programm y12ma verwendet, das sehr einfach zu bedienen ist und auf folgenden drei Unterprogramme aufbaut .

y12mb konvertiert COO-Matrizen in das interne Speicherformat
y12mc Führt eine LU-Zerlegung durch, wobei die Wahl der Pivot-Elemente geseteuert werden kann .
y12mc löst das Gleichungssystem für eine Koeffizientenmatrix aus y12mc und eine gegebene rechte Seite .

y12ma ruft jetzt diese Unterprogramme mit den geeigneten Paramtern auf . Ferner gibt es das Programm y12mf das allerdings noch eine Nachiteration durchführt .

UMFPACK

UMFPACK löst Gleichungssysteme direkt über LU-Zerlegung . Es bietet Lösungen für alle dabei auftretenden Problem, wie die wahl geeigneter Pivotelemente, symbolische und numerische Zerlegung und Berechnung der Lösung bei gegebener Zerlegung . Das von UMFPACK verwendete Speicherformat ist das COO-Format . Der vielleicht größte Vorteil von UMFPACK liegt in seiner guten Parallelisierbarkeit, das es vor allem von älteren Paketen, die sich direkter Verfahren bedient haben abhebt .
UMFPACK ist Teil der NETLIB und liegt dort im Verzeichnis linalg als umfpack.shar .

PIM

PIM staeht für Parallel Iterative Methods . Dies sind wie der name schon sagt, iterative Verfahren, wobei hier besonderes Augenmerk auf die Parallelisierbarkeit des Programms gelegt wird . Hierbei ist aber zu beachten, das sowohl die Unterprogramme zur parallelen Berechnung von Matrix-Vektor-Produkten als auch zur Lösung Mz = r vom Benutzer selbst geschrieben werden muß . Auch die anfängliche Vereilung der Programme auf die Prozessoren muß vom Benutzer selbst angegeben werden .
Dieses Paket ist hier erhältlich .


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