def test_qudit_measure_quil(): q0 = cirq.LineQid(0, 3) qubit_id_map = {q0: '0'} assert cirq.quil( cirq.measure(q0, key='a'), formatter=cirq.QuilFormatter(qubit_id_map=qubit_id_map, measurement_id_map={})) == None
def __init__( self, *, operations: cirq.OP_TREE, qubits: Tuple[cirq.Qid, ...], decompose_operation: Optional[Callable[[cirq.Operation], List[cirq.Operation]]] = None, qubit_id_map: Optional[Dict[cirq.Qid, str]] = None, ): """Initializes an instance of `RigettiQCSQuilOutput`. Args: operations: A list or tuple of `cirq.OP_TREE` arguments. qubits: The qubits used in the operations. decompose_operation: Optional; A callable that decomposes a circuit operation into a list of equivalent operations. If None provided, this class decomposes operations by invoking `QuilOutput._write_quil`. qubit_id_map: Optional; A dictionary mapping `cirq.Qid` to strings that address physical qubits in the outputted QUIL. """ super().__init__(operations, qubits) self.qubit_id_map = qubit_id_map or self._generate_qubit_ids() self.measurement_id_map = self._generate_measurement_ids() self.formatter = cirq.QuilFormatter( qubit_id_map=self.qubit_id_map, measurement_id_map=self.measurement_id_map) self._decompose_operation = decompose_operation
def test_qudit_measure_quil(): q0 = cirq.LineQid(0, 3) qubit_id_map = {q0: '0'} with cirq.testing.assert_deprecated(deadline='v1.0', count=3): assert (cirq.quil( cirq.measure(q0, key='a'), formatter=cirq.QuilFormatter(qubit_id_map=qubit_id_map, measurement_id_map={}), ) is None)
def test_confused_measure_quil(): q0 = cirq.LineQubit(0) qubit_id_map = {q0: '0'} with cirq.testing.assert_deprecated(deadline='v1.0', count=3): assert (cirq.quil( cirq.measure(q0, key='a', confusion_map={(0, ): np.array([[0, 1], [1, 0]])}), formatter=cirq.QuilFormatter(qubit_id_map=qubit_id_map, measurement_id_map={}), ) is None)