class_docstr: Fallback np.random.multivariate_normal operator properties.
class_docstr_tok: ["Fallback","np.random.multivariate_normal","operator","properties","."]
code: def infer_shape(self, in_shape):
      loc_shape = in_shape[0]
      cov_shape = in_shape[1]
      if len(loc_shape) < 1:
          raise ValueError("mean must be at least 1 dimensional")
      if len(cov_shape) < 2:
          raise ValueError("cov must be at least 2 dimensional")
      if cov_shape[-1] != cov_shape[-2]:
          raise ValueError(
              "the last two dimentions of the parameter cov have to be the same,"
              " whereas the shape of cov is {}".format(cov_shape)
          )
      if cov_shape[-1] != loc_shape[-1]:
          raise ValueError(
              "mean and cov must have same length."
              "The shape of mean is {} but the shape of cov is {}".format(
                  loc_shape[-1:], cov_shape[-2:]
              )
          )
      # handle shape mismatch here
      out_shape = np.broadcast(
          np.empty(loc_shape), np.empty(cov_shape[:-1])
      ).shape
      if self._size is not None:
          self._size = (
              (self._size,) if np.isscalar(self._size) else self._size
          )
          out_shape = self._size + out_shape
  
      return in_shape, (out_shape,), ()
  
imports: from distutils.version import StrictVersion
  import functools
  import ast
  import numpy
  from .None import operator
  from .None import numpy
  from .util import np_array, use_np
  from .numpy.utils import _STR_2_DTYPE_
  from .ndarray.numpy import _internal
  from .symbol.numpy import _internal
label_desc: Use image node_id 3 for calling the MultivariateNormalProp obj's underlying member method code with example usage: obj.infer_shape(in_shape) and returns: in_shape,  out_shape,  