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?

  • 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
    Commented Oct 11, 2018 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
    Commented Oct 11, 2018 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$ Commented Oct 11, 2018 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
    Commented Oct 12, 2018 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$ Commented Oct 12, 2018 at 15:15


Browse other questions tagged or ask your own question.