class_docstr: An abstract class for box decompositions.
  
  Note: Internally, we store the negative reference point (minimization).
  
  :meta private:
docstr: Initialize BoxDecomposition.
  
  Args:
      ref_point: A `m`-dim tensor containing the reference point.
      sort: A boolean indicating whether to sort the Pareto frontier.
      Y: A `(batch_shape) x n x m`-dim tensor of outcomes.
code: def __init__(
      self, ref_point: Tensor, sort: bool, Y: Optional[Tensor] = None
  ) -> None:
      """Initialize BoxDecomposition.
  
      Args:
          ref_point: A `m`-dim tensor containing the reference point.
          sort: A boolean indicating whether to sort the Pareto frontier.
          Y: A `(batch_shape) x n x m`-dim tensor of outcomes.
      """
      super().__init__()
      self._neg_ref_point = -ref_point
      self.sort = torch.tensor(sort, dtype=torch.bool)
      self.num_outcomes = ref_point.shape[-1]
      self.register_buffer("hypercell_bounds", None)
  
      if Y is not None:
          if Y.isnan().any():
              raise ValueError(
                  "NaN inputs are not supported. Got Y with "
                  f"{Y.isnan().sum()} NaN values."
              )
          self._neg_Y = -Y
          self._validate_inputs()
          self._neg_pareto_Y = self._compute_pareto_Y()
          self.partition_space()
      else:
          self._neg_Y = None
          self._neg_pareto_Y = None
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from typing import Optional
  import torch
  from botorch.exceptions.errors import BotorchError
  from botorch.utils.multi_objective.box_decompositions.utils import _expand_ref_point, _pad_batch_pareto_frontier, update_local_upper_bounds_incremental
  from botorch.utils.multi_objective.pareto import is_non_dominated
  from torch import Tensor
  from torch.nn import Module
label_desc: Use image node_id 1 to create a new BoxDecomposition object from inherited base classes: Module, ABC with example: obj = BoxDecomposition(ref_point, sort, Y)