spdiags#
- scipy.sparse.spdiags(data, diags, m=None, n=None, format=None)[Quelle]#
Gibt eine Sparse-Matrix aus Diagonalen zurück.
Warnung
Diese Funktion gibt eine Sparse-Matrix zurück – keine Sparse-Array. Es wird empfohlen,
dia_arrayzu verwenden, um die Funktionalität von Sparse-Arrays zu nutzen. (Siehe Hinweise unten.)- Parameter:
- dataarray_like
Matrix-Diagonalen zeilenweise gespeichert
- diagsSequenz von int oder ein int
Zu setzende Diagonalen
k = 0 die Hauptdiagonale
k > 0 die k-te obere Diagonale
k < 0 die k-te untere Diagonale
- m, nint, Tupel, optional
Form des Ergebnisses. Wenn n None ist und m ein gegebenes Tupel ist, ist die Form dieses Tupels. Wenn weggelassen, ist die Matrix quadratisch und ihre Form ist
len(data[0]).- formatstr, optional
Format des Ergebnisses. Standardmäßig (format=None) wird ein geeignetes Sparse-Matrix-Format zurückgegeben. Diese Wahl kann sich ändern.
- Rückgabe:
- new_matrixsparse matrix
dia_matrix-Format mit Werten indataauf den Diagonalen vondiags.
Siehe auch
diags_arraybequemere Form dieser Funktion
diagsMatrix-Version von diags_array
dia_matrixdas Sparse DIAgonal-Format.
Hinweise
Diese Funktion kann durch einen äquivalenten Aufruf von
dia_matrixersetzt werden alsdia_matrix((data, diags), shape=(m, n)).asformat(format)
Beispiele
>>> import numpy as np >>> from scipy.sparse import spdiags >>> data = np.array([[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]) >>> diags = np.array([0, -1, 2]) >>> spdiags(data, diags, 4, 4).toarray() array([[1, 0, 3, 0], [1, 2, 0, 4], [0, 2, 3, 0], [0, 0, 3, 4]])