Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add StabilizerState support to state_fidelity #7242

Open
chriseclectic opened this issue Nov 9, 2021 · 4 comments
Open

Add StabilizerState support to state_fidelity #7242

chriseclectic opened this issue Nov 9, 2021 · 4 comments
Labels
mod: quantum info Related to the Quantum Info module (States & Operators) type: enhancement It's working, but needs polishing

Comments

@chriseclectic
Copy link
Member

What is the expected enhancement?

Currently the StabilizerState class is not supported by the state_fidelity function which can only handle Statevector and DensityMatrix states.

This function should be extended to have an efficient form of computing the state fidelity between two stabilizer states, and a (probably inefficient) version for computing the fidelity between a stabilizer state and a non-stabilizer state (statevector or density matrix).

Possible implementation

I'm not sure if there is a more efficient method but one way you could compute the fidelity between two stabilizer states
|a> = A|0>, |b> = B|> for cliffords A, B would be to compute the the all-zero measurement outcome probability for the stabilizer state B^\dagger A|0>as p = |<0|B^\dagger A|0>|^2 = F(|a>, |b>) .

For the second case one way would be allowing conversion of a StabilizerState to Statevector. This could be implemented (inefficiently) by running the simulation for the Clifford circuit on the Statevector class. This would also generally useful functionality to add to the StabilzerState class.

@chriseclectic chriseclectic added the type: enhancement It's working, but needs polishing label Nov 9, 2021
@ShellyGarion ShellyGarion added the mod: quantum info Related to the Quantum Info module (States & Operators) label Nov 9, 2021
@ikkoham
Copy link
Contributor

ikkoham commented Nov 11, 2021

The efficient method to calculate an inner product between two stabilizer states is described in the last of Sec. Ⅲ https://arxiv.org/abs/quant-ph/0406196.

@ShellyGarion
Copy link
Member

ShellyGarion commented Nov 11, 2021

Does this depend on #7245 and #7269 being merged?

@patdenim
Copy link

Can this function be extended to compute the state fidelity between two superposition of stabilizer states too? not only between 2 Stabilizer states..... This is a request from Keio university.

@anonymousr007
Copy link

Hello, I am Rishabh, an undergraduate final year computer engineering student. This issue is still open or not?
My Interests are:-

  • Quantum Information Science.
  • Quantum Error Corrections.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mod: quantum info Related to the Quantum Info module (States & Operators) type: enhancement It's working, but needs polishing
Projects
None yet
Development

No branches or pull requests

5 participants