title: Is sparse tensor multiplication implemented in TensorFlow?
body: <p>Multiplication of sparse tensors with themselves or with dense tensors does not seem to work in TensorFlow.  The following example</p>
  
  <pre class="lang-py prettyprint-override"><code>from __future__ import print_function
  import tensorflow as tf
  
  x = tf.constant([[1.0,2.0],
                   [3.0,4.0]])
  y = tf.SparseTensor(indices=[[0,0],[1,1]], values=[1.0,1.0], shape=[2,2])
  z = tf.matmul(x,y)
  
  sess = tf.Session()
  sess.run(tf.initialize_all_variables())
  print(sess.run([x, y, z]))
  </code></pre>
  
  <p>fails with the error message</p>
  
  <pre class="lang-py prettyprint-override"><code>TypeError: Input 'b' of 'MatMul' Op has type string that does not match type 
  float32 of argument 'a'
  </code></pre>
  
  <p>Both tensors have values of type float32 as seen by evaluating them  without the multiplication op.  Multiplication of y with itself returns a similar error message.  Multipication of x with itself works fine.</p>