I'm still confused about what a QRAM should be. Is amplitude encoding a form of performing QRAM? Or are they related in a way ? What is today's state of the art about QRAM ?


2 Answers 2


From my perspective, the key differences are:

  1. In emplitude encoding, each classical data point is represented by the amplitude of each quantum basis state. For example, a vector $(a_0,a_1,a_2,a_3)$ is encoded into a quantum state $|\psi\rangle = \frac{a_0}{\sqrt{\sum_i{a_i^2}}} |00\rangle + \frac{a_0}{\sqrt{\sum_i{a_i^2}}}|01\rangle + \frac{a_2}{\sqrt{\sum_i{a_i^2}}}|10\rangle + \frac{a_3}{\sqrt{\sum_i{a_i^2}}}|11\rangle$
  2. While in qRAM, it loads binarized form of data through an quantum address in superposition state. For example we have two address qubits ($n=2$ and $N=2^n=4$), assume $a_i$ is stored in 8-bit integer format, then we have 8 data qubits. Then what qRAM does is $\sum_{j=0}^3 \frac{1}{2}|j\rangle |0\rangle \xrightarrow{qRAM} \sum_{j=0}^3 \frac{1}{2}|j\rangle|\text{bin}(a_j)\rangle$

Generally, if we want to prepare a specific quantum state, it could be done using both amplitude encoding and qRAM.


In amplitude encoding, you store information in amplitudes of a quantum state. An example of that could be for ex. simple Deutsch-Jozsa algorithm, where the computational result is stored in the amplitude of control qubit, and we process it to retrieve that information.

QRAM is a way of storing binary data and a querying model allowing to answer queries using superposition.

A post on state of the art of quantum memories.

IBM quantum challenge in 2020 had a useful introduction into QRAM and programing it with qiskit.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.