def __init__(self, fun, anagrad, epsilon):
self.fun = fun<EOL>self.anagrad = anagrad<EOL>self.epsilon = epsilon<EOL>self.axis = None<EOL>self.x0 = None<EOL>
Argument:
 | ``fun``  --  a multivariate function, see below
 | ``anagrad``  --  boolean that indicates if fun supports analytical
                    gradients
 | ``epsilon``  --  a small scalar used for finite differences

The function ``fun`` takes a mandatory argument ``x`` and an optional
argument ``do_gradient``:
 | ``x``  --  the arguments of the function to be tested
 | ``do_gradient``  --  when False, only the function value is
                        returned. when True, a 2-tuple with the
                        function value and the gradient are returned
                        [default=False]