scipy.optimize — Gyökkeresés és minimalizálás

A scipy.optimize almodul egyszerű rutinokat biztosít a felhasználó által definiált skaláris függvények gyökeinek és minimumainak megkereséséhez. Mivel minden iterációnak vissza kell hívnia a felhasználó által megadott Python hívható objektumot, a tisztán Python-implementációhoz képesti sebességnyereség szerény (jellemzően nagyjából 2-szeres).

Függvények

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

Az f egy gyökének megkeresése az [a, b] zárójeltartományban a felezési módszerrel. Az f-nek előjelet kell váltania az intervallumon.

Paraméterek:
  • f – egyetlen float értéket fogadó és float értéket visszaadó hívható objektum.

  • a – a zárójeltartomány bal végpontja.

  • b – a zárójeltartomány jobb végpontja.

  • xtol – abszolút tűrés a gyök helyére (alapértelmezett xtolerance).

  • maxiter – a felezések maximális száma (alapértelmezett 100).

Visszatérési érték:

a gyök helye float típusként.

Kivétel:

ValueError – ha 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

Csonk a nemlineáris legkisebb négyzetes görbeillesztéshez (Levenberg-Marquardt). Az API-kompatibilitás kedvéért szerepel a modultáblában, de jelenleg csak helykitöltő: elfogadja és validálja az argumentumait, de mindig None értéket ad vissza. Amíg ez a rutin nincs implementálva, inkább a fmin() vagy külső könyvtárak ajánlottak.

Paraméterek:
  • f – modell hívható objektum: f(x, *params) -> float.

  • xdata – a független értékek 1-D tömbszerű adata.

  • ydata – a függő értékek 1-D tömbszerű adata, az xdata-val azonos hosszúsággal.

  • p0 – a kezdeti paraméterbecslések 1-D tömbszerű adata.

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

Az f skaláris függvény lokális minimumának helyét keresi meg a lejtőmenti szimplex (Nelder-Mead) módszerrel.

Paraméterek:
  • f – egyetlen float értéket fogadó és float értéket visszaadó hívható objektum.

  • x0 – kezdeti becslés.

  • xatol – abszolút tűrés a pozícióra (alapértelmezett xtolerance).

  • fatol – abszolút tűrés a függvényértékre (alapértelmezett xtolerance).

  • maxiter – az iterációk maximális száma (alapértelmezett 200).

Visszatérési érték:

a minimum helye float típusként.

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

Az f valós értékű, skaláris függvény zérushelyének megkeresése a Newton-Raphson (szelő) módszerrel.

Paraméterek:
  • f – egyetlen float értéket fogadó és float értéket visszaadó hívható objektum.

  • x0 – kezdeti becslés.

  • tol – abszolút tűrés a gyökre (alapértelmezett xtolerance).

  • rtol – relatív tűrés a gyökre (alapértelmezett rtolerance).

  • maxiter – az iterációk maximális száma (alapértelmezett 50).

Visszatérési érték:

a gyök helye float típusként.