class_docstr: A :obj:`~gpytorch.variational._VariationalDistribution` that is defined to be a multivariate normal distribution
  with a full covariance matrix.
  
  The most common way this distribution is defined is to parameterize it in terms of a mean vector and a covariance
  matrix. In order to ensure that the covariance matrix remains positive definite, we only consider the lower
  triangle.
  
  :param num_inducing_points: Size of the variational distribution. This implies that the variational mean
      should be this size, and the variational covariance matrix should have this many rows and columns.
  :param batch_shape: Specifies an optional batch size
      for the variational parameters. This is useful for example when doing additive variational inference.
  :param mean_init_std: (Default: 1e-3) Standard deviation of gaussian noise to add to the mean initialization.
code: def forward(self) -> MultivariateNormal:
      chol_variational_covar = self.chol_variational_covar
      dtype = chol_variational_covar.dtype
      device = chol_variational_covar.device
  
      # First make the cholesky factor is upper triangular
      lower_mask = torch.ones(
          self.chol_variational_covar.shape[-2:],
          dtype=dtype,
          device=device,
      ).tril(0)
      chol_variational_covar = TriangularLinearOperator(
          chol_variational_covar.mul(lower_mask)
      )
  
      # Now construct the actual matrix
      variational_covar = CholLinearOperator(chol_variational_covar)
      return MultivariateNormal(
          self.variational_mean, variational_covar
      )
  
file_path: gpytorch/gpytorch/variational/cholesky_variational_distribution.py
imports: import torch
  from linear_operator.operators import CholLinearOperator, TriangularLinearOperator
  from ..distributions import MultivariateNormal
  from ._variational_distribution import _VariationalDistribution
label_desc: Use image node_id 2 for calling the CholeskyVariationalDistribution obj's underlying member method code with example usage: obj.forward() and returns: MultivariateNormal