View source on GitHub |
Decomposes a 2-qubit unitary to a diagonal and the remaining operations.
cirq.two_qubit_matrix_to_diagonal_and_cz_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']]
For a 2-qubit unitary V, return ops, a list of operations and D diagonal unitary, so that: V = cirq.Circuit(ops) @ D
Returns | |
---|---|
tuple
|
ops,D
operations |