Add StabilizerState
support to state_fidelity
#7242
Labels
mod: quantum info
Related to the Quantum Info module (States & Operators)
type: enhancement
It's working, but needs polishing
What is the expected enhancement?
Currently the
StabilizerState
class is not supported by thestate_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 stateB^\dagger A|0>
asp = |<0|B^\dagger A|0>|^2 = F(|a>, |b>)
.For the second case one way would be allowing conversion of a
StabilizerState
toStatevector
. This could be implemented (inefficiently) by running the simulation for the Clifford circuit on theStatevector
class. This would also generally useful functionality to add to theStabilzerState
class.The text was updated successfully, but these errors were encountered: