class cirq.DepolarizingChannel(p)[source]

A channel that depolarizes a qubit.

__init__(p) → None[source]

The symmetric depolarizing channel.

This channel applies one of four disjoint possibilities: nothing (the
identity channel) or one of the three pauli gates. The disjoint
probabilities of the three gates are all the same, p / 3, and the
identity is done with probability 1 - p. The supplied probability must
be a valid probability or else this constructor will raise a ValueError.

This channel evolves a density matrix via

$$ \rho \rightarrow (1 - p) \rho + (p / 3) X \rho X + (p / 3) Y \rho Y + (p / 3) Z \rho Z $$

Parameters:p – The probability that one of the Pauli gates is applied. Each of the Pauli gates is applied independently with probability p / 3.
Raises:ValueError – if p is not a valid probability.


controlled_by(*control_qubits) Returns a controlled version of this gate.
num_qubits() The number of qubits this gate acts on.
on(*qubits) Returns an application of this gate to the given qubits.
on_each(*targets) Returns a list of operations apply this gate to each of the targets.
validate_args(qubits) Checks if this gate can be applied to the given qubits.
wrap_in_linear_combination(coefficient, …)