class_docstr: Augmented Hartmann synthetic test function.
  
  7-dimensional function (typically evaluated on `[0, 1]^7`), where the last
  dimension is the fidelity parameter.
  
      H(x) = -(ALPHA_1 - 0.1 * (1-x_7)) * exp(- sum_{j=1}^6 A_1j (x_j - P_1j) ** 2) -
          sum_{i=2}^4 ALPHA_i exp( - sum_{j=1}^6 A_ij (x_j - P_ij) ** 2)
  
  H has a unique global minimizer
  `x = [0.20169, 0.150011, 0.476874, 0.275332, 0.311652, 0.6573, 1.0]`
  
  with `H_min = -3.32237`
class_docstr_tok: ["Augmented","Hartmann","synthetic","test","function",".","7-dimensional","function","(","typically","evaluated","on","`","[","0",",","1","]","^7","`",")",",","where","the","last","dimension","is","the","fidelity","parameter",".","H","(","x",")","=","-","(","ALPHA_1","-","0.1","*","(","1-x_7",")",")","*","exp","(","-","sum_","{","j=1","}","^6","A_1j","(","x_j","-","P_1j",")","*","*","2",")","-","sum_","{","i=2","}","^4","ALPHA_i","exp","(","-","sum_","{","j=1","}","^6","A_ij","(","x_j","-","P_ij",")","*","*","2",")","H","has","a","unique","global","minimizer","`","x","=","[","0.20169",",","0.150011",",","0.476874",",","0.275332",",","0.311652",",","0.6573",",","1.0","]","`","with","`","H_min","=","-3.32237","`"]
docstr: Args:
      noise_std: Standard deviation of the observation noise.
      negate: If True, negate the function.
docstr_tok: ["Args",":","noise_std",":","Standard","deviation","of","the","observation","noise",".","negate",":","If","True",",","negate","the","function","."]
code: def __init__(
      self, noise_std: Optional[float] = None, negate: bool = False
  ) -> None:
      r"""
      Args:
          noise_std: Standard deviation of the observation noise.
          negate: If True, negate the function.
      """
      super().__init__(noise_std=noise_std, negate=negate)
      self.register_buffer("ALPHA", torch.tensor([1.0, 1.2, 3.0, 3.2]))
      A = [
          [10, 3, 17, 3.5, 1.7, 8],
          [0.05, 10, 17, 0.1, 8, 14],
          [3, 3.5, 1.7, 10, 17, 8],
          [17, 8, 0.05, 10, 0.1, 14],
      ]
      P = [
          [1312, 1696, 5569, 124, 8283, 5886],
          [2329, 4135, 8307, 3736, 1004, 9991],
          [2348, 1451, 3522, 2883, 3047, 6650],
          [4047, 8828, 8732, 5743, 1091, 381],
      ]
      self.register_buffer("A", torch.tensor(A, dtype=torch.float))
      self.register_buffer("P", torch.tensor(P, dtype=torch.float))
  
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 AugmentedHartmann object from inherited base classes: SyntheticTestFunction with example: obj = AugmentedHartmann(noise_std, negate)