Grover's algorithm provides a quadratic speedup over classical algorithms to search for marked elements in an unstructured database. The original algorithm is probabilistic, returning a marked element with bounded error. When it is known beforehand there are M marked elements in N elements, there exist several schemes to achieve the exact version that returns a marked element with certainty, by using the generalized Grover's iteration G(α, β) := Sr(β) So(α), where the phase oracle So(α) multiplies a marked state by eiα, and the phase rotation Sr(β) multiplies the initial state |ψ0⟩ (an equal-superposition of all states) by e-iβ.However, in all the existing schemes the value range of α and β is limited; for instance, in the three early schemes α and β are determined by M/N.
Thus, a natural question arises: Given the phase oracle So(α) with an arbitrary angle α, or the phase rotation Sr(β) with an arbitrary angle β, can we always construct an exact search algorithm without sacrificing the quadratic speedup advantage? The significance of this problem lies not only in the expansion of mathematical form, but also in its application value. We answer the question affirmatively, by presenting a search framework with adjustable parameters. Technically, we propose the fixed-axis-rotation (FXR) method where each iteration of the search algorithm can be geometrically seen as rotating about a fixed axis on the Bloch sphere. Furthermore, two applications of the proposed search framework are developed: the first is to learn exactly the secret string hidden by the Hamming distance oracle, and the other to solve the element distinctness promise problem deterministically. The two applications correspond to the two different cases where α or β is fixed respectively.