Abstract
A prerequisite for many quantum information processing tasks to truly surpass classical approaches is an efficient procedure to encode classical data in quantum superposition states. In this work, we present a circuitbased flipflop quantum random access memory to construct a quantum database of classical information in a systematic and flexible way. For registering or updating classical data consisting of M entries, each represented by n bits, the method requires O(n) qubits and O(Mn) steps. With postselection at an additional cost, our method can also store continuous data as probability amplitudes. As an example, we present a procedure to convert classical training data for a quantum supervised learning algorithm to a quantum state. Further improvements can be achieved by reducing the number of state preparation queries with the introduction of quantum forking.
Introduction
The theory of quantum information processing promises to accelerate certain computational tasks substantially. In practice, the computational cost of generating an arbitrary quantum input state^{1,2} must be addressed to ensure the speedup. The ability to efficiently convert classical data into quantum states is essential in many algorithms with complex data sets, such as quantum searching^{3}, collision finding^{4}, and quantum Fourier transform^{5}. The demand for such ability has continued to grow with recent discoveries of quantum algorithms for data analysis and machine learning applications with large classical data^{6,7,8,9,10}. Quantum simulation also requires the preparation of a quantum register in the initial physical state of the simulated system^{11}. One promising avenue is to use quantum random access memory (QRAM)^{12}, a device that stores either classical or quantum data with the ability to query the data with respect to superposition of addresses. The bucket brigade (BB) model for QRAM proposed in refs^{12,13} requires \(O({\mathrm{log}}_{{\rm{2}}}(M))\) address qubits, O(M) qutrits for routing, and O(M) classical or quantum memory cells for M binary data. The content of multiple data cells can be returned in superposition with only \(O({\mathrm{log}}_{2}(M))\) qutrits activated after \(O({\mathrm{log}}_{2}^{2}(M))\) time steps. A critical assumption for the practicality of this scheme is that the inactive routing elements do not render noticeable errors.
Since quantum operations are applied directly to the qubits that form a QRAM as the state preparation is followed by a quantum algorithm, it is favorable to build a QRAM based on the quantum circuit model. At the same time, a QRAM should be a good interface to classical data for big data applications. In this work, we propose a flipflop (FF) QRAM, which is constructed with the standard circuitbased quantum computation and without relying on a routing algorithm. The FFQRAM can read unsorted classical data stored in memory cells, and superpose them in the computational basis states with nonuniform probability amplitudes to create a specific input state required in a quantum algorithm. Also, the classical information stored in the quantum state can easily be updated with the same FFQRAM process. The cost for writing or modifying M classical data represented as \(D=\{({\overrightarrow{d}}^{(l)},{b}_{l})0\le l < M\}\), where \({\overrightarrow{d}}^{(l)}\) represents n bits of information and b_{l} is the attribute of \({\overrightarrow{d}}^{(l)}\), is O(n) qubits and O(Mn) quantum operations that are commonly found in many known algorithms. The probability amplitudes can be modified by postselection at an additional cost of repeating the process and single qubit measurement. In addition, the FFQRAM architecture can serve as a building block for the classicalquantum interface.
A quantum state prepared by QRAM as an input to a specific algorithm cannot be reused once measured (the quantum measurement postulate), nor be copied (the nocloning theorem) for another task. Thus, in general, the QRAM cost seems unavoidable per algorithm run, even when performing a set of algorithms with an identical input state. Here we introduce a process of quantum forking inspired by process forking in computer operating systems, which creates a child process that can evolve independently^{14}. Quantum forking is a framework to split unitary processes in superposition, with which the number of QRAM queries can be reduced in certain applications.
Results
A quantum superposition state prepared with respect to classical data for quantum computation can be referred to as quantum database (QDB). In most general form, a QDB can be expressed as
where \({\overrightarrow{d}}^{(l)}={d}_{0}^{(l)}{d}_{1}^{(l)}\ldots {d}_{n1}^{(l)}\in {\{0,1\}}^{n}\) denotes a string of quantum bits in the computational basis to represent a classical data, and M is the number of data. For big data applications, a typical quantum representation of \({\overrightarrow{d}}^{(l)}\) can be decomposed as \({\overrightarrow{d}}^{(l)}\rangle ={\overrightarrow{x}}^{(l)}\rangle l\rangle \), where \({\overrightarrow{x}}^{(l)}\) and l denote a data entry and the corresponding label, respectively^{7,10}. The probability amplitude, b_{l}, can encode continuous data as required in some applications^{10,15}, or represent the normalized occurrence of the data entry \({\overrightarrow{x}}^{(l)}\). For M numbers of nbit data, n + m qubits are sufficient to realize the QDB, where n and \(m=\lceil {\mathrm{log}}_{2}(M)\rceil \) qubits encode the data and the label, respectively. The number of label qubits can be reduced by labelling only the data that appears more than once. The label qubits are unnecessary when all data entries, \({\overrightarrow{x}}^{(l)}\), are unique.
Flipflop QRAM
The FFQRAM is used to generate a QDB as follows. Consider a quantum computer with an (n + m)qubit bus state to encode a big data class database. The bus qubit state can be arbitrary, and it defines which computational basis states, j〉_{B}, are accessed with probability amplitudes, \({\psi }_{j}\). A QRAM operation on the bus qubit superposes a set of classical data D as
where the subscript B (R) indicates the bus (register) qubit, and the register qubit can include the probability amplitudes for encoding the analog data. The FFQRAM is implemented systematically with standard quantum circuit elements, which include the classicallycontrolled Pauli X gate, \(\bar{c}X\), and the nqubit controlled rotation gate, C^{n}R_{p}(θ). The \(\bar{c}X\) flips the target qubit only when the classical control bit is zero. The C^{n}R_{p}(θ) gate rotates the target qubit by θ around the paxis of the Bloch sphere only if all n control qubits are 1.
The underlying idea of the FFQRAM model is depicted in Fig. 1, describing the procedure to superpose two independent bit strings \({\overrightarrow{d}}^{(l)}\) and \({\overrightarrow{d}}^{(l+1)}\) with target probability amplitudes in the bus qubit state, \(\psi {\rangle }_{B}\). In this example, the label qubits, \(l\rangle \), are omitted without loss of generality to deliver the main idea. The initial state can be expressed with a focus on \({\overrightarrow{d}}^{(l)}\) as
where \({\psi }_{s}{\rangle }_{l}\) denotes the state of the (n + 1) qubits in the process of writing the lth data entry, observed at the sth step in Fig. 1. The \(\bar{c}X\) gates controlled by \({\overrightarrow{d}}^{(l)}\) rearrange the computational basis states of the bus qubit so that \({\overrightarrow{d}}^{(l)}\rangle \) becomes \(1{\rangle }^{\otimes n}\), and the rest of the quantum bits flip accordingly:
The overline in the last term indicates that the bit flip occurs if the control bit is 0. After step 1, the controlled qubit rotation, \({C}^{n}{R}_{y}({\theta }^{(l)})\), denoted as θ^{(l)} in the figure, is applied to the register qubit. The quantum state at step 2 becomes
where \(\theta \rangle =\,\cos \,\theta 0\rangle +\,\sin \,\theta 1\rangle \). The \(\bar{c}X\) gates conditioned on \({\overrightarrow{d}}^{(l)}\) are applied again to revert the bus state:
The second round registers the next data \({\overrightarrow{d}}^{(l+\mathrm{1)}}\) and θ^{(l+1)}:
This process can be repeated as many times as the number of data entries. In this way, M data entries can be registered with nonuniform weights to generate a state,
Finally, the queried QDB derived from Eq. (1) can be obtained by selecting an appropriate angle θ^{(l)} to match the desired probability amplitude b_{l}, and postselecting the measurement outcome \(\mathrm{1}{\rangle }_{R}\). The probability to measure \(\mathrm{1}{\rangle }_{R}\) is
The postselection increases the total runtime by a factor of ~1/P(1), which is data dependent. In some instances, such as in the distancebased quantum classifier^{10}, the postselection success probability can be improved by preprocessing the classical data so that θ^{(l)} is close to kπ/2 for all l where k is an oddinteger.
For the quantum state containing data as equal superposition, the controlled rotations can be replaced with the controlledNOT gate. Then, the classical data is encoded only in the digital form. If the bus qubit is not in the basis state that corresponds to a data entry \({\overrightarrow{d}}^{(j)}\), then the jth data entry cannot be written in the queried QDB. Moreover, when the same bit string appears more than once, the register qubit accumulates the rotation.
Updating desired data entries of the existing quantum database using our scheme is straightforward. The update can be done by inserting the QDB state as the bus qubit and addressing only the target basis states that are to be updated with the selective flipflop process.
It is important to note that the postselection process is not always necessary. For example, the postselection is not needed when all or some of the bus qubit states are addressed to write or modify the binary data to generate the transformation,
where \({D}_{j}^{0}\), \({D}_{j}\in \{0,1\}\). With r register qubits, this process can be easily generalized to encode rbit data.
In most of the big data applications, realvalued data is encoded in the probability amplitude as discussed thus far. However, if desired, our method can also encode complex probability amplitudes by using a controlled rotation around an arbitrary axis.
In addition to O(Mn) flipregisterflop steps, the total FFQRAM cost must include the resource overhead for the register operations. In fact, the number of elementary gates needed for this step can dominate the runtime of the entire QRAM process. Thus efficient realization of C^{n}R_{p}(θ) is critical for the practicality of our scheme. Though the optimal circuit depth reduction can be carried out based on the naturally available set of gates in a specific experimental setup, and is beyond the primary scope of this paper, we briefly mention some examples on how to implement C^{n}R_{p}(θ) here. If energy splittings between all pairs of the computational basis states are distinct, then in principle, a resonant pulse at the frequency corresponding to the energy difference between \(1{\rangle }^{\otimes n}0\rangle \) and \(\mathrm{1}{\rangle }^{\otimes n+1}\) can realize the desired C^{n}R_{p}(θ). But this condition becomes exponentially challenging to satisfy in practice as the number of qubits increases. On the other hand, we can decompose the controlled rotation as \({C}^{n}{R}_{y}(\theta )={{\rm{C}}}^{n}{\rm{NOT}}\) R_{y}(θ/2) C^{n}NOT \({R}_{y}^{\dagger }(\theta /\mathrm{2)}\). The C^{n}NOT gate can be further decomposed into 2n − 3 Toffoli gates with n − 2 ancilla qubits prepared in \(\mathrm{0}\rangle \) (see Methods). A Toffoli gate can be realized by applying a frequencyselective onresonance pulse as described above if a set of three qubits is fully addressable while decoupled from the rest of the qubits in the system. Alternatively, a Toffoli gate can be decomposed into five twoqubit gates without requiring ancilla qubits^{16}. Other methods for implementing C^{n}NOT using O(n) number of elementary gates and ancillary space are discussed in refs^{16,17,18}. The circuit optimization in terms of Clifford and T gates can be performed using the techniques presented in refs^{19,20}.
We investigate the robustness of the FFQRAM shown in Fig. 1 under imperfections using a simple but relevant error model. We assume a typical depolarizing error, in which the state at each time step becomes the maximally mixed classical state with probability ε, and remains unchanged with probability \(1\varepsilon \). Here, we use the Toffoli gate as an example to count the number of time steps, while further gate decomposition and optimization can be required depending on the experimental setup as mentioned above. When implementing the C^{n}NOT, 2n − 1 qubits undergo \(2\lceil {\mathrm{log}}_{2}(n)\rceil 1\) time steps. Therefore, the success probability after writing M classical bit strings of length n with arbitrary probability amplitudes is \({(1\varepsilon )}^{O(Mn{\mathrm{log}}_{2}(n))}\). As an illustrative example, solid lines in Fig. 2 show the individual error rate at each time step necessary for writing M classical bit strings with arbitrary probability amplitudes, assuming \(n={\mathrm{log}}_{2}(M)\) without loss of generality, with the success probability p_{s} of the total QRAM process. A milder assumption that the imperfect C^{n}R_{p}(θ) operation causes independent errors on n + 1 qubits yields a better success probability, \({(1\varepsilon )}^{O(Mn)}\). This case is plotted as dashed lines with open symbols in the figure. The Methods section elaborates on how the number of noisy operations is counted.
Since our scheme is based on the quantum circuit model, faulttolerant quantum error correction techniques^{21,22,23} can be employed to enhance the accuracy. In contrast, if quantum error correction is applied to BBQRAM, all routing components are activated at a physical level and make the scheme equivalent to the conventional fanout architecture^{24}. In addition, depending on the physical setup, the quantum circuit can be further optimized using various gate decomposition techniques^{16,19,25,26}.
Application to quantum support vector machine
As an example, we demonstrate the FFQRAM process for preparing a training data state in the quantum support vector machine. The classified training examples, \({\overrightarrow{x}}^{(i)}\in {{\mathbb{R}}}^{N}\), need to be encoded in the quantum format as
where M denotes the number of training data samples^{8}. The quantum circuit for preparing this QDB is depicted in Fig. 3 for a particular training data with an index i, where without loss of generality, M and N are assumed to be powers of two. An equal superposition state for log_{2}(M) and log_{2}(N) qubits is used as the bus qubit for providing the computational basis states k and i, respectively. The jth element of \({\overrightarrow{x}}^{(i)}\) determines the angle \({\theta }_{j}^{(i)}\) for the yaxis rotation of the register qubit. Note that the gates shaded in gray are included only to show the full flipflop process for addressing a specific computational basis state, but they can be omitted in the implementation. The state shown in Eq. (11) is obtained after postselecting the measurement outcome \(\mathrm{1}{\rangle }_{R}\) on the register qubit. This scheme constructs the QDB shown in Eq. (11) using \(O({\mathrm{log}}_{2}(MN))\) hardware resources and O(MN) flipregisterflop operations.
Quantum forking
Here, we introduce a concept of quantum forking (QF) with which a qubit can undergo independent processes in superposition. This can be utilized as a means to reduce the number of QRAM queries in certain applications. Let us consider a quantum state \({{\rm{\Psi }}}_{0}\rangle =0\rangle {\rm{\Phi }}\rangle a\rangle \) with an nqubit QDB state \({\rm{\Phi }}\rangle \) generated by a QRAM process and an arbitrary nqubit state \(a\rangle \), where \({{\rm{\Psi }}}_{s}\rangle \) denotes the state at step s in Fig. 4(a). An nqubit swap gate between \({\rm{\Phi }}\rangle \) and \(a\rangle \) controlled by a qubit in \((0\rangle +1\rangle )/\sqrt{2}\) forms an entangled state,
In other words, the QDB is encoded in the first nqubit data block if the control qubit is 0, and in the second nqubit data block if the control qubit is 1. Then by applying two unitary evolutions activated by different computational basis states of the control qubit to each nqubit block, \({\rm{\Phi }}\rangle \) forks into two different states in superposition:
Evidently, it is not possible to create correlations between \({{\rm{\Phi }}}_{1}\rangle ={U}_{1}{\rm{\Phi }}\rangle \) and \({{\rm{\Phi }}}_{2}\rangle ={U}_{2}{\rm{\Phi }}\rangle \) via linear operations. Nonetheless, QF can speedup certain tasks, such as ensemble averaging^{27} and the inner product calculation. Here we focus on the inner product evaluation problem as an example. The inner product between \({{\rm{\Phi }}}_{1}\rangle \) and \({{\rm{\Phi }}}_{2}\rangle \) can be evaluated by preparing these two states individually by making queries to the QRAM and performing the swap test^{28}. Alternatively, starting from the state shown in Eq. (13), another controlled swap followed by a Hadamard operation on the control qubit yields the state
Finally, the probability of measuring the control qubit in \(\mathrm{0}\rangle \) is given by \(P(0)=[1+{\rm{Re}}(\langle {{\rm{\Phi }}}_{1}{{\rm{\Phi }}}_{2}\rangle )]/2\). This procedure only reveals the real part of the inner product. The imaginary part can be evaluated by adding a phase gate to the control qubit in front of the final Hadamard gate. Since the ancilla qubit is in an arbitrary state, QRAM is used only for preparing \({\rm{\Phi }}\rangle \) once. The ancilla qubit can even be in the maximally mixed state, and we assume that the cost of preparing such a state is negligible. This method consumes O(n) additional gates, but reduces the number of QRAM queries by a factor of ~1/2. Note that the conventional swap test can only estimate the magnitude of the inner product. Thus the QF based approach not only reduces the number of QRAM queries, but also allows for the determination of the sign of the inner product. This is a consequence of an important property of the QF circuit; since different unitary operators can be applied to each branch (subspace), the global phase that a unitary operator introduces become distinguishable. Clearly, the quantum circuit shown on the left side of Fig. 4(a) can be rewritten more compactly without the controlled swap gates and the ancilla qubit by applying both controlled unitary operators directly to the data qubit as shown on the right side. The quantum circuit on the left illustrates the general quantum forking framework that can also be adapted for other applications by replacing the swap test with other measurement schemes^{27}.
Generalizing above idea, a quantity such as \({\sum }_{1\le i,j\le d}\,{\rm{Re}}(\langle {{\rm{\Phi }}}_{i}{{\rm{\Phi }}}_{j}\rangle )\) can be evaluated by repeating the modified swap test for which only one QRAM state preparation is needed. The modified swap test based on QF requires a control qudit of dimension d (or log_{2}(d) qubits), and O(nd) gates.
The quantum forking for implementing three different unitary processes in superposition is depicted in Fig. 4(b). A qutrit is used as the control, and H_{3} represents the qutrit Hadamard operation for preparing the equal superposition of the three computational basis states. This circuit produces an entangled state \((0\rangle {{\rm{\Phi }}}_{1}\rangle a\rangle a\rangle +1\rangle a\rangle {{\rm{\Phi }}}_{2}\rangle a\rangle +2\rangle a\rangle a\rangle {{\rm{\Phi }}}_{3}\rangle )\)/\(\sqrt{3}\).
Discussion
Encoding large classical data into a quantum database must be done efficiently in a way that the potential advantages of the quantum algorithms for big data applications do not vanish. We proposed the flipflop QRAM, a systematic architecture, for preparing a quantum database using the quantum circuit model. The circuitbased construction is imperative since it provides flexibility and compatibility with existing quantum computing techniques. Our process can register nbit classical data with arbitrary probability amplitudes stored in M memory cells into quantum format using O(n) qubits and O(Mn) flipregisterflop steps. The versatility of the architecture allows to create a complex data structure via encoding any classical information, either discrete or continuous, as quantum bits or as probability amplitudes of a quantum state. An example of the amplitude encoding is the application to a quantum state generation for a quantum support vector machine algorithm in which the training data is represented with the probability amplitudes as shown in Fig. 3. Qubit encoding can be achieved by beginning with the quantum bus state as \(\psi {\rangle }_{B}=+{\rangle }^{\otimes n}\), and inserting the weights (e.g., the normalized occurrence) of the data by adjusting the multiqubit controlled rotation C^{n}R_{p}(θ). For the uniform weight which is, for example, encountered in the parity learning algorithm^{29,30}, the multiqubit controlled gate is simply C^{n}NOT. For the amplitude encoding, the final QDB state is obtained by postselecting on the register qubit being \(\mathrm{1}{\rangle }_{R}\). Hence the amplitude encoding introduces additional resource overhead for repeating the entire algorithm. However, for some tasks, the classical data can be preprocessed to increase the success probability of the postselection. It is an interesting open problem whether the postselection can be avoided in certain amplitude encoding schemes by utilizing the fact that the probability amplitudes are determined by cosines instead of sines if the register qubit is \(\mathrm{0}{\rangle }_{R}\). Also, the postselection can be avoided for the qubit encoding if the bus qubit state only contains the basis states that are to be queried and all classical data are registered with an equal weight. Note that BBQRAM also employs the postselection for preparing an arbitrary QDB state with the amplitude encoding. With some limitations, the amplitude encoding can be done without relying on the postselection. For example, ref.^{20} introduces a procedure inspired by classical alias sampling to assign the probability amplitude \(\sqrt{\tilde{\rho }}\) using 2μ + 2n + O(1) ancilla qubits, where \(\tilde{\rho }\) is μbit binary approximation to the desired nonnegative real value, ρ. In ref.^{11}, adiabaticdiabatic state preparation is used to generate superposition states with squared amplitudes.
We point out potential solutions to several issues for meaningful applications of QRAM. First, when the FFQRAM process leaves the last term in Eq. (8) that corresponds to the states without data entries, the rate of producing the desired QDB can be reduced. This issue can be partially circumvented by running L identical QRAM processes in parallel. Then the success probability of the postselection improves by a factor of L while also increasing the number of qubits and the gates by the same factor. Note that the time complexity remains the same. Second, the QDB is not reusable once it is consumed by a quantum algorithm since the measurement collapses the state. Motivated by the above, we introduced the concept of quantum forking that allows to reduce the number of QRAM queries in some instances, in particular, when evaluating the inner product. Finding other instances for which the quantum forking can reduce the number of QRAM calls, even by a constant amount, remains an interesting open problem.
Methods
Error analysis
The C^{n}NOT gate can be decomposed into a C^{n−1}NOT and a C^{2}NOT (Toffoli) using an ancilla qubit prepared in \(\mathrm{0}\rangle \) as shown in step (1) of Fig. 5 for n = 4 as an example. Then by recursion, C^{n}NOT can be realized using 2n − 3 Toffoli gates and n − 2 ancilla qubits prepared in \(\mathrm{0}\rangle \) (step (2) in Fig. 5). Note that n − 2 Toffoli gates are added after the Toffoli gate for conditionally flipping the target qubit in order to unentangle the ancilla qubits from the system. The quantum circuit can be rearranged to further reduce the depth as shown in the last step in Fig. 5.
We assume that the \(\bar{c}X\) operations can occur simultaneously on all target qubits, but even when the control bit is 1, the target qubit may undergo an erroneous identity operation. To reduce the circuit depth, the \(\bar{c}X\) operations after C^{n}R_{y}(θ^{(l)}) and before C^{n}R_{y}(θ^{(l+1)}) can be merged. The combined operation flips the jth qubit only if \({d}_{j}^{(l)}\oplus {d}_{j}^{(l+1)}=1\), and otherwise does nothing, for \(j=0,\ldots ,n1\). Thus, the total number of single qubit gates used for writing M classical data of length n is n(M + 1). Each C^{n}R_{y}(θ) uses two single qubit gates and two C^{n}NOT gates. In the C^{n}NOT implementation described above (Fig. 5), 2n − 1 qubits (n control qubits + 1 target qubit + n − 2 ancillae) undergo \(2\lceil {\mathrm{log}}_{2}(n)\rceil 1\) time steps.
Therefore, the total number of time steps τ that are subject to noise can be counted as
If C^{n}R_{y}(θ) can be implemented with only n + 1 independent errors, then τ can be further reduced to \((n+1)M+n(M+1)\).
Data Availability
The datasets generated during and/or analysed during the current study are available from the corresponding author on reasonable request.
References
 1.
