Week 31 — Coding Projects

Core

Implement finite-field arithmetic for a small extension field.

  • NumPy: Represent field elements as bit patterns. Implement add as XOR. Implement multiply mod an irreducible polynomial. Build multiplication tables for GF(2^m) with small m.
  • Metal: Batched GF(2^m) adds and multiplies as a bitwise compute exercise. · Reading: MBT — integer/bitwise compute patterns.
  • Vulkan: Bitwise compute kernels over integer buffers. · Reading: Vulkan Book — integer compute and buffer workflows.
  • CUDA: GF(2^m) arithmetic kernels with bitwise-heavy operations. · Reading: CUDA Book — bitwise-heavy kernels and batched arithmetic.
  • Stretch: Implement multiplicative inverse. Build log/antilog tables for a small field.
  • Verify: Field axioms hold on tested elements · Nonzero elements have inverses · Arithmetic matches hand-worked examples.