  Grover search algorithm drives a quantum system from an initial state to a
desired final state by using selective phase inversions of these two states. In
(1), we studied a generalization of Grover algorithm which relaxes the
assumption of the efficient implementation of the selective phase inversion of
the initial state, also known as diffusion operator. This assumption is known
to become a serious handicap in cases of physical interest (2,3,4,5). Our
general search algorithm works with almost arbitrary diffusion operator with
only restriction of having the initial state as one of its eigenstates. The
price that we pay for using arbitrary operator is an increase in the number of
oracle queries by a factor of order of B, where B is a characteristic of the
eigenspectrum of diffusion operator and it can be large in some situations.
Here we show that by using quantum fourier transform, we can regain the optimal
query complexity of Grover algorithm without losing the freedom of using
arbitrary diffusion operators for quantum searching. However, the total number
of operators required by algorithm is still order of B times more than that of
Grover algorithm. So our algorithm offers advantage only if oracle operator is
computationally more expensive than diffusion operator, which is true in most
search problems.
