ODE: Nonlinear Function
Created: August 19, 2021
Modified: August 19, 2021

ODE

This page is from my personal notes, and has not been specifically reviewed for public consumption. It might be incomplete, wrong, outdated, or stupid. Caveat lector.
  • Notes from Charles Margossian's talk on pharmacometrics models.
  • Types of ODEs:
    • Linear: can be solved by matrix exponentialials
    • nonlinear, "non-stiff": can be solved by Prince-Dorman RK45 solver, like in JAX
    • nonlinear, "stiff": requires a more robust solver, like Backward Differentiation (BDF)
      • 'stiffness' is ill-defined but roughly means that the system requires high numerical precision and small step sizes to simulate accurately.
  • How to differentiate ODEs?
    • "Explicit": construct the Jacobian of solution wrt input by solving an augmented ODE. Doesn't scale well but low overhead cost.
    • "Adjoint": directly compute vector-Jacobian product by solving an adjoint ODE system. Scales well but high overhead cost.