class_docstr: Rosenbrock function.
  
  The following optimization problem:
      minimize sum(100.0*(x[1:] - x[:-1]**2.0)**2.0 + (1 - x[:-1])**2.0)
class_docstr_tok: ["Rosenbrock","function",".","The","following","optimization","problem",":","minimize","sum","(","100.0","*","(","x","[","1",":","]","-","x","[",":","-1","]","*","*","2.0",")","*","*","2.0","+","(","1","-","x","[",":","-1","]",")","*","*","2.0",")"]
code: def grad(self, x):
      x = np.asarray(x)
      xm = x[1:-1]
      xm_m1 = x[:-2]
      xm_p1 = x[2:]
      der = np.zeros_like(x)
      der[1:-1] = (
          200 * (xm - xm_m1**2)
          - 400 * (xm_p1 - xm**2) * xm
          - 2 * (1 - xm)
      )
      der[0] = -400 * x[0] * (x[1] - x[0] ** 2) - 2 * (1 - x[0])
      der[-1] = 200 * (x[-1] - x[-2] ** 2)
      return der
  
file_path: catboost/contrib/python/scipy/py2/scipy/optimize/tests/test_hessian_update_strategy.py
imports: from __future__ import division, print_function, absolute_import
  import numpy
  from copy import deepcopy
  from numpy.linalg import norm
  from numpy.testing import TestCase, assert_array_almost_equal, assert_array_equal, assert_array_less, assert_raises, assert_equal, assert_, run_module_suite, assert_allclose, assert_warns, dec
  from scipy.optimize import BFGS, SR1, HessianUpdateStrategy, minimize
label_desc: Use image node_id 3 for calling the Rosenbrock obj's underlying member method code with example usage: obj.grad(x) and returns: der