dia_matrix#
- class scipy.sparse.dia_matrix(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[source]#
Sparse matrix with DIAgonal storage.
- This can be instantiated in several ways:
- dia_matrix(D)
where D is a 2-D ndarray
- dia_matrix(S)
with another sparse array or matrix S (equivalent to S.todia())
- dia_matrix((M, N), [dtype])
to construct an empty matrix with shape (M, N), dtype is optional, defaulting to dtype=’d’.
- dia_matrix((data, offsets), shape=(M, N))
where the
data[k,:]
stores the diagonal entries for diagonaloffsets[k]
(See example below)
- Attributes:
Methods
__len__
()__mul__
(other)arcsin
()Element-wise arcsin.
arcsinh
()Element-wise arcsinh.
arctan
()Element-wise arctan.
arctanh
()Element-wise arctanh.
asformat
(format[, copy])Return this array/matrix in the passed format.
asfptype
()Upcast matrix to a floating point format (if necessary)
astype
(dtype[, casting, copy])Cast the array/matrix elements to a specified type.
ceil
()Element-wise ceil.
conj
([copy])Element-wise complex conjugation.
conjugate
([copy])Element-wise complex conjugation.
copy
()Returns a copy of this array/matrix.
count_nonzero
([axis])Number of non-zero entries, equivalent to
deg2rad
()Element-wise deg2rad.
diagonal
([k])Returns the kth diagonal of the array/matrix.
dot
(other)Ordinary dot product
expm1
()Element-wise expm1.
floor
()Element-wise floor.
getH
()Return the Hermitian transpose of this matrix.
Get the shape of the matrix
getcol
(j)Returns a copy of column j of the matrix, as an (m x 1) sparse matrix (column vector).
Matrix storage format
Maximum number of elements to display when printed.
getnnz
([axis])Number of stored values, including explicit zeros.
getrow
(i)Returns a copy of row i of the matrix, as a (1 x n) sparse matrix (row vector).
log1p
()Element-wise log1p.
maximum
(other)Element-wise maximum between this and another array/matrix.
mean
([axis, dtype, out])Compute the arithmetic mean along the specified axis.
minimum
(other)Element-wise minimum between this and another array/matrix.
multiply
(other)Point-wise multiplication by another array/matrix.
nonzero
()Nonzero indices of the array/matrix.
power
(n[, dtype])This function performs element-wise power.
rad2deg
()Element-wise rad2deg.
reshape
(self, shape[, order, copy])Gives a new shape to a sparse array/matrix without changing its data.
resize
(*shape)Resize the array/matrix in-place to dimensions given by
shape
rint
()Element-wise rint.
set_shape
(shape)Set the shape of the matrix in-place
setdiag
(values[, k])Set diagonal or off-diagonal elements of the array/matrix.
sign
()Element-wise sign.
sin
()Element-wise sin.
sinh
()Element-wise sinh.
sqrt
()Element-wise sqrt.
sum
([axis, dtype, out])Sum the array/matrix elements over a given axis.
tan
()Element-wise tan.
tanh
()Element-wise tanh.
toarray
([order, out])Return a dense ndarray representation of this sparse array/matrix.
tobsr
([blocksize, copy])Convert this array/matrix to Block Sparse Row format.
tocoo
([copy])Convert this array/matrix to COOrdinate format.
tocsc
([copy])Convert this array/matrix to Compressed Sparse Column format.
tocsr
([copy])Convert this array/matrix to Compressed Sparse Row format.
todense
([order, out])Return a dense representation of this sparse matrix.
todia
([copy])Convert this array/matrix to sparse DIAgonal format.
todok
([copy])Convert this array/matrix to Dictionary Of Keys format.
tolil
([copy])Convert this array/matrix to List of Lists format.
trace
([offset])Returns the sum along diagonals of the sparse array/matrix.
transpose
([axes, copy])Reverses the dimensions of the sparse array/matrix.
trunc
()Element-wise trunc.
Notes
Sparse matrices can be used in arithmetic operations: they support addition, subtraction, multiplication, division, and matrix power. Sparse matrices with DIAgonal storage do not support slicing.
Examples
>>> import numpy as np >>> from scipy.sparse import dia_matrix >>> dia_matrix((3, 4), dtype=np.int8).toarray() array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], dtype=int8)
>>> data = np.array([[1, 2, 3, 4]]).repeat(3, axis=0) >>> offsets = np.array([0, -1, 2]) >>> dia_matrix((data, offsets), shape=(4, 4)).toarray() array([[1, 0, 3, 0], [1, 2, 0, 4], [0, 2, 3, 0], [0, 0, 3, 4]])
>>> from scipy.sparse import dia_matrix >>> n = 10 >>> ex = np.ones(n) >>> data = np.array([ex, 2 * ex, ex]) >>> offsets = np.array([-1, 0, 1]) >>> dia_matrix((data, offsets), shape=(n, n)).toarray() array([[2., 1., 0., ..., 0., 0., 0.], [1., 2., 1., ..., 0., 0., 0.], [0., 1., 2., ..., 0., 0., 0.], ..., [0., 0., 0., ..., 2., 1., 0.], [0., 0., 0., ..., 1., 2., 1.], [0., 0., 0., ..., 0., 1., 2.]])