SciPy

scipy.sparse.spdiags

scipy.sparse.spdiags(data, diags, m, n, format=None)[source]

Return a sparse matrix from diagonals.

Parameters
dataarray_like

matrix diagonals stored row-wise

diagsdiagonals to set
  • k = 0 the main diagonal

  • k > 0 the k-th upper diagonal

  • k < 0 the k-th lower diagonal

m, nint

shape of the result

formatstr, optional

Format of the result. By default (format=None) an appropriate sparse matrix format is returned. This choice is subject to change.

See also

diags

more convenient form of this function

dia_matrix

the sparse DIAgonal format.

Examples

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

Previous topic

scipy.sparse.diags

Next topic

scipy.sparse.block_diag