code: def testEventShapeBroadcast(self):
      op = self.build_operator()
      bijector = (
          scale_matvec_linear_operator.ScaleMatvecLinearOperatorBlock(
              op, validate_args=True
          )
      )
      x = [
          tf.broadcast_to(
              tf.constant(1.0, dtype=tf.float32), [2, 3, 3]
          ),
          tf.broadcast_to(
              tf.constant(2.0, dtype=tf.float32), [2, 1, 2]
          ),
      ]
  
      # Forward/inverse event shape methods return the correct value.
      self.assertAllEqual(
          self.evaluate(
              bijector.forward_event_shape_tensor(
                  [tf.shape(x_) for x_ in x]
              )
          ),
          [self.evaluate(tf.shape(y_)) for y_ in bijector.forward(x)],
      )
      self.assertAllEqual(
          bijector.inverse_event_shape([x_.shape for x_ in x]),
          [y_.shape for y_ in bijector.inverse(x)],
      )
  
      # Broadcasting of inputs within `ldj_reduce_shape` raises.
      with self.assertRaisesRegexp(
          ValueError, "left of `min_event_ndims`"
      ):
          self.evaluate(
              bijector.forward_log_det_jacobian(x, event_ndims=[2, 2])
          )
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import scale_matvec_linear_operator
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 3 for calling the _ScaleMatvecLinearOperatorBlockTest obj's underlying member method code with example usage: obj.testEventShapeBroadcast() without return types