class_docstr: A Posterior represented by a list of independent Posteriors.
  
  When at least one of the posteriors is a `GaussianMixturePosterior`, the other
  posteriors are expanded to match the size of the `GaussianMixturePosterior`.
class_docstr_tok: ["A","Posterior","represented","by","a","list","of","independent","Posteriors",".","When","at","least","one","of","the","posteriors","is","a","`","GaussianMixturePosterior","`",",","the","other","posteriors","are","expanded","to","match","the","size","of","the","`","GaussianMixturePosterior","`","."]
docstr: The torch device of the posterior.
docstr_tok: ["The","torch","device","of","the","posterior","."]
code: def device(self) -> torch.device:
      r"""The torch device of the posterior."""
      devices = {p.device for p in self.posteriors}
      if len(devices) > 1:
          raise NotImplementedError(  # pragma: no cover
              "Multi-device posteriors are currently not supported. "
              "The devices of the constituent posteriors are: {devices}."
          )
      return next(iter(devices))
  
imports: from __future__ import annotations
  from functools import cached_property
  from typing import Any, List, Optional
  import torch
  from botorch.posteriors.fully_bayesian import GaussianMixturePosterior, MCMC_DIM
  from botorch.posteriors.posterior import Posterior
  from torch import Tensor
label_desc: Use image node_id 6 for calling the PosteriorList obj's underlying member method code with example usage: obj.device() and returns: next