scipy.optimize — Nulpunten vinden en minimalisatie

De submodule scipy.optimize biedt eenvoudige routines voor het vinden van nulpunten en minima van door de gebruiker gedefinieerde scalaire functies. Omdat elke iteratie terug moet roepen naar het door de gebruiker geleverde Python-aanroepbare object, is de snelheidswinst ten opzichte van een pure Python-implementatie bescheiden (doorgaans ongeveer 2x).

Functies

scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float

Vind een nulpunt van f in het interval [a, b] met de bisectiemethode. f moet van teken wisselen op het interval.

Parameters:
  • f – aanroepbaar object dat een enkele float aanneemt en een float teruggeeft.

  • a – linkereindpunt van het interval.

  • b – rechtereindpunt van het interval.

  • xtol – absolute tolerantie op de locatie van het nulpunt (standaard xtolerance).

  • maxiter – maximaal aantal bisecties (standaard 100).

Geeft terug:

de locatie van het nulpunt als een float.

Veroorzaakt:

ValueError – als 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 voor niet-lineaire kleinste-kwadraten-curvefitting (Levenberg-Marquardt). Aanwezig in de moduletabel voor API-compatibiliteit, maar momenteel een tijdelijke aanduiding: de functie accepteert en valideert haar argumenten, maar geeft altijd None terug. Gebruik bij voorkeur fmin() of externe bibliotheken totdat deze routine is geïmplementeerd.

Parameters:
  • f – model-aanroepbaar object f(x, *params) -> float.

  • xdata – 1-D array-achtige van onafhankelijke waarden.

  • ydata – 1-D array-achtige van afhankelijke waarden, met dezelfde lengte als xdata.

  • p0 – 1-D array-achtige van initiële parameterschattingen.

scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float

Vind de positie van een lokaal minimum van de scalaire functie f met de downhill-simplex-methode (Nelder-Mead).

Parameters:
  • f – aanroepbaar object dat een enkele float aanneemt en een float teruggeeft.

  • x0 – initiële schatting.

  • xatol – absolute tolerantie op de positie (standaard xtolerance).

  • fatol – absolute tolerantie op de functiewaarde (standaard xtolerance).

  • maxiter – maximaal aantal iteraties (standaard 200).

Geeft terug:

de locatie van het minimum als een float.

scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float

Vind een nulpunt van de reëelwaardige scalaire functie f met de Newton-Raphson-methode (secansmethode).

Parameters:
  • f – aanroepbaar object dat een enkele float aanneemt en een float teruggeeft.

  • x0 – initiële schatting.

  • tol – absolute tolerantie op het nulpunt (standaard xtolerance).

  • rtol – relatieve tolerantie op het nulpunt (standaard rtolerance).

  • maxiter – maximaal aantal iteraties (standaard 50).

Geeft terug:

de locatie van het nulpunt als een float.