scipy.optimize — מציאת שורשים ומזעור

תת-המודול scipy.optimize מספק שגרות פשוטות למציאת שורשים ומינימה של פונקציות סקלריות המוגדרות על ידי המשתמש. מכיוון שכל איטרציה חייבת לקרוא בחזרה לאובייקט הקריא של Python שסיפק המשתמש, הרווח במהירות לעומת מימוש Python טהור הוא צנוע (בדרך כלל פי 2 בקירוב).

פונקציות

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

מציאת שורש של f בתחום [a, b] באמצעות שיטת החצייה (bisection). f חייבת לשנות סימן בקטע.

פרמטרים:
  • f – אובייקט קריא (callable) המקבל float יחיד ומחזיר float.

  • a – הקצה השמאלי של התחום.

  • b – הקצה הימני של התחום.

  • xtol – סבילות מוחלטת על מיקום השורש (ברירת מחדל xtolerance).

  • maxiter – מספר מרבי של חציות (ברירת מחדל 100).

מחזיר:

מיקום השורש כ-float.

מעלה:

ValueError – אם 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) להתאמת עקומה בריבועים פחותים לא-לינאריים (Levenberg-Marquardt). קיימת בטבלת המודול לצורך תאימות API אך כרגע היא רק מציין מקום: היא מקבלת ומאמתת את ארגומנטיה אך תמיד מחזירה None. העדיפו את fmin() או ספריות חיצוניות עד שתמומש שגרה זו.

פרמטרים:
  • f – מודל קריא (callable) f(x, *params) -> float.

  • xdata – אובייקט דמוי-מערך חד-ממדי של ערכים בלתי תלויים.

  • ydata – אובייקט דמוי-מערך חד-ממדי של ערכים תלויים, באותו אורך כמו xdata.

  • p0 – אובייקט דמוי-מערך חד-ממדי של אומדנים התחלתיים לפרמטרים.

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

מציאת מיקום של מינימום מקומי של הפונקציה הסקלרית f באמצעות שיטת הסימפלקס היורד (Nelder-Mead).

פרמטרים:
  • f – אובייקט קריא (callable) המקבל float יחיד ומחזיר float.

  • x0 – ניחוש התחלתי.

  • xatol – סבילות מוחלטת על המיקום (ברירת מחדל xtolerance).

  • fatol – סבילות מוחלטת על ערך הפונקציה (ברירת מחדל xtolerance).

  • maxiter – מספר מרבי של איטרציות (ברירת מחדל 200).

מחזיר:

מיקום המינימום כ-float.

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

מציאת אפס של הפונקציה הסקלרית הממשית f בשיטת Newton-Raphson (החותך).

פרמטרים:
  • f – אובייקט קריא (callable) המקבל float יחיד ומחזיר float.

  • x0 – ניחוש התחלתי.

  • tol – סבילות מוחלטת על השורש (ברירת מחדל xtolerance).

  • rtol – סבילות יחסית על השורש (ברירת מחדל rtolerance).

  • maxiter – מספר מרבי של איטרציות (ברירת מחדל 50).

מחזיר:

מיקום השורש כ-float.