dgl.sparse.SparseMatrix.sminο
- SparseMatrix.smin(dim: int | None = None)ο
Computes the minimum of non-zero values of the
input
sparse matrix along the given dimensiondim
.The reduction does not count zero values. If the row or column to be reduced does not have any non-zero value, the result will be 0.
- Parameters:
input (SparseMatrix) β The input sparse matrix
dim (int, optional) β
The dimension to reduce, must be either 0 (by rows) or 1 (by columns) or None (on both rows and columns simultaneously)
If
dim
is None, it reduces both the rows and the columns in the sparse matrix, producing a tensor of shapeinput.val.shape[1:]
. Otherwise, it reduces on the row (dim=0
) or column (dim=1
) dimension, producing a tensor of shape(input.shape[1],) + input.val.shape[1:]
or(input.shape[0],) + input.val.shape[1:]
.
- Returns:
Reduced tensor
- Return type:
torch.Tensor
Examples
Case1: scalar-valued sparse matrix
>>> indices = torch.tensor([[0, 1, 1], [0, 0, 2]]) >>> val = torch.tensor([1, 1, 2]) >>> A = dglsp.spmatrix(indices, val, shape=(4, 3)) >>> dglsp.smin(A) tensor(1) >>> dglsp.smin(A, 0) tensor([1, 0, 2]) >>> dglsp.smin(A, 1) tensor([1, 1, 0, 0])
Case2: vector-valued sparse matrix
>>> indices = torch.tensor([[0, 1, 1], [0, 0, 2]]) >>> val = torch.tensor([[1, 2], [2, 1], [2, 2]]) >>> A = dglsp.spmatrix(indices, val, shape=(4, 3)) >>> dglsp.smin(A) tensor([1, 1]) >>> dglsp.smin(A, 0) tensor([[1, 1], [0, 0], [2, 2]]) >>> dglsp.smin(A, 1) tensor([[1, 2], [2, 1], [0, 0], [0, 0]])