class_docstr: Transform via the mapping :math:`y = safe_cholesky(x)`, where `x` is a
  correlation matrix.
class_docstr_tok: ["Transform","via","the","mapping",":","math",":","`","y","=","safe_cholesky","(","x",")","`",",","where","`","x","`","is","a","correlation","matrix","."]
code: def log_abs_det_jacobian(self, x, y):
      # NB: see derivation in LKJCholesky implementation
      n = x.shape[-1]
      order = torch.arange(
          n - 1, -1, -1, dtype=x.dtype, device=x.device
      )
      return -(order * torch.diagonal(y, dim1=-2, dim2=-1).log()).sum(
          -1
      )
  
file_path: pyro/pyro/distributions/transforms/cholesky.py
imports: import math
  import warnings
  import torch
  from torch.distributions.transforms import CorrCholeskyTransform, Transform
  from ..None import constraints
label_desc: Use image node_id 2 for calling the CorrMatrixCholeskyTransform obj's underlying member method code with example usage: obj.log_abs_det_jacobian(x, y) and returns: unknown