scipy.optimize — Recherche de racines et minimisation¶
Le sous-module scipy.optimize fournit des routines simples pour trouver les racines et les minima de fonctions scalaires définies par l’utilisateur. Comme chaque itération doit rappeler l’objet appelable Python fourni par l’utilisateur, le gain de vitesse par rapport à une implémentation en pur Python est modeste (typiquement environ 2x).
Fonctions¶
- scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float¶
Trouve une racine de f dans l’encadrement
[a, b]à l’aide de la méthode de bissection. f doit changer de signe sur l’intervalle.- Paramètres:
f – objet appelable prenant un unique
floatet renvoyant unfloat.a – extrémité gauche de l’encadrement.
b – extrémité droite de l’encadrement.
xtol – tolérance absolue sur la position de la racine (par défaut
xtolerance).maxiter – nombre maximal de bissections (par défaut
100).
- Renvoie:
la position de la racine sous forme de
float.- Lève:
ValueError – si
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¶
Ébauche pour l’ajustement de courbe par moindres carrés non linéaires (Levenberg-Marquardt). Présente dans la table du module à des fins de compatibilité d’API mais actuellement un simple espace réservé : elle accepte et valide ses arguments mais renvoie toujours
None. Préférezfmin()ou des bibliothèques externes tant que cette routine n’est pas implémentée.- Paramètres:
f – modèle appelable
f(x, *params) -> float.xdata – objet de type tableau 1-D de valeurs indépendantes.
ydata – objet de type tableau 1-D de valeurs dépendantes, de même longueur que xdata.
p0 – objet de type tableau 1-D d’estimations initiales des paramètres.
- scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float¶
Trouve la position d’un minimum local de la fonction scalaire f à l’aide de la méthode du simplexe descendant (Nelder-Mead).
- Paramètres:
f – objet appelable prenant un unique
floatet renvoyant unfloat.x0 – estimation initiale.
xatol – tolérance absolue sur la position (par défaut
xtolerance).fatol – tolérance absolue sur la valeur de la fonction (par défaut
xtolerance).maxiter – nombre maximal d’itérations (par défaut
200).
- Renvoie:
la position du minimum sous forme de
float.
- scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float¶
Trouve un zéro de la fonction scalaire à valeurs réelles f par la méthode de Newton-Raphson (de la sécante).
- Paramètres:
f – objet appelable prenant un unique
floatet renvoyant unfloat.x0 – estimation initiale.
tol – tolérance absolue sur la racine (par défaut
xtolerance).rtol – tolérance relative sur la racine (par défaut
rtolerance).maxiter – nombre maximal d’itérations (par défaut
50).
- Renvoie:
la position de la racine sous forme de
float.