Visual walkthrough — Implementing root-finding from scratch — Newton-Raphson, bisection
5.4.25 · D2· Coding › Scientific Computing (Python) › Implementing root-finding from scratch — Newton-Raphson, bis
Step 1 — "Root" kya hota hai, ek picture mein?
KYA. Hum ek wiggly curve draw karte hain. Horizontal line woh jagah hai jahan height ho. Ek root woh koi bhi jagah hai jahan curve us zero-line ko touch karta ya cross karta hai.
KYUN. Har root-finding method ek specific value ki talaash hai: woh wali jo kisi crossing point ke seedha neeche (ya upar) ho. Agar hum yeh nahi dekh sakte ki hum kya dhundh rahe hain, toh baad ki algebra sirf shor hai. Isliye hum poore page ko ek picture se anchor karte hain: root = ek crossing ka x-coordinate.
PICTURE. Figure mein curve black mein draw hai; single red dot exactly wahan baitha hai jahan woh zero-line ko chhedta hai. Us dot ki horizontal position ko kaho (padho "x-star" — star matlab woh asli jawab jo hum abhi nahi jaante).

Step 2 — Sign change kya hota hai, aur yeh root ko kaise trap karta hai
KYA. Do points chuno — (left) aur (right). Dono heights aur padho. Agar ek zero-line ke neeche (negative) hai aur doosra upar (positive), toh humein ek sign change mila.
KYUN. Ek continuous curve zero-line ke neeche se upar nahi ja sakta bina us line ko kahin beech mein touch kiye — woh "kahin" ek root hai. Yahi Intermediate Value Theorem hai saral shabdon mein. Yeh woh ek hi guarantee hai jo hume free mein milti hai, aur bisection poori tarah isi par bani hai.
PICTURE. neeche point karta hai (negative, black arrow axis ke neeche); upar point karta hai (positive). Red segment region ko mark karta hai jo ab ek crossing contain karne ki guarantee rakhta hai.

Step 3 — Bisection: trapped region ko half mein kato
KYA. Midpoint lo aur uski height mapo. ke sign ko ke sign se compare karo.
KYUN. Root kahin mein hai. Midpoint us region ko do equal halves mein split karta hai. Root us half mein rehta hai jisme abhi bhi sign change dikhta ho. Hum woh half rakhte hain, doosra phenk dete hain — aur ab uncertainty exactly half reh jaati hai jo pehle thi.
PICTURE. Poora bracket black hai. Midpoint red tick hai. Kept half (jiske ends par abhi bhi opposite sign hai) shaded hai; discarded half faded hai.

Ab naam dete hain jo shrink hota hai. Surviving interval ki length ko uski width kaho. Hum yeh cut baar baar karte hain — pehla cut, doosra cut, teesra cut — toh se count karte hain kitne cuts ab tak ho chuke hain, aur likhte hain un cuts ke baad ki width ke liye. Toh starting width hai (abhi zero cuts), ek cut ke baad ki width hai, wagairah. Yeh exactly woh loop hai jo baar run hota hai.
- Ek cut ke baad kaun sa half bachta hai? ::: Woh jiske dono endpoints ki heights ke abhi bhi opposite signs hon.
- Bisection reliability mein kyun unbeatable hai? ::: Yeh root ko shrinking bracket se kabhi escape nahi karne deta — trap sirf tighter hota jaata hai.
Step 4 — Newton ka idea: curve ko uski tangent se replace karo
KYA. Curve par guess par khado. Woh straight line draw karo jo wahan curve ko just graze kare — tangent line. Uski steepness kehlati hai (padho "f-prime"), woh spot par curve ka slope.
KYUN. Curve kahan zero hit karta hai dhundhna mushkil hai. Straight line kahan zero hit karti hai dhundhna primary school algebra hai. Toh Newton ka trick ek swap hai: sirf ek step ke liye maan lo ki curve APNI tangent line HI hai, aur line ke easy zero ko next guess banao. ke paas tangent curve se chipki rehti hai, toh uska zero asli root ke paas land karta hai.
PICTURE. Black curve, guess par touch karne wali red tangent line. Dekho red line neeche zero-line cross karne ke liye jaati hai ek naye point par — woh crossing hamara next guess hai.

Step 5 — Tangent se update derive karo, term by term
KYA. Us red tangent line ki equation likho aur pucho: yeh height zero kahan hit karti hai?
KYUN. Woh zero-crossing hi next guess hai. Uske liye solve karna exact Newton formula deta hai — koi magic nahi, sirf line-crossing algebra.
PICTURE. Wahi tangent, ab do moving parts labelled hain: current height (vertical black drop) aur horizontal jump (red arrow axis ke along).

Point se slope wali line:
Hum crossing chahte hain, toh set karo aur special ko naam do:
Horizontal walk isolate karo (subtract karo, phir slope se divide karo):
Step 6 — Degenerate case: flat tangent ()
KYA. Maan lo par tangent horizontal hai — slope .
KYUN. Ek horizontal line zero-line ko kabhi cross nahi karti (jab tak woh zero-line hi na ho). Algebraically hum mein zero se divide karenge. Step undefined hai — method ke paas koi next guess nahi hai.
PICTURE. Red horizontal tangent sides ki taraf shoot kar rahi hai, axis se kabhi nahi milti; "next guess" infinity ki taraf fly karta hai.

