  We demonstrate the design of a neural network, where all neuromorphic
computing functions, including signal routing and nonlinear activation are
performed by spin-wave propagation and interference. Weights and
interconnections of the network are realized by a magnetic field pattern that
is applied on the spin-wave propagating substrate and scatters the spin waves.
The interference of the scattered waves creates a mapping between the wave
sources and detectors. Training the neural network is equivalent to finding the
field pattern that realizes the desired input-output mapping. A custom-built
micromagnetic solver, based on the Pytorch machine learning framework, is used
to inverse-design the scatterer. We show that the behavior of spin waves
transitions from linear to nonlinear interference at high intensities and that
its computational power greatly increases in the nonlinear regime. We envision
small-scale, compact and low-power neural networks that perform their entire
function in the spin-wave domain.
