for the inner Krylov iteration.
        Note that you can use also inverse Jacobians as (adaptive)
        preconditioners. For example,

        >>> jac = BroydenFirst()
        >>> kjac = KrylovJacobian(inner_M=jac.inverse).

        If the preconditioner has a method named 'update', it will
        be called as ``update(x, f)`` after each nonlinear step,
        with ``x`` giving the current point, and ``f`` the current
        function value.
    inner_rtol, inner_atol, inner_callback, ...
        Parameters to pass on to the "inner" Krylov solver.

        For a full list of options, see the documentation for the
        solver you are using. By default this is `scipy.sparse.linalg.lgmres`.
        If the solver has been overridden through `method`, see the documentation
        for that solver instead.
        To use an option for that solver, prepend ``inner_`` to it.
        For example, to control the ``rtol`` argument to the solver,
        set the `inner_rtol` option here.

    outer_k : int, optional
        Size of the subspace kept across LGMRES nonlinear
        iterations.

        See `scipy.sparse.linalg.lgmres` for details.
NrG