Möttönen, M., Vartiainen, J. J., Bergholm, V. & Salomaa, M. M. Transformation of quantum states using uniformly controlled rotations. Quantum Info. Comput. 5, 467–473 (2005).
 2.
Long, G.L. & Sun, Y. Efficient scheme for initializing a quantum register with an arbitrary superposed state. Phys. Rev. A 64, 014303, https://doi.org/10.1103/PhysRevA.64.014303 (2001).
 3.
Grover, L. K. A fast quantum mechanical algorithm for database search. In Proceedings of the Twentyeighth Annual ACM Symposium on Theory of Computing, STOC’96, 212–219, https://doi.org/10.1145/237814.237866 (ACM, New York, NY, USA, 1996).
 4.
Brassard, G., Høyer, P. & Tapp, A. Quantum cryptanalysis of hash and clawfree functions. In Lucchesi, C. L. & Moura, A. V. (eds) LATIN’98: Theoretical Informatics, 163–169 (Springer Berlin Heidelberg, Berlin, Heidelberg, 1998).
 5.
Nielsen, M. A. & Chuang, I. L. Quantum Computation and Quantum Information. (Cambridge University Press, Cambridge, England, 2000).
 6.
Biamonte, J. et al. Quantum machine learning. Nature 549, 195 (2017).
 7.
