class_docstr: Decorator that caches the value gradient of function each time it
  is called. 
class_docstr_tok: ["Decorator","that","caches","the","value","gradient","of","function","each","time","it","is","called","."]
code: def __init__(self, fun):
      self.fun = fun
      self.jac = None
      self.x = None
  
imports: from __future__ import division, print_function, absolute_import
  import warnings
  import sys
  import numpy
  from scipy._lib.six import callable, xrange
  from numpy import atleast_1d, eye, mgrid, argmin, zeros, shape, squeeze, vectorize, asarray, sqrt, Inf, asfarray, isinf
  import numpy
  from .linesearch import line_search_wolfe1, line_search_wolfe2, line_search_wolfe2, LineSearchWarning
  from scipy._lib._util import getargspec_no_self
label_desc: Use image node_id 1 to create a new MemoizeJac object from inherited base classes: object with example: obj = MemoizeJac(fun)