  Structured optimization uses a prescribed set of atoms to assemble a solution
that fits a model to data. Polarity, which extends the familiar notion of
orthogonality from linear sets to general convex sets, plays a special role in
a simple and geometric form of convex duality. This duality correspondence
yields a general notion of alignment that leads to an intuitive and complete
description of how atoms participate in the final decomposition of the
solution. The resulting geometric perspective leads to variations of existing
algorithms effective for large-scale problems. We illustrate these ideas with
many examples, including applications in matrix completion and morphological
component analysis for the separation of mixtures of signals.
