class_docstr: Rosenbrock function
  
  :param bounds: the box constraints to define the domain in which the function is optimized.
  :param sd: standard deviation, to generate noisy evaluations of the function.
class_docstr_tok: ["Rosenbrock","function",":","param","bounds",":","the","box","constraints","to","define","the","domain","in","which","the","function","is","optimized",".",":","param","sd",":","standard","deviation",",","to","generate","noisy","evaluations","of","the","function","."]
code: def __init__(self, bounds=None, sd=None):
      self.input_dim = 2
      if bounds is None:
          self.bounds = [(-0.5, 3), (-1.5, 2)]
      else:
          self.bounds = bounds
      self.min = [(1, 1)]
      self.fmin = 0
      if sd == None:
          self.sd = 0
      else:
          self.sd = sd
      self.name = "Rosenbrock"
  
imports: import numpy
  from ..util.general import reshape
label_desc: Use image node_id 1 to create a new rosenbrock object from inherited base classes: function2d with example: obj = rosenbrock(bounds, sd)