cirq.BitFlipChannel

class cirq.BitFlipChannel(p: float)[source]

Probabilistically flip a qubit from 1 to 0 state or vice versa.

__init__(p: float) → None[source]

The bit flip channel.

Construct a channel that flips a qubit with probability p.

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{1 - p} \begin{bmatrix} 1 & 0 \newline 0 & 1 \end{bmatrix} \newline M_1 =& \sqrt{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.