Lloyd, S., Mohseni, M. & Rebentrost, P. Quantum principal component analysis. Nature Physics 10, 631 (2014).
 8.
Rebentrost, P., Mohseni, M. & Lloyd, S. Quantum support vector machine for big data classification. Phys. Rev. Lett. 113, 130503, https://doi.org/10.1103/PhysRevLett.113.130503 (2014).
 9.
Harrow, A. W., Hassidim, A. & Lloyd, S. Quantum algorithm for linear systems of equations. Phys. Rev. Lett. 103, 150502, https://doi.org/10.1103/PhysRevLett.103.150502 (2009).
 10.
Schuld, M., Fingerhuth, M. & Petruccione, F. Implementing a distancebased classifier with a quantum interference circuit. Europhysics Lett. 119, 60002, https://doi.org/10.1209/02955075/119/60002 (2017).
 11.
Sieberer, L. M. & Lechner, W. Programmable superpositions of ising configurations. Phys. Rev. A 97, 052329, https://doi.org/10.1103/PhysRevA.97.052329 (2018).
 12.
Giovannetti, V., Lloyd, S. & Maccone, L. Quantum random access memory. Phys. Rev. Lett. 100, 160501, https://doi.org/10.1103/PhysRevLett.100.160501 (2008).
 13.
