docstr: Cost function for the least square problem. The cost function is used
  in the Least Squares function of SciPy in :func: `fit`. It guarantees
  that stopping point of the algorithm is at least a stationary point
  with reduction in the the number of iterations required by the
  differential evolution optimizer.
  
  Parameters
  ----------
  x_f : array
      Contains the parameters 'x' and 'f' combines in the same array.
  
  signal : array
      The signal values measured for this model.
  
  Returns
  -------
  sum{(signal -  phi*f)^2}
  
  Notes
  -----
  cost function for the least square problem.
  
  .. math::
  
      sum{(signal -  phi*f)^2}
code: def nlls_cost(self, x_f, signal):
      """
      Cost function for the least square problem. The cost function is used
      in the Least Squares function of SciPy in :func: `fit`. It guarantees
      that stopping point of the algorithm is at least a stationary point
      with reduction in the the number of iterations required by the
      differential evolution optimizer.
  
      Parameters
      ----------
      x_f : array
          Contains the parameters 'x' and 'f' combines in the same array.
  
      signal : array
          The signal values measured for this model.
  
      Returns
      -------
      sum{(signal -  phi*f)^2}
  
      Notes
      -----
      cost function for the least square problem.
  
      .. math::
  
          sum{(signal -  phi*f)^2}
      """
  
      x, f = self.x_f_to_x_and_f(x_f)
      f1 = np.array([f, 1 - f])
      phi = self.phi(x)
      return np.sum((np.dot(phi, f1) - signal) ** 2)
  
imports: import warnings
  import numpy
  from scipy.optimize import least_squares, differential_evolution
  from dipy.reconst.base import ReconstModel
  from dipy.reconst.multi_voxel import multi_voxel_fit
  from dipy.utils.optpkg import optional_package
label_desc: Use image node_id 6 for calling the IvimModelVP obj's underlying member method code with example usage: obj.nlls_cost(x_f, signal) and returns: np