I would like to load random quantum states sampled from a given density matrix based on its classical probabilities ie based on the definition of the given density matrix: $\rho = \sum_i p_i |\psi _i \rangle \langle\psi _i|$. An example I am currently trying out is $\rho = 2^{-n}(I_n + \alpha P_n)$ where $I_n$ is the identity matrix, $\alpha$ is a real number say $\in (-1,1)$ and $P_n = \otimes_{i=1}^n P_i$, is a Pauli string. (reference paper)

In qiskit, given such a density matrix how can we obtain the quantum circuit for producing the pure quantum states and the corresponding probabilities for selecting those circuits? Can I give the form of $\rho$ to qiskit and obtain all the $\psi$s ? I could not find anything similar to this in the qiskit documentation on my first try.

PS I understand that $\rho$ is not unique, and one can obtain all the $\psi_i$'s and $p_i$'s trivially by performing a spectral decomposition of $\rho$. But is it possible to generate the quantum circuits that produce such $\psi_i$'s directly?

Thank you in advance!

  • $\begingroup$ Are you in fact asking for a state preparation routine, or something else? $\endgroup$ Jul 28, 2022 at 14:29
  • $\begingroup$ @Nikita, I am unsure how this can relate to StatePreparation from qiskit. Given the form of $rho$, I would like to obtain circuits (or indirectly prepare the states) that can produce $\psi$s. Is there any documentation available on this at qiskit? $\endgroup$ Jul 29, 2022 at 5:50
  • $\begingroup$ I meant that if you are fine with doing the spectral decomposition of $\rho$ yourself, then the question reduces to the state preparation problem for each of the eigenstates, right? What are you looking for, exactly? A function that takes a density matrix and outputs a list of circuits preparing its eigenstates? $\endgroup$ Jul 29, 2022 at 8:03
  • $\begingroup$ Yes, such a function would be very helpful! I was thinking if something like that exists. $\endgroup$ Jul 30, 2022 at 15:48


Your Answer

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

Browse other questions tagged or ask your own question.