class_docstr: Multivariate Gaussian distribution, specified by the mean vector
  and the Cholesky factor of its covariance matrix.
  
  Parameters
  ----------
  mu
      mean vector, of shape (..., d)
  L
      Lower triangular Cholesky factor of covariance matrix, of shape
      (..., d, d)
  F
      A module that can either refer to the Symbol API or the NDArray
      API in MXNet
docstr: Draw samples from the multivariate Gaussian distributions.
  Internally, Cholesky factorization of the covariance matrix is used:
  
      sample = L v + mu,
  
  where L is the Cholesky factor, v is a standard normal sample.
  
  Parameters
  ----------
  num_samples
      Number of samples to be drawn.
  dtype
      Data-type of the samples.
  Returns
  -------
  Tensor
      Tensor with shape (num_samples, ..., d).
docstr_tok: ["Draw","samples","from","the","multivariate","Gaussian","distributions",".","Internally",",","Cholesky","factorization","of","the","covariance","matrix","is","used",":","sample","=","L","v","+","mu",",","where","L","is","the","Cholesky","factor",",","v","is","a","standard","normal","sample",".","Parameters","--","--","--","--","--","num_samples","Number","of","samples","to","be","drawn",".","dtype","Data-type","of","the","samples",".","Returns","--","--","--","-","Tensor","Tensor","with","shape","(","num_samples",",","...",",","d",")","."]
code: def sample_rep(
      self, num_samples: Optional[int] = None, dtype=np.float32
  ) -> Tensor:
      r"""
      Draw samples from the multivariate Gaussian distributions.
      Internally, Cholesky factorization of the covariance matrix is used:
  
          sample = L v + mu,
  
      where L is the Cholesky factor, v is a standard normal sample.
  
      Parameters
      ----------
      num_samples
          Number of samples to be drawn.
      dtype
          Data-type of the samples.
      Returns
      -------
      Tensor
          Tensor with shape (num_samples, ..., d).
      """
  
      def s(mu: Tensor, L: Tensor) -> Tensor:
          F = self.F
          samples_std_normal = F.sample_normal(
              mu=F.zeros_like(mu),
              sigma=F.ones_like(mu),
              dtype=dtype,
          ).expand_dims(axis=-1)
          samples = (
              F.linalg_gemm2(L, samples_std_normal).squeeze(axis=-1)
              + mu
          )
          return samples
  
      return _sample_multiple(
          s, mu=self.mu, L=self.L, num_samples=num_samples
      )
  
imports: import math
  from typing import Optional, Tuple
  import numpy
  from gluonts.core.component import validated
  from gluonts.mx import Tensor
  from gluonts.mx.linalg_util import lower_triangular_ones
  from .distribution import Distribution, _sample_multiple, getF
  from .distribution_output import DistributionOutput
label_desc: Use image node_id 10 for calling the MultivariateGaussian obj's underlying member method code with example usage: obj.sample_rep(num_samples, dtype) and returns: _sample_multiple, samples