Giovannetti, V., Lloyd, S. & Maccone, L. Architectures for a quantum random access memory. Phys. Rev. A 78, 052310, https://doi.org/10.1103/PhysRevA.78.052310 (2008).
 14.
Ritchie, D. M. & Thompson, K. The unix timesharing system. Commun. ACM 17, 365–375, https://doi.org/10.1145/361011.361061 (1974).
 15.
Yao, X.W. et al. Quantum image processing and its application to edge detection: Theory and experiment. Phys. Rev. X 7, 031041, https://doi.org/10.1103/PhysRevX.7.031041 (2017).
 16.
Barenco, A. et al. Elementary gates for quantum computation. Phys. Rev. A 52, 3457–3467, https://doi.org/10.1103/PhysRevA.52.3457 (1995).
 17.
Maslov, D. & Dueck, G. W. Improved quantum cost for nbit Toffoli gates. Electronics Letters 39, 1790–1791, https://doi.org/10.1049/el:20031202 (2003).
 18.
Ralph, T. C., Resch, K. J. & Gilchrist, A. Efficient Toffoli gates using qudits. Phys. Rev. A 75, 022313, https://doi.org/10.1103/PhysRevA.75.022313 (2007).
 19.
Childs, A. M., Maslov, D., Nam, Y., Ross, N. J. & Su, Y. Toward the first quantum simulation with quantum speedup. Proceedings of the National Academy of Sciences 115, 9456–9461, https://doi.org/10.1073/pnas.1801723115 (2018).
 20.
