  Crystallographic groups describe the symmetries of crystals and other
repetitive structures encountered in nature and the sciences. These groups
include the wallpaper and space groups. We derive linear and nonlinear
representations of functions that are (1) smooth and (2) invariant under such a
group. The linear representation generalizes the Fourier basis to
crystallographically invariant basis functions. We show that such a basis
exists for each crystallographic group, that it is orthonormal in the relevant
$L_2$ space, and recover the standard Fourier basis as a special case for pure
shift groups. The nonlinear representation embeds the orbit space of the group
into a finite-dimensional Euclidean space. We show that such an embedding
exists for every crystallographic group, and that it factors functions through
a generalization of a manifold called an orbifold. We describe algorithms that,
given a standardized description of the group, compute the Fourier basis and an
embedding map. As examples, we construct crystallographically invariant neural
networks, kernel machines, and Gaussian processes.
