cirq.asymmetric_depolarize

Returns an AsymmetricDepolarizingChannel with the given parameters.

Used in the notebooks

Used in the tutorials

This channel applies one of \(4^n\) disjoint possibilities: nothing (the identity channel) or one of the \(4^n - 1\) pauli gates.

This channel evolves a density matrix via

\[ \sum_i p_i P_i \rho P_i \]

where i varies from \(0\) to \(4^n-1\) and \(P_i\) represents n-qubit Pauli operator (including identity). The input \(\rho\) is the density matrix before the depolarization.

p_x The probability that a Pauli X and no other gate occurs.
p_y The probability that a Pauli Y and no other gate occurs.
p_z The probability that a Pauli Z and no other gate occurs.
error_probabilities Dictionary of string (Pauli operator) to its probability. If the identity is missing from the list, it will be added so that the total probability mass is 1.
tol The tolerance used making sure the total probability mass is equal to 1.

Examples of calls:

  • Single qubit: AsymmetricDepolarizingChannel(0.2, 0.1, 0.3)
  • Single qubit: AsymmetricDepolarizingChannel(p_z=0.3)
  • Two qubits: AsymmetricDepolarizingChannel(error_probabilities={'XX': 0.2})

ValueError if the args or the sum of the args are not probabilities.