'This is the derivative of fun, returning a numpy array
representing df/dx and df/dy.'

def jac(self, d, sign=1.0):

    x = d[0]
    y = d[1]
    dfdx = (sign * ((((-2) * x) + (2 * y)) + 2))
    dfdy = (sign * ((2 * x) - (4 * y)))
    return np.array([dfdx, dfdy], float)
