dgl.sparse.sddmmο
- dgl.sparse.sddmm(A: SparseMatrix, X1: Tensor, X2: Tensor) SparseMatrix[source]ο
- Sampled-Dense-Dense Matrix Multiplication (SDDMM). - sddmmmatrix-multiplies two dense matrices- X1and- X2, then elementwise-multiplies the result with sparse matrix- Aat the nonzero locations.- Mathematically - sddmmis formulated as:\[out = (X1 @ X2) * A\]- In particular, - X1and- X2can be 1-D, then- X1 @ X2becomes the out-product of the two vectors (which results in a matrix).- Parameters:
- A (SparseMatrix) β Sparse matrix of shape - (L, N)
- X1 (torch.Tensor) β Dense matrix of shape - (L, M)or- (L,)
- X2 (torch.Tensor) β Dense matrix of shape - (M, N)or- (N,)
 
- Returns:
- Sparse matrix of shape - (L, N)
- Return type:
 - Examples - >>> indices = torch.tensor([[1, 1, 2], [2, 3, 3]]) >>> val = torch.arange(1, 4).float() >>> A = dglsp.spmatrix(indices, val, (3, 4)) >>> X1 = torch.randn(3, 5) >>> X2 = torch.randn(5, 4) >>> dglsp.sddmm(A, X1, X2) SparseMatrix(indices=tensor([[1, 1, 2], [2, 3, 3]]), values=tensor([-1.6585, -3.9714, -0.5406]), shape=(3, 4), nnz=3)