Babbush, R. et al. Encoding Electronic Spectra in Quantum Circuits with Linear T Complexity. Phys. Rev. X 8, 041015, https://doi.org/10.1103/PhysRevX.8.041015 (2018).
 21.
Anderson, J. T., DuclosCianci, G. & Poulin, D. Faulttolerant conversion between the Steane and ReedMuller quantum codes. Phys. Rev. Lett. 113, 080501, https://doi.org/10.1103/PhysRevLett.113.080501 (2014).
 22.
Paetznick, A. & Reichardt, B. W. Universal faulttolerant quantum computation with only transversal gates and error correction. Phys. Rev. Lett. 111, 090505, https://doi.org/10.1103/PhysRevLett.111.090505 (2013).
 23.
JochymO’Connor, T. & Laflamme, R. Using concatenated quantum codes for universal faulttolerant quantum gates. Phys. Rev. Lett. 112, 010505, https://doi.org/10.1103/PhysRevLett.112.010505 (2014).
 24.
Arunachalam, S., Gheorghiu, V., JochymO’Connor, T., Mosca, M. & Srinivasan, P. V. On the robustness of bucket brigade quantum RAM. New Journal of Physics 17, 123010 (2015).
 25.
Möttönen, M., Vartiainen, J. J., Bergholm, V. & Salomaa, M. M. Quantum circuits for general multiqubit gates. Phys. Rev. Lett. 93, 130502, https://doi.org/10.1103/PhysRevLett.93.130502 (2004).
 26.
