JAX is a numerical computing library that combines NumPy's familiar API with automatic differentiation and JIT compilation. It enables writing functional, composable ML code that compiles to efficient GPU/TPU kernels. JAX is particularly powerful for research: arbitrary-order derivatives, functional transformations (vmap, pmap), and custom optimization algorithms. Unlike PyTorch (imperative, dynamic graphs), JAX is functional (pure functions, immutable state) and static (JIT compilation). This makes some code harder to write but enables powerful optimizations.