Matrizen, bei denen ein großer Anteil der Elemente 0 ist, lassen sich
effizienter im Sparse-Format speichern. In dieser Darstellung werden nur die
von 0 verschiedenen Elemente und deren Indizes in Listen abgelegt. Alle
Matrixoperationen lassen sich auch auf Matrizen im Sparse-Format anwenden.
Die Resultate sind dabei stets Sparse-Matrizen, sofern alle Parameter
Sparse-Matrizen sind. Verknüpfungen mit vollbesetzten Matrizen (double
array) ergeben vollbesetzte Matrizen.
Beispiel einer dünn besetzten
-Matrix mit einem Belegungsgrad
von ca. 5%:
>> S=sprand(10,10,.05)
S =
(7,2) 0.8699
(9,4) 0.4442
(5,5) 0.1472
(1,9) 0.9566
(8,9) 0.7694
>> whos S
Name Size Bytes Class
S 10x10 104 double array (sparse)
Grand total is 5 elements using 104 bytes
Spezielle Funktionen zur Behandlung dünn besetzter Matrizen sind unter
anderem:
| Erzeugung/Manipulation von Sparse-Matrizen |
| |
sparse, full |
Konvertierung zwischen dünn und voll besetzten
Matrizen |
| |
speye, spdiags |
Einheits-/Diagonalmatrizen im Sparse-Format |
| |
sprand, sprandn |
Sparse-Matrizen mit Pseudo-Zufallszahlen |
| |
nonzeros, nnz |
Ausgabe der von 0 verschiedenen Elemente bzw. deren
Anzahl |
| |
spy |
Grafische Anzeige der Belegungsstruktur |
| Funktionen für Sparse-Matrizen |
| |
eigs, svds |
Bestimmung einiger Eigen- bzw. Singulärwerte |
| |
normest, condest |
Norm- bzw. Konditionsschätzer |
| |
pcg, minres |
Iterative Löser für dünnbesetzte Systeme |
Eine Übersicht der für Sparse-Matrizen verfügbaren Befehle kann mittels
matlab/sparfun
angezeigt werden.
(Autoren: Hörner/Wipper)
|
automatisch erstellt
am 19. 3. 2007 |