dgl.sparse.sub

dgl.sparse.sub(A: Union[dgl.sparse.diag_matrix.DiagMatrix, dgl.sparse.sparse_matrix.SparseMatrix], B: Union[dgl.sparse.diag_matrix.DiagMatrix, dgl.sparse.sparse_matrix.SparseMatrix])Union[dgl.sparse.diag_matrix.DiagMatrix, dgl.sparse.sparse_matrix.SparseMatrix][source]

Elementwise subtraction for DiagMatrix and SparseMatrix, equivalent to A - B.

The supported combinations are shown as follows.

A \ B

DiagMatrix

SparseMatrix

scalar

DiagMatrix

🚫

SparseMatrix

🚫

scalar

🚫

🚫

🚫

Parameters
Returns

Diagonal matrix if both A and B are diagonal matrices, sparse matrix otherwise

Return type

DiagMatrix or SparseMatrix

Examples

>>> indices = torch.tensor([[1, 0, 2], [0, 1, 2]])
>>> val = torch.tensor([10, 20, 30])
>>> A = dglsp.spmatrix(indices, val)
>>> B = dglsp.diag(torch.arange(1, 4))
>>> dglsp.sub(A, B)
SparseMatrix(indices=tensor([[0, 0, 1, 1, 2],
                             [0, 1, 0, 1, 2]]),
             values=tensor([-1, 20, 10, -2, 27]),
             shape=(3, 3), nnz=5)