cirq.DepolarizingChannel

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

A channel that depolarizes a qubit.

__init__(p: float) → 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.

Methods

controlled([num_controls, control_values, …])

Returns a controlled version of this gate. If no arguments are

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 applying the gate to all targets.

validate_args(qubits)

Checks if this gate can be applied to the given qubits.

wrap_in_linear_combination([coefficient])

Attributes

p

The probability that one of the Pauli gates is applied.