diff --git a/torch_sparse/storage.py b/torch_sparse/storage.py index bb291665..aa988472 100644 --- a/torch_sparse/storage.py +++ b/torch_sparse/storage.py @@ -146,7 +146,7 @@ def __init__( self._csr2csc = csr2csc self._csc2csr = csc2csr - if not is_sorted: + if not is_sorted and self._col.numel() > 0: idx = self._col.new_zeros(self._col.numel() + 1) idx[1:] = self.row() idx[1:] *= self._sparse_sizes[1] diff --git a/torch_sparse/tensor.py b/torch_sparse/tensor.py index 8ffad1e3..39e0af52 100644 --- a/torch_sparse/tensor.py +++ b/torch_sparse/tensor.py @@ -357,6 +357,8 @@ def numel(self) -> int: return self.nnz() def density(self) -> float: + if self.sparse_size(0) == 0 or self.sparse_size(1) == 0: + return 0.0 return self.nnz() / (self.sparse_size(0) * self.sparse_size(1)) def sparsity(self) -> float: