5.4.10 · HinglishScientific Computing (Python)

scipy.optimize — minimize, fsolve, curve_fit, linprog

1,849 words8 min readRead in English

5.4.10 · Coding › Scientific Computing (Python)


YE TOOLS EXIST KYU KARTE HAIN

Poori family ek mathematical observation par bani hai: minimum par, gradient zero hota hai.

Yahi reason hai ki minimization aur root-finding secretly ek hi problem hai: minimizing = finding a root of . Alag APIs, ek hi skeleton.


Engine derive karna: Newton's method (charon ka dil)

fsolve ek multidimensional version use karta hai (Jacobian , ki jagah aata hai): . minimize methods jaise 'Newton-CG', 'BFGS' Hessian (ya uska approximation) use karte hain.


Least squares — jahan se curve_fit aata hai


linprog — linear special case

Figure — scipy.optimize — minimize, fsolve, curve_fit, linprog

Worked examples


Common mistakes (steel-manned)


Recall Feynman: 12-saal ke bachche ko explain karo

Socho tum ek pahaadi maidan mein aankhon par patti baandhke ho aur sabse nichla point chahiye. Tum feel karte ho ki zameen kis taraf jhuki hai aur ek step neechay lete ho, baar baar — yahi minimize hai. Agar iske bajaay tum woh jagah chahte ho jahan zameen exactly samudra ke level par bilkul flat ho, toh yahi fsolve ek zero dhundhna hai. curve_fit aisa hai jaise ek stretchy string ko bikhari hui dots ke opar se jitna ho sake snugly guzaaro. linprog ek shahar jaisa hai jisme seedhi sadkein hain aur ek "sabse nichla" corner hai — tum bas walls ke saath chalte ho sabse achhe corner tak. Har baar ek hi idea: tab tak step karte raho jab tak improve na kar sako.


Flashcards

scipy.optimize.minimize kya minimize karta hai?
Ek scalar objective , woh return karta hai jo sabse chhoti value deta hai.
Minimization aur root-finding ek hi problem kyun hain?
minimize karna = uske gradient ka root dhundhna.
ke liye Newton update derive karo.
linearize karo .
curve_fit residuals ko square kyun karta hai?
Squares errors ko positive rakhte hain (koi cancellation nahi) aur Gaussian noise ke under maximum-likelihood fit dete hain.
linprog se MAXIMIZE karne ke liye kya change karna hota hai?
Cost vector c negate karo (aur true value ke liye -res.fun report karo); linprog sirf minimize karta hai.
LP optimum ek vertex par kyun hota hai?
Ek linear objective ka constant gradient hota hai, isliye ye feasible polytope ke corner tak improve karta rehta hai.
OptimizeResult mein solution vs value kaunse attribute mein hota hai?
.x solution hai, .fun objective value hai, .success convergence flag hai.
fsolve kabhi kabhi "galat" root kyun deta hai?
Ye ek local method hai — ye x0 ke sabse paas wale root par converge karta hai; doosre roots ke liye seed change karo.
curve_fit se pcov ka diagonal kya deta hai?
Fitted parameters ke variances; sqrt(diag(pcov)) 1σ uncertainties hain.
Equations ke system ke liye fsolve vs minimize kab use karo?
fsolve system ko zero banane ke liye; minimize tabhi jab genuinely ek scalar ki sabse chhoti value chahiye.

Connections

  • Newton's Method — minimize aur fsolve ka shared iterative core
  • Gradient and Hessian — convergence conditions (, )
  • Least Squares Regression — curve_fit ke peechay ki theory
  • Linear Programming Simplex — algorithm inside linprog
  • NumPy polyfit — closed-form linear-fit alternative
  • Convex Optimization — jab local min hi global min hota hai

Concept Map

minimizing f = root of grad f

update rule

multidimensional via

uses

uses

minimized by Levenberg-Marquardt

is a special case of

set dS/dtheta = 0

linear version of

Stationary point grad f = 0

Newton step iteration

minimize scalar objective

fsolve roots F x = 0

curve_fit fit data

linprog linear objective

Least-squares objective S theta

Jacobian J

Hessian H