Week 27 — Coding Projects
Core
Solve a simple constrained problem numerically.
- NumPy: Implement projected gradient descent for box constraints. Solve a tiny quadratic program. Compare primal objective and dual lower bound.
- Metal: Batched projection onto box constraints and objective evaluation. · Reading: MBT — numerical compute workflows.
- Vulkan: Batched candidate evaluation and projection. · Reading: Vulkan Book — batched candidate evaluation / projections.
- CUDA: Projection + objective kernels for large candidate sets. · Reading: CUDA Book — batched constrained-step kernels.
- Stretch: Visualize feasible region in 2D. Add Lagrange multiplier iteration in a simple example.
- Verify: Projected iterates remain feasible · Dual bound behaves as expected · KKT intuition becomes computationally concrete.