In many algorithms an array that stores a classical data or quantum data is crucial. The QRAM (quantum random access memory) that stores classical data in the circuit has been done. My question focuses on storing the given normalized d-dimensional vector using a quantum circuit. To do that I have used a generalized n-controlled phase shift gate between two Hadamard gates rotated in the specified angle. But when I try to measure the data register I couldn't find what I want, what shall I do?


closed as unclear what you're asking by glS, MEE the setup wizard, Sanchayan Dutta, heather Oct 24 '18 at 2:16

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ Generally, when I program, I first do a classic simulation to look at the final quantum state and compare it to what I want. $\endgroup$ – cnada Oct 11 '18 at 14:44
  • $\begingroup$ That is my favourite too. If you're saying preparing the amplitudes and intialize the register with the prepared values. $\endgroup$ – Aman Oct 11 '18 at 16:49
  • 1
    $\begingroup$ It's not quite clear what you're asking for. What do you mean "you don't find what you want"? What do you have in mind when you say "storing normalized d-dimensional vector using a quantum circuit"? $\endgroup$ – Craig Gidney Oct 11 '18 at 22:53
  • $\begingroup$ Assume a blackbox that accept the index and returns the quantum data(superposition state) that resides in the array. Where, the array contains M d-dimensional normalized vectors. $\endgroup$ – Aman Oct 12 '18 at 6:19
  • 1
    $\begingroup$ @Aman Because the data is quantum, you need to clarify what the semantics of the read are. Is there a bunch of qubits in the QRAM, and you want to move those qubits out when they are read? Or do you want the QRAM to produce a fresh copy of the state each time you do the read? This determines whether or not reads change the state of the QRAM, and whether or not you can read out a value multiple times. $\endgroup$ – Craig Gidney Oct 12 '18 at 15:15