func : callable f(x, *args)
A function that takes at least one (possibly vector) argument.
x0 : ndarray
The starting estimate for the roots of func(x) = 0.
args : tuple, optional
Any extra arguments to func.
fprime : callable(x), optional
A function to compute the Jacobian of func with derivatives
across the rows. By default, the Jacobian will be estimated.
full_output : bool, optional
If True, return optional outputs.
col_deriv : bool, optional
Specify whether the Jacobian function computes derivatives down
the columns (faster, because there is no transpose operation).
xtol : float
The calculation will terminate if the relative error between two
consecutive iterates is at most xtol.
maxfev : int, optional
The maximum number of calls to the function. If zero, then
100*(N+1) is the maximum where N is the number of elements
in x0.
band : tuple, optional
If set to a twosequence containing the number of sub and
superdiagonals within the band of the Jacobi matrix, the
Jacobi matrix is considered banded (only for fprime=None).
epsfcn : float, optional
A suitable step length for the forwarddifference
approximation of the Jacobian (for fprime=None). If
epsfcn is less than the machine precision, it is assumed
that the relative errors in the functions are of the order of
the machine precision.
factor : float, optional
A parameter determining the initial step bound
(factor *  diag * x). Should be in the interval
(0.1, 100).
diag : sequence, optional
N positive entries that serve as a scale factors for the
variables.
