class_docstr: A Gaussian mixture posterior.
  
  The MCMC batch dimension that corresponds to the models in the mixture is located
  at `MCMC_DIM` (defined at the top of this file). Note that while each MCMC sample
  corresponds to a Gaussian posterior, the posterior is rather a mixture of Gaussian
  distributions.
class_docstr_tok: ["A","Gaussian","mixture","posterior",".","The","MCMC","batch","dimension","that","corresponds","to","the","models","in","the","mixture","is","located","at","`","MCMC_DIM","`","(","defined","at","the","top","of","this","file",")",".","Note","that","while","each","MCMC","sample","corresponds","to","a","Gaussian","posterior",",","the","posterior","is","rather","a","mixture","of","Gaussian","distributions","."]
docstr: A posterior for a fully Bayesian model.
  
  Args:
      distribution: A GPyTorch MultivariateNormal (single-output case)
docstr_tok: ["A","posterior","for","a","fully","Bayesian","model",".","Args",":","distribution",":","A","GPyTorch","MultivariateNormal","(","single-output","case",")"]
code: def __init__(self, distribution: MultivariateNormal) -> None:
      r"""A posterior for a fully Bayesian model.
  
      Args:
          distribution: A GPyTorch MultivariateNormal (single-output case)
      """
      super().__init__(distribution=distribution)
      self._mean = (
          distribution.mean
          if self._is_mt
          else distribution.mean.unsqueeze(-1)
      )
      self._variance = (
          distribution.variance
          if self._is_mt
          else distribution.variance.unsqueeze(-1)
      )
  
      self._mixture_mean: Optional[Tensor] = None
      self._mixture_variance: Optional[Tensor] = None
  
file_path: botorch/botorch/posteriors/fully_bayesian.py
imports: from __future__ import annotations
  from typing import Callable, Optional, Tuple
  from warnings import warn
  import torch
  from botorch.posteriors.gpytorch import GPyTorchPosterior
  from gpytorch.distributions import MultivariateNormal
  from torch import Tensor
label_desc: Use image node_id 1 to create a new GaussianMixturePosterior object from inherited base classes: GPyTorchPosterior with example: obj = GaussianMixturePosterior(distribution)