cirq.two_qubit_matrix_to_operations

cirq.two_qubit_matrix_to_operations(q0: cirq.ops.raw_types.Qid, q1: cirq.ops.raw_types.Qid, mat: numpy.ndarray, allow_partial_czs: bool, atol: float = 1e-08, clean_operations: bool = True) → List[cirq.ops.raw_types.Operation][source]

Decomposes a two-qubit operation into Z/XY/CZ gates.

Parameters:
  • q0 – The first qubit being operated on.
  • q1 – The other qubit being operated on.
  • mat – Defines the operation to apply to the pair of qubits.
  • 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:

A list of operations implementing the matrix.