Guided Labs
Download the offline linear algebra kit.
Python 3.10+ and the standard library suffice. Extract it and work inside
linear-algebra; the README specifies all shapes, limits and error behavior.
python check.py starter
python run_labs.py starter
The unfinished starter fails intentionally. Implement all eight contracts before
consulting the reference. Afterward use python check.py reference to calibrate.
| Lab | Implementations | Required mathematical evidence | Budget |
|---|---|---|---|
| 1 | RREF; system report | Row-operation invariant, complete nullspace basis, inconsistency witness | 5–7 h |
| 2 | QR; least squares | Reconstruction and orthogonality; projection optimality proof | 5–7 h |
| 3 | Cholesky; power iteration | PD hypotheses, factor check, eigenpair residual and convergence limits | 5–7 h |
| 4 | Supplied-SVD report; sensitivity report | Two tail-error norms, cutoff meaning, backward/forward distinction | 5–7 h |
Exact routines accept rational inputs. Numerical routines use finite floats and declared tolerances. The SVD lab interprets supplied analytic factors; it does not implement a general SVD algorithm. Optional numerical-library comparisons add setup and reading time and must document their version and assumptions.
Keep hand-derived predictions, first code, general invariants, failing examples and changed-input results. The checker uses determinant-minor rank oracles, semantic certificates and analytic numerical fixtures. Passing finite tests is implementation evidence, not a theorem or a production-readiness certificate.
The deterministic demonstration is a worked version of the calibration project. Attempt the model first. Explain why the kit's rank and tiny-pivot rejection policies are narrower than the mathematics.