[Math] the function fsolve in python doing mathematically

linear algebranonlinear systemnumerical linear algebrapythonroots

In the Python documentation for fsolve it says "Return the roots of the (non-linear) equations defined by func(x) = 0 given a starting estimate" f(x, *args). I wondered if anyone knew the mathematical mechanics behind what fsolve is actually doing?
Thanks.

Best Answer

You can just check the source code.

fsolve is a wrapper around MINPACK's hybrd and hybrj algorithms.

Leading to minpack. Hybrd and hybrj are essentially the same, but hybrd uses forward differences to compute the jacobian whereas hybrj requires the user to provide the jacobian. They use Powell's method, with the modifications described in the previous link to minpack.