The present disclosure generally relates to a method of performing computation in an ion trap quantum computer, and more specifically, to a method of constructing quantum circuits using efficient arbitrary simultaneous entangling (EASE) gates.
Quantum computers have been shown to improve performance of certain computational tasks when compared to what classical computers can do. Conventionally, a quantum algorithm used to perform such computational tasks is compiled by a set of universal gates, including single-qubit gates and two-qubit gates, that are sequentially executed. However, even with different available quantum computing architectures that exist today, simultaneous (parallel) computations, analogous to single instruction, multiple data (SIMD) processing used in conventional computing, have not been exploited, thus creating longer than desired computation times.
Therefore, there is a need for methods for parallel processing to perform efficient quantum computation.
Embodiments of the present disclosure provide a method of performing computation using an ion trap quantum computing system including a classical computer, a system controller, and a quantum processor. The method includes computing, by the classical computer, a circuit that implements a selected set of gate operations, using one or more efficient arbitrary simultaneous entangling (EASE) gates, implementing, by the system controller, the computed circuit on the quantum processor, measuring, by the system controller, population of qubit states in the quantum processor, and outputting, by the classical computer, the measured population of qubit states in the quantum processor.
Embodiments of the present disclosure also provide ion trap quantum computing system. The ion trap quantum computing system includes a quantum processor including qubits, each qubit comprising a trapped ion having two hyperfine states, one or more lasers configured to emit a laser beam, which is provided to trapped ions in the quantum processor, a classical computer, and a system controller. The classical computer is configured to perform operations including computing a circuit that implements a selected set of gate operations, using one or more efficient arbitrary simultaneous entangling (EASE) gates. The system controller is configured to execute a control program to control the one or more lasers to perform operations on the quantum processor, the operations including implementing the computed circuit on the quantum processor, and measuring population of qubit states in the quantum processor. The classical computer is further configured to output the measured population of qubit states in the quantum processor.
Embodiments of the present disclosure further provide an ion trap quantum computing system. The ion trap quantum computing system includes a classical computer, a quantum processor comprising qubits, each qubit comprising a trapped ion having two hyperfine states, non-volatile memory having a number of instructions stored therein, a system controller configured to execute a control program to control the one or more lasers to perform operations on the quantum processor, and non-volatile memory having a number of instructions stored therein. The number of instructions, when executed by one or more processors, causes the ion trap quantum computing system to perform operations including computing, by the classical computer, a circuit that implements a selected set of gate operations, using one or more efficient arbitrary simultaneous entangling (EASE) gates, implementing, by the system controller, the computed circuit on the quantum processor, measuring, by the system controller, population of qubit states in the quantum processor, and outputting, by the classical computer, the measured population of qubit states in the quantum processor.
So that the manner in which the above-recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this disclosure and are therefore not to be considered limiting of its scope, for the disclosure may admit to other equally effective embodiments.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. In the figures and the following description, an orthogonal coordinate system including an X-axis, a Y-axis, and a Z-axis is used. The directions represented by the arrows in the drawing are assumed to be positive directions for convenience. It is contemplated that elements disclosed in some embodiments may be beneficially utilized on other implementations without specific recitation.
Embodiments described herein are generally related to a method and a system for constructing quantum circuits using efficient arbitrary simultaneous entangling (EASE) gates in a quantum computer, such as an ion trap quantum computer. Analogous to the single instruction, multiple data (SIMD) processing used in conventional computing, parallel processing using EASE gates provides a more efficient quantum computational process.
An overall system that is able to perform quantum computations using trapped ions will include a classical computer, a system controller, and a quantum processor. The classical computer performs supporting and system control tasks including selecting a quantum algorithm to be run by use of a user interface, such as graphics processing unit (GPU), compiling the selected quantum algorithm into a series of quantum circuits, translating the series of quantum circuits into laser pulses to apply on the quantum processor, and pre-calculating parameters that optimize the laser pulses by use of a central processing unit (CPU). A software program for performing the task of decomposing and executing the quantum algorithms is stored in a non-volatile memory within the classical computer. The quantum processor includes trapped ions that are coupled with various hardware, including lasers to manipulate internal hyperfine states (qubit states) of the trapped ions and an acousto-optic modulator to read-out the internal hyperfine states (qubit states) of the trapped ions. The system controller receives from the classical computer the pre-calculated parameters for laser pulses at the beginning of running the selected algorithm on the quantum processor, controls various hardware associated with controlling any and all aspects used to run the selected algorithm on the quantum processor, and returns a read-out of the quantum processor and thus output of results of the quantum computation(s) at the end of running the algorithm to the classical computer.
and the 2S1/2 hyperfine states. In some embodiments, all ions in the group 106 of trapped ions are the same species and isotope (e.g., 171Yb+). In some other embodiments, the group 106 of trapped ions includes one or more species or isotopes (e.g., some ions are 171Yb+ and some other ions are 133Ba+). In yet additional embodiments, the group 106 of trapped ions may include various isotopes of the same species (e.g., different isotopes of Yb, different isotopes of Ba). The ions in the group 106 of trapped ions are individually addressed with separate laser beams. The classical computer 102 includes a central processing unit (CPU), memory, and support circuits (or I/O) (not shown). The memory is connected to the CPU, and may be one or more of a readily available memory, such as a read-only memory (ROM), a random access memory (RAM), floppy disk, hard disk, or any other form of digital storage, local or remote. Software instructions, algorithms and data can be coded and stored within the memory for instructing the CPU. The support circuits (not shown) are also connected to the CPU for supporting the processor in a conventional manner. The support circuits may include conventional cache, power supplies, clock circuits, input/output circuitry, subsystems, and the like.
An imaging objective 108, such as an objective lens with a numerical aperture (NA), for example, of 0.37, collects fluorescence along the Y-axis from the ions and maps each ion onto a multi-channel photo-multiplier tube (PMT) 110 (or some other imaging device) for measurement of individual ions. Raman laser beams from a laser 112, which are provided along the X-axis, perform operations on the ions. A diffractive beam splitter 114 creates an array of Raman laser beams 116 that are individually switched using a multi-channel acousto-optic modulator (AOM) 118. The AOM 118 is configured to selectively act on individual ions by individually controlling emission of the Raman laser beams 116. A global Raman laser beam 120, which is non-copropagating to the Raman laser beams 116, illuminates all ions at once from a different direction. In some embodiments, rather than a single global Raman laser beam 120, individual Raman laser beams (not shown) can be used to each illuminate individual ions. The system controller (also referred to as an “RF controller”) 104 controls the AOM 118 and thus controls intensities, timings, and phases of laser pulses to be applied to trapped ions in the group 106 of trapped ions. The CPU 122 is a processor of the system controller 104. The ROM 124 stores various programs and the RAM 126 is the working memory for various programs and data. The storage unit 128 includes a nonvolatile memory, such as a hard disk drive (HDD) or a flash memory, and stores various programs even if power is turned off. The CPU 122, the ROM 124, the RAM 126, and the storage unit 128 are interconnected via a bus 130. The system controller 104 executes a control program which is stored in the ROM 124 or the storage unit 128 and uses the RAM 126 as a working area. The control program will include software applications that include program code that may be executed by the CPU 122 in order to perform various functionalities associated with receiving and analyzing data and controlling any and all aspects of the methods and hardware used to implement and operate the ion trap quantum computing system 100 discussed herein.
During operation, a sinusoidal voltage V1 (with an amplitude VRF/2) is applied to an opposing pair of the electrodes 202, 204 and a sinusoidal voltage V2 with a phase shift of 180° from the sinusoidal voltage V1 (and the amplitude VRF/2) is applied to the other opposing pair of the electrodes 206, 208 at a driving frequency ωRF, generating a quadrupole potential. In some embodiments, a sinusoidal voltage is only applied to one opposing pair of the electrodes 202, 204, and the other opposing pair 206, 208 is grounded. The quadrupole potential creates an effective confining force in the X-Y plane perpendicular to the Z-axis (also referred to as a “radial direction” or “transverse direction”) for each of the trapped ions, which is proportional to a distance from a saddle point (i.e., a position in the axial direction (Z-direction)) at which the RF electric field vanishes. The motion in the radial direction (i.e., direction in the X-Y plane) of each ion is approximated as a harmonic oscillation (referred to as “secular motion”) with a restoring force towards the saddle point in the radial direction and can be modeled by spring constants kx and ky, respectively. In some embodiments, the spring constants in the radial direction are modeled as equal when the quadrupole potential is symmetric in the radial direction. However, undesirably in some cases, the motion of the ions in the radial direction may be distorted due to some asymmetry in the physical trap configuration, a small DC patch potential due to inhomogeneity of a surface of the electrodes, or the like and due to these and other external sources of distortion the ions may lie off-center from the saddle points.
Although not shown, a different type of trap is a micro-fabricated trap chip in which a similar approach as the one described above is used to hold or confine ions or atoms in place above a surface of the micro-fabricated trap chip. Laser beams, such as the Raman laser beams described above, can be applied to the ions or atoms as they sit just above the surface.
and the 2S1/2 hyperfine states (i.e., two electronic states) with an energy split corresponding to a frequency difference (referred to as a “carrier frequency”) of ω01/2π=12.642812 GHz. In other examples, each ion may be a positive barium ion 133Ba+, a positive cadmium ion ca or 113Cd+, or 113Cd+, which all have a nuclear spin
and the 2S1/2 hyperfine states. A qubit is formed with the two hyperfine states, denoted as |0 and |1, where the hyperfine ground state (i.e., the lower energy state of the 2S1/2 hyperfine states) is chosen to represent |0. Hereinafter, the terms “hyperfine states,” “internal hyperfine states,” and “qubits” may be interchangeably used to represent |0 and |1. Each ion may be cooled (i.e., kinetic energy of the ion may be reduced) to near the motional ground state |0m for any motional mode m with no phonon excitation (i.e., nph=0) by known laser cooling methods, such as Doppler cooling or resolved sideband cooling, and then the qubit state prepared in the hyperfine ground state |0 by optical pumping. Here, |0 represents the individual qubit state of a trapped ion whereas |0m with the subscript m denotes the motional ground state for a motional mode m of a group 106 of trapped ions.
An individual qubit state of each trapped ion may be manipulated by, for example, a mode-locked laser at 355 nanometers (nm) via the excited 2P1/2 level (denoted as |e). As shown in
It should be noted that the particular atomic species used in the discussion provided herein is just one example of atomic species which have stable and well-defined two-level energy structures when ionized and an excited state that is optically accessible, and thus is not intended to limit the possible configurations, specifications, or the like of an ion trap quantum processor according to the present disclosure. For example, other ion species include alkaline earth metal ions (Be+, Ca+, Sr+, Mg+, and Ba+) or transition metal ions (Zn+, Hg+, Cd+).
It should be noted that the particular configuration described above is just one among several possible examples of a trap for confining ions according to the present disclosure and does not limit the possible configurations, specifications, or the like according to the present disclosure. For example, the geometry of the electrodes is not limited to the hyperbolic electrodes described above. In other examples, a trap that generates an effective electric field causing the motion of the ions in the radial direction as harmonic oscillations may be a multi-layer trap in which several electrode layers are stacked and an RF voltage is applied to two diagonally opposite electrodes, or a surface trap in which all electrodes are located in a single plane on a chip. Furthermore, a trap may be divided into multiple segments, adjacent pairs of which may be linked by shuttling one or more ions, or coupled by photon interconnects. A trap may also be an array of individual trapping regions arranged closely to each other on a micro-fabricated ion trap chip, such as the one described above. In some embodiments, the quadrupole potential has a spatially varying DC component in addition to the RF component described above.
In an ion trap quantum computer, the motional modes may act as a data bus to mediate entanglement between two qubits and this entanglement is used to perform an entangling gate (referred to as a “XX gate”) between the two qubits. That is, each of the two qubits is entangled with the motional modes, and then the entanglement is transferred to an entanglement between the two qubits by using motional sideband excitations, as described below.
By the application of pulses on the sidebands for duration τ (referred to as a “gate duration”), having amplitudes Ω(i) and Ω(j) and detuning frequency μ, an entangling gate operation (XX gate) between a pair of i-th and j-th qubits, XXij(θij)
|0i|0j→cos(θij) |0i|0j−i sin(θij) |1i|1j
|0i|1j→cos(θij) |0i|1j−i sin(θij) |1i|0j
|1i|0j→−i sin(θij) |0i|1j+cos(θij) |1i|0j
|1i|1j→−i sin(θij) |0i|0j+cos(θij) |1i|1j
can be performed, where θij is an entangling interaction between the i-th and j-th qubits defined as,
nm(i) is the Lamb-Dicke parameter that quantifies the coupling strength between the i-th qubit and the m-th motional mode having the frequency ωm, and M is the number of the motional modes (equal to the number N of ions in the group 106). In the example shown above, the amplitudes Ω(i) and Ω(j) are modulated. In other embodiments, detuning frequency μ can also be modulated to achieve a desired entangling gate operation (XX gate) between a pair of i-th and j-th qubits, XXij(θij).
This entangling gate operation can be simultaneously performed on arbitrary pairs of qubits, by appropriately adjusting the amplitudes ω(i), and such gates are referred to as efficient arbitrary simultaneous entangling (EASE) gates hereinafter and defined as EASE ({right arrow over (θ)})=ℏi>j XXij(θij). It should be noted that the EASE gate that can be implemented by the methods described herein is not limited in this particular form. For example, an EASE gate can be in a form: EASE ({right arrow over (ϕ)}, {right arrow over (θ)})=Πi>j exp (−iσϕi(i)σϕj(j)θij/2), where σϕi(i)=cos(ϕi)σx(i)+sin(ϕi)σy(i) us a Pauli operator, defined over a vector that points to the equator on a Bloch spare with azimuthal angle ϕi, acting on qubit i and free parameters θij are the entanglement coupling between qubit i and j.
The EASE gates, combined with appropriate single-qubit gates, can be used to implement various two-qubit gate operations, such as ZZ gate, controlled Z (CZ) gates, controlled not (CNOT) gates, and SWAP gates, over arbitrary pairs of qubits, individually or simultaneously. A ZZ gate ZZij(θij) over i-th and j-th qubits adds a phase eiθij(x⊕y) to a two-qubit state |xi|yj(x,y={0,1}) depending on the logical exclusive OR (XOR) of the i-th and j-th qubits,
up to a global phase. A CZ gate operation conditioned on i-th (control bit) and targeted on j-th qubit (target bit) adds a phase eiπ(=−1) to a two-qubit state |xi|yj(x, y={0,1}) only if both of the i-th and j-th qubits are in state
where x·y is the logical AND of the i-th and j-th qubits. A CNOT gate operation conditioned on i-th qubit (control bit) and targeted on j-th qubit (target bit) inverts the j-th qubit (target bit) if the i-th qubit (control bit) in state |1, and leaves both the i-th and j-th qubits unchanged otherwise, thus transforming a two-qubit state |xi|yj(x, y={0,1}) to a two-qubit state
where x⊕y is the logical exclusive OR (XOR) of the i-th and j-th qubits. A SWAP gate operation between i-th and j-th qubits swaps the i-th and j-th qubits, thus transforming a two-qubit state |xi|yj(x, y={0,1}) to a two-qubit state
Single qubit operations that are used in conjunction with the EASE gates include rotation gates X(θ), Y(θ), and Z(θ), which each transforms states |0 and |1 of the qubit according to
respectively, Hadamard gate
a phase gates
and an inverse phase gate
In quantum computation, a quantum algorithm is selected and decomposed into series of quantum circuits, including single-qubit gate operations, two-qubit gate operations, and multiple qubit gate operations, that are implemented on a quantum processor. In some embodiments, quantum algorithms are decomposed using commonly used quantum circuits (i.e., certain sequences of quantum gate operations). Such quantum circuits include Clifford circuits (also referred to as “stabilizer circuits”), multi-controlled NOT gates, qubit permutation gates, controlled SWAP gates, and controlled permutation gates. For example, Clifford circuits are well known as circuits that can be efficiently simulated by classical computers. Quantum algorithms are often decomposed in terms of Clifford circuits and non-Clifford circuits. The multi-controlled NOT gates are used for running quantum algorithms, including Grover's algorithm and quantum approximate optimization algorithms, implementing reversible logics, such as Reed-Müller kind, and simulating strongly-interacting materials. The quantum permutation gates are used for running quantum algorithms, including string matching algorithm, and simulating interacting materials using the quantum enhanced Ewald method. The controlled SWAP gates are used for running quantum algorithms, including discrete logarithm algorithm and Shor's algorithm. The controlled permutation gates are used for running quantum algorithms, including quantum string matching algorithm.
A Clifford circuit acting on n qubits is a quantum circuit that can be composed solely of a CZ gate layer (i.e., a combination of CZ gates over one or more pairs of qubits among the n qubits), a CNOT gate layer (i.e., a combination of CNOT gates over one or more pairs of qubits among the n qubits), a Hadamard gate layer (i.e., a combination of Hadamard H gates on one or more qubits among the n qubits), and a phase gate layer (i.e., a combination of phase S gates on one or more qubits among the n qubits). It has been shown an arbitrary Clifford circuit is decomposed in a normal form of H-S-CZ-CNOT-H-CZ-S-H, where H, S, CZ, and CNOT, which stand for a Hadamard gate layer, a phase gate layer, a CZ gate layer, and a CNOT gate layer, respectively. Since the Hadamard gates H and the phase gates S are single-qubit gate operations and can be simultaneously and efficiently implemented, CZ gate layers and CNOT gate layers that are used in decomposition of Clifford circuits, along with the multi-controlled NOT gates and the qubit permutation gates are constructed efficiently by the EASE gates in the embodiments described herein.
In the description below, “construction” of a circuit that implements a gate operation or a layer of gate operations refers to decomposing, by a classical computer (e.g., a digital computer), a given gate operation or a layer of gate operations into one or more EASE gates and single-qubit gates, and computing, by the classical computer, a sequence of one or more EASE gates and single-qubit gates that will be implemented on a quantum processor as a part of running of a selected quantum algorithm to complete a computational operation. Using a gate operation and a layer of gate operations that are constructed efficiently by the methods described herein, an overall quantum computation can be performed efficiently.
As described above, a CZ gate layer acting on n qubits is a combination of one or more CZ gates each over a pair of qubits among the n qubits. In the description below, pairs of qubits each over which a CZ gate is included in the CZ gate layer are referred to as “participating pairs” and qubits in the participating pairs are referred as “participating qubits.” For example, for a CZ gate layer including CZ gates over pairs of qubits (1, 2), (1, 4), (3, 6), and (3, 8), where the qubits are numbered as 0, 1, . . . , n-1, the participating pairs are (1, 2), (1, 4), (3, 6), and (3, 8) and the participating qubits are 1, 2, 3, 4, 6, and 8.
is decomposed into a ZZ gate over the i-th and j-th qubits ZZij(θij) where
and the inverse phase S−1 gates on both of the i-th and j-th qubits. This decomposition is repeated for the one or more CZ gates over all of the participating pairs included in the CZ gate layer.
In block 604, the ZZ gates over all of the participating pairs (i.e., orders of the ZZ gates and the inverse phase S−1 gates are changed, such that all of the ZZ gates are concatenated) are aggregated in a single block by the classical computer. This operation in block 604 is possible since a ZZ gate and an inverse phase S−1 gate commute (i.e., the order of a ZZ gate and an inverse phase S−1 gate can be interchanged without affecting an outcome of the gate operations). Thus, the CZ layer is now decomposed into a single block of ZZ gates Πi,jZZij(θij) where
for all participating pairs (i,j) and a layer of the inverse phase S−1 gates.
In block 606, a circuit that implements the single block of ZZ gates (Πi,j ZZij(θij)) is constructed by the classical computer. The circuit includes a single EASE gate and Hadamard gate H layers, since the single block of ZZ gates (Πi,j ZZij(θij)) can be implemented by conjugating an EASE gate, EASE ({right arrow over (θ)})=Πi,j XXij(θij), where
for participating pairs (i,j) with a Hadamard gate layer (i.e., applying a Hadamard gate layer before and after the EASE gate). The Hadamard gate layer includes Hadamard gates on all participating qubits.
Thus, the overall circuit that implements a CZ gate layer including CZ gates over participating pairs (i,j) of qubits includes a Hadamard gate layer including Hadamard gates on all participating qubits, a single EASE gate, EASE ({right arrow over (θ)})=Πi,j XXij(θij), where
for participating pairs (i,j), another Hadamard gate layer including Hadamard gates on all participating qubits, an inverse phase layer including inverse phase S−1 gates aggregated on the participating qubits. Thus, the method 600 provides improved efficiency over the conventional method using a universal gate set including single-qubit gates and two-qubit gates that requires O(n2) two-qubit gates.
A CNOT gate layer acting on n qubits is a combination of one or more CNOT gates each over a pair of qubits among the n qubits. Similarly to the description above about a CZ gate layer, pairs of qubits each over which a CNOT is included in the CNOT gate layer are referred to as “participating pairs” and qubits in the participating pairs are referred as “participating qubits.” In general, a CNOT gate layer can be written as a linear transformation of an input set of Boolean variables
to an output set of Boolean variables
by an n×n transformation matrix MCNOT. Each Boolean variable bi (i=0,1, . . . , n-1) is represented by n qubits. In the embodiments described herein, two methods of constructing a circuit that implements a CNOT gate layer, one without ancillary qubits, and the other with ancillary qubits, are provided.
and an n×n upper triangular matrix
by the classical computer. This factoring of the matrix MCNOT is performed by the lower-upper (LU) decomposition method well known in the art, and can be performed efficiently for this instance with the time scaling of O(n3) by the classical computer.
In block 704, a circuit that implements a linear transformation represented by each row of the upper triangular matrix U is constructed by the classical computer. The i-th row of the upper triangular matrix U (0 . . . si(i) si+1(i) . . . sn-1(i)) corresponds modulo 2 addition of Boolean variables bj (j=i+1, . . . , n-1) to the i-th Boolean variable bi, if sj(i)=1, which corresponds to a CNOT gate controlled on the j-th Boolean variables bj (j=i+1, . . . , n-1) and targeted on the i-th Boolean variable bi, where sj(i)=1. This set of CNOT gates can be implemented by a single EASE gate EASE ({right arrow over (θ)})=Πi,j exp [−iσx(i) σx(j) θij], where
along with appropriate single-qubit gates. This construction of a circuit is repeated to implement all n rows of the upper triangular matrix U. Thus, the circuit constructed in block 704 includes n EASE gates and single-qubit gates.
In block 706, a circuit that implements a linear transformation represented by each row of the lower triangular matrix L is constructed by the classical computer. The i-th row of the lower triangular matrix L (t0(i) . . . ti−1(i) ti(i) . . . 0) corresponds modulo 2 addition of Boolean variables bj (j=0, i−1) to the i-th Boolean variable bi, if tj(i)=1, which corresponds to a CNOT gate controlled on the j-th Boolean variables bj (j=0, . . . , i−1) targeted on the i-th Boolean variable bi, where tj(i)=1. This set of CNOT gates can be implemented by a single EASE gate EASE ({right arrow over (θ)})=Πi,j exp [−iσx(i) σx(j) θij], where
along with appropriate single-qubit gates. This construction of a circuit is repeated to implement all n rows of the lower triangular matrix L. Thus, the circuit constructed in block 706 includes n EASE gates and single-qubit gates.
Thus, the overcall circuit that implements a CNOT gate layer acting on n qubits, without ancillary qubits, includes 2n EASE gates and single-qubit gates. Thus, the method 700 provides improved efficiency over the conventional method using a universal gate set including single-qubit gates and two-qubit gates that requires Ω(n2/log(n)) two-qubit gates known in the art.
and an n×n upper triangular matrix
by the classical computer. This factoring of the matrix MCNOT is performed by the lower-upper (LU) decomposition method well known in the art, and can be performed efficiently with the time scaling of O(n3) by the classical computer. This decomposition process in block 802 is the same as that in block 702 of the method 700 described above.
In block 804, a circuit that implements a linear transformation represented by the first row of each of 2×2 block diagonal elements
of the upper triangular matrix U using one ancillary qubit is constructed by the classical computer. The first row of the upper triangular matrix U (si(i) si+1(i)) corresponds modulo 2 addition of the Boolean variable bi+1 to the i-th Boolean variable bi, if si+1(i)=1. In the example described herein, the circuit includes a first CNOT gate conditioned on the Boolean variable bi+1 and targeted on the ancillary qubit that is prepared in state |0. This first CNOT gate temporarily copies the Boolean variable bi+1 to the ancillary qubit. The circuit subsequently includes a second CNOT gate conditioned on the ancillary qubit and targeted on the Boolean variable bi. This second CNOT gate performs modulo 2 addition of the Boolean variable bi+1 to the Boolean variable bi. The circuit then includes a third CNOT gate that is the same as the first CNOT gate. This third CNOT gate transforms the ancillary qubit back to state |0such that this ancillary qubit can be reused in the following steps. Each of these three CNOT gates, appearing for i=0, 2, 4, . . . , can be implemented simultaneously by a single EASE gate along with single-qubit gates. Thus, the circuit constructed in block 804 includes three EASE gates and single-qubit gates.
In block 806, a circuit including that implements a linear transformation represented by 2×2 off-diagonal elements of each 4×4 block diagonal elements
of the upper triangular matrix U using two ancillary qubits is constructed by the classical computer. The circuit constructed in block 802 already implements linear transformations represented by the two 2×2 block diagonal elements
Thus, the circuit to construct in block 806 implements linear transformations represented by the 2×2 off-diagonal elements
These linear transformations correspond to modulo 2 addition of Boolean variables bj (j=i+2, i+3) to the i-th Boolean variables bi⊕si+1(i) bi+1, if sj(i)=1, and modulo 2 addition of Boolean variables bj (j=i+2, i+3) to the (i+1)-th Boolean variable bi+1, if sj(i)=1, which corresponds to a CNOT gate controlled on the j-th Boolean variables bj (j=i+1, . . . , n-1) targeted on the (i+1)-th Boolean variable bi+1, where sj(i+1)=1. Thus, similarly to block 804, the circuit includes a first set of a first set of CNOT gates, conditioned on the Boolean variable bi+2⊕si+3(i+2)bi+3 and bi+3 and targeted on the first ancillary qubit that is prepared in state |0, and a second set of a first set of CNOT gates, conditioned on the Boolean variables bi+2⊕si+3(i+2) bi+3 and bi+3 and targeted on the second ancillary qubit that is prepared in state |0. This first set of CNOT gates temporarily copies the Boolean variables si+2(i) bi+2⊕si+3(i) bi+3 and si+2(i+1) bi+2⊕si+3(i+1) bi+3 to the first ancillary qubit and the second ancillary qubits, respectively. The circuit subsequently includes a second set of CNOT gates, a CNOT gate conditioned on the first ancillary qubit and targeted on the Boolean variable bi⊕si+1(i) bi+1, a CNOT gate conditioned on the second ancillary qubit and targeted on the Boolean variable bi+1. This second set of CNOT gates performs modulo 2 addition of the Boolean variable bi⊕si+1(i) bi+1 to the Boolean variable si+2(i) bi+2⊕si+3(i) bi+3, and modulo 2 addition of the Boolean variable bi+1 to the Boolean variable si+2(i+1) bi+2⊕si+3(i+1) bi+3. The circuit then includes a third set of CNOT gates that is the same as the first set of CNOT gates. This third set of CNOT gates transforms the first ancillary qubit and the second ancillary qubits back to state |0, such that these ancillary qubits can be reused in the following steps. Each of these three sets of CNOT gates can be implemented by a single EASE gate along with single-qubit gates. Thus, the circuit constructed in block 806 includes three EASE gates and single-qubit gates.
In block 808, a circuit that implements a linear transformation represented by the 2l-1×2l-1 off-diagonal elements of each 2l×2l block diagonal elements (l=3,4, . . . , m=log n) of the upper triangular matrix U using 2l-1 ancillary qubits is constructed by the classical computer. The circuit includes a first set of CNOT gates each conditioned on the Boolean variable bj⊕ ⊕k>j sk(j) bk (j=i+2l-1, i+2l-1+1, . . . , i+2l−1) and targeted on one of 2l-1 ancillary qubits that are each prepared in state |0. This first set of 2l-1 CNOT gates temporarily copies the Boolean variable
to the ancillary qubits. The circuit subsequently includes a second set of CNOT gates, each conditioned on one of the ancillary qubits targeted on the Boolean variable
This second set of CNOT gates performs modulo 2 addition of the Boolean variable
to the Boolean variable
The circuit then includes a third set of CNOT gates that is the same as the first set of CNOT gates. This third set of CNOT gates transforms the ancillary qubits back to state |0, such that these ancillary qubits can be reused in the following steps. Each of these sets of 2l-1 CNOT gates can be implemented simultaneously by a single EASE gate along with single-qubit gates. This step is repeated sequentially from l=3 to l=m (=log n). Thus, the circuit constructed in block 808 includes (m-2)×3 EASE gates and single-qubit gates.
In block 810, a circuit that implements a linear transformation represented by the lower triangular matrix L using n/2 ancillary qubits is constructed by the classical computer. The construction of the circuit in block 810 follows the steps in blocks 804-808. The circuit constructed in block 810 includes 3 log n (=3m) EASE gates and single-qubit gates.
Thus, the overcall circuit that implements a CNOT gate layer acting on n qubits, with n/2 ancillary qubits includes 6 log n (=6m) EASE gates and single-qubit gates. Thus, the method 800 provides improved efficiency over the conventional method using a universal gate set including single-qubit gates and two-qubit gates that requires Ω(n2/log(n)) two-qubit gates.
A multi-controlled NOT gate (denoted as Cn-1 NOT gate, also referred to as Toffoli-n gate) acting on n qubits flips the value of a target bit if all of (n-1) qubits are in state |0. For example, a C2 NOT gate (referred to as “Toffoli-3 gate” or simply as a “Toffoli gate”) applied to two control bits and one target bit inverts the target bit only if both of the control bits are in state |1, and leaves all three qubits unchanged otherwise, thus transforming a three-qubit state |x|y|z (x, y, z={0,1}) to a three-qubit state
A multi-controlled NOT gate can be simply obtained by conjugating a multi-controlled Z gate (denoted as a Cn-1 Z gate) by a Hadamard gate applied on the target qubit (i.e., applying a Hadamard gate on the target qubit before and after the Cn-1 Z gate). Thus, in the example described herein, methods to construct a Cn-1 NOT are provided.
In general, a Cn-1 Z gate transforms a n-qubit state |b0b1 . . . bn-1 to
where ω2
Using the equality, 2xy=x+y−(x⊕y), the exponent 2n-1 Πj=0n-1 bj can be expanded according to
2n-1 Πj=0n-1 bj=Σl=1n(−1)l-1 Tl,
where Tl=Σk=1n
For example, a C2 Z gate transforms a three-qubit state as
where
T1=x+y+z (linear terms), T2=(x⊕y)+(y⊕z)+(z⊕x) (XOR patterns of length 2), and T3=x⊕y⊕z (XOR pattern of length 3).
In block 904, a circuit that implements all of the terms Tl in the expansion of the Cn-1 Z gate in the expansion is constructed by the classical computer. All of the terms can be implemented by combinations of ZZ gates ZZij(θij) and rotation gates Z(θ) with appropriately chosen rotation angles θij and θ. All of these ZZ gates can be implemented in a single EASE gate with appropriate single-qubit gates. Thus, the circuit constructed in block 904 includes a single EASE gate and single-qubit gates.
In block 906, a circuit that includes the same set of CNOT gates as those in block 902 is constructed. This circuit transforms all of the ancillary qubits back to state |0 such that these ancillary qubits can be reused in the following steps. As described above, this set of CNOT gates can be simultaneously implemented in a single EASE gate with appropriate single-qubit gates. Thus, the circuit constructed in block 906 includes a single EASE gate and single-qubit gates.
Thus, the overall circuit that implements a Cn-1 Z gate acting on n qubits (n=5, 6) includes three EASE gates and single-qubit gates. Since a Toffoli-n gate can be simply obtained by conjugating a Cn-1 Z gate by a Hadamard gate applied on the target qubit, the circuit that implements Toffoli-5 and Toffoli-6 gates also includes three EASE gates and single-qubit gates.
It should be noted that Toffoli-6 gates constructed as described above can be used to implement a Cn-1 Z gate (n≥6) efficiently. It is known in the art that a Cn-1 Z gate can be decomposed using n/2 Toffoli-6 gates. Thus, a Cn-1 Z gate can be implemented using 3n/2 EASE gates and single-qubit gates. Thus, the method 800 provides improved efficiency over the conventional method using a universal gate set including single-qubit gates and two-qubit gates that requires at least 2n two-qubit gates.
In block 1004, a circuit that temporality copies all of the XOR patterns Tl(l=2, . . . , n) in the expansion of the Cn-1 Z gate to ancillary qubits. There are
XOR patterns of length l, each of which is copied to an ancillary qubit. The circuit includes CNOT gates each conditioned on a Boolean variable bj and targeted on an ancillary qubit that is prepared in state |0. All of the CNOT gates can be implemented simultaneously in a single EASE gate along with appropriate single-qubit gates. Thus, the circuit constructed in block 1004 includes a single EASE gate and single-qubit gates.
In block 1006, a circuit that implements a phase shift
for each of the XOR patterns Tl(l=2, . . . , n) is constructed by the classical computer. All XOR patterns are already copied to the ancillary qubits, thus the circuit constructed in block 1006 includes Z gates on the ancillary qubits.
In block 1008, a circuit that transforms all ancillary qubits back to state |0 is constructed by the classical computer. The circuit constructed in block 1008 is the same as that constructed in block 1004 and includes a single EASE gate and single-qubit gates.
Thus, the overall circuit that implements a Cn-1 Z gate acting on n qubits using 2n ancillary qubits includes two EASE gates and single-qubit gates. Thus, the method 1000 provides improved efficiency over the conventional method using a universal gate set including single-qubit gates and two-qubit gates that requires at least 2n two-qubit gates.
In block 1104, each SWAP gate is decomposed into CNOT gates. It is known in the art a SWAP gate can be implemented as three CNOT gates.
In block 1106, a circuit that implements the CNOT gates is constructed by the classical computer. Since each of the CNOT gates can be implemented by a single EASE gate along with appropriate single-qubit gates, the circuit constructed in block 1106 includes three EASE gates and single-qubit gates.
Thus, the overall circuit that implements a qubit permutation includes 12 EASE gates and single-qubit gates using n ancillary qubits, or 18 EASE gates and single-qubit gates not using ancillary qubits. Thus, the method 1100 provides improved efficiency over the conventional method using a universal gate set including single-qubit gates and two-qubit gates that requires O(n) two-qubit gates.
In block 1204, a circuit that implements the CNOT gates is constructed by the classical computer. Since each of the seven CNOT layers can be implemented simultaneously in a single EASE gate along with appropriate single-qubit gates, the circuit constructed in block 1204 includes seven EASE gates and single-qubit gates.
Thus, the overall circuit that implements a controlled permutation gate includes O(1) EASE gates and single-qubit gates. Thus, the method 1200 provides improved efficiency over the conventional method using a universal gate set including single-qubit gates and two-qubit gates that requires O(n) two-qubit gates.
Using the method described herein to implement a controlled permutation gate, the complexity of quantum algorithms that use controlled permutations can be reduced. For example, the circuit depth of a string-matching algorithm, which matches a pattern of length M in a text of length N, can be reduced from O(√{square root over (N)}((log N)2+log M)) to O(√{square root over (N)}(log N+log M)). The number of ancillary qubits is also reduced by log N.
Various quantum circuits including one or more EASE gates and single-qubit gates formed by use of a classical computer using the methods described herein are implemented on a quantum computer, in combination with other quantum circuits to perform quantum computations. Each EASE gate can be implemented on a quantum computer by the method described in detail in in the U.S. application Ser. No. 16/578,137 (entitled “Simultaneously Entangling Gates For Trapped-lon Quantum Computers”) and the U.S. application Ser. No. 16/854,043 (entitled “Amplitude, Frequency, And Phase Modulated Simultaneous Entangling Gates For Trapped-lon Quantum Computers”) which are incorporated by reference herein. An EASE gate that simultaneously performs entangling gate operations on arbitrary pairs of qubits within a quantum processor can be implemented by applying a laser pulse to each of the participating qubits, where the amplitude and phase of each pulse is appropriately adjusted by software program(s) within a classical computer. The pulses determined by the software program(s) are applied to the participating qubits within the quantum processor (the chain of N trapped ions) to perform the EASE gate operation on the selected pairs of qubits, controlled by a system controller.
At the end of quantum computation, population of the qubit states (trapped ions) within the quantum processor (including a group 106 of trapped ions) is determined (read-out) by measurements obtained by the imaging objective 108 and mapped onto the PMT 110, so that the results of the quantum computation can be determined and provided as input to the classical computer (e.g., digital computer). The results of the quantum computation can then be processed by the classical computer 102 and output to a user interface, such as graphics processing unit (GPU) of the classical computer 102, printed on to paper and/or saved in the memory of the classical computer 102. The results of the quantum computation may be used by the classical computer to perform a desired activity or obtain solutions to problems that are typically not ascertainable, or ascertainable in a reasonable amount of time, by the classical computer alone. The problems that are known to be intractable or unascertainable by the conventional computers (i.e., classical computers) today and may be solved by use of the results obtained from the performed quantum computations may include, but are not limited to simulating internal chemical structures of complex molecules and materials, and factoring a large integer.
The methods for constructing quantum circuits using EASE gates described herein provide improvements in computational complexity over other existing methods for constructing quantum circuits known in the art. A CZ gate layer acting on n qubits can be implemented by a single EASE gate and single-qubit gates by the method 600 described above, while the conventional method using a universal gate set including single-qubit gates and two-qubit gates requires O(n2) two-qubit gates. A CNOT gate layer acting on n qubits can be implemented by 2n EASE gates and single-qubit gates, without ancillary qubits, by the method 700 described above, while the conventional method requires O(n2) two-qubit gates. A CNOT gate layer acting on n qubits can be implemented by 6 log n EASE gates and single-qubit gates, with n/2 ancillary qubits, by the method 800 described above, while the conventional method requires O(n2) two-qubit gates. Toffoli-5 and Toffoli-6 gates can be implemented by 3 EASE gates and single-qubit gates by the method 900 described above, while the conventional method requires at least 10 and 12 two-qubit gates. A Toffoli-n gate acting on n qubits can be implemented by 3n/2 EASE gates and single-qubit gates by the method 900 described above, while the conventional method requires at least 2n two-qubit gates. A Toffoli-n gate acting on n qubits can be implemented by 2 EASE gates, with O(2n) ancillary qubits, by the method 1000 described above, while the conventional method requires at least 2n two-qubit gates. A qubit permutation operation and a controlled permutation gate acting on n qubits can each be implemented by O(1) EASE gates (i.e., the number of required EASE gates is constant as the number n of qubits increases) and single qubits, while the conventional method requires O(n) two-qubit gates.
While the foregoing is directed to specific embodiments, other and further embodiments may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
This application claims the benefit of U.S. Provisional Application No. 63/220,860, filed Jul. 12, 2021, which is incorporated by reference herein.
This invention was made with Government support under 70NANB16H168 awarded by the National Institute of Standards and Technology. The Government has certain rights in this invention.
Number | Date | Country | |
---|---|---|---|
63220860 | Jul 2021 | US |