cirq.bit_flip

cirq.bit_flip(p: Optional[float] = None) → Union[cirq.ops.common_gates.XPowGate, cirq.ops.common_channels.BitFlipChannel][source]
Construct a BitFlipChannel that flips a qubit state with probability of
a flip given by p. If p is None, return a guaranteed flip in the form of
an X operation.

This channel evolves a density matrix via

$$ \rho \rightarrow M_0 \rho M_0^\dagger + M_1 \rho M_1^\dagger $$
With

$$ \begin{aligned} M_0 =& \sqrt{p} \begin{bmatrix} 1 & 0 \newline 0 & 1 \end{bmatrix} \newline M_1 =& \sqrt{1-p} \begin{bmatrix} 0 & 1 \newline 1 & -0 \end{bmatrix} \end{aligned} $$

Parameters:p – the probability of a bit flip.
Raises:ValueError – if p is not a valid probability.