Skip to main content

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.

LabImplementationsRequired mathematical evidenceBudget
1RREF; system reportRow-operation invariant, complete nullspace basis, inconsistency witness5–7 h
2QR; least squaresReconstruction and orthogonality; projection optimality proof5–7 h
3Cholesky; power iterationPD hypotheses, factor check, eigenpair residual and convergence limits5–7 h
4Supplied-SVD report; sensitivity reportTwo tail-error norms, cutoff meaning, backward/forward distinction5–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.