11 Notebook Catalogue and Reproducibility
11.1 Download the complete collection
The archive contains the eight course notebooks listed below and the Conda environment specification needed to run them.
11.2 Learning path
The numerical prefix records the recommended study order. Each notebook is a self-contained computational lecture, but its Theory link identifies the part of the book that should normally be read first.
| Notebook | Main learning objective | Theory |
|---|---|---|
| 01 — Unconstrained minimization | Compare gradient, Newton, quasi-Newton, and SciPy solvers; interpret diagnostics and failure modes | Unconstrained minimization |
| 02 — Constrained minimization | Work through equality- and inequality-constrained problems, KKT candidates, and numerical feasibility checks | Lagrange multipliers and KKT conditions |
| 03 — Numerical ODE solvers | Implement one-step methods; measure order, stability, stiffness, and invariant drift | ODE numerical methods |
| 04 — Linear DAEs | Study regular pencils, consistent data, index, and implicit integration | Linear DAEs |
| 05 — Nonlinear DAEs | Solve nonlinear constraints and examine drift, stabilization, and projection | DAEs from Lagrangian mechanics |
| 06 — DAE index analysis and reduction | Detect hidden constraints and perform linear and nonlinear index reduction | Index reduction |
| 07 — Nine DAE case studies | Connect the theory to constrained mechanical and high-index models | DAE examples |
| 08 — Numerical methods for DAEs | Compare implicit schemes, Baumgarte stabilization, projection, and coordinate partitioning | DAE numerical methods |
11.3 Individual notebooks
01 — Unconstrained minimization
Algorithms and diagnostics on Rosenbrock, Himmelblau, Beale, Powell singular, Brown badly scaled, and Freudenstein–Roth test problems. The examples show why solver agreement, a small gradient, or a success flag are not sufficient on their own.
Download: unconstrained-minimization algorithms and test problems
02 — Constrained minimization
Worked equality- and inequality-constrained problems illustrate Lagrange multipliers, KKT conditions, candidate filtering, and the numerical checks needed to distinguish stationarity from feasibility and local optimality.
03 — Numerical ODE solvers
Explicit and implicit one-step methods, convergence experiments, absolute stability, stiffness, adaptive integration, and applications including SIR, Robertson kinetics, and gravitational dynamics.
Download: ODE algorithms, stability experiments, and dynamical-system examples
04 — Linear DAEs
Matrix pencils, regularity, consistent initial conditions, index-1 through index-3 examples, Weierstrass form, backward Euler, and implicit midpoint.
05 — Nonlinear DAEs
Nonlinear algebraic constraints, fully implicit backward Euler, consistent initialization, the constrained pendulum, drift, and post-step projection.
Download: nonlinear-DAE solvers, constraints, and projection
06 — DAE index analysis and reduction
Differential index, regular pencils, nilpotent chains, Wong sequences, hidden constraints, and reduction of semi-explicit nonlinear systems.
07 — Nine DAE case studies
Nine models drawn from the DAE examples in the book. The notebook clearly distinguishes a direct DAE computation from an index-reduced ODE or a constraint-projection experiment.
Download: nine DAE models with complete derivations and numerical experiments
08 — Numerical methods for DAEs
Implicit time stepping, experimental convergence, high-index mechanics, constraint drift, Baumgarte stabilization, projection, and coordinate partitioning.
Download: implicit DAE integration and constraint-control methods
11.4 Running a notebook
After configuring the environment described in the previous chapter:
conda activate NOOCDS
cd path/to/the/downloaded/examples
jupyter labOpen a notebook and select Restart Kernel and Run All Cells. A clean run should finish without manual input. Before changing an algorithm, first check that the reference run reproduces its tables, plots, convergence orders, and constraint residuals.
11.5 A disciplined experiment
Change one item at a time: the initial condition, step size, tolerance, stabilization parameter, or solver. Record both the solution error and the diagnostic that matters for the model (for example a gradient norm, local error estimate, algebraic residual, or invariant drift). This makes the notebooks experiments rather than demonstrations.