Um die Vergeudung von Speicherplatz zu vermeiden, liegt jeder Beschäftigung mit großen Gleichungssystemen die Speicherplatzminimierung zugrunde. Die Wahl des Speicherformats der Matrix spielt dabei eine große Rolle. Dieses Speicherformat wird nicht zuletzt bestimmt durch die Struktur des Gleichungssystems.
Mehrere Gründe führen dazu, daß dem Gleichungssystem des neuen Simulators eine unregelmäßige Struktur zugrundeliegt:
Als Matrixformat wurde aus diesen Gründen MCSR [64] (modified compressed sparse row, Bild 8.1) gewählt. Dieses Format besteht aus einem ganzzahligen Feld, das in seinem ersten Abschnitt für jede Zeile der Matrix den Beginn und das Ende des zugehörigen Nebendiagonalbereichs im zweiten Abschnitt angibt. Der zweite Abschnitt enthält die Spaltennummern der Nebendiagonaleinträge. Außer dem ganzzahligen Feld gibt es noch eines mit reellen Zahlen, das erst die Hauptdiagonaleinträge der Matrix enthält, dann die Nebendiagonalen, nach Zeilen sortiert. Damit der zweite Abschnitt parallel zum ganzzahligen Feld verläuft, muß ein reeller Speicherplatz frei bleiben.
Dieses Format verbraucht pro nichtverschwindendem Matrixeintrag einen reellwertigen und einen ganzzahligen Speicherplatz. Das ergibt bei typisch 4 Byte Speicherplatzgröße für eine ganze Zahl und 8 Byte für eine reelle einen maximalen Mehrbedarf von 50 % gegenüber dem theoretischen Grenzfall, daß die Matrixstruktur exakt bekannt ist und ohne zusätzliche Strukturinformation manipuliert werden kann, in welchem Fall man nur den reellwertigen Speicherplatz benötigt.
Die Transformation der Matrix wird unmittelbar mit dem Eintragen der Matrixelemente durchgeführt, sodaß es möglich ist, gleich die Gesamtmatrix zusammenzustellen und Speicherplatz zu sparen. Dazu ist es notwendig, die Transformationsmatrix im Vorhinein festzulegen. Es wird also ein zweistufiges Verfahren angewandt, wobei in der ersten Stufe die Transformationsmatrix gebildet wird, die dann in der zweiten Stufe zum eigentlichen Matrixaufbau dient.
Da die Transformationsmatrix in den meisten Zeilen nur den Hauptdiagonaleintrag enthält, wird sie einfach als Einheitsmatrix initialisiert, und es werden nur die Änderungen abgespeichert.
Durch diese Maßnahmen erhält man eine relativ kompakte Gleichungsstruktur.