# `ulab.scipy.optimize`¶

ulab.scipy.optimize.bisect(fun: Callable[[float], float], a: float, b: float, *, xtol: float = 2.4e-07, maxiter: int = 100)
Parameters:
• f (callable) – The function to bisect

• a (float) – The left side of the interval

• b (float) – The right side of the interval

• xtol (float) – The tolerance value

• maxiter (float) – The maximum number of iterations to perform

Find a solution (zero) of the function `f(x)` on the interval (`a`..``b``) using the bisection method. The result is accurate to within `xtol` unless more than `maxiter` steps are required.

ulab.scipy.optimize.fmin(fun: Callable[[float], float], x0: float, *, xatol: float = 2.4e-07, fatol: float = 2.4e-07, maxiter: int = 200)
Parameters:
• f (callable) – The function to bisect

• x0 (float) – The initial x value

• xatol (float) – The absolute tolerance value

• fatol (float) – The relative tolerance value

Find a minimum of the function `f(x)` using the downhill simplex method. The located `x` is within `fxtol` of the actual minimum, and `f(x)` is within `fatol` of the actual minimum unless more than `maxiter` steps are requried.

ulab.scipy.optimize.newton(fun: Callable[[float], float], x0: float, *, xtol: float = 2.4e-07, rtol: float = 0.0, maxiter: int = 50)
Parameters:
• f (callable) – The function to bisect

• x0 (float) – The initial x value

• xtol (float) – The absolute tolerance value

• rtol (float) – The relative tolerance value

• maxiter (float) – The maximum number of iterations to perform

Find a solution (zero) of the function `f(x)` using Newton’s Method. The result is accurate to within `xtol * rtol * |f(x)|` unless more than `maxiter` steps are requried.