Cirq
Cirq copied to clipboard
mixture protocol restructured and serial concatenation implemented
As mentioned in #4876, the mixture protocol has been restructured.
- The serial concatenation is handled by converting the decomposed operations into their superoperator form with the help of
cirq.Moment().expand() - To convert from
kraustomixture, eigenvalue decomposition is done to obtain the corresponding probability.
Merging this PR would clear the blockage for #4822.
mixture protocol has been restructured with serial concatenation as a part of it, serial concatenation uses superoperator as intermediate after decomposing the given operator. If any of the decomposed operators do not have a mixture then the given operator also is considered to not have a mixture.