5.4.23 · D5 · HinglishScientific Computing (Python)

Question bankImplementing ODE solvers from scratch — Euler, RK4

1,496 words7 min read↑ Read in English

5.4.23 · D5 · Coding › Scientific Computing (Python) › Implementing ODE solvers from scratch — Euler, RK4


True or false — justify

Euler aur RK4 dono ko ek jaana-maana starting point chahiye.
True — ye IVP solvers hain; starting value ke bina aage step karne ke liye kuch nahi hoga, kyunki har step current point par slope padhti hai. Dekho scipy.integrate.solve_ivp jo y0 bhi demand karta hai.
Euler mein ko half karne se global error roughly half ho jaati hai.
True — Euler ki global error hai, isliye error ke saath linearly scale hoti hai; ko do mein kaato aur error lagbhag se gir jaati hai.
RK4 mein ko half karne se global error roughly half ho jaati hai.
False — RK4 hai, isliye ko half karne se error lagbhag kam hoti hai, na ki .
RK4 hamesha exact answer deta hai.
False — yeh fourth-order accurate hai, exact nahi; yeh local terms ko discard karta hai aur global error accumulate karta rehta hai, jab tak ki true solution degree ka polynomial na ho jise RK4 exactly integrate kar sake.
RK4 ki har step mein Euler se chaar guna zyada kaam lagta hai.
True function evaluations mein — RK4, ko har step mein chaar baar call karta hai vs Euler ka ek, lekin yeh galat metric hai: equal accuracy par RK4 ko bahut kam steps chahiye aur overall jeetta hai.
ke liye (right side par koi nahi), RK4 ke stages mein -shifts skip kar sakte hain.
False — yahan par depend karta hai (non-autonomous), isliye ko use karna chahiye aur ko ; unhe skip karna answer ko corrupt kar deta hai.
RK4 ke weights literally Simpson ke weights hain.
False — Simpson teen points par use karta hai; RK4 chaar stages par use karta hai, do midpoint evaluations ke saath jinke weights sum karte hain — analogous hain, identical nahi. Dekho Simpson's Rule.
Euler ki method forward finite difference ke same hai.
True — forward difference ko rearrange karne par exactly Euler update milta hai. Dekho Finite Difference Approximation of Derivatives.
Bada step size hamesha kisi bhi explicit method ko sirf thodi accuracy cost ke saath tez banata hai.
False — stability limit se aage, bada explicit Euler aur RK4 ko blow up (infinity tak oscillate) kara deta hai, khaaskar stiff problems par. Dekho Numerical Stability and Stiff ODEs.

Spot the error

"Main build karne ke liye reuse karunga kyunki yeh already mere paas hai: ."
Galat — ko pichle stage use karna chahiye: . Stages ek chain hain; reuse karna RK4 ko lower order par collapse kar deta hai aur silently accuracy destroy kar deta hai.
"Final RK4 update hai — chaar slopes hain, isliye 4 se divide karo."
Galat — weights hain (sum ), isliye se divide karte hain: . 4 se plain average galat weighted mean deta hai aur accuracy kho deta hai.
"Euler har interval ke midpoint par slope sample karta hai."
Galat — Euler sirf left endpoint par sample karta hai aur assume karta hai ki yeh poore taraf tak hold karta hai; midpoint par sampling ek alag (better) method hoga.
" — main mein half step add karta hoon."
Galat — aap add karte hain, na ki ; ka nudge slope se scale hona chahiye, kyunki (slope × step) se change hota hai, sirf step se nahi.
", ke liye, ke ek Euler step se milta hai."
Galat — Euler deta hai , lagbhag ki error ke saath; sirf true solution ke barabar hai, aur Euler ki straight-line hop curving exponential ke neeche reh jaati hai.
"RK4 ki local error hai."
Galat — RK4 ki local truncation error hai; global error ( steps mein accumulate hoti hui) hai. Dono ko confuse mat karo.

Why questions

Euler consistently kyun drift off karta hai jab true curve bend karti hai?
Kyunki yeh poori step ke liye ek single left-endpoint slope par trust karta hai; agar curve upar bend karti hai toh straight line uske neeche hoti hai (aur vice versa), isliye errors ek direction mein accumulate hoti hain cancel hone ki bajaye.
RK4, midpoint ko do baar ( aur ) kyun sample karta hai?
Midpoint interval par average slope ko best represent karta hai; pehla midpoint estimate ( se bana) ek doosre ( se bana) se refine hota hai, aur dono ko weight dena Taylor series ko tak match karta hai.
RK4 weights exactly kyun hone chahiye?
Kyunki RK4 update ko Taylor series ke roop mein expand karna aur demand karna ki yeh true se term tak agree kare, ye coefficients uniquely produce karta hai — ye free choice nahi hain. Dekho Taylor Series Expansion.
RK4, pratical "workhorse" kyun hai chahein usmein chaar -calls per step lage?
Target error par, Euler ki cost jaisi scale hoti hai jabki RK4, jaisi; small ke liye RK4 ko astronomically kam total evaluations chahiye.
Hum ODE ko exactly solve karne ki bajaye discretize kyun karte hain?
Zyaadatar real ka koi closed-form integral nahi hota, lekin slope khud hamesha computable hoti hai, isliye hum small computable hops mein aage badhte hain.
se divide karna (stages ki sankhya se nahi) kyun matter karta hai?
Kyunki ek genuine weighted mean slope hai (weights sum to ) times ; koi bhi aur divisor step ko galat scale kar deta hai aur order break kar deta hai.

Edge cases

Euler ya RK4 mein hone par kya hota hai?
Koi progress nahi — aur ; solver hamesha ke liye ruk jaata hai, isliye positive step size zaroori hai.
Ek autonomous ODE ke liye (koi explicit nahi), kya RK4 mein -shifts matter karte hain?
Nahi — kyunki , ko ignore karta hai, , , ya par evaluate karne se koi farak nahi padta; -shifts sirf non-autonomous ke liye matter karte hain.
Agar ek constant hai (yani ), toh Euler kya karta hai?
Yeh exact ban jaata hai — true solution ek straight line hai, aur Euler ki straight-line hop kisi bhi ke liye zero truncation error ke saath perfectly match karti hai.
Ek stiff ODE par, ek "chhota" RK4 step kyun bhi explode kar sakta hai?
Explicit methods ki ek bounded stability region hoti hai; agar times (bada negative) rate uske bahar hai, toh numerical solution oscillate karta hai aur grow karta hai bina bound ke, chahein true solution decay kare. Fix karo implicit methods ya adaptive stepping se. Dekho Numerical Stability and Stiff ODEs.
Agar true solution ek cubic polynomial hai, toh RK4 kaise behave karta hai?
Yeh exact hota hai — RK4, polynomials ko degree tak bina error ke integrate karta hai, kyunki discarded terms se start hote hain aur ek cubic mein aise koi terms nahi hote.
Agar interval ke beech mein undefined ho jaaye (jaise blow up ho jaaye) toh kya hoga?
Fixed-step Euler/RK4 singularity ke upar khushi se step kar lega aur garbage return karega; aapko blow-up detect karne aur use cross karne se mana karne ke liye adaptive step control chahiye. Dekho Adaptive Step Size (RK45 / Dormand–Prince).
Kya zyada RK4 steps lene se error hamesha zero ki taraf reduce hoti hai?
Indefinitely nahi — ek point ke baad, bahut saare tiny increments sum karne se floating-point round-off dominate karta hai, isliye error bottom out ho jaati hai aur phir aur chota hone par slowly badh jaati hai.