def METHOD_NAME(epsilon, ndim=2):
    def f(x):
        x = np.asarray(x)
        y = x.copy()
        y *= np.power(epsilon, np.arange(ndim))
        return 0.33 * np.sum(y**2)
    def f_prime(x):
        x = np.asarray(x)
        y = x.copy()
        scaling = np.power(epsilon, np.arange(ndim))
        y *= scaling
        return 0.33 * 2 * scaling * y
    def hessian(x):
        scaling = np.power(epsilon, np.arange(ndim))
        return 0.33 * 2 * np.diag(scaling)
    return f, f_prime, hessian