Adds up a SparseTensor and a dense Tensor, using these special rules:

    sp_indices, sp_values, sp_shape, dense, name=None

(1) Broadcasts the dense side to have the same shape as the sparse side, if eligible; (2) Then, only the dense values pointed to by the indices of the SparseTensor participate in the cwise addition.

By these rules, the result is a logical SparseTensor with exactly the same indices and shape, but possibly with different non-zero values. The output of this Op is the resultant non-zero values.


  • sp_indices: A Tensor of type int64. 2-D. N x R matrix with the indices of non-empty values in a SparseTensor, possibly not in canonical ordering.
  • sp_values: A Tensor. Must be one of the following types: float32, float64, int32, uint8, int16, int8, complex64, int64, qint8, quint8, qint32, bfloat16, uint16, complex128, half, uint32, uint64. 1-D. N non-empty values corresponding to sp_indices.
  • sp_shape: A Tensor of type int64. 1-D. Shape of the input SparseTensor.
  • dense: A Tensor. Must have the same type as sp_values. R-D. The dense Tensor operand.
  • name: A name for the operation (optional).


A Tensor. Has the same type as sp_values.