Iten, R., Colbeck, R., Kukuljan, I., Home, J. & Christandl, M. Quantum circuits for isometries. Phys. Rev. A 93, 032318, https://doi.org/10.1103/PhysRevA.93.032318 (2016).
 27.
Park, D. K., Sinayskiy, I., Fingerhuth, M., Petruccione, F. & Rhee, J. K. Quantum forking for fast weighted power summation. arXiv:1902.07959 [quantph] (2019).
 28.
Buhrman, H., Cleve, R., Watrous, J. & de Wolf, R. Quantum fingerprinting. Phys. Rev. Lett. 87, 167902, https://doi.org/10.1103/PhysRevLett.87.167902 (2001).
 29.
Cross, A. W., Smith, G. & Smolin, J. A. Quantum learning robust against noise. Phys. Rev. A 92, 012327, https://doi.org/10.1103/PhysRevA.92.012327 (2015).
 30.
Ristè, D. et al. Demonstration of quantum advantage in machine learning. npj Quantum Information 3, 16, https://doi.org/10.1038/s4153401700173 (2017).
Acknowledgements
This research is supported by the National Research Foundation of Korea (Grant No. 2016R1A5A1008184), by the MSIT, Korea, under the ITRC support program (IITP20182015000385 and IITP20182018001402), by the KI Science Technology Leading Primary Research Program of KAIST, by Brain Korea 21 Plus, and by the South African Research Chair Initiative of the Department of Science and Technology and the National Research Foundation. We thank Maria Schuld and Carsten Blank for stimulating discussions.
Author information
Affiliations
Contributions
J.K.R. conceived the project. All authors contributed towards the design and analysis of the model. D.K.P. and J.K.R. wrote the main manuscript text. All authors reviewed the manuscript.
Corresponding author
Ethics declarations
Competing Interests
The authors declare no competing interests.
Additional information
Publisher’s note: Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Park, D.K., Petruccione, F. & Rhee, JK.K. CircuitBased Quantum Random Access Memory for Classical Data. Sci Rep 9, 3949 (2019). https://doi.org/10.1038/s41598019404393
Received:
Accepted:
Published:
Further reading

Facial expression recognition on a quantum computer
Quantum Machine Intelligence (2021)

Quantum classifier with tailored quantum kernel
npj Quantum Information (2020)

Quantum circuit for the fast Fourier transform
Quantum Information Processing (2020)

Quantumclassical reinforcement learning for decoding noisy classical parity information
Quantum Machine Intelligence (2020)
Comments
By submitting a comment you agree to abide by our Terms and Community Guidelines. If you find something abusive or that does not comply with our terms or guidelines please flag it as inappropriate.