scipy.sparse.spdiags#
- scipy.sparse.spdiags(data, diags, m=None, n=None, format=None)[source]#
Return a sparse matrix from diagonals.
- Parameters
- dataarray_like
Matrix diagonals stored row-wise
- diagssequence of int or an int
Diagonals to set:
k = 0 the main diagonal
k > 0 the kth upper diagonal
k < 0 the kth lower diagonal
- m, nint, tuple, optional
Shape of the result. If n is None and m is a given tuple, the shape is this tuple. If omitted, the matrix is square and its shape is len(data[0]).
- 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]])