scipy.optimize.fsolve¶
- scipy.optimize.fsolve(func, x0, args=(), fprime=None, full_output=0, col_deriv=0, xtol=1.49012e-08, maxfev=0, band=None, epsfcn=None, factor=100, diag=None)[source]¶
- Find the roots of a function. - Return the roots of the (non-linear) equations defined by func(x) = 0 given a starting estimate. - Parameters: - 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, optional - 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 two-sequence containing the number of sub- and super-diagonals 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 forward-difference 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. - Returns: - x : ndarray - The solution (or the result of the last iteration for an unsuccessful call). - infodict : dict - A dictionary of optional outputs with the keys: - nfev
- number of function calls 
- njev
- number of Jacobian calls 
- fvec
- function evaluated at the output 
- fjac
- the orthogonal matrix, q, produced by the QR factorization of the final approximate Jacobian matrix, stored column wise 
- r
- upper triangular matrix produced by QR factorization of the same matrix 
- qtf
- the vector (transpose(q) * fvec) 
 - ier : int - An integer flag. Set to 1 if a solution was found, otherwise refer to mesg for more information. - mesg : str - If no solution is found, mesg details the cause of failure. - Notes - fsolve is a wrapper around MINPACK’s hybrd and hybrj algorithms. 
