  We review the basic theoretical underpinnings of the Grover algorithm,
providing a rigorous and well motivated derivation. We then present a
generalization of Grover's algorithm that searches an arbitrary subspace of the
multi-dimensional Hilbert space using a diffusion operation and an amplitude
amplification procedure that has been biased by unitary {\em steering
operators}. We also outline a generalized Grover's algorithm that takes into
account higher level correlations that could exist between database elements.
In the traditional Grover algorithm, the Hadamard gate selects a uniform sample
of computational basis elements when performing the phase selection and
diffusion. In contrast, steered operators bias the selection process, thereby
providing more flexibility in selecting the target state. Our method is a
generalization of the recently proposal pattern matching algorithm of Hiroyuki
et al..
