Objective¶
The central abstraction: a callable with bounds, optional gradient, and a protocol that both Rust and Python sides understand. Everything else (low-disc, GLE, surrogates, anneal drivers) is built to consume or produce Objectives.
Low-discrepancy¶
Reproducible, well-spaced designs that avoid the clustering of random samples. Used for everything from mixer initialisation to surrogate pilots.
GLE¶
Coloured noise via auxiliary momenta + drift matrix. The optimal-sampling construction (from the same primitives) gives a drift that flattens efficiency; the user only chooses the band (omega0) and timestep.
Surrogates¶
Cheap stand-ins that can be promoted to first-class citizens (Obj or Move slot) because the true objective is still used for the acceptance decision or the reported answer. This is the unification that lets one fitted model serve evaluation, proposal, and (via tempering) cooling.