class_docstr: Partition dominated space into axis-aligned hyperrectangles.
  
  This uses the Algorithm 1 from [Lacour17]_.
  
  Example:
      >>> bd = DominatedPartitioning(ref_point, Y)
docstr: Compute hypervolume that is dominated by the Pareto Frontier.
  
  Returns:
      A `(batch_shape)`-dim tensor containing the hypervolume dominated by
          each Pareto frontier.
code: def _compute_hypervolume_if_y_has_data(self) -> Tensor:
      r"""Compute hypervolume that is dominated by the Pareto Frontier.
  
      Returns:
          A `(batch_shape)`-dim tensor containing the hypervolume dominated by
              each Pareto frontier.
      """
      return (
          (self.hypercell_bounds[1] - self.hypercell_bounds[0])
          .prod(dim=-1)
          .sum(dim=-1)
      )
  
file_path: botorch/botorch/utils/multi_objective/box_decompositions/dominated.py
imports: from __future__ import annotations
  from botorch.utils.multi_objective.box_decompositions.box_decomposition import FastPartitioning
  from botorch.utils.multi_objective.box_decompositions.utils import compute_dominated_hypercell_bounds_2d, get_partition_bounds
  from torch import Tensor
label_desc: Use image node_id 3 for calling the DominatedPartitioning obj's underlying member method code with example usage: obj._compute_hypervolume_if_y_has_data() and returns: unknown