def _nonlin_wrapper(name, jac):
import inspect<EOL>args, varargs, varkw, defaults = inspect.getargspec(jac.__init__)<EOL>kwargs = list(zip(args[-len(defaults):], defaults))<EOL>kw_str = "<STR_LIT:U+002CU+0020>".join(["<STR_LIT>" % (k, v) for k, v in kwargs])<EOL>if kw_str:<EOL><INDENT>kw_str = "<STR_LIT:U+002CU+0020>" + kw_str<EOL><DEDENT>kwkw_str = "<STR_LIT:U+002CU+0020>".join(["<STR_LIT>" % (k, k) for k, v in kwargs])<EOL>if kwkw_str:<EOL><INDENT>kwkw_str = kwkw_str + "<STR_LIT:U+002CU+0020>"<EOL><DEDENT>wrapper =
Construct a solver wrapper with given name and jacobian approx.

It inspects the keyword arguments of ``jac.__init__``, and allows to
use the same arguments in the wrapper function, in addition to the
keyword arguments of `nonlin_solve`