|View source on GitHub|
THIS FUNCTION IS DEPRECATED.
cirq.two_qubit_matrix_to_diagonal_and_operations( q0: 'cirq.Qid', q1: 'cirq.Qid', mat: np.ndarray, allow_partial_czs: bool = False, atol: float = 1e-08, clean_operations: bool = True ) -> Tuple[np.ndarray, List['cirq.Operation']]
IT WILL BE REMOVED IN
Please use cirq.two_qubit_matrix_to_diagonal_and_cz_operations
Decomposes a 2-qubit unitary to a diagonal and the remaining operations.
For a 2-qubit unitary V, return ops, a list of operations and D diagonal unitary, so that: V = cirq.Circuit(ops) @ D Args: q0: The first qubit being operated on. q1: The other qubit being operated on. mat: the input unitary allow_partial_czs: Enables the use of Partial-CZ gates. atol: A limit on the amount of absolute error introduced by the construction. clean_operations: Enables optimizing resulting operation list by merging operations and ejecting phased Paulis and Z operations. Returns: tuple(ops,D): operations `ops`, and the diagonal `D`