2.5.1 Profilspeichertechnik
Bei der Profilspeichertechnik /A.Jennings 1966/ wird von jeder Spalte der Teil vom ersten Nicht-Null-Element bis zum Diagonalelement in einem Vektor gespeichert. Alle Spaltenanteile stehen nacheinander in diesem Vektor.

Abb. 2.5-1 Nummerierungsschema A
Für das in Abb. 2.5-1 gezeigte Netz entsteht eine Normalgleichungsmatrix N entsprechend Abb. 2.5-2. Die besetzten Plätze sind mit einem "×" gekennzeichnet; alle anderen Elemente sind gleich Null. Abb. 2.5-3 zeigt, in welcher Anordnung die Matrixelemente im Speicher des Rechners abgelegt werden.
Die Menge der gespeicherten Elemente bilden das Profil der Matrix und werden von der Hülle (Envelope) eingeschlossen. Es werden also alle Elemente innerhalb dieser Hülle gespeichert, egal ob sie gleich Null oder von Null verschieden sind. Im vorliegenden Beispiel sind also einige Nullen im Profil enthalten.
In der Matrix C sind mindestens alle Elemente, die in N von Null verschieden sind, ebenfalls mit Nicht-Null-Elementen besetzt. C enthält jedoch meistens weit mehr Elemente als N, da bei der Faktorisierung nach 2.4/2 weitere Nicht-Null-Elemente entstehen (Fill-In). Diese zusätzlichen Elemente liegen jedoch stets innerhalb der Hülle von N.
Die Matrizen N und C haben daher das gleiche Profil. Die Matrix
ist dagegen voll besetzt, es werden jedoch nur diejenigen Elemente von
berechnet, die in der Hülle der Matrix N liegen (Profilinverse), so dass alle drei Matrizen N, C und
in gleicher Weise gespeichert werden können.
|
|
Abb. 2.5-2 | Abb. 2.5-3 |
Bei großen Ausgleichungsaufgaben reicht der zur Verfügung stehende Kernspeicher oft nicht aus, die gesamte Profilmatrix aufzunehmen. Sie wird daher in Blöcke aufgeteilt, die jeweils aus einer variablen Anzahl von Spalten bestehen. Diese Blöcke werden zur Verarbeitung wechselweise in den Kernspeicher geladen.
Der für externe Speicherung der Matrizen A, N, C und
insgesamt benötigte Plattenplatz läßt sich grob als das Vierfache der Profilgröße abschätzen.
Die Blocklängen und die Anzahl der benötigten Blöcke werden vom Programm optimiert um die zur Verfügung stehenden Feldlängen bestmöglich auszunutzen. Die Mindestanzahl m der Blöcke beträgt genähert

mit
P :Profil (Anzahl der Elemente in der Hülle)
M :verfügbarer Platz im Kernspeicher
n :ein Faktor zwischen vier und etwa fünf
Zur Abschätzung des für eine Ausgleichung notwendigen Rechenaufwandes wird eine mittlere Bandbreite
mit
u :Anzahl der Unbekannten
bestimmt. Die Anzahl der notwendigen Multiplikationen für eine Faktorisierung nach 2.4/2 kann für
abgeschätzt werden mit

Beide Größen werden in BINGO ausgedruckt, um dem Benutzer ein Gefühl für den Aufwand zu vermitteln. Dabei werden nicht die hier angegebenen Näherungsformeln verwendet, sondern andere Formeln, die etwas präziser, jedoch nicht anschaulich sind.
Die Formel 2.5.1/3 macht deutlich, dass die Größe des Profils quadratisch in den Rechenaufwand eingeht. Daher kommt der Optimierung des Profils große Bedeutung zu.
Einer der Vorteile der Profilspeichertechnik liegt auch in der Möglichkeit, auf Vektorrechnern und Parallelrechnern die Prozesse „Faktorisierung, Berechnung des Lösungsvektors und Inversion“ sehr schnell ausführen zu können. In den meisten Fällen sind nur kleinere Eingriffe ins Programm erforderlich, um die entsprechenden Hardwareeinrichtungen anzusprechen. Moderne Windows Workstations erlauben eine parallele Verarbeitung auf mehreren Prozessoren gleichzeitig.

