  Designer manipulation of light at the nanoscale is key to several
next-generation technologies, from sensing to optical computing. One way to
manipulate light is to design a material structured at the sub-wavelength
scale, a metamaterial, to have some desired scattering effect. Metamaterials
typically have a very large number of geometric parameters that can be tuned,
making the design process difficult. Existing design paradigms either neglect
degrees of freedom or rely on numerically expensive full-wave simulations. In
this work, we derive a simple semi-analytic method for designing metamaterials
built from sub-wavelength elements with electric and magnetic dipole
resonances. This is relevant to several experimentally accessible regimes. To
demonstrate the versatility of our method, we apply it to three problems: the
manipulation of the coupling between nearby emitters, focusing a plane wave to
a single point and designing a dielectric antenna with a particular radiation
pattern.
