class_docstr: Augmented Rosenbrock synthetic test function for multi-fidelity optimization.
  
  d-dimensional function (usually evaluated on `[-5, 10]^(d-2) * [0, 1]^2`),
  where the last two dimensions are the fidelity parameters:
  
      f(x) = sum_{i=1}^{d-1} (100 (x_{i+1} - x_i^2 + 0.1 * (1-x_{d-1}))^2 +
          (x_i - 1 + 0.1 * (1 - x_d)^2)^2)
  
  f has one minimizer for its global minimum at `z_1 = (1, 1, ..., 1)` with
  `f(z_i) = 0.0`.
class_docstr_tok: ["Augmented","Rosenbrock","synthetic","test","function","for","multi-fidelity","optimization",".","d-dimensional","function","(","usually","evaluated","on","`","[","-5",",","10","]","^","(","d-2",")","*","[","0",",","1","]","^2","`",")",",","where","the","last","two","dimensions","are","the","fidelity","parameters",":","f","(","x",")","=","sum_","{","i=1","}","^","{","d-1","}","(","100","(","x_","{","i+1","}","-","x_i^2","+","0.1","*","(","1-x_","{","d-1","}",")",")","^2","+","(","x_i","-","1","+","0.1","*","(","1","-","x_d",")","^2",")","^2",")","f","has","one","minimizer","for","its","global","minimum","at","`","z_1","=","(","1",",","1",",","...",",","1",")","`","with","`","f","(","z_i",")","=","0.0","`","."]
docstr: Args:
      dim: The (input) dimension. Must be at least 3.
      noise_std: Standard deviation of the observation noise.
      negate: If True, negate the function.
docstr_tok: ["Args",":","dim",":","The","(","input",")","dimension",".","Must","be","at","least","3.","noise_std",":","Standard","deviation","of","the","observation","noise",".","negate",":","If","True",",","negate","the","function","."]
code: def __init__(
      self,
      dim=3,
      noise_std: Optional[float] = None,
      negate: bool = False,
  ) -> None:
      r"""
      Args:
          dim: The (input) dimension. Must be at least 3.
          noise_std: Standard deviation of the observation noise.
          negate: If True, negate the function.
      """
      if dim < 3:
          raise ValueError(
              "AugmentedRosenbrock must be defined it at least 3 dimensions"
          )
      self.dim = dim
      self._bounds = [(-5.0, 10.0) for _ in range(self.dim)]
      self._optimizers = [tuple(1.0 for _ in range(self.dim))]
      super().__init__(noise_std=noise_std, negate=negate)
  
file_path: botorch/botorch/test_functions/multi_fidelity.py
imports: from __future__ import annotations
  import math
  from typing import Optional
  import torch
  from botorch.test_functions.synthetic import SyntheticTestFunction
  from torch import Tensor
label_desc: Use image node_id 1 to create a new AugmentedRosenbrock object from inherited base classes: SyntheticTestFunction with example: obj = AugmentedRosenbrock(dim, noise_std, negate)