code: def _hpsd_logdet_jvp(primals, tangents):
      matrix, cholesky_matrix = primals
      gmatrix, _ = tangents
      output, (cholesky_matrix,) = _hpsd_logdet_fwd(
          matrix, cholesky_matrix
      )
      chol_linop = tf.linalg.LinearOperatorLowerTriangular(
          cholesky_matrix
      )
      matrix_jvp = chol_linop.solve(
          chol_linop.solve(gmatrix), adjoint=True
      )
      return output, tf.linalg.trace(matrix_jvp)
  
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 22 for calling a global function with example usage: _hpsd_logdet_jvp(primals, tangents) and returns: output,  tf