cirq.phase_flip

cirq.phase_flip(p: Optional[float] = None) → Union[cirq.ops.common_gates.ZPowGate, cirq.ops.common_channels.PhaseFlipChannel][source]
Returns a PhaseFlipChannel that flips a qubit’s phase with probability p
if p is None, return a guaranteed phase flip in the form of a Z operation.

This channel evolves a density matrix via:

\rho -> M_0 \rho M_0^\dagger + M_1 \rho M_1^\dagger

With:

M_0 = \sqrt{p} \begin{bmatrix}
                    1 & 0  \\
                    0 & 1
               \end{bmatrix}
M_1 = \sqrt{1-p} \begin{bmatrix}
                    1 & 0 \\
                    0 & -1
                 \end{bmatrix}
Parameters:p – the probability of a phase flip.
Raises:ValueError – if p is not a valid probability.