Week 4 — Coding Projects
Core
Connect eigendecomposition to 3D object rendering and geometric transforms.
- NumPy: Use
numpy.linalg.eigon small matrices. Repeatedly apply matrix powers to vectors. Show eigenvector directions remain invariant up to scale. - Metal: Render a rotating cube with a model-view-projection pipeline. · Reading: MBT — 3D rendering setup, depth buffering, transform stacks, camera basics.
- Vulkan: Render a rotating cube with depth buffer. · Reading: Vulkan Book — depth testing, 3D pipeline setup, uniform-driven transforms.
- CUDA: GPU batch application of 3×3 or 4×4 transforms to many points. · Reading: CUDA Book — batched vector/matrix kernels, throughput-oriented data-parallel patterns.
- Stretch: Add perspective projection. Compare diagonalizable vs. defective examples.
- Verify: Av ≈ λv for chosen eigenvectors · Cube transform chain is correct · Numerical behavior for repeated powers of A is visible.