scipy.optimize — Nullstellensuche und Minimierung¶
Das Submodul scipy.optimize stellt einfache Routinen zum Auffinden von Nullstellen und Minima benutzerdefinierter skalarer Funktionen bereit. Da jede Iteration in das vom Benutzer bereitgestellte Python-Callable zurückrufen muss, ist der Geschwindigkeitsgewinn gegenüber einer reinen Python-Implementierung gering (typischerweise etwa 2x).
Funktionen¶
- scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float¶
Findet eine Nullstelle von f im Intervall
[a, b]mit dem Bisektionsverfahren. f muss auf dem Intervall das Vorzeichen wechseln.- Parameter:
f – ein aufrufbares Objekt, das einen einzelnen
floatentgegennimmt und einenfloatzurückgibt.a – linker Endpunkt des Intervalls.
b – rechter Endpunkt des Intervalls.
xtol – absolute Toleranz für die Lage der Nullstelle (Standardwert
xtolerance).maxiter – maximale Anzahl von Bisektionen (Standardwert
100).
- Rückgabe:
die Lage der Nullstelle als
float.- Verursacht:
ValueError – wenn
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 für nichtlineare Kurvenanpassung nach der Methode der kleinsten Quadrate (Levenberg-Marquardt). In der Modultabelle aus Gründen der API-Kompatibilität vorhanden, derzeit jedoch ein Platzhalter: Die Funktion akzeptiert und validiert ihre Argumente, gibt aber stets
Nonezurück. Bevorzugen Siefmin()oder externe Bibliotheken, bis diese Routine implementiert ist.- Parameter:
f – Modell-Callable
f(x, *params) -> float.xdata – 1-D-array-ähnliches Objekt unabhängiger Werte.
ydata – 1-D-array-ähnliches Objekt abhängiger Werte, gleiche Länge wie xdata.
p0 – 1-D-array-ähnliches Objekt anfänglicher Parameterschätzungen.
- scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float¶
Findet die Position eines lokalen Minimums der skalaren Funktion f mit dem Downhill-Simplex-Verfahren (Nelder-Mead).
- Parameter:
f – ein aufrufbares Objekt, das einen einzelnen
floatentgegennimmt und einenfloatzurückgibt.x0 – Anfangsschätzung.
xatol – absolute Toleranz für die Position (Standardwert
xtolerance).fatol – absolute Toleranz für den Funktionswert (Standardwert
xtolerance).maxiter – maximale Anzahl von Iterationen (Standardwert
200).
- Rückgabe:
die Lage des Minimums als
float.
- scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float¶
Findet eine Nullstelle der reellwertigen, skalaren Funktion f mit dem Newton-Raphson-Verfahren (Sekantenverfahren).
- Parameter:
f – ein aufrufbares Objekt, das einen einzelnen
floatentgegennimmt und einenfloatzurückgibt.x0 – Anfangsschätzung.
tol – absolute Toleranz für die Nullstelle (Standardwert
xtolerance).rtol – relative Toleranz für die Nullstelle (Standardwert
rtolerance).maxiter – maximale Anzahl von Iterationen (Standardwert
50).
- Rückgabe:
die Lage der Nullstelle als
float.