cirq.ops.asymmetric_depolarize

Returns a AsymmetricDepolarizingChannel with given parameter.

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 Pi \rho Pi $$
where i varies from 0 to 4**n-1 and Pi represents n-qubit Pauli operator
(including identity). The input $\rho$ is the density matrix before the
depolarization.

Args:
    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.