  This paper describes a numerical method for finding good packings in
Grassmannian manifolds equipped with various metrics. This investigation also
encompasses packing in projective spaces. In each case, producing a good
packing is equivalent to constructing a matrix that has certain structural and
spectral properties. By alternately enforcing the structural condition and then
the spectral condition, it is often possible to reach a matrix that satisfies
both. One may then extract a packing from this matrix.
  This approach is both powerful and versatile. In cases where experiments have
been performed, the alternating projection method yields packings that compete
with the best packings recorded. It also extends to problems that have not been
studied numerically. For example, it can be used to produce packings of
subspaces in real and complex Grassmannian spaces equipped with the
Fubini--Study distance; these packings are valuable in wireless communications.
One can prove that some of the novel configurations constructed by the
algorithm have packing diameters that are nearly optimal.
