class_docstr: A list of box decompositions.
class_docstr_tok: ["A","list","of","box","decompositions","."]
docstr: Get the bounds of each hypercell in the decomposition.
  
  Returns:
      A `2 x n_box_decompositions x num_cells x num_outcomes`-dim tensor
          containing the lower and upper vertices bounding each hypercell.
docstr_tok: ["Get","the","bounds","of","each","hypercell","in","the","decomposition",".","Returns",":","A","`","2","x","n_box_decompositions","x","num_cells","x","num_outcomes","`","-dim","tensor","containing","the","lower","and","upper","vertices","bounding","each","hypercell","."]
code: def get_hypercell_bounds(self) -> Tensor:
      r"""Get the bounds of each hypercell in the decomposition.
  
      Returns:
          A `2 x n_box_decompositions x num_cells x num_outcomes`-dim tensor
              containing the lower and upper vertices bounding each hypercell.
      """
      bounds_list = []
      max_num_cells = 0
      for p in self.box_decompositions:
          bounds = p.get_hypercell_bounds()
          max_num_cells = max(max_num_cells, bounds.shape[-2])
          bounds_list.append(bounds)
      # pad the decomposition with empty cells so that all
      # decompositions have the same number of cells
      for i, bounds in enumerate(bounds_list):
          num_missing = max_num_cells - bounds.shape[-2]
          if num_missing > 0:
              padding = torch.zeros(
                  2,
                  num_missing,
                  bounds.shape[-1],
                  dtype=bounds.dtype,
                  device=bounds.device,
              )
              bounds_list[i] = torch.cat(
                  [
                      bounds,
                      padding,
                  ],
                  dim=-2,
              )
  
      return torch.stack(bounds_list, dim=-3)
  
file_path: botorch/botorch/utils/multi_objective/box_decompositions/box_decomposition_list.py
imports: from __future__ import annotations
  from typing import List, Union
  import torch
  from botorch.exceptions.errors import BotorchTensorDimensionError
  from botorch.utils.multi_objective.box_decompositions.box_decomposition import BoxDecomposition
  from torch import Tensor
  from torch.nn import Module, ModuleList
label_desc: Use image node_id 4 for calling the BoxDecompositionList obj's underlying member method code with example usage: obj.get_hypercell_bounds() and returns: torch