Dünnbesetzte Matrix

In der numerischen
Mathematik bezeichnet man als dünnbesetzte oder schwachbesetzte
Matrix (engl. sparse matrix) eine Matrix, bei der so
viele Einträge aus Nullen bestehen, dass man nach Möglichkeiten sucht, dies
insbesondere hinsichtlich Algorithmen
sowie Speicherung
auszunutzen. Bei quadratischen Matrizen mit insgesamt
Einträgen sind dies viele Matrizen mit
oder auch noch
Einträgen ungleich Null. Das Gegenstück zu einer dünnbesetzten Matrix wird
vollbesetzte Matrix genannt. Der Begriff wurde von James Hardy Wilkinson eingeführt, der ihn erstmals 1971 niederschrieb.
Analog dazu wird ein Vektor,
der zu einem Großteil aus Nullen besteht, als dünnbesetzter Vektor (engl.
sparse vector) bezeichnet. Häufig sind die Zeilen- oder Spaltenvektoren
einer dünnbesetzten Matrix dünnbesetzte Vektoren, es gibt aber auch dünnbesetzte
Matrizen, bei denen manche Zeilen oder Spalten vollbesetzt sind.
Verwendung
Die Diskretisierung von partiellen Differentialgleichungen führt meistens auf dünnbesetzte Matrizen, etwa auf Bandmatrizen, ebenfalls die Darstellung von vielen typischen Graphen (bei beschränktem Knotengrad, Planarität o.Ä.) über ihre Adjazenzmatrix. Zu beachten ist, dass die Inverse einer dünnbesetzten Matrix im Regelfall vollbesetzt ist, ebenso wie die LU-Zerlegung. Eine Ausnahme bilden dabei die Bandmatrizen, bei denen eine solche Zerlegung ebenfalls dünnbesetzt sein kann.
Dünnbesetzte Matrizen haben die Eigenschaft, dass sie effizient abgespeichert werden können, indem man nur Position und Wert der Nicht-Null-Einträge abspeichert. Die Position der Nichtnulleinträge wird auch als Besetzungsstruktur oder Sparsity Pattern bezeichnet. Die Auswertung eines dünnbesetzten Matrix-Vektor-Produkts kann ebenfalls effizient erfolgen, indem die Nullen in der Berechnung des Produkts nicht berücksichtigt werden.
Dieses findet insbesondere Verwendung bei Krylow-Unterraum-Verfahren
zur näherungsweisen Lösung von linearen
Gleichungssystemen, die nur Skalar- und Matrix-Vektor-Produkte zur
Durchführung benötigen. Da die Berechnung der vollbesetzten LU-Zerlegung
Operationen benötigt, das Matrix-Vektor-Produkt einer Matrix mit
Einträgen aber nur
,
sind diese Verfahren, falls sie nach nur wenigen Iterationen konvergieren,
extrem effizient. Zur Effizienzsteigerung werden dort so genannte
Vorkonditionierer
eingesetzt. Für dünnbesetzte Matrizen ist hier die unvollständige
LU-Zerlegung ein verbreitetes Verfahren, das eine fehlerbehaftete
LU-Zerlegung berechnet, die aber eine ähnliche Besetzungsstruktur hat wie die
originale Matrix und damit nicht wesentlich mehr Speicher braucht.
CRS (Compressed Row Storage) und CCS (Compressed Column Storage) sind zwei Möglichkeiten, eine dünnbesetzte Matrix platzsparend zu speichern.



© biancahoegel.de
Datum der letzten Änderung: Jena, den: 24.02. 2020