covariance matrix with shape batch_shape + event_shape +
        (rank,)
  * **cov_diag** (*Tensor*) -- diagonal part of low-rank form of
    covariance matrix with shape *batch_shape + event_shape*

Note:
 The computation for determinant and inverse of covariance matrix
 is avoided when *cov_factor.shape[1] << cov_factor.shape[0]*
 thanks to Woodbury matrix identity and matrix determinant lemma.
 Thanks to these formulas, we just need to compute the determinant
 and inverse of the small size "capacitance" matrix:

    capacitance = I + cov_factor.T @ inv(cov_diag) @ cov_factor

arg_constraints = {'cov_diag': IndependentConstraint(GreaterThan(lower_bound=0.0), 1), 'cov_factor': IndependentConstraint(Real(), 2), 'loc': IndependentConstraint(Real(), 1)}
property covariance_matrix
entropy()
expand(batch_shape, _instance=None)
has_rsample = True
log_prob(value)
property mean
property mode
property precision_matrix