  The quantum algorithms of Deutsch, Simon and Shor are described in a way
which highlights their dependence on the Fourier transform. The general
construction of the Fourier transform on an Abelian group is outlined and this
provides a unified way of understanding the efficacy of these algorithms.
Finally we describe an efficient quantum factoring algorithm based on a general
formalism of Kitaev and contrast its structure to the ingredients of Shor's
algorithm.
