SciPy

This is documentation for an old release of SciPy (version 1.6.2). Read this page in the documentation of the latest stable release (version 1.15.1).

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