Week 4 — Coding Projects

Core

Connect eigendecomposition to 3D object rendering and geometric transforms.

  • NumPy: Use numpy.linalg.eig on 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.