dgl.sparse.spmatrixο
- dgl.sparse.spmatrix(indices: Tensor, val: Tensor | None = None, shape: Tuple[int, int] | None = None) SparseMatrix [source]ο
Creates a sparse matrix from Coordinate format indices.
- Parameters:
indices (tensor.Tensor) β The indices are the coordinates of the non-zero elements in the matrix, which should have shape of
(2, N)
where the first row is the row indices and the second row is the column indices of non-zero elements.val (tensor.Tensor, optional) β The values of shape
(nnz)
or(nnz, D)
. If None, it will be a tensor of shape(nnz)
filled by 1.shape (tuple[int, int], optional) β If not specified, it will be inferred from
row
andcol
, i.e.,(row.max() + 1, col.max() + 1)
. Otherwise,shape
should be no smaller than this.
- Returns:
Sparse matrix
- Return type:
Examples
Case1: Sparse matrix with row and column indices without values.
>>> indices = torch.tensor([[1, 1, 2], [2, 4, 3]]) >>> A = dglsp.spmatrix(indices) SparseMatrix(indices=tensor([[1, 1, 2], [2, 4, 3]]), values=tensor([1., 1., 1.]), shape=(3, 5), nnz=3) >>> # Specify shape >>> A = dglsp.spmatrix(indices, shape=(5, 5)) SparseMatrix(indices=tensor([[1, 1, 2], [2, 4, 3]]), values=tensor([1., 1., 1.]), shape=(5, 5), nnz=3)
Case2: Sparse matrix with scalar values.
>>> indices = torch.tensor([[1, 1, 2], [2, 4, 3]]) >>> val = torch.tensor([[1.], [2.], [3.]]) >>> A = dglsp.spmatrix(indices, val) SparseMatrix(indices=tensor([[1, 1, 2], [2, 4, 3]]), values=tensor([[1.], [2.], [3.]]), shape=(3, 5), nnz=3, val_size=(1,))
Case3: Sparse matrix with vector values.
>>> indices = torch.tensor([[1, 1, 2], [2, 4, 3]]) >>> val = torch.tensor([[1., 1.], [2., 2.], [3., 3.]]) >>> A = dglsp.spmatrix(indices, val) SparseMatrix(indices=tensor([[1, 1, 2], [2, 4, 3]]), values=tensor([[1., 1.], [2., 2.], [3., 3.]]), shape=(3, 5), nnz=3, val_size=(2,))