Patent ID: 7359928

Claim:
A processing device for implementing a quantum gate for running a quantum algorithm for searching elements in a database using a binary function having a first basis of vectors of n qubits, the processing device comprising: a superposition subsystem for performing a superposition operation over components of input vectors for generating components of linear superposition vectors for a second basis of vectors of n+1 qubits; an entanglement subsystem for performing an entanglement operation over components of the linear superposition vectors for generating components of entanglement vectors, said entanglement subsystem comprising a command circuit for generating a plurality of logic command signals encoding values of the binary function corresponding to the first basis of vectors, and an array of multiplexers, each being driven by a respective logic command signal and receiving as input a plurality of signals representing components of a linear superposition vector corresponding to the second basis of vectors having the first n qubits in common, and outputting for each superposition vector corresponding signals representing components of an entanglement vector, each component of the entanglement vector corresponding to a respective vector of the second basis of vectors and being equal to the corresponding component of the respective superposition vector if the binary function is null in correspondence to the vector of the first basis of vectors formed by the first n qubits of the respective vector of the second basis of vectors, or the opposite of the corresponding component of the respective superposition vector if the binary function is not a null in correspondence to the vector of the first basis of vectors formed by the first n qubits of the respective vector of the second basis of vectors; and an interference subsystem for performing an interference operation over components of the entanglement vectors for generating components of output vectors representing the elements searched in the database.