cirq.mixture_channel

cirq.mixture_channel(val: Any, default: Any = ((0.0, []), )) → Sequence[Tuple[float, numpy.ndarray]][source]

Return a sequence of tuples for a channel that is a mixture of unitaries.

In contrast to mixture this method falls back to unitary if _mixture_
is not implemented.

A mixture channel is described by an iterable of tuples of the form

(probability of unitary, unitary)
The probability components of the tuples must sum to 1.0 and be between
0 and 1 (inclusive) and the unitary must be a unitary matrix.
Parameters:
  • val – The value whose mixture_channel is being computed.
  • default – A default value if val does not support mixture.
Returns:

An iterable of tuples of size 2. The first element of the tuple is a probability (between 0 and 1) and the second is the unitary that occurs with that probability. The probabilities will sum to 1.0.