code: def func2d_easyderiv(x):
      f = (
          2.0 * x[0] ** 2
          + 2.0 * x[0] * x[1]
          + 2.0 * x[1] ** 2
          - 6.0 * x[0]
      )
      df = np.zeros(2)
      df[0] = 4.0 * x[0] + 2.0 * x[1] - 6.0
      df[1] = 2.0 * x[0] + 4.0 * x[1]
  
      return f, df
  
imports: from __future__ import division, print_function, absolute_import
  import copy
  from numpy.testing import assert_almost_equal, assert_equal, assert_
  from pytest import raises
  import numpy
  from numpy import cos, sin
  from scipy.optimize import basinhopping, OptimizeResult
  from scipy.optimize._basinhopping import Storage, RandomDisplacement, Metropolis, AdaptiveStepsize
label_desc: Use image node_id 4 for calling a global function with example usage: func2d_easyderiv(x) and returns: f,  df