  Metasurfaces are an emerging technology that may supplant many of the
conventional optics found in imaging devices, displays, and precision
scientific instruments. Here, we develop a method for designing optical systems
composed of multiple unique metasurfaces aligned in sequence. Our approach is
based on computational inverse design, also known as the adjoint-gradient
method. This technique enables thousands or millions of independent design
variables to be optimized in parallel, with little or no intervention required
by the user. To demonstrate the broad applicability of our method, we use it to
design an achromatic doublet metasurface lens, a spectrally-multiplexed
holographic element, and an ultra-compact optical neural network for
classifying handwritten digits.
