A method for performing a data search includes initializing a collection of qubits
by generating a superposition of quantum states in of the qubits, inverting the
sign of a target quantum state, and calculating an inversion about the average
for each qubit using one-bit unitary gates and two-bit quantum phase gates. The
method further include iterating the inverting and calculating steps to determine
a search result corresponding to the target quantum state according to Grover's algorithm.