class_docstr: Applies distinct bijectors to initial + transition states of a chain.
code: def _forward_log_det_jacobian(self, x):
      inverse_ndims_for_one_step = tf.nest.map_structure(
          lambda nd: nd - 1, self.inverse_min_event_ndims
      )
      x0, xs = x
      fldjs = self._apply_forward_scan(
          fn=lambda b, x, y: compute_and_maybe_broadcast_ldj(  # pylint: disable=g-long-lambda
              b,
              x,
              event_ndims=b.inverse_event_ndims(
                  inverse_ndims_for_one_step
              ),
              ldj_fn=lambda b: b.forward_log_det_jacobian,
          ),
          x0=x0,
          xs=xs,
      )
      return tf.reduce_sum(fldjs, axis=0)
  
imports: import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import log_prob_ratio
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.math import generic
label_desc: Use image node_id 11 for calling the _MarkovChainBijector obj's underlying member method code with example usage: obj._forward_log_det_jacobian(x) and returns: tf