class_docstr: An inducing point allocator that greedily chooses inducing points with large
  predictive variance and that are in promising regions of the search
  space (according to the model form the previous BO step), see [moss2023ipa]_.
docstr: Args:
      model: The model fitted during the previous BO step.
      maximize: Set True if we are performing function maximization, else
          set False.
docstr_tok: ["Args",":","model",":","The","model","fitted","during","the","previous","BO","step",".","maximize",":","Set","True","if","we","are","performing","function","maximization",",","else","set","False","."]
code: def __init__(self, model: Model, maximize: bool):
      r"""
  
      Args:
          model: The model fitted during the previous BO step.
          maximize: Set True if we are performing function maximization, else
              set False.
      """
      self._model = model
      self._maximize = maximize
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from typing import Union
  import torch
  from botorch.exceptions.errors import UnsupportedError
  from botorch.models.model import Model
  from botorch.utils.probability.utils import ndtr, phi
  from gpytorch.module import Module
  from linear_operator.operators import LinearOperator
  from torch import Tensor
label_desc: Use image node_id 1 to create a new GreedyImprovementReduction object from inherited base classes: InducingPointAllocator with example: obj = GreedyImprovementReduction(model, maximize)