scipy.optimize — Găsirea rădăcinilor și minimizare#

Submodulul scipy.optimize oferă rutine simple pentru găsirea rădăcinilor și minimelor funcțiilor scalare definite de utilizator. Deoarece fiecare iterație trebuie să apeleze înapoi apelabilul Python furnizat de utilizator, câștigul de viteză față de o implementare pur Python este modest (de obicei aproximativ 2x).

Funcții#

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

Găsește o rădăcină a lui f în intervalul [a, b] folosind metoda bisecției. f trebuie să își schimbe semnul pe interval.

Parametrii:
  • f – apelabil care preia un singur float și returnează un float.

  • a – capătul stâng al intervalului.

  • b – capătul drept al intervalului.

  • xtol – toleranța absolută asupra poziției rădăcinii (implicit xtolerance).

  • maxiter – numărul maxim de bisecții (implicit 100).

Întoarce:

poziția rădăcinii ca float.

Generează:

ValueError – dacă 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#

Funcție-substitut pentru ajustarea curbelor prin cele mai mici pătrate neliniare (Levenberg-Marquardt). Prezentă în tabelul modulului pentru compatibilitatea API, dar momentan un substituent: acceptă și validează argumentele, dar returnează întotdeauna None. Preferați fmin() sau biblioteci externe până când această rutină este implementată.

Parametrii:
  • f – model apelabil f(x, *params) -> float.

  • xdata – obiect asemănător unui tablou 1-D de valori independente.

  • ydata – obiect asemănător unui tablou 1-D de valori dependente, de aceeași lungime ca xdata.

  • p0 – obiect asemănător unui tablou 1-D de estimări inițiale ale parametrilor.

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

Găsește poziția unui minim local al funcției scalare f folosind metoda simplexului descendent (Nelder-Mead).

Parametrii:
  • f – apelabil care preia un singur float și returnează un float.

  • x0 – estimare inițială.

  • xatol – toleranța absolută asupra poziției (implicit xtolerance).

  • fatol – toleranța absolută asupra valorii funcției (implicit xtolerance).

  • maxiter – numărul maxim de iterații (implicit 200).

Întoarce:

poziția minimului ca float.

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

Găsește un zero al funcției scalare cu valori reale f prin metoda Newton-Raphson (secantei).

Parametrii:
  • f – apelabil care preia un singur float și returnează un float.

  • x0 – estimare inițială.

  • tol – toleranța absolută asupra rădăcinii (implicit xtolerance).

  • rtol – toleranța relativă asupra rădăcinii (implicit rtolerance).

  • maxiter – numărul maxim de iterații (implicit 50).

Întoarce:

poziția rădăcinii ca float.