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","`","."]
code: def evaluate_true(self, X: Tensor) -> Tensor:
      X_curr = X[..., :-3]
      X_next = X[..., 1:-2]
      t1 = 100 * (X_next - X_curr**2 + 0.1 * (1 - X[..., -2:-1])) ** 2
      t2 = (X_curr - 1 + 0.1 * (1 - X[..., -1:]) ** 2) ** 2
      return -((t1 + t2).sum(dim=-1))
  
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 2 for calling the AugmentedRosenbrock obj's underlying member method code with example usage: obj.evaluate_true(X) and returns: unknown