- Jab hota hai toh geometrically kya galat hota hai? ::: Tangent horizontal hoti hai, uska koi zero-crossing nahi hota, aur update zero se divide karta hai — step undefined / infinite ho jaata hai.
Step 7 — Doosra degenerate case: endpoint already ek root hai
KYA. Bisection mein koi caller tumhe de sakta hai jahan (ya ) exactly ho.
KYUN. Tab hoga, jo not hai. Strict bracket test fail ho jaata hai, loop kabhi run nahi karta, aur tum ek perfectly good root jo endpoint par hi baitha hai phenk doge.
PICTURE. Curve exactly par zero-line ko graze karta hai — red dot boundary par baitha hai, andar nahi.

- Agar exactly ho aur tum endpoint check skip karo toh kya hoga? ::: Product hai jo nahi hai, loop kabhi run nahi karta, aur par asli root discard ho jaata hai.
Step 8 — Newton digits kyun double karta hai (quadratic convergence)
KYA. ko error maano — guess asli root se kitna door hai. Hum track karte hain ki kaise par depend karta hai.
KYUN. Yeh payoff picture hai: Newton ka error previous error ke square ke proportional nikalta hai. Ek chhote number ko square karna use tiny bana deta hai — isliye correct digits roughly har step double hote hain. Lekin is claim ko earn karne ke liye hume isse derive karna hoga, aur derive karne ke liye ek aur tool chahiye: second derivative.
PICTURE. Do nested red gaps: step par ek wide gap , aur step par dramatically narrow gap .

Derivation, term by term. Hum Taylor Series use karte hain — woh recipe jo ek curve ko ek point ke paas uski height, slope, aur bending se rebuild karti hai. aur ko asli root ke aaspaas expand karo, yeh maante hue ki twice differentiable hai taaki exist kare. Sab kuch error ke terms mein likho:
Pehla term hai kyunki ek root hai. Toh .
Ab Newton correction banao aur dono sides se subtract karo. Kyunki aur :
Ab key move — WHY leading terms cancel karte hain. Fraction ke top aur bottom se factor out karo taaki uska shape clearly dikhe. Maano (ek fixed number: bending divided by slope). Tab
Messy part hai . Chhote ke liye hum ko geometric series ki tarah expand karte hain (yeh binomial/geometric expansion hai; valid hai kyunki tiny hai, toh squared-aur-higher terms negligible hain). Multiply out karo aur sirf tak rakho:
Toh poori correction hai
Ise se subtract karo — aur yahan terms exactly cancel ho jaate hain, yahi poora point hai: aur annihilate ho jaate hain, sirf squared piece bachta hai:
Jo kuch hum ne drop kiya (woh "") woh ya usse chhote terms ke proportional hai — tiny ke liye woh ke against bilkul negligible hain, yahi wajah hai ki hum unhe phenk sakte hain. Boxed line quietly assume karti hai ki (warna zero se divide hoga — Step 6 wali Newton ki flat-spot bimari, ab root par hi) aur twice differentiable (warna ka koi matlab nahi aur expansion collapse ho jaata hai).
Agar (3 good digits), tab — 6 good digits. 3 → 6 → 12, parent ke worked example for se match karta hai. Compare bisection se: woh error ko se multiply karta hai har step, sirf ek bit kharidta hai — yeh linear-vs-quadratic speed gap hai, aur isliye scipy.optimize ka brentq ek bracket (safety) ko fast interpolation (Secant method idea) ke saath blend karta hai.
Ek picture mein summary

Ek hi canvas, dono methods ek hi curve par: bisection ka shrinking red bracket dono sides se crawl karta hai; Newton ke red tangents root ki taraf leap karte hain. Slow-but-safe versus fast-but-fragile.
Recall Feynman retelling — plain words mein wapas bolo
Root wahan hota hai jahan curve zero-line ko touch kare. Agar curve line ke neeche hai ek jagah aur upar doosri jagah, toh beech mein zaroor cross kiya hoga — yahi root ka trap hai. Bisection is trap ka faayda uthata hai: middle check karo, woh half rakho jo abhi bhi line straddle karta ho, aur trap har baar half ho jaata hai. Dead slow, kabhi fail nahi.
Newton impatient hai. Woh curve par khada hota hai, woh straight line draw karta hai jo wahan use graze kare, aur us line par slide karta hai jahan line zero hit kare — kyunki straight line ka zero compute karna trivial hai. Woh landing spot next guess hai. Formula "current height ÷ steepness, backwards step" wahi line-crossing hai kaagaz par solve kiya hua. Jab slope healthy ho, har jump roughly error ko square kar deta hai (kyunki tangent sirf curve ki bending miss karta hai, jo se measure hoti hai), toh correct digits double ho jaate hain — lekin agar slope flat ho jaaye, toh line axis se kabhi nahi milti, step blow up ho jaata hai, aur Newton bhaag jaata hai. Yahi poora story hai: bisection ek trap tighten karta hai; Newton ek tangent par ride karta hai; ek safe hai, doosra fast, aur pros dono ko glue karke use karte hain.