scipy.optimize — Kök bulma ve minimizasyon

scipy.optimize alt modülü, kullanıcı tanımlı skaler fonksiyonların köklerini ve minimumlarını bulmak için basit rutinler sağlar. Her yineleme kullanıcının sağladığı Python çağrılabilir nesnesine geri çağrı yapmak zorunda olduğundan, saf Python uygulamasına göre hız kazancı mütevazıdır (genellikle yaklaşık 2 kat).

Fonksiyonlar

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

İkiye bölme yöntemini kullanarak [a, b] parantezi içinde f fonksiyonunun bir kökünü bulur. f fonksiyonu aralıkta işaret değiştirmelidir.

Parametreler:
  • f – tek bir float alan ve bir float döndüren çağrılabilir nesne.

  • a – parantezin sol uç noktası.

  • b – parantezin sağ uç noktası.

  • xtol – kök konumu üzerinde mutlak tolerans (varsayılan xtolerance).

  • maxiter – maksimum ikiye bölme sayısı (varsayılan 100).

Dönüşler:

kökün float türündeki konumu.

Harekete geçirir:

ValueErrorf(a) * f(b) > 0 ise.

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

Doğrusal olmayan en küçük kareler eğri uydurma (Levenberg-Marquardt) için saplama. API uyumluluğu için modül tablosunda bulunur ancak şu anda bir yer tutucudur: argümanlarını kabul edip doğrular ama her zaman None döndürür. Bu rutin uygulanana kadar fmin() veya harici kütüphaneleri tercih edin.

Parametreler:
  • f – model çağrılabilir nesnesi f(x, *params) -> float.

  • xdata – bağımsız değerlerden oluşan 1 boyutlu dizi benzeri.

  • ydata – bağımlı değerlerden oluşan 1 boyutlu dizi benzeri; xdata ile aynı uzunlukta.

  • p0 – başlangıç parametre tahminlerinden oluşan 1 boyutlu dizi benzeri.

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

Aşağı yokuş simpleks (Nelder-Mead) yöntemini kullanarak f skaler fonksiyonunun bir yerel minimumunun konumunu bulur.

Parametreler:
  • f – tek bir float alan ve bir float döndüren çağrılabilir nesne.

  • x0 – başlangıç tahmini.

  • xatol – konum üzerinde mutlak tolerans (varsayılan xtolerance).

  • fatol – fonksiyon değeri üzerinde mutlak tolerans (varsayılan xtolerance).

  • maxiter – maksimum yineleme sayısı (varsayılan 200).

Dönüşler:

minimumun float türündeki konumu.

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

Newton-Raphson (sekant) yöntemiyle f gerçek değerli skaler fonksiyonunun bir sıfırını bulur.

Parametreler:
  • f – tek bir float alan ve bir float döndüren çağrılabilir nesne.

  • x0 – başlangıç tahmini.

  • tol – kök üzerinde mutlak tolerans (varsayılan xtolerance).

  • rtol – kök üzerinde göreli tolerans (varsayılan rtolerance).

  • maxiter – maksimum yineleme sayısı (varsayılan 50).

Dönüşler:

kökün float türündeki konumu.