code: def _hpsd_logdet_fwd(matrix, cholesky_matrix):
      if cholesky_matrix is None:
          cholesky_matrix = tf.linalg.cholesky(matrix)
      output = 2.0 * tf.reduce_sum(
          tf.math.log(tf.linalg.diag_part(cholesky_matrix)), axis=-1
      )
      return output, (cholesky_matrix,)
  
imports: import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import custom_gradient
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.math import generic
label_desc: Use image node_id 20 for calling a global function with example usage: _hpsd_logdet_fwd(matrix, cholesky_matrix) and returns: output,  cholesky_matrix