scipy.optimize --- Pencarian akar dan minimisasi

Submodul scipy.optimize menyediakan rutin sederhana untuk mencari akar dan minimum dari fungsi skalar yang didefinisikan pengguna. Karena setiap iterasi harus memanggil balik callable Python yang disediakan pengguna, peningkatan kecepatan dibandingkan implementasi Python murni cukup sederhana (biasanya sekitar 2x).

Fungsi

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

Mencari akar f dalam kurung [a, b] menggunakan metode biseksi. f harus berganti tanda pada interval tersebut.

Parameter:
  • f -- callable yang menerima satu float dan mengembalikan float.

  • a -- titik ujung kiri kurung.

  • b -- titik ujung kanan kurung.

  • xtol -- toleransi absolut pada lokasi akar (default xtolerance).

  • maxiter -- jumlah maksimum biseksi (default 100).

Kembali:

lokasi akar sebagai float.

Pengecualian:

ValueError -- jika 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 untuk fitting kurva kuadrat-terkecil non-linear (Levenberg-Marquardt). Ada dalam tabel modul untuk kompatibilitas API tetapi saat ini merupakan placeholder: menerima dan memvalidasi argumennya tetapi selalu mengembalikan None. Gunakan fmin() atau library eksternal sampai rutin ini diimplementasikan.

Parameter:
  • f -- callable model f(x, *params) -> float.

  • xdata -- array-like 1-D dari nilai independen.

  • ydata -- array-like 1-D dari nilai dependen, panjang sama dengan xdata.

  • p0 -- array-like 1-D dari estimasi parameter awal.

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

Mencari posisi minimum lokal dari fungsi skalar f menggunakan metode simpleks menurun (Nelder-Mead).

Parameter:
  • f -- callable yang menerima satu float dan mengembalikan float.

  • x0 -- tebakan awal.

  • xatol -- toleransi absolut pada posisi (default xtolerance).

  • fatol -- toleransi absolut pada nilai fungsi (default xtolerance).

  • maxiter -- jumlah maksimum iterasi (default 200).

Kembali:

lokasi minimum sebagai float.

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

Mencari nol dari fungsi skalar bernilai-real f menggunakan metode Newton-Raphson (secant).

Parameter:
  • f -- callable yang menerima satu float dan mengembalikan float.

  • x0 -- tebakan awal.

  • tol -- toleransi absolut pada akar (default xtolerance).

  • rtol -- toleransi relatif pada akar (default rtolerance).

  • maxiter -- jumlah maksimum iterasi (default 50).

Kembali:

lokasi akar sebagai float.