scipy.sparse.

lil_matrix#

class scipy.sparse.lil_matrix(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[Quellcode]#

Reihenbasierte Liste von Listen Sparse-Matrix.

Dies ist eine Struktur zur inkrementellen Konstruktion von dünnbesetzten Matrizen. Beachten Sie, dass das Einfügen eines einzelnen Elements im schlimmsten Fall lineare Zeit in Anspruch nehmen kann; um die Matrix effizient zu konstruieren, stellen Sie sicher, dass die Elemente nach Index, pro Zeile, vorsortiert sind.

Dies kann auf verschiedene Arten instanziiert werden
lil_matrix(D)

wobei D ein 2-D ndarray ist

lil_matrix(S)

mit einem anderen Sparse-Array oder einer anderen Sparse-Matrix S (entspricht S.tolil())

lil_matrix((M, N), [dtype])

zur Erstellung einer leeren Matrix mit der Form (M, N). dtype ist optional und standardmäßig auf dtype='d' gesetzt.

Attribute:
dtypedtype

Datentyp der Matrix

shape2-Tupel

Form der Matrix

ndimint

Anzahl der Dimensionen (dies ist immer 2)

nnz

Anzahl der gespeicherten Werte, einschließlich expliziter Nullen.

size

Anzahl der gespeicherten Werte.

data

LIL-Format-Datenarray der Matrix

rows

LIL-Format-Zeilenindexarray der Matrix

T

Transponierte.

Methoden

__len__()

__mul__(other)

asformat(format[, copy])

Gibt dieses Array/diese Matrix im übergebenen Format zurück.

asfptype()

Matrix in Fließkommaformat hochstapeln (falls erforderlich)

astype(dtype[, casting, copy])

Gibt die Elemente des Arrays/der Matrix in einem angegebenen Typ aus.

conj([copy])

Elementweise komplexe Konjugation.

conjugate([copy])

Elementweise komplexe Konjugation.

copy()

Gibt eine Kopie dieses Arrays/dieser Matrix zurück.

count_nonzero([axis])

Anzahl der Nicht-Null-Einträge, äquivalent zu

diagonal([k])

Gibt die k-te Diagonale des Arrays/der Matrix zurück.

dot(other)

Gewöhnliches Skalarprodukt

getH()

Gibt die hermitesche Transponierte dieser Matrix zurück.

get_shape()

Ruft die Form der Matrix ab

getcol(j)

Gibt eine Kopie der Spalte j der Matrix als (m x 1) Sparse-Matrix (Spaltenvektor) zurück.

getformat()

Matrixspeicherformat

getmaxprint()

Maximale Anzahl von Elementen, die beim Drucken angezeigt werden.

getnnz([axis])

Anzahl der gespeicherten Werte, einschließlich expliziter Nullen.

getrow(i)

Gibt eine Kopie der Zeile i der Matrix als (1 x n) Sparse-Matrix (Zeilenvektor) zurück.

getrowview(i)

Gibt eine Ansicht der 'i'-ten Zeile zurück (ohne Kopie).

maximum(other)

Elementweises Maximum zwischen diesem und einem anderen Array/einer anderen Matrix.

mean([axis, dtype, out])

Berechnet das arithmetische Mittel entlang der angegebenen Achse.

minimum(other)

Elementweises Minimum zwischen diesem und einem anderen Array/einer anderen Matrix.

multiply(other)

Elementweise Multiplikation mit einem anderen Array/einer anderen Matrix.

nonzero()

Nicht-Null-Indizes des Arrays/der Matrix.

power(n[, dtype])

Elementweise Potenzierung.

reshape(self, shape[, order, copy])

Gibt einem Sparse Array/einer Sparse Matrix eine neue Form, ohne dessen/deren Daten zu ändern.

resize(*shape)

Ändert die Größe des Arrays/der Matrix direkt auf die durch shape gegebenen Dimensionen.

set_shape(shape)

Setzt die Form der Matrix inplace

setdiag(values[, k])

Setzt diagonale oder nicht-diagonale Elemente des Arrays/der Matrix.

sum([axis, dtype, out])

Summiert die Elemente des Arrays/der Matrix über eine gegebene Achse.

toarray([order, out])

Gibt eine dichte ndarray-Darstellung dieses Sparse Arrays/dieser Sparse Matrix zurück.

tobr([blocksize, copy])

Konvertiert dieses Array/diese Matrix in das Block Sparse Row (BSR)-Format.

tocoo([copy])

Konvertiert dieses Array/diese Matrix in das COOrdinate (COO)-Format.

tocsc([copy])

Konvertiert dieses Array/diese Matrix in das Compressed Sparse Column (CSC)-Format.

tocsr([copy])

Konvertiert dieses Array/diese Matrix in das Compressed Sparse Row (CSR)-Format.

todense([order, out])

Gibt eine dichte Darstellung dieser Sparse-Matrix zurück.

todia([copy])

Konvertiert dieses Array/diese Matrix in das sparse DIAgonal-Format.

todok([copy])

Konvertiert dieses Array/diese Matrix in das Dictionary Of Keys (DOK)-Format.

tolil([copy])

Konvertiert dieses Array/diese Matrix in das List of Lists (LIL)-Format.

trace([offset])

Gibt die Summe entlang der Diagonalen des Sparse Arrays/der Sparse Matrix zurück.

transpose([axes, copy])

Kehrt die Dimensionen des Sparse Arrays/der Sparse Matrix um.

__getitem__

Hinweise

Sparse-Matrizen können in arithmetischen Operationen verwendet werden: sie unterstützen Addition, Subtraktion, Multiplikation, Division und Matrixpotenz.

Vorteile des LIL-Formats
  • unterstützt flexibles Slicing

  • Änderungen an der Dünnbesetzungsstruktur der Matrix sind effizient

Nachteile des LIL-Formats
  • arithmetische Operationen LIL + LIL sind langsam (betrachten Sie CSR oder CSC)

  • langsames Spaltenslicing (betrachten Sie CSC)

  • langsame Matrix-Vektor-Produkte (betrachten Sie CSR oder CSC)

Beabsichtigte Verwendung
  • LIL ist ein praktisches Format zur Konstruktion von dünnbesetzten Matrizen

  • Nachdem eine Matrix konstruiert wurde, konvertieren Sie sie für schnelle arithmetische Operationen und Matrix-Vektor-Operationen in das CSR- oder CSC-Format

  • Ziehen Sie bei der Konstruktion großer Matrizen die Verwendung des COO-Formats in Betracht

Datenstruktur
  • Ein Array (self.rows) von Zeilen, von denen jede eine sortierte Liste von Spaltenindizes von Nicht-Null-Elementen ist.

  • Die entsprechenden Nicht-Null-Werte werden in ähnlicher Weise in self.data gespeichert.