class_docstr: Constructs a multivariate normal random variable, based on mean and covariance.
  Can be multivariate, or a batch of multivariate normals
  
  Passing a vector mean corresponds to a multivariate normal.
  Passing a matrix mean corresponds to a batch of multivariate normals.
  
  :param mean: `... x N` mean of mvn distribution.
  :param covariance_matrix: `... x N X N` covariance matrix of mvn distribution.
  :param validate_args: If True, validate `mean` anad `covariance_matrix` arguments. (Default: False.)
  
  :ivar torch.Size base_sample_shape: The shape of a base sample (without
      batching) that is used to generate a single sample.
  :ivar torch.Tensor covariance_matrix: The covariance matrix, represented as a dense :class:`torch.Tensor`
  :ivar ~linear_operator.LinearOperator lazy_covariance_matrix: The covariance matrix, represented
      as a :class:`~linear_operator.LinearOperator`.
  :ivar torch.Tensor mean: The mean.
  :ivar torch.Tensor stddev: The standard deviation.
  :ivar torch.Tensor variance: The variance.
docstr: Returns the size of the sample returned by the distribution, given
  a `sample_shape`. Note, that the batch and event shapes of a distribution
  instance are fixed at the time of construction. If this is empty, the
  returned shape is upcast to (1,).
  
  :param sample_shape: the size of the sample to be drawn.
docstr_tok: ["Returns","the","size","of","the","sample","returned","by","the","distribution",",","given","a","`","sample_shape","`",".","Note",",","that","the","batch","and","event","shapes","of","a","distribution","instance","are","fixed","at","the","time","of","construction",".","If","this","is","empty",",","the","returned","shape","is","upcast","to","(","1",",",")",".",":","param","sample_shape",":","the","size","of","the","sample","to","be","drawn","."]
code: def _extended_shape(
      self, sample_shape: torch.Size = torch.Size()
  ) -> torch.Size:
      """
      Returns the size of the sample returned by the distribution, given
      a `sample_shape`. Note, that the batch and event shapes of a distribution
      instance are fixed at the time of construction. If this is empty, the
      returned shape is upcast to (1,).
  
      :param sample_shape: the size of the sample to be drawn.
      """
      if not isinstance(sample_shape, torch.Size):
          sample_shape = torch.Size(sample_shape)
      return sample_shape + self._batch_shape + self.base_sample_shape
  
imports: from __future__ import annotations
  import math
  import warnings
  from numbers import Number
  from typing import Optional, Tuple, Union
  import torch
  from linear_operator import to_dense, to_linear_operator
  from linear_operator.operators import DiagLinearOperator, LinearOperator, RootLinearOperator
  from torch import Tensor
  from torch.distributions import MultivariateNormal
  from torch.distributions.kl import register_kl
  from torch.distributions.utils import _standard_normal, lazy_property
  from ..None import settings
  from ..utils.warnings import NumericalWarning
  from .distribution import Distribution
label_desc: Use image node_id 2 for calling the MultivariateNormal obj's underlying member method code with example usage: obj._extended_shape(sample_shape) and returns: unknown