scipy.sparse.

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_array zu 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 in data auf den Diagonalen von diags.

Siehe auch

diags_array

bequemere Form dieser Funktion

diags

Matrix-Version von diags_array

dia_matrix

das Sparse DIAgonal-Format.

Hinweise

Diese Funktion kann durch einen äquivalenten Aufruf von dia_matrix ersetzt werden als

dia_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]])