bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / optimize / _nonlin / BroydenFirst
class
scipy.optimize._nonlin:BroydenFirst
source: build-install/usr/lib/python3.14/site-packages/scipy/optimize/_nonlin.py:866
Signature
class BroydenFirst(alpha = None, reduction_method = restart, max_rank = None)Members
Summary
Find a root of a function, using Broyden's first Jacobian approximation.
Extended Summary
This method is also known as "Broyden's good method".
Parameters
alpha: float, optionalInitial guess for the Jacobian is
(-1/alpha).reduction_method: str or tuple, optionalMethod used in ensuring that the rank of the Broyden matrix stays low. Can either be a string giving the name of the method, or a tuple of the form
(method, param1, param2, ...)that gives the name of the method and values for additional parameters.Methods available:
restart: drop all matrix columns. Has no extra parameters.simple: drop oldest matrix column. Has no extra parameters.svd: keep only the most significant SVD components. Takes an extra parameter,to_retain, which determines the number of SVD components to retain when rank reduction is done. Default ismax_rank - 2.
max_rank: int, optionalMaximum rank for the Broyden matrix. Default is infinity (i.e., no rank reduction).
Notes
This algorithm implements the inverse Jacobian Quasi-Newton update
which corresponds to Broyden's first Jacobian update
Examples
The following functions define a system of nonlinear equationsdef fun(x): return [x[0] + 0.5 * (x[0] - x[1])**3 - 1.0, 0.5 * (x[1] - x[0])**3 + x[1]]✓
from scipy import optimize sol = optimize.broyden1(fun, [0, 0])✓
sol
✗array([0.841, 0.159])
See also
- root
Interface to root finding algorithms for multivariate functions. See
method='broyden1'in particular.
Aliases
scipy.optimize.BroydenFirst