class_docstr: Dixon and Price objective function.
  
  This class defines the Dixon and Price global optimization problem. This
  is a multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{DixonPrice}}(x) = (x_i - 1)^2
      + \sum_{i=2}^n i(2x_i^2 - x_{i-1})^2
  
  
  Here, :math:`n` represents the number of dimensions and
  :math:`x_i \in [-10, 10]` for :math:`i = 1, ..., n`.
  
  *Global optimum*: :math:`f(x_i) = 0` for
  :math:`x_i = 2^{- \frac{(2^i - 2)}{2^i}}` for :math:`i = 1, ..., n`
  
  .. [1] Jamil, M. & Yang, X.-S. A Literature Survey of Benchmark Functions
  For Global Optimization Problems Int. Journal of Mathematical Modelling
  and Numerical Optimisation, 2013, 4, 150-194.
  
  TODO: Gavana code not correct.  i array should start from 2.
code: def fun(self, x, *args):
      self.nfev += 1
  
      i = arange(2, self.N + 1)
      s = i * (2.0 * x[1:] ** 2.0 - x[:-1]) ** 2.0
      return sum(s) + (x[0] - 1.0) ** 2.0
  
imports: import numpy
  from numpy import abs, cos, exp, arange, pi, sin, sqrt, sum, zeros, tanh
  from numpy.testing import assert_almost_equal
  from .go_benchmark import Benchmark
label_desc: Use image node_id 2 for calling the DixonPrice obj's underlying member method code with example usage: obj.fun(x) and returns: unknown