scipy.optimize — Pesquisa de raízes e minimização¶
O submódulo scipy.optimize fornece rotinas simples para encontrar raízes e mínimos de funções escalares definidas pelo utilizador. Como cada iteração deve efetuar um callback para o callable Python fornecido pelo utilizador, o ganho de velocidade relativamente a uma implementação em Python puro é modesto (tipicamente cerca de 2x).
Funções¶
- scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float¶
Encontra uma raiz de f no intervalo
[a, b]utilizando o método da bissecção. f deve mudar de sinal no intervalo.- Parâmetros:
f – callable que aceita um único
floate devolve umfloat.a – extremo esquerdo do intervalo.
b – extremo direito do intervalo.
xtol – tolerância absoluta na localização da raiz (predefinição
xtolerance).maxiter – número máximo de bissecções (predefinição
100).
- Retorno:
a localização da raiz como
float.- Levanta:
ValueError – se
f(a) * f(b) > 0.
- scipy.optimize.curve_fit(f: Callable[..., float], xdata: ndarray | list | tuple, ydata: ndarray | list | tuple, p0: ndarray | list | tuple, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int | None = None) None¶
Stub para ajuste de curvas por mínimos quadrados não lineares (Levenberg-Marquardt). Presente na tabela do módulo para compatibilidade de API, mas atualmente um marcador de posição: aceita e valida os seus argumentos mas devolve sempre
None. Prefirafmin()ou bibliotecas externas até esta rotina ser implementada.- Parâmetros:
f – callable do modelo
f(x, *params) -> float.xdata – array-like unidimensional de valores independentes.
ydata – array-like unidimensional de valores dependentes, com o mesmo comprimento que xdata.
p0 – array-like unidimensional de estimativas iniciais dos parâmetros.
- scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float¶
Encontra a posição de um mínimo local da função escalar f utilizando o método do simplex descendente (Nelder-Mead).
- Parâmetros:
f – callable que aceita um único
floate devolve umfloat.x0 – estimativa inicial.
xatol – tolerância absoluta na posição (predefinição
xtolerance).fatol – tolerância absoluta no valor da função (predefinição
xtolerance).maxiter – número máximo de iterações (predefinição
200).
- Retorno:
a localização do mínimo como
float.
- scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float¶
Encontra um zero da função escalar de valores reais f pelo método de Newton-Raphson (secante).
- Parâmetros:
f – callable que aceita um único
floate devolve umfloat.x0 – estimativa inicial.
tol – tolerância absoluta na raiz (predefinição
xtolerance).rtol – tolerância relativa na raiz (predefinição
rtolerance).maxiter – número máximo de iterações (predefinição
50).
- Retorno:
a localização da raiz como
float.