title: Tensorflow compare ragged tensor with dense tensor error
body: <p>I wanna compare a dense Tensor with a ragged Tensor using <code>tf.maximum</code>,
  e.g.</p>
  <ul>
  <li>dense Tensor: Tensorshape [10, 100, 1, 2, 3]</li>
  <li>ragged Tensor: Tensorshape [1, 100, None, 2, 3]</li>
  </ul>
  <p>It seems straightforward for me that this operation shall be doable, at least for 2 dense Tensor.</p>
  <p>But it seems Tensorflow raises:</p>
  <pre><code>tensorflow.python.framework.errors_impl.InvalidArgumentError: Expected 'tf.Tensor(False, shape=(), dtype=bool)' to be true. Summarized data: b'Unable to broadcast: dimension size mismatch in dimension'
  1
  b'lengths='
  100, 100, 100, 100, 100, 100, 100, 100, 100, 100 ...
  b'dim_size='
  100
  </code></pre>
  <p>Am not very familiar with the rule of ragged Tensor, and this error seems not very intuitive to me. Maybe any hints on this and is there any way of achiving the operation? Many thanks in advance.</p>
  <p>P.S., a reproducing example:</p>
  <pre><code>a = tf.ones(shape=(2, 1, 2, 3), dtype=tf.float64)
  _b1 = tf.zeros(shape=(1, 2, 3)).numpy()
  _b2 = tf.zeros(shape=(2, 2, 3)).numpy()
  b = tf.ragged.constant([_b1, _b2], ragged_rank=1, dtype=tf.float64) # [2, None, 2, 3]
  print(tf.maximum(a, b)) # maximum via [2, 1, 2, 3] and [2, None, 2, 3] is working
  
  # maximum via [1, 2, 1, 2, 3] and [1, 2, None, 2, 3] is NOT working
  print(tf.maximum(tf.expand_dims(a, 0), tf.expand_dims(b, 0)))
  </code></pre>