#### Previous topic

root(method=’hybr’)

#### Next topic

root(method=’broyden1’)

# root(method=’lm’)

`scipy.optimize.``root`(fun, x0, args=(), method='lm', jac=None, tol=None, callback=None, options={'col_deriv': 0, 'diag': None, 'factor': 100, 'gtol': 0.0, 'eps': 0.0, 'func': None, 'maxiter': 0, 'xtol': 1.49012e-08, 'ftol': 1.49012e-08})

  Solve for least squares with Levenberg-Marquardt

  See also

  For documentation for the rest of the parameters, see `scipy.optimize.root`

  Options: | col_deriv : bool non-zero to specify that the Jacobian function computes derivatives down the columns (faster, because there is no transpose operation). ftol : float Relative error desired in the sum of squares. xtol : float Relative error desired in the approximate solution. gtol : float Orthogonality desired between the function vector and the columns of the Jacobian. maxiter : int 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. epsfcn : float A suitable step length for the forward-difference approximation of the Jacobian (for Dfun=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 A parameter determining the initial step bound (`factor * || diag * x||`). Should be in interval `(0.1, 100)`. diag : sequence N positive entries that serve as a scale factors for the variables.