The Koopman operator is a change of perspective. Instead of tracking the state x and its nonlinear flow, track OBSERVABLES — functions of the state ψ(x) — and ask how they evolve. Koopman's theorem says this evolution is LINEAR: ψ(x_{k+1}) = A ψ(x_k), for an operator A that acts on functions. The catch is that A is infinite-dimensional in general. The practical win is that for many systems a small, well-chosen dictionary of observables closes into a finite invariant subspace where A is an ordinary matrix. Brunton's example ẋ₁ = μx₁, ẋ₂ = λ(x₂ − x₁²) is the clean case: the observables [x₁, x₂, x₁²] evolve exactly linearly, because the derivative of x₁² is 2x₁ẋ₁ = 2μx₁², which stays in the span. Extended Dynamic Mode Decomposition (EDMD) fits A from data by least squares — here it recovers the true operator to machine zero. Once you have A, the whole linear world opens: long-horizon prediction, and linear-quadratic control of a nonlinear system by controlling its lifted coordinates. This is the data-driven complement to the structured models: where SINDy discovers a sparse nonlinear equation, Koopman finds a coordinate change that makes the equation linear.