The present invention relates to quantum algorithms, and more precisely, to a quantum gate for carrying out a Grover's quantum algorithm with any number n of qubits and a relative method for carrying out the interference operation of the Grover's quantum algorithm.
Quantum algorithms are global random searching algorithms based on the principles, laws and effects of quantum mechanics. They are used for controlling a process or for processing data in a database, and more specifically, for controlling a process that may include search-of-minima intelligent operations.
In the quantum search, each design variable is represented by a finite linear superposition of initial states, with a sequence of elementary unitary steps manipulating the initial quantum state |i (for the input) such that a measurement of the final state of the system yields the correct output. Usually, three principle operators, i.e., linear superposition (coherent states), entanglement and interference are used in the quantum search algorithm.
A general description of quantum algorithms is contained in U.S. patent application Ser. No. 10/615,446 and in the European patent application no. 02425672.9. Both of these applications are assigned to the current assignee of the present invention.
For a better understanding, a detailed description of the Grover's quantum algorithm is presented below. Grover's problem may be stated as follows:
∀y∈{0,1}n:x≠y
(y)=0)
In a Deutsch-Jozsa's algorithm there are two classes of input functions and it must be determined what class the input function belongs to. In this case the problem is in some sense identical in its form, even if it is more difficult because now we are dealing with 2n classes of input functions (each function of the kind described forms a class).
The diagram of the Grover's algorithm is depicted in
Φ=[(DnI)·UF]h·(n+1H) (1)
Operator Dn is called a diffusion matrix of order n and is responsible for interference in this algorithm. The diffusion matrix is defined as follows:
Grover's algorithm may be implemented in routines for searching a desired item in a set, by representing in vector form each item of the set forming an input set of vectors, and applying a Grover's algorithm to this set of vectors. The output vector represents the desired item.
The implementation of the Grover's algorithm clearly implies the calculation of several vector products. In fact, all qubits must be multiplied by the Hadamard matrix H, then by the entanglement matrix UF, and all qubits but the latter must be multiplied by matrix Dn.
These multiplications could be carried out via software, but it is quite evident that the number of qubits of a quantum algorithm is very critical in terms of computational speed. In fact, referring to the scheme in
A method of performing the superposition operation of a Grover's or Deutsch-Jozsa's quantum algorithm over an input set of vectors is disclosed in the European patent application no. 01830383.4, which is assigned to the current assignee of the present invention. This method exploits the fact that any rotated vector obtained performing the Hadamard rotation H (on an input vector) contemplated by the superposition operation of these quantum algorithms can be easily encoded in a binary vector. Therefore, the successive tensor product of the rotated vectors for generating linear superposition vectors can be carried out by logic gates. This fact allows a noticeable time saving because logic gates are very fast.
However, this is not sufficient to significantly speed up running these quantum algorithms because the entanglement matrix UF is a 2n+1×2n+1 square matrix, which implies a considerable computational weight both in the Grover's algorithm as well as in the Deutsch-Jozsa's algorithm.
Differently from other quantum algorithms, in the Grover's algorithm it is possible to iterate h times the entanglement and interference operations until the best solution is reached. An example of evolution of the Grover's algorithm with n=3 is given in
Each value is a component on the output vector referred to a basis of vectors of n+1 qubits. There are couples or pairs of values of opposite sign, referred to vectors of the basis having in common the first (leftmost) n qubits. For example, the values 0.625 and −0.625 are referred to vectors |0110 and |0111
, respectively. Each pair of elements having an opposite sign represents the probability amplitude of a certain element of the database. For the considered example, the value 0.625 is the probability of the element associated to vector |011
after 3 iterations (h=3).
The algorithm may be iterated as far as a certain quantity is to be minimized, calculated as a function of the components of the output vector, and is smaller than a certain pre-established value. For instance, this quantity can be the Shannon entropy:
where qk(h) is the k-th component of the output vector Q taken after h iterations.
The components of the output vector obtained after h=15 iterations are represented in , and after 15 iterations the Grover's quantum algorithm will find it with a probability of about 0.69.
From the above discussion it is evident that the large number of computations for the Grover's algorithm represents a considerable burden because multiplications by the entanglement matrix UF and the interference matrix DnI might be repeated many (h) times to produce the best result, and the process may take considerable time.
In view of the foregoing background, an object of the present invention is to provide a quantum gate and a relative method for executing Grover's quantum algorithms in a very fast manner.
This and other objects, advantages and features in accordance with the present invention are provided by a quantum gate for carrying out a Grover's quantum algorithm using a certain binary function (f) defined on a space having a vector basis of n qubits. The quantum gate may comprise a superposition subsystem for carrying out a superposition operation on components of input vectors for generating components of superposition vectors on a second vector basis of n+1 qubits. An entanglement subsystem may carry out an entanglement operation on components of the linear superposition vectors for generating components of entanglement vectors. An interference subsystem may carry out an interference operation on components of the entanglement vectors for generating components of output vectors.
The quantum gate is capable of performing the interference operation of the Grover's algorithm in a very fast manner by using an adder being input with signals representing even or odd components of an entanglement vector, and generating a sum signal representing a weighted sum with a scale factor of the even or odd components. The quantum gate also uses an array of adders, each being input with a respective signal representative of an even or odd component of an entanglement vector, and with the weighted sum signal, and generating a signal representative of an even or odd component of an output vector as the difference between the weighted sum signal and the signal representing an even or odd component of an entanglement vector.
Another aspect of the present invention is directed to a method for carrying out an interference operation of a Grover's quantum algorithm comprising the steps of calculating a weighted sum with a certain scale factor of even or odd components of an entanglement vector, and generating each even or odd component of an output vector by subtracting from the weighted sum corresponding even or odd components of an entanglement vector.
The particular aspects and advantages of the present invention will become more evident through the following description of several important embodiments and by referring to the attached drawings, wherein:
a and 2b illustrate the evolution of a Grover's quantum algorithm in accordance with the prior art;
A quantum gate for fast running quantum algorithms applied over a set of input vectors is disclosed in the European patent application no. 02425672.9 which is assigned to the current assignee of the present invention. The quantum gate is comprises a superposition subsystem carrying out a linear superposition, an entanglement subsystem carrying out an entanglement operation and an interference subsystem carrying out an interference operation according to the Grover's quantum algorithm.
A hardware quantum gate of the present invention for performing Grover's algorithm with any number of iterations comprises two parts. Part I: (analog) for performing a calculation step-by-step of output values. This first part is divided in the following subsections: I-a: Entanglement; and I-b and I-c: Interference. Part II: (digital) for performing entropy evaluation, storage of vectors for iterations and output display. This part also provides the first basis of vectors.
An analog part for a three-qubits quantum gate is depicted in
The entanglement subsystem, which preferably may be formed by the command circuit HB14 and by an array of multiplexers I-a, is input with the voltage signals O11, . . . , O82 representing the sixteen components of a linear superposition vector, and generates the signals Q1, . . . , Q8 representing only the even or the odd components of an entanglement vector.
Let us assume that these signals represent the odd components of an entanglement vector. It is not necessary to calculate all components of the entanglement or output vectors since the odd components of any vector are always opposite to the even components. Therefore, entanglement and interference operations are carried out only on the odd components. The other components are calculated by simply inverting the first ones.
The sections I-b and I-c of a quantum gate shown in I has the following properties. Odd columns (or rows, because Dn
I is symmetric) have non-zero odd components and even columns have non-zero even components. The value of all non-zero components, except for the ith component of ith column (diagonal elements), is ½n−1. The components on the up-left down-right diagonal of the matrix differ form the other non-zero components by being decreased by 1. G* is an entanglement vector. The output vector of the quantum algorithm V=(Dn
I)G* involves only a weighted sum of components of G*. The value ½n−1 depends only from the number n of qubits.
From the above analysis, the generic element vi of V can be written as follows as a function of components gi* of the entanglement vector G*:
Therefore, to calculate a component vi of the output vector, according to the method of the invention, it is sufficient to calculate a weighted sum of even
or odd
components of the entanglement vector and to subtract from the weighted sum the corresponding component gi* of the entanglement vector.
An adder HB25, which may be as detailed in
The hardware structure of such a quantum gate must be designed for a pre-established number n of qubits, and is used for handling vectors having a different number of qubits. In fact, the adder of
This lack of flexibility is overcome by forming a quantum gate comprising a plurality of interconnected modules. Each module comprises an adder HB25 having a voltage buffer with an operational amplifier, and the amplifiers of the voltage buffers of all modules are connected in parallel. Basically, each voltage buffer comprises an operational amplifier, a resistor coupling an input of the amplifier to a node at a voltage to be summed and scaled, and a feedback resistor connected between an input and an output of the amplifier.
A sample embodiment of such a voltage buffer is shown in
Preferably, the resistors have a relatively high resistance to prevent the parallel resistors of all the buffers from having an excessively small value such that the operational amplifier will not function correctly. As it will be evident to those skilled in the art, different architectures of the voltage buffer are possible, provided that they have an operational amplifier, a feedback resistor and another resistor for coupling an input of the amplifier to a node at a voltage to be summed.
Preferably, the adder HB25 of each module is composed of an auxiliary adder, as that of
A basic scheme of a module of a quantum gate in accordance with the present invention is depicted in the dashed rectangle of
Preferably, each module comprises also a subgroup HB13 of the above mentioned array of multiplexers I-a of the entanglement subsystem. The logic command signals Vc1, . . . , Vc8 encoding the values of the binary function f(.) to be processed with the Grover's algorithm are sent to each subgroup of multiplexers HB13 of the modules through the internal bus BUS.
The digital circuit LOGIC, belonging to the digital Part II of the quantum gate, generates odd (or even) components of an output vector IN from the respective components of the interference vector A and communicates through the internal bus BUS with a microprocessor unit CPLD.
To better understand the functioning of the digital circuit LOGIC, reference is made to the more detailed diagram of
The microprocessor unit CPLD performs different types of operations (storing values, evaluating entropy and stopping iteration) in executing the Grover's algorithm. For evaluating the entropy S of the interference vector A, the microprocessor unit CPLD switches active a first logic signal OUT_EN, thus allowing the A/D converter of the selected module to generate a digital string DA representative of the components of output vector A, calculated by the selected module.
An analog/digital converter, which for example may be the commercial device ADC0808 of National Semiconductor, receives signals representing the components A1, . . . , A8 of the output vector A and produces a corresponding binary string DA. The microprocessor unit may be for example the commercial device XC95288XL of Xilinx, and receives this string and calculates the Shannon entropy. If the Shannon entropy is greater than a pre-established value S, the microprocessor CLPD commands a new iteration of the Grover's algorithm by providing a second logic signal WR that makes the D/A converter generate the analog signals IN, representing components of the last calculated interference vector from the digital string DIN output by the microprocessor CPLD.
The inverting circuit INVERT of
Basically, the microprocessor unit performs the following functions:
5) provides for an initial condition of superposed basis vectors.
A display may also be connected to the CPLD for displaying results. If the Shannon entropy is not sufficiently small, the binary string has to be re-converted in an analog signal by a digital/analog converter to feed it back into the entanglement subsystem I-a. In the embodiment of
Number | Date | Country | Kind |
---|---|---|---|
02425447 | Jul 2002 | EP | regional |
02425672 | Nov 2002 | EP | regional |
03425080 | Feb 2003 | EP | regional |
The present application is a continuation-in-part of U.S. patent application Ser. No. 10/701,150 filed on Nov. 4, 2003 which in turn is a continuation-in-part of U.S. patent application Ser. No. 10/615,446 filed Jul. 8, 2003, now U.S. Pat. No. 7,203,715 the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6317766 | Grover | Nov 2001 | B1 |
7069282 | Rizzotto et al. | Jun 2006 | B2 |
20040179622 | Calabro et al. | Sep 2004 | A1 |
Number | Date | Country |
---|---|---|
1083520 | Mar 2001 | EP |
0167186 | Sep 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20040162640 A1 | Aug 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10701150 | Nov 2003 | US |
Child | 10701160 | US | |
Parent | 10615446 | Jul 2003 | US |
Child | 10701150 | US |