Ordinary Differential Equations II CS 205A: Mathematical Methods for Robotics, Vision, and Graphics Justin Solomon CS 205A: Mathematical Methods Ordinary Differential Equations II 1 / 29
Almost Done! No class next week! Homework 6: 11/18 (2 days late!) Homework 7: 12/2 Homework 8? (optional) Section: 11/22, 12/6 Final exam: 12/12, 12:15pm Go to office hours! CS 205A: Mathematical Methods Ordinary Differential Equations II 2 / 29
Initial Value Problems Find f(t) : R R n Satisfying F [t, f(t), f (t), f (t),..., f (k) (t)] = 0 Given f(0), f (0), f (0),..., f (k 1) (0) CS 205A: Mathematical Methods Ordinary Differential Equations II 3 / 29
Most Famous Example F = ma Newton s second law CS 205A: Mathematical Methods Ordinary Differential Equations II 4 / 29
Reasonable Assumption Explicit ODE An ODE is explicit if can be written in the form f (k) (t) = F [t, f(t), f (t), f (t),..., f (k 1) (t)]. CS 205A: Mathematical Methods Ordinary Differential Equations II 5 / 29
d y After Reduction dt = F [ y] CS 205A: Mathematical Methods Ordinary Differential Equations II 6 / 29
Forward Euler y k+1 = y k + hf [ y k ] Explicit method O(h 2 ) localized truncation error O(h) global truncation error; first order accurate CS 205A: Mathematical Methods Ordinary Differential Equations II 7 / 29
Backward Euler y k+1 = y k + hf [ y k+1 ] Implicit method O(h 2 ) localized truncation error O(h) global truncation error; first order accurate CS 205A: Mathematical Methods Ordinary Differential Equations II 8 / 29
Trapezoid Method y k+1 = y k + h F [ y k] + F [ y k+1 ] 2 Implicit method O(h 3 ) localized truncation error O(h 2 ) global truncation error; second order accurate CS 205A: Mathematical Methods Ordinary Differential Equations II 9 / 29
Model Equation y = ay, a < 0 y k+1 = 1 2 ha(y k+1 + y k ) CS 205A: Mathematical Methods Ordinary Differential Equations II 10 / 29
Model Equation y = ay, a < 0 y k+1 = 1 2 ha(y k+1 + y k ) Unconditionally stable! CS 205A: Mathematical Methods Ordinary Differential Equations II 10 / 29
Model Equation y = ay, a < 0 y k+1 = 1 2 ha(y k+1 + y k ) Unconditionally stable! But this has nothing to do with accuracy. CS 205A: Mathematical Methods Ordinary Differential Equations II 10 / 29
Is Stability Useful Here? R = y k+1 y k CS 205A: Mathematical Methods Ordinary Differential Equations II 11 / 29
Is Stability Useful Here? R = y k+1 y k Oscillatory behavior! CS 205A: Mathematical Methods Ordinary Differential Equations II 11 / 29
Pattern Convergence as h 0 is not the whole story nor is stability. Often should consider behavior for fixed h > 0. CS 205A: Mathematical Methods Ordinary Differential Equations II 12 / 29
Pattern Convergence as h 0 is not the whole story nor is stability. Often should consider behavior for fixed h > 0. Qualitative and quantitative analysis needed! CS 205A: Mathematical Methods Ordinary Differential Equations II 12 / 29
Observation y k+1 = y k + tk+1 t k F [ y(t)] dt CS 205A: Mathematical Methods Ordinary Differential Equations II 13 / 29
Alternative Derivation of Trapezoid Method y k+1 = y k + h 2 (F [ y k] + F [ y k+1 ]) + O(h 3 ) Implicit method CS 205A: Mathematical Methods Ordinary Differential Equations II 14 / 29
Heun s Method y k+1 = y k + h 2 (F [ y k] + F [ y k + hf [ y k ]]) + O(h 3 ) Replace implicit part with lower-order integrator! CS 205A: Mathematical Methods Ordinary Differential Equations II 15 / 29
Stability of Heun s Method y = ay, a < 0 ( y k+1 = 1 + ha + 1 ) 2 h2 a y k CS 205A: Mathematical Methods Ordinary Differential Equations II 16 / 29
Stability of Heun s Method y = ay, a < 0 ( y k+1 = 1 + ha + 1 ) 2 h2 a = h < 1 4 a 1 y k CS 205A: Mathematical Methods Ordinary Differential Equations II 16 / 29
Stability of Heun s Method y = ay, a < 0 ( y k+1 = 1 + ha + 1 ) 2 h2 a = h < 1 4 a 1 Forward Euler: h < 2 a y k CS 205A: Mathematical Methods Ordinary Differential Equations II 16 / 29
Runge-Kutta Methods Apply quadrature to: y k+1 = y k + tk+1 t k F [ y(t)] dt CS 205A: Mathematical Methods Ordinary Differential Equations II 17 / 29
Runge-Kutta Methods Apply quadrature to: y k+1 = y k + tk+1 t k Use low-order integrators F [ y(t)] dt CS 205A: Mathematical Methods Ordinary Differential Equations II 17 / 29
RK4: Simpson s Rule y k+1 = y k + h 6 ( k 1 + 2 k 2 + 2 k 3 + k 4 ) where k 1 = F [ y k ] k2 = F [ y k + 12 ] h k 1 k3 = F [ y k + 12 ] h k 2 k4 = F [ y k + h ] k 3 CS 205A: Mathematical Methods Ordinary Differential Equations II 18 / 29
Using the Model Equation y A y = y(t) e At y 0 CS 205A: Mathematical Methods Ordinary Differential Equations II 19 / 29
Exponential Integrators y = A y + G[ y] CS 205A: Mathematical Methods Ordinary Differential Equations II 20 / 29
Exponential Integrators y = A y + G[ y] First-order exponential integrator: y k+1 = e Ah y k A 1 (1 e Ah )G[ y k ] CS 205A: Mathematical Methods Ordinary Differential Equations II 20 / 29
Returning to Our Reduction y (t) = v(t) v (t) = a(t) a(t) = F [t, y(t), v(t)] CS 205A: Mathematical Methods Ordinary Differential Equations II 21 / 29
Returning to Our Reduction y (t) = v(t) v (t) = a(t) a(t) = F [t, y(t), v(t)] y(t k + h) = y(t k ) + h y (t k ) + h2 2 y (t k ) + O(h 3 ) Don t need high-order estimators for derivatives. CS 205A: Mathematical Methods Ordinary Differential Equations II 21 / 29
New Formulae v k+1 = v k + tk+1 t k a(t) dt CS 205A: Mathematical Methods Ordinary Differential Equations II 22 / 29
New Formulae v k+1 = v k + y k+1 = y k + h v k + tk+1 t k tk+1 t k a(t) dt (t k+1 t) a(t) dt CS 205A: Mathematical Methods Ordinary Differential Equations II 22 / 29
New Formulae v k+1 = v k + y k+1 = y k + h v k + tk+1 t k tk+1 t k a(t) dt (t k+1 t) a(t) dt a(τ) = (1 γ) a k + γ a k+1 + a (τ)(τ hγ t k ) + O(h 2 ) for τ [a, b] CS 205A: Mathematical Methods Ordinary Differential Equations II 22 / 29
Newmark Class y k+1 = y k + h v k + ( ) 1 2 β h 2 a k + βh 2 a k+1 v k+1 = v k + (1 γ)h a k + γh a k+1 a k = F [t k, y k, v k ] CS 205A: Mathematical Methods Ordinary Differential Equations II 23 / 29
Newmark Class y k+1 = y k + h v k + ( ) 1 2 β h 2 a k + βh 2 a k+1 v k+1 = v k + (1 γ)h a k + γh a k+1 a k = F [t k, y k, v k ] Parameters: β, γ (can be implicit or explicit!) CS 205A: Mathematical Methods Ordinary Differential Equations II 23 / 29
Constant Acceleration: β = γ = 0 y k+1 = y k + h v k + 1 2 h2 a k v k+1 = v k + h a k Explicit, exact for constant acceleration, linear accuracy CS 205A: Mathematical Methods Ordinary Differential Equations II 24 / 29
Constant Implicit Acceleration: β = 1 /2, γ = 1 y k+1 = y k + h v k + 1 2 h2 a k+1 v k+1 = v k + h a k+1 Backward Euler for velocity, midpoint for position; globally first-order accurate CS 205A: Mathematical Methods Ordinary Differential Equations II 25 / 29
Trapezoid: β = 1 /4, γ = 1 /2 x k+1 = x k + 1 2 h( v k + v k+1 ) v k+1 = v k + 1 2 h( a k + a k+1 ) Trapezoid for position and velocity; globally second-order accurate CS 205A: Mathematical Methods Ordinary Differential Equations II 26 / 29
Central Differencing: β = 0, γ = 1 /2 v k+1 = y k+2 y k 2h a k+1 = y k+1 2 y k+1 + y k h 2 Central difference for position and velocity; globally second-order accurate CS 205A: Mathematical Methods Ordinary Differential Equations II 27 / 29
Newmark Schemes Generalizes large class of integrators Second-order accuracy (exactly) when γ = 1 /2 Unconditional stability when 4β > 2γ > 1 (otherwise radius is function of β, γ) CS 205A: Mathematical Methods Ordinary Differential Equations II 28 / 29
Staggered Grid y k+1 = y k + h v k+ 1/2 v k+ 3/2 = v k+ 1/2 + h a k+1 [ a k+1 = F t k+1, x k+1, 1 ] 2 ( v k+1/2 + v k+ 3/2) CS 205A: Mathematical Methods Ordinary Differential Equations II 29 / 29
Staggered Grid y k+1 = y k + h v k+ 1/2 v k+ 3/2 = v k+ 1/2 + h a k+1 [ a k+1 = F t k+1, x k+1, 1 ] 2 ( v k+1/2 + v k+ 3/2) Leapfrog: a not a function of v; explicit CS 205A: Mathematical Methods Ordinary Differential Equations II 29 / 29
Staggered Grid y k+1 = y k + h v k+ 1/2 v k+ 3/2 = v k+ 1/2 + h a k+1 [ a k+1 = F t k+1, x k+1, 1 ] 2 ( v k+1/2 + v k+ 3/2) Leapfrog: a not a function of v; explicit Otherwise: Symmetry in v dependence Next CS 205A: Mathematical Methods Ordinary Differential Equations II